BR112017016147B1 - Método para codificação de uma imagem, aparelho para codificação de pelo menos uma imagem, método para decodificação de uma imagem codificada, e aparelho para decodificação de pelo menos uma imagem codificada - Google Patents
Método para codificação de uma imagem, aparelho para codificação de pelo menos uma imagem, método para decodificação de uma imagem codificada, e aparelho para decodificação de pelo menos uma imagem codificada Download PDFInfo
- Publication number
- BR112017016147B1 BR112017016147B1 BR112017016147-8A BR112017016147A BR112017016147B1 BR 112017016147 B1 BR112017016147 B1 BR 112017016147B1 BR 112017016147 A BR112017016147 A BR 112017016147A BR 112017016147 B1 BR112017016147 B1 BR 112017016147B1
- Authority
- BR
- Brazil
- Prior art keywords
- parameters
- image
- oetf
- luminance
- parameterized
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 113
- 230000006870 function Effects 0.000 claims abstract description 138
- 238000012546 transfer Methods 0.000 claims abstract description 97
- 238000013507 mapping Methods 0.000 claims description 21
- 230000011664 signaling Effects 0.000 claims description 9
- 239000003550 marker Substances 0.000 claims description 5
- 230000000153 supplemental effect Effects 0.000 claims description 4
- 238000012545 processing Methods 0.000 abstract description 15
- 238000006243 chemical reaction Methods 0.000 abstract description 2
- 238000005457 optimization Methods 0.000 description 46
- 230000015654 memory Effects 0.000 description 26
- 230000008569 process Effects 0.000 description 23
- 238000003860 storage Methods 0.000 description 17
- 238000010586 diagram Methods 0.000 description 14
- 238000004891 communication Methods 0.000 description 13
- 230000003044 adaptive effect Effects 0.000 description 12
- 230000006399 behavior Effects 0.000 description 12
- 238000009826 distribution Methods 0.000 description 12
- 230000035945 sensitivity Effects 0.000 description 11
- 238000004422 calculation algorithm Methods 0.000 description 8
- 238000009877 rendering Methods 0.000 description 8
- 230000005540 biological transmission Effects 0.000 description 7
- 238000007906 compression Methods 0.000 description 6
- 230000006835 compression Effects 0.000 description 6
- 238000012986 modification Methods 0.000 description 6
- 230000004048 modification Effects 0.000 description 6
- 230000003287 optical effect Effects 0.000 description 6
- 230000003068 static effect Effects 0.000 description 6
- 101150103552 cagE gene Proteins 0.000 description 5
- 230000008859 change Effects 0.000 description 5
- 241001482237 Pica Species 0.000 description 4
- 230000009466 transformation Effects 0.000 description 4
- 241000023320 Luma <angiosperm> Species 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 3
- 239000003086 colorant Substances 0.000 description 3
- 238000009472 formulation Methods 0.000 description 3
- OSWPMRLSEDHDFF-UHFFFAOYSA-N methyl salicylate Chemical compound COC(=O)C1=CC=CC=C1O OSWPMRLSEDHDFF-UHFFFAOYSA-N 0.000 description 3
- 239000000203 mixture Substances 0.000 description 3
- 230000002688 persistence Effects 0.000 description 3
- 229920001690 polydopamine Polymers 0.000 description 3
- 238000013139 quantization Methods 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 238000012885 constant function Methods 0.000 description 2
- 238000011156 evaluation Methods 0.000 description 2
- 238000013467 fragmentation Methods 0.000 description 2
- 238000006062 fragmentation reaction Methods 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000008520 organization Effects 0.000 description 2
- 238000012805 post-processing Methods 0.000 description 2
- 238000007781 pre-processing Methods 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- 238000005070 sampling Methods 0.000 description 2
- XUIMIQQOPSSXEZ-UHFFFAOYSA-N Silicon Chemical compound [Si] XUIMIQQOPSSXEZ-UHFFFAOYSA-N 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 230000003466 anti-cipated effect Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000003190 augmentative effect Effects 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 238000009795 derivation Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000008030 elimination Effects 0.000 description 1
- 238000003379 elimination reaction Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000007667 floating Methods 0.000 description 1
- 238000003384 imaging method Methods 0.000 description 1
- 238000011835 investigation Methods 0.000 description 1
- 210000003127 knee Anatomy 0.000 description 1
- 238000013178 mathematical model Methods 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 229910044991 metal oxide Inorganic materials 0.000 description 1
- 150000004706 metal oxides Chemical class 0.000 description 1
- 238000010606 normalization Methods 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 238000001303 quality assessment method Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000007493 shaping process Methods 0.000 description 1
- 229910052710 silicon Inorganic materials 0.000 description 1
- 239000010703 silicon Substances 0.000 description 1
- 238000001228 spectrum Methods 0.000 description 1
- 238000000844 transformation Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
- 238000011179 visual inspection Methods 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/85—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/90—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
- H04N19/98—Adaptive-dynamic-range coding [ADRC]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/70—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/186—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a colour or a chrominance component
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G2320/00—Control of display operating conditions
- G09G2320/02—Improving the quality of display appearance
- G09G2320/0271—Adjustment of the gradation levels within the range of the gradation scale, e.g. by redistribution or clipping
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G2320/00—Control of display operating conditions
- G09G2320/02—Improving the quality of display appearance
- G09G2320/0271—Adjustment of the gradation levels within the range of the gradation scale, e.g. by redistribution or clipping
- G09G2320/0276—Adjustment of the gradation levels within the range of the gradation scale, e.g. by redistribution or clipping for the purpose of adaptation to the characteristics of a display device, i.e. gamma correction
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G2370/00—Aspects of data communication
- G09G2370/04—Exchange of auxiliary data, i.e. other than image data, between monitor and graphics controller
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G2370/00—Aspects of data communication
- G09G2370/12—Use of DVI or HDMI protocol in interfaces along the display data pipeline
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
MÉTODOS, SISTEMAS E APARELHO PARA CONVERSÃO ELETROÓPTICA E OPTO- ELÉTRICA DE IMAGENS E VÍDEO. Os presentes conceitos referem-se a uma OETF/EOTF parametrizada para processamento de imagens e vídeo. Os presentes conceitos fornecem um método para codificação de uma imagem, compreendendo: aplicar uma função de transferência parametrizada a um sinal de luminância (L) da imagem para determinar um sinal transformado de V(L) resultante; codificar a V(L) resultante; em que a função de transferência parametrizada é ajustada com base em uma pluralidade de parâmetros para modelar uma de uma pluralidade de funções de transferência. Os presentes conceitos também fornecem um método para decodificação de uma imagem digital, o método compreendendo: receber a imagem digital; aplicar uma função de transferência parametrizada à imagem digital para determinar um sinal de luminância (L) da imagem digital, a função de transferência parametrizada sendo com base em uma pluralidade de parâmetros; em que a função de transferência parametrizada é ajustada com base em uma pluralidade de parâmetros para modelar uma de uma pluralidade de funções de transferência.
Description
[001]A presente invenção refere-se um processamento de imagem e vídeo. Em particular, a presente invenção refere-se à conversão de dados de imagem ou vídeo para otimizar informações de luz capturada para visão humana.
[002]Em sistemas de distribuição de vídeo ou canais de alta faixa dinâmica (HDR), as imagens (também conhecidas como retratos ou quadros) são tipicamente pré-processadas antes da codificação e pós-processadas após a decodificação. Isso permite o uso de padrões convencionais de codificação e decodificação de imagem ou vídeo (tais como JPEG, AVC ou HEVC) para operar em vídeo HDR sem necessidade de modificações importantes aos padrões de codificação existentes e sem necessidade de maiores profundidades de bits para distribuição (tipicamente 10 bits).
[003]O pré-processamento de imagens de vídeo pode incluir a aplicação de uma transformação de componente de cor dimensional para componentes RGB de luz linear e/ou para componentes de luminância. Essas transformações otimizam a quantização de informações de luz capturadas, geralmente por modelagem de aspectos da visão humana. Tal transformação é também conhecida como Função de Transferência Opto-Elétrica (OETF). Um exemplo de OETF é a função gama (por exemplo, na Rec. ITU-R BT.709).
[004]Durante o estágio de pós-processamento ou renderização, o processo de renderização de exibição compensa o OETF e o ambiente de iluminação de exibição. O vídeo decodificado é processado usando uma Função de Transferência Eletro-Óptica (EOTF) antes da renderização dos quadros de vídeo. A EOTF converte um valor de código digital (também conhecido como código de palavra) no sinal decodificado para um nível de luz da exibição. A EOTF é geralmente o inverso matemático da OETF, mas, dependendo dos requisitos de exibição, também pode ser diferente do inverso da OETF. Por exemplo, uma OETF de sinal de vídeo de faixa dinâmica padrão (SDR) é referida na Rec. ITU-R. BT.709 como função de duas partes (uma parte linear e uma parte de função de potência), no entanto, a EOTF correspondente é referida na Rec. ITU-R. BT.1886 como uma função de uma parte (função de potência) diferente da OETF inversa.
[005]Atualmente, o OETF/EOTF existente são propostas que fornecem apenas um único mapeamento de valores de luminância para o palavras código digitais (OETF) e um único mapeamento de palavras código digitais de volta para os valores de luminância (EOTF). Diferentes propósitos e objetivos deram origem a muitas propostas de mapeamento único diferentes que defendem a utilização de mapeamentos fixos mutuamente exclusivos. Por exemplo, existem vários pares de EOTF/OETF que foram propostos para parametrização, por exemplo, grupo ITU-R SG6/W6-C, Grupo de Trabalho 6C (WP 6C), Programme production and quality assessment http://www.Itu.int/en/ITU-R/study-groups/rsg6/rwp6c/Pages/default.aspx. As diversas propostas de EOTF/OETF, no entanto, têm diferentes objetivos secundários ou são voltadas para diferentes segmentos de mercado (lançamento teatral, transmissão ou mídia compactada). Dessa forma, as funções OETF/EOTF existente não são otimizadas em vista de diferentes situações.
[006]Existe, portanto, a necessidade de melhorar as funções OETF/EOTF.
[007]A presente invenção propõe a redução de alguns dos inconvenientes da técnica anterior fornecendo uma solução que permite modificação adaptativa entre diferentes curvas OETF/EOTF. Essa solução é necessária porque cada um dos métodos anteriores apresenta várias desvantagens. Por exemplo, BBC propôs uma curva OETF que cobre uma faixa menor de valores de luminância, mas visa permitir compatibilidade praticamente retroativa com Recomendação ITU-R BT.709 herdada (Rec. 709) (Borer, T., Non-linear Opto-Electrical Transfer Funtions for High Dynamic Range Television. -: BBC, 2013). Por outro lado, Dolby propôs curvas OETF/EOTF (PQ_EOTF) que abrangem uma ampla faixa de 0.005 a 104crf/m2 de valores de luminância (US 2014/0363093; Scott Miller, M. N., Perceptual Signal Coding for More Efficient Usage of Bit Codes. SMPTE Motion Imaging Journal, 122, 52-59, 2013). As curvas propostas por Dolby são comparadas com uma função de transferência de modulação que é recíproco de um modelo elaborado de sensibilidade de contraste humano (Barten, P. G., Contrast Sensitivity of the Human Eye and its Effects on Image Quality (Vol. 72), Bellingham: SPIE Optical Engineering Press, 1999). Por sua vez, Philips propôs uma curva OETF com base em inspeção visual de uma variedade de dados (Vleuten, R. v., Philips’ High Dynamic Range Proposal. Joint DVB-EBU HDR Workshop, 2014). Algumas das curvas OETF/EOTF propostas requerem uma profundidade de bits fixa, enquanto outras podem ser adaptadas para profundidade de bits de sinal de vídeo de 10 ou 12 bits.
[008]Além disso, existe uma necessidade de modificação adaptativa entre diferentes curvas OETF/EOTF porque a quantidade de curvas OETF/EOTF possíveis é propensa a aumentar em vista da variabilidade crescente de novas características de formato de vídeo, serviços e dispositivos de renderização. Por exemplo, novas definições de curvas OETF/EOTF provavelmente serão necessárias para novos aplicativos ou dispositivos de renderização que se referem a tipos específicos de vídeo. Ainda não está claro qual OETF/EOTF irá melhor atender as necessidades de consumidores, fabricantes de visores e produtores de conteúdo dado que as escolhas de profundidade de bits, luminância máxima e luminância mínima ainda estão em consideração. Dessa forma, existe uma necessidade de uma OETF/EOTF adaptativa que possa imitar o comportamento de curvas OETF/EOTF novas ou daquelas aqui propostas.
[009]Além disso, existe uma necessidade de modificação adaptativa entre diferentes curvas OETF/EOTF a fim de evitar problemas de interoperabilidade. Várias propostas de curvas OETF/EOTF estão sendo consideradas por várias organizações de padronização (por exemplo, ITU-R, BDA, CEA, HDMI, SMPTE). Essas várias organizações estão, cada uma, definindo seus próprios sinais de vídeo HDR com base em diferentes propostas de OETF/EOTF. Essas organizações podem adotar diferentes propostas de EOTF/OETF, resultando em diferentes soluções técnicas de acordo com os aplicativos alvo e maturidade da tecnologia. A adoção de diferentes curvas EOTF/OETF pode resultar nos problemas de fragmentação de mercado, questões de interoperabilidade, resíduos de silício (por exemplo, devido a sistemas em uma pastilha (SoC) para diferentes segmentos de mercado, OTT/VoD/Blu-ray/Broadcast que teriam que implementar diferentes OETF/EOTF). Dessa forma, existe uma necessidade de uma solução adaptativa que trabalhe em diferentes padrões e com diferentes curvas OETF/EOTF.
[010]Existe também uma necessidade de um mecanismo para sinalizar curvas OETF/EOTF sem significante sobrecarga de fluxo de bits. As curvas OETF/EOTF podem ser sinalizadas em fluxos de vídeo codificados usando várias sintaxes existentes, tais como o SEI de informações de função de articulação (knee function) que é definido no padrão HEVC, por exemplo. A função de articulação descreve a função como curvas lineares em partes, cujas coordenadas de ponto de articulação são codificadas e transmitidas no fluxo de bits. No entanto, uma vez que essas informações devem ser regularmente inseridas no fluxo de bits para considerações de resiliência de erro, elas podem induzir uma sobrecarga significante de fluxo de bits.
[011]Os presentes conceitos fornecem um método para codificação de uma imagem, compreendendo: aplicar uma função de transferência parametrizada a um sinal de luminância (L) da imagem para determinar um sinal transformado de V(L) resultante; codificar a V(L) resultante; em que a função de transferência parametrizada é ajustada com base em uma pluralidade de parâmetros para modelar uma de uma pluralidade de funções de transferência.
[012]De acordo com uma modalidade específica da invenção, o método compreende sinalizar uma informação representativa da função de transferência parametrizada. De acordo com modalidades específicas da invenção, o método compreende codificar os parâmetros e sinalizar os parâmetros codificados em um fluxo de bits; de acordo com uma variante, o método ainda compreende sinalizar um indicador dos parâmetros em um fluxo de bits com base em um conjunto de valores definidos.
[013]De acordo com modalidades específicas, o método compreende sinalizar uma indicação com base em se os parâmetros são sinalizados explicitamente ou se os parâmetros são sinalizados implicitamente com base em um conjunto de valor definido. De acordo com várias modalidades, a sinalização é realizada usando pelo menos um elemento de sintaxe incluído em pelo menos um de um Conjunto de Parâmetros de Imagem (PPS), um Conjunto de Parâmetros de Sequência (SPS), uma mensagem de Informação Suplementar de Enriquecimento (SEI), uma Informação de Usabilidade de Vídeo (VUI) (como definido, por exemplo, em padrões de compressão de vídeo, tais como AVC ou HEVC), mensagem da Associação Eletrônica de Consumo (CEA) e um cabeçalho.
[014]De acordo com várias modalidades da invenção, a luminância é pelo menos uma selecionada de um grupo de: RGB, Y, uma combinação linear de RGB linear, um luma, que é uma combinação linear de RGB não linear, e luminância não linear. De acordo com modalidades da invenção, a luminância é pelo menos uma de uma luminância relativa e uma luminância absoluta.
[015]De acordo com modalidades específicas da invenção, a função de transferência parametrizada é determinada com base em um modelo functional representado com a função: em que s, t, c, n, e m são os parâmetros e L é um valor de luminância da imagem.
[016]De acordo com modalidades específicas da invenção, a função de transferência parametrizada é determinada com base em um modelo funcional representado com a função: em que s, t, c, e n são os parâmetros e L é um valor de luminância da imagem.
[017]De acordo com modalidades específicas da invenção, a função de transferência parametrizada é determinada com base em um modelo funcional representado com a função: em que s, t, c e m são os parâmetros e L é um valor de luminância da imagem.
[018]De acordo com modalidades específicas da invenção, codificar a V(L) resultante inclui comprimir a V(L) com um codificador de imagem ou vídeo. De acordo com modalidades específicas da invenção, codificar a V(L) resultante inclui digitalizar ou quantizar a V(L) resultante. De acordo com modalidades específicas da invenção, os parâmetros são determinados com base em pelo menos um selecionado de um grupo de: uma pluralidade de parâmetros recebidos de uma fonte, parâmetros armazenados localmente, um conjunto de parâmetros definidos escolhidos dentre uma pluralidade de conjuntos de parâmetros definidos.
[019]De acordo com várias modalidades da invenção, a imagem é em um fluxo de vídeo de imagens. De acordo com uma modalidade específica da invenção, a imagem é uma imagem de Alta Faixa Dinâmica (HDR). De acordo com outra modalidade da invenção, a imagem é uma imagem não de Alta Faixa Dinâmica (não- HDR).
[020]De acordo com várias modalidades da invenção, a função de transferência parametrizada é baseada em: em que c, m, s, n, t, a, b são parâmetros e V é uma palavra código.
[021]De acordo com várias modalidades da invenção, a função de transferência parametrizada é baseada em: em que c, m, k, s, n, t são parâmetros e V é uma palavra código.
[022]De acordo com várias modalidades da invenção, a função de transferência parametrizada é baseada em: em que são parâmetros e V é uma palavra código.
[023]De acordo com várias modalidades da invenção, inclui-se ainda um mapeamento de tons da luminância (L). De acordo com várias modalidades da invenção, a função parametrizada tem um comportamento de ponta a ponta não linear. De acordo com várias modalidades da invenção, inclui-se ainda determinar pelo menos um canal de cor, em que a luminância é determinada para o pelo menos um canal de cor. A luminância pode ser determinada para um ou mais de N canais de cor.
[024]Os presentes conceitos também fornecem um aparelho para realizar o método de codificação de uma imagem como descrito acima. Em particular, a invenção refere-se a um aparelho para codificação de uma imagem, o aparelho compreendendo: um receptor configurado para receber a imagem; um processador configurado para aplicar uma função de transferência parametrizada a um sinal de luminância (L) da imagem para determinar um sinal transformado de V(L) resultante; um codificador configurado para a V(L) resultante; em que a função de transferência parametrizada é ajustada com base em uma pluralidade de parâmetros para modelar uma de uma pluralidade de funções de transferência.
[025]Os presentes conceitos fornecem um método para decodificação de uma imagem codificada, o método compreendendo: receber a imagem codificada; aplicar uma função de transferência parametrizada à imagem codificada para determinar um sinal de luminância (L) da imagem codificada, a função de transferência parametrizada sendo com base em uma pluralidade de parâmetros; em que a função de transferência parametrizada é ajustada com base em uma pluralidade de parâmetros para modelar uma de uma pluralidade de funções de transferência.
[026]De acordo com modalidades específicas da invenção, o método compreende decodificar uma informação representativa da função de transferência parametrizada associada com a imagem codificada. Isso permite que o método de decodificação identifique ou determine a função de transferência parametrizada.
[027]De acordo com uma modalidade, o método compreende decodificar os parâmetros e/ou um indicador dos parâmetros a partir de um fluxo de bits.
[028]De acordo com uma modalidade, o método compreende decodificar uma indicação a partir de um fluxo de bits, a indicação com base em se os parâmetros são sinalizados explicitamente ou se os parâmetros são sinalizados implicitamente com base em um conjunto de valores definidos.
[029]De acordo com uma modalidade, o fluxo de bits inclui sinalizar os parâmetros com base em pelo menos um elemento de sintaxe incluído em pelo menos um de um Conjunto de Parâmetros de Imagem (PPS), um Conjunto de Parâmetros de Sequência (SPS), uma mensagem de Informação Suplementar de Enriquecimento (SEI), uma Informação de Usabilidade de Vídeo (VUI) (como definido, por exemplo, em padrões de compressão de vídeo, tais como AVC ou HEVC), mensagem da Associação Eletrônica de Consumo (CEA) e um cabeçalho.
[030]De acordo com uma modalidade, a função de transferência parametrizada é determinada com base em um modelo funcional representado com a função: em que s, t, c, n, e m são os parâmetros e V é uma palavra código.
[031]De acordo com uma modalidade, a função de transferência parametrizada é determinada com base em um modelo funcional representado com a função: em que s, t, c, n, e m são os parâmetros, em que M é uma função constante e V é uma palavra código.
[032]De acordo com uma modalidade, a função de transferência parametrizada é determinada com base em um modelo funcional representado com a função: em que s, t, c, e n são os parâmetros e V é uma palavra código.
[033]De acordo com uma modalidade, a função de transferência parametrizada é determinada com base em um modelo funcional representado com a função: em que s, t, c, e n são os parâmetros, em que M é uma função constante e V é uma palavra código representativa da imagem codificada.
[034]De acordo com uma modalidade, a função de transferência parametrizada é baseada em: em que c, m, s, n, t, a, b são parâmetros e V é uma palavra código.
[035]De acordo com uma modalidade, a função de transferência parametrizada é baseada em: em que c, m, k, s, n, t são parâmetros e V é uma palavra código.
[036]De acordo com uma modalidade, a função de transferência parametrizada é baseada em: em que são parâmetros e V é uma palavra código.
[037]De acordo com uma modalidade, a função de transferência parametrizada é baseada em: em que Vmax, u e n são parâmetros.
[038]De acordo com várias modalidades da presente invenção, um algoritmo de otimização é utilizado para determinar os parâmetros u e n. Os valores dos parâmetros u e n podem ser determinados com base em uma curva de referência que é baseada em pares de luminância/palavra código Os valores dos parâmetros u e n podem ser determinados pela adição de pesos não uniformes aos pares de luminância/palavra código
[039]De acordo com várias modalidades da invenção, a função parametrizada realiza mapeamento inverso de tons. De acordo com várias modalidades da invenção, a função parametrizada tem um comportamento de ponta a ponta não linear. De acordo com várias modalidades da invenção, inclui-se ainda determinar pelo menos um canal de cor, em que a luminância é determinada para o pelo menos um canal de cor. A luminância pode ser determinada para um ou mais de N canais de cor.
[040]Os presentes conceitos também fornecem um aparelho para realizar o método de decodificação de uma imagem codificada como descrito acima. De acordo com uma modalidade da invenção, um aparelho para decodificação de uma imagem codificada, o aparelho compreendendo: um receptor configurado para receber a imagem codificada; um processador configurado para decodificar a imagem codificada em uma imagem decodificada e aplicar uma função de transferência parametrizada à imagem decodificada para determinar um sinal de luminância (L) da imagem codificada, a função de transferência parametrizada sendo com base em uma pluralidade de parâmetros; em que a função de transferência parametrizada é ajustada com base em uma pluralidade de parâmetros para modelar uma de uma pluralidade de funções de transferência.
[041]De acordo com modalidade dos métodos para codificação ou decodificação ou de um aparelho para codificação ou decodificação, os parâmetros são gerados otimizando uma função de transferência parametrizada com uma função de transferência identificada a ser modelada.
[042]De acordo com uma modalidade, existe um parâmetro que permite a função de transferência parametrizada determinar um valor desejado da luminância L com base em um menor valor de uma palavra código V. De acordo com uma modalidade, existe um parâmetro que permite a função de transferência parametrizada determinar um valor desejado da luminância L com base em um maior valor de uma palavra código V. De acordo com uma modalidade, existe um parâmetro que permite a função de transferência parametrizada determinar um valor desejado de V(L) com base em um menor valor da luminância L.
[043]De acordo com uma modalidade, existe um parâmetro que permite a função de transferência parametrizada determinar um valor desejado de V(L) com base em um maior valor da luminância L.
[044]Os presentes conceitos também fornecem um meio de armazenamento legível por computador tendo nele armazenadas instruções para pré-processamento ou pós-processamento de imagens de acordo com os métodos descritos acima.
[045]Os presentes conceitos também fornecem um meio de armazenamento legível por computador tendo nele armazenado um fluxo de bits gerado de acordo com os métodos descritos acima.
[046]As características e vantagens da presente invenção pode se tornar evidentes a partir da descrição detalhada abaixo quando considerada em conjunto com as Figuras descritas abaixo:
[047]A Figura 1 é um diagrama representando um método exemplificativo de codificação de uma imagem usando OETF em um fluxo de captura e distribuição.
[048]A Figura 2 é um diagrama representando um método exemplificativo para codificação de uma imagem usando uma OETF parametrizada de acordo com os presentes conceitos.
[049]A Figura 3 é um diagrama representando um método exemplificativo para codificação de parâmetros de uma OETF parametrizada de acordo com os presentes conceitos.
[050]A Figura 4 é um diagrama representando um método exemplificativo para decodificação de uma imagem codificada usando EOTF ou OETF parametrizada inversa em um sistema de distribuição e renderização.
[051]A Figura 5 é um diagrama representando um método exemplificativo para decodificação de parâmetros de uma EOTF parametrizada ou OETF parametrizada inversa de acordo com os presentes conceitos
[052]A Figura 6 é um diagrama representando um esquema exemplificativo de codificação de uma imagem usando uma OETF parametrizada de acordo com os presentes conceitos.
[053]A Figura 7 é um diagrama representando um esquema exemplificativo de decodificação de uma imagem codificada usando uma EOTF parametrizada ou OETF parametrizada inversa de acordo com os presentes conceitos.
[054]A Figura 8 representa uma arquitetura exemplificativa de um dispositivo que pode ser configurado para implementar um método descrito em relação às Figuras 1 a 7.
[055]A Figura 9 ilustra um exemplo de um gráfico demonstrando os resultados de desempenho da OETF parametrizada de acordo com os presentes conceitos (TCH rotulado) em relação a outras OETFs existentes.
[056]A Figura 10A ilustra um exemplo de um gráfico demonstrando o desempenho dos resultados da OETF parametrizada de acordo com os presentes conceitos (TCH rotulado) em relação à curva OETF ST 2084 DE SMPTE.
[057]A Figura 10B ilustra um exemplo de um gráfico demonstrando o desempenho dos resultados da OETF parametrizada de acordo com os presentes conceitos (TCH rotulado) em relação à curva MTF (função de transferência de modulação) de Barten.
[058]A Figura 10C ilustra um exemplo de um gráfico demonstrando o desempenho dos resultados da OETF parametrizada de acordo com os presentes conceitos (TCH rotulado) em relação à curva OETF de BBC.
[059]A Figura 11A ilustra um exemplo de um gráfico demonstrando o desempenho dos resultados da EOTF parametrizada (ou OETF inversa) de acordo com os presentes conceitos (TCH rotulado) em relação à curva OETF ST 2084 DE SMPTE.
[060]A Figura 11B ilustra um exemplo de um gráfico demonstrando o desempenho dos resultados da EOTF parametrizada (ou OETF inversa) de acordo com os presentes conceitos (TCH rotulado) em relação à curva MTF de Barten.
[061]A Figura 11C ilustra um exemplo de um gráfico demonstrando o desempenho dos resultados da EOTF parametrizada (ou OETF inversa) de acordo com os presentes conceitos (TCH rotulado) em relação à curva OETF de BBC.
[062]A Figura 12A ilustra um exemplo de um gráfico demonstrando o desempenho dos resultados da OETF parametrizada de acordo com os presentes conceitos (TCH rotulado) em relação à curva OETF ST 2084 DE SMPTE.
[063]A Figura 12B ilustra um exemplo de um gráfico demonstrando o desempenho dos resultados da OETF parametrizada de acordo com os presentes conceitos (TCH rotulado) em relação à curva MTF de Barten.
[064]A Figura 12C ilustra um exemplo de um gráfico demonstrando o desempenho dos resultados da OETF parametrizada de acordo com os presentes conceitos (TCH rotulado) em relação à curva OETF de BBC.
[065]A Figura 13A ilustra um exemplo de um gráfico demonstrando o desempenho dos resultados da EOTF parametrizada (ou OETF inversa) de acordo com os presentes conceitos (TCH rotulado) em relação à curva OETF ST 2084 DE SMPTE.
[066]A Figura 13B ilustra um exemplo de um gráfico demonstrando o desempenho dos resultados da EOTF parametrizada (ou OETF inversa) de acordo com os presentes conceitos (TCH rotulado) em relação à curva MTF de Barten.
[067]A Figura 13C ilustra um exemplo de um gráfico demonstrando o desempenho dos resultados da EOTF parametrizada (ou OETF inversa) de acordo com os presentes conceitos (TCH rotulado) em relação à curva OETF de BBC.
[068]Os presentes conceitos referem-se a OETF parametrizada e EOTF para processamento de imagens e vídeo. Em particular, os presentes conceitos referem-se a um par de curvas OETF/EOTF com base em uma pluralidade de parâmetros que permitem que as curvas OETF/EOTF modelem o comportamento de uma proposta de OETF/EOTF padrão atual selecionada, propostas de OETF/EOTF personalizada ou OETF/EOTF padrão futuras.
[069]Os presentes conceitos referem-se a fornecer OETF/EOTF que pode se adaptar a uma variedade de mercados, casos e/ou usos. A OETF/EOTF é adaptativa com base em uma pluralidade de parâmetros que podem ser alterados ou ajustados para permitir que a OETF/EOTF se adapte dinamicamente ao conteúdo. As configurações de parâmetro podem ser derivadas, por exemplo por conteúdo, por filme ou por quadro, e esses podem ser comunicados como metadados para decodificação no lado de exibição (por exemplo usando um canal de metadados através de um link HDMI).
[070]Os presentes conceitos referem-se a um par de OETF/EOTF adaptativa que pode se adaptar a rodadas sucessivas de parametrização, assim fornecendo um caminho de atualização ou permitindo compatibilidade futura. Os parâmetros podem ser derivados para qualquer profundidade de bits requerida, luminância máxima e nível de preto. Dessa forma, em cenários estáticos, é possível padronizar um conjunto de parâmetros agora para atender as necessidades atuais de mercado, e no futuro, diferentes conjuntos de parâmetros podem ser padronizados para atender tendências futuras de mercado em termos de profundidade de bits, luminância máxima e nível de preto.
[071]Os presentes conceitos referem-se a um par de OETF/EOTF adaptativa que é compatível com propostas existentes de EOTF/OETF através da escolha correta de parâmetros.
[072]Os presentes conceitos referem-se a OETF/EOTF otimizada em funções de transferência de modulação e tabelas de pesquisa modelando a visão humana.
[073]Os presentes conceitos também fornecem parâmetros para corresponderem ao desempenho de uma variedade de casos de uso, tais como conteúdo classificado para transmissão OTT, radiodifusão, distribuição via discos Blu-Ray ou DVDs e outros. Os parâmetros do par de OETF/EOTF adaptativa podem ser configurados para permitir codificação ideal para cada mecanismo de distribuição. Podem também ser configurados para corresponderem a propostas de EOTF/OETF existentes.
[074]Os presentes conceitos referem-se a uma nova variante da equação de Naka-Rushton para o propósito de determinar níveis de quantização de dados de vídeo e imagem HDR. Em um exemplo, a OETF proposta é:
[075]A entrada para a Equação N°. 1 é dada por valores de luminância L absolutos ou relativos, enquanto a saída V pode ser quantizada para a profundidade de bits desejada. Em um exemplo, o valor de luminância L pode ser 0<=L<=1. Em um exemplo, o valor de luminância L pode ser 0<=L<=4. Em um exemplo, o valor de luminância L pode ser 0,005<=L<=10 4. Em um exemplo, a profundidade de bits desejada pode ser de 10 bits.
[076]A luminância pode ser RGB, Y em que Y é um canal de cor representando luminância em um espaço de cor incluindo pelo menos um de CIE Yxy, CIE Yuv, EBU Y’U’V’, NTSC Y’I’Q’, ITU-R BT.601 Y’PbPr, ITU-R BT.709 Y’CbCr, SECAM Y’DbDr, e Kodak Y’CC, L em que L é um canal de luminância em um espaço de cor incluindo pelo menos um de CIE Lab e CIE Luv, I em que I é o canal relacionado à luminância no espaço de cor IPT, V, em que V é o valor no espaço de cor HSV, B em que B é o brilho no espaço de cor HSB, e I em que I é o canal de intensidade no espaço de cor HSI. Luminância pode também ser uma combinação linear de RGB linear, ou um luma que é uma combinação linear de RGB não linear. Luminância pode também ser Valor de Cor Linear, como definido pelo padrão SMPTE ST2084, luminância, como definido por ITU-R, por exemplo, BT.709- 5, ou luminância não linear, por exemplo, após aplicação de mapeamento de tons a valores de pixel.
[077]Os parâmetros na Equação N°. 1 podem ser definidos para cada proposta de OETF/EOTF apresentada ou para fluxos de trabalho ou cenários de uso particularmente previstos. Alternativamente, os parâmetros podem ser definidos dinamicamente (por exemplo, por quadro ou por sequência) com base em conteúdo de vídeo. Nesse caso, os parâmetros teriam que ser enviados junto com o fluxo de vídeo como metadados para permitir decodificação apropriada pelo receptor. Os parâmetros na Equação N° 1 podem ser definidos, tal que a saída V(L) da Equação N° 1 é normalizada para uma faixa desejada. Em um exemplo, a faixa de valores obtidos por V(L) é 0<=V(L)<=1. Em um exemplo, a faixa de valores obtidos por V(L) é 0<=V(L)<=4096 e corresponde a uma codificação de faixa total de 12 bits. Em um exemplo, a faixa de valores obtidos por V(L) é 64<=V(L)<=960 e corresponde uma faixa legal de 10 bits. Os parâmetros podem ser recebidos de uma fonte (por exemplo, uma rede, um link (por exemplo, HDMI), um aplicativo, uma interface homem/máquina). Os parâmetros podem ser armazenados localmente (por exemplo, um conjunto definido de parâmetros que é predeterminado). Os parâmetros podem ser um conjunto de parâmetros predefinidos escolhidos dentre uma pluralidade de conjuntos de parâmetros predefinidos, em que cada conjunto pode se referir a uma função de transferência parametrizada que pode se referir a uma propriedade ou aplicativo de conteúdo de vídeo (por exemplo, Blu-ray, DVB, HDMI, CEA, ATSC).
[078]A equação inversa da OETF proposta pode ser, então, usada após decodificação para restaurar os níveis de luminância originais. Essa equação inversa pode ser a EOTF. Dessa forma, a EOTF proposta ou OETF inversa é: V pode corresponder a palavras código de vídeo. V pode ser um Valor de Cor Não Linear como definido pelo padrão SMPTE ST2084 ou um sinal elétrico como definido por ITU-R, por exemplo, BT.709-5. V pode também ser a saída da Equação N° 1.
[079]Os parâmetros são os mesmos parâmetros utilizados pela Equação N°. 2 que os parâmetros utilizado pela Equação N° 1. Os parâmetros podem ser enviados junto com o fluxo de vídeo como metadados ou podem ser sinalizados no fluxo de bits.
[080]Em um exemplo, para evitar valores negativos ou divisões por zero, a Equação N° 2 pode ser modificada para: M é uma constante e é, por exemplo, igual a (-10-4). Em um exemplo, a constante M foi escolhida para ser o negativo de um valor com ordem de magnitude abaixo de um valor de luminância mínima razoável que pode precisar ser reproduzido, V-m-s sendo geralmente negativo. Se a Equação N°. 3 for usada com entradas relativas, então, essa constante pode ser escolhida para ser maior ou menor, dependendo do caso de uso.
[081]As Equações acima N°. 1 a 3 podem ser parametrizadas para alcançar vários objetivos. Ou seja, o processamento de imagem e vídeo pode ser realizado usando as Equações N°s. 1 a 3 e os valores providos para os parâmetros para alcançar determinados objetivos. Diferentes conjuntos de parâmetros (por exemplo, diferentes conjuntos de parâmetros podem, cada um, alcançar diferentes objetivos. Por exemplo, alguns objetivos que podem ser alcançados por diferentes conjuntos de parâmetros podem incluir: • correspondência/modelagem de medições de sensibilidade de contraste de Barten para qualquer faixa razoável de luminância e profundidade de bits; • correspondência/modelagem de curvas ST 2084 DE SMPTE; • correspondência/modelagem da OETF/EOTF de Philips proposta; e •correspondência/modelagem de curvas ARIB STD-B67 (aqui referidas como curvas BBC/NHK ou BBC).
[082]Como a equação OETF é analiticamente invertida, aplicar a OETF seguida pela OETF inversa dupla (EOTF neste caso) irá retornar os valores de entrada originais, com a exceção de pequenas alterações que podem ocorrer devido a objetos de quantização. Para determinadas configurações dos parâmetros, pode também ser mostrado que a OETF aplicada duas vezes irá gerar uma função da mesma forma que a original. Dessa forma, para esses parâmetros, a equação é idempotente como adicionalmente descrito abaixo.
[083]Finalmente, a mesma equação pode ser usada para mapeamento de tons ou reprodução de tons. Isso significa que aplicar a OETF no lado de codificador gera uma imagem visível, adequada para exibição em dispositivos herdados. Se o visor alvo for um dispositivo SDR herdado (por exemplo, respondendo a OETF BT.709 e usando EOTF BT.1886), então, deve ser possível decodificar o fluxo de vídeo sem passar os dados de resultado através da função de OETF inversa proposta. Essa seria necessária somente se o visor alvo fosse um dispositivo HDR.
[084]Um aspecto dos presentes conceitos refere-se a um par de curvas OETF/EOTF descrito usando um modelo genérico e um conjunto de parâmetros. Ajustar os parâmetros ajusta o modelo genérico das curvas OETF/EOTF, tal que o modelo genérico possa ser realizado de maneira similar a um de uma pluralidade de pares OETF/EOTF padrão ou personalizados. Os parâmetros podem ser sinalizados em um fluxo de bits (por exemplo, definido por padrões de distribuição MPEG ou definido por comissões de padronização de aplicativo, tais como ATSC, BDA, DVB) ou uma especificação padrão de sinal de vídeo (por exemplo, ITU-R, SMPTE, CEA, HDMI) para que o dispositivo de renderização/decodificação possa reconstruir a OETF ou EOTF inversa.
[085]Em um exemplo de acordo com os presentes conceitos, o modelo genérico de OETF/EOTF pode ser com base nas Equações N°s. 1 a 3 descritas acima.
[086]Um exemplo da OETF de modelo genérico pode ser com base na Equação N° 1:
[087]Um exemplo de EOTF ou OETF de modelo genérico pode ser com base na Equação N° 2:
[088]Um exemplo de EOTF ou OETF de modelo genérico pode ser com base na Equação N° 3: M é uma constante e é, por exemplo, igual a (-10-4).
[089]Em um exemplo de acordo com os presentes conceitos, uma forma alternativa do modelo de OETF genérica compreendendo apenas quatro parâmetros pode ser construída como segue:
[090]Uma forma alternativa do modelo de EOTF ou OETF inversa genérica compreendendo apenas quatro parâmetros e correspondendo à Equação N°. 4 pode ser construída como segue: M é uma constante e é, por exemplo, igual a (-10-4). Na Equação N°. 5, de acordo com diferentes implementações da invenção, n é um parâmetro variável ou tem um valor fixo, por exemplo, igual a 1.
[091]Uma forma alternativa do modelo de EOTF ou OETF inversa genérica compreendendo apenas quatro parâmetros e correspondendo à Equação N°. 4 pode ser construída como segue:
[092]Em um exemplo de acordo com os presentes conceitos, uma forma alternativa dos pares de OETF/EOTF genéricos pode ser usada para um caso de uso de mapeamento de tons que pode ocorrer como segue.
[093]Em um exemplo, na pós-produção o diretor de fotografia e o colorista podem produzir uma graduação HDR de algum conteúdo. A graduação de uma imagem (ou a vídeo) é um processo de alteração/intensificação das cores da imagem (ou do vídeo) a fim de incutir uma intenção artística para um dado aplicativo alvo (por exemplo, lançamento teatral, entretenimento doméstico, transmissão). Para codificar essa filmagem de sinal de vídeo HDR, a OETF pode ser usada diretamente, em que a OETF pode ser com base nas descritas nas Equações N°s. 1 e 4.
[094]Um grau de baixa faixa dinâmica pode ser, então, derivado usando um operador de reprodução de tons ou mapeamento de tons específico (TMO). Um TMO tipicamente mapeia uma imagem ou faixa original de valores de luminância da imagem para uma faixa inferior de valores de luminância que podem ser reproduzidos por um visor. Por exemplo, o TMO pode mapear uma faixa dinâmica de um grau HDR em um grau de faixa dinâmica padrão (SDR). Frequentemente, mas não sempre, o mapeamento de tons ou reprodução de tons é realizado em um canal de luminância que é derivado da imagem ou figura a cores original.
[095]Em um exemplo, qualquer TMO pode ser usado. Em outro exemplo, o TMO pode ser com base na seguinte equação:
[096]Esse é o TMO que tem mesma forma que a OETF proposta.
[097]O conteúdo com tons mapeados resultante T(L) pode ser, então, codificado para distribuição (usando, por exemplo, um padrão de codificação de vídeo MPEG como AVC ou HEVC ou, por exemplo, JPEG para uma única imagem). Uma pequena variante da OETF pode ser, então, aplicada ao conteúdo com tons mapeados, antes da codificação para distribuição. Essa variante da OETF é:
[098]Note que, aqui, a OETF e o TMO têm a mesma forma, exceto que o exponente n foi removido na OETF. Se o TMO é aplicado primeiro e, então, a OETF é aplicada, é possível mostrar que o resultado final tem a mesma forma que o conteúdo com tons mapeados, isto é:
[099]Como todas as variáveis, exceto L, são constantes, essa equação é da forma:
[0100]Neste cenário, os parâmetros s, podem ser definidos pelo colorista para aplicar a intenção criativa. Como resultado após aplicar a OETF, isto é, tem a mesma forma funcional que , pode ser visto que a intenção do diretor não é afetada como resultado da aplicação da OETF.
[0101]O colorista não tem acesso ao exponente o exponente n, embora seja parte do TMO. Os parâmetros, bem como n podem ser providos para permitir a codificação e transmissão ideal do sinal
[0102]Neste cenário, para adequar a intenção do diretor, os parâmetros a’, b’ e u’ na Equação 10 devem ser definidos para coincidirem com as constantes correspondentes na Equação 9. Isso leva a três equações com três desconhecidos, ou seja, a, b e u. Solucionar este sistema de três equações gera:
[0103]Esses valores para a, b e u (bem como k) podem ser usados na Equação 8 para aplicar uma OETF adequada ao conteúdo com tons mapeados T(L).
[0104]Em um exemplo de acordo com os presentes conceitos, um marcador pode ser vantajosamente sinalizado para indicar se os parâmetros OETF/EOTF são sinalizados explicitamente ou derivados de um valor de índice ou um indicador correspondendo a um conjunto de valores predefinidos de parâmetros correspondendo a pares de OETF/EOTF existentes/correspondentes. Em um exemplo, a sintaxe para essa sinalização pode compreender o seguinte: Tabela 1: Exemplo de sintaxe para codificação dos Parâmetros OETF/EOTF genéricos.
[0105]A semântica associada pode ser definida como segue: transfer_function_bit_depth_minus8 mais 8 especifica a profundidade de bits do componente luma ou croma ou o componente de luminância ou o componente RGB das imagens associadas para fins de interpretação de metadados de função de transferência: bit_depth = transfer_function_bit_depth_minus8 + 8 transfer_function_type_flag igual a 0 indica que a função de modelo/transferência de curva caracteriza uma EOTF. transfer_function_type_flag igual a 1 indica que a função de modelo/transferência de curva caracteriza uma OETF. Quando transfer_function_type_flag não está presente, infere-se que transfer_function_type_flag seja igual a 0. transfer_function_predefined_flag igual a 1 indica que o elemento de sintaxe transfer_function_predefined_idc está presente. transfer_function_predefined_flag igual a 0 indica que o elemento de sintaxe transfer_function_predefined_idc não está presente (os parâmetros do modelo de função de transferência são codificados explicitamente). A semântica de transfer_function_predefined_idc pode ser definida em Erro! Fonte de referência não encontrada. Tabela 2: Semântica de transfer_function_predefined_idc .
[0106]A associação de transfer_function_predefined_idc e transfer_function_type_flag pode permitir a determinação de qual EOTF ou OETF é modelado.
[0107]tf_log2_denom especifica o logaritmo de base 2 do denominador para todos os parâmetros (tf_param_s, tf_param_t, tf_param_c, tf_param_n, tf_param_m). O valor de tf_log2_denom deve estar na faixa de 0 a 15, inclusive. Quando não presente, infere-se que o valor de tf_log2_denom seja igual a 0.
[0108]Alternativamente, a sinalização em um padrão (por exemplo, HEVC/H.265, AVC/H.264, MPEG-2, JPEG ou quaisquer alterações presentes ou futuras), pode ser inserida em uma sintaxe/estrutura VUI/SPS/PPS/SEI.
[0109]Em um exemplo, um aspecto dos presentes conceitos refere-se a parâmetros genéricos de modelo de Função de Transferência (TF) que podem ser alterados dependendo da profundidade de bits da imagem. Nesse caso, pode-se sinalizar os valores predefinidos de parâmetros: •pela adição de entradas na Tabela 2 resultando na Tabela 3 abaixo, tais como, por exemplo, abaixo de para “curva de Barten” e função de transferência ST 2084 DE SMPTE: Tabela 3 Semântica de transfer_function_predefined_idc - variante •ou por seção dos parâmetros predefinidos como combinação de bit_depth e transfer_function_predefined_idc.
[0110]Vantajosamente, o tamanho do elemento de sintaxe usado para codificar os parâmetros pode ser diferente para alguns parâmetros.
[0111]Vantajosamente, o número de parâmetros pode ser variável e indicado na sintaxe (ver tf_num_param_minus1 no exemplo apresentado na Tabela 4).
[0112]Vantajosamente, o parâmetro tf_log2_denom pode ser especificado para cada parâmetro: Tabela 4: Exemplo de sintaxe para codificação dos parâmetros de TF genéricos.
[0113]A semântica de tf_num_param_minus1 pode ser definida como segue: tf_num_param_minus1 mais 1 especifica o número de valores de parâmetro definindo a função de transferência.
[0114]Vantajosamente, o parâmetro tf_log2_denom não é sinalizado para cada parâmetro, mas está presente na semântica (Tabela 5).
[0115]Vantajosamente, o tamanho do elemento de sintaxe de cada parâmetro não é fixo e pode ser indicado com um elemento de sintaxe ou pode ser codificado com Códigos de Comprimento Variável (ex.: u(v), se(v), ue(v), ae(v)... como definido em AVC/H.264 ou HEVC/H.265).
Tabela 5: Exemplo de sintaxe para codificação dos parâmetros de TF genéricos.
[0116]Em um exemplo, um aspecto dos presentes conceitos refere-se, em um fluxo de bits de vídeo, à definição dos parâmetros em um SEI de padrão de codificação de vídeo HEVC ou AVC (Tabela 6). Como um exemplo, a sintaxe é baseada na Tabela 4, no entanto, pode ser diretamente estendida à Tabela 1 ou Tabela 5 ou outra estrutura de sintaxe derivada. Tabela 6: Exemplo de sintaxe para codificação dos parâmetros de TF genéricos em uma mensagem SEI.
[0117]A semântica suplementar associada com novos elementos de sintaxe com relação à Tabela 6 é definida como segue: transfer_function_id contém um número de identificação que pode ser usado para identificar a finalidade da informação de função de transferência. O valor de transfer_function_id deve estar na faixa de 0 a 232 - 2, inclusive. transfer_function_cancel_flag igual a 1 indica que a mensagem SEI de informação de função de transferência cancela a persistência de qualquer mensagem SEI de função de transferência prévia na ordem de saída que se aplica à camada atual. transfer_function_cancel_flag igual a 0 indica que a informação de função de transferência segue. transfer_function_persistence_flag especifica a persistência da mensagem SEI de informação de função de transferência para a camada atual. transfer_function_persistence_flag igual a 0 especifica que a informação de função de transferência se aplica somente à imagem atual.
[0118]Em um exemplo, considere que picA é a imagem atual. transfer_function_persistence_flag igual a 1 especifica que a informação de função de transferência persiste para a camada atual na ordem de saída até que as seguintes condições sejam verdadeiras: -Um novo CLVS da camada atual começa. -O fluxo de bits termina. -Uma imagem picB na camada atual em uma unidade de acesso contendo uma mensagem SEI de informação de função de transferência com o mesmo valor de transfer_function_id e aplicável à camada atual é emitida para a qual PicOrderCnt( picB ) é maior do que PicOrderCnt( picA ), em que PicOrderCnt( picB ) e PicOrderCnt( picA ) são os valores PicOrderCntVal de picB e picA, respectivamente, imediatamente após a invocação do processo de decodificação para contagem de ordem de imagem para picB.
[0119]Os elementos de sintaxe suplementar transfer_function_cancel_flag e transfer_function_persistence_flag na Tabela 6 permitem lidar com a adaptação dinâmica da função de transferência cujos parâmetros podem mudar ao longo do tempo (por sequência ou por imagem...) ou cujos parâmetros podem se manter persistentes (por sequência ou por imagem.). Em outra modalidade, tais elementos de sintaxe podem não estar presentes (persistência gerenciada diretamente na semântica).
[0120]Em um exemplo, um aspecto dos presentes conceitos refere-se, em um fluxo de bits de vídeo, à definição dos parâmetros em um Conjunto de Parâmetros de Imagem (PPS). Como um exemplo, a sintaxe é baseada na Tabela 4, no entanto, pode ser diretamente estendida à Tabela 1 ou Tabela 5 ou outra estrutura de sintaxe derivada. Os campos com a *** são novos em comparação com sintaxes existentes de HEVC. Tabela 7: Exemplo de sintaxe para adição dos parâmetros de TF genéricos em um PPS.
[0121]A semântica dos novos elementos de sintaxes são:pps_hdr_extension_flag igual a 1 especifica que a estrutura de sintaxe pps_hdr_extension( ) está presente na estrutura de sintaxe PPS RBSP. pps_hdr_extension_flag igual a 0 especifica que essa estrutura de sintaxe não está presente. Quando não está presente, infere-se que o valor de pps_hdr_extension_flag seja igual a 0. pps_extension_5bits: Porque 1 bit é adicionado para pps_hdr_extension_flag, altera a especificação pps_extension_6bit em H.265/HEVC para pps_extension_5bits para o propósito de alinhamento de bytes.
[0122]Note que marcadores de extensão, tais como pps_extension_5bits, fornecem flexibilidade para o padrão estender enquanto mantém retrocompatibilidade com dispositivos que implementam uma versão anterior do padrão. Novos recursos adicionados em partes de extensão serão lidos por novos dispositivos que implementam o novo padrão enquanto dispositivos herdados implementando versões padrão anteriores irão simplesmente descartar esses marcadores.Tabela 8: Exemplo de sintaxe para codificação dos parâmetros de TF genéricos em um PPS.
[0123]Em um exemplo, um aspecto dos presentes conceitos refere-se, em um fluxo de bits de vídeo, à definição dos parâmetros em um Conjunto de Parâmetros de Sequência (SPS). Como um exemplo, a sintaxe é baseada na Tabela 4, no entanto, pode ser diretamente estendida à Tabela 1 ou Tabela 5 ou outra estrutura de sintaxe derivada.
Tabela 9: Exemplo de sintaxe para adição dos parâmetros de TF genéricos em um SPS.Tabela 10: Exemplo de sintaxe para codificação dos parâmetros de TF genéricos em um SPS.
[0124]Em um exemplo, um aspecto dos presentes conceitos refere-se, em um fluxo de bits de vídeo, à indicação dos parâmetros e sua definição nas Informações de Usabilidade de Vídeo (VUI). Como um exemplo, a sintaxe é baseada na Tabela 4, embora possa ser diretamente estendida à Tabela 1 ou Tabela 5 ou qualquer outra estrutura de sintaxe derivada.
Tabela 11: Exemplo de sintaxe para codificação dos parâmetros de TF genéricos em um VUI.
[0125]Como outro exemplo, a semântica de características de transferência pode ser atualizada. Tipicamente, a Tabela E.4 de HEVC/H.265 pode ser atualizada para incorporar uma modalidade de parâmetros fixos da EOTF/OETF genérica (que pode ser referida ou fixa em um padrão ITU-R ou SMPTE) como segue:
Tabela 12. Atualização de exemplo de características de transferência
[0126]A semântica acima é baseada na Equação N° 1, mas não é limitada a essa versão de definição de OETF pode ser estendida a quaisquer equações aqui descrias, e/ou quaisquer equações derivadas das equações neste documento, por exemplo, uma equação derivada da Equação N° 1. Várias entradas (linhas) podem ser adicionadas a diferentes parâmetros fixos.
[0127]É discutido acima a inserção do valor de modulação em várias estruturas de sintaxe, usando H.265/HEVC como um exemplo. Os presentes conceitos podem ser aplicados a outros padrões. Com exceção do exemplo de implementação de VUI (Exemplo 11), retrocompatibilidade total com o fluxo de trabalho SDR implantado ou existente é preservada.
[0128]Em um exemplo, um aspecto dos presentes conceitos refere-se a implementações relacionadas ao padrão CEA (Consumer Electronics Association) (por exemplo, em uma extensão ou alteração de CEA-861.3). Esse padrão pode ser usado, por exemplo, por HDMI para transmitir parâmetros de EOTF parametrizada (P-EOTF) a um dispositivo de renderização (por exemplo, um visor). Por exemplo, InfoFrame Dynamic Range e Mastering InfoFrame de CEA-861.3 define um Descritor de Metadados Estático e uma EOTF (Tabela 13, Tabela 14) que podem ser atualizados como segue:Tabela 13. Faixa Dinâmica e InfoFrame Master
[0129]O Byte de Dados 1 EOTF identifica a Função de Transferência Eletro-Óptica (EOTF) usada no fluxo.
Tabela 14. Byte de Dados 1 - Função de Transferência Eletro-Óptica
[0130]O Byte de Dados 2 Static_Metadata_Descriptor_ID identifica a estrutura usada no Byte de Dados 3 e acima.Tabela 15. Byte de Dados 2 - Static_Metadata_ID
[0131]Quando Static_Metadata_Descriptor_ID = 1, Static_Metadata_Descriptor usa a estrutura definida na Tabela 16 que foi definida para identificação de parâmetros de EOTF parametrizada.
[0132]Metadados Estáticos Tipo 2 pode definir parâmetros P-EOTF como segue:
Tabela 16. Descritor de Metadados Estáticos Tipo 2 (P-EOTF)
[0133]A semântica é a mesma proposta na Tabela 1.
[0134]Em um exemplo, um aspecto dos presentes conceitos refere-se a valores predefinidos dos parâmetros (por exemplo, parâmetros (s,t,c,n,m)). Em um exemplo, os parâmetros da curva OETF podem ser otimizados em várias OETFs existentes, bem como CSF de Barten, levando a um conjunto de parâmetros predefinidos sugeridos (junto com uma medida de erro). Por exemplo, a Figura 9 ilustra resultados que mostram a função TCH de acordo com os presentes conceitos otimizada em padrão OETF ou propostas de padrão existentes.
[0135]Os parâmetros do modelo matemático mostrado na Figura 9 foram gerados com base em 1000 pontos de dados logaritmicamente espaçados entre o nível de preto e a luminância máxima (indicado nas Tabelas 17-20 abaixo; espaçamento linear para correspondências com a OETF de Phillips). Em um exemplo, o número de pontos de dados pode ser superior a 1000 ou inferior a 1000. Em um exemplo, o espaçamento dos pontos de dados pode ser logarítmico com pontos de dados extras inseridos próximo ao nível de preto e/ou próximo à luminância máxima. Isso pode auxiliar o processo de otimização a encontrar soluções que sejam suficientemente precisas próximo aos extremos da curva.
[0136]O erro é calculado como a diferença média quadrática da saída da OETF generic de acordo com os presentes conceitos e a curva/LUT cujo ajuste foi feito para:
[0137]O erro é um indicador da proximidade entre o modelo de OETF parametrizada de acordo com os presentes conceitos e a OETF (padrão, padrão proposta, personalizada ou padrão futura) que está sendo combinada ou modelada. O erro calculado na Equação 11 é um exemplo de uma métrica de erro adequada. Um exemplo pode usar a norma L1. em. Tabela 17
Tabela 18 Tabela 19Tabela 20
[0138]Em um exemplo de acordo com os presentes conceitos, os parâmetros para os modelos de OETF/EOTF genéricas parametrizadas podem ser gerados como segue de acordo com os presentes conceitos.
[0139]As curvas genéricas descritas acima de acordo com os presentes conceitos requerem vários parâmetros. Esses parâmetros dependem do caso de uso ou de qual curva preexistente precisa ser modelada. Um procedimento de otimização pode ser empregado para determinar os valores desses parâmetros de acordo com os presentes conceitos. Os mesmos parâmetros são, então, empregados para a EOTF correspondente (ou OETF inversa).
[0140]A curva OETF a ser otimizada (a curva OETF alvo) pode ser dada como uma tabela de pesquisa (LUT) ou como uma função. Assumindo que existe uma faixa de valores de luminância para os quais é desejável que a OETFcorresponda a uma OETF existente, então, o seguinte problema de otimização é solucionado: em que pode ser qualquer OETF existente, ou pode ser uma LUT derivada de funções de sensibilidade de contraste. L pode ser uma variedade de valores dentro de uma faixa de valores (por exemplo, 1000 valores, espaçados logaritmicamente na faixa de luminância em investigação).
[0141]Cada variável ou cada parâmetro pode ser individualmente otimizado. Se o erro obtido para essa otimização for inferior ao erro anterior, o novo valor para aquela variável é armazenado. Ao contrário, o valor antigo é armazenado.
[0142]Após cada variável/parâmetro ter sido otimizado uma vez, o procedimento é repetido. Esse processo é repetido um número fixo de vezes (por exemplo, 10000 vezes) ou enquanto o erro não tiver sido reduzido. Durante cada iteração desse esquema iterativo, os parâmetros são atualizados para valores determinados pela otimização apenas se ele resultarem em um erro menor. Ao contrário, os parâmetros da iteração anterior são mantidos. Repetindo a otimização em círculo, iniciando cada círculo com o conjunto de parâmetros ideal determinado previamente, existe convergência para a solução global ideal, devido à natureza suave e bem comportada das curvas para as quais a otimização é realizada.
[0143]Em um exemplo, uma função de transferência de modulação, que por si só é derivadas de uma função de sensibilidade de contraste, pode ser combinada. Nesse procedimento, a Função de Sensibilidade de Contraste de Barten é avaliada para todas as combinações relevantes de nível de luminância e frequência espacial. Para cada nível de luminância, a sensibilidade de contraste máxima é encontrada em todas as frequências espaciais. Isso produz uma função de sensibilidade de contraste como função de nível de luminância,
[0144]A função de transferência de modulação é o recíproco de sensibilidade de contraste e é dada por:
[0145]Em essência, a transferência de modulação dá o máximo contraste em um dado nível de luminância que é logo abaixo do limite visível. Isso significa que níveis de luminância subsequentes em um esquema de codificação devem ter um contraste de, no máximo, essa quantidade.
[0146]O contraste entre dois níveis de luminância é geralmente c definido como contraste de Michelson C, dado por:
[0147]Combinar essas duas equações produz:
[0148]Resolver produz:
[0149]A interpretação desse resultado é que, dado um nível específico de luminância, um novo nível de luminância pode ser calculado, que é diferente exatamente em 1 diferença de percepção imediata (JND). Nesse caso, o novo nível de luminância é 1 JND superior ao valor anterior, e no outro caso, o novo nível de luminância é 1 JND inferior.
[0150]Em um exemplo, a luminância máxima e profundidade de bits desejadas são escolhidas e, com a Equação 16, calculam uma tabela de pesquisa de valores de luminância, cada uma 1 JND diferente do valor anterior. Por exemplo, cd/m2 se uma luminância máxima de 10.000é escolhida, com uma profundidade de bits de 12 bits, então, a última entrada na tabela de pesquisa irá conter um valor de 10.000. A penúltima entrada será calculada a partir da última entrada usando a Equação 16. A antepenúltima entrada será calculada a partir da penúltima entrada, e assim por diante.
[0151]A tabela de pesquisa resultante representa uma EOTF, uma vez que converte palavra códigos (isto é, entradas da tabela) em valores de luminância. Se um valor de luminância mínimo desejado é dado, um cálculo de quantas palavras código devem ser necessárias para alternar entre a luminância mínima e máxima pode ser realizado. Isso provê o número de JNDs disponível para aquela faixa de luminância.
[0152]Pesquisas inversas nessa tabela de pesquisa resultante implementariam uma OETF. Esse par de funções será representado porpara a EOTF e a OETF respectivamente.
[0153]Os parâmetros da OETF para essa tabela de pesquisa podem ser otimizados resolvendo a seguinte equação, em que qualquer número de parâmetros pode ser selecionado:
[0154]A Tabela de pesquisa gerada na seção anterior cria valores que são precisamente espaçados em 1 JND. A combinação da luminância inicial e do número de entradas na tabela de pesquisa pode determinar a luminância final. Isso é indesejável porque a luminância final é difícil de ser prevista dessa forma, e pode ser superior ou inferior ao nível de preto desejado. Esse é especialmente o caso se o número de entradas na Tabela é relacionado a uma dada profundidade de bits (em um exemplo, uma profundidade de bits de 10 bits implicaria uma Tabela com 1024 entradas). Se a combinação de nível de preto, luminância máxima e profundidade de bits permitir, seria melhor espaçar cada etapa consecutiva em menos de 1 JND.
[0155]Um parâmetro f com um valor menor que um pode ser aplicado às fórmulas acima como segue:
[0156]Em um exemplo pode ser escolhido para um sistema com uma luminância máxima de 10,000 um nível de preto de 0,001 e uma profundidade de bits de 12 (produzindo assim uma LUT de entradas).Em um exemplo, . Para uma luminância máxima, um nível de preto e uma profundidade de bits fixos, variar o valor de f resulta em uma família de curvas.
[0157]Em geral, é desejável escolher uma luminância máxima, um nível de preto e uma profundidade de bits, e derivar daí um valor ideal de f. Para alcançar isso, um procedimento de otimização pode ser empregado. Aqui, um aspecto dos conceitos resolve o seguinte problema de otimização:
[0158]Aqui, é o nível de preto desejado e é a primeira entrada na tabela de pesquisa gerada a partir de uma dada luminância maxima um dado tamanho da tabela de pesquisa, bem como o parâmetro que está sendo otimizado. O objetivo dessa técnica é encontrar um valor de que, sob a dada especificação de luminância máxima e profundidade de bits, produz uma LUT com um nível de preto que é tão próximo possível ao nível de preto desejado
[0159]O resultado deste produzido é um valor de que pode ser usado na Equação 18 para criar LUTs com as quais os parâmetros das curvas OETF e EOTF dos presentes conceitos podem ser combinados. Essa LUT representana Equação 17. Os parâmetros para a OETF são, então, determinados aplicando o s t c esquema de otimização da Equação 17. Os mesmos parâmetros de resultado
são utilizados para ambas a OETF e a EOTF correspondente (OETF inversa).
[0160]Em um exemplo de acordo com os presentes conceitos, uma forma alternativa do modelo de EOTF genérica compreendendo seis parâmetros pode ser construída como segue:
[0161]Na Equação N° 20, c, m, s, n, t, b são parâmetros e V é uma palavra código.
[0162]Uma forma alternativa da EOTF ou OETF inversa genérica compreendendo seis parâmetros e correspondendo à Equação N° 20 pode ser construída como segue:
[0163]O desvio b na Equação N° 20 pode ser usado para modificar a curva, tal que o menor valor de V que é tipicamente 0, será mapeado para um valor de saída desejado L. Em um exemplo b é escolhido tal que, em combinação com parâmetrosa entrada é mapeada para Em um exemplo, b é escolhido tal que, em combinação com parâmetros, a entrada é mapeada para .
[0164]Os valores de parâmetros. são tipicamente determinados através de um processo de otimização (por exemplo, o processo de otimização no Exemplo 14). O valor de b pode também ser encontrado através da otimização da Equação N° 20 em uma dada curva.
[0165]Alternativamente, o valor de b pode ser calculado como segue. pode ser o nível de preto desejado de um sistema de exibição pretendido pode ser o valor de palavra código mais baixo que deve ser codificado dado o nível de preto desejado representado por O valor b pode, então, participar na determinação de com base na Equação N° 20. Na ausência do desvio b , esse mapeamento não pode ser garantido:
[0166]No entanto, usando a Equação N° 20, é possível estabelecer uma &) equação com um (parâmetro b) desconhecido:
[0167]Na Equação N° 23, os parâmetros podem ser determinados através de otimização. A palavra código e valor de luminância podem ser especificados. O valor de b pode ser calculado como segue:
[0168]Determinar o parâmetro b com base na Equação N° 24 em vez de por meio de otimização permite que determinados sistemas, tais como um visor ou um aparelho de Blu-Ray, não transmitam o parâmetro b, uma vez que ele pode ser s t c nem s t c nem calculado a partir dos parâmetros Os parâmetros da Equação N°. 20 podem ser transmitidos ao receptor.
[0169]Em um exemplo de acordo com os presentes conceitos, uma forma alternativa do modelo de EOTF genérica compreendendo sete parâmetros pode ser construída como segue:
[0170]Na Equação N°. 25, c, m, s, n, t, a, b são parâmetros e V é uma palavra código.
[0171]Uma forma alternativa do modelo de EOTF ou OETF inversa genérica compreendendo sete parâmetros e correspondendo à Equação N°. 25 pode ser construída como segue:
[0172]O desvio b introduzido na Equação N° 25 pode ser usado para modificar a curva, tal que o menor valor de V, que é tipicamente 0, será mapeado para um valor de saída desejado A capacidade de executar esse mapeamento pode ser alcançada alterando o valor de para mudar a saída para seu valor de saída mínimo desejado Simultaneamente, o maior valor de V, que é tipicamente 1, será mapeado para um valor de saída desejado . A capacidade de executar esse mapeamento pode ser alcançada alterando o valor de para modificar a saída para sua faixa desejada.
[0173]Em um exemplo,é escolhido tal que, em parâmetros a entradaé mapeada paraEm um exemplo, é mapeado para . Em um exemplo, é mapeado para Em um exemplo, é escolhido tal que, em combinação com parâmetros c a entrada é mapeada para Em um exemplo, é escolhido tal que, em combinação com parâmetros a entrada é mapeada para. Em um exemplo, é escolhido para mapear para Em um exemplo, é escolhido tal que a entrada é mapeada para
[0174]Os valores de parâmetros, podem ser determinados através de um processo de otimização. Os valores de podem também ser encontrados através de otimização em uma dada curva.
[0175]Alternativamente, os valores depodem ser calculados como segue. pode ser o nível de preto desejado do sistema de exibição pretendido. O valor de palavra código mais baixo que deve codificar esse nível de preto pretendido pode ser dado por pode ser o nível de preto desejado do sistema de exibição pretendido. O valor de palavra código mais alto que deve codificar a luminância máxima pretendida pode ser dado por O mapeamento desejado pela Equação N°. 25 é então:
[0176]Na ausência de ganho e desvio , esse mapeamento não pode ser garantido, isto é, em geral, o seguinte é verdadeiro:
[0177]No entanto, com o auxílio da Equação N° 25, é possível estabelecer a e b) duas equações com dois (parâmetros desconhecidos:
[0178]Nessas equações, os parâmetros podem ser determinados através de otimização. As palavras código e valores de luminância desejados podem ser especificados. Isso permite que valores para a e b sejam calculados, usando as definições de a partir da Equação N°. 29a e Equação N° 29b:
[0179]Equação N°. 30
[0180]Equação N°. 31
[0181]Determinar parâmetros a e b com base nos valores da luminância mínima e máxima L e palavras código V, tal como através das Equações acima 30 e 31, em vez de por meio de otimização, permite que, em sistemas em que alguns parâmetros são transmitidos a um receptor, tais como um visor ou um aparelho de a e b Blu-Ray, os parâmetros não precisem ser transmitidos, uma vez que eles podem ser calculados com base nos parâmetros
[0182]EXEMPLO 17
[0183]Em um exemplo de acordo com os presentes conceitos, uma forma alternativa do modelo de OETF genérica compreendendo seis parâmetros pode ser construída como segue:
[0184]Na Equação N°. 32, c, m, k, s, n, t são parâmetros e V é uma palavra código.
[0185]Uma forma alternativa do modelo de EOTF ou OETF inversa genérica compreendendo seis parâmetros e correspondendo à Equação N° 32 pode ser construída como segue:
[0186]O desvio m introduzido na Equação N° 32 pode ser usado para modificar a curva OETF, tal que o menor valor de i será mapeado para uma palavra código desejada Simultaneamente, o maior valor de i será mapeado para um valor de saída desejado Isso é alcançado alterando o valor de .< para modificar a saída para sua faixa desejada.
[0187]Se a saída normalizada for desejada, então,. Em casos de uso não normalizados, a faixa de palavras código pode ser determinada por uma dada profundidade de bits, e pode ser ainda qualificas pelos adjetivos ‘total’ ou ‘legal’. Cada uma dessas faixas pode ser acomodada especificando valores VmÉm e apropriados para Em um exemplo, a faixa total de 10 bits tem “codevalues” entre Em um exemplo, a faixa legal de 10 bits tem “codevalues” definidos entre . Em um exemplo, a faixa total de 12 bits tem valores entre . Em um exemplo, uma a faixa legal de 8 bits tem valores entre
[0188]Os parâmetrospodem ser determinados com base na luminância mínima e máxima L e palavras código V. Os parâmetros podem ser calculados da mesma forma que a discutida em relação ao Exemplo 16 acima. Um valor de luminância mínimo e um valor de luminância máximo pode ser VmÉra e especificado em adição a “codevalues” desejados correspondentes A partir da Equação N°. 32, duas equações em dois desconhecidos são derivadas:
[0189]Essas duas equações são, então, simultaneamente resolvidas para os parâmetros k ê m rendendo:
[0190]Na Equação N°. 35 e Equação N° 36,pode ser determinado como segue:
[0191]Em um exemplo de acordo com os presentes conceitos, uma forma alternativa do modelo de EOTF genérica compreendendo oito parâmetros pode ser construída como segue:
[0192]Na Equação N° 38, c, m, k, s, n, t, a, b são parâmetros e V é uma palavra código.
[0193]Uma forma alternativa do modelo de EOTF ou OETF inversa genérica compreendendo oito parâmetros e correspondendo à Equação N° 38 pode ser construída como segue:
[0194]O desvio b introduzido na Equação N° 38 pode ser usado para modificar a curva, tal que o menor valor de V, que é tipicamente 0, será mapeado para um valor de saída desejado. A capacidade de executar esse mapeamento pode ser alcançada alterando o valor de para mudar a saída para seu valor de saída mínimo desejado Simultaneamente, o maior valor de V, que é tipicamente 1, será mapeado para um valor de saída desejado Isso é alcançado alterando o valor de c para modificar a saída para sua faixa desejada. Simultaneamente, os parâmetros servem ao mesmo papel na Equação N° 39 como os parâmetros a e b fazem na Equação N°. 38: eles permitem que um ganho k e um desvio sejam aplicados à OETF da Equação N° 39, tal que a faixa desejada de palavras código é estendida para uma faixa de valores de entrada entre
[0195]Os valores de parâmetros ,são tipicamente determinados através de um processo de otimização. Alternativamente, os s t c e parâmetros podem ser determinados através de otimização e, similar ao Exemplo 16, os parâmetros podem ser calculados simultaneamente através de um sistema de quatro equações em quatro desconhecidos. Uma palavra código mais baixa desejada e palavra código mais alta pode ser especificada. Da mesma forma, pode haver uma faixa de luminância com um valor de luminância representável mais baixo e um valor de luminância representável mais alto desejados. As quatro equações com desconhecidos são:
[0196]As seguintes informações que podem ter que ser determinadas: valores de luminânciabem como palavras código Esses valores de luminância e palavras código necessariamente têm que ser diferentes de
para assegurar que as quatro equações acima sejam linearmente independentes (e, portanto, permitem uma solução aos quatro desconhecidos
Em princípio, as seguintes relações devem ser estabelecidas:
[0197]Finalmente, os pares devem ambos estar na curva desejada. Em casos de uso em que tais pares podem ser identificados, os parâmetros podem ser determinados com base nas Equações 40 a 43.
[0198]Em um exemplo de acordo com os presentes conceitos, uma forma alternativa do modelo de OETF genérica compreendendo seis parâmetros pode ser construída como segue:
[0199]Aqui,são parâmetros para a Equação N° 45a, os quais são tipicamente determinados através de otimização e i é um valor de luminância de entrada. A faixa de valores de entrada que i pode ter pode ser especificada como A saída da Equação N° 45a será, então, ligada à faixa de palavra código A faixa de palavra código desejada pode ser especificada como A Equação N° 45b pode mapear a saída de Equação N°. 45a para a faixa de palavra código desejada.
[0200]O parpode ter uma variedade de faixas de código. Em um exemplo, a faixa de palavra código desejada pode ser e corresponde à faixa total de 8 bits. Em um exemplo, a faixa de palavra código H CVmi„,VmM) = (0,1023) desejada pode ser correspondendo à faixa total de 10 bits. Em um exemplo, a faixa de palavra código desejada pode ser, correspondendo a faixa legal de 10 bits. Em um exemplo, a faixa de palavra código desejada pode ser , correspondendo à faixa estendida de 10 bits. Em um exemplo, a faixa de palavra código desejada pode ser correspondendo à faixa estendida de 12 bits. Em um exemplo, a faixa de palavra código desejada pode ser , correspondendo a uma faixa normalizada.
[0201]Os parâmetros k e m. podem ser calculados a partir dos valores de luminância mínimo e máximo especificados, bem como os valores de palavra código mínimo e máximo desejados :
[0202]Com os parâmetros k e m calculados de acordo com as Equações N°, 46a e 46b, o sinal produzido pela Equação 45b pode ser codificado e transmitido.
[0203]Após a transmissão e decodificação, a OETF ou EOTF inversa pode ser aplicada para reconstruir valores de luminância adequados. Em um exemplo, isso é realizado como segue:
[0204]As Equações N° 47a e 47b correspondem ao inverso das Equações N° 45a e 45b e usam os mesmos parâmetrosO valor de luminância L pode constituir o sinal de entrada para essa EOTF.
[0205]Em um exemplo alternativo, a aplicação da EOTF é realizada como segue:
[0206]A diferença entre as Equações N° 47a, 47b e Equação N° 48a é que a etapa de normalização da Equação 45b não é invertida. Usar os conceitos subjacentes às Equações N° 48a e 48b pode resultar em menos cálculos para aplicação da EOTF durante um processo que não requer conhecimento dos parâmetros k e m. Usar as Equações N° 47a e 47b permite que o sinal de luminância original 1 seja aproximado com um nível de precisão um pouco maior.
[0207]As Equações N° 47c e 48b indicam uma etapa final de escalonamento, que pode ser usada para mapear os valores de luminância reconstruídospara uma faixa de exibição especificada , que podem ser os mesmos que a faixa de entrada especificada usada nas Equações N°. 46a e 46b. A faixa de exibição especificada pode também ser escolhida de forma diferente, por exemplo, para corresponder à faixa de exibição de um visor alvo especificado.
[0208]Os parâmetros a e b usados nas Equações N° 47c e 48b podem ser calculados a partir das palavras código mínima e maxima associadas com as palavra códigos na Equação N°. 47b e palavras código na Equação N° 48a, bem como a faixa de exibição especificada :
[0209]A saída constitui um sinal que pode ser usado para exibição ou pode ser usado ainda para processamento antes do armazenamento ou exibição.
[0210]Em um exemplo, o processo descrito pelas Equações N° 45a, 45b, 47a, 47b e 47c pode ser invertido, tal que L’’ pode ser convertido em L sem introduzir não linearidades. Em um exemplo, o processo descrito pelas Equações N° 45a, 45b, 48a, e 48b pode ser invertido, tal que L’’ pode ser convertido em L sem introduzir não linearidades.
[0211]EXEMPLO 20
[0212]De acordo com os presentes conceitos, em todos exemplos em que uma OETF é usada com um conjunto de parâmetros ou um subconjunto desses, uma EOTF correspondente pode ser construída usando os mesmos parâmetros. Isso garante que, em um sistema em que um sinal de luminância é processado por uma OETF adequadamente escolhida, e (possivelmente após codificação, transmissão e decodificação) em que o sinal resultante é subsequentemente processado pela EOTF correspondente, os valores de luminância de saída intimamente correspondem aos valores de luminância de entrada.
[0213]Esse comportamento de ponta a ponta (de luminância a palavras código à luminância, também conhecido como a função de transferência opto-óptica, OOTF, ou sistema gama) é, portanto, linear se os parâmetros usados pela OETF forem os mesmos que os parâmetros usados para a EOTF.
[0214]Em alguns casos, pode haver um comportamento de ponta a ponta não linear. Por exemplo, Rec. ITU-R BT 709 pode ser usada em conjunto com Rec. ITU-R BT 1886, resultando em um resultado ponta a ponta não linear. Da mesma forma, Philips propõe funções OETF e EOTF que não são inversos rigorosos entre si para também criar um sistema gama não linear.
[0215]De acordo com os presentes conceitos, a OETF em cada um dos exemplos pode ser executada com parâmetros ou um subconjunto desses, enquanto para a EOTF correspondente, um conjunto diferente de parâmetros (ou seu subconjunto) pode ser especificado.
[0216]Em um exemplo, os parâmetros podem ser determinados por otimização com a OETF de Philips. Separadamente, os parâmetros podem ser determinados por otimização com a EOTF de Philips.
[0217]Neste exemplo, um aspecto dos presentes conceitos refere-se à redução do número de parâmetros para a OETF parametrizada, curvas OETF inversa/EOTF de pelo menos cinco parâmetros a dois parâmetros.
[0218]As cinco funções de parâmetro das Equações N° 1 e 2 são não convexas. Pela adição de restrições específicas às curvas de otimização das Equações N°. 1 e 2, as funções podem ser reescritas tal que nenhum exponente ou divisão permaneça. Por sua vez, isso melhora a capacidade de encontrar o ideal global ou pelo menos um ideal local que é muito mais próximo ao ideal global.
[0219]Em um exemplo, a derivação de uma função OETF inversa/EOTF de dois parâmetros é mostrada com parâmetros determinados como uma otimização em relação à BBC/NHK OETF/inversa EOTF proposta. No entanto, a otimização pode ser realizada em relação a qualquer uma ou mais curvas.
[0220]Uma simplificação é provida para o problema não convexo, complexo de otimização de parâmetros para a P-EOTF, OETF inversa dos presentes conceitos. Para solucionar esse problema, restrições algorítmicas são providas a fim de reduzir o número de parâmetros do problema de otimização.
[0221]A menor palavra código é mapeada para o menor valor de luminância representável Por exemplo, no contexto da proposta de BBC/NHK, o menor valor de luminância representável é igual a zero (por exemplo, ).
[0222]A P-EOTF, OETF inversa da Equação N° 2 pode ser estendida por um desvio Lmin. A P-EOTF, OETF inversa resultante pode ser escrita como segue:
[0223]Substituir Lmn = 0 e V = 0 na Equação N° (51) acima, resulta em:
[0224]Como consequência, a P-EOTF da Equação N° 51 pode ser simplificada como segue:
[0225]O maior valor de palavra código, é mapeado para o valor de luminância representável máximo. O valor de luminância representável máximo é normalizado; por exemplo, o valor de luminância representável é definido para um (por exemplo, ). Para valores de luminância suficientemente altos, aseguinte relação pode ser escrita:
[0226]Portanto, para os maiores valores de palavra código V, a EOTF, OETF inversa podem ser estimadas como segue:Definir gera a seguinte expressão:
[0227]Como resultado, mapear o menor e o maior valor de palavra código permite a eliminação de dois parâmetros do problema de otimização. Dessa forma, a EOTF proposta, OETF inversa ou P-EOTF pode, portanto, ser escrita como:
[0228]Desse modo, a P-EOTF ou OETF inversa da Equação N°. 57 tem apenas três parâmetros, ou seja, s, t e n. Como os parâmetros s e t aparecem apenas na multiplicação na Equação N°. 57, uma alteração de parâmetros pode ser aplicada para reduzir o número de parâmetros para dois: em que O exponente pode ainda levar o algoritmo de otimização declinar para um mínimo local. Esse risco pode ser reduzido por otimização em espaço de log, isto é:
[0229]A Equação Nº. 59a é aproximada, porquefoi omitido. Reintroduzir essa luminância mínima produz:
[0230]Equação N° 59b apresenta uma função em duas variáveis desconhecidas,., que significa que o algoritmo de otimização terá apenas que otimizar esses dois parâmetros. A divisão de significa que um resultado viável irá requerer que n seja maior do que 0. Da mesma forma, a divisão por leva à exigência de que . Esses limites podem ser usadoscomo uma verificação na saída do otimizador. No entanto, os limites não precisam ser explicitamente especificados como restrições.
[0231]ESTRATÉGIA DE OTIMIZAÇÃO u e n
[0232]A fim de determinar valores para os parâmetros, uma curva de referência é aproximada por uma representação usando pares de referência de luminância/palavra código é determinado pelo número B de bits disponível. Com essa notação, observe que . Os pares de palavra código de luminância representam a curva alvo a serem combinadas com eles.
[0233]Os pares de luminância/palavra código podem ser determinados por amostragem de qualquer curva de escolha. Em um exemplo, isso é uma amostragem da curva BBC/NHK EOTF.
[0234]Um algoritmo de otimização é utilizado para determinar valores para os parâmetros , para o par de palavra código de luminância selecionado. O algoritmo de otimização avalia valores candidatos de que são inseridos na Equação N° 59b. Essa equação é, então, avaliada para valores de palavra código . Isso resulta em um conjunto de valores de luminância que deve ser o mais próximo possível aos valores de luminância amostrados
[0235]O erro entre os dois valores resultants pode ser avaliado com uma métrica padrão, tal como a diferença quadrática . A métrica padrão avalia esse erro para todos os valores de palavra código , levando à seguinte formulação de otimização, que é baseada na Equação N° 59b:cálculo de norma mostrado na Equação N°. (60a) representa o erro da P-EOTF (com os parâmetros atuais ) em relação à curva que a otimização é aplicada (que é representada pelo conjunto de pares . O algoritmo de otimização escolhido utilizará essa métrica de erro para determinar os valores ideais para A Equação N° 60a pode ser expandida como segue:em que . A soma na Equação N° (60b) representa o erro médio que o algoritmo de otimização irá minimizar.
[0236]Em um exemplo, o erro máximo é mantido sob controle, mesmo se isso significar um erro médio maior. Neste exemplo, o seguinte erro máximo precisa ser minimizado:
[0237]Em outro exemplo, ambos os erros máximo e médio são combinados em uma média ponderada. Esse exemplo fornece uma vantagem para as situações em que uma compensação entre o erro médio e máximo é requerida. Neste exemplo, a seguinte função de custo precisa ser minimizada:em que a > 0 e b > 0 são dois pesos determinando a importância relativa dos tipos de erro médio e máximo.
[0238]Em outro exemplo, os resultados de otimização das curvas P-EOTF, OETF inversa dos presentes conceitos podem ser mais precisamente controlados pela adição de pesos não uniformes à avaliação de cada um dos pontos de dados (Li; Vi). Isso permite que menos ou mais peso seja provido à determinados pontos de dados de palavra código, luminância; por exemplo, permite fornecer maiores pesos a valores de preto.
[0239]Por exemplo, peso extra pode ser dado a valores de pontos de dados de palavra código, luminância que estão próximos do ponto preto (isto é, baixos valores de). Esse exemplo pode ser expresso pela seguinte formula:
[0240]Em outro exemplo, a Equação N°. 61a pode ser modificada para incluir uma avaliação do erro máximo:
[0241]Para ambas as Equações N° 61a e 61b, é um conjunto de pesos, um para cada um dos N pontos de dados
[0242]Pode ser desejável otimizar a P-OETF, OETF inversa da presente invenção com mais de uma curva alvo. Por exemplo, a curva P-EOTF, OETF inversa dos presentes conceitos pode ser otimizada em uma EOTF de alta faixa dinâmica existente para obter um comportamento desejado em uma faixa de luminância estendida. A mesma curva P-EOTF, OETF inversa dos presentes conceitos pode também ser otimizada simultaneamente com uma curva padrão atual (por exemplo, Rec. ITU-R BT1886), a fim de criar uma nova curva P-EOTF, OETF inversa com suficiente retrocompatibilidade.
[0243]Um aspecto dos presentes conceitos provê a superação das desvantagens de uma situação em que a P-OETF, OETF inversa é otimizada em duas ou mais curvas. Em particular, conjuntos de pares de luminância/palavra código podem ser definidos para cada uma das curvas a ser otimizada e a otimização final pode ser formulada como uma média ponderada dos erros obtidos para todas a curvas a serem otimizada.
[0244]Por exemplo, em um exemplo para encontrar uma compensação adequada entre capacidades de alta faixa dinâmica, bem como retrocompatibilidade padrão, dois conjuntos de pares de luminância/palavra código são definidos:
[0245]A Equação N° 62 define dois conjuntos de pares de luminância/palavra código, um conjunto para cada uma das duas EOTFs alvo. Neste exemplo, o primeiro conjunto de pares de luminância/palavra código representa uma EOTF alvo, por exemplo, a EOTF definida por BBC/NHK, e pode consistir em pares de luminância/palavra código . O segundo conjunto de pares de luminância/palavra código representa uma EOTF alvo diferente, por exemplo, a EOTF definida pela Recomendação ITU-R BT.1886, e pode ter pares . Ambos os conjuntos de pares de luminância/palavra código podem ser gerados com a técnica descrita na seção ‘Estratégia de Otimização’ acima. Para determinar os parâmetros para a P-EOTF, a EOTF inversa definida na Equação N° 59 pode ser, então, formulada como segue: Equação N° 63a em que são dois pesos determinando a importância relativa das duas contribuições de curva. Em vez do erro médio, o erro máximo da norma pode também ser usado:
[0246]Embora as Equações N° 63a-63b ilustrem um exemplo para duas curvas, essa abordagem pode ser estendida a qualquer número de curvas. Por exemplo, o seguinte ilustra uma otimização para J número de curvas desejadas:
[0247]A formulação da Equação N° 64a pode ser usada em combinação com o erro máximo como segue, que pode ser útil em casos quando o erro máximo é mais indicativo do desempenho desejado da P-EOTF resultante do que o erro médio:
[0248]Em um exemplo, a otimização das funções EOTF, OETF genérica parametrizada das Equações N° 1 e 2 acima pode ser realizada de acordo com os presentes conceitos. Por exemplo, a curva parametrizada da Equação N° 59b pode ser otimizada na BBC/NHK EOTF proposta, levando aos seguintes parâmetros: Equação N°. 65a u = 1.2961604455878200 Equação N°. 65b n = 0.4820036148084646 Equação N°. 65c Vmax = 2.0009775171065494 Equação N°. 65d Lmn = 0.0
[0249]Com base nos parâmetros de Equação N°. 65a-d, os parâmetros
podem ser determinados aplicando as seguintes equações: Equação N°. 66as = 1.0 Equação N°. 66bt=u Equação N°. 66cn=n Equação N°. 66d Equação N°. 66ec=-mst
[0250]Para o exemplo acima das Equações N°. 65a-65d, os seguintes parâmetros resultam: Equação N°. 67as = 1.0 Equação N°. 67bt = 1.2961604455878200 Equação N°. 67cn = 0.4820036148084646 Equação N°. 67dm = 3.5945654272905836 Equação N°. 67ec = -4.6591335259315354
[0251]As curvas OETF e EOTF resultantes da aplicação dos valores de parâmetro definidos nas Equações N°. 67a-67d às Equações N°. 1 e 2 podem ser operadas em cenários de 10 bits e 11 bits. A luminância máxima para o caso de 10 bits é em torno de 1214 nits, enquanto a luminância máxima para o caso de 11 bits é 10.000 nits.
[0252]A entrada e a saída da OETF e EOTF precisam ser escalonadas, dependendo da OETF e EOTF usadas. Isso permite que essas OETF e EOTF sejam usadas tanto como curvas absolutas ou como curvas relativas.
[0253]Como um exemplo, o par de curvas OETF/EOTF de 10 bits deve ser usado com valores absolutos. A faixa de valores de entrada de luminância para a curva OETF é, então,. Assim, a saída da curva OETF precisa ser escalonada para gerar palavras código entre 0 e 1023. Isso leva a um par de fatores em escala em que Lscale = 10000 e Vscale = 1023.
[0254]Usando os parâmetros das Equações N° 67a-e, a curva P-OETF é, então, dada por:
[0255]A curva P-EOTF correspondente é dada por:
[0256]As curvas OETF e EOTF das Equações N° 68 e 69 podem ser usadas com valores de entrada e saída normalizado. Isso exige o ajuste dos parâmetros para: Equação N°. 70a:Lscae = 10000/1214 = 8.2372 Equação N°. 70b: Vscaie = 1023/1023=1
[0257]As curvas apresentadas nas Equações N° 1 e 2 e também nas Equações N°. 68 e 69 são o inverso verdadeiro uma da outra. Ou seja, se luz linear passa na Equação N° 1, então, luz linear pode ser reproduzida aplicando a Equação N° 1 seguida pela Equação N° 2. Dessa forma, o comportamento do sistema é, portanto, linear: a entrada para a Equação N° 1 é quase idêntica à saída da Equação N° 2. Em outras palavras, o sistema é linear.
[0258]No entanto, produtores de conteúdo, por exemplo, estúdios, geralmente utilizam gradação de cor em imagens sob iluminação mais escura do que a iluminação ambiente disponível aos consumidores. Portanto, pode ser desejável para um aspecto dos presentes conceitos fornecer curvas EOTF/OETF inversa, OETF parametrizada que tenham comportamento não linear. Isso é mais utilmente simulado aplicando uma função gama à saída da curva OETF inversa, EOTF na Equação N° 2 ou na Equação N° 69, resultando na seguinte curva EOTF:
[0259]Observe que, com relação à Equação 69, é necessário que de modo que esse parâmetro seja omitido da Equação N° 71. Como consequência, neste caso, a curva OETF da Equação N° 68 pode ser usada, desde que também nessa equação.
[0260]Em um exemplo, tal como o exemplo de visualização de um vídeo na casa de um consumidor, o valor para gama Y pode ser 1,2. Em outro exemplo, por exemplo, ao visualizar o vídeo na casa de um consumidor em um dispositivo de exibição de alta faixa dinâmica, o valor para gama y pode ser 1,4. O custo computacional de aplicar este valor de gama extra é zero, porque y/n avalia uma constante diferente de 1/n.
[0261]Um exemplo dos presentes conceitos permite que a OETF e a EOTF sejam representadas como curvas parametrizadas com base em configurações de parâmetro adequadas. As configurações de parâmetro da(s) curva(s) parametrizada(s) permitem a seleção de um par OETF/EOTF de uma variedade de OETF e EOTF existentes.
[0262]Um exemplo dos presentes conceitos permite outros parâmetros, a(s) curva(s) OETF/EOTF dos presentes conceitos a ser comparada com o modelo de sensibilidade de contraste de Barten para diferentes faixas de luminância e profundidades de bits. Assim, uma família de curvas significativas pode ser facilmente derivada.
[0263]Um exemplo dos presentes conceitos inclui uma nova formulação da equação de Naka-Rushton que, sob determinadas configurações de parâmetro, é idempotente.
[0264]Outro exemplo dos presentes conceitos permite a representação de uma única curva com parâmetros significativos e permite uma representação unificada para vídeo HDR e SDR.
[0265]Outro exemplo dos presentes conceitos permite a transmissão de um pequeno conjunto de parâmetros para orientar a reconstrução de sinal em vez de transmitir uma LUT ou a curva total.
[0266]Outro exemplo dos presentes conceitos permite a decodificação que omite a aplicação de uma EOTF para certos dispositivos de exibição alvo SDR. A codificação através da OETF proposta pode servir como um operador adequado de mapeamento de tons ou reprodução de tons.
[0267]Outro exemplo dos presentes conceitos permite que as funções de transferência parametrizadas propostas evitem fragmentação de mercado e melhorem a interoperabilidade e a implementação por reconciliação de diferentes OETF/EOTF sob um modelo único, genérico, adaptativo e parametrizado de OETF/EOTF.
[0268]Outro exemplo dos presentes conceitos permite que as funções de transferência parametrizadas propostas mapeiem para a luminância de saída desejada, incluindo a o nível de preto mínimo desejado e a luminância de pico máxima.
[0269]Outro exemplo dos presentes conceitos provê a capacidade de otimizar curvas OETF inversa/EOTF, OETF contra quaisquer outras curvas reduzindo os parâmetros das curvas OETF inversa/EOTF, OETF parametrizadas a dois parâmetros. A(s) curva(s) OETF inversa/EOTF, OETF de dois parâmetros resulta(m) em funções objetivas que são convexas. Isso torna a otimização dessas funções menos propensas a produzir mínimos locais e, portanto, aumenta a qualidade da combinação. A(s) curva(s) de dois parâmetros pode ser implementada diretamente. A inclusão de duas restrições não só reduz o número de parâmetros e aumenta a qualidade da combinação, mas também conserta dois pontos importantes na curva para valores desejados (por exemplo, os valores de luminância mínimo e máximo). Por exemplo, a palavra código de valor mais baixo (palavra código 0) pode ser fixada em um nível de preto específico, o que significa que a menor luminância representável é garantida de ser como especificado. Em outro exemplo, a palavra código mais alta é associada a um ponto branco especificado, levando assim a uma luminância superior representável garantida.
[0270]Outro exemplo dos presentes conceitos provê a capacidade de otimizar uma curva específica, tal como a curva EOTF BBC/NHK. Por exemplo, a curva otimizada de acordo com os presentes conceitos para a curva EOTF BBC/NHK unicamente permite que uma faixa de entrada entre 0 e 1214 nits seja diretamente quantizada para um sinal de 10 bits, simultaneamente permitindo que a faixa de entrada entre 0 e 10.000 nits seja diretamente quantizada para um sinal de 11 bits, sem exigir outras modificações à curva. Como resultado, a curva pode ser operada em modo de 10 bits com infraestrutura atual que suporta sinais de até 1200 nits. Fundamentalmente, sem alteração adicional, essa curva será adequada para sinais de faixa dinâmica ultra-alta de até 10.000 nits com uma infraestrutura futura que suportará 11 bits. Além disso, um sinal pode ser codificado no modo de 10 bits com uma OETF proposta. Se este sinal for, então, transmitido para um dispositivo de exibição herdado operando com a utilização de uma EOTF de dispositivo de exibição como definido na Rec. ITU-R BT 1886, essa exibição produzirá uma imagem visível. Finalmente, a EOTF proposta pode ser aumentada com um sistema gama para permitir diferenças nas condições de visualização entre o ambiente de visualização doméstico e suíte principal. Sobretudo, o custo computacional para adicionar um sistema gama é nulo.
[0271]Os exemplos descritos acima podem ser implementados nas figuras abaixo.
[0272]A Figura 1 é um diagrama representando um método exemplificativo 100 para codificação de uma imagem usando OETF em um sistema de captura e distribuição. Neste método 100, uma imagem pode ser recebida e codificada em um fluxo de bits usando qualquer técnica de codificação (por exemplo, HEVC, AVC). O método 100 pode ser executado em fluxos de trabalho de distribuição baseados em padrão DVB ou ATSC, fluxos de trabalho de criação e produção, câmeras de vídeo digital.
[0273]Em um exemplo, o método 100 inclui uma imagem no bloco 101. A imagem pode ser uma imagem (retrato) ou retratos ou imagens de vídeo, por exemplo, vídeo HDR. O bloco 101 pode receber informações sobre as propriedades da imagem, incluindo informações RGB de luz linear. A imagem pode ser capturada usando câmeras tricromáticas em valores de cor RGB compostas de três componentes (Vermelho, Verde e Azul). Os valores de cor RGB dependem das características tricromáticas (cores primárias) do sensor. A imagem pode incluir informações sobre a imagem, tais como cores primárias do sensor, pico de luminância mínimo e máximo da cena capturada. O bloco 101 pode, então, passar o controle para o bloco 102, incluindo o fornecimento de qualquer informação sobre a imagem recebida.
[0274]O bloco 102 pode aplicar uma OETF à imagem recebida no bloco 101. O bloco 102 pode aplicar a OETF a um sinal de luminância L da imagem para determinar V(L), em que V(L) pode ser o sinal elétrico resultante ou uma palavra código. Um sinal de luminância L pode ser qualquer tipo descrito aqui de acordo com os presentes conceitos. O sinal V(L) pode ser qualquer tipo descrito aqui de acordo com os presentes conceitos. A OETF pode ser aplicada à luminância de cada pixel da imagem recebida para determinar V(L) para cada pixel da imagem recebida. Por exemplo, o bloco 102 pode aplicar a OETF a um valor RGB inicial de cada pixel da imagem recebida para calcular um novo valor R’G’B para cada pixel da imagem recebida. O resultado pode, então, ser uma imagem R’G’B’ composta de pixels R’G’B’. A imagem R’G’B’ resultante pode, então, ser convertida de uma imagem de R’G’B’ para uma imagem Y’CbCr ao considerar fluxos de trabalho tradicionais de luminância não constante. Um sinal Y’CbCr é dito ser de luminância constante ou luminância não constante dependendo do fluxo de trabalho de luminância usado para derivá-lo. Y’CbCr é sinal de luminância não constante quando é derivado diretamente de R’G’B’ (primárias de luz não linear) e é um sinal de luminância constante quando é derivado de RGB (primárias de luz linear) através de Y e Y’R’B’ para componentes de croma ou crominância. As recomendações ITU anteriores (ITU-R BT.709 para sinais de HDTV analógicos e ITU-R BT.1361 para sinais de HDTV digitais) são limitadas ao fluxo de trabalho de luminância não constante. A nova ITU-R BT.2020 define fluxos de trabalho de luminância para sinais de vídeo de ampla gama de cores. Alternativamente, o bloco 102 pode aplicar a OETF a um valor Y inicial de cada pixel da imagem recebida para calcular um novo valor Y’ para cada pixel da imagem recebida (fluxo de trabalho de luminância constante). O bloco 102 pode, assim, otimizar as informações de captura de luz para a visão humana. O bloco 102 pode passar o controle para o bloco 103.
[0275]O bloco 103 pode codificar o sinal V(L) recebido. Em um exemplo, o bloco 103 pode codificar o sinal V(L) de acordo com qualquer padrão de codificação/decodificação existente. Por exemplo, o bloco 103 pode codificar de acordo com o padrão de Codificação de Vídeo de Alta Eficiência (HEVC) organizado pela International Telecommunication (ITU) e pela organização Moving Picture Experts Group (MPEG). Alternativamente, o bloco 103 pode codificar de acordo com H.264 ou MPEG-4 Parte 10, Codificação Avançada de Vídeo (MPEG-4 AVC) organizada pela International Organization for Standardization/International Electrotechnical Commission (ISO/IEC) Moving Picture Experts Group-4 (MPEG-4). Alternativamente, o bloco 103 pode codificar com quaisquer outras técnicas codificadas conhecidas. O bloco 103 pode então passar o controle para o bloco 104. O bloco 104 pode produzir o fluxo de bits resultante (por exemplo, fluxo de bits HEVC).
[0276]A Figura 2 é um diagrama representando um método exemplificativo 200 para codificação de uma imagem usando uma OETF parametrizada de acordo com os presentes conceitos. Em um exemplo, o método 200 inclui um bloco 201. O bloco 201 pode receber parâmetros para seleção de curva OETF adaptativa. Em um exemplo, o bloco 201 pode receber valores para um ou mais parâmetros que permitem a seleção adaptativa de uma curva OETF que melhor se adeque ao conteúdo que está sendo codificado. Em um exemplo, o bloco 201 pode receber valores para uma pluralidade de parâmetros (por exemplo, parâmetros (s, t, c, m, n) descritos acima). Em outro exemplo, o bloco 201 pode receber uma identificação (por exemplo, um indicador) de um conjunto de parâmetros fixos que correspondem a uma determinada curva OETF que pode ser desejada para codificação do conteúdo atual. Os parâmetros podem ser quaisquer parâmetros discutidos aqui com acordo com os presentes conceitos. O bloco 201 pode, então, passar o controle para o bloco 202.
[0277] O bloco 202 pode modelar uma curva OETF (por exemplo, curva de Barten, OETF ST 2084 de SMPTE, OETF de BBC) com base nos parâmetros recebidos do bloco 201. Por exemplo, o bloco 202 pode modelar uma curva OETF de Barten com base nos parâmetros recebidos. Alternativamente, o bloco 202 pode modelar uma OETF ST 2084 de SMPTE semelhante em desempenho à curva OETF proposta por Dolby. Alternativamente, o bloco 202 pode modelar uma curva OETF semelhante em desempenho à curva OETF proposta por BBC. Alternativamente, o bloco 202 pode modelar uma OETF semelhante a outras propostas futuras ou existentes. O bloco 202 pode receber os parâmetros do bloco 201 e pode produzir uma curva OETF com base nesses parâmetros. Em um exemplo, o bloco 202 pode aplicar os parâmetros a um modelo de OETF genérica (por exemplo, os modelos descritos acima, incluindo as Equações N°. 1, 4, 8-10, 68) para imitar ou modelar o comportamento de qualquer um de uma pluralidade de curvas OETF (por exemplo, propostas de curva OETF padrão ou curvas OETF personalizadas). Dessa forma, dependendo dos parâmetros recebidos, o bloco 202 pode utilizar apenas um modelo de OETF genérica para vantajosamente modelar o comportamento de qualquer curva OETF. Em um exemplo, o bloco 202 pode codificar a curva OETF resultante em uma tabela de pesquisa (LUT). Uma LUT pode ser derivada de valores tabulados da fórmula OETF, então, os valores intermediários requeridos podem ser interpolados se eles não existirem na LUT. A interpolação pode ser linear. Em outro exemplo, a interpolação pode ser não linear. O bloco 202 pode, então, passar o controle para o bloco 204.
[0278]O método 200 pode ainda incluir um bloco 203 que pode receber uma imagem, tal como um quadro de imagem de vídeo, por exemplo, para vídeo HDR. O bloco 203 pode, então, passar o controle para o bloco 204.
[0279]O bloco 204 pode receber a imagem do bloco 203 e a curva OETF modelada (que poderia ser representada por uma LUT, por exemplo) do bloco 204. O bloco 204 pode aplicar a OETF à imagem recebida do bloco 203 para determinar V(L), de acordo com os presentes conceitos, incluindo aqueles descritos em conexão com a Figura 1. V(L) pode ser o sinal elétrico resultante da transformação do sinal de luminância L. V(L) pode ser uma palavra código. V(L) pode ser definido de acordo com os presentes conceitos descritos abaixo. O bloco 204 pode determinar V(L) de acordo com os conceitos discutidos em conexão com a Figura 1. Por exemplo, o bloco 204 pode aplicar a curva OETF modelada no bloco 202, incluindo qualquer equação descrita acima (por exemplo, Equações N°. 1 , 4, 8-10, 68). A curva OETF pode ser representada com base nos parâmetros recebidos como aplicado a qualquer equação descrita acima (por exemplo, Equações N°. 1, 4, 8-10, 68). O bloco 204 pode aplicar uma curva OETF de acordo com os presentes conceitos para determinar um valor RGB/luminância modificado relativo ou absoluto ou uma luminância Y modificada que é uma combinação linear de valores RGB. Em um exemplo, o bloco 204 pode aplicar uma curva OETF usando uma LUT como descrito acima. O bloco 204 pode, então, passar o controle para o bloco 205.
[0280]O bloco 205 pode codificar a V(L) recebida do bloco 204. O bloco 205 pode codificar a V(L) de acordo com os conceitos discutidos em conexão com a Figura 1. O bloco 205 pode, então, passar o controle para o bloco 207.
[0281]O método 200 pode ainda incluir um bloco 206. O bloco 206 pode codificar diretamente parâmetros representativos da curva OETF modelada ou pode codificar um indicador (por exemplo, índice) dos parâmetros. Por exemplo, o bloco 206 pode codificar os valores dos parâmetros recebidos (por exemplo, valores de parâmetro para os parâmetros (s, t, c, m, n)). Alternativamente, o bloco 206 pode codificar um indicador predefinido (por exemplo, em uma mensagem SEI) que corresponde a um conjunto predefinido de valores dos parâmetros recebidos. O bloco 206 pode, então, passar o controle para o bloco 207.
[0282]O bloco 207 pode produzir o fluxo de bits que inclui a imagem de luminância modificada codificada a partir do bloco 205 e a identificação de parâmetros codificados a partir do bloco 206. O bloco 207 pode inserir os parâmetros codificados recebidos do bloco 206 no fluxo de bits. Por exemplo, o bloco 207 pode inserir um indicador codificado em uma estrutura de sintaxe predefinida (por exemplo, em uma mensagem SEI ou em PPS, ou SPS ou VUI...).
[0283]A Figura 3 é um diagrama representando um método exemplificativo 300 para codificação de parâmetros de uma OETF parametrizada de acordo com os presentes conceitos. O método 300 fornece um processo para codificação dos elementos de sintaxe de parâmetro de acordo com os presentes conceitos. O método 300 inclui um bloco 301.
[0284]O bloco 301 pode receber parâmetros identificando uma curva OETF (por exemplo, uma OETF personalizada, uma função de transferência de modulação derivada da Função de Sensibilidade de Contraste de Barten, OETF ST 2084 de SMPTE, OETF de BBC). Os parâmetros podem ser qualquer parâmetro discutido aqui com acordo com os presentes conceitos. O bloco 301 pode receber uma informação do tipo de informação (codificação explícita de parâmetros ou codificação de um indicador representativo de parâmetros fixos) representativa de uma curva modelada para o propósito da presente codificação. O bloco 301 pode, então, passar o controle para o bloco 302.
[0285]O bloco 302 pode, então, determinar como os parâmetros de modelo de OETF são definidos. O bloco 302 pode determinar se os parâmetros (por exemplo, parâmetros (s, t, c, m, n)) são predefinidos para a OETF identificada no bloco 301. Em um exemplo, o bloco 302 pode determinar se a curva OETF identificada tem parâmetros conhecidos (por exemplo, sctmn conhecido) = indicador (significando que os parâmetros são predefinidos) ou o bloco 302 pode determinar se os parâmetros devem ser explicitamente fornecidos (sctmn)). Em um exemplo, o bloco 302 pode determinar se existe um indicador indicando que os parâmetros são predefinidos (por exemplo, os parâmetros são predefinidos para um determinado conjunto de parâmetros) ou se os parâmetros precisam ser explicitamente sinalizados. Se o bloco 302 determinar que os parâmetros são predefinidos, ele pode passar o controle para o bloco 303. Alternativamente, se o bloco 302 determinar que os parâmetros não são predefinidos, ele pode passar o controle para o bloco 305.
[0286]O bloco 303 pode identificar as informações de parâmetro (por exemplo, um indicador) para o modelo de OETF identificado pelo bloco 301. Por exemplo, o bloco 303 pode identificar um indicador correspondendo a parâmetros predefinidos para o modelo de OETF identificado (por exemplo, um indicador indicando parâmetros para modelagem de comportamento da curva de Barten, OETF ST 2084 de SMPTE, OETF de BBC etc.). O bloco 303 pode, assim, codificar a identificação implícita dos parâmetros. O bloco 303 pode passar o controle para o bloco 304.
[0287]O bloco 304 pode codificar as informações de parâmetro no fluxo de bits. Por exemplo, o bloco 304 pode codificar um indicador que identifica os parâmetros predefinidos para um modelo de OETF. O bloco 304 pode passar o controle para o bloco 308.
[0288]O bloco 305 pode determinar os parâmetros para a curva OETF identificada. Por exemplo, o bloco 305 pode identificar os parâmetros para as Equações N° 1, 4, 8-10, 68 acima (por exemplo, parâmetros (s, t, c, m, n)). O bloco 305 pode passar o controle para o bloco 306.
[0289]O bloco 306 pode quantizar os parâmetros determinados pelo bloco 305. O bloco 306 pode quantizar os parâmetros porque os valores de parâmetro derivados das equações podem ser ponto flutuante. Neste caso, os valores devem ser quantizados para serem transportados em um fluxo de bits que pode tolerar apenas valores inteiros (por exemplo, AVC, HEVC) para alavancar a arquitetura de processamento de decodificador. O bloco 306 pode então passar o controle para o bloco 307.
[0290]O bloco 307 pode codificar os parâmetros determinados. Por exemplo, o bloco 307 pode codificar os valores dos parâmetros explicitamente determinados. Alternativamente, o bloco 307 pode codificar um indicador que identifica os parâmetros determinados para o modelo de OETF.
[0291]O bloco 308 pode inserir os dados codificados no fluxo de bits. Em um exemplo, o bloco 308 pode preencher o formato de metadados (por exemplo, parâmetro SEI) com os parâmetros codificados recebidos do bloco 304 ou 307.
[0292]A Figura 4 é um diagrama representando um método exemplificativo 400 para decodificação de uma imagem codificada usando EOTF ou OETF inversa, por exemplo, em um sistema de distribuição e renderização. Neste método 400, um fluxo de bits codificado pode ser recebido e decodificado usando qualquer técnica de decodificação (por exemplo, HEVC, AVC). O método 400 pode ser executado por um dispositivo móvel; um dispositivo de comunicação; um dispositivo de jogo; um tablet (ou computador do tipo tablet); um laptop; um visor; uma câmera de imagem estática; uma câmera de vídeo; um chip de decodificação; um servidor de imagens estáticas; um leitor de Blu-ray; e um servidor de vídeo (por exemplo, um servidor de transmissão, um servidor de vídeo sob demanda ou um servidor web). O método 400 pode também ser realizado em qualquer outro dispositivo ou sistema do tipo.
[0293]O método 400 inclui um bloco 401. O bloco 401 pode receber um fluxo de bits correspondente a uma sequência de vídeo de imagens codificadas ou uma imagem codificada. O fluxo de bits pode ser codificado (por exemplo, usando codificação com base em AVC, HEVC etc.). Em um exemplo, a imagem codificada pode ser uma imagem comprimida que tenha sido codificada (por exemplo, usando codificadores JPEG, AVC, HEVC). Em outro exemplo, a imagem codificada pode ser digitalizada ou quantizada sem compressão e o bloco 401 pode passar o controle para o bloco 403. O bloco 401 pode, então, passar o controle para o bloco 402.
[0294]O bloco 402 pode decodificar o fluxo de bits recebido do bloco 401. Em um exemplo, o bloco 402 pode decodificar o fluxo de bits usando decodificação com base em HEVC. Em um exemplo, o bloco 402 pode decodificar uma imagem codificada. Em um exemplo, o bloco 402 pode decodificar uma imagem Y’CbCr. O bloco 402 pode, então, derivar uma imagem R1’G1’B1’ da imagem Y’CbCr. Em outro exemplo, o bloco 402 pode decodificar uma imagem R1’G1’B1’. O bloco 402 pode, então, passar o controle para o bloco 403.
[0295]O bloco 403 pode, então, aplicar uma primeira EOTF (EOTF1) ou uma primeira OETF inversa (OETF1) ao sinal V(L) representando uma imagem decodificada a partir do fluxo de bits no bloco 402. V(L) pode ser definida de acordo com os presentes conceitos descritos abaixo. Em um exemplo, EOTF1 ou OETF1 inversa pode ser aplicada a cada pixel. Em um exemplo, a EOTF1 ou OETF1 inversa pode ser aplicada ao valor Y’ de cada pixel. Em um exemplo, a EOTF1 ou OETF1 inversa pode ser aplicada ao R1’G1’B1’ de cada pixel. A imagem resultante pode ser conhecida como uma primeira imagem de luminância linearizada (por exemplo, imagem R1G1B1 ou imagem YR1B1). Em um exemplo, a EOTF1 ou OETF1 inversa pode ser executada criando uma Tabela de Pesquisa (LUT) com valores tabulados (por exemplo, com base nas Equações N° 2, 3, 5, 6 ou 69) e, então, aplicando a LUT no conteúdo a ser mapeado/mapeado.
[0296]O bloco 403 pode, então, passar o controle para o bloco opcional 404. O bloco opcional 404 pode, opcionalmente, ser realizado na primeira imagem de luminância linearizada recebida do bloco 403. O bloco 404 pode converter a primeira imagem de luminância linearizada 1 em uma imagem 2. Em um exemplo, o bloco 404 pode converter uma imagem R1G1B1 em uma imagem R2G2B2. A imagem 2 pode ser representada em um espaço de cor determinado pelas cores primárias do renderizador (por exemplo, SMPTE RP 177 descreve como calcular esta conversão com primárias do renderizador e os resultados são apresentados em BT.709, BT.2020 etc.). O bloco 404 pode, então, aplicar uma OETF2 ou uma EOTF2 inversa à imagem 2. O resultado pode ser uma imagem renderizada 2 que é consistente com as capacidades do renderizador. O bloco 404 pode, então, passar o controle para o bloco 405.
[0297]O bloco 405 pode produzir a imagem renderizada 2 a partir do bloco 404, se o bloco 404 for realizado ou a imagem de luminância linearizada a partir do bloco 403 se o bloco 404 não for realizado. Em um exemplo, o bloco 405 pode produzir uma imagem em um canal de processamento de imagem que exibe a imagem e/ou vídeo contendo a imagem.
[0298]A Figura 5 é um diagrama representando um método exemplificativo 500 para descodificação de parâmetros de uma EOTF parametrizada ou OETF parametrizada inversa de acordo com os presentes conceitos. O método 500 fornece um processo para decodificação dos elementos de sintaxe de parâmetro de acordo com os presentes conceitos. Os parâmetros podem ser quaisquer parâmetros discutidos aqui com acordo com os presentes conceitos. O método 500 inclui um bloco 501.
[0299]O bloco 501 pode receber um fluxo de bits correspondente a uma sequência de vídeo. O fluxo de bits recebido é codificado (por exemplo, usando codificação AVC, HEVC etc.). O bloco 502 pode, então, passar o controle para o bloco 502.
[0300]O bloco 502 pode analisar e decodificar o fluxo de bits recebido do bloco 501. Em um exemplo, o bloco 502 pode analisar e decodificar o fluxo de bits usando decodificação baseada em HEVC. O bloco 502 pode, então, passar o controle para os blocos 503 e 504.
[0301]O bloco 503 pode determinar a EOTF ou OETF inversa do fluxo de bits decodificado no bloco 502. Em um exemplo, os parâmetros (s, t, c, m, n) são determinados com base na sintaxe contida no fluxo de bits (por exemplo, uma mensagem SEI). O bloco 503 pode, então, passar o controle para o bloco 505.
[0302]O bloco 504 pode processar o sinal de vídeo decodificado no bloco 502. Em um exemplo, o bloco 504 pode processar um sinal de vídeo Y’CbCr decodificado. Em um exemplo, o bloco 504 pode converter um sinal de vídeo Y’CbCr em um sinal de vídeo R’G’B’. Em outro exemplo, o bloco 504 pode processar um sinal de vídeo R’G’B’. O bloco 504 pode, então, passar o controle para o bloco 505.
[0303]O bloco 505 pode, então, aplicar uma EOTF ou OETF inversa à V(L) do sinal de vídeo do bloco 504 com base nos parâmetros recebidos do bloco 503. A V(L) pode ser definida de acordo com os presentes conceitos descritos anteriormente. Em um exemplo, o bloco 505 pode converter o sinal de vídeo de R’G’B’ para RGB de luz linear. Em um exemplo, o bloco 505 pode aplicar uma EOTF ou uma EOTF inversa com base nas Equações N°s. 2, 3, 5, 6 ou 69. Em um exemplo, o bloco 505 pode criar uma Tabela de Pesquisa (LUT) com valores tabulados (por exemplo, com base nas Equações N°. 2, 3, 5, 6 ou 69) e, então, aplicar a LUT no conteúdo a ser mapeado/desmapeado.
[0304]A Figura 6 é um diagrama representando um esquema exemplificativo 600 de codificação de uma imagem usando uma OETF parametrizada de acordo com os presentes conceitos. A Figura 6 inclui um bloco 601 que fornece uma imagem. Em um exemplo, a imagem pode ser uma imagem de luz linear RGB. Em outro exemplo, a imagem pode ser uma imagem YRB. O bloco 602 fornece parâmetros (por exemplo, (s, t, c, n, m)) para uma OETF parametrizada de acordo com os presentes conceitos. O bloco 602 pode gerar uma OETF parametrizada. O bloco 603 pode aplicar uma OETF parametrizada com base nos parâmetros do bloco 602 à imagem recebida do bloco 601 de acordo com os presentes conceitos descritos acima, inclusive em conexão com as Figuras 1-3. Em um exemplo, o resultado do bloco 603 pode ser um sinal elétrico de V(L) resultante no bloco 604. Em um exemplo, V(L) pode ser uma imagem R’G’B’. Em outro exemplo, V(L) pode ser uma imagem Y’CbCr. O Esquema 600 pode incluir um conversor opcional 605 que pode converter uma imagem R’G’B’ em imagem Y’CbCr. A saída do conversor 605 pode ser fornecida a um codificador de vídeo 606 (por exemplo, um codificador HEVC). O codificador 606 pode codificar a imagem e produzir um fluxo de bits no bloco 607.
[0305]A Figura 7 é um diagrama representando um esquema exemplificativo 700 de decodificação de uma imagem codificada usando uma EOTF parametrizada ou OETF inversa de acordo com os presentes conceitos. A Figura 7 inclui um decodificador 701 que pode decodificar e emitir, no bloco 702, parâmetros para uma EOTF parametrizada (ou OETF inversa) de acordo com os presentes conceitos. O decodificador 701 pode ainda decodificar e emitir, no bloco 703, uma imagem decodificada. Em um exemplo, a imagem pode ser uma imagem Y’CbCr. Em outro exemplo, a imagem pode ser uma imagem R’G’B’. Um conversor opcional 704 pode converter uma imagem Y’CbCr em uma imagem R’G’B’ e emitir a imagem R’G’B’ no bloco 705. O bloco 706 pode aplicar uma EOTF parametrizada (ou OETF inversa) à imagem do bloco 705 com base nos parâmetros recebidos do bloco 702 de acordo com os presentes conceitos descritos acima, inclusive em conexão com as Figuras 1-3. O bloco 706 pode produzir a imagem linearizada resultante no bloco 707. Em um exemplo, a imagem de luz linearizada pode ser uma imagem RGB de luz linear. Em outro exemplo, a imagem de luz linearizada pode ser uma imagem YRB de luz linear.
[0306]A Figura 8 representa uma arquitetura exemplificativa de um dispositivo 800 que pode ser configurado para implementar métodos descritos em relação às Figuras 1-7. Em um exemplo, a Figura 8 representa um aparelho que pode ser configurado para implementar o método de codificação de acordo com os presentes conceitos, incluindo aqueles descritos em relação às Figuras 1-3 e 6. Em um exemplo, a Figura 8 representa um aparelho que pode ser configurado para implementar o método de decodificação de acordo com os presentes conceitos, incluindo aqueles descritos em relação às Figuras 4-5 e 7.
[0307]O dispositivo 800 compreende os seguintes elementos, que são conectados por um barramento de endereço e dados 801: - um microprocessador 802 (ou CPU), que é, por exemplo, um DSP (ou Processador de Sinal Digital); - uma ROM (ou Memória Somente de Leitura) 803; - uma RAM (ou Memória de Acesso Aleatório) 804; - uma interface I/O 805 para transmissão e/ou recepção de dados, por exemplo, de um dispositivo de interface de usuário; - uma bateria 806 (ou outra fonte de energia adequada); e - um visor 807.
[0308]De acordo com uma variante, a bateria 806 é externa ao dispositivo. Em cada uma das memórias mencionadas, a palavra « registro » usada na especificação pode corresponder a uma área de pequena capacidade (alguns bits) ou a uma área muito grande (por exemplo, um programa completo ou grande quantidade de dados recebidos ou decodificados). A ROM 803 compreende pelo menos um programa e parâmetros. O algoritmo dos métodos de acordo com a invenção é armazenado na ROM 803. Quando comutada, a CPU 62 carrega o programa na RAM e executa as instruções correspondentes.
[0309]A RAM 804 compreende, em um registro, o programa executado pela CPU 62 e carregado após comutação do dispositivo 800, dados de entrada em um registro, dados intermediários em diferentes estados do método em um registro, e outras variáveis usadas para a execução do método em um registro.
[0310]As implementações aqui descritas podem ser implementadas, por exemplo, em um método ou um processo, um aparelho, um programa de software, um fluxo de dados ou um sinal. Mesmo que seja discutida apenas no contexto de um único formulário de implementação (por exemplo, discutida apenas como um método ou um dispositivo), a implementação de características discutidas também pode ser realizada de outras formas (por exemplo, um programa). Um aparelho pode ser implementado, por exemplo, em hardware, software e firmware apropriado. Os métodos podem ser implementados, por exemplo, em um aparelho, tal como, por exemplo, um processador, que se refere a dispositivos de processamento em geral, incluindo, por exemplo, um computador, um microprocessador, um circuito integrado ou um dispositivo lógico programável. Os processadores também incluem dispositivos de comunicação, tais como, por exemplo, computadores, telefones celulares, assistentes digitais portáteis/pessoais (“PDAs”) e outros dispositivos que facilitam a comunicação de informações entre usuários finais.
[0311]De acordo com uma modalidade específica de codificação ou codificador, uma imagem ou figura I é obtida de uma fonte. Por exemplo, a fonte pertence a um conjunto compreendendo: - uma memória local (803 ou 804), por exemplo, uma memória de vídeo ou uma RAM (ou Memória de Acesso Aleatório), uma memória flash, uma ROM (ou Memória Somente de Leitura), um disco rígido; - uma interface de armazenamento (805), por exemplo, uma interface com um armazenamento em massa, uma RAM, uma memória flash, uma ROM, um disco óptico ou um suporte magnético; - uma interface de comunicação (805), por exemplo, uma interface de rede fixa (por exemplo, uma interface de barramento, uma interface de rede de área ampla, uma interface de rede de área local) ou uma interface sem fio (tal como uma interface IEEE 802.11 ou uma interface Bluetooth®); e - um circuito de captura de imagem (por exemplo, um sensor, tal como, por exemplo, um CCD (ou Dispositivo de Carga Acoplada) ou CMOS (ou Semicondutor de Óxido Metálico Complementar)).
[0312]De acordo com diferentes modalidades da decodificação ou decodificador, a imagem decodificada I é enviada para um destino; especificamente, o destino pertence a um conjunto compreendendo: - uma memória local (803 ou 804), por exemplo, uma memória de vídeo ou uma RAM, uma memória flash, um disco rígido; - uma interface de armazenamento (805), por exemplo, uma interface com um armazenamento em massa, uma RAM, uma memória flash, uma ROM, um disco óptico ou um suporte magnético; - uma interface de comunicação (805), por exemplo, uma interface de rede fixa (por exemplo, uma interface de barramento (por exemplo, USB (Barramento Serial Universal)), uma interface de rede de área ampla, uma interface de rede de área local, uma interface HDMI (Interface Multimídia de Alta Definição)) ou uma interface sem fio (tal como uma interface IEEE 802.11 ou uma interface Bluetooth®); e - um visor (807).
[0313]De acordo com diferentes modalidades de codificação ou codificador, o fluxo de bits BF e/ou F é enviado para um destino. Como um exemplo, um fluxo de bits F e BF ou ambos os fluxos de bits F e BF são armazenados em uma memória local ou remota, por exemplo, uma memória de vídeo (804) ou uma RAM (804), um disco rígido (803). Em uma variante, um ou ambos os fluxos de bits são enviados para uma interface de armazenamento (805), por exemplo, uma interface com um armazenamento em massa, uma memória flash, ROM, um disco óptico ou um suporte magnético e/ou transmitidos em uma interface de comunicação (805), por exemplo, uma interface para um link ponto a ponto, um barramento de comunicação, um ponto para link multiponto ou uma rede de transmissão.
[0314]De acordo com diferentes modalidades de decodificação ou decodificador, o fluxo de bits BF e/ou F é obtido de uma fonte. De forma exemplar, o fluxo de bits é lido de uma memória local, por exemplo, uma memória de vídeo (804), uma RAM (804), uma ROM (803), uma memória flash (803) ou um disco rígido (803). Em uma variante, o fluxo de bits é recebido de uma interface de armazenamento, por exemplo, uma interface com um armazenamento em massa, uma RAM, uma ROM, uma memória flash, um disco óptico ou um suporte magnético e/ou recebido de uma interface de comunicação (805), por exemplo, uma interface para um link ponto a ponto, um barramento, um ponto para link multiponto ou uma rede de transmissão.
[0315]De acordo com diferentes modalidades, o dispositivo 800 sendo configurado para implementar um método de codificação de acordo com os presentes conceitos, pertence a um conjunto compreendendo: - um dispositivo móvel; - um dispositivo de comunicação; - um dispositivo de jogos; - um tablet (ou computador tablet); - um laptop; - uma câmera de imagem estática; - uma câmera de vídeo; - um chip de codificação; - um servidor de imagem estática; e - um servidor de vídeo (por exemplo, um servidor de transmissão, um servidor de vídeo sob demanda ou um servidor web).
[0316]De acordo com diferentes modalidades, o dispositivo 800 sendo configurado para implementar um método de decodificação de acordo com os presentes conceitos, pertence a um conjunto compreendendo: - um dispositivo móvel; - um dispositivo de comunicação; - um dispositivo de jogos; - uma conjunto top box; - um aparelho de TV; - um tablet (ou computador tablet); - um laptop; - um visor; e - um chip de decodificação.
[0317]A Figura 9 ilustra um exemplo de um gráfico demonstrando resultados de desempenho da OETF parametrizada de acordo com os presentes conceitos (TCH rotulado) em relação a outras OETFs existentes. O gráfico pode ser determinado com base na Equação 1. O eixo X refere-se aos valores de luminância da imagem normalizados. O eixo Y refere-se aos valores de palavra código normalizados do fluxo de bits.
[0318]A Figura 10A ilustra um exemplo de um gráfico demonstrando o desempenho dos resultados da OETF parametrizada de acordo com os presentes conceitos (TCH rotulado) em relação à curva OETF ST 2084 de SMPTE. O gráfico pode ser determinado com base na Equação 1 acima. O eixo X refere-se à luminância normalizada da imagem. O eixo Y refere-se aos valores de palavra código normalizados do fluxo de bits.
[0319]A Figura 10B ilustra um exemplo de um gráfico demonstrando o desempenho dos resultados da OETF parametrizada de acordo com os presentes conceitos (TCH rotulado) em relação à curva MTF de Barten. O gráfico pode ser determinado com base na Equação 1 acima. O eixo X refere-se à luminância normalizada da imagem. O eixo Y refere-se aos valores de palavra código normalizados do fluxo de bits. A Figura 10B ainda inclui uma tabela de pesquisa para os parâmetros.
[0320]A Figura 10C ilustra um exemplo de um gráfico demonstrando o desempenho dos resultados da OETF parametrizada de acordo com os presentes conceitos (TCH rotulado) em relação à curva OETF de BBC. O gráfico pode ser determinado com base na Equação 1 acima. O eixo X refere-se à luminância normalizada da imagem. O eixo Y refere-se aos valores de palavra código normalizados do fluxo de bits. A Figura 10C inclui uma tabela de pesquisa para os parâmetros.
[0321]As Figuras 10A, 10B e 10C mostram adicionalmente os valores dos parâmetros s, t, c, n e m que foram utilizados para gerar o TCH rotulado das curvas. Além disso, essas figuras mostram aproximações desses valores de parâmetro como razões de números inteiros.
[0322]A Figura 11A ilustra um exemplo de um gráfico demonstrando o desempenho dos resultados da EOTF parametrizada (ou OETF inversa) de acordo com os presentes conceitos (TCH rotulado) em relação à curva OETF ST 2084 de SMPTE. O gráfico pode ser determinado com base na Equação 2 acima. O eixo X refere-se aos valores normalizados de palavra código do fluxo de bits. O eixo Y refere-se à luminância normalizada da imagem.
[0323]A Figura 11B ilustra um exemplo de um gráfico demonstrando o desempenho dos resultados da EOTF parametrizada (ou OETF inversa) de acordo com os presentes conceitos (TCH rotulado) em relação à curva MTF de Barten. O gráfico pode ser determinado com base na Equação 2 acima. O eixo X refere-se aos valores normalizados de palavra código do fluxo de bits. O eixo Y refere-se à luminância normalizada da imagem.
[0324]A Figura 11C ilustra um exemplo de um gráfico demonstrando o desempenho dos resultados da EOTF parametrizada (ou OETF inversa) de acordo com os presentes conceitos (TCH rotulado) em relação à curva OETF de BBC. O gráfico pode ser determinado com base na Equação 2 acima. O eixo X refere-se aos valores normalizados de palavra código do fluxo de bits. O eixo Y refere-se à luminância normalizada da imagem.
[0325]As Figuras 11A, 11B e 11C mostram adicionalmente os valores de parâmetros , , :, •-, que foram usados para gerar o TCH rotulado das curvas. Além disso, essas figuras mostram aproximações desses valores de parâmetro como razões de números inteiros.
[0326]A Figura 12A ilustra um exemplo de um gráfico demonstrando o desempenho dos resultados da OETF parametrizada de acordo com os presentes conceitos (TCH rotulado) em relação à curva OETF ST 2084 de SMPTE. O gráfico pode ser determinado com base na Equação 4 acima baseado em quatro parâmetros. O eixo X refere-se à luminância normalizada da imagem. O eixo Y refere-se aos valores de palavra código normalizados do fluxo de bits.
[0327]A Figura 12B ilustra um exemplo de um gráfico demonstrando o desempenho dos resultados da OETF parametrizada de acordo com os presentes conceitos (TCH rotulado) em relação à curva MTF de Barten. O gráfico pode ser determinado com base na Equação 4 acima baseado em quatro parâmetros. O eixo X refere-se à luminância normalizada da imagem. O eixo Y refere-se aos valores de palavra código normalizados do fluxo de bits.
[0328]A Figura 12C ilustra um exemplo de um gráfico demonstrando o desempenho dos resultados da OETF parametrizada de acordo com os presentes conceitos (TCH rotulado) em relação à curva OETF de BBC. O gráfico pode ser determinado com base na Equação 4 acima baseado em quatro parâmetros. O eixo X refere-se à luminância normalizada da imagem. O eixo Y refere-se aos valores de palavra código normalizados do fluxo de bits.
[0329]As Figuras 12A, 12B e 12C mostram adicionalmente os valores de parâmetros s, t, c, n e m que foram utilizados para gerar o TCH rotulado das curvas. Além disso, essas figuras mostram aproximações desses valores de parâmetro como razões de números inteiros.
[0330]A Figura 13A ilustra um exemplo de um gráfico demonstrando o desempenho dos resultados da EOTF parametrizada (ou OETF inversa) de acordo com os presentes conceitos (TCH rotulado) em relação à curva OETF ST 2084 de SMPTE. O gráfico pode ser determinado com base na Equação 6 acima baseado em quatro parâmetros. O eixo X refere-se aos valores de palavra código normalizados do fluxo de bits. O eixo Y refere-se à luminância normalizada da imagem.
[0331]A Figura 13B ilustra um exemplo de um gráfico demonstrando o desempenho dos resultados da EOTF parametrizada (ou OETF inversa) de acordo com os presentes conceitos (TCH rotulado) em relação à curva MTF de Barten. O gráfico pode ser determinado com base na Equação 6 acima com base em quatro parâmetros. O eixo X refere-se aos valores de palavra código normalizados do fluxo de bits. O eixo Y refere-se à luminância normalizada da imagem.
[0332]A Figura 13C ilustra um exemplo de um gráfico demonstrando o desempenho dos resultados da EOTF parametrizada (ou OETF inversa) de acordo com os presentes conceitos (TCH rotulado) em relação à curva OETF de BBC. O gráfico pode ser determinado com base na Equação 6 acima baseado em quatro parâmetros. O eixo X refere-se aos valores de palavra código normalizados do fluxo de bits. O eixo Y refere-se à luminância normalizada da imagem.
[0333]As Figuras 13A, 13B e 13C mostram adicionalmente os valores de parâmetros , , :, •-, que foram usados para gerar o TCH rotulado das curvas. Além disso, essas figuras mostram aproximações desses valores de parâmetro como razões de números inteiros.
[0334]As implementações dos vários processos e recursos descritos aqui podem ser incorporadas em uma variedade de diferentes equipamentos ou aplicações. Exemplos de tais equipamentos incluem um codificador, um decodificador, um pós-processador para processar a saída de um decodificador, um pré-processador fornecendo entrada para um codificador, um codificador de vídeo, um decodificador de vídeo, um codec de vídeo, um servidor web, uma set top box, um laptop, um computador pessoal, um telefone celular, um PDA e outros dispositivos de comunicação. Como deve ser entendido, o equipamento pode ser móvel e até instalado em um veículo móvel.
[0335]Além disso, os métodos podem ser implementados por instruções sendo realizadas por um processador, e tais instruções (e/ou valores de dados produzidos por uma implementação) podem ser armazenadas em um meio legível por processador, por exemplo, um circuito integrado, um portador de software ou outro dispositivo de armazenamento, tal como, por exemplo, um disco rígido, um disco compacto (“CD”), um disco óptico (tal como, por exemplo, um DVD, geralmente referido como um disco versátil digital ou um disco de vídeo digital), uma memória de acesso aleatório (“RAM”), ou uma memória somente de leitura (“ROM”). As instruções podem formar um programa de aplicativo tangivelmente incorporado em um meio legível por processador. As instruções podem ser, por exemplo, em hardware, firmware, software ou uma combinação. As instruções podem ser encontradas, por exemplo, em um sistema operacional, um aplicativo separado ou uma combinação dos dois. Um processador pode ser caracterizado, portanto, como, por exemplo, um dispositivo configurado para realizar um processo e um dispositivo que inclui um meio legível por processador (tal como um dispositivo de armazenamento) tendo instruções para executar um processo. Além disso, um meio legível por processador pode armazenar, além ou em vez de instruções, os valores de dados produzidos por uma implementação.
[0336]Como será evidente para uma pessoa versada na técnica, as implementações podem produzir uma variedade de sinais formatados para transportar informações que podem ser, por exemplo, armazenadas ou transmitidas. As informações podem incluir, por exemplo, instruções para realizar um método, ou dados produzidos por uma das implementações descritas. Por exemplo, um sinal pode ser formatado para transportar como dados as regras para gravação ou leitura da sintaxe de um exemplo descrito, ou para transportar como dados os valores de sintaxe reais gravados por um exemplo descrito. Esse sinal pode ser formatado, por exemplo, como uma onda eletromagnética (por exemplo, usando uma porção de radiofrequência de espectro) como um sinal de banda de base. A formatação pode incluir, por exemplo, codificar um fluxo de dados e modular um transportador com o fluxo de dados codificado. As informações que o sinal transporta podem ser, por exemplo, informações analógicas ou digitais. O sinal pode ser transmitido através de uma variedade de diferentes links sem fio ou a cabo, como é conhecido. O sinal pode ser armazenado em um meio legível por processador.
[0337]Várias implementações foram descritas. No entanto, será compreendido que várias modificações podem ser feitas. Por exemplo, os elementos de diferentes implementações podem ser combinados, complementados, modificados ou removidos para produzir outras implementações. Além disso, uma pessoa ordinariamente versada na técnica entenderá que outras estruturas e processos podem ser substituídos pelos divulgados e que as implementações resultantes executarão pelo menos substancialmente a(s) mesma(s) função(ões), pelo menos substancialmente da(s) mesma(s) forma(s), para alcançar pelo menos substancialmente o(s) mesmo(s) resultado(s) que as implementações divulgadas. Consequentemente, essas outras implementações são contempladas por este pedido.
[0338]Vários detalhes específicos foram estabelecidos aqui para prover uma compreensão completa da presente invenção. Será entendido pelos versados na técnica, no entanto, que os exemplos acima podem ser praticados sem esses detalhes específicos. Em outros casos, operações, componentes e circuitos bem conhecidos não foram descritos em detalhes para não obscurecer a presente invenção. Pode ser apreciado que os detalhes estruturais e funcionais específicos aqui divulgados podem ser representativos e não limitam necessariamente o escopo da presente invenção.
[0339]Vários exemplos da presente invenção podem ser implementados usando elementos de hardware, elementos de software ou uma combinação de ambos. Alguns exemplos podem ser implementados, por exemplo, usando um meio ou um artigo legível por computador que pode armazenar uma instrução ou um conjunto de instruções que, se executadas por uma máquina, podem fazer a máquina executar um método e/ou operações de acordo com os exemplos. Essa máquina pode incluir, por exemplo, qualquer plataforma de processamento, plataforma de computação, dispositivo de computação, dispositivo de processamento, sistema de computação, sistema de processamento, computador, processador adequado, ou semelhantes, e pode ser implementada usando qualquer combinação adequada de hardware e/ou software. O artigo ou meio legível por computador pode ser, por exemplo, qualquer tipo de unidade de memória, dispositivo de memória, artigo de memória, meio de memória, dispositivo de armazenamento, artigo de armazenamento, meio de armazenamento e/ou unidade de armazenamento. As instruções podem incluir qualquer tipo de código apropriado, tal como código-fonte, código compilado, código interpretado, código executável, código estático, código dinâmico, código criptografado, e semelhantes, implementado usando qualquer linguagem de programação interpretada e/ou compilada, visual, orientada por objeto, de nível baixo, de nível alto adequada.
[0340]As implementações aqui descritas podem ser implementadas, por exemplo, em um método ou um processo, um aparelho, um programa de software, um fluxo de dados ou um sinal. Mesmo que seja discutida apenas no contexto de um único formulário de implementação (por exemplo, discutida apenas como um método ou um dispositivo), a implementação de características discutidas também pode ser implementada de outras formas (por exemplo, um programa). Um aparelho pode ser implementado, por exemplo, em hardware, software e firmware apropriado. Os métodos podem ser implementados, por exemplo, em um aparelho, tal como, por exemplo, um processador, que se refere a dispositivos de processamento em geral, incluindo, por exemplo, um computador, um microprocessador, um circuito integrado ou um dispositivo lógico programável. Os processadores também incluem dispositivos de comunicação, tais como, por exemplo, computadores, telefones celulares, assistentes digitais portáteis/pessoais (“PDAs”) e outros dispositivos que facilitam a comunicação de informações entre usuários finais.
[0341]Além disso, este pedido ou suas reivindicações podem se referir a “determinação” de várias partes de informações. Determinar as informações pode incluir um ou mais de, por exemplo, estimar as informações, calcular as informações, prever as informações ou recuperar as informações da memória.
[0342]Além disso, este pedido ou suas reivindicações podem se referir a “acessar” várias partes de informações. Acessar as informações pode incluir um ou mais de, por exemplo, receber as informações, recuperar as informações (por exemplo, da memória), armazenar as informações, processar as informações, transmitir as informações, mover as informações, copiar as informações, apagar as informações, calcular as informações, determinar as informações, prever as informações ou estimar as informações.
[0343]Além disso, este pedido ou suas reivindicações podem se referir a “receber” várias partes de informações. Receber é, como “acessar”, destinado a ser um termo amplo. Receber as informações pode incluir um ou mais de, por exemplo, acessar as informações ou recuperar as informações (por exemplo, da memória). Além disso, “receber” está tipicamente envolvido, de uma maneira ou outra, durante as operações, por exemplo, em armazenar as informações, processar as informações, transmitir as informações, mover as informações, copiar as informações, apagar as informações, calcular as informações, determinar as informações, prever as informações ou estimar as informações.
[0344]De acordo com diferentes modalidades, a função de transferência parametrizada é sinalizada na imagem codificada ou decodificada de acordo com a invenção, ou em um fluxo incluindo a imagem. Em algumas modalidades, uma informação representativa da função de transferência parametrizada é sinalizada na imagem ou no fluxo incluindo a imagem. Essa informação é usada por um método de decodificação ou decodificador para identificar a função de transferência parametrizada que é aplicada de acordo com a invenção. Em uma modalidade, essa informação inclui um identificador que é conhecido no lado de codificação e decodificação. De acordo com outras modalidades, essa informação inclui parâmetros usados como uma base para funções de transferência parametrizadas. De acordo com uma variante da invenção, essa informação compreende um indicador dos parâmetros na imagem ou em um fluxo de bits incluindo a imagem, com base em um conjunto de valores definidos. De acordo com uma variante da invenção, essa informação compreende uma indicação com base em se os parâmetros são sinalizados explicitamente ou se os parâmetros são sinalizados implicitamente com base em um conjunto de valores definidos. De acordo com diferentes variantes da invenção, essa informação é incluída em pelo menos um elemento de sintaxe incluído em pelo menos um de um Conjunto de Parâmetros de Imagem (PPS), um Conjunto de Parâmetros de Sequência (SPS), uma mensagem de Informação Suplementar de Enriquecimento (SEI), uma Informação de Usabilidade de Vídeo (VUI), mensagem da Associação Eletrônica de Consumo (CEA) e um cabeçalho.
[0345]De acordo com diferentes modalidades da invenção, codificar a V(L) resultante inclui comprimir a V(L) com um codificador de imagem ou vídeo, usando, por exemplo, padrões de compressão JPEG, AVC ou HEVC. A decodificação inclui compressão reversa correspondente para a imagem recebida antes de aplicar uma função de transferência parametrizada.
[0346]De acordo com diferentes modalidades da invenção, codificar a V(L) resultante inclui digitalizar ou quantizar a V(L) resultante. A decodificação inclui compressão reversa correspondente para a imagem recebida antes de aplicar uma função de transferência parametrizada.
[0347]A invenção também se refere a um aparelho para codificação e para decodificação adaptado para realizar respectivamente os métodos de codificação e decodificação acima.
Claims (12)
1. Método para codificação de uma imagem, CARACTERIZADO pelo fato de que compreende: receber uma imagem; aplicar uma função de transferência parametrizada (102, 204, 603) a uma luminância L de pixels da imagem para determinar uma luminância transformada resultante V(L); codificar a luminância transformada resultante V(L) em um fluxo de bits; em que a função de transferência parametrizada é igual à: e é ajustada com base nos parâmetros a, b, s, n, c, t e m para modelar a função de transferência parametrizada e em que o método compreende ainda codificar um marcador no referido fluxo de bits para sinalizar se os referidos parâmetros s, n, c, t e m são explicitamente codificados no referido fluxo de bits ou se os parâmetros s, n, c, t e m são derivados de um valor de índice codificado no referido fluxo de bits e corresponde a um conjunto de valores predefinidos de parâmetros, e em que a=1 e b=0 ou em que a e b são determinados de modo que o menor valor de V seja mapeado para um valor de saída mínimo desejado de L e o maior valor de V seja mapeado para um valor de saída máximo desejado de L.
2. Método, de acordo com a reivindicação 1, CARACTERIZADO pelo fato de que ainda compreende mapeamento de tons da luminância (L).
3. Método, de acordo com a reivindicação 1 ou 2, CARACTERIZADO pelo fato de que a função parametrizada tem um comportamento de ponta a ponta não linear.
4. Método, de acordo com qualquer uma das reivindicações 1 a 3, CARACTERIZADO pelo fato de que ainda compreende codificar os parâmetros e sinalizar os parâmetros codificados em um fluxo de bits.
5. Método, de acordo com a reivindicação 4, CARACTERIZADO pelo fato de que a sinalização é realizada usando pelo menos um elemento de sintaxe incluído em pelo menos um dentre um Conjunto de Parâmetros de Imagem (PPS), um Conjunto de Parâmetros de Sequência (SPS), uma mensagem de Informação Suplementar de Enriquecimento (SEI), uma Informação de Usabilidade de Vídeo (VUI), Mensagem da Associação Eletrônica de Consumo (CEA), e um cabeçalho.
6. Aparelho para codificação de pelo menos uma imagem, CARACTERIZADO pelo fato de que compreende: um codificador (600, 800) configurado para aplicar uma função de transferência parametrizada a uma luminância L de pixels da imagem para determinar uma luminância transformada resultante V(L) e para codificar a luminância transformada resultante V(L) em um fluxo de bits; em que a função de transferência parametrizada é igual à: e é ajustada com base nos parâmetros a, b, s, n, c, t e m para modelar a função de transferência parametrizada e em que o método compreende ainda codificar um marcador no referido fluxo de bits para sinalizar se os referidos parâmetros s, n, c, t e m são explicitamente codificados no referido fluxo de bits ou se os parâmetros s, n, c, t e m são derivados de um valor de índice codificado no referido fluxo de bits e corresponde a um conjunto de valores predefinidos de parâmetros, e em que a=1 e b=0 ou em que a e b são determinados de modo que o menor valor de V seja mapeado para um valor de saída mínimo desejado de L e o maior valor de V seja mapeado para um valor de saída máximo desejado de L.
7. Método para decodificação de uma imagem codificada, CARACTERIZADO pelo fato de que compreende: receber a imagem codificada; decodificar a imagem codificada para determinar uma imagem decodificada; aplicar uma função de transferência parametrizada (403, 505, 706) à imagem decodificada para determinar uma luminância L, em que a função de transferência parametrizada é igual à: e é ajustada com base nos parâmetros a, b, s, n, c, t e m para modelar a função de transferência parametrizada e em que o método compreende ainda codificar um marcador no referido fluxo de bits para sinalizar se os referidos parâmetros s, n, c, t e m são explicitamente codificados no referido fluxo de bits ou se os parâmetros s, n, c, t e m são derivados de um valor de índice codificado no referido fluxo de bits e corresponde a um conjunto de valores predefinidos de parâmetros, e em que a=1 e b=0 ou em que a e b são determinados de modo que o menor valor de V seja mapeado para um valor de saída mínimo desejado de L e o maior valor de V seja mapeado para um valor de saída máximo desejado de L.
8. Método, de acordo com a reivindicação 7, CARACTERIZADO pelo fato de que a função parametrizada tem um comportamento de ponta a ponta não linear.
9. Método, de acordo com a reivindicação 7 ou 8, CARACTERIZADO pelo fato de que a função parametrizada realiza mapeamento inverso de tons.
10. Método, de acordo com qualquer uma das reivindicações 7 a 9, CARACTERIZADO pelo fato de que ainda compreende receber informações representativas da função de transferência parametrizada.
11. Método, de acordo com a reivindicação 10, CARACTERIZADO pelo fato de que as informações recebidas são incluídas em pelo menos um dentre um Conjunto de Parâmetros de Imagem (PPS), um Conjunto de Parâmetros de Sequência (SPS), uma mensagem de Informação Suplementar de Enriquecimento (SEI), uma Informação de Usabilidade de Vídeo (VUI), Mensagem da Associação Eletrônica de Consumo (CEA), e um cabeçalho.
12. Aparelho para decodificação de pelo menos uma imagem codificada, CARACTERIZADO pelo fato de que compreende: um decodificador (600, 800) configurado para decodificar a imagem codificada para determinar uma imagem decodificada e para aplicar uma função de transferência parametrizada à imagem decodificada para determinar uma luminância L, em que a função de transferência parametrizada é igual à: e ajustada com base nos parâmetros a, b, s, n, c, t e m para modelar a funções de transferência parametrizada e em que o método compreende ainda codificar um marcador no referido fluxo de bits para sinalizar se os referidos parâmetros s, n, c, t e m são explicitamente codificados no referido fluxo de bits ou se os parâmetros s, n, c, t e m são derivados de um valor de índice codificado no referido fluxo de bits e corresponde a um conjunto de valores predefinidos de parâmetros, e em que a=1 e b=0 ou em que a e b são determinados de modo que o menor valor de V seja mapeado para um valor de saída mínimo desejado de L e o maior valor de V seja mapeado para um valor de saída máximo desejado de L.
Applications Claiming Priority (7)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP15305092.7 | 2015-01-27 | ||
EP15305092.7A EP3051823A1 (en) | 2015-01-27 | 2015-01-27 | Methods, systems and aparatus for electro-optical and opto-electrical conversion of images and video |
EP15305172 | 2015-02-06 | ||
EP15305172.7 | 2015-02-06 | ||
EP15305690 | 2015-05-06 | ||
EP15305690.8 | 2015-05-06 | ||
PCT/EP2016/051552 WO2016120261A1 (en) | 2015-01-27 | 2016-01-26 | Methods, systems and apparatus for electro-optical and opto-electrical conversion of images and video |
Publications (2)
Publication Number | Publication Date |
---|---|
BR112017016147A2 BR112017016147A2 (pt) | 2018-04-17 |
BR112017016147B1 true BR112017016147B1 (pt) | 2024-02-27 |
Family
ID=55237643
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
BR112017016147-8A BR112017016147B1 (pt) | 2015-01-27 | 2016-01-26 | Método para codificação de uma imagem, aparelho para codificação de pelo menos uma imagem, método para decodificação de uma imagem codificada, e aparelho para decodificação de pelo menos uma imagem codificada |
Country Status (8)
Country | Link |
---|---|
US (1) | US10999607B2 (pt) |
EP (1) | EP3251366B1 (pt) |
JP (1) | JP7106273B2 (pt) |
KR (1) | KR102631484B1 (pt) |
CN (1) | CN107431825A (pt) |
BR (1) | BR112017016147B1 (pt) |
TW (1) | TWI769128B (pt) |
WO (1) | WO2016120261A1 (pt) |
Families Citing this family (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
MY192391A (en) * | 2015-03-24 | 2022-08-18 | Sony Corp | Transmission device, transmission method, reception device, and reception method |
EP3298766A1 (en) * | 2015-05-18 | 2018-03-28 | Thomson Licensing | Method and device for processing color image data representing colors of a color gamut. |
EP4020995A1 (en) | 2015-07-16 | 2022-06-29 | Dolby Laboratories Licensing Corporation | Signal reshaping and coding for hdr and wide color gamut signals |
CN107851421A (zh) * | 2015-07-31 | 2018-03-27 | 索尼公司 | 视频信号处理装置、视频信号处理方法和显示装置 |
US10536665B2 (en) * | 2016-02-01 | 2020-01-14 | Lg Electronics Inc. | Device for transmitting broadcast signal, device for receiving broadcast signal, method for transmitting broadcast signal, and method for receiving broadcast signal |
US10390015B2 (en) * | 2016-08-26 | 2019-08-20 | Qualcomm Incorporated | Unification of parameters derivation procedures for local illumination compensation and cross-component linear model prediction |
US20200035198A1 (en) * | 2016-09-28 | 2020-01-30 | Panasonic Intellectual Property Management Co., Ltd. | Adjusting device, adjusting method, and program |
CN110447051B (zh) | 2017-03-20 | 2023-10-31 | 杜比实验室特许公司 | 在感知上保持参考场景的对比度和色度 |
CN111724316B (zh) * | 2017-04-11 | 2023-11-10 | 华为技术有限公司 | 处理高动态范围图像的方法和装置 |
US10462370B2 (en) | 2017-10-03 | 2019-10-29 | Google Llc | Video stabilization |
US10880531B2 (en) * | 2018-01-31 | 2020-12-29 | Nvidia Corporation | Transfer of video signals using variable segmented lookup tables |
US10832613B2 (en) | 2018-03-07 | 2020-11-10 | At&T Intellectual Property I, L.P. | Image format conversion using luminance-adaptive dithering |
CN108933933B (zh) * | 2018-07-05 | 2019-08-20 | 华为技术有限公司 | 一种视频信号处理方法及装置 |
US20200045341A1 (en) * | 2018-07-31 | 2020-02-06 | Ati Technologies Ulc | Effective electro-optical transfer function encoding for limited luminance range displays |
TWI683574B (zh) * | 2018-10-01 | 2020-01-21 | 恆景科技股份有限公司 | 高動態範圍成像系統與方法 |
KR20210059466A (ko) * | 2019-11-15 | 2021-05-25 | 삼성전자주식회사 | 영상 제공 장치 및 이에 의한 영상 제공 방법, 및 디스플레이 장치 및 이에 의한 디스플레이 방법 |
US11190689B1 (en) | 2020-07-29 | 2021-11-30 | Google Llc | Multi-camera video stabilization |
US11302287B1 (en) * | 2020-11-10 | 2022-04-12 | Microsoft Technology Licensing, Llc | Color correction in computing systems for color vision deficiency |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7023580B2 (en) | 2001-04-20 | 2006-04-04 | Agilent Technologies, Inc. | System and method for digital image tone mapping using an adaptive sigmoidal function based on perceptual preference guidelines |
US20050117799A1 (en) | 2003-12-01 | 2005-06-02 | Chiou-Shann Fuh | Method and apparatus for transforming a high dynamic range image into a low dynamic range image |
US20080198932A1 (en) * | 2007-02-21 | 2008-08-21 | Nucore Technology Inc. | Complexity-based rate control using adaptive prefilter |
US9135889B2 (en) | 2008-10-14 | 2015-09-15 | Apple Inc. | Color correction of electronic displays |
JP2012526451A (ja) | 2009-05-06 | 2012-10-25 | トムソン ライセンシング | 提示装置の能力に応じて最適化されたマルチメディアコンテンツを配信する方法及びシステム |
JP2011203814A (ja) | 2010-03-24 | 2011-10-13 | Sony Corp | 画像処理装置および方法、プログラム |
TWI538473B (zh) | 2011-03-15 | 2016-06-11 | 杜比實驗室特許公司 | 影像資料轉換的方法與設備 |
WO2013046096A1 (en) | 2011-09-27 | 2013-04-04 | Koninklijke Philips Electronics N.V. | Apparatus and method for dynamic range transforming of images |
KR102284891B1 (ko) | 2011-12-06 | 2021-08-04 | 돌비 레버러토리즈 라이쎈싱 코오포레이션 | 상이한 디스플레이 능력들을 통한 지각적 휘도 비선형성―기반 이미지 데이터 교환을 향상시키는 방법 |
US9473769B2 (en) * | 2012-06-08 | 2016-10-18 | Texas Instruments Incorporated | Method and system for reducing slice header parsing overhead in video coding |
US9584804B2 (en) * | 2012-07-10 | 2017-02-28 | Qualcomm Incorporated | Coding SEI NAL units for video coding |
ES2708954T3 (es) | 2013-02-21 | 2019-04-12 | Dolby Laboratories Licensing Corp | Gestión de visualización para video de alto rango dinámico |
US9584811B2 (en) | 2013-06-17 | 2017-02-28 | Dolby Laboratories Licensing Corporation | Adaptive reshaping for layered coding of enhanced dynamic range signals |
JP6563915B2 (ja) | 2013-07-16 | 2019-08-21 | コーニンクレッカ フィリップス エヌ ヴェKoninklijke Philips N.V. | Hdr画像のための汎用コードマッピングのためのeotf関数を生成するための方法及び装置、並びにこれらの画像を用いる方法及び処理 |
JP6368365B2 (ja) * | 2013-07-18 | 2018-08-01 | コーニンクレッカ フィリップス エヌ ヴェKoninklijke Philips N.V. | Hdrイメージの符号化のためのコードマッピング関数を作成するための方法及び装置、並びに、かかる符号化イメージの使用のための方法及び装置 |
US10244249B2 (en) * | 2015-09-21 | 2019-03-26 | Qualcomm Incorporated | Fixed point implementation of range adjustment of components in video coding |
-
2016
- 2016-01-26 EP EP16701752.4A patent/EP3251366B1/en active Active
- 2016-01-26 US US15/545,782 patent/US10999607B2/en active Active
- 2016-01-26 JP JP2017557494A patent/JP7106273B2/ja active Active
- 2016-01-26 WO PCT/EP2016/051552 patent/WO2016120261A1/en active Application Filing
- 2016-01-26 BR BR112017016147-8A patent/BR112017016147B1/pt active IP Right Grant
- 2016-01-26 KR KR1020177021074A patent/KR102631484B1/ko active IP Right Grant
- 2016-01-26 CN CN201680019075.1A patent/CN107431825A/zh active Pending
- 2016-01-27 TW TW105102563A patent/TWI769128B/zh active
Also Published As
Publication number | Publication date |
---|---|
JP2018506938A (ja) | 2018-03-08 |
EP3251366A1 (en) | 2017-12-06 |
WO2016120261A1 (en) | 2016-08-04 |
EP3251366B1 (en) | 2024-01-10 |
KR20170107463A (ko) | 2017-09-25 |
BR112017016147A2 (pt) | 2018-04-17 |
KR102631484B1 (ko) | 2024-01-30 |
CN107431825A (zh) | 2017-12-01 |
US20180027262A1 (en) | 2018-01-25 |
US10999607B2 (en) | 2021-05-04 |
JP7106273B2 (ja) | 2022-07-26 |
TWI769128B (zh) | 2022-07-01 |
TW201631959A (zh) | 2016-09-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
BR112017016147B1 (pt) | Método para codificação de uma imagem, aparelho para codificação de pelo menos uma imagem, método para decodificação de uma imagem codificada, e aparelho para decodificação de pelo menos uma imagem codificada | |
KR102291954B1 (ko) | 확장된 높은 동적 범위(hdr) 대 hdr 톤 매핑을 위한 방법, 장치 및 시스템 | |
US10009613B2 (en) | Method, systems and apparatus for HDR to HDR inverse tone mapping | |
RU2670782C2 (ru) | Способы и устройства для создания функций отображения кода для кодирования изображения hdr и способы и устройства для использования таких кодированных изображений | |
RU2737507C2 (ru) | Способ и устройство для кодирования изображения высокого динамического диапазона, соответствующий способ декодирования и устройство декодирования | |
US20180167597A1 (en) | Methods, apparatus, and systems for hdr tone mapping operator | |
RU2726290C2 (ru) | Способ и устройство для тонального отображения изображения посредством использования параметрической функции тональной регулировки | |
TW201638879A (zh) | 用於編碼及解碼高動態範圍視訊之方法及裝置 | |
BR112019022510A2 (pt) | Método e dispositivo para mapeamento de gama de cores | |
EP3051823A1 (en) | Methods, systems and aparatus for electro-optical and opto-electrical conversion of images and video | |
EP3815382A1 (en) | Metadata translation in hdr distribution | |
TWI740830B (zh) | 圖框之編碼方法和裝置及其解碼方法和裝置,電腦程式製品和處理器可讀式媒體,以及非暫態儲存媒體 | |
TW202147835A (zh) | 用於sl-hdrx系統之標準動態範圍(sdr)及高動態範圍(hdr)顯示適應信號上的色度提升 | |
BR112018000910B1 (pt) | Método e dispositivo para mapear por tons uma imagem de entrada, método para mapear tons inverso de uma versão mapeada por tons de uma imagem de entrada, método e dispositivo para codificar uma imagem de entrada, método e dispositivo para decodificar uma imagem de entrada, e mídia de armazenamento não transitório | |
BR122024005664A2 (pt) | Método e dispositivo para codificar uma imagem colorida que tem componentes de cor, e método e dispositivo para decodificar uma imagem colorida a partir de um fluxo de bits | |
BR112017015790B1 (pt) | Método, dispositivo, mídia legível por processador e mídia de armazenamento não transitório para codificar uma imagem colorida que tem componentes de cor, e método, dispositivo, mídia legível por processador e mídia de armazenamento não transitório para decodificar uma imagem colorida a partir de um fluxo de bits |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
B25G | Requested change of headquarter approved |
Owner name: THOMSON LICENSING (FR) |
|
B25A | Requested transfer of rights approved |
Owner name: INTERDIGITAL VC HOLDINGS, INC. (US) |
|
B06U | Preliminary requirement: requests with searches performed by other patent offices: procedure suspended [chapter 6.21 patent gazette] | ||
B25A | Requested transfer of rights approved |
Owner name: INTERDIGITAL MADISON PATENT HOLDINGS, SAS (FR) |
|
B07A | Application suspended after technical examination (opinion) [chapter 7.1 patent gazette] | ||
B09A | Decision: intention to grant [chapter 9.1 patent gazette] | ||
B16A | Patent or certificate of addition of invention granted [chapter 16.1 patent gazette] |
Free format text: PRAZO DE VALIDADE: 20 (VINTE) ANOS CONTADOS A PARTIR DE 26/01/2016, OBSERVADAS AS CONDICOES LEGAIS |