[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

BR112015019787B1 - Codificador de imagem, decodificador de imagem, método de codificação de imagem, método de decodificação de imagem, sinal de imagem, e, objeto de memória - Google Patents

Codificador de imagem, decodificador de imagem, método de codificação de imagem, método de decodificação de imagem, sinal de imagem, e, objeto de memória Download PDF

Info

Publication number
BR112015019787B1
BR112015019787B1 BR112015019787-6A BR112015019787A BR112015019787B1 BR 112015019787 B1 BR112015019787 B1 BR 112015019787B1 BR 112015019787 A BR112015019787 A BR 112015019787A BR 112015019787 B1 BR112015019787 B1 BR 112015019787B1
Authority
BR
Brazil
Prior art keywords
image
hdr
dynamic range
ldr
idr
Prior art date
Application number
BR112015019787-6A
Other languages
English (en)
Other versions
BR112015019787A2 (pt
Inventor
Mark Jozef Willem Mertens
Original Assignee
Koninklijke Philips N.V.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Koninklijke Philips N.V. filed Critical Koninklijke Philips N.V.
Priority claimed from PCT/IB2014/058848 external-priority patent/WO2014128586A1/en
Publication of BR112015019787A2 publication Critical patent/BR112015019787A2/pt
Publication of BR112015019787B1 publication Critical patent/BR112015019787B1/pt

Links

Abstract

CODIFICADOR DE IMAGEM, DECODIFICADOR DE IMAGEM, MÉTODO DE CODIFICAÇÃO DE IMAGEM, MÉTODO DE DECODIFICAÇÃO DE IMAGEM, SINAL DE IMAGEM, E, OBJETO DE MEMÓRIA. Para permitir que classificadores produzam conteúdo visualmente ótimo de cenas em HDR para vários dispositivos de exibição com renderização, os inventores inventaram um codificador de imagem (202) que compreende: uma entrada (240) para uma imagem de entrada com alta faixa dinâmica (M_HDR); uma unidade de classificação de imagem (201) disposta de modo a permitir que um classificador de cores humano especifique um mapeamento de cores a partir de uma representação (HDR_REP) da imagem de entrada com alta faixa dinâmica, definida de acordo com uma exatidão predefinida, para uma imagem com baixa faixa dinâmica (Im_LDR), por meio de um algoritmo de mapeamento de cores determinado por um ser humano, e disposta de modo a produzir dados que especificam o mapeamento de cores (Fi(MP_DH); e uma unidade de classificação automática (203), disposta de modo a derivar uma segunda imagem com baixa faixa dinâmica (GT_IDR), mediante a aplicação de um algoritmo de mapeamento de cores automático a uma dentre a imagem de entrada com alta faixa dinâmica (M_HDR) ou a imagem com baixa faixa dinâmica (Im_LDR) (...).

Description

CAMPO DA INVENÇÃO
[001] A invenção refere-se a aparelhos e a métodos e produtos resultantes como produtos para armazenamento de dados ou sinais codificados, por exemplo como armazenados em memórias, para codificação aprimorada de pelo menos uma imagem ou um vídeo com uma faixa de luminância dinâmica aumentada, em comparação a imagens legadas denominadas imagens com baixa faixa dinâmica (LDR).
ANTECEDENTES DA INVENÇÃO
[002] O campo recém-surgido da captura de imagens com alta faixa dinâmica (HDR, de “High Dynamic Range”) contrasta com os sistemas legados que, atualmente, em comparação, pode-se chamar de captura de imagens com baixa faixa dinâmica (LDR) (que compreende sistemas de codificação de imagens ou vídeo como PAL ou MPEG2, AVC, HEVC ou um outro membro da família MPEG, ou padrões de vídeo similares, por exemplo VC1, VC2, etc., ou JPEG para imagens estáticas, etc.)
[003] Ao falar sobre HDR, é necessário olhar para os vários componentes da cadeia. Como esta é uma área muito recente da tecnologia, em que talvez nem todas as pessoas estejam na mesma linha, deseja-se estabelecer rapidamente uma mentalidade de referência com algumas definições importantes, para evitar mal-entendidos. Por fim, há a faixa dinâmica de renderização, que o meio de exibição pode gerar. A faixa dinâmica de renderização é, de modo geral, definida como RDR= luminância_do_branco_mais_brilhante/luminância_do_preto_mais_e scuro de todos os pixels em uma imagem (RDR intraimagens), ou de pixels em imagens sucessivas (RDR interimagens, por exemplo quando o dispositivo de exibição está (quase) desligado, e somente se vê o reflexo do ambiente circundante no vidro frontal). Entretanto, é mais significativa quando também acoplada a um valor de pico_de_branco (isto é, o valor de luminância_do_branco_mais_brilhante). Os renderizadores LDR geralmente ficam em uma faixa definida pelo pico_de_branco de 100 nits, ou em torno dessa faixa, e uma faixa dinâmica de cerca de 100:1. Isso é o que um dispositivo de exibição de TRC poderia ter produzido, onde obviamente a luminância_do_preto_mais_escuro depende fortemente da iluminação no ambiente de visualização, então pode-se optar por 40:1 por uma questão de segurança, e também 2:1 pode ser uma faixa dinâmica prática quando são visualizadas imagens em um dispositivo de exibição sob o sol. O ambiente de visualização que condiciona a adaptação a brilho do observador humano está relacionado a isso, por exemplo, tipicamente 20% do pico_de_branco. Vários padrões de EBU, SMPTE etc. especificam como se deve classificar um sinal de vídeo para que o mesmo possa ser usado de maneira convencional, por exemplo para que seja ótimo se mostrado no ambiente de visualização prescrito. O termo classificar significa produzir uma imagem com cores de pixel alteradas, as quais são alteradas/especificadas de acordo com alguma preferência. Por exemplo, uma câmera pode automaticamente classificar uma imagem de câmera em formato RAW (que depende apenas das características específicas da câmera como um instrumento de medição da luminância linear) dada uma intenção de renderização em uma codificação diretamente usável direcionada a um dispositivo de exibição, com a qual se pode manipular, por exemplo, esse tipo de dispositivo de exibição de TRC sob condições de referência, de modo que o mesmo mostre ao observador uma imagem nítida.
[004] Muitas vezes, a classificação por um ser humano envolve escolhas mais artísticas. Por exemplo, o classificador quer transformar a cor de uma planta em uma bela cor arroxeada, mas isto precisa ser especificado sob condições de referência (tanto da tecnologia do dispositivo de exibição como do ambiente de visualização e, em teoria, também outras condições que afetam o estado do observador, como consumo de medicamento mas, é óbvio estas são tipicamente, em grande parte ignoradas), pois um dispositivo de exibição específico pode tornar essa cor mais azulada, e nesse caso o efeito artístico desejado (de criar uma imagem bonita) pode deixar de existir. Não é típico que uma câmera crie automaticamente o tipo ótimo de roxo, sendo esse o motivo do classificador fazer isso com software de processamento de imagens. Esse classificador pode ser tanto um fotógrafo como um artista visual trabalhando em um filme, ou mesmo alguém trabalhando em um programa de televisão (potencialmente, até mesmo ao vivo). É claro que várias aplicações terão vários graus de complexidade de classificação ligados à qualidade técnica e/ou artística desejada para aquelas aplicações. Tipicamente, os padrões acima recomendam que uma classificação deve ser feita em um monitor de referência com cerca de 100 nits, em um ambiente de referência. A questão é, então, como uma cor será renderizada e vista na prática. Os artistas gráficos para publicações impressas também geram seu trabalho sob condições de referência, para ter alguma base comum, e evitar fontes de erro desnecessárias, por exemplo na impressão. Entretanto, isso obviamente não significa que todos os leitores do livro ou da revista lerão o livro sob uma lâmpada D50 calibrada, mas que eles poderão ver cores mais desbotadas quando lendo na cama, sob iluminação inadequada. O mesmo ocorre quando um filme ou programa de televisão, ou uma foto de consumidor, é mostrado em um dispositivo de exibição que não é de referência, dentre os muitos diferentes dispositivos de exibição que estão disponíveis atualmente. Por exemplo, a imagem (classificação) pode ser mostrada em um dispositivo de exibição com pico_de_branco de 500 nits. O que acontece, então, é que se aumenta o brilho de todas as cores de pixel pelo menos com estiramento linear, o que ocorre mediante o acionamento do dispositivo de exibição com a classificação, isto é, mapeando o branco máximo (por exemplo, valor R=G=B=255) ao pico_de_branco do dispositivo de exibição (é claro que pode haver deformação de brilho adicional para as várias cores de pixel da imagem, se o dispositivo de exibição tiver uma função de transferência eletro-óptica (electro-optical transfer function) EOTF nativa especial mas, geralmente, isso é manuseado internamente para fazer com que o dispositivo de exibição se comporte como uma versão mais brilhante de um TRC de referência, isto é, com uma gama de exibição de cerca de 2,5).
[005] Agora, essas classificações de LDR padronizadas (produzidas em um ambiente de referência, entre outras coisas, em um dispositivo de exibição de referência com 100 nits) podem ser usadas (isto é, ter uma aparência razoavelmente boa, isto é, ainda razoavelmente similar à aparência que teriam sob condições de referência) em uma faixa de dispositivos de exibição e/ou condições de ambiente em torno do sistema de exibição de referência (isto é, pico_de_branco com 100 nits, etc.). Isso se deve ao fato de que a maioria dos seres humanos não é tão supercrítica em relação à aparência exata (absoluta) das cores, já que o cérebro funciona relativamente (por exemplo, dependendo dos critérios para permissibilidade, as cores de face, que são umas das cores mais críticas, podem variar de pálidas a quase brancas, a bastante alaranjadas, etc., antes que a maioria menos crítica da população comece a desaprovar), mas também porque, para muitos objetos, ninguém sabe quais eram as cores originais na cena. Parcialmente, isso também se deve ao fato de que cenas em LDR são produzidas com uma estratégia de cores de objeto “em torno da média” (a qual é obtida, entre outras coisas, com iluminação de estúdio bem controlada, talvez já nem sempre com os vários conteúdos instantâneos que se tem atualmente), o que significa que todas as cores são vívidas, e pode-se mesmo aumentar um tanto o brilho da imagem, até acima do nível de 18%, com algumas sombras, porém não muito profundas ou importantes, etc., e isso é muito bem reproduzido, tanto fisicamente como psicologicamente, em vários sistemas. É assim, por exemplo, que trabalham os pintores naive antes de descobrirem assuntos complexos como claro-escuro, etc. Assim, dependendo do critério de qualidade que define a similaridade aceitável, a classificação LDR_100 nits pode ser usada, por exemplo, em dispositivos de exibição de 30 nits até 600 nits, e em ambientes de visualização de 3x menos brilhantes a 5x mais brilhantes. A latitude para uso de uma classificação pode ser aumentada mediante a modificação da mesma com uma assim chamada transformação do dispositivo de exibição. O brilho de um dispositivo de exibição e do ambiente circundante (relacionado ao efeito de Stevens e ao efeito de Bartleson_Brenneman) pode ser corrigido a um grau razoável muito mais facilmente que as questões relacionadas às restrições de gama de um dispositivo de exibição, e pode-se tipicamente processar a imagem com funções gama ou similares. Por exemplo, ao se mover um dispositivo de exibição de um ambiente com luz moderada para um ambiente escuro (ou, de fato, apagar as luzes suaves da sala de estar), passa-se de um gama extra de 1,25 para 1,5, isto é, usa-se a gama residual para aumentar o contraste das imagens renderizadas, pois a visão humana é mais sensível no escuro e, portanto, percebe os pretos da imagem renderizada como mais cinzentos, o que equivale a uma redução do contraste visto, o que precisa ser compensado. Uma tecnologia de LDR similar é a impressão. Nesse caso, obviamente não se tem, a priori, um controle sobre a iluminância do ambiente que determine o pico_de_branco da impressão, mas pelo menos, como com todos os objetos reflexivos, a RDR branco-preto é de cerca de 100:1 (dependendo da qualidade do papel, por exemplo lustroso versus fosco, tintas, etc.).
[006] Uma complicação surge quando é necessário reproduzir uma imagem de uma cena com enorme faixa dinâmica e, tipicamente, também condições de cena muito diferentes das condições de renderização. Por exemplo, em uma cena noturna os olhos podem estar observando uma faixa dinâmica da cena, SDR, entre faróis de carro de 100.000 nits (ou, por exemplo, ainda mais para uma lâmpada de mercúrio ou de sódio de alta pressão na cena) versus regiões escuras em sombras com frações de um nit. Mesmo à luz do dia, onde pode ser mais difícil criar sombras escuras a partir da iluminação que se espalha sobre tudo, um ambiente interno pode ser tipicamente 100x mais escuro que um ambiente externo, e também nuvens escuras e cobertura florestal, entre outros, podem influenciar as luminâncias necessárias (sejam estas capturadas ou a serem renderizadas), se não em reprodução intracena, pelo menos em reprodução interimagens, isto é, em reprodução temporalmente sucessiva. Citações para a “faixa dinâmica nativa” da visão humana variam entre 10.000:1 e 100.000:1, e mesmo 1.000.000:1, pois isso obviamente depende das condições (por exemplo, se é necessário ver uma pequena região mais escura nas áreas brilhantes, ou vice-versa, se é possível ver algum pequeno objeto brilhante no escuro, seja este talvez parcialmente um clareamento da rodopsina; se uma quantidade de ofuscamento é considerada desconfortável, etc.; e, então, há obviamente também um fator psicológico [levando-se em conta coisas como a importância de certos objetos, sua visibilidade perfeita ou suficiente, impacto emocional sobre o observador, etc.], que leva à questão de quanto daquilo precisaria ser renderizado em um dispositivo de exibição [por exemplo, um observador pode rapidamente descartar uma área como “apenas preta”, sem se importar com qual preto, exatamente], posto que o observador está de qualquer modo em uma situação totalmente diferente [não realmente em férias, ou não realmente interrogado por um policial apontando uma luz para seu rosto], mas se deseja uma certa quantidade de realismo, o que pode ser adicionalmente uma compensação com outros fatores, por exemplo consumo de energia, de modo que se poderia pragmaticamente de fato definir várias faixas dinâmicas da visão humana, por exemplo uma para um certo tipo de visualização de cena real, e uma para visualização de televisor). Por exemplo, se uma pessoa está adaptada ao céu escuro da noite, mas vê a lua no canto do olho, isso tem menos influência sobre como os bastonetes em outras partes da retina podem ver as estrelas fracas, isto é, a faixa dinâmica visível “simultânea” será alta. Por outro lado, quando o olho é banhado em forte luz do dia (sobre uma grande área de seu campo de visão), é mais difícil discriminar as cores mais escuras em um interior mais escuro, visto e iluminado através de um pequeno orifício ou janela, especialmente se uma fonte brilhante está em posição adjacente àquela área escura. Os sistemas ópticos mostrarão, então, vários fenômenos de ofuscamento. De fato, o cérebro de modo geral pode nem mesmo se importar quanto àquele interior escuro, e simplesmente chamar todas aquelas cores de pretos psicológicos. Em outro exemplo de como o vazamento de luz influencia e determina a faixa dinâmica da cena, a partir da perspectiva de um observador humano, considere-se um arbusto escuro e mal iluminado à noite, atrás de um poste de luz. A lâmpada no poste de luz cria um perfil de dispersão de luz nas arranhaduras dos óculos do observador (ou, se ele não usa óculos, nas irregularidades de sua lente ocular, por exemplo partículas submicrométricas, água entre as células, ...) , em particular sob a forma de um halo em torno da lâmpada, o que reduz a possibilidade de discriminação entre as cores escuras do arbusto atrás da mesma. Porém, quando o observador caminha por alguns segundos, a lâmpada se move para trás dele e para fora da zona de captura da lente ocular, e os olhos podem rapidamente se ajustar para encontrar o predador à espreita no escuro.
[007] Portanto, independentemente de como se defina a faixa dinâmica útil de uma cena para codificação e renderização para consumo por seres humanos (pode-se mesmo considerar não apenas codificar as luminâncias intraimagem com um fator de alteração de escala da luminosidade global, mas as luminâncias que realmente ocorrem de um ambiente tropical ensolarado à mais escura noite nublada), está claro que é necessário mais de 100:1 para uma renderização fiel ou pelo menos plausível desses ambientes. Por exemplo, deseja- se que o objeto mais brilhante em um dispositivo de exibição para ambiente a meia luz tenha em torno de 10.000 nits, e o mais escuro 0,01 nit (ou pelo menos 0,1 nit), pelo menos se fosse possível, por exemplo, reduzir as luzes caso se tenha cenas totalmente ou predominantemente escuras no filme ou nas uma ou mais imagens.
[008] Aí é que entra a HDR. Além disso, quando é capturado esse tipo de cena, é necessário um mapeamento matemático muito complexo para aproximar o mesmo (ou mesmo para ser possível renderizar o mesmo) em um dispositivo de exibição LDR (isso, de fato, muitas vezes não é realmente possível). Por exemplo, alguns algoritmos de mapeamento de HDR para LDR usam adaptação local para mais ou menos equalizar o campo de iluminação, deixando na renderização em LDR principalmente uma impressão dos reflexos do objeto, isto é, das cores. Em vista do vazamento (múltiplos reflexos, espalhamento, etc.) de luz de partes mais brilhantes para partes mais escuras de uma cena, não é fácil criar cenas com faixa dinâmica extremamente alta, mas uma diferença de iluminação de 100:1 pode facilmente ser obtida em muitas situações práticas. Por exemplo, uma cena em ambiente interno pode ter (é claro, dependendo da profundidade do espaço, do tamanho e da posição das janelas, da refletividade das paredes, etc.) uma fração ou múltiplo de cerca de 1/100 da (i)luminância do ambiente externo (que é também como se define o fator de luz do dia para iluminação de edifícios). SDRs mais altas podem ser obtidas ao se observar um ambiente externo ensolarado a partir do interior de uma caverna através de uma pequena fenda, etc. Além disso, no lado de renderização no dispositivo de exibição, uma faixa em HDR tem início onde se começa a ver novos conceitos de aparência. Por exemplo, em dispositivos de exibição brilhantes, como um dispositivo de exibição SIM2 de 5.000 nits, pode-se, com as imagens de entrada corretas (corretamente classificadas), renderizar realisticamente a impressão de lâmpadas acesas reais, ou paisagens ensolaradas reais. Distintamente da faixa de LDR, acima, pode-se tipicamente dizer que a HDR tem início, para condições normais de visualização de televisor em sala de estar, a partir de um pico_de_branco de cerca de 1.000 nits e acima, porém mais precisamente isso depende, também, das exatas condições de visualização (por exemplo, a renderização para cinema, embora com um pico_de_branco de 50 nits, já mostra várias aparências de HDR). Para ser ainda mais preciso em vista da adaptação dos olhos e do cérebro, a aparência similar a HDR em detalhes numéricos dependeria um pouco, também, não só das luminâncias físicas, como também do conteúdo de imagem, isto é, a classificação escolhida. Porém, em qualquer caso, há uma clara discriminação entre renderização em LDR, que mostra principalmente uma versão opaca e sem luz da cena, como se a mesma estivesse iluminada quase homogeneamente e mostrando apenas as reflectâncias dos objetos, e em HDR, em que é sobreposta uma aparência de campo de iluminação completo. Se é possível, então, renderizar pretos razoáveis, por exemplo com 1 nit ou abaixo, pode-se de fato chegar acima de uma faixa de contraste em LDR de kx100:1, onde k é tipicamente 2-3 (o que, sob um paradigma específico de quase semelhante, isto é, com apenas talvez um pequeno estiramento de contraste, a renderização relativa das luminâncias exibidas em comparação às luminâncias de cena corresponderiam a uma DR similar na cena). No limite superior dos brilhos, é parcialmente uma questão de gosto onde o brilho deve terminar, particularmente onde o brilho adicional se torna apenas incômodo. Descobriu-se que, para classificar vários tipos de cena em HDR, 5.000 nits ainda estão um tanto no limite inferior, particularmente quando é preciso lidar com limitações adicionais do dispositivo de exibição, como resolução da iluminação de fundo. Em experimentos, descobriu-se que se pode definitivamente ir até 10.000 nits em visualização no escuro, sem que o brilho se torne supérfluo ou irritante (pelo menos para alguns observadores). Usar um pico_de_branco acima de 20.000 nits pode ser uma consideração prática de design técnico quanto ao que renderizar com realismo, em termos de luminância, e o que aproximar, obtendo pelo menos uma aparência de brilho. Observe-se que não se deve, tipicamente, conduzir um dispositivo de exibição tão brilhante sempre no brilho máximo, ao invés disso, para criar uma ótima experiência em HDR, deve-se usar a renderização mais brilhante somente em certos locais e momentos, de modo conservador, e também bem escolhido em termos de sua evolução temporal. Não se deve focalizar apenas na DR intraimagem, mas também em como os diferentes ambientes de brilho devem ser renderizados em sucessão, levando em conta a adaptação visual humana.
[009] Uma outra faixa dinâmica é a faixa dinâmica da câmera CDR, a qual é determinada (dadas as configurações de exposição) somente pela carga de saturação do fotodiodo do pixel, e pelo ruído no lado escuro. Ao usar truques como múltipla exposição ou matrizes de pixels passíveis de exposição diferente (por exemplo, em câmeras com 3 circuitos integrados), a CDR se torna limitada pelos elementos ópticos (por exemplo, espalhamento pela lente, reflexo sobre a lente ou o corpo da câmera, etc.), mas isso também pode ser aprimorado por técnicas computacionais de imageamento adequadas, que tentam separar a iluminação real das regiões de cena escura de irradiação errônea proveniente de luz difusa. É claro que, quando a fonte da imagem é uma rotina de computação gráfica (por exemplo em efeitos especiais ou em uma aplicação de jogo) pode-se facilmente criar HDR muito além daquelas limitações. Deve-se ignorar a CDR, e apenas presumir que é muito alta ou talvez um fator limitante, porém em um sistema que se destina a lidar com situações de originais de qualidade muito alta. Em particular, quando for introduzido um corte, será presumido que não se deve à captura por uma câmera de baixa qualidade, mas a um manuseio prático de algumas outras limitações na totalidade da cadeia de captura de imagens, como a incapacidade de um dispositivo de exibição para renderizar cores muito vivas.
[010] Agora, separadamente da RDR do ambiente de dispositivo de exibição, que realmente gera a correta distribuição de fótons de modo a estimular o observador para que tenha a sensação correta (essa também dependente do estado de adaptação daquele observador), quando se fala sobre manuseio ou codificação da HDR, há um outro aspecto interessante, o qual pode também ser resumido em uma faixa dinâmica, a qual será denominada faixa dinâmica de codificação, CODR. Alguns experimentos mentais devem esclarecer esse importante conceito. Suponha-se que se desenhe em um painel branco retroiluminado brilhante com um marcador preto altamente absorvente, de modo que se tenha uma transmissão de 1/16.000 do branco do circundante do painel (e presumindo-se que o espaço circundante e o observador sejam objetos perfeitamente absorventes). No mundo dos bits lineares (o que significa que todos os valores são linearmente representados entre, diga-se, 0 e 2^B, onde A é a operação de potência e B é o número de bits), por exemplo da câmera capturando (seu ADC) seriam necessários, portanto, 14 bits para representar esse sinal. Entretanto, como esse codec desperdiçaria uma grande quantidade de códigos para valores que, de qualquer modo, não ocorrem, pode-se dizer que para representar fielmente aquele sinal específico, teoricamente se necessita apenas da codificação de 1 bit. Seria atribuído ao preto o código 0, e ao branco um 1 e, então, seriam convertidos a qualquer luminância real à qual os mesmos correspondem. Observe-se também que um dispositivo de exibição não precisa, de fato, renderizar aqueles valores com exatamente as mesmas luminâncias presentes na cena. De fato, como esse sinal pode não parecer melhor (psicologicamente e semanticamente) que uma equivalente de DR mais baixa do mesmo (realmente, esse tipo de desenho em preto e branco de alto contraste pode mesmo parecer estranho), pode-se igualmente renderizá-lo em um dispositivo de exibição com valores de 1 nit e 2.000 nits. Observa-se aqui, pela primeira vez, uma interessante distinção que é importante quando se fala sobre codificação em HDR: a diferença entre faixa dinâmica fisiológica e psicológica (ou semântica). A visão humana consiste em duas partes, os olhos e o cérebro. Os olhos podem precisar, como um precursor, da faixa dinâmica fisiológica, PDR, adequada para estimular adequadamente os cones e/ou os bastonetes (e, assim, células ganglionares etc.), mas é por fim o cérebro que determina a aparência final da imagem ou cena (faixa dinâmica psicológica, PSDR). Embora isso não dê completamente a exata impressão de uma região muito luminosa, pintores como Petrus Van Schendel podem jogar com os princípios psicológicos da PSDR para emular, em um meio LDR, cenas de alta faixa dinâmica, por exemplo um incêndio em uma paisagem urbana noturna escura. É isso, também, o que algoritmos de mapeamento de gama complexos tentam fazer ao precondicionar uma imagem em HDR para renderização em um dispositivo de exibição LDR. O outro lado deste princípio, porém, é que algumas cenas parecerão mais similares a HDR que outras, mesmo em um dispositivo de exibição HDR (por exemplo, uma paisagem de inverno ensolarada com arbustos secos pálidos e algumas árvores ao fundo pode aparentar alto brilho, mas não HDR). Para ações em HDR, por exemplo apontar uma lâmpada brilhante na direção do observador, emulações psicológicas são geralmente não tão convincentes quanto a renderização realmente brilhante das regiões.
[011] Considere-se agora, ao longo das mesmas linhas, um segundo exemplo: tem-se uma cena em ambiente interno com luminâncias de, diga-se, entre 200 nits e 5 nits, e uma cena em ambiente externo com luminâncias de, diga-se, entre 1.500 e 20.000 nits. Isto significa que, novamente, têm- se dois histogramas de luminância separados por códigos inexistentes. Pode-se codificá-los nativamente em uma faixa de, diga-se, 16 bits lineares (em que o código máximo corresponde, por exemplo a 32.768 nits), embora fosse preferencial usar alguma não linearidade para se ter exatidão suficiente nos pretos, se não houver demasiado ruído de captura. Mas também se poderia codificar isto de um modo diferente. Por exemplo, seria possível sacrificar 1 bit de precisão, e dividir uma faixa de luminância JPEG não linear de 8 bits em duas partes adjacentes em contato, sendo a inferior para a parte mais escura da cena acima, e a superior para a parte mais clara (pode-se não querer cortar exatamente no meio, tendo em vista a alocação de JND não linear). Se houver preocupação quanto à perda de detalhes precisos quando se tem menos bits, pode-se considerar que pode ser frequentemente melhor usar, em vez disso, os bits disponíveis para efeitos em HDR. Esse tipo de alocação corresponderia, tipicamente, a um deslocamento e estiramento (não linear) dos valores de luminância (L) da captura de entrada em formato RAW para os valores de luminância de 8 bits (Y). Agora, pode-se novamente perguntar qual é a faixa dinâmica desse tipo de cena, se a mesma pode ser “arbitrariamente” comprimida ou estirada (tornando ainda mais brilhante o ambiente externo brilhante, pelo menos até que isso se torne, por exemplo irreal), pelo menos em pós-processamento para renderização. Aqui, o conceito de diferentes aparências pode ajudar. Tem-se, em ambos os sub- histogramas, um certo número de diferentes valores de luminância para diferentes pixels ou regiões que, supostamente, são todos ou quase todos relevantes (se não, não é necessário codificá-los, e pode-se por exemplo, eliminar um ou mais bits de precisão). Além disso, a separação (por exemplo, medida como uma diferença na luminância média) dos dois histogramas quando, por fim, renderizada em um dispositivo de exibição, tem algum significado de aparência. É fato conhecido que a visão humana desconta a iluminação até um certo ponto, porém não totalmente (especialmente se há duas regiões de brilho), então é necessário renderizar/gerar essas entradas para os olhos, pelo menos até um certo ponto. Portanto, trabalhar com aparências diferentes e significativas de cor (ou pelo menos de brilho ou luminosidade) de pixels ou objetos em uma cena renderizável (por exemplo, quando renderizada no melhor cenário possível de dispositivo de exibição) oferece um entendimento sobre a faixa dinâmica de codificação, CODR, e como é necessário, consequentemente, codificar as imagens em HDR. Se a imagem tiver diferentes aparências, está em HDR, e estas precisam estar de algum modo presentes em qualquer codificação razoavelmente fiel.
[012] Como as tecnologias clássicas de codificação de imagem ou vídeo (por exemplo, PAL, JPEG, etc.) estavam primariamente dedicadas a renderizar principalmente a luminosidade do objeto (reflexo) em uma faixa de 100:1 sob condições de visualização originalmente relativamente fixas (um TRC em um ambiente doméstico, e não um OLED no trem, ou o mesmo consumidor tendo em seu sótão uma sala de cinema escura dedicada, com iluminação controlável de modo instantâneo e dinâmico, a qual pode se ajustar ao conteúdo de vídeo), aqueles sistemas codificavam o vídeo de modo bastante fixo, particularmente com uma gama de codificação principal universal fixa, a qual imita a sensibilidade a brilho dos olhos, por exemplo V_709=1,099LA0,45-0,099, que é aproximadamente uma função de raiz quadrada. Entretanto, esses sistemas não estão bem adaptados para lidar com uma ampla faixa de CODRs. Nos últimos anos, ocorreram tentativas de codificar HDR, seja de um modo nativo de codificar linearmente com referência à cena todas as possíveis luminâncias de entrada, como no sistema OpenEXR (F. Kainz e R. Bogart: http://www.openexr.com/TechnicalIntroduction.pdf). Ou, há sistemas em 2 camadas com base na filosofia clássica da escalabilidade. Estas precisam de pelo menos duas imagens: uma imagem de base que será tipicamente uma imagem em LDR que pode ser usada por sistemas legados, e uma imagem para reconstruir as uma ou mais imagens em HDR principais. Um exemplo desse tipo é US2012/0314944, que precisa da imagem LDR, um reforço logarítmico ou imagem de razão (obtida mediante a divisão das luminâncias em HDR pelas luminâncias em LDR obtidas após classificar adequadamente uma imagem em LDR para sistemas de renderização em LDR), e um imagem de correção de cortes de cor por imagem em HDR a ser codificada. Com uma imagem de reforço pode-se reforçar todas as regiões (dependendo da subamostragem) a partir de sua faixa limitada, seja qual for a posição de luminância que devam ocupar na faixa HDR. Observe-se que, por uma questão de simplicidade, todas essas operações são descritas em uma visualização de luminância, já que o versado na técnica pode imaginar como estas precisam ser formuladas em uma visualização de luminância de uma definição de codificação específica. Essas multi-imagens são, pelo menos nos anos vindouros, pouco práticas pois precisam de ICs de (de)codificação com sérias atualizações em aparelhos existentes, já que é necessário o manuseio de imagens adicionais, em adição à imagem em LDR.
[013] Recentemente, e conforme descrito em WO2013/046095, foi desenvolvido um modo de otimizar a codificação de vídeo clássica (de preferência com modificações menores, de preferência com principalmente metadados para aplicar transformações relacionadas a duas classificações da mesma cena para duas condições de renderização muito diferentes, por exemplo permitir transformar um classificação LDR codificada em uma classificação HDR, ou vice-versa, e talvez com algumas variantes tendo espaço para armazenar nos metadados algumas imagens pequenas adicionais para fazer um ajuste final, se for desejado esse tipo de modificação adicional, por exemplo uma correção aditiva ou multiplicativa em pequenas regiões que contêm um objeto, por exemplo uma face iluminada com muito brilho em uma tomada ou cena do filme, em que os fatores corretivos por pixels podem, então, ser codificados por exemplo, em 200 imagens com 120x60 pixels a serem mapeadas sobre as posições de pixel da atual reconstrução em HDR por meio de transformação de cores, ou mesmo alguma representação subamostrada daquelas pequenas imagens corretivas, a ser aplicada como mapeamentos grossos de sintonia fina, descritos como imagens) para ser capaz de codificar imagens com alta faixa dinâmica. Neste sistema, tipicamente um classificador humano pode determinar uma função de mapeamento ótima a partir da imagem de entrada em HDR (classificação de HDR principal) para, por exemplo codificação em LDR 8 ou 10 (ou 12 ou, em princípio, um outro valor pelo menos para os códigos de luminância, mas sendo este valor tipicamente o que é reservado para codificação de imagem “clássica” em LDR) bits, o que pode ser codificado por meio de compressão de vídeo clássica (DCT etc.), a função de mapeamento ótima (por exemplo, uma função gama ou similar com coeficiente de gama ótimo, parte linear etc., ou uma função multissegmentos, por exemplo uma curva S etc.) tipicamente dependendo de qual era o conteúdo na HDR principal (por exemplo, um plano de fundo escuro, com uma região muito brilhantemente iluminada), e como este será renderizado em condições de LDR. Isso é denominado codificação simultânea de uma classificação LDR e HDR por mapeamento da classificação HDR em uma imagem em LDR passível de uso em sistemas legados, e codificação de HDR em recipiente LDR. Tinha-se a intenção de assegurar que esta tecnologia fosse compatível com sistemas anteriores, de modo que a imagem em LDR assim gerada ofereça resultados razoáveis quando renderizada por exemplo, em um sistema legado em LDR (isto é, a imagem tem uma aparência razoavelmente boa, se não perfeita, tipicamente de modo que não muitas pessoas venham a considerar as cores de alguns objetos completamente erradas). Se for aceito algo como uma diminuição da precisão, o presente sistema pode até mesmo codificar cenas ou efeitos em HDR em sistemas legados de 8 bits. Por resultados razoáveis, quer-se dizer que as imagens renderizadas em LDR, embora talvez não sejam o melhor que se poderia teoricamente obter, em termos de aparência artística, serão aceitáveis para um criador de conteúdo e/ou observador, dependendo é claro da aplicação (por exemplo, para um serviço mais barato baseado em internet ou telefonia móvel, as restrições de qualidade podem ter importância menos crítica). Pelo menos a classificação LDR oferecerá boa visibilidade de todos ou quase todos os objetos (pelo menos os objetos de principal importância para a história da imagem ou do vídeo) na cena imageada, quando renderizada em um sistema LDR com propriedades que não se desviam muito da renderização em LDR padronizada. Por outro lado, para dispositivos de exibição em HDR, a HDR principal original pode ser aproximada em uma aproximação mediante o mapeamento com o reverso invertível da função de mapeamento cocodificada a partir da imagem em LDR para a imagem em HDR reconstruída. Pode-se definir essa aproximação com tolerância matemática, por exemplo em termos de diferenças apenas perceptíveis (JND - just noticeable differences) entre a HDR principal original fornecida e sua reconstrução. Tipicamente, qualquer sistema como esse será projetado mediante a realização de testes para um certo número de cenas, ações e situações adicionais em HDR típicas, para saber quão diferente parece a HDR reconstruída (se isso ainda será aceitável para certas classes de usuários, por exemplo criadores de conteúdo para televisão ou filmes) e validar uma classe de operações como mapeamentos de gama específicos dentro de certas faixas de parâmetro a partir da mesma. Isso garante que será sempre possível obter uma certa qualidade da aproximação.
[014] É um objetivo das tecnologias apresentadas abaixo oferecer ao classificador uma versatilidade ainda maior na definição de pelo menos duas classificações, LDR e HDR.
SUMÁRIO DA INVENÇÃO
[015] O objetivo acima é alcançado ao se ter um codificador de imagem (202) que compreende: - uma entrada (240) para uma imagem de entrada com alta faixa dinâmica (M_HDR); - uma unidade de classificação de imagem (201) disposta de modo a permitir que um classificador de cores humano especifique um mapeamento de cores a partir de uma representação (HDR_REP) da imagem de entrada com alta faixa dinâmica, definida de acordo com uma exatidão predefinida, para uma imagem com baixa faixa dinâmica (Im_LDR), por meio de um algoritmo de mapeamento de cores determinado por um ser humano, e disposta de modo a produzir dados que especificam o mapeamento de cores (Fi(MP_DH); e - uma unidade de classificação automática (203), disposta de modo a derivar uma segunda imagem com baixa faixa dinâmica (GT_IDR), mediante a aplicação de um algoritmo de mapeamento de cores automático a uma dentre a imagem de entrada com alta faixa dinâmica (M_HDR) ou a imagem com baixa faixa dinâmica (Im_LDR).
[016] A classificação GT_IDR é tipicamente feita a partir ou da imagem com alta faixa dinâmica (tipicamente a classificação principal) ou da classificação LDR, mas é claro que pode também ser vantajoso levar em conta com a mesma as características da imagem, particularmente a aparência de brilho ou luminosidade de vários objetos, da outra classificação (isto é, qual deve ser a aparência da classificação LDR se GT_IDR for mapeada a partir de M_HDR, de modo que GT_IDR possa representar algum tipo de equilíbrio, mas é claro que pode ser formado por todos os tipos de outras condições/fatores colaterais, também). Presume-se que a imagem em HDR principal seja codificada em qualquer formato que permita esse tipo de codificação (por exemplo, isso pode ser OpenEXR, ou um sistema conforme explicado na Figura 7 deste documento, em geral qualquer coisa preferencial, por exemplo para o fabricante do software de classificação). Ou seja, a codificação em M_HDR pode ser de um tipo linear, com referência à cena, ou já ter alguma função de alocação de código interessante aplicada à mesma, mas para as presentes explicações pode-se presumir com segurança que seja uma codificação de luminância linear. Tipicamente, essa imagem em HDR principal não virá direto da câmera (já que as câmeras são apenas ferramentas automáticas de captura, com características, por exemplo filtros de cor não similares ao olho humano, porém, o que é mais importante, seus circuitos não são como o cérebro humano, o que provém das mesmas por mera gravação pode ser bom, mas não necessariamente ótimo), porém um classificação artística ótima (que, por exemplo escurece o ambiente de fundo de um porão para criar um estado de humor ótimo para aquela cena), porém, a classificação por um ser humano poderia ser um simples mapeamento funcional da imagem de uma câmera em algum lugar (sendo esta, então, a entrada em HDR principal), por exemplo apenas para obter uma primeira visualização em um certo renderizador, depois do que uma imagem em HDR de alta qualidade é codificada (por meio de uma imagem em LDR e parâmetros de mapeamento). Uma unidade de classificação de imagem consiste, tipicamente, em software sendo executado em um computador, que permite o mapeamento de cores a partir de cores iniciais de pixels para cores finais de pixels, por exemplo mediante a alteração de um correlato de luminância daqueles pixels de um valor inicial para um valor final, por exemplo mediante a aplicação de uma função de mapeamento de tons (por exemplo, uma curva S) naquele correlato de luminância ou, por exemplo curvas de definição de cores (como R,G,B), simultaneamente. O versado na técnica precisa entender por que foi usado o termo correlato de luminância para representar qualquer codificação matemática que se correlacione a uma luminância de um pixel (quando capturado em uma cena, ou renderizado em uma renderização da mesma) já que, dada a complexidade das tecnologias de cores, existem algumas variantes similares das mesmas, como luminâncias, valores (V), definições funcionais para correlatos denominadas luminosidade, etc. De fato, um componente linear ou não linear da cor, como uma quantidade de vermelho, pode também ser usado como um correlato de luminância. Portanto, o correlato de luminância deve ser entendido como qualquer função de mapeamento monotônico entre o eixo de luminância (luminância conforme definida pelo CIE) e um outro eixo, de modo que qualquer valor naquele outro eixo possa ser imediatamente convertido em um valor de luminância, e vice- versa. Embora as formulações para vários correlatos variem quanto a seus detalhes precisos, o princípio permanece o mesmo. No entanto, introduziu-se o termo também para indicar que, embora os princípios das presentes modalidades possam ser definidos em mapeamentos de luminância, os mesmos podem de fato ser fisicamente construídos mediante a aplicação de operações matemáticas a outros correlatos de luminância ou, em geral, a qualquer codificação de cores. O classificador de cores humano pode, por exemplo ser dirigido parcialmente pelo diretor de um filme para produzir uma certa aparência visual para o filme capturado.
[017] O princípio da modalidade acima é que, ao contrário dos sistemas legados com uma função de mapeamento fixa relacionando uma classificação LDR e uma HDR (por exemplo, codificando qualquer imagem de entrada, quer esta tenha ou não uma faixa dinâmica aumentada, em uma codificação LDR), tem-se agora um sistema duplo. Isto criará também, tipicamente, dois conjuntos de parâmetros de mapeamento (por exemplo, funções de mapeamento de correlato de luminância ou, em geral dados que definem transformações matemáticas realizadas por software para transformar as cores de entrada nas cores de saída) em vez de somente uma função reversível para criar a imagem a ser renderizada (no caso de PCT/2012/054984, uma reconstrução em HDR a ser usada em um dispositivo de exibição HDR para acioná-lo, diretamente ou após processamento de cores adicional).
[018] Nesse sistema duplo, há também duas classificações relacionáveis à HDR principal. Primeiramente, há uma classificação automática, que crua uma primeira imagem em LDR de boa qualidade, a qual se denomina segunda imagem com baixa faixa dinâmica, GT_IDR. Isso pode ser (parcialmente) influenciado pelo classificador de cores (por exemplo, mediante a seleção de uma função preferencial a partir de um conjunto de funções de mapeamento que normalmente renderiam bons resultados em todas as imagens de entrada) mas, tipicamente, é vantajoso que essa classificação automática fique nos bastidores no aparelho, fora da vista e da preocupação do classificador que pode, então, focalizar em seus desejos artísticos. O ponto desta classificação técnica consiste em criar uma imagem GT_IDR que, embora talvez não seja totalmente ótima de acordo com os desejos artísticos específicos do classificador, produza uma imagem em LDR com boa visualização quando renderizada em um sistema LDR (com boa visualização, novamente, significando não só que qualquer imagem será exibida, mas que o observador poderá acompanhar a maior parte do que estiver ocorrendo no filme, pois a visibilidade de todos os objetos é boa, ainda que, devido a alguma descoloração em comparação ao ótimo, o estado de humor da cena possa ficar um pouco alterado). Em grande parte, porém, isso define sua derivação matemática para que essa segunda imagem em LDR GT_IDR seja tecnicamente ótima, posto que é fácil reconstruir, a partir da mesma, uma reconstrução REC_HDR da HDR principal com ótima qualidade. Isto significa que a perda de informações em GT_IDR devida a, por exemplo quantização após o uso do mapeamento ótimo específico para esta, a partir de M_HDR, deveria ser mínima, de modo que haja uma quantidade mínima aceitável na HDR reconstruída para todas as imagens de entrada em HDR típicas possíveis.
[019] Então, por outro lado, há uma classificação artística do classificador humano. Ele pode derivar qualquer imagem que deseje, de acordo com suas preferências, para visualização em sistemas de renderização LDR. Por exemplo, pode-se ter uma ação ocorrendo em um porão escuro, em um filme de horror. O sistema de renderização em HDR pode ser capaz de renderizar o ambiente escuro como muito escuro, enquanto ainda retém a visibilidade da maioria dos objetos (por exemplo, equipamentos de tortura em prateleiras nas sombras, contra a parede, ou o interior de uma sala adjacente não iluminada, para além de uma porta aberta). E, ao mesmo tempo, este pode ser capaz de renderizar objetos muito brilhantes, como uma única lâmpada oscilando no teto daquela sala escura, ou uma tocha nas mãos de uma pessoa caminhando através da mesma. Entretanto, o sistema de renderização LDR pode ter capacidades menores para renderização do ambiente escuro, particularmente porque também precisa deixar espaço em sua limitada faixa de luminância para os objetos mais brilhantes, como a lâmpada e a face da pessoa caminhando sob a mesma, e o classificador pode querer emular o brilho mediante o aumento do contraste com as luminâncias dos objetos circundantes, isto é, o plano de fundo escuro. O classificador pode, por exemplo decidir artisticamente tornar esse plano de fundo totalmente preto para a classificação LDR, Im_HDR. Deve ficar claro que essa imagem com baixa faixa dinâmica, Im_HDR, pode então não ser usada para reconstruir uma REC_HDR com informações suficientes no plano de fundo para ter todos os objetos ali visíveis. Como uma generalização disto, pode-se notar que a unidade de classificação automática precisa certificar-se de que não ocorra qualquer perda de informações relevantes, de modo que uma reconstrução em HDR ainda possa ser derivada com boa exatidão de aproximação a partir da imagem em LDR codificada, GT_IDR. Observe-se que a GT_IDR dessa imagem em LDR não precisa, por si só, ser definido com as mesmas restrições de ambiente (por exemplo, pico_de_branco de 100 nits do dispositivo de exibição pretendido), mas pode também ser, por exemplo para um dispositivo de exibição de referência de 200 nits.
[020] Como pode ser entendido pelo versado na técnica, há duas maneiras de realizar um sistema como esse. Ou a unidade de classificação automática que classifica tecnicamente faz seu mapeamento primeiro e, então, o classificador humano trabalha naquela GT_IDR para criar sua classificação LDR preferencial, IM_LDR, ou o classificador humano primeiro faz sua classificação Im_LDR e, então, a unidade de classificação automática deriva da mesma uma GT_IDR tecnicamente mais adequada para codificar todos os dados de HDR relevantes em um formato de LDR_container. Assim, de fato, isso logicamente corresponde a que o classificador humano trabalhará, em ambos os casos, com a representação da HDR principal. No primeiro caso de classificação por ser humano será a própria HDR principal (infinitamente acurada) que formará o ponto de partida. No segundo caso, a GT_IDR resultante da classificação técnica automática será uma boa representação da HDR principal, já que contém a maior parte (pelo menos a parte relevante) dos dados da HDR principal, seja em uma representação diferente de correlato de luminância mapeado (por exemplo, uma luminância de uma lâmpada de 10.000 nits na HDR principal pode ser representada como um código de luminância 253 na GT_IDR). De acordo com uma exatidão predefinida, novamente isso significa que são colocados limites técnicos no quanto uma reconstrução REC_HDR a partir da GT_IDR pode se desviar da M_HDR originalmente fornecida. Tipicamente, o versado na técnica sabe que se pode (se não somente definido de acordo com a preferência de examinadores humanos) caracterizar matematicamente esses desvios, por exemplo por meio da diferença ponderada entre as cores de pixel de REC_HDR e de M_HDR. Por exemplo, pode-se usar funções matemáticas que caracterizam uma diferença seguindo princípios visuais humanos, por exemplo observando-se cores em regiões e, por exemplo penalizando menos as diferenças se estas ocorrem em áreas texturizadas, etc. Pode-se permitir diferenças maiores a alguns objetos semânticos, por exemplo lâmpadas, já que a luminância real renderizada para aqueles objetos pode ser menos importante. Em resumo, o versado na técnica entenderá que, tipicamente, a classificação técnica realizará quaisquer dentre um conjunto de mapeamentos pré-acordados, o que para qualquer, ou para a maioria, das imagens M_HDR de entrada de ocorrência típica produzirá erros de reconstrução abaixo de um certo limiar (o qual pode ou ser um valor subjetivo acordado pelo painel de avaliação por seres humanos, ou um valor matemático acordado). Tipicamente haverá, por exemplo um conjunto de funções similares a gama (isto é, tipicamente iniciando com uma parte linear nos pretos e, então, fazendo uma curva para mostrar um coeficiente angular cada vez menor da saída versus a entrada), ou curvas paramétricas em três segmentos para afetar os escuros/sombras, as subfaixas de tons médios e brilhantes da luminância ou eixo do correlato de luminância, todos os quais se comportam razoavelmente, e em que alguns podem resultar em menores erros de reconstrução em uma região de luminância específica de um tipo específico de M_HDR. O classificador humano pode, então, selecionar essa curva. Ou, alternativamente, a unidade de classificação automática pode selecionar esse tipo de curva ótima, por exemplo mediante a observação do histograma de cor ou luminância do M_HDR, ou realizando uma análise mais complicada da mesma (por exemplo, determinando onde estão as uma ou mais faces). Assim, a representação HDR_REP de M_HDR de acordo com uma exatidão predefinida significa que essa imagem contém substancialmente todos os dados de M_HDR, seja de um modo codificado diferentemente, para que se possa obter inversamente a M_HDR fornecida, dentro de uma exatidão predefinida, isto é, com erros de reconstrução que, no pior dos casos, tipicamente não excedem um nível acordado.
[021] Assim, o classificador humano trabalha, portanto, ou com o M_HDR, ou com a GT_IDR, para obter sua imagem com baixa faixa dinâmica Im_LDR preferencial, a ser usada para sistemas de renderização em LDR. Ele pode usar qualquer mapeamento de cores que deseje, a partir de um conjunto de mapeamentos disponíveis no software de classificação, por exemplo ele pode ajustar um mapeamento de tons global específico (isto é, mapeamento de luminância) ou uma função de mapeamento de cores a ser aplicada em todos os pixels em qualquer posicionar espacial na imagem, com base apenas em seu valor de cor de entrada. Ou, ele pode usar mapeamentos localmente ajustados. Por exemplo, ele pode, em uma região geométrica específica da imagem (por exemplo, especificada dentro de um formato delimitador retangular ou de outro modo definido), selecionar somente aqueles pixels que são mais brilhantes que um valor de luminância específico (ou dentro de faixas de cores especificadas) e transformar somente aqueles pixels de acordo com uma estratégia local de mapeamento de cores, etc. Ele gravará, então, todas as coisas que fez sob a forma de metadados, por exemplo a função de alteração global do correlato de luminância pode ser gravada de uma forma paramétrica (por exemplo, coeficientes da função de potência para três regiões de uma curva similar a S, como um ponto final das sombras, partes lineares de cada lado, um coeficiente de curvatura parabólico, etc.). Se essas funções forem (amplamente) reversíveis, o lado de recepção pode, então, usar as mesmas para reconstruir, usando essa imagem de saída como uma imagem de entrada, e usando a estratégia inversa de mapeamento de cores, a imagem original a partir da qual essa imagem de saída foi obtida, pelo menos dentro de uma certa exatidão (depois de, por exemplo terem sido introduzidos quantização e/ou artefatos DCT etc.).
[022] Nas modalidades em que o ser humano faz primeiro a classificação, o classificador humano produzirá os parâmetros de mapeamento Fi(MP_DH) a partir do mapeamento M_HDR. Entretanto, como a classificação automática ainda modificará a classificação LDR, estes não são os parâmetros interessantes, no final. A unidade de classificação automática derivará disso dois conjuntos de novos parâmetros. Ela derivará um mapeamento diferente de HDR para a nova classificação LDR sendo GT_IDR, com parâmetros de mapeamento Fi(MP_T). Ela derivará, também, novos parâmetros de mapeamento Fi(MP_DL) para criar a classificação LDR preferencial para seres humanos, Im_LDR, a partir da segunda imagem em LDR tecnicamente classificada, GT_IDR. Ao armazenar os dados necessários para um lado de recepção trabalhar com a imagem M_HDR codificada, isto é, particularmente permitindo que o receptor recrie uma reconstrução REC_HDR, um formatador tipicamente codificará a GT_IDR (para a textura dos objetos), e dois conjuntos de dados de mapeamento, Fi(MP_T) e Fi(MP_DL), em uma codificação adequada definida na especificação de qualquer padrão de sinais, isto é, tipicamente em metadados do sinal TSIG de imagem (ou de vídeo). No caso de a classificação automática ocorrer primeiro, o classificador humano trabalhará na GT_IDR para produzir parâmetros de mapeamento Fi(MP_DL) e, então, estes serão gravados no sinal (em adição à imagem GT_IDR e Fi(MP_T)).
[023] Dependendo de qual variante for o sistema, a unidade de classificação automática aplicará, então, como uma pré-especificação, a segunda imagem em LDR, GT_IDR, diretamente a partir da HDR principal, M_HDR, ou como uma pós-correção baseada em uma Im_LDR anteriormente classificada por ser humano como entrada. O termo dados especificando um mapeamento de cores precisa estar claro para o versado na técnica para qualquer das muitas possíveis variantes de mapeamento de cores. Tipicamente, o software de classificação pode armazenar os parâmetros das funções que usa e, particularmente, pode usar funções de mapeamento que são precondicionadas para serem boas para codificação. Por exemplo, pode-se projetar um certo número de funções locais ou globais que são reversíveis (dentro de uma exatidão especificada) quando usadas de forma conservadora, isto é, com valores dentro de uma faixa, e podem se tornar (parcialmente) irreversíveis quando usadas agressivamente pelo classificador. Um exemplo disso pode ser uma função gama. Os coeficientes de gama até um valor de 3,0 podem ser vistos como reversíveis para um sistema específico (isto é, partindo de uma faixa dinâmica inicial específica, por exemplo CODR, ou por exemplo, com dados importantes significativos em várias subfaixas de uma faixa de referência definida de 5.000 nits, até uma situação de referência em LDR específica, por exemplo uma definição de sistema legado em LDR, por exemplo a especificação do ambiente de visualização de sRGB), mas os gamas acima de 3,0 podem ser vistos como graves para pelo menos uma subfaixa da faixa de luminância de entrada (isto é, para reconstrução reversível). Ou, em um conjunto estendido para produzir classificações LDR a posteriori a partir da GT_IDR automática, pode haver funções que não existem na classificação automática, e criar perda significativa de informações nas informações de HDR de entrada ao criar com a mesma uma imagem em LDR classificada desejada. O sistema pode, tipicamente, funcionar em um modo ou fase em que o classificador tenha uma liberdade limitada para criar imagens em LDR, mas com boas propriedades técnicas (isto é, perto de uma GT_IDR com bom funcionamento), e um modo ou fase em que o classificador tem liberdade (quase) ilimitada, ou pelo menos maior liberdade na determinação de sua imagem classificada em LDR ótima, Im_LDR.
[024] Em modalidades vantajosas, a unidade de classificação automática (203) está disposta de modo a determinar seu algoritmo de mapeamento de cores automático mediante o atendimento de uma condição de que uma imagem reconstruída HDR (REC_HDR) que se enquadre em uma segunda exatidão predefinida a partir da imagem de entrada com alta faixa dinâmica (M_HDR) possa ser calculada mediante a aplicação de um segundo algoritmo de mapeamento de cores (CMAP_2) à segunda imagem com baixa faixa dinâmica (GT_IDR).
[025] Assim, a unidade de classificação automática manterá a qualidade da segunda imagem em LDR GT_IDR para permitir a boa reconstrução da HDR principal. Ela atenderá a essa condição mediante a restrição das funções que podem ser usadas para relacionar a M_HDR à GT_IDR. Em particular, uma quantidade não muito grande de dados (significativos) deverá ser perdida por essas ações, por exemplo a quantização de componentes de cor, por exemplo (R,G,B) ou (Y,Cr,Cb), etc. Assim, suas funções de mapeamento serão tipicamente selecionadas com base nessa avaliação, quer tenha sido um cálculo a priori (por exemplo, por um algoritmo que é pré-testado no laboratório de modo que, ao operar sobre imagens em HDR com, por exemplo certas propriedades de distribuição de histograma de luminância, produzirá boa capacidade de reconstrução para certas funções ou algoritmos de mapeamento), ou um pós-cálculo, por exemplo em um circuito iterativo que seleciona a melhor dentre um número de possíveis funções de mapeamento. A segunda exatidão predeterminada é a exatidão final, que pode ser obtida mediante reconstrução da REC_HDR a partir dos dados codificados com o algoritmo de mapeamento escolhido, isto é, mediante a aplicação do inverso de Fi(MP_T) na GT_IDR, cujo inverso se denomina segundo algoritmo de mapeamento de cores, CMAP_2. Para as primeiras modalidades de classificação automática, isto significará que a unidade de classificação automática irá somente determinar o mapeamento entre M_HDR e GT_IDR (e o usuário não precisa, de fato, se incomodar com essa relação). Então a mesma selecionará, por exemplo uma função gama adequada, de modo que a GT_IDR ainda tenha uma aproximação razoável com a aparência escura na M_HDR, mas ainda assim nenhum dos valores de luminância relevantes são demasiadamente agrupados uns aos outros em uma luminância de GT_IDR. Na situação da classificação por ser humano primeiro, a unidade de classificação automática ainda precisa determinar um mapeamento final Fi(MP_T) entre M_HDR e GT_IDR. Isso corresponde a redeterminar uma nova segunda imagem classificada em LDR, GT_IDR, depois do classificador humano (mas isto não destruirá a classificação por ser humano, já que também são determinados os parâmetros de mapeamento para reconstrução a partir da GT_IDR). Podem existir várias estratégias para isso. Por exemplo, a unidade de classificação automática pode consultar a função de mapeamento, e desviá-la um pouco em regiões que levam a grave perda de dados, por exemplo devido a quantização. Com isso, a unidade de classificação automática poderia estudar as imagens obtidas (Im_LDR versus GT_IDR, em comparação a M_HDR) mas também a própria curva de mapeamento (observando o quanto a mesma se desvia de curvas de mapeamento com desempenho genericamente bom). Uma outra possibilidade é que a unidade de classificação automática selecione uma dentre um conjunto de funções de mapeamento que esteja próxima àquela selecionada pelo classificador humano, e ainda assim com bom desempenho. A partir daí, usa-se cálculo matemático para obter o sistema final. Por exemplo, GT_IDR será obtida mediante a aplicação de uma função de desvio na função de mapeamento Fi(MP_DH) de M_HDR para Im_LDR dos classificadores humanos. Realmente, a unidade de classificação automática pode, então, aplicar diretamente essa função final a M_HDR, para obter GT_IDR, diretamente com erro mínimo. Im_LDR pode ser derivada a partir da mesma, mediante o uso da função de desvio. O versado na técnica entende como, de maneira similar em outras estruturas matemáticas, a unidade de classificação automática pode determinar um mapeamento Fi(MP_T) ótimo e corresponder ao mesmo um mapeamento da GT_IDR para a Im_LDR do classificador (isto é, Fi(MP_DL)). Isto é mostrado esquematicamente na Figura 6, como a aplicação de uma deformação técnica DEF_TECH à classificação do classificador humano, para se obter a imagem em LDR tecnicamente classificada GT_IDR. Ou seja, a unidade de classificação automática pode funcionar ou iniciando a partir da imagem em LDR Im_LDR e trabalhar em uma filosofia de deformação, e derivar disso Fi(MP_T), ou pode observar diretamente a aparência da Im_LDR classificada por ser humano, e fazer uma aproximação da mesma iniciando a partir de M_HDR, dadas as limitações técnicas de sua classificação técnica, levando a uma Fi(MP_T), e determinar a partir da mesma uma Fi(MP_DL) para derivar a classificação por ser humano a partir de GT_IDR (mapeamento esse que pode, então, ser tecnicamente muito liberal), etc. Assim, deve ficar claro para o versado na técnica de que maneiras a condição pode ser, e será, atendida. Novamente, a exatidão pode ser predefinida como qualquer medida, por exemplo para uma classe de qualidade de tecnologia (por exemplo, filme de alta qualidade para usuários premium versus codificação HDR de baixa qualidade que dá em grande parte a impressão, mas não a qualidade definitiva), por exemplo especificando que certos mapeamentos irão, em uma imagem em HDR que seja um caso difícil, criar artefatos que não são maiores que os artefatos de uma magnitude pré-acordada. Outras estratégias de mapeamento que não se comportam de acordo com a especificação não devem, então, ser usadas. Em qualquer caso, exceto por detalhes minuciosamente acurados em definições, deve ficar claro para qualquer infrator se ele está usando o sistema de cadeia técnica de classificação dupla, conforme descrito acima.
[026] Conforme já apresentado acima, pode ser vantajoso se pelo menos a unidade de classificação automática (203) e, possivelmente, também a unidade de classificação de imagem (201), estiverem dispostas de modo a aplicar uma função de mapeamento monotônico em pelo menos um correlato de luminância de pixels em sua respectiva imagem de entrada, em pelo menos uma região geométrica da respectiva imagem de entrada correspondente à mesma região geométrica da imagem de entrada com alta faixa dinâmica (M_HDR). Ter esse tipo de definição funcional de um para um em regiões unicamente identificáveis da imagem (por exemplo, a totalidade da imagem), significa que pelo menos em um eixo de infinita precisão, pode-se facilmente inverter essas funções. É especialmente vantajoso se também os derivados ou coeficientes angulares dessas funções forem tais que não integrem muitas das luminâncias de M_HDR em um único código de Im_LDR, ou pelo menos GT_IDR. Além disso, essas funções monotônicas são fáceis de calcular tecnicamente, por exemplo com uma tabela de pesquisa. Por exemplo, isso pode tomar um correlato de luminância, como uma luminância Y, como entrada e saída. Um exemplo de cena em HDR que ocorre frequentemente, a qual pode ser feita com duas regiões espaciais, é uma imagem com ambiente interno e externo, por exemplo fotografada de dentro de um carro, de uma sala, etc. Com “regiões geométricas correspondentes a” quer-se dizer que, se a região for definida em, diga-se, Im_LDR, então os pixels são identificáveis com pixels em M_HDR. Por exemplo, se a imagem tiver a mesma geometria (resolução e corte), as posições de pixel podem estar colocadas, mas em caso de transformações geométrica, por exemplo alteração de escala, deve também ficar claro o que isso significa para o versado na técnica.
[027] Embora sistemas simples possam, por exemplo usar funções de mapeamento Fi(MP_T) fixas, pré- acordadas, que sempre funcionam corretamente, é vantajoso que sistemas mais avançados possam otimamente determinar por si os mapeamentos, particularmente se a unidade de classificação automática (203) estiver disposta de modo a determinar seu algoritmo de mapeamento de cores automático de acordo com um critério de qualidade que estima uma diferença entre uma quantidade de informações nos correlatos de luminância de pixels na imagem de entrada com alta faixa dinâmica (M_HDR) e uma quantidade de informações nos correlatos de luminância de pixels na segunda imagem com baixa faixa dinâmica (GT_IDR).
[028] O versado na técnica entenderá que há diferentes maneiras de definir quantidades de informação, mas todas envolvem medir quantos dados há em uma representação (especialmente dados significativos). Pode haver métodos semanticamente cegos, que somente medem as cores disponíveis, mas não de qual região ou objeto elas vêm. Por exemplo, pode- se medir quantas das luminâncias de M_HDR são mapeadas a uma única luminância de GT_IDR. Se, por exemplo a maioria das luminâncias é mapeada somente de duas em duas, mas em uma certa região do eixo de luminância M_HDR, 5 valores digitais de luminância em HDR (ou em uma representação flutuante de uma extensão de luminâncias excedendo um certo tamanho) são mapeados a uma única luminância GT_IDR, isto pode ser visto como uma perda de informações muito grande. Assim, o tamanho dos vãos, ou a quantidade de luminâncias digitalizadas em M_HDR é um exemplo de uma possível quantidade de medidas de informação. É claro que essas medidas podem ser tornadas mais inteligentes, por exemplo observando como as mesmas se comportam sub-regiões particularmente interessantes da faixa de luminância M_HDR, ou mesmo objetos semânticos, por exemplo uma face. Pode ser prescrito que, por exemplo cada face deva ser representada por ao menos 50 códigos de luminância em GT_IDR, ou cada região de uma face tendo N luminâncias digitais em M_HDR (ou uma extensão contínua equivalente às mesmas) não deva ser representada em GT_IDR por uma quantidade M de luminâncias menor que metade daquela quantidade N. Isso pode ser submetido a ajuste fino com base na significância não linear para seres humanos, dada a função de mapeamento não linear. Por exemplo, pode-se especificar a quantas diferenças meramente perceptíveis JNDs corresponderia uma certa codificação GT_IDR, quando reconstruída para REC_HDR sob um ambiente de visualização em HDR de referência. E, então, pode- se especificar que a face deveria ser reconstruível com pelo menos R JNDs discrimináveis. Ou uma estrutura em uma face, como uma ruga, deveria mudar de um valor mais escuro dentro da ruga para um valor mais brilhante fora da ruga, por uma etapa reconstruível de, no máximo S (diga-se, 3) JNDs. Introduz-se, também, o conceito de diferenças que meramente importam (just careable differences) JCDs, que pode ser usado para alguns objetos semânticos. Por exemplo, em uma luminária, pode ser suficiente que a luminária seja brilhante, e ainda algo da estrutura interior (como um formato de lâmpada) seja distinguível, mas nem o valor exato da luminária, nem o da lâmpada, nem suas luminâncias relativas podem ser de importância crítica. Nesse caso, ambas as regiões podem ser codificadas como sendo consideradas precisas se dentro de, por exemplo 1 JCD, o que pode ser, por exemplo 20 JNDs, ou especificado como uma diferença ou fração de luminâncias (para luminâncias que se enquadrem em uma subfaixa definida de luminâncias brilhantes a serem usadas para renderização de luzes). Assim, os critérios de informação podem ser determinados somente com base em binagem unidimensional ou tridimensional (formato e/ou tamanho) dos dados de cores em ambas as imagens, em critérios estatísticos como a luminância ou o histograma de cores e, em particular, informações semânticas de quais regiões podem ser mais gravemente deformadas (por exemplo, o classificador humano pode desenhar rapidamente um rabisco sobre as regiões da imagem que precisam ser codificadas com alta precisão, como a região principal da ação, que pode ser especialmente iluminada durante a captura, ou uma face), informações geométricas, por exemplo bordas ou formatos de estruturas em regiões de objeto, e como elas se deformam (por exemplo, visibilidade nítida, ou contraste) sob certas classes de mapeamentos, ou caracterizadores de textura (por exemplo, em texturas complexas uma quantidade maior de artefatos é admissível), ou informações semânticas como detecção automática de objetos específicos, ou a caracterização humana dos mesmos (mediante a marcação pelo menos aproximada de uma região e classe como “lâmpada menos importante”), etc. Portanto, o versado na técnica pode entender que pode haver várias maneiras de predefinir um sistema de funções matemáticas que especifica quando demasiados dados foram perdidos, por exemplo reduzindo a qualidade de uma iluminação variável sem textura sobre um objeto, etc. Pode haver um único critério, ou um conjunto de critérios que resulta em uma análise completa da imagem GT_IDR, e marca que uma certa região da mesma precisa ser refeita. Com essa informação, a unidade de classificação de imagem pode determinar se um mapeamento satisfaz o requisito técnico, ou pode determinar um novo mapeamento, por exemplo ajustando ligeiramente o antigo. Por exemplo, caso uma região da GT_IDR ainda reconstrua uma região (por exemplo, um objeto) de M_HDR muito grosseiramente, a unidade de classificação de imagem pode ou redeterminar totalmente, por exemplo um mapeamento global (tipicamente, é claro que a mesma pode apenas realizar um ajuste fino no mapeamento para aquelas regiões de luminância M_HDR que representam um problema, por exemplo a mesma pode aumentar o derivado da função de mapeamento Fi(MP_T) para baixo, para a subfaixa de luminância problemático, o que tipicamente corresponde a deslocamento para fora - respectivamente para valores mais escuros em relação a valores mais brilhantes - das outras cores de pixel, e ajustar à nova faixa disponível para as mesmas mediante uma flexão suave daquelas partes da função de mapeamento). Ou, a unidade de classificação de imagem pode derivar uma classificação local adicional a ser aplicada em sucessão temporal, por exemplo um pré-reforço daquela região, e salvar a mesma em uma imagem parcial (correção) cocodificada, etc. Tipicamente, é vantajoso quando a unidade de classificação de imagem, mesmo quando cria a GT_IDR com uma estratégia de mapeamento de cores adequada pré-reconhecida, pós-determina quando a imagem GT_IDR de fato satisfaz a condição de que REC_HDR é uma aproximação com qualidade suficiente.
[029] Vantajosamente, a unidade de classificação automática (203) está disposta de modo a determinar a função de mapeamento monotônico (Fi(MP_T)) dos correlatos de luminância de pixels da imagem de entrada com alta faixa dinâmica (M_HDR) aos correlatos de luminância de pixels da segunda imagem com baixa faixa dinâmica (GT_IDR), de acordo com um critério que determina as respectivas faixas de correlatos de luminância de pixels da imagem de entrada com alta faixa dinâmica (M_HDR) alocadas aos respectivos valores únicos de um correlato de luminância de pixels da segunda imagem com baixa faixa dinâmica (GT_IDR), em que as respectivas faixas formam um conjunto de faixas de correlato de luminância que cobre a totalidade da faixa de possíveis valores de correlato de luminância para a imagem de entrada com alta faixa dinâmica (M_HDR). Esse é um modo simples de determinar a perda de informações, por exemplo devido a quantização excessiva. Por exemplo, pode ser definido um tamanho de faixa predefinido para mapear em um único valor versus luminância M_HDR de entrada ao longo do eixo de luminância M_HDR de todos os possíveis valores, o que permite especificar que os objetos mais brilhantes podem ser mais grosseiramente quantizados. Pode ser que já estejam aproximados com erro significativo em comparação à cena original capturada (por exemplo, não é preciso renderizar os faróis de um carro exatamente com 100.000 nits no dispositivo de exibição HDR), então pode-se aceitar um erro adicional em REC_HDR. Esse critério pode, então, ser facilmente convertido, por exemplo na determinação de um formato de uma função de mapeamento, já que não deveria em ponto algum fletir tão fortemente a ponto de mapear uma faixa maior do que o permitido para um único valor quantizado, dadas as configurações conhecidas do codificador GT_IDR (por exemplo, valores de quantização de MPEG2).
[030] O apresentado acima descreve o funcionamento interno de um codificador que pode ser usado em vários instrumentos, por exemplo um sistema intermediário em uma unidade de cálculo de imagem, mas é vantajoso se os dados codificados obtidos são enviados para fora, por exemplo sob a forma de um sinal que pode ser usado por um receptor, isto é, o codificador de imagem (202) compreende um formatador de dados (220) disposto de modo a dar saída, em um sinal de imagem (TSIG), à segunda imagem com baixa faixa dinâmica (GT_IDR) e pelo menos um dentre, ou ambos dentre, os dados que descrevem o mapeamento de cores (Fi(MP_T)) entre a imagem de entrada com alta faixa dinâmica (M_HDR) e a segunda imagem com baixa faixa dinâmica (GT_IDR), e os dados que descrevem o mapeamento de cores (Fi(MP_DL)) entre a imagem com baixa faixa dinâmica (Im_LDR) e a segunda imagem com baixa faixa dinâmica (GT_IDR). Em princípio, nem todos os receptores precisariam de ambos os conjuntos de parâmetros, mas é vantajoso se um receptor receber ambos, e pode então, por exemplo determinar otimamente como usar todas as informações disponíveis para chegar a um sinal de acionamento final para um dispositivo de exibição e ambiente de visualização específicos (por exemplo, poderia misturar as informações das classificações HDR e LDR codificadas, para chegar a uma nova classificação, o que se chama de capacidade de sintonização do dispositivo de exibição). Note-se que, embora se tenha descrito o presente sistema básico com somente duas classificações, no mesmo sistema pode haver classificações adicionais, por exemplo uma segunda classificação HDR para dispositivo de exibição HDR ultrabrilhante, ou uma terceira classificação LDR, ou uma classificação para um dispositivo de exibição MDR (de um pico_de_branco intermediário entre, diga-se, referências de 100 nits e 5.000 nits das classificações LDR e HDR), ou para dispositivos de exibição sub_LDR, e estes podem ser interpretados como suplementos independentemente projetados, mas também de acordo com as filosofias da invenção apresentadas, por exemplo pode-se derivar uma segunda classificação técnica GT_IDR2, que é uma classificação HDR tecnicamente derivada a partir da M_HDR, e que serve para definir as classificações ultraHDR. Por exemplo, a GT_IDR2 pode ser derivada por meio de simples estiramento matemático das regiões de luz mais brilhante, mas o classificador pode corrigir isso mediante a definição de dados de mapeamento Fi(MP_DHH) adicionais, por exemplo para corrigir mediante o mapeamento a partir da GT_IDR2.
[031] O codificador de imagem corresponde a um decodificador de imagem (401), que está disposto de modo a receber, por meio de uma entrada de sinal de imagem (405), um sinal de imagem que compreende uma segunda imagem com baixa faixa dinâmica (GT_IDR), e dados que descrevem um primeiro mapeamento de cores (Fi(MP_T)) que permite a reconstrução de uma reconstrução (REC_HDR) de uma imagem com alta faixa dinâmica (M_HDR) com base na segunda imagem com baixa faixa dinâmica (GT_IDR), e dados que descrevem um segundo mapeamento de cores (Fi(MP_DL)) que permite o cálculo de uma imagem com baixa faixa dinâmica (Im_LDR) com base na segunda imagem com baixa faixa dinâmica (GT_IDR), em que o decodificador de imagem compreende uma unidade de derivação de imagem (403), disposta de modo a derivar pelo menos a imagem com baixa faixa dinâmica (Im_LDR) com base nos dados que descrevem o segundo mapeamento de cores (Fi(MP_DL)) e as cores de pixel codificadas na segunda imagem com baixa faixa dinâmica (GT_IDR). Pode-se ver, a partir desse decodificador, que o mesmo pode acessar parâmetros de mapeamento para mapear as cores de uma imagem em LDR, tanto para cima, para uma REC_HDR, como “para baixo” para obter uma classificação LDR, Im_LDR, desejável para criadores de conteúdo. A unidade de derivação de imagem terá funcionalidade (por exemplo, software carregado ou peças de hardware de um IC) para realizar os mapeamentos de cor para decodificação necessários (por exemplo, pré-acordados). Pode-se, também, ver que a classificação técnica GT_IDR é uma classificação técnica, já que terá menor carga de estado de humor (mesmo sem comparar à ótima Im_LDR), já que as luminâncias dos objetos não estão no local ótimo ao longo do eixo de luminância, e tipicamente terá um contraste um pouco menor, escuros um pouco mais brilhantes, etc. e, é claro, uma quantidade limitada de códigos para as várias regiões de objeto na imagem.
[032] Vantajosamente, o decodificador de imagem (401) compreende uma unidade de configuração do sistema (402), disposta de modo a determinar se o decodificador está conectado a, e/ou se deve derivar uma imagem para, pelo menos um dentre um dispositivo de exibição com alta faixa dinâmica (411) e um dispositivo de exibição com baixa faixa dinâmica (416), em que a unidade de configuração do sistema (402) está disposta de modo a configurar a unidade de derivação de imagem (403) para determinar pelo menos a reconstrução (REC_HDR), em caso de uma conexão ao dispositivo de exibição com alta faixa dinâmica (411), e disposta para configurar a unidade de derivação de imagem (403) para determinar pelo menos a imagem com baixa faixa dinâmica (Im_LDR), em caso de uma conexão ao dispositivo de exibição com baixa faixa dinâmica (416). O presente sistema (ou seja, o sinal codificado e vários tipos de decodificador) precisa ser capaz de trabalhar com decodificadores simples que, por exemplo recebem uma HDR codificada como o presente LDR_container, acima, em GT_IDR, mas deste precisa somente da LDR para um dispositivo de exibição LDR. Os mesmos irão, então, ignorar a maior parte das informações, e extrair somente GT_IDR e FI(MP_DL), e calcular Im_LDR a partir das mesmas. Os decodificadores mais sofisticados determinarão, por exemplo instantaneamente com o dispositivo de exibição ao qual estão conectados, por exemplo sem o uso de fios, e fornecerão várias combinações de todas as informações codificadas recebidas, otimamente para os vários dispositivos de exibição conectados (por exemplo, o mesmo filme enviado aos pais na sala de cinema do sótão, e ao filho na cama, assistindo em seu dispositivo portátil LDR).
[033] Então, vantajosamente, o decodificador de imagem (401), de acordo com qualquer das reivindicações anteriores, tem como saída uma conexão com fio (410) ou uma conexão sem fio (415) a qualquer dispositivo de exibição conectável, e um formatador de sinal (407) disposto para transmitir pelo menos uma ou ambas dentre a reconstrução (REC_HDR) e a imagem com baixa faixa dinâmica (Im_LDR) a qualquer dispositivo de exibição conectado.
[034] Também vantajosamente, a unidade de derivação de imagem (403) está disposta de modo a determinar uma imagem adicional (FURTHGR), com base na reconstrução (REC_HDR) e na imagem com baixa faixa dinâmica (Im_LDR), ou na segunda imagem com baixa faixa dinâmica (GT_IDR) e nos dados que descrevem o primeiro mapeamento de cores (Fi(MP_T)) e nos dados que descrevem o segundo mapeamento de cores (Fi(MP_DL)). Isso permite determinar as classificações finais ótimas (por exemplo, sinais de acionamento direto) para vários dispositivos de exibição conectados (capacidade de sintonização do dispositivo de exibição, por exemplo obter através de uma medição do dispositivo de exibição um valor da iluminação circundante etc., e otimizar com o mesmo o sinal de acionamento de dispositivo de exibição).
[035] O codificador de imagem pode ser compreendido em vários aparelhos, por exemplo sua entrada de sinal de imagem (405) pode ser conectada a uma unidade de leitura (409) disposta de modo a ler o sinal de imagem a partir de um objeto de memória (102), por exemplo um disco blu-ray.
[036] Todas as modalidades dos aparelhos acima podem ser adicionalmente realizadas como métodos, sinais e produtos para armazenamento de sinal equivalentes, em vários usos ou aplicações, etc.
BREVE DESCRIÇÃO DOS DESENHOS
[037] Estes e outros aspectos do método e do aparelho de acordo com a presente invenção ficarão evidentes e esclarecidos com referência às implementações e modalidades descritas mais adiante neste documento, e com referência aos desenhos em anexo, os quais servem meramente como ilustrações específicas não limitadoras, exemplificando o conceito mais geral, e em que traços são usados para indicar que um componente é opcional, sendo os componentes sem traço não necessariamente essenciais. Os traços podem também ser usados para indicar que elementos, os quais são explicados como sendo essenciais, estão ocultos no interior de um objeto, ou para coisas intangíveis, por exemplo seleções de objetos/regiões (e como estas podem ser mostradas em um dispositivo de exibição).
NOS DESENHOS:
[038] A Figura 1 ilustra esquematicamente um sistema legado de codificação de imagem ou vídeo, conforme exemplificado por uma câmera com ponto de joelho ajustável;
[039] A Figura 2 ilustra esquematicamente uma primeira possível realização do presente sistema de codificação de imagem, em que a unidade de classificação automática deriva a segunda imagem em LDR automaticamente classificada GT_IDR com base em uma classificação de LDR anterior por ser humano;
[040] A Figura 3 ilustra esquematicamente uma segunda possível realização do presente sistema de codificação de imagem, em que uma segunda imagem em LDR automaticamente classificada GT_IDR, a partir de uma unidade de classificação automática, serve como base para classificação adicional que define uma classificação de LDR final Im_LDR por um classificador humano;
[041] A Figura 4 ilustra esquematicamente uma possível variante de um sistema de decodificação de imagem, em que um aparelho de decodificação de alto padrão lê os dados codificados de acordo com qualquer das presentes modalidades de codificação, e deriva a partir dos mesmos os sinais adequados para vários dispositivos de exibição conectados diferentes;
[042] A Figura 5 ilustra esquematicamente uma modalidade de codificador de acordo com os princípios da presente invenção, o qual está incorporado em uma câmera;
[043] A Figura 6 ilustra esquematicamente um princípio por trás de uma variante da presente codificação, mostrado como um gráfico lógico de relações de mapeamento de cores entre classificações;
[044] A Figura 7 ilustra esquematicamente um modo para definir a presente entrada inicial, a qual é uma HDR principal com classificação M_HDR, e mostra como os dados provenientes de uma câmera ou de um sistema de computação gráfica podem ser gravados nesse tipo de especificação matemática de cores, em particular ao longo da faixa de seu correlato de luminância;
[045] A Figura 8 ilustra esquematicamente um exemplo de uma estratégia de mapeamento de cores, especificamente uma parte de mapeamento de luminância da mesma;
[046] A Figura 9 ilustra esquematicamente um exemplo de como determinar se qualquer função ou algoritmo de mapeamento tem exatidão adequada para reconstrução de REC_HDR;
[047] A Figura 10 ilustra esquematicamente um exemplo de como transformar uma função inadequada em uma adequada;
[048] A Figura 11 ilustra esquematicamente alguns exemplos de como manipular o mapeamento de cores em um espaço de cor tridimensional;
[049] A Figura 12b ilustra esquematicamente como um classificador pode interagir com uma curva de alocação de código para sintonia fina da mesma, e na Figura 12a é esquematicamente mostrado como regiões da curva de alocação de código podem ser selecionadas por (co)interação com os objetos na imagem atualmente observada;
[050] A Figura 13 ilustra esquematicamente como se pode ir de uma classificação técnica que, neste exemplo, já seria útil para renderização em LDR, para uma classificação em LDR com melhor aparência, por meio de uma transformação paramétrica muito simples, realizando um estiramento de contraste de boa qualidade e adaptativo ao conteúdo;
[051] A Figura 14 oferece um exemplo de como se pode manipular limitações colorimétricas adicionais na classificação técnica, o que pode então, ao ser recebido, ser usado para gerar a imagem ótima para renderização em um dispositivo de exibição específico;
[052] A Figura 15 ilustra esquematicamente uma nova estratégia útil para processamento da saturação, que é especialmente interessante para classificação para representações de cores que têm uma estrutura de luminância diferente, por exemplo devido a uma renderização pretendida em um dispositivo de exibição com faixa dinâmica de luminância diferente;
[053] A Figura 16 ilustra esquematicamente um aparelho da parte de criação e uso para esse processamento da saturação inovador; e
[054] A Figura 17 ilustra esquematicamente apenas dois usos possíveis quando são necessárias classificações para uma situação de renderização de faixa dinâmica mais alta e mais baixa.
DESCRIÇÃO DETALHADA DOS DESENHOS
[055] A Figura 1 apresenta um resumo das ideias por trás de todas as codificações clássicas de imagem e vídeo, as quais são denominadas codificação em LDR. Suponha-se que se tem uma câmera de televisão profissional (embora considerações similares se apliquem a câmeras fotográficas para consumidores) capturando luz com um sensor de imagem 104, por exemplo um sensor de CMOS. Essa luz estará, após um ADC, em um espaço linear que se correlaciona à luminância (em princípio sendo a luminância vezes um fator de escala quando se ignora o ruído, as não linearidades do ADC, etc.) e será, por exemplo um sinal R,G,B assim chamado em bruto (raw) (ou ciano, magenta, amarelo e verde, ou similares para outros sensores, mas estes serão então convertidos em matriz para RGB, então se pode focalizar nisso). O princípio dessa captura em LDR é que um sinal precisa ter uma boa aparência em um televisor doméstico (que costumava consistir em um TRC com aproximadamente 100 nits de pico_de_branco, ou um pouco mais escuro ou mais brilhante). Em um estúdio, um diretor, um operador de câmera ou pessoa similar assistirá diretamente a saída da câmera em um TRC de referência, para verificar se o programa capturado tem, de fato, uma boa aparência. A captura desse tipo de programa em LDR (de fato, a exposição automática conforme primariamente determinada mediante a seleção de uma configuração de abertura) é determinada pelo princípio de ter um brilho adequado renderizado para cinza médio. Como esse cinza médio é, pela não linearidade da visão humana, diretamente ligado aos brancos em partes similarmente iluminadas da cena (e presumindo-se uma reprodução (quase)linear, tipicamente até um fator de escala, também no TRC), o mesmo corresponde especificamente a objetos refletindo aproximadamente 18% da luz incidente. O designer de iluminação ajusta sua iluminação de palco para que, em torno da ação, a iluminação seja relativamente uniforme (por exemplo, razão de contraste de 3:1), e talvez também ilumine alguns cantos da cena para evitar “buracos negros” na renderização final. Agora, ter um dispositivo de exibição 110 com um pico_de_branco máximo obtenível (isso é especialmente verdadeiro com, por exemplo LCDs com alguma iluminação de fundo TL fixa, mas também com um TRC no qual a intensidade do feixe poderia ser controlada por meio de um ajuste de contraste, para qualquer configuração ainda há um brilho máximo obtenível), não significa que isso tenha que corresponder exatamente ao branco de, diga-se, um papel de alta reflexão no ponto ideal da cena. Devido à sempre existente variação de iluminação, especialmente para a ação em movimento no vídeo, isso seria pouco prático, e quando alguém move o papel para uma zona com iluminância um pouco mais alta, pode rapidamente ocorrer um corte indesejável. Assim, é necessário um pouco de cuidado com o lado brilhante, embora para cenas e programas típicos em LDR, não seja preciso tanto. No lado escuro, simplesmente se deixa o sinal desaparecer no ruído da câmera. Assim, no lado brilhante se renderiza o branco em uma posição W abaixo do pico_de_branco PW. Não muito, de preferência, de modo que ainda pareça branco e não cinza claro (há alguma latitude quanto a isso para imagens naturais composta de objetos). Além disso, o cinza médio MG, e as cores de faces humanas que se enquadram em torno disso, serão então razoavelmente visíveis, já que ficarão razoavelmente brilhantes na renderização. Assim, esse é o requisito mínimo de qualquer captura ou classificação, que se possa ver claramente a atuação dos atores em suas faces (e olhos, os quais podem ser um pouco mais sombreados devido a sua localização protuberante na cavidade ocular) e, mais especificamente, as cores das faces de todos aqueles belos atores terão uma aparência atraente (e não muito escurecidas ou pálidas). O restante das cores (por exemplo, mais escuras) se tornam, então, automaticamente razoáveis ao longo da curva. Tipicamente, usa-se uma curva que tem cerca de uma raiz quadrada, historicamente devido ao comportamento do TRC (não linearidade do canhão de elétrons modulada pela iluminação da placa frontal etc.), e ainda se usa essa curva muito útil porque a mesma modela a caracterização de luminosidade da visão humana (isto é, valores de luminância são aproximadamente luminosidades, sendo a primeira o valor matemático codificado em, por exemplo um espaço Rec. 709, e sendo a segunda a aparência psicovisual de um ser humano). Agora, o televisor pode fazer algumas transformações simples naquela curva, por exemplo podem reforçar todos os valores por um fator multiplicativo. Essas operações, por exemplo para compensar uma alteração no ambiente de visualização, têm um impacto sobre as propriedades de aparência da imagem psicovisual, como o contraste da imagem, e os contrastes de seus objetos. A câmera pode realizar operações similares. Agora, a questão é onde posicionar otimamente as luminâncias, como MG, e como fazê-lo facilmente. Em um sistema simples, um codificador 101 na câmera pode transformar todos os valores entre Máxima Luminância (Max_Luminance) do sinal em bruto e o que quer que esteja abaixo, mediante a flexão dos mesmos com uma função de raiz quadrada definida a partir daquela Max_Luminance. Então, todos os possíveis valores capturados pela câmera a partir da cena serão codificados em uma imagem Im_LDR (aqui mostrada em uma imagem codificada que compreende o meio 102, como um disco blu-ray, mas poderia também ser um sinal transmitido por um cabo ou pelo ar) assim gerada (tipicamente, são quantizados os valores para, por exemplo 8 bits, e podem ser executadas outras operações, como operações de codificação de imagem, como decomposições de aproximação com transformação de cosseno discreto, DCT). Ao elevar ao quadrado os valores das luminâncias codificadas, um decodificador 103 pode recuperar com o dispositivo de exibição as luminâncias originais da cena, conforme capturadas novamente sob a forma de luminâncias renderizadas pelo dispositivo de exibição. Agora, nesse sistema estritamente controlado, há um grau de liberdade para acomodar as variações mínimas em uma típica cena em LDR. Com o uso cego dessa alocação em raiz quadrada, pode ocorrer (se for determinado o máximo da cena em objetos altamente iluminados, mediante a determinação da exposição para aqueles objetos de modo a ainda tê-los bem capturados) que o cinza médio e as cores de face fiquem muito escuros em uma curva como essa. Se houver muitos objetos brilhante que precisam ser razoavelmente bem capturados, seria bom ter uma curva para definição de código, a qual diminui um pouco mais lentamente, iniciando a partir do código RAW mais brilhante. Isso pode ser feito oferecendo-se ao operador de câmera um ponto de joelho controlável. Pode-se, por exemplo selecionar com o joelho o nível de luminância de entrada correspondente a seu ponto ideal de branco para ação, e colocar isso, por exemplo a 90% do código de luminância máxima (correspondente ao pico_de_branco no dispositivo de exibição). Tem-se, então, 10% de códigos restantes para codificação de todos os valores acima disso, e pode-se ajustar o coeficiente angular da parte da curva acima do joelho, para incorporar por exemplo, as luminâncias até um máximo de 600% do ponto ideal de luminância do branco. Desse modo, pode-se ajustar essa curva correspondendo a uma iluminação mais simples ou mais contrastada de uma cena em LDR. Se é uma cena de baixo contraste, pode-se colocar o ponto de joelho próximo à luminância máxima, e dificilmente codificar quaisquer luminâncias acima do branco do ponto ideal, e caso se deseje ter muita informação de alta luminância, por exemplo em um show de entrevistas onde se fala sobre pratarias brilhantes, pode-se incorporar algumas das altas luzes brilhantes no sinal de luminância codificado. Esse sistema simples se adapta automaticamente à melhor classificação de uma cena em LDR específica no lado do dispositivo de exibição, isto é, deixa um pouco de espaço extra para as altas luzes da prataria, escurecendo um pouco as cores mais escuras, e empurra algo da estrutura visível para dentro dos objetos mais brilhantes (severamente deformados em comparação às luminâncias da cena original daqueles objetos brilhantes, e frequentemente com cores pastel devido ao formato de gama dos sistemas RGB, mas ainda assim existindo até um certo grau). Entretanto, esse tipo de sistema LDR rapidamente corta os brilhos mais altos, e não é adequado para codificar, por exemplo o mundo exterior visível através das janelas do estúdio, mundo esse com o qual não se importam. Às vezes, isso leva a situações estranhas, quando um operador de câmera que trabalha em campo decide fotografar uma pessoa do outro lado de sua sala de estar, onde está relativamente escuro. Então, metade da imagem capturada que mostra as partes mais claras da sala serão cortados para branco quando a exposição estiver correta para a face. Embora isso ainda possa ser um pequeno incômodo em uma tela LDR, onde os brancos simplesmente aparecem como alguns “objetos de cor branca”, mas não regiões realmente luminosas, isso leva à uma situação bem estranha em um dispositivo de exibição de 5.000 nits, onde metade da imagem apresenta um brilho extremo.
[056] Então, o sistema LDR, com sua filosofia e também as capacidades inerentes de sua construção técnica, não é adequado para captura em HDR, onde ao mesmo tempo se deseja capturar uma primeira parte iluminada de uma cena, e uma segunda parte muito mais (por exemplo, 100 vezes) iluminada de uma cena e, talvez, simultaneamente mesmo uma parte muito escura, etc.
[057] Com a Figura 2 esclarecem-se agora alguns dos princípios por trás das variantes da presente invenção, especificamente uma modalidade específica de um codificador de imagem 202 incorporado em um sistema de classificação. É mostrada a presente unidade de classificação automática 203, como sendo parte de um sistema de classificação. Esse tipo de sistema pode, por exemplo ser um computador executando software de classificação, mas poderia também ser um sistema menos complexo no qual um ser humano, por exemplo somente às vezes modifica algumas configurações de um mapeamento de cores a partir de um local remoto. Um classificador humano pode especificar seus mapeamentos de cor desejados por meio de um sistema de interface de usuário 230, que pode por exemplo, compreender um console de classificação dedicado, com trackballs etc. Acoplado ao software, pode-se aumentar, por exemplo a saturação de cores de uma região de imagem selecionada, ou arrastar para cima um ponto marcado em uma curva de mapeamento de tons (por exemplo, entrada de componente vermelho (red component_in) versus saída de componente vermelho (red component_out) resultante, para todos os pixels). A presente descrição será focalizada no que ocorre tipicamente em uma imagem em HDR principal já otimamente pré-classificada (por exemplo, recebida via entrada 240 conectável por exemplo, a um servidor de dados, ou uma conexão de Internet, etc.), embora possa, também, vir direto de uma câmera, que pode por exemplo, ter feito internamente alguma classificação. Com a Figura 7, descreve- se um sistema exemplificador de como se pode definir essas classificações ou imagens de HDR principal. Qualquer captura ou classificação por câmera é, de fato, apenas uma representação de uma cena do mundo, que precisa estimular um ser humano a obter uma impressão razoável daquela cena do mundo, então não precisa ser necessariamente uma representação exatamente acurada. De fato, é sempre necessário cruzar o difícil limite da cena como referência, em que a câmera simplesmente age como um dispositivo de medição linear, para o dispositivo de exibição como referência, em que um dispositivo de exibição precisa emular para um ser humano a cena original em uma configuração muito diferente (embora parte dessa complexidade não precise ser manipulada na codificação principal, mas pode ser deixada para as transformações do dispositivo de exibição). Pode-se discutir se uma codificação principal deveria ser capaz de codificar com precisão, por exemplo o sol, onde um dispositivo de exibição jamais poderá renderizar com precisão o sol (o que, mesmo quando possível e sensato, em termos de consumo de energia, seria muito irritante para o observador em telas menores). Então porque não alocá-lo mesmo a, por exemplo um código fixo de alta luminância (por exemplo, um pseudo sol de 20.000 nits em vez de 1 bilhão de nits). Além do mais, um problema com sistemas em que a cena é referência, que são capazes de codificar todos os tipos de valores que não são fáceis de tornar visíveis, é que não é fácil trabalhar com esses espaços de cor. Por exemplo, se um classificador precisasse ajustar as saturações de algumas flores saturadas que ele não pode perceber em seu atual dispositivo de exibição de classificação, ele pode estar fazendo cores feias para quando aquela imagem for mostrada em um dispositivo de exibição melhor, que pode mostrar aquelas cores. Talvez essa seja uma operação que possa ser consertada depois, mas poderia se perguntar o porquê de isso ter sido feito, em primeiro lugar, pelo menos com aquelas cores. Na modalidade de codificação em HDR da Figura 7, dá-se muito valor a uma grande faixa de luminâncias, as quais podem ser codificadas (/classificadas) com razoável precisão em uma faixa de luminâncias de um dispositivo de exibição de referência HDR de alta qualidade, por exemplo com 10.000 nits de pico_de_branco (correspondente a um valor de luminância MAX_REF em uma representação de HDR completa HDR_FREP). A ideia é que se possa ter pelo menos as cores mais interessantes caracterizadas em uma especificação de alta faixa dinâmica, e que o classificador possa realmente vê-las, e otimamente posicionar as luminâncias de vários objetos de cena, um em comparação ao outro (por exemplo, escurecer as nuvens). Essa faixa de, por exemplo 0,01 nit (que se pode chamar simplesmente de 0) a 10.000 nits de cores que podem ser mostradas será a classificação principal M_HDR* em questão, já que se pode classificá-la otimamente. A ideia é que qualquer dispositivo de exibição com menor faixa dinâmica possa derivar suas cores a serem renderizadas iniciando a partir da especificação das cores dentro de M_HDR* (tipicamente se extrai da representação completa da imagem em HDR, HDR_FREP, essa faixa como entrada M_HDR para o presente sistema, por exemplo da Figura 2). Essa especificação provavelmente também funcionará razoavelmente bem para dispositivos de exibição com faixa dinâmica mais alta. Por exemplo, o classificador pode classificar aproximadamente algumas luzes brilhantes da cena, de modo que pelo menos apareçam brilhantes em qualquer renderização de dispositivo de exibição. Ele pode codificar, na classificação de referência M_HDR* para o dispositivo de exibição de referência HDR, a luz mais brilhante a, diga-se 99% (linear) de MAX_REF, e pode codificar uma outra luz brilhante para que ainda seja brilhante, mas em contraste, definitivamente menos brilhante, a diga-se 80% de MAX_REF. Um dispositivo de exibição real de 20.000 nits pode usar simples alteração de escala nos códigos daquelas luzes, por exemplo reforçando ambos com um fator 2, o que meramente corresponde a referenciá-las similarmente (porcentualmente) a seu mais alto pico_de_branco. Nesse caso, ambas as luzes podem ser um pouco mais brilhantes - como poderiam ter sido na cena original - mas em grande parte a aparência daquela renderização em HDR ainda é similar à aparência de referência no monitor de referência de 10.000 nits do classificador. Realmente, caso se deseje codificar com maior precisão os valores mais altos do que o que pode ser aproximadamente codificado na M_HDR* (por exemplo, escurecendo adequadamente uma luz, de modo que fique dentro da faixa, ainda que com uma aparência similar, isto é, a exata luminância da cena daquela luz é irrelevante) pode-se fazê-lo na definição de espaço de cor da Figura 7, independentemente se gostaria de usar aqueles valores mais tarde, para um dispositivo de exibição com faixa dinâmica mais alta, de modo a renderizar aquelas cores brilhantes com maior precisão que com um estiramento dos valores codificados em M_HDR*. Assim, ainda se pode adicionar algumas cores realmente brilhantes (ou realmente escuras) fora da faixa de M_HDR* do que tipicamente resultaria em uma renderização realmente boa de uma cena em HDR, e pode-se tipicamente comprimir fortemente aquelas cores, isto é, representá-las somente com um par de valores, com os códigos em HDR_FREP sendo relacionado de modo altamente não linear com as luminâncias reais da cena. Por exemplo, ao observar uma cena com contraste muito alto, por exemplo uma cena de soldagem à noite, pode haver um longo período de tempo sem nada acima da faixa M_HDR* que codifica os objetos úteis e, então, há as luminâncias do arco. Pode-se representar aquelas com um formato fortemente posterizado do arco (isto é, alguns códigos) e colocá-los logo acima de MAX_REF. Isto já seria um modo de ter representações razoáveis daquele arco (já com a gama mapeada para cores que estão próximas daquelas que são tipicamente renderizáveis em um dispositivo de exibição em HDR) mas, se quiser, também se pode deslocar em metadados uma função de como deslocar os mesmos para luminâncias mais próximas das luminâncias reais na cena (por exemplo, uma constante de deslocamento de luminância). É mostrada uma faixa de luminâncias capturáveis CAM_1 de uma câmera HDR que podem realizar essa captura, e uma parte da mesma está codificada em M_HDR*, por exemplo diretamente mediante a alocação (possivelmente com um multiplicador de contraste linear) dos valores de luminância relativos para valores de luminância dentro de M_HDR*, ou se pode usar alguma função de mapeamento que realize automaticamente um primeiro tipo de classificação (por exemplo, aproximando um pouco umas das outras as luminâncias mais brilhantes ou mais escuras). As luminâncias mais brilhantes capturadas pela câmera são, então, armazenadas na faixa de transbordamento RW_STR_HI até o máximo MAX_REP da codificação de cor. Foi mostrado um exemplo onde se codifica um certo nível de escuros no código 0, e com algum mapeamento se podem armazenar luminâncias ainda mais escuras em valores negativos até MIN_REP. Também foi mostrado, por exemplo como profissionais de efeitos especiais podem desenhar na computação gráfica, CG, da codificação de cores em HDR, como explosões brilhantes.
[058] Novamente com referência à Figura 2, o classificador humano usa a unidade de classificação de imagem 201, que está disposta de modo a realizar qualquer dentre um conjunto de transformações de cores. Este pode ser um conjunto limitado de funções de transformação de cores seguindo critérios matemáticos, por exemplo reversibilidade (o termo reversibilidade normalmente significa que, em uma codificação de cores suficientemente precisa, como com flutuadores, é possível reverter a função para rederivar uma imagem de entrada a partir de sua imagem de saída, após aplicar a transformação; o termo cor significa pelo menos um correlato de luminância da especificação de cor de um pixel, uma região ou um objeto) ou, de preferência, é um conjunto amplo de funções que permitem que o classificador classifique a imagem de qualquer maneira que deseje. Os exemplos de funções típicas são aquelas suportadas, por exemplo por Da Vinci Resolve, ou Adobe Photoshop. Internamente, neste estágio, pode-se presumir que todo o processamento ainda ocorra nas codificações flutuantes [0,0, 1,0] dos coeficientes de cor, com a definição precisa incluindo a quantização que é ativada em um estágio posterior na unidade de classificação de imagem 201. Entretanto, a imagem em LDR de saída, Im_LDR, tipicamente já estará codificada de acordo com o padrão de codificação de imagem ou vídeo, por exemplo para sinais não comprimidos pode ser quantizada em um espaço de cor YCrCb, ou pode ser comprimida com o uso de ondas pequenas, etc. A formatação real dessa imagem, por exemplo a divisão em blocos de dados, embora insira cabeçalhos e outros metadados, será tipicamente manuseada por um formatador 220, o qual produz um sinal de imagem TSIG, por exemplo em direção a uma memória para imagens 102. Esse sinal pode ser armazenado naquela memória de acordo com, por exemplo as especificações de disco blu-ray, ou de acordo com alguma definição para armazenamento em um cartão flash ou disco rígido, etc. O versado na técnica entenderá que, de maneira similar, o sinal de imagem TSIG pode ser enviado através de alguma conexão de dados, por exemplo sem o uso de fios a um servidor doméstico com memória permanente ou temporária para armazenamento do TSIG ou das uma ou mais imagens.
[059] Na Figura 8, é apresentado um exemplo de como um classificador pode classificar iniciando a partir de uma imagem de entrada para criar uma imagem de saída. Focaliza-se na relação entre os brilhos da subfaixas e, posteriormente, em apresentar alguns exemplos de como manusear os componentes cromáticos das cores de pixel. Presume-se que os pixels da imagem em HDR de entrada (In) tenham sido codificados com suas luminâncias L_HDR, e que os valores de saída em LDR sejam codificações, então podemos chamá-los de luminâncias Y_LDR. Embora os presentes métodos não sejam, de qualquer modo, limitados a profundidades de bit específicas, presume-se que as luminâncias estejam na faixa de [0,255]. Agora o classificador estudará a imagem de entrada específica para processar (para vídeo esta será uma imagem-chave em uma tomada de imagens a terem suas cores similarmente mapeadas), e projetará um mapeamento de cores ótimo, no exemplo um mapeamento multissegmentos, de acordo com sua preferência. Suponha-se que se tem uma parte coberta (por exemplo, sob a sombra de árvores, onde reside o ator principal) abaixo da luminância em HDR Lt_1, e algumas casas no plano de fundo que são mais brilhantes. Assim, suas luminâncias de pixel em HDR se enquadrarão acima de Lt_1, mas não é necessário que a mais escura fique diretamente acima de Lt_1. Além do mais, pode haver uma lâmpada muito brilhante, com luminâncias acima de Lt_3. Agora essa cena é diferente da cena clássica em LDR em questão, acima. Têm-se duas cenas interessantes, a sombra em torno do ator (na qual se deseja deixar o ator bem visível, mas ainda assim claramente mais escuro que a maior parte da cena) e as casas iluminadas pelo sol no plano de fundo circundante. O classificador pode, por exemplo escolher tornar a região entre Lt_11 e Lt_12, a qual contém as cores da face, suficientemente brilhantes e contrastadas, para deixar a face claramente visível. Ele pode fazê-lo em detrimento das cores mais escuras, que precisam ser codificadas com poucos valores de código Y_LDR, e abaixo de Lt_13 as mesmas serão até mesmo cortadas para Y_LDR=0. Ele também codificará/classificará com menos contraste/precisão as luminâncias entre Lt_12 e Lt_1, baixando o coeficiente angular daquele segmento. Isso cria espaço na faixa de Y_LDR para as casas iluminadas pelo sol, as quais ele grava com a curva definida mediante o arrasto de um ponto de controle CP. As cores da lâmpada, após uma descontinuidade de luminância de cores sem ocorrência, podem ser codificadas logo acima do final da luminância Y_H das casas, ou iniciar um par de códigos (por exemplo, 10) acima disso.
[060] Agora, na filosofia de recipiente de LDR em questão, essa curva de mapeamento de cores pode tanto funcionar como uma curva de otimização da aparência da cor para a imagem de saída, isto é, por exemplo tipicamente uma classificação em LDR derivada de uma classificação em HDR, como também funcionar como uma curva de definição de código. Análogo às curvas de gama 0,45 de, por exemplo MPEG, que definem uma codificação de luminância para cada luminância inserida ou renderizada, a curva ótima em questão define a alocação de valores de código específico às várias luminâncias na imagem em HDR de entrada. Porém, portanto, simultaneamente os vários objetos de imagem ou suas subfaixas de luminância também já são corretamente posicionados ao longo do eixo de luminância para acionar diretamente (ou talvez com pequena transformação, o que pode envolver pré- correção de características do dispositivo de exibição físico, como manipulação de EOTF, ou pequenos ajustes em direção a, por exemplo um ambiente de visualização escurecido específico, por meio de uma simples transformação do dispositivo de exibição) um dispositivo de exibição LDR.
[061] Assim, alteraram-se ou generalizaram-se algumas verdades fundamentais da tecnologia de codificação em LDR. Em particular, perguntando o que vem a ser branco em HDR (o papel branco no ponto ideal de iluminação em ambiente interno, onde a ação ocorre, ou a tinta branca das casas ensolaradas no ambiente externo; com a visão humana também capaz de lidar muito habilmente com tudo isso de maneira semântica), abandonou-se a visão de prender tudo a um branco específico, ou a um correlato do mesmo, como “o” cinza médio da cena/imagem. Como alternativa a isso, apresentam-se regimes de cores, os quais podem funcionar em si mesmos, qualquer que seja a relação de luminância com cores específicas, como algum branco. Por exemplo, pode haver o regime para as casas ensolaradas ou para a lâmpada, os quais podem ter seu próprio tratamento que, agora, sem necessariamente fazer referências precisas, pode ser semântico-relacional em vez de numérico preciso. Já foi apresentado o exemplo de um ambiente externo brilhante, ou de uma luz muito brilhante. Em vez de, usando uma relação de luminância fixa, tornar o brilho (por exemplo, médio, ou mais baixo) do ambiente externo por exemplo, 5x mais brilhante, pode-se simplesmente torná-lo “mais brilhante por uma quantidade razoável”. A quantidade razoável pode, então, ser determinada por fim no lado do dispositivo de exibição. Por exemplo, um dispositivo de exibição HDR muito brilhante de 15.000 nits pode tornar o ambiente externo 20x mais brilhante, mas um que seja limitado pode precisar comprimir todas as cores das casas ensolaradas em uma faixa superior que é apenas 1,5x mais brilhante, em média, que as cores do ambiente interno, dando apenas uma simulação inicial do fato de que está ensolarado do lado de fora. De maneira similar, uma região escura pode ser renderizada não tão exatamente com luminâncias Lx, Ly, etc., mas como “apenas distinguível”. Sistemas inteligentes de decodificação e otimização de HDR podem levar em conta as especificidades do dispositivo de exibição e do ambiente, e podem otimizar ainda mais, iniciando a partir do ajuste de classificação definido, os sinais de acionamento finais.
[062] Assim, em segundo lugar isto significa que se abandona o conceito de um único código fixo que define a curva como uma gama geral principal de 0,45 que, estando próxima da visão humana, é considerada adequada pelo menos para toda a faixa de luminâncias LDR. Quer se use qualquer classificação de cores tão restrita (ou seja, o dispositivo de exibição precisa tentar renderizar tão próximo quanto possível da aparência que teria, por exemplo em um monitor de referência LDR, isto é, com mínimo ajuste próprio) ou tão liberal (onde a classificação é apenas uma orientação relativa, declarando aproximadamente como se pode deformar as cores para manter algo da intenção artística em, por exemplo uma faixa física de luminâncias mais limitada), será permitido que o classificador crie, em algumas modalidades, até mesmo funções de definição de código arbitrárias, as quais podem até mesmo ser funções descontínuas.
[063] E, em terceiro lugar, declara-se que não deve mais haver uma única imagem classificada, mas ao invés disso as classificações precisam ser otimizadas para cada situação de renderização. E a visão humana sendo complexa, especialmente quanto mais os sistemas de renderização variam quanto a suas propriedades, menos corretamente isso poderá ser feito com mapeamentos automáticos de cor (especialmente os simples), e tanto mais as várias classificações deverão ser produzidas otimamente mediante classificações por seres humanos. Na prática, porém, nota-se que para muitos cenários, dados os investimentos necessários, será suficiente ter somente duas classificações (uma clássica para LDR, e uma classificação HDR para os sistemas em HDR), e quando for necessário um ajuste mais preciso, os sistemas podem então se aproximar mais das boas classificações interpolando ou extrapolando tecnicamente as mesmas, com base nessas duas classificações a partir de suas informações artísticas incluídas.
[064] Parar após a classificação de Im_LDR, e gravar aquela imagem recipiente em LDR em uma memória de imagem, juntamente com uma função de previsão para reconstruir reversivelmente uma aproximação da HDR principal M_HDR a partir da mesma (talvez para alguns sistemas um classificador usando mapeamentos de cor estritamente reversíveis não seja necessário, já que, para sistemas de menor qualidade pode ser suficiente reconstruir uma REC_HDR com desvios significativa em relação a M_HDR, contanto que os efeitos em HDR derivados dos dados de Im_LDR ainda produzam uma aparência razoavelmente similar a HDR, caso no qual pode-se cocodificar essas funções de mapeamento de cores para reconstrução de HDR, que têm aproximações inversas dos mapeamentos de cor reais usados pelo classificador humano), seria bom para sistemas com, por exemplo 12 ou 14 bits (não lineares) definindo a codificação Im_LDR (dependendo dos requisitos das várias aplicações). Ao se decidir por especificações mais rígidas, por exemplo 8 ou 10 bits (dos quais a maioria das pessoas diria ser difícil codificar imagens em HDR, mas já que os seres humanos discriminam somente alguns milhões de cores e, dependendo da aplicação, como um vídeo com movimentos rápidos e ruído considerável, a quantidade de cores necessárias pode ser ainda menor, portanto se fosse o caso de codificar as cores necessárias mais importantes corretamente nos 8 bits, isso seria possível), pode ser útil seguir as etapas adicionais da presente invenção para garantir uma qualidade aprimorado tanto da classificação LDR como da classificação HDR, enquanto se permite ao classificador um máximo de flexibilidade quanto a que aparência deverão ter aquelas classificações (isto é, em quais subfaixas de luminância (correlato de luminância) deverão se enquadrar todos os objetos).
[065] Presume-se, agora, na continuação do exemplo da Figura 2 em questão, que o classificador classifique de modo muito liberal, com uma função arbitrária de mapeamento de luminância, e as luminâncias em LDR são quantizadas para apenas 8 bits. O coeficiente angular da curva de mapeamento entre Lt12 e Lt_1 pode ser tão baixo que há demasiadamente poucos códigos para representar fielmente aquelas cores, por exemplo de vegetação na sombra. Em uma renderização em LDR que pode não ser tão desagradável (de fato não é, ou o classificador não teria especificado a curva dessa maneira), porém, após reconstruir as luminâncias em HDR para esses objetos, a posterização pode conferir uma qualidade de textura desagradavelmente baixa àqueles objetos em uma renderização de tão alta qualidade.
[066] Portanto, a unidade de classificação automática 203 analisará a classificação de LDR Im_LDR do classificador humano, e identificará e resolverá esses problemas. Há várias maneiras para que a unidade 203 possa fazê-lo. Ela pode, por exemplo simplesmente analisar as próprias imagens, e comparar as regiões espaciais das mesmas. Por exemplo, a mesma pode examinar uma região em Im_LDR (como uma face escura) e contar o número de códigos de luminância que a representam. As regras internas da unidade podem especificar que qualquer região, ou especialmente uma região de face, não deveria ser representada com menos que MB (por exemplo, 10) diferentes valores de código (ou, em geral, um certo número de cores, tipicamente com base no número de luminâncias da mesma, porém restrições similares podem ser contadas no número de saturações diferentes representáveis, por exemplo). Ou, a unidade 203 pode comparar a quantidade de códigos na região em Im_LDR com a quantidade de diferentes códigos (tipicamente luminâncias, mas M_HDR poderia estar codificado com diferentes correlatos de luminância, também) na imagem em HDR. Se houver muitos valores diferentes em M_HDR, deve haver um número razoável de luminâncias em Im_LDR para aquela região, também. Por exemplo, a regra pode ser que a fração das luminâncias de Im_LDR versus as luminâncias de HDR não deve ser menor que 1/5, ou 1/10 etc. De maneira similar, pode-se definir relações com base em faixas no espaço de luminância em ponto flutuante para M_HDR. Uma análise de imagens mais complexa pode ser feita, por exemplo estudando-se os formatos geométricos e estimando como esses formatos se desviam quando representados por menos cores. Por exemplo, um detector pode identificar manchas disformes em formatos. Essa é uma generalização de um detector de bandas, que verifica se há fileiras de um número de pixels tendo o mesmo valor posterizado em Im_LDR ou, de fato, REC_HDR, onde os mesmos não existem, e são de fato transições funcionais suaves em M_HDR. Informações adicionais podem ser obtidas a partir de estimadores de textura, os quais podem determinar, por exemplo a complexidade local de regiões da imagem, etc. Mesmo se a determinação da classificação automática GT_IDR não vá se basear somente na análise de qualquer das imagens obteníveis (classificações) propriamente ditas, é útil se a unidade de classificação automática 203 compreender uma unidade de análise de imagens 213 capaz de realizar qualquer das análises acima, já que os dados resultantes são úteis mesmo quando se especifica uma curva-modelo, em um sistema que trabalha nas curvas de mapeamento de cores das classificações.
[067] Para isso está compreendida uma unidade de determinação de curvas 211, e deve-se esclarecer algumas das possíveis modalidades da mesma com as Figuras 9 e 10. Em qualquer caso, se a determinação da classificação automática for realizada com base em análise de imagens, algoritmos de mapeamento como funções de mapeamento de luminância, ou ambos, ou qualquer outra análise ou prescrição, tipicamente a unidade de análise de curva 211 terá uma unidade determinando e produzindo um algoritmo ou função de mapeamento de cor final Fi(MP_T) (e, possivelmente também, uma unidade executando um ou mais dentre vários algoritmos de curva de mapeamento de cores ou análise de algoritmo, pela qual o algoritmo possa ser analisado em si mesmo, ou quanto a como se comporta com cores quando representadas por uma ou mais curvas). Esse mapeamento automático é, agora, como se pode derivar GT_IDR a partir de M_HDR, portanto uma unidade de mapeamento de cores 215 derivará GT_IDR mediante a aplicação do mapeamento Fi(MP_T) a M_HDR. É claro que é necessário levar em conta, nessa nova formulação, qual foi a classificação por ser humano Im_LDR, agora que tudo será em referência a GT_IDR. Assim, uma unidade de mapeamento de LDR 217 analisará como a Im_LDR pode ser obtida a partir de GT_IDR, e derivar disso os parâmetros. Se uma luminância de pixel mapeia de L_HDR = 2.000 para Y_Im_LDR = 180, e para Y_GT_IDR = 200, então pode-se derivar um mapeamento entre esses últimos. Nesse tipo de forma funcional, os valores de Y_Im_LDR ao longo da faixa podem ser derivados mediante a aplicação de uma função por luminância que multiplica Y_GT_IDR por (Y_Im_LDR/Y_GT_IDR). Estratégias similares podem ser derivadas para outros mapeamentos.
[068] Com a Figura 9 esclarece-se um modo computacionalmente simples de redeterminar a classificação por ser humano em uma classificação técnica, mediante o estudo da curva de classificação do classificador humano (seja por si só, ou com o auxílio de análise de imagens ou, potencialmente, mesmo por interação com o classificador humano). Será usado um exemplo de deformação de curva, mas o versado na técnica pode entender que uma análise similar pode ser usada para selecionar uma dentre um conjunto de curvas com bom funcionamento (uma ou mais curvas CRV_i na Figura 2). Se o classificador deseja um comportamento suave e sem contraste em uma região média, e um comportamento estirado em regiões externas (por exemplo, na HDR as regiões predominantes, onde ocorre a ação principal, podem precisar ser suaves como seda, mas lâmpadas no plano de fundo podem ser renderizadas mais grosseiramente, e até mesmo a formação de bandas pode não ser perceptível ou nem ao menos importante, pelo menos em algumas situações), pode-se selecionar (com base, por exemplo em um cálculo de uma correlação funcional) uma dentre um conjunto de curvas pré-acordadas, a qual melhor corresponda a esse comportamento, mas que não tenha uma quantização muito alta para a parte central. Esse tipo de seleção pode ser guiada por análise de imagens adicional, como determinar a qual classe uma imagem pertence (ambiente externo ensolarado, ou paisagem noturna com algumas luzes brilhantes), observar a distribuição do histograma e seus parâmetros (por exemplo, locais e tamanhos dos lóbulos estimado, etc., seja de modo (semi)automático, seja pela experiência do classificador de cores humano). Ou seja, pode haver algumas curvas predefinida 901 que oferecem um comportamento razoável, pelo menos de um ponto de vista de precisão. Uma imagem real precisa ser coordenada em torno desse comportamento, levando em conta os desejos do classificador quanto à aparência da classificação. É claro que, se uma quantização real for boa em comparação a uma situação teórica ótima ou razoavelmente funcional, isso dependerá também de quantos pixels de uma cor específica há em uma imagem específica. Por exemplo, se a parte escura for apenas um pequeno pedaço de olhar através de uma grade para dentro de um esgoto, diga-se 50 x 50 pixels no ângulo inferior direito de uma imagem, então alguma quantização pode ser bastante admissível para o classificador, pelo menos para aquela imagem, tomada ou cena. Ou seja, as várias curvas podem funcionar como uma seleção final para a classificação técnica (caso haja uma, ou algumas curvas-guia principais - por exemplo, dependendo do ponto de branco do dispositivo de exibição pretendido, como se a imagem se destina primariamente a dispositivos de exibição de 1.000 nits ou 10.000 nits, ou características adicionais do ambiente de renderização ou propriedades de imagem - determinando a precisão da quantização em relação à luminância ou faixa de luminância), ou podem funcionar como pontos de partida a partir dos quais a curva de classificação técnica pode ser submetida a ajuste fino, até que a mesma estire ao máximo suas deformações de precisão do código para as classificações de imagem mais críticas (tipicamente, a HDR a ser reconstruída) e, a partir daí, pode-se codificar os requisitos adicionais na outra aparência de classificação (tipicamente uma LDR) meramente pelas funções de transformação a serem aplicadas àquela classificação técnica GT_IDR.
[069] Agora, porém, será descrito um algoritmo de deformação de curva exemplificador. Será calculada uma modalidade específica de uma quantidade de informações, a qual consiste em uma quantidade de códigos usados NC por subfaixa de luminância (e pode-se digitalizar uma faixa contínua em M_HDR, também, tipicamente mediante a distribuição uniforme de alguns códigos de número inteiro ao longo daquela faixa). Será observada uma faixa de teste específica sob estudo (entre L3 e L4) mas, embora algumas modalidades possam testar somente algumas faixas, como as faixas escuras, é vantajoso se todas as faixas de luminância de M_HDR forem assim testadas. Pode-se formular, de maneira similar, se alguma faixa de M_HDR for mapeada a, diga-se, 5 códigos Y_LDR, ou se uma subfaixa da mesma for mapeada a um único valor de Y_LDR.
[070] O método tem início a partir de uma função de codificação de referência 901 (REF_CODF na Figura 2), o que especifica quantos códigos são necessários para cada intervalo para ser bem reconstruível em REC_HDR. O versado na técnica deve entender que isso depende de, e pode ser calculado a partir de, parâmetros técnicos como a faixa dinâmica do dispositivo de exibição de referência que pertence a M_HDR, as especificidades pretendidas da classificação Im_LDR etc. Essas uma ou mais funções de codificação de referência, embora possam ser calculadas em qualquer codificador instantâneo (e possam, então, ser opcionalmente transmitidas no sinal TSIG sob a forma de metadados) podem, tipicamente, ser pré- calculadas em um laboratório de design de, por exemplo um fabricante de software de classificação e, consequentemente, em um modo acordado armazenado em uma memória pelo menos do codificador (em princípio o decodificador não precisa dessas informações, mas pode também tê-las, por exemplo no caso de funções como Fi(MP_T) são definidas como relações a essa função de referência, mas que tipicamente não será o caso, por uma questão de simplicidade). O codificador pode, se tiver algumas variantes, escolher uma, dependendo de como Im_LDR e REC_HDR finais devam ser renderizadas, e isto pode acontecer com algumas seleções de software do classificador humano. A função 901 especifica como muitos códigos são necessários para cada intervalo de luminâncias. Por exemplo, no exemplo foi decidido que somente três códigos da Y_LDR_min de 8 bits (o número mínimo de códigos necessários, dados uma reconstrução permitida ou um erro de representação), ou seja, de fato da Im_LDR, serão usados para todas as luminâncias de HDR mais escuras que L1. Assim, essas regiões escuras serão grosseiramente quantizadas, mas ainda assim terão alguma estrutura. Se essas regiões forem tornadas brilhantes, pode ocorrer uma grave posterização dos objetos de imagem local (seja em uma renderização reconstruída em HDR, ou uma renderização modificada em LDR por meio de uma transformação de aumento de brilho no dispositivo de exibição), mas isso pode ter sido uma decisão final para ser possível codificar suficientes imagens em HDR nesse código de 8 bits (se o conjunto de imagens codificáveis contém imagens críticas em regimes múltiplos de alto contraste, tipicamente pode ser preciso sacrificar pelo menos alguma qualidade). Entretanto, muitas vezes as regiões escuras serão renderizadas tão escuras que, de qualquer modo, não se pode ver muitos detalhes nos reflexos do ambiente de visualização na placa frontal do dispositivo de exibição. Para ser capaz de renderizar com razoável fidelidade (dado o olho humano sensível quando a REC_HDR reconstruída é mostrada em um ambiente de visualização escuro) as cores escuras no intervalo de até L2, a curva prescreve que são necessários os códigos de luminância C2-3 no mínimo (pode-se usar mais códigos, é claro). Definir essa curva significa que se pode codificar imagens em HDR até uma LDR máxima de luminância Cmax igual a, por exemplo 255 (se o recipiente de LDR tiver 8 bits disponíveis para sua luminância; note-se que isso pode ser simplesmente visto como o losango de gama até 1,0 sendo fixo, e quantizado com bins equidistantes, mas a distribuição dos pixels da imagem varia dependendo das transformações aplicadas, as imagens em HDR, por exemplo muitas vezes têm uma grande porcentagem dos pixels abaixo de 0,1), o que corresponde, se esse recipiente de 8 bits estiver realmente codificando uma imagem em HDR, a uma luminância máxima L_HDR de, por exemplo 10.000 nits, dependendo da curva. Note-se que a curva pode ser ajustada para levar em conta a natureza em escala relativa das luminâncias renderizadas, e na presente descrição quer-se dizer que se podem representar luminâncias HDR do dispositivo de exibição de referência entre por exemplo, L1/10 (como um preto razoável ainda quantizável na luminância 0) e 10.000 nits, mas sempre se pode, é claro, adaptar mediante alteração de escala, de modo que outras luminâncias sejam representadas. Por uma questão de simplicidade, pode-se presumir com segurança que tanto L_HDR como Y_HDR têm eixos entre 0,0 e 1,0, sendo, então, quantizados com alguma precisão.
[071] O versado na técnica entenderá que esta função de codificação de referência 901 pode ser especificada por vários fatores. Por exemplo, quando o classificador humano rabisca sobre uma região da imagem (por exemplo, M_HDR), a qual pode ser por exemplo, uma região de face, a unidade de análise de imagens 213 pode, a partir da mesma, determinar uma faixa de luminâncias em HDR nas quais se enquadram as cores daquela face. Ela pode, então, reespecificar a curva de modo que mais luminâncias sejam necessárias para representá-la. Ela pode saber que, por exemplo se o classificador pressiona um botão de indicação de “face”, quantos códigos (isto é, bins de quantização) são tipicamente necessários para qualquer situação (isto é, por exemplo uma face não tão bem iluminada de acordo com a especificação de 36%, mas que por exemplo, se enquadra em uma área de sombra mais escura da cena, tornando sua luminância média por exemplo, 10%, e o recipiente de LDR tendo, por exemplo 10 bits e uma renderização em HDR ótima necessária para, por exemplo 4.000 a 5.000 nits). Isso levaria a uma prescrição de um número de bins (tipicamente no eixo HDR, mas também poderia ser no eixo Y_LDR) em torno do ponto de cor média atual da face. Isso pode ser automático (por exemplo, duplicando ou modificando a quantidade de JNDs para renderização de referência em HDR, coberta por essa faixa), ou o classificador pode influenciar diretamente ou especificar o formato da função 901 naquela região. A curva pode ser especificada ou reespecificada (se necessário) em muitas propriedades, por exemplo nas medições de HDR_image. Agora em relação à curva de mapeamento de luminância real 902 da classificação que produz Im_LDR (isto é, o classificador atualmente sem considerar nada quanto à quantização e perda de dados e similares, apenas definindo artisticamente onde ele quer que as cores de seus objetos estejam na gama normalizada para esta imagem para obter, por exemplo uma aparência de sonho, com muitos altos brilhos denominados chaves altas), descobre-se que no intervalo [L3,L4] a quantidade de códigos que realmente ocorrem, dada essa curva de mapeamento a partir da classificação em HDR principal para a aparência de LDR escolhida, é menor que a quantidade mínima necessária NC para aquela região (desloca- se a curva para obter uma sobreposição clara, mas é claro que a determinação de luminâncias usadas pode ser simplesmente feita para qualquer curva). Note-se que se presume que as luminâncias são determinadas de modo equidistante nas faixas, mas de modo similar podem ser levadas em conta as não linearidades, por exemplo focalizando nos mapeamentos (in)admissíveis para luminâncias únicas. Normalmente, porém, no eixo Y_LDR têm-se bins equidistantes, portanto pode-se discutir nesse sentido sem perder a generalidade do ensinamento.
[072] Portanto, atualmente são usados demasiadamente poucos códigos naquele intervalo (o qual poderia aparecer como um baixo contraste na renderização de LDR, mas provavelmente não, já que o classificador acabou de otimizar essa curva, mas tipicamente aparecerá como uma quantização grosseira para as imagens em HDR reconstruídas), sendo necessário estirar o coeficiente angular local da curva 902. Há várias maneiras de fazer isto, por exemplo com funções de erro elásticas as quais penalizam erros de quantização ao longo de qualquer intervalo. Em geral, pode-se ter qualquer matemática levando em conta por um lado o tamanho dos intervalos particulares e, por outro lado, a luminância média/posições luminância daqueles intervalos, isto é, quanto a curva desvia de sua classificação pretendida. É claro que, se a classificação técnica exige, é necessário um formato de curva de mapeamento específico que seja bem afastado do formato que o classificador desejava para a aparência da LDR (isto é, os requisitos técnico de dados de HDR ou o propósito de alocação de código da função de mapeamento estando muito longe dos requisitos de “LDR” ou do propósito de aparência da renderização do mapeamento), então o classificador continuará a definir sua aparência em uma outra maneira adicional, por meio de funções de mapeamento adicionais. Assim, em princípio nenhuma especificação restrita ou matemática crítica é necessária para este método, mas é claro que alguns métodos serão menos complexos em termos de cálculo, ou mais fáceis de usar em termos de quão rapidamente o classificador chega no resultado de codificação+classificação desejado (como o tempo do classificador é dispendioso, pelo menos para alguns tipos de programa).
[073] Uma transformação de curva simples é esclarecida na Figura 10. Se Nc1 é a quantidade atual de luminâncias alocadas ao intervalo, e Nc2 é a quantidade necessária de códigos (seja minimamente necessária, ou um tanto maior), pode-se estirar aquela parte da curva, por exemplo mediante a multiplicação em torno do ponto médio com Nc2/Nc1. O restante da curva precisa ser modificado, e presume-se que a redistribuição da quantização para caber na quantidade total de códigos já dará um resultado satisfatório. Pode-se, por exemplo derivar a parte da curva acima L4, tomando-se essa curva, deslocando a mesma com OFF_1, e alterando-se sua escala, de modo que o máximo ainda se enquadre na luminância máxima. Ao fazer isso em todas as partes, se obtém a curva de classificação técnica 903, que á a curva de mapeamento de cores Fi(MP_T). As luminâncias no eixo Y_LDR_min formarão, então, a imagem GT_IDR. O sistema pode verificar se há uma outra faixa que, então, se torna crítica e, então, por exemplo equilibra o erro entre as duas regiões. Por exemplo, idealmente Nc2 deveria ter 10 códigos, e Nc2* em uma outra faixa de L_HDR (isto é, também Y_LDR) pode precisar ter idealmente 8, mas se houver espaço apenas para um total de 16 códigos, pode-se distribuir o erro de quantização mínima como 9 códigos e 7 códigos. É claro que isso pode ser ponderado por fatores como faixa das duas regiões, significância semântica (há cores de face), etc. Se necessário, o sistema pode instruir o classificador a escolher qual das duas áreas deve ser melhor, por exemplo com uma interface de usuário que lhe permita aumentar o número de códigos Nc2 (isto é, o coeficiente angular local) em etapas, o que então significa menos códigos para Nc2*, que o classificador pode pensar ser visualmente aceitável. É claro que algumas modalidades podem funcionar de modo totalmente automático nos bastidores, ao selecionar a curva de mapeamento técnico e a classificação GT_IDR e, nesse caso, o sistema pode por exemplo, simplesmente abandonar o ajuste fino em torno de uma curva de classificação LDR preferencial, e imediatamente passar a uma das curvas técnicas predefinidas que funcionam bem (por exemplo, uma que tenha a menor deformação, comparada à curva que define a aparência da LDR (902), conforme calculado como SUM(wi*[FT(L_HDR)-FL(L_HDR]), em que os colchetes indicam alguma função como um valor absoluto ou quadrado, em que FT é a função técnica atualmente selecionada por valor L_HDR, e FL é o mapeamento da classificação de aparência preferencial de LDR, e os pesos wi podem ser uniformes, mas também pesam mais em certas áreas de L_HDR, por exemplo onde residem as faces), caso no qual a aparência é, então, definida pela função de mapeamento adicional Fi(MP_DL). As medições de erro podem, também, levar em conta os coeficientes angulares, já que o coeficiente angular local identifica a quantidade de códigos disponíveis na representação em LDR versus os códigos necessários na região de HDR. Note-se que mesmo alterando um intervalo de fato se distribui um erro por toda a faixa, em comparação ao que o classificador gostaria de ver, mas este não precisa ser necessariamente um grande erro, pois é distribuído e visto relativamente, já que o olho não é de qualquer forma realmente projetado para funcionar como um medidor de luminância absoluto e, de qualquer modo isso pode ser, na maioria dos sistemas práticos, calculado novamente no lado receptor com Fi(MP_DL). O versado na técnica entende que pode haver muitas outras maneiras de realizar funções similares. Por exemplo, pode ser que haja códigos suficientes (porque a imagem M_HDR não chega a L_HDR_MAX, correspondendo a Y_LDR_MAX), e pode-se ter muita liberdade para reespecificar pelo menos algumas partes da função 903, mas ainda assim a curva 902 ainda estava demasiadamente quantizada no intervalo [L3,L4], e precisou ser corrigida. Nesse tipo de cenário, pode-se deslocar mais livremente a luminância de ponto médio do intervalo [L3,L4], e as outras regiões de curva. Esses cenários correspondem a aumentar o brilho de alguns objetos etc. O outro cenário é onde o sistema é realmente crítico, e a redistribuição da quantização fora do intervalo [L3,L4] pode levar a quantização inadequada no mesmo. Nesse caso, estratégias de mitigação podem ser usadas para determinar uma curva final. Um exemplo de uma estratégia de mitigação consiste em dividir os erros restantes sobre as faixas mais críticas, como [L3,L4] e [Lx,Ly], fora de onde ocorre o maior erro de quantização para a atual curva de classificação, ou qualquer curva tentando manter uma aproximação razoavelmente próxima da atual curva do classificador humano. Pode-se decidir, também, alocar fortemente os erros para algumas regiões. Por exemplo, pode-se cortar as luminâncias mesmo para algo acima de L1 para o único valor de luminância 0, ou pode-se decidir cortar na extremidade brilhante, mesmo na classificação técnica GT_IDR. A imagem REC_HDR não é, então, perfeitamente reconstruível, mas esses cenários podem ser usados em sistemas que têm uma correção de transbordamento. Por exemplo, os valores cortados podem ser codificados em uma segunda imagem, separada de GT_IDR, que contém somente os dados para uma região brilhante e cortada em GT_IDR. Ao comparar a atual curva de mapeamento com uma que tem boas propriedades técnicas (caracterizada por ter pelo menos uma quantidade mínima de códigos por intervalo) é claro que a unidade de classificação automática irá verificar se há realmente quaisquer cores de pixel naquele intervalo, de outro modo isso pode distorcer seriamente a função naquela faixa.
[074] A Figura 12 (Figura 12b) mostra um exemplo de como um classificador pode influenciar a curva técnica que aloca os códigos usados para a classificação técnica GT_IDR. Conforme foi dito, tudo isso pode, em algumas modalidades, ocorrer nos bastidores sem que o classificador saiba, mas aqui é dado um exemplo de como um classificador pode especificar ou influenciar a quantidade de códigos alocada a uma região específica na faixa de luminância em HDR 1210, a qual deve-se presumir que contenha cores faciais. Suponha-se que, neste exemplo, a alocação automática de zonas de código tenha sido muito boa (possivelmente tendo em conta que se tem somente 8 bits de luminância em vez de 10 bits disponíveis, ou talvez para 10 bits um espaço de cores menos adequado, que introduz uma quantização muito grave pelo menos para algumas cores, por exemplo azul saturado), mas o classificador olhando para seu dispositivo de exibição de referência de qualidade ainda deseja um pouco mais de precisão, por exemplo para ter uma face menos manchada. Ele pode, então, considerar o coeficiente angular local na faixa de luminância 1210 como sendo demasiadamente baixo, e pode querer aumentar o mesmo através do meio de alteração de coeficiente angular 1203 da interface de usuário, que pode ser por exemplo, uma seta que aumenta quando se clica na seta superior, aumenta o coeficiente angular em X%, ou um cursor arrastável, etc. Ele pode especificar a faixa 1210 diretamente em sua janela de visualização da ferramenta de curva, e arrastar um ou mais marcadores de limite 1202. A interface de usuário pode, também, ajudar na rápida seleção, por exemplo ao permitir que se desenhe um rabisco 1215 sobre a imagem representativa atualmente classificada a partir de uma cena (consulte a Figura 12a).
[075] Durante todo esse tempo, o classificador está olhando para a renderização da imagem em HDR reconstruída. Se ele agora quiser trabalhar novamente na imagem em LDR, passará àquela visualização e especificará adicionalmente sua classificação de LDR, outra vez começando a partir dessa curva técnica, para uma curva ou estratégia de mapeamento adicional. Os meios de rastreamento de movimentos para rastrear a face e o ajuste fino de suas propriedades caso a mesma se mova sob iluminação variável podem ajudar na determinação, se necessário, mas em geral tal complexidade não é necessária para a presente invenção, já que a curva técnica se destina somente a ser amplamente boa, e não definitivamente específica. Em qualquer caso, porém, pode ser oferecido ao classificador o ajuste fino a qualquer momento do filme em que ele considere interessante, tanto da curva técnica como da curva de mapeamento para obtenção de imagens em LDR ótimas. Agora o software pode ser configurado para alterar o coeficiente angular em comparação ao ponto médio (curva 1204). Entretanto, o classificador pode considerar isso como introdução de questões quanto à classificação de cores, que ele pode querer resolver agora (em vez de nas segundas funções de mapeamento em LDR). Por exemplo, quando o algoritmo ou o hardware calcula a nova curva, o mesmo irá, nas versões mais simples, realocar o erro, o que pode ser feito, por exemplo mediante o estiramento do formato restante da curva ao valor máximo de 1,0, iniciando a partir do novo ponto alto do intervalo localmente estirado. O classificador, porém, pode considerar que isso resulta em cores demasiadamente brilhantes nas regiões 1205. Portanto, o software pode ter meios para ajuste de posição 1206, o que permite que o classificador altere a curva local na faixa 1210 um pouco para cima ou para baixo, resultando na curva final razoável 1207. O classificador pode, também, especificar de maneira similar as regiões onde considera que os erros de quantização podem ser mais graves, por exemplo nesse caso o elemento deslizante 1201 pode permitir que se defina um limite inferior para uma faixa de cores brilhantes que pode ser um pouco mais quantizada quando necessário. Se for necessário equilibrar as propriedades de cor, dadas todas as limitações técnicas, essa pode ser uma boa maneira de chegar a um ótimo razoável, especialmente se o material original não houver sido capturado perfeitamente nas áreas brilhantes, de qualquer modo, mas, por exemplo com cores um tanto pastel. Esse elemento deslizante, então, dá por exemplo, a posição de luminância HDR de referência acima da qual estão, por exemplo 20 m de códigos, distribuídos por exemplo, via gama 2,2, ou curva psicovisual baseada em JND, etc. Nesse caso, a matemática do algoritmo pode levar isso em conta ao redistribuir os erros, por exemplo mediante a penalização de uma diferença dos 20 códigos em uma forma ponderada com os códigos restantes entre o ponto alto da faixa 1201 e aquele valor baixo do conjunto de faixas superior em 1201. É claro que o classificador, se considerar o problema suficientemente crítico para gastar mais tempo, também pode selecionar uma ou mais dessas faixas para ajuste fino e, por exemplo adicionar uma resistência de fixação às curvas já determinadas, indicando que estas não podem perder quaisquer códigos ou, no máximo, 20% dos códigos, ou perder códigos a uma taxa 10x mais baixa que o intervalo atual etc. Isso oferece alguma inércia na reespecificação de outro intervalo. De modo geral, porém, o classificador não terá que recodificar muitas regiões críticas, caso contrário ele pode simplesmente deixar que o hardware apresente uma proposta automática.
[076] A Figura 3 mostra uma modalidade possível de um sistema de codificação que segue os princípios da presente invenção, onde o ser humano deriva sua classificação a partir de uma classificação técnica GT_IDR. O leitor entenderá que as variantes técnicas aqui reveladas (por exemplo, referentes a mapeamentos de cor técnicos adequados etc.) serão também aplicáveis à classe de modalidades da Figura 2 ou outras modalidades, e vice-versa.
[077] Uma unidade de derivação de mapeamento de cores 214 determina um mapeamento de cores adequado (por exemplo, a curva do mapeamento de luminância, e a estratégia de manuseio das coordenadas de cor cromática correspondentes) para mapear M_HDR em GT_IDR. O propósito principal disto é determinar uma classificação GT_IDR que seja mais adequada a partir de um ponto de vista técnico. Em particular, é preciso ser capaz de reconstruir uma REC_HDR (mediante a aplicação de CMAP_2 que é o mapeamento de cores inverso de Fi(MP_T)) a qual será uma aproximação a M_HDR (de acordo com alguns critérios de desvio de imagem), ou pelo menos se enquadrará em uma segunda exatidão predefinida a partir de M_HDR. O versado na técnica entende que há várias maneiras definidas para medir desvios entre imagens. Por exemplo, uma medida que tem grande aceitação é a PSNR, mas essa é uma medida cega bastante simples, que pode às vezes dar altas contribuições a diferenças em ruído, as quais são psicovisualmente pouco visíveis, enquanto medem a um menor grau alguns desvios de objetos reais. Assim, tem-se a intenção de usar medidas que medem mais justamente o que ocorre com os vários objetos, especialmente em uma estrutura matemática correlacionada a princípios psicovisuais. Por exemplo, a unidade de análise de imagens 213 pode fazer alguma segmentação aproximada de REC_HDR e M_HDR em segmentos (pseudo-objetos). Ela pode, por exemplo buscar por segmentos relativamente lisos, e medir uma quantidade de posterização ali presente. Uma quantidade pode ser, por exemplo a quantidade de cores usadas versus a área da região de gradiente suave, a qual resultará em uma medida de exatidão que é similar à contagem de comprimentos de execução de fileiras de pixels com uma mesma cor quantizada. Pode-se, também, calcular as correlações funcionais ou diferenças acumuladas entre o formato da luminância M_HDR original ao longo do espaço, e a função em escada em REC_HDR. O versado na técnica entenderá que se pode introduzir informações (pré)semânticas na presente avaliação da exatidão e nas uma ou mais escolhas resultantes de algoritmos de mapeamento. Por exemplo, se houver somente um pequeno objeto, especialmente se o mesmo estiver no plano de fundo, próximo ao lado da imagem, o objeto é provavelmente menos importante, e pode-se codificá- lo com menos códigos de luminância, deixando mais códigos disponíveis para outros códigos. O versado na técnica entenderá que uma exatidão total ou um erro (por exemplo, como uma imagem de exatidão) pode ser formado a partir de um conjunto pré-acordado (por exemplo, carregado na unidade de classificação automática 303 por meio de uma atualização de software) de algoritmos de medição, os quais podem levar em conta as propriedades geométricas como tamanho ou posição de um segmento ou objeto, propriedades estatísticas como qual tipo de textura ou cor tem o segmento/objeto, propriedades semânticas como ao se olhar para uma face ou para o céu (com um detector de face ou de céu), etc. A matemática da exatidão pode, também, ter medidas especiais para analisar os efeitos em HDR, por exemplo uma explosão pode ser caracterizada não como uma diferença absoluta das cores de pixel entre REC_HDR e M_HDR, mas com uma medida relativa que tem por base parâmetros como uma diferença entre a cor média na bola de fogo e no ambiente circundante, uma variação de cores na bola de fogo, etc. A REC_HDR será, então, vista como suficientemente acurada se uma medida da mesma estiver abaixo ou acima de um limiar, isto é, mesmo que a bola de fogo seja um pouco menos brilhante ou contrastante na reconstrução, contanto que tenha suficiente impacto pois ainda é muito mais brilhante que o ambiente circundante, a reconstrução é vista como uma boa reconstrução de HDR. Essas variantes são especialmente úteis para sistemas que são mais críticos devido à restrição de recursos físicos, como a quantidade de bits na codificação de GT_IDR. Os efeitos em HDR podem ser caracterizados de maneira complexa, ou apenas selecionados como regiões de alto brilho, por exemplo acima de um limiar relativo LT. O versado na técnica entenderá também que, por exemplo em uma estratégia recursiva para chegar em etapas ao mapeamento de cores ótimo Fi(MP_T), a unidade de derivação de mapeamento de cores 214 pode não simplesmente determinar seu mapeamento com base em uma exatidão total agregada, mas fazer um ajuste fino com base nas exatidões parciais. De maneira similar ao presente exemplo de ajuste local, nas Figuras 9 e 10, a unidade 214 pode curar uma face que é representada de modo demasiado grosseiro, porque identifica trechos na face e, então, aloca mais códigos mediante a alteração daquela parte da função. O critério de exatidão não precisa ser atendido mediante o cálculo do mesmo, por si. Ao invés disso, pode-se usar um conjunto de funções pré-acordadas ou algoritmos de mapeamento de cores ALG(CRV_i), os quais são considerados como atendendo razoavelmente ao critério de exatidão para uma aplicação específica, a partir de um ponto de vista prático. Mesmo que uma curva de mapeamento ótima selecionada ainda introduza um erro um pouco mais grave em alguma parte de alguma imagem inconveniente em M_HDR, isso é então considerado como aceitável. A determinação em qualquer daqueles cenários pode ser tanto automática dentro da unidade 303 sem qualquer intervenção manual para perturbar o classificador artístico, ou pode ser parcialmente guiada ou totalmente determinada pelo classificador, por exemplo deixando que esse classificador selecione uma dentre um número de possíveis algoritmos ou curvas de mapeamento. Tipicamente, a unidade 303 conhecerá, e o classificador terá definido, alguns parâmetros genéricos referentes à situação de mapeamento e codificação, por exemplo a faixa dinâmica (por exemplo, CODR ou CDR) da imagem M_HDR, e o classificador pode ter selecionado a partir de uma lista de menu que ele está atualmente classificando uma “imagem noturna”, etc.
[078] Por exemplo, a unidade de análise de imagens 213 pode examinar a imagem M_HDR, e descobrir que há dois lóbulos bem separados no histograma de luminância. Pode, então, ser derivada uma função de mapeamento (pelo menos inicial) que mapeia aqueles para subfaixas adequadas do código de luminância de 8 bits, levando em conta que o sistema visual humano é mais sensível às partes mais escuras, as quais precisarão, portanto, de uma subfaixa maior. Assim, em uma escala grosseira, o mapeamento poderia ir para, por exemplo [0,170] e [180, 255], isto é, qualquer função que realize isso é uma candidata viável. Dentro dessas faixas pode-se produzir uma flexão adicional das curvas de mapeamento de Fi(MP_T), por exemplo dando às faces um número um pouco mais alto de códigos (os quais, para ser claro, não precisam corresponder por si a um contraste mais alto na face na renderização definitiva, já que a transformação do dispositivo de exibição pode ainda reduzir o contraste sobre a face, mas então pelo menos se tem uma boa precisão da textura e da iluminação facial).
[079] As versões mais simples podem ser, por exemplo um conjunto de curvas paramétricas similares a gama Y_LDR=k*L_HDR abaixo de L1 e l*potência(L_HDR, gama)+fora acima de L1. Nesse caso, os algoritmos determinantes do mapeamento técnico automático podem, tipicamente, avaliar qual é a estrutura da imagem nas regiões escuras, e determinar uma parte linear suficientemente bem caracterizante nas mesmas. Se houver muitos objetos, especialmente com uma estrutura geométrica complicada (como um galpão contendo muitos objetos, como tábuas de madeira armazenadas para posterior construção, estruturas de metal, ferramentas, etc. todas empilhadas e misturadas umas às outras no escuro), então a unidade/algoritmo pode decidir alocar mais códigos a isso, mediante o ajuste da primeira parte (por exemplo, linear) da curva similar a gama. De maneira similar, se houver atores no escuro, o sistema pode querer caracterizar os mesmos com códigos suficientes, mesmo que sejam por fim renderizados de modo muito escuro, e o observador não possa ver muitos detalhes nos corpos de qualquer modo (mas note-se que um observador poderia sempre, por meio de seu controle remoto, aplicar uma transformação de dispositivo de exibição para adicionar brilho, e uma boa codificação deveria atender a isso).
[080] De maneira similar, a M_HDR da imagem pode ser analisada e segmentada em uma parte central (por exemplo, algoritmos adicionais de análise de imagens, como um analisador de movimento, podem ajudar a determinar uma região de ação principal), uma parte brilhante, e uma parte escura e, então, uma curva sigmoidal ou em três segmentos pode ser determinada para isso, etc.
[081] Alternativamente, o classificador humano pode ser instado a selecionar uma curva técnica ótima por meio de sua interface de usuário 230. Por exemplo, ele pode escolher a curva ótima a partir de um certo número de curvas similares a gama, mas o versado na técnica entende que esta poderia ser outra dentre curvas fixas pré-acordadas, e em uma otimização técnica recursiva o classificador poderia até mesmo começar a ajustar curvas, por exemplo arrastando os pontos de controle CP. As curvas podem ter, então, por exemplo algum mecanismo interno de elasticidade, impedindo que o classificador escolha segmentos com um coeficiente angular demasiadamente baixo, ou com outras características inadequadas, como inversões, alocação dupla (que não podem ser revertidas como uma CMAP_2), etc. Tipicamente, o algoritmo chegará por si mesmo a um estado estável (inicial ou transitório), por exemplo ao soar um alerta se a curva se tornar deformada a ponto de inutilizar-se e, então, retornando a mesma a uma similar com boas propriedades de reconstrução. Tipicamente, o sistema irá então gerar a REC_HDR, e permitir que o classificador alterne com M_HDR em seu dispositivo de exibição em HDR de referência, para ver a exatidão ou os erros. O sistema enviará GT_IDR a um dispositivo de exibição em LDR de referência, para que o classificador também possa verificar isso. Essa imagem já pode ser suficiente em alguns cenários e, então, o classificador já não precisa produzir uma segunda Im_LDR, mas mesmo que seja uma classificação LDR com menor qualidade, alguns sistemas receptores ainda desejarão ou precisarão usá-lo (por exemplo, devido a uma implementação compatível com versões anteriores na TSIG, para um reprodutor de BD legado que ignora os dados de mapeamento de cores e simplesmente reproduz a GT_IDR; mas também, por exemplo a GT_IDR pode conter informações úteis para ajustar/interpolar a um final a ser usado na classificação para um dispositivo de exibição com faixa dinâmica média etc.). Caso o classificador esteja satisfeito, ele continuará com a próxima imagem ou tomada de imagens e, caso contrário, ele irá alterar ainda mais algo da curva ou do algoritmo. O codificador pode ter meios para ajudá-lo com isso. Por exemplo, quando ele rabisca dentro de uma região com erros maiores, o codificador pode recorrer à curva em cujo intervalo de luminância essas cores se enquadram. Já pode até mesmo haver análises iniciais dos artefatos, e sugestões (por exemplo, “é sugerido duplicar a quantidade de códigos” e já aplicar a nova curva para obter uma segunda REC_HDR_2 (pela unidade de mapeamento de cores 215), já que a unidade/algoritmos precisam fazer o suficiente sozinhos para poupar tanto quanto possível um artista ocupado dessa classificação técnica - embora seja importante, já que é uma maneira fácil de classificação aproximada para a aparência final).
[082] Agora em relação à classe de modalidades na Figura 3, o classificador continuará a fazer o ajuste fino na imagem GT_IDR, mediante o uso da unidade de classificação de cores 301, para obter sua aparência ótima como a classificação Im_LDR. Em princípio ele poderia aplicar liberalmente agora qualquer transformação de cor, já que IM_LDR não é usada para reconstruir REC_HDR. Entretanto, em um sistema prático, é útil se for suportado um conjunto limitado de algoritmos de mapeamento de cores, o qual permite todas ou quase todas as alterações de cor que um classificador possa tipicamente desejar fazer, já que seus dados de definição Fi(MP_DL) precisam ser codificados no sinal TSIG. Alguns padrões de sinal poderiam ser projetados de preferência com capacidade para atualização, de modo que os dados de mapeamentos de cor novos mais recentes possam ser gravados nos metadados (com um novo tipo de indicador, ignorável pelos sistemas mais velhos). Isso é útil para futuros decodificadores que são facilmente atualizáveis, como software sendo executado em um computador para decodificar filmes comprados de uma base de dados de filmes na internet. Para sistemas com um giro mais curto, para os quais somente em certos momentos (dispendioso em relação ao custo total do sistema) um novo circuito integrado de processamento será projetado, é melhor usar um acordo a priori quanto a um conjunto fixo de mapeamentos de cor (por exemplo, funções realizadas sob a forma de LUTs etc.). Finalmente, todos os dados GT_IDR, Fi(MP_T) e Fi(MP_DL) (ou derivações dos mesmos) são formatados pelo formatador 220 para as especificidades de um ou mais formatos de sinal escolhidos, e enviados para fora por meio de algum meio de comunicação de sinais.
[083] A Figura 4 mostra uma modalidade possível de um sistema receptor, e o versado na técnica entenderá que pode haver muitos desses sistemas. Por exemplo, o decodificador de imagem 401 pode estar compreendido em uma unidade separada (como um reprodutor de BD, ou STB), e pode estar compreendido em um dispositivo de exibição ou em um aparelho que compreende um dispositivo de exibição (por exemplo, um televisor, ou telefone móvel (note-se que o telefone móvel, embora possa não ter um dispositivo de exibição em HDR, ainda pode precisar ler a codificação HDR, e extrair do mesmo a classificação Im_LDR)), um computador, etc. Pode haver sistemas profissionais que compreendem também o codificador, por exemplo um transcodificador nas instalações de um provedor de conteúdo, o qual por exemplo, cria a partir de uma primeira variante de codificação de HDR, de acordo com os presentes princípios, uma codificação de imagem em uma segunda variante, para ser distribuída por exemplo, por um sistema de pay-per-view, etc.
[084] O decodificador de imagem 401 compreende uma unidade de derivação de imagem 403 a qual está disposta de modo a fazer a construção de todas as imagens necessárias. Por exemplo, o mesmo pode extrair os dados de mapeamento de cores Fi(MP_DL) e fazer uma decodificação MPEG_HEVC em GT_IDR. E, então, o mesmo aplica o mapeamento de cores para derivar REC_LDR. Tem-se também, nessa modalidade, uma unidade de configuração do sistema 402, que pode ser disposta para, por exemplo verificar que tipos de dispositivos de exibição estão atualmente conectados, ou qual tipo de dispositivos de armazenamento precisam de formas específicas de imagens reconstruídas (por exemplo, uma REC_HDR, ou uma classificação REC_MDR interpolada, etc.), e pode controlar adequadamente a unidade de derivação de imagem 403 para realizar o processamento necessário. Neste exemplo, pode-se enviar dados (por exemplo, uma imagem em HDR já otimizada para o dispositivo de exibição conectado, e/ou dados intermediários, por exemplo dados de mapeamento de cores, os quais permitiriam ao televisor realizar um ajuste fino adicional da imagem em HDR recebida) por meio de uma conexão de rede com fio 410, por exemplo uma conexão de interface HDMI, a um televisor 2D LED (ou OLED, etc.) com iluminação de fundo. 411. Os dispositivos de exibição com alta faixa dinâmica podem ser produzidos de várias maneiras. Por exemplo, pode-se intercalar na estrutura do material de LC, que em RGB bloqueia muito da luz, células que transmitem a maior parte da leves se acionadas para estarem totalmente abertas. Ou pode-se ter um dispositivo de exibição iluminado por laser LED, por exemplo em um projetor no qual se pode projetar localmente mais LEDs em uma região DMD IC se, subitamente, um excesso de brilho for necessário, ou em cinemas pode-se ter uma estrutura adicional de projetor para criar altas luzes, etc. Ou pode-se enviar, sem o uso de fios, através de uma antena 415, dados a um dispositivo de exibição LDR 416, por exemplo um dispositivo de exibição de tablete, etc. Pode-se também mostrar simbolicamente um outro sinal de imagem classificado sendo fornecido pelo formatador 407, por exemplo uma imagem em faixa dinâmica média ótima para um dispositivo de exibição de, por exemplo 1.800 nits de pico_de_branco, e enviar a esse dispositivo de exibição, ou a uma memória de armazenamento para uso posterior, ou através de uma rede para um outro local do usuário, seu telefone móvel residindo em algum ponto do mundo externo, ou um de seus amigos, etc.
[085] A Figura 5 mostra os componentes em questão dentro de uma câmera 501, a qual obtém uma imagem em formato RAW a partir do sensor de imagem 504, através de uma lente 502. Um mecanismo de conhecimento 520 pode ser configurado de várias maneiras para obter um conhecimento estrutural, estatístico e/ou semântico mediante o estudo de imagens em formato RAW capturadas, e guiar a derivação de mapeamento técnico pela unidade de derivação de mapeamento de cores 214, conforme exemplificado acima. A câmera pode ter sua própria interface de usuário 550 (conectada ou remota, por exemplo a partir de um aparelho de exibição para o diretor e/ou DOP para acompanhar a captura, e orientar por meio de antena de comunicações 580) para influenciar os algoritmos de mapeamento técnico, por exemplo alterar o contraste local de algum intervalo de luminância. O mapeamento para GT_IDR pode ser usado para se ter uma imagem de pré-visualização rápida, onde então uma codificação de imagem em HDR é enviada, por exemplo para gravação final ou intermediária (em alguns casos a câmera orientada pode já realizar uma classificação suficiente do recipiente LDR, isto é, codificar M_HDR e Im_LDR, mas em outros casos uma primeira codificação HDR forma uma base para ajuste fino adicional da classificação). Essa câmera exemplificadora pode transmitir para um lado receptor, por exemplo através de uma antena para comunicações via satélite 599, ou por meios de comunicação alternativos.
[086] Com a Figura 11 são apresentados alguns exemplos de como os vários métodos de mapeamento podem ser realizados em um espaço de cor tridimensional (ou N- dimensional). A Figura 11 mostra esquematicamente as gamas do dispositivo de exibição de referência HDR (para a classificação M_HDR) e o dispositivo de exibição de referência LDR (para, por exemplo GT_IDR ou Im_LDR), em uma fatia com luminância no eixo y, e uma das coordenadas cromáticas, especificamente uma saturação S no eixo x (estes podem ser definidos, por exemplo como em uma definição CIE, e novamente várias opções são possíveis, por exemplo espaço CIE_Lab etc.). É mostrado como uma cor definida em M_HDR, especificamente Col_HDR, é mapeada a sua cor correspondente Col_LDR do recipiente LDR. A parte superior na Figura 11a é um formato de gama de acordo com o algoritmo de mapeamento de cores conforme descrito em EP12187572 (PCT/EP2013/069203) (ainda não publicada). O princípio é que primeiro é definida uma função para transformar luminâncias, por exemplo ao longo do eixo neutro. Então, para cada cor com coordenadas cromáticas (por exemplo, matiz h e saturação S) toma-se a máxima luminância possível Lmax(h, S) para aquela cor cromática, e se escala a função de mapeamento de luminância por aquele valor. Isso garante um valor de gama dentro da LDR para todas as cores em HDR. A Figura 11b mostra uma outra possível categoria de mapeamentos de cor. Aqui, apenas se aplica qualquer transformação em Col_HDR, para que o mesmo possa terminar em Col_LDR1, fora da gama de LDR. Então, tipicamente, segue-se com um algoritmo de mapeamento de gama, o que traz a cor mediante, por exemplo dessaturação dentro da gama de LDR para Col_LDR2. Em vez de uma projeção em duas etapas, pode-se também determinar para cada luminância qual é a pior situação, isto é, qual pixel estará mais distante da saturação máxima para aquela luminância da gama de LDR. Pode- se derivar uma função de dessaturação DESATPR a partir da mesma, e remapear todas as cores levando-se em conta essa dessaturação. Há também outras maneiras para determinar um algoritmo de dessaturação. Uma terceira categoria de mapeamentos de cor funcionará no espaço RGB e, então, aplicando funções de mapeamento naqueles significa que as cores também permanecerão em ambas as gamas. Qualquer função pode ser usada para manuseio de cores, por exemplo o remapeamento funcional local de um correlato de saturação, somente ao longo daquelas regiões do eixo de luminância onde é desejável, termina especialmente em uma classificação técnica em que os valores reais importam menos, contanto que, para as classificações a serem usadas, cores razoáveis possam ser derivadas das mesmas por meio de estratégias de mapeamento adicionais adequadas.
[087] Agora será apresentada uma elaboração adicional quanto aos mapeamentos de saturação úteis em uma estrutura de HDR, a qual pode ser vista em separado de outros ensinamentos no presente pedido. O brilho e a luminosidade são derivados das respostas dos cones do ser humano, que têm um estado de ativação de moléculas de cone- opsina, e mostra quanta luz está chegando a partir das várias cores sendo uma função tanto das características de refletividade do objeto como de sua iluminação (sendo a luminosidade uma estimativa de acinzentamento em comparação a um branco de referência pelo cérebro, analisando todos os sinais espaciais do cone a partir de uma imagem de cena complexa geometricamente estendida). O matiz é uma função das proporções de ativação espectral (de acordo com a ativação monocromática ou policromática) dos diferentes cones, e pode ser estimado a partir das diferenças nessas ativações de cone. Isto serve para a determinação das cores dominantes, por exemplo a natureza de banda larga de várias moléculas permite a identificação de conteúdo químico específico, por exemplo o amadurecimento vermelho de uma maçã. Sob iluminantes lentamente variáveis e relativamente fáceis de estimar, como sol+claraboia, os vários matizes discerníveis podem servir bem para muitas tarefas visuais. A saturação ou pureza é uma medida de como os canais de cores das células ganglionares e de partes adicionais do sistema visual são excitadas, em comparação a um estímulo neutro (cinza). Ou seja, é a quantidade de cor pura (por exemplo, uma cor do espectro de banda estreita) adicionada a uma cor neutra, ou vice-versa. Com os matizes topologicamente ordenados em um círculo no espaço de cor, foi necessária uma dimensão radial representando uma saturação. Os pintores usam o princípio pela adição de uma cor branca a uma cor pura, como vermelho, produzindo uma sequência de tonalizações. Na natureza, a saturação é determinada por dois princípios importantes. Primeiramente, em meios especulares/lustrosos o iluminante branco é fortemente adicionado à luz na cor do objeto a partir de interações mais profundas, levando a uma forte dessaturação, porém com alta saturação em direções não especulares. O que é mais importante, a saturação está relacionada a uma quantidade de pigmento, e isso pode ser usado, por exemplo por um animal para julgar a saúde de um potencial parceiro. A saturação existe em duas “variantes”. Primeiramente, há a saturação dependente de brilho, que pode ser modelada com coloração ou croma, já que cores mais brilhantes parecem mais saturadas. Isso pode ser modelado em espaços de cor em formato de cone, em que um plano de cor (por exemplo, uv) se torna progressivamente mais largo ao longo do eixo do brilho. O cérebro humano pode, novamente, descontar a iluminação e julgar o quão intrinsecamente saturado é um objeto, com reflexões monocromáticas sendo a situação teoricamente mais saturada. Isso pode ser modelado em espaços cilíndricos, em que o formato do plano de cor permanece o mesmo ao longo do eixo do brilho.
[088] Fisicamente, esse cone ou cilindro poderia ser estendido em direção ao infinito, já que se pode produzir cores cada vez mais brilhantes, mas tecnologicamente isso não faz muito sentido, já que qualquer gravação ou sistema de reprodução real tem limites. Já os cones dos olhos, em um certo estado de adaptação (uma quantidade de cone-opsina preparada no cone, e moléculas intermediárias estando em um estado para multiplicar qualquer sensação de ativação do cone, até que por fim é obtido um sinal “digital” de uma quantidade de pulsos ao longo dos neurônios) irão em um certo momento descolorir, de modo que tantas moléculas de cone-opsina foram ativadas que a detecção acurada das cores já não é possível durante algum tempo, o que ocorre quando se olha para uma lâmpada brilhante. Algo similar ocorre, por exemplo com um registro fotográfico (diga-se, um slide). Em um certo momento, algum branco máximo precisa ser registrado (e depois reproduzido), e as luminâncias dos objetos da cena acima daquilo serão cortadas para o pico de branco. O mesmo ocorre para qualquer espaço de RGB aditivo, seja somente um espaço de codificação que pode estar relacionado a um monitor de referência para torná-lo absoluto, ou um espaço real de sinal de acionamento para um dispositivo de exibição real. Esses espaços podem ser topologicamente equiparados a espaços de duplo cone. Por exemplo, os pintores sabem que podem produzir sombras com um croma diminuído porém a mesma saturação, pela adição de preto a cores puras, e produzir tonalizações em direção um branco puro no topo do cone superior. Ou seja, no topo desse tipo de espaço pode haver somente cores insaturadas (zero croma), o que é inconveniente em relação a outras cores que possam existir na natureza, por exemplo aquelas em uma gama mais ampla de, por exemplo um dispositivo de exibição com faixa dinâmica mais alta. Por exemplo, o que fazer com uma cor que foi esmaecida em termos de brilho para a LDR (faixa dinâmica mais baixa), mas que ainda reside no cone superior? Altera-se pesadamente sua saturação, ou talvez se diminua ainda mais? E se essa cor estiver somente em um espaço intermediário que serve para ainda ser mapeado para reforço para um espaço maior, novamente?
[089] Assim, para essas situações, em adição a saturações teóricas de qualquer cor, pode ser necessário olhar para a saturação e as modificações de saturação em qualquer espaço limitado de cores admissíveis. Ter qualquer transformação matemática dentro desse tipo de espaço (tipicamente em formato de cilindro), especialmente útil quando se mapeia entre espaços que podem pelo menos ser amplamente colocados (como, por exemplo um espaço RGB em HDR em escala [0,1] em um espaço RGB em LDR) tem a vantagem de produzir cores existentes, em vez de transformações que saem do espaço e ainda precisam ser traduzidas em cores realizáveis, mas a natureza não linear da matemática pode distorcer outros correlatos de aparência, como luminosidade ou matiz. Se é possível desenhar gama/espaço com início e fim em 3D em qualquer formato, em princípio não é necessário preocupar-se tanto com isso, já que se pode desenhar qualquer estratégia de mapeamento.
[090] Pode-se lidar com muitas dessas complicações ao se ter um classificador de cores para fazer as transformações desejáveis, desde que ele tenha um mínimo (embora tipicamente simples, é preciso também considerar que essas transformações tipicamente indicam mapeamentos necessários para renderizações suficientemente fiéis, ou pelo menos aprimoradas em comparação à renderização cega, determinando as cores correspondentes dependentes da situação de renderização para vários dispositivos de exibição, isto é, os ICs de hardware ou o software nesses dispositivos de exibição ou caixas de processamento de vídeo conectadas, deveria de preferência usar somente funções matemáticas simples, com a complexidade sendo manipulada mediante a amostragem de todos os cenários de renderização de cores possíveis a serem relacionados pelo classificador, que define algumas situações de classificação importantes entre as quais pode-se, então, ser interpolada para outras situações de renderização intermediárias) conjunto de funções matemáticas para determinar saturação que ele possa especificar.
[091] É fato conhecido que o mapeamento entre diferentes faixas dinâmicas pode levar a cores que são ou muito pastel, ou muito saturadas como uma revista em quadrinhos, e a situação pode ser complexa com alguns classificadores tendo potencialmente desejos críticos (por exemplo, um pode ser crítico em relação a faces, mas também em relação aos tons de azul na água, ou mesmo a aparência de cor de nuvens escuras).
[092] O presente processamento inovador da saturação pode ser usado não apenas em classificações técnicas, mas de fato em qualquer imagem classificada (por exemplo, HDR principal, ou uma classificação em LDR; para se obter qualquer outra classificação de imagem, com uma faixa dinâmica diferente ou similar; isto é, com aparência ótima quando renderizado, por exemplo em um dispositivo de exibição HDR 2000 nit), e mesmo em capturas da câmera em formato bruto, sejam introduzidas em um outro aparelho como um computador de classificação, ou mesmo ainda na câmera. Para descrever o processamento em princípio não se necessita do espaço de cor de entrada (o qual pode ser o mesmo que o espaço de saída, ou de qualquer outra coisa, por exemplo um espaço maior), portanto o mesmo será descrito com o espaço de saída de qualquer codificação de cores (seja como intermediário, ou dependente de dispositivo diretamente passível de uso para renderização). Será descrito o princípio com um espaço Luv do tipo cilíndrico, isto é, as direções planas das quais se mostra somente o eixo u (vermelho-verde) na Figura 15a, formam triângulos do mesmo tamanho ao longo do eixo de luminância normalizado L, até que a tenda comece a se encolher em direção ao branco. É claro que outras possibilidades podem ser similarmente implementadas, e em vez de uma luminância física pode-se usar uma quantidade mais psicológica, por exemplo uma luminosidade como o terceiro eixo. A gama de todas as cores realmente realizáveis é 1501. Agora, pode-se aplicar uma transformação matemática que move as cores (seja dentro ou fora da gama) em uma direção de aumento ou diminuição da saturação, o que é representado pela curva 1503. Embora isso ilustre o princípio matemático, a Figura 15a pode, tipicamente, também ser a vista da interface de usuário que um classificador de cores vê em uma de suas subjanelas, uma janela principal obviamente mostrando o efeito sobre a aparência da cor das transformações em uma imagem a ser classificada ou reclassificada. Em princípio, pode-se usar qualquer matemática para a saturação, mas de preferência será uma função que amplamente desacopla as coordenadas, isto é, tem majoritariamente um efeito sobre a saturação, em pouco ou nada alterando o matiz, a luminância ou a luminosidade. Na prática (embora o espaço seja obviamente apenas um modelo simplista da real aparência da cor, ao final ainda pode haver algum efeito colateral visível sobre os aspectos das cores não relacionados à saturação) a matemática pode ser uma matemática ortogonal, portanto embora seja mostrada uma variante genérica com uma curva de alteração de saturação ligeiramente fletida (isto é, também ligeiramente clareando as cores ao saturá-las), muitas vezes isto será apenas uma linha no plano ortogonal ao eixo L. Para ter um controle fácil e, ainda assim, poderoso sobre as saturações dos objetos ou regiões, conferindo uma aparência total a uma imagem, o classificador tem agora uma possibilidade de não somente definir um multiplicador de saturação global, como um multiplicador que depende da luminância das cores a serem processadas. Essa função a_s=f(L) pode ser registrada como uma função paramétrica ou uma tabela de pesquisa. A luminância relevante Li, que define quais cores devem ser selecionadas para processamento, é determinada pela cor acromática na curva 1503. Agora, a única coisa necessária é algum nível de saturação de referência S_ref (1502), o qual poderia ser equiparado a um valor normalizado 1. Presume-se, nessa modalidade exemplificadora, que a saturação seja definida como o comprimento Euclidiano, isto é, sqrt(u*u+v*v) e, por exemplo em um espaço Lab que seria sqrt(a*a+b*b), mas é claro que outras definições seriam possíveis. Uma escolha prática para esse nível de referência seria colocá-lo na posição (u,v) da mais saturada das três (R,G,B) ou mais cores primárias que definem o espaço de cor. Agora, uma maneira rápida e simples, e em geral suficientemente precisa, para definir a curva de saturação a_s=f(L) consistiria na determinação, pelo classificador, de pontos de amostra para um certo número de luminâncias (nível 1504 etc.) no eixo de luminância. Ele os marca com pontos 1505. A posição desses pontos determina a saturação, e se consiste em um reforço ou uma redução. A distância Euclidiana do ponto 1505 ao eixo L é comparada à distância da manga cilíndrica de referência, S_ref, e é por exemplo, 0,3 com S_ref=1, então isso significa que todas as cores com aquela luminância deveriam ser esmaecidas multiplicando-se sua saturação por 0,3 (note-se que operações multiplicativas devem ser suficientes para processamento da saturação, embora outras funções também possam ser similarmente usadas, é claro). Na região mais escura, o ponto 1513 especifica um reforço de saturação para aqueles vermelhos.
[093] Então diga-se, por exemplo que - não importando como foi gerada a imagem de entrada, por exemplo mediante submapeamento a partir de uma imagem principal em HDR - se o classificador considera que as cores mais claras têm suficiente qualidade, mas as cores mais escuras se beneficiariam de um reforço na saturação, ele pode determinar um nível de luminância (por exemplo, 0,25) e, para aquela posição, especificar um ponto em, diga-se, 1,8. Para poupar tempo, o algoritmo determinará uma curva completa abrangendo a totalidade da faixa de luminância de 0,0 a 1,0 a partir daquilo, por exemplo pode-se aplicar uma interpolação linear que é 1,8 de redução para pretos, e aplicar um multiplicador de 1,0 a cores acima do nível L- 0,25 (é claro que podem ser usadas outras estratégias de interpolação pelo software, por exemplo estrias, e o classificador pode adicionar pontos adicionais se quiser um ajuste fino adicional da aparência da cor). Embora não seja necessário, pode ser vantajoso se o classificador também observar o volume das cores realmente ocorrendo na imagem 1506. Na Figura 1506, é mostrada somente a situação inicial antes do processamento da saturação, mas tipicamente a situação final (ou um volume em alteração contínua) também será mostrado, o qual em adição a observar a imagem processada real (intermediária ou de saída), oferece ao classificador uma ideia de onde as cores se movem para perto do limite da gama e pode ocorrer corte ou corte suave (pode haver uma estratégia integrada para alterar não linearmente o multiplicador quando dentro de uma certa região em relação ao limite de gama; e essas opções para definição de comportamento serão tipicamente ativadas ou desativadas no software pelo classificador, antes de iniciar sua classificação). Embora essas dependências somente de luminância sejam suficientes para muitas situações, pode ser vantajoso se o classificador puder definir comportamentos diferentes para matizes diferentes. Por exemplo, ele pode especificar 4 LUTs para 4 setores de matiz. Conforme explicado acima, o mesmo reforço ou diminuição da saturação seria aplicável às direções de vermelho e verde a partir do eixo L mas, conforme visto, o volume de cores 1506 pode estar mais próximo ao limite da gama na direção do verde que na direção do vermelho, por exemplo pois a tomada atual do filme, ou a imagem estática atual, é de uma cena de floresta (e, em uma saturação de classificação anterior pode ter sido ajustada para cima, para emular uma aparência ensolarada em uma codificação em LDR). Então, o classificador pode demarcar setores de matiz, e especificar o processamento da saturação de maneira similar ao descrito acima. Um exemplo mais complexo é apresentado, também, onde um único comportamento multiplicativo não é suficiente para pelo menos um nível de luminância (e, talvez, setor de matiz) na imagem. Por exemplo, os vermelhos escuros podem ser intensificados para fazer com que uma Ferrari parada em uma parte mais escura da imagem (diga-se, uma garagem) pareça mais bonita, mas quando essas cores também ocorrem em rostos, estes podem se tornar muito avermelhados. Para tanto, o classificador pode definir uma segunda referência de saturação S_ref2 (1510), a qual irá agora, tipicamente, também servir como uma demarcação de região de cor determinando quais cores de “face” serão processadas. Em comparação a esse nível, o pentágono 1511 agora mostra que as saturações ali deveriam ser esmaecidas em, por exemplo 0,75. A Figura 15b mostra, então, como esse comportamento irá, então, modificar a saturação das cores com luminâncias similares àquelas do nível L correspondente ao pentágono 1511. Em várias situações, um comportamento descontínuo pode ser suficiente, já que a face pode ocupar uma parte do espaço de cor e, então, pode não haver outras cores até a Ferrari, mas a suavização de transições 1520 pode, também, ser aplicada, seja automaticamente pelo software, ou ajustada nesse tipo de gráfico em uma subjanela, pelo classificador. Também nas outras direções, pelo menos na luminância e, se necessário, também no matiz, o classificador pode determinar em que faixa esse comportamento deveria ser aplicado, por exemplo um nível de luminância superior 1512 (e, de maneira similar, um nível de luminância inferior poderia ser especificado). Fora dessa faixa, o processamento da saturação pode passar de maneira descontínua ao outro comportamento especificado, ou isso pode ocorrer mais gradualmente, se necessário.
[094] Embora esse processamento possa, em princípio, ser aplicado a qualquer situação de processamento da saturação de qualquer imagem, é particularmente útil quando se alterando entre classificações para renderização de cenários com diferentes faixas dinâmicas (isto é, por exemplo determinar uma codificação otimamente classificada, adequada para acionar um dispositivo de exibição HDR de 4.000 nits em um ambiente de visualização à meia-luz, com base em uma codificação LDR, ou vice-versa). O espaço HDR pode, então, ser normalizado para a mesma faixa [0,0, 1,0] que o espaço LDR, embora isso não seja necessário. Se isto for feito em um cenário de possibilidade de ajuste (no qual as classificações são definidas para serem capazes de realizar uma renderização de boa qualidade sob vários cenários de renderização, tipicamente o pico_de_branco do dispositivo de exibição e o ambiente circundante, onde essas classificações realmente constituem uma amostragem aprovada pelo criador de conteúdo de como a cena deveria parecer sob várias situações, evitando o problema de modelagem da aparência de cores complexas e convertendo o mesmo em simples interpolação entre classificações representativas), o processamento será tipicamente cocodificado sob a forma de metadados para uma codificação da imagem de entrada, para que qualquer sistema de renderização o aplique adequadamente (por exemplo, se um televisor tiver um brilho intermediário às duas classificações, por exemplo sendo o original uma classificação LDR de 100 ou 500 nits, e o processamento da saturação fazendo parte de uma estratégia de mapeamento para obter uma classificação de 4.000 nits, um dispositivo de exibição de 2.000 nits pode decidir aplicar, por exemplo metade da quantidade de reforço sugerida, ou determinar uma estratégia não linear iniciando a partir das informações cocodificadas de comportamento de saturação).
[095] A Figura 16a mostra uma modalidade exemplificadora de um aparelho de classificação 1600, disposto de modo a ser capaz de aplicar um processamento da saturação a uma imagem de entrada Im_i (diga-se, por exemplo uma classificação LDR que precisa ser convertida em uma imagem em faixa dinâmica média, MDR, para um dispositivo de exibição de 1.200 nits; em que o classificador tem (pelo menos) esse dispositivo de exibição de 1.200 nits 1602 conectado para ver o resultado de suas especificações) e, adicionalmente codificando, também, a especificação em um sinal de vídeo S_o, o qual tipicamente codifica os pixels de vídeo de acordo com um padrão, como um padrão MPEG, e o processamento da saturação funciona como metadados para o mesmo, por exemplo em partes do sinal, ou pacotes de transporte separados que podem ser associados ao vídeo por meios como um PMT e um tempo de apresentação, ou outros meios para definir um número de imagem específico no vídeo ao qual o processamento corresponde (por exemplo, todas as imagens até o tempo de apresentação dos próximos dados de função de processamento da saturação). O aparelho de classificação compreende pelo menos uma unidade de processamento da saturação 1601, a qual está disposta de modo a aplicar a alteração de saturação a uma imagem de entrada, de acordo com qualquer dos métodos esclarecidos acima. Como saída, o mesmo pode produzir uma imagem de saída Im_o (por exemplo, com saturação reforçada), mas também uma codificação P_s da função de processamento, por exemplo um LUT a=ai(Li). Um codificador 1610 formatará isso de acordo com os requisitos de uma codificação padronizada de sinal de vídeo acordada (atual ou futura). Pode ser vantajoso facilitar a interação do usuário se houver uma unidade de análise de imagens 1603. Essa unidade examinará pelo menos a definição de como a imagem é codificada, por exemplo para determinar os pontos triangulares de R,G e B da gama 1501, porém pode também gerar, por exemplo o volume 1506. Uma unidade de interação do usuário 1605 implementa (tipicamente em software) todas as funções que permitem ao usuário especificar um comportamento de modificação da saturação e, em geral, interage com a imagem (por exemplo, define os limites de matiz para um processamento específico). Assim, isso permitirá que, com base em informações inseridas pelo usuário usr_inp (por exemplo, a partir de um teclado ou de um teclado especial de classificação), por exemplo sejam colocados os pontos indicando a quantidade de reforço ou diminuição da saturação.
[096] Qualquer aparelho de recepção, por exemplo um aparelho de processamento de vídeo 1650, pode receber esse tipo de sinal codificado S_o, e aplicar o processamento de saturação especificado, ou diretamente, ou derivando seu próprio processamento de saturação ótimo com base no mesmo. O aparelho de processamento de vídeo compreende pelo menos uma unidade de processamento da saturação 1651, disposta de modo a aplicar essa estratégia de saturação dependente da luminância, conforme descrito acima, na imagem de entrada Im_i. Essa imagem de entrada pode ser obtida de várias maneiras mas, tipicamente, o aparelho de processamento de vídeo 1650 pode compreender um decodificador 1653, disposto de modo a realizar, por exemplo a decodificação de vídeo em AVC ou HEVC para obter uma imagem colorida pixelizada Im_i, e a decodificação de metadados das funções de processamento da saturação, convertendo em um formato utilizável internamente (por exemplo, essas informações poderiam ser codificadas de várias maneiras, como codificação de comprimento de execução, ou o decodificador pode querer converter a especificação em uma outra com precisão diferente, etc.). Em geral, o processamento da saturação formará parte de um processamento/mapeamento geral de cores realizado por uma unidade de processamento de cores 1652, a qual pode também mapear as luminâncias das cores de Im_1 para novos valores (por exemplo, se a imagem de entrada for uma imagem em HDR codificada em [0,0-1,0], as partes mais escuras podem ser demasiadamente escuras para serem usadas para renderização em LDR, e podem precisar ser tornadas mais brilhantes, seja antes (de preferência) ou depois do processamento da saturação). O aparelho de processamento de vídeo 1650 produz uma imagem de saída Im_o, a qual pode por exemplo, ser diretamente adequada em um dispositivo de exibição específico (pode, é claro, haver conversão adicional, como para levar em conta aspectos do dispositivo de exibição, como seu EOTF interno, mas isso não é importante para a presente discussão), ou a Im_o pode ser produzida para outro uso, por exemplo para armazenamento em uma memória, como um disco blu-ray, ou em um servidor de vídeo etc. Esse aparelho de processamento de vídeo 1650 pode, por exemplo ser incorporado a um televisor, computador ou conversor, ou um aparelho profissional, por exemplo um manipulador de vídeo de cinema digital para uso em cinemas, ou um sistema de computador de um departamento de análise de imagens etc.
[097] Para esclarecimentos adicionais, são oferecidos dois exemplos de possível uso em um cenário de possibilidade de ajuste, na Figura 17. Na Figura 17a, deseja- se derivar cores em LDR a partir de uma classificação HDR principal, de acordo com critérios do classificador como bom contraste local, aparência simulada de fontes de luz ou áreas brilhantes, etc. Para o mapeamento de tons na direção de luminância, presume-se o uso de uma cromaticidade (u,v) preservando o mapeamento, mas não se deseja escalar tudo até o máximo da gama de saída, como em EP12187572. Isso apresenta o risco que algumas cores caiam fora da gama de saída G_LDR, mesmo que todas as luminâncias sejam colocadas dentro da faixa encimada por L_LDRm. O classificador pode resolver esse problema técnico por um equilíbrio ótimo artístico de brilho versus saturação ao, antes de submapear a luminância, fazer uma diminuição da saturação no espaço de cor de entrada HDR (seta 1701). A Figura 17b oferece um outro exemplo, desta vez com uma codificação intermediária. O que se vê é o espaço de entrada e de saída (e a gama) sendo definidos de uma maneira similarmente normalizada e, consequentemente, colocada. Tem-se uma codificação de imagem intermediária de uma imagem em HDR (isto é, uma imagem com suficiente informação de luminância para ser usada em renderização HDR), a qual foi porém codificada (ajustada) um tanto para ser também ainda razoavelmente renderizável em um dispositivo de exibição com faixa dinâmica mais baixa (ou diretamente ou com alguma otimização final de mapeamento de cores, tipicamente implementado por uma unidade de mapeamento de cores no lado do dispositivo de exibição, por exemplo dentro do dispositivo de exibição). Isto significa que, por exemplo uma região brilhante de ambiente externo foi codificada com valores de luminância no ponto onde se inicia a seta de mapeamento de luminância TM_L2H. A compensação consistiu em dar algum reforço de brilho nessas regiões da imagem e suas cores (quando usadas, por exemplo diretamente em uma renderização de faixa dinâmica mais baixa), e então a saturação precisou ser reduzida devido ao formato matemático da gama. Para renderização em HDR, deseja-se que essas regiões sejam brilhantes, porém não perto do máximo da gama, já que essas luminâncias são reservadas para lâmpadas e explosões, isto é, na gama G_HDR da saída HDR normalizada, é necessário transformar as cores, dando às mesmas luminâncias mais baixas (em regiões de luminância L_os). Agora, essas cores parecem mais pálidas do que deveriam (poderiam) ser, então o classificador irá coespecificar um reforço de saturação para obter a renderização final, mas para aquelas luminâncias (pelo menos), pois outras regiões do espaço de cor podem estar bem.
[098] Tipicamente, o exposto acima será realizado sob a forma de várias modalidades de um aparelho de classificação de cores da imagem (1600), o qual compreende: - uma entrada (240) para uma imagem de entrada colorida (Im_i), e - unidade de interação do usuário (1605) disposta de modo a permitir que um classificador de cores especifique uma estratégia de processamento da saturação que compreende pelo menos um primeiro fator de alteração de saturação para uma primeira faixa de luminâncias de cores a serem processadas, e um segundo fator de alteração de saturação diferente para uma segunda faixa de luminâncias das cores a serem processadas, em que o primeiro e o segundo fatores de alteração de saturação são, de preferência, multiplicativos.
[099] O pelo menos um fator caracterizante para a alteração de saturação dependente de luminância poderia consistir em vários, por exemplo um coeficiente poderia especificar um comportamento de alteração de saturação parabólico ou sigmoidal ao longo de pelo menos uma linha de luminância constante (ou aproximadamente constante) (por exemplo, o comportamento sigmoidal em uma plotagem como na Figura 15b pode iniciar com uma pequena diminuição da saturação e, então, um crescimento sigmoidal até um grande reforço para valores mais altos, até algum máximo que teria início cortando uma quantidade considerável de cores altamente saturadas na imagem de entrada, mas é claro que um parâmetro adicional poderia ser codificado para aquele nível de luminância, para diminuir novamente o reforço de saturação naquelas áreas para 1,0 ou mesmo abaixo, para fazer com que aquelas cores se encaixem melhor na gama disponível), mas em muitas situações um fator multiplicativo alterando uma saturação de entrada s_in em uma saturação de saída s_out=a*s_in terá suficiente complexidade de controle e precisão visual.
[0100] Embora algumas modalidades possam apenas especificar para uma ou uma pequena região de luminâncias um fator caracterizante do processamento da saturação (o restante das cores, por exemplo ficando no padrão de permanecer igual, o que seria idêntico a multiplicar por um fator de 1,0), pode ser vantajoso especificar fatores para a totalidade da faixa de luminância de cores possível na imagem de entrada (por exemplo, 0,0-1,0) ou alguma outra faixa de luminância, da qual algumas cores podem ter o processamento da saturação definido, mesmo que não ocorram na imagem de entrada. Isso pode ser feito, seja realmente especificando as mesmas (por exemplo, o algoritmo criando uma interpolação contínua e o classificador aceitando ou corrigindo isso), o que pode ser cocodificado no sinal de imagem S_o, por exemplo sob a forma de um LUT de precisão suficiente (o qual ainda poderia ser adicionalmente interpolado em um lado de recepção), mas é suficiente se o processamento necessário para cada cor possível com a luminância Li for derivável, isto é, os metadados especificando a estratégia de processamento da saturação para um receptor pode apenas compreender os parâmetros funcionais, ou as posições dos pontos como 1505 etc.
[0101] Se for necessária mais precisão, pode ser vantajoso se aquela unidade de interação do usuário (1605) permitir a especificação do processamento da saturação com base em propriedades adicionais das cores no espaço de cor, por exemplo uma dependência de matiz, por exemplo s_out=fi(L, h_i), em que há um conjunto de h_i’s sendo matizes centroides para os setores de matiz, e uma cor (u,v) é processada por um mapeamento de saturação com base na proximidade mais próxima a todos aqueles matizes centroides, ou uma outra definição dependente de matiz s_out=fi(L, f_hi()), em que f_hi() é alguma função ou estratégia algorítmica mapeando o matiz de uma cor de entrada para algum coeficiente i, o qual define uma estratégia específica de processamento da saturação. De maneira similar, pode haver várias estratégias para diferentes subfaixas de saturação de pelo menos uma faixa de luminância (em, ou em torno de, Li), e pode-se tratar os matizes complementares como se tivessem saturação negativa. Isso pode ser matematicamente definido, por exemplo s_out=fi(L, f_si()), em que agora há uma alocação categórica (por exemplo, booleana, se duas regiões estiverem envolvidas) com base na saturação de cores (u,v) da imagem de entrada a ser processada. Embora essa precisão seja de modo geral suficiente, pode-se em geral definir estratégias que diferem com base tanto no matiz como na saturação das cores nas subfaixas de luminância selecionadas.
[0102] Assim, foi descrito um método para especificar uma estratégia de processamento da saturação para uma imagem de entrada (Im_i), o qual compreende especificar pelo menos um primeiro fator de alteração de saturação para uma primeira faixa de luminâncias de cores da imagem de entrada a serem processadas, e um segundo fator de alteração de saturação diferente para uma segunda faixa de luminâncias de outras cores da imagem de entrada a serem processadas e, de preferência, compreendendo uma codificação dessa estratégia sob a forma de metadados associados à imagem de entrada, e variantes do mesmo.
[0103] Um aparelho complementar ao mesmo será um aparelho de processamento de vídeo (1650), que compreende; - uma entrada para uma imagem de entrada (Im_i), e - uma unidade de processamento da saturação (1651), disposta de modo a aplicar uma primeira alteração de saturação às cores da imagem de entrada que se enquadram em uma primeira faixa de luminâncias, e uma segunda alteração de saturação diferente às cores da imagem de entrada que se enquadram em uma segunda faixa de luminâncias, em que o aparelho de processamento de vídeo compreende meios para obter um primeiro e um segundo fatores de alteração de saturação que caracterizam a primeira e respectivamente a segunda alteração de saturação, em que esses meios compreendem, de preferência, um decodificador para decodificar o primeiro e um segundo fatores de alteração de saturação a partir dos metadados em um sinal de imagem (S_o). Embora esse aparelho possa fazer parte de um sistema em uma única localização ou em uso único, tipicamente um classificador ou reclassificador para conteúdo existente especificará as classificações uma vez e, então, em uma ocasião posterior e diferente, o uso dessas classificações ocorrerá pelo aparelho de processamento de vídeo. Isto pode ser, por exemplo tipicamente um aparelho destinado ao consumidor. O consumidor pode ter comprado um filme através da internet, o qual ele assistiu, por exemplo há 5 anos em seu dispositivo de exibição LDR. Agora, ainda tendo os direitos para assistir o conteúdo, ele indica ao módulo de gerenciamento no servidor que comprou um dispositivo de exibição HDR, e que deseja receber os metadados para as imagens do programa de vídeo, especificando entre outras coisas essa saturação. É claro que o usuário pode, também, comprar os metadados de processamento da codificação de vídeo (cores de imagem pixelizadas) + as cores (saturação) em um único produto de memória, por exemplo um disco blu-ray, um bastão de memória em estado sólido ou pré-instalado, por exemplo em um dispositivo reprodutor de vídeo, como um reprodutor portátil, etc.
[0104] Isso corresponde a um método de processamento de vídeo que compreende aplicar uma primeira alteração de saturação a cores de uma imagem de entrada que se enquadram em uma primeira faixa de luminâncias, e uma segunda alteração de saturação diferente a cores da imagem de entrada que se enquadram em uma segunda faixa de luminâncias, e as várias modalidades das mesmas de acordo com os princípios esclarecedores explicados acima.
[0105] A Figura 13 mostra um exemplo de como diferentes imagens em LDR podem ser obtidas para renderização. Neste exemplo, foi escolhida uma curva suave 1301 para classificação técnica, a qual permite recuperar todas as faixas de luminância da imagem em HDR principal original a ser codificada (qualquer que seja a faixa que esta possa ter tido) com uma precisão razoável. Quando isso é salvo na imagem em LDR tecnicamente classificada GT_IDR, um sistema legado “burro” renderizará, embora a imagem seja reconhecível, uma imagem um tanto suave em um dispositivo de exibição LDR, com contraste não preferencial nas regiões principais, como o ator. Qualquer sistema desse tipo poderia usar processamento automático para aumentar esse contraste ou, de outro modo, tentar otimizar a imagem, porém teria que fazê-lo às cegas. Seria muito melhor se o provedor de conteúdo pudesse codificar o que o lado de recepção pode fazer para obter uma classificação LDR melhor que a classificação técnica. Os dados necessários para especificar esse segundo mapeamento de tons a partir da GT_IDR com classificação técnica podem ser tão simples quanto especificar dois limites, gt_Mh e gt_Ml, os quais indicam onde residem as informações principais no espaço de código, e quais outras cores podem ser (seriamente) deterioradas às custas de outras. O sistema do lado de recepção precisa, então, apenas estirar as luminâncias levando em conta esses importantes valores. Isso foi mostrado em um gráfico 1302 que, quando aplicado diretamente ao dispositivo de exibição (com propriedades calibradas conhecidas, por exemplo comportamento padrão de gama e de ambiente de visualização) resultam em luminâncias renderizadas em x, de acordo com aquele gráfico. Neste exemplo, o mapeador de cores da extremidade de recepção decidiu estirar majoritariamente os pretos, ainda retendo um pouco da informação posterizada da HDR, porém isso pode ser renderizado sob o ambiente circundante dado, e decidiu usar uma estratégia de cortes duros, mapeando gt_Mh para branco (isto é, definindo o mesmo como o branco em LDR no espaço de cor total em HDR). Todas as cores acima podem, então, não ser renderizadas nesse dispositivo de exibição com, por exemplo 700 nits. É claro que podem ser cocodificadas especificações mais complexas sobre o que um mapeamento de cores do lado de recepção deveria fazer com a imagem codificada GT_IDR recebida, para obter aparência visual ótima em um ou mais dispositivos de exibição pretendidos (por exemplo, 700 nits fazem o processamento de X, 1.500 nits fazem o de Y), e tudo isso pode ser definido em funções de mapeamento de cores e aplicado com base na imagem GT_IDR recebida (por exemplo, valores de cinza característicos adicionais podem ajudar no aprimoramento parametricamente especificado adicional da classificação LDR a ser obtida, ou 1 estratégia de mapeamento explícita pode ser especificada para toda a faixa, por categoria de dispositivo de exibição receptor, e isso pode ser feito, por exemplo com um LUT de fatores de reforço [entre 1/X e Y] por valor de luminância). Assim, os sistemas de decodificação simples renderizarão uma imagem em LDR razoável, e decodificadores capazes de lidar com todas as presentes possibilidades produzirão ótimas imagens em LDR ou HDR, ou qualquer MDR (faixa dinâmica média), ou ODR (faixa dinâmica típica externa, como subLDR com contraste extremamente baixo). Embora a presente estrutura permita a especificação de classificações exatas para N LDR (e outros) cenários de visualização (por exemplo, televisor de 100 nits e 500 nits sob cenários de visualização escuro, à meia-luz e brilhante = 6 classificações), é claro que nem sempre é necessário renderizar uma classificação ótima, mas sim uma imagem de boa qualidade também serve, em alguns cenários. Isso foi ilustrado com a Figura 13, como mero exemplo. Suponha-se que se tem um programa jornalístico com iluminação em HDR que supostamente tem uma aparência muito boa, mas como a LDR é uma aproximação terá uma apenas uma aparência boa, e o classificador precisa ser capaz de definir seu sistema em um par de segundos antes de iniciar o programa jornalístico no estúdio. Para isso, pode-se definir dois limiares de demarcação adicionais, gt_H2 e gt_L2, de modo que o lado de recepção pode decidir como mapear as cores da GT_IDR para obter sua imagem de acionamento do dispositivo de exibição. Por exemplo, pode ser definido (mediante a cocodificação desses valores em códigos especificamente reservados, como MINIMAL_LDR_Low e MINIMAL_LDR_High, ou BROAD_LDR_Low e BROAD_LDR_High, ou mesmo mais delimitadores da subfaixa de LDR) que gt_ML e gt_Mh são os delimitadores “definitivos” da subfaixa de LDR da ação principal da cena em HDR, a qual ainda contém algumas das informações de HDR (como algumas partes já mais brilhantes no estúdio), e gt_L2 e gt_L2 contêm o “mínimo absoluto” necessário para renderização em LDR (por exemplo, nenhum corte (grave) das altas luzes nas faces). O mapeamento de cores no lado de recepção pode, então, selecionar sua estratégia para produzir uma imagem em LDR. Por exemplo, o mesmo pode definir uma estratégia proprietária de cortes suaves nas regiões entre gt_ML e gt_L2, e gt_H2 e gt_H2, após ter definido uma estratégia de estiramento para a faixa média de cores com boa renderização absolutamente necessária entre gt_L2 e gt_H2 (por exemplo, mapear estas para os valores 20 e 220). Mas se o sistema de recepção decidir fazer um mapeamento de estiramento duro da faixa [gt_L2, gt_H2] para [0,255] e corte externo, a renderização de LDR também terá uma aparência razoável. O lado de recepção poderia decidir escolher uma opção, por exemplo com base na quantidade de iluminação circundante disponível. Assim, observa-se que o sistema permite muitas possibilidades, desde sistemas de definição de classificação complexa rigorosamente controlados, a sistemas realmente simples que têm somente alguns parâmetros-guia cocodificados. A aparência de faixa dinâmica de uma classificação técnica pode, por exemplo ser LDR ou MDR (isto é, ter uma boa aparência em um dispositivo de exibição de referência de, por exemplo 1.200 nits). Mas o princípio é sempre desacoplar os requisitos técnicos (como reversibilidade, a qual é manipulada na relação HDR-GT_IDR) da liberdade artística (fazer uma recoloração arbitrária de todos os objetos de imagem em LDR, tanto quanto desejado pelo classificador a partir da GT-IDR, e uma função de mapeamento tão complexa quanto for necessário, embora tipicamente com um certo número de funções de base suportadas (as quais o decodificador precisa suportar), por exemplo mapeamento de luminância e cores multissubfunção (por exemplo, com LUTs), definição de segmentos de objeto local e funções de mapeamento para os mesmos, etc.). As interfaces de usuário podem ser muito simples para o classificador, por exemplo já que para muitos sistemas a posição precisa e com ajuste fino de gt_Mh, gt_H2 etc. podem não ter importância crítica, ele pode defini-las mediante a rápida marcação de um par de regiões da imagem atualmente capturada de uma cena, por exemplo o rosto da jornalista, a mesa atrás da qual ela está sentada e, se necessário, com uma outra caneta (definindo as regiões externas, como os brilhos acima de gt_Mh) a tela luminosa atrás de suas costas. É claro que mais informações podem ser fornecidas - por exemplo, com mais pontos característicos gt - por exemplo, sombras ou altas luzes na iluminação em HDR de sua face, ou da mesa, e isso tudo pode ser usado para estratégias mais complexas de mapeamento de cores. Além disso, podem ser feitas especificações adicionais dessas regiões, por exemplo uma função geométrica através de sua face, definindo uma trajetória de contraste, e funções para redefinir/remapear aquelas sob várias condições (por exemplo, deixar a extremidade da curva referente aos brilhos, mas clarear um pouco as partes escuras), etc. Tudo isso pode ser adicionado aos metadados, se necessário, mas em geral são preferidos sistemas simples com a quantidade mínima de dados necessários, e pelo menos uma faixa de LDR pode ser útil (mas uma segunda em torno das cores de uma pessoa também pode ser útil em alguns cenários).
[0106] A Figura 14 mostra um exemplo de como as classificações técnicas também podem funcionar com princípios colorimétricos. Suponha-se que se tem um espaço de cor matemático 1401 com definição de primárias, de modo que possam ser feitas menos cores saturadas do que pode ser necessário para alguns dispositivos de exibição previstos (talvez futuros), com gama física 1402. Isso pode não ser um grande problema para as cores mais escuras, já que o dispositivo de exibição pode realizar algum reforço da saturação, e pode haver suficiente informação registrada para que isso funcione bem (talvez mediante a aplicação de um filtro de remoção pós-bandas, se necessário). Na abrangência da gama, porém, poderia haver um problema, e é aqui que se pode querer ter algumas cores saturadas de alto brilho, em vez de cores mais pastel. Se isso for um problema, o classificador pode decidir definir sua classificação até um novo ponto de branco W* (mediante o preenchimento da tenda, deixando uma possibilidade de definir cores mais saturadas próximo às cores maximamente brilhantes), mas então, para evitar confusão, esse ponto de branco W* (sendo a cor mais brilhante possível de acordo com essa definição de código) pode ser cocodificado (para declarar que não é apenas uma cena “sem branco”). É claro que o lado de recepção pode, também, apenas considerar qual é a codificação mais brilhante na imagem de entrada, e fazer uma renderização com a mesma, já que de qualquer modo o sistema visual se adapta com um cinza parecendo branco para dispositivos de exibição brilhantes, mas então um sistema LDR pode usar o mesmo para reforçar algumas partes da imagem a seu máximo brilho.
[0107] O versado na técnica entenderá que muitas variantes são possíveis para os conceitos acima. Por exemplo, embora nos exemplos esclarecedores específicos nas Figuras se presuma que os dados dos mapeamentos de cores eram cocodificados com os dados de pixel da imagem (GT_IDR), por exemplo como metadados dentro de lugares reservados definidos no padrão de codificação da imagem, por exemplo mensagens SEI ou similares, ou dentro de uma seção reservada da memória, por exemplo uma seção do BD, é claro que outros exemplos podem transmitir os dados de mapeamento de cores por meio de um outro canal de comunicação diferente da GT_IDR. Por exemplo, o criador de conteúdo pode colocar restrições adicionais nas propriedades dos mapeamentos de cores ou na GT_IDR resultante, por exemplo pode dar ao mesmo uma aparência totalmente diferente daquela de M_HDR e Im- LDR, ou mesmo uma imagem feia, e fornecer os dados de mapeamento de cores por meio de um canal seguro mediante a verificação do receptor, ou do pagamento, etc.
[0108] Os componentes algorítmicos revelados neste texto podem (totalmente ou em parte) ser realizados na prática sob a forma de hardware (por exemplo, partes de um circuito integrado (IC) específico para aplicação) ou sob a forma de software em funcionamento em um processador de sinal digital especial, ou um processador genérico, etc. Os mesmos podem ser semiautomáticos em um sentido de que pelo menos algumas informações inseridas pelo usuário podem estar/estiveram presentes (por exemplo, na fábrica, ou inseridos pelo consumidor, ou outra informação inserida por um ser humano).
[0109] Deve ser compreensível para o versado na técnica, a partir da presente apresentação, quais componentes podem ser aprimoramentos opcionais e podem ser realizados em combinação com outros componentes, e como etapas (opcionais) de métodos correspondem aos respectivos meios de aparelhos, e vice-versa. O fato de que alguns componentes são revelados na invenção em uma certa relação (por exemplo, em uma única figura em uma certa configuração) não significa que outras configurações não sejam possíveis como modalidades sob o mesmo pensamento da invenção, conforme revelado para patente, no presente documento. Além disso, o fato de que, por razões pragmáticas, foi descrito somente um espectro limitado de exemplos, não significa que outras variantes não possam enquadrar-se no escopo das reivindicações. De fato, os componentes da presente invenção podem ser incorporados em diferentes variantes ao longo de qualquer cadeia de uso, por exemplo todas as variantes de um lado de criação, como um codificador, podem ser similares a, corresponderem a, aparelhos correspondentes em um lado de consumo de um sistema decomposto, por exemplo um decodificador, e vice-versa. Vários componentes das modalidades podem ser codificados conforme dados de sinal específicos em um sinal para transmissão, ou para uso adicional como coordenação, em qualquer tecnologia de transmissão entre codificador e decodificador, etc. A palavra “aparelho”, neste pedido, é usada em seu sentido mais amplo, especificamente um grupo de meios que permitem a realização de um objetivo específico, e consequentemente pode, por exemplo ser um (ou uma pequena parte de um) IC, ou um aparelho dedicado (como um aparelho com um dispositivo de exibição), ou parte de um sistema em rede, etc. Os termos “disposição” ou “sistema” também se destinam a serem usados em seu sentido mais amplo, então podem compreender, entre outras coisas, um único aparelho físico que pode ser comprado, uma parte de um aparelho, uma coleção de (partes de) aparelhos em cooperação, etc.
[0110] A denotação de produto de programa de computador precisa ser entendida como abrangendo qualquer realização física de uma coleção de comandos que permitem que um processador genérico ou para propósitos especiais, após uma série de etapas de carregamento (as quais podem incluir etapas intermediárias de conversão, como tradução para uma linguagem intermediária, e uma linguagem final de processador) envie comandos ao processador, para executar qualquer das funções características de uma invenção. Em particular, o produto de programa de computador pode ser realizado sob a forma de dados em um suporte, por exemplo um disco ou fita, dados presentes em uma memória, dados se deslocando por meio de uma conexão de rede - com fio ou sem fio - ou um código de programa em papel. Exceto pelo código de programa, os dados característicos necessários para o programa podem, também, ser incorporados sob a forma de um produto de programa de computador. Esses dados podem ser (parcialmente) fornecidos de qualquer maneira.
[0111] A invenção ou quaisquer dados passíveis de uso, de acordo com qualquer filosofia das presentes modalidades, como dados de vídeo, pode também ser incorporada sob a forma de sinaliza em suportes de dados, os quais podem ser memórias removíveis como discos ópticos, memórias flash, discos rígidos removíveis, dispositivos portáteis graváveis por meios sem fio, etc.
[0112] Algumas das etapas necessárias para o funcionamento de qualquer método apresentado podem já estar presentes na funcionalidade do processador ou quaisquer modalidades de aparelho da invenção, em vez de descritas no produto de programa de computador ou em qualquer unidade, aparelho ou método aqui descrito (com detalhes das modalidades da invenção), como etapas de entrada e saída de dados, etapas de processamento bem conhecidas e tipicamente incorporadas como acionamento de dispositivo de exibição convencional, etc. Os inventores desejam proteção, também, para produtos resultantes e resultantes similares, por exemplo os sinais inovadores específicos envolvidos em qualquer etapa dos métodos ou em qualquer subparte dos instrumentos, bem como quaisquer novos usos desses sinais, ou quaisquer métodos relacionados.
[0113] O termo sinal de imagem tipicamente significa, no presente documento, qualquer das maneiras existentes ou similares para comprimir dados de imagem. Exceto por uma estrutura pixelizada de tuplas de cor, as quais se chama de imagem (ou figura), esse tipo de sinal pode conter metadados como descritores para o significado dos dados, por exemplo a razão de aspecto da imagem, e metadados adicionais contendo informações úteis relacionadas à imagem codificada, como para modificar a mesma em um lado de recepção, etc. Os sinais podem ter várias formas físicas/técnicas de modalidades, por exemplo podem ser definidos como modulações elétricas de uma onda portadora, ou bits representados sob a forma de depressões mecânicas, ou modificações de material, por exemplo um estado local de magnetização, etc.
[0114] Deve-se notar que as supracitadas modalidades ilustram a invenção, ao invés de limitá-la. Onde o versado na técnica pode facilmente realizar um mapeamento dos exemplos apresentados a outras regiões das reivindicações, por uma questão de concisão não foram mencionadas todas essas opções em profundidade. Exceto pelas combinações de elementos da presente invenção, conforme combinadas nas reivindicações, outras combinações dos elementos são possíveis. Qualquer combinação de elementos pode ser realizada em um único elemento dedicado.
[0115] Qualquer sinal de referência entre parênteses na reivindicação não se destina a limitar a reivindicação, nem é qualquer símbolo específico nos desenhos. A palavra “compreende” não exclui a presença de elementos ou aspectos não mencionados em uma reivindicação. A palavra “um” ou “uma” antes de um elemento não exclui a presença de uma pluralidade de tais elementos.

Claims (15)

1. CODIFICADOR DE IMAGEM (202), caracterizado por compreender: - uma entrada (240) para uma imagem de entrada com alta faixa dinâmica (M_HDR); - uma unidade de classificação de imagem (201, 301) disposta de modo a permitir que um classificador de cores humano especifique um mapeamento de cores a partir de uma representação (HDR_REP) da imagem de entrada com alta faixa dinâmica, para uma imagem com baixa faixa dinâmica (Im_LDR), por meio de um algoritmo de mapeamento de cores determinado por um ser humano, e disposta de modo a produzir dados que especificam o mapeamento de cores (Fi(MP_DH), Fi(MP_DL)); e - uma unidade de classificação automática (203, 303) disposta de modo a derivar uma segunda imagem de baixa faixa dinâmica (GT_IDR) mediante a aplicação de um algoritmo de mapeamento de cores automático Fi(MP_T) à imagem de entrada com alta faixa dinâmica (M_HDR), com um algoritmo de mapeamento de cores que atende a uma condição de que uma imagem reconstruída HDR (REC_HDR) que se enquadre em uma segunda exatidão predefinida a partir da imagem de entrada com alta faixa dinâmica (M_HDR) possa ser calculada mediante a aplicação de um segundo algoritmo de mapeamento de cores (CMAP_2), que é o inverso do algoritmo de mapeamento de cores automático Fi(MP_T), à segunda imagem com baixa faixa dinâmica (GT_IDR).
2. CODIFICADOR DE IMAGEM (202), de acordo com a reivindicação 1, caracterizado por estar disposto de modo a usar como a representação (HDR_REP) a imagem de entrada com alta faixa dinâmica (M_HDR) ou a segunda imagem com baixa faixa dinâmica (GT_IDR).
3. CODIFICADOR DE IMAGEM (202), de acordo com a reivindicação 1, caracterizado pela unidade de classificação de imagem (201) e a unidade de classificação automática (203) estarem dispostas de modo a aplicar uma função de mapeamento monotônico em um correlato de luminância de pixels em sua respectiva imagem de entrada, em pelo menos uma região geométrica da respectiva imagem de entrada correspondente à mesma região geométrica da imagem de entrada com alta faixa dinâmica (M_HDR).
4. CODIFICADOR DE IMAGEM (202), de acordo com a reivindicação 3, caracterizado pela unidade de classificação automática (203) estar disposta de modo a determinar a função de mapeamento monotônico (Fi(MP_T)) dos correlatos de luminância de pixels da imagem de entrada com alta faixa dinâmica (M_HDR) aos correlatos de luminância de pixels da segunda imagem com baixa faixa dinâmica (GT_IDR), de acordo com um critério que determina as respectivas faixas de correlatos de luminância de pixels da imagem de entrada com alta faixa dinâmica (M_HDR) alocadas aos respectivos valores únicos de um correlato de luminância de pixels da segunda imagem com baixa faixa dinâmica (GT_IDR), em que as respectivas faixas formam um conjunto de faixas de correlato de luminância que cobre a totalidade da faixa de possíveis valores de correlato de luminância para a imagem de entrada com alta faixa dinâmica (M_HDR).
5. CODIFICADOR DE IMAGEM (202), de acordo com qualquer uma das reivindicações 1 a 4, caracterizado por compreender um formatador de dados (220) disposto de modo a produzir, em um sinal de imagem (TSIG), a segunda imagem com baixa faixa dinâmica (GT_IDR) e pelo menos um dentre, ou ambos dentre, dados que descrevem o mapeamento de cores (Fi(MP_T)) entre a imagem de entrada com alta faixa dinâmica (M_HDR) e a segunda imagem com baixa faixa dinâmica (GT_IDR), e dados que descrevem o mapeamento de cores (Fi(MP_DL)) entre a imagem com baixa faixa dinâmica (Im_LDR) e a segunda imagem com baixa faixa dinâmica (GT_IDR).
6. DECODIFICADOR DE IMAGEM (401), caracterizado por estar disposto de modo a receber, por meio de uma entrada de sinal de imagem (405), um sinal de imagem que compreende uma segunda imagem com baixa faixa dinâmica (GT_IDR), e dados que descrevem um primeiro mapeamento de cores (Fi(MP_T)) que permite a reconstrução de uma reconstrução (REC_HDR) de uma imagem com alta faixa dinâmica (M_HDR) com base na segunda imagem com baixa faixa dinâmica (GT_IDR), e dados que descrevem um segundo mapeamento de cores (Fi(MP_DL)) que permite o cálculo de uma imagem com baixa faixa dinâmica (Im_LDR) com base na segunda imagem com baixa faixa dinâmica (GT_IDR), em que o decodificador de imagem compreende uma unidade de derivação de imagem (403), disposta de modo a derivar pelo menos a imagem com baixa faixa dinâmica (Im_LDR) com base nos dados que descrevem o segundo mapeamento de cores (Fi(MP_DL)) e as cores de pixel codificadas na segunda imagem com baixa faixa dinâmica (GT_IDR).
7. DECODIFICADOR DE IMAGEM (401), de acordo com a reivindicação 6, caracterizado por compreender uma unidade de configuração do sistema (402), disposta de modo a determinar se o decodificador está conectado a pelo menos um dentre um dispositivo de exibição com alta faixa dinâmica (411) e um dispositivo de exibição com baixa faixa dinâmica (416), e em que a unidade de configuração do sistema (402) está disposta de modo a configurar a unidade de derivação de imagem (403) para determinar pelo menos a reconstrução (REC_HDR), em caso de uma conexão ao dispositivo de exibição com alta faixa dinâmica (411), e disposta para configurar a unidade de derivação de imagem (403) para determinar pelo menos a imagem com baixa faixa dinâmica (Im_LDR), em caso de uma conexão ao dispositivo de exibição com baixa faixa dinâmica (416).
8. DECODIFICADOR DE IMAGEM (401), de acordo com as reivindicações 6 ou 7, caracterizado por ter como saída uma conexão com fio (410) ou uma conexão sem fio (415) a qualquer dispositivo de exibição conectável, e um formatador de sinal (407) disposto para transmitir pelo menos uma ou ambas dentre a reconstrução (REC_HDR) e a imagem com baixa faixa dinâmica (Im_LDR) a qualquer dispositivo de exibição conectado.
9. DECODIFICADOR DE IMAGEM (401), de acordo com as reivindicações 6 ou 7, caracterizado pela unidade de derivação de imagem (403) estar disposta de modo a determinar uma imagem adicional (FURTHGR), com base na reconstrução (REC_HDR) e na imagem com baixa faixa dinâmica (Im_LDR), ou na segunda imagem com baixa faixa dinâmica (GT_IDR) e nos dados que descrevem o primeiro mapeamento de cores (Fi(MP_T)) e nos dados que descrevem o segundo mapeamento de cores (Fi(MP_DL)).
10. DECODIFICADOR DE IMAGEM (401), de acordo com as reivindicações 6 ou 7, caracterizado pela entrada de sinal de imagem (405) estar conectada a uma unidade de leitura (409) disposta de modo ler o sinal de imagem a partir de um objeto de memória (102) como, por exemplo um disco blu-ray.
11. DECODIFICADOR DE IMAGEM (401), de acordo com as reivindicações 6 ou 7, caracterizado pela entrada de sinal de imagem (405) ser conectável a uma conexão de rede (408) para uma fonte de um sinal de imagem.
12. MÉTODO DE CODIFICAÇÃO DE IMAGEM, caracterizado por compreender: - acessar uma imagem de entrada com alta faixa dinâmica (M_HDR); - especificar, por um classificador de cores humano, um mapeamento de cores a partir de uma representação (HDR_REP) da imagem de entrada com alta faixa dinâmica para uma imagem com baixa faixa dinâmica (Im_LDR), como um algoritmo de mapeamento de cores determinado por um ser humano, e produzir dados especificando o mapeamento de cores determinado por um ser humano (Fi(MP_DH)); e - derivar automaticamente, por meio de software e/ou hardware de processamento de imagens, uma segunda imagem de baixa faixa dinâmica (GT_IDR) mediante a aplicação de um algoritmo de mapeamento de cores automático à imagem de entrada com alta faixa dinâmica (M_HDR), com um algoritmo de mapeamento de cores que atende a uma condição de que uma imagem reconstruída HDR (REC_HDR) que se enquadre em uma segunda exatidão predefinida a partir da imagem de entrada com alta faixa dinâmica (M_HDR) possa ser calculada mediante a aplicação de um segundo algoritmo de mapeamento de cores (CMAP_2), que é o inverso do algoritmo de mapeamento de cores automático Fi(MP_T), à segunda imagem com baixa faixa dinâmica (GT_IDR).
13. MÉTODO DE DECODIFICAÇÃO DE IMAGEM, caracterizado por compreender: - receber um sinal de imagem que compreende uma segunda imagem com baixa faixa dinâmica (GT_IDR), e dados que descrevem um primeiro mapeamento de cores (Fi(MP_T)) que permite a reconstrução de uma reconstrução (REC_HDR) de uma alta faixa dinâmica (M_HDR) com base na segunda imagem com baixa faixa dinâmica (GT_IDR), e dados que descrevem um segundo mapeamento de cores (Fi(MP_DL)) que permite o cálculo de uma imagem com baixa faixa dinâmica (Im_LDR) com base na segunda imagem com baixa faixa dinâmica (GT_IDR), e - derivar pelo menos a imagem com baixa faixa dinâmica (Im_LDR) com base nos dados que descrevem o segundo mapeamento de cores (Fi(MP_DL)) e nas cores de pixel codificadas na segunda imagem com baixa faixa dinâmica (GT_IDR) e, opcionalmente, também a reconstrução (REC_HDR) com base nos dados que descrevem o primeiro mapeamento de cores (Fi(MP_T)) e as cores de pixel codificadas na segunda imagem com baixa faixa dinâmica (GT_IDR).
14. SINAL DE IMAGEM, caracterizado por compreender uma segunda imagem com baixa faixa dinâmica (GT_IDR), e dados que descrevem um primeiro mapeamento de cores (Fi(MP_T)) que permite a reconstrução de uma reconstrução (REC_HDR) de uma alta faixa dinâmica (M_HDR) com base na segunda imagem com baixa faixa dinâmica (GT_IDR), e dados que descrevem um segundo mapeamento de cores (Fi(MP_DL)) que permite o cálculo de uma imagem com baixa faixa dinâmica (Im_LDR) com base na segunda imagem com baixa faixa dinâmica (GT_IDR).
15. OBJETO DE MEMÓRIA, por exemplo um disco blu- ray, caracterizado por armazenar um sinal de imagem conforme definido na reivindicação 14.
BR112015019787-6A 2013-02-21 2014-02-07 Codificador de imagem, decodificador de imagem, método de codificação de imagem, método de decodificação de imagem, sinal de imagem, e, objeto de memória BR112015019787B1 (pt)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201361767314P 2013-02-21 2013-02-21
US61/767,314 2013-02-21
US201361868111P 2013-08-21 2013-08-21
US61/868,111 2013-08-21
PCT/IB2014/058848 WO2014128586A1 (en) 2013-02-21 2014-02-07 Improved hdr image encoding and decoding methods and devices

Publications (2)

Publication Number Publication Date
BR112015019787A2 BR112015019787A2 (pt) 2017-07-18
BR112015019787B1 true BR112015019787B1 (pt) 2023-05-30

Family

ID=

Similar Documents

Publication Publication Date Title
US10182247B2 (en) HDR image encoding and decoding methods and devices
JP6596125B2 (ja) Hdrイメージの符号化のためのコードマッピング関数を作成するための方法及び装置、並びに、かかる符号化イメージの使用のための方法及び装置
US10027965B2 (en) HDR image encoding and decoding methods and devices
RU2616158C2 (ru) Устройства и способы для кодирования и декодирования hdr-изображений
RU2688249C2 (ru) Способы и устройства для кодирования hdr-изображений и способы и устройства для использования таких кодированных изображений
ES2737993T3 (es) Aparatos y métodos basados en región de brillo para codificación y decodificación de imágenes HDR
BR112014006977B1 (pt) Aparelho de processamento de imagem, aparelho codificador do sinal de imagem disposto para codificar uma imagem, método de processamento de imagem e método para transmitir um sinal de imagem disposto para codificar uma imagem
BR112021002187A2 (pt) codificador e decodificador de vídeo de alta faixa dinâmica, método de codificação de vídeo de alta faixa dinâmica de uma imagem de alta faixa dinâmica de entrada recebida e método de decodificação de vídeo de alta faixa dinâmica de uma imagem de faixa dinâmica intermediária recebida
ES2979319T3 (es) Manejo de múltiples fuentes de imágenes HDR
BR112015019787B1 (pt) Codificador de imagem, decodificador de imagem, método de codificação de imagem, método de decodificação de imagem, sinal de imagem, e, objeto de memória
BR112018010367B1 (pt) Aparelho para combinar duas imagens ou dois vídeos de imagens, e método para combinar duas imagens ou dois vídeos de imagens
BR112016027461B1 (pt) Método de codificação de uma imagem de alta faixa dinâmica, codificador de imagem disposto para codificar uma imagem de alta faixa dinâmica, decodificador de imagem disposto para receber um sinal de imagem de alta faixa dinâmica, e, método de decodificação de um sinal de imagem de alta faixa dinâmica
TR201906704T4 (tr) Bir hdr görüntüyü kodlamak için kod haritalandırma fonksiyonlarını yaratmak için yöntemler ve cihazlar ve böylesi kodlanmış görüntüleri kullanmak için yöntemler ve cihazlar.