BRPI0518258B1 - Técnica de simulação de granulação de filme para uso nos dispositivos de reprodução de mídia - Google Patents

Técnica de simulação de granulação de filme para uso nos dispositivos de reprodução de mídia Download PDF

Info

Publication number
BRPI0518258B1
BRPI0518258B1 BRPI0518258B1 BR PI0518258 B1 BRPI0518258 B1 BR PI0518258B1 BR PI0518258 B1 BRPI0518258 B1 BR PI0518258B1
Authority
BR
Brazil
Prior art keywords
film
granulation
block
film granulation
value
Prior art date
Application number
Other languages
English (en)
Publication date

Links

Description

Essa invenção refere-se a uma técnica para simular granulação de filme em uma imagem, e mais particularmente para a simulação de granulação de filme em uma imagem para reprodução por um dispositivo de mídia.
ANTECEDENTES DA INVENÇÃO
Filmes de imagem animada compreendem cristais de haleto de prata dispersos em uma emulsão, revestidos em camadas finas em uma base de filme. A exposição e a revelação desses cristais formam a imagem fotográfica consistindo de partículas minúsculas discretas de prata. Nos negativos coloridos, a prata sofre a remoção química depois da revelação e bolhas minúsculas de corante ocorrem nos locais onde os cristais de prata se formam. Essas pequenas partículas de corante são geralmente chamadas 'granulação' no filme colorido. A granulação aparece aleatoriamente distribuída na imagem resultante por causa da formação aleatória dos cristais de prata na emulsão original. Dentro de uma área uniformemente exposta, alguns cristais se revelam depois da exposição enquanto outros não.
A granulação varia em tamanho e forma. Quanto mais rápido o filme, maiores os pedaços de prata formados e bolhas de corante geradas, e mais eles tendem a se agrupar em padrões aleatórios. O padrão da granulação é tipicamente conhecido como 'granularidade' . 0 olho nu não pode distinguir granulações individuais, que podem variar de 0,0002 mm a cerca de 0,002 mm. Ao invés disso, o olho percebe grupos de granulações, citados como bolhas. Um espectador identifica esses grupos de bolhas como granulação no filme. À medida que a resolução da imagem se torna maior, a percepção da granulação do filme se torna mais elevada. A - granulação do filme se torna claramente notável no cinema e imagens de alta definição, enquanto que a granulação do filme progressivamente perde importância em SDTV e torna-se imperceptível em formatos menores.
Filmes de imagem animada tipicamente contêm ruído dependente da imagem resultante do processo físico de exposição e revelação do filme fotográfico ou da edição subsequente das imagens. O filme fotográfico possui um padrão quase aleatório característico, ou textura, resultante da granularidade física da emulsão fotográfica. Alternativamente, um padrão similar pode ser simulado sobre imagens geradas no computador de modo a misturá-las com o filme fotográfico. Em ambos os casos, esse ruído dependente da imagem é citado como granulação. Muito frequentemente, textura de granulação moderada apresenta um aspecto desejável nas imagens animadas.
Em alguns casos, a granulação do filme provê indícios visuais que facilitam a percepção correta das imagens bidimensionais. A granulação
do filme é frequentemente variado dentro de um filme único para prover vários indícios quanto à referência de tempo, ponto de vista, etc. Muitos outros usos técnicos e artísticos existem para controlar a textura da granulaçâo na 5 indústria da imagem animada. Portanto, preservar a aparência granulada das imagens por todo o processamento da imagem e cadeia de entrega se tornou uma exigência na indústria da imagem animada.
Vários produtos comercialmente disponíveis têm a capacidade de simular a granulaçâo do filme, frequentemente para mistura de um objeto gerado em computador em uma cena natural. Cineon® de Eastman Kodak Co, Rochester Nova Iorque, uma das primeiras aplicações de filme digital a implementar a simulação da granulaçâo, produz resultados muito realisticos para muitos tipos de granulaçâo. Entretanto, a aplicação da Cineon® não produz bom desempenho para muitos filmes em alta velocidade por causa das faixas diagonais notáveis que a aplicação produz para colocações de tamanho de granulaçâo elevado. Além disso, a aplicação da Cineon® falha em simular granulaçâo com fidelidade adequada quando as imagens são submetidas a processamento prévio, por exemplo, tal como quando as imagens são copiadas ou digitalmente processadas.
Um outro produto comercial que simula a granulaçâo do filme é Grain Surgery™ de Visual Infinity Inc., que é usado como um programa auxiliar de Adobe® After Effects®. O produto Grain Surgery™ aparece para gerar a granulaçâo sintética pela filtragem de um conjunto de números
aleatórios. Essa abordagem sofre da desvantagem de uma complexidade computacional elevada.
Nenhum desses esquemas passados resolve o problema de restauração da granulação do filme em video compactado. A granulação do filme constitui um fenômeno quase aleatório de alta frequência que tipicamente não pode passar pela compactação usando métodos espaciais e temporais convencionais que tiram vantagem das redundâncias nas seqüências de video. Tentativas para processar imagens 10 originadas em filme usando as técnicas de compactação MPEG-2 ou ITU-T/ISO H.264 geralmente resultam em um grau de compactação inaceitavelmente baixo ou na perda completa da textura da granulação.
Assim, existe uma necessidade por uma técnica que 15 simule a granulação de filme em uma imagem para reprodução por um tocador de mídia.
BREVE SUMÁRIO DA INVENÇÃO
Brevemente, de acordo com os presentes princípios, é provido um método para simular um bloco de granulação de 20 filme para adição em um bloco de uma imagem para garantir a precisão do bit durante a reprodução da imagem em modos de execução normal e com artifício. 0 método começa pelo estabelecimento de pelo menos um parâmetro pelo menos em parte de acordo com um atributo do bloco. A seguir, pelo 25 menos um bloco da granulação do filme é estabelecido com precisão de bit de acordo com o pelo menos um parâmetro.
BREVE SUMÁRIO DOS DESENHOS
A Figura 1 representa um diagrama esquemático de
blocos da combinação de um transmissor e receptor em uma cadeia de processamento de granulação de filme útil para a prática da técnica dos presentes princípios;
A Figura 2 representa um diagrama esquemático de blocos de um sistema para simular a granulação de filme de acordo com os presentes princípios;
A Figura 3 representa um diagrama de blocos de um registrador de deslocamento para gerar um módulo polinomial primitivo 2 para simular granulação de filme de acordo com o 10 método da FIG. 2 e
A Figura 4 representa uma grade de pixel mostrando 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 simular um padrão de granulação de filme com precisão de bit compreendido de blocos individuais de granulação de filme, uma breve visão geral da simulação de granulação de filme será útil. A Figura 1 apresenta um diagrama 20 esquemático de blocos de um transmissor 10, que recebe um . sinal de vídeo de entrada e, por sua vez, gera um fluxo de vídeo compactado na sua saída. Além disso, o transmissor 10 também gera informação indicativa da granulação de filme (se qualquer) presente na amostra. Na prática, o transmissor 10 25 poderia compreender parte de uma formação de uma cabeça de rede de um sistema de televisão a cabo, ou outro tal sistema que distribui o vídeo compactado para um ou mais receptores a jusante 11, somente um dos quais é mostrado na FIG. 1. O
transmissor 10 poderia também adotar a forma do codificador que apresenta midia como um DVD 12. O receptor 11 decodifica o fluxo de vídeo codificado e simula a granulação de filme de acordo com a informação da granulação de filme e vídeo 5 decodificado, ambos recebidos do transmissor 10 ou diretamente da própria mídia no caso de um DVD ou semelhante, para produzir um fluxo de vídeo de saída que tem a granulação de filme simulado. O receptor 11 pode adotar a forma de um conversor de sinal de freqüência ou outro tal 10 mecanismo que serve para decodificar o vídeo compactado e simular a granulação de filme nesse vídeo. Em particular, o receptor 11 poderia adotar a forma de um dispositivo de reprodução de DVD capaz de decodificar uma imagem para reprodução, misturar a granulação de filme em tal imagem e 15 reproduzir a imagem em velocidades de execução normal e com artifício.
O gerenciamento geral da granulação de filme exige que o transmissor 10 informação chega. Em granulação (isto é, o codificador) proveja com relação à granulação de filme no vídeo que outras palavras, o transmissor 10 modela de informação de
10.
filme. Além disso, o receptor 11 (isto é, simula a granulação granulação de filme
O transmissor 10 enriquece compactado possibilitando que o de filme de acordo com recebida do transmissor a qualidade do vídeo receptor 11 simule a granulação de filme no sinal de vídeo quando existe processo de codificação do vídeo.
Na modalidade ilustrada da FIG. 1, o transmissor inclui um codificador de video 13 que codifica o fluxo de video usando qualquer uma das técnicas de compactaçãode video bem conhecidas tal como o padrão de compactaçãode video ITU-T Rec. H.264|ISO/IEC 14496-10. Opcionalmente,um removedor de granulação de filme 14, na forma de um filtro ou semelhante representado em linhas tracej adas na FIG.1, podería existir a montante do codificador 13 para remover qualquer granulação de filme no fluxo de vídeo que chega 10 antes da codificação. Até a extensão que o vídeo que chega não contém granulação de filme, nenhuma necessidade existiría do removedor de granulação de filme 14.
Um modelador de granulação de filme 16 aceita o fluxo do vídeo de entrada, bem como o sinal de saída do 15 removedor 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 que chega. Na sua forma mais simples, o modelador de granulação de filme 16 poderia compreender uma tabela de 20 pesquisa contendo modelos de granulação de filme para estoques de filme diferentes. A informação no sinal de vídeo que chega especificaria o estoque de filme particular originalmente usado para gravar a imagem antes da conversão em um sinal de video, assim permitindo que o modelador de 25 granulação de filme 16 selecione o modelo de granulação de filme apropriado para tal estoque de filme.
Alternativamente, o modelador de granulação de filme 16 poderia compreender um processador ou circuito lógico
dedicado que executaria um ou mais algoritmos para amostrar o video que chega e determinar o padrão de granulação de filme que está presente, como discutido a seguir.
O receptor 11 tipicamente inclui um decodificador de video 18 que serve para decodificar o fluxo de video compactado recebido do transmissor 10. A estrutura do decodificador 18 dependerá do tipo de compactação executada pelo codificador 13 dentro do transmissor 10. Assim, por exemplo, o uso dentro do transmissor 10 de um codificador 13 que utiliza o padrão de compactação de video ITU-T Rec. H.264|ISO/IEC 14496-10 para compactar o vídeo que sai ditará a necessidade por um decodificador 18 complacente com H.264. Dentro do receptor 11, um simulador de granulação de filme 20 recebe a informação de granulação de filme do modelador de granulação de filme 16. O simulador de granulação de filme 20 pode adotar a forma de um processador programado ou circuito lógico dedicado tendo a capacidade de simular a granulação de filme para a combinação via um combinador 22 com o fluxo de vídeo decodificado.
A simulação de granulação de filme objetiva sintetizar amostras de granulação de filme que simulam a aparência do conteúdo de filme original. Como descrito, a modelagem de granulação de filme ocorre no transmissor 10 da FIG. 1, enquanto que a simulação da granulação de filme ocorre 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 que chega do transmissor 10 a montante do decodificador de vídeo. Observe que o processo
de decodificação que ocorre no receptor 11 não faz uso das imagens com a granulação de filme adicionado. Ao contrário, a simulação da granulação de filme constitui um método após o processamento para sintetizar a granulação de filme 5 simulado nas imagens decodificadas para exibição. Por essa razão, o padrão de compactação de video ITU-T Rec.
H.264|ISO/IEC 14496-10 não contém especificações quanto ao processo de simulação' da granulação de filme. Entretanto, a simulação da granulação de filme exige informação com 10 relação ao padrão da granulação no sinal de vídeo que chega, cuja informação tipicamente passa pela transmissão em uma mensagem de informação de enriquecimento complementar (SEI) quando usando o padrão de compactação de vídeo ITU-T Rec.
H.264|ISO/IEC 14496-10 como especificado pela emenda 1 15 (extensões da faixa de fidelidade) desse padrão de compactação.
A técnica de simulação da granulação de filme dos presentes princípios possibilita a simulação de granulação de filme com precisão de bit e têm aplicações em produtos do 20 consumidor, tal como tocadores de HD DVD, por exemplo.
Outras aplicações potenciais poderiam incluir conversores de sinal de freqüência, aparelhos de televisão e até mesmo dispositivos de gravação tal como filmadoras e semelhantes. As especificações da técnica de simulação estão de acordo 25 com o padrão ITU-T Rec. H.264|ISO/IEC 14496-10. A simulação da granulação de filme ocorre depois da decodificação do fluxo de bit de vídeo e antes da exibição do pixel. O processo de simulação da granulação de filme exige a
decodificação da informação complementar da granulação de filme, eventualmente transmitida em uma mensagem de SEI de características de granulação de filme como especificado pela emenda 1 (extensões da faixa de fidelidade) do padrão 5 ITU-T Rec. H.264|ISO/IEC 14496-10 [1]. As especificações que
afetam a mensagem de SEI das características da granulação
de f i lme são providas para garantir que a tecnologia
satisfaça as exigências dos sistemas de alta definição em
termos de qualidade e complexidade.
10 ESPECIFICAÇÕES DA MENSAGEM DE SEI DAS
CARACTERÍSTICAS DA GRANULAÇÃO DE FILME
Como discutido, as características da granulação de filme aparecem na mensagem de SEI de características de granulação de filme ITU-T Rec. H.264|ISO/IEC 14496-10 que 15 acompanha a imagem. Os valores dos parâmetros na mensagem de característica da granulação de filme são restritos como segue: modelaid especifica o modelo de simulação. Na modalidade ilustrada, o valor iguala 0> que identifica o modelo de simulação da granulação de filme como filtragem de 20 frequência.
separate_color_description_present_flag especifica se o espaço de cor no qual os parâmetros da granulação de filme são estimados é diferente do espaço de cor no qual a seqüência de vídeo foi codificada. Na modalidade ilustrada, o valor iguala 0, o que indica que o espaço de cor para a simulação da granulação de filme permanece o mesmo como para codificação.
blending_mode_id especifica o modo de mistura
usado para misturar a granulaçâo de filme simulado com as imagens decodificadas. Na modalidade ilustrada, o valor iguala 0, o que corresponde com o modo de mistura aditivo.
log2_scale_factor especifica o fator da escala logaritmica usada para representar os parâmetros da
SEI. Na modalidade ilustrada, o valor se situa na faixa [2,7] para garantir que a simulação da granulaçâo de filme possa ocorrer usando aritmética de 16 bits.
intensity_interval_lower_bound[c][i] e intensity_interval_upper_bound[c][i] especificam os limites do intervalo de intensidade i do componente de cor c para o qual os parâmetros da granulaçâo de filme foram modelados. Para todos os c e para qualquer valor de intensidade v, existirá um único intervalo de intensidade i que verifica intensity_interval_lower_bound[c][i] < = v e intensity_interval_upper_bound[c][i] > = v, desde que granulaçâo de filme de múltiplas gerações não é permitido.
num_model__values_minusl [c] especifica o número de valores de modelo presentes em cada intervalo de intensidade para o componente de cor c. Para todo c, o valor se situa na faixa [0,2], que especifica que a filtragem de banda de passagem e a correlação de cor cruzada não são suportadas. comp_model_value[c][i][0] especifica a intensidade da granulaçâo de filme para o componente de cor ceo intervalo de intensidade i. Para todo c e i, o valor se situa na faixa [0,255] para garantir que a simulação da granulaçâo de filme possa ocorrer usando aritmética de 16 bits.
comp_model_value[c][i][1] especifica a freqüência de corte alta horizontal que caracteriza a forma da granulação de filme para o componente de cor ceo intervalo de intensidade i. Para todo c e i, o valor se situa na faixa 5 [2,14], que inclui todos os padrões de granulação requeridos.
comp_model_value[c][i][2] especifica a freqüência de corte alta vertical que caracteriza uma forma da granulação de filme para o componente de cor ceo intervalo 10 de intensidade i. Para todo c e i, o valor se situa na faixa {2,14] que inclui todos os padrões de granulação requeridos.
film_grain_characteristics_repetition_period indica se uma outra mensagem de SEI de características da granulação de filme estará presente no fluxo de bits e 15 especifica o intervalo de contagem da ordem da imagem em que uma outra mensagem de SEI de características de granulação de filme estará presente. Na modalidade ilustrada, o valor iguala 0 para especificar que a mensagem de SEI de características da granulação de filme se aplica à imagem 20 decodificada atual somente.
De acordo com os presentes princípios, uma mensagem de SEI de características de granulação de filme deve preceder todas as imagens que exigem a inserção da granulação de filme. Essa abordagem garante a precisão do 25 bit na execução do modo com artifício, bem como no modo de execução regular para dispositivos de reprodução de mídia tais como aparelhos de DVD e semelhantes, e permite a inserção da granulação de filme com precisão de bit em ambas
4oí a ordem de decodificação e a ordem de exibição, contanto que a simulação da granulação de filme ocorra usando técnicas com precisão de bit.
Combinando todos os componentes de cor c e intervalos de intensidade em uma mensagem de SEI, o número de pares diferentes (comp_model_value[c][i][1], comp_model_value{c][i][2]) não pode exceder dez. Todos os outros parâmetros na mensagem de SEI de características de granulação de filme especificados pelo padrão ITU-T Rec.
H.264[ISO/IEC 14496-10 não têm restrições de acordo com os presentes princípios.
SIMULAÇÃO DA GRANULAÇÃO DE FILME COM PRECISÃO DE
BIT presente
A simulação da granulação de imagem menos que film_grain_characterístics_cancel_flag especificações do padrão de compactação de
Rec. H.264|ISO/IEC 14496-10 permitem filme seja vídeo ocorre na parâmetro
1.
As atual ITU-T a simulação da granulação de filme em todos os componentes de cor.
simulação da granulação de filme e a adição da granulação de filme simulado no componente de cor c da imagem decodificada ocorrem se comp_model_present_flag[c] iguala 1 na mensagem de SEI de característica de granulação de filme. De acordo com os presentes princípios, a simulação da granulação de 25 filme com precisão de bit ocorre primeiro especificando uma base de dados dos padrões da granulação de filme. A seguir, a seleção pseudo-aleatória de um padrão de granulação de filme ocorre usando um gerador de número pseudo-aleatório
uniforme para essa finalidade. 0 padrão selecionado então passa por uma seqüência precisa de operações. A simulação da granulação de filme tipicamente ocorre independentemente para cada componente de cor.
SEQÜÊNCIA OPERACIONAL DE SIMULAÇÃO DA GRANULAÇÃO DE FILME
A seqüência de operações executadas para simular e adicionar a granulação de filme a uma imagem decodificada aparece na Figura 2. A particularização do processo de simulação para um específico de um tríade de cores primárias ocorre ajustando c igual a 0, 1 ou 2. Na modalidade ilustrativa, a simulação da granulação de filme ocorre na ordem de varredura, com um tamanho de bloco de 8x8 pixels, mas outras implementações permanecem possíveis.
A seqüência de operações começa com a execução da etapa 100 para estabelecer os parâmetros da granulação de filme. Parte do processo de estabelecimento dos parâmetros da granulação de filme para a granulação de filme simulado inclui extrair informação da granulação de filme transportado pelo sinal de vídeo que chega que se originou com a reprodução do DVD 12, ou que se origina de um conversor de sinal de freqüência 200. Com o sinal de vídeo que chega codificado usando o padrão de codificação de vídeo ITU-T Rec. H.264|ISO/IEC 14496-10, a informação da granulação de filme aparecerá na mensagem de SEI. A extração da mensagem de SEI exige a decodificação do sinal de vídeo que chega codificado H.264 que chega usando um decodificador 101 complacente com H.264IMPEG-4 AVC como mostrado na FIG.
2. Na prática, o decodificador 101 existiría dentro do conversor de sinal de freqüência 200 ou dentro do aparelho de DVD para reproduzir a informação no DVD 12.
A mensagem de SEI contém vários parâmetros, incluindo intensity_interval_lower_bound[c][i] e intensity__interval_upper__bound[c] [i] onde i varia de 0 até o valor do parâmetro num_intensity_intervals_minusl[c]. Esses parâmetros da mensagem de SEI passam por uma comparação contra o valor médio de intensidade do pixel calculado para 10 um componente de cor c de cada bloco de pixel 8x8 não sobreposto na imagem decodificada armazenada em um armazenamento temporário de exibição 102 seguinte à decodificação pelo decodificador 101. Para cada bloco de pixel 8x8 não sobreposto do componente de cor c da imagem 15 decodificada, a computação do valor médio ocorre durante a etapa 103 na maneira seguinte:
avg = 0 for(k = 0; k<8; k++) for(l « 0; 1<8; 1++) avg + = decodedjpicture[c][m + k][n + 1] avg = (avg + 32) »6 onde (m,n) são as coordenadas superiores esquerdas do bloco e decoded—picture[c][m+k][n+1] é o valor de pixel decodificado nas coordenadas (m+k, n+1) do componente de cor 20 c.
valor médio é comparado com os parâmetros
intensity__interval_lower_bound [c] [i] e intensity_interval_upper_bounci [c] [i] da mensagem de SEI, para valores de i variando de 0 a num_intensity_intervals_minusl[c]. O valor de i para o qual o valor médio do bloco é maior ou igual do que intensity_interval_lower_bound[c][i] e menor ou igual do que intensity_interval_upper_bound[c][i], representado por s, serve para’ selecionar os parâmetros da granulação de filme para o bloco atual estabelecido durante a etapa 100. Se nenhum valor existe que satisfaça a condição prévia, nenhuma simulação de granulação de filme ocorre no bloco atual. Em tal caso, o processo de criação do bloco da granulação de filme que de outra forma ocorreria durante a etapa 104, como descrito a seguir, não ocorre. Sob tais condições, a etapa de desblocar 108, como descrita a seguir, recebe como uma entrada um bloco de 8x8 com todos os seus pixels iguais a zero.
Na modalidade ilustrativa, a mensagem de SEI contém freqüências de corte altas verticais e altas horizontais (algumas vezes citadas como freqüências de interrupção) que descrevem as propriedades de um filtro bidimensional que caracteriza o padrão de granulação de filme desejado. As freqüências de corte dos componentes de croma (c = 1,2) demonstradas na mensagem de SEI, quando demonstradas em um formato de croma de 4:4:4, passam por ajuste da escala para adaptar ao formato de croma de 4:2:0 como segue:
comp_model__value [c] [s] [1] = Clip(2, 14, (comp_model__value [c] [s] [1]« 1)) comp_model__value [c] [s] [2] = Clip(2, 14, (comp_model_value[c] [s] [2]« 1))
A etapa 104 inicia o processo de estabelecimento de um bloco de granulação de filme, tipicamente embora não necessariamente de 8x8 pixels em tamanho. A etapa de estabelecimento de um bloco de granulação de filme de 8x8 5 pixels envolve recuperar um bloco de 8x8 amostras de granulação de filme de uma base de dados de granulação de filme 105, e ajustar a escala das amostras para a intensidade apropriada. O ajuste de escala, embora desejável não precisa necessariamente ocorrer. A base de dados 105 10 tipicamente compreende 169 padrões de 4.096 amostras de granulação de filme, cada uma representando um padrão de granulação de filme de 64x64. A base de dados 105 armazena os valores na forma complementar 2' s, variando de -127 a 127. A síntese de cada padrão de granulação de filme 15 tipicamente ocorre usando um par específico de frequências de corte que estabelecem um filtro bidimensional que define o padrão da granulação de filme. As frequências de corte transmitidas na mensagem de SEI possibilitam o acesso da base de dados 105 dos padrões de granulação de filme durante 20 a simulação da granulação de filme.
A criação de um bloco de granulação de filme de 8x8 pixels não somente envolve a recuperação de um bloco de 8x8 amostras de granulação de filme da base de dados, mas o
ajuste da escala dessas amostras para a intensidade apropriada. As frequências de corte comp_model_value[c] [s][l] e comp_model_value[c] [s] [2] determinam qual padrão da base de dados é usado como fonte 5 das amostras de granulação de filme e dois valores aleatoriamente gerados selecionam um bloco 8x8 dele. Esses valores aleatórios representam um deslocamento horizontal e vertical dentro do padrão de 64x64 pixels e são criados usando o seguinte procedimento:
k_offset - (MSB16(x(r, ec)) % 52) k_offset & = OxFFFC k_offset + = m & 0x0008 l_offset = (LSBi6(r, ec) ) % 56) l_offset & = 0xFFF8 l_offset + = n & 0x0008 onde x(r,ec) indica o r° símbolo da seqüência x dos números pseudo-aleatórios, gerados por um gerador de número aleatório 114 representado na FIG. 3, quando o gerador de número aleatório é inicializado com a semente ec.
Como observado na FIG. 3, o gerador de número aleatório 114 15 compreende um registrador de deslocamento de 32 bits cujos dezesseis bits mais significativos e os dezesseis bits menos significativos constituem os valores MSBi6 e LSBi6 que aparecem acima. (m,n) são as coordenadas do bloco 8x8 atual na imagem decodificada. Para o k_offset, a primeira equação
gera um valor pseudo-aleatório uniformemente distribuído na faixa [0,51], a segunda equação restringe esse valor a múltiplos de 4, e a última equação adiciona 8 no k_offset quando m% 16 iguala 8. Operações equivalentes são executadas 5 para l_offset.
Na prática, o gerador de número pseudo-aleatório
114 da FIG. 3 faz uso de um operador de módulo 2 polinomial primitivo, x31 + x3 + 1 em conjunto com um registrador de deslocamento de 32 bits, para selecionar aleatoriamente os 10' blocos de granulação de filme de 8x8 pixels dos padrões de granulação de filme de 64x64 pixels armazenados na base de dados 105. Na modalidade ilustrada, a inicialização da semente do gerador de número pseudo-aleatório 114 ocorre de acordo com a equação seguinte:
ec = Seed_LUT [ (ABS (POC)+idr_pic_id«5+off set [c]) % 173] onde
ABS(.) representa o valor absoluto;
POC é a contagem da ordem da imagem da . imagem atual, que será derivada do fluxo de vídeo como especificado no padrão ITU-T Rec. H.264|ISO/IEC 14496-10 e idr_pic_id deverá ser lido da fatia de cabeçalho de um fluxo de vídeo ITU-T Rec. H.264|ISO/IEC 14496-10 de modo a identificar imagens IDR.
Para garantir a simulação apropriada da granulação de filme, as especificações do sistema HD DVD especificam que idr_pic_id muda para cada IDR codificado; enquanto 25 offset[3] = {0,58,115} provê um deslocamento diferente para
cada componente de cor; e Seed_LUT aparece no anexo A, subcláusula A3. Durante uma pausa, as sementes do gerador de número pseudo-aleatório 114 passam pela inicialização para o mesmo valor no começo da imagem. Alternativamente, a semente podería ser inicializada como segue:
ec = Seed_LUT (PicOrderCnt + PicOrd©rCnt_off set «5 + color_offset[c]) % 256) onde color_offset[3] = (0,85,170) e Seed_LUT contém 256 valores ao invés de 173.
valor pseudo-aleatório x(r,ec) t criado via o gerador de número pseudo-aleatório 114 da FIG. 3 passa pela 10 atualização a cada 16 pixels (horizontalmente) e a cada 16 linhas (verticalmente) . Cada área não sobreposta de 16x16 pixels da imagem decodificada usa o mesmo número pseudoaleatório x (r,ec) . Como ilustrado na Figura 4, a seqüência resultante de valores pseudo-aleatórios x(r,ec) segue uma ordem de varredura sobre uma grade de 16x16 pixels, assim possibilitando a ordenação da varredura dos blocos de 8x8 pixels como discutido previamente.
Como parte da etapa de criação do bloco de
granulação de filme 104, na modalidade ilustrada, a
20 computação dos deslocamentos aleatórios é seguida pelo
ajuste da escala dos 64 valores de granulação de filme
extraídos da base de dados como segue:
scale_factor=(BIT0 (x (r, ec)== 0)? comp_model_value [c] [s] [0] :
-comp_model_value [c][s][0] Scale_jfactor»= (c == 0)? 0 : 1 for(k = 0; k<8; k++) for(1 = 0; 1<8; 1++){ g=scale__factor*database[h] [v] [k+k__offset] [l+l__offset] film_grain_block [k] [1] = (((g+2log2-aoale-£actor-1) »log2_ scale_factor) +32) »6 }
onde h é igual a comp__model_value [c] [s] [1] - 2, v é igual a comp_model_value[c][s][2] - 2, o fator 6 ajusta a escala dos valores de granulação de filme providos no anexo A, apêndice A.3 e BITo representa o LSB.
O desblocar ocorre durante a etapa 108, por meio do que um' filtro de desblocar (não mostrado) é aplicado entre blocos de granulação de filme adjacentes para garantir a formação sem junção dos padrões de granulação de filme. Na modalidade ilustrativa, o filtro de desblocar aplica-se 10 somente nas bordas verticais entre blocos adjacentes.
Assumindo que os blocos de granulação de filme são simulados na ordem de varredura e que os pixels mais à esquerda de current_fg_block estão adjacentes aos pixels mais à direita de previous_fg_block, o filtro de desblocar deverá ser 15 executado por meio de um filtro de 3 derivações como segue:
for(k = 0; k<8; k++){ β previous__fg_block [6] [k] to = previous_fg_block[7][k] rO = cur rent_f g_block [ 0 ][k] rl = current_fg_block[1][k] current_fg_block [0] [k] = (10+(r0«l)+rl + 2) »2 previous_fg_block[7] [k] = (11+(10«l)+r0 2) »2
No fim do processo de simulação da granulação de filme, um bloco de granulação de filme desblocado sofre mistura com um bloco de imagem decodificada correspondente via um bloco de mistura 110 e o resultado é recortado para 5 [0,255] antes da exibição:
for(k = 0; k<8; k++) for(l = 0; 1<8; 1++) display_picture[c][m+k][n+1] = Clipp(0,255, decodedjoicture [c] [m+k] [n+1]+fg_block[k][1]) onde (m,n) são as coordenadas esquerdas superiores do bloco, decoded_picture[c][m+k][n+1] é o valor do pixel decodificado nas coordenadas (m+k, n+1) do componente de cor c e display_picture [c]‘ [m+k] [n+1] é a saída de vídeo nas mesmas 10 coordenadas.
Um elemento de comutação 111 controla a passagem do bloco de granulação de filme desblocado para o bloco 110 sob o controle de um elemento de controle 112. 0 elemento de controle 112 controla o elemento de comutação responsivo a
se o parâmetro da mensagem de SEI f ilm_grain_characteristics_cancel__f lag iguala a unidade ou a • faixa de quadro especificada pelo parâmetro film_grain_characteristics_repetition_period foi excedida o 5 que dita se a simulação da granulaçâo de filme deve ocorrer como discutido acima.
Embora mostrado separadamente do conversor de sinal de freqüência 200, o processo geral compreendendo as etapas 100, 103, 104 e 108, bem como os elementos 101, 102, 10 105, 106, 109, 111 e 112 poderiam facilmente existir dentro do conversor de sinal de freqüência. O mesmo seria verdadeiro com relação ao aparelho de DVD (não mostrado) reproduzindo o conteúdo no DVD 12.
ANEXO A
A realização de uma representação com precisão de bit do bloco da base de dados do padrão da granulaçâo de filme 105 pode ocorrer pelo armazenamento de uma lista précompútada de valores ou pela computação dos valores através Tfl de um processo de inicialização.
PROCESSO DE CRIAÇÃO DA BASE DE DADOS
A criação com precisão de bit da base de dados 105 pode ocorrer provendo: (1) um LUT de números aleatórios Gaussianos; (2) um gerador de número pseudo-aleatório uniforme, tal como gerador 106, uma transformação de número 25 inteiro; e pela execução de uma seqüência de operações descritas a seguir. A criação de um padrão de granulaçâo de filme de 64x64 com freqüência de corte horizontal h+2 e freqüência de corte vertical v+2, produz uma base de dados representada como base de dados [h][v]. 0 processo de criação da base de dados exige a criação de todos os padrões possíveis na base de dados [h][v], onde h e v estão na faixa de 0 a 12.
Para formar uma imagem de bloco 64x64 individual, até 4.096 valores são lidos de um LUT de números aleatórios Gaussianos. O LUT de números aleatórios Gaussianos, providos no apêndice A. 3, é composto de 2.048 valores armazenados na forma de complemento de 2's e variando de -127 a 127. O 10 gerador de número pseudo-aleatório uniforme (PRNG) definido na seção 2 é usado para acessar aleatoriamente o LUT dos números aleatórios Gaussianos.
Em uma etapa de inicialização, os valores da imagem do bloco 64x64 devem ser ajustados para zero e a 15 semente do PRNG deve ser inicializada como segue:
ehv = Seed_LUT[h + v * 13] (A-l)
Criação da imagem de bloco de 64x64 ocorre como segue:
fh = ((h+3)«2)- 1 fv = ((v+3)«2)- 1 for(l =0, r - 0; l<=fv; 1++) for(k = 0; k<=fh; k+=4){
B[k] [1] = Gaussian_LUT[x(r, ehv) % 2,048]
B[k+1] [1] = Gaussian_LUT(x(r, ehv)+l) % 2,048] (A-2)
B[k+2] [1] = Gaussian LUT(x(r, ehV)+2) % 2,048]
B[k+3] [1] = Gaussian_LUT(x(r, ehv)+3) % 2,048] r++ }
onde na iteração r do polinomial x inicializado na semente ehv·
A computação de uma transformação de número inteiro inverso de 64x64
A transformação inversa da matriz
64x64 de coeficientes produzirá a base de dados do padrão de granulação de filme[h][v].
A computação da transformação inversa ocorre como segue:
Database[h][v] ( ( (R64T X B
- 128) »8) x R64 + 128)» 8
Desblocar das bordas de bloco 8x8 horizontal
A etapa final no processo de criação de um padrão de granulação de filme DE 64x64 compreende o desblocar das bordas de bloco 8x8 horizontais. O desblocar é executado pela atenuação dos valores de pixel de acordo com a equação seguinte:
for (1=0; Κ64; l+=8) { for(k=0; k<64; k++){ database[h][v][k][l]=database[h][k][1]*deblock_factor [v])»7 database[h][v][k][1+7]= database[h][v][k][1+7]*deblock factor [v]) »7
} }
onde deblock_factor[v] é definido para uma modalidade preferida como:
deblock_factor[v]={66,71,77,84,90,96,103,109,116,122,128,
128,128} precedente descreve uma técnica para simular a granulação de filme em uma imagem, e mais particularmente para simular a granulação de filme em uma imagem para
APÊNDICE A
-Gaussian__LUT [2048] = {
0xF5, OxAA, OxOB, 0x03, 0x67, 0xF5, 0x29, OxDE, 0x41, 0xB2, 0x2D, 0x37, OxOC, 0x3B, 0x4D, 0x61
5 OxCE, 0x15, OxOD, 0xF6, OxEC, OxEE, 0x21, 0x81, 0x10, OxFB
0x97, 0x12, 0x13, 0x46, 0x2F, 0xF6,
OxDA, 0x2A, OxFE, 0x4A, OxBD, 0x34, 0xA6, 0x21, 0xD2, 0x14
OxFE, 0xC9, 0x31, 0x00, 0xC7, 0xD7,
0x00, 0x78, 0x81, 0x95, OxDO, 0x09, OxOE, 0x7F, 0x7A, 0x6C
10 0x33, 0x7F, 0x01, 0x06, 0x71, 0x13,
OxlD, OxOC, 0x4C, 0x70, 0x51, 0xC3, 0x81, 0x6F, OxCD, 0xE3
0x02, OxCF, 0xE9, 0x3A, 0xE4, 0xB7,
OxOB, 0x70, 0x42, 0x4E, OxFE, 0x8E, 0xA9, OxFB, OxFB, 0x28
0x3A, OxBO, 0x31, 0xE6, 0xE2, OxDE,
15 0x97, 0x32, 0x10, 0xE8, OxDD, 0xF3, 0xF2, 0x81, 0xC9, OxEA
0xC9, 0x81, 0x90, 0x04, 0xE7, 0xB8,
0x7F, 0x7F, OxFE, 0x29, 0x57, OxBF, OxFl, 0x36, 0x12, 0x5A
OxBO, OxBF, OxCO, 0x23, OxFA, OxCA,
0x62, OxFA, 0x58, 0x7D, 0xE6, 0x5B, 0x00, 0x3F, 0x3B, 0xF2
20 0xE9, 0x70, OxEO, 0x74, OxOD, 0x19,
0x33, OxFO, 0x6B, 0xF9, 0x34, 0x26, OxDE, 0x10, OxFA, 0x04,
0xA5, 0x06, 0x3E, 0x3E, OxFl, 0x26,
OxDC, 0x12, 0x36, Oxll, OxCD, 0x27, 0x21, OxDB, 0x7D, OxDA,
0x8A, 0x10, 0xE2, 0x00, 0x12, 0x62,
25 0x3C, 0x64, 0xF4, 0xB8, OxEF, OxCD, 0x62, 0x02, 0x02, 0x3B,
0x21, OxFD, OxFE, 0x09, 0xD7, 0x97,
OxDB, OxOD, 0x7F, OxOF, 0x81, OxEl, OxAA, OxD9, 0xC9, 0x2D
0xD7, 0x4B, 0x16, OxEE, OxEA, OxBA,
0x4A, OxCB, OxFF, 0x20, 0xD3, Oxll, 0xA4, 0x3B, OxCO, OxBE
0x37, 0x9B, 0xE4, 0xA9, OxDE, 0xA4,
0x43, 0x05, 0xB7, 0xC3, 0x5C, 0xD6, OxOD, 0xE7, OxDB, 0x82
OxFO, OxOF, 0x81, 0x3F, 0x22, OxlF,
0x5D, 0x10, OxCD, 0xC6, 0x47, 0x4C, 0x50, 0x7F, 0x7F, 0x3C,
0x20, 0x97, 0xA4, 0x00, 0x00, 0x4B,
OxBB, 0x47, 0x7F, OxED, 0x91, OxlD, 0x17, OxOE, 0x02, 0x26,
0x5B, 0x05, 0x29, 0x01, OxFB, 0x26,
OxOF, 0x71, 0xE3, OxDB, 0x32, 0x2B, 0x6A, OxlA, 0x77, 0x06,
OxBl, 0x19, OxBC, OxEC, 0x5C, 0xF6,
OxFF, 0x12, 0x29, OxCE, 0x4F, 0x81, 0xD5, Ox7F, Oxll, 0x0A,
OxEB, OxlF, OxCD, OxlB, 0xA8, 0xA6,
0xD9, OxED, 0xF7, 0x18, 0x8B, 0x47, 0xE8, 0xD5, 0x01, OxOB,
0x55, 0x96, 0x26, OxDF, 0x81, 0x2E,
0x32, 0xE8, OxEB, 0x2D, 0x00, OxOF, OxDD, OxBC, OxFF, 0xB7,
0x18, OxFA, 0x00, OxlC, OxFE, 0x2D,
0x20, OxEO, 0x75, 0xD3, 0x4F, 0xE9, OxEF, 0x94, 0xF6, OxBA,
0x58, OxDl, 0x17, 0xA5, 0x77, OxDB,
0x31, 0x81, 0x3A, 0x20, OxAF, 0xF6, OxFO, OxFA, 0x2D, 0x81,
OxFl, 0x59, 0x7F, Oxll, 0x62, 0xD9,
OxDF, 0x24, 0x2A, 0xD9, OxEl, OxEC, 0x68, OxED, 0x12, 0x13,
0xC5, 0xF7, OxlE, 0x00, 0x81, 0x21,
0x7F, OxAC, 0x4B, 0x17, 0xD8, OxDO, 0x81, 0x96, 0xF2, 0x2C,
0xB6, 0x01, OxlD, OxED, 0x28, OxBC,
0xD9, OxOC, 0x7F, OxFD, 0x05, 0x14, 0xB8, 0xC6, 0x81, OxFE,
OxFD, OxCB, OxFB, 0x8A, 0x5C, 0x77,
ΟχΒΟ, 0x23, OxEA, OxDB, OxCF, 0xD8, 0x44, 0x27, 0x00, 0x13, 0xD3, 0x42, 0x37, 0x76, OxFC, 0x8D, 0xF2, 0xA6, 0x18, OxAE, OxFA, OxFA, OxAE, 0x05, 0x4D, 0xD5, 0xF4, 0x81, OxEB, 0x6B, 0x81 0xE7
5 0χΑ9, 0x2B, OxDE, 0x08, 0x81, 0x26, 0x45, 0x31, OxCl, 0x49
OxDO, 0x6C, 0xE6, 0xA8, OxDl, 0xD9,
0x2C, 0x31, OxFD, 0x3B, OxD7, 0x50, 0x08, 0x81, 0xF7, . 0xC8
OxCF, 0x7C, OxBF, 0x2F, 0x23, 0x75,
OxOF, 0xF5, OxAO, 0x6D, 0x5E, OxFO, 0xC9, 0x45, 0x07, 0xF3
10 OxFC, 0x31, 0x25, 0xD4, 0x78, 0xE2,
0xB4, 0x28, 0xD3, 0x05, 0x03, 0x44, Oxll, 0xB2, 0x01, OxBl
0x05, 0x7F, 0x2A, OxlA, 0x7F, 0x81,
OxlB, 0xC9, 0xE6, 0x36, 0x6F, 0x2F, 0x6A, OxFF, 0xB4, OxFF
0x34, 0xF8, OxEA, 0xD6, 0x7A, 0x6C,
15 0x7F, 0x65, 0x43, 0x2E, 0x05, 0x01, 0x7B, 0xF4, OxCA, 0xDF(
OxCF, 0x59, 0x41, 0x98, OxFB, 0x5E,
OxCC, 0x3E, 0x2C, OxlD, 0x2E, 0x12, OxDE, OxOE, 0x28, 0x2E,
0x9F, 0xE8, 0x5E, 0xB5, 0x7F, 0x8E,
0x7F, OxBD, 0x01, OxFO, 0x32, OxAl, 0x2F, OxOB, 0x22, 0xD4,
20 0xB6, 0x59, 0x95, 0xF7, 0xC7, 0xE3,
0x93, 0xE8, 0x7F, 0xC4, 0xF3, 0x4C, 0xD4, 0x10, 0x12, 0x53,
0xE9, 0x09, 0x7F, OxBE, 0x35, 0x03,
0x19, OxOD, 0x6F, Ox2A, 0x90, OxEA, OxOA, 0xE8, 0x53, 0x42,
0xF3, 0x4B, 0x85, 0x3A, 0x7F, 0xF5,
25 0x63, OxED, 0x3F, OxDA, 0x35, 0x08, 0x07, 0x3C, 0xC9, 0x02,
0xC8, 0x71, 0x98, 0xC6, 0x03, 0xF7,
0xD2, 0x49, 0x55, 0xC9, OxDE, OxOC, 0x76, OxlB, 0x5D, 0xB9,
OxOC, 0x9D, 0xB9, OxEC, OxlD, 0x47,
0χΑ2, 0x12, OxCB, 0x40, 0xF4, OxCl, 0xE8, 0x41, 0x48, 0xF7
0x7F, 0x00, 0x81, 0x67, OxEC, 0xB7,
0x91, 0x9A, OxFA, OxlC, 0xD7, OxEB, 0xC5, 0xE4, 0xE7, .0x13
OxFC, OxCE, 0x5E, 0xC6, 0xA2, OxDC,
5 0x22, 0x13, OxBC, 0x7F, OxEE, 0x81, OxEA, 0x89, OxCC, 0x24
0x4A, 0x81, OxFF, 0xF5, 0x8A, OxCB,
ÓxE5, 0x26, 0x44, Oxll, 0x10, 0x8E, 0x58, 0x3E, 0x18, 0x24
OxEA, 0x31, 0x9C, OxEl, OxF8, OxAl,
OxCB, 0x05, 0x5C, 0xE9, OxDO, 0xF8, 0x32, 0x03, 0xB6, 0xA7
10 0xF6, OxDA, 0x7F, OxAA, OxEA, 0x13,
0x14, 0x71, 0x4B, 0x33, OxEl, 0x5C, 0xC2, 0x06, 0xF5, 0x2E
0x24, 0x65, 0xD5, OxFO, OxCC, 0xF9,
OxDB, 0xB4, OxEl, OxEB, 0x3E, OxlE, 0x3E, 0x14, 0x81, OxlE
0x3F, 0x24, 0x66, OxAC, 0xF7, 0x4C,
15 0x4F, 0x3A, OxB2, 0xF9, 0x23, 0x08, 0x50, 0xE8, 0xF7, 0x03
OxEF, 0x47, 0x7F, 0x52, OxAA, 0x37,
0x12, 0x89, 0x85, 0x24, OxOA, 0x7F, 0x38, 0xC9, 0x70, OxOD
0x19, 0x20, 0xF3, OxDl, 0x15, 0xF3,
0x04, 0x39, OxlA, 0x18, 0x19, 0xF6, OxDC, 0x25, 0xA4, 0x4D,
20 0x50, 0x09, 0x32, 0x0D, 0x42, 0xF3,
0x00, 0x20, 0x2C, 0xB5, 0x20, OxDA, OxEA, OxCF, 0x81, 0xE5,
OxlF, 0xF8, 0x23, 0x0D, 0x46, 0x0D,
0x38, OxOB, OxCC, OxAB, 0x35, 0xD4, OxDE, 0x01, 0x7F, OxOB,
OxBE, 0xD4, Ox2E, 0x8D, 0x02, OxOA,
25 0x38, OxDE, 0x76, OxEE, 0xC3, 0x34, 0xC6, 0x81, OxDO, OxEA,
0x03, OxFB, 0x10, OxAF, OxFB, 0x7F,
0x18, 0x4E, 0x42, 0x3F, 0xE7, 0x0D, OxCO, OxDB, 0x81, 0xE4;
0x15, 0xC2, 0x41, OxCC, 0xD7, 0x6C,
0xC2, OxOE, OxEB, OxOC, OxlD, OxCl, 0x14, OxlB, 0x5F, 0xD4
0xC6, 0x8C, 0xF7, 0x4F, OxDO, 0x16,
0xD5, OxFO, 0x2E, OxDl, 0x88, OxDD, 0xE4, OxCC, 0xD4, OxlD
0x7F, 0xF4, 0x30, 0xF8, 0x81, 0x4A,
5 0xE5, OxEA, 0x58, 0x3B, OxOA, 0xA2, 0x50, 0xC5, 0x3A, 0x3C
0xE7', 0x28, 0xA5, OxFE, OxEB, 0xC6,
0xD4, 0xC5, OxEA, OxCB, 0x46, 0xE3, 0x42, OxEl, OxEA, OxOE
OxEF, OxBE, 0xE8, 0xE4, 0xC3, 0x2F,
0x25, 0x10, OxOF, OxDB, 0xE9, 0xF6, 0x08, 0xE6, OxED, 0x3A
10 0x2C, OxDO, 0xD2, OxFD, OxEB, OxAF,
OxlD, OxBD, 0x81, 0x4A, 0x65, 0x04, OxEF, 0x61, 0x22, OxBF,
0x29, OxCD, 0x07, 0xC5, 0x17, 0xC7,
OxEE, 0xE8, 0x8A, 0xB8, 0x5A, OxOE, OxFl, 0x4E, OxEO, 0xB2,
0x81, OxDD, 0x29, 0x4C, OxAD, 0x01,
15 0x37, 0x16, 0xB6, 0x7F, OxFO, OxEB, OxOC, OxlE, 0x37, 0x8F(
0x81, 0x59, 0x36, 0x3D, OxOC, 0x36,
0xF3, 0x90, 0xF2, OxlF, 0x30, OxBE, OxFO, 0x5A, 0xF7, 0x00^
0x15, 0x45, OxBA, 0x62, OxED, 0x90,
0x41, 0xA6, 0xF7, 0xF8, 0xB9, 0x7F, 0x32, OxBO, OxDO, 0x18,
20 0x3C, 0xC4, 0x92, 0x06, 0xD8, 0x7F,
0x57, OxBF, 0x6B, 0x81, OxFB, 0x23, 0xF2, 0x29, OxCF, OxOD,
OxOD, 0x49, 0x9C, 0xE5, 0x4C, 0x7F,
0xF9, 0x9C, 0x58, 0x25, 0x79, 0x58, 0x83, 0xC5, OxOD, 0xA3,
0x8D, 0x14, OxBE, 0xA9, 0xA2, 0x89,
25 0x2B, 0xE4, 0xE2, Oxll, 0x04, OxCC, 0xC4, 0x14, 0xD5, OxOB,
0xB3, 0xC5, OxOC, OxlC, 0x02, 0x06,
0xB8, 0x26, 0xC5, 0xF5, 0x6C, OxCB, 0x28, 0x42, 0xF4, 0x81,
0x81, OxDO, 0x17, OxlD, 0x2E, 0x23,
0χ5Β, 0x22, OxEO, 0x73, OxCE, OxDF, OxCD, 0x5B, 0x07, OxAD,
0x48, 0xE7, 0x99, 0x18, 0xF6, 0x4C,
0x54, 0x05, 0x43, OxBO, 0xF3, OxEF, OxEO, OxDO, 0x13, 0x32,
0x19, 0x09, 0x3E, 0x99, 0xF3, 0x24,
5 0x7F, 0x71, 0x60, 0x22, 0x00, OxEO, 0xC9, 0x7F, 0x85, OxEO,
0x3D, 0xF9, 0x77, OxEO, 0x81, OxCC,
0xD6, 0x3F, 0x02, OxFB, 0xE7, 0x46, 0xC7, OxEO, 0xD5, 0xD5,
0x21, 0xC8, 0x81, 0x7F, 0x19, OxDE,
0xF6, 0x10, OxAF, OxlD, 0xC7, 0x28, 0x81, 0x81, 0x14, OxDl,
10 0xF6, OxDD, OxCl, OxCD, OxEO, OxAF,
0x4E, 0xB4, 0xB7, 0x08, OxlA, 0xB8, 0xF8, 0xB6, OxAB, OxAB,
0xC7, 0x19, 0x4E, 0xF7, OxAO, 0x23,
- OxBF, 0x08, 0xC6, OxOE, 0x01, 0xD7, 0x20, 0xA9, 0xD4, Oxll,
OxFE, ,0xF7, 0x3A, 0x27, OxOB, 0x94,
15 OxD9, 0x17, 0x21, Oxll, 0xE4, 0x02, 0x33, 0x93, OxFC, 0x64,
0x01, 0x41, 0x16, 0x00, 0x7F, 0x3D,
Ox2D, 0x19, OxEl, 0x06, 0x09, OxFA, OxDO, 0x63, 0x10, 0x2B,
OxFF, 0xD8, 0x20, OxDA, OxCC, OxOA,
0x93, OxEE, 0x38, 0x81, 0x44, OxlA, 0x33, 0x5C, 0x27, 0x3D,
20 OxCD, 0x2C, OxDA, OxOD, 0x54, 0x79,
OxlB, 0x42, 0x2D, 0x92, OxAE, OxFD, OxlE, 0x24, 0x12, OxDC,
0x3A, 0x47, 0x27, 0xB3, OxDl, 0x3A,
0xB2, 0x07, 0xC2, OxDD, 0xF3, 0x3C, 0x29, 0x81, 0x47, OxFC,
0x17, OxCA, 0x33, 0x81, 0x43, OxFC,
25 0xD7, OxlD, 0xC2, 0x3B, OxFE, OxFF, OxEE, 0xD3, 0xA4, OxBO,
OxAO, 0xF2, OxCB, 0xF6, 0xF5, 0xB3,
OxOD, 0x01, 0x07, OxBE, 0x81, 0x7F, 0xE5, OxlA, 0xF3, Oxll,
0xF4, 0xE6, 0x01, 0x09, 0xD2, OxEO,
OxFl, OxlB, 0xE2, 0xC5, 0x3A, 0x4C, 0x88, OxlB, 0x27, OxCA
0xC2, 0xE2, OxEC, OxDC, OxEl, OxFA,
0x81, 0xE8, 0xC4, 0x46, 0x81, 0x70, 0x81, 0x7F, 0x57, 0xF9
0x73, 0x6D, 0x35, 0x56, 0x81, 0x02,
5 OxOF, 0x16, 0x4A, 0x97, OxCE, 0x03, 0x49, OxAF, 0x91, 0xB6
0x41, 0x51, 0x18, 0x35, 0x7F, 0xD4,
OxCE, 0x9A, 0xD7, OxBF, 0xE4, 0x4F, OxBE, 0x40, OxDF, 0xE2,
, 0xF9, 0x7F, 0x00, 0xF4, OxCD, 0x42,
0xF2, 0x05, 0xA4, OxlC, OxDD, 0xF9, 0xA6, 0xC7, OxFD, 0x24,
10 0x2A, 0x2C, OxEl, OxBB, OxFA, 0x24,
0x26, OxCE, 0x2A, OxAF, 0x3A, 0x05, 0x7F, OxOC, 0x38, 0x42,
0x2D, 0x3A, 0xD6, 0xD6, 0x28, OxFl,
0x89, 0x18, 0x03, 0xF5, 0x12, 0xF4, 0x32, OxlC, 0x03, 0x37,
OxDO, 0xF5, 0x00, 0x02, 0x60, OxEE,
15 OxlD, 0x29, OxOD, 0x2A, 0x4E, 0xD4, 0x37, 0x95, 0xD6, OxED,
0x7F, OxOF, 0xF6, OxEE, OxAF, 0x53,
OxDB, 0x4C, 0x93, OxOF, 0x40, OxCF, 0x2B, OxOB, OxOD, OxlA,
OxlB, 0x3C, 0x39, OxlE, OxlA, 0x6A,
OxEE, 0x37, OxOC, 0x61, 0x04, 0xF9, 0xC3, 0x9A, 0x5E, 0x6B,
20 0xD5, 0x34, OxlA, OxDl, 0xF7, 0x69,
OxCB, 0x2E, 0x58, 0x67, OxDF, 0x26, OxDE, 0x37, 0x32, 0x46,
0xA2, OxDE, 0xA9, 0x96, OxEE, OxEl,
0x09, OxED, 0x4E, 0xF2, 0x4C, 0x05, OxED, 0x95, 0x55, 0x14,
0xD3, 0xD9, 0xD7, 0x08, 0xE4, 0x4A,
.25 0x2F, 0xB5, 0x3C, 0x81, 0x78, 0x91, 0xC7, OxEl, 0x29, 0x07,
Ox4F, 0x4B, 0x42, 0x38, 0x28, 0xE7,
OxlF, 0x25, 0xD2 r OxDC, 0x2B, 0xB7, OxDC, 0x3E, 0x7F, OxBB,
OxCD, 0x59, OxDF, 0xC4, 0x3B, 0xC9,
0x2B, OxOE, 0x04, OxBE, OxOD, 0xA5, 0x3F, OxlC, OxDA, OxFD
0x52, OxFE, OxDA, OxAB, OxAB, 0x39,
0x23, OxBB, 0xC4, OxlC, OxDC, OxAl, 0xB2, 0x04, OxlE, OxFC
OxEO, OxBl, OxEB, 0xF7, 0xB4, 0x2D,
5 0x07, 0xA3, 0xB9, 0x41,' 0x09, OxCF, 0x7F, OxBB, 0x19, 0xF5
0xD9, 0x8E, 0x3E, 0x81, 0x9C, 0x04,
OxEl, 0x6E, 0x16, 0xC5, 0x40, 0x9C, OxlA, 0xD6, 0x15, 0xC6
0xE5, 0xB7, 0x02, 0xA3, 0x05, 0x7E,
0x05, 0x4B, 0xA9, 0xF7, 0xD5, 0x9C, 0x7F, 0x01, 0x7C, 0x5B
10 OxCl, 0x33, 0x38, 0x03, 0x50, 0x81,
0x7F, 0x4F, 0x7F, 0xE3, OxlD, 0x74, 0xB6, OxEF, 0xC7, 0x69,
0x30, 0x2D, 0x18, 0xB9, 0x30, OxDA,
0x95, OxlF, OxDF, 0x03, 0xF5, 0x28, 0x81, 0x33, 0x98, 0xD5J
OxDC, 0x33, 0x01, 0x2E, 0x56, 0xF7,
15 0x4C, OxlA, 0xD8, 0xE8, 0x5A, 0x56, 0xC9, 0x4A, OxOA, 0x21,
0x4D, 0x3A, 0x7F, 0x7E, OxFA, 0xB8,
0x31, OxEO, 0x96, OxDE, 0x25, 0x38, 0x34, OxFO, OxFC, 0x53,
0x34, 0x95, 0x35, 0x84, OxlC, 0x16,
0x37, 0xD5, 0xA9, OxFO, OxFA, 0x2F, 0x17, 0xF7, 0x00, 0xF4,
20 0x6E, 0x4A, OxlB, OxCC, OxDB, OxDF,
0x26, OxlE, 0x42, 0x27, 0x26, OxCl, 0x25, 0x03, 0x15, OxEl,
OxCE, 0xE5, 0x35, OxDA, 0xA9, 0x14,
0x33, 0x73, 0x12, OxAF, OxBB, 0x00, 0xF2, 0xD2, 0xD3, OxFD,
0x7C, 0x10, 0xF3, 0x17, OxAE, OxAD,
25 OxBC, OxED, OxCO, 0x81, 0x08, 0x51, OxDO, 0x3D, 0x06, OxDC,
0xD3, 0xD6, 0x39, 0xE6, 0x2F, 0x13,
OxAB, 0x2E, 0xF4, 0x28, OxDC, 0xB5, 0xC4, 0x55, 0xB2, 0x81,
ΟχΟΒ, 0x32, 0x01, OxFE, OxOC, 0x2F,
0x04, 0x12, 0xB2, OxCA, 0xE5, 0x40, 0xB9, OxOB, 0x95, 0x13,
OxFO, OxOB, 0xE2, 0x3F, 0xC9, 0x24,
0x4B, OxEF, 0x7F, 0xB8, OxEO, 0xE4, 0x89, 0x68, 0x43, 0x6A,
0x99, 0x97, 0x46, 0x3C, 0x02, 0x17,
5 OxFE, 0x20, OxFC, 0xF2, OxBE, 0xF2, OxEA, OxCA, OxOF, 0xC2,
0x4B, 0x39, 0x92, 0x00, 0x52, 0xE6,
0x15, 0x4B, 0xD9, OxEF, 0xF5, 0x40, OxEF, 0x81, OxCA, OxBF,
OxlF, 0x5F, 0x74, 0x03, 0x8F, 0xF9,
0x94, 0xC2, 0x61, 0x09, 0x32, 0x07, 0x4A, 0xE5, 0x48, 0x70,
10 OxDC, 0x91, 0x5E, OxCE, 0x17, 0xF4,
OxED, 0x37, 0x14, 0x17, 0x5B, 0x5A, 0x16, OxCF, 0x10, 0xB6,
0x16, 0x09, OxDO, OxAO, OxDB, 0x31,
OxDD, 0x23, 0x81, OxAB, 0x2A, 0x7F, 0xE9, 0xE8, 0x54, 0x53,
OxDE, OxDF, 0xF4, 0x6D, 0x66, OxDA,
15 0x32, OxBD, 0x22, 0x13, OxEA, 0x30, OxEl, 0x7E, 0x28, 0x18,
0xA4, OxFD, OxFD, 0x69, 0x03, 0xC7,
OxEF, 0x07, 0x7F, OxEF, 0x7C, 0x43, 0x44, 0xC3, OxlE, OxDD,
0x35, 0xC8, 0xE9, Oxll, 0x2A, OxDD,
0xE6, 0xC8, OxBD, OxEC, 0xF7, OxCF, 0x43, OxOC, 0x40, 0x04,
20 0x2F, 0x36, 0x7F, 0xB6, 0x2C, 0x59,
OxBF, 0xF3, 0xB3, OxAF, 0xA5, 0x16, OxlD, 0x21, 0xD9, OxAA,
OxDF, 0x60, 0xA5, 0x27, 0x09, OxCl,
OxFD, 0xF5, 0x7F, OxCF, OxDB, 0xC9, 0x17, OxDE, OxDD, OxCB,
0x59, 0xA5, 0x01, 0x31, 0x4C, OxFB,
25 0x81, 0x10, 0x2D, OxFB, 0xB7, 0x00, 0xC8, OxEE, 0xB8, OxlC,
0x5C, 0x3B, 0x31, 0x14, Oxll, 0x6E,
0x92, 0x20, OxAD, 0x2E, 0x2E, 0xF6, 0x22, 0xA9, 0x2B, 0x39,
0x9F, 0x7F, OxEF, 0x00, 0x00, OxDA,
0x81, OxFE, 0x00, 0x3E, 0x5D, 0x00, 0x24, OxBF, 0xC3, OxEE,
0x26, 0x81, 0x39, 0x31, OxFO, 0x7F,
0x58, 0xD6, 0x94, OxCD, OxFO, 0x06, OxDC, 0x44, 0x2E, 0xF2,
0x6A, 0x28, 0x38, 0x06, 0x13, 0x07,
0x02, 0x57, 0xA7, 0xA4, OxEF, OxEB, 0xE9, OxOC, 0x07, OxFC,
0xB3, 0xA6, OxFD, 0x07, OxDE, OxFC,
0x12, 0x02, 0x91, 0x04, OxBE, OxAF, 0x79, OxED, OxDF, OxDB,
OxAC, 0x7F, 0x43, 0x2D, Oxll, 0x2F
Ιλίο A.2.2 LUT das Sementes PRNG
Seed_LUT [173] = {
1, 207848544, 1756511882, 930434649, 763249220, 575194890,
947173707, 1920384370,
447133882, 1339935731, 1377796300, 271174457, 1198069869,
1661621657, 1743986060, 2077926481,
1331742148, 786140364, 1525112071, 1771594297, 1242061040,
192056172, 2018356587, 166385984,
21118553, 1721162627, 993618401, 953874363, 156353104,
1884552607, 712894377, 965972274,
2058965522, 288658836, 1626536144, 1501102010, 301172797,
447403389, 1040582505, 1522100413,
870342432, 1775643800, 1221041362, 1779102756, 1180374639,
852637658, 1542167176, 1149026881,
100447073, 926671075, 1933929005, 542294649, 1011053571,
1671222556, 1429688165, 1891395211,
2055647522, 22995785, 1442532213, 675966795, 1703505481,
2013843651, 1671669678, 1085040259,
430705574, 2130376611, 1261527826, 15976504, 2011754792,
216863804, 2105395052, 1127940,
1783279601, 1602691796, 1505476467, 1408080649, 180336353,
1381547875, 339789689, 965351473,
427101312, 902100963, 744024896, 1284331604, 1241185038,
1426959894, 2000290842, 1266758843,
18789461, 1665712481, 264198500, 1301146210, 1273389250,
794389433, 2049226913, 1879367632,
1300700193, 212009030, 1957319695, 637701834, 482780409,
1365890669, 1376040417, 1512315348,
1024598031, 1844999775, 1933157338, 1643399146, 276675769,
1707241504, 1016480493, 1361917086,
1730782380, 1621217915, 1585942753, 1325639711, 275717433,
1581177009, 509579973, 1040197139,
519836363, 1962657404, 1906334341, 723415919, 1151165652,
1369484037, 915816613, 582076062,
47146038, 182628210, 1964983821, 1885918321, 370125606,
534524292, 2051583970, 1032364471,
1972079688, 2047231194, 563260760, 1594071307, 1354079352,
2002807836, 632717840, 992281895,
1683480361, 148487199^, 103701272, 345400458, 1333607727,
1396534806, 1265043691, 257575830,
1832801323, 207421923, 1878496261, 913255098, 1480038377,
1655631378, 199918889, 1047339733,
584606242, 116703068, 1435852453, 1851149566, 1450020992,
2073300909, 331912080, 66022624,
2137983702, 884423146, 1325171092, 1765065345, 708316132 } λΑ. 2. 3 Matriz de Transformação
ÍDCT64[64][64] = {
{/* Linha 0 */
32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32 , 32, 32, 32
32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32 , 32, 32, 32
32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32 ' 32, 32, 32
32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32 ' 32, 32, 32
32, 32, 32, 32, 32, 32, 32, 32},
{/* Linha 1 */
45, 45, 45, 45, 44, 44, 43, 42, 41, 40, 39 , 38, 37, 36
34, 33, 31, 28, 26, 24, 22, 20, 18, 16, 14, 12, 10, 8 t 6
3, 1, -1, 3 , 8, 10, 12, 14, 16, 18, 20 , 22, 24, 26
28, 30, 31, -33, , -34, - 36, -37, -38, -39 r ~ 40, - 41, -42
-43, -44, -44, -45, -45, -45, -45},
{/* Linha 2 */
45, 45, 44, 43, 41, 39, 36, 34, 30, 27, 23, 19, 15, 11
7, 2, -2, -7, -11, -15, -19, -23, -27, -30, -34, -36,
39, -41, -43, -44, -45, -45, -45, -45, -44, -43, -41,
39, -36, -34, -30, -27, -23, -19, -15, -11, -7, -2, 2, 7
11, 15, 19, 23, 27, 30, 34, 36, 39, 41, 43, 44, 45, 45},
{/* Linha 3 */
45, 44, 42, 39, 36, 31, 26, 20, 14, 8, 1, -6, -12, -18
-24, -30, -34, “38, -41 , -44, -45, -45, -45, -43, -40
-37, -33, -28, -22, -16, -10, -3, 3, 10, 16, 22, 28, 33
12,
{/
37, 40, 43, 45, 45, 45, 44, 41, 38 , 34, 30, 24, 18,
6, -1, -8, -14, -20, -26, -31, -36, -39, -42, -44, -45}
* Linha 4 */
45, 43, 40, 35, 29, 21, 13, 4, -4, -13, -21, -29, -35,
40, -43, -45, -45, -43, -40, -35, -29, -21, -13, -4,
13, 21, 29, 35, 40, 43, 45, 45, 43 , 40, 35, 29, 21, :
t t
4,
13,
4, -4, -13, -21 , -29, -35, -40, -43, -45, -45, -43, -40,
-35, -29, -21, - -13, -4, 4, 13, 21, 29; , 35, 40, 43, 45},
{/* Linha 5. */
45, 42, 37, 30, 20, 10, -1, -12, -22, -31, . -38, -43, -45,
-45, -41, -36, -28, -18, -8, 3, 14, 24, 33, 39, 44, 45,
44, 40, 34, 26, 16, 6, -6, -16, -26, -34, -40, -44, -45,
-44, -39, - 33, -24, -14, -3, 8, 18, 28, 36, 41, 45, 45,
43, 38, 31, 22, 12, 1, -10, -20, -30, -37, -42, -45},
{/* Linha 6 */
45, 41, 34, 23, 11, -2, -15, -27, -36, -43, -45, -44,
-39, -30, -19, -7, 7, 19, 30, 39, 44, 45, 43, 36, 27, 15,
2, -11, -23, -34, -41, -45, -45, -41, -34, -23, -11, 2,
15, 27, 36, 43, 45, 44, 39, 30, 19, 7, -7, -19, -30, -39,
-44, -45, -43, -36, -27, -15, -2, 11, 23, 34, 41, 45}, {/* Linha 7*/
45, 39, 30, 16, 1, -14, -28, -38, -44, -45, -40, -31,
18, -3, 12, 26, 37, 44, 45, 41, 33, 20, 6, - 10, -24, -36
-43; , -45, -42, · -34, -22, -8, 8, 22 f 34, 42, 45, 43, 36
24, 10, -6, -20 , -33, -41, -45, - 44, -37, -26, -12, 3
18, 31, 40, 45, 44, 38, 28, 14, -1, -16, -30, -39, -45},
{/* Linha 8 */
44, 38, 25, 9, -9, -25, -38, -44, -44, -38, -25, -9, 9,
25, 38, 44, 44, 38, 25, 9, -9, -25, -38, -44, -44, -38, -
25, -9, 9, 25, 38, 44, 44, 38, 25, 9, -9, -25, -38, -44, -44, -38, -25, -9, 9, 25, 38, 44, 44, 38, 25, 9, -9, -25, -38, -44, -44, -38, -25, -9, 9, 25, 38, 44},
5 {/* Linha 9 */
44, 36, 20, 1, -18, -34, -44, -45, -37, -22, -3, 16, 33,
43, 45, 38, 24, 6, -14, -31, -42, -45, -39, -26, -8, 12,
30, 41, 45, 40, 28, 10, -10, -28, -40, -45, -41, -30, -
12, 8, 26, 39, 45, 42, 31, 14, -6, -24, -38, -45, -43, -
10 33, -16 , 3, 22, 37, 45, 44, 34, 18, -1, -20, -36, -44},
{/* Linha 10 * /
44, 34, 15, -7, -27, -41, -45, -39, -23, -2, 19, 36, 45,
- 43, 30, 11, -11, -30, -43, -45, -36, -19, 2, 23, 39, 45,
41, 27, 7, -15, -34, -44, -44, -34, -15, 7, 27, 41, 45,
15 39, 23, 2, -19, -36, -45, -43, -30, -11, 11, 30, 43, 45,
36, 19, {/* Linha -2, 11 * -23, -39, -45, -41, -27, -7, 15, 34, 44}, /
44, 31, 10, -14, -34, -45, -42, -28, -6, 18, 37, 45, 40,
24, 1, -22, -39, -45, -38, -20, 3, 26, 41, 45, 36, 16, -
20 8, -30, -43 , -44, -33, -12, 12, 33, 44, 43, 30, 8, -16, -
36, -45 , -41, -26, -3, 20, 38, 45, 39, 22, -1, -24, -40,
-45, -37, -18, 6, 28, 42, 45, 34, 14, -10, -31, -44}, {/* Linha 12 */
43, 29, 4, -21, -40, -45, -35, -13, 13, 35, 45, 40, 21, -
4, - 29, -43, -43, -29, -4, 21, 40, 45, 35, 13, -13, -35
-45, -40 , -21, 4, 29, 43, 43, 29, 4, 21, 40, -45, 35, 13
13, 35, 45, 40, 21, -4, -29, -43, -43, -29, -4, 21, 40
45, 35, 13, -13, -35, 45, 40, 21, 4, 29, 43},
{/* Linha 13 */
43, 26, -1, -28, -44, -42, -24, 3, 30, 44, 41, 22, -6, 31, -45, -40, -20, 8, 33, 45, 39, 18, -10, -34, -45, -38,
-16, 12, 36, 45, 37, 14, -14, -37, -45, -36, -12, 16, 38,
45, 34, 10, -18, -39, -45, -33, -8, 20, 40, 45, 31, 6,
22, -41, 44, 30, -3, 24, 42, 44, 28, 1, -26, -43}, {/* Linha 14 */
43, 23, -7, -34, -45, -36, -11, 19, 41, 44, 27, -2, -30,
-45, -39, -15, 15, 39, 45, 30, 2, -27, -44, -41, -19, 11,
10 36, 45, 34, 7, -23, -43, -43, -23 , 7, 34, 45, 36, 11 z
19, -41 , -44, -27, 2, 30, 45, 39, 15, -15, -39, -45, - 30,
-2, 27, 44, 41, 19, -11, -36, -45, -34, -7, 23, 43},
{/* Li .nha 15 */
42, 20, -12, -38, -45, -28, 3, 33, 45, 34, 6, -26, -44 r “
15 39, -14 , 18, 41, 43, 22, 10, 37, 45, 30, 1, 31, 45, 36,
8, -24, 44, -40, -16, 16, 40, 44, 24, 8, 36, 45, 31, -i,
30, 45, 37, 10, 22, -43, -41, -18, 14, 39, 44, 26, 6, 34,
45, 33, 3, 28, 45, 38, 12, -20, -42},
{/* Linha */
42,
17,
-17,
-42, -42, -17, 17, 42, 42,
17, -17,
-42,
42, “17,
17,
42, 42, 17,
-17, -42, -42,
-17, 17,
42, 42,
-17, “42, “17,
-42,
-42,
17,
17, 42, 42, 17,
-17, -42,
17, 17, 42, 42, 17, -17, -42, -42, -17, 17, 42, 42, 17, -
17, 42, 42, 17, 17, 42, 42, 17, 17, 42, -42, 17, 17, 42},
* Li nha 17 */
41, 14, -22, -44 , -37, -6, 30, 45, 31, -3, -36, -45, -24,
12, 40, 42, 16, -20, -44, -38, -8, 28, 45, 33, - 1, - 34, -
45, -26 , 10, 39, 43, 18, -18, -43, -39, -10, 26 , 45 r 34,
{/
1, -33, -45, -28, 8, 38, 44, 20, -16, -42, -40, -12, 24,
45, 36, 3, 31, 45, 30, 6, 37, 44, 22, -14, -41}, {/* Linha 18 */
41, 11, -27, -45, -30, 7, 39, 43, 15, -23, -45, -34 f 2,
36, 44, 19, -19, -44, -36, -2, 34, 45, 23, -15, - -43, -39,
-7, 30, 45, 27, - 11, -41, -41, -11, 27, 45, 30, -7, -39,
-43, -1 5, 23, 45, 34, -2, -36, -44, -19, 19, 44, 36, 2, -
34, -45 , -23, 15, 43, 39, 7, -30, -45, -27, 11, 4 1},
{/* Linha 19 */
40, 8, -31, -45, -22, 18, 44, 34, -3, -38, -42, -12, 28,
45, 26, -14, -43, -37, -1, 36, 44, 16, -24, -45, -30, 10,
41, 39, 6, -33, - 45, -20, 20, 45, 33, -6, -39, - 41, -10,
30, 45, 24, -16, -44, -36, , 1, 37, 43, 14, -26, - 45, -28,
12, 42, 38, 3, -34, 44, 18 , 22, 45, 31, -8, -40},
(/* Linha 20 */
40, 4, -35, - 43, -13, 29, 45, 21, -21, -45, -29, 13, 43
35, -4, -40, -40, 4, 35, 43, 13, -29, -45, -21, 21, 45
29, -13, -43, -35, 4, 40, 40, 4, -35, -43, -13, 29, 45
21, -21, -45, -29, 13, , 43, 35, -4, -40, -40, -4, 35, 43
20 13, -29, -45, -21, 21, 45, 29, -13, -43, -35, 4, 40},
{/* Linha 21 */
39, 1, -38, -40, -3, 37, 41, 6, -36, -42, -8, 34, 43, 10,
-33, -44, -12, 31, 44, 14, -30, -45, -16, 28, 45, 18, -
26, -45, -20, 24, 45, 22, -22, -45, -24, 20, 45, 26, -18,
-45, -28, 16, 45, 30, -14, -44, -31, 12, 44, 33, -10, 43, -34, 8, 42, 36, -6, -41, -37, 3, 40, 38, -1, -39}, {/* Linha 22 */
39, -2, -41, -36, 7, 43, 34, -11, -44, -30, 15, 45, 27, 43 {/
19, -45, -23, 23, 45, 19, -27, -45, -15, 30, 44, 11, -34
-43, -7, 36, 41, 2, · -39, -39, 2, 41, 36, -7, -43, -34
11, 44, 30, -15, -45, -27, 19, 45, 23, -23, -45, -19, 27
45, 15, -30, -44, -11, 34, 43, 7, -36, -41, -2, 39}. r
* Linha 23 */
38, -6, -43, -31, 16, 45, 22, -26, -45, -12, 34, 41, I,
40, -36, 10, 44, 28, -20, -45, -18, 30, 44, 8, -37, -39
3, 42, 33, -14, - -45, -24, 24, 45, 14, -33, -42, -3, 39
37, -8, -44, -30, 18, 45, 20, -28, -44, -10, 36, 40, -1
-41, -34, 12, 45, 26, -22, -45, -16, 31, 43, 6, -38},
t f
T /
f {/* Linha 24 */
38, -9, -44, -25, 25, 44, 9, -38, -38, 9, 44, :
44, -9, 38, 38, -9, -44, -25, 25, 44, 9, -38, -
25, -25 , -44, -9, 38, 38, -9, -44, -25, 25, 44,
15 38, 9, 44, 25, -25, -44, -9, 38, 38, -9, -44,
-25,
44,
9, -38,
9,
-38, -38, 9, 44, 25,
25, -25,
-25, -44, -9, 38},
38, 9, 44,
25, {/* Linha */
37,
-12,
-45,
-18, 33, 40,
-6,
-44, -24, 28, 43, 1,
-42,
-30,
22,
45,
8, -39, -34,
16,
45,
14,
-36, -38, 10,
45,
20,
-31,
-41,
3,
44, 26, -26,
-44, “3,
41, 31, -20,
-45,
-10,
38,
-1, “43,
36, -14,
-28, 24, {/* Linha 26 */
36,
44,
-34,
-45, -16, 34, 39,
-8,
-45, -22, 30, 42,
44, 6, -40, -33, 18, 45,
-15, -45, -11, 39, 34, -19, -45, -7,
-2, 43, 27, -27,
-39, 11, 45, 15,
12,
41,
-37},
30, -23,
-43, 2, 44, 23, -30,
-41,
7, 45, 19,
-36, -36, 15, 45, 11, -39, -34, 19,
23, 30, 41, -7, -45, -19, 34, 39, -11, -45, -15, 36},
45,
7, -41, -30, 23,
44, 2, -43, -27, 27, 43, -2, -44,
{/* Linha 27 */
36, -18, -45, -3, 43, 24, -31, -39, 12, 45, 10, -40, -30,
26, 42, -6, -45, -16, 37, 34, -20, -44, -1, 44, 22, -33,
-38, 14, 45, 8, -41, -28, 28, 41, -8, -45, -14, 38, 33, 5 22, -44, 1, 44, 20, -34, -37, 16, 45, 6, -42, -26, 30,
40, -10, -45, -12, 39, 31, -24, -43, 3, 45, 18, -36}, {/* Linha 28 */
35, -21, -43, 4, 45, 13, -40, -29, 29, 40, -13, -45, -4,
43, 21, -35, -35, 21, 43, -4, “45, -13, 40, 29, -29, -40,
10 13, 45, 4, -43, -21, 35, 35, -21, -43, 4, 45, 13, -40, -
29, 29, 40, -13, -45, -4, 43, 21, - -35, -35, 21, 43, -4, -
45, -13, 40, 29, -29, -40, 13, 45, 4, -43, -21, 35}, {/* Linha 29 */
34, -24, -41, 12, 45, 1, -45, -14, 40, 26, -33, -36, 22,
15 42, -10, -4 5, -3, 44, 16, -39, -28, 31, 37, -20, -43, 8,
45, 6, “ •44, - -18, 38, 30, -30, -38, 18, 44, -6, -45, -8,
43, 20, -37, -31, 28, 39, -16, -44, 3, 45, 10, -42, - 22,
36, 33, -26, -40, 14, 45, -í, - 45, - 12, 41, 24, -34},
{/ Linha 30 */
20 34, -27, -39, 19, 43, -ii, -45, 2, 45, 7, -44, -15, 41,
23, -36, -30, 30, 36, -23, -41, 15, 44, -7, “45, -2, 45,
11, -43, -19, 39, 27, -34, -34, 27, 39, -19, -43, 11, 45,
-2, -45, -7, 44, 15, -41, -23, 36, 30, -30, -36, 23, 41,
-15, -44, 7, 45, 2, -45, -11, 43, 19, -39, -27, 34}, {/* Linha 31 */
33, -30, -36, 26, 38, -22, -40, 18, 42, -14, -44, 10, 45,
-6, -45, 1, 45, 3, -45, -8, 44, 12, -43, -16, 41, 20, 39, -24, 37, 28, -34, -31, 31, 34, -28, -37, 24, 39, -20,
-41, 16, 43, -12, -44, 8, 45, -3, -45, -1, 45, 6,-45,
10, 44, 14, -42, -18, 40, 22, 38, 26, 36, 30, -33}, {/* Linha 32 */
32, -32, -32, 32, 32, -32, -32, 32, 32, -32, -32, 32, 32,
-32, -32, 32, 32, -32, -32, 32, 32, -32, -32, 32, 32, 32, -32, 32, 32, -32, -32, 32, 32, -32, -32, 32, 32, -32,
-32, 32, 32, -32, -32, 32, 32, -32, -32, 32, 32, -32,32, 32, 32, -32, -32, 32, 32, -32, -32, 32, 32, -32, -32,
32}, {/* Linha 33 */
31, -34, -28, 37, 24, -39, -20, 41, 16, -43 i, -12, 44, 8
-45, -3, 45, -1, -45, 6, 45, -10, -44, 14, 42, -18, -40
22, 38, -26, -36, 30, 33, -33, -30, 36, 26, -38, -22, 40
18, -42, -14, 44, 10, -45, -6, 45, 1, -45, 3, 45, -8,
44, 12, 43, -16, -41, 20, 39, -24, -37, 28, 34, -31},
{/* Linha 34 */
30, -36, -23, 41, 15, -44, -7, 45, -2, -45, 11, 43, - •19
-39, 27, 34, -34, -27, 39, 19, -43, -11, 45, 2, -45, 7
44, -15, -41, 23, 36, -30, - -30, 36, 23, -41, -15 , 44, 7
-45, 2, 45, - 11, - 43, 19, 39 , -27, -34, 34, 27, - 39, - 19
43, 11, -45, -2, 45, -7, -44, 15, 41, -23, -36, 30}, {/* Linha 35 */
30, -38, -18, 44, 6, -45, 8, 4: 3, -20, -37, 31, 28, -39 1 f —
16, 44, 3, -45, 10, 42, - 22, -36, 33, 26, -40, -14, 45,
1, - •45, 12, 41, -24, -34, 34, 24, -41, -12, 45, -1, - 45,
14, 40, -26, -33, 36, 22, -42, -10, 45, -3, -44, 16, 39,
-28, -31 , 37, 20, -43, -8, 45, -6, -44, 18, 38, -30},
{/* Linha 36 */
29, -40, -13, 45, -4, -43, 21 , 35 , -35, -21, 43, 4, - 45
13, 40, -29, -29, 40, 13, 45, 4, 43, 21, 35, 35, 21, 43
“4, 45, 13, -40, 29, 29, -40, -13, 45, 4, 43, 21, 35, 35
21, 43, 4, -45, 13, 40, -29, -29, 40, 13, - 45, 4 r 43 f
21, -35, 35, 21, -43, -4, 45, -13, -40, 29},
{/* Linha 37 */
28, -41, -8, 45, -14, -38, 33, 22, -44, -1, 44, -20, -34,
37, 16, -45, 6, 42, -26, -30, 40, 10, -45, 12, 39, -31, 24, 43, 3, -45, 18, 36, -36, -18, 45, -3, -43, 24, 31, 39, -12, 45, -10, -40, 30, 26, -42, -6, 45, -16, -37, 34,
20, -44, 1, 44, -22, -33, 38, 14, -45, 8, 41, -28}, {/* Linha 38 */
27, -43, -2, 44, -23, -30, 41, 7, -45, 19, 34, -39, -11,
45, -15, -36, 36, 15, -45, 11, 39, -34, -19, 45, -7, -41,
30, 23, -44, 2, 43, -27, -27, 43, 2, -44, 23, 30, 41, 7
45, 19, 34, 39, 11, -45, 15, 36, -36, -15 , 45, -11, -39
34, 19, -45, 7, 41, -30, -23, 44,· “2, -43, 27},
{/* Linha 39 */
26, -44, 3, 41, - 31, -20, 45, -ίο, -38, 36, 14, -45, 16,
34, -39, -8, 45, -22, -30, 42, I, -43, 28, 24, -44, 6,
40, -33, -18, 45, -12, -37, 37, 12, -45, 18, 33, -40, -6,
44, -24, -28, 43, -1, -42, 30, 22, -45, 8, 39, -34, -16,
45, -14, -36, 38, 10, -45, 20, 31, -41, -3, 44, -26}, {/* Linha 40 */
25, -44, 9, 38, -38, -9, 44, -25, -25, 44, -9, -38,
9, -44, 25, 25, -44, 9, 38, -38, -9, 44, -25, -25, 44
9, -38, 38, 9, -44, 25, 25, -44, 9, 38, 38, 9, 44, 25
25, 44, 9, -38, 38, 9, -44, 25, 25, -44, 9, 38, -38,
44, -25 , -25, 44, -9, -38, 38, 9, -44, 25},
* Li nha 41 */
24, -45 , 14, 33, -42, 3, 39, -37, -8, 44, -30, -18, 45, -
20, -28 , 44, -10, -36, 40, 1, -41, 34, 12, -45, 26, 22, -
45, 16, 31, -43, 6, 38, -38, -6, 43, -31, 16, 45, 22, -
26, 45, “12, -34, 41, -1, -40, 36, 10, -44, 28, 20, -45,
18, 30, -44, 8, 37, -39, -3, 42, -33, -14, 45, -24},
{/* Linha 42 */
23, -45, 19, 27, -45, 15, 30, -44, 11, 34, -43, 7, 36, -
41, 2, 39, -39, -2, 41, 36, 7, 43, 34, “11, 44, 30, 15
45, -27, -19, 45, 23 , -23, 45, -19, 27, 45, 15, 30, 44
11, 34, 43, -7, 36, 41, 2, 39, 39, 2, -41, 36, 7, -43
34, 11, -44, 30, 15, -45, 27, 19, -45, 23}, {/* Linha 43 */
22, -45, 24, 20, -45, 26, 18, -45, 28, 16, -45, 30, 14,
44, 31, 12, -44, 33, 10, -43, 34, 8, -42, 36, 6, -41, 37
3, -40, 38, 1, -39, 39, -1, -38, 40, -3, -37, 41, -6,
36, 42, -8, -34, 43, -10, -33, 44, -12, -31, 44, -14, 30, 45, -16, -28, 45, -18, -26, 45, -20, -24, 45, -22}, {/* Linha 44 */
21, -45 r 29, 13, -43, 35, 4, -40, 40, -4, -35, 43, -13
29, 45, -21, -21 z 45, -29, -13, 43, -35, -4, 40, -40,
35, -43 z 13, 29, -45, 21, 21, -45, 29, 13, -43, 35, 4
40, 40, -4, -35, 43, -13, -29, 45, -21, -21, 45, -29,
13, 43, -35, -4, 40, -40, 4, 35, -43, 13, 29, -45, 21},
* Linha 45 */
20, -45 z 33, 6, -39, 41, -10, -30, 45, -24, -16, 44, -
-1, 37, -43, 14, 26, -45, 28, 12, -42, 38, -3, -34, 44
18, -22, 45, -31, -8, 40, -40, 8, 31, -45, 22, 18, -44,
34, 3, -38, 42, -12, -28, 45, -26, -14, 43, -37, 1, 36, -
44, 16, 24, -45, 30, 10, -41, 39, -6, -33, 45, -20}, {/* Linha 46 */
19, -44 , 36, -2, -34, 45, -23, -15, 43, -39, 7, 30, -45
27, 11, -41, 41, -11, -27, 45, -30, -7, 39, -43, 15 , 23
-45, 34 , 2, -36, 44, -19, -19, 44, -36 , 2, 34, -45 , 23
15, -43 , 39, -7, -30, 45, -27, -11, 41, -41, 11, 27, -45
30, 7, -39, 43, -15, -23, 45, -34, -2, 3 6, -44,. 1: 9},
{/* Linha 47 *7
18, -43 , 39, -10, -26, 45, -34, 1, 33, -45, 28, 8, -38
44, -20 , -16, 42, -40, 12, 24, -45, 36, -3, -31, 45, -30
-6, 37, -44, 22, 14, -41, 41, -14, -22, 44, -37, 6, 30,
45, 31, 3, -36, 45, -24, -12, 40, -42, 16, 20, -44, 38
8, -28, 45, -33, -1, 34, -45, 26, 10, -39, 43, -18},
{/* Linha 48 */
17, -42, 42, -17, -17, 42, -42, 17, 17, -42, 42, -17, 17, 42, -42, 17, 17, -42, 42, -17, -17, 42, -42, 17, 17, -42, 42, -17, -17, 42, -42, 17, 17, -42, 42, -17, -17,
42, -42, 17, 17, -42, 42, -17, -17, 42, -42, 17, 17, -42,
42, -17, -17, 42, -42, 17, 17, -42, 42, -17, -17, 42, 42, 17}, {/* Linha 49 */
16, -40, 44, -24j , -8, 36, -45, 31, -1, -30, 45, -37,
25 22, -43, 41, -18 , -14, 39, -44, 26, 6, -34, 45, -33
28, -45, 38, -12, -20, 42, -42, 20, 12, -38, 45, -28,
33, -45, 34, -6, -26, 44, -39, 14, 18, -41, 43, -; 22,
37, -45, 30, i, - 31, 45, -36, 8, 24, -44, 40, -16}
{/* Linha 50 */
15, 39, 45, -30, 2, 27, -44, 41/ -19/ -11, 36, -45, 34
-7, -23, 43, -43, 23, 7, -34, 45, - 36, 11, 19, - 41, 44
27, -2Z 30, -45, 39, -15, -15 / 39, -45 , 30, -2, -27, 44
5 -41, 19, 11, -36, 45, -34, 7, 23, - 43, 43, -23, -7, 34
45, 36, -11, -19, 41, -44, 27, 2, -30, 45, -39, 15}, {/* Linha 51 */
14, -37, 45, -36, 12, 16, -38, 45, -34, 10, 18, -39, 45,
-33, 8, 20, -40, 45, -31, 6, 22, -41, 44, -30, 3, 24, 10 42, 44, -28, 1, 26, -43, 43, -26, -1, 28, -44, 42, -24, 3, 30, -44, 41, -22, -6, 31, -45, 40, -20, -8, 33, -45,
39, -18, -10, 34, -45, 38, -16, -12, 36, -45, 37, -14}, {/* Linha 52 */
13, -35, 45, -40, 21, 4, - -29, 43, - 43, 29, - 4, -21, 40,
45, 35, -13, -13, 35, -45, 40, -21, -4, 29, -43, 43, -29
4, 21, -40, 45, -35, 13, 13, -35, 45, -40, 21, 4, -29
43, -43, 29, -4, -21/ 40, -45, 35, 13, -13, 35, -45, 40
21, -4, 29, 43, 43, 29 , 4, 21, -40, 45, -35, 13},
> Linha 53 */
12, -33, 44, -43, 30, -8, -16, 36, 45, 41, -26, 3, 20,
38, 45, -39, 22, Ir - 24, 40, -45, 37, -18, -6, 28, -42
45, -34, 14, 10, -31, 44, -44, 31, -10, -14, 34, -45, 42
-28, 6, 18, -37, 45, -40, 24, -i, -22, 39, -45, 38, -20
-3, 26, -41, 45, -36, 16, 8, - 30, 43, -44, 33, -12},
{/* Linha 54 */
11/ -30, 43, 45, 36, 19/ -2/ 23, -39, 45, -41, 27, -7
-15, 34, -44, 44, -34 / 15/ 7/ 27, 41, · -45, 39, -23, 2
19, -36, 45, -43, 30, -11, -ii. 30, 43, 45, -36, 19, 2
-23, 39, -45, 41, -27 , 15, -34, , 44, -44, 34, -15, -7
27, -41, 45, -39, 23, “2, -19, 36, -45, 43, -30, 11},
{/* Linha 55 */
10, -28, 40, -45, 41, -30, 12, 8, -26, 39, -45, 42, - 31
14, 6, -24, 38, -45, 43, -33, 16, 3, -22, 37, -45, 44
34, 18, 1, -20, 36, -44, 44, -36, 20, -1, -18, 34, - 44
45, -37, 22, -3, -16, 33, -43, 45 , -38, 24, -6, -14, 31
-42, 45, -39, 26, -8, -12, 30, -41 , 45, -40, 28, -10},
{/* Linha 56 */
9, -25, 38, -44, 44, -38, 25, -9, -9, 25, -38, 44, - 44
38, -25, 9, 9, -25, 38, -44, 44, - 38, 25, 9, -9, 25, - 38
44, -44, 38, -25, 9, 9, -25, 38, - 44, 44, -38, 25, 9, -9
25, -38, 44, -44, 38, “25, 9, 9, -25, 38, -44, 44, - 38
25, -9, -9, 25, -38, 44, -44, 38, -25, 9}, {/* Linha 57 */
8, - 22, 34, -42, 45, -43, 36, -24, 10, 6, -20, 33, -41
45, -44, 37, -26, 12, 3, -18, 31, -40, 45, -44, 38, -28
14, 1, -16, 30, -39, 45, -45, 39, -30, 16, - 1, “14, 28,
38, 44, -45, 40, -31, 18, -3, -12, 26, -37, 44, -45, 41
-33, 20, -6, -10, 24, -36, 43, -45, 42, “34, 22, -8},
{/* Linha 58 */
7, -19, 30, - -39, 44, -45, 43, -36, 27, -15 r 2, 11, -23,
34, -41, 45, -45, 41, -34, 23, -11, -2, 15, -27, 36, -43,
45, -44, 39, -30, 19, -7, -7, 19, -30, 39, -44, 45, -43,
36, -27, 15, -2, -11, 23, -34, 41, -45, 45, “41, 34, -23,
11, 2, 15, 27 , 36 , 43, 45, 44, -39, 30, -19, 7},
{/* Linha 59 */
6, -16, 26, - -34, 40, -44, 45, -44, 39, -33 , 24, -14 , 3,
«
{/
8, -18, 28, -36, 41, 45, 45, -43, 38, -31, 22, 12, 1,
10, -20 , 30, -37, 42, -45, 45, -42, 37, -30, 20, “10, -I,
12, -22 , 31, -38, 43, -45, 45, -41, 36, “28, 18, -8, -3,
14, -24 , 33, -39, 44, -45, 44, -40, 34, -26, 16, -6},
* Linha 60 */
4,- -13, 21, · -29, 35, -40, 43, -45, 45, 43, 40, -35, 29,
-21, 13 , -4, -4, 13, -21, 29, -35, 40, “43, 45, -45, 43,
r
-40, 35 , 29, 21, -13 , 4, 4, -13, 21, - 29, 35, -40, 43
45, 45, -43, 40, -35, 29, -21, 13, -4, -4, 13, -21, 29
35, 40, -43, 45, -45, 43, -40, 35, -29, 21, -13, 4},
{/* Linha 61 */
3, -10, 16, - -22, 28, -33, 37, -40, 43, -45, 45, -45 t
t {/
44,
-41, 38 , -34, 30, -24, 18, -12, 6, 1, -8, 14, -20, 26, -
31, 36, -39, 42, -44, 45, -45, 44, -42, 39, 36, 31 , 26,
20, 14, 8, 1, 6, 12, 18, 24, 30, 34, -38, 41, -44, 45, -
45, 45, -43, 40, -37, 33, -28, 22, -16, 10, -3},
* Linha 62 */
2, -7,
27, -30,
39, -41, 43,
34, -36,
11, -15, 19, -23,
44, 45, -45, 45, -45, 44, -43, 41, -39, 36, -34, 30, -27
23, -19, 15, -11, 7, 2, -2, 7, -11, 15, “19, 23, -27
30, -34, 36, -39, 41, -43, 44, -45, 45, -45, 45, -44, 43
-41, 39, -36, 34, -30, 27, -23, 19, -15, 11, 7, 2},
r t
t */ {/* Linha
-3,
6, -8, 10,
-12, 14, -16, 18, -20, 22, -24, 26,
30,
28,
-31, 33, -34, 36, -37, 38, -39, 40, -41, 42, -43,
44, -44, 45, -45, 45, -45, 45, -45, 45, -45, 44, -44, 43,
-42, 41, -40, 39, -38, 37, -36, 34, -33, 31, -30, 28 r ~
26, 24, -22, 20, -18, 16, -14, 12, -10, 8, -6, 3, -1}

Claims (24)

  1. REIVINDICAÇÕES
    1. Método para simulação de um bloco de granulação de filme, CARACTERIZADO pelo fato de que compreende as etapas de:
    receber uma mensagem de informação de granulação de filme complementar que acompanha um bloco de imagem, a dita mensagem de informação de granulação de filme complementar compreendendo:
    uma tabela de limite inferior de intervalo de intensidade compreendendo valores de limite inferior de intervalo de intensidade e uma tabela de limite superior de intervalo de intensidade compreendendo valores de limite superior de intervalo de intensidade, um valor especificando limites de um componente de cor para o qual foram modelados parâmetros de granulação de filme, uma tabela de frequência de corte alta horizontal e uma tabela de frequência de corte alta vertical, as referidas tabelas compreendendo, respectivamente, frequência de corte alta horizontal e vertical, que caracteriza uma forma de granulação de filme para um componente de cor e um valor de limite inferior de intensidade e um valor de limite superior de intensidade; e simular pelo menos um bloco de granulação de filme de pelo menos um padrão de granulação de filme, em que a referida simulação compreende:
    computar um valor de pixel médio para o
    Petição 870190031154, de 01/04/2019, pág. 8/18 bloco de imagem;
    comparar o valor de pixel médio do bloco com um valor de intensidade correspondente na dita mensagem de informação que acompanha um bloco de imagem a ser misturado com o bloco de granulação de filme, de modo a identificar um valor s para o qual o valor de pixel médio é maior ou igual que o valor da tabela de limite inferior de intervalo de intensidade em índice s e o valor de pixel médio é menor ou igual que o valor da tabela de limite superior de intervalo de intensidade em índice s;
    determinar um padrão de granulação de filme a partir de uma base de dados de padrões de granulação de filme usando os valores da referida tabela de frequência de corte alto horizontal no índice s e da referida tabela de frequência de corte alto vertical no índice s, a referida base de dados de padrões de granulação de filme indexada por um valor h e um valor v compreendendo padrões de granulação de filme com frequência de corte horizontal de valor h+2 e frequência de corte vertical de valor v+2;
    selecionar um bloco de granulação de filme a partir do referido padrão de granulação de filme utilizando dois valores gerados aleatoriamente, os referidos dois valores gerados aleatoriamente representando um deslocamento horizontal e vertical dentro do padrão de granulação de filme;
    Petição 870190031154, de 01/04/2019, pág. 9/18 ajustar na escala o referido bloco de granulação de filme usando um parâmetro de escala compreendido na mensagem de informação de granulação de filme complementar; e desblocar bordas verticais entre blocos de granulação de filme ajustados em escala adjacentes.
  2. 2. Método, de acordo com a reivindicação 1, CARACTERIZADO pelo fato de que adicionalmente inclui a etapa de misturar um bloco de granulação de filme com o bloco de imagem.
  3. 3. Método, de acordo com a reivindicação 2, CARACTERIZADO pelo fato de que adicionalmente compreende a etapa de misturar o bloco da granulação de filme com o bloco de imagem na ordem de decodificação.
  4. 4. Método, de acordo com a reivindicação 2, CARACTERIZADO pelo fato de que adicionalmente compreende a etapa de misturar o bloco de granulação de filme com o bloco da imagem na ordem de exibição.
  5. 5. Método, de acordo com a reivindicação 1, CARACTERIZADO pelo fato de que adicionalmente inclui a etapa de simular o pelo menos um bloco de granulação de filme na ordem de decodificação.
  6. 6. Método, de acordo com a reivindicação 1, CARACTERIZADO pelo fato de que adicionalmente inclui a etapa de simular o pelo menos um bloco de granulação de filme na ordem de exibição.
  7. 7. Método, de acordo com a reivindicação 1,
    Petição 870190031154, de 01/04/2019, pág. 10/18
    CARACTERIZADO pelo fato de que as frequências de corte para os componentes de croma são ajustadas na escala para um formato de 4:2:0 quando recebidas em um formato de croma de 4:4:4.
  8. 8. Método, de acordo com a reivindicação 1, CARACTERIZADO pelo fato de que a etapa de recuperar um bloco de granulação de filme adicionalmente compreende a etapa de recuperar aleatoriamente o bloco da granulação de filme.
  9. 9. Método, de acordo com a reivindicação 1, CARACTERIZADO pelo fato de que a etapa de recuperação adicionalmente compreende a etapa de recuperação de um bloco de granulação de filme de uma base de dados de blocos de granulação de filme pré-computados.
  10. 10. Método, de acordo com a reivindicação 9, CARACTERIZADO pelo fato de que adicionalmente compreende a etapa de estabelecer a base de dados dos blocos de granulação de filme armazenando 169 padrões de 4.096 amostras de granulação de filme pré-computadas, na forma de complemento de 2, variando de -127 a 127.
  11. 11. Método, de acordo com a reivindicação 1, CARACTERIZADO pelo fato de que adicionalmente compreende a etapa de estabelecer a base de dados dos blocos de granulação de filme pelas etapas de:
    especificar uma tabela de pesquisa de valores aleatórios Gaussianos;
    aleatoriamente acessar a tabela de pesquisa;
    executar uma transformada inversa de número inteiro em valores aleatoriamente acessados da tabela de
    Petição 870190031154, de 01/04/2019, pág. 11/18 pesquisa e desblocar as bordas horizontais dos padrões obtidos da transformada inversa de número inteiro.
  12. 12. Método, de acordo com a reivindicação 1, CARACTERIZADO pelo fato de que a simulação da granulação de filme não ocorre se uma mensagem de granulação de filme que acompanha o bloco de imagem especifica inibir a simulação.
  13. 13. Método, de acordo com a reivindicação 1, CARACTERIZADO pelo fato de que adicionalmente compreende a etapa de inibir simulação de granulação de filme se não existir valor s.
  14. 14. Aparelho para simulação de um bloco de granulação de filme para misturar com um bloco de imagem, CARACTERIZADO pelo fato de que compreende:
    um dispositivo para receber uma mensagem de informação de granulação de filme complementar que acompanha um bloco de imagem, a referida mensagem de informação de granulação de filme complementar compreendendo:
    uma tabela de limite inferior de intervalo de intensidade compreendendo valores de limite inferior de intervalo de intensidade e uma tabela de limite superior de intervalo de intensidade compreendendo valores de limite superior de intervalo de intensidade, um valor especificando limites de um componente de cor para o qual foram modelados parâmetros de granulação de filme, uma tabela de frequência de corte alta horizontal e uma tabela de frequência de corte
    Petição 870190031154, de 01/04/2019, pág. 12/18 alta vertical, as referidas tabelas compreendendo, respectivamente, frequência de corte alta horizontal e vertical, que caracteriza uma forma de granulação de filme para um componente de cor e um valor de limite inferior de intensidade e um valor de limite superior de intensidade; e um dispositivo para simular pelo menos um bloco da granulação de filme gerando pelo menos um padrão de granulação de filme, em que o referido dispositivo para simular compreende:
    um dispositivo para computar um valor de pixel médio para o bloco de imagem;
    um dispositivo para comparar o valor de pixel médio do bloco com um valor de intensidade correspondente na dita mensagem de informação que acompanha um bloco de imagem a ser misturado com o bloco de granulação de filme, de modo a identificar um valor s para o qual o valor de pixel médio é maior ou igual que o valor da tabela de limite inferior de intervalo de intensidade em índice s e o valor de pixel médio é menor ou igual que o valor da tabela de limite superior de intervalo de intensidade em índice s;
    um dispositivo para determinar um padrão de granulação de filme a partir de uma base de dados de padrões de granulação de filme usando os valores da referida tabela de frequência de corte alto horizontal no índice s e da referida tabela
    Petição 870190031154, de 01/04/2019, pág. 13/18 de frequência de corte alto vertical no índice s, a referida base de dados de padrões de granulação de filme indexada por um valor h e um valor v compreendendo padrões de granulação de filme com frequência de corte horizontal de valor h+2 e frequência de corte vertical de valor v+2;
    um dispositivo para selecionar um bloco de granulação de filme a partir do referido padrão de granulação de filme utilizando dois valores gerados aleatoriamente, os referidos dois valores gerados aleatoriamente representando um deslocamento horizontal e vertical dentro do
    padrão de granulação de filme; um dispositivo para ajustar na escala o referido bloco de granulação de filme usando um parâmetro de escala compreendido na mensagem de
    informação de granulação de filme complementar; e um dispositivo para desblocar bordas verticais entre blocos de granulação de filme ajustados em escala adjacentes.
  15. 15. Aparelho, de acordo com a reivindicação 14, CARACTERIZADO pelo fato de que adicionalmente inclui o dispositivo para misturar pelo menos um bloco da granulação de filme com o bloco de imagem.
  16. 16. Aparelho, de acordo com a reivindicação 14, CARACTERIZADO pelo fato de que o dispositivo de mistura o bloco da granulação de filme com o bloco da imagem na ordem de decodificação.
    Petição 870190031154, de 01/04/2019, pág. 14/18
  17. 17. Aparelho, de acordo com a reivindicação 14, CARACTERIZADO pelo fato de que o dispositivo de mistura o bloco da granulação de filme com o bloco da imagem na ordem de exibição.
  18. 18. Aparelho, de acordo com a reivindicação 14, CARACTERIZADO pelo fato de que o dispositivo para simular a granulação de filme simula o pelo menos um bloco da granulação de filme na ordem de decodificação.
  19. 19. Aparelho, de acordo com a reivindicação 14, CARACTERIZADO pelo fato de que o dispositivo para simular a granulação de filme simula o pelo menos um bloco da granulação de filme na ordem de exibição.
  20. 20. Aparelho, de acordo com a reivindicação 14, CARACTERIZADO pelo fato de que o dispositivo para ajuste de escala ajusta as escalas das frequências de corte para os componentes de croma para um formato de 4:2:0 quando recebidas em um formato de croma de 4:4:4.
  21. 21. Aparelho, de acordo com a reivindicação 14, CARACTERIZADO pelo fato de que o dispositivo para recuperar um bloco de granulação de filme recupera aleatoriamente o bloco da granulação de filme.
  22. 22. Aparelho, de acordo com a reivindicação 14, CARACTERIZADO pelo fato de que a base de dados contém blocos de granulação de filme pré-computados.
  23. 23. Aparelho, de acordo com a reivindicação 14, CARACTERIZADO pelo fato de que a base de dados contém 169 padrões de 4.096 amostras de granulação de filme précomputadas, na forma de complemento de 2, variando de -127 a
    Petição 870190031154, de 01/04/2019, pág. 15/18
    127.
  24. 24. Meio legível por computador para fazer com que um computador simule granulação de filme para mistura com um bloco de imagem, CARACTERIZADO pelo fato de que compreende as etapas de:
    receber uma mensagem de informação de granulação de filme complementar que acompanha um bloco de imagem, a dita mensagem de informação de granulação de filme complementar compreendendo:
    uma tabela de limite inferior de intervalo de intensidade compreendendo valores de limite inferior de intervalo de intensidade e uma tabela de limite superior de intervalo de intensidade compreendendo valores de limite superior de intervalo de intensidade, um valor especificando limites de um componente de cor para o qual foram modelados parâmetros de granulação de filme, uma tabela de frequência de corte alta horizontal e uma tabela de frequência de corte alta vertical, as referidas tabelas compreendendo, respectivamente, frequência de corte alta horizontal e vertical, que caracteriza uma forma de granulação de filme para um componente de cor e um valor de limite inferior de intensidade e um valor de limite superior de intensidade; e simular pelo menos um bloco de granulação de filme de pelo menos um padrão de granulação de filme, em que a referida simulação compreende:
    Petição 870190031154, de 01/04/2019, pág. 16/18 computar um valor de pixel médio para o bloco de imagem;
    comparar o valor de pixel médio do bloco com um valor de intensidade correspondente na dita mensagem de informação que acompanha um bloco de imagem a ser misturado com o bloco de granulação de filme, de modo a identificar um valor s para o qual o valor de pixel médio é maior ou igual que o valor da tabela de limite inferior de intervalo de intensidade em índice s e o valor de pixel médio é menor ou igual que o valor da tabela de limite superior de intervalo de intensidade em índice s;
    determinar um padrão de granulação de filme a partir de uma base de dados de padrões de granulação de filme usando os valores da referida tabela de frequência de corte alto horizontal no índice s e da referida tabela de frequência de corte alto vertical no índice s, a referida base de dados de padrões de granulação de filme indexada por um valor h e um valor v compreendendo padrões de granulação de filme com frequência de corte horizontal de valor h+2 e frequência de corte vertical de valor v+2;
    selecionar um bloco de granulação de filme a partir do referido padrão de granulação de filme utilizando dois valores gerados aleatoriamente, os referidos dois valores gerados aleatoriamente representando um deslocamento horizontal e
    Petição 870190031154, de 01/04/2019, pág. 17/18 vertical dentro do padrão de granulação de filme;
    ajustar na escala o referido bloco de granulação de filme usando um parâmetro de escala compreendido na mensagem de informação de
    5 granulação de filme complementar; e desblocar bordas verticais entre blocos de granulação de filme ajustados em escala adjacentes.

Family

ID=

Similar Documents

Publication Publication Date Title
EP1815691A2 (en) Film grain simulation technique for use in media playback devices
US8238613B2 (en) Technique for bit-accurate film grain simulation
TWI766200B (zh) 用於產生媒體資料的方法及設備
US10448031B2 (en) Method of generating media file and storage medium storing media file generation program
KR20180016519A (ko) 이미지 데이터 캡슐화
MX2007004366A (es) Metodo de simulacion de grano de pelicula.
CN108833938A (zh) 用于选取视频封面的方法和设备
BR112015006767B1 (pt) Método, aparelho e sistema para codificar e decodificar as unidades de transformada de uma unidade de codificação
WO2005043263A1 (en) Dv metadata extraction
JP7052732B2 (ja) 画像処理装置および方法
EP3979642A1 (en) Image decoding device
BRPI0518258B1 (pt) Técnica de simulação de granulação de filme para uso nos dispositivos de reprodução de mídia
US20230396861A1 (en) Method and device for generating video preview content, computer device and storage medium
EP3937493A1 (en) Image decoding device
KR101775555B1 (ko) 동영상 패킷 생성 방법 및 그 장치
JP5080304B2 (ja) 秘匿データが挿入された画像データの表示方式
KR101831138B1 (ko) 비디오를 이용한 애니메이션 스티커 제작 방법 및 장치
US10893281B2 (en) Compression of a video stream having frames with relatively heightened quality parameters on blocks on an identified point of interest (PoI)
Ito et al. Distortion-free video stabilization
CN115134574B (zh) 动态元数据生成方法、装置、设备及存储介质
KR101492060B1 (ko) 동영상의 일괄 컬러 변환 방법 및 그 기록매체
Lu et al. A novel gaming video encoding process using in-game motion vectors
Harder et al. Working with Your RAW Video Files (AVI and MOV)
JP4165567B2 (ja) ストリーム任意領域抽出方式及び装置及びそのプログラム及びそれを記録した記録媒体
BR112021014861A2 (pt) Método e aparelho para desbloquear pelo menos um contorno vertical ou horizontal de uma unidade de codificação, e, portadora