BR112017002313B1 - Codificador para codificar um vídeo de entrada de alto alcance dinâmico, método para codificar um vídeo de entrada de alto alcance dinâmico, decodificador de vídeo para decodificar um vídeo de alto alcance dinâmico, decodificador de vídeo para decodificar um conjunto de imagens de vídeo de alto alcance dinâmico e método de decodificação de vídeo de um conjunto de imagens de vídeo de alto alcance dinâmico - Google Patents

Codificador para codificar um vídeo de entrada de alto alcance dinâmico, método para codificar um vídeo de entrada de alto alcance dinâmico, decodificador de vídeo para decodificar um vídeo de alto alcance dinâmico, decodificador de vídeo para decodificar um conjunto de imagens de vídeo de alto alcance dinâmico e método de decodificação de vídeo de um conjunto de imagens de vídeo de alto alcance dinâmico Download PDF

Info

Publication number
BR112017002313B1
BR112017002313B1 BR112017002313-0A BR112017002313A BR112017002313B1 BR 112017002313 B1 BR112017002313 B1 BR 112017002313B1 BR 112017002313 A BR112017002313 A BR 112017002313A BR 112017002313 B1 BR112017002313 B1 BR 112017002313B1
Authority
BR
Brazil
Prior art keywords
video
dynamic range
high dynamic
image
images
Prior art date
Application number
BR112017002313-0A
Other languages
English (en)
Other versions
BR112017002313A2 (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/EP2015/066653 external-priority patent/WO2016020189A1/en
Publication of BR112017002313A2 publication Critical patent/BR112017002313A2/pt
Publication of BR112017002313B1 publication Critical patent/BR112017002313B1/pt

Links

Abstract

CODIFICADOR PARA CODIFICAR UM VÍDEO DE ENTRADA DE ALTO ALCANCE DINÂMICO, MÉTODO PARA CODIFICAR UM VÍDEO DE ENTRADA DE ALTO ALCANCE DINÂMICO, DECODIFICADOR DE VÍDEO PARA DECODIFICAR UM VÍDEO DE ENTRADA DE ALTO ALCANCE DINÂMICO, E, MÉTODO DE DECODIFICAÇÃO DE VÍDEO DE UM CONJUNTO DE IMAGENS DE VÍDEO DE ALTO ALCANCE DINÂMICO. A presente invenção refere-se a um codificador (301) para codificar um conjunto de imagens (Im_5000) de entrada de vídeo de grande faixa dinâmica tendo cores de pixel com luminâncias menores que uma primeira luminância máxima (L_max_M), em um vídeo de grande faixa dinâmica codificado (Im_2000), sendo uma imagem de grande faixa dinâmica, isto é, com uma luminância máxima de exibição em uma tela com um brilho de pico correspondente de ao menos 900 nits, sendo que a definição da codificação permite a codificação de luminâncias de cor de pixel até uma segunda luminância máxima (L_max_C), que é menor ou igual a 50% da primeira luminância máxima, sendo que o codificador compreende: - uma unidade de regradação (320) disposta para permitir que um criador de conteúdo especifique ao menos uma função de mapeamento de tonalidade (F_2Tu, 601) para mapeamento de cor do vídeo de grande faixa dinâmica codificado (Im_(...).

Description

CAMPO DA INVENÇÃO
[001] A invenção refere-se à codificação de uma imagem (isto é, uma imagem estática), mas, de preferência, de mais imagens de grande faixa dinâmica (High Dynamic Range) (isto é, vídeo), e a sistemas e métodos técnicos correspondentes para conduzir as informações de imagem codificadas necessárias para um lado de recepção, e decodificadores para decodificar as imagens codificadas e, por fim, tornar as mesmas disponíveis para a tela.
ANTECEDENTES DA INVENÇÃO
[002] Após muitos anos de uso da tecnologia de codificação clássica de imagem/vídeo (começando com NTSC e continuando com MPEG 2 até MPEG-HEVC), que é chamada hoje de codificação de pequena faixa dinâmica (LDR), recentemente, pesquisa e desenvolvimento foram iniciados para determinar a próxima geração de codec de vídeo, que é capaz de manipular as assim chamadas imagens de grande faixa dinâmica (HDR) de cenas de HDR.
[003] Isso, por um lado, exigiria uma câmera que pode capturar a faixa dinâmica aumentada, ao menos, acima de 11 paradas (por exemplo, as câmeras atuais de ARRI chegam a cerca de 14 paradas) ou, de preferência, acima de 16 paradas. Algumas câmaras usam, por exemplo, uma exposição lenta e rápida e as misturam, ou outras câmeras podem usar divisão de feixes em direção a dois ou mais sensores de sensibilidades diferentes.
[004] Enquanto no imageamento clássico muitas das informações eram descartadas (recortadas), por exemplo, fora de uma sala ou carro, os sistemas de imageamento atuais podem capturar todas essas informações, e a questão é o que fazer com elas, em particular, quando são renderizadas em uma tela. 16 paradas devem ser suficientes para capturar muitas (embora não todas) das cenas de HDR, mas em uma tela não é necessário renderizar, por exemplo, um arco de solda tão brilhante em comparação a um brilho médio na cena real, e isso nem pode ser feito em telas típicas. Telas de faixa dinâmica maior estão atualmente emergindo, que têm um brilho de pico mais alto que o brilho de pico (PB) típico atual de 500 nits (ou para gradação de monitores de referência de 100 nits) das telas de LDR, como, por exemplo, televisões de 800 a 1.000 nits estão surgindo, e SIM2 produziu um monitor de 5.000 nits.
[005] Mas as especificações de codec de LDR não podem codificar suficientemente os detalhes nas imagens de HDR em um receptor, especialmente, quando também precisam levar em consideração as típicas limitações atuais, como, entre outros, o comprimento da palavra em números de bits das palavras de código representando, por exemplo, as luminâncias (como códigos chamados de lumas), que devem ser manipuladas por vários ICs (por exemplo, 10 bits por componente de cor pode ser desejável ao menos em algumas aplicações de comunicação de vídeo). Especialmente para um sistema de trabalho a curto prazo, não se deve desviar muito da tecnologia existente no campo, e, ainda assim, permitir a codificação, manipulação e exibição final da imagem, com imagens de HDR muito mais bonitas que uma imagem de LDR (por exemplo, lâmpadas mais fortes ou fogo mais realístico, escamas com mais contraste de um lagarto sob o sol, etc.).
[006] Uma imagem de HDR é uma imagem que codifica as texturas de uma cena de HDR (que pode conter, tipicamente, tanto regiões de muito brilho quanto escuras e até regiões de brilho intermediário com também vários valores de cinza significativos), com informações suficientes para a codificação de alta qualidade das texturas de cor dos vários objetos capturados na cena, de modo que uma renderização de qualidade visualmente boa da cena de HDR possa ser feita em uma tela de HDR de alta qualidade com alto brilho de pico como, por exemplo, 5.000 nits. A Figura 1 mostra uma imagem de HDR típica, a saber, uma loja de brinquedos à noite, com brinquedos ou caixas de cores vivas fortemente iluminados, em comparação com a iluminação média, pois alguns desses brinquedos estão próximos a lâmpadas locais, enquanto outros brinquedos estão longe, em regiões de sombra. Em contraste com as cenas diurnas nas quais o sol e o céu iluminam cada ponto de modo similar, à noite pode haver apenas algumas fontes de luz, que iluminam a cena de modo quadraticamente reduzido. Isso cria regiões de brilho 104 ao redor da própria fonte de luz e regiões mais escuras nos cantos mais distantes. Por exemplo, a entrada 114 do esgoto quase não recebe luz de nenhum ponto, de modo que é muito escura. Isto é, em uma cena noturna, pode-se ter, ao mesmo tempo, luminâncias na região da imagem (ou quando capturadas por uma câmera linear, luminâncias de pixel nessas regiões) acima de 10.000 nits para as próprias lâmpadas, e frações de um nit, por exemplo, 0,001 nit, para as regiões escuras, tornando a faixa dinâmica total de 10 milhões para 1. Sendo essa a faixa teórica do pixel mais brilhante em relação ao mais escuro, a faixa dinâmica útil pode, é claro, ser menor, já que não é necessário representar precisamente para o espectador algumas lâmpadas pequenas ou um pequeno trecho escuro atrás da entrada do esgoto, mas em cenas de HDR típicas, até a faixa dinâmica útil dos objetos normais de interesse pode ser acima de 10.000:1 (ou 14 paradas). O mapeamento cego dessas luminâncias, sem a redeterminação inteligente das luminâncias de pixel de objeto renderizadas para uma tela de brilho de pico 2.000 nits, significa que deveria “teoricamente” (presumindo que uma renderização de branco em relação ao pico seja suficiente para uma renderização de boa qualidade visual dessa cena exemplificadora) haver um mínimo de preto (visível) de ao menos 0,2 nits.
[007] A codificação de vídeo HDR (ou até mesmo de imagem estática) foi, apenas recentemente, pesquisada e tem sido uma tarefa desanimadora até o momento, e a comunidade de pesquisadores acredita que são necessários significativamente mais bits para codificar o brilho acima da faixa de LDR dos objetos em cena (por exemplo, codificações que codificam as luminâncias da cena diretamente), ou que é preciso alguma abordagem de duas camadas, sendo que, por exemplo, além de uma imagem de refletância do objeto há uma imagem de reforço de iluminação ou estratégias de decomposição similares. Um exemplo desse sistema de codificação de vídeo de HDR de duas imagens por instante de tempo pode ser encontrado em US8248486B1 ou WO2005/1040035.
[008] O requerente propôs recentemente uma abordagem de imagem única por instante de tempo muito mais simples (consulte WO2011/107905 e WO2012/153224), que é uma maneira paramétrica e funcional de codificar ambas as imagens de HDR e LDR, já que além de simplesmente codificar uma imagem de HDR única (também chamada de aspecto ou gradação), tipicamente adequada para telas com brilho de pico (ou, de fato, faixas dinâmicas) ao redor de um valor de referência anteriormente escolhido, por exemplo, 1.500 nits, também se deseja fornecer na presente estrutura outras telas com outras faixas dinâmicas no mercado. Isto é, como também existirão, por exemplo, telas portáteis de 500 ou 100 nits, em vez de deixar cegamente para o lado de recepção alterar a imagem de grande faixa dinâmica codificada para uma imagem de LDR com aspecto razoável por autoconversão, codifica-se simultaneamente em funções de processamento de cor (e os parâmetros que caracterizam seus formatos funcionais) como se obter uma imagem de LDR adequada a partir da imagem de HDR codificada, a saber, a imagem de LDR com a qual um criador de conteúdo concordaria.
[009] Com o termo “grande faixa dinâmica” (HDR) entende-se tipicamente que qualquer imagem (ou imagens), conforme capturada do lado de captura, tenha 1) uma alta razão de contraste de luminância em comparação com a codificação de LDR existente (isto é, razões de contraste de objeto de 10.000:1 ou mais podem ser obtidas pela codificação e todos os componentes da cadeia de manipulação de imagem até a renderização); e 2) as luminâncias de objeto capturado acima de 1.000 nits devem ser codificadas, ou mais especificamente, podem precisar ser reproduzidas acima de 1.000 nits para, dado o ambiente de reprodução, gerar alguma aparência desejada de, diga-se, uma lâmpada acesa ou exterior ensolarado. Ou a renderização de tal imagem (ou imagens) é HDR (isto é, as imagens precisam ser adequadas no sentido de que as mesmas contêm informações suficientes para a renderização de HDR de alta qualidade, e, de preferência, de uma maneira tecnicamente fácil de usar), o que significa que a imagem (ou imagens) é renderizada ou pretende-se que seja renderizada nas telas com brilho de pico de ao menos 1.000 nits (o que não implica que as mesmas não possam ser renderizadas em telas LDR de, por exemplo, brilho de pico de 100 nits, normalmente após o mapeamento de cor adequado redeterminar as luminâncias de vários objetos de imagem, de modo que as luminâncias de objeto resultantes sejam mais adequadas à faixa dinâmica de tela diferente e possivelmente ao ambiente de visualização).
[010] Ao se projetar um novo sistema de codificação de HDR, é preciso pesquisar e chegar a uma solução em relação a várias coisas consecutivamente, mesmo antes de se conseguir preencher detalhes de qualquer sistema de codificação prático, para o qual não havia um parecer uniforme adequado. Primeiramente: qual função de atribuição de código, que mapeia as luminâncias de objeto da cena até, por exemplo, lumas de 10 bits (ou mesmo 8, para sistemas de qualidade inferior ou, por exemplo, 12 para qualidade profissional) que codifica, de fato, as luminâncias a serem renderizadas para os pixels, deve ser usada? Os códigos que codificam o brilho percebível ou as luminâncias renderizadas serão chamados de lumas de pixel, pois esse foi o nome dado também na codificação de LDR, mas agora a função de atribuição de código pode ter uma possível alternativa, porém, ao menos muito diferente da função de atribuição de código gama 2.2 da codificação de vídeo de LDR. O versado na técnica entenderá que, quando for elucidada uma tecnologia com um comportamento de luminâncias, ou de modo equivalente lumas nas modalidades atuais, o processamento poderá ser feito nos próprios lumas, como quando se usa uma representação de cores Y’u’v’ na qual Y'é um luma determinado com uma função de atribuição de código predefinida e u' e v'são coordenadas de cromaticidade, ou de modo equivalente, em representações de RGB lineares ou não lineares. A escolha de uma função de atribuição de código pode ser formulada de modo equivalente, como definindo uma EOTF (função de transferência eletro-óptica) mestre, que define como um modelo de tela de referência teórico converte os códigos de luma ou lumas da imagem de HDR em luminâncias renderizadas na tela de referência. A variante de LDR foi fixada de modo bastante acidental em uma lei exponencial 2.2 ou a chamada função gama, do comportamento físico de pistolas de elétrons CRT, e por acaso funcionou psicovisualmente bem nos tipos de tela com brilho de pico de cerca de 100 nits e com imagens capturadas de acordo com uma filosofia de captura de LDR correspondente, com, entre outros, iluminação razoavelmente uniforme da cena, exposição correta e recorte de regiões de imagem menos interessantes.
[011] Segundo, mesmo antes de se definir uma função de atribuição de código distribuindo luminâncias a códigos ao longo de uma faixa de códigos (por exemplo, de 0 a 1013), deve-se definir o que é chamado de faixa de luminância mestre, que é uma melhor faixa para codificar a HDR típica. Essa etapa não deve ser ignorada. Em LDR, havia uma faixa, com exposição relativa ao cinza médio e branco e qualquer que fosse a faixa dinâmica que o sensor tivesse (e ignorando que talvez, por exemplo, uma leve inclinação de um filme de celuloide pode produzir uma imagem sem contraste, enquanto que uma imagem de câmera digital pode ter um recorte na extremidade branca e/ou submersa no ruído na extremidade preta da codificação). Os primeiros pesquisadores trabalhando em imagens estáticas acharam que faria sentido fazer a faixa linear das luminâncias típicas na cena (isto é, de frações muito pequenas de um nit até bilhões de nits), mas para a codificação de vídeo, levando-se em conta todos os aspectos práticos, não faz muito sentido, pragmaticamente, aumentar a faixa da luminância mestre para 1 bilhão de nits do sol.
[012] Entretanto, mesmo quando se entende que é preciso definir uma nova faixa de luminância mestre para manipular todas as típicas imagens de HDR (típicas após a gradação artística adequada para luminâncias do objeto que seriam adequadas para a tela, mesmo em tela de HDR de alta qualidade), a pré-concepção era de que a definição de uma única faixa de luminância mestre de HDR ampla o bastante seria suficiente para todos os cenários. Essas aplicações, que desejam uma imagem de HDR de uma cena, trabalhariam então sobre uma imagem recebida que foi codificada ao longo dessa faixa de luminância mestre, por exemplo, com luminâncias até uma luminância máxima sendo de 10.000 ou 5.000 nits.
[013] WO2014/009844 descreve um exemplo de tal sistema de codificação de vídeo de HDR com base em faixa de luminância, sendo similar às modalidades abaixo no sentido de também seguir a filosofia de codificação de imagem única por instante de tempo do requerente, em que uma única imagem é codificada para cada instante de tempo do vídeo, que, nesse ensinamento será uma primeira imagem de LDR (isto é, 100 nits), e, além disso, as funções de processamento de cor são codificadas em metadados associados com as únicas imagens, para convertê-las em uma segunda imagem sendo uma imagem de HDR (que poderia ser uma reconstrução de gradação mestre de (5.000 nits). Entretanto, os ensinamentos neste pedido de patente seguem a lógica da filosofia de design técnico de faixa de luminância mestre fixa única. Tipicamente, apenas uma única imagem de LDR e HDR são codificadas (a partir dessas informações pode haver outras imagens intermediárias calculadas em um lado de recepção, por exemplo, a imagem de LDR pode ser atualizada para uma imagem exigida para uma tela conectada de 1.200 nits, mas não há outra codificação de imagem de qualidade de HDR intermediária, inferior ensinada, isto é, apenas imagens de LDR de 100 nits são transmitidas). E essa imagem de HDR é a imagem mestre criada na faixa de luminância mestre de 5.000 nits e a imagem de LDR é uma imagem de uma tela de referência de 100 nits, como aconteceu na era LDR, e a imagem de HDR é, na verdade, codificada através da transformação funcional da única imagem de LDR comunicada. Isto é, nada, além da imagem de HDR mestre, por exemplo, 5.000 nits (HDR_ORIG, HDR_FIN) é ensinado além da imagem de LDR, que é tipicamente exigida para compatibilidade retrógrada com telas antigas, etc.
[014] US2014/097113 do requerente também ensina como se pode comunicar uma imagem de HDR, que pode ser a única imagem de HDR recebida, e a partir da qual outras gradações podem ser calculadas, mas este documento não menciona esse aspecto. O que essa técnica anterior ensina é que pode-se codificar imagens de várias faixas dinâmicas alternativamente na mesma tecnologia de recipiente de codificação de LDR existente. É preciso indicar que versão foi usada, de modo que o receptor não possa se confundir. Por exemplo, os pixels de imagem poderiam ter cores definidas com 3 componentes de cor R, G e B de 16 bits, de acordo com uma definição de codificação de LDR padrão (isto é, com uma função de atribuição de código Rec. 709). Nesse caso, o receptor saberá que essa é uma gradação para uma tela de 100 nits, e, dessa forma, será exibida com uma luminância máxima exata ou aproximadamente igual a 100 nits, mesmo quando a tela tiver um brilho de pico de 2.500 nits e, poderia, assim, produzir imagens com esse brilho. Alternativamente, os mesmos componentes de cor R,G e B poderiam conter as cores de uma imagem de HDR de, por exemplo, 5000 nits, o que significa que os valores relativos das cores de pixel de um objeto serão diferentes (por exemplo, um objeto escuro pode ter um componente vermelho de 0,05 em LDR e 0,0005 em HDR). Caso as imagens codificadas pelo recipiente de LDR recebidas contenham, de fato, uma imagem de HDR, esse fato será indicado ao receptor por metadados, relatando qual é a codificação real. Dessa forma, o recipiente pode saber como renderizar idealmente em uma tela específica, através do seu próprio processamento de otimização. Por exemplo, se uma imagem de 5.000 nits for recebida e uma tela de 4.500 nits estiver conectada, essa imagem poderá ser diretamente renderizada sem transformação colorimétrica anterior. Se, entretanto, uma tela de 100 nits estiver conectada, tal imagem de 5.000 nits recebida terá primeiro que ter sua gradação reduzida, mas isso não é necessário se uma imagem adequada de 100 nits foi recebida. Então, o que é ensinado na técnica anterior é que um receptor pode precisar fazer no seu lado alguma transformação de cor para otimizar, por exemplo, uma imagem de HDR recebida de 1.000 nits para uma tela de, por exemplo, 500 nits, mas nesse ensinamento nada é ensinado sobre como isso deveria ser feito, muito menos se e como isso deve ser facilitado através da comunicação de mais informações de um lado transmissor. Isto é, além de ensinar como codificar e especificar várias possíveis gradações de HDR e LDR, esse documento, entretanto, não ensina nada sobre configurações de sistema que têm, na verdade, ao menos duas codificações de HDR no lado transmissor, nem a recuperabilidade das mesmas em um lado receptor (nessa técnica anterior haverá apenas uma imagem de HDR, que equivaleria à presente gradação mestre de 5.000 nits).
[015] US2012/0230597 é apenas outra maneira alternativa de codificar UMA única imagem de HDR (diga-se, uma imagem de 5.000 nits), como uma imagem SDR + dados, possibilitando a reconstrução da imagem de HDR de 5.000 nits.
[016] US2011/0279506 é apenas um ensinamento da melhor forma de se mapear cores para uma impressora. Como impressoras são reproduções de pequena faixa dinâmica, e até de uma colorimetria subtrativa muito diferente da codificação de vídeo de televisões aditiva, poucas informações de valor podem ser extraídas.
[017] Pode parecer pouco lógico, a princípio, ao se formular um sistema de codificação de HDR, desviar da codificação de imagem de HDR máxima na faixa de luminância mestre única (entre outros, por que seria necessário qualquer outra coisa que não a melhor gradação possível da cena de HDR, aumentando para o que seria as luminâncias de objeto mais altas razoavelmente renderizáveis ou por que complicar as coisas com mais formas possíveis de definir HDR?), entretanto, o inventor achou que para uma classe de aplicações, haveria uma necessidade de ainda mais versatilidade em relação à definição dos códigos luma e a que luminâncias de HDR, ou mais precisamente a que luminâncias a serem renderizadas em uma ou mais telas, esses lumas corresponderiam.
BREVE DESCRIÇÃO DA INVENÇÃO
[018] O objetivo de ter uma tecnologia de codificação de vídeo de HDR mais versátil que será mais à prova do futuro é realizado por um codificador (301) para codificar um vídeo de entrada de grande faixa dinâmica compreendendo um conjunto de imagens (Im_5000) tendo cores de pixel com luminâncias menores ou iguais a uma primeira luminância máxima (L_max_M), em um vídeo de grande faixa dinâmica codificado (Im_2000), sendo que a luminância de qualquer pixel no vídeo de grande faixa dinâmica codificado (Im_2000) é menor ou igual a uma segunda luminância máxima (L_max_C) de ao menos 900 nits, e a primeira luminância máxima (L_max_M) é ao menos duas vezes a segunda luminância máxima (L_max_C), sendo que o codificador compreende: - uma unidade de regradação (320) disposta para permitir que um criador de conteúdo especifique ao menos uma função de mapeamento de tonalidade (F_2Tu) para mapeamento de cor do vídeo de grande faixa dinâmica codificado (Im_2000) de segunda luminância máxima menor (L_max_C) para uma reconstrução de vídeo de grande faixa dinâmica (Im_5000*) do vídeo de grande faixa dinâmica (Im_5000); e - um formatador disposto para gravar em um sinal de vídeo (S_im) o vídeo de grande faixa dinâmica codificado (Im_2000) e, como metadados, a ao menos uma função de mapeamento de tonalidade (F_2Tu, 601).
[019] Já que isso permite que o gradador especifique uma especificação de mapeamento de cor necessária muito precisa (F_2Tu) para mapear a gradação mestre de 5.000 nits na sala disponível para a faixa/gama de referência 2.000 nits que está disponível por razões técnicas. Então, contrário a qualquer ensinamento da técnica anterior ou que à primeira vista seria razoável, há, na verdade, duas gradações de HDR. A que o gradador pode fazer à vontade, e a uma que ele precisa otimizar para comunicação com ao menos um receptor. As luminâncias da primeira gradação mestre chegam a, por exemplo, 5.000 nits. As luminâncias dos pixels da codificação de HDR de fato comunicadas chegarão, possivelmente, a um máximo inferior (L_max_C), isto é, aparentemente, tornando essa gradação de HDR de menor qualidade. Esses máximos são associados às imagens com gradação e, por exemplo, tipicamente, os dados de cor de pixel da imagem de grande faixa dinâmica codificados serão suplementados com um indicador de metadados indicando que essa é uma gradação com luminâncias de até uma possível máxima de 2.000 nits (por exemplo, CODE_MAX = 2000). Tipicamente, também será uma função de atribuição de código de uso prático cuja forma funcional poderá também ser comunicada simultaneamente aos receptores em outros metadados. O gradador pode, assim, balancear a qualidade da codificação, que é, entre outros, relevante quando uma tela de 5.000 nits precisa de uma aproximação de Im_5000* da gradação mestre, mas, além disso, um receptor também precisa da imagem de Im_2000 para renderizar em telas de brilho de pico de cerca de 2.000 nits. O que o gradador escolher, as restrições de inversibilidade do conjunto de ferramentas definida da presente unidade de regradação garantirá a reconstrução razoável de Im_5000*. Isto é, o que será tipicamente comunicado simultaneamente como dado, especificando a matemática exata das funções de mapeamento de cor atualizado das imagens recebidas de 2.000 nits para as imagens de 5.000 nits, produzirá imagens de 5.000 nits que são suficientemente próximas às imagens de 5.000 nits para uma dada aplicação (isto é, tipicamente, as funções são assim projetadas na fábrica para uma aplicação de modo que, por exemplo, bandas ou ruído sejam razoáveis, em qualquer caso, para esta invenção, isso será um conjunto de funções de transformação de cor compreendendo ao menos uma função de mapeamento de tonalidade, que um gradador pode ajustar, isto é, tipicamente, selecionando ao menos uma das funções para derivar a Im_5000*, e então, com, por exemplo, deslizadores, especificar seu parâmetro como, por exemplo, uma inclinação de um segmento linear, e qualquer receptor pode, depois de receber as funções, simplesmente calcular a Im_5000* necessária). Outras modalidades podem usar cálculos técnicos para ajudar adicionalmente o gradador a obter o equilíbrio ideal da codificação simultânea de gradação/imagem de 2.000 nits e 5.000 nits na mesma imagem codificada única, estando ele ciente disso e envolvido nesse ajuste ou apenas focado unicamente em obter a melhor gradação de Im_2000 com base unicamente no seu julgamento artístico.
[020] Várias modalidades do codificador (301) podem usar valores combinados para a segunda luminância máxima (L_max_C), que são úteis para uma aplicação desejada (por exemplo, vídeo grátis da internet pode ter menos requisitos de qualidade). Os valores de L_max_C podem, tipicamente, situar-se entre 900 nits e 3500 nits, de preferência, por exemplo, 1000 ou 2000 nits. Essas são vistas como luminâncias máximas adequadas para codificações de vídeo pragmáticas que reutilizam tecnologias MPEG, como MPEG_HEVC/265, entre outras, por causa da correlação com um brilho de pico considerado médio das telas mais frequentemente implantados no mercado no futuro próximo.
[021] É vantajoso como uma modalidade, um codificador (301) para codificar um vídeo de entrada de grande faixa dinâmica, no qual a unidade de regradação (320) é disposta para permitir uma especificação da função de mapeamento (F_2Tu) que compreende uma especificação de mapeamento de cor, que aplica um mapeamento de tonalidade de aumento monotônico de formato arbitrário, e uma função de multiplicação de saturação dependente de luminância, cujas funções deverão ser usadas em um processamento de cor que aplica as alterações na luminância e saturação correspondentes, enquanto mantém a mesma matiz da cor de pixel nas imagens de saída da reconstrução do vídeo de grande faixa dinâmica (Im_5000*), como nas imagens de entrada do vídeo de grande faixa dinâmica codificado (Im_2000). Isso pode ser visto como a forma mais simples e versátil de mapeamento de cor em conformidade com o sistema técnico acima, e simples em termos de construção de codificador ou decodificador IC. Faz sentido usar um processamento que mantém a matiz constante e, então, por meio da transformação ótima das luminâncias e saturações de pixel, pode-se obter uma imagem desejada de regradação para a nova situação renderizada, em particular, o brilho de pico da tela conectada que está sendo fornecido com imagens com regradação ótima (observe que, de modo equivalente, pode-se especificar um processamento de luminância como um processamento de luma, mas não há nenhum detalhe que deveria ser elaborado para o principal conceito dessa invenção e suas modalidades). O leitor versado entenderá que, devido à complexidade semântica de uma cena e seus efeitos de HDR, um gradador pode desejar projetar um mapeamento complexo entre a gradação de HDR de qualidade mais baixa de 2.000 nits e a correspondente de qualidade mais alta (gradação mestre de 5.000 nits), mas tipicamente esses formatos funcionais aumentariam monotonicamente, já que não se quer inversão de brilho.
[022] É também vantajoso um codificador (301) para codificar um vídeo de entrada de grande faixa dinâmica, de acordo com uma das reivindicações acima, que compreende uma unidade de gradação adicional (325) disposta para especificar ao menos uma função de mapeamento de cor adicional (F_2T1, F_d2d), especificando como mapear as cores do vídeo de grande faixa dinâmica codificado (Im_2000) em um terceiro vídeo otimizado para renderização em uma tela com luminância de pico (PL_1, PL_2) que é diferente da primeira luminância máxima (L_max_M) e da segunda luminância máxima (L_max_C). Para cada tipo de tela popular existente no mercado, o gradador pode, através desse mecanismo técnico, especificar precisamente o processamento de cores necessário para obter a imagem mais adequada, como saída de vídeo renderizado. Ou o gradador pode especificar apenas algumas das gradações, por exemplo, a Im_2000 de 2.000 nits, a Im_5000* de 5.000 nits e a de Im_100 nits e deixar a tela descobrir, a partir dessas informações, qual processamento final deve aplicar quando exibir um brilho de pico maior ou menor que 2.000 nits. É útil, se o gradador puder ao menos especificar como se deve fazer nova gradação para uma outra situação de referência e, mais especificamente, uma gradação de LDR, já que a transformação entre várias gradações de HDR podem ser artisticamente e tecnicamente muito diferentes da gradação entre as gradações de HDR e LDR. Então, o gradador pode especificar quantos cenários de mapeamento de cor quiser para vários brilhos de pico da tela com suas funções correspondentes, mas, normalmente, em vista do esforço e do orçamento, ele pode especificar apenas algumas das principais transformações nas extremidades da faixa do brilho de pico da tela que o vídeo codificado deve fornecer, e deixar o receptor fazer a otimização final da gradação necessária para uma tela específica (entretanto, a tecnologia de codificação aqui descrita permite especificar ao menos a quantidade mínima de informações de função de mapeamento de cor exigida).
[023] É vantajoso uma modalidade de codificador ter uma unidade de gradação adicional (325) disposta para especificar que a ao menos uma função de mapeamento de cor adicional é uma função de mapeamento de cor para obter um vídeo de 100 nits do vídeo de grande faixa dinâmica codificada (Im_2000). Como, normalmente, um usuário ainda terá alguns dispositivos antigos (por exemplo, ele pode querer compartilhar o vídeo para seu celular durante algum tempo enquanto anda pela casa ou até o carro), é útil que os decodificadores também possam gerar streams de HDR antigos, o que significa que os codificadores permitiriam que um gradador especificasse como essa gradação de LDR deveria ser, em particular, como se pareceria a imagens de HDR, isto é, como deveria ser derivada pelo processamento de cor ao menos alterando várias luminâncias de objeto das imagens recebidas de 2.000 nits. Além disso, para ajustar outras gradações para telas com outro brilho de pico, esse mapeamento de cor para uma tela de referência de brilho de pico consideravelmente menor (tipicamente uma tela antiga de LDR de 100 nits, isto é, suas funções e parâmetros, conterá informações muito úteis para um receptor decidir como modificar essas funções para fazer seu próprio mapeamento de cor otimizado para qualquer gradação do brilho de pico da tela exigido, da forma como qualquer receptor desejar recalcular as funções de mapeamento.
[024] É também útil uma modalidade de codificador (301) que compreenda uma unidade de especificação de limite (389) disposta para permitir que um criador de conteúdo especifique ao menos um limite do brilho de pico da tela (LH_100, LL_100) identificando telas em uma faixa de brilho de pico para a qual o vídeo de grande faixa dinâmica codificado (Im_2000), ou qualquer vídeo derivado do mesmo através da aplicação de um mapeamento de cor adicional (F_d2d), seja de qualidade visual suficiente, de acordo com o criador de conteúdo. Isso permite especificar para qual faixa de telas a definição de remapeamento funcional é mais adequada/ideal e um exemplo de codificação exata é dado na descrição abaixo.
[025] É também vantajoso um método para codificar um vídeo de entrada de grande faixa dinâmica compreendendo um conjunto de imagens (Im_5000) tendo cores de pixel com luminâncias menores ou iguais a uma primeira luminância máxima (L_max_M), como um vídeo de grande faixa dinâmica codificado (Im_2000), sendo que a luminância de qualquer pixel no vídeo de grande faixa dinâmica codificado (Im_2000) é menor ou igual a uma segunda luminância máxima (L_max_C) de ao menos 900 nits, e a primeira luminância máxima (L_max_M) é ao menos duas vezes a segunda luminância máxima (L_max_C), sendo que método compreende: - especificar um mapeamento de cor compreendendo ao menos uma função de mapeamento de tonalidade (F_2Tu) para mapeamento de cor do vídeo de grande faixa dinâmica codificado (Im_2000) de segunda luminância máxima menor (L_max_C) para uma reconstrução de grande faixa dinâmica (Im_5000*) do vídeo de grande faixa dinâmica (Im_5000); - gravar, em um sinal de vídeo (S_im), os dados de cor de pixel do vídeo de grande faixa dinâmica codificado (Im_2000) e, como metadados, a ao menos uma função de mapeamento de tonalidade (F_2Tu, 601). No lado do receptor, espelhando as presentes várias modalidades de codificador, pode haver um decodificador de vídeo (401) para decodificar um vídeo de grande faixa dinâmica compreendendo um conjunto de imagens (Im_5000), com pixels tendo luminâncias com valores até uma primeira luminância máxima (L_max_M), sendo que o vídeo de grande faixa dinâmica é codificado como um vídeo de grande faixa dinâmica codificado (Im_2000), sendo que a luminância de qualquer pixel no vídeo de grande faixa dinâmica codificado (Im_2000) é menor ou igual a uma segunda luminância máxima (L_max_C) de ao menos 900 nits, e a primeira luminância máxima (L_max_M) é ao menos duas vezes a segunda luminância máxima (L_max_C), sendo que o decodificador compreende: - um descompressor de vídeo (403) disposto para ler a partir de um sinal de vídeo (S_im) e dados de imagem comprimidos, e descomprimi-los para obter o vídeo de grande faixa dinâmica codificado (Im_2000); - uma unidade de leitura de metadados (477) disposta para extrair ao menos uma especificação de mapeamento de cor (F_2Tu) a partir do sinal de vídeo (S_im); e - uma unidade de processamento de cor (410) disposta para aplicar a especificação de mapeamento de cor ao vídeo de grande faixa dinâmica codificado (Im_2000), para obter um vídeo de grande faixa dinâmica reconstruído (Im_5000*) com uma terceira luminância máxima ao menos duas vezes maior que a segunda luminância máxima (L_max_C).
[026] Então, esse decodificador de vídeo pode reconstruir aproximadamente o Im_5000 original que estava no computador do gradador de cor, mesmo que receba uma imagem, ou conjunto de imagens, com gradação muito diferente com uma faixa de luminância menor (Im_2000). Várias aplicações no campo podem ser mais ou menos ambiciosas em relação à razão da luminância máxima da gradação mestre em função da codificação, mas pode-se dizer, normalmente, que a gradação mestre deve ter, ao menos, um máximo que é duas vezes o da codificação (L_max_C), mas pode ser também, por exemplo, 10x maior ou até mais (normalmente as funções e/ou seus parâmetros de mapeamento entre as duas gradações de HDR podem ser um pouco diferentes, mas a mesma estrutura técnica permanece aplicável). Será, normalmente, no lado da transmissão selecionável de qual L_max_C um gradador vai usar, e, então, ele vai se certificar de que fará seu gradador mestre de modo que seja fielmente codificado no vídeo de grande faixa dinâmica codificado (ou vice-versa, depois de ter feito a gradação mestre com uma máxima específica, ele pode selecionar dentre um conjunto de codecs para comunicação com receptores que são capazes de manipular tais gradações mestre com precisão suficiente). Depois de selecionado, o codificador vai codificar tudo em metadados, enquanto qualquer receptor sabe exatamente que cores de pixel vai receber e, em particular, com que mapeamentos de cor deverá reconstruir as imagens Im_5000* a partir das imagens Im_2000 recebidas.
[027] É vantajoso um decodificador de vídeo (401) para decodificar um conjunto de imagens de vídeo grande faixa dinâmica, nas quais a terceira luminância máxima é igual à primeira luminância máxima (L_max_M). Essa é a reconstrução de luminância exata, em vez de, por exemplo, uma de 6000 nits. É claro que os decodificadores podem também fazer nova regradação para outras gradações de brilho de pico em vez da gradação mestre, por exemplo, uma gradação intermediária de 3.000 nits. Eles podem fazer isso aplicando um conjunto de funções de mapeamento de cor exatamente como recebidas, ou derivar um conjunto final de funções de mapeamento de cor a partir de ao menos algumas das funções de mapeamento de cor recebidas (por exemplo, quando fizer nova gradação entre duas gradações de HDR, o receptor deve verificar como o gradador especificou que se deve fazer nova gradação entre duas gradações de HDR que ele selecionou).
[028] É útil também um decodificador de vídeo (401) para decodificar um conjunto de imagens de vídeo de grande faixa dinâmica que compreendem um processador lógico (405) disposto para determinar qual ao menos uma tela (452) que tem determinado brilho de pico está conectada e precisa receber o vídeo, e para determinar, com base no brilho de pico dessa ao menos uma tela (452), qual processamento de cor (F_2Tu, F_d2d) deve ser aplicado ao vídeo de grande faixa dinâmica codificado (Im_2000) para obter uma imagem de saída (Im_x00, Im_5000*) para ser transmitida à tela.
[029] Esse processador lógico permite que o receptor otimize as imagens direcionadas para fornecer uma faixa muito versátil de possíveis telas conectadas. Ele vai ler e determinar as funções adequadas a serem aplicadas, sempre iniciando a partir das informações de textura de cor de pixel do objeto definidas em Im_2000.
[030] Modalidades do decodificador de vídeo (401) podem ser conectadas a um conector de transmissão de vídeo com fio (432) ou a um conector de transmissão de vídeo sem fio (433) e ter um formatador de transmissão (415) disposto para formatar ao menos a imagem de saída (Im_x00, Im_5000*), de acordo com o que é necessário para um protocolo de transmissão de vídeo utilizável para transmissão de vídeo através desse conector de transmissão de vídeo com fio (432) ou conector de transmissão de vídeo sem fio (433). Então, por exemplo, se um padrão de Wi-Fi exige uma comunicação de imagem de HDR de uma maneira específica, por exemplo, com ainda outra luminância máxima da faixa/gama de referência, diga-se, 1.500 nits, o formatador pode recodificar, de acordo com esse formato. É importante que as informações de imagem originais (Im_5000) e a visão de cor artística que o criador teve, isto é, conforme codificado em Im_2000 e seus métodos de processamento, isto é, ao menos F_2Tu, sejam determináveis no lado de recepção e possam, então, ser convertidas, de maneira ideal, no que é necessário para uma situação de renderização local específica.
[031] Modalidades do decodificador de vídeo (401) podem ser caracterizadas pelo fato de que o processador lógico (405) é adicionalmente disposto para ler a partir do sinal de vídeo (S_im) ao menos um limite de brilho de pico da tela (LH_100, LL_100) e determinar qual processamento de cor (F_2Tu, F_d2d) deve ser aplicado com base ao menos no limite do brilho de pico da tela (LH_100, LL_100). Dessa maneira, o decodificador pode rapidamente observar se a tela à qual ele precisa fornecer imagens se situa em uma faixa específica que pode ser fornecida através da criação de uma imagem com nova gradação aplicando-se, por exemplo, um terceiro conjunto de funções de mapeamento de cor fornecido simultaneamente com o sinal de vídeo S_im (observe que o versado na técnica entende que qualquer mecanismo pode se igualar a esse fornecimento simultâneo se o receptor tiver todas as informações a tempo), ou se precisa, por exemplo, calcular suas funções de mapeamento de cor ideais para derivar as imagens com nova gradação a serem comunicadas para a tela, calculando-as a partir da imagem (ou imagens) Im_2000 recebida.
[032] É também vantajoso um método de decodificação de vídeo de um conjunto de imagens de vídeo de grande faixa dinâmica com pixels tendo luminâncias decodificáveis até uma primeira luminância máxima (L_max_M), sendo que o vídeo de grande faixa dinâmica codificado é codificado como um vídeo de grande faixa dinâmica codificado (Im_2000), sendo que a luminância de qualquer pixel no vídeo de grande faixa dinâmica codificado (Im_2000) é menor ou igual a uma segunda luminância máxima (L_max_C) de ao menos 900 nits, e a primeira luminância máxima (L_max_M) é ao menos duas vezes a segunda luminância máxima (L_max_C), sendo que o método compreende: - a leitura de um sinal de vídeo (S_im) e a descompressão do vídeo de grande faixa dinâmica codificado (Im_2000); - a extração de ao menos uma especificação de mapeamento de cor (F_2Tu) a partir do sinal de vídeo (S_im); e - a aplicação de uma especificação de mapeamento de cor ao vídeo de grande faixa dinâmica codificado (Im_2000) para obter um vídeo de grande faixa dinâmica reconstruído (Im_5000*) com uma terceira luminância máxima que é ao menos duas vezes maior que a segunda luminância máxima (L_max_C).
BREVE DESCRIÇÃO DAS FIGURAS
[033] Esses e outros aspectos do método e aparelho de acordo com a invenção ficarão evidentes e serão elucidados com referência às implementações e modalidades doravante descritas neste documento, e com referência aos desenhos anexos, que servem meramente como ilustrações específicas não limitadoras que exemplificam o conceito mais amplo.
[034] A Figura 1 mostra esquematicamente como um gradador pode converter qualquer cena de HDR em codificação mestre de alta qualidade com uma ampla faixa de referência de luminância, por exemplo, de 0 nit a 5.000 nits;
[035] a Figura 2 mostra esquematicamente como esse gradador mestre especificado na faixa de luminância de referência GRAD_MSTR pode, então, ser redefinido em uma codificação de HDR a ser comunicada com um lado de recepção com uma luminância máxima substancialmente menor (e ainda assim capturar todos ou parte dos aspectos de HDR da cena da imagem), qual luminância máxima do código M_COD_REF é normalmente igual a ou menor que 80% da faixa original (5.000), por exemplo, 2000 nits, ou frequentemente ao menos 2x menor;
[036] a Figura 3 mostra esquematicamente uma possível tecnologia de codificação do lado de criação com uma modalidade de codificador, de acordo com os novos ensinamentos abaixo, que permite que um gradador especifique o que ele precisa, em particular, por exemplo, uma gradação de 2.000 nits e a gradação de 5000 nits tecnicamente codificadas simultaneamente de uma maneira funcional paramétrica com funções de processamento de cor para reconstruir a gradação de 5.000 nits da gradação de 2.000 nits comunicada;
[037] a Figura 4 mostra esquematicamente uma possível decodificação do lado de recepção e um sistema de uso de imagem de HDR, permitindo usar um vídeo com gradação ótima para cada tela conectada com base ao menos no brilho de pico de tela e possivelmente outros fatores, como visualização do meio, preferências do espectador, etc;
[038] a Figura 5 mostra esquematicamente um possível remapeamento de cor com as presentes especificações de mapeamento de cor (F_d2d), neste exemplo, para duas telas de brilho de pico menor que a luminância máxima da imagem codificada e recebida (Im_2000), funcionando como imagem inicial, à qual o mapeamento de cor é aplicado para chegar à tela com gradação adequada direcionando imagens do conjunto de imagens de vídeo do respectivo brilho de pico (PB) da tela (400 ou 100 nits), e mostra um processamento exemplificador com um brilho relativo de algumas cores selecionadas de uma imagem de uma cena, por exemplo, o interior de uma igreja ou um porão escuro; assim, a Figura 5a mostra um mapeamento típico de HDR para objetos críticos tanto no brilho quanto nas cores, e a Figura 5b mostra uma forma possível de manipular cores discrepantes;
[039] a Figura 6 mostra esquematicamente um possível remapeamento de cores que vai da gradação de 2.000 nits (codificada em um sinal de vídeo codificado S_im) para um vídeo com gradação com luminância máxima de 5.000 nits, isto é, substancialmente com imagem idêntica à gradação máxima mestre no lado e tempo do criador;
[040] a Figura 7 mostra esquematicamente um outro exemplo de remapeamento de cor que vai do vídeo de referência de 2.000 nits para o vídeo de referência de 5.000 nits, por exemplo, para fornecer a uma tela de brilho de pico cerca de 5.000 nits ou armazenando esse vídeo de qualidade mais alta para uso posterior;
[041] a Figura 8 mostra esquematicamente como a tecnologia descrita abaixo pode ser usada para codificar imagens de HDR de qualquer qualidade original (isto é, qualquer luminância máxima de GRAD_MSTR, por exemplo, 5.000 nits ou 15.000 nits para ser usada em telas de qualquer brilho de pico ou capacidade de faixa dinâmica, mas sendo codificada para transmissão por um codec de HDR de capacidades de faixa dinâmica significativamente reduzidas, isto é, uma luminância máxima L_MAX_C de, por exemplo, 2.000 nits ou 1200 nits, etc., mas, logicamente, uma luminância ainda alta o bastante para a imagem, ou imagens, codificada para ainda ser uma codificação de HDR, isto é, um brilho de pico de tela de referência minimamente associado acima de 900 nits;
[042] a Figura 9 mostra esquematicamente como tanto uma gradação de HDR quanto uma gradação de LDR de brilho de pico mais alto podem ser derivadas de uma gradação recebida de 2.000 nits e como as duas podem ser de natureza tecnicamente e fundamentalmente diferentes e
[043] a Figura 10 mostra esquematicamente alguns histogramas de luma típicos de imagens de HDR.
DESCRIÇÃO DETALHADA DAS FIGURAS
[044] A Figura 1 mostra um exemplo de um cenário de imageamento de HDR típico com uma loja de brinquedos acesa por dentro à noite. Ela contém brinquedos altamente iluminados (em comparação com o exterior escuro noturno) que, como qualquer objeto reflexivo, teriam luminância de pixel consideravelmente menor que as próprias lâmpadas, mas podem ainda ter luminâncias relativamente altas. E os brinquedos para crianças também são, em geral, muito coloridos. E em contraste com uma lâmpada 101, que poderia ser facilmente renderizada recortada sem que o espectador faça objeções à qualidade (embora parte da estrutura entre as lâmpadas, luminária 102 e a região ao redor da lâmpada 104 deveria, idealmente, ser fielmente codificada e, quando possível, de preferência, renderizada com vários valores de cinza), recortar as informações relevantes do brinquedo 106 levaria a imagens renderizadas de pior qualidade. Antes de analisar o problema de atribuição de código, isto é, quais valores de luma Y' deveriam corresponder a quais luminâncias capturadas pela câmera ou a serem renderizadas (presumindo-se que são diretamente renderizadas em vez de adicionalmente otimizadas para a tela), precisa-se primeiro analisar o problema de quais luminâncias devem ser capturadas em qualquer uma dessas codificações, o que pode, tecnicamente, ser feito através da especificação de uma faixa de luminância de referência. Essa faixa de luminância de referência terá uma luminância máxima codificável suficientemente alta para renderizar realisticamente todas as luminâncias de objeto necessárias, não apenas nessa imagem exemplificadora, mas em todas as imagens de HDR. Suponha-se que a iluminação geral da loja seja de 200 lux. Os brinquedos no teto, estando 10x mais próximos às lâmpadas TL, receberiam uma iluminação 100x maior, isto é, 20.000 lux. Uma luminância do branco como uma cor de objeto reflexivo seria, portanto, cerca de 0,8*20.000/pi = 5.000 nits. Isso aproximaria as luminâncias de tais objetos relativamente mais iluminados das luminâncias das lâmpadas, se a máxima for de 5.000 nits, ou se ao menos as cores dos objetos luminosos estiverem situadas na região superior de uma escala de possíveis cores definidas por uma faixa de luminância de referência de, por exemplo, 5.000 nits, ou mesmo uma faixa de luminância de referência de 2.000 nits (COD_REF). Observa-se logicamente que, por um lado, as cores de uma renderização ideal não precisam ser gradadas com exatamente os mesmos valores de uma cena real (porque isso será apenas uma renderização, que, por sua natureza, é um tanto aproximada, mesmo que um brilho médio de qualquer ambiente de visualização específico da renderização tivesse exatamente o mesmo brilho médio da cena da imagem) e, por outro lado, como será mostrado abaixo, podem existir técnicas matemáticas para codificar uma luminância com outra luminância, ou mais precisamente, um código de luma que deveria codificar uma outra luminância. Entretanto, o cálculo fornece uma visão rápida das restrições técnicas que são desejáveis para os sistemas de codificação de HDR. Cores altamente saturadas para um brinquedo vermelho forneceriam, por exemplo, uma luminância de cerca de 30%, mas então também residiriam (mapeada com, recorte “duro” ou “suave” (hard clipped ou soft clipped)) em uma região de luminância superior da escala menor no seu canto vermelho. Isso fornece propriedades de uma codificação de HDR desejada (nativa ou derivada) de uma cena, mas não especifica nada em relação a qualquer imagem de aspecto da menor faixa dinâmica da mesma cena que, devido à natureza das suas limitações técnicas, especificamente, o brilho de pico da tela renderizada com faixa dinâmica média (MDR) desejada, pode ser muito diferente.
[045] A primeira questão em qualquer cadeia de codificação de imagem de HDR é como mapear luminâncias de cena reais nas luminâncias da presente faixa de luminância de referência GRAD_MSTR, que, para simplificar, supostamente será normalmente aquela com a qual o criador de conteúdo prefere trabalhar, isto é, fazer sua gradação de cor final produzindo a imagem artística desejada. Idealmente, uma tela de alta qualidade capaz de renderizar luminâncias que precisam ao menos ser fielmente renderizadas (porque o gradador gostaria de verificar essa gradação mestre de alta qualidade em uma tela de referência de alta qualidade, pois qualquer que seja a tela onde seu conteúdo final será mostrado para vários espectadores, idealmente, algumas renderizações acontecerão em telas de HDR de alto brilho de pico e o conteúdo ainda precisa ser espetacular), isto é, tendo um brilho de pico de ao menos 5.000 nits, deve renderizar a faixa de referência de luminâncias e, para simplificar a explicação, pode-se supor que se o ambiente de visualização real for igual ao ambiente de visualização de referência definido, pode-se supor que essa tela de referência renderiza apenas as luminâncias de referência de GRAD_MSTR uma a uma. Ou seja, se uma luminância específica for 3.200 nits, a tela de referência vai renderizar 3.200 nits.
[046] Depois de ter fixado uma faixa de luminância de referência GRAD_MSTR sensível, ainda deve-se decidir como se mapear as referências de cena na faixa de referência, depois que a faixa de referência adequada GRAD_MSTR foi escolhida. Se fosse desejado que todos os detalhes em um tubo TL muito brilhante de 20.000 nits fossem representados/codificados com precisão, certamente, para codificações de vídeo práticas, não seria necessária uma codificação precisa de 1 bilhão de nits da superfície do sol. A primeira etapa será amplamente uma otimização artística dependente de cena, na qual essas altas luminâncias seriam “distorcidas”, isto, é, seriam representadas como substitutos razoáveis no GRAD_MSTR. Por exemplo, o gradador mestre pode escolher quais objetos extremamente brilhantes devem recortar na sua gradação de HDR mestre e, por exemplo, fazer a gradação e, assim, representar, em qualquer etapa posterior, o sol com branco ou com um amarelo de alto brilho único, por exemplo, amarelo máximo (R=G=100%, B=0%). Levando-se em consideração todos os fatores relevantes de imagem de HDR e, em particular, de codificação de vídeo, as típicas faixas de referência GRAD_MSTR podem ser, por exemplo, 20.000 nits ou 10.000 nits ou 5.000 nits, e na elucidação restante das presentes modalidades, suponha-se que GRAD_MSTR cubra as luminâncias [0,5.000], o que é tecnicamente uma boa escolha pragmática. Observa-se que o valor zero pode, na verdade, ser uma luminância muito pequena, cujo valor pode variar dependendo da função de atribuição de código padronizada a ser usada, mas, para propósitos práticos, será tão baixo que pode ser igual a zero.
[047] Uma segunda questão é como mapear luminâncias de cena capturada. Esse não é necessariamente o mesmo problema de como se renderizar luminâncias em qualquer tela, já que pode ainda haver qualquer transformação de cor renderizada atuando sobre as luminâncias de referência (e, na verdade, sobre as cores, mas, para simplificar a explicação, suponha-se que a matiz e a saturação de uma cor permaneçam iguais durante todo o processo de imageamento, e apenas a luminância da cor mude), para obter a renderização mais adequada de uma tela específica e tipicamente também algum ambiente de visualização. Mas essas são propriedades um tanto ligadas de alimentação de telas na própria faixa de referência, se a faixa de referência for associada a alguma tela típica de um futuro próximo e médio. Como nos próximos anos, e talvez para sempre, as telas tipicamente não terão brilhos de pico muito acima de 20.000 nits, ou talvez nem mesmo acima de 2.000 nits, faz mais sentido codificar qualquer luminância de cena a partir de um ponto de vista renderizado da tela em vez a partir de um ponto de vista de codificação de cena preciso. Isto é, pode-se “distorcer” as luminâncias de cena. O que ajuda nisso são dois fatores: 1) O fato e a ideia de que se pode derivar diferentes representações a partir de qualquer codificação, desde que informações distinguíveis o suficiente das texturas de pixel sejam codificadas (isto é, na pior das hipóteses, pode-se, por exemplo, capturar a textura de um kilt vermelho e mudar a cor em um software, de pixel em pixel, para um kilt verde, e o mesmo pode ser feito para valores ou luminâncias cinzas, mas nenhum dentre a luminância ou os valores de cor diferentes determinantes do padrão deve ser agrupado em um único valor, e 2) a visão humana é adaptável e, especialmente, o cérebro pode corrigir as cores erradas com a imaginação, especialmente, se o visualizador não estava presente na cena e não sabia as cores reais. Uma tarefa de qualquer tecnologia de HDR, em particular, um sistema de codificação, é que pode fazer imagens acreditáveis, em vez de imagens fotometricamente corretas.
[048] Então, em geral, o gradador pode mapear uma cena de HDR, como a presente loja de brinquedos, ou uma paisagem no sol observada do interior de um quarto mais escuro, de modo relativamente fiel, de acordo com suas preferências, em uma faixa de referência suficientemente grande GRAD_MSTR de até 5.000 nits. Enquanto essa gradação mestre inicial tem suas próprias regras técnicas e artísticas, não se deve confundir o que acontece nos componentes técnicos mais além no processo de manipulação de imagem. Em particular, não é trivial mapear esse ambiente em uma faixa menor como, por exemplo, COD_REF com um máximo de 2.000 nits, embora por vários motivos possa haver várias tecnologias no sistema que usam tal faixa menor como faixa de referência de HDR (tipicamente desse ponto em diante ou, ao menos, em uma parte do sistema).
[049] O presente pedido vai elucidar algumas modalidades para chegar a essas representações intermediárias com faixa de referência menor COD_REF e, ao mesmo tempo, começar de uma faixa de referência maior e melhor GRAD_MSTR, e, tipicamente, uma imagem de melhor qualidade com gradação nessa faixa de referência.
[050] A Figura 1 elabora com um exemplo de como um gradador pode tipicamente desejar representar (atribuir) suas luminâncias de cena a várias subfaixas disponíveis de GRAD_MSTR. O gradador pode desejar mapear os tubos TL ou as próprias outras lâmpadas 101 para o valor máximo L_max_M, ou ao menos muito próximo ao mesmo, por exemplo, acima de L1=4.995. A própria luminária 102, sendo tipicamente de metais reflexivos, contém alguns padrões interessantes, à qual se pode sugerir alguns valores distinguíveis, para torná-la mais realística que apenas um “buraco branco” (cuja região branca uniforme sem detalhes seria uma típica renderização de LDR), isto é, que se pode desejar codificar em uma faixa de R_BL de luzes muito brilhantes. Estas podem provavelmente ser muito dessaturadas próximas ao neutro, senão, já acromáticas, de modo que essas cores de pixel possam caber no típico topo estreito de uma escala codificável de RGB. Abaixo dessa faixa de R_BL de luzes de muito brilho há uma faixa de objetos iluminados R_BO, como o presente brinquedo 106 que está muito próximo à lâmpada. Como esses pixels (no presente exemplo, os brinquedos, mas também, por exemplo, as paredes pintadas das casas ou a grama sob o sol) dos objetos iluminados podem com frequência ser (fortemente) coloridos, mesmo quando se pode ao menos dessaturar um pouco seus valores codificados em comparação com as cores de cena originais, é preciso atribuir uma faixa da escala de RGB que pode representar as cores cromáticas vivas. Havendo uma relação relativa com a cena atual, pode ser suficiente que sejam razoavelmente vivos e coloridos. Pode-se observar na Figura 1A uma seleção de conjunto tridimensional (mais precisamente um corte de luminância bidimensional vermelho-ciano) na escala codificável em vez de uma vista de luminância menos ilustrativa 1D (nas implementações práticas dos presentes métodos, pode-se também usar luminâncias correlacionadas como, por exemplo, um valor = máx(R,G,B) para determinar as seleções ou fazer qualquer processamento de cor). Como se pode ver, as lâmpadas brilhantes podem, a menos que sejam realmente cromáticas, por exemplo, tubos TL vermelhos, com frequência ser representadas por valores muito brilhantes de saturação reduzida, e o espectador aceitará isso. Entretanto, não se deve fazer tal pastelização com, por exemplo, grama ao sol, pois é esse exatamente o tipo de erro que acontece na codificação LDR. Se cores coloridas são necessárias, elas podem ser gradadas na subfaixa cromática razoavelmente brilhante R_BO. Mesmo codificando uma cor com metade da saturação original, para uma tela que pode renderizar saturação mais alta (por exemplo, uma tela multiprimária contendo uma primária dedicada), é sempre possível dobrar a saturação sem ter artefatos de imagem excessivos.
[051] Depois de se definir uma boa tela de referência de HDR de, por exemplo, 5.000 nits, ainda é preciso definir o problema de como codificar as cores de cena ou, mais especificamente, suas luminâncias.
[052] O imageamento de LDR clássico não levava muito em consideração esse aspecto. Qualquer que fosse a iluminância da cena, a autoexposição da câmera associava alguma cor brilhante na cena da imagem com o código branco (na verdade, através de algum mapeamento de cálculo de cor médio para cinza médio). Ao se pensar na pesquisa de HDR, olhando para trás, essa é uma observação muito específica de uma cena que sempre funciona matematicamente, mas, técnica ou artisticamente, é adequada principalmente para ambientes bem iluminados sem muita razão de contraste, por exemplo, tipicamente de 1% a 100% dos objetos refletidos sendo uniformemente iluminados e registrando quais cores de objeto escuro ainda são acidentalmente representadas de maneira fiel no sensor, ou codificando a matemática em relação ao ruído (um número em geral fornecido para as luminâncias renderizadas às quais qualquer imagem de LDR deve corresponder é de 0,1 nit a 100 nits pixels). Algumas cores, ou até muitas, podem ter sido recortadas, e o branco codificado fielmente mais branco pode ter sido de 20.000 nits em uma cena no sol ou 50 nits em uma cena noturna de longa exposição. E também no lado da renderização na filosofia de manipulação de imagem de LDR, não havia preocupação com se uma gradação teoricamente ideal para 100 nits estava sendo na verdade observada por um espectador específico em uma tela de 200 nits ou 400 nits ou 50 nits, nem se era observada em uma sala escura ou sobre a plataforma de uma estação de trem. Para a maioria das imagens, e o espectador não crítico, essa diferença de talvez uma ou duas paradas não seria tão crítica, mas em um determinado momento, para imagens de HDR altamente críticas e/ou telas que diferem em um número de paradas no brilho de pico de 100 nits, as diferenças se tornam questionáveis. Deve ficar claro que a similaridade da imagem por fim renderizada e a imagem desejada do artista criador são apenas garantidas se as condições de visualização não diferirem muito de uma referência teórica, se isso foi claramente definido nos tempos de codificação de LDR.
[053] Mas em uma tecnologia de codificação de imagem ou vídeo de HDR orientada para o futuro, em que a imagem, qualquer que seja a complexidade do seu conteúdo, tem que ser corretamente interpretável para renderização razoável em uma grande variedade de diferentes condições de renderização no campo (tela + ambiente), a faixa de referência e a escala de cores, mas também como usar/preencher com cores de cena sendo capturadas e representadas, devem ser bem pensadas.
[054] De preferência, não se faz a atribuição completa relativa como em LDR (isto é, qualquer que seja a cena na imagem de LDR, o branco do código é sempre mapeado para o branco da tela, qualquer que seja o brilho de pico que a tela tem, e se for necessário, por exemplo, renderizar uma cena escura, é melhor usar códigos que codificam luminâncias abaixo do brilho de pico). Haverá alguma relatividade na renderização final também para os sistemas de codificação de HDR, já que o olho/cérebro é um detector de cor relativa e as condições de renderização podem variar consideravelmente, mas essa variabilidade pode ser manipulada em uma extremidade receptora, e iniciando a partir de uma especificação mais matematicamente exata das cores intermediárias, em alguma representação de cor (que, então, não é por si mais ligada a uma tecnologia de tela específica, como NTSC e MPEG2 eram ligadas a um CRT com gama 2.2 e EBU primárias, que antigamente era a única tela no mercado).
[055] Por outro lado, exigir um mapeamento exato de um para um das luminâncias de cena para as luminâncias de referência na faixa de referência de, por exemplo, 5.000 nits de um lado, e as luminâncias de referência para as luminâncias renderizadas para a tela, por outro lado, é também uma restrição muito grande para uso fácil e versátil pragmático.
[056] Então, é preferencial ter tipicamente a faixa de referência GRAD_MSTR construída e preenchida (isto é, a atribuição de luminâncias de cena para luminâncias de referência) de modo que grande parte das luminâncias seja mapeada aproximadamente de um para um, o que significa que uma luminância de cena específica corresponderá a uma luminância a ser renderizada em todos os tipos de tela de recepção (não é necessário que a luminância renderizada seja idêntica à luminância de cena para uma categoria de cena, por exemplo, luz do sol brilhante ou paisagem noturna, já que pode haver algum fator de escurecimento entre as luminâncias fisicamente observáveis na cena e aquelas em uma tela, sendo que o fator de escurecimento poderia ser até certo grau dependente de tela e pode ser inicialmente determinado para uma categoria de tela específica). Essa semelhança das luminâncias de pixel renderizadas mais escuras em várias telas tipicamente seria verdadeira para as luminâncias mais baixas na cena, que podem ser renderizadas em muitas (ainda que talvez nem todas) telas. Entretanto, como as luminâncias de alta qualidade poderiam, em teoria, ser qualquer coisa (potencialmente até as luminâncias correspondendo a, por exemplo, feixes de laser de imagem emitidos no sensor), no lado brilhante das possíveis luminâncias de cena, pode-se usar uma atribuição mais liberal das luminâncias de cena para as luminâncias de referência, já que, por exemplo, 50.000 nits seria - se já renderizáveis em uma quantidade suficiente de telas no mercado - brilhante demais para ser confortável para o espectador (especialmente em ambientes de visualização escuros), e, assim, é preciso ser convertida em um valor de luminância a ser renderizada mais adequado (qualquer que seja o brilho de pico da tela de renderização). De acordo com o requerente, 5.000 nits seria um valor razoável para o limite superior da faixa de referência, embora 10.000 nits também seja um valor utilizável.
[057] Os brinquedos/objetos um pouco mais escuros, menos fortemente iluminados 108 podem, então, ser atribuídos a alguma luminância em uma faixa normal R_N, que pode também ser razoavelmente fielmente renderizada em telas LDR, e os objetos mais distantes 110 são da lâmpada, isto é, quanto mais escuras se tornam as luminâncias de pixel linearmente mensuráveis da cena, menor a atribuição que recebem na faixa de referência (supondo-se que estejam em uma estratégia de atribuição linear aqui, com GRAD_MASTR L_ref=k*L_scene, com k igual a 1 ou algum fator de escala escolhido de acordo com a situação (pelo gradador de cor) que tipicamente não será muito baixo, por exemplo, 0,5, para manter todas as cores de pixel, e as mais escuras, em particular, com brilho suficiente). Fora da loja de brinquedos, à noite, na rua acesa com poucas lâmpadas, haverá objetos muito escuros que serão mapeados para a subfaixa escura R_C da faixa de referência. Embora possa tipicamente ser usada uma atribuição de código não linear para iluminá- las um pouco, se houver códigos suficientes (por exemplo, 10 bits) para as luminâncias, pode-se continuar a atribuição linear com k tendo seu valor escolhido. Esses valores, por exemplo, da porta escura com pouca iluminação 112, são, então, ao menos codificados com códigos únicos suficientemente não recortados, independentemente de se essas cores escuras serão (poderão ser) renderizadas em uma tela de LDR de baixo contraste com preto ruim, isto é, relativamente claro. O mesmo se aplica aos pixels da calha escura, embora as do esgoto 114 vistas através da rede de esgoto possam ser tão escuras e desinteressantes que o gradador pode simplesmente mapeá-los todos com o código preto (mínimo) sendo o menor valor codificável, por exemplo, luma 1 ou 0, e, dessa forma, sua luminância correspondente (se já foram capturados suficientemente claros e sem ruído pela câmera).
[058] Esse mapeamento para uma faixa de 5.000 nits pode ser, razoavelmente, simples de fazer, e pode-se supor que, por exemplo, o gradador o fará, entretanto, o mapeamento direto desses valores para uma faixa menor de [0, 2.000] nits pode representar problemas ao gradador, ao menos em algumas cenas críticas, isto é, todos esses problemas não devem ser resolvidos puramente com a habilidade artística do gradador de escolher luminâncias de referência adequadas para os diferentes objetos de cena, mas o gradador deve ter uma solução técnica para ajudá-lo. Por exemplo, se as luzes e partes das luzes da loja forem reduzidas para mapeá-las na subfaixa de 1.500 a 2.000 do COD_REF, o que acontecerá às partes mais escuras com esse escurecimento? Caso a redução na luz use uma (re)atribuição de código não linear simples, essas cores mais escuras ficarão, então, escuras demais, ao menos para uso direto e simples dos renderizadores, que, por exemplo, exibem os códigos com uma EOTF fixa? Há uma tensão entre outros aspectos, como quantos códigos podem existir para serem reservados para cada textura de objeto (ou existem na cena real) ao longo da faixa de luminância por um lado, e o aspecto razoável da imagem, isto é, um valor de luminância razoável para cada objeto, ao menos em uma faixa de luminância de referência correspondente a um cenário de renderização arquetípico (que precisaria apenas de transformações de cor de ordem secundária de menor impacto sobre a imagem colorimétrica para se voltar para cenários de renderização específica em telas específicas posteriormente). Vários acordos podem ser contemplados para isso, mas uma estrutura guia é desejável, para que as coisas sejam sempre bem feitas.
[059] Na Figura 2, é vista uma ilustração de como lidar com o problema geral de recodificar luminâncias de pixel (e lumas associados, que é a palavra que será usada para os códigos reais como, por exemplo, palavras de 10 bits) ao longo de uma faixa de luminância de referência GRAD_MSTR em uma faixa de luminância de referência de codificação COD_RF substancialmente menor (tipicamente ao menos ^, também descrita como sendo 1 parada a menos), por exemplo, a gradação mestre do gradador em [0, 5.000] nits e a codificação técnica, usada, na verdade, por exemplo, para armazenar em uma memória como, por exemplo, um blu-ray, ou transmitir através de uma tecnologia de rede por meio de uma tecnologia de codificação de transmissão de vídeo, tendo uma faixa de luminância de referência de [0, 2.000] nits padronizada.
[060] O problema de reatribuição é um problema tecnicamente muito diferente da gradação mestre inicial das luminâncias de cena em uma imagem com gradação razoável na faixa de luminância mestre [0, 5.000], embora haja, é claro, alguma ligação com a representação de referência original (em GRAD_MSTR), e, por fim, a cena original e seus objetos contidos com suas propriedades colorimétricas ou também sua renderização de tela suficientemente fiel.
[061] Isso contém dois aspectos: por um lado, se for considerado que ambas as faixas têm uma precisão de codificação infinita (e poderia ser descrito para simplificar as luminâncias ao longo de ambas as faixas como números reais dentro de uma faixa renormalizada [0,1] das luminâncias normalizadas, em que, é claro, as luminâncias renormalizadas a partir da sua definição em [0, 5.000] não terão os mesmos valores das luminâncias correspondentes para os mesmos objetos que foram definidos em [0, 2.000]), em princípio e, de acordo com os presentes ensinamentos, qualquer função de mapeamento não linear poderia ser usada para mapear as luminâncias, sendo que, de acordo com a situação, alguns mapeamentos são mais desejáveis que outros. Por exemplo, embora provavelmente não seja ideal por vários motivos, uma extensão linear conceitualmente, em princípio, poderia ser usada. Por outro lado, nessa reatribuição de luminâncias, pode-se agora lidar com o problema de precisão de codificação, que precisa acontecer como se as luminâncias de COD_REF precisassem ser representadas com lumas de 10 bits verdadeiros. Como essa quantidade de bits disponível para definir um luma de pixel vai sempre determinar, dependendo de como cada função de atribuição de código específica escolhida atribui subfaixas e sua quantidade de códigos a vários objetos ao longo da faixa de luminância, a precisão da codificação dos objetos (por exemplo, aqueles que não têm brilho maior que 10% da luminância de pico) e, em particular, se há códigos suficientes para a renderização fiel (por exemplo, uma gradação de azul com alteração moderada entre 20% e 30% de brilho de pico, em contraste com uma parte com textura complexa da loja de brinquedos no plano de fundo, que pode não ter precisão de codificação e reconstrução de luminância/cor perfeita).
[062] Na verdade, lumas de 10 bits podem codificar (ignorando os componentes cromáticos por enquanto) apenas 1.024 luminâncias diferentes (valores de cinza), então, se a cena tiver uma faixa dinâmica muito alta para a qual é necessária precisão perfeita (na subfaixa das cores brilhantes, nos cinzas médios superiores, nos cinzas médios inferiores, nos escuros e nos ultra-escuros), poderá ser necessário mais de 1.024 valores diferentes para codificar fielmente todas as estruturas da imagem. É isso que torna a codificação da imagem de HDR diferente do paradigma de imageamento de LDR simples. Nessa situação, pode-se dizer que não há qualquer solução possível capaz de codificar fielmente a cena, na faixa de 5.000 nem na faixa de 2.000 nits. Entretanto, em todas as imagens práticas, pode-se relaxar a quantidade de códigos necessários para uma codificação de qualidade suficiente. Talvez menos códigos sejam necessários em uma região espacialmente texturizada, permitindo que mais códigos tenham um gradiente suave, e, na pior das hipóteses, pode-se até mesmo considerar permitir ocasionalmente alguma banda, e ainda conseguir a renderização de todos os lindos efeitos de HDR, ao menos em telas de HDR (tendo uma faixa mestre e uma gradação na mesma, o gradador pode, ao menos, ter uma vista inicial adequada da qualidade de vários cenários de renderização do lado de recepção posterior).
[063] O leitor deve parar um minuto para refletir sobre um novo conceito específico de codificação de HDR, a saber, que há duas coisas acopladas acontecendo que competem mutuamente, especificamente se for desejado o uso do remapeamento de 2.000 nits tanto como uma imagem para renderização direta (isto é, pode haver outro remapeamento adicional para se obter uma imagem ideal para uma tela superior, como uma tela de 2.800 nits ou uma tela de 1.500 nits, mas começando com a imagem de gradação na codificação de 2.000 nits, essa imagem original é ainda de certo modo gravada no mesmo, e essa é uma abordagem de duas etapas: criação de imagem e aspecto versus renderização de imagem perfeita, e todas as outras considerações e ações que podem acontecer nessa parte da cadeia de manipulação de imagem de HDR), e, ao mesmo tempo, também como uma codificação total perfeita (isto é, independente de dispositivo e independente de uso, para qualquer uso futuro) de tudo que era interessante na cena de HDR original, isto é, uma representação suficientemente fiel das propriedades colorimétricas de todos os objetos da cena original, ou ao menos uma representação de qualidade de HDR dessa cena. A primeira consideração é algo com o que o gradador artístico está tipicamente envolvido, enquanto que o último requisito pode ser em parte ou totalmente uma questão técnica.
[064] Por exemplo, será usada uma compressão linear simples exemplificadora de 5.000 a 2.000 nits, e uma renderização de um para um direta da faixa de 2.000 nits em uma tela real de brilho de pico de, por exemplo, 2.000 nits (monitor ou TV ou projetor, etc.), ou, por exemplo, a subfaixa de 0 a 2.000 nits de uma tela de 5.000 nits (que seria diferente de (re)alongar as luminâncias de cena redefinidas de 0 a 2.000 nits para a faixa total de uma tela de brilho de pico de 5.000 nits).
[065] Pode haver, dado que é possível otimizar para a tela disponível, hardware que leve mais em consideração a psicofísica da visão humana, devido ao mapeamento inadequado “escolhido acidentalmente”, algumas questões de qualidade de renderização de HDR. Por exemplo, os efeitos de HDR da região de brilho podem não ser ideais, pois a imagem real de gradação de 5.000 nits não está disponível, pode-se desejar fazer alguns truques de processamento de cor para fazer com que as regiões de brilho se pareçam mais a uma imagem de HDR psicovisualmente, mesmo em uma tela de 2.000 nits. Mas e se houver uma tela de 5.000 nits disponível? Será que simplesmente alongando (automaticamente com um software ou hardware de processamento de imagens) essas luminâncias, o que se faria na ausência de qualquer guiamento inteligente em relação ao mapeamento, seria melhor renderizá-las na tela 5.000 nits? Provavelmente, não, ao menos para as cenas de HDR mais críticas.
[066] Por outro lado, o gradador pode encontrar outros objetos em subfaixas menores da faixa diretamente renderizada de 2.000 nits para o escuro ou contraste muito baixo, etc. Se tentar fazer esse ajuste, por exemplo, aumentando o brilho dessa subfaixa, ele poderá até deteriorar a faixa de HDR do brilho, por exemplo, com uma compressão leve na sua regradação/remapeamento.
[067] Por outro lado, depois que a função de atribuição de código ou EOTF ideal tiver sido fixada, definida na faixa de 2.000 nits, por exemplo, em um padrão de vídeo específico para um cenário (cuja definição pode, tipicamente, iniciar a partir de suposições de que certas etapas de luminâncias ainda são visíveis ou não, distribuídas não uniformemente por uma faixa de 2.000 nits, produzindo como função ótima uma função do tipo gama logarítmica ou similar), é preciso também considerar o problema de quantos códigos luma estão disponíveis para cada subfaixa, por exemplo, uma 10aparte da faixa entre Lc3 e L_max_C. Se, de alguma forma poucos códigos estiverem disponíveis, então, a cena de HDR não é idealmente representada, pois a subfaixa das cenas com conteúdo de muito brilho importante, que pode ser lindamente renderizada em telas de, por exemplo, 10.000 nits, pode não ser suficientemente codificada em uma codificação de 2.000 nits. Isso pode não ser um problema tão visível na renderização de um para um da gradação de 2.000 nits em uma tela de 2.000 nits, mas surge, por exemplo, no mapeamento de uma tela de 20.000 nits.
[068] Então, são necessários mecanismos para lidar cuidadosamente com esse equilíbrio, e os conceitos básicos que foram introduzidos nas presentes tecnologias para a codificação de imagens de cena de HDR e, em particular, para serem capaz de suprir corretamente não apenas uma única tela de referência (por exemplo, 5.000 nits), mas todas as telas existentes no mercado no futuro (através de uma imagem redeterminável ajustável na codificação da cena), são bastante adequados para esse problema, como será visto abaixo. Para assegurar que o leitor entenda essa questão, pode-se usar duas novas nomenclaturas. Por um lado, pode haver uma gradação final, que pode ser tipicamente automaticamente determinada por uma unidade de otimização em um receptor que ajusta qualquer representação codificada que recebe para uma tela específica. Essa gradação será renderizada em uma tela de, por exemplo, 1.250 nits, entre duas gradações padrão nas extremidades em uma faixa de ajuste de tela de uma gradação de, diga-se, 100 nits para telas de LDR antigas com um brilho de pico de cerca de 100 nits e telas de HDR de alta qualidade de, diga-se, 5.000 nits, gradação de média faixa dinâmica (MDR). Nos ensinamentos abaixo, também se fala de codificações intermediárias, isto é, que têm uma tela de referência associada à mesma de, diga- se, 1.000 nits (que também se situa entre as extremidades de faixa de 100 e 5000), que será chamada de faixa dinâmica intermediária (IDR). O leitor deve compreender que, se uma certa tecnologia, por algum motivo, prescreve codificar qualquer imagem de faixa dinâmico de uma cena (isto é, qualquer que seja a cena original e a renderização) em uma codificação IDR com um brilho de pico da tela de referência de, diga-se, 1.000 nits, que ainda possa ser renderizada, isto é, ainda precise ser ajustada por outra conversão de cor em várias gradações de MDR, por exemplo, para uma tela conectada de 850 nits, ou alternativa ou adicionalmente, uma tela de 1.550 nits, etc.
[069] Uma primeira modalidade é elucidada na Figura 3, que mostra um codificador 301, através do qual um gradador pode, liberalmente, fazer uma gradação artística de 2.000 nits, sem ter que se preocupar muito com o que está acontecendo, e tem que seguir o aspecto técnico porque o codificador pode precisar usar a imagem de 2.000 nits como uma imagem representativa para todas as imagens. Isto é, o gradador pode focar nas imagens de 2.000 nits de modo que, quando diretamente aplicadas às telas de brilho de pico de cerca de 2.000 nits, as imagens terão uma imagem ideal (por exemplo, brilho suficiente de modo que um homem se escondendo no escuro não ficará totalmente visível nem invisível, contraste local suficiente de modo que um homem parcialmente escondido na neblina se parecerá a um fantasma, ou uma garrafa ficará brilhante, etc.). Supõe-se que haja um vídeo original HDR RAW (por exemplo, diretamente de uma câmera de HDR e em uma representação de cor linear), que, por exemplo, venha de uma memória de armazenamento 300 que entra em um aparelho de gradação 303. O leitor versado pode, é claro, entender que poderá haver diferentes realizações da presente invenção ou modalidades, que, por exemplo, têm um codificador integrado diretamente a ou em uma câmera, ou um conjunto de gráficos de computador de um computador, etc.
[070] O gradador faz uma gradação inicial que será, em muitas modalidades, a gradação mestre usando-se a unidade de gradação inicial 310 e um controlador de entrada do usuário 311, que pode ser, por exemplo, um console de gradação. A unidade de gradação inicial 310 pode, por exemplo, ser um processador executando um software de gradação, como Da Vinci, que pode fazer as funções de tonalização e mapeamento de cor globais, selecionar regiões locais de montagem por composição em imagens e especificar o processamento das mesmas, etc. Como exemplo, pode-se supor que o vídeo RAW é um vídeo logarítmico com contrastes inter e intraobjetos de, diga-se, uma câmera ARRI. O gradador faz sua imagem, ou imagens, de gradação mestre Im_5000, na qual ele especifica todas as cores de objeto e pixel com, entre outros, suas luminâncias adequadas em uma faixa de referência correspondente de 5.000 nits GRAD_MSTR. Isso seria uma representação adequada do vídeo de HDR, que poderia, então, ser comprimida, entre outros, por codificação DCT, etc., se qualquer transmissão de vídeo padrão definisse uma forma de codificar esse vídeo de 5.000 nits de acordo com seu padrão (transmissão padrão significa transmissão através de memória, como, por exemplo, um padrão óptico como vídeo em BD e, por exemplo, um padrão em rede, como transmissão por via aérea por DVB ou por internet, ou transmissão por um sistema de comunicação através de aparelho, como um cabo de comunicação HDMI, etc.).
[071] Mas um padrão pode exigir mais liberdade e prescrever que aceita, por exemplo, um vídeo codificado definido de luminância de pico de 2.000 nits. O gradador pode, então, não usar diretamente sua codificação interna de referência de 5.000 nits e precisar recodificar, o que pode envolver um remapeamento não trivial (já que, em princípio, pode se usar qualquer redefinição, mas não necessariamente se a imagem colorimétrica da gradação de 2.000 nits tiver que ser ideal na renderização de uma tela de 2.000 nits, assim como a imagem de 5.000 nits também codificada dentro dessa imagem de 2.000 nits. Um possível cenário poderia ser que o gradador concentra a maior parte do seu tempo na criação da imagem desejável de uma gradação de 2.000 nits e tem um foco secundário em como a gradação de 5.000 nits pode ser feita a partir disso. O inverso também é possível (basicamente tecnicamente em ambos os cenários haverá uma imagem de HDR de faixa dinâmica menor comunicada e funciona para fazer regradação da mesma através de um receptor para uma imagem de HDR de alta faixa dinâmica), e, na elucidação abaixo, será explicado esse segundo cenário em que um gradador concentra a maior parte do tempo fazendo uma gradação de HDR desejável de 5.000 nits e, então, depois (que pode também ser feita parcialmente de modo automático sendo que o gradador terá apenas que aceitar ou corrigir, para economizar em tempo de gradação) ele definirá uma imagem adequada de 2.000 nits (e tipicamente também uma imagem de LDR de 100 nits, que poderia ser definida a partir da imagem de 5.000 nits e convertida em uma redefinição de 2.000 nits, mas é preciso esclarecer o exemplo em que a imagem de LDR não é apenas definida mas também criada por gradação, iniciando a partir de imagens com gradação de 2.000 nits).
[072] O gradador fará o remapeamento de uma imagem de HDR de grande faixa (por exemplo, 5.000 nits) para uma imagem de HDR de pequena faixa (por exemplo, 2.000 ou 1.200 nits) com a unidade de regradação 320. Essa unidade 320 pode fazer gradação de cores assim como a unidade de gradação inicial 310, mas há duas diferenças fundamentais: 1) Apenas um conjunto limitado de funções de regradação pode ser usado (pois, como é um sistema de codificação de imagem de HDR, deve ser formada uma linguagem compreendida por todos os receptores) e 2) deve ser substancialmente visualmente reversível (mais geralmente, as transformações de cor da imagem de 2.000 nits devem substancialmente reter todas as informações de alta qualidade, de maior alcance, de modo que possam ser usadas idealmente em qualquer sistema de renderização de HDR, após um mapeamento dependente de tela ideal e apenas imagens, semanticamente menos informações interessantes podem ser significativamente substituídas por valores inadequados a partir do ponto de vista de codificação, por exemplo, aproximadamente quantizado). Substancialmente reversível significa que, a) pode-se calcular algum inverso matemático da função aplicada ou do procedimento de remapeamento de HDR de 5.000 nits a 2.000 nits (por exemplo, se for aplicada uma raiz quadrada de, por exemplo, luminâncias normalizadas em [0,1], o inverso será uma função da potência quadrada) e b) por causa da quantização da raiz quadrada da imagem, a imagem da raiz quadrada pode parecer um pouco diferente da imagem original, mas as diferenças visuais não devem ser tão graves (o grau de gravidade pode ser decidido pelo gradador e/ou um algoritmo de análise de imagem automático). Por exemplo, em texturas, artefatos de quantização podem ser usados, já que o padrão espacial é a informação predominante no cérebro e não o valor de cor exato de um pixel. Matematicamente, isso normalmente significa que as funções fazem mapeamento de cor de uma gradação de HDR de 2.000 nits recebida para a qualidade máxima de imagem, ou imagens, de gradação de 5.000 nits deve ser monotonamente aumentada em relação à luminância (ou alguma representação equivalente, como um luma, ou o componente linear máximo R,G e B, etc.), mas, de outro modo, a função de mapeamento de tonalidade atualizada pode ser bastante complexa para algumas cenas de HDR complexas.
[073] Para maior clareza para o leitor, será feita uma distinção clara com outros dois cenários que não devem ser confundidos com a tecnologia de codificação inovadora de imagem/vídeo de HDR aqui apresentada. Embora uma gradação artística seja feita que representa imagens de bom aspecto em telas com brilho de pico ao redor do intencionado ideal tendo brilho de pico de, por exemplo, 2.000, ou, por exemplo, 1000 nits, e embora a imagem superior para o visualizador dessa gradação obtida de Im_2000 nits possa ser substancialmente idêntica àquela que o gradador obteria se não precisasse levar em consideração outras telas ou gradações (isto é, fazer apenas artisticamente uma única gradação de 2.000 nits, sem precisar se preocupar se qualquer outra gradação poderia ser derivada dessa imagem, ou imagens, as presentes tecnologias descritas precisam lidar com a situação na qual NÃO é meramente uma simples (re)gradação que apenas produz uma nova imagem Im_2000 a partir da imagem Im_5000, mas outros requisitos precisam ser levados em consideração. Como a imagem Im_5000 original (necessária para renderizações de HDR e qualidade mais alta) que é ideal para se obter boas imagens de HDR em telas que têm um brilho de pico substancialmente mais brilhante que 2.000 nits (isto é, com uma tela correspondente tendo brilho de pico de cerca de 5.000 nits, que pode ser a tela de referência 360 que o gradador teve disponível no lado de criação de conteúdo para verificar o impacto visual de HDR real do que ele estava fazendo, e que ele pode trocar entre o modo de emulação máxima de 5.000 nits e 2.000 nits não será armazenada ou transmitida, mas, em vez disso, como o padrão prescreve a codificação de uma imagem de 2.000 nits, o codificador armazena ou transmite apenas uma imagem de 2.000 nits da cena de HDR. Essa imagem Im_2000 precisa conter informações suficientemente precisas para todas as texturas de objeto, seja qual for a imagem da cena em que serão por fim renderizadas (isto é, transformadas em cor).
[074] Além dessa imagem Im_2000, o codificador vai, entretanto, coarmazenar algumas funções F_2Tu que cocodificam parametricamente essas informações adicionais na imagem Im_5000 que codifica a imagem de 5.000 nits (essas informações são, principalmente, quais cores médias os objetos devem ter em vez de texturas geométricas precisas), isto é, por exemplo, como as paisagens ao ar livre iluminadas pelo sol ou lâmpadas (ou outros efeitos de imagem de HDR com alto brilho) podem idealmente evoluir através do eixo de luminância ou o espaço de cor de espectro total para diferentes imagens correspondendo a diferentes brilhos de pico de tela, isto é, a serem renderizadas se houvesse telas mais brilhantes, em comparação a se houvesse apenas telas com menos brilho como, no máximo, uma tela de 2.000 nits ou até uma tela de 1.000 nits. Esse ao menos um conjunto de funções adicionais F_2Tu não permitirá apenas a regradação (que se pode chamar de ajuste de tela) para a imagem de 5.000 nits, mas também para outras imagens intermediárias entre, por exemplo, 2000 e 5000 nits, isto é, telas a serem fornecidas com imagens de aspecto ideal com esses brilhos de pico. Então, fala-se de uma nova forma de codificar um conjunto de imagens, não meramente uma tecnologia para a regradação de várias imagens em um lado transmissor apenas.
[075] A presente tecnologia também deve ser claramente diferenciada de e não deve ser confundida com ainda outro cenário, em que uma tela de 5.000 nits é fornecida diretamente para sua renderização por uma imagem Im_2000 de 2.000 nits. A imagem 2.000 nits é alguma imagem de HDR, com um contraste entre os objetos considerável, de modo que, por exemplo, essa imagem possa ser diretamente renderizada em uma tela de, por exemplo, 5.000 nits, usando em uma assim chamada estrutura de codificação e renderização relativa, isto é, renderizando um branco supostamente de 2.000 nits como um branco de 5.000 nits (quer pareça visualmente mais espetacular ou menos desejável porque é, por exemplo, brilhoso demais para uma determinada cena de, por exemplo, uma paisagem de neblina). Poderiam até ser considerados truques para minimizar essas imagens tão desejadas de 5.000 nits, se fossem as únicas imagens necessárias em um lado de consumo, que fingem ser imagens de 2.000 nits, mas com a colorimetria errada (isto é, os códigos de cor seriam incorretos, o que mostraria se alguém quisesse diretamente renderizar essas imagens de imitação em uma tela de 2.000 nits). Ou alguma função de autoconversão poderia analisar a imagem, talvez entender que está muito embaçada para renderização de HDR de maior qualidade ideal e aplicar uma função de mapeamento de otimização de tela F_2000_do, que em um gráfico de luminância de entrada e saída [0,1] se parecerá a uma função que termina a saída da entrada 1 em, por exemplo, 0,75, isto é, reduzindo o brilho máximo. Nesse cenário, a tela na extremidade de recepção tem apenas a imagem Im_2000, entretanto, esta foi obtida, isto é, foi feita gradação, por quaisquer razões artísticas escolhidas, mas sem informações sobre qual era a imagem Im_5000 original. Então, o receptor precisa fazer todos os tipos de suposições cegas para derivar suas imagens de direcionamento “ideais” para, diga-se, uma tela de 5.000 ou 6.000 nits na extremidade de recepção. Isso não parece ideal, especialmente para cenas de HDR complexas. Não é pouco provável que, embora essa cadeia de imageamento tecnológico satisfaça idealmente a proporção de usuários tendo telas de 2.000 nits no mercado, os usuários que gastam mais dinheiro em telas de HDR de 5.000 nits de alta qualidade não recebem a melhor qualidade pelo dinheiro, e certamente nem sempre, automaticamente, o que o gradador original pretendia (sua imagem Im_5000 otimizada). Então, precisa-se de uma tecnologia adicional que possa ser comunicada através de meios técnicos, que seja satisfatória pelo potencial total de entrar no mercado, isto é, qualquer que seja o sistema que um uso específico tenha. Isso funcionaria, por exemplo, para cenários nos quais um visualizador compra algumas informações específicas através de uma versão do tipo HDRs de um disco BD que ele lê com algum aparelho que tem um leitor de BD e obtém informações de metadados de mapeamento de cor adicionais nesse disco, ou alternativamente, por exemplo, através da internet, e o usuário quer exibir o vídeo ao mesmo tempo em duas telas diferentes como, por exemplo, na sua TV de alta qualidade de 6.000 nit da sua casa de veraneio ou em um hotel caro onde ele esteja se hospedando, e em um telefone celular de 500 nits 451 que seu filho está usando em casa.
[076] Nem sempre o sistema de codificação precisa ser capaz de produzir vários brilhos de pico de tela mais altos que aquele da tela de referência associado às imagens reais transmitidas, mas também para os valores mais baixos, por exemplo, 200 nits. Então, tipicamente, do lado da criação de conteúdo haverá uma outra unidade de gradação 325, que, embora não seja o centro da presente invenção, será brevemente descrito. Neste paradigma, embora possa também funcionar com codificações únicas (apenas com imagem de HDR), prefere-se que o gradador seja capaz de dizer algo sobre a imagem de LDR (isto é, como a HDR deve ser reduzida para ser ideal para telas com menores capacidades de faixa dinâmica de luminância). Para isso, o gradador pode especificar ao menos uma função F_2T1 (ou tipicamente um conjunto de funções que trabalham tanto nos componentes de cor de luminância e cromáticos dos pixels, por exemplo, uma alteração na saturação de cor, globalmente e/ou parcialmente local) que pode ser usada para mapear a imagem Im_2000 que é codificada na tecnologia de comunicação de imagem para, por exemplo, uma LDR de referência 100 nits.
[077] O leitor deve entender que a HDR de 2.000 nits ainda é uma imagem de HDR, então, a transformação entre 2.000 e 5.000 nits e 2.000 e 100 nits (uma imagem LDR na cena) pode tecnicamente, assim como artisticamente, ser muito diferente. E, além disso, é relevante se a luminância de pico da faixa de referência da imagem, ou imagens, de fato transmitida é, por exemplo, de 1.000 ou 2.000 ou talvez 4.000. A primeira é (apenas) 10 vezes mais brilhante (isto é, aproximadamente, 3 paradas) que a LDR de 100 nits, enquanto a segunda já é, de modo impressionante, 40 vezes mais brilhante (que é um fator importante, especialmente, para imagens a serem visualizadas em um ambiente de visualização menos iluminado ou até mesmo escuro). Dependendo do tipo de cena de HDR a ser codificada, em comparação com a de LDR, pode-se atribuir, para as 3 paradas adicionais, algumas regiões de imagem de brilho extra nessas paradas adicionalmente disponíveis. Para 40x (5 paradas, isto é, mais 2 paradas adicionais), pode-se criar alguns efeitos de HDR espetaculares, como, por exemplo, espadas a laser ultra brilhantes ou explosões, etc. É claro que as espadas a laser em 2.000 nits também podem ser renderizadas, mas com um brilho menos espetacular.
[078] Para os vários exemplos esclarecedores, supõe-se que os mapeamentos de cor ocorram em relação a uma escala de luminância relativa: como as imagens são tipicamente quantizadas a, por exemplo, de 0 a 1.023, quando se tem representações de componentes de cor de 10 bits, com o código máximo 1.023 correspondente a alguma luminância máxima de referência de um código específico, pode-se especificar, por exemplo, tanto a imagem de entrada Im_2000 quanto a imagem de saída Im_100 em telas de LDR de referência de 100 nits em uma escala ou gráfico relativos, tendo sua luminância de pico fisicamente codificável/realizável normalizada em Lmax=1,0, correspondendo a 1.023, e assim, pode-se especificar qualquer mapeamento de cor.
[079] A Figura 9 mostra um exemplo esclarecedor de como o aumento na gradação (e as informações da mesma como transmitidas em F_2Tu) podem diferir consideravelmente das reduções nas gradações, isto é, do brilho de pico abaixo de 2.000 (codificadas em ao menos um ou um conjunto de um conjunto de funções F_2T1, para a regradação de, por exemplo, de 2.000 para 100 nits, mas outros conjuntos de funções para regradação para, por exemplo, 800 nits podem adicionalmente ser comunicados a um receptor também, ou podem existir mecanismos de regradação com base apenas em um único conjunto de transformações de cores especificando em geral como a redução deve acontecer). Observa-se que pode haver cenas de HDR difíceis ou fáceis, mas um sistema deve, é claro, ser capaz de lidar com todas elas de uma maneira razoável. Um grande contraste com a codificação de vídeo clássica (que lida principalmente com questões técnicas, como que uma imagem deve ser dividida em blocos de DCT, que, diferente de alguns artefatos de bloco, pode sempre ser feito em qualquer imagem da cena, sendo que a água em movimento é, talvez, a pior cena) é que nessa filosofia de codificação de espectro de imagens de HDR, as várias imagens também precisam parecer reais, ou como artisticamente desejadas, e que é uma função complexa de ambas cena/imagem e o comportamento não linear da visão humana adaptada a um ambiente de renderização específica. Então, pode-se fazer uma pergunta: que tipo de renderização de objeto pode ser um efeito de HDR na faixa de 10x LDR (isto é, até 1.000 nits), e na faixa de 15x (então, também a parte entre 1.000 e 1.500 nits), etc.? Isso é parcialmente uma pergunta relativa, porque o cérebro visual pode se adaptar altamente a situações e às interpretações das imagens observadas. Também nos antigos quadros de, por exemplo, van Schendel, embora não haja fisicamente certamente nenhuma grande faixa dinâmica entre o quadro ou a tinta branca e a tinta preta, o pintor pode usar truques para imitar os efeitos da faixa dinâmica maior, com o cérebro estimando, por exemplo, luzes fortes. Então, por exemplo, se uma pessoa sair na rua em um dia ensolarado, onde parte da rua está na sombra, algumas pessoas podem ser críticas em relação ao quanto essa parte deve ser escura em relação à parte ensolarada, enquanto outras pessoas podem aceitar várias possíveis renderizações. Em relação ao quanto a parte ensolarada deve ser brilhante, há mais divergências, ou dito de outro modo, há uma variância maior nas renderizações ótimas. E, é claro que um monitor de brilho de pico de 1.000 nits pode não renderizar “corretamente” a rua ensolarada se for renderizado idealmente em uma sala de estar de um espectador a 2.000 nits, mas uma renderização de aproximadamente 1.000 nits é o melhor que uma tela de 1.000 nits pode fornecer de uma imagem, e isso pode não ser tão ruim (é uma imagem com um impacto apenas um pouco menor, na qual o próprio espectador deve preencher mais a experiência do sol no seu cérebro (isto é, das percepções de iluminação), em vez de ter a experiência total (também das aparências de brilho corrigido)). A Figura 9 elucida com um exemplo adequado como as gradações de vários pontos ao longo da faixa de brilho de pico das telas desejadas podem variar, isto é, em relação aos seus princípios de orientação de gradação dominante. Supõe-se que se tenha uma imagem da natureza que é mais gráfica que naturalística, com alguns brancos que podem aparecer como, por exemplo, as luzes do carro, as luzes da rua e as luzes atravessando a janela de um prédio, etc. Observa-se que em HDR, assim como na vida real, e em contraste com LDR, pode haver vários brancos. LDR tem seu próprio branco e, talvez um pouco de espaço para realces, mas, no mundo real, e em qualquer codificação tendo uma faixa de luminância suficiente restante acima do branco difusivo da principal área de interesse, pode haver, por exemplo, um branco que está tão fortemente iluminado pelo sol de fora, ou a superfície branca de um tubo TL, etc., que podem todos ter uma luminância média consideravelmente diferente. Em uma renderização gráfica, por exemplo, no filme Sin City 2, pode- se ter até objetos que são artisticamente (não naturalmente) feitos brancos. Por exemplo, há uma pessoa de óculos brancos. Em LDR pode-se renderizá-los sem qualquer problema com o brilho de pico de 100 nits ou, diga-se, 500 nits, mas se forem renderizados com branco de brilho de pico em uma tela de, por exemplo, 5.000 nits, poderá parecer que a pessoa tem um farol saindo dos olhos, o que pode ser muito diferente da intenção original. Então, é preferível renderizar esses brancos em HDR com uma luminância consideravelmente menor que, por exemplo, as luzes de um carro, mas em LDR há espaço na escala de cores para apenas um branco.
[080] Observe a Figura 9 de um lado de recepção agora. O gráfico 902 pode, do lado do transmissor, ter sido uma gradação mestre de 6.000 nits - seja direto de uma câmera, talvez com o operador da câmera ajustando a imagem rapidamente com alguns botões de ajuste mudando alguns valores de brilho e de contraste ou gradada altamente artisticamente desconectada - mas agora será uma gradação que pode ser derivada da gradação comunicada 901. Um exemplo do mundo real de vários brancos de HDR (ou regiões mais brilhantes) é, por exemplo, o sol brilhando sobre um carpete em uma área interna através da janela, e o céu brilhando lá fora, e o sol mais brilhante ainda brilhando sobre um telhado de metal.
[081] Então, um receptor receberá as imagens definidas em um eixo de luminância normalizado, que corresponde a um brilho de pico de 2.000 nits. O gráfico (que foi mostrado aqui como um transformador de identidade ou uma linha diagonal caso uma entrada de 2.000 nits no eixo x tenha que ser novamente gradado a si mesmo como saída) consiste em 4 partes. A parte mais escura sendo até 45% (isto é, luminâncias a serem renderizadas a até 900 nits, que podem, por exemplo, emular uma área externa ensolarada, conforme renderizado em um ambiente de visualização escurecido) na cena normal, isto é, os objetos refletidos em uma sala, rua, etc. Acima dessa faixa há três faixas de brilho, que, para simplificar, serão supostamente faixas brancas (isto é, pode haver algumas luminâncias diferentes devido à estrutura do objeto, mas supõe-se que não haja cor). A parte inferior das três pode ser, por exemplo, os óculos ultrabrancos da pessoa. A intermediária pode ser o interior de um quarto com iluminação aconchegante vista de fora, e a mais alta, por exemplo, a luz de uma rua ou os faróis de um carro, etc.
[082] O leitor pode ver que a regradação, isto é, o que é feito pelo mapeamento de tonalidade codificado em F_2Tu em direção a brilhos de pico mais altos que a Im_2000 comunicada se refere principalmente a uma redistribuição das luzes. Supõe-se que as cores do objeto (a parte inferior) sejam renderizadas iguais, independente de se o espectador tenha uma tela de 2.000 nits ou 6000 nits, ou mesmo uma tela de 10.000 nits. Isto é, em um eixo relativo (linear), a parte de baixo da curva 902 será um terço da curva 901. As regiões brilhantes, entretanto, na gradação (902) de 5.000 nits são colocadas nas posições absolutas realísticas, isto é, como todas as renderizações de alta qualidade da cena da imagem devem parecer. O gradador encontra que, em média, a segunda região de brilho deveria ser idealmente duas vezes mais brilhante que a primeira, para dar uma boa impressão de brilho adicional (avL_2_6000 = 2 * avL_1_6000). Na gradação de 2.000 nits, entretanto, isso simplesmente não pode ser feito. Não somente parte da segunda região de brilho terá que ser recortada, mas o que é mais importante, não haverá nenhum espaço no eixo de luminância de referência de 2.000 nits para codificar a terceira região de brilho. Isto é, por necessidade técnica, elas devem ser colocadas mais próximas. Entretanto, o gradador pode escolher fazer isso de modo que ainda haja alguma diferença razoável entre avL_2_2000 e avL_1_2000, isto é, ainda alguma impressão razoável de que são diferentes tipos de luz. E, adicionalmente, se o receptor tiver recebido as funções corretas, ele pode recalcular as luminâncias relativas necessárias para uma gradação de 5.000 nits com base nas luminâncias de pixel da imagem recebida de 2.000 nits. É claro que, especialmente, como as coisas parecerão artisticamente para um espectador será um problema altamente dependente de cena, então, para se ter uma tecnologia adequada de manipulação e codificação de HDR, é preciso um sistema que possa lidar suficientemente com todas essas particularidades. Observa-se que para a redução na gradação, isso está longe de uma mera reversão da flecha das funções de processamento de cor. Nesse exemplo, o gradador escolheu primeiramente não reforçar a parte inferior da curva 901 com um fator 20, mas, em vez disso, escolheu espalhar essas luminâncias sobre a maior parte da faixa de luminância relativa disponível da gradação de 100 nits (curva 903) e, segundo, ele decide fazer todas as três regiões de brilho com branco de brilho de pico. Em contraste com o aumento na regradação, de um lado para o outro, essa definitivamente não é necessariamente uma operação reversível neste exemplo.
[083] A Figura 5a esclarece alguns outros detalhes do possível mapeamento para LDR, no qual é preciso representar uma imagem na faixa de HDR de uma igreja com uma janela de vitral. O interior da igreja é visualmente (isto é, sua aparência) normalmente clara, mas em relação ao branco é bastante escura. Isso porque é necessário espaço na escala de cores vivas da janela de vitral. Isto é, o contraste entre objetos CR_io entre pixels do interior da igreja (CD_HDR2000 ou CD_LDR100) em relação aos pixels do vitral (CR_HDR2000 ou CR_LDR100) precisa ser grande (isto é, uma porcentagem significativa da extensão da luminância da escala de codec de modo que, na renderização, os objetos também sejam suficientemente diferentes na luminância média), mesmo em uma gradação de LDR (nessa gradação de LDR o contraste seria, é claro, no máximo, o maior fisicamente possível e ainda razoável, o que significa que com frequência seriam envolvidos recortes, como a solução preferida do gradador, ou ao menos a dessaturação de cor). Nessa representação de escala, a partir da qual novamente foi feita uma seção transversal de vermelho-ciano para mostrar a ação cromática e o brilho ao longo do eixo de luminância, são mostrados os resultados das funções de mapeamento para mapear entre (como imagem inicial (melhor codificada)) a Im_2000 de HDR, segundo, uma representação intermediária MDR, por exemplo, para uma tela de brilho de 400 nits, e a LDR de referência típica com brilho de pico de 100 nits (não é necessário enfatizar todos os detalhes aqui sobre que funções de mapeamento de tonalidade de múltiplos segmentos e funções de controle de saturação e funções de seleção de região local, etc., podem ser usadas, já que o versado na técnica pode imaginá-las genericamente, e a invenção é sobre a estrutura da gradação e, associada à mesma, a estrutura de codificação para permitir todas essas informações de gradação para chegar corretamente a um lado de recepção e, então, por fim, a renderização correspondente correta). Indo na direção de telas de brilho de pico mais escuro com frequência tipicamente envolve o brilho na escala relativa. Então, isso também será tipicamente como - não considerando que os sinais de codificação tendo metadados explicando o que eles são, como para que brilho de pico de uma tela de referência a imagem é, e qual função de atribuição de código foi usada na geração dos códigos de luma (e se há funções para converter em outros brilhos de pico, o valor desses brilhos de pico) - pode-se ver a diferença entre as imagens de HDR e LDR: as imagens de LDR terão com frequência um histograma mais uniformemente espalhado (às vezes, simplisticamente chamado de monomodal ou “Gaussiano” devido à iluminação uniforme dos objetos da cena, e as imagens de HDR devem ter um conteúdo considerável na subfaixa escura relativa (um lobo forte), assim como um conteúdo nas subfaixas brilhantes, como, por exemplo, uma área fortemente iluminada, e, frequentemente, um vão de luminâncias esparsamente atribuídas entre elas. Na Figura 10, são vistos alguns exemplos de histogramas de luma das cenas de HDR, sendo 1001 uma casamata com vista para fora; 1002, um prédio visto da parte externa ensolarada com partes escuras internas; 1003, uma janela de vitral de uma igreja; 1004, um prédio e arbustos contra o pôr-do-sol e 1005, o interior relativamente escuro de um prédio e o mundo externo visto através de janelas relativamente grandes. Por exemplo, o céu será tipicamente algumas paradas mais brilhante que o resto da cena, e, é claro, as lâmpadas, ao menos a própria lâmpada, serão tipicamente mais brilhantes que o resto da cena. Se uma imagem for diretamente renderizada com tantos pixels em um lobo escuro (isto é, uma imagem de HDR for renderizada em uma tela de LDR, sendo que a imagem de HDR não é adequada para a tela de LDR), uma imagem será tipicamente obtida que parecerá muito escura, pois uma grande região ou porcentagem de pixels parece difícil de distinguir o preto. Isto é, qualquer que seja a conversão de cor precisa que um gradador deseje para cada cena, a regradação de LDR pode, com frequência, envolver ao menos um brilho dos pixels mais escuros, por exemplo, através de um aumento de contraste multiplicativo desse sub-lobo do histograma de luminância. É também útil para o leitor observar o que “faixa dinâmica” significa, em geral. Os especialistas no passado teriam respondido de uma forma muito simples, a saber, a faixa dinâmica seria a luminância da cor renderizada mais brilhante em função da mais escura. Isso pode ser uma medida razoável para renderização, mas diz pouco sobre a codificação. Conforme mencionado acima, uma imagem pode ser codificada como, diga-se, de 0,01 nit a 2.000 nits (brilho de pico de tela de referência), isto é, parecendo que é uma cena de faixa dinâmica de 200.000:1. Entretanto, se puder ser feita uma atualização da representação para 5.000 nits, pareceria que na mesma imagem há uma codificação de uma faixa dinâmica de 500.000:1. De uma perspectiva de codificação, a faixa dinâmica, e de forma mais importante, a complexidade do brilho de uma imagem, é mais propriamente determinada por quantas sub-regiões (e quais, isto é, quais devem ser suas luminâncias médias renderizáveis típicas) diferentes de valor de cinza (ou tipicamente acesas de modo diferente) existem e com que complexidade de propriedade de objeto de textura/geométrica entre o objeto de qualidade de codificação são codificadas. Por exemplo, um homem ou um monstro parcialmente escondido na neblina não é psicovisualmente ou artisticamente uma questão de onde sua luminância média será colocada no eixo de luminância renderizável, mas também, que contraste entre objetos preciso é necessário, para fazer com que o monstro seja corretamente amedrontador. Essa propriedade de distribuição de brilho mostra por que a renderização relativa (isto é, a compressão na escala entre o brilho de pico da tela e o preto percebível de uma tela de LDR) não é, com frequência, uma maneira adequada de manipular a renderização de HDR (essa forma de renderização ignora a faixa dinâmica correta ou os aspectos de distribuição de luminância dessa imagem e cena específicas e, assim, faz uma renderização muito incorreta da faixa dinâmica). Ou os componentes tecnológicos da estrutura serão capazes de lidar com todos esses aspectos, isto é, não apenas a renderização de alta qualidade de todos os brilhos de pixel (luminâncias) necessários em uma tela de 5.000 nits, mas também as aproximações fiéis quando for necessário renderizar nas telas de menor capacidade, isto é, menor brilho de pico. Isso vai envolver um acordo complicado de que aspectos de mais qualidade da imagem da cena, em particular, que efeitos de HDR (por exemplo, a aparência do brilho de uma lâmpada versus o contraste do homem saindo da neblina), terão que ser sacrificados a um certo grau dado o menor brilho de pico da tela, que pode, em alguns casos, ser parcialmente feito por um software de análise de imagem inteligente, mas com frequência será otimizado artisticamente por um gradador de cor humano.
[084] Voltando à regradação de LDR da igreja da Figura 5a, se for desejado, até onde possível, que as cores dos cantos escuros do interior da igreja (CD) sejam iguais (isto é, sejam renderizadas com as mesmas luminâncias da saída da tela) nas várias telas, se a tela de 2.000 nits for, para todas as cores (quando igualmente direcionadas em relação, por exemplo, ao pico de branco) 20x mais brilhosa que a tela de 100 nits, para a mesma renderização de saída, seria necessário reforçar a luminância de direcionamento (ou de fato os lumas correspondentes R’, G’, B’) para a tela de LDR (ou sua cor CD_LDR100) 20 vezes. É claro que, mesmo quando necessário para poder ver o interior da igreja suficientemente, isso pode acontecer apenas quando possível, dadas as limitações de escala da tela de LDR. Se, por exemplo, CD_HDR2000 tivesse uma luminância de 0,05, de modo que uma conversão de LDR não fosse realística, pois isso acabaria em uma luminância de 1,0 para LDR, isto é, branco, mas tipicamente, é claro que na codificação de HDR que pode ser reduzida para luminâncias muito baixas, a luminância relativa poderia ser, por exemplo, 1/10000° do pico de branco ou menos. Mesmo assim, é claro que ao se mapear CD_HDR2000 para CD_LDR100, o gradador não precisa usar a igualdade de luminância de saída exata como critério, ele pode usar qualquer mapeamento que achar visualmente agradável. Observa- se que esses mapeamentos para imagens de faixa dinâmica menor não precisam ser reversíveis, já que é apenas necessário derivar a imagem LDR de Im_2000 sem ter que fazer uma regradação. Para simplificar, o mapeamento de MDR pode ser alguma interpolação do mapeamento para LDR, por exemplo, o ponto médio em uma escala psicovisual equidistante, mas, é claro que poderia ser qualquer coisa, e o gradador pode até querer especificar uma outra função dedicada para mapear de Im_2000 para MDR. As cores vermelhas na janela de vitral da cena a ser representada podem ser altamente saturadas e, ainda assim, muito brilhantes. Isso aconteceria na imagem de Im_2000 HDR se as cores de pixel fossem codificadas próximas à luminância máxima ou ao valor de direcionamento (255 ou 1023, por exemplo), do vermelho primário R. Reduzindo, por exemplo, para MDR, o gradador vai se deparar com as limitações físicas do sistema e pode querer equilibrar o colorido para obter o máximo de impressão de brilho possível para as janelas, isto é, manter um contraste suficiente entre objetos, que o cérebro, então, interpreta como janelas coloridas e brilhantes. Isso vai tipicamente envolver um mapeamento para CD_MDR400, que mantém a cor no topo da escala na saturação suficiente, isto é, a uma distância ainda suficiente do eixo de luminância acromática, isto é, ainda suficientemente baixa na conversão da parte superior da escala e o mais próximo possível do limite da escala (isto é, sem posterização, pois as cores vizinhas se tornam iguais). Para a LDR, o gradador escolhe continuar o mapeamento (por exemplo, como de 2.000 a 400 são cerca de duas paradas, assim como de 400 a 100, o gradador pode considerar fazer o mapeamento na mesma direção, e em uma distância igual, mas, em geral, pode ser qualquer iluminação e saturação balanceadas do mapeamento levando em consideração os aspectos psicovisuais de ambas as telas, isto é, a partir do brilho de pico das telas com maior brilho de pico, efeitos de luz específicos começam a ocorrer na aparência visual em comparação com o gradador ter que preencher excessivamente alguns efeitos de HDR em telas de brilho de pico menor, como uma de 100 nits. Nesse exemplo, pode-se ver que a escolha do gradador de simplesmente recortar o branco (próximo) de CR_LDR100, deixando apenas um pouco de textura de imagem na janela de vitral brilhando etereamente pela imagem de LDR. Em relação à codificação técnica dessas funções de redução de mapeamento F_2T1, pode haver várias formas. Por exemplo, o gradador pode usar uma tecnologia que especifica as funções no disco de modo que elas fiquem dentro da faixa limitada (válida) [0,1], isto é, o mapeamento para MDR é codificado simultaneamente como metadados para a Im_2000, e a imagem de LDR é, então, matematicamente extrapolada dos mesmos no lado de recepção. Pode-se permitir tecnicamente mapeamentos de cor em pseudocores PC definidas em uma escala estendida que vai além da faixa de cores típica [0,1]. Nesse caso, pode-se especificar precisamente as PC de cores de LDR para obter a CD_MDR400 de cores de MDR através da interpolação, e a CR_LDR100 de cores de LDR de fato renderizável será determinada na extremidade do receptor com o decodificador aplicando um mecanismo de recorte (que poderia ser fixo ou também especificado, por exemplo, pela codificação de um número de seleção de um número de estratégias de recorte selecionáveis). A Figura 5b mostra uma das modalidades de como valores anômalos podem ser codificados para especificação de imagem com gradação de LDR. É possível mapear para a escala completa 555 entre 0,0 e 1,0, mas alguns dos códigos são reservados para cores não renderizáveis em LDR (mas renderizáveis quando adaptadas para cores de MDR). A escala real de cores renderizáveis de LDR é 556 (isto é, como as cores devem ser renderizadas em uma tela de LDR, possivelmente envolvendo o recorte desejado), que pode ser especificada definindo-se um máximo ou ponto branco CW, por exemplo, a 0,85. Da escala 556, cores serão recortadas para a escala antes de renderizar a imagem de LDR, por alguma estratégia fixa ou comunicada de recorte. Alguns criadores de conteúdo podem achar a extrapolação de uma imagem de LDR a partir de uma codificação de MDR em disco uma modalidade mais segura, já que não há menos cores nas regiões de objeto de LDR. Ainda assim, resulta em uma estratégia similar, já que o CW será relativamente definido circundando-se a escala maior 555 próxima à definição de cores da escala fora da LDR necessária para a imagem, ou imagens, atuais. Isto é, os dados de textura são definidos com uma imagem que tem ocupação máxima, isto é, nenhum recorte na imagem codificada menor. Então, isso corresponde a colocar alguma imagem de MDR no disco e aplicar um outro mapeamento para fornecer a LDR final a ser renderizada, o que tem algum componente de recorte.
[085] Em resumo, pode-se dizer genericamente que, tipicamente, os mapeamentos entre as representações de HDR envolvem o reposicionamento de objetos mais brilhantes ao longo do eixo de luminância relativo (por exemplo, para deixá-los mais brilhosos, capacidades de balanceamento de tela com o significado do objeto na imagem, e jogando psicovisualmente com a aparência do brilho além da aparência da iluminação), enquanto o mapeamento de imagens de LDR envolve a mistura de todas as faixas de valores de cinza do objeto de uma forma ideal dada a pequena escala de cores renderizáveis disponível, que são duas tarefas tecnicamente diferentes.
[086] Por trás disso, há uma filosofia da utilidade de se codificar não apenas uma única imagem de HDR, mas, de fato, um espectro de imagens para várias situações de renderização com vários brilhos de pico de tela, o que não é uma tarefa trivial, já que para cada imagem é preciso constantemente uma otimização dados todos os fatores, como limitações técnicas, como comprimento de palavra do código de cores combinado (de fato, a complexidade dos ICs de cálculo, ou coleção de bits disponível para comunicação e, com frequência, incorporabilidade em tecnologias antigas, como, por exemplo, um sistema de transmissão de vídeo via satélite, etc.), e é claro que considerações artísticas também, mas, de fato, tudo isso é otimizado junto (então, é preciso uma estrutura técnica adequada, para que, por exemplo, um gradador de cores humano não faça algo que seja artisticamente fantástico mas que não seja mapeado com a tecnologia disponível, e acabe sendo uma decepção).
[087] Por exemplo, considere uma cena que é complexa, em termos de faixa dinâmica, com uma sala interior com iluminação média e também com regiões escuras, mas, através de algumas aberturas há uma visão de um mundo externo ensolarado com várias regiões de cor e/ou brilho crítico, que pode ser uma cena complexa para se otimizar em uma faixa de luminância de referência ou escala de cores de 5.000 nits. Mesmo assim, o espectador verá corretamente várias regiões que são um pouco mais escuras na parte interna da sala, com o brilho médio correto de modo que a visibilidade seja correta, mas também o espírito da cena, etc., além de várias regiões de brilho que imitam uma região externa do mundo real. A pergunta agora é como continuar a fornecer todas essas regiões acesas distribuídas de modo balanceado para todas as vistas com faixa dinâmica menor na cena (isto é, com luminância máxima menor e para renderizar em telas de brilho de pico menor). Uma renderização de 2.000 nits pode ainda ter uma imagem de HDR de qualidade significativamente alta, mas ainda é preciso decidir como redistribuir as luminâncias que estavam, diga-se, entre 3.000 e 5.000 nits, para luminâncias abaixo de 2.000 nits. Por exemplo, o gradador pode considerar que isso é feito de maneira ótima, mantendo todas as luminâncias internas iguais às da gradação de 5.000 nits e mantendo a parte externa suficientemente iluminada e ensolarada, isto é, com uma luminância média próxima ao máximo de 2.000 nits (ou melhor, o máximo que se pode obter sob a restrição de colorido suficiente dos objetos externos) e sacrificar um pouco, por exemplo, os realces especulares dessa região.
[088] Para 1.000 nits, ele poderá precisar fazer regradação das regiões brilhantes mais criticamente, então, poderá considerar escurecer também as cores internas, para manter a razão de contraste entre a luminância média dentro e fora suficiente alta. Para, por exemplo, 700 nits, o gradador pode considerar que precisa mudar significativamente todas as luminâncias dos objetos internos, para misturar todas essas regiões interiores acesas diferentes na menor subfaixa de luminância disponível, entretanto, ainda considerando, por exemplo, os contrastes locais e semiglobais, etc. É claro que ele precisa considerar as luminâncias dos objetos externos também.
[089] Estruturas técnicas adequadas de codificação de HDR precisam proporcionar aos criadores de conteúdo liberdade suficiente, levando-se em consideração, é claro, também os vários cenários necessários do lado de consumo da imagem, em particular, que permite várias formas de recolorir todos esses objetos, ao menos, ao longo de uma direção do eixo da luminância.
[090] Finalmente, um formatador 330 codificará a única imagem de referência Im_2000, por exemplo, de 2.000 nits, em qualquer formato prescrito de acordo com um padrão de codificação de transmissão de vídeo escolhido para a codificação das imagens de HDR. Desenvolveu-se um método no qual se pode reutilizar amplamente as tecnologias de codificação de imagem de LDR e de comunicação existentes. No final, tem-se apenas valores de RGB normalizados, mesmo para uma imagem DHR, então, pode-se armazená-los em formatos de codificação que não levam em consideração os pixels (é claro que o receptor precisa de metadados explicando a quais luminâncias os lumas ou os valores R’G’B’ não lineares correspondem, senão, supondo que recebam uma imagem de LDR antiga, vão renderizar a maioria dos pixels de modo muito escuro nas telas com baixo brilho de pico). Tipicamente, poderá haver codificação DCT envolvida para se obter Im_2000C codificada, já que nesta pesquisa mostra-se que se pode codificar imagens de HDR em estruturas de codificação MPEG padrão (por exemplo, YCrCb de 10 bits), desde que a EOTF correta seja usada para definir como os 1.024 códigos disponíveis são usados para codificar luminâncias específicas como lumas. Com essa imagem, deveriam ser comunicados simultaneamente todos os metadados necessários que prescrevem (ou ao menos guiam) como as imagens derivadas (isto é, gradações ou imagens) devem ser obtidas de Im_2000, como, por exemplo, funções F_2T1, para calcular ao menos uma imagem de pequena faixa dinâmica (por exemplo, 100 nits tipicamente), para obter imagens de direcionamento finais para telas de pequena faixa dinâmica (por exemplo, até 300 nits). A imagem e os metadados podem ser, por exemplo, colocados em um disco BD ou codificados como um sinal de codificação de transmissão de vídeo e enviados, por exemplo, através de uma conexão de rede ou armazenados para transmissão posterior, etc. Além disso, de acordo com a invenção, haverá um conjunto adicional de metadados MET(F_2Tu), que será elucidado nesta descrição como as funções F_2Tu para reconstruir uma aproximação muito próxima de, por exemplo, a gradação de Im_5000 nits da imagem Im_2000 nits armazenada no disco BD. Então, resumindo, a gradação dessa unidade 310 é uma gradação artística básica que define como o artista quer que uma cena da vida real seja mapeada em uma imagem de HDR de alta qualidade (pico de brilho maior). A segunda unidade de gradação 320 é, então, tipicamente usada, sob a direção do gradador, para o mapeamento dessa representação de HDR ótima para uma imagem de HDR de pico de brilho menor (uma troca que ainda tem qualidade de codificação suficiente das regiões para permitir uma retransformação ótima para telas de pico de brilho mais alto, porque as luminâncias do objeto foram mapeadas para uma faixa de pico de brilho menor). Algumas modalidades do codificador podem fazer apenas isso e, depois, fornecer aplicações de receptor, que precisam apenas servir telas e cenários de renderização de pico de brilho mais alto que aquele combinado para a comunicação da imagem. Entretanto, é tipicamente útil ter informações de como reduzir a gradação dos brilhos de pico menores também, então, haverá uma terceira unidade 325 que permite um algoritmo automático ou também um gradador para especificar como a gradação das imagens de 2.000 nits deve ser reduzida, tipicamente, para imagens de 100 nits. Finalmente, todos os dados são formatados de acordo com o que um sistema de armazenamento ou comunicação precisa.
[091] Agora, serão elucidados alguns outros aspectos da modalidade sobre o que um gradador pode fazer em relação ao mapeamento entre as codificações de HDR de 5.000 nits e 2.000 nits e quais aspectos técnicos as várias modalidades técnicas devem ter para fornecer isso. Como mencionado anteriormente, quando não se está gradando apenas uma codificação de Im_2000 nits que precisa ser usada sozinha, mas também uma codificação com a presente tecnologia de codificação funcional paramétrica, uma gradação ótima de Im_5000 de 5.000 nits, a gradação para 2.000 nits, de fato, sempre se torna um ato de balanceamento entre a representação da cor da cena (isto é, a caracterização quantizada suficientemente precisa de todas as texturas de objetos de HDR) e, por outro lado, o aspecto artístico, se o gradador se dá conta e se importa com isso ou não. Então, uma gradação adequada, na otimização, deve levar em consideração ambas as restrições. Começar-se-á teoricamente com um possível método de gradação na Figura 6. Suponha-se que há uma imagem de HDR que é composta de duas sub-regiões com iluminação muito diferente (como, por exemplo, um interior de um bar marrom escuro, e um exterior claro através de uma janela, ou ao contrário, à noite: um exterior escuro e um interior da janela de uma loja iluminada). As duas regiões serão demarcadas, ao menos conceitualmente com o demarcador de luminância Lt. Na prática, pode-se conceber e codificar tecnicamente todos os mapeamentos de várias maneiras equivalentes, por exemplo, especificar apenas um mapeamento complicado para a luminância de Im_2000 acima de Lt, e um fator de escala multiplicativo para as luminâncias abaixo, ou especificar um mapeamento único por toda a faixa de luminância da Im_2000 de entrada para ser reconstruído para uma gradação de 5.000 nits, etc. O gradador iniciou essa criação de conteúdo nesse exemplo, construindo essa imagem de referência atraente de 5.000 nits (Im_5000) para o interior do bar. Ele agora quer copiar essa imagem na gradação de Im_2000 nits para codificar e transmitir essa imagem, isto é, com as mesmas luminâncias renderizadas, isto é, as mesmas luminâncias da sua faixa de luminância de referência. Isto é, nessa região abaixo de Lt, as duas gradações serão relacionadas por um mapeamento linear com um fator de escala de 2,5. É claro que o leitor versado pode entender que o gradador pode usar todos os outros tipos de mapeamento, por exemplo, escurecer uma parte da subfaixa menor, pois algumas cadeiras marrons ficam melhores na renderização de 2.000 nits, em comparação com o que se poderia fazer com uma renderização/gradação de 5.000 nits, que forneceria, por exemplo, uma pequena saliência na curva de mapeamento linear 601.
[092] Então, o gradador pode se concentrar no que fazer com as cores com luminâncias mais brilhantes (para simplificar, suponha-se que as cromaticidades das cores sejam iguais em ambas as codificações de HDR, o que significa que se pode elucidar a invenção com base no comportamento da luminância, mas o leitor versado entenderá como deve funcionar com mapeamentos de cor mais gerais, o que pode também mudar a saturação da cor, por exemplo, ou mesmo a matiz, como um desvio em direção ao amarelo para imitar a luz do sol, etc.). Se isso for simplesmente uma codificação das várias texturas brilhosas de HDR, isto é, ignorando os requisitos de imagem das luminâncias ideais para essas regiões, por exemplo, porque elas não podem ser feitas com perfeição a 2.000 nits, ou podem ser pós-processadas, etc., a curva de mapeamento parcial 602 pode ser usada para o restante da imagem, isto é, neste exemplo, as luminâncias LN_2000 normalizadas estão cima de Lt mapeado de um para um para as mesmas luminâncias LN_5000 relativas/normalizadas (que então, parecerão mais brilhantes em um colorímetro ou fotômetro quando renderizadas na tela desejada de 5.000 nits, mas a imagem para o sistema visual humano dependerá, entre outros, da adaptação visual, e da interpretação cognitiva das imagens pelo cérebro humano). Isto é, talvez a parte superior das áreas ensolaradas externas pareçam mais brilhantes na tela de 5.000 nits e deveriam. E, o cérebro, mesmo sem saber ou se importar com se está muito sol lá fora, esperaria uma região “consideravelmente mais brilhante”, ao menos tanto quanto qualquer tela de um brilho de pico específico permitisse. Para alguns tipos de cena, isso não seria uma estratégia de gradação ruim com um resultado razoável, embora possa parecer um pouco contra-intuitivo, pois agora tem-se um mapeamento descontínuo, embora ainda reversível. Observa-se que o critério de reversibilidade (isto é, se o gradador faz uma codificação de 2.000 nits de “menor qualidade” a partir da sua gradação de 5.000 nits de alta qualidade aplicando algumas funções, em um lado de recepção, essas funções deveriam ser aplicadas ao contrário para reconstruir a gradação de 5.000 nits a partir da gradação de 2.000 nits recebida) só exige que um lado de transmissão seja capaz de definir algumas funções F_2Tu para mapear a Im_2000 para a Im_5000* de reconstrução, com a propriedade de proximidade visual suficiente para Im_5000, e, assim, a elucidação das presentes modalidades, pressupõe simplesmente que o codificador codifica como metadados não as próprias funções de redução no mapeamento, mas a sua F_2Tu inversa (nesse caso, uma F_2T5 para reconstruir uma gradação de 5.000 nits), que é necessária para reconstruir a Im_5000*, e que será monotonicamente aumentada, tipicamente.
[093] Talvez o gradador possa desejar usar outras funções, por exemplo, já que há funções contínuas (como multilinear com posições de segmento ajustáveis) no conjunto de ferramentas de gradação limitado. Nesse caso, ele escolheria usar o mapeamento parcial 603 para as luminâncias superiores (região de luminância superior R_U) e pode, por exemplo, fazer gradação da Im_2000, de modo que não haja valores de luminância presentes logo acima de Lt, mas apenas no, por exemplo, último quarto da faixa de luminância de entrada. Ele pode continuamente equilibrar os vários requisitos, então, se desejar que uma gradação adequada de 5.000 nits seja derivável, e, especialmente, se desejar ser responsável pela qualidade dessa imagem, ele normalmente verificará o que está fazendo na gradação de 2.000 nits e também na gradação reconstruída de 5.000 nits. Ele pode, por exemplo, verificar lado a lado ou alternar em uma única tela. O modo alternado mostrará imediatamente regiões de significativa mudança, embora lado a lado possa ser usado para outros tipos de verificações (por exemplo, sub-regiões que tiveram uma gradação diferente de propósito, por algum motivo ou para algum efeito adicional). Além disso, algoritmos automáticos podem fazer uma pré-análise das regiões que podem ser críticas de acordo com algum aspecto visual, por exemplo, bandas, e essas regiões podem, então, ser reluzidas em vermelho para que o gradador possa olhar ali de modo mais crítico. Ambas as imagens seriam de HDR, mas, é claro que teriam um aspecto de imagem de HDR um pouco diferente. O alongamento da curva 603, em particular porque as imagens Im_5000* devem ser mostradas em uma tela brilhante de 5.000 nits, pode levar a algumas regiões com, por exemplo, bandas devido a uma derivada D alta demais em comparação com o número de códigos N disponíveis localmente na imagem Im_2000. O gradador pode, então, reajustar a curva para levar isso em consideração. Por exemplo, ele pode reduzir a inclinação da curva um pouco, ao menos, nessa região, para obter uma curva em formato de N para 603 com uma parte menos inclinada entre partes mais inclinadas, ao menos, se for visualmente aceitável. Ou ele pode desviar a curva um pouco fornecendo a ela, em média, uma inclinação menor, embora não tanto quanto a 602 (ele pode desejar visualmente coordenar a altura do passo determinando um contraste entre objetos para as regiões externas em comparação com as internas, por exemplo, para limitar o vazamento de luz ao redor das bordas da janela para dentro do bar), etc., ou, um algoritmo automático pode fazer isso por ele. Nesse caso, alguma imagem Im_2000T com gradação técnica pode ser armazenada em um disco e, então, haverá tipicamente outros parâmetros de mapeamento, por exemplo, uma F_2T2T que deriva da Im_2000T a gradação artística Im_2000, conforme desejado pelo gradador.
[094] A Figura 7 mostra esquematicamente algum exemplo geral do que o gradador pode fazer para relacionar as duas gradações de HDR, mais brilhante e mais escura, através de uma transformação funcional. Em vez da reprodução exata do interior de regiões internas de luminância mais baixa, ele pode adicionar efeito de gradação em uma das duas imagens, porque ele acha que fica melhor em 5.000 nits, ou é uma otimização na menor faixa de 2.000 nits, etc. Por exemplo, ele pode inclinar a parte 701 do mapeamento um pouco mais para o escuro, se ele achar que, por exemplo, telas de 5.000 nits típicas podem renderizar as partes escuras (ou ao menos as partes escuras relativas, mas talvez também as partes escuras absolutas, com telas de ultra-HDR renderizando melhor, por exemplo, até 0,005 ou mesmo teoricamente uma 0,0001 em vez de 0,01 nits), isto é, ele pode trazer uma aparência mais escura, que pode ajudar nas imagens de filmes de terror de porões ou cavernas escuras, ou florestas à noite, etc. De modo similar, ele pode curvar sua curva superior de mapeamento parcial 703 para trazer mais contraste e enfatizar certas sub-regiões de luminância da mesma, ou vice-versa, tirar a ênfase, etc. Também é mostrado um exemplo de gradação local. Isto é, embora normalmente para todos os pixels na imagem Im_2000 a curva 701 poderia ser usada, puramente com base na luminância dos pixels e não no posicionamento espacial, no exemplo, a curva 710 é usada para algumas regiões/objeto locais (por exemplo, uma segunda visão do mundo brilhante lá fora através de uma janela cercada por partes relativamente escuras do interior). Isso significa que, em adição aos dados especificados pelo formato da função de processamento de cor, algumas informações de localização serão comunicadas para permitir que o receptor determine a que pixels na imagem 710 devem ser aplicados. Isso pode ser feito, por exemplo, porque algum objeto específico recebe um reforço adicional não médio para parecer melhor, por exemplo, na imagem Im_2000, que precisa ser mitigado para não ficar excessivo. Ou também, devido à natureza adaptável ao local da visão humana, pode-se ver que um pedaço pequeno do céu observado através de um pequeno orifício em paredes internas escuras pode ser percebido de cor diferente do resto do céu em uma outra posição na imagem, mesmo que os dois sejam colorimetricamente exatamente iguais, e isso pode ser corrigido por especificação de processamento local. Ou pode ser usado porque o gradador acha vantajoso, para uma parte de uma cena, processar localmente em vez de ficar remendando as curvas globais, etc. Todas essas funções de mapeamento necessárias são o que foi indicado esquematicamente para simplificar com F_2Tu, e todos esses parâmetros e outros dados exigidos serão adequadamente codificados como metadados de uma maneira pré-padronizada de modo que possa ser compreendida pelo receptor. Observa-se que o gradador pode em princípio até desejar codificar simultaneamente como mapear da Im_5000* de 5.000 nits para telas de brilho de pico mais altos, cujas funções F_5TE podem, por exemplo, prescrever o nivelamento para assegurar que certas regiões amplas, como céu nublado esbranquiçado, não fiquem muito brilhantes, mesmo com a luz do sol, mas tornar luzes pequenas extremamente brilhantes, etc. Essas funções podem ser recalculadas e armazenadas em disco para calcular diretamente a partir de uma gradação de Im_2000 para uma gradação de 20.000 nits. É claro que o gradador pode também considerar que a imagem Im_5000 nits é a mais brilhante que ele deseja, deixando um reforço adicional ao gosto do fabricante da televisão, ou fabricante de conversor, ou qualquer aparelho de conversão da imagem final recebida.
[095] A codificação dos metadados da função de processamento de cor necessária no sinal de imagem S_im, por exemplo, para armazenamento em um disco óptico ou para algum padrão de televisão, pode, por exemplo, acontecer em um segmento de definição de processamento de gradação de imagem de HDR com um valor de código indicador específico indicando que esse é o tipo de informação e parâmetros que codificam a situação de processamento, em particular, o formato das funções de mapeamento de cor necessárias. Um descritor pode codificar o processamento necessário por um lado e, por outro lado, a definição do vídeo de 2.000 nits. Por exemplo, a definição de qual brilho de pico de tela as imagens com gradação são adequadas pode ser: Video_Tyoe_definition_descriptor() {Luminância de pico da faixa de referência de codec EOTF }
[096] A luminância de pico gravada para BD seria, no presente exemplo esclarecedor, de 2.000 nits, e a EOTF seria definida na especificação de blu-ray (como uma função matemática ou LUT) como sendo qualquer variante única ou múltiplas variantes prescritas, em caso de múltiplas, por exemplo, um número inteiro para denotar qual é usada.
[097] É claro que se pode preencher a 3.000 nits, por exemplo, e reforçar alguma codificação de 3.000 nits na definição especificada de 2.000 nits (isto é, usando a função EOTF para a codificação de 2.000 nits), mas, normalmente, a especificação sempre é seguida.
[098] O processamento para reconstruir a Im_5000* seria definido, por exemplo, como: Video_processing_descriptor(){ Tipo de caracterização #2000_to_5000 K número de segmentos lineares para mapeamento de luma Para (i=0; i<K;i++) {(LN_2000_i, LN_5000_i)} as coordenadas do ponto final do segmento parcial com LN_2000_i sendo uma coordenada x e LN_5000_i sendo uma coordenada y de, por exemplo, um ponto inicial de um segmento, o último ponto inicial sendo um ponto final se LN_2000_i estiver no seu valor máximo (tipicamente 1) L número de segmentos lineares para o multiplicador de saturação dependente de luma Para (i=0; j<L;j++) {(LN_2000_j, MULT_SAT_j)} coordenadas de um ponto de luminância (ou luma) ao longo do eixo iniciando ou terminando o segmento linear presente, e na direção y uma saturação reforça o valor de um multiplicador, por exemplo, 0,3 ou 3,5 [observação, pode-se codificar esse gráfico com uma escala de uma faixa padrão de, por exemplo, 0,25 a 3,0 ao longo da qual, linearmente ou não linearmente, os possíveis valores de, por exemplo, 8bits =255 são distribuídos como MULT_SAT=f(mult_sat_code)= por exemplo, A*mult_sat_code+B, com um SAT_SCAL_FACTOR de, por exemplo, 2,0, de modo que se possa codificar saturações de até 2,0*3,0] }
[099] A partir desses metadados (nos cenários de codificação de HDR mais simples), o lado de recepção tem agora todas as informações de que precisa. A saber, ele recebe confirmação de como Im_2000 foi especificada, isto é, o que significa colorimetricamente, como uma codificação independente de dispositivo (e ainda parcialmente otimizada para uma classe de cenários de renderização, fazendo gradação ótima dos efeitos de HDR a uma certa capacidade de tela de HDR), que pode ser adicionalmente adaptada se for necessário cumprir necessidades específicas do dispositivo. Além disso, o decodificador pode ler as funções de processamento e carregá-las na sua unidade de processamento de cores.
[0100] A Figura 4 elucida esquematicamente um decodificador de imagem de HDR (ou vídeo) 401 (que pode, por exemplo, ser um IC ou placa de processamento ou software sendo executado em um processador em um aparelho, como uma TV, um conversor, um leitor de BD, um computador, uma estação de recebimento de imagens médicas, etc.) em uma extremidade de recepção em uma configuração de renderização da casa do consumidor exemplificadora (é claro que o leitor entende que, com as alterações necessárias, as presentes modalidades podem também ser incorporadas em sistemas profissionais, como, por exemplo, um cinema digital para salas de cinema).
[0101] O sinal de imagem S_im é, por exemplo, lido de um disco de blu-ray 340, produzindo como uma imagem inicial a imagem comprimida Im_2000C, na qual o descompressor de imagem 403 descomprime a imagem, ou imagens, em uma imagem, ou imagens, descomprimida, executando, por exemplo, uma decodificação de run-length, DCT inversa etc., para obter, por exemplo, uma Im_2000 codificada em uma luminância linear CIE (X,Y,Z). Além disso, as várias funções de processamento de metadados são lidas, por exemplo, do mesmo disco e/ou uma fonte secundária de metadados, por exemplo, uma função F_d2d para obter uma imagem de 100 nits da imagem Im_2000, e, em particular interessante para elucidar as várias modalidades da presente invenção as funções F_2Tu para reconstruir Im_5000*. Um processador lógico 405 determina qual é a configuração específica, diga-se, do conversor (STB) com seu decodificador interno, em particular, que telas estão atualmente conectadas (e pode analisar também outros aspectos do ambiente de renderização como, por exemplo, a iluminação média do meio de visualização, preferências de visualização que o espectador armazenou no sistema através do seu controle remoto, etc.). Caso (apenas) uma tela de 2.000 nits 450 esteja conectada presentemente, o processador lógico pode retransmitir diretamente o vídeo Im_2000 não processado (pois já é artisticamente mais ideal para tal tela) a ela. Isso tipicamente passará por um formatador de transmissão 415 que pode formatar adicionalmente (embora não precise fazer nenhum processamento colorimétrico por si) as imagens para satisfazerem qualquer transmissão de vídeo específica padrão (ou armazenamento se uma memória estiver conectada e alimentada a um vídeo). Por exemplo, a tela 450 pode ser conectada através de uma saída de conexão com cabo 432, por exemplo, um conector HDMI, que satisfaça uma versão suficientemente capaz para HDR de HDMI. No caso da transmissão de metadados, por exemplo, informações úteis para permitir que a tela faça seu próprio processamento de ajuste colorimétrico final, esses metadados podem ser transmitidos em um formato combinado na especificação HDMI. Ao mesmo tempo, entretanto, o conversor pode servir, por exemplo, uma tela portátil 451, diga-se, de um telefone celular ou tablet. Isso pode acontecer, por exemplo, enviando-se uma imagem otimizada x*100 nits através de uma conexão sem fio, através de uma saída sem fio 433 (por exemplo, através de streaming um vídeo por um protocolo 802.11 Wi-Fi ou similar). É claro que essa tela portátil ou capacidades de faixa dinâmica significativamente menor, diga-se, de brilho de pico de 500 nits, precisa ser alimentada com um sinal processado com uma imagem de cor/brilho diferente, isto é, uma imagem com gradação diferente. Assim, uma unidade de processamento de cor 410 pegará as informações da função de processamento correta F_d2d para obter a gradação adequada, por exemplo, normalmente aplicando essas funções a Im_2000 (e o processador lógico 405 transmitirá os dados necessários, isto é, Im_2000 e F_d2d. Então, a unidade de processamento de cor 410 é disposta para calcular para cada cenário (isto é, o brilho de pico da imagem codificada recebida e o brilho de pico de uma tela na qual as imagens com nova gradação são mostradas) as transformações colorimétricas adequadas ou aplicando diretamente as funções recebidas ou determinando as funções de mapeamento de cor adequadas com base nas informações da nova gradação codificadas nas funções recebidas, para obter imagens de saída com nova gradação correta e, então, transmitirão a nova gradação de imagem corretamente, por exemplo, imagem de 100 nits para o formatador de transmissão 415 (ou diretamente ou através de um processador lógico) ou uma imagem de 3.200 nits, etc. O formatador de transmissão 415, então, fará qualquer reformatação necessária para que as informações exigidas sejam comunicáveis com a tela conectada, isto é, ao menos enviar as imagens, de acordo com algum protocolo de codificação de imagem predefinido (por exemplo, armazenar uma imagem de 850 nits em um recipiente de codificação de imagem de LDR) e pode também comunicar todas ou algumas das funções de mapeamento de cor em metadados.
[0102] O processador lógico 405 pode determinar se e que processamento de cor é necessário, por exemplo, para converter um vídeo decodificado de 1.000 nits de imagens em imagens para uma tela de 1.500 nits.
[0103] Assim, o criador pode codificar a situação de renderização para a qual as funções de mapeamentos de cor F_d2d são, o que pode ser feito como: Mapping_function_meaning{ Starting_max_luminance 2.000 nits Optimal_max_luminance 100 nits [isto é, o mapeamento deve criar imagens de direcionamento com gradação adequada para telas 100 nits, “em média”] Upper_limit_max_luminance 500 nits Lower_limit_max_luminance 40 nits }
[0104] Os dois últimos parâmetros não são necessários em todas as modalidades (o que tipicamente vai codificar apenas ao menos até o brilho de pico desejado de uma tela, que a função pode fazer regradação, supondo que o brilho de pico das imagens comunicadas seja pré-fixado, e pode também ser útil para preencher esse brilho de pico codificado, aqui chamado de Starting_max_luminance), mas pode ser útil transmitir limites de adequação de imagem, de modo que um receptor possa rapidamente decidir se precisa fazer regradação das imagens para sua tela conectada.
[0105] Isto é, se o criador de conteúdo preencher não apenas a saída de luminância máxima, mas também os limites, ele define que, de acordo com ele, neste exemplo, há uma tela de LDR para a qual o mapeamento de cor iniciando a partir de Im_2000 é utilizável, mais precisamente, ele assegura que ao usar a imagem [mesmo que a própria tela não faça processamento de aprimoramento sozinho, mas renderize diretamente sua gradação LDR da Im_100] em telas ao de redor de 100 nits até, por exemplo, 500 nits, a imagem ainda parecerá razoável e, por exemplo, não ficará muito brilhante. Ele pode ter observado, por exemplo, que a imagem não está muito escura e ainda pode ser renderizada com qualidade visual suficiente em telas de 50 nits, mas abaixo de 40 nits, por exemplo, as regiões escuras ficam escuras demais para o espectador médio observar, ao menos, de acordo com o julgamento do gradador. Isso pode facilitar para uma tela, ou o processador lógico, a estimativa de quais das várias funções possíveis podem ser usadas para a predição de, por exemplo, uma Im_750 para uma tela de 750 nits. Essa pode ser uma função, por exemplo, F_2000T400 e não uma função F_2000T1000, ou a tela pode usar ambas as predições com interpolações adequadas. Esses limites especificam para quais imagens da faixa dinâmica em uma cena de HDR as escolhas de renderização artística do gradador são válidas, em contraste com os casos em que outra otimização das várias luminâncias médias de objeto ao longo da faixa é melhor.
[0106] Um terceiro exemplo é quando o proprietário ou usuário do conversor tem disponível uma tela de HDR de alta qualidade, por exemplo, com brilho de pico de 6.000 nits. Sendo suficientemente próximo a 5.000 nits, ele pode alimentar as imagens de gradação de Im_5000* e, então, renderizá-las diretamente um pouco subotimamente, ou alternativamente, fazer seu próprio processamento de cor de 5.000 para 6.000. Neste exemplo, o sinal atravessa uma saída 431 conectada à internet 420 (ou pode ser uma rede local, etc.). O versado na técnica entenderá que vários terceiros, ou componentes técnicos adicionais, podem estar envolvidos pela internet, por exemplo, o usuário pode obter as funções F_2Tu exigidas para a tela através de terceiros pela internet caso a tela 452 faça a conversão de 2000 para 5000, se alimentada com o sinal de Im_2000 (em vez de uma imagem já otimizada para a tela), etc.
[0107] Como há tantas variáveis nesta estrutura de codificação (já que agora se deseja ser capaz de manipular os vários tipos de captura de vídeo LDR ou HDR, com várias definições de codec com diferentes faixas de luminância de referência para a escala de codecs, e ser capaz de fornecer imagens ótimas para vários tipos de tela), a Figura 8 resume esquematicamente alguns aspectos da invenção.
[0108] O que o gradador tem internamente no seu aparelho de gradação do lado de criação, por exemplo, em alguma codificação de luminância linear, por exemplo, um conjunto de imagens OpenEXR ou parecido, ainda não otimizadas para a transmissão de vídeo, está no eixo esquerdo: L_orig. Como dito, as luminâncias de pixel nessa imagem de gradação mestre não são por si as luminâncias da cena real, mas essa imagem codifica o resultado final de como elas foram capturadas com, diga-se, um equipamento de duas câmeras ARRI expostas de modo diferente e com gradação adequada para servir a maioria das telas de HDR em um futuro não muito longínquo (é claro que a gradação poderia, em alguns exemplo, ser simples de acordo com como o operador da câmera configura sua própria câmara). Como exemplo esclarecedor, tem-se que o gradador escolhe uma luminância máxima da faixa de luminância de referência de 5.000 nits, por exemplo, porque essa foi a melhor tela de referência que ele conseguiu e não consegue ver luminâncias mais brilhosas. Então, se um consumidor com dinheiro suficiente comprar a mesma tela, ele deviria ser capaz de ver a gradação original (“a versão do diretor”). O que é renderizado (sem mencionar nada ainda sobre as escolhas de codificação intermediária) é mostrado no eixo L_DISP axis, que mostra como as telas renderizam as luminâncias como luminâncias de saída, em particular, simplificadas com sua renderização de pico de branco (por exemplo, R’=G’=B’=1023).
[0109] Entretanto, essa cadeia agora passa por um valor de luminância máxima de codec significativamente menor (observado no eixo L_COD do máximo padronizado possível de luminância da escala de codificação, que, como dito, não deve ser confundido com as escalas/faixas respectivas da imagem/câmera e tela de qualquer lado), a saber, o codec foi assim definido para ter uma luminância de pico (L_MAX_C) de, por exemplo, 2.500 nits, e precisa-se fazer toda a codificação para obter o meio de comunicação correto levando isso em consideração. Como dito, ao transmitir esse conjunto de imagens de vídeo de Im_2500 através de uma comunicação DVB ou ATSC, pode-se fornecer, simultaneamente, os conjuntos de função de mapeamentos de cor, por exemplo, F_2T10, que a unidade de processamento de cor de recepção pode aplicar para derivar, por exemplo, uma imagem com gradação ótima de 10.000 nits iniciando a partir de Im_2500. Essas funções podem também ser especificadas indiretamente, por exemplo, F_D1T05 mapeia para um vídeo de 50 nits para telas com brilho de pico de cerca de 50 nits, mas iniciando a partir de uma com cor mapeada em 100 nits calculável no lado de recepção em vez de diretamente de Im_2500.
[0110] Os sinais de vídeo podem ser comunicados de várias formas, por exemplo, em um produto de memória, como um disco de blu-ray (340) ou um produto de memória em estado sólido que compreende um sinal de vídeo (S_im) que compreende um vídeo de grande faixa dinâmica codificado (Im_2000) com uma luminância máxima (L_MAX_C) entre 900 nits e 3.500 nits, e, de preferência, 2.000 nits ou 1000 nits, e uma especificação de mapeamento de cor (F_2Tu) que compreende ao menos uma função de mapeamento de luminância para ser derivada através da aplicação de um mapeamento de cor no vídeo de grande faixa dinâmica codificado (Im_2000), um segundo vídeo com pixels tendo uma luminância máxima que é maior que a luminância máxima (L_MAX_C) e, de preferência, ao menos, 1,25 vezes maior. O produto da memória compreende opcionalmente ao menos uma outra especificação de mapeamento de cor (F_d2d), e, opcionalmente, compreende ao menos um limite de brilho de pico de tela (LH_100, LL_100) utilizável para a faixa de telas que o vídeo de grande faixa dinâmica codificado (Im_2000) ou qualquer vídeo calculado a partir da mesma por processamento de cor é visualmente ótimo. Visualmente ótimo significa que a imagem parece mais adequada (de acordo com o criador de conteúdo/gradador) quando renderizada diretamente sem processamento de cor adicional (exceto, talvez, processamento menor, como mudança na matriz da base de RBG) em uma tela com brilho de pico dentro dessa faixa, enquanto, por exemplo, em uma tela mais escura, algumas das imagens podem conter regiões que são muito escuras para serem facilmente vistas, ou são tidas como feias, etc. Em particular o gradador pode ter feito efeitos de HDR colorimetricamente mais precisos e, assim, pode prescrever que são melhor visualizados em uma tela de brilho de pico de, por exemplo, entre 1.000 e 2.000 nits, e que em, por exemplo, 500 ou 4.000 nits um outro respectivo processamento de cor deve ser feito, fornecendo à região um aspecto um pouco diferente, que torna a HDR maias adequada nessa tela de capacidade de faixa dinâmica diferente.
[0111] Os componentes algorítmicos aqui revelados podem (inteira ou parcialmente) ser obtidos na prática como hardware (por exemplo, partes de um CI específico de aplicação), ou como software executado em um processador de sinal digital especial, ou um processador genérico etc.
[0112] O versado na técnica compreenderá, a partir da presente apresentação, quais componentes podem ser aprimoramentos opcionais e podem ser concebidos em combinação com outros componentes, e como as etapas (opcionais) dos métodos correspondem aos respectivos meios de aparelhos, e vice-versa. A palavra “aparelho” neste pedido é usada em seu sentido mais amplo, a saber, um grupo de meios que permitem alcançar um objetivo específico, e podem, assim, ser (uma pequena parte de) um CI, ou um aparelho dedicado (como um aparelho com uma tela), ou parte de um sistema ligado em rede, entre outras coisas. O termo “disposição” destina-se também a ser usado em seu sentido mais amplo, de modo a compreender, entre outras coisas, um único aparelho, uma parte de um aparelho, um conjunto de (partes de) aparelhos que operam em conjunto etc.
[0113] Uma versão de produto de programa de computador da presente modalidade como denotação deve ser entendida como abrangendo qualquer concretização física de um conjunto de comandos que permite que um processador para fins gerais ou específicos, após uma série de etapas de carga (que pode incluir etapas de conversão intermediárias, como tradução para uma linguagem intermediária, e uma linguagem de processador final) insira os comandos no processador e executar qualquer uma das características da invenção. Em particular, o produto de programa de computador pode ser concebido como dados em um portador, como, por exemplo, um disco ou fita, dados presentes em uma memória, dados se deslocando através de uma conexão de rede - com fio ou sem fio - ou código de programa em papel. A não ser pelo código de programa, dados característicos necessários para o programa também podem ser incorporados como produto de programa de computador. Deve ficar claro que, por computador, deve-se entender qualquer dispositivo com capacidade de realizar as computações de dados, isto é, o mesmo pode também ser, por exemplo, um telefone móvel. Também, as reivindicações do aparelho podem cobrir versões implantadas por computador das modalidades.
[0114] Algumas das etapas necessárias para a operação do método podem já estar presentes na funcionalidade do processador em vez de descritas no produto de programa de computador, como as etapas de entrada de dados e de saída de dados.
[0115] Deve-se notar que as modalidades mencionadas acima ilustram, e não limitam, a invenção. Nos pontos onde o versado na técnica puder realizar facilmente um mapeamento dos exemplos apresentados para outras regiões das reivindicações, por uma questão de concisão, nem todas as opções foram mencionadas em profundidade. Além das combinações de elementos da invenção, conforme combinados nas reivindicações, outras combinações dos elementos são possíveis. Qualquer combinação de elementos pode ser executada em um único elemento dedicado.
[0116] Qualquer sinal de referência entre parênteses na reivindicação não se destina a limitar a reivindicação. O uso do verbo “compreender” e suas conjugações não exclui a presença de elementos ou aspectos não mencionados em qualquer uma das reivindicações. O artigo indefinido “um” ou “uma” antes de um elemento não exclui a presença de uma pluralidade de tais elementos.

Claims (17)

1. CODIFICADOR (301) PARA CODIFICAR UM VÍDEO DE ENTRADA DE ALTO ALCANCE DINÂMICO, compreendendo um conjunto de imagens (Im_5000) tendo cores de pixel com luminâncias menores que ou iguais a uma primeira luminância máxima (L_max_M), em um vídeo de alto alcance dinâmico codificado (Im_2000), o codificador (301) é caracterizado por compreender: - uma unidade de regraduação (320) disposta para permitir que um criador de conteúdo especifique ao menos uma função de mapeamento de tonalidade (F_2Tu) para mapeamento de cor do vídeo de alto alcance dinâmico codificado (Im_2000) de segunda luminância máxima menor (L_max_C) para uma reconstrução de vídeo de alto alcance dinâmico (Im_5000*) do vídeo de alto alcance dinâmico (Im_5000); - sendo que a unidade de regraduação (320) é disposta para aplicar o inverso da função de mapeamento de tonalidade (F_2Tu) ao conjunto de imagens (Im_5000) para obter o vídeo de alto alcance dinâmico codificado (Im_2000); e um formatador disposto para gravar em um sinal de vídeo (S_im) o vídeo de alto alcance dinâmico codificado (Im_2000) e, como metadados, a ao menos uma função de mapeamento de tonalidade (F_2Tu, 601), e em que a unidade de regraduação (320) é ainda disposta para usar um conjunto limitado de funções de regraduação que são funções de graduação substancialmente visualmente reversíveis.
2. CODIFICADOR (301) PARA CODIFICAR UM VÍDEO DE ENTRADA DE ALTO ALCANCE DINÂMICO, de acordo com a reivindicação 1, caracterizado pela unidade de regraduação (320) ser disposta para permitir uma especificação da função de mapeamento (F_2Tu) que compreende uma especificação de mapeamento de cor, que aplica um mapeamento de tonalidade de aumento monotônico de formato arbitrário, e uma função de multiplicação de saturação dependente de luminância, cujas funções são para serem usadas em um processamento de cor que aplica as alterações na luminância e saturação correspondentes enquanto mantém a mesma matiz da cor de pixel nas imagens de saída da reconstrução do vídeo de alto alcance dinâmico (Im_5000*), como nas imagens de entrada do vídeo de alto alcance dinâmico codificado (Im_2000).
3. CODIFICADOR (301) PARA CODIFICAR UM VÍDEO DE ENTRADA DE ALTO ALCANCE DINÂMICO, de acordo com a reivindicação 1 ou 2, caracterizado por compreender uma unidade de gradação adicional (325) disposta para especificar ao menos uma função de mapeamento de cor adicional (F_2T1, F_d2d) especificando como mapear as cores do vídeo de alto alcance dinâmico codificado (Im_2000) em um terceiro vídeo com brilho otimizado para reprodução em uma tela com luminância de pico (PL_1, PL_2) que é diferente da primeira luminância máxima (L_max_M) e da segunda luminância máxima (L_max_C).
4. CODIFICADOR (301) PARA CODIFICAR UM VÍDEO DE ENTRADA DE ALTO ALCANCE DINÂMICO, de acordo com a reivindicação 3, caracterizado pela unidade de gradação adicional (325) ser disposta para especificar que a ao menos uma função de mapeamento de cor adicional é uma função de mapeamento de cor para obter um vídeo de 100 nits do vídeo de alto alcance dinâmico codificado (Im_2000).
5. CODIFICADOR (301) PARA CODIFICAR UM VÍDEO DE ENTRADA DE ALTO ALCANCE DINÂMICO, de acordo com a reivindicação 1, caracterizado por compreender uma unidade de especificação de limite (389) disposta para permitir que um criador de conteúdo especifique ao menos um limite do brilho de pico da tela (LH_100, LL_100) identificando um subconjunto de telas que têm um brilho de pico em uma faixa de brilho de pico para a qual o vídeo de alto alcance dinâmico codificado (Im_2000), ou qualquer vídeo derivado do mesmo através da aplicação de um mapeamento de cor adicional (F_d2d), seja de qualidade visual suficiente, de acordo com o criador de conteúdo.
6. CODIFICADOR (301) PARA CODIFICAR UM VÍDEO DE ENTRADA DE ALTO ALCANCE DINÂMICO, de acordo com a reivindicação 1, caracterizado por ser substancialmente reversível compreende a capacidade de calcular um inverso matemático da função aplicada ou procedimento de remapeamento de 5000 nit HDR a 2000 nit HDR.
7. CODIFICADOR (301) PARA CODIFICAR UM VÍDEO DE ENTRADA ALTO ALCANCE DINÂMICO (Im_5000), de acordo com a reivindicação 1, caracterizado pela luminância de qualquer pixel no vídeo de alto alcance dinâmico codificado (Im_2000) ser menor que ou igual a uma segunda luminância máxima (L_max_C) sendo ao menos 900 nits, e a primeira luminância máxima (L_max_M) é ao menos duas vezes a segunda luminância máxima (L_max_C).
8. MÉTODO PARA CODIFICAR UM VÍDEO DE ENTRADA DE ALTO ALCANCE DINÂMICO, compreendendo um conjunto de imagens (Im_5000), tendo cores de pixel com luminâncias menores ou iguais a uma primeira luminância máxima (L_max_M), como um vídeo de alto alcance dinâmico codificado (Im_2000), caracterizado pelo método compreender: - especificar, criador de conteúdo, um mapeamento de cor compreendendo ao menos uma função de mapeamento de tonalidade (F_2Tu) para mapeamento de cor do vídeo de alto alcance dinâmico codificado (Im_2000) de segunda luminância máxima menor (L_max_C) para uma reconstrução de vídeo de alto alcance dinâmico (Im_5000*) do vídeo de alto alcance dinâmico (Im_5000); - especificar, pelo criador de conteúdo, a função de mapeamento de tonalidade (F_2Tu, 601) por meio de uma unidade de regraduação (320), em que a unidade de regraduação (320) usa um conjunto limitado de funções de regraduação para aplicar um inverso da função de mapeamento de tonalidade (F_2Tu) ao conjunto de imagens (Im_5000) para obter o vídeo de alto alcance dinâmico codificado (Im_2000), e em que o conjunto limitado de funções de regraduação são funções de gradação substancialmente visualmente reversíveis, e - gravar, em um sinal de vídeo (S_im), os dados de cor de pixel do vídeo de alto alcance dinâmico codificado (Im_2000) e, como metadados, a ao menos uma função de mapeamento de tonalidade (F_2Tu, 601).
9. MÉTODO PARA CODIFICAR UM VÍDEO DE ENTRADA DE ALTO ALCANCE DINÂMICO, compreendendo um conjunto de imagens (Im_5000), tendo cores de pixel com luminâncias menores ou iguais a uma primeira luminância máxima (L_max_M), de acordo com a reivindicação 8, caracterizado pela luminância de qualquer pixel no vídeo de alto alcance dinâmico codificado (Im_2000) é menor que ou igual a uma segunda luminância máxima (L_max_C) de ao menos 900 nits, e a primeira luminância máxima (L_max_M) é ao menos duas vezes a segunda luminância máxima (L_max_C).
10. DECODIFICADOR DE VÍDEO (401) PARA DECODIFICAR UM VÍDEO DE ALTO ALCANCE DINÂMICO, caracterizado por compreender um conjunto de imagens (Im_5000) com pixels tendo luminâncias com valores até uma primeira luminância máxima (L_max_M), o vídeo de alta faixa dinâmica sendo codificado como um vídeo de alto alcance dinâmico codificado (Im_2000), o decodificador compreendendo: - um descompressor de vídeo (403) disposto para ler a partir de um sinal de vídeo (S_im) os dados de imagem comprimidos, e descomprimi-los para obter o vídeo de alto alcance dinâmico codificado (Im_2000); - uma unidade de leitura de metadados (477) disposta para extrair ao menos uma especificação de mapeamento de cor (F_2Tu) a partir do sinal de vídeo (S_im); - em que a especificação de mapeamento de cor extraída especifica uma função de mapeamento de toanlidade monotonicamente crescente de forma arbitrária, o inverso de qual é aplicado por uma unidade de regraduação (320) em um codificador de vídeo a um conjunto de imagens (Im_5000) para obter o vídeo de alto alcance dinâmico codificado (Im_2000), em que o a unidade de regraduação (320) usa um conjunto limitado de funções de regraduação que são funções de graduação visualmente reversíveis; - uma unidade de processamento de cor (410) disposta para aplicar a especificação de mapeamento de cor ao vídeo de alto alcance dinâmico codificado (Im_2000), para obter um vídeo de alto alcance dinâmico reconstruído (Im_5000*) com uma terceira luminância máxima ao menos duas vezes maior que a segunda luminância máxima (L_max_C).
11. DECODIFICADOR DE VÍDEO (401) PARA DECODIFICAR UM CONJUNTO DE IMAGENS DE VÍDEO DE ALTO ALCANCE DINÂMICO (Im_5000), conforme definido na reivindicação 10, caracterizado pela terceira luminância máxima ser igual à primeira luminância máxima (L_max_M).
12. DECODIFICADOR DE VÍDEO (401) PARA DECODIFICAR UM CONJUNTO DE IMAGENS DE VÍDEO DE ALTO ALCANCE DINÂMICO (Im_5000), conforme definido na reivindicação 10, caracterizado por compreender um processador lógico (405) disposto para determinar qual ao menos uma tela (452) que tem determinado brilho de pico que está conectada e precisa receber o vídeo, e para determinar com base no brilho de pico dessa ao menos uma tela (452) qual processamento de cor (F_2Tu, F_d2d) deve ser aplicado ao vídeo de alto alcance dinâmico codificado (Im_2000) para obter uma imagem de saída (Im_x00, Im_5000*) para ser transmitida à tela.
13. DECODIFICADOR DE VÍDEO (401) PARA DECODIFICAR UM CONJUNTO DE IMAGENS DE VÍDEO DE ALTO ALCANCE DINÂMICO (Im_5000), de acordo com a reivindicação 12, caracterizado pelo processador lógico (405) ser adicionalmente disposto para ler a partir do sinal de vídeo (S_im) ao menos um limite de brilho de pico da tela (LH_100, LL_100), e determinar qual processamento de cor (F_2Tu, F_d2d) deve ser aplicado com base ao menos no limite do brilho de pico da tela (LH_100, LL_100).
14. DECODIFICADOR DE VÍDEO (401) PARA DECODIFICAR UM CONJUNTO DE IMAGENS DE VÍDEO DE ALTO ALCANCE DINÂMICO (Im_5000), conforme definido na reivindicação 10, caracterizado pela unidade de processamento (410) ser disposta para derivar um vídeo de luminância máxima de 100 nits do vídeo de alto alcance dinâmico codificado (Im_2000) mediante a aplicação de uma transformação de cor (F_dT1) recebida no sinal de vídeo (S_im).
15. DECODIFICADOR DE VÍDEO (401) PARA DECODIFICAR UM VÍDEO DE ALTA FAIXA DINÂMICA, compreendendo um conjunto de imagens (Im_5000) com pixels tendo luminâncias com valores até uma primeira luminância máxima (L_max_M), de acordo com a reivindicação 10, caracterizado pela luminância de qualquer pixel no vídeo de alto alcance dinâmico codificado (Im_2000) é menor ou igual a uma segunda luminância máxima sendo de pelo menos 900 nit, e a primeira luminância máxima (L_max_M) sendo pelo menos duas vezes a segunda luminância máxima.
16. MÉTODO DE DECODIFICAÇÃO DE VÍDEO DE UM CONJUNTO DE IMAGENS DE VÍDEO DE ALTO ALCANCE DINÂMICO (Im_5000), com pixels tendo luminâncias decodificáveis até uma primeira luminância máxima (L_max_M), sendo que o vídeo de alto alcance dinâmico (Im_5000) sendo codificado como um vídeo de alto alcance dinâmico codificado (Im_2000), o método é caracterizado por compreender: - a leitura de um sinal de vídeo (S_im) e a descompressão do vídeo de alto alcance dinâmico codificado (Im_2000); - a extração de ao menos uma especificação de mapeamento de cor (F_2Tu) a partir do sinal de vídeo (S_im); em que a especificação de mapeamento de cores extraída dos ditos metadados especifica uma função de mapeamento de tonalidade (F_2Tu) monotonicamente crescente de forma arbitrária, o inverso do qual é aplicado por uma unidade de regraduação (320) em um codificador de vídeo para o conjunto de imagens (Im_5000) para obter o vídeo de alto alcance dinâmico codificado (Im_2000), em que a operação de regraduação usa um conjunto limitado de funções de regraduação que são funções de graduação substancialmente visualmente reversíveis; e - a aplicação de uma especificação de mapeamento de cor ao vídeo de alto alcance dinâmico codificado (Im_2000) para obter um vídeo de alto alcance dinâmico reconstruído (Im_5000*) com uma terceira luminância máxima que é ao menos duas vezes maior que a segunda luminância máxima (L_max_C).
17. MÉTODO DE DECODIFICAÇÃO DE VÍDEO DE UM CONJUNTO DE IMAGENS DE VÍDEO DE ALTO ALCANCE DINÂMICO (Im_5000), com pixels tendo luminâncias decodificáveis até uma primeira luminância máxima (L_max_M), de acordo com a reivindicação 16, caracterizado pela luminância de qualquer pixel no vídeo de alto alcance dinâmico codificado (Im_2000) ser menor ou igual a um a segunda luminância máxima sendo de pelo menos 900 nit, e a primeira luminância máxima (L_max_M) sendo pelo menos duas vezes a segunda luminância máxima.
BR112017002313-0A 2014-08-08 2015-07-21 Codificador para codificar um vídeo de entrada de alto alcance dinâmico, método para codificar um vídeo de entrada de alto alcance dinâmico, decodificador de vídeo para decodificar um vídeo de alto alcance dinâmico, decodificador de vídeo para decodificar um conjunto de imagens de vídeo de alto alcance dinâmico e método de decodificação de vídeo de um conjunto de imagens de vídeo de alto alcance dinâmico BR112017002313B1 (pt)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
EP14180314 2014-08-08
EP14180314.8 2014-08-08
US201562135452P 2015-03-19 2015-03-19
US62/135,452 2015-03-19
PCT/EP2015/066653 WO2016020189A1 (en) 2014-08-08 2015-07-21 Methods and apparatuses for encoding hdr images

Publications (2)

Publication Number Publication Date
BR112017002313A2 BR112017002313A2 (pt) 2018-01-16
BR112017002313B1 true BR112017002313B1 (pt) 2023-09-12

Family

ID=

Similar Documents

Publication Publication Date Title
JP7343629B2 (ja) Hdr画像をエンコードする方法及び装置
JP6596125B2 (ja) Hdrイメージの符号化のためのコードマッピング関数を作成するための方法及び装置、並びに、かかる符号化イメージの使用のための方法及び装置
ES2808177T3 (es) Optimización de imágenes de alto rango dinámico para pantallas particulares
US10902567B2 (en) Handling multiple HDR image sources
JP6495552B2 (ja) 画像及びビデオのためのダイナミックレンジ符号化
US11887285B2 (en) Encoding and decoding HDR videos
CN107111980B (zh) 针对特定显示器优化高动态范围图像
ES2825699T3 (es) Optimización e imágenes de alto rango dinámico para pantallas particulares
RU2633128C2 (ru) Улучшенные способы и устройства кодирования и декодирования hdr изображения
BR112014023535B1 (pt) Codificador de imagem para codificar uma imagem de uma cena de alto alcance dinâmico, decodificador de imagem para decodificar uma representação de imagem codificada de uma cena de alto alcance dinâmico, método de codificação de imagem para codificar uma imagem de uma cena de alto alcance dinâmico e método de decodificação da imagem para decodificar uma representação de imagem codificada de uma cena de alto alcance dinâmico
RU2723676C2 (ru) Обработка множественных источников изображения hdr
BR112017002313B1 (pt) Codificador para codificar um vídeo de entrada de alto alcance dinâmico, método para codificar um vídeo de entrada de alto alcance dinâmico, decodificador de vídeo para decodificar um vídeo de alto alcance dinâmico, decodificador de vídeo para decodificar um conjunto de imagens de vídeo de alto alcance dinâmico e método de decodificação de vídeo de um conjunto de imagens de vídeo de alto alcance dinâmico
KR102279842B1 (ko) Hdr 이미지 인코딩 방법 및 장치