BRPI0305518B1 - Video decoder for decoding video data and method for decoding video data - Google Patents
Video decoder for decoding video data and method for decoding video data Download PDFInfo
- Publication number
- BRPI0305518B1 BRPI0305518B1 BRPI0305518B1 BR PI0305518 B1 BRPI0305518 B1 BR PI0305518B1 BR PI0305518 B1 BRPI0305518 B1 BR PI0305518B1
- Authority
- BR
- Brazil
- Prior art keywords
- image
- reference image
- block
- motion
- predictor
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims description 36
- 238000004891 communication Methods 0.000 claims description 60
- 230000009977 dual effect Effects 0.000 claims description 4
- 230000006870 function Effects 0.000 description 39
- 230000000875 corresponding effect Effects 0.000 description 17
- 230000003044 adaptive effect Effects 0.000 description 14
- 230000008569 process Effects 0.000 description 12
- 238000010586 diagram Methods 0.000 description 8
- 230000006835 compression Effects 0.000 description 7
- 238000007906 compression Methods 0.000 description 7
- 239000013598 vector Substances 0.000 description 6
- 230000008901 benefit Effects 0.000 description 4
- 230000002457 bidirectional effect Effects 0.000 description 3
- 230000000694 effects Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 1
- 239000000470 constituent Substances 0.000 description 1
- 230000002596 correlated effect Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000006073 displacement reaction Methods 0.000 description 1
- 238000003384 imaging method Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
Description
"DECODIFICADOR DE VÍDEO PARA DECODIFICAR DADOS DE VÍDEO e MÉTODO PARA DECODIFICAR DADOS DE VÍDEO" REFERÊNCIA CRUZADA COM PEDIDOS RELACIONADOS
Este pedido reivindica o beneficio do Pedido de Patente Provisório dos Estados Unidos N2 de Série 60/395.843 (Processo N2 PU020340), intitulado "Adaptative Weighting Of Reference Pictures In Video CODEC" e depositado em 15 de julho de 2002, o qual é incorporado por referência aqui dentro em sua totalidade. Em adição, este pedido reivindica o beneficio do Pedido de Patente Provisório dos Estados Unidos N2 de Série 60/395.874 (Processo N2 PU020339), intitulado "Motion Estimation With Weighting Prediction" também depositado em 15 de julho de 2002, o qual é incorporado por referência aqui dentro em sua totalidade.
CAMPO DA INVENÇÃO A presente invenção é direcionada para decodi-ficadores de video e, em particular, para a utilização da ponderação adaptativa de imagens de referência em decodi-ficadores de video.
FUNDAMENTO DA INVENÇÃO
Os dados de video geralmente são processados e transferidos em forma de fluxos de bits. Os codificadores e decodificadores ( 'CODECs") de compactação de video típicos ganham muita de sua eficiência de compactação por formar uma predição da imagem de referência de uma imagem a ser codificada e por codificar a diferença entre a imagem corrente e a predição. Quanto mais esta predição es- tá correlacionada com a imagem corrente, menos bits são necessários para compactar esta imagem, desse modo aumentando a eficiência do processo. Assim, isto é desejável para a melhor predição possível da imagem de referência a ser formada.
Em vários padrões de compactação de vídeo, incluindo o Moving Picture Experts Group ("MPEG")-1, MPEG-2 e MPEG-4, uma versão com movimento compensado de uma imagem de referência anterior é utilizada como uma predição para a imagem corrente e somente a diferença entre a imagem corrente e a predição é codificada. Quando uma única predição de imagem (imagem "P") é utilizada, a imagem de referência não é dimensionada quando a predição com movimento compensado é formada. Quando predições de imagem bidirecional (imagem "B") são utilizadas, predições intermediárias são formadas a partir de duas imagens diferentes e então as duas predições intermediárias têm a média tirada juntas, utilizando fatores de ponderação i-guais de {%, %) para cada um, para formar uma única pre- i dição com a média produzida. Nestes padrões MPEG, as duas imagens de referência são sempre cada uma a partir da direção para frente e a partir da direção para trás para as imagens B.
SUMÁRIO DA INVENÇÃO i Estas e outras inconveniências e desvantagens da técnica anterior são endereçadas por um sistema e método para ponderação adaptativa de imagens de referência em decodificadores de vídeo.
Um decodificador de vídeo e métodos correspondentes para processar os dados de sinal de vídeo para um bloco de imagem e um índice de imagem de referência particular para predizer o bloco de imagem são descritos, os quais utilizam a ponderação adaptativa de imagens de referência para aperfeiçoar a compactação do vídeo. Um decodif icador inclui uma unidade de fator de ponderação de imagem de referência para determinar um fator de ponderação correspondendo ao índice de imagem de referência particular .
Um método correspondente para decodificar vídeo inclui receber um índice de imagem de referência com os dados que correspondem ao bloco de imagem, determinar um fator de ponderação para cada índice de imagem de referência recebido, recuperar uma imagem de referência para cada índice, compensar o movimento da imagem de referência recuperada e multiplicar a imagem de referência com movimento compensado pelo fator de ponderação correspondente para formar uma imagem de referência com movimento compensado ponderada.
Estes e outros aspectos, características e vantagens da presente invenção irão se tornar aparentes a partir da descrição seguinte de modalidades ilustrativas, as quais devem ser lidas em conexão com os desenhos acompanhantes .
BREVE DESCRIÇÃO DOS DESENHOS A ponderação adaptativa das imagens de referência nos codificadores e decodificadores de vídeo de acor- do com os princípios da presente invenção é apresentada nas figuras ilustrativas seguintes, nas quais: A Figura 1 apresenta um diagrama de blocos para um decodificador de vídeo padrão; A Figura 2 apresenta um diagrama de blocos para um decodificador de vídeo com a predição dupla adaptati-va ; A Figura 3 apresenta um diagrama de blocos para um decodificador de vídeo com a ponderação de imagem de referência de acordo com os princípios da presente invenção; A Figura 4 apresenta um diagrama de blocos para um codificador de vídeo padrão; A Figura 5 apresenta um diagrama de blocos para um codificador de vídeo com a ponderação de imagem de referência de acordo com os princípios da presente invenção; A Figura 6 apresenta um fluxograma para um processo de decodificação de acordo com os princípios da presente invenção; e A Figura 7 apresenta um fluxograma para um processo de codificação de acordo com os princípios da presente invenção.
DESCRIÇÃO DETALHADA DAS MODALIDADES PREFERIDAS A presente invenção apresenta um aparelho e método para estimativa de vetor de movimento e para designação de fator de ponderação adaptativa de imagem de referência. Em algumas seqüências de vídeo, em particular aquelas com desaparecimento gradual de imagem, a imagem corrente ou bloco de imagem a ser codificado está mais fortemente correlacionado com uma imagem de referência dimensionada por um fator de ponderação do que com a própria imagem de referência. Os CODECs de vídeo sem fatores de ponderação aplicados junto a imagens de referência codificam as seqüências de desaparecimento gradual da i-magem de forma muito ineficiente. Quando os fatores de ponderação são utilizados na codificação, um codificador de vídeo precisa determinar tanto os fatores de ponderação como os vetores de movimento, mas a melhor escolha para cada um destes depende do outro, com a estimativa de movimento tipicamente sendo a parte mais computacional-mente intensiva de um codificador de compactação de vídeo digital.
No padrão de compactação proposto da Joint Video Team ("JVT"), cada imagem P pode utilizar várias imagens de referência para formar uma predição da imagem, mas cada bloco de movimento individual ou região 8x8 de um macrobloco utiliza somente uma única imagem de referência para a predição. Em adição a codificar e transmitir os vetores de movimento, um índice da imagem de referência é transmitido para cada bloco de movimento ou região 8x8, indicando qual imagem de referência é utilizada. Um conjunto limitado de imagens de referência possíveis é armazenado tanto no codificador como no decodifi-cador, e o número de imagens de referência que podem ser permitidas é transmitido.
No padrão JVT, para as imagens de predição dupla (também chamadas de imagens "B"), dois preditores são formados para cada bloco de movimento ou região 8x8, cada um dos quais pode ser a partir de uma imagem de referência separada e os dois preditores têm a média calculada juntos para formar um único preditor com a média produzida. Para os blocos de movimento codificados de forma com duas predições, as imagens de referência podem ambas ser a partir da direção para frente, ambas ser a partir da direção para trás ou cada uma a partir da direção para frente e da direção para trás. Duas listas são mantidas das imagens de referência disponíveis que podem ser utilizadas para a predição. As duas imagens de referência são referidas como preditor da lista 0 e da lista 1. Um índice para cada imagem de referência é codificado e transmitido, ref_idx_10 e ref_idx_ll, para as imagens de referência da lista 0 e da lista 1, respectivamente. As imagens com predição dupla do Joint Video Team ("JVT") ou "B" devem permitir a ponderação adaptativa entre as duas predições, isto é, Pred = [(PO) * (PredO)] + [(Pl) * (Predl)] + D, onde PO e Pl são fatores de ponderação, PredO e Predl são as predições de imagem de referência para a lista 0 e lista 1, respectivamente e D é um deslocamento.
Dois métodos têm sido propostos para indicação de fatores de ponderação. No primeiro, os fatores de ponderação são determinados pelas direções que são utilizadas para as imagens de referência. Neste método, se o índice ref_idx_10 for menor ou igual a ref_idx_ll, fatores de ponderação de (1/2, %) são utilizados, caso contrário fatores (2, -1) são utilizados.
No segundo método oferecido, qualquer número de fatores de ponderação é transmitido para cada fração. Então, um índice do fator de ponderação é transmitido para cada bloco de movimento ou região 8x8 de um macrobloco que utiliza a predição bidirecional. O decodificador u-tiliza o índice de fator de ponderação recebido para escolher o fator de ponderação apropriado, a partir do conjunto transmitido, para utilizar quando decodificando o bloco de movimento ou região 8x8. Por exemplo, se três fatores de ponderação forem enviados na camada de fração, eles corresponderíam aos índices de fator de ponderação 0, 1 e 2, respectivamente. A descrição seguinte meramente ilustra os princípios da invenção. Assim, será apreciado que os com conhecimento na técnica estarão aptos a planejar várias disposições que, apesar de não explicitamente descritas ou apresentadas aqui dentro, incorporam os princípios da invenção e estão incluídas dentro de seu espírito e escopo. Adicionalmente, todos os exemplos e a linguagem de condição relacionados aqui dentro são principalmente pretendidos expressivamente para ser somente para propósitos i pedagógicos para ajudar ao leitor a entender os princípios da invenção e os conceitos contribuídos pelo inventor para incrementar a técnica e devem ser construídos como sendo sem limitação a tais exemplos e condições es- pecificamente relacionados. Além disso, todas as declarações aqui dentro relacionando os princípios, aspectos e modalidades da invenção, bem como os exemplos da mesma, são pretendidos para abranger os equivalentes estruturais e funcionais da mesma. Adicionalmente, é pretendido que tais equivalentes incluam tanto os equivalente atualmente conhecidos como os equivalentes desenvolvidos no futuro, isto é, quaisquer elementos desenvolvidos que executem a mesma função, independente da estrutura.
Assim, por exemplo, será apreciado pelos com conhecimento na técnica que os diagramas de blocos aqui dentro representam vistas conceituais de circuitamento ilustrativo incorporando os princípios da invenção. De forma similar, será apreciado que quaisquer fluxogramas, diagramas de fluxo, diagramas de transição de estado, pseudocódigo e similares representam vários processos que podem ser substancialmente representados em meio legível por computador e assim executados por um computador ou processador, quer ou não tal computador ou processador seja explicitamente apresentado.
As funções dos vários elementos apresentados nas figuras podem ser proporcionadas através do uso de hardware dedicado bem como hardware capaz de executar software em associação com os software apropriado. Quando proporcionadas por um processador, as funções podem ser proporcionadas por um único processador dedicado, por um único processador compartilhado, ou por uma pluralidade de processadores individuais, alguns dos quais podem ser compartilhados. Além disso, o uso explícito do termo "processador" ou "controlador" não deve ser construído para referir-se exclusivamente ao hardware capaz de executar o software e pode implicitamente incluir, sem limitação, hardware processador de sinal digital ("DSP"), memória somente para leitura ("ROM") para armazenar o software, memória de acesso randomico ("RAM") e armazenamento não volátil. Outro hardware, convencional e/ou personalizado, também pode ser incluído. De forma similar, quaisquer chaves apresentadas nas figuras são somente conceituais. Sua função pode ser realizada através da operação de lógica de programa, através de lógica dedicada, através da interação do controle de programa com a lógica dedicada, ou mesmo manualmente, a técnica particular podendo ser selecionada pelo implementador como mais especificamente entendido a partir do contexto.
Nas reivindicações a este respeito, qualquer elemento expresso como um dispositivo para executar uma função especificada é pretendido abranger qualquer modo de executar esta função incluindo, por exemplo, a) uma combinação de elementos de circuito que executa esta função ou b) software em qualquer forma, incluindo, portanto, firmware, microcódigo ou similares, combinado com o circuitamento apropriado para executar este software para executar a função. A invenção como definida por tais reivindicações reside no fato de que as funcionalidades proporcionadas pelos vários dispositivos relacionados são combinadas e juntadas na maneira que as reivindicações chama. Assim, o requerente considera qualquer dispositivo que possa proporcionar estas funcionalidades como e-quivalente a estes apresentados aqui dentro.
Como apresentado na Figura 1, um decodificador de vídeo padrão é indicado geralmente pelo número de referência 100. 0 decodificador de vídeo 100 inclui um decodif icador de comprimento variável ("VLD") 110 conectado em comunicação de sinal com um quantizador inverso 120. 0 quantizador inverso 120 está conectado em comunicação de sinal com um transformador inverso 130. O transformador inverso 130 está conectado em comunicação de sinal com um primeiro terminal de entrada de um somador ou junção de soma 140, onde a saída da junção de soma 140 proporciona a saída do decodificador de vídeo 100. A saída da junção de soma 140 está conectada em comunicação de sinal com um armazenamento de imagem de referência 150. 0 armazenamento de imagem de referência 150 está conectado em comunicação de sinal com um compensador de movimento 160, o qual está conectado em comunicação de sinal com um segundo terminal de entrada da junção de soma 140.
Voltando-se para a Figura 2, um decodificador de vídeo com a predição dupla adaptativa é indicado geralmente pelo número de referência 200. O decodificador de vídeo 200 inclui um VLD 210 conectado em comunicação de sinal com um quantizador inverso 220. O quantizador inverso 220 está conectado em comunicação de sinal com um transformador inverso 230. O transformador inverso 230 está conectado em comunicação de sinal com um primeiro terminal de entrada de uma junção de soma 240, onde a saída da junção de soma 240 proporciona a saída do decodi-ficador de vídeo 200. A saída da junção de soma 240 está conectada em comunicação de sinal com um armazenamento de imagem de referência 250. O armazenamento de imagem de referência 250 está conectado em comunicação de sinal com um compensador de movimento 260, o qual está conectado em comunicação de sinal com uma primeira entrada de um multiplicador 270. 0 VLD 210 está adicionalmente conectado em comunicação de sinal com uma pesquisa de fator de ponderação de imagem de referência 280 para proporcionar um índice de coeficiente de predição dupla adaptativa ("ABP") para a pesquisa 280. Uma primeira saída da pesquisa 280 é para proporcionar um fator de ponderação e está conectada em comunicação de sinal com uma segunda entrada do multiplicador 270. A saída do multiplicador 270 está conectada em comunicação de sinal com uma primeira entrada de uma junção de soma 290. Uma segunda saída da pesquisa 280 é para proporcionar um deslocamento e está conectada em comunicação de sinal com uma segunda entrada da junção de soma 290. A saída da junção de soma 290 está conectada em comunicação de sinal com um segundo terminal de entrada da junção de soma 240.
Voltando-se para a Figura 3, um decodificador de vídeo com a ponderação de imagem de referência é indicado geralmente pelo número de referência 300. O decodi-ficador de vídeo 300 inclui um VLD 310 conectado em comu- nicação de sinal com um quantizador inverso 320. O quan-tizador inverso 320 está conectado em comunicação de sinal com um transformador inverso 330. O transformador inverso 330 está conectado em comunicação de sinal com um primeiro terminal de entrada de uma junção de soma 34 0, onde a saída da junção de soma 340 proporciona a saída do decodificador de vídeo 300. A saída da junção de soma 340 está conectada em comunicação de sinal com um armazenamento de imagem de referência 350. O armazenamento de imagem de referência 350 está conectado em comunicação de sinal com um compensador de movimento 360, o qual está conectado em comunicação de sinal com uma primeira entrada de um multiplicador 370. 0 VLD 310 está adicionalmente conectado em comunicação de sinal com uma pesquisa de fator de ponderação de imagem de referência 380 para proporcionar um índice de imagem de referência para a pesquisa 380. Uma primeira saída da pesquisa 380 é para proporcionar um fator de ponderação e está conectada em comunicação de sinal com uma segunda entrada do multiplicador 370. A saída do multiplicador 370 está conectada em comunicação de sinal com uma primeira entrada de uma junção de soma 390. Uma segunda saída da pesquisa 380 é para proporcionar um deslocamento e está conectada em comunicação de sinal com uma segunda entrada da junção de soma 390. A saída da junção de soma 390 está conectada em comunicação de sinal com um segundo terminal de entrada da junção de soma 340.
Como apresentado na Figura 4, um codificador de vídeo padrão é indicado geralmente pelo número de referência 400. Uma entrada para codificador 400 está conectada em comunicação de sinal com uma entrada não-inversora de uma junção de soma 410. A saída da junção de soma 410 está conectada em comunicação de sinal com um transformador de bloco 420. O transformador 420 está conectada em comunicação de sinal com um quantizador 430. A saída do quantizador 430 está conectada em comunicação de sinal com um codificador de comprimento variável ("VLC") 440, onde a saída do VLC 440 é uma saída externamente disponível do codificador 400. A saída do quantizador 430 é adicionalmente conectada em comunicação de sinal com um quantizador inverso 450. O quantizador inverso 450 está em comunicação de sinal com um transformador de bloco inverso 460, o qual, por sua vez, está conectado em comunicação de sinal com um armazenamento de imagem de referência 470. Uma primeira saída do armazenamento de imagem de referência 470 está conectada em comunicação de sinal com uma primeira entrada de um estimador de movimento 480. A entrada para o codificador 400 está adicionalmente conectada em comunicação de sinal com uma segunda entrada do estimador de movimento 480. A saída do estimador de movimento 480 está conectada em comunicação de sinal com uma primeira entrada de um compensador de movimento 490. Uma segunda entrada do armazenamento de imagem de referência 470 está conectada em comunicação de sinal com uma segunda entrada do compensador de movimento 490. A saída do compensador de movimento 4 90 está conectada em comunicação de sinal com uma entrada inversora da junção de soma 410.
Voltando-se para a Figura 5, um codificador de vídeo com a ponderação de imagem de referência é indicado geralmente pelo número de referência 500. Uma entrada para o codificador 500 está conectada em comunicação de sinal com uma entrada não-inversora de uma junção de soma 510. A saída da junção de soma 510 está conectada em comunicação de sinal com um transformador de bloco 520. O transformador 520 está conectado em comunicação de sinal com um quantizador 530. A saída do quantizador 530 está conectada em comunicação de sinal com um VLC 540, onde a saída do VLC 54 0 é uma saída externamente disponível do codificador 500. A saída do quantizador 530 está adicionalmente conectada em comunicação de sinal com um quantizador inverso 550. O quantizador inverso 550 está conectado em comunicação de sinal com um transformador de bloco inverso 560, o qual, por sua vez, está conectado em comunicação de sinal com um armazenamento de imagem de referência 570. Uma primeira saída do armazenamento de imagem de referência 570 está conectada em comunicação de sinal com uma primeira entrada de um designador de fator de ponderação de imagem de referência 572. A entrada para o codificador 500 está adicionalmente conectada em comunicação de sinal com uma segunda entrada do designador de fator de ponderação de imagem de referência 572. A saída do designador de fator de ponderação de imagem de referência 572, a qual é indicativa de um fator de ponderação, está conectada em comunicação de sinal com uma primeira entrada de um estimador de movimento 580. Uma segunda saída do armazenamento de imagem de referência 570 está conectada em comunicação de sinal com uma segunda entrada do estimador de movimento 580. A entrada para o codificador 500 está adicionalmente conectada em comunicação de sinal com uma terceira entrada do estimador de movimento 580. A saída do estimador de movimento 580, a qual é indicativa de vetores de movimento, está conectada em comunicação de sinal com uma primeira entrada de um compensador de movimento 590. Uma terceira saída do armazenamento de imagem de referência 570 está conectada em comunicação de sinal com uma segunda entrada do compensador de movimento 590. A saída do compensador de movimento 590, a qual é indicativa de uma imagem de referência com movimento compensado, está conectada em comunicação de sinal com uma primeira entrada de um multiplicador 592. A saída do designador de fator de ponderação de imagem de referência 572, a qual é indicativa de um fator de ponderação, está conectada em comunicação de sinal com uma segunda entrada do multiplicador 592. A saída do multiplicador 592 está conectada em comunicação de sinal com uma entrada de inver-sora da junção de soma 510.
Voltando-se agora para a Figura 6, um processo ilustrativo para decodificar dados de sinal de vídeo para um bloco de imagem é indicado geralmente pelo número de referência 600. O processo inclui um bloco inicial 610 que passa o controle para um bloco de entrada 612. O bloco de entrada 612 recebe os dados compactados do bloco de imagem e passa o controle para um bloco de entrada 614. 0 bloco de entrada 614 recebe pelo menos um índice de imagem de referência com os dados para o bloco de imagem, cada índice de imagem de referência correspondendo a uma imagem de referência particular. 0 bloco de entrada 614 passa o controle para um bloco de função 616, o qual determina um fator de ponderação correspondendo a cada um dos índices de imagem de referência recebidos e passa o controle para um bloco de função opcional 617. 0 bloco de função opcional 617 determina um deslocamento correspondendo a cada um dos índices de imagem de referência recebidos e passa o controle para um bloco de função 618. 0 bloco de função 618 recupera uma imagem de referência correspondendo a cada um dos índices de imagem de referência recebidos e passa o controle para um bloco de função 620. 0 bloco de função 620, por sua vez, compensa o movimento da imagem de referência recuperada e passa o controle para um bloco de função 622 . 0 bloco de função 622 multiplica a imagem de referência com o movimento compensado pelo fator de ponderação correspondente e passa o controle para um bloco de função opcional 623. 0 bloco de função opcional 623 adiciona a imagem de referência com o movimento compensado para o deslocamento correspondente e passa o controle para um bloco de função 624. 0 bloco de função 624, por sua vez, forma uma imagem de referência com movimento compensado ponderada e passa o controle para um bloco final 626.
Voltando-se agora para a Figura 7, um processo ilustrativo para codificar dados de sinal de vídeo para um bloco de imagem é indicado geralmente pelo número de referência 700. O processo inclui um bloco inicial 710 que passa o controle para um bloco de entrada 712. O bloco de entrada 712 recebe os dados do bloco de imagem substancialmente não compactados e passa o controle para um bloco de função 714. O bloco de função 714 designa um fator de ponderação para o bloco de imagem correspondendo a uma imagem de referência particular possuindo um índice correspondente. O bloco de função 714 passa o controle para um bloco de função opcional 715. O bloco de função opcional 715 designa um deslocamento para o bloco de imagem correspondendo a uma imagem de referência particular possuindo um índice correspondente. O bloco de função opcional 715 passa o controle para um bloco de função 716, o qual calcula os vetores de movimento correspondendo à diferença entre o bloco de imagem e a imagem de referência particular e passa o controle para um bloco de função 718. O bloco de função 718 compensa o movimento da imagem de referência particular em correspondência com os vetores de movimento e passa o controle para um bloco de função 72 0. O bloco de função 72 0, por sua vez, multiplica a imagem de referência com movimento compensado pelo fator de ponderação designado para formar uma imagem de referência com movimento compensado ponderada e passa o controle para um bloco de função opcional 721. 0 bloco de função opcional 721, por sua vez, adiciona a imagem de referência com movimento compensado para o deslocamento designado para formar uma imagem de referência com movimento compensado ponderada e passa o controle para um bloco de função 722. 0 bloco de função 722 subtrai a i-magem de referência com movimento compensado ponderada do bloco de imagem substancialmente não compactado e passa o controle para um bloco de função 724. O bloco de função 724, por sua vez, codifica um sinal com a diferença entre o bloco de imagem substancialmente não compactado e a i-magem de referência com movimento compensado ponderada junto com o índice correspondente da imagem de referência particular e passa o controle para um bloco final 726.
Na presente modalidade ilustrativa, para cada imagem ou fração codificada, um fator de ponderação é associado com cada imagem de referência permitida com respeito a que blocos da imagem corrente podem ser codificados . Quando cada bloco individual na imagem corrente é codificado ou decodificado, o fator(es) de ponderação e o deslocamento(s) que correspondem aos seus índices de imagem de referência são aplicados para a predição de referência para formar um preditor de peso. Todos os blocos na fração que são codificados com respeito à mesma imagem de referência aplicam o mesmo fator de ponderação para a predição da imagem de referência. A utilização ou não da ponderação adaptativa quando codificando-se uma imagem pode ser indicada no conjunto de parâmetros da imagem ou no conjunto de parâmetros da seqüência, ou na fração ou cabeçalho da imagem. Para cada fração ou imagem que utiliza a ponderação adaptativa, um fator de ponderação pode ser transmitido para cada uma das imagens de referência que podem ser permitida que pode ser utilizada para codificar esta fração ou imagem. O número de imagens de referência que podem ser permitidas é transmitido no cabeçalho da fração. Por e-xemplo, se três imagens de referência puderem ser utilizadas para codificar a fração corrente, até três fatores de ponderação são transmitidos e eles estão associados com a imagem de referência com o mesmo índice.
Se nenhum fator de ponderação for transmitido, pesos padrão são utilizados. Em uma modalidade da presente invenção, pesos padrão de (1/2, %) são utilizados quando nenhum fator de ponderação é transmitido. Os fatores de ponderação podem ser transmitidos utilizando-se códigos de comprimento variável ou fixo.
Diferente dos sistemas típicos, cada fator de ponderação que é transmitido com cada fração, bloco ou imagem corresponde a um índice de imagem de referência particular. Anteriormente, qualquer conjunto de fatores de ponderação transmitidos com cada fração ou imagem não estavam associados com quaisquer imagens de referência particulares. Ao invés disso, um índice de ponderação de predição dupla adaptativa era transmitido para cada bloco de movimento ou região 8x8 para selecionar qual dos fatores de ponderação a partir do conjunto transmitido era para ser aplicado para este bloco de movimento ou região 8x8 particular.
Na presente modalidade da presente invenção, o índice do fator de ponderação para cada bloco de movimento ou região 8x8 não é explicitamente transmitido. Ao invés disso, o fator de ponderação que está associado com o índice de imagem referência transmitido é utilizado. Isto dramaticamente reduz a quantidade de atividades de suporte no fluxo de bits transmitido para permitir a ponderação adaptativa das imagens de referência.
Este sistema e técnica podem ser aplicados junto às imagens "P de predição, as quais são codificadas com um único preditor, ou junto às imagens "B" de predição dupla, as quais são codificadas com dois preditores. Os processos de decodificação, os quais estão presentes tanto no codificador como no decodificador, são descritos abaixo para os casos de imagem P e B. Alternativamente, esta técnica também pode ser aplicada junto a sistemas de codificação utilizando os conceitos similares às imagens I, B e P.
Os mesmos fatores de ponderação podem ser utilizados para a predição direcional única nas imagens B e para a predição bidirecional nas imagens B. Quando um único preditor é utilizado para uma macrobloco, nas imagens P ou para a predição direcional única nas imagens B, um único índice de imagem de referência é transmitido pa- ra o bloco. Após o processo de decodificação, a etapa de compensação de movimento produz um preditor, o fator de ponderação é aplicado para o preditor. O preditor ponderado é então adicionado para o resíduo codificado e o recorte é feito na soma, para formar a imagem decodificada. Para uso para blocos em imagens P ou para blocos em imagens B que utilizam somente a predição da lista 0, o preditor ponderado é formado como: Pred = W0 * PredO + DO (1) onde W0 é o fator de ponderação associado com a imagem de referência da lista 0, DO é o deslocamento associado com a imagens de referência da lista 0 e PredO é o bloco de predição com movimento compensado da imagem de referência da lista 0.
Para uso para blocos nas imagens B que utilizam somente a predição da lista 0, o preditor ponderado é formado como: Pred = W1 * Predl + Dl(2) onde W1 é o fator de ponderação associado com a imagem de referência da lista 1, DO é o deslocamento associado com a imagem de referência da lista 1 e Predl é o bloco de predição com movimento compensado da imagem de referência da lista 1.
Os preditores ponderados podem ser recortados para garantir que os valores resultantes estarão dentro da faixa permitida de valores de pixel, tipicamente 0 até 255. A precisão da multiplicação nas fórmulas de ponde- ração pode ser limitada a qualquer número predeterminado de bits de resolução.
No caso de predição dupla, os índices de imagem de referência são transmitidos para cada um dos dois pre-ditores. A compensação de movimento é executada para formar os dois preditores. Cada preditor utiliza o fator de ponderação associado com seu índice de imagem de referência para formar dois preditores ponderados. Os dois preditores ponderados têm então a média calculada para formar um preditor com a média calculada, o qual é então adicionado para o resíduo codificado.
Para uso para blocos em imagens B que utilizam as predições da lista 0 e da lista 1, o preditor ponderado é formado como: Pred= (PO * PredO+DO+Pl * Predl+Dl)/2 (3) 0 recorte pode ser aplicado junto ao preditor ponderado ou junto a quaisquer valores intermediários no cálculo do preditor ponderado para garantir que os valores resultantes estarão dentro da faixa permitida de valores de pixel, tipicamente 0 até 255.
Assim, um fator de ponderação é aplicado junto à predição da imagem de referência de um codificador e decodificador de compactação de vídeo que utiliza várias imagens de referência. O fator de ponderação adapta-se para os blocos de movimento individuais dentro de uma i-magem, baseado no índice de imagem de referência que é utilizado para este bloco de movimento. Pelo fato do índice de imagem de referência já ser transmitido no fluxo de bits de vídeo compactado, as atividades de suporte para adaptar o fator de ponderação em baseado no bloco de movimento são dramaticamente reduzidas. Todos os blocos de movimento que são codificados com respeito à mesma i-magem de referência aplicam o mesmo fator de ponderação para a predição da imagem de referência.
Estes e outros aspectos e vantagens da presente invenção podem ser prontamente verificados pelos com conhecimento comum na técnica pertinente baseado nas instruções aqui dentro. Deve ser entendido que as instruções da presente invenção podem ser implementados em várias formas de hardware, software, firmware, processadores de propósito especial, ou em combinações dos mesmos.
Mais de preferência, as instruções da presente invenção são implementadas como uma combinação de hardware e de software. Além disso, o software de preferência é implementado como um programa de aplicação de forma tangível incorporado em uma unidade de armazenamento de programa. O programa de aplicação pode ser transferido e executado por uma máquina compreendendo qualquer arquitetura adequada. De preferência, a máquina é implementada em uma plataforma de computador possuindo hardware tal como uma ou mais unidades centrais de processamento ("CPU"), uma memória de acesso randomico ("RAM") e as interfaces de entrada/saída ("1/0"). A plataforma de computador também pode incluir um sistema operacional e o código de microinstrução. Os vários processos e funções descritas aqui dentro podem ser parte do código de micro- instrução ou parte do programa de aplicação, ou qualquer combinação dos mesmos, os quais podem ser executados por uma CPU. Em adição, várias outras unidades periféricas podem ser conectadas com a plataforma de computador tal como uma unidade de armazenamento de dados adicional e uma unidade de impressão.
Deve ser adicionalmente entendido que, pelo fato de que alguns componentes constituintes do sistema e os métodos descritos nos desenhos acompanhantes de preferência serem implementados em software, as conexões reais entre os componentes do sistema ou dos blocos de função do processo podem diferir dependendo da maneira na qual a presente invenção é programada. Dadas as instruções aqui dentro, os com conhecimento comum na técnica pertinente estarão aptos a contemplar estas e implementações ou configurações similares da presente invenção.
Apesar das modalidades ilustrativas terem sido descritas aqui dentro com referência aos desenhos acompanhantes, deve ser entendido que a presente invenção não está limitada a estas modalidades precisas e que várias alterações e modificações podem ser efetuadas na mesma pelos com conhecimento comum na técnica pertinente sem sair do escopo ou do espírito da presente invenção. Todas tais alterações e modificações são pretendidas de estarem incluídas dentro do escopo da presente invenção como exposto nas reivindicações anexas.
REIVINDICAÇÕES
Claims (17)
1. Decodificador de video para decodificar dados de video para uma imagem tendo uma pluralidade de blocos de imagem, o decodificador (300) sendo CARACTERIZADO por compreender uma unidade de fator de ponderação de imagem de referência para receber pelo menos um indice de imagem de referência, o pelo menos um índice de imagem de referência para independentemente indicar, sem uso de outro índice, uma de uma pluralidade de imagens de referência a partir do qual uma imagem corrente da pluralidade de blocos de imagem é predita e um fator de ponderação de um conjunto de fatores de ponderação para a imagem corrente da pluralidade de blocos de imagem.
2. Decodif icador de vídeo de acordo com a reivindicação 1, CARACTERIZADO pelo fato de que a unidade de fator de ponderação de imagem de referência (380) possui uma segunda saída para determinar um deslocamento correspondendo a pelo menos do pelo menos um índice de imagem de referência.
3. Decodif icador de vídeo de acordo com a reivindicação 1, CARACTERIZADO por adicionalmente compreender um decodificador de comprimento variável (310) em comunicação de sinal com a unidade de fator de ponderação de imagem de referência (380) para proporcionar o pelo menos um índice de imagem de referência para a unidade de fator de ponderação de imagem de referência.
4. Decodificador de vídeo de acordo com a reivindicação 1, CARACTERIZADO por adicionalmente compreender um compensador de movimento (360) em comunicação com a unidade de fator de ponderação de imagem de referência (380) para proporcionar preditores de imagem de referência com movimento compensado.
5. Decodif icador de vídeo de acordo com a reivindicação 4, CARACTERIZADO por adicionalmente compreender um multiplicador (370) em comunicação com o compensador de movimento (360) e a unidade de fator de ponderação de imagem de referência (380) para aplicar um fator de ponderação para um preditor de imagem de referência com movimento compensado.
6. Decodif icador de vídeo de acordo com a reivindicação 4, CARACTERIZADO por adicionalmente compreender um somador (390) em comunicação de sinal com o compensador de movimento (360) e a unidade de fator de ponderação de imagem de referência (380) para aplicar um deslocamento a um preditor de imagem de referência com movimento compensado ponderada.
7. Decodif icador de vídeo de acordo com a reivindicação 1, CARACTERIZADO pelo fato de que os dados de vídeo são dados de vídeo transmitidos compreendendo os coeficientes de transformada de bloco.
8. Decodificador de vídeo (300) de acordo com a reivindicação 1, CARACTERIZADO por ser utilizável com os preditores de imagem com predição dupla, o decodificador adicionalmente compreendendo: um dispositivo de predição para formar um primeiro e segundo preditores para um bloco de imagem a partir de duas imagens de referência diferentes; um dispositivo de combinação para combinar o primeiro e o segundo preditores juntos utilizando seus fatores de ponderação correspondentes para formar um pre-ditor combinado único para o bloco de imagem.
9. Decodificador de vídeo de acordo com a reivindicação 8, CARACTERIZADO pelo fato de que as duas imagens de referência diferentes são ambas a partir da mesma direção, direção para frente e direção para trás, em relação a imagem do bloco de imagem.
10. Método para decodificar dados de vídeo para uma imagem tendo uma pluralidade de blocos de imagem, o método sendo CARACTERIZADO por compreender: receber um índice de imagem de referência com os dados para um bloco de imagem corrente, o índice independentemente indicando, sem uso de outro índice, uma i-magem de referência a partir do qual o bloco de imagem corrente é predito e um fator de ponderação de um conjunto de fatores de ponderação para o bloco de imagem corrente ; recuperar um preditor de imagem de referência com movimento compensado usando a imagem de referência correspondendo ao índice de imagem de referência recebido ; e variar o preditor de imagem de referência com movimento compensado pelo fator de ponderação indicado para formar um preditor de imagem de referência com movimento compensado ponderada.
11. Método de acordo com a reivindicação 10, CARACTERIZADO por adicionalmente compreender: determinar um deslocamento correspondendo aos índice de imagem de referência recebidos; e ajustar a imagem de referência com movimento compensado ponderada com o deslocamento correspondente.
12. Método de acordo com a reivindicação 10, CARACTERIZADO por adicionalmente compreender adicionar o preditor de imagem de referência com movimento compensado ponderada aos dados para o bloco de imagem para predizer o bloco de imagem.
13. Método de acordo com a reivindicação 12, CARACTERIZADO por adicionalmente compreender armazenar o bloco de imagem predito como uma parte da imagem para recuperação futura.
14. Método de acordo com a reivindicação 10, CARACTERIZADO pelo fato de que os dados de vídeo são da- dos de vídeo transmitidos compreendendo coeficientes de transformada de bloco.
15. Método de acordo com a reivindicação 10, CARACTERIZADO pelo fato de preditores de imagem de predi-ção dupla serem utilizados, o método adicionalmente compreendendo : formar um primeiro e segundo preditores para um bloco de imagem a partir de duas imagens de referência diferentes; e combinar o primeiro e o segundo preditores utilizando seus fatores de ponderação correspondentes para formar um preditor único para o bloco de imagem.
16. Método de acordo com a reivindicação 15, CARACTERIZADO por adicionalmente compreender: determinar um primeiro e segundo deslocamentos correspondendo a cada um dentre o primeiro e segundo preditores ; combinar o primeiro e segundo deslocamentos para formar um deslocamento combinado; e combinar os deslocamentos combinados do preditor único para predizer o bloco de imagem.
17. Método de acordo com a reivindicação 15, CARACTERIZADO pelo fato de que as duas imagens de refe- rência diferentes são ambas a partir da mesma direção, direção para frente e direção para trás, em relação a i-magem do bloco de imagem.
Family
ID=
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| BRPI0318825B1 (pt) | método de codificação de dados de sinal de vídeo para um bloco de imagem | |
| US7903742B2 (en) | Adaptive weighting of reference pictures in video decoding | |
| US7376186B2 (en) | Motion estimation with weighting prediction | |
| BRPI0305518B1 (pt) | Video decoder for decoding video data and method for decoding video data | |
| RU2333615C2 (ru) | Адаптивное взвешивание эталонных изображений при декодировании видеосигнала | |
| BRPI0318821B1 (pt) | método para decodificar dados de sinal de vídeo para um bloco de imagem | |
| BRPI0318822B1 (pt) | Método de codificação para produzir dados de sinal de vídeo para uma imagem tendo uma pluralidade de blocos de imagem | |
| ZA200500417B (en) | Adaptive weighting of reference pictures in video decoding |