BRPI0318775B1 - VIDEO DECODER, METHOD AND PROGRAM STORAGE DEVICE FOR DECODING VIDEO SIGNAL DATA FOR A PICTURE BLOCK - Google Patents
VIDEO DECODER, METHOD AND PROGRAM STORAGE DEVICE FOR DECODING VIDEO SIGNAL DATA FOR A PICTURE BLOCK Download PDFInfo
- Publication number
- BRPI0318775B1 BRPI0318775B1 BRPI0318775-6A BRPI0318775A BRPI0318775B1 BR PI0318775 B1 BRPI0318775 B1 BR PI0318775B1 BR PI0318775 A BRPI0318775 A BR PI0318775A BR PI0318775 B1 BRPI0318775 B1 BR PI0318775B1
- Authority
- BR
- Brazil
- Prior art keywords
- reference image
- image
- weighting factor
- index
- block
- Prior art date
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/189—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
- H04N19/196—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding being specially adapted for the computation of encoding parameters, e.g. by averaging previously computed encoding parameters
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/513—Processing of motion vectors
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Computing Systems (AREA)
- Theoretical Computer Science (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
método para decodificar dados de sinal de video para uma imagem tendo uma pluralidade de blocos de imagem. trata-se de um decodificador de vídeo (300), codificador (500) e de 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, os quais utilizam a ponderação adaptativa de imagens de referência para aperfeiçoar a compactação do vídeo, onde um decodificador (300) inclui uma unidade de fator de ponderação de imagem de referência (380) para determinar um fator de ponderação correspondendo ao índice de imagem de referência particular; um codificador (500) inclui um designador de fator de ponderação de imagem de referência (572) para designar um fator de ponderação correspondendo ao índice de imagem de referência particular; e um método para decodificar 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.method for decoding video signal data for an image having a plurality of image blocks. These are a video decoder 300, encoder 500 and corresponding methods for processing video signal data for an image block and a particular reference image index for predicting the image block, which use adaptive reference image weighting to enhance video compression, where a decoder (300) includes a reference image weighting factor unit (380) to determine a weighting factor corresponding to the particular reference image index; an encoder (500) includes a reference image weighting factor designator (572) for designating a weighting factor corresponding to the particular reference image index; and a method for decoding includes receiving a reference image index with the data corresponding to the image block, determining a weighting factor for each reference image index received, retrieving a reference image for each index, compensating for the motion of the reference image index. retrieved reference image and multiply the motion compensated reference image by the corresponding weighting factor to form a weighted compensated motion reference image.
Description
(54) Título: DECODIFICADOR DE VÍDEO, MÉTODO E DISPOSITIVO DE ARMAZENAMENTO DE PROGRAMA PARA DECODIFICAR DADOS DE SINAL DE VÍDEO PARA UM BLOCO DE IMAGEM (51) Int.CI.: H04N 19/196; H04N 19/513 (30) Prioridade Unionista: 09/04/2003 US 10/410.481, 15/07/2002 US 60/395.843, 15/07/2002 US 60/395.874 (73) Titular(es): THOMSON LICENSING S.A.(54) Title: VIDEO DECODER, METHOD AND PROGRAM STORAGE DEVICE FOR DECODING VIDEO SIGNAL DATA FOR AN IMAGE BLOCK (51) Int.CI .: H04N 19/196; H04N 19/513 (30) Unionist Priority: 04/09/2003 US 10 / 410,481, 07/15/2002 US 60 / 395,843, 07/15/2002 US 60 / 395,874 (73) Holder (s): THOMSON LICENSING S.A.
(72) Inventor(es): JILL BOYCE MACDONALD tf !(72) Inventor (s): JILL BOYCE MACDONALD tf!
Λ* tΛ * t
DECODIFICADOR DE VÍDEO, MÉTODO E DISPOSITIVO DEVIDEO DECODER, METHOD AND DEVICE
ARMAZENAMENTO DE PROGRAMA PARA DECODIFICAR DADOS DE SINAL DEPROGRAM STORAGE TO DECODE SIGNAL DATA
VÍDEO PARA UM BLOCO DE IMAGEMVIDEO FOR AN IMAGE BLOCK
Dividido do PI 0305518-3, depositado emDivided from PI 0305518-3, deposited in
14/07/2003.07/14/2003.
REFERÊNCIA CRUZADA COM PEDIDOS RELACIONADOSCROSS REFERENCE WITH RELATED REQUESTS
Este pedido reivindica o beneficio do Pedido deThis claim claims the benefit of the
Patente Provisório dos Estados Unidos N- de SérieUnited States Provisional Patent N- Serial
60/395.843, intitulado Adaptative Weighting Of Reference Pictures In Video CODEC e depositado em 15 de julho de 2002, o qual é incorporado por referência aqui em sua totalidade . Em adição, este pedido reivindica o beneficio do60 / 395,843, entitled Adaptive Weighting Of Reference Pictures In Video CODEC and filed on July 15, 2002, which is incorporated by reference here in its entirety. In addition, this claim claims the benefit of
Pedido de Patente Provisório dos Estados Unidos N- de Série 60/395.874, intitulado Motion Estimation With Weighting Prediction também depositado em 15 de julho de 2002, o qual é incorporado por referência aqui em sua totalidade.United States Provisional Patent Application No. Series 60 / 395,874, entitled Motion Estimation With Weighting Prediction also filed on July 15, 2002, which is incorporated by reference here in its entirety.
CAMPO DA INVENÇÃOFIELD OF THE INVENTION
A presente invenção é direcionada para decodificadores de video e, em particular, para a utilização da ponderação adaptativa de imagens de referência em decodificadores de video.The present invention is directed to video decoders and, in particular, to the use of adaptive weighting of reference images in video decoders.
FUNDAMENTO DA INVENÇÃOBACKGROUND OF THE INVENTION
Os dados de video geralmente são processados e transferidos em forma de fluxos de bits. Os codificadores e decodificadores (OODECs) de compactação de video tipicos 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 lí predição. Quanto mais esta predição está 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 possivel da imagem de referência a ser formada.Video data is usually processed and transferred in the form of bit streams. Typical video compression encoders and decoders (OODECs) gain much of their compression efficiency by forming a prediction of the reference image of an image to be encoded and by encoding the difference between the current image and the prediction. The more this prediction is correlated with the current image, the fewer bits are needed to compress this image, thereby increasing the efficiency of the process. Thus, this is desirable for the best possible prediction of the reference image to be formed.
Em vários padrões de compactação de video, 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 iguais de (^, para cada um, para formar uma única prediçã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.In several video compression standards, including the Moving Picture Experts Group (MPEG) ~ 1, MPEG-2 and MPEG-4, a motion-compensated version of a previous reference image is used as a prediction for the current image and only the difference between the current image and the prediction is coded. When a single image prediction (image P) is used, the reference image is not scaled when the prediction with compensated motion is formed. When bidirectional image predictions (image B) are used, intermediate predictions are formed from two different images and then the two intermediate predictions are averaged together, using equal weighting factors of (^, for each, to form a only prediction with the average produced. In these MPEG standards, the two reference images are always each from the forward direction and from the backward direction for the B images.
SUMÁRIO DA INVENÇÃOSUMMARY OF THE INVENTION
Estas e outras inconveniências e desvantagens da 25 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 video.These and other inconveniences and disadvantages of the prior art are addressed by a system and method for adaptive weighting of reference images in video decoders.
Um decodificador de video e métodos correspondentes para processar os dados de sinal de video 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 decodificador 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.A video decoder and corresponding methods for processing the video signal data for an image block and a particular reference image index for predicting the image block are described, which use the adaptive weighting of reference images to optimize the video compression. A decoder includes a reference image weighting factor unit to determine a weighting factor corresponding to the particular reference image index.
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.A corresponding method for decoding video includes receiving a reference image index with the data corresponding to the image block, determining a weighting factor for each reference image index received, retrieving a reference image for each index, compensating for movement of the retrieved reference image and multiply the reference image with movement compensated by the corresponding weighting factor to form a reference image with weighted compensated movement.
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.These and other aspects, characteristics and advantages of the present invention will become apparent from the following description of illustrative modalities, which must be read in connection with the accompanying drawings.
BREVE DESCRIÇÃO DOS DESENHOSBRIEF DESCRIPTION OF THE DRAWINGS
A ponderação adaptativa das imagens de referência nos codificadores e decodificadores de vídeo de acordo com os princípios da presente invenção é apresentada nas figuras ilustrativas seguintes, nas quais:The adaptive weighting of the reference images in the video encoders and decoders according to the principles of the present invention is shown in the following illustrative figures, in which:
A Figura 1 apresenta um diagrama de blocos para um decodificador de vídeo padrão;Figure 1 shows a block diagram for a standard video decoder;
A Figura 2 apresenta um diagrama de blocos para um decodificador de vídeo com a predição dupla adaptativa;Figure 2 shows a block diagram for a video decoder with adaptive double prediction;
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;Figure 3 shows a block diagram for a video decoder with the reference image weight according to the principles of the present invention;
A Figura 4 apresenta um diagrama de blocos para um codificador de vídeo padrão;Figure 4 shows a block diagram for a standard video encoder;
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;Figure 5 shows a block diagram for a video encoder with the reference image weight according to the principles of the present invention;
A Figura 6 apresenta um fluxograma para um processo de decodificação de acordo com os princípios da presente invenção; eFigure 6 presents a flow chart for a decoding process according to the principles of the present invention; and
A Figura 7 apresenta um fluxograma para um processo de codificação de acordo com os princípios da presente invenção.Figure 7 shows a flow chart for a coding process according to the principles of the present invention.
DESCRIÇÃO DETALHADA DAS MODALIDADES PREFERIDASDETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
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 sequê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 aThe present invention provides an apparatus and method for estimating motion vector and for designating an adaptive weighting factor of the reference image. In some video sequences, in particular those with gradual disappearance of the image, the current image or image block to be encoded is more strongly correlated with a reference image scaled by a weighting factor than with the reference image itself. Video CODECs without weighting factors applied to
imagens de referência codificam as sequências de desaparecimento gradual da imagem 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 computacionalmente intensiva de um codificador de compactação de vídeo digital.reference images encode the image fade sequences very inefficiently. When weighting factors are used in coding, a video encoder needs to determine both weighting factors and motion vectors, but the best choice for each depends on the other, with the motion estimate typically being the most computationally part. intensive digital video compression encoder.
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 decodificador, e o número de imagens de referência que podem ser permitidas é transmitido.In the proposed compression pattern of the Joint Video Team (JVT), each P image can use several reference images to form an image prediction, but each individual motion block or 8x8 region of a macroblock uses only a single reference image for the prediction. In addition to coding and transmitting the motion vectors, an index of the reference image is transmitted for each block of motion or 8x8 region, indicating which reference image is used. A limited set of possible reference images is stored in both the encoder and the decoder, and the number of reference images that can be allowed is transmitted.
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 i25In the JVT standard, for dual prediction images (also called B images), two predictors are formed for each 8x8 motion block or region, each of which can be from a separate reference image and the two predictors have the average calculated together to form a single predictor with the average produced. For shape-coded motion blocks with two predictions, the i25
magens 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 é,Reference images can both be from the forward direction, both from the backward direction, or each from the forward and backward directions. Two lists are kept of the available reference images that can be used for prediction. The two reference images are referred to as list 0 and list 1 predictors. An index for each reference image is coded and transmitted, ref_idx_10 and ref_idx_ll, for the reference images in list 0 and list 1, respectively. The dual prediction images from the Joint Video Team (JVT) or B must allow adaptive weighting between the two predictions, that is,
Pred = [(P0) * (PredO)] + [(PI) * (Predl)] + D, onde P0 e Pl são fatores de ponderação, PredO ePred = [(P0) * (PredO)] + [(PI) * (Predl)] + D, where P0 and Pl are weighting factors, PredO and
Predl são as predições de imagem de referência para a lista 0 e lista 1, respectivamente e D é um deslocamento.Predl are the reference image predictions for list 0 and list 1, respectively, and D is an offset.
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, H) são utilizados, caso contrário fatores (2, -1) são utilizados.Two methods have been proposed to indicate weighting factors. In the first, the weighting factors are determined by the directions that are used for the reference images. In this method, if the index ref_idx_10 is less than or equal to ref__idx_ll, weighting factors of (1/2, H) are used, otherwise factors (2, -1) are used.
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 utiliza oIn the second method offered, any number of weighting factors is transmitted for each fraction. Then, an index of the weighting factor is transmitted for each 8x8 motion block or region of a macroblock that uses bidirectional prediction. The decoder uses the
í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.weighting factor index received to choose the appropriate weighting factor, from the transmitted set, to use when decoding the 8x8 motion block or region. For example, if three weighting factors are sent in the fraction layer, they would correspond to weighting factor indexes 0, 1 and 2, respectively.
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 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 especificamente 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.The following description merely illustrates the principles of the invention. Thus, it will be appreciated that those skilled in the art will be able to plan various arrangements that, although not explicitly described or presented here, incorporate the principles of the invention and are included within its spirit and scope. In addition, all the examples and condition language listed here are primarily intended expressly to be for educational purposes only to help the reader understand the principles of the invention and the concepts contributed by the inventor to enhance the technique and must be constructed as without limitation to such specifically related examples and conditions. In addition, all statements here relating the principles, aspects and modalities of the invention, as well as the examples thereof, are intended to encompass the structural and functional equivalents of the same. Additionally, it is intended that such equivalents include both the currently known equivalents and the equivalents developed in the future, that is, any developed elements that perform the same function, regardless of the structure.
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.Thus, for example, it will be appreciated by those with knowledge in the art that the block diagrams here represent conceptual views of illustrative circuitry incorporating the principles of the invention. Similarly, it will be appreciated that any flowcharts, flow diagrams, state transition diagrams, pseudocode and the like represent various processes that can be substantially represented in a computer-readable medium and thus executed by a computer or processor, whether or not that computer or processor is explicitly displayed.
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çãoThe functions of the various elements shown in the figures can be provided through the use of dedicated hardware as well as hardware capable of running software in association with the appropriate software. When provided by a processor, functions can be provided by a single dedicated processor, by a single shared processor, or by a plurality of individual processors, some of which can be shared. In addition, the explicit use of the term processor or controller should not be construed to refer exclusively to hardware capable of running the software and may implicitly include, without limitation, digital signal processor (DSP) hardware, read-only memory (ROM) ) to store software, random access memory (RAM) and non-volatile storage. Other hardware, conventional and / or custom, can also be included. Similarly, any keys shown in the figures are only conceptual. Its function can be accomplished through the operation
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.of program logic, through dedicated logic, through the interaction of program control with dedicated logic, or even manually, the particular technique can be selected by the implementer as more specifically understood from the context.
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 e1ementos 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 equivalente a estes apresentados aqui dentro,In the claims in this regard, any element expressed as a device to perform a specified function is intended to cover any way of performing this function including, for example, a) a combination of circuit elements that perform this function or b) software in any form , therefore, including firmware, microcode or similar, combined with the appropriate circuitry to run this software to perform the function. The invention as defined by such claims lies in the fact that the functionalities provided by the various related devices are combined and joined together in the manner that the claims call for. Thus, the applicant considers any device that can provide these features as equivalent to those presented here,
Como apresentado na Figura 1, um decodificador de video padrão é indicado geralmente pelo número de referênciaAs shown in Figure 1, a standard video decoder is usually indicated by the reference number
100. O decodificador de video 100 inclui um decodificador 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. 0 transformador inverso 130 está conectado em comunicação de sinal com um primeiro terminai de entrada de um somador ou junção de soma 140, onde a saida100. Video decoder 100 includes a variable length decoder (VLD) 110 connected in signal communication with a reverse quantizer 120. The reverse quantizer 120 is connected in signal communication with a reverse transformer 130. The reverse transformer 130 is connected in signal communication with a first input terminal of an adder or summation junction 140, where the output
MrMr
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. O 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.the sum junction 140 provides the output of the video decoder 100. The output of the sum junction 140 is connected in signal communication with a reference image storage 150. The reference image storage 150 is connected in signal communication with a motion compensator 160, which is connected in signal communication with a second input terminal of summation junction 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. 0 quantizador inverso 220 está conectado em comunicação de sinal com um transformador inversoTurning to Figure 2, a video decoder with the adaptive double prediction is generally indicated by the reference number 200. The video decoder 200 includes a VLD 210 connected in signal communication with an inverse quantizer 220. The inverse quantizer 220 is connected in signal communication with a reverse transformer
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 decodificador de vídeo 200. A saída da j unção de soma 2 4 0 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.230. The reverse transformer 230 is connected in signal communication with a first input terminal of a summation junction 240, where the output of summation junction 240 provides the output of video decoder 200. The summation output 2 40 is connected in signal communication with a reference image storage 250. Reference image storage 250 is connected in signal communication with a motion compensator 260, which is connected in signal communication with a first input of a 270 multiplier.
VLD 210 está adicionalmente conectado em comuni25 caçã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 propor11VLD 210 is additionally connected in signal communication with a reference image weighting factor search 280 to provide an adaptive double prediction coefficient (ABP) index for search 280. A first output of search 280 is to propose11
cionar 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 2 4 0.a weighting factor and is connected in signal communication with a second input of multiplier 270. The output of multiplier 270 is connected in signal communication with a first input of a summation 290. A second output of search 280 is for provide a displacement and is connected in signal communication with a second input of the sum junction 290. The output of the sum junction 290 is connected in signal communication with a second input terminal of the sum junction 2 40.
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 decodificador de vídeo 300 inclui um VLD 310 conectado em comunicação de sinal com um quantizador inverso 320. O quantizador inverso 320 está conectado em comunicação de sinal com um transformador inverso 330. 0 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.Turning to Figure 3, a video decoder with reference image weighting is generally indicated by reference number 300. The video decoder 300 includes a VLD 310 connected in signal communication with an inverse quantizer 320. The quantizer reverse transformer 320 is connected in signal communication with a reverse transformer 330. The reverse transformer 330 is connected in signal communication with a first input terminal of a sum junction 340, where the output of the sum junction 340 provides the output of the video decoder 300. The sum junction output 340 is connected in signal communication with a reference image storage 350. The reference image storage 350 is connected in signal communication with a 360 motion compensator, which is connected in signal communication with a first input from a 370 multiplier.
O 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 ima25The VLD 310 is additionally connected in signal communication with a reference image weighting factor search 380 to provide an ima index25
gem 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 3 90 está conectada em comunicação de sinal com um segundo terminal de entrada da junção de soma 340.reference gem for survey 380. A first output of survey 380 is to provide a weighting factor and is connected in signal communication with a second input from multiplier 370. Multiplier output 370 is connected in signal communication with a first input of a summation junction 390. A second output of survey 380 is to provide an offset and is connected in signal communication with a second input of summation 390. The output of summation junction 390 is connected in signal communication with a second input junction of summation 340.
Como apresentado na Figura 4r 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.As shown in Figure 4 r a standard video encoder is indicated generally by the reference numeral 400. An input to the encoder 400 is connected in signal communication with a non-inverting input of a summing junction 410. The output of summing junction 410 is connected in signal communication with a block transformer 420. Transformer 420 is connected in signal communication with a quantizer 430. The output of quantizer 430 is connected in signal communication with a variable length encoder (VLC) 440, where the output from VLC 440 is an externally available output from encoder 400.
A saída do quantizador 430 é adicionalmente conectada em comunicação de sinal com um quantizador inverso 450. 0 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 armaze25The output of the quantizer 430 is additionally connected in signal communication with an inverse quantizer 450. The reverse quantizer 450 is in signal communication with an inverse block transformer 460, which, in turn, is connected in signal communication with a reference image storage 470, a first exit from the store25
namento de imagem de referência 470 está conectada em comunicação de sinal cora uma primeira entrada de um estimador de movimento 480. A entrada para o codificador 4 00 está adicionalmente conectada em comunicação de sinal com uma segunda entrada do estimador de movimento 480. A sarda 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 490 está conectada em comunicação de sinal com uma entrada inversora da junção de soma 410.Reference image control 470 is connected in signal communication with a first input of a motion estimator 480. The input for encoder 400 is additionally connected in signal communication with a second input of motion estimator 480. The freckle of the motion estimator 480 is connected in signal communication with a first input of a motion compensator 490. A second input of reference image storage 470 is connected in signal communication with a second input of motion compensator 490. The output of the motion compensator 490 is connected in signal communication with an inverter input of the sum junction 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 transformadorTurning to Figure 5, a video encoder with reference image weighting is usually indicated by reference number 500. An input for encoder 500 is connected in signal communication with a non-inverting input of a junction of soma 510. The output of the summation 510 is connected in signal communication with a block transformer 520. The transformer
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 540 é uma saída externamente disponível do codificador 500.520 is connected in signal communication with a quantizer 530. The output of quantizer 530 is connected in signal communication with a VLC 540, where the output of VLC 540 is an externally available output of encoder 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.The output of the quantizer 530 is additionally connected in signal communication with a reverse quantizer 550. The reverse quantizer 550 is connected in signal communication with a reverse block transformer 560, which, in turn, is connected in signal communication with a reference image storage 570. A first output of reference image storage 570 is connected in signal communication with a first input of a reference image weighting factor designator 572. The input for encoder 500 is additionally connected in signal communication with a second input of the reference image weighting factor designator 572. The output of the reference image weighting factor designator 572, which is indicative of a weighting factor, is connected in signal communication with a first input from a motion estimator 580. A second output from the reference image storage 570 is connected a in signal communication with a second input of the motion estimator 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,The input for the encoder 500 is additionally connected in signal communication with a third input of the motion estimator 580. The output of the motion estimator 580, which is indicative of motion vectors, is connected in signal communication with a first input of a 590 motion compensator. A third output of the 570 reference image storage is connected in signal communication with a second 590 motion compensator input. The 590 motion compensator output, which is indicative of a reference image with compensated movement, it is connected in signal communication with a first input of a 592 multiplier. The output of the reference image weighting factor designator 572, which is indicative of a weighting factor,
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 inversora da junção de soma 510.it is connected in signal communication with a second input of multiplier 592. The output of multiplier 592 is connected in signal communication with an inverter input of sum sum 510.
Voltando-se agora para a Figura 6, um processo iiustrativo para decodificar dados de sinal de vídeo para um bloco de imagem é indicado geralmente pelo número de referência 600. 0 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. O 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. O 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 movimentoTurning now to Figure 6, an illustrative process for decoding video signal data for an image block is generally indicated by reference number 600. The process includes an initial block 610 that passes control to an input block 612 Input block 612 receives the compressed data from the image block and passes control to an input block 614. Input block 614 receives at least one reference image index with the data for the image block, each index reference image corresponding to a particular reference image. Input block 614 passes control to a function block 616, which determines a weighting factor corresponding to each of the reference image indexes received and passes control to an optional function block 617. The optional function block 617 determines an offset corresponding to each of the reference image indexes received and passes control to a function block 618. Function block 618 retrieves a reference image corresponding to each of the reference image indexes received and passes the control for a function block 620. Function block 620, in turn, compensates for the movement of the retrieved reference image and passes control to a function block 622. Function block 622 multiplies the reference image with movement
3JL·3JL ·
compensado pelo fator de ponderação correspondente e passa o controle para um bloco de função opcional 623. O 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. O 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.compensated by the corresponding weighting factor and passes control to an optional function block 623. Optional function block 623 adds the reference image with the compensated movement to the corresponding offset and passes control to a function block 624. The block function 624, in turn, forms a reference image with weighted compensated movement and passes control to a final block 626.
Voltando-se agora para a Figura 7, um processo ilustrativo para codificar dados de sinal de video para um bloco de imagem é indicado geralmente pelo número de referência 700. 0 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. 0 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 indice 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. 0 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. 0 bloco de função 718 compensa o movimento da imagem de referência particular em correspon25Turning now to Figure 7, an illustrative process for encoding video signal data for an image block is generally indicated by reference number 700. The process includes an initial block 710 that passes control to an input block 712 Input block 712 receives data from the substantially uncompressed image block and passes control to function block 714. Function block 714 designates a weighting factor for the image block corresponding to a particular reference image having a corresponding index. Function block 714 passes control to an optional function block 715. Optional function block 715 designates an offset for the image block corresponding to a particular reference image having a corresponding index. The optional function block 715 passes control to a function block 716, which calculates the motion vectors corresponding to the difference between the image block and the particular reference image and passes control to a function block 718. The block function 718 compensates for the movement of the particular reference image by corresponding
dência com os vetores de movimento e passa o controle para um bloco de função 720. 0 bloco de função 720, 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. O 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. O bloco de função 722 subtrai a imagem 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. 0 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 imagem 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,with the motion vectors and passes control to a function block 720. The function block 720, in turn, multiplies the reference image with motion compensated by the weighting factor designated to form a reference image with weighted compensated motion. and passes control to an optional function block 721. Optional function block 721, in turn, adds the reference image with compensated movement to the designated offset to form a reference image with weighted compensated movement and passes control to a function block 722. Function block 722 subtracts the weighted compensated motion reference image from the substantially uncompressed image block and passes control to a function block 724. Function block 724, in turn, encodes a signal with the difference between the substantially uncompressed image block and the reference image with weighted compensated movement along with the corresponding index of the particular reference image and passes control to a final block 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 codifica25In the present illustrative mode, for each image or fraction coded, a weighting factor is associated with each reference image allowed with respect to which blocks of the current image can be encoded. When each individual block in the current image is encoded or decoded, the weighting factor (s) and offset (s) that correspond to its reference image indexes are applied to the reference prediction to form a weight predictor. All blocks in the fraction that are coded25
dos com respeito à mesma imagem de referência aplicam o mesmo fator de ponderação para a predição da imagem de referência .with respect to the same reference image apply the same weighting factor for the prediction of the reference image.
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 sequê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. 0 número de imagens de referência que podem ser permitidas é transmitido no cabeçalho da fração. Por exemplo, 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.The use or not of adaptive weighting when encoding an image can be indicated in the image's parameter set or in the sequence's parameter set, or in the fraction or header of the image. For each fraction or image that uses adaptive weighting, a weighting factor can be transmitted for each of the reference images that can be allowed that can be used to encode this fraction or image. The number of reference images that can be allowed is transmitted in the fraction header. For example, if three reference images can be used to encode the current fraction, up to three weighting factors are transmitted and they are associated with the reference image with the same index.
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.If no weighting factors are transmitted, standard weights are used. In an embodiment of the present invention, standard weights of (1/2) are used when no weighting factor is transmitted. Weighting factors can be transmitted using variable or fixed length codes.
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 associa25Unlike typical systems, each weighting factor that is transmitted with each fraction, block or image corresponds to a particular reference image index. Previously, any set of weighting factors transmitted with each fraction or image was not associated25
dos 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.with any particular reference images. Instead, an adaptive double prediction weighting index was transmitted for each 8x8 motion block or region to select which of the weighting factors from the transmitted set was to be applied to that particular 8x8 motion block or region.
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.In the present embodiment of the present invention, the weighting factor index for each 8x8 motion block or region is not explicitly transmitted. Instead, the weighting factor that is associated with the transmitted reference image index is used. This dramatically reduces the amount of support activity in the transmitted bit stream to allow for adaptive weighting of reference images.
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.This system and technique can be applied together with the prediction P images, which are coded with a single predictor, or together with the double prediction B images, which are coded with two predictors. The decoding processes, which are present in both the encoder and the decoder, are described below for the P and B image cases. Alternatively, this technique can also be applied together with coding systems using concepts similar to images I, B and 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 para 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 residuo 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:The same weighting factors can be used for single directional prediction on B images and for bidirectional prediction on B images. When a single predictor is used for a macroblock, P images or for single directional prediction on B images, a single reference image index is transmitted to the block. After the decoding process, the motion compensation step produces a predictor, the weighting factor is applied to the predictor. The weighted predictor is then added to the encoded residue and the cut is done in the sum, to form the decoded image. For use for blocks in P images or for blocks in B images that use only the prediction from list 0, the weighted predictor is formed as:
Pred = W0 * PredO + D0(l) 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.Pred = W0 * PredO + D0 (l) where W0 is the weighting factor associated with the list 0 reference image, DO is the offset associated with the list 0 reference images and PredO is the predicted block with compensated movement reference image from list 0.
Para uso para blocos nas imagens B que utilizam somente a predição da lista 0, o preditor ponderado é formado como:For use for blocks in B images that use only the prediction from list 0, the weighted predictor is formed as:
Pred = W1 * Predl + Dl (2) onde W1 é o fator de ponderação associado com a imagem de referência da lista 1, D0 é 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.Pred = W1 * Predl + Dl (2) where W1 is the weighting factor associated with the reference image in list 1, D0 is the offset associated with the reference image in list 1 and Predl is the prediction block with compensated movement of the reference image in list 1.
Os preditores ponderados podem ser recortados para 25 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 ponderação podeWeighted predictors can be cut to 25 to ensure that the resulting values will be within the allowed range of pixel values ·, typically 0 to 255. The accuracy of the multiplication in the weighting formulas can
3^ ser limitada a qualquer número predeterminado de bits de resolução .3 be limited to any predetermined number of resolution bits.
No caso de predição dupla, os índices de imagem de referência são transmitidos para cada um dos dois predítores. 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.In the case of double prediction, the reference image indices are transmitted to each of the two predictors. Motion compensation is performed to form the two predictors. Each predictor uses the weighting factor associated with its reference image index to form two weighted predictors. The two weighted predictors then have the average calculated to form a predictor with the calculated average, which is then added to the coded residue.
Para uso para blocos em imagens B que utilizam as predições da lista 0 e da lista 1, o preditor ponderado é formado como:For use for blocks in B images that use the predictions of list 0 and list 1, the weighted predictor is formed as:
Pred= (P0 * Pred0+D0+Pl * Predl+Dl)/2 (3)Pred = (P0 * Pred0 + D0 + Pl * Predl + Dl) / 2 (3)
O 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.The clipping can be applied to the weighted predictor or to any intermediate values in the calculation of the weighted predictor to ensure that the resulting values will be within the allowed range of pixel values, typically 0 to 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. 0 fator de ponderação adapta-se para os blocos de movimento individuais dentro de uma imagem, 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 compac25Thus, a weighting factor is applied together with the prediction of the reference image of a video compression encoder and decoder that uses several reference images. The weighting factor adapts to the individual motion blocks within an image, based on the reference image index that is used for this motion block. Because the reference image index is already transmitted in the compact video bit stream25
tado, 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 imagem de referência aplicam o mesmo fator de ponderação para a predição da imagem de referência.However, support activities for adapting the weighting factor based on the block of movement are dramatically reduced. All motion blocks that are encoded with respect to the same reference image apply the same weighting factor for the prediction of the reference image.
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.These and other aspects and advantages of the present invention can be readily ascertained by those of ordinary skill in the relevant art based on the instructions herein. It is to be understood that the instructions of the present invention can be implemented in various forms of hardware, software, firmware, special purpose processors, or in combinations thereof.
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/saida (I/O). 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 microinstrução ou parte do programa de aplicação, ou qualquer combinação dos mesmos, os quais podem ser executa25Most preferably, the instructions of the present invention are implemented as a combination of hardware and software. In addition, the preferred software is implemented as an application program in a tangible form embedded in a program storage unit. The application program can be downloaded and executed by a machine comprising any suitable architecture. Preferably, the machine is implemented on a computer platform having hardware such as one or more central processing units (CPU), a random access memory (RAM) and the input / output (I / O) interfaces. The computer platform can also include an operating system and the microinstruction code. The various processes and functions described here can be part of the microinstruction code or part of the application program, or any combination of them, which can be executed25
dos 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.by a CPU. In addition, several other peripheral units can be connected with the computer platform such as an additional data storage unit and a printing unit.
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.It should be further understood that, because some components of the system and the methods described in the accompanying drawings are preferably implemented in software, the actual connections between the system components or the process function blocks may differ depending on the way in which which the present invention is programmed. Given the instructions here, those with common knowledge in the pertinent technique will be able to contemplate these and similar implementations or configurations of the present invention.
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.Although the illustrative modalities have been described here with reference to the accompanying drawings, it should be understood that the present invention is not limited to these precise modalities and that various changes and modifications can be made to it by those with common knowledge in the relevant technique without leaving the scope or spirit of the present invention. All such changes and modifications are intended to be included within the scope of the present invention as set out in the appended claims.
Claims (10)
Applications Claiming Priority (8)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US39584302P | 2002-07-15 | 2002-07-15 | |
US39587402P | 2002-07-15 | 2002-07-15 | |
US60/395.843 | 2002-07-15 | ||
US60/395.874 | 2002-07-15 | ||
US10/410.481 | 2003-04-09 | ||
US10/410,481 US7903742B2 (en) | 2002-07-15 | 2003-04-09 | Adaptive weighting of reference pictures in video decoding |
BRPI0305518 | 2003-07-14 | ||
PCT/US2003/021735 WO2004008762A1 (en) | 2002-07-15 | 2003-07-14 | Adaptive weighting of reference pictures in video decoding |
Publications (1)
Publication Number | Publication Date |
---|---|
BRPI0318775B1 true BRPI0318775B1 (en) | 2018-06-19 |
Family
ID=62062626
Family Applications (5)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
BRPI0318821A BRPI0318821B1 (en) | 2002-07-15 | 2003-07-14 | method for decoding video signal data for an image block |
BRPI0318775-6A BRPI0318775B1 (en) | 2002-07-15 | 2003-07-14 | VIDEO DECODER, METHOD AND PROGRAM STORAGE DEVICE FOR DECODING VIDEO SIGNAL DATA FOR A PICTURE BLOCK |
BRPI0318819A BRPI0318819B1 (en) | 2002-07-15 | 2003-07-14 | method for decoding video signal data for an image block |
BRPI0318820-5A BRPI0318820B1 (en) | 2002-07-15 | 2003-07-14 | “Method for decoding video signal data for an image block” |
BRPI0318818-3A BRPI0318818B1 (en) | 2002-07-15 | 2003-07-14 | "Method for decoding video signal data for an image block" |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
BRPI0318821A BRPI0318821B1 (en) | 2002-07-15 | 2003-07-14 | method for decoding video signal data for an image block |
Family Applications After (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
BRPI0318819A BRPI0318819B1 (en) | 2002-07-15 | 2003-07-14 | method for decoding video signal data for an image block |
BRPI0318820-5A BRPI0318820B1 (en) | 2002-07-15 | 2003-07-14 | “Method for decoding video signal data for an image block” |
BRPI0318818-3A BRPI0318818B1 (en) | 2002-07-15 | 2003-07-14 | "Method for decoding video signal data for an image block" |
Country Status (1)
Country | Link |
---|---|
BR (5) | BRPI0318821B1 (en) |
-
2003
- 2003-07-14 BR BRPI0318821A patent/BRPI0318821B1/en active IP Right Grant
- 2003-07-14 BR BRPI0318775-6A patent/BRPI0318775B1/en active IP Right Grant
- 2003-07-14 BR BRPI0318819A patent/BRPI0318819B1/en active IP Right Grant
- 2003-07-14 BR BRPI0318820-5A patent/BRPI0318820B1/en active IP Right Grant
- 2003-07-14 BR BRPI0318818-3A patent/BRPI0318818B1/en active IP Right Grant
Also Published As
Publication number | Publication date |
---|---|
BRPI0318820B1 (en) | 2018-03-27 |
BRPI0318821B1 (en) | 2020-01-28 |
BRPI0318818B1 (en) | 2018-03-27 |
BRPI0318819B1 (en) | 2020-01-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
BRPI0318824B1 (en) | method for encoding video signal data for an image block | |
US8144787B2 (en) | Adaptive weighting of reference pictures in video decoding | |
US7376186B2 (en) | Motion estimation with weighting prediction | |
BRPI0318775B1 (en) | VIDEO DECODER, METHOD AND PROGRAM STORAGE DEVICE FOR DECODING VIDEO SIGNAL DATA FOR A PICTURE BLOCK | |
RU2333615C2 (en) | Adaptive weighing of master images when decoding video signal | |
BRPI0318823B1 (en) | “Method for encoding video signal data for an image block” | |
BRPI0305518B1 (en) | Video decoder for decoding video data and method for decoding video data | |
ZA200500417B (en) | Adaptive weighting of reference pictures in video decoding |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
B15K | Others concerning applications: alteration of classification |
Ipc: H04N 19/196 (2014.01), H04N 19/513 (2014.01) |
|
B07A | Application suspended after technical examination (opinion) [chapter 7.1 patent gazette] | ||
B06A | Patent application procedure suspended [chapter 6.1 patent gazette] | ||
B09A | Decision: intention to grant [chapter 9.1 patent gazette] | ||
B16A | Patent or certificate of addition of invention granted [chapter 16.1 patent gazette] | ||
B25D | Requested change of name of applicant approved | ||
B25G | Requested change of headquarter approved | ||
B25G | Requested change of headquarter approved | ||
B25A | Requested transfer of rights approved |