BR112020011172A2 - processador de luminância, codificador de vídeo de alta faixa dinâmica, sistema codificador de vídeo de alta faixa dinâmica, decodificador de vídeo de alta faixa dinâmica e método de processamento de luminância - Google Patents

processador de luminância, codificador de vídeo de alta faixa dinâmica, sistema codificador de vídeo de alta faixa dinâmica, decodificador de vídeo de alta faixa dinâmica e método de processamento de luminância Download PDF

Info

Publication number
BR112020011172A2
BR112020011172A2 BR112020011172-4A BR112020011172A BR112020011172A2 BR 112020011172 A2 BR112020011172 A2 BR 112020011172A2 BR 112020011172 A BR112020011172 A BR 112020011172A BR 112020011172 A2 BR112020011172 A2 BR 112020011172A2
Authority
BR
Brazil
Prior art keywords
luminance
color
image
input
hdr
Prior art date
Application number
BR112020011172-4A
Other languages
English (en)
Inventor
Johannes Yzebrand Tichelaar
Original Assignee
Koninklijke Philips N.V.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Koninklijke Philips N.V. filed Critical Koninklijke Philips N.V.
Publication of BR112020011172A2 publication Critical patent/BR112020011172A2/pt

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/90Dynamic range modification of images or parts thereof
    • G06T5/92Dynamic range modification of images or parts thereof based on global image properties
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/30Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/90Determination of colour characteristics
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/80Camera processing pipelines; Components thereof
    • H04N23/84Camera processing pipelines; Components thereof for processing colour signals
    • H04N23/88Camera processing pipelines; Components thereof for processing colour signals for colour balance, e.g. white-balance circuits or colour temperature control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N9/00Details of colour television systems
    • H04N9/64Circuits for processing colour signals
    • H04N9/643Hue control means, e.g. flesh tone control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N9/00Details of colour television systems
    • H04N9/64Circuits for processing colour signals
    • H04N9/68Circuits for processing colour signals for controlling the amplitude of colour signals, e.g. automatic chroma control circuits
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N9/00Details of colour television systems
    • H04N9/77Circuits for processing the brightness signal and the chrominance signal relative to each other, e.g. adjusting the phase of the brightness signal relative to the colour signal, correcting differential gain or differential phase
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10016Video; Image sequence
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10024Color image
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20092Interactive image processing based on input by user

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Processing Of Color Television Signals (AREA)
  • Image Processing (AREA)
  • Picture Signal Circuits (AREA)

Abstract

Para permitir uma melhor determinação de uma imagem de uma faixa dinâmica de luminância diferente (em particular conforme caracterizado por uma luminância máxima diferente, também chamada de pico de brilho) de uma imagem de entrada, o presente pedido ensina algumas variantes de um processador de luminância (501), disposto de modo a calcular uma luminância de saída de um pixel de uma imagem de saída (Im_LDR; Im3000nit) tendo uma segunda faixa dinâmica de luminância caracterizada por um segundo pico de brilho (PB_LDR; PB_MDR) proveniente de uma luminância de entrada de um pixel espacialmente colocado de uma imagem de entrada (MAST_HDR) tendo uma primeira faixa dinâmica de luminância caracterizada por um primeiro pico de brilho (PB_HDR), sendo o processador de luminância caracterizado por compreender: uma unidade de cálculo de ganho (514) disposta de modo a calcular um fator de multiplicação (gL) que é uma função da luminância de entrada e uma função de mapeamento de luminância (FLM); uma unidade de cálculo de máximos (601) disposta de modo a calcular um valor de intensidade (V) que é o máximo dentre os três componentes de cor vermelho, verde e azul da cor do pixel da imagem de entrada, sendo que aqueles componentes são ou componentes lineares de cor vermelho, verde e azul ou uma potência daqueles componentes de cor lineares vermelho, verde e azul; uma calculadora de transbordamento (602), disposta de modo a calcular uma medida de transbordamento (T), indicando quão perto do limite superior da gama está a luminância de saída; uma unidade de modificação do fator de ganho (603), disposta de modo a determinar um fator de ganho alternativo (F1(gL)), caso a medida de transbordamento seja maior que um limite (G) e disposta de modo a, caso contrário, manter o fator de ganho original, e disposta de modo a fornecer um dentre esses como um fator de ganho final (gF); e um multiplicador (530), para multiplicar a cor de entrada (R?G?B?_nrm) pelo fator de ganho final (gF) a fim de obter uma cor de saída (R?G?B?_HDR) tendo a luminância de saída.

Description

PROCESSADOR DE LUMINÂNCIA, CODIFICADOR DE VÍDEO DE ALTA FAIXA DINÂMICA, SISTEMA CODIFICADOR DE VÍDEO DE ALTA FAIXA DINÂMICA, DECODIFICADOR DE VÍDEO DE ALTA FAIXA DINÂMICA E MÉTODO
DE PROCESSAMENTO DE LUMINÂNCIA Campo da invenção
[001] A invenção se refere a métodos e aparelhos para codificar imagens de alta faixa dinâmica e, em particular, à mudança das luminâncias dos pixels da imagem a fim de converter a imagem para uma faixa dinâmica de luminância diferente. Antecedentes da invenção
[002] Há cerca de 5 anos, foram introduzidas as novas técnicas de codificação de vídeo de alta faixa dinâmica (HDR - “High Dynamic Range”).
[003] Isso contrasta com a codificação de vídeo legada, de acordo com a qual todos os vídeos eram codificados até então, a qual é hoje chamada de codificação de vídeo em faixa dinâmica padrão (SDR - “Standard Dynamic Range”) (também chamada de codificação de vídeo em baixa faixa dinâmica (LDR - “Low Dynamic Range”)). A definição de código luma de SDR, da Rec. 709 (“Recommendation BT.709” - Recomendação BT.709), foi capaz de codificar (com lumas de 8 ou 10 bits) apenas faixas dinâmicas de luminância de cerca de 1.000:1 (também chamado de função de transferência optoelétrica (OETF - “Opto- Electrical Transfer Function”)) devido a seu formato aproximado de função de raiz quadrada (luma: Y=sqrt(Luminância L)), que codificavam, para as típicas capacidades de renderização de todas as telas daquela época, luminâncias aproximadamente entre 0,1 e 100 nits, sendo este último o chamado pico de brilho (PB).
[004] Um primeiro codec de HDR foi introduzido no mercado, o HDR10 que é usado, por exemplo, para criar os novos discos blu-ray HDR “faixa preta”, os quais meramente mudaram o OETF para uma função de quantificador perceptual com formato mais logarítmico, padronizada em SMPTE 2084, a qual permitiu definir lumas para luminâncias entre 1/10.000 nit e
10.000 nit, o que é suficiente para a produção prática de vídeos em HDR. Após o cálculo dos lumas, tinha-se apenas um plano de pixels de 10 bits (ou, ao invés disso, com os dois planos de crominância Cb e Cr, planos de 3 bits), o qual poderia ser classicamente tratado posteriormente “como se fossem” uma imagem em SDR, comprimida matematicamente, por exemplo com MPEG. É claro que o lado receptor precisa saber que está recebendo uma imagem em HDR ao invés de uma imagem em SDR, ou ocorrerá renderização incorreta. Se fosse feito um mapeamento meramente linear (imagem codificada de branco máximo, também conhecida como pico de brilho PB_C para tela SDR, pico de brilho PB_D) uma imagem com PB_C = 1.000 nit pareceria 10x escura demais, o que significaria que as cenas noturnas se tornariam inassistíveis. Devido à natureza logarítmica de PQ OETF, as imagens HDR10 são assistíveis, mas têm um feio contraste deteriorado, fazendo com que pareçam, entre outras coisas, desbotadas e com brilho incorreto.
[005] Um problema desse tipo de mera imagem de vídeo em HDR (também chamado de classificação HDR, com a palavra “classificação” indicando qual luminância dos vários objetos da cena deveriam ter, em uma imagem, representação com um PB_C de, por exemplo, 1.000 nit (ou mais alto), para fazer com que a cena em HDR tenha aparência ótima naquela representação) é que ela será corretamente exibida apenas em uma tela com idêntico PB_D = 1.000 nit, e sob condições similares de iluminação circundante, portanto logo se descobriu que esses discos Blu-ray nem sempre são exibidos perfeitamente, e que também nessa situação as cenas noturnas podem ser inassistíveis.
[006] Para isso, os codificadores de vídeo HDR mais avançados codificam duas diferentes classificações de uma cena em HDR: uma imagem com faixa dinâmica mais alta, por exemplo com PB_C = 5.000 nit, e uma com faixa dinâmica mais baixa, a qual é tipicamente uma imagem em SDR tendo PB_C = 100 nit, porque essa é, então, imediatamente exibível em telas LDR legadas.
[007] Cenas do mundo real (embora uma cena uniformemente iluminada tenha, devido à razão de 100:1 entre reflectâncias de objetos, apenas uma faixa dinâmica menor) podem ter uma faixa dinâmica consideravelmente alta. Por exemplo, uma caverna com uma pequena abertura para o exterior ensolarado pode, em uma representação de referência com PB_C de 10.000 nit que contém uma classificação de HDR daquela cena adequada para visualização em televisores domésticos, conter luminâncias muito abaixo de 1 nit para os pixels da caverna, e de até 10.000 nit para os pixels do exterior. Uma imagem em HDR desafiadora como essa não é tão trivialmente convertida para uma faixa dinâmica consideravelmente mais baixa (por exemplo, ao menos 100x ao ir para SDR), especialmente se o criador de conteúdo desejar transmitir uma aparência em HDR ainda razoavelmente similar também na renderização em SDR mas, conforme esclarecido com a Figura 1, em princípio isso pode ser feito.
[008] O que precisaria ser bem entendido, aqui, é que se estamos falando sobre a codificação das imagens em HDR e das correspondentes imagens de faixa dinâmica mais baixa, pode haver restrições. Em vez de realmente comunicar duas imagens separadamente classificadas (uma imagem classificada como HDR e outra como SDR com PB_C de 100 nit da cena original), é tipicamente comunicada (conforme será adicionalmente esclarecido com a Figura 2) apenas uma imagem classificada do par de imagens em pontos finais extremos, com diferentes classificações e diferentes PB_C, e como funções de metadados para mapear as cores e, em particular sua luminância, dos pixels da imagem recebida para as cores da outra imagem classificada.
[009] Deve-se entender que há duas classes de codificadores de imagem: a primeira (Modo 1) comunica imagens em HDR aos receptores, como fazia o HDR10, de modo que se pode, por exemplo, reutilizar o PQ OETF para codificar aquelas imagens, porém adicionando metadados que prescrevam como rebaixar a luminância dessa imagem em HDR para uma faixa dinâmica mais baixa (por exemplo, calcular a imagem em SDR com PB_C de 100 nit a partir da imagem recebida em HDR). A segunda classe (Modo 2) comunica a imagem em SDR do par e as funções em formato inverso para aprimoramento da imagem em HDR, o que é útil para servir a uma grande base instalada de televisores legados (isso envolve restrições técnicas adicionais a serem seguidas por qualquer tecnologia de “add-on”).
[0010] Há mecanismos técnicos para reclassificar imagens PB intermediárias, chamadas de imagens em faixa dinâmica média (MDR), então em vez de converter a imagem recebida em SDR para a imagem original, por exemplo com PB_C de 5.000 nit, que foi criada pelo criador de conteúdo no lado de criação ou de transmissão, o receptor (por exemplo, um decodificador de sinais, uma TV, um computador, um equipamento de cinema ou similares) pode calcular, por exemplo, uma imagem com PB_C de 700 nit. Essa assim chamada adaptação de exibição é importante porque nem todas as pessoas terão uma tela com PB_D de 5.000 nit exatamente, isto é, naturalmente compatível com o conteúdo (uma assim chamada tela de referência, para distingui-la de qualquer tela real no lado receptor), portanto uma imagem adequada (o que significa aquela que melhor transmite a opção artística feita na classificação de HDR de 5.000 nit, e a luminância do lado de criação ou, de modo geral, as funções de reclassificação de cores) para a tela de, por exemplo, 700 nit precisa ser calculada. Caso contrário, o comportamento da renderização é indefinido e, tipicamente, as partes mais brilhantes do conteúdo não serão mostradas ou, ao menos, serão mal mostradas (isso pode levar, por exemplo, a uma pessoa em baixo contraste desapareça totalmente em uma neblina brilhante, o que significa que algumas pessoas verão uma história totalmente diferente no filme, o que é muito indesejável).
[0011] Presumiremos, de modo não limitador, que as classificações de imagens em HDR e SDR sejam criadas por um classificador de cores humano (por exemplo, primeiro a classificação HDR e, a partir da mesma, uma classificação SDR) mas, em alguma aplicação um sistema automático determina as imagens classificadas e as funções de mapeamento de cores (o que é, por exemplo, atualmente preferencial na difusão em tempo real, na qual a reutilização de sistemas existentes não é compatível com a classificação por seres humanos).
[0012] Para a conveniência do leitor, e para informá-lo rapidamente quanto a alguns dos aspectos envolvidos, a Figura 1 mostra um par de exemplos ilustrativos arquetípicos quanto às muitas possíveis cenas em HDR que um sistema HDR do futuro (por exemplo conectado a uma tela com PB_D de 1.000 nit) pode precisar ser capaz de tratar corretamente, isto é, mediante renderização das luminâncias adequadas para todos os objetos/pixels na imagem. Por exemplo, ImSCN1 é uma imagem externa ensolarada proveniente de um filme do gênero “western” (o qual tem majoritariamente áreas brilhantes, que deveriam idealmente ser renderizadas um tanto mais brilhantes do que para uma tela de 100 nit, a fim de oferecer uma aparência mais ensolarada do que uma aparência de dia chuvoso, por exemplo com uma luminância média de, digamos, 500 nit), sendo que ImSCN2 é uma imagem noturna.
[0013] O que torna ensolarada essa imagem versus a outra, escura? Não necessariamente as luminâncias relativas, ao menos não no paradigma SDR. O que torna a renderização da imagem em HDR diferente de como ela sempre foi na era do SDR, a qual se encerrou apenas há um par de anos, é que o SDR tinha uma faixa dinâmica tão limitada (cerca de PB=100 nit e um nível de preto de aproximadamente 0,1 a 1 nit) que, em geral, apenas as refletividades intrínsecas dos objetos poderiam ser mostradas em SDR (o que ficaria entre 90% para um bom branco e 1% para um bom preto). Isso seria bom para reconhecer objetos (tendo uma certa quantidade de brilho proveniente de seu reflexo e, é claro, de sua cromaticidade), sob iluminação uniforme tecnicamente controlada, porém nem tanto para as belas variações da própria iluminação que se pode ter em cenas naturais, e o impacto que isso pode ter sobre os espectadores.
Se a tela o permitir e, portanto, também o deveriam permitir a codificação de imagem e a tecnologia de tratamento, em um passeio na floresta realmente se veria o sol brilhar através das árvores, isto é, em vez de ter apenas uma impressão um pouco mais amarela como em uma tela SDR, gostaríamos de ver roupas brilhantes e coloridas iluminadas pelo sol quando a pessoa caminha da sombra para o sol. E assim o fogo e as explosões deveriam ter um impacto visual ótimo, ao menos até onde for permitido pelo PB_D.
[0014] Em SDR, pode-se tornar a imagem noturna um tanto mais escura, no histograma de lumas, porém não demais, ou isso apenas resultaria em uma imagem feia e demasiado escura. E também em uma TV de 100 nit ou um uma codificação de 100 nit simplesmente não há qualquer espaço disponível para qualquer coisa excessivamente brilhante. Então, era necessário mostrar os objetos independentemente de sua iluminação e, ao mesmo tempo, não se podia mostrar fielmente todas as iluminações, por vezes altamente contrastantes, que poderiam ocorrer na cena. Na prática, isso significava que a cena ensolarada altamente brilhante precisava ser renderizada com aproximadamente as mesmas luminâncias de tela (0 a 100 nits) que uma cena apagada de dia chuvoso. E mesmo as cenas noturnas não poderiam ser renderizadas demasiadamente escuras, ou o espectador não seria capaz de distinguir bem as partes mais escuras da imagem, então novamente aqueles brilhos noturnos seriam renderizados abrangendo a faixa entre 0 e 100 nit. Uma solução convencional para isso era colorir de azul as cenas noturnas, de modo que o espectador compreendesse que não estava olhando para uma cena diurna. Agora, é claro que na vida real a visão humana também se adaptaria à quantidade de luz disponível, mas não tanto (a maioria das pessoas na vida real reconhecem que está escurecendo, ou que estão em um ambiente mais escuro ou bastante brilhante). Então, um indivíduo gostaria de renderizar as imagens com todos os especulares efeitos locais e também temporais de iluminação que se pode artisticamente projetar nas mesmas, a fim de obter imagens renderizadas muito mais realistas, pelo menos se houver uma tela HDR disponível. O que seria exatamente uma luminância adequada para, digamos, um sabre de luz em uma sala escura, é algo que deixaremos para o classificador de cores que cria as uma ou mais classificações mestre decidir, e este pedido terá como foco as possibilidades técnicas necessárias para criar e tratar essas imagens.
[0015] No eixo geométrico esquerdo da Figura 1 estão as luminâncias de objetos como um indivíduo gostaria de vê-las em uma classificação HDR mestre com PB de 5.000 nit, para uma tela com PB_D de 5.000 nit (isto é, o classificador faz uma imagem presumindo que o típico televisor HDR de alta qualidade, em casa, terá PB_D de 5.000 nit, e ele pode estar realmente sentado em uma representação desse tipo de sala de exibição doméstica, e classificar em uma tela com esse tipo de classificação). Caso se queira transmitir não só uma ilusão, mas uma real sensação do cowboy estar em um ambiente brilhante e ensolarado, é necessário especificar e renderizar aquelas luminâncias de pixel suficientemente brilhantes (mas tampouco incomodamente brilhantes demais, o que é um típico erro de criação e tratamento de imagens em HDR), em torno de, por exemplo, 500 nit. Para a cena noturna, deseja-se principalmente luminâncias escuras, mas o personagem principal na motocicleta precisa ser bem reconhecível, isto é, não muito escuro (por exemplo, cerca de 5 nits), e ao mesmo tempo pode haver pixels de luminância muito alta, por exemplo da iluminação pública, por exemplo em torno de cerca de 3.000 nits em uma tela de
5.000 nits, ou em torno do pico de brilho em qualquer tela HDR (por exemplo, 1.000 nits). O terceiro exemplo, ImSCN3, mostra o que agora é também possível em telas HDR: pode-se renderizar simultaneamente tanto os pixels muito brilhantes como os muito escuros. Ele mostra uma caverna escura, com uma pequena abertura através da qual se pode ver o exterior ensolarado. Para esta cena, pode-se querer tornar os objetos iluminados pelo sol, como a árvore, um pouco menos brilhantes do que em uma cena na qual se deseja renderizar a impressão de uma brilhante paisagem ensolarada, por exemplo em torno de 400 nits, o que seria mais coordenado com o caráter essencialmente escuro do interior da caverna. Um classificador de cores pode querer coordenar de maneira ótima as luminâncias de todos os objetos (já na imagem em HDR com PB_HDR=5.000 nit), de modo que nada pareça inadequadamente escuro ou brilhante e que o contraste seja bom, por exemplo a pessoa em pé no escuro, nessa caverna, pode ser codificada na imagem mestre classificada como HDR em torno de 0,05 nit (presumindo-se que as renderizações em HDR não apenas serão capazes de renderizar altas luzes brilhantes, como também regiões escuras).
[0016] Então, observa-se que pode haver vários comportamentos típicos para a reclassificação: por exemplo, às vezes se deseja manter as luminâncias substancialmente iguais em todas as faixas de luminância, e às vezes elas são escaladas (por exemplo, linearmente escaladas com o PB_C decrescente). Ou alguns objetos, como o sol, pode-se querer sempre mapear para PB_C.
[0017] É necessário entender que há algumas limitações em uma estrutura de codificação. Por exemplo, em um sistema de modo 1, não se pode apenas livremente fazer qualquer coisa que se queira mas, ao invés disso, tipicamente o mapeamento precisa ocorrer de acordo com um conjunto limitado de funções padronizadas de mapeamento da luminância (porque o decodificador precisa entender o que é feito no lado de criação, e os decodificadores precisam atender a requisitos práticos de mercado, como não ser demasiadamente complexos e caros). Então, é necessário desenvolver um conjunto de funções que se comportam corretamente, e suficientemente de acordo com o que desejam os usuários do sistema e, em particular, os criadores de conteúdo, que é o que o requerente inventou em anos anteriores. Para um sistema de modo 2, é necessário também assegurar que as funções sejam reversíveis e, em particular, que não se percam demasiadas informações na imagem em SDR, as quais poderiam então nunca ser matematicamente recuperadas por meio de reclassificação em um receptor tentando obter uma reconstrução próxima da imagem original em HDR do lado da criação.
[0018] As funções para reclassificação ótima serão, tipicamente, dependentes do conteúdo, de modo que serão tipicamente comunicadas ao menos por sequência de imagens de uma mesma cena de distribuição, com aparência similar e luminância similar.
[0019] Apenas para ilustrar algumas possibilidades técnicas de codificação de vídeo para esclarecimento de alguns componentes cujo bom entendimento é importante, descrevemos um sistema de codificação de vídeo em HDR exemplificador, que o requerente projetou para imagens em HDR e, em particular, para codificação de vídeo em HDR (de modo que o leitor possa entender que os princípios da invenção também são aplicáveis a outros sistemas, além do sistema exemplificador para explicação).
[0020] Esse sistema de codificação de vídeo não apenas pode lidar com a comunicação (codificação) de meramente um único vídeo em HDR padronizado (por exemplo, um quantificador perceptual de 10 bits usado como um EOTF de definição de código luma para a codificação), para um único tipo típico de tela em campo (por exemplo, imagens definidas com PB_C = 1.000 nit, sob a suposição de que todo observador final tenha uma tela PB_D de
1.000 nit), como também pode, ao mesmo tempo, comunicar e manipular os vídeos que têm uma aparência/classificação ótima para vários outros possíveis tipos de tela com vários outros picos de brilho em campo, em particular a imagem em SDR para uma tela PB_D SDR de 100 nit.
[0021] Isto é, embora em um sistema de comunicação de vídeo em HDR como esse, é realmente comunicado apenas um tipo de imagens classificadas sob a forma de imagens pixeladas, tipicamente, embora não exclusivamente neste exemplo, imagens em SDR (ou alternativamente as imagens em HDR), pois como são adicionadas em metadados uma ou mais funções definindo as cores de pixel da imagem em HDR e, em particular, as luminâncias daquelas imagens em SDR, se tem também, ao mesmo tempo, aparências da imagem em HDR comunicadas para a cena (sem realmente precisar comunicar as imagens em HDR, como em comunicação de imagem dual, ou ao menos uma segunda camada de dados de imagem em HDR pixelada).
[0022] Para isso, é definido um conjunto de funções reversíveis de transformação de cores F_ct adequadas, conforme ilustrado na Figura 2. A Figura 2 mostra, de maneira não limitada, um típico sistema do tipo de comunicação em SDR (isto é, modo 2), para o propósito de explicar os conceitos básicos. Essas funções podem ser definidas por um classificador de cores humano, a fim de obter uma imagem de SDR de aparência razoável (Im_LDR) correspondente à imagem mestre em HDR MAST_HDR, ao mesmo tempo em que asseguram que, mediante o uso de funções inversas IF_ct, a imagem mestre em HDR (MAST_HDR) pode ser reconstruída com precisão suficiente sob a forma de uma imagem em HDR reconstruída (Im_RHDR). As funções IF_ct podem ser determinadas a partir das funções F_ct de mapeamento para diante, de HDR para SDR, conforme comunicadas, ou o sistema pode até mesmo comunicar diretamente as uma ou mais funções IF_ct.
[0023] O transformador de cores 202 tipicamente aplica o mapeamento de luminância F_ct das luminâncias relativas dos pixels da imagem mestre em HDR (MAST_HDR), os quais presumiremos que sejam normalizados de modo que a luminância máxima seja de 1,0. Para entender de maneira simples os conceitos da presente invenção, pode-se presumir, por uma questão de simplicidade que ela usa uma função de mapeamento da luminância de 4a potência (L_out_SDR=potência(L_in_HDR; ¼)) para derivar as luminâncias de saída em SDR normalizadas dos pixels da imagem com PB_C de 100 nit em SDR de saída Im_LDR (isto é o lado direito da Figura 1), isto é que essa função confere uma aparência razoável às imagens em SDR classificadas correspondentes à imagem mestre em HDR da cena (sendo que “razoável” significa, para a cena específica, aspectos como o fato de que uma grande porcentagem das áreas de sombra não parecerão demasiadamente escuras, lâmpadas e outros objetos luminosos serão realçados conforme desejado, por ainda terem um razoável contraste inter- regional com as regiões mais escuras da imagem, mesmo na imagem em SDR, ao menos dentro do permitido pela faixa dinâmica de luminância em SDR, etc.; para outras imagens, outros fatores podem contribuir, mas esses detalhes não são essenciais nem limitadores para o esclarecimento dos componentes técnicos da presente invenção).
[0024] Como os receptores precisam ser capazes de reconstruir a imagem mestre em HDR a partir da imagem em SDR correspondente recebida, ou ao menos uma reconstrução próxima exceto por alguns artefatos relacionados à compressão, além das imagens pixeladas em si, também as funções de mapeamento de cores precisam entrar no codificador de vídeo 203. Sem limitação, podemos presumir que o vídeo é comprimido com um compressor de vídeo MPEG HEVC, e as funções são armazenadas em metadados, por exemplo por meio do mecanismo SEI ou técnica similar.
[0025] Então, após a ação do aparelho criador de conteúdo 221, a partir da perspectiva da tecnologia de comunicação de imagens, o codificador de vídeo 203 age como se tivesse recebido como entrada uma imagem normal em SDR e, com mais importância: fornece o que é tecnicamente uma imagem em SDR (imagem codificada Im_COD), seguindo a especificação de luma para SDR do padrão Rec. 709. Então, a tecnologia adicional, por exemplo um formatador de transmissão 204 aplicando todas as transformações necessárias para formatar os dados a serem transmitidos por meio de algum meio de transmissão 205 (por exemplo, codificação para armazenamento em um disco BD, ou codificação de frequência para transmissão por cabo, etc.), pode apenas aplicar todas as etapas típicas que usou para executar no paradigma de codificação em SDR.
[0026] Subsequentemente os dados de imagem se deslocam através de algum meio de transmissão 205, por exemplo uma transmissão via satélite, ou cabo, ou internet, por exemplo de acordo com ATSC 3.0, ou DVB, ou qualquer princípio de comunicação de sinais de vídeo, para um ou mais lados receptores.
[0027] Em qualquer lado de consumidor ou profissional, um receptor desformatador 206, o qual pode ser incorporado em vários aparelhos físicos como, por exemplo, um decodificador de sinais, um televisor ou computador, desfaz a codificação de canal mediante a aplicação de desformatação e decodificação de canal. Então, um decodificador de vídeo 207 aplica, por exemplo, uma decodificação HEVC, para produzir uma imagem em SDR decodificada Im_RLDR, e os metadados da função F_ct de transformação de cores. Então, um transformador de cores 208 é disposto de modo a transformar a imagem em SDR em uma imagem de qualquer faixa dinâmica não SDR (isto é, com PB_C mais alto que 100 nit e, tipicamente, ao menos 6x mais alto). Por exemplo, a imagem mestre original Im_RHDR, com 5.000 nit, pode ser reconstruída mediante a aplicação das transformações de cor inversas IF_ct das transformações de cor F_ct usadas no lado codificador para produzir Im_LDR a partir de MAST_HDR. Ou, pode estar incluída uma unidade de adaptação de exibição 209, que transforma a imagem em SDR Im_RLDR em uma faixa dinâmica diferente, por exemplo Im3000 nit sendo otimamente classificada se a tela 210 for uma tela PB de 3.000 nit, ou uma imagem PB de 1.500 nit ou de 1.000 nit, etc. Presumimos, sem limitação, que o decodificador de vídeo e o transformador de cores estejam em um único aparelho de redeterminação de vídeo 220. O leitor versado na técnica pode entender que se pode, de modo similar, projetar uma topologia que comunica, por exemplo, imagens em HDR com PB_C=10.000 nit, e o transformador de cores produz imagens de saída em HDR com, por exemplo, PB_C=2.500 nit, para uma TV ou um monitor correspondente.
[0028] A Figura 3 esclarece, em um espaço de cores teórico, como pareceria um mapeamento de cores de HDR para SDR (compreendendo em particular um mapeamento da luminância).
[0029] O espaço de cores é da categoria cilíndrica, e tem como sua base um plano de cromaticidade. A cromaticidade bidimensional representa a “própria natureza” de uma cor, por exemplo se o que se tem é algum laranja saturado, ou mais propriamente um vermelho não saturado (isto é, um rosado), independentemente da iluminação ou do brilho daquela cor. Como medida do brilho, usamos a luminância, que é a terceira dimensão vertical do espaço (é realmente usada a luminância relativa, que só pode chegar até 1,0, no máximo). Como coordenadas de cromaticidade (Chrom), usamos a saturação (Sat) sendo a distância a partir do eixo de luminância acromática no centro, e o ângulo de matiz (H), mas poderiam também ser usadas as coordenadas de CIE (u,v), ou r=R/(R+G+B) e g= G/(R+G+B), nas quais R, G e B são as quantidades lineares de contribuição de vermelho (“Red”), verde (“Green”) e azul (“Blue”) à cor (a quantidade de fótons vermelhos, etc. como poderia ser dito de maneira simplista), etc.
[0030] Uma cor em SDR (Col_out) é calculada a partir de uma cor em HDR (Col_in). O leitor deve entender que representamos ambas as cores de pixel em um espaço de cores normalizado (PB_C=1.0), então tipicamente a cor em SDR deveria ser mais brilhante para ainda ser visível (pode-se entender isto contemplando-se a tecnologia em que a luminância relativa L corresponde a uma porcentagem de transmissão de um LCD de uma luz de fundo que é muito mais brilhante para uma tela HDR do que para uma tela SDR, portanto para ter a mesma cor final vista na parte dianteira da tela, a tela HDR precisa transmitir menos luz, e vice-versa). Deve-se notar rapidamente que mostrar luminâncias de imagem tanto em HDR como em SDR na mesma gama normalizada pode ser um tanto enganoso em relação a alguns aspectos, pois as cores em HDR mais brilhantes são as cores que são simplesmente impossíveis em SDR, portanto o artista ou autômato precisa selecionar uma aproximação razoável para as mesmas, mas esta simples explicação é suficiente para este pedido de patente, o qual é sobre os cálculos técnicos que ocorrem na cadeia de manipulação de imagem ou vídeo em HDR, como a maneira de criar uma imagem em faixa dinâmica mais baixa a partir de uma imagem mestre em HDR recebida.
[0031] A transformação de cores se comporta bastante bem, conforme desejado (em particular ortogonal, o que significa que a alteração de luminância não influencia a cromaticidade, ou vice-versa), como se pode ver que o abrilhantamento relativo de fato não envolve qualquer alteração da cromaticidade (Chrom) da cor.
[0032] Isso não é tão trivial, desde o início. A transformação legada mais típica abrilhanta as imagens aplicando separadamente uma função aos três canais de cor aditivos (por exemplo uma função de potência(L;1/3) abrilhantará muito bem as cores mais escuras, enquanto mapeia
1,0 para 1,0 como saída, sem produzir qualquer transbordamento), o que introduzirá erros de matiz, portanto: em vez de apenas abrilhantar as cores de pixel, altera-se também seu matiz por toda a gama de cores das cores possíveis, devido à relação alterada de maneira não linear entre as quantidades relativas de componentes de cor R, G e B na mistura aditiva.
[0033] Mesmo no espaço de cores teórico, ainda há uma outra possibilidade de alterar a cromaticidade e, em particular, sua saturação.
[0034] Na natureza, o espaço de todas as cores será um cilindro, porque seria de fato possível iluminar a cor amarela insaturada com a luz de uma supernova.
[0035] Entretanto, as telas têm limitações, como também as têm qualquer real codificação de cores (motivo pelo qual introduzimos a gama de cores normalizada: embora PB_C = 1,0 possa corresponder a um PB_C real e absoluto em nit que seja bastante alto, como 10.000 nit, ainda há esse tipo de limite): por construção natural, é fato que a cor mais brilhante é o branco, e qualquer cor cromática como amarelo brilhante precisa ter uma luminância menor.
[0036] Então, mesmo nesse espaço de cores teórico pode ocorrer, por exemplo próximo aos azuis que tipicamente são relativamente escuros (por exemplo, 10% da luminância do branco), que o simples mapeamento de brilho mapeie acima da gama de cores possíveis (GAMU), o que na prática significa que algum componente de cor (neste exemplo, o azul), pode ser cortado para seu valor máximo, resultando em uma cor no limite superior da gama, a qual é tipicamente demasiado dessaturada e frequentemente com matiz incorreto (por exemplo, um azul claro).
[0037] entretanto, o requerente conseguiu construir um sistema simples que se comportou de acordo com tudo o que se desejava: em particular, sem ocorrências fora da gama, levando à cromaticidade correta para todas as cores, ao custo de talvez uma luminância um tanto abaixo do que seria idealmente desejado. Os princípios desta tecnologia de codificação de HDR (isto é, a determinação, a comunicação e o uso do mapeamento de luminância F_ct e suas funções de metadados) que são descritos em WO2014056679 são brevemente reiterados como sendo os seguintes (para posterior entendimento das diferenças com os presentes ensinamentos).
[0038] Conforme mostrado em sua Figura 5, a transformação de luminância por abrilhantamento (ou escurecimento) é realmente aplicada multiplicando-se os três componentes de cor igualmente por um fator de ganho g determinado (lembre-se de que a luminância é uma combinação aditiva linear dos componentes de cor R, G e B lineares, isto é, L=a*R+b*G+c*B; os coeficientes a, b e c dependem das cromaticidades das primárias de RGB usadas na definição de vídeo, por exemplo para Rec. 709 são aproximadamente a=0,3; b=0,6; c=0,1), o que garante que sua proporcionalidade relativa não se altere, isto é, mantendo o matiz e a saturação da cor iguais antes e depois do processamento de luminância.
[0039] O ensinamento prescreve, adicionalmente, que o fator de ganho seja determinado para cada possível cor com base em qual dos três componentes de RGB é o maior, o que garante que o mapeamento seja corretamente escalado com o Lmax(chrom) local, isto é, nunca resultando em problemas de estar fora de gama. Portanto, essa incorporação da matemática de cores produz o comportamento ideal de processamento de cor/brilho linear e separado, ao mesmo tempo em que também considera as limitações da gama, em particular a gama de uma tela.
[0040] Por várias razões, porém, é desejado um processamento de cores que possa também funcionar em outras representações de cor, isto é, outros espaços de cor.
[0041] Já desde os tempos do vídeo analógico (PAL, NTSC), o espaço de cores YCbCr (ou o correspondente YIQ) foi definido, o que se mostrou bastante útil para comunicações em vídeo, mas as pessoas também queriam fazer o processamento de cores no mesmo (por exemplo, com circuitos analógicos de TV alterando o brilho mediante a regulação do canal Y, ou a saturação mediante a variação dos canais Cb e Cr, de modo similar).
[0042] A Figura 4 mostra como isso se parece e quais são suas propriedades. Para começar, o cubo de RGB (em 0 a 1,0) é girado em sua ponta, de modo que agora o eixo diagonal onde R=G=B se torna o eixo de brilho acromático, isto é, sem cor.
[0043] A nova medida de brilho, porém, é agora o luma.
[0044] Ele é definido com os mesmos coeficientes a,b,c que a luminância, porém agora a partir dos coeficientes RGB não lineares (pré-corrigidos para a gama) que, de acordo com a Rec. 709, são aproximadamente R=sqrt(R_linear), etc. (note-se que, na era do HDR, componentes de RGB não lineares adicionais foram definidos, por R_nonlin=OETF_HDRcodec(R_lin), etc.).
[0045] Um indivíduo tenderia a pensar que potência(Luma;2) é igual a luminância, e isso é de fato verdadeiro no eixo acromático (já que nele R=G=B, portanto potência((a+b+c=1)*sqrt(R);2) = potência(Y;2)=L). Entretanto, para cores cromáticas o luma não está simplesmente relacionado unidimensionalmente à luminância, mas também à cromaticidade (ou crominância), o que é chamado de vazamento de luminância não constante.
[0046] Isso tem algumas consequências: caso se queira abrilhantar as cores da imagem mediante aplicação de uma função, por exemplo Y_out=potência(Y_in; 1/3), então o luma de entrada Y_in depende da cromaticidade e, portanto, o mesmo sucede com a intensidade do abrilhantamento, devido à ação dependente de Y da função (selecionada como de simples entendimento) de 1/3a potência. Note-se que qualquer função de mapeamento de luma (seja a simples função de potência exemplificadora, ou uma função muito mais complexa e interessante, com vários coeficientes angulares locais mais altos ou mais baixos cuidadosamente selecionados, correspondentes às luminâncias de objetos de particular interesse na cena) em nosso sistema de técnica anterior, acima descrito, corresponde a um ganho dependente de luma g(Y), por meio do qual componentes de RGB (lineares ou não lineares, nas respectivas modalidades possíveis) são multiplicados (porque se pode implementar a multiplicação de componente também nas redefinições da função de potência de RGB linear como, por exemplo, YCbCr). Então, se a luminância “errada” for estimada para uma cor (tendo teoricamente a mesma luminância que algum cinza acromático que precisa ser abrilhantado) como um luma diferente, essa cor pode receber o reforço “errado” levando, entre outras coisas, a uma aparência fluorescente de cores saturadas, como uma cor vermelha.
[0047] Uma terceira diferença importante em relação ao espaço de cores teórico da Figura 3 é que os componentes de cor CbCr não são cromaticidades, o que pode ser visto pelo fato que (além da limitação de gama no topo da metade superior) esse espaço de cores é cônico ao invés de cilíndrico.
[0048] A saturação não está se alterando com o aumento de Cb, mas propriamente com o ângulo a partir do eixo de luma acromático. Isso pode ser entendido tomando-se uma cor primária azul (ColBlu), isto é, com a máxima saturação reproduzível nesse sistema de cores dependente de tela, e aumentando-se sua luminância em direção ao azul mais brilhante possível (Blu). Sendo esse o mesmo tipo de cor azul saturada, sua cromaticidade e, portanto, sua saturação não serão alteradas, mas seu valor Cb aumentará com o luma (ou, de modo correspondente, com a luminância). Essa dependência de luminância é a razão de se chamar os componentes Cb e Cr de “crom-inância”, em que a primeira parte indica o fato de que codifica um aspecto de cor (o grau de azul de uma cor), mas a segunda parte indica que isso varia linearmente com o luma não linear. Pode-se, porém, alterar a saturação nesse tipo de representação de YCbCr multiplicando-se as crominâncias igualmente por um multiplicador de saturação constante (Sm):
[0049] Cb_out=Sm*Cb_in; Cr_out=Sm*Cr_in. O luma então não se altera, porque não é afetado por esse processamento, embora a luminância da cor se altere devido à propriedade de luminância não constante do luma (o que em muitas situações não é visto como problemático pelos usuários dos sistemas de processamento de cores, mas que pode sê-lo em alguns cenários de importância mais crítica). Alterar apenas a parte de luma, porém, não resulta em um comportamento de cromaticidade de cor constante, porque os componentes CbCr correspondem, então, à luminância “errada”, e portanto a uma cor de saturação diferente. Isso, contudo, pode ser corrigido de modo relativamente fácil, mediante a contracondução dos coeficientes de CbCr pela diferença similar em luma (ou luminância, em um processamento baseado em luminância, por exemplo um espaço YCbCr linear, ou as versões lineares incorporada em topologias não lineares, conforme descrito abaixo, etc.).
[0050] Os problemas de saturação na parte superior da gama, devido a seu estreitamento em direção ao branco máximo, ainda existem em qualquer sistema (e podem levar a erros de matiz), e é a isso que se referem as novas modalidades e ensinamentos do presente pedido.
[0051] Uma última coisa que é interessante como informação de antecedentes, para um total entendimento dos vários ensinamentos abaixo, é esclarecida na Figura 5.
[0052] A Figura 5 torna a resumir o hardware decodificador de HDR básico Technicolor-Philips (também conhecido como SLHDR1 respectivamente a SLHDR2) co- desenvolvido pelo requerente (sendo o codificador o processamento espelhado). Isso pode, de modo similar, ser conduzido de dois modos: modo 1, caso no qual a entrada é YCbCr baseado em PQ, isto é, que é calculada com base nas coordenadas de R’G’B’ não lineares sendo calculadas a partir das lineares com um OETF que é a função de quantificador perceptual SMPTE 2084, e a versão do modo 2, a qual esclarecemos aqui, caso no qual a entrada é cores de imagem YCbCr normais em SDR (isto é, decodificáveis de acordo com Rec. 709, ou por aproximação baseada em sqrt-OETF).
[0053] Note-se que, de modo similar a este exemplo, nossas modalidades podem ser implementadas tanto em um cálculo de espaço de cores em YCbCr linear (isto é baseado em RGB linear), como em um não linear, baseado na lei das potências, como o exemplo baseado em R’=sqrt(R) que descrevemos aqui.
[0054] Isso se deve ao fato de que os cálculos no espaço linear podem ser tornados equivalentes a cálculos baseados em potência, em particular a cálculos baseados em potência de raiz quadrada (sqrt), por exemplo: k*potência(a*sqrt(R)+b*sqrt(G);2)=potência(a*sqrt(k*R)+b*sqr t(k*G);2)
[0055] Então, isto significa que embora apliquemos o fator de ganho comum gNL aos componentes de RGB não lineares normalizados, R’G’B’_nrm, para obter as cores de pixel em HDR corretamente escurecidas, podemos realmente executar um processamento linear baseado em luminância totalmente separado (isto é, evitando os erros de brilho com cor fluorescente devido ao processamento de brilho baseado em luma de luminância não constante).
[0056] Isso pode ser visto pelo fato de que a parte do processamento de luminância do total do mapeamento de cores de SDR para HDR (o movimento para cima da cor de exemplo na Figura 3) pelo processador de luminância 501 recebe como entrada a luminância L do pixel atualmente processado.
[0057] Um conversor de espaço de cores 502 pode lidar com isto, estando disposto de modo a converter o luma Y de luminância não constante para luminância, o que pode ser feito de várias maneiras (por exemplo, os valores de R’G’B’ não lineares são convertidos para seus valores lineares mediante a aplicação do OETF inverso adequado, o assim chamado
EOTF e, então, a luminância L é calculada pela equação de definição linear adequada com base em valores de tripletos de RGB, conforme explicado acima).
[0058] O fator multiplicativo linear necessário para os três componentes de cor, gL, é obtido dividindo-se a luminância de saída normalizada, L_out, pela luminância de entrada normalizada, L.
[0059] Muito curiosamente, porém, embora se execute o processamento linear na luminância, pode-se especificar (e executar) o processamento realmente em uma versão não linear da luminância (devido ao canal de informações dividido exclusivo para luminância, isso pode ser formulado de maneira equivalente).
[0060] Neste exemplo mostramos o processamento em um domínio perceptualmente uniformizado, no qual pode ser mais natural que um classificador humano (ou autômato) especifique sua reclassificação de faixa dinâmica desejada. Para isso, um conversor de domínio 511 converte as luminâncias lineares em lumas perceptuais PY perceptualmente mais uniformes (por exemplo, mediante a aplicação de PQ OETF, ou da função patenteada pela Philips em WO2015007505, cujos ensinamentos estão aqui incorporados como potenciais ensinamentos de modalidade do presente pedido). O mapeador de luminância 512 executa o mapeamento das lumas perceptuais PY em SDR para lumas perceptuais de saída PY_O em HDR. Pode-se presumir, continuando o esclarecimento simplificado acima, que os lumas perceptuais corretos da imagem em HDR são obtidos mediante a aplicação de uma simples terceira lei de potência: PY_O=potência(PY;3) mas, em geral, o criador de conteúdo pode definir qualquer formato curvo complicado mais ótimo, o qual é lido a partir dos metadados co-comunicados SEI(F_ct), e por exemplo carregados em um LUT ou similar. Pode-se ver (o inverso do que foi explicado com a Figura 3 sobre como criar luminâncias de pixel de objeto correspondentes (realmente aqui calculadas como seus lumas correspondentes) para uma imagem de menor faixa dinâmica e, em particular, codificação de pico de brilho PB_C que a imagem de entrada) que é necessário escurecer a maioria das luminâncias relativas para se obter a aparência correspondente correta da imagem de faixa dinâmica mais alta (por exemplo, com PB_C=1.000 nit).
[0061] Depois disso, o segundo conversor de domínio 513 relineariza os lumas perceptuais, isto é, obtém as luminâncias em HDR L_out corretas.
[0062] Portanto, essa topologia é um modo poderoso de realizar alterações puras de luminância que preservam a cromaticidade de várias maneiras, conforme desejado (ao menos, isto é: contanto que o fator multiplicativo comum não reforce qualquer dos valores de R’G’B’ acima de seu máximo, o que sem limitação presumiremos que seja 1,0, que é o corte acima da gama explicado acima). O restante do circuito é uma modalidade que não tem importância crítica para o entendimento dos aspectos de nossa presente invenção, apresentados abaixo.
[0063] Uma outra cor LUT B(Y) pode ser carregada a partir dos metadados (pelo derivador de processamento cromático 520), fornecendo um fator B para cada luma Y de pixel para multiplicar os valores de CbCr conforme recebidos (pelo multiplicador 521), para obter valores de saída CbCr_COR mais adequados. Isso pode ser uma estratégia simples, ou uma mais complexa que também leva em consideração o valor V da cor, onde V=max(R’G’B’), ou V=max(R,G,B) no cenário linear. Finalmente,
uma matriz deriva os valores R’G’B’ normalizados R’G’B’_nrm. Estes estão na gama normalizada, conforme mostrado nas Figuras 3 e 4, mas distribuídos por raiz quadrada, pois ainda estão no domínio não linear das cores da imagem de entrada (Y_SDR, Cb,Cr). De fato, essas são as cores situadas em suas posições SDR (consulte a Figura 3: Col_out(SDR), porque neste exemplo as cores em SDR são as cores de entrada, em vez das cores de saída). Será necessário mapeá-las adequadamente para cada pixel no fator gNL correspondente, de modo que o multiplicador 530 possa multiplicar os três componentes de modo similar por aquele fator, a fim de obter as cores em HDR não lineares normalizadas, R’G’B’_HDR.
[0064] Então, o multiplicador 530 executa: R’_HDR= gNL*R’_nrm; G’_HDR= gNL*G’_nrm; B’_HDR= gNL*B’_nrm [Equações 1].
[0065] A mesma alteração de luminância pode também ser alternativamente implementada em outras representações de cor derivada baseada em função de potência, por exemplo Y’_HDR= gNL*Y’_nrm; Cb_HDR=gNL*Cb_nrm; Cr_HDR=gNL*Cr_nrm, sendo que Cb e Cr são definidos de acordo com sua equação usual baseada em R’G’B’, isto é, no exemplo essas seriam as crominâncias em SDR, porém normalizadas para
1. Note-se que, neste texto, o sinal primo indicaria que temos uma quantidade baseada em potência ½ (isto é, a clássica definição em Rec. 709 do luma não linear), e a ausência dos sinal primo tipicamente indica componentes de cor lineares normais, e um sinal primo duplo indica ainda outra possível definição em HDR dos componentes de cor, com R” tipicamente indicando R” = OETF_PQ(R). O leitor versado na técnica pode compreender em qual sistema definido são definidos os correspondentes Cb e Cr.
[0066] Finalmente, um condicionador de exibição 540 pode condicionar as cores para uma referência genérica (no caso de armazenamento, por exemplo) ou uma tela específica conectada. No exemplo anterior, o processamento pode ser muito simples para converter os valores de R’G’B’ definidos pela gama 1/(2.0) para lumas R’’G’’B’’_PQ definidas por PQ OETF. Nesse último exemplo, qualquer algoritmo específico de adaptação de exibição pode ser aplicado pelo condicionador de exibição 540 para obter em vez, por exemplo, do R’G’B’_HDR definido por PB_C de 5.000 nit, por exemplo os valores de R’’G’’B’’ otimizados de PB_D de 800 nit (é necessário que não seja mal entendido que, em outras modalidades, esta adaptação de exibição possa já acontecer no próprio processamento, em particular no processador de luminância 501). De fato, o condicionador de exibição pode produzir qualquer formato de sinal desejado pela tela conectada, e pode se comunicar para receber da tela informações sobre isso, antes de formar as cores de saída desejadas e o sinal que as codifica (por exemplo, através de cabo HDMI, ou por transmissão sem fio etc.).
[0067] O leitor pode ver que essa topologia tem algumas vantagens de várias visões de processamento de cores até agora mutuamente exclusivas: ela tem uma estrutura YCbCr, em particular que aceita cores de entrada YCbCr normais, e ainda assim também mostra todas as boas propriedades de processamento de cores linear, como a ausência de deslocamentos de matiz das cores normais (isto é, nas imagens em HDR, a maioria das cores fica bem abaixo do limite superior da gama, já que essas cores tipicamente codificam cores ultrabrilhantes, como cores de lâmpadas, que são frequentemente brancas incolores, ou ao menos não perturbam se são dessaturadas). Entretanto, o problema do mapeamento de cores acima da gama ainda existe, já que isso existe com qualquer espaço de cores de topo cônico (seja de base cônica ou de base cilíndrica). Isso não parece ocorrer em processamento por cubo de cores, como mapeamento de RGB não linear em canais separados, ao menos nessa representação é fácil evitar o transbordamento mas, conforme dito, nessas representações os erros de cor podem voltar devido a proporcionalidades alteradas dos componentes de cor.
[0068] O modo como se pode converter qualquer função (por exemplo o formato de função desejado e criado por um classificador humano) ou algoritmo de mapeamento da luminância em um único fator de ganho multiplicativo pela unidade de cálculo de ganho 514 é conforme exposto a seguir: suponha que a luminância de entrada seja, por exemplo, de 0,2 e a aplicação de todas as funções na unidade 501 (que em geral pode, entre as duas caixas terminais fazendo uma conversão de domínio, compreender qualquer número de processamentos levando a um resultado final) fornece uma luminância de saída de 0,4. Então, a unidade de cálculo de ganho 514 pode ser um simples divisor fornecendo o fator (domínio linear) gL como L_out/L.
[0069] A luminância de entrada L corresponderá aos componentes de cor de entrada, por exemplo o R,G,B linear. Multiplicar aqueles com o fator gL que, no exemplo, é igual a 2,0, produzirá os componentes de cor de saída corretos, que também têm a luminância de saída desejada correta. Caso os cálculos (isto é, o software ou a topologia IC) não ocorram no domínio linear, pode ser necessário um conversor se domínio de fator de ganho 515 que, neste exemplo no qual o processamento ocorre no domínio de SDR clássico com gama de 2,0, deveria aplicar uma função de raiz quadrada para obter o necessário fator de ganho não linear final gNL=sqrt(gL). Onde foi formulado que o mapeamento da luminância ocorre com a luminância como entrada, pode ser incorporada de modo similar uma formulação correspondente com luma como entrada, para a qual seria tipicamente usada a luma de gama 2,0 clássica. (Note-se que a dependência de V no processamento de cores da unidade 520 não é anteriormente ensinada, mas é útil em combinação com a presente invenção). A matemática de cor aplicada pelo matriciador de cores 523 para derivar as coordenadas R’G’B’_nrm normalizadas a partir de CbCr_COR não deveriam ser muito difíceis de entender para o versado na técnica de tecnologia de cores, e também não é realmente importante, pois nossos presentes ensinamentos trabalham em várias modalidades de cálculo de cor, isto é, se aquela parte está presente ou não, contanto que se possa derivar três componentes de cor que possam ser ajustados por luminância pelo fator g comum, aquela parte do processamento de cores está suficientemente presente, isto é, embora mostremos uma topologia de processamento de cores completa para decodificador de HDR, para os presentes ensinamentos é interessante a parte superior de 501.
[0070] WO2017/157977 também ensina aspectos da abordagem preferencial do presente requerente para reclassificação de luminância de vídeo em HDR e, em particular, algumas informações específicas sobre como tratar cores pretas ultraprofundas. Porém, em comum com a presente discussão, também ensina como se pode vantajosamente definir funções de mapeamento de luminância, as quais podem então ser aplicadas como uma multiplicação comum de um fator g correspondente pelos três componentes de cor de um pixel (linear ou não linear), por exemplo tipicamente YCbCr. O que esse pedido de patente não ensina é uma solução elegante para qualquer comportamento consequente acima da gama, caso isso venha a ser considerado condenável na prática (note-se que as imagens em HDR podem frequentemente conter cores relativamente escuras, as quais podem não criar problemas em SDR quando não são excessivamente reforçadas, e frequentemente algumas altas luzes acromáticas, as quais não representariam problemas psicovisuais se fossem cortadas). O que o especialista poderia tipicamente fazer, então, seria selecionar uma curva ligeiramente menos “agressiva” (isto é, com menos reforço de luminância de HDR para SDR), por exemplo escolher um coeficiente angular mais adequado para as luminâncias da imagem mais brilhante da função de mapeamento da luminância aplicada pelo ajustador de faixa dinâmica (DRA - “Dynamic Range Adjuster”) mencionado na Figura 12 do documento WO’977. Qualquer problema que represente suficiente preocupação será, então, tipicamente mitigado de modo suficiente, embora isso tipicamente traga algum outro efeito de imagem psicovisual (por exemplo, uma alteração do dito coeficiente angular do segmento linear superior também terá, tipicamente, um impacto sobre o formato da função abaixo, devido ao desejo por continuidade).
[0071] Assim, foi previsto pelo inventor oferecer uma nova solução técnica de processamento de cores com alteração de faixa dinâmica, ao mesmo tempo em que são mantidas algumas das boas propriedades de alguns cálculo de espaço de cor existentes e, em particular, que podem ser combinados com várias dentre as topologias de hardware ou software para alteração prática de faixa dinâmica, conforme descrito abaixo (e acima), e topologias similares.
Sumário da invenção
[0072] Conforme dito, o problema do mapeamento de cores próximo ao topo da gama de cores (de uma tela, tipicamente, embora não exclusivamente) é um problema complicado, o qual pode facilmente introduzir, por exemplo, erros de matiz (por exemplo uma cor se tornando mais esverdeada), razão pela qual o presente pedido ensina um novo método desse tipo de processamento de cores, adequado para o recém-emergente campo da manipulação de imagem de alta faixa dinâmica e a correspondente derivação de imagens com diferentes faixas dinâmicas (o que se pode presumir, por uma questão de simplicidade, que seja determinado principalmente pelo pico de brilho, PB_C), que em particular compreende um processador de luminância (501) disposto de modo a calcular uma luminância de saída de um pixel de uma imagem de saída (Im_LDR; Im3000nit) tendo uma segunda faixa dinâmica de luminância caracterizada por um segundo pico de brilho (PB_LDR; PB_MDR) a partir de uma luminância de entrada (L) de um pixel espacialmente colocado de uma imagem de entrada (MAST_HDR) tendo uma primeira faixa dinâmica de luminância caracterizada por um primeiro pico de brilho (PB_HDR), caracterizado por o processador de luminância compreender: - uma unidade de cálculo de ganho (514), disposta de modo a calcular um fator de multiplicação (gL), sendo esse fator de multiplicação definido para a luminância de entrada de qualquer cor de entrada de um pixel de imagem da imagem de entrada, com base em uma função de mapeamento da luminância (FLM) indicando como ajustar a luminância de entrada a fim de se tornar uma luminância de saída intermediária correspondente, mediante o cálculo do fator de multiplicação como a divisão de uma saída da função de mapeamento da luminância para a luminância de entrada, dividida por aquela luminância de entrada: gL=FLM(L)/L; - uma calculadora de transbordamento (602), disposta de modo a calcular uma medida de transbordamento (T) indicando quão acima de um limite superior da gama na cromaticidade da cor de entrada está a luminância de saída intermediária, sendo que essa luminância de saída intermediária resulta da aplicação do fator de multiplicação (gL) à cor de entrada; - uma unidade de modificação do fator de ganho (603), disposta de modo a determinar um fator de ganho alternativo mais baixo (F1(gL)), caso a medida de transbordamento seja maior que um limite (G) e disposta de modo a, caso contrário, manter o fator de ganho original, e disposta de modo a fornecer um dentre esses como um fator de ganho final (gF); e - um multiplicador (530), para multiplicar a cor de entrada (R’G’B’_nrm) pelo fator de ganho final (gF) a fim de obter uma cor de saída (R’G’B’_HDR) tendo a luminância de saída.
[0073] A imagem de saída pode tipicamente ser de uma faixa dinâmica mais baixa (isto é, com um valor de PB_C mais baixo), embora não exclusivamente, pois há cenários onde o problema do topo da gama (e consequentemente sua solução) existe também no aprimoramento de faixa dinâmica e, de qualquer modo, pode-se aplicar o processamento (por exemplo o mesmo IC) a ambas as situações pois, como uma estratégia de proteção, ele não será ativado se não for necessário (as cores não problemáticas são apenas processadas conforme especificado pelas funções F_ct de mapeamento de cores derivadas do lado de criação de conteúdo ou, em geral, as funções de mapeamento de cores são derivadas de qualquer maneira, por exemplo pelo próprio receptor, com base em análise de imagens.
[0074] A unidade de cálculo de ganho determina um fator de ganho multiplicativo (por exemplo, gL ou um fator relacionado ao mesmo), porque o mecanismo tipicamente funciona escalando de modo similar a luminância dos três componentes de cor (os quais naturalmente são os componentes de cor lineares vermelho, verde e azul para sistemas de reprodução aditiva de cores, como um televisor; ou funções de potência dos mesmos, como Y’CbCr, que pode ser calculado com base nas raízes quadradas dos componentes de RGB lineares, o que é uma aproximação bastante boa do OETF de vídeo legado da Rec. 709).
[0075] A potencial periculosidade da situação (porque, se por um lado as cores têm maior probabilidade de serem mapeadas acima do limite da gama de cores devido, por exemplo, ao cálculo de imagem em HDR para SDR se elas já forem brilhantes, mas também se forem cores de um tipo específico, como os azuis que sempre têm baixas luminâncias, então qualquer mapeamento de luminância que seja baseado na luminância de entrada que a cor do pixel tem é arriscado para esses azuis) pode, de acordo com a compreensão do inventor, ser bem julgada começando-se com o cálculo de V=max(R,G,B) da cor de entrada (ou max(R’, G’, B’), que é um pouco diferente em valor numérico, mas se comporta de modo similar, de acordo com os princípios desta abordagem), e então definindo-se uma medida de transbordamento baseada nisso. Embora várias medidas de transbordamento possam ser definidas para aplicar os mesmos princípios técnicos da invenção (corrigir onde, e até o ponto em que, for necessário), alguns dos quais não precisam usar V (como, por exemplo, por meio de uma tabela contendo as luminâncias superiores da gama para cada cromaticidade e calculando uma equação de distância), especialmente aplicar gL ao valor V multiplicando-se os dois é uma maneira elegante de incorporar a medida de transbordamento.
É necessário que isto não seja mal entendido pelo leitor como mecanismos que sempre aplicam o mapeamento da luminância com base nesse valor de intensidade V, isto é, V_out=F_Lt(V_in), como o que é ensinado em WO2014056679. Calcular um fator de ganho multiplicativo para, por exemplo, os componentes de RGB de acordo com uma especificação de reclassificação que funciona em V, ao invés da luminância L das cores de pixel sendo consecutivamente processadas sempre mapeia automaticamente dentro da gama, portanto não tem o problema atendido pela presente solução, mas isso vem com uma desvantagem de resultar em imagens mais escuras em SDR, potencialmente mais escuras do que seria preferencial.
É claro que, nas modalidades do presente sistema, pode-se também fazer uma função de mapeamento F_ct (/ inverso of FLM) mais conservadora baseada em luminância mais escura, mas as modalidades também têm o potencial para fazer uma função mais brilhante e resolver de outra maneira os problemas de mapeamento da luminância na área superior da gama.
As variantes mais básicas podem também querer cortar algumas das cores mais brilhantes para uma cor no limite superior da gama mas, tipicamente, garantidas com uma cromaticidade (ou pelo menos matiz) que é igual àquela da cor de entrada.
Isso cria meramente um abrilhantamento diferencial, o qual se aplica apenas a algumas das cores da imagem e, para algumas imagens (e especialmente quando se vai para uma faixa dinâmica que não é muito diferente, tipicamente mais baixa, do que a faixa dinâmica da imagem de entrada), pode haver apenas alguns poucos pixels que são cortados assim.
De fato, o que está no retângulo tracejado na parte inferior direita da Figura 6 pode ser visto como algum mecanismo de proteção.
Se ele realmente é um mecanismo de proteção, no sentido de que produz fatores g corrigidos a partir dos fatores g iniciais, depende do tipo de modalidade.
Em uma primeira classe de modalidades, o autômato ou o classificador humano no lado de criação de conteúdo determina relaxadamente alguma função de mapeamento da luminância de HDR para SDR (que se comporta adequadamente para a maioria das cores de imagem, por exemplo fornece uma aparência boa e corretamente brilhante das cores mais escuras das imagens da cena atual, e também para as cores dessaturadas perto do eixo acromático), e conta com que o mecanismo resolverá suficientemente os problemas para as (poucas) cores problemáticas, por exemplo algumas cores avermelhadas e alaranjadas brilhantes do céu no pôr do sol.
Isso tem a vantagem de que esse mecanismo pode determinar essa função de modo “rápido e sujo”, em vez de precisar especificar com detalhes consideráveis o que exatamente deveria acontecer em termos de mapeamento de cores para aquelas poucas cores de importância crítica no céu no pôr do sol, e isso pode, por exemplo, ser útil para codificação de conteúdo em tempo real.
Esse mecanismo ainda se desmonta em duas outras subcategorias, especificamente uma na qual o codificador determina os valores razoáveis para o próprio conteúdo (ou mesmo tem valores prefixados, os quais funcionam bem, em geral, na maioria dos cenários de cor de importância crítica, no sentido de que isso reduz a gravidade do erro de corte correspondente a não fazer nada), e uma segunda sub-categoria na qual o próprio lado de criação de conteúdo determina uma estratégia ótima. Modalidades tão simples podem usar uma variante muito simples, tendo por exemplo um valor-limite G fixo, digamos de 0,75 e, como uma alocação de ganho mais baixo alternativa, distribuir linearmente as luminâncias entre G (tipicamente abaixo de 1) e, por exemplo, 1,5 (por exemplo a cor de saída máxima intermediária para aquela cromaticidade, ou mesmo por todas as cromaticidades), para [G,1]), ou o mesmo com um limite G variável, passível de otimização pelo criador. E por exemplo com a Figura 11, esclarecemos como a segunda passagem de correção para suas uma ou mais funções de reclassificação inicialmente especificadas, as quais são mais ou menos boas, isto é, para a maioria dos pixels da imagem e para a aparência da imagem, o por exemplo classificador humano pode especificar um par ou mais de parâmetros definindo o mapeamento nas áreas superiores da gama de cores (sendo que o desejado tipicamente é deixar intocada a reclassificação nas partes mais baixas da gama de saída, isto é, conforme foi especificada pelo criador de conteúdo na função FLM). O limite G serve, de fato, como uma determinação otimizável ou ao menos razoável de um ponto na região superior da gama de saída, onde seria melhor que ocorresse a ação corretiva à reclassificação original.
[0076] Porém, deve ser visto que, como uma alternativa às modalidades “corretivas”, nas quais os parâmetros como rho etc. determinam um recálculo do fator g inicialmente determinado (isto é, por exemplo, gL baseado na função FLM e na luminância da presente cor), ao menos para as cores problemáticas que seriam mapeadas (significativamente) acima do limite superior da gama, o codificador pode também converter tudo aquilo em um conjunto de funções de processamento de cores final (ou mesmo os fatores g correspondentes ao mesmo) para aplicar no lado receptor. Isso pode ser feito, em particular se o lado de criação de conteúdo co-comunicar a função para mapear as cores nas áreas superiores da gama (tipicamente “diferencialmente” baseada no comportamento normal não corrigido). Nesse caso, a unidade de modificação do fator de ganho executa o teste quanto à aplicação ou não do mapeamento de luminância básico “padrão”, ou o mais avançado, exatamente conforme especificado pelo criador de conteúdo em sua função FADAP (e o leitor entende que o lado receptor, por exemplo uma TV, pode até mesmo fazer algumas ligeiras variações próprias nessa especificação mas, por uma questão de simplicidade do ensinamento, presumiremos que ela apenas segue o conhecimento de reclassificação do lado de criação conforme comunicado nos vários parâmetros de luminância da área superior da gama ou do mapeamento de cores em geral).
[0077] A calculadora de transbordamento (602) calcula uma medida de transbordamento T, que indica o quão crítica é a situação, isto é, quão perto do limite de gama e, consequentemente, do transbordamento está uma cor mapeada (isto é, após a aplicação do mapeamento da luminância como seu fator g) ou, especialmente interessante: quão acima do topo da gama está a cor mapeada e, portanto, quão seriamente é necessária uma correção (porque, conforme dito, a correção pode consistir meramente em escurecimento, mas essa pode não ser a melhor escolha para todos os tipos diferentes de imagem em HDR, especialmente se for necessário muito escurecimento, e conforme será mostrado abaixo, as modalidades podem também decidir fazer a correção de maneira diferente e mais avançada, por exemplo mediante a determinação de uma quantidade ótima de dessaturação de cor em adição a alguma quantidade menor de escurecimento). Em particular, as medidas de transbordamento abaixo do verdadeiro transbordamento (por exemplo, 90%) são úteis em modalidades que precisam de espaço para cores transbordadas também mediante a reclassificação de algumas cores adjacentes que, por si sós, não estão realmente transbordando, e isso é particularmente interessante em cenários que necessitam de processamento de cores invertível, como a codificação do modo 2, que codifica as imagens em HDR realmente como imagens em SDR reclassificadas correspondentes (portanto, ambas as imagens precisam conter detalhes suficientes para que sejam mapeáveis para imagens em HDR com qualidade suficiente, por funções que por si sós precisam ser boas também).
[0078] É vantajoso se o processador de luminância (501) compreender um meio de recepção de dados (689) disposto de modo a receber, através de uma rede (690), o limite (G) proveniente do criador de conteúdo. Outras modalidades do processador de luminância poderiam, por si sós, determinar um limite, por exemplo em um receptor de imagem em HDR, por exemplo mediante análise das propriedades daquela imagem (por exemplo mediante a observação de qual tipo de efeito de HDR existe, como quantos pixels, o tipo de estrutura na mesma, por exemplo com um caracterizador de textura, etc.). Versões mais simples podem até mesmo funcionar com um valor inicial fixo, ou ao menos padrão como, por exemplo, G=0,9. Entretanto, pode ser bastante vantajoso se o lado de criação do conteúdo puder ditar um valor de G ótimo para um filme inteiro, uma sequência de N imagens sucessivas da mesma cena, ou mesmo para uma única imagem de um momento. Então, não só uma análise de imagens mais complexa pode ser usada no lado de criação, como também um classificador humano pode especificar seu valor G com melhor funcionamento, por exemplo com a UI conforme mostrado na Figura 11. Com base em um único valor G, pode-se traçar estratégias de redeterminação de fator g, por exemplo com segmentos de função linear conforme exemplificado pela Figura 10.
[0079] É vantajoso se o processador de luminância (501) compreender um meio de recepção de dados (689) disposto de modo a receber, através de uma rede (690), uma função (FADAP) para determinar o fator de ganho alternativo proveniente do criador do conteúdo. Dessa maneira poderiam ser criadas, no lado de criação de conteúdo, funções de redeterminação de fator g bastante complexas, que levariam em conta as necessidades específicas do conteúdo, o que pode ser útil se houver conteúdo muito específico e de importância crítica nas áreas superiores da gama (por exemplo, um padrão de contraste suave escrito sobre uma lâmpada fluorescente comercial azul, e então a função de redeterminação poderia ter um formato de modo a tentar manter um coeficiente angular de contraste de luminância mais alto, ao menos em torno das luminâncias daqueles caracteres de texto). O classificador humano (ou mesmo um autômato) pode, por exemplo, identificar regiões de importância crítica nas partes mais brilhantes da imagem, as quais precisam de contraste suficiente após o mapeamento corretivo até as cores de saída finais, e ajustar o formato da função de FADAP, o que se iguala a ajustar como os fatores g finais distribuirão as cores acima da gama pretendidas mas não realizáveis pela região superior da gama.
Quando uma parte de uma nuvem começa a parecer muito esmaecida, o formato dessa função FADAP pode ser corrigido (ou parte da correção pode ser deslocada para o processamento de saturação).
[0080] Ensinamos aqui os aspectos de estrutura que permitem a determinação, a comunicação e a aplicação final dessa função de FADAP, já que o versado na técnica pode imaginar, a partir de nossos ensinamentos, que pode haver muitos aspectos de detalhes sobre como projetar o formato específico da função FADAP para cada conjunto específico de uma ou mais imagens consecutivas, ou classe de imagens etc. (por exemplo, em alguns casos o criador de conteúdo pode colocar uma ênfase importante no contraste da luminância de algum subconjunto das luminâncias mais brilhantes, refletindo isso no formato da função FADAP que determina a alocação das cores de entrada na região superior da gama de saída, com algumas cores específicas de objetos de cena ou de região de imagem ocupando mais do volume de gama disponível ao custo da exatidão de algumas outras cores). Com um simples exemplo esclarecedor quanto a um céu amarelo de um entardecer iluminado pelo sol, o leitor pode imaginar que, se for necessário reduzir parte do contraste local (que define os formatos das nuvens dos valores de cinza que as constituem), talvez abaixo do visível, ou ao menos dando uma impressão visual reduzida, que a alteração de um primeiro conjunto de valores de cinza (presumindo-se por uma questão de simplicidade seu mapeamento para um único valor) pode ter um impacto diferente sobre os formatos de nuvens, conforme visto, do que afetar um outro subconjunto de luminâncias (por exemplo, porque as primeiras luminâncias ocorrem em torno das bordas brilhantemente iluminadas de algumas nuvens importantes, e as segundas luminâncias determinam a aparência interna de algumas nuvens secundárias). Se a modalidade da FADAP descreve ao menos uma parte mais alta de uma função de luminância normal que, de modo similar à FLM pode ser convertida para o fator g mediante a divisão, ou é definida nos fatores g (g_out=FADAP(g_in)), é um detalhe que não importa para os princípios de permitir a definição de uma boa alternativa dentro das propriedades da presente nova estrutura.
[0081] Mesmo que uma função seja comunicada, para várias modalidades (por exemplo aquelas que permitem alteração do mecanismo de redeterminação prescrito no receptor; ou caracterizações parciais da função) ela ainda pode ser útil para também ainda comunicar o fator G.
[0082] É vantajoso se o processador de luminância (501) compreender um meio de recepção de dados (689) disposto de modo a receber do criador do conteúdo, através de uma rede (690), um parâmetro de corte (Vmx) especificando acima do qual é permitido o corte de cor com preservação de matiz, sendo o parâmetro de corte definido como um máximo de um componente de cor vermelho, verde e azul. Nesse caso, pode- se permitir que apenas algumas das cores se tornem por fim a mesma cor na imagem de saída, o que pode ser um bom nível ótimo para cenários não reversíveis, isto é, que não precisam redeterminar as cores originais a partir do que se tornou uma única cor. Isso pode funcionar com as outras estratégias (por exemplo, o escurecimento da luminância balanceado com dessaturação) abaixo do subconjunto de cores cortadas. Idealmente (e certamente para algumas aplicações), não seria feito corte algum, mas às vezes é um bom componente da reclassificação de imagem ótima, já que pode permitir por exemplo menos escurecimento ou dessaturação para algumas outras cores da imagem, o que pode ser especialmente útil se houver algumas regiões de importância crítica, por exemplo nas nuvens, as quais precisam de uma atenção acima da média, portanto um grande sub-volume da região superior da gama de saída.
[0083] Dependendo de como são configurados os parâmetros, várias ações arquetípicas podem ocorrer na imagem, e a gravidade disso depende do tipo de cena em HDR, portanto se quer selecionar otimamente entre as opções.
[0084] No caso mais simples, se poderia configurar G igual ao valor mais alto da gama (G=1,0), o que significaria simplesmente um corte duro para todas aquelas cores que são mapeadas acima do topo da gama e, ainda assim, de um modo que preservasse matiz e saturação. É claro que isso pode significar que várias cores que são inicialmente diferentes na imagem de entrada (digamos, tipicamente, a imagem em HDR) são mapeadas para a mesma cor na imagem de saída de faixa dinâmica mais baixa (tipicamente). Isso pode ser bastante aceitável se o único objeto que viola a condição de gama for, por exemplo, uma lâmpada fluorescente colorida, porque as diferenças em luminância provavelmente não são tão significativas semanticamente para acompanhar a história do filme ou vídeo, de qualquer modo (em particular se isso for apenas alguma lâmpada de decoração no plano de fundo, e a ação estiver ocorrendo em outro lugar). Sabendo que, de qualquer modo, nunca se pode obter um perfeito vermelho saturado e uma lâmpada fluorescente muito brilhante em SDR (razão pela qual as imagens em HDR têm um mérito), para esse tipo de cena é provavelmente muito mais ótimo apenas representar a totalidade da lâmpada fluorescente em SDR como um vermelho primário com máximo brilho ao invés de, por exemplo, significativamente dessaturar para ainda reter algumas diferenças de luminância dentro da região do tubo de luz (o que deixaria o tubo com uma feia cor rosada). Para um belo pôr de sol vermelho com muita estrutura das nuvens vermelho-acinzentadas, a decisão ótima pode ser bem diferente. Nesse caso, não se quer executar um corte duro demais, potencialmente destruindo muito da bela estrutura da nuvem. Isso poderia ser tratado ou escurecendo mais uniformemente todas as cores de pixel das nuvens, mas isso pode levar a um baixo valor G, ou introduzindo (também) um pouco de dessaturação. Porém o parâmetro Vmx permite que se especifique que ainda pode haver um pouco de corte também, mesmo quando “protegendo” a maior parte da estrutura de nuvem na imagem de faixa dinâmica mais baixa. No caso de se usar um método de tratamento de imagem reversível, como um sistema de comunicação baseado em codificação de modo 2, no qual as imagens em HDR precisam ser reconstruídas a partir de imagens recebidas em SDR em qualquer lado receptor, o valor de Vmx precisaria tipicamente ser tal que apenas alguns pixels são cortados perdendo a possibilidade de diferenciação (por exemplo, ao interior de uma lâmpada pode ser dado todo o mesmo valor 1023 na imagem em SDR, e isso ainda permitiria uma reconstrução em HDR que, embora matematicamente não seja exatamente idêntica à imagem mestre em HDR no lado de criação, visualmente ofereceria uma aproximação suficientemente parecida).
[0085] É muito útil que o processador de luminância (501), conforme reivindicado em uma das reivindicações acima compreendendo uma calculadora de mapeamento parcial (903) disposta de modo a determinar uma primeira fração de correção para a multiplicação pelo -(gL), e disposta de modo a determinar uma segunda fração de correção para determinar um multiplicador de saturação (S) para conduzir um cálculo de saturação de cores. A partir de nossa abordagem inovadora, conforme ensinada, o versado na técnica pode entender que uma distância precisa ser coberta a partir da cor original acima da gama reclassificada conforme idealmente pretendido, em direção ao limite de gama. Observando a Figura 8, o versado na técnica pode aprender e entender que se pode definir uma fração dessa distância (por exemplo, metade da mesma), e que se pode projetar um fator g alternativo que mapeia para a metade dessa distância, isto é, sem fazer um escurecimento total necessário para chegar abaixo do limite superior da gama para exatamente a cromaticidade de entrada ((matiz, saturação), ou (u,v)). Permanece então uma distância (ou, mais precisamente, um transbordamento) Arem a ser de algum modo coberto, de outro modo talvez o corte com preservação da cromaticidade possa ser ativado como reserva padrão, mas que pode não oferecer o melhor resultado visual para os objetos assim afetados nessa imagem. A distância remanescente em direção à cor no limite superior da gama pode ser coberta na direção ortogonal, isto é, fazendo um correspondente processamento de dessaturação.
[0086] O inventor descobriu que a necessária atenuação A (isto é, o correspondente fator de multiplicação para gL*V a fim de rebaixá-lo o suficiente para estar dentro da gama ou em seu limite) pode ser composta de maneira bem útil por uma primeira parte Arho, e uma parte restante Arem, as quais são definidas com um parâmetro rho, conforme exposto a seguir: Arho=potência(A; rho); Arem=potência(A; 1-rho) [Equações 2].
[0087] Essa especificação pode ser determinada com base em alguma cor com o pior resultado, e as outras cores são, então, tratadas de modo similar.
[0088] Isso pode relaxar consideravelmente a complexidade do mapeamento de redução de luminância, isto é, a função para redeterminar o fator g final gF para obter várias das cores em HDR de importância crítica, na faixa superior da imagem em faixa dinâmica mais baixa, em particular para situações que precisam de reversão das funções, como a codificação de HDR em modo 2, porque se pode, então, lidar com o problema restante, sendo que a cor intermediária ainda está acima do limite de gama com uma operação de dessaturação, ao invés de um escurecimento adicional, ou redução extrema do contraste ao usar uma outra função de redeterminação do formato de FADAP. Isso permite, novamente, muito mais liberdade para selecionar para cada efeito de HDR especial, como nuvens brilhantemente iluminadas perto do pôr do sol, ou um homem sendo ligeiramente visível em uma névoa brilhante (um homem-sombra), ou um exterior ensolarado visto através de uma janela, ou lâmpadas em uma discoteca ou feira sofisticada, etc., seja melhor fazer, de algum modo, uma redução um pouco maior do brilho nas cores mais escuras próximas da gama, ou uma maior redução do contraste da textura naquelas áreas, ou um pouco mais de redução da saturação. Opcionalmente, em vez da simples operação global deste algoritmo (que é relativamente simples de executar por um classificador humano, sem precisar gastar demasiado tempo de classificação, que é caro, ou mesmo por um autômato), em casos bastante complicados pode-se até mesmo enviar um número de conjuntos de parâmetros de processamento, e especificações da região do espaço de cores na qual aplicá-los (por exemplo um método para o pôr de sol vermelho, que é diferente daquele para uma área azul de lâmpada tubular na fachada de uma casa em contraluz no primeiro plano).
[0089] Novamente, pode ser muito vantajoso se o processador de luminância (501) compreender um meio de recepção de dados (689) disposto de modo a receber o valor de fração (rho) das equações acima proveniente do criador do conteúdo através de uma rede (690), em vez de um receptor ter que determinar por si mesmo um valor de rho ótimo, porque frequentemente o valor ótimo de um processamento técnico em imagens pode ser de natureza artística, isto é, poderia até mesmo ser uma questão de gosto se, para um primeiro belo pôr do sol, seu criador humano aceitar mais corte do que para um segundo (alguns classificadores apenas querem cores vívidas para seu visual, e outros querem padrões mais suaves e detalhados).
[0090] A reivindicação de espelho técnico do que um processador de luminância do lado receptor poderia ou deveria fazer, por fim, para obter as cores da imagem em faixa dinâmica mais baixa, caso os parâmetros do algoritmo sejam recebidos do lado de criação, é um sistema que precisa fazer esses parâmetros, por exemplo o limite G, ou a função FADAP, etc. Quaisquer ou todos dentre esses parâmetros poderiam ser configurados por um ser humano ou por um autômato (por exemplo, o autômato sugerindo uma boa configuração, a ser aprimorada pelo ser humano, se necessário, ou o ser humano apenas especificando qualquer valor sem haver a presença de um autômato analisador de imagens, etc.). O autômato pode identificar essas propriedades como coerência de regiões (por exemplo, se houver muitos valores como em uma textura detalhada, como um canteiro de flores visto de uma distância, ou poucos), calcular alguns contrastes contínuos em várias direções em várias regiões (por exemplo, no centro da imagem, que pode ser visualmente mais importante), executar alguns algoritmos de reconhecibilidade, de modo que uma elipse seja facilmente encaixável em um limite que evolui suavemente com muitos valores de cinza por meio de um encaixe “fuzzy”, versus mais difícil de obter uma boa elipse se o dito limite for arbitrariamente posterizado, resultando em um limite irregular, etc.).
[0091] Por exemplo, um codificador de vídeo de alta faixa dinâmica para codificar tipicamente os parâmetros necessários em metadados a serem enviados ou obtidos em conjunto com as imagens representando o vídeo em HDR pode compreender:
[0092] - uma entrada para receber uma imagem de entrada proveniente de uma fonte de imagem (1202);
[0093] - um codificador para codificar a imagem de entrada como uma imagem de saída, e para codificar ao menos uma função de mapeamento de luminância (F_Lt); caracterizado pelo codificador compreender um processador de avaliação de imagem (1210) disposto de modo a analisar as propriedades de cor de uma imagem do vídeo, a fim de determinar um limite (G) a ser aplicado por um processador de luminância conforme definido na reivindicação 1, e estando o codificador disposto de modo a fornecer, como metadados, esse limite (G). Um processador de luminância dos tipos descritos acima (e abaixo) pode estar compreendido, por exemplo, para ajudar o ser humano a ver que aparência terão suas escolhas no lado do decodificador, mas pode não necessariamente estar compreendido em codificadores automáticos (embora frequentemente possa, pois a análise automática de imagens pode então ser aplicada às uma ou mais imagens resultantes das uma ou mais seleções candidatas dos parâmetros, por exemplo um limite de G ótimo, por exemplo mediante a comparação de alguma métrica de qualidade de imagem, como contrastes, métricas de textura, etc. na imagem de entrada e na imagem de saída candidata testada).
[0094] Em geral, um codificador de vídeo de alta faixa dinâmica (1201) pode compreender: - uma entrada para receber uma imagem de entrada proveniente de uma fonte de imagem (1202);
[0095] um codificador para codificar a imagem de entrada como uma imagem de saída, e ao menos uma função de mapeamento de luminância (F_Lt); caracterizado pelo codificador compreender um processador de avaliação de imagens (1210), disposto de modo a analisar as propriedades de cor de uma imagem do vídeo, a fim de determinar ao menos um dentre os parâmetros que são: a) o limite (G) de acordo com os exemplos fornecidos para o uso de um limite ótimo (onde deixar as cores como estão, e onde começar a aplicar da melhor forma o algoritmo de mitigação com suas correspondentes não idealidades de cor), a função (FADAP), o parâmetro de corte (Vmx) e o valor de fração (rho) indicando a divisão e a quantidade de correção a ser tratada por escurecimento versus dessaturação, estando o codificador disposto de modo a fornecer, como metadados, ao menos um dentre esses parâmetros, de modo que o processador de luminância de qualquer receptor possa aplicar a correspondente reclassificação.
[0096] Novamente, dependendo da modalidade, talvez apenas um parâmetro seja realmente determinado e comunicado como, por exemplo, Vmx, caso no qual o lado receptor pode apenas determinar um mapeamento que faz a realocação das cores em uma faixa de luminâncias próxima ao limite superior da gama para cores que correspondem a um valor de intensidade V<=Vmx. Porém, se são comunicados três ou mais parâmetros, equações de balanceamento mais complexas podem ser usadas no lado receptor. Manter o número de parâmetros limitado a alguns dentre os mais importantes tem, é claro, vantagens como aquela de que o classificador humano, com alguns movimentos de um elemento deslizante ou um trackball pode configurar aqueles valores de situação que têm o maior impacto sobre a qualidade do resultado final. Os sistemas mais simples, porém, terão um autômato para determinar o pelo menos um parâmetro pois, em alguns cenários, não se tem mão de obra para fazer isso, ou pelo menos não se quer incomodar a equipe de produção com isso. Esse tipo de autômato pode executar análise de imagens, por exemplo detectar se a área de cores mais brilhantes (verificação de alto L e, especialmente, alto V) tem uma estrutura de variação de luminância espacial significativa, por exemplo mediante o uso de analisadores de textura. Além disso, várias modalidades pragmáticas podem trabalhar com uma avaliação de deterioração da qualidade de imagem. Isso pode ser tão simples quanto contar a quantidade ou a distribuição espacial de pixels cortados em alguns cenários, ou calcular medidas como, por exemplo, uma medida contínua de contraste quanto a variações de luminância das nuvens, antes versus depois do processamento do fator g redeterminado corretivo.
[0097] É claro que é especialmente interessante se esse lado de criação tiver um sistema codificador de vídeo de alta faixa dinâmica compreendendo um codificador de vídeo de alta faixa dinâmica conforme descrito, o qual está conectado a um meio de interface de usuário (1203) que permite que um classificador de cores humano (1204) especifique ao menos um dentre os parâmetros (G, rho, ou os parâmetros que especificam para nós a função de redeterminação de fator g, mais complexa, etc.) como saída do processador de avaliação de imagens (1210), sendo que o codificador de vídeo de alta faixa dinâmica compreende um processador de luminância (501) disposto de modo a calcular uma imagem de saída (Im_LDR; Im3000nit) que pode ser inspecionada em uma tela conectada (1220). O versado na técnica entende que isso pode ser incorporado de várias maneiras, por exemplo, em uma determinação semiautomática pode ser vantajoso se o processador de avaliação de imagens já vier com uma proposta para rho, G, etc., mas que o ser humano possa fazer ajustes finos nas mesmas ou, em algumas operações, possa até mesmo querer ignorar completamente a avaliação e definir por si mesmo os valores nos canais de saída, etc. O processador de luminância estará, nesses casos, dentro do codificador, para permitir que o ser humano veja o que a ação realmente fará, no lado receptor, e corrigir para outros parâmetros se aqueles funcionarem melhor na cena atual. A tela 1220 pode ser uma tela de referência com alto PB_D, por exemplo 10.000 nit, para que possa mostrar as imagens em SDR resultantes, bem como as muitas possíveis imagens em MDR resultantes, por exemplo no caso de PB_MDR = 3.000 nit, ela é capaz de mostrar luminâncias de pixel de até 3.000 nit.
[0098] Outras modalidades vantajosas são, entre outras:
[0099] Um decodificador de vídeo de alta faixa dinâmica (1300), que compreende:
- uma entrada para receber uma imagem de entrada e uma função de mapeamento de luminância (FLM); - uma segunda entrada disposta de modo a receber um valor de um limite (G); - um processador de luminância (501), conforme definido em qualquer uma das reivindicações 1 a 7, disposto de modo a calcular uma imagem de saída, mediante o uso da função de mapeamento de luminância (FLM) e do limite (G) para alterar as luminâncias dos pixels da imagem de entrada, a fim de produzir uma imagem de saída; e - uma saída para fornecer a imagem de saída.
[00100] Um decodificador de vídeo de alta faixa dinâmica (1300) compreendendo um processador de luminância (501) de acordo com qualquer das modalidades de processador de luminância ensinadas;
[00101] Um método de processamento de luminância para calcular uma luminância de saída de um pixel de uma imagem de saída (Im_LDR; Im3000nit) tendo uma segunda faixa dinâmica de luminância caracterizada por um segundo pico de brilho (PB_LDR; PB_MDR) proveniente de uma luminância de entrada de um pixel espacialmente colocado de uma imagem de entrada (MAST_HDR) tendo uma primeira faixa dinâmica de luminância caracterizada por um primeiro pico de brilho (PB_HDR), que compreende: - calcular um fator de multiplicação (gL) que é uma função da luminância de entrada e uma função de mapeamento da luminância (FLM); - calcular um valor de intensidade (V) que é o máximo dentre os três componentes de cor vermelho, verde e azul da cor do pixel da imagem de entrada, sendo que aqueles componentes são ou componentes lineares de cor vermelho, verde e azul ou uma potência daqueles componentes de cor lineares vermelho, verde e azul; - calcular uma medida de transbordamento (T), indicando quão perto do limite superior da gama está a luminância de saída; - determinar um fator de ganho alternativo (F1(gL)), caso a medida de transbordamento seja maior que um limite (G) e, caso contrário, manter o fator de ganho original, e fornecer um dentre esses como um fator de ganho final (gF); e multiplicar a cor de entrada (R’G’B’_nrm) pelo fator de ganho final (gF) a fim de obter uma cor de saída (R’G’B’_HDR) tendo a luminância de saída.
[00102] Um método de processamento de luminância para calcular uma luminância de saída de um pixel de uma imagem de saída (Im_LDR; Im3000nit) tendo uma segunda faixa dinâmica de luminância caracterizada por um segundo pico de brilho (PB_LDR; PB_MDR) proveniente de uma luminância de entrada de um pixel espacialmente colocado de uma imagem de entrada (MAST_HDR) tendo uma primeira faixa dinâmica de luminância caracterizada por um primeiro pico de brilho (PB_HDR), que compreende: - calcular um fator de multiplicação (gL), sendo esse fator de multiplicação definido para a luminância de entrada de qualquer cor de entrada de um pixel de imagem da imagem de entrada, com base em uma função de mapeamento da luminância (FLM) indicando como ajustar a luminância de entrada a fim de se tornar uma luminância de saída intermediária, mediante o cálculo do fator de multiplicação como a divisão de uma saída da função de mapeamento da luminância para a luminância de entrada, dividida por aquela luminância de entrada: gL=FLM(L)/L; - calcular uma medida de transbordamento (T) indicando quão acima de um limite superior da gama na cromaticidade da cor de entrada está a luminância de saída intermediária, sendo que essa luminância de saída intermediária resulta da aplicação do fator de multiplicação (gL) à cor de entrada; - determinar um fator de ganho alternativo mais baixo (F1(gL)), caso a medida de transbordamento seja maior que um limite (G) e, caso contrário, manter o fator de ganho original, e fornecer um dentre esses como um fator de ganho final (gF); e - multiplicar a cor de entrada (R’G’B’_nrm) pelo fator de ganho final (gF) a fim de obter uma cor de saída (R’G’B’_HDR) tendo a luminância de saída.
[00103] Um método de processamento de luminância que compreende receber do criador do conteúdo, através de qualquer rede conectada, ao menos um dentre os parâmetros ensinados, que são: a) o limite (G) acima do qual tem início o processamento de redeterminação, e onde as cores redeterminadas precisam comprimir-se para caber na gama de saída, b) a codificação paramétrica do formato da função específica (FADAP) desejada para executar a determinação do fator g (ou de qualquer equivalente do mesmo, como uma função do valor de intensidade V), c) o parâmetro de corte (Vmx), que ainda permite alguma quantidade de corte para as cores com maior violação, isto é, aquelas cores que se situam mais acima do limite superior da gama e, portanto, são as mais difíceis de remapear dentro da gama, e d) o valor de fração (rho), que permite especificar a divisão em duas estratégias de remapeamento parcial, um que recalcula as luminâncias de pixel, e um que recalcula as saturações de pixel, e aplicar esse ao menos um parâmetro no cálculo de luminância.
[00104] Um sinal de imagem em HDR, que compreende: - um conjunto compreendendo uma largura da imagem multiplicada pelas cores de pixels da altura da imagem; - ao menos uma função de mapeamento de luminância definindo como calcular, a partir da luminância de uma cor de pixel, uma luminância de saída, e sendo que ao menos um dentre os parâmetros é: a) o limite (G), b) o parâmetro de corte (Vmx) c) o valor de fração (rho); Um sinal de imagem em HDR, que compreende: - um conjunto compreendendo uma largura da imagem multiplicada pelas cores de pixels da altura da imagem; - ao menos uma função de mapeamento de luminância definindo como calcular, a partir da luminância de uma cor de pixel, uma luminância de saída, e adicionalmente compreendendo a função (FADAP).
[00105] Está claro que aqueles sinais incorporam a invenção nessas modalidades nas quais o valor, de por exemplo, G desempenha um importante papel no remapeamento de luminância específico que ocorrerá. O significado, o formato e a identificabilidade exclusiva desses metadados é um detalhe não tão relevante para este esclarecimento, já que o versado na técnica entenderá prontamente que o correto funcionamento da totalidade da cadeia (sendo que o sinal meramente faz a conexão entre o aparelho ou método de criação e de consumo) é tipicamente realizado mediante a adequada padronização dos metadados, por exemplo com espaços reservados acordados por um organismo de padronização como, por exemplo, ETSI (“European Telecommunications Standards Institute” - Instituto Europeu de Padrões para Telecomunicações), e com o aparelho de criação assegurando que o aparelho de recepção entenderá o formato mediante, por exemplo, a comunicação em um cabeçalho de que o sinal está sendo comunicado no formato ETSI SL_HDRxyz, etc. Breve descrição dos desenhos
[00106] Estes e outros aspectos do método e aparelho de acordo com a invenção serão evidentes a partir de e elucidados com referência às implementações e modalidades descritas deste ponto em diante do presente documento, e com referência aos desenhos em anexo, que servem meramente como ilustrações específicas não limitadoras que exemplificam os conceitos mais gerais, e nos quais traços são usados para indicar que um componente é opcional, em que componentes não indicados por traços não são necessariamente essenciais. Traços podem ser usados também para indicar elementos considerados essenciais, mas que estão ocultos no interior de um objeto, ou para itens intangíveis, como, por exemplo, seleções de objetos/regiões (e a maneira como podem ser mostrados em uma tela).
[00107] Nos desenhos:
[00108] A Figura 1 ilustra esquematicamente várias transformações de cor típicas que ocorrem quando é feito um mapeamento ótimo de uma imagem de alta faixa dinâmica para uma correspondente imagem em faixa dinâmica mais baixa com cor otimamente classificada e de aparência similar (tão similar quanto desejado e possível, dadas as diferenças entre a primeira e a segunda faixas dinâmicas DR_1 resp. DR_2), por exemplo uma imagem em faixa dinâmica padrão com pico de brilho de 100 nit que, no caso de reversibilidade (modo 2)
corresponderia também a um mapeamento de uma imagem em SDR conforme recebida, que realmente codifica a cena em HDR, para uma imagem em HDR reconstruída daquela cena;
[00109] a Figura 2 ilustra esquematicamente um exemplo de vista de satélite de uma tecnologia para codificar imagens de alta faixa dinâmica, isto é, imagens capazes de terem luminâncias de ao menos 700 nit (isto é, ao menos 7x o PB_C da imagem em SDR) tipicamente ou mais (tipicamente 1.000 nit ou mais), a qual o requerente desenvolveu recentemente, que pode realmente comunicar as uma ou mais imagens em HDR sob a forma de uma imagem em SDR mais metadados codificando funções de transformação de cores que compreendem ao menos uma transformação de luminância determinada adequada para as cores de pixel, a ser usada pelo decodificador para converter as uma ou mais imagens recebidas em SDR em uma ou mais imagens em HDR, as quais são uma fiel reconstrução das uma ou mais imagens mestre originais em HDR, criadas no lado de criação de imagens;
[00110] a Figura 3 mostra como uma mera alteração de luminância (isto é, sem alterações indesejadas de cromaticidade) das transformações de faixa dinâmica ocorrendo nesse tipo de decodificação (ou codificação) de HDR, e o tratamento tipicamente ocorre, por exemplo, na determinação de uma imagem de faixa dinâmica mais baixa do que a imagem de entrada, conforme mostrado em um espaço de cores teórico, com um plano de cromaticidade e um eixo de luminância L ortogonal;
[00111] a Figura 4 esclarece esquematicamente como as cores e o processamento de cores se comportam em um outro tipo de espaço de cores (com uma outra geometria), espaço esse que é o típico espaço de codificação de cores do vídeo:
YCbCr (onde Y pode, em princípio, ser a luminância linear L, ou luma Y’ de gama 2.0 não linear, ou mesmo algum outro luma definido com um outro OETF, como luma Y’’ baseado em PQ).
[00112] A Figura 5 (que não se destina a limitar) mostra um exemplo mais detalhado de como o requerente tipicamente gosta de executar a transformação de cores da unidade 202 ou 208 da Figura 2;
[00113] a Figura 6 mostra um esclarecimento genérico de alto nível de um aspecto primário que a presente invenção adiciona ao processamento de luminância de sistemas como, por exemplo, aquele mostrado nas Figuras 2 e 5;
[00114] a Figura 7 mostra parte do comportamento desse tipo de sistema e, em particular, o que a Figura 5 faria sem os elementos corretivos da Figura 6, em um espaço de cores de cromaticidade-luminância;
[00115] a Figura 8 mostra o comportamento de uma modalidade avançada, que soluciona o problema de mapeamento corretivo próximo ao topo da gama de cores do espaço de cores de saída, parcialmente por meio de uma operação de dessaturação;
[00116] a Figura 9 mostra, de modo genérico e esquemático, um exemplo de um processador de luminância que faz parte de um processador de cores tendo também um processador de saturação;
[00117] a Figura 10 mostra esquematicamente alguns exemplos para determinação de uma estratégia de mapeamento de cores corretivo para cores na parte superior da gama de cores, e as correspondentes funções baseadas em um valor de intensidade V sendo definido como o componente máximo dentre vermelho, verde e azul de uma cor, o que pode, de acordo com os presentes ensinamentos, ser formulado como um fator de ganho gF correspondente, em particular que pode ser um fator de ganho resultante que é um desvio de um fator de ganho inicial, apenas para cores próximas ao topo da gama;
[00118] a Figura 11 mostra uma interface de usuário que permite que um classificador humano em um lado de criação de conteúdo especifique alguns parâmetros simples mas poderosos, orientando aproximadamente ou especificando exatamente a luminância e, em geral, o processamento de cores das cores brilhantes próximas ao topo da gama por um processador de luminância, no lado receptor, de qualquer das variantes de acordo com os ensinamentos da presente invenção; e
[00119] a Figura 12 mostra esquematicamente um exemplo de possíveis codificadores automáticos, semiautomáticos ou manuais, os quais fornecem os parâmetros necessários para as variações do processador de luminância do lado decodificador, de acordo com as modalidades ensinadas.
[00120] A Figura 13 esclarece um decodificador de modo 2, de acordo com os princípios da presente invenção, correspondente ao codificador da Figura 9. Descrição detalhada das modalidades
[00121] O esclarecimento de nossas várias modalidades focaliza-se agora no processador de luminância (501) que faz parte da Figura 5, a qual é redesenhada em uma configuração mais elaborada para esclarecer os novos princípios da presente invenção na Figura 6.
[00122] Em primeiro lugar, embora esclareçamos presumindo que o processamento ocorre na luminância linear, isto é, a luminância L entra e sai (L_out), ainda que dentro daquela ramificação o processamento possa converter para um outro domínio de luma, como PQ, o mesmo pode também ser feito em outros domínios de luma, por exemplo tipicamente com o clássico luma da Rec. 709, isto é, sqrt(L) luma Y’ (isto é, o mapeamento da luminância de conversão da faixa dinâmica pelo mapeador de luminância 512 pode, em um cenário como esse, ser diretamente especificado como Y’_out=FLM*(Y’_in)).
[00123] Entretanto, nesse tipo de situação, é necessário tomar cuidado para que, em vez do luma de luminância não constante, seja calculado um correspondente luma de luminância constante (para assegurar que o processamento de luminância se comporte corretamente como um processamento de luminância linear, embora seja implementado no domínio da raiz quadrada, e nenhum erro devido à estimação equivocada da luminância em luma de luminância não constante incorreta ocorra, como casacos vermelho-fluorescentes etc.).
[00124] Lembre-se que a definição padrão de luma é Y’=a*sqrt(R)+b*sqrt(G)+c*sqrt(B), enquanto a definição de luma de luminância constante é Y’_CL=sqrt(L), com L=a*R+b*G+c*B.
[00125] Tipicamente, o processador de luminância de um decodificador de vídeo recebe entrada em YCbCr, portanto os componentes de cor de derivação natural a partir disso são R’G’B’ não linear. Um modo de derivar o luma de luminância constante é fazer com que o conversor de espaço de cores 502 calcule primeiro os componentes de RGB linear mediante a aplicação do EOTF adequado (isto é, R=EOTF_rec709(R’)=potência(R’;2), etc.), para então calcular L e então Y’_CL=sqrt(L).
[00126] Como a área de hardware ou o custo de processamento (/potência) não é ilimitado, pode haver atalhos, por exemplo:
[00127] Sqrt(potência(K;2)+potência(L;2)= aproximadamente max(K,L) se max(K,L)>4* min(K,L)
[00128] e = aproximadamente (7/8)* max(K,L)+(1/2)* max(K,L) de outro modo,
[00129] para quaisquer números K e L.
[00130] Portanto, pode-se usar isso para calcular diretamente o Y_CL a partir dos valores de valores de R’G’B’.
[00131] Embora V seja uma quantidade que cresce com a luminância L (ou, na representação de potência sqrt, com luma Y’), não está trivialmente relacionada a ela, mas tem a propriedade útil de ser uma medida de proximidade ao limite superior da gama e, em particular, que todas as cores no limite superior da gama têm um valor de intensidade máximo V=1,0 (para ir acima daquele limite, no caso de abrilhantamento, o maior dentre os componentes de cor, por exemplo azul, precisaria ir além de seu máximo normalizado, por exemplo B=1,1, o que é matematicamente possível, mas fisicamente impossível). Os componentes com numeração na casa dos 500 são similares aos da Figura 5, isto é, entre outras coisas eles executam o abrilhantamento de cores “normal”, isto é, conforme especificado na função de processamento de luminância FLM, e com o mecanismo de manipulação da área superior da gama da determinação do fator g ainda não acionado.
[00132] Suponhamos que o processador de luminância da Figura 6 esteja em um decodificador HDR, o qual recebe como entrada PB_C HDR de 5.000 nit codificado com cores de pixel em YCbCr (se a codificação for baseada em PQ, então o conversor executa a matemática correta para converter para luminância, e RGB linear no exemplo), e deriva por exemplo uma imagem em MDR a 900 nit e suas luminâncias. Também é calculado o valor de intensidade V, e vamos esclarecer com o exemplo onde são usados os componentes de cor lineares, portanto V = max(R,G,B).
[00133] Agora, curiosamente, o inventor se deu conta de que, embora a FLM de mapeamento conforme determinado pelo lado de criação se destine a ser aplicada à luminância L da cor do pixel (ou um processamento de cores de natureza equivalente é de fato executado, como multiplicando-se os componentes de RGB lineares pelo mesmo fator g de alteração de luminância gL), é interessante aplicá-la ao valor de intensidade V, pois então com cada cromaticidade de cor pode- se ver se irá mapear acima do limite de gama.
[00134] Isso pode ser visto na Figura 7. Um mapeamento da luminância se destina a mapear as cores com base em suas luminâncias, independentemente de suas cromaticidades, portanto podemos verificá-lo quanto a cores acromáticas no eixo de luminância. Supondo que tenhamos uma certa cor com uma luminância média Col_in da imagem em HDR de entrada, que se torna abrilhantada para Col_out (por exemplo para criar uma imagem em SDR ou em MDR) porque todas as cores precisam abrilhantar-se, especialmente as mais escuras, para que ainda se possa razoavelmente enxergar o que está ocorrendo no filme, nas renderizações em faixa dinâmica mais baixa, mas aquelas cores abrilhantadas forçarão todas as cores mais luminosas para cima também, devido à necessidade de manter a relação de luminância nas duas classificações, isto é, a imagem de saída versus a imagem de entrada.
[00135] Esse abrilhantamento é bastante descomplicado para cores cinzentas acromáticas, já que Col_out parece ainda estar bem dentro da gama de cores. Entretanto, se traçarmos linhas horizontais de equiluminância, vemos que mapear uma cor azul ColBluH com a mesma luminância das cores cinzentas em HDR Col_in para seu equivalente em LDR ColBluL, estaríamos mapeando acima da gama de cores, então algo precisaria acontecer em nosso processamento, ou o cortador automaticamente cortaria ao menos um componente de cor para 1,0, o que tipicamente envolveria erros consideráveis de cromaticidade, inclusive erros de matiz potencialmente desagradáveis.
[00136] Entretanto, ao traçar linhas equi-V (em traços grossos) pode-se ver essa situação, a cor azul de entrada ColBluH ainda está bem dentro da gama (por exemplo V=0,8), mas a cor de saída ColBluL tem, por exemplo, V=1,2, estando portanto acima de 1,0.
[00137] Agora, curiosamente, a medida V linear se comporta de modo similar proporcionalmente como L, então pode ser transformada pelo mesmo fator g:
[00138] Se R_out=gL*R_in; G_out=gL*G_in; B_out=gL*B_in, então max(R_out, G_out, B_out)=gL*V_in.
[00139] Então é realmente o valor de gL* o valor de (entrada de) V, o qual é calculado por 502 na Figura 6, que é o critério a observar, e isso é calculado na modalidade exemplificadora pelo multiplicador 602, e o resultado é chamado de valor de teste T.
[00140] Subsequentemente, a unidade de modificação do fator de ganho 603 usa esse valor em um teste para modificar o valor de ganho inicial derivado da função de classificação FLM, conforme localmente determinado pelo receptor ou recebido do lado de criação de conteúdo,
tipicamente junto com as reais imagens recebidas de acordo com algum formalismo de codificação de metadados de imagem.
[00141] Na modalidade mais simples, o limite G é igual a 1,0 (por exemplo fixado no processador de luminância).
[00142] Então, se as cores são mapeadas para T=gL(cor)*V(cor)<= 1,0, elas são realmente mapeadas dentro da gama e não há problema, portanto o mapeamento está bem como estava, e os ganhos iniciais gL são passados sem alteração como ganhos finais gF para executar a verdadeira alteração de cores de HDR para MDR nos componentes de RGB. Note-se que adicionamos (cor), para enfatizar que tanto o fator gL calculado, como o valor V dependem dos valores de componente de cor da cor do pixel atual.
[00143] Entretanto, se T>G=1,0, então temos um problema de transbordamento de gama, por exemplo quando gL*V é igual a 1,8.
[00144] Nesse caso, precisa ser aplicada uma função F1(gL) que garanta que a cor mapeada (e simultaneamente seu valor V) seja mapeada dentro da gama, ao menos para a maioria das cores (exceto, potencialmente, se foi determinado um valor Vmx, aquelas poucas cores às quais ainda é permitido um corte).
[00145] Uma simples função que pode ser determinada pelo decodificador (por exemplo, fixo no software ou nos circuitos de seu processador de luminância) pode ser a seguinte, para cada possível mapeamento fora de gama gL(cor)*V(cor):
[00146] Se T>G=1,0 então gF=gL*(1/T) [Equação 3].
[00147] Nesse caso de fato se vê que, se para alguma cor o valor T, quando se faz o mapeamento com o fator gL original para a cor de saída é, por exemplo, de 1,3, então mapear a mesma cor de entrada (e seu valor V) com um gF diferente que é gL/1,3 mapeará exatamente para um (e aplicar gF/1,8 para uma outra cor que mapeia para 1,8 fará o mesmo, etc.).
[00148] É claro que, embora preserve a cromaticidade, esta é uma estratégia bastante bruta (porém fácil para começar a explicação), ainda assim adequada em algumas situações, mas não tendo um funcionamento ótimo em tipos de imagem em HDR de importância mais crítica.
[00149] Além disso, pode ser vantajoso usar uma estratégia de mapeamento que ainda retenha diferenciabilidade entre as diferenças de luminância originais para todas as cores que inicialmente eram mapeadas acima do limite de gama, mediante a introdução de (ao menos) um valor-limite G. Esse valor-limite pode novamente ser determinado pelo processador de luminância do lado receptor, ou vantajosamente ser recebido e comunicado à unidade de modificação do fator de ganho 603 pelo meio de recepção de dados (689) disposto de modo a receber o limite (G) proveniente do criador do conteúdo através de uma rede (690), a qual o leitor versado na técnica pode entender como sendo qualquer sistema presente ou futuro de transmissão de imagens ou dados, por exemplo um canal de TV por satélite, a internet ou, para armazenamento embalado e prefixado, os valores G para imagens de vídeo consecutivas podem até mesmo ser armazenados por exemplo em um disco blu-ray e acessados por meio de um leitor de BD, etc.
[00150] Como as estratégias/funções de redeterminação de gL podem ser incorporadas é algo esclarecido com a Figura 10. Na Figura 10A, mostramos um exemplo onde o limite G é configurado para 0,9, e um mapeamento linear até Vmx. Realmente, pode haver algumas cores (talvez apenas algumas dezenas de pixels) que têm um valor gL*V que se torna mais alto do que Vmx até o mais alto na imagem, ou sequência de imagens sucessivas VmaxSCN, mas aquelas podem ser submetidas a um corte duro para uma cor no limite superior da gama com a mesma cromaticidade que a cor de entrada em HDR.
[00151] T_in é o valor V da cor mapeada com o fator gL inicial, e precisamos ter um mapeamento final com gF que resulte em valores de T_out até 1,0, correspondentes ao limite de gama. Abaixo de 0,9, o fator de ganho fica inalterado e, consequentemente, o valor T_out também será idêntico ao valor T_in (SEGPSS). O remapeamento entre G e Vmx pode ser formulado de muitas maneiras, e pode ser tão simples quanto um segmento linear (SEGADPT). O fator de atenuação A pode ser facilmente calculado a partir de uma representação nesse sistema de eixos geométricos, por exemplo, se a cor 2,5 precisa ser mapeada para 1,0, precisamos dividir gL por 2,5 etc.
[00152] Uma equação de cálculo exemplificadora para a atenuação A (a atenuação total somente na direção da luminância) é: A(T)= (T>G?) 1/{1+[(Vmx-1)/(Vmx-G)]*(T-G)}: 1 [Equação 4]
[00153] Pode ser visto que, se T=Vmx, então A(T) se torna 1/Vmx, etc.
[00154] Curiosamente, a Figura 10B mostra a situação na qual parte da questão de gama acima é resolvida por dessaturação. Nesse caso, as cores sendo mapeadas inicialmente para Vmx podem ser mapeadas para y.x>1,0, por exemplo 1,9 (provavelmente não muito acima do limite de gama, para não ser necessária muita dessaturação), porque aquele restante de transbordamento é mostrado na direção de saturação.
[00155] Isso é mostrado no gráfico de gama de cores da Figura 8. A atenuação total A levaria uma cor mapeada ao limite de gama. Entretanto, mediante a definição do parâmetro rho como acima, pode-se mapear para uma posição intermediária e, então, deslocar horizontalmente até ColOut mediante dessaturação.
[00156] O parâmetro rho pode ser pesado para que seja uma quantidade ótima entre o efeito prejudicial do escurecimento versus o efeito prejudicial da dessaturação, por exemplo pelo classificador humano posicionando o elemento deslizante 1101 em sua posição preferencial entre 0 e 1. Ou algumas modalidades podem ter uma configuração fixa, por exemplo rho=1/2, etc.
[00157] O parâmetro multiplicativo necessário na dessaturação pode ser calculado da seguinte forma:
[00158] S= (Vinterm*Arem-Y)/(Vinterm -Y)=(1- Y)/(Vinterm-Y) [Equação 5], onde Vinterm é a altura ainda acima do limite de gama, após executar a parte de escurecimento da luminância, e Y é, por exemplo, a luminância intermediária no exemplo linear (isto é, Li na Figura 9). É claro que estratégias de dessaturação mais complexas podem ser usadas, se for desejado (com S não constante, isto é, uma dessaturação que pode variar ao longo do espaço de cores), especialmente se forem comunicadas ao lado receptor (ao menos sistemas reversíveis como o modo de comunicação 2 HDR-como- SDR deveriam saber tudo para reconstruir).
[00159] Um exemplo de uma arquitetura de processamento (e modalidade avançada de processador de luminância conectada a uma unidade de saturação) em um codificador capaz de implementar esse tipo de estratégia de correção é mostrada na Figura 9. Em princípio, pode-se escolher executar o processamento de saturação e o processamento de luminância em ordem oposta, conforme desejado, mas para a ordem escolhida, o decodificador precisa inverter a ordem (assim, se o codificador primeiro executar o mapeamento de luminância e, então, a dessaturação, o decodificador reverso fará primeiro a correspondente ressaturação e, então, o mapeamento da luminância). Note-se que, se Vinterm e Y forem conhecidos, o S será conhecido (seja para dessaturação ou ressaturação) se Arem for conhecido, o qual é por exemplo comunicado pelo lado de criação por meio do parâmetro rho.
[00160] A atenuação A(T) no lado do decodificador pode ser calculada como: A(T)= (T>G)? {1-[(Vmx-1)/(Vmx-G)]*G}/{1-[(Vmx- 1)/(Vmx-G)]*T}:1 [Equação 6]
[00161] A calculadora de mapeamento parcial 903 agora determina um fator de atenuação Arho para multiplicar por gL no multiplicador 902, a fim de obter o gF final adequado para escurecimento parcial da luminância, executado pelo multiplicador 910 no trio RGB, juntamente com a luminância que precisa se tornar a luminância intermediária Li para a etapa posterior de dessaturação pelo dessaturador 911. A unidade de determinação do fator de saturação 901 pode determinar o fator de saturação S(V,Y,Arem) necessário, por exemplo de acordo com a Equação 5, para que o processador de saturação 911 o aplique, em uma dessaturação com preservação de luminância de acordo com as Equações 7: Ro=Li+S*(Ri- Li); Go= Li +S*(Gi- Li); Bo= Li +S*(Bi- Li).
[00162] Aqueles componentes de cor de saída são, então, os componentes de cor corretos para, por exemplo, a cor em SDR (ou a cor em MDR) derivada das cores da imagem em HDR de entrada.
[00163] Note-se que o leitor precisa entender que, ao fazer o rebaixamento tanto no codificador como no decodificador (isto é, a situação de modo i, na qual realmente a própria imagem em HDR é comunicada aos receptores, tipicamente com valores de R’’G’’B’’ não lineares submetidos a PQ-OETF ou, tipicamente, porque a codificação de vídeo passará por compressão padrão, por exemplo HEVC, dos componentes de cor YCbCr correspondentes), tanto o codificador como o decodificador transformarão as cores na mesma direção de rebaixamento, de modo que NÃO haja reversão da ordem de processamento de cores no decodificador (pode-se imaginar que o codificador, neste caso, apenas faça a transformação para verificar o comportamento posterior do decodificador, com escolhas de parâmetros selecionados).
[00164] Entretanto, na imagem em HDR ou codificação de vídeo reversível, isto é, no modo 2 que codifica as imagens como imagens em SDR, onde o codificador cria aquelas mediante rebaixamento, o decodificador recria uma boa aproximação das imagens mestre em HDR mediante aprimoramento, isto é, na direção oposta.
[00165] Então o decodificador se altera um pouco, conforme é explicado na Figura 13.
[00166] Note-se a ordem oposta da saturação (911) e do abrilhantamento (multiplicador 910), o que agora ocorre com 1/gF, mas é o mesmo fator g parcial que rebaixou a cor inicial acima da gama ColBluL para a luminância intermediária da cor final ColOut, que será o resultado intermediário para reforço da luminância novamente por aquele mesmo fator. Temos usado, agora, o sufixo s para indicar que, nesse cenário, as cores RsGsBs e a luminância Ls de entrada são cores em SDR, e as cores RoH, GoH, BoH de saída são da imagem reconstruída em HDR (de acordo com o inovador tratamento ótimo das cores de importância crítica próximas ao limite superior da gama). Note- se também o multiplicador extra 1301, porque a posição intermediária da luminância não é a posição inicial, e agora é usada na trajetória de determinação do fator g.
[00167] A Figura 11 mostra um exemplo de uma interface de usuário que pode ser usada para que um classificador humano crie os parâmetros, os quais podem ser tão simples quanto apenas três valores G, rho e Vmx.
[00168] O rho pode, por exemplo ser configurado por um elemento deslizante, por exemplo o autômato de um método semiautomático determinou que uma configuração de 0,25 era ótima, mas o usuário gosta mais de 0,2 ou 0,3.
[00169] Ele tem, também, outros dois elementos de deslocamento, 1103 resp. 1103, para configurar os valores Vmx e G, por exemplo em um gráfico de gama de cores. Pode haver também uma vista 1110 da imagem sendo processada, por exemplo uma imagem representativa da cena em HDR imageada em uma sequência de sucessivas imagens de vídeo, nas quais pode haver indicadores automaticamente gerados 1111 para rapidamente chamar a atenção do classificador. Por exemplo, o autômato calculou que, nessa região (as nuvens ensolaradas) está ocorrendo uma significativa redução de contraste da textura (talvez até mesmo um corte duro), e a interface de usuário pode, por exemplo, mostrar um contorno vermelho piscante em torno daquela região.
[00170] A Figura 12 mostra um exemplo de um sistema de codificação com o codificador 1201 (o qual pode tanto codificar imagens em HDR de acordo com qualquer modo anteriormente descrito, como também determinar uma saída dos presentes novos parâmetros rho, G, Vmx, ou uma função para redeterminar os fatores g em um lado receptor), no qual o classificador de cores criador de conteúdo 1204 pode fazer seu trabalho de classificação, ao menos a determinação de um parâmetro de acordo com a presente invenção, por exemplo G ou rho. Ele pode verificar na tela 1220 o que está ocorrendo, pois o processador de luminância 501 aplica o processamento (isto é, rebaixando diretamente no modo 1, e tipicamente toda a cadeia de codificação+decodificação compreendendo aprimoramento reverso no modo 2) para mostrar o resultado da escolha do classificador quanto a, por exemplo, rho por meio da interface de usuário 1203, que pode tipicamente ser um painel de classificação, e um software alocando por exemplo a alteração de rho a um trackball. As imagens vêm de qualquer armazenamento de imagens 1202, por exemplo um disco rígido em um servidor etc. ou, em alguns casos, até mesmo de uma transmissão de fluxo contínuo em tempo real. O processador de avaliação de imagens 1210 pode executar todos os tipos de análise de imagens para chegar a propostas de rho, G etc. e, em modalidades automáticas, essa será a única unidade determinando aqueles parâmetros.
[00171] Um codificador de vídeo de alta faixa dinâmica (1201) pode usar o processador de luminância para ajudar o classificador de cores humano a determinar os valores adequados para os vários parâmetros que controlam qualquer modalidade desse algoritmo de alteração de luminância (por exemplo, quando compreendido em um decodificador recebendo aqueles parâmetros como parâmetros de controle em metadados através de alguma conexão de dados ou vídeo). Para comunicar qualquer desses parâmetros de controle, o codificador de vídeo em HDR pode compreender: - uma entrada para receber uma imagem de entrada proveniente de uma fonte de imagem (1202); - um codificador para codificar a imagem de entrada como uma imagem de saída, e ao menos uma função de mapeamento de luminância (F_Lt); - um processador de avaliação de imagens (1210), disposto de modo a analisar as propriedades de cor de uma imagem do vídeo, a fim de determinar ao menos um dentre os parâmetros que são: a) o limite (G) indicando acima do qual algum ganho final alternativo gF deveria ser usado, e abaixo do qual o ganho original correspondente à função de mapeamento da luminância FLM é adequado para reclassificação de faixa dinâmica da imagem atual, considerando-se as especificidades de distribuição de luminância do objeto ou do pixel, b) a função (FADAP), útil para determinar um ganho alternativo para as cores mais brilhantes da imagem a ser processada, c) o parâmetro de corte (Vmx) indicando a partir de qual luminância de entrada (após a reclassificação de luminância) é permitido o corte, porém um corte com preservação da cromaticidade (caso esse efeito seja desejado), e d) o valor de fração (rho) que determina a divisão do intervalo de correção em direção à gama a ser tratada por escurecimento versus dessaturação, por exemplo 40% da distância de luminância restando após a aplicação do gF final e a ser processada por dessaturação, para ao menos garantir a conservação do matiz da cor de entrada do pixel, e estando o codificador disposto de modo a fornecer, sob a forma de metadados, esse ao menos um dentre os parâmetros.
O versado na técnica pode, a partir de todos os presentes ensinamentos, entender como, similar a por exemplo, determinar um valor G adequado, acima do qual alguma correção precisa ser aplicada à alteração de luminância original baseada em FLM e determinada por fator g (seja com total conservação de matiz ou com algum erro restante de corte de matiz, mas tipicamente pequeno e muito menor do que quando não são aplicados os presentes princípios de correção acima da gama), por exemplo por um ser humano observando o quanto um céu do entardecer iluminado pelo sol com nuvens pode ser deteriorado no modo definido (por exemplo, com uma estratégia simples pré-combinada, que o lado codificador sabe que o lado decodificador aplicará no caso de uma FADAP não ser comunicada), também os outros parâmetros podem ser determinados.
Por exemplo, o classificador de cores humano pode usar a UI para desenhar um formato da parte superior da função FADAP para usar a fim de determinar os valores gF para as cores mais brilhantes de modo que, por exemplo, eles não escureçam demais ao menos algumas cores da imagem, ou não reduzam ao menos algumas luminâncias que alguns pixels têm em algumas partes das nuvens, de um modo que deteriore demais a textura visível dessas nuvens etc.
Além disso, um autômato pode julgar a aplicação de algum corte com base no cálculo de, por exemplo, contrastes entre vários conjuntos de pixels conectados em uma região estimada como sendo interessante ou de importância crítica, como as ditas nuvens (as quais podem ser identificadas com base, por exemplo, em outras medidas de textura, como uma medida de baixa atividade, o que indica que gradientes suaves no céu podem mais facilmente exibir artefatos do que regiões de textura multicoloridas de alta frequência, como um canteiro de flores visto à distância, etc.). Porém, caso o codificador puramente use algoritmos de análise automática de imagens, não é necessário que compreenda um processador de luminância para realmente mostrar qualquer resultado escolhido ao ser humano criando o conteúdo de vídeo.
[00172] De modo similar, um método de processamento de luminância pode compreender receber do criador do conteúdo, através de qualquer rede conectada (sendo a rede claramente passível de uso no sentido mais amplo), ao menos um dentre os parâmetros que são: a) o limite (G), a função (FADAP), o parâmetro de corte (Vmx) e o valor de fração (rho), separados ou em qualquer combinação de parâmetros dependendo das necessidades da modalidade de alteração de luminância específica, e aplicar esse ao menos um parâmetro e seu cálculo de luminância.
[00173] Os componentes algorítmicos aqui revelados podem (inteira ou parcialmente) ser obtidos na prática como hardware (por exemplo, partes de um CI específico de aplicação), ou como software executado em um processador de sinal digital especial, ou um processador genérico etc.
[00174] O versado na técnica compreenderá, a partir da presente apresentação, quais componentes podem ser aprimoramentos opcionais e podem ser concebidos em combinação com outros componentes, e como as etapas (opcionais) dos métodos correspondem aos respectivos meios de aparelhos, e vice-versa. A palavra “aparelho” neste pedido é usada em seu sentido mais amplo, a saber, um grupo de meios que permitem alcançar um objetivo específico, e podem, assim, ser (uma pequena parte do circuito de) um CI, ou um aparelho dedicado (como um aparelho com uma tela), ou parte de um sistema ligado em rede, entre outras coisas. O termo “disposição” destina-se também a ser usado em seu sentido mais amplo, de modo a compreender, entre outras coisas, um único aparelho, uma parte de um aparelho, um conjunto de (partes de) aparelhos que operam em conjunto, etc.
[00175] A denotação de produto de programa de computador deve ser entendida como abrangendo qualquer concretização física de um conjunto de comandos que permitem que um processador para fins genéricos ou especiais, após uma série de etapas de carga (que podem incluir etapas de conversão intermediárias, como tradução para uma linguagem intermediária, e uma linguagem de processador final) insira os comandos no processador e executar qualquer uma das características da invenção. Em particular, o produto de programa de computador pode ser concebido como dados em um portador, como, por exemplo, um disco ou fita, dados presentes em uma memória, dados se deslocando através de uma conexão de rede - com fio ou sem fio - ou código de programa em papel. Além do código de programa, dados característicos necessários para o programa podem também ser incorporados sob a forma de um produto de programa de computador.
[00176] Algumas das etapas necessárias para a operação do método podem já estar presentes na funcionalidade do processador em vez de descritas no produto de programa de computador, como as etapas de entrada de dados e de saída de dados.
[00177] Deve-se notar que as modalidades mencionadas acima ilustram, e não limitam, a invenção. Nos pontos onde o versado na técnica puder realizar facilmente um mapeamento dos exemplos apresentados para outras regiões das reivindicações, por uma questão de concisão, nem todas as opções foram mencionadas em profundidade. Além das combinações de elementos da invenção, conforme combinados nas reivindicações, outras combinações dos elementos são possíveis. Qualquer combinação de elementos pode ser executada em um único elemento dedicado.
[00178] Qualquer sinal de referência entre parênteses na reivindicação não se destina a limitar a reivindicação. O uso do verbo “compreender” e suas conjugações não exclui a presença de elementos ou aspectos não mencionados em qualquer uma das reivindicações. O artigo indefinido “um” ou “uma” antes de um elemento não exclui a presença de uma pluralidade de tais elementos.

Claims (13)

REIVINDICAÇÕES
1. PROCESSADOR DE LUMINÂNCIA (501), disposto de modo a calcular uma luminância de saída de um pixel de uma imagem de saída (Im_LDR; Im3000nit) tendo uma segunda faixa dinâmica de luminância caracterizada por um segundo pico de brilho (PB_LDR; PB_MDR) proveniente de uma luminância (L) de entrada de um pixel espacialmente colocado de uma imagem de entrada (MAST_HDR) tendo uma primeira faixa dinâmica de luminância definida por um primeiro pico de brilho (PB_HDR), o processador de luminância compreende: - uma unidade de cálculo de ganho (514), disposta de modo a calcular um fator de multiplicação (gL), sendo esse fator de multiplicação definido para a luminância de entrada de qualquer cor de entrada de um pixel de imagem da imagem de entrada, com base em uma função de mapeamento da luminância (FLM) indicando como ajustar a luminância de entrada a fim de se tornar uma luminância de saída intermediária correspondente, mediante o cálculo do fator de multiplicação como a divisão de uma saída da função de mapeamento da luminância para a luminância de entrada, dividida por aquela luminância de entrada: gL=FLM(L)/L; - uma calculadora de transbordamento (602), disposta de modo a calcular uma medida de transbordamento (T) indicando quão acima de um limite superior da gama na cromaticidade da cor de entrada está a luminância de saída intermediária, sendo que essa luminância de saída intermediária resulta da aplicação do fator de multiplicação (gL) aos respectivos componentes de cor que definem a cor de entrada; - uma unidade de modificação do fator de ganho (603), disposta de modo a determinar um fator de ganho alternativo mais baixo (F1(gL)), caso a medida de transbordamento seja maior que um limite (G) e disposta de modo a, caso contrário, manter o fator de multiplicação (gL), e disposta de modo a fornecer como um fator de ganho final (gF) o fator de ganho alternativo mais baixo (F1(gL)), caso a medida de transbordamento seja maior que um limite (G) ou, caso contrário, o fator de multiplicação (gL); e - um multiplicador (530), para multiplicar os respectivos componentes da cor de entrada (R’G’B’_nrm) pelo fator de ganho final (gF) a fim de obter os respectivos componentes da cor de saída (R’G’B’_HDR) que tem a luminância de saída.
2. PROCESSADOR DE LUMINÂNCIA (501), de acordo com a reivindicação 1, caracterizado por compreender um meio de recepção de dados (689) disposto de modo a receber, através de uma rede (690), o limite (G) proveniente do criador do conteúdo.
3. PROCESSADOR DE LUMINÂNCIA (501), de acordo com qualquer uma das reivindicações 1 ou 2, caracterizado por compreender um meio de recepção de dados (689) disposto de modo a receber, através de uma rede (690), uma função (FADAP) para determinar o fator de ganho alternativo proveniente do criador do conteúdo.
4. PROCESSADOR DE LUMINÂNCIA (501), de acordo com qualquer uma das reivindicações anteriores, caracterizado por compreender um meio de recepção de dados (689) disposto de modo a receber do criador do conteúdo, através de uma rede (690), um parâmetro de corte (Vmx), o qual indica quão acima de um limite superior de gama está situada uma cor, sendo o parâmetro de corte definido como o máximo dentre os componentes de cor vermelho, verde e azul da dita cor, especificando que, para luminâncias de cor situadas acima desse parâmetro de corte é permitido corte de cor com preservação de matiz.
5. PROCESSADOR DE LUMINÂNCIA (501), de acordo com qualquer uma das reivindicações anteriores, caracterizado por compreender uma calculadora de mapeamento parcial (903) disposta de modo a determinar uma primeira fração de correção da cor de entrada em direção ao limite de gama necessário para chegar a uma cor realizável dentro da gama, cuja primeira fração de correção precisa ser tratada mediante multiplicação pelo fator de multiplicação final (gF), e disposta de modo a determinar uma segunda fração restante de correção para determinar um multiplicador de saturação (S) para conduzir um cálculo de saturação de cores.
6. PROCESSADOR DE LUMINÂNCIA (501), de acordo com a reivindicação 5, caracterizado por compreender um meio de recepção de dados (689) disposto de modo a receber, através de uma rede (690), um valor de fração (rho) proveniente do criador do conteúdo, o qual determina a primeira e a segunda frações de correção.
7. PROCESSADOR DE LUMINÂNCIA (501), de acordo com qualquer uma das reivindicações anteriores, caracterizado pela medida de transbordamento (T) ser calculada como o valor mais alto dos componentes de cor vermelho, verde e azul da cor de um pixel, multiplicado pelo fator de multiplicação (gL).
8. CODIFICADOR DE VÍDEO DE ALTA FAIXA DINÂMICA (1201), compreendendo: - uma entrada para receber uma imagem de entrada proveniente de uma fonte de imagem (1202); - um codificador para codificar a imagem de entrada como uma imagem de saída, e para codificar ao menos uma função de mapeamento de luminância (F_Lt); caracterizado pelo codificador compreender um processador de avaliação de imagem (1210) disposto de modo a analisar as propriedades de cor de uma imagem do vídeo, a fim de determinar um limite (G) a ser aplicado por um processador de luminância conforme definido na reivindicação 1, e estando o codificador disposto de modo a fornecer, como metadados, esse limite (G).
9. SISTEMA CODIFICADOR DE VÍDEO DE ALTA FAIXA DINÂMICA, caracterizado por compreender: - uma interface de usuário (1203) que permite a um classificador de cores humano (1204) especificar um valor do limite (G) conforme definido na reivindicação 1; - um processador de luminância (501), conforme definido na reivindicação 1, adicionalmente disposto de modo a receber e usar o valor do limite (G) especificado pelo classificador de cores humano, e conectado a uma tela (1220) para exibir a imagem de saída do processador de luminância; e sendo que o sistema codificador de vídeo de alta faixa dinâmica compreende adicionalmente um codificador disposto de modo a codificar e fornecer o limite (G).
10. DECODIFICADOR DE VÍDEO DE ALTA FAIXA DINÂMICA (1300), caracterizado por compreender: - uma entrada para receber uma imagem de entrada e uma função de mapeamento de luminância (FLM); - uma segunda entrada disposta de modo a receber um valor de um limite (G); - um processador de luminância (501), conforme definido em qualquer uma das reivindicações 1 a 7, disposto de modo a calcular uma imagem de saída, mediante o uso da função de mapeamento de luminância (FLM) e do limite (G) para alterar as luminâncias dos pixels da imagem de entrada, a fim de produzir uma imagem de saída; e - uma saída para fornecer a imagem de saída.
11. MÉTODO DE PROCESSAMENTO DE LUMINÂNCIA, para calcular uma luminância de saída de um pixel de uma imagem de saída (Im_LDR; Im3000nit) tendo uma segunda faixa dinâmica de luminância que tem como característica um segundo pico de brilho (PB_LDR; PB_MDR) proveniente de uma luminância de entrada de um pixel espacialmente colocado de uma imagem de entrada (MAST_HDR) tendo uma primeira faixa dinâmica de luminância que tem como característica um primeiro pico de brilho (PB_HDR), sendo o método de processamento de luminância caracterizado por compreender: - calcular um fator de multiplicação (gL), sendo esse fator de multiplicação definido para a luminância de entrada de qualquer cor de entrada de um pixel de imagem da imagem de entrada, com base em uma função de mapeamento da luminância (FLM) indicando como ajustar a luminância de entrada a fim de se tornar uma luminância de saída intermediária, mediante o cálculo do fator de multiplicação como a divisão de uma saída da função de mapeamento da luminância para a luminância de entrada, dividida por aquela luminância de entrada: gL=FLM(L)/L; - calcular uma medida de transbordamento (T) indicando quão acima de um limite superior da gama na cromaticidade da cor de entrada está a luminância de saída intermediária, sendo que essa luminância de saída intermediária resulta da aplicação do fator de multiplicação (gL) aos respectivos componentes de cor que definem a cor de entrada; - determinar um fator de ganho alternativo mais baixo (F1(gL)), caso a medida de transbordamento seja maior que um limite (G) e, caso contrário, manter o fator de multiplicação (gL), e fornecer como um fator de ganho final (gF) o fator de ganho alternativo mais baixo (F1(gL)), caso a medida de transbordamento seja maior que o limite (G) ou, caso contrário, o fator de multiplicação (gL); e - multiplicar os respectivos componentes da cor de entrada (R’G’B’_nrm) pelo fator de ganho final (gF) a fim de obter os respectivos componentes de uma cor de saída (R’G’B’_HDR) que tem a luminância de saída.
12. MÉTODO DE PROCESSAMENTO DE LUMINÂNCIA, de acordo com a reivindicação 11, caracterizado por compreender receber do criador do conteúdo, através de qualquer rede conectada, o limite (G) para ser aplicado no cálculo da cor de saída.
13. MÉTODO DE PROCESSAMENTO DE LUMINÂNCIA, de acordo com qualquer uma das reivindicações 11 ou 12, caracterizado por compreender receber do criador do conteúdo, através de qualquer rede conectada, uma função (FADAP) para determinar o fator de ganho alternativo.
BR112020011172-4A 2017-12-08 2018-12-06 processador de luminância, codificador de vídeo de alta faixa dinâmica, sistema codificador de vídeo de alta faixa dinâmica, decodificador de vídeo de alta faixa dinâmica e método de processamento de luminância BR112020011172A2 (pt)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
EP17206169.9 2017-12-08
EP17206169.9A EP3496028A1 (en) 2017-12-08 2017-12-08 Improved high dynamic range video color remapping
PCT/EP2018/083856 WO2019110752A1 (en) 2017-12-08 2018-12-06 Improved high dynamic range video color remapping

Publications (1)

Publication Number Publication Date
BR112020011172A2 true BR112020011172A2 (pt) 2020-11-17

Family

ID=60629574

Family Applications (1)

Application Number Title Priority Date Filing Date
BR112020011172-4A BR112020011172A2 (pt) 2017-12-08 2018-12-06 processador de luminância, codificador de vídeo de alta faixa dinâmica, sistema codificador de vídeo de alta faixa dinâmica, decodificador de vídeo de alta faixa dinâmica e método de processamento de luminância

Country Status (8)

Country Link
US (2) US11170478B2 (pt)
EP (2) EP3496028A1 (pt)
JP (1) JP7381463B2 (pt)
KR (1) KR102614452B1 (pt)
CN (1) CN111699507B (pt)
BR (1) BR112020011172A2 (pt)
MX (1) MX2020005813A (pt)
WO (1) WO2019110752A1 (pt)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10645358B2 (en) 2018-02-20 2020-05-05 Gopro, Inc. Saturation management for luminance gains in image processing
US10970828B2 (en) * 2018-12-21 2021-04-06 Ricoh Company, Ltd. Image processing apparatus, image processing system, image processing method, and recording medium
US11232607B2 (en) * 2020-01-24 2022-01-25 Adobe Inc. Adding color to digital images
EP3873096A1 (en) * 2020-02-25 2021-09-01 Koninklijke Philips N.V. Improved hdr color processing for saturated colors
US11651472B2 (en) 2020-10-16 2023-05-16 Electronics And Telecommunications Research Institute Method for processing immersive video and method for producing immersive video
CN113271449B (zh) * 2021-07-21 2021-09-28 北京小鸟科技股份有限公司 多种hdr视频的转换系统、方法、设备
CN116029914B (zh) * 2022-07-27 2023-10-20 荣耀终端有限公司 图像处理方法与电子设备

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7009627B2 (en) * 2001-11-21 2006-03-07 Canon Kabushiki Kaisha Display apparatus, and image signal processing apparatus and drive control apparatus for the same
US7773158B2 (en) * 2005-10-12 2010-08-10 Panasonic Corporation Visual processing device, display device, and integrated circuit
TWI314424B (en) * 2006-06-23 2009-09-01 Marketech Int Corp System and method for image signal contrast adjustment and overflow compensation
US9417479B2 (en) * 2011-05-13 2016-08-16 Samsung Display Co., Ltd. Method for reducing simultaneous contrast error
US8896641B2 (en) * 2011-06-01 2014-11-25 Lg Display Co., Ltd. Organic light emitting diode display device and method of driving the same
JP5966658B2 (ja) * 2012-06-22 2016-08-10 ソニー株式会社 表示装置、画像処理装置、および表示方法
US10075728B2 (en) * 2012-10-01 2018-09-11 Inria Institut National De Recherche En Informatique Et En Automatique Method and device for motion information prediction refinement
US9230509B2 (en) 2012-10-08 2016-01-05 Koninklijke Philips N.V. Luminance changing image processing with color constraints
JP6368365B2 (ja) 2013-07-18 2018-08-01 コーニンクレッカ フィリップス エヌ ヴェKoninklijke Philips N.V. Hdrイメージの符号化のためのコードマッピング関数を作成するための方法及び装置、並びに、かかる符号化イメージの使用のための方法及び装置
WO2015180854A1 (en) 2014-05-28 2015-12-03 Koninklijke Philips N.V. Methods and apparatuses for encoding an hdr images, and methods and apparatuses for use of such encoded images
EP3205082B1 (en) * 2014-10-10 2018-04-04 Koninklijke Philips N.V. Saturation processing specification for dynamic range mappings
EP3231174B1 (en) 2014-12-11 2020-08-26 Koninklijke Philips N.V. Optimizing high dynamic range images for particular displays
WO2017019818A1 (en) * 2015-07-28 2017-02-02 Vid Scale, Inc. High dynamic range video coding architectures with multiple operating modes
CN107211079B (zh) 2015-12-17 2021-05-28 皇家飞利浦有限公司 用于图像和视频的动态范围编码
EP3220349A1 (en) * 2016-03-16 2017-09-20 Thomson Licensing Methods, apparatus, and systems for extended high dynamic range ("hdr") hdr to hdr tone mapping
EP3430806B1 (en) * 2016-03-18 2023-06-07 Koninklijke Philips N.V. Encoding and decoding hdr videos
JP6637396B2 (ja) * 2016-08-31 2020-01-29 株式会社ジャパンディスプレイ 表示装置、電子機器及び表示装置の駆動方法
EP3493150A1 (en) * 2017-11-30 2019-06-05 InterDigital VC Holdings, Inc. Tone mapping adaptation for saturation control

Also Published As

Publication number Publication date
KR102614452B1 (ko) 2023-12-14
KR20200097307A (ko) 2020-08-18
RU2020122004A (ru) 2022-01-10
EP3721405B1 (en) 2024-03-06
JP2021506001A (ja) 2021-02-18
JP7381463B2 (ja) 2023-11-15
EP3721405A1 (en) 2020-10-14
CN111699507B (zh) 2024-06-18
EP3721405C0 (en) 2024-03-06
US12125183B2 (en) 2024-10-22
WO2019110752A1 (en) 2019-06-13
CN111699507A (zh) 2020-09-22
MX2020005813A (es) 2020-08-20
US11170478B2 (en) 2021-11-09
EP3496028A1 (en) 2019-06-12
US20200357100A1 (en) 2020-11-12
US20220124293A1 (en) 2022-04-21

Similar Documents

Publication Publication Date Title
BR112020011172A2 (pt) processador de luminância, codificador de vídeo de alta faixa dinâmica, sistema codificador de vídeo de alta faixa dinâmica, decodificador de vídeo de alta faixa dinâmica e método de processamento de luminância
JP6596125B2 (ja) Hdrイメージの符号化のためのコードマッピング関数を作成するための方法及び装置、並びに、かかる符号化イメージの使用のための方法及び装置
JP6700322B2 (ja) 改善されたhdrイメージ符号化及び復号化方法、装置
JP6495552B2 (ja) 画像及びビデオのためのダイナミックレンジ符号化
US10902567B2 (en) Handling multiple HDR image sources
JP7313285B2 (ja) 復号された高ダイナミックレンジ画像の彩度を最適化すること
ES2694858T3 (es) Métodos y aparatos para codificar imágenes de HDR, y métodos y aparatos para el uso de tales imágenes codificadas
RU2640750C2 (ru) Устройство и способ для преобразования динамического диапазона изображений
JP4870665B2 (ja) ビデオ・コンテンツから導出した周辺光を生成するための知覚規則を用いた支配色抽出
CN104956670B (zh) 基于全局显示管理的光调制
BR112014027815B1 (pt) Aparelho de processamento de cor de imagem, codificador de imagem, decodificador de imagem e método de processamento de cor de imagem
BR112014023535B1 (pt) Codificador de imagem para codificar uma imagem de uma cena de alto alcance dinâmico, decodificador de imagem para decodificar uma representação de imagem codificada de uma cena de alto alcance dinâmico, método de codificação de imagem para codificar uma imagem de uma cena de alto alcance dinâmico e método de decodificação da imagem para decodificar uma representação de imagem codificada de uma cena de alto alcance dinâmico
EP3451677A1 (en) Graphics-safe hdr image luminance re-grading
ES2979319T3 (es) Manejo de múltiples fuentes de imágenes HDR
KR102631844B1 (ko) 디지털 이미지를 프로세싱하기 위한 방법, 디바이스, 단말 장비 및 연관된 컴퓨터 프로그램
RU2782432C2 (ru) Улучшенное повторное отображение цвета видео с высоким динамическим диапазоном
ES2728053T3 (es) Métodos y aparatos para crear funciones de mapeo de códigos para codificar una imagen HDR, y métodos y aparatos para el uso de tales imágenes codificadas
BR112018010367B1 (pt) Aparelho para combinar duas imagens ou dois vídeos de imagens, e método para combinar duas imagens ou dois vídeos de imagens
BR112017002313B1 (pt) Codificador para codificar um vídeo de entrada de alto alcance dinâmico, método para codificar um vídeo de entrada de alto alcance dinâmico, decodificador de vídeo para decodificar um vídeo de alto alcance dinâmico, decodificador de vídeo para decodificar um conjunto de imagens de vídeo de alto alcance dinâmico e método de decodificação de vídeo de um conjunto de imagens de vídeo de alto alcance dinâmico
BR112016027461B1 (pt) Método de codificação de uma imagem de alta faixa dinâmica, codificador de imagem disposto para codificar uma imagem de alta faixa dinâmica, decodificador de imagem disposto para receber um sinal de imagem de alta faixa dinâmica, e, método de decodificação de um sinal de imagem de alta faixa dinâmica
Demos High Dynamic Range Intermediate
BR112018012456B1 (pt) Aparelho de transformação de cor, decodificador de imagem hdr e método para calcular cores resultantes
BR112015019787B1 (pt) Codificador de imagem, decodificador de imagem, método de codificação de imagem, método de decodificação de imagem, sinal de imagem, e, objeto de memória
BR112017009528B1 (pt) Aparelho e método para decodificar um sinal de vídeo de hdr integrado a partir de um ou mais sinais da fonte, aparelho para codificar um sinal de vídeo, e método de decodificação de um sinal de vídeo

Legal Events

Date Code Title Description
B350 Update of information on the portal [chapter 15.35 patent gazette]