BRPI0318820B1 - “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
BRPI0318820B1
BRPI0318820B1 BRPI0318820-5A BRPI0318820A BRPI0318820B1 BR PI0318820 B1 BRPI0318820 B1 BR PI0318820B1 BR PI0318820 A BRPI0318820 A BR PI0318820A BR PI0318820 B1 BRPI0318820 B1 BR PI0318820B1
Authority
BR
Brazil
Prior art keywords
reference image
block
image
index
weighting factor
Prior art date
Application number
BRPI0318820-5A
Other languages
Portuguese (pt)
Inventor
Macdonald Boyce Jill
Original Assignee
Thomson Licensing S.A.
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=BRPI0318820(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 Thomson Licensing S.A. filed Critical Thomson Licensing S.A.
Publication of BRPI0318820B1 publication Critical patent/BRPI0318820B1/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 video (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 video, 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 indíce 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 pela 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: MÉTODO PARA DECODIFICAR DADOS DE SINAL DE VÍDEO PARA UM BLOCO DE IMAGEM (51) Int.CI.: H04N 19/196; H04N 19/513 (52) CPC: 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: METHOD FOR DECODING VIDEO SIGNAL DATA FOR AN IMAGE BLOCK (51) Int.CI .: H04N 19/196; H04N 19/513 (52) CPC: 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) Owner (s): THOMSON LICENSING SA

(72) Inventor(es): JILL MACDONALD BOYCE “MÉTODO PARA DECODIFICAR DADOS DE SINAL DE VÍDEO PARA UM BLOCO DE IMAGEM”(72) Inventor (s): JILL MACDONALD BOYCE “METHOD FOR DECODING VIDEO SIGNAL DATA FOR 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 EstadosThis application claims the benefit of the United States Provisional Patent Application

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.US Serial No. 60 / 395,843 (Case 2 PU020340), entitled "Adaptive Weighting Of Reference Pictures In Video CODEC" and filed on July 15 , 2002 which is incorporated herein by reference in its entirety inside. 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 efici25 ê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 jun35 tas, utilizando fatores de ponderação iguais de (k, k) 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 (“P” image) is used, the reference image is not scaled when the prediction with compensated motion is formed. When bidirectional image predictions (“B” image) are used, intermediate predictions are formed from two different images and then the two intermediate predictions are averaged together, using equal weighting factors (k, k) for each one, 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 870170078084, de 13/10/2017, pág. 8/11 imagens Β.Petition 870170078084, of 10/13/2017, p. 8/11 images Β.

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 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 PREFERIDAS A presente invenção apresenta um aparelho e método para estimativa de vetor de movimento e para designação de fator de ponderação adaptativa de imagem de referência. 5 Em algumas seqüências de vídeo, em particular aquelas com desaparecimento gradual de imagem, a imagem corrente ou bloco de imagem a ser codificado está mais fortemente correlacionado com uma imagem de referência dimensionada por um fator de ponderação do que com a própria imagem de referência. Os CODECs de vídeo sem fatores de ponderação aplicados junto a imagens de referência codificam as sequê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.DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS The present invention presents an apparatus and method for estimating motion vector and for designating the reference image adaptive weighting factor. 5 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 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 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 imagens de referência podem ambas ser a partir da direção para frente, ambas ser a partir da direção para trás ou cada uma a partir da direção para frente e da direção para trás. Duas listas são mantidas das imagens de referência disponíveis que podem ser utilizadas para a predição. As duas imagens de referência são referidas como preditor da lista 0 e da lista 1. Um índice para cada imagem de referência é codificado e transmitido, réfJdxJO e refjdx_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 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 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 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 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, réfJdxJO and refjdx_l1, 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 = [(PO) * (PredO)] + [(P1) * (Predl)] + D, onde PO e P1 são fatores de ponderação, PredO e Predl são as predições de ima4 gem de referência para a lista 0 e lista 1, respectivamente e D é um deslocamento.Pred = [(PO) * (PredO)] + [(P1) * (Predl)] + D, where PO and P1 are weighting factors, PredO and 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 refJdxJO for menor ou igual a ref_idxJ1, 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 ref_idxJ1, 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 8x8 motion block or 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 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 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 "), memory read-only (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 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.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 video decoder 100. The sum junction output 140 is connected in signal communication with a reference image storage 150. Reference image storage 150 is connected in signal communication with a motion compensator 160, which it 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 from 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 (“ABP) para a pesquisa 280. Uma primeira saída da pesquisa 280 é para proporcionar um fator de ponderação e está conectada em comunicação de sinal com uma segunda entrada do multiplicador 270. A saída do multiplicador 270 está conectada em comunicação de sinal com uma primeira entrada de uma junção de soma 290. Uma segunda saída da pesquisa 280 é para proporcionar um deslocamento e está conectada em comunicação de sinal com uma segunda entrada da junção de soma 290. A saída da junção de soma 290 está conectada em comunicação de sinal com um segundo terminal de entrada da junção de soma 240.VLD 210 is additionally connected in signal communication with a reference image weighting factor survey 280 to provide an adaptive double prediction coefficient index (“ABP) for survey 280. A first exit from survey 280 is to 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 to 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. 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. reverse transformer 330 is connected in signal communication with a first input terminal of a summation junction 340, where the output of summation junction 340 provides the output of the decoder 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 factor search 380 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 an offset and is connected in signal communication with a second input of the summation junction 390. The output of the summation 390 is connected in signal communication with a second input terminal of the summation 340.

Como apresentado na Figura 4, um codificador de vídeo padrão é indicado geralmente pelo número de referência 400. Uma entrada para codificador 400 está conectada em comunicação de sinal com uma entrada não-inversora de uma junção de soma 410. A saída da junção de soma 410 está conectada em comunicação de sinal com um transformador de bloco 420. O transformador 420 está conectada em comunicação de sinal com um quantizador 430. A saída do quantizador 430 está conectada em comunicação de sinal com um codificador de comprimento variável (”VLC’j 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 generally 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'j 440, where VLC 440 output is an externally available output from encoder 400.

A saída do quantizador 430 é adicionaimente conectada em comunicação de sinal com um quantizador inverso 450. O quantizador inverso 450 está em comunicação de sinal com um transformador de bloco inverso 460, o qual, por sua vez, está conectado em comunicação de sinal com um armazenamento de imagem de referência 470. Uma primeira saída do armazenamento de imagem de referência 470 está conectada em comunicação de sinal com uma primeira entrada de um estimador de movimento 480. A entrada para o codificador 400 está adicionalmente conectada em comunicação de sinal com uma segunda entrada do estimador de movimento 480. A saída do estimador de movimento 480 está conectada em comunicação de sinal com uma primeira entrada de um compensador de movimento 490. Uma segunda entrada do armazenamento de imagem de referência 470 está conectada em comunicação de sinal com uma segunda entrada do compensador de movimento 490. A saída do compensador de movimento 490 está conectada em comunicação de sinal com uma entrada inversora da junção de soma 410.The output of the quantizer 430 is further 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 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 motion estimator input 480. Motion estimator output 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 motion compensator 490 input. motion compensator 490 output is connected in signal communication with an inverting input of the summation 410 junction.

Voltando-se para a Figura 5, um codificador de vídeo com a ponderação de imagem de referência é indicado geralmente pelo número de referência 500. Uma entrada para o codificador 500 está conectada em comunicação de sinal com uma entrada não-inversora de uma junção de soma 510. A saída da junção de soma 510 está conectada em comunicação de sinal com um transformador de bloco 520. O transformador 520 está conectado em comunicação de sinal com um quantizador 530. A saída do quantizador 530 está conectada em comunicação de sinal com um VLC 540, onde a saída do VLC 540 é uma saída externamente disponível do codificador 500.Turning 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. Transformer 520 is connected in signal communication with a quantizer 530. The output of the quantizer 530 is connected in signal communication with a VLC 540, where the VLC 540 output is an externally available output from the 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 sinai 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 reference 570 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 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 de sinal com uma segunda entrada do compensador de movimento 590. A saída do compensador de movimento 590, a qual é indicativa de uma imagem de referência com movimento compensado, está conectada em comunicação de sinal com uma primeira entrada de um multiplicador 592. A saída do designador de fator de ponderação de imagem de referência 572, a qual é indicativa de um fator de ponderação, está conectada em comunicação de sinal com uma segunda entrada do multiplicador 592. A saída do multiplicador 592 está conectada em comunicação de sinal com uma entrada de inversora 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 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, 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 the junction 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 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 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 the movement compensated by the corresponding weighting factor and passes control to an optional function block 623. The optional function block 623 adds the reference image with the compensated movement for the corresponding offset and passes control to function block 624. Function block 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 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 dè 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. Optional function block 715 passes control to 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 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 motion and passes control to an optional function block 721. Optional function block 721, in turn, adds the reference image with compensated motion 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 reference image with movement the weighted offset 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 deslocamen33 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 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 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 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. 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 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 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 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 “P prediction images, which are encoded with a single predictor, or next to double prediction“ B ”images, which are encoded 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 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 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 = WO * PredO + DO (1) onde WO é 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 = WO * PredO + DO (1) where WO is the weighting factor associated with the reference image in list 0, DO is the offset associated with the reference images in list 0 and PredO is the prediction 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 list 1 reference image, D0 is the offset associated with the list 1 reference image and Predl is the predicted 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 accuracy of the multiplication in the 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 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+P1 * Pred1+D1)/2 (3)Pred = (P0 * Pred0 + D0 + P1 * Pred1 + 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 individuaisThus, 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 movement blocks

J5 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 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.J5 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 compressed video bit stream, support activities for adapting the weighting factor to 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 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/saída (“l/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 (“l / O"). 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 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 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 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 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.

Figure BRPI0318820B1_D0001

Claims (5)

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 by understanding: receber (614) um primeiro índice de imagem de referência e um segundo índice de 5 imagem de referência com os dados para o bloco de imagem, o primeiro índice de imagem de referência correspondendo a uma primeira imagem de referência, o segundo índice de imagem de referência correspondendo a uma segunda imagem de referência;receive (614) a first reference image index and a second reference image index with the data for the image block, the first reference image index corresponding to a first reference image, the second image index of reference corresponding to a second reference image; determinar (616) um primeiro fator de ponderação correspondendo ao primeiro índice de imagem de referência, e um segundo fator de ponderação correspondendo ao se10 gundo índice de imagem de referência;determining (616) a first weighting factor corresponding to the first reference image index, and a second weighting factor corresponding to the second reference image index; recuperar (618) uma primeira imagem de referência correspondente ao primeiro índice de imagem de referência e uma segunda imagem de referência correspondente ao segundo índice de imagem de referência, em que o primeiro índice de imagem de referência determina (1) a primeira imagem de referência e (2) o primeiro fator de ponderação, e que oretrieving (618) a first reference image corresponding to the first reference image index and a second reference image corresponding to the second reference image index, where the first reference image index determines (1) the first reference image and (2) the first weighting factor, and that the 15 segundo índice de imagem de referência determina (1) a segunda imagem de referência e (2) o segundo fator de ponderação;15 second reference image index determines (1) the second reference image and (2) the second weighting factor; compensar o movimento (620) de um primeiro bloco na primeira imagem de referência para formar um primeiro bloco de movimento compensado, e compensar o movimento de um segundo bloco na segunda imagem de referência para formar um segundo blococompensate the movement (620) of a first block in the first reference image to form a first compensated motion block, and compensate the movement of a second block in the second reference image to form a second block 20 de movimento compensado; e variar (622) o primeiro e segundo blocos de movimento compensado pelo primeiro e segundo fatores de ponderação correspondentes para formar primeiro e segundo blocos de movimento compensado ajustado.20 of compensated movement; and varying (622) the first and second blocks of compensated movement by the corresponding first and second weighting factors to form the first and second blocks of adjusted compensated movement. 2. Método de acordo com a reivindicação 1, CARACTERIZADO pelo fato de que 25 compreende ainda:2. Method according to claim 1, CHARACTERIZED by the fact that 25 further comprises: determinar (617) um primeiro desvio correspondente ao primeiro índice de imagem de referência e um segundo desvio correspondente ao segundo índice de imagem de referência, em que o primeiro índice de imagem de referência determina o primeiro desvio e o segundo índice de imagem de referência determina o segundo desvio, e em que o primeirodetermine (617) a first deviation corresponding to the first reference image index and a second deviation corresponding to the second reference image index, where the first reference image index determines the first deviation and the second reference image index determines the second deviation, and in which the first 30 e segundo blocos de movimento compensado são ajustados usando o primeiro e segundo desvios para predizer o bloco de imagem; e ajustar (623) o primeiro e segundo blocos de movimento compensado com o primeiro e segundo desvios correspondentes.30 and second compensated motion blocks are adjusted using the first and second offsets to predict the image block; and adjusting (623) the first and second movement blocks compensated with the corresponding first and second deviations. 3. Método de acordo com a reivindicação 1, CARACTERIZADO compreender adi35 cionalmente adicionar o primeiro e segundo blocos de movimento compensado ponderado aos dados para o bloco de imagem predizer o bloco de imagem.Method according to claim 1, CHARACTERIZED further comprising adding the first and second weighted compensated motion blocks to the data for the image block to predict the image block. 4. Método de acordo com a reivindicação 3, CARACTERIZADO por compreender4. Method according to claim 3, characterized by comprising Petição 870170078084, de 13/10/2017, pág. 9/11 adicionalmente armazenar o bloco de imagem predito como um bloco de imagem de referência para uma recuperação futuraPetition 870170078084, of 10/13/2017, p. 9/11 additionally store the predicted image block as a reference image block for future recovery 5. 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 trans5 formação de bloco.Method according to claim 1, CHARACTERIZED in that the video signal data is flow video signal data comprising block transformation coefficients. Petição 870170078084, de 13/10/2017, pág. 10/11Petition 870170078084, of 10/13/2017, p. 11/10 110110 VLDVLD 440440 COMPENSAÇÃOCOMPENSATION DEIN MOVIMENTOMOVEMENT 160160 150150
BRPI0318820-5A 2002-07-15 2003-07-14 “Method for decoding video signal data for an image block” BRPI0318820B1 (en)

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
BRPI0318820B1 true BRPI0318820B1 (en) 2018-03-27

Family

ID=62062626

Family Applications (5)

Application Number Title Priority Date Filing Date
BRPI0318820-5A BRPI0318820B1 (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
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
BRPI0318818-3A BRPI0318818B1 (en) 2002-07-15 2003-07-14 "Method for decoding video signal data for an image block"

Family Applications After (4)

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
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
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) BRPI0318820B1 (en)

Also Published As

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

Similar Documents

Publication Publication Date Title
BRPI0318825B1 (en) method of encoding video signal data for an image block
JP6086559B2 (en) Adaptive weighting of reference pictures in video data transmission
BRPI0305517B1 (en) Motion estimation with weighting prediction
BRPI0318820B1 (en) “Method for decoding video signal data for an image block”
BRPI0318822B1 (en) CODING METHOD FOR PRODUCING VIDEO SIGNAL DATA FOR A PICTURE HAVING A PLURALITY OF PICTURE BLOCKS
RU2333615C2 (en) Adaptive weighing of master images when decoding video signal
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]
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