BRPI0318821B1 - method for decoding video signal data for an image block - Google Patents

method for decoding video signal data for an image block Download PDF

Info

Publication number
BRPI0318821B1
BRPI0318821B1 BRPI0318821A BRPI0318821A BRPI0318821B1 BR PI0318821 B1 BRPI0318821 B1 BR PI0318821B1 BR PI0318821 A BRPI0318821 A BR PI0318821A BR PI0318821 A BRPI0318821 A BR PI0318821A BR PI0318821 B1 BRPI0318821 B1 BR PI0318821B1
Authority
BR
Brazil
Prior art keywords
reference image
image
block
index
weighting factor
Prior art date
Application number
BRPI0318821A
Other languages
Portuguese (pt)
Inventor
Macdonald Boyce Jill
Original Assignee
Interdigital Vc Holdings Inc
Thomson Licensing
Thomson Licensing Sa
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=62062626&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=BRPI0318821(B1) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Priority claimed from US10/410,481 external-priority patent/US7903742B2/en
Application filed by Interdigital Vc Holdings Inc, Thomson Licensing, Thomson Licensing Sa filed Critical Interdigital Vc Holdings Inc
Publication of BRPI0318821B1 publication Critical patent/BRPI0318821B1/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/189Methods 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/196Methods 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing 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 video 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. it is a video decoder (300), encoder (500) and corresponding methods for processing the video signal data for an image block and a particular reference image index to predict the image block, which they use the adaptive weighting of reference images to improve the compression of the video, 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) to designate 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 movement of the image. reference image retrieved and multiply the reference image with movement compensated by the corresponding weighting factor to form a reference image with weighted compensated movement.

Description

“MÉTODO PARA DECODIFICAR DADOS DE SINAL DE VÍDEO PARA UM BLOCO DE IMAGEM”“METHOD FOR DECODING VIDEO SIGNAL DATA TO AN IMAGE BLOCK”

Dividido do pedido de patente de invenção PI 0305518-3, depositado em 14/07/2003.Divided from the patent application for PI 0305518-3, filed on 07/14/2003.

REFERÊNCIA CRUZADA COM PEDIDOS RELACIONADOSCROSS REFERENCE WITH RELATED REQUESTS

Este pedido reivindica o benefício do Pedido de Patente Provisório dos Estados Unidos No 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 benefício do Pedido de Patente Provisório dos Estados Unidos No de Série 60/395.874 (Processo No 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.This application claims the benefit of United States Provisional Patent Application No. Serial 60 / 395,843 (Case 2 PU020340), 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 application claims the benefit of Provisional Patent Application US No. Serial 60 / 395,874 (Case No. PU020339), entitled "Motion Estimation With Weighting Prediction" also filed on 15 July 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 vídeo e, em particular, para a utilização da ponderação adaptativa de imagens de referência em decodificadores de vídeo.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 vídeo geralmente são processados e transferidos em forma de fluxos de bits. Os codificadores e decodificadores (‘CODECs”) de compactação de vídeo 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 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 possível 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 (‘CODECs” 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 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 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 asIn 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 (/, /) for each , to form a single 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 to the

Petição 870170078095, de 13/10/2017, pág. 8/10Petition 870170078095, of 10/13/2017, p. 8/10

Z5 imagens B.Z5 images B.

SUMÁRIO DA INVENÇÃOSUMMARY OF THE INVENTION

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.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 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 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 to predict 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 reference image weighting 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 acordoFigure 7 presents a flow chart for a coding process according to

ZG com os princípios da presente invenção.ZG with 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.The present invention presents an apparatus and method for estimating motion vector and for designating an adaptive weighting factor of the reference image.

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 a imagens de referência codificam as seqüências de desaparecimento gra10 dual 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.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 reference images encode the image's dual disappearance sequences very inefficiently. When weighting factors are used in encoding, 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 prediction. In addition to encoding and transmitting the motion vectors, an index of the reference image is transmitted for each 8x8 motion block or 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 25 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 30 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, refjdxJO e ref_idx_l1, 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 35 predições, isto é,In the JVT standard, for dual prediction images (also called “B” images), two predictors are formed for each 8x8 motion block or region, each 25 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, reference images can both be from the forward direction, both from the forward direction or each from the forward direction and the backward direction. Two lists are kept 30 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 encoded and transmitted, refjdxJO and ref_idx_l1, for the list 0 and list 1 reference images, respectively. Dual Video images from the Joint Video Team (“JVT”) or “B” must allow adaptive weighting between the two 35 predictions, that is,

Pred = [(PO) * (PredO)J + [(P1) * (Predl)] + D, onde PO e P1 são fatores de ponderação, PredO e Predl são as predições de ima2?Pred = [(PO) * (PredO) J + [(P1) * (Predl)] + D, where PO and P1 are weighting factors, PredO and Predl are the predictions of ima2?

gem de referência para a lista 0 e lista 1, respectivamente e D é um deslocamento.reference gem 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 refJdxJO for menor ou igual a refjdxjl, fatores de ponderação de (1/2, %) 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 refJdxJO is less than or equal to refjdxjl, weighting factors (1/2,%) 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 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.In 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 block of movement or 8x8 region of a macroblock that uses bidirectional prediction. The decoder uses the received weighting factor index 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 expressively 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 should be constructed as without limitation to such specifically related examples and conditions. In addition, all statements within here relating the principles, aspects and modalities of the invention, as well as the examples thereof, are intended to cover 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 fluxogrãmas, 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 softwa5 re 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.The functions of the various elements shown in the figures can be provided through the use of dedicated hardware as well as hardware capable of executing 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 hardware (“DSP”), read-only memory (“ROM”) to store the 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 performed through the operation 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 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 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 vídeo padrão é indicado geralmente pelo número de referência 100. O decodificador de vídeo 100 inclui um decodificador de comprimento variável (“VLD”) 110 conectado em comunicação de sinal com um quantizador inverso 120. O 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 d© 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.As shown in Figure 1, a standard video decoder is usually indicated by the reference number 100. The video decoder 100 includes a variable length decoder (“VLD”) 110 connected in signal communication with an inverse quantizer 120. The quantizer reverse 120 is connected in signal communication with a reverse transformer 130. Reverse transformer 130 is connected in signal communication with a first input terminal of an adder or sum junction 140, where the output of the sum junction 140 provides the output of the video decoder 100. The output of the summation 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, the 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 a6 daptativa é 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 decodificador 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.Turning to Figure 2, a video decoder with the double prediction a6 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. 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 the decoder of video 200. The sum junction output 240 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 multiplier 270.

O 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 (“ABR”) 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.VLD 210 is additionally connected in signal communication with a reference image weighting factor survey 280 to provide an adaptive double prediction coefficient index (“ABR”) for survey 280. A first exit from survey 280 is for provide 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 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 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. O transformador inverso 330 está conectado em comunicação de sinal com um primeiro terminal de entrada de uma junção de soma 340, 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. 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. reverse transformer 330 is connected in signal communication with a first input terminal of a summation junction 340, where the output of the summation 340 provides the decoder output video 300. The sum junction output 340 is connected in signal communication with a reference image storage 350. Reference image storage 350 is connected in signal communication with a 360 motion compensator, which is connected in signal communication with a first input of 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 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.VLD 310 is additionally connected in signal communication with a reference image weighting -------- 380 search to provide a reference image index for search 380. A first output of search 380 is to provide a weighting factor and is connected in signal communication with a second input of multiplier 370. The output of multiplier 370 is connected in signal communication with a first input of a summation 390. A second output of survey 380 is to provide a displacement and is connected in signal communication with a second input of the sum junction 390. The output of the sum junction 390 is connected in signal communication with a second input terminal of the sum junction 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 10 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, a standard video encoder is usually indicated by reference number 400. An input for encoder 400 is connected in signal communication with a non-inverting input of a summation 410. The summation output 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 VLC 440 output 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. O quantizador inverso 450 está em comunicação de sinal 15 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 20 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 490 está conectada em comunicação de sinal com 25 uma entrada inversora da junção de soma 410.The quantizer output 430 is additionally connected in signal communication with an inverse quantizer 450. The reverse quantizer 450 is in signal communication 15 with an inverse block transformer 460, which, in turn, is connected in signal communication with a reference image storage 470. A first output of reference image storage 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 output of 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 490 motion compensator input. The 490 motion compensator output 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 comunica30 çã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 èm comunicação de sinal com um VLC 540, onde a saída do VLC 540 é uma saída exter- namente disponível do codificador 500.Turning to Figure 5, a video encoder with reference image weighting is generally 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. Transformer 520 is connected in signal communication with a quantizer 530. The output of the quantizer 530 is connected to a signal communication with a VLC 540, where the VLC 540 output is an external available from the 500 encoder.

A saída do quantizador 530 está adicionalmente conectada em comunicação de si35 nal 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.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 570 reference image storage.

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 ponde5 raçã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 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 an estimator motion 580. A second output of the reference image storage 570 is connected 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 15 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 20 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 ínversora da junção de soma 510.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 motion compensator 590. A third output of reference image storage 570 is connected in signal communication 15 with a second input of motion compensator 590. The output of motion compensator 590, which is indicative of a motion image. reference with compensated movement, 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, is connected in communication of 20 signal with a second input from multiplier 592. The output from multiplier 592 is connected to each other with an inverter input of sum sum 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 en25 trada 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. O bloco de entrada 614 passa o controle para um bloco de função 616, o qual determina um fator de 30 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. O bloco de função 618 recupera uma imagem de referência correspondendo a cada um dos índices de imagem de refe35 rência recebidos e passa o controle para um bloco de função 620. O 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. O 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. 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.Turning 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 data for the image block, each reference image index corresponding to a particular reference image. Input block 614 passes control to function block 616, which determines a weighting factor of 30 corresponding to each of the reference image indexes received and passes control to an optional function block 617. The function block option 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 control to function block 620. Function block 620, in turn, compensates for the movement of the retrieved reference image and passes control to function block 622. Function block 622 multiplies the reference image with the movement compensated by the corresponding weighting factor and passes control to an optional function block 623. The optional function block 623 adds the image of reference with the compensated movement for the corresponding displacement and passes the control to a function block 624. The function block 624, in turn, forms a reference image with weighted compensated movement and passes the control to an end block 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 720. O 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. 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 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.Turning 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 substantially uncompressed image block data 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 in correspondence with the motion vectors and passes control to a function block 720. Function block 720, in turn, multiplies the reference image with motion compensated by the weighting designated to form a reference image with weighted compensated movement 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 an reference image with weighted compensated movement and passes control to function block 722. Function block 722 subtracts the image reference act with weighted compensated movement of 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 deslocamen10 to(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.In the present illustrative modality, for each encoded image or fraction, a weighting factor is associated with each permitted reference image 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 displacement (s) that correspond to their reference image indexes are applied to the reference prediction to form a weight predictor. All blocks in the fraction that are encoded 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 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 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 image's fraction or header. 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 factors are 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 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.Unlike 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 associated 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 preditór, 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 “P” images of prediction, which are coded with a single predictor, or with the “B” images of double prediction, 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 the I, B images 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 dè 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 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: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 clipping is done on 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(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.Pred = W0 * PredO + D0 (1) 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 + D1 (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 + D1 (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 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 pode ser limitada a qualquer número predeterminado de bits de resolução.Weighted predictors can be clipped to ensure that the resulting values will be within the allowed range of pixel values, typically 0 to 255. The precision of multiplication in weighting formulas can 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 preditores. 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 indexes 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+P1 * Predl+D1)/2 (3)Pred = (P0 * Pred0 + D0 + P1 * Predl + D1) / 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. O 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 d© 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 imagem de referência aplicam o mesmo fator de ponderação para a predição da imagem de referência.Thus, a weighting factor is applied with the reference image prediction of an encoder and video compression decoder that uses multiple images and reference d. The weighting factor adapts to the individual movement blocks within an image, based on the reference image index that is used for this movement block. Because the reference image index is already transmitted in the compressed video bit stream, support activities for adapting the weighting factor based on the motion block are dramatically reduced. All motion blocks that are encoded with respect to the same reference image apply the same weighting factor to 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/saída (“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 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.Most 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 interfaces (“I / O ”). The computer platform can also include an operating system and 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 performed 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 constituent 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 manner 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 pre13 tendidas 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 several changes and modifications can be made to it by those with common knowledge in the relevant technique without leaving 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 (4)

REIVINDICAÇÕES 1. Método (600) para decodificar dados de sinal de vídeo para um bloco de imagem, o método sendo CARACTERIZADO por compreender:1. Method (600) for decoding video signal data for an image block, the method being CHARACTERIZED for understanding: receber (614) um primeiro índice de imagem de referência e um segundo índice de imagem de referência com os dados para o bloco de imagem, cada um correspondendo a uma imagem de referência particular;receiving (614) a first reference image index and a second reference image index with the data for the image block, each corresponding to a particular reference image; determinar (616) um primeiro desvio correspondendo ao primeiro índice de imagem de referência, e um segundo desvio correspondendo ao segundo índice de imagem de referência, e determinar um fator de ponderação correspondendo ao primeiro índice de imagem de referência e ao segundo índice de imagem de referência;determine (616) a first deviation corresponding to the first reference image index, and a second deviation corresponding to the second reference image index, and determine a weighting factor corresponding to the first reference image index and the second image index of reference; recuperar (618) uma primeira imagem de referência e uma segunda imagem de referência respectivamente correspondendo ao primeiro e segundo índices de imagem de referência recebidos;retrieving (618) a first reference image and a second reference image respectively corresponding to the first and second received reference image indexes; compensar o movimento (620) de um primeiro bloco na primeira imagem de referência e um segundo bloco na segunda imagem de referência para formar um primeiro e um segundo blocos de movimento compensado, respectivamente, em que o primeiro índice de imagem de referência determina (1) a primeira imagem de referência particular e (2) o primeiro desvio, e que o segundo índice de imagem de referência determina (1) a segunda imagem de referência particular e (2) o segundo desvio;compensate for the movement (620) of a first block in the first reference image and a second block in the second reference image to form a first and a second compensated motion blocks, respectively, in which the first reference image index determines (1 ) the first particular reference image and (2) the first deviation, and that the second reference image index determines (1) the second particular reference image and (2) the second deviation; variar (622) o primeiro e segundo blocos de movimento compensado pelos fatores de ponderação correspondentes e o primeiro e segundo desvios para formar um primeiro bloco de movimento compensado ponderado e um segundo bloco de movimento compensado ponderado, respectivamente, para o bloco de imagem.vary (622) the first and second blocks of movement compensated by the corresponding weighting factors and the first and second deviations to form a first block of weighted compensated movement and a second block of weighted compensated movement, respectively, for the image block. 2. Método de acordo com a reivindicação 1, CARACTERIZADO compreender adicionalmente adicionar os primeiro e segundo blocos de movimento compensados ponderados aos dados para o bloco de imagem para predizer o bloco de imagem.A method according to claim 1, CHARACTERIZED further comprising adding the weighted compensated first and second motion blocks to the data for the image block to predict the image block. 3. Método de acordo com a reivindicação 2, CARACTERIZADO por compreender adicionalmente armazenar o bloco de imagem predito como um bloco de imagem de referência para recuperação futura.Method according to claim 2, characterized by further comprising storing the predicted image block as a reference image block for future retrieval. 4. Método de acordo com a reivindicação 1, CARACTERIZADO por os dados de sinal de vídeo serem dados de sinal de vídeo de fluxo compreendendo coeficientes de transformação de bloco.Method according to claim 1, CHARACTERIZED in that the video signal data is flow video signal data comprising block transformation coefficients.
BRPI0318821A 2002-07-15 2003-07-14 method for decoding video signal data for an image block BRPI0318821B1 (en)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US39584302P 2002-07-15 2002-07-15
US39587402P 2002-07-15 2002-07-15
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
BRPI0318821B1 true BRPI0318821B1 (en) 2020-01-28

Family

ID=62062626

Family Applications (5)

Application Number Title Priority Date Filing Date
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
BRPI0318818-3A BRPI0318818B1 (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”
BRPI0318821A BRPI0318821B1 (en) 2002-07-15 2003-07-14 method for decoding video signal data for an image block
BRPI0318819A BRPI0318819B1 (en) 2002-07-15 2003-07-14 method for decoding video signal data for an image block

Family Applications Before (3)

Application Number Title Priority Date Filing Date
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
BRPI0318818-3A BRPI0318818B1 (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”

Family Applications After (1)

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

Country Status (1)

Country Link
BR (5) BRPI0318775B1 (en)

Also Published As

Publication number Publication date
BRPI0318820B1 (en) 2018-03-27
BRPI0318775B1 (en) 2018-06-19
BRPI0318819B1 (en) 2020-01-28
BRPI0318818B1 (en) 2018-03-27

Similar Documents

Publication Publication Date Title
BRPI0318825B1 (en) method of encoding video signal data for an image block
US8144787B2 (en) Adaptive weighting of reference pictures in video decoding
BRPI0305517B1 (en) Motion estimation with weighting prediction
BRPI0318821B1 (en) method for decoding video signal data for an image block
BRPI0305518B1 (en) Video decoder for decoding video data and method for decoding video data
RU2333615C2 (en) Adaptive weighing of master images when decoding video signal
BRPI0318822B1 (en) CODING METHOD FOR PRODUCING VIDEO SIGNAL DATA FOR A PICTURE HAVING A PLURALITY OF PICTURE BLOCKS
ZA200500417B (en) Adaptive weighting of reference pictures in video decoding

Legal Events

Date Code Title Description
B16A Patent or certificate of addition of invention granted [chapter 16.1 patent gazette]

Free format text: PRAZO DE VALIDADE: 10 (DEZ) ANOS CONTADOS A PARTIR DE 28/01/2020, OBSERVADAS AS CONDICOES LEGAIS.