REFERENCIA CRUZADA A PEDIDOS RELACIONADOS
Este pedido reivindica prioridade sob 15 U.S.C. 113 (e) para o Pedido de Patente US Provisório de N2 de Sé- 5 rie 60/619.655, depositado em 18 de Outubro de 2004, cujos ensinamentos são incorporados neste documento.
CAMPO TÉCNICO
Esta invenção se relaciona com uma técnica para simulação de granulação de filme em uma imagem.
ANTECEDENTES DA INVENÇÃO
Os filmes cinematográficos compreendem cristais de haleto de prata dispersados em uma emulsão, revestida em camadas finas em uma base de filme. A exposição e revelação desses cristais formam a imagem fotográfica que consiste de 15 minúsculas partículas distintas de prata. Em negativos coloridos, a prata passa por remoção química após a revelação, e ocorrem minúsculas bolhas de tintura nos locais em que se formam os cristais. Esses pequenos pontos de tintura normal - mente são chamados de "grãos" em filmes coloridos. Os grãos 2C aparecem distribuídos aleatoriamente na imagem final devido à formação aleatória de cristais de prata na emulsão original. Dentro de uma área exposta uniformemente, alguns cristais se revelam após a exposição e outros não.
Os grãos variam de tamanho e formato. Quanto mais 25 rápido o filme, maior são os conglomerados de prata formados e as bolhas de t intura geradas, e maior será a tendência desses para se agruparem em padrões aleatórios. O padrão de granulação é tipicamente conhecido como 'granularidade'. 0 olho nu não consegue distinguir grãos individuais,, que variam de ü, 0002 mm a cerca de 0, Ü02 mm. Em vez disso, o olho distingue grupos de grãos, referidos como bolhas. O observador identifica esses grupos de bolhas como granulação de 5 filme. À medida que a resolução da imagem se torna maior, aumenta-se a percepção da granulação de filme. A granulação de filme se torna nitidamente visível no cinema e em imagens de alta definição, ao passo que a granulação de filme perde -qrrogre^ssúvamerrre-’a’ implirt^nc 1 a-’em-SDTV e se torna impercep- 10 tível em formatos menores.
Os filmes cinematográficos tipicamente contêm ruído dependente da imagem, o qual resulta do processo físico de exposição e revelação do filme fotográfico ou da edição subseqüente das imagens. 0 filme fotográfico possui um pa- 15 drão quase aleatório característico, ou textura, que resulta da granularidade física da emulsão fotográfica. De forma alternativa, pode-se simular um padrão similar através de ima-gens geradas por computador para misturá-las com o filme fotográfico. Em ambos os casos, esse ruído dependente da ima- 20 gem é referido como grão. Muitas vezes, uma textura de granulação moderada representa um aspecto desejado nos filmes cinematográficos. Em alguns casos, a granulação de filme proporciona sinais visuais que facilitam a percepção correta das imagens bidimensionais. A granulação de filme muitas ve- 25 zes é variada dentro do mesmo filme para oferecer vários indícios em relação à referência de tempo, ponto de vista, etc, Existem diversos outros usos técnicos e artísticos para controlar a textura de granulação na indústria de filmes ci- rematográf ices. Portanto, a craser-vacão da lar das imagens durante todo o processamento da imagem e a sequência de distribuição se tornou uma exigência na indústria de filmes cinematográficos.
Vários produtos disponíveis para comerciali zação têm a capacidade de simular a granulação de filme, geralmen- te para misturar um objeto gerado por computador em uma cena natural. 0 Cineon® da Eastman Kodak Co, Rochester, Nova Iorque, uma das primeiras aplicações de filme digital a implementar a simulação de granulação, produz resultados muito realisticos para diversos tipos de grãos. Entretanto, a a- plicação Cineon® não apresenta bom desempenho para muitos filmes em alta velocidade devido às listras diagonais visi- veis que a aplicação produz para configurações de tamanho de grão grande. Além disso, a aplicação Cineon® falha ao simular grãos com fidelidade adequada quando as imagens são su-jeitas a processamento prévio, por exemplo, tal como quando as imagens são copiadas ou processadas digitalmente.
Outro produto comercial que simula a granulação de filme é o Grain Surgery™ da Visual Infinity Inc., que é u- sado como uma extensão do Adobe ® After Effects ®. O produto Grain Surgery® parece gerar grão sintético pela filtragem de um conjunto de números aleatórios. Essa abordagem sofre da desvantagem de alta complexidade computacional.
Nenhum desses esquemas anteriores soluciona o problema de restaurar a granulação de filme em video compactado . A granulação de filme constitui um fenômeno quase aleatório de alta freqüência que tipicamente não pode passar por compactação usando métodos especiais e têmpora is convene í- nais que se beneficiam de redundâncias nas sequências de ví - deo. As tentativas de processar imagens originadas de filme usando técnicas de compactação MPEG-2 ou ITU-T Rec. H.264 |ISO/IEC 14496-10 geralmente resultam em um nível de compactação baixo inaceitável ou na perda total da textura de granulação .
Assim, há a necessidade de uma técnica para simulação .de granu-lação -de 'filme; em" especial uma técnica que ofereça complexidade relativamente baixa.
BREVE SUMÁRIO DA INVENÇÃO
Resumidamente, de acordo com uma concretização preferida dos presentes princípios, a simulação de um bloco de granulação de filme para adição a um macrobloco de uma imagem ocorre por estabelecer primeiramente pelo menos um parâmetro de imagem pelo menos em parte de acordo com pelo menos um atributo do macrobloco. Em seguida, estabelece-se um bloco de granulação de filme de acordo com o parâmetro de imagem.
DESCRIÇÃO DETALHADA DOS DESENHOS
A FIGURA 1 descreve um diagrama de blocos esquemático da combinação de um transmissor e receptor em uma sequência de processamento de granulação de filme útil para praticar a técnica dos presentes princípios;
A FIGURA 2 descreve um diagrama de blocos esquemático de um sistema para simular granulação de filme de acordo com os presentes princípios;
A FIGURA 3 descreve um diagrama de blocos de um registrador de deslocamento para gerar um módulo polmn^u primitivo 2 para simular granulação de filme de acordo com o método da FIG. 2, e
A FIGURA 4 descreve uma grade de pixels que ilustra o uso de números aleatórios na geração da granulação de filme de acordo com o método da FIG. 2.
DESCRIÇÃO DETALHADA
Para entender a técnica dos presentes princípios para simulação de um-padrão de granulação de filme com precisão de bits constituído por blocos de granulação de filme individuais, uma breve visão geral da simulação de granulação de filme será de grande auxílio. A FIGURA 1 descreve um diagrama de blocos esquemático de um transmissor 10, o qual recebe um sinal de vídeo de entrada e, por sua vez, gera um fluxo de vídeo compactado em sua saída. Além disso, o transmissor 10 também gera informações que indicam a granulação de filme (caso haja) presente na amostra. Na prática, o transmissor 10 poderia compreender parte de um arranj o de estação transmissora de um sistema de televisão a cabo, ou outro sistema que distribua vídeo compactado para um ou mais receptores descendentes 11, somente um dos quais é apresen-tado na FIG. 1. O transmissor 10 também poderia assumir a forma de um codificador que apresenta mídias, tais como DVDs. O receptor 11 decodifica o fluxo de vídeo codificado e simula a granulação de filme de acordo com a informação de granulação de filme e o vídeo decodificado, ambos recebidos a partir do transmissor 10 ou diretamente a partir da própria mídia no caso de um DVD ou semelhante, para produzir um fluxo de vídeo de saída que possua granulação de ÍÍHA simulada. O receptor- 11 pode assumir a forma de um decodifícador de sinais ou outro mecanismo que sirva para decodificar vídeo compactado e simular granulação de filme nesse vídeo.
O controle geral da granulação de filme requer que o transmissor 10 (ou seja, o codificador) forneça informações relativas à granulação de filme no vídeo de entrada. Em outras palavras, o transmissor 10 "modela" a granulação de fdlme. Além disso, o receptor 11 (ou seja, o decodificador) simula a granulação de filme de acordo com a informação de granulação de filme recebida a partir do transmissor 10. O transmissor 10 aperfeiçoa a qualidade do vídeo compactado por permitir que o receptor 11 simule a granulação de filme no sinal de vídeo quando existe dificuldade em manter a granulação de filme durante o processo de codificação de vídeo.
Na concretização ilustrada da FIG. 1, o transmissor 10 inclui um codificador de vídeo 12 que codifica o fluxo de vídeo usando qualquer uma das técnicas de compactação de vídeo bem conhecidas, tal como o padrão de compactação de vídeo ITU-T Rec. H.264 | ISO/IEC 14496-10. Como opção, um poderia haver um removedor de granulação de filme 14, na forma de um filtro ou algo parecido, descrito em linhas tracejadas na FIG. 1, na direção ascendente do codificador 12 para remover qualquer granulação de filme no fluxo de vídeo de entrada antes da codificação. Na medida em que o vídeo de entrada não contém granulação de filme, não existe necessidade do removedor de granulação de filme 14,
Um modelador de granulação de filme 16 aceita o fluxo de vídeo de entrada, bem como o sinal de sa í da Hr. .. movedor de granulação de filme 14 (quando presente). Usando tal informação de entrada, o modelador de granulação de filme 16 estabelece a granulação de filme no sinal de vídeo de entrada. Em sua forma mais simples, o modelador de granulação de filme 16 poderia compreender uma tabela de consulta contendo modelos de granulação de filme para diferentes filmes cinematogrãficos. A informação no sinal de vídeo de en-trada poderia especificar o filme cinematográfico particular originalmente utilizado para gravar a imagem antes da conversão para um sinal de vídeo, permitindo assim que o modelador de granulação de filme 16 selecione o modelo de granulação de filme apropriado para tal filme cinematográfico. De forma alternativa, o modelador de granulação de filme 16 poderia compreender um processador ou um circuito lógico dedicado que poderia executar um ou mais algoritmos para varrer o vídeo de entrada e determinar o padrão de granulação de filme que está presente *
O receptor 11 tipicamente inclui um decodificador de vídeo 18 que serve para decodificar o fluxo de vídeo compactado recebido a partir do transmissor 10. A estrutura do decodificador 18 irá depender do tipo de compactação realizado pelo codificador 12 dentro do transmissor 10. Assim, por exemplo, o uso, dentro do transmissor 10, de um codif i- cador 12 que emprega o padrão de compactação de vídeo 1TU-T Rec. H.264 | ISO/IEC 14496-10 para compactar o vídeo de saída irá ditar a necessidade de um decodificador compatível com H.264 18. Dentro do receptor 11, um simulador de granu- a par:ir do modelador de granulação de filme 16. G simulador de granulação de filme 20 pode assumir a forma de um processador programado ou de um circuito lógico dedicado que possui a capacidade de simular granulação de filme para mistura via um combinador 22 com o fluxo de vídeo decodificadc.
A simulação de granulação de filme ter por fim sintetizar amostras de granulação de filme que simulam a a- parência do conteúdo original do filme. Como descrito, a modelagem de granulação de filme ocorre no transmissor 10 da FIG. 1, ao passo que a simulação de granulação de filme o- corre no receptor 11. Em particular, a simulação de granulação de filme ocorre no receptor 11 junto com a decodificação do fluxo de vídeo de entrada a partir do transmissor 10 na direção ascendente à saída do fluxo de vídeo decodificado. Note que o processo de decodificação que ocorre no receptor 11 não faz o uso de imagens com adição de granulação de filme. Em vez disso, a simulação de granulação de filme constitui um método de pós-processamento para sintetizar granulação de filme simulada nas imagens decodificadas para exibição. Por essa razão, o padrão de compactação de vídeo ITU-T Rec. H.264 | ISO/IEC 14496-10 não contém especificações relativas ao processo de simulação de granulação de filme. Entretanto, a simulação de granulação de filme requer informações relativas ao padrão de granulação no sinal de vídeo de entrada, informação esta que normalmente passa por transmissão em uma mensagem de Informação de Aperfeiçoamento Suple-mentar (SEI) quando usando o padrão de compactação de video ITU-T Rec. H.264 ! ISO/TEC 24496-10 conforms peia Emenda 1 (Extensões de Faixa de Fidelidade) desse padrão de compactação.
A técnica de simulação de granulação de filme dos 5 presentes princípios permite simulação de granulação de filme com precisão em bits e tem aplicações em produtos do consumidor, tais como, por exemplo, reprodutores de HD DVD. Outras possíveis aplicações poderiam incluir decodificadores de sinais, aparelhos de televisão e até mesmo dispositivos 10 de gravação, tais como filmadoras de vídeo e semelhantes. A simulação de granulação de filme ocorre após a decodificação do fluxo de bits de vídeo e antes da exibição dos pixels. 0 processo de simulação de granulação de filme requer a deco- dificação da informação suplementar de granulação de filme 15 transmitida na mensagem SEI. As especificações que afetam a mensagem SEI de granulação de filme garantem que a tecnologia irá de encontro aos requerimentos dos sistemas de alta definição em termos de qualidade de complexidade.
O valor dos parâmetros transmitidos em uma mensa- 20 gem SEI de características de granulação de filme ITU-T Rec. H.264 I ISO/IEC 14496-10 segue estas restrições:
O parâmetro modelsid especifica o modelo de simulação. Ele deverá ser 0, o que identifica o modelo de simulação de granulação de filme como filtragem de frequência.O parâmetro separa- te_colour_description_j?resent_flag especifica se o espaço de cores em que os parâmetros de granulação de filme são estimados é diferente do espaço de cores em que a seqüência de video foi codificeda. Esse narâip.e^c é jgua'! o n .q1^ ■>-■- dica que o espaço de cores para simulação de granulação de filme é igual ao da codificação.
O parâmetro blending_mode_id especifica o modo de mistura usado para misturar a granulação de filme simulada com as imagens decodi f içadas. Essa parâmetro, é igual a Cg c que corresponde ao modo de mistura aditiva.
O parâmetro log2_scale_factor especifica o fator de escala logarítmico usado para representar os parâmetros de granulação de filme na mensagem SEI. Esse parâmetro se encontra na faixa [2f 7] para assegurar que a simulação de granulação de filme possa ocorrer usando aritmética de 16 bits .
Os parâmetros intensity_interval_lower_bound[j][i] e intensity_interval_upper_bound[j ] [i] especificam os limites do intervalo de intensidade i do componente de cor j para o qual foram modelados os parâmetros de granulação de filme. Para todos j e i, intensity_interval_lower_bound[j][i + 1], esse parâmetro continua maior do que o inten- sity_interval_upper_bound[j] [i] , já que a granulação de filme de múltiplas gerações não é permitida.
O parâmetro num_model_values__minus 1 [ j ] especifica o número de valores modelos presentes em cada intervalo de intensidade para o componente de cor j. Para todo j, esse parâmetro se encontra na faixa [0, 2] , o que especifica que o filtro de faixa de passagem e a correlação de cores cruzadas não são suportadas.
O parâmetro comp_model_value[j] [i] [0] especifica a intensidade de granulação de ti>.e pari r -mponentc de cm j e o intervalo de intensidade 3. Para todo j e i, esse parâmetro se encontra na faixa [0, 255] para assegurar que a simulação de granulação de filme possa ser realizada usando aritmética de 16 bits.
O parâmetro comp_model_value[j][i][1] especifica a freqüência de corte alta horizontal que caracteriza o formato de granulação de filme para o componente de cor j e o intervalo de intensidade i. (As frequências de corte alta e baixa horizontal, junto com as freqüências de corte alta e baixa vertical que descrevem as propriedades de um filtro bidimensional que caracteriza o padrão de granulação de filme desejado). Para todo j e i, esse parâmetro se encontra na faixa [2, 14], que inclui todos os padrões de granulação requeridos .
O parâmetro comp_model_value[j] [i] [2] especifica a freqüência de corte alta vertical que caracteriza um formato de granulação de filme para o componente de cor j e o intervalo de intensidade i. Para todo j e i, esse parâmetro deverá estar na faixa [2, 14], a qual inclui todos os padrões de granulação requeridos. Para a combinação de todos os componentes de cor j e intervalos de intensidade i em uma mensagem SEX, o número de pares diferentes (comp_model_value[j] [i] [1], comp_model_value[j] [i] [2]) permanece não maior do que 10.
Todos os outros parâmetros na mensagem SEI de granulação de filme especificados pelo padrão ITU-T Rec. H.264 I ISO/XEC 14496-10 não possuem restrições de acordo com este relatório
De dcoido com os presentes princípios, a simulação de granulação de filme com precisão em bits ocorre na imagem corrente, a menos que o parâmetro film__grain_characteristics_cancel_flag seja igual a um ou a faixa de quadros especificada pelo parâmetro f ilm_grain__characteristics_repetit ion_period se torne esgotada. As atuais especificações do padrão ITU-T Rec. H.264 | ISO/IEC 1449-6-10 permitem a simulação da granulação de filme em todos os componentes de cores. A granulação de filme é simulada e adicionada ao componente de cor c da imagem decodificada caso o parâmetro comp_model_present_flag [c] seja igual a um na mensagem SEI de granulação de filme. A simulação de granulação de filme com precisão em bits ocorre por especificar: uma base de dados de padrões de granulação de filme; um gerador de números pseudo-aleatórios uniformes; e uma sequência precisa de operações. A simulação de granulação de filme tipicamente ocorre de maneira independente para cada componente de cor.
A FIGURA 2 descreve [JLij um diagrama de blocos es-quemático de um método de acordo com uma concretização preferida dos presentes princípios para simulação de granulação de filme. 0 método começa na execução 100 para estabelecer parâmetros para a granulação de filme simulada. Parte do processo de estabelecer os parâmetros de granulação de filme para a granulação de filme simulada inclui extrair a informação de granulação de filme transmitida pelo sinal de video de entrada. Com o sinal de vídeo de entrada codificado usan- do o padrão de codificação de vídeo TTU- T PP.- H.251 ; ISO/IEC 14496-10, a informação de granulação de filme existirá na mensagem SEI. A extração da mensagem SEI requer a decodificação do sinal de vídeo de entrada codificado em H- 264 de entrada usando um decodifícador compatível com H.264 ! MPEG-4 AVC 101 conforme apresentado na FIG. 2. I *-
Como discutido acima, a mensagem SEI contém vários parâmetros, incluindo os parâmetros inten- sity_interval_lower_bound[c] [i] e inten- sity_interval_upper_bound[c] [í] , onde i varia de 0 até o valor do parâmetro num_intensity_intervals_minusl [c] . Esses parâmetros da mensagem SEI passam por uma comparação com o valor médio de intensidade de pixel, calculado durante a e- tapa 102, para um componente de cor c de cada bloco de 8 x 8 pixels não sobreposto na imagem decodificada armazenada em um armazenamento temporário de exibição 102, seguindo a de- codificação pelo decodificador 101. Para cada bloco de 8 x 8 pixels não sobreposto de cada componente de cor c da imagem decodificada, o cálculo do valor médio ocorre durante a etapa 102 da seguinte maneira: média = 0 para (i = 0..7, j = 0.,7) média + = decoded__image [c] [m+i] [n+j] média = (média +32) >> 6 onde (m, n) são as coordenadas do canto superior-esquerdo do bloco e decoded—images[c] [x] [y] é o valor de pixel decodifi-cado nas coordenadas (x, y) de um componente de cor c que pode assumir os valores 0, 1 ou 2, representando um compo- nente de cor primária específico dos três componentes de c^r primária.
O valor de i, para o qual o valor médio de inten- sidade de pixel em tnacrobloco permanece não menor do que in- tensity_mterval__lower_bound [c] [i] e não maior do que inten- sity_interval_upper_bound [c] [i], serve como base para selecionar os parâmetros de granulação de filme para a granulação de filme simulada para o bloco atual na imagem. Se não •hewer—nenhum valor que satisfaça a condição, não ocorrerá granulação de filme para o bloco atual.
O processo de seleção de parâmetros de granulação de filme tipicamente inclui a etapa de dimensionar as fre- qüências de corte ao processar componentes de croma (c = 1, 2) de modo a adaptar-se ao formato de croma 4:2:0 como segue: comp_model_value[c] [s] [1] = Recorta (2, 14, (comp_model_value[c][s][1] << 1)) comp__model_value [c] [s] [2] = Recorta (2, 14, (comp_model_value[c] [s] [2] << 1))
A etapa 104 inicia o estabelecimento de um bloco de granulação de filme, com um tamanho típico de 8 x 8 pixels, embora não necessariamente este. A etapa de estabelecer um bloco de granulação de filme de 8 x 8 pixels envolve recuperar um bloco de amostra de granulação de filme 8 x 8 a partir de uma base de dados de granulação de filme 105 e dimensionar a amostra para a intensidade apropriada, embora não precise necessariamente ocorrer o dimensionamento, ape- sar de desejável. A base de dados 103 tipicamente compreende 169 padrões de 4.096 amostras de granulação de filme, cada um recreserrando u^ cad r ão de □rannlasã'' 5^ - - 1 z ■- x r - . case oe dados 10 5 armazena os valores na forma de complemento de 2, variando de 127 a 127. A síntese de cada padrão de granulação de filme tipicamente ocorre usando um par especí- 5 fico de frequências de corte que estabelece um filtro bidi mensional que define o padrão de granulação de filme. As frequências de corte transmitidas na mensagem SEI permitem o acesso da base de dados 105 dos padrões de granulação de filme durante a simulação de granulação de filme.
As frequências de corte dimensionadas (comp_model_value[c] [s] [1] e comp_model_value[c] [s] [2]) de-terminam qual padrão da base de dados serve como a fonte de amostras de granulação de filme. Dois valores gerados alea-toriamente servem para selecionar um bloco 8x8 do padrão se- lecionado de acordo com as freqüências de corte. Esses valores aleatórios usados para selecionar o bloco de granulação de filme de 8 x 8 pixels representam um deslocamento horizontal e vertical dentro do padrão de pixel 64x64, e são criados usando o seguinte procedimento: i_offset = (MSBi6(x(k, ec) ) % 52) i_offset &= OxFFFC i_offset += m & 0x0008 j—Offset = (MSBÍ5 (x (k, ec) ) % 56) j_offset &= 0xFFF8 j-Offset += n & 0x0008 onde x(k, ec) indica o k-ésimo símbolo da sequência x de números pseudo-aleatórios iniciados com o valor inicial de se- qüência e^, MSB’? e LSB-? denotai? η B maia cignirioa tivos e os 16 bits menos significativos, respectivamente, e (m, n) são as coordenadas do bloco 8x8 atual na imagem decodificada. Para o i_offset, a primeira equação gera um valor pseudo-aleatório distribuído uniformemente na faixa [0, 51j, a segunda equação restringe esse valor a múltiplos de 4 e a última equação soma 8 a i_offset quando m%16 igual a 8. Realizam-se operações equivalentes para o j_offset.
Um gerador de números pseudo-aleatórios uniformes 106 fornece os números pseudo-aleatórios usados para selecionar o bloco de 8 x 8 pixels. Referindo-se à FIG. 3, o gerador de números pseudo-aleatórios 106 [JL2] tipicamente compreende um registrador de deslocamento de 32 bits que implementa um operador polinomial primitivo de módulo 2, xA31 + xA3 + 1, para selecionar aleatoriamente blocos de granulação de filme de 8x8 pixels a partir dos padrões de granulação de filme de 64x64 pixels na base de dados. Os dois números pseudo-aleatórios usados para seleção do bloco de granulação de filme 8x8 compreendem os 16 Bits Mais Significativos (MSB) e os 16 Bits Menos Significativos, respectivamente informados pelo registrador de deslocamento.
O valor pseudo-aleatório x(k, ec) , criado usando o gerador de números pseudo-aleatórios 106, é atualizado a cada 16 pixels (horizontalmente) e a cada 16 linhas (verticalmente) da imagem. 0 mesmo número pseudo-aleatório x(k, ec) é usado em cada área não sobreposta dos 16x16 pixels da imagem decodificada. Como ilustrado na Figura 4, a sequência resultante de valores pseudo-aleatórios x(k, ec) segue uma ordem de varredura oor rastreio ar rave a d^ are de de IcxlC r; xeis. Embora a concretização ilustrada assuma uma ordem de varredura por rastreio de blocos de 8x8 pixels, outras im-plementações ainda são possíveis.
O gerador de números aleatórios 106 possui defini ção de valor inicial de seqüência diferente, dependendo do componente de cor (c) ao qual está sendo adicionada a granulação de filme. Ao receber uma mensagem SEI de granulação de filme, o valor inicial de seqüência el, usado para simulação 10 de granulação de filme no primeiro componente de cor, tipicamente possui um valor igual a um. O valor inicial de seqüência e2, usado para simulação de granulação de filme no segundo componente de cor, tipicamente possui um valor de 557.794.999; ao passo que o valor inicial de seqüência e3, 15 usado para simulação de granulação de filme no terceiro componente de cor, tipicamente possui um valor de 974.440.221.
Referindo-se à FIG. 2, após calcular os deslocamentos aleatórios, a extração de 64 valores de granulação de filme da base de dados e o dimensionamento (caso seja neces- 20 sário) ocorrem como segue: scale_factor = BIT0(x(k, ec) ) == 0 ? comp_model_value[c][s][0] : - comp__model_value [c] [s] [0] para (i = 0..7, j = 0..7) g = scale__factor * databasefh] [v] [i + i_offset] [j+j_offset] film_grain blockfi) Ml - i ! (a ?loy2 scale factor u > > log2_scale_factor ) a- 32) >> g onde h é igual a comp_model_value [c] [s] [1] - 2, v é igual a comp^model__yalue [c] [s] [2] - 2 e o fator 6 dimensiona os va-lores de granulação de filme recuperados da base de dados de padrões de granulação de filme. BIT.-, denota os LSB. Durante a etapa 108, ocorre a filtragem por desa- grupamento entre cada bloco de granulação de filme criado durante a etapa 104 e um bloco anterior 109 para assegurar a formação ininterrupta de padrões de granulação de filme. A filtragem por desagrupamento se aplica somente às bordas verticais entre os blocos adjacentes. Assumindo a simulação dos blocos de granulação de filme na ordem de varredura por rastreio e que os pixels mais à esquerda do current__fg_block se encontram adjacentes aos pixels mais a direita do previous fgjtlock, a filtragem por desagrupamento tipicamente o- corre por meio de um filtro de 3 coeficientes com os coeficientes 1, 2, 1 (não apresentados) como segue: para (i = ° > 3 = O--7) currentUaJ31001^] íj 1 = < previous_fg_blockf1 + 7] [j] + (current [i ] [3] b) + (current_fg__block [i + 1] [j] + 2) >> 2 previouS_fg_bl°cMi + = < previ' ous_fg_block [i + 6] [ji + (previous_f9_b-'-ock U + 7] [j] << D current_fg J=lock '•i j} + 2) 2
No final do processo de simulação de granulação de do COTI o bloco de imagem decodificada correspondente via um bloco 110 e o resultado é sujeito a recorte para ]0, 255], antes da exibição, da seguinte maneira: Para (i = 0..7, j = 0..7_)
Display image[c]'m+il[n+j] = Recorta'0, 255, deco- ded_image[c][m+i][n+j] + fg_block[i] [j ] )
Onde (m, n) são as coordenadas do canto superior- esquerdo do bloco, decoded_image[c] [x] [y] é o valor de pixel decodificado nas coordenadas (x, y) do componente de cor c e display__image [c] [x] [yj é a saída de video nas mesmas coorde-nadas .
Um elemento de comutação 111 controla a passagem do bloco de granulação de filme desagrupado para o bloco 110 sob controle de um elemento de controle 112. O elemento de controle 112 controla o elemento de comutação em resposta a se o parâmetro film_grain_characteristics_cancel_flag da mensagem SEI é igual a um ou se a faixa de quadros especificada pelo parâmetro film_grain_characteristics_repetition_period tiver sido excedida, o que dita se a simulação de granulação de filme deverá ocorrer como discutido anteriormente.
O que foi dito descreve uma técnica para simulação de granulação de filme que tem aplicação em dispositivos e- letrônicos do consumidor, tais como decodificadores de si nais, reprodutores de HD-DVD, aparelhos de televisão e fil- madoras de vídeo. O custo relativamente baixo da memória de acesso aleatório permite incorporação imediata da base de dados de granulação de filme 7 05 em um ?iempn*-n de memório. A combinação de um ou mais dentre um microprocessador, matriz de portas programáveis e circuito lógico dedicado, descritos de forma geral no bloco 114 na FIG. 2, pode realizar 5 prontamente as etapas de estabelecer os parâmetros de granulação de filme, criar um bloco de granulação de filme e filtragem por desagrupamentof para produzir um bloco de granulação de filme para adição a uma imagem de vídeo.