BRPI0304545B1 - Método de codificação das imagens em uma seqüência de vídeo digital para fornecer os dados de vídeo codificados, codificador de vídeo, método de decodificação dos dados indicativos de uma sequência de vídeo digital, decodificador de vídeo, e, sistema de codificação de vídeo - Google Patents

Método de codificação das imagens em uma seqüência de vídeo digital para fornecer os dados de vídeo codificados, codificador de vídeo, método de decodificação dos dados indicativos de uma sequência de vídeo digital, decodificador de vídeo, e, sistema de codificação de vídeo Download PDF

Info

Publication number
BRPI0304545B1
BRPI0304545B1 BRPI0304545-5A BRPI0304545A BRPI0304545B1 BR PI0304545 B1 BRPI0304545 B1 BR PI0304545B1 BR PI0304545 A BRPI0304545 A BR PI0304545A BR PI0304545 B1 BRPI0304545 B1 BR PI0304545B1
Authority
BR
Brazil
Prior art keywords
video
values
filter
group
frame
Prior art date
Application number
BRPI0304545-5A
Other languages
English (en)
Inventor
Lainema Jani
Original Assignee
Nokia Technologies Oy
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
Application filed by Nokia Technologies Oy filed Critical Nokia Technologies Oy
Publication of BRPI0304545B1 publication Critical patent/BRPI0304545B1/pt

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/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/523Motion estimation or motion compensation with sub-pixel accuracy
    • 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/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/117Filters, e.g. for pre-processing or post-processing
    • 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/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • 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/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/172Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a picture, frame or field
    • 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/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • 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/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
    • H04N19/197Methods 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 including determination of the initial value of an encoding parameter
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • H04N19/463Embedding additional information in the video signal during the compression process by compressing encoding parameters before transmission
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/80Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
    • H04N19/89Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving methods or arrangements for detection of transmission errors at the decoder

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)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

"método de codificação das imagens em uma seqüência de vídeo digital para fornecer os dados de vídeo codificados, codificador de vídeo, método de decodificação dos dados indicativos de uma sequência de vídeo digital, decodificador de vídeo, e, sistema de codificação de vídeo". sistema de codificação de vídeo para codificar uma seqüência de vídeo incluindo uma seqüência de quadros de vídeo, cada qual possuindo uma cadeia de valores de pixel, onde o filtro de interpolação é definido para reconstruir os valores de pixel no processo de decodificação. o sistema codifica os coeficientes do filtro de interpolação diferencialmente com respeito ao filtro base pré-definido, para prover um grupo de valores de diferença. como os coeficientes do filtro base são conhecidos para ambos, o codificador e o decodificador, estes podem estar razoavelmente e estaticamente próximos dos filtros atuais usados na seqüência de vídeo, o decodificador pode então reconstruir os valores de pixel baseado no grupo dos valores de diferença.

Description

(54) Título: MÉTODO DE CODIFICAÇÃO DAS IMAGENS EM UMA SEQÜÊNCIA DE VÍDEO DIGITAL PARA FORNECER OS DADOS DE VÍDEO CODIFICADOS, CODIFICADOR DE VÍDEO, MÉTODO DE DECODIFICAÇÃO DOS DADOS INDICATIVOS DE UMA SEQUÊNCIA DE VÍDEO DIGITAL, DECODIFICADOR DE VÍDEO, E, SISTEMA DE CODIFICAÇÃO DE VÍDEO (51) Int.CI.: H04N 19/523 (30) Prioridade Unionista: 14/01/2002 US 60/348,811 (73) Titular(es): NOKIA TECHNOLOGIES OY (72) Inventor(es): JANI LAINEMA
1/33 ·· “MÉTODO DE CODIFICAÇÃO DAS IMAGENS EM UMA SEQUÊNCIA DE VÍDEO DIGITAL PARA FORNECER OS DADOS DE VÍDEO CODIFICADOS, CODIFICADOR DE VÍDEO, MÉTODO DE DECODIFICAÇÃO DOS DADOS INDICATIVOS DE UMA SEQUÊNCIA DE VÍDEO DIGITAL, DECODIFICADOR DE VÍDEO, E, SISTEMA DE CODIFICAÇÃO DE VÍDEO”.
Esta aplicação é baseada e reivindica o benefício do Pedido de Patente Provisional US 60/348,811, depositado em 14 de janeiro de 2002.
Campo da Invenção
A presente invenção relaciona à compensação do movimento na codificação de vídeo. Mais especificamente, a invenção relaciona a um método para codificar os coeficientes de filtros de interpolação para reconstruir os valores de pixel da imagem nos codificadores e decodificadores de vídeo de movimento compensado. A invenção também relaciona a um codificador de vídeo correspondente, a um decodificador de vídeo e a um sistema de transmissão de vídeo que implementa o método da invenção.
Descrição da Técnica Anterior
Existem hoje vários padrões de codificação de vídeo em existência. Estes incluem a recomendação H.263 do Setor de Padronização de Telecomunicações da União de Telecomunicações Internacional (ITU-T), e dos padrões do Grupo de Peritos de Imagem em Movimento (MPEG) da Organização de Padrões Internacional (ISO), MPEG1, MPEG-2 e MPEG-4. Estes padrões de codificação de vídeo são baseados no uso da predição de movimento compensado e da codificação de erro de predição. A predição de movimento compensado é executada ao analisar e codificar o movimento entre quadros sucessivos na seqüência de vídeo e na reconstrução dos blocos de imagem usando a informação de movimento. A reconstrução dos blocos de imagem é construída utilizando filtros de interpolação de movimento que são capazes de gerar os valores da imagem (pixel) para as posições de pixel e de sub-pixel necessárias. Os princípios básicos da predição de movimento compensado e da reconstrução da imagem usando filtros de interpolação são descritos em maiores detalhes nos parágrafos a seguir.
As seqüências de vídeo digital, como imagens comuns em movimento gravadas em um filme, incluem uma seqüência de imagens imóveis, freqüentemente
Figure BRPI0304545B1_D0001
2/33
Figure BRPI0304545B1_D0002
denominadas de “quadros”. A ilusão de movimento é criada exibindo os quadros um após o outro a uma taxa relativamente rápida, tipicamente de 15 a 30 quadros por segundo. Por causa da taxa de quadro relativamente rápida, o conteúdo da imagem dos quadros sucessivos tende a ser bastante semelhante, e assim os quadros sucessivos contêm uma quantia considerável de informação redundante.
Cada quadro de uma seqüência de vídeo digital inclui um array de pixels de imagem. Em um formato de vídeo digital comumente usado, conhecido como o Formato de Intertroca Comum Quarternário (QCIF - Quater Common Interchange Format), o quadro inclui um array de 176 x 144 pixels, e assim cada quadro tem 25,344 pixels. Cada pixel do quadro é representado por um certo número de bits, que levam a informação sobre a luminância e/ou o conteúdo de cor (crominância) da região da imagem correspondendo ao pixel. Comumente, o denominado modelo de cor YUV é usado para representar a luminância e o conteúdo de crominância de uma imagem. A luminância, ou o componente Y, representa a intensidade (brilho) da imagem, enquanto o conteúdo de cor da imagem é representado através de dois componentes de crominância, denominados de Ue V.
Os modelos de cor baseados em uma representação de luminância/crominância do conteúdo de imagem provêem certas vantagens quando comparadas com os modelos de cor que são baseados em uma representação que envolve cores primárias (isto é, Vermelho, Verde e Azul, RGB - Red/Green/Blue). Porque o sistema visual humano é mais sensível às variações de intensidade que as variações de cor, os modelos de cor YUV exploram esta propriedade usando uma resolução espacial mais baixa para os componentes de crominância (U, V) do que para o componente de luminância (Y). Deste modo, a quantidade de informação necessária para codificar a ” informação de cor em uma imagem pode ser reduzida com uma redução secundária na qualidade da imagem.
A resolução espacial mais baixa dos componentes de crominância normalmente é atingida pela sub-amostragem espacial. Tipicamente, um bloco de 16x16 pixels de imagem é codificado por um bloco de 16x16 valores que representam a informação de luminância, e os dois componentes de crominância são cada um
3/33
Figure BRPI0304545B1_D0003
Figure BRPI0304545B1_D0004
representado por um bloco de 8x8 valores que representam uma área da imagem equivalente ao array de 16x16 dos valores de luminância. Os componentes de crominância são então sub-apresentados espacialmente pelo fator de 2 nas direções horizontais e verticais. A montagem resultante de um bloco de luminância de 16x16 e de dois blocos de crominância de 8x8 são comumente denominados de macrobloco YUV, ou macrobloco, para curto.
Uma imagem QCIF inclui 11x9 macroblocos. Se os blocos de luminância e os blocos de crominância são representados com 8 bits de resolução (quer dizer, pelos números na gama de 0 a 255), o número total de bits requerido por macrobloco é (16x16x8) +2x (8x8x8) = 3072 bits. Assim, o número de bits necessário para representar um quadro de vídeo no formato QCIF, usando uma resolução de número de 8 bits por componente, é 99x3072 = 304,128 bits. Então, a quantidade de dados exigida para transmitir, registrar ou exibir uma seqüência de vídeo que inclui uma série de tais quadros de formato QCIF a uma taxa de 30 quadros por segundo é de mais de 9 Mbps (milhões de bits por segundo). Esta taxa de dados é não prática para uso na gravação de vídeo, transmissão e nas aplicações de exibição, por causa da capacidade de armazenamento muito grande, da capacidade de transmissão do canal e do desempenho requerido do hardware. Por isto, os padrões de codificação de vídeo foram desenvolvidos, como estes mencionados acima, para reduzir a quantidade de informação exigida para representar e transmitir os dados de vídeo, enquanto retém uma qualidade de imagem aceitável.
Cada um dos padrões de codificação de vídeo previamente mencionados é costurado para a aplicação na gravação de vídeo ou nos sistemas de transmissão que têm características diferentes. Por exemplo, o padrão ISO MPEG-1 é designado especificamente para uso nas situações, onde a largura de banda dos dados disponíveis é
25' de aproximadamente 1.5Mbits/s. O padrão de codificação de vídeo MPEG-2 é principalmente aplicável para mídia de armazenamento digital, para radiodifusão de vídeo e para comunicação com larguras de banda de dados disponíveis de aproximadamente lOMbits/s. A recomendação ITU-T H.263 é planejada para uso nos sistemas, onde a largura de banda disponível é geralmente muito mais baixa. É particularmente adequado, para uso nas situações, onde os dados de vídeo serão transmitidos em tempo-real sobre a
Figure BRPI0304545B1_D0005
4/33 rede de linha fixa, tal como a RDSI (Rede Digital de Serviços Integrados) ou sobre a RTCP convencional (Rede de Telefone Comutada Pública), onde a largura de banda de transmissão dos dados disponíveis é de tipicamente da ordem de 64kbits/s. Na vídeotelefonia móvel, onde a transmissão ocorre pelo menos em parte sobre um enlace de comunicação de rádio, a largura de banda disponível pode ser tão baixa quanto 20kbits/s.
Embora os vários padrões de codificação de vídeos sejam adaptados atualmente na essência, para uso em diferentes situações, os mecanismos que eles empregam para reduzir a quantidade de informação a ser transmitida têm muitas características em comum. Em particular, eles todos trabalham de forma a reduzir a quantidade redundante e a informação perceptivamente irrelevante em uma seqüência de vídeo a ser transmitida. Existem basicamente três tipos de redundância nas seqüências de vídeo: a redundância espacial, temporal e espectral. A redundância espacial é o termo usado para descrever a correlação entre os pixels vizinhos dentro de um quadro individual de uma seqüência. A redundância temporal expressa o fato de que os objetos que aparecem em um quadro de uma seqüência provavelmente aparecerão nos quadros subseqüentes. A redundância espectral refere à correlação entre os diferentes componentes de cor da mesma imagem.
Uma compressão suficientemente eficiente, normalmente não pode ser alcançada ao reduzir simplesmente as várias formas de redundância em uma determinada seqüência de imagens. Assim, os codificadores de vídeo mais atuais também reduzem a qualidade dessas partes da seqüência de vídeo, a qual é subjetivamente a menos importante. Além disso, a redundância do fluxo-bit de vídeo comprimido é reduzida por meio de uma codificação eficiente pouca-perda. Tipicamente, isto é alcançado usando a codificação de entropia.
25’ A predição de movimento compensado é uma forma de redução da redundância temporal, onde o conteúdo de alguns quadros (freqüentemente muitos) em uma seqüência de vídeo é “predito” de outros quadros na seqüência, ao traçar o movimento de objetos ou regiões de uma imagem entre os quadros. Os quadros que são comprimidos usando a predição de movimento compensado são tipicamente referenciados como codificados-INTER ou quadros-P, considerando que os quadros que são
Figure BRPI0304545B1_D0006
5/33 ···· • · · comprimidos sem usar a predição de movimento compensado são referenciados como codificado-INTRA ou quadro-I. A imagem predita (movimento-compensado, codificadoINTER) é raramente precisa o bastante para representar o conteúdo da imagem com uma qualidade suficiente, e então um quadro de erro de predição (PE) comprimido espacialmente é também associado com cada quadro INTER. Muitos esquemas de compressão de vídeo também podem fazer uso dos quadros preditos bidirecionalmente, que são comumente denominados de quadros-B ou imagens-B. Os quadros-B são inseridos entre a referência ou os denominados pares de imagem “âncora” (quadros I ou P) e é predito de qualquer um ou de ambos as imagens âncora.
Diferentes tipos de quadro que ocorrem em uma seqüência de vídeo comprimida típica são ilustrados na Figura 3 dos desenhos apensos. Como pode ser visto da figura, a seqüência começa com um quadro INTRA ou I 30. Na Figura 3, as setas 33 denotam o processo de predição “direto” através do qual os quadros-P 34 são formados. O processo de predição bidirecional pelo qual os quadros-B 36 são formados é denotado através das setas 31a e 31b, respectivamente.
Um diagrama esquemático de um sistema de codificação de vídeo genérico que usa a predição de movimento compensado é apresentado nas Figuras 1 e 2. A Figura ilustra um codificador 10 empregando a predição de movimento compensado e a Figura ilustrando um decodificador 20 correspondente. O codificador 10 apresentado na Figura
1 inclui o bloco de Estimação do Campo de Movimento 11, o bloco de Codificação do
Campo de Movimento 12, o bloco de Predição de Movimento Compensado 13, o bloco de Codificação de Erro de Predição 14, o bloco de Decodificação de Erro de Predição 15, o bloco de Multiplexação 16, a Memória de Quadro 17, e o somador 19. O decodificador 20 inclui o bloco de Predição de Movimento Compensado 21, o bloco de Decodificação
25' de Erro de Predição 22 , o bloco de Multiplexação 23 e a Memória de Quadro 24.
O princípio operacional dos codificadores de vídeo que empregam a predição de movimento compensado é minimizar a quantidade de informação em um quadro de erro de predição En(x,y), que é a diferença entre o quadro atual sendo codificado e o quadro de predição Pn(x,y). O quadro de erro de predição é definido como a seguir:
6/33 (i) En G, y) = 7« (n y) - pn (a y) · quadro de predição Pn(x,y) é construído usando os valores de pixel do quadro de referência Rn(x,y) que geralmente é um dos quadros previamente codificados e transmitidos, por exemplo, o quadro imediatamente precedente ao quadro atual, e está disponível na Memória de Quadro 17 do codificador 10. Mais especificamente, o quadro de predição Pn(x,y) é construído ao encontrar os “pixels de predição” no quadro de referência -R„(%,y)que corresponde substancialmente com pixels no quadro atual. A informação de movimento, descrevendo a relação (por exemplo, localização relativa, rotação, escala etc.) entre os pixels no quadro atual e os seus pixels de predição correspondentes no quadro de referência é derivada e o quadro de predição é construído movendo o pixel de predição de acordo com a informação de movimento. Deste modo, o quadro de predição é construído como uma representação aproximada do quadro atual, usando os valores de pixel no quadro de referência. O quadro de erro de predição referenciado acima representa a diferença entre a representação aproximada do quadro atual provida pelo quadro de predição e o próprio quadro atual. A vantagem básica provida pelos codificadores de vídeo que usam a predição de movimento compensado surge do fato de que a descrição comparativamente compacta do quadro atual pode ser obtida pela informação de movimento exigida para formar a sua predição, junto com a informação de erro de predição associada no quadro de erro de predição.
Devido ao grande número de pixels em um quadro, este não é geralmente eficiente para transmitir a informação de movimento separada para cada pixel para o ' decodificador. Ao invés, na maioria dos esquemas de codificação de vídeo, o quadro atual é dividido em segmentos Sk de imagem maiores, e a informação de movimento relativa aos segmentos é transmitida para o decodificador. Por exemplo, a informação de movimento é provida tipicamente para cada macrobloco de um quadro e a mesma informação de movimento é então usada para todos os pixels dentro do macrobloco. Em alguns padrões de codificação de vídeo, tal como a recomendação H.26L da ITU-T, atualmente sob
Figure BRPI0304545B1_D0007
7/33 ···· · ···· desenvolvimento, o macrobloco pode ser dividido em blocos menores, cada bloco menor sendo fornecido com a sua própria informação de movimento.
A informação de movimento normalmente toma a forma dos vetores de movimento [Ax(x,_y),Ay(x,j/)]. O par de números 6x(x,y) e Ãy(x,y) representam os deslocamentos horizontais e verticais de um pixel (x, y) no quadro atual I„(x,y) com respeito a um pixel no quadro de referência Rn(x,y). Os vetores de movimento [Ax(x,y),4v(x,y)] são calculados no bloco de Estimação do Campo de Movimento 11 e o grupo de vetores de movimento do quadro atual [Δχ(·),Δχ(·)] é referenciado como o campo vetor de movimento.
Tipicamente, a localização de um macrobloco em um quadro de vídeo atual é especificada pela co-ordenada de seu canto esquerdo superior. Assim, no esquema de codificação de vídeo no qual a informação de movimento é associada com cada macrobloco de um quadro, cada vetor de movimento descreve o deslocamento horizontal e vertical Áx(x,y) e Áy(x,y) de um pixel que representa o canto esquerdo superior do macrobloco no quadro amai /„(x,j>) com respeito ao pixel no canto esquerdo superior do bloco substancialmente correspondente dos pixels de predição no quadro de referência Ä(x,y) (como apresentado na Figura 4b).
A estimação de movimento é uma tarefa computacional intensiva. Por exemplo, um determinado quadro de referência Rn(x,y) e um macrobloco quadrado que inclui N x N pixels do quadro atual (como apresentado em Figura 4a), o objetivo da estimação de movimento é achar um bloco de N x N pixel no quadro de referência que associa as características do macrobloco no quadro atual de acordo com algum critério. Por exemplo, este critério pode ser a soma das diferenças absolutas (SAD - Sum of Absolute Differences) entre os pixels do macrobloco no quadro amai e o bloco dos pixels
25' no quadro de referência com o qual é comparado. Este processo geralmente é conhecido como “associação de bloco”. Deveria ser observado que, em geral, a geometria do bloco a ser associado e que no quadro de referência não tenha que ser a mesma, como os objetos do mundo-real podem sofrer mudanças de escala, como também a rotação e a deformação. Contudo, apenas nos padrões internacionais de codificação de vídeo, tal como estes referenciados acima, apenas o modelo de movimento translacional é usado (veja abaixo) e
8/33
Figure BRPI0304545B1_D0008
Figure BRPI0304545B1_D0009
assim a geometria retangular fixada é suficiente.
Idealmente, para alcançar a melhor chance de achar a associação, todo o quadro de referência deveria ser procurado. Porém, isto não é prático, visto que este impõe um fardo de computacional muito alto no codificador vídeo. Ao invés, a região de procura geralmente é restrita a uma região [-p,p] ao redor do local original do macrobloco no quadro atual, como apresentado na Figura 4c.
Para reduzir a quantidade de informação de movimento a ser transmitido do codificador 10 para o decodificador 20, o campo do vetor de movimento é codificado no bloco de Codificação do Campo do Movimento 12 do codificador 10, ao representar este com o modelo de movimento. Neste processo, os vetores de movimento dos segmentos de imagem são re-expressados usando certas funções predeterminadas ou, em outras palavras, o campo de vetor de movimento é representado com um modelo. Quase todos os modelos do campo de vetor de movimento usados atualmente são modelos de movimento aditivo, obedecendo a fórmula geral a seguir:
/V-l
Δχ(χ,γ) = Σα/^(χ’·7) (2) /=0
M-\ /=0 onde a e bi são coeficientes de movimento. Os coeficientes de movimento são transmitidos para o decodificador 20 (fluxo de informação 2 nas Figuras 1 e 2). As funções fi e gi são funções básicas do campo de movimento. Elas são conhecidas para ambos, o codificador e o decodificador. Um campo de vetor de movimento (Ax(%,y),Ay(x,y)) aproximado que usa os coeficientes e as funções básicas pode ser construído. Como as funções básicas são conhecidas (quer dizer, armazenadas) para ambos, o codificador 10 e o decodificador 20, apenas os coeficientes de movimento precisam ser transmitidos ao codificador, reduzindo assim a quantidade de informação exigida para representar a informação de movimento do quadro.
O modelo de movimento mais simples é o modelo de movimento de translacional que exige apenas dois coeficientes para descrever os vetores de movimento
9/33 • · ·· · ····· ···· ·· ··········· ·· · · · · · ····· · de cada segmento. Os valores dos vetores de movimento são determinados por:
6x(x,y) = aQ
Sy(x,y) = ba (4)
Este é o modelo usado na recomendação ITU-T H.263 e nos padrões ISO MPEG-1, MPEG-2, MPEG-4 para descrever o movimento dos blocos de pixel de 16x16 e de 8x8. Os sistemas que usam o modelo de movimento translacional tipicamente executam a estimação de movimento na resolução de pixel total ou de alguma fração inteira da resolução de pixel total, por exemplo a metade ou a resolução de pixel quarternária.
O quadro de predição P„(x,y) é construído no bloco de Predição de Movimento Compensado 13 do codificador 10, e é determinado por:
P„(x,y) = /?„[% + Áx(x,j),y + Ãy(x,j/)] (5)
No bloco de Codificação de Erro de Predição 14, o quadro de erro de io predição En(x,y) é tipicamente comprimido, representando este como uma série finita (transformada) de algumas funções 2-dimensionais. Por exemplo, a Transformada de Coseno Discreto 2-dimensional (DCT) pode ser usada. Os coeficientes da transformada são quantizados e a entropia (por exemplo, Huffman) codificada antes de eles serem transmitidos para o decodificador (fluxo de informação 1 nas Figuras 1 e 2). Por causa do erro introduzido pela quantização, esta operação produz normalmente um pouco de degradação (perda de informação) no quadro de erro de predição En(x,y). Para compensar esta degradação, o codificador 10 inclui também o bloco de decodificação de ‘ Erro de Predição 15, onde o quadro de erro de predição decodificado £„(x,y) é construído usando os coeficientes da transformada. Este quadro de erro de predição decodificado localmente é adicionado ao quadro de predição P„(x,y) através do somador 19 e o quadro amai decodificado resultante In(x,y)é armazenado na Memória de Quadro 17 para uso adicional como o próximo quadro de referência Rn+i(x,y).
O fluxo de informação 2 que carrega a informação sobre os vetores de
Figure BRPI0304545B1_D0010
movimento é combinado com a informação sobre o erro de predição no multiplexador 16 e o fluxo de informação 3 que contém tipicamente pelo menos estes dois tipos de informação é enviado ao decodificador 20.
A operação do decodificador de vídeo 20 correspondente será descrita agora.
A Memória de Quadro 24 do decodificador 20 armazena o quadro de referência Rn(x,y)previamente reconstruído. O quadro de predição P„(x,y) é construído no bloco de Predição de Movimento Compensado 21 do decodificador 20 de acordo com a Equação 5, usando a informação do coeficiente de movimento recebida e o valor de pixel do quadro de referência Rn(x,y) previamente reconstruído. Os coeficientes de transformada transmitidos do quadro de erro de predição En(x,y)são usados no bloco de Decodificação de Erro de Predição 22 para construir o quadro de erro de predição decodificadoÊ„(x,y). O pixels do quadro atual decodificado Zn(x,y)são então reconstruídos ao adicionar o quadro de predição Pn(x,y) e ° quadro de erro de predição decodificado En (x, y):
7„ (χ, y) = Pn (χ, y) + En (χ, y) = R„ [* + y), y+Ãy(x, 7)]+ Ê„ (*, ?)· (6)
Este quadro atual decodificado pode ser armazenado na Memória de Quadro 24 como 0 próximo quadro de referência Rn+X(x,y).
Na descrição da codificação e da decodificação de movimento compensado de vídeo digital apresentados acima, 0 vetor de movimento [Ax(x,_y), Ay(x,j>)] que descreve o movimento do macrobloco no quadro atual com respeito ao quadro de referência Ä(x,y)pode apontar para quaisquer dos pixels no quadro de referência. Isto significa que 0 movimento entre os quadros de uma seqüência de vídeo digital apenas pode ser representado na resolução determinada pelos pixels de imagem no quadro (denominada de resolução do pixel total). O movimento real, porém, tem precisão arbitrária, e assim o sistema descrito acima pode prover apenas a modelagem aproximada do movimento entre os quadros sucessivas de uma seqüência de vídeo digital. Tipicamente, a modelagem de movimento entre os quadros de vídeo com resolução de pixel total não é suficientemente • · · ·
11/33 ··· ·· ···· ·· · ····· • ··· ···· · · · * · · · · · ·· · ··· · · ··· • · · ·· ····· ····· • · ·· · · · ·· · ·· ··· ·· ·· ·· · ·· · ··
Figure BRPI0304545B1_D0011
precisa para permitir a minimização eficiente da informação do erro de predição (PE) associado com cada macrobloco ou quadro. Então, para habilitar uma modelagem mais precisa de movimento real e ajudar a reduzir a quantidade de informação PE que deve ser transmitida do codificador para o decodificador, muitos padrões de codificação de vídeo permitem que os vetores de movimento apontem “entre” os pixels de imagem. Em outras palavras, os vetores de movimento podem ter uma resolução “sub-pixel”. Ao permitir aos vetores de movimento ter uma resolução sub-pixel adicionada à complexidade das operações de codificação e de decodificação que devem ser executadas, ainda assim é vantajoso limitar o grau de resolução espacial que um vetor de movimento pode ter. Assim, os padrões de codificação de vídeo, tal como estes previamente mencionados, tipicamente apenas permitem os vetores de movimento para ter uma resolução -total, metade- ou de um quarto-pixel.
A estimação de movimento com a resolução do sub-pixel pode ser implementada como um processo de duas-fases, como ilustrado em uma seção exemplar na Figura 5, para um esquema de codificação de vídeo genérico, no qual os vetores de movimento podem ter uma resolução total - ou metade-pixel. No primeiro passo, um vetor de movimento que tem uma resolução pixel-total é determinado usando um esquema de estimação de movimento apropriado, como o processo bloco-associativo descrito acima. O vetor de movimento resultante, tendo resolução depixel-total é apresentado na Figura 5.
Na segunda fase, o vetor de movimento determinado na primeira fase é refinado para obter a resolução de metade-pixel desejada. No exemplo ilustrado na Figura 5, isto é terminado formando oito blocos de procura novos de 16 x 16 pixels, o local do canto superior-esquerdo de cada bloco sendo marcado com um X na Figura 5. Estes locais são denotados como [Ax + zw/2, Ay + n/2], onde m e n podem ter os valores -1, 0 e +1, mas não podem ser zero ao mesmo tempo. Como apenas o valor de pixel dos pixels de imagem original é conhecido, os valores (por exemplo, os valores de crominância e/ou de luminância) dos sub-pixels residindo nas localizações de metade-pixel são calculados para cada um dos oito blocos de busca novos, usando alguma forma de esquema de interpolação.
Figure BRPI0304545B1_D0012
12/33
Tendo interpolado os valores dos sub-pixels a uma resolução de metadepixel, cada um dos oito blocos de busca é comparado com o macrobloco cujo vetor de movimento está sendo buscado. Como no processo de associação do bloco executado de forma a determinar o vetor de movimento com resolução de pixel total, o macrobloco é comparado com cada um dos oito blocos de busca de acordo com algum critério, por exemplo, o SAD. Como resultado das comparações, será obtido geralmente o valor SAD mínimo. Dependendo da natureza do movimento na seqüência de vídeo, este valor mínimo pode corresponder ao local especificado pelo vetor de movimento original (tendo resolução pixel-total), ou pode corresponder a um local que tem uma resolução de metade10 pixel. Assim, é possível determinar se o vetor de movimento deveria apontar para uma localização de pixel-total ou sub-pixel, e se a resolução do sub-pixel for apropriada, para determinar o correto vetor de movimento de resolução de sub-pixel.
Na prática, a estimação do valor do sub-pixel no quadro de referência é executado interpolando o valor do sub-pixel dos valores de pixel circunvizinhos. Em geral, a interpolação do valor do sub-pixel F(x,y) situado na localização não-inteira (x, y) = (η+Δχ, m+Ay), pode ser formulado como uma operação bi-dimensional, representada matematicamente como:
F(x,y) = Σ Yf(k + K,l + L)F(n + k,m + l) (7) k=-K l=-L onde f(k,l) são coeficientes de filtro e n e m são obtidos truncando x e y, respectivamente, para os valores inteiros. Tipicamente, os coeficientes do filtro são dependentes dos valores de x e y e os filtros de interpolação são normalmente denominados de “filtros sepatráveis”, em cujo caso o valor do sub-pixel F(x,y) pode ser calculado como a seguir:
F(x,y) = Σ f(k + K)fj(l + K)F(n + k,m + l) (8) k=-K l=-K
Os vetores de movimento são calculados no codificador. Uma vez que os
Figure BRPI0304545B1_D0013
• · · · ·
13/33 • ·· ···· ·· · • · · · > · · »·· · · · · · coeficientes de movimento correspondentes são transmitidos para o decodificador, isto é uma questão direta para interpolar os sub-pixels exigidos usando um método de interpolação idêntico ao usado no codificador. Deste modo, o quadro seguindo o quadro de referência na Memória de Quadro 24, pode ser reconstruído do quadro de referência e os vetores de movimento transmitidos.
Convencionalmente, os filtros de interpolação usados nos codificadores e nos decodificadores de vídeo empregam os valores fixados do coeficiente de filtro e o mesmo filtro (i.e., o mesmo tipo de filtro com o mesmo valor de coeficiente de filtro) é usado para todos os quadros de uma seqüência de vídeo que é codificada. O mesmo filtro é mais adiante usado para todas as seqüências de vídeo, independente da natureza deles e de como eles foram adquiridos (capturados). Wedi (“Filtro de Interpolação Adaptativo para a Codificação de Vídeo Híbrida de Movimento Compensado”, Simpósio de Codificação de Imagem (PCS 2001), Seul, Coréia, abril de 2001), propõe o uso de filtros de interpolação com valores de coeficiente de filtro adaptativo, para compensar as faltas no processo de codificação de vídeo. Em particular, Wedi descreve como aliasing no processo de aquisição de imagem, a resolução finita dos vetores de movimento permitidos e a validade limitada do modelo de movimento de translacional introduz os erros de predição adicionais. Aliasing em uma imagem de vídeo surge devido ao uso do filtro passa-baixa não-ideal (e conseqüente a não-adequação do Teorema de Amostragem de
Nyquist) no processo de aquisição da imagem. A distorção perturba a predição de movimento compensado dentro da seqüência vídeo e dá origem a um componente de erro de predição adicional. A precisão finita dos vetores de movimento permitidos (por exemplo, pixel-total, metade-pixel, ou pixel de um-quarto) e a habilidade do modelo de movimento translacional para representar apenas o movimento de translação horizontal e
25’ vertical entre os quadros de vídeo sucessivos, dá origem as entradas de erro de predição adicionais. Wedi também propõe que uma melhoria na eficiência de codificação pode ser alcançada adaptando os valores do coeficiente de filtro de um filtro de interpolação para compensar os erros de predição adicionais introduzidos pela distorção, na precisão do vetor de movimento finito e na validade limitada do modelo de movimento de translação.
Em geral, deveria ser apreciado que desde que a natureza e as
Figure BRPI0304545B1_D0014
14/33 • · · · · • · ··· · características do movimento variem em uma seqüência de vídeo, o filtro de interpolação ótimo varia como uma função do tempo e da localização da imagem. Wedi apresenta um exemplo, no qual um filtro de interpolação com os valores de coeficiente de filtro adaptáveis dinamicamente são integrados no codec de vídeo H.26L, mais especificamente, a versão do codec definida pelo Modelo de Teste (TML) 4. TML-4 de H.26L usou uma resolução de um-quarto-pixel do vetor de movimento e um filtro de interpolação do tipoWiener com seis coeficientes de filtro simétricos (filtro de 6-tap). O exemplo apresentado por Wedi propõe adaptar os coeficientes do filtro de filtro de interpolação com base em quadro-a-quadro, codificando diferencialmente os coeficientes de filtro e os transmitindo para o decodificador como uma informação lateral para os dados de vídeo principais. Uma proposta baseada nesta aproximação foi feita ao incluir o uso dos filtros de interpolação com os valores do coeficiente de filtro adaptável dinamicamente no Modelo de Teste 8 do codec de vídeo H.26L. Isto é apresentado no ITU - Setor de Padronização de Telecomunicações intitulado de: “Filtro de Interpolação Adaptativo para H.26L” Grupo de Estudo 16, Questão 6, Grupo de Peritos de Codificação de Vídeo (VCEG - Video Coding Experts Group), documento VCEG-N28 de setembro de 2001 e “Mais Resultados no Filtro de Interpolação Adaptativo para H.26L” Grupo de Estudo 16, Questão 6, Grupo de Peritos de Codificação de Vídeo (VCEG), documento VCEG-O16rl, de novembro de 2001.
O uso dos filtros de interpolação adaptativos dinamicamente aumenta um assunto importante relativo à eficiência de codificação dos fluxos dos dados de vídeos codificados e também tem um efeito na resiliência de erro dos dados de vídeo codificados. O assunto da eficiência de codificação pode ser entendido de uma maneira direta. Em um sistema de codificação de vídeo que emprega um filtro de interpolação que tem um valor
25' fixado do coeficiente do filtro, não há nenhuma necessidade de incluir qualquer informação relativa aos valores do coeficiente de filtro no fluxo-bit dos dados de vídeo codificado. Os valores do coeficiente do filtro simplesmente podem ser registrados no codificador de vídeo e no decodificador de vídeo. Em outras palavras, em um sistema de codificação de vídeo implementado de acordo com o padrão de codificação de vídeo particular que emprega os filtros de interpolação fixados, os valores do coeficiente são
Figure BRPI0304545B1_D0015
15/33 pré-programados no codificador e no decodificador de acordo com as especificações do padrão. Porém, se os coeficientes do filtro adaptativos dinamicamente são permitidos, estes tornam necessário transmitir a informação relativa aos valores do coeficiente. Como os coeficientes do filtro são atualizados periodicamente (por exemplo, com base no quadro-a-quadro), estes necessariamente acrescentam à quantidade de informação a ser enviada do codificador de vídeo para o decodificador e tem um efeito perigoso na eficiência da codificação. Nas aplicações de codificação de vídeo de baixa taxa-bits, qualquer aumento na quantidade de informação a ser transmitida é geralmente indesejável.
Assim, de forma a modelar otimamente e a compensar o movimento, de uma representação eficiente dos filtros de interpolação dinâmicos é necessária.
Relativo a resiliência de erro deveria ser apreciado que o modo no qual a informação sobre os coeficientes de um filtro de interpolação variável dinamicamente é transmitida do codificador para o decodificador pode afetar a suscetibilidade dos dados de vídeo a erros de transmissão. Mais especificamente, em um sistema de codificação de vídeo que emprega filtros de interpolação adaptativos dinamicamente, a reconstrução correta de um quadro de uma seqüência de vídeo para o decodificador é confiante na recepção correta e na decodificação dos valores de coeficiente do filtro. Se a informação relativa aos valores de coeficiente estiver sujeita a erros durante a sua transmissão do codificador para decodificador, uma corrupção nos dados de vídeo reconstruídos é provável. Existem três modos de codificar os coeficientes de filtro conhecidos da técnica anterior. O primeiro é a código de entropia que o coeficiente de filtro avalia separadamente. O segundo é codificar a entropia dos valores do coeficiente de filtro diferencialmente com respeito aos coeficientes de filtro dos filtros já decodificados (como proposto em Wedi) e o terceiro é definir um grupo de filtros e codificar o índice do filtro
25' selecionado.
As soluções das técnicas anteriores que poderiam ser usadas para codificar os coeficientes do filtro de interpolação, como mencionado acima, todas elas têm problemas associados com eles nos diferentes cenários de uso. O primeiro método no qual os coeficientes do filtro de interpolação são codificados separadamente oferece um desempenho de codificação inferior, uma vez que não utiliza qualquer uma informação a
Figure BRPI0304545B1_D0016
16/33 * ·· ··· ···· priori (i.e., informações sobre os valores de coeficiente do filtro de interpolação previamente codificados). Esta aproximação requer então uma quantidade infinitamente grande de informação a ser adicionada ao fluxo-bit de vídeo codificado para descrever os valores de coeficiente do filtro de interpolação. A codificação diferencial dos coeficientes, como proposto em Wedi, é eficiente, mas não pode ser usada em um ambiente com possíveis erros de transmissão, uma vez que os coeficientes do filtro dependem da decodificação correta dos coeficientes de filtro anteriores. Como previamente descrito, se o fluxo-bit de vídeo codificado estiver sujeito a erro durante a sua transmissão do codificador para o decodificador, é provável que a corrupção dos dados de vídeo reconstruídos para o decodificador aconteça. A terceira solução da técnica anterior com um grupo de filtros pré-definidos provê apenas alternativas limitadas e assim degrada o desempenho de codificação. Em outras palavras, esta opção não pode alcançar todas as vantagens de usar filtros de interpolação com os valores do coeficiente de filtro adaptativo dinamicamente, como estabelecido por Wedi.
Assim, deveria ser apreciado que existe uma necessidade por um método de codificar os valores do coeficiente dos filtros de interpolação adaptativos, que são ambos, eficiente e não conduzem a deterioração na resiliência de erro do fluxo-bit de vídeo codificado.
Resumo da Invenção
A presente invenção combina a eficiência de codificação boa da codificação diferencial com as características resilientes de erro que permitem que esta seja usada em todos os ambientes. Esta é então particularmente adequada para implementação em um sistema de codificação de vídeo para uso nos ambientes propensos a erro, por exemplo, onde um fluxo-bit de vídeo codificado será transmitido sob o enlace de comunicação de
25' rádio sujeito a interferência.
Assim, de acordo com o primeiro aspecto da presente invenção, é provido um método para codificar as imagens em uma seqüência de vídeo digital para prover os dados de vídeo codificados, onde a seqüência de vídeo digital inclui uma seqüência de quadros de vídeo, cada quadro tendo uma pluralidade de valores de pixel, e onde um filtro de interpolação que tem uma pluralidade de coeficientes representados por uma
Figure BRPI0304545B1_D0017
pluralidade de valores de coeficiente é usado para reconstruir os valores de pixel em um quadro de seqüência de vídeo digital dos dados de vídeo codificados. O método é caracterizado pelo fato de que compreende as etapas de:
- codificar os valores do coeficiente do filtro de interpolação 5 diferencialmente com respeito ao filtro de base pré-definido para formar um grupo de valores de diferença, e
- adaptar os valores de diferença nos dados de vídeo codificados, de forma que a reconstrução dos valores de pixel seja baseada em um grupo de valores de diferença.
Vantajosamente, os dados de vídeo codificados incluindo os valores 10 codificados indicativos do grupo dos valores de diferença, e o grupo dos valores de diferença é a entropia codificada antes de ser transmitido do codificador de vídeo para o decodificador vídeo.
Vantajosamente, o filtro base pré-definido tem uma pluralidade de coeficientes que têm estaticamente os valores semelhantes aos valores do coeficiente do filtro de interpolação.
Vantajosamente, os coeficientes do filtro de interpolação são selecionados para a interpolação dos valores de pixel em um segmento de imagem selecionado.
Vantajosamente, o filtro base pré-definido tem fixado os valores do coeficiente.
Vantajosamente, o filtro base pré-definido tem uma pluralidade de coeficientes adaptados às estatísticas da seqüência de vídeo.
Preferivelmente, o filtro de interpolação é simétrico tal que apenas a metade dos coeficientes do filtro são codificados.
Vantajosamente, o valor do coeficiente do filtro de interpolação é 25 codificado em uma certa ordem, do primeiro valor do coeficiente para o último valor do coeficiente, e a ordem certa é diferente da ordem espacial dos coeficientes.
Vantajosamente, a soma dos valores do coeficiente do filtro de interpolação é fixa.
Vantajosamente, o filtro base pré-definido tem uma pluralidade de valores 30 de coeficiente, e um valor constante é adicionado aos valores de coeficiente o filtro base
18Α33
Figure BRPI0304545B1_D0018
Figure BRPI0304545B1_D0019
25' pré-definido para reduzir a amplitude das diferenças entre os valores do coeficiente do filtro de interpolação e dos valores do coeficiente o filtro base pré-definido.
De acordo com o segundo aspecto da presente invenção, é provido um codificador de vídeo que inclui:
- um dispositivo para codificar as imagens em uma seqüência de vídeo digital possuindo uma seqüência de quadros de vídeo para prover os dados de vídeo codificados indicativos da seqüência de vídeo, cada quadro da seqüência de vídeo incluindo uma pluralidade de valores de pixel, e
- um dispositivo para definir um filtro de interpolação para reconstruir os valores de pixel em um quadro da seqüência de vídeo digital em um processo de decodificação, onde o filtro de interpolação tem vários coeficientes representados por uma pluralidade de valores de coeficiente. O codificador de vídeo é caracterizado pelo fato de que também compreende:
- dispositivos, responsivo ao filtro de interpolação, para computar a diferença entre o valor do coeficiente do filtro de interpolação e o filtro de base prédefinido para prover um grupo de valores de diferença, e
- dispositivos para adaptar um grupo de valores de diferença nos dados de vídeo codificados, de forma que a reconstrução dos valores de pixel no processo de decodificação seja baseada no grupo dos valores de diferença.
Vantajosamente, o codificador também compreende os dispositivos para codificar a entropia dos valores de diferença antes de adaptar o grupo dos valores de diferença nos dados de vídeo codificados
De acordo com o terceiro aspecto da presente invenção, é provido um método para decodificar os dados de vídeo indicativos de uma seqüência de vídeo digital que inclui uma seqüência de quadros de vídeo, cada quadro da seqüência de vídeo incluindo uma pluralidade de valores de pixel, onde um filtro de interpolação que tem uma pluralidade de coeficientes representados por uma pluralidade de valores de coeficiente é usado para reconstruir os valores de pixel em um quadro da seqüência de vídeo digital. O método é caracterizado pelo fato de que compreende as etapas de:
- recuperar dos dados de vídeo um grupo de valores de diferença, o grupo dos
19Λ33
Figure BRPI0304545B1_D0020
valores de diferença indicativo de uma diferença entre o valor do coeficiente do filtro de interpolação e o filtro base pré-definido;
- construir um filtro adicional baseado no grupo dos valores de diferença e do filtro base pré-definido; e
- reconstruir os valores de pixel baseados no filtro adicional.
Vantajosamente, o filtro base pré-definido tem uma pluralidade de coeficientes representada por uma pluralidade de valores de coeficiente, e a construção do filtro adicional é executada somando o grupo dos valores de diferença com os valores do coeficiente do filtro base pré-definido.
io Vantajosamente, o grupo de valores de diferença é recuperado dos dados de ’ vídeo através da decodificação da entropia.
De acordo com o quarto aspecto da presente invenção, é provido um decodificador vídeo, que inclui os dispositivos para receber os dados de vídeo em um fluxo de bit, os dados de vídeo recebidos indicativos de uma seqüência de vídeo digital incluindo uma seqüência de quadros de vídeo, cada quadro da seqüência de vídeo incluindo uma pluralidade de valores de pixel. O decodificador de vídeo é caracterizado pelo fato de que também compreende:
- dispositivos para recuperar um grupo de valores de diferença do fluxo de bit;
- dispositivos para construir um filtro de interpolação baseado em um filtro de base pré-definido e de um grupo de valores de diferença; e
- dispositivos para reconstruir os valores de pixel em um quadro da seqüência de vídeo baseado no filtro de interpolação e nos dados de vídeo recebidos.
Vantajosamente, o decodificador de vídeo também inclui dispositivos para
25' somar o grupo dos valores de diferença com os valores do coeficiente adicionais do filtro base pré-definido para construir o filtro de interpolação, e um dispositivo para decodificar a entropia do grupo dos valores de diferença do fluxo de bit.
De acordo com o quinto aspecto da presente invenção, é provido um sistema de codificação de vídeo que inclui:
- um codificador para codificar as imagens em uma seqüência de vídeo
20733 digital que tem uma seqüência de quadros de vídeo para os dados de vídeo codificados em um fluxo de bit indicativos da seqüência de vídeo, cada quadro da seqüência de vídeo incluindo uma pluralidade de valores de pixel, o codificador possuindo dispositivos para definir um filtro de interpolação para reconstruir os valores de pixel em um quadro da seqüência de vídeo digital em um processo de decodificação, onde o filtro de interpolação possuindo uma pluralidade de coeficientes de filtro representados por uma pluralidade de valores de coeficientes, e
- um decodificador para receber os dados de vídeo codificados no fluxo de bit para reconstruir os valores de pixel em um quadro da seqüência de vídeo no processo de decodificação. O sistema de codificação de vídeo é caracterizado pelo fato de que também compreende:
o codificador que também compreende:
- dispositivos para computar a diferença entre o filtro de interpolação e o filtro de base pré-definido para prover um grupo de valores de diferença, e
- dispositivos para adaptar o grupo dos valores de diferença no fluxo de bit; e o decodificador que compreende:
- dispositivos para recuperar do fluxo de bit o grupo dos valores de diferença;
e
- dispositivos para construir um filtro adicional baseado no filtro base pré20 definido e o grupo recuperado dos valores de diferença assim que a reconstrução dos valores de pixel no processo de decodificação é baseada no filtro adicional.
Estas e outras características da presente invenção se tornarão aparentes com referência à descrição a seguir juntamente com os desenhos apensos. Porém, será entendido que os desenhos são projetados somente com a finalidade de ilustração e não como uma definição dos limites da invenção.
Breve Descrição das Figuras
Figura 1 - é um diagrama em blocos ilustrando um codificador de vídeo genérico de acordo com a técnica anterior.
Figura 2 - é um diagrama em blocos ilustrando um decodificador de vídeo genérico de acordo com a técnica anterior.
• ·· ···· ··
21/33 .
Figura 3 - é uma representação esquemática ilustrando os tipos de quadros usados na codificação de vídeo.
Figura 4a - é uma representação esquemática ilustrando um macrobloco no
Figure BRPI0304545B1_D0021
quadro atual.
Figura 4b - é uma representação esquemática ilustrando o quadro de referência para a associação-bloco.
Figura 4c - é uma representação esquemática ilustrando uma região de busca em torno da localização original do macrobloco no quadro atual.
Figura 5 - é uma representação esquemática ilustrando o processo de estimação de movimento para a resolução do sub-pixel, de acordo com a técnica anterior.
Figura 6a - é uma representação esquemática ilustrando um filtro de interpolação ótimo.
Figura 6b - é uma representação esquemática ilustrando a interpolação ótima sendo decomposta no filtro base e nos coeficientes de diferença.
Figura 6c - é uma representação esquemática ilustrando os coeficientes de diferença para serem codificados e enviados para o decodificador.
Figura 7 - é um diagrama em blocos ilustrando o dispositivo terminal compreendendo o equipamento de codificação e de decodificação de vídeo capaz de executar a presente invenção.
Figura 8a - é um diagrama em blocos ilustrando o codificador de vídeo de acordo com a incorporação preferida da presente invenção.
Figura 8b - é um diagrama em blocos ilustrando o codificador de vídeo de acordo com a outra incorporação da presente invenção.
Figura 8c - um diagrama em blocos ilustrando o codificador de vídeo de acordo com ainda outra incorporação da presente invenção.
Figura 9a - é um diagrama em blocos ilustrando o decodificador de vídeo de acordo com a incorporação preferida da presente invenção.
Figura 9b - é um diagrama em blocos ilustrando o decodificador de vídeo de acordo com a outra incorporação da presente invenção.
Figura 9c - um diagrama em blocos ilustrando o decodificador de vídeo de
22/33 • · · • · • · · ·· ·· acordo com ainda outra incorporação da presente invenção.
Descrição Detalhada da Invenção
O codificador, de acordo com a presente invenção, codifica os coeficientes do filtro diferencialmente com respeito aos coeficientes do filtro base pré-definido. As
Figuras 6a - 6c ilustram o método de acordo com a presente invenção. Os gráficos em barras apresentados na Figura 6a são representativos dos valores dos coeficientes do filtro de interpolação, cada barra correspondendo a um dos coeficientes do filtro. A altura da barra representa o valor do respectivo coeficiente, as barras que estendem sobre o eixo horizontal representam o valor do coeficiente positivo, e as barras que estendem abaixo do eixo horizontal, os valores de coeficiente negativos. Referindo à Figura 6a e Figura 6b, gráfico de barra 110 representa o filtro que o codificador detecta para ser mais adequado para a interpolação de movimento de um segmento de imagem selecionado, enquanto o gráfico de barra 140 representa o filtro base. No exemplo apresentado na Figura 6a, o filtro é uma filtro simétrico de 6-tap que tem 6 coeficientes de filtro. Em vez de enviar os coeficientes de filtro como tal, apenas as diferenças 130 entre o filtro 110 selecionado e o filtro 140 base são codificadas e enviadas. Os coeficientes 120 enviados são apresentados na Figura 6c.
Com a presente invenção, um ganho de codificação é obtido, desde que as diferenças de amplitudes pequenas possam ser codificadas eficazmente com um codificador de entropia. Quando tais valores de diferença são incluídos em um fluxo-bit de vídeo codificado produzido por um codificador de vídeo, e o fluxo-bit de vídeo é transmitido do codificador para o decodificador correspondente, os coeficientes do filtro de interpolação podem ser reconstruídos no decodificador, recuperando os valores de diferença do fluxo-bit codificado e os acrescentando aos valores de coeficiente respectivos
25' do filtro base pré-definido armazenado no decodificador.
Deveria ser observado que 0 filtro base também pode ser adaptado às estatísticas da seqüência de vídeo e aos coeficientes de filtro recebidos para melhorar a eficiência de codificação. Também é possível, que 0 filtro base seja pré-definido para todo 0 codec. Em outras palavras, 0 mesmo filtro base pré-definido é usado para todas as seqüências de vídeos a serem codificadas independente das suas características, ou o modo
23/33 p\ no qual elas são adquiridas. Alternativamente, o filtro base é adaptado aos dados de vídeo, i.e., os filtros base diferentes são usados para as seqüências de vídeo diferentes, ou o filtro base pode ser adaptado durante a codificação de uma seqüência de vídeo particular de acordo com certas regras pré-definidas.
Se o filtro é simétrico, como apresentado nas Figuras 6a a 6c, apenas a metade dos coeficientes de filtro precisa ser codificada. Os outros podem ser obtidos por cópia. No exemplo apresentado na Figura 6c, a quantidade de informação necessária para representar os valores de coeficiente do filtro de interpolação adaptativo no fluxo-bit de vídeo codificado pode ser reduzida ao perceber que os coeficientes de filtro 4°, 5° e 6° são idênticos respectivamente aos coeficientes de filtro 3°, 2° e 1°. Assim, neste caso, os seis coeficientes do filtro de interpolação podem ser codificados de fato por três valores, o primeiro representante da diferença entre o primeiro coeficiente do filtro de interpolação e o primeiro coeficiente do filtro base pré-definido, o segundo representante da diferença entre o segundo coeficiente de filtro de interpolação e o segundo coeficiente do filtro base pré-definido e o terceiro representante da diferença entre o terceiro coeficiente do filtro de interpolação e o terceiro coeficiente do filtro base pré-definido. É então necessário apenas incluir estes três valores de diferença no fluxo-bit de vídeo codificado transmitido do codificador para o decodificador, visto que o decodificador pode obter os três coeficientes do filtro de interpolação restantes através de uma cópia apropriada dos primeiros três valores de coeficiente do filtro reconstruídos. Uma aproximação semelhante pode ser adotada se o filtro base e o filtro de interpolação tiverem um número ímpar de coeficientes em vez de pares, mas é não obstante simétrico. Neste caso, deveria ser apreciado que o número dos valores de diferença a ser codificado é (n/2) +1, onde n é o número de coeficientes no filtro de interpolação/filtro base.
O método de acordo com a presente invenção também pode ser combinado com outros métodos de codificação de coeficiente. Por exemplo, um grupo dos filtros usado mais freqüentemente pode ser definido e codificado pelos seus índices. Os filtros usados com menos freqüência podem ser codificados com a invenção descrita ao permitir uma variação máxima dos filtros disponíveis e ao superar a desvantagem previamente mencionada do terceiro método da técnica anterior para codificar os valores do • ·· ····
24733
Figure BRPI0304545B1_D0022
coeficiente.
Figure BRPI0304545B1_D0023
Figure BRPI0304545B1_D0024
Α ordem de codificação dos coeficientes de filtro não tem que seguir a ordem espacial. Por exemplo, os valores da diferença representativos dos valores do coeficiente do filtro de interpolação não necessitam ser incluídos no fluxo-bit de vídeo codificado na mesma ordem que os coeficientes ocorre no filtro. Neste caso uma regra pré-definida deve ser definida especificando a ordem na qual os valores de diferença aparecem no fluxo-bit e conhecida do codificador e do decodificador.
É possível que o filtro base seja adaptado aos coeficientes do filtro recebidos do mesmo filtro. Por exemplo, se o primeiro coeficiente do filtro transmitido for maior que o coeficiente do filtro base, o segundo coeficiente do filtro de base pode ser diminuído. Isto é especialmente verdadeiro se a soma nos coeficientes do filtro for conhecida.
Tipicamente, a soma dos coeficientes do filtro é fixa. Em tal caso, não há nenhuma necessidade para codificar o último coeficiente do filtro, mas este pode ser calculado ao subtrair a soma dos primeiros coeficientes da soma total. Se a soma dos coeficientes do filtro não for estabelecida, uma constante transmitida separadamente ou constantes pode ser adicionadas aos coeficientes do filtro base ou na saída do filtro para reduzir as amplitudes das diferenças do coeficiente.
A Figura 7 apresenta um dispositivo terminal que inclui um equipamento de codificação e decodificação de vídeo que pode ser adaptado para operar de acordo com a presente invenção. Mais precisamente, a Figura 7 ilustra um terminal de multimídia 60 implementado de acordo com a recomendação ITU-T H.324. O terminal pode ser considerado como um dispositivo transceptor de multimídia. Este inclui os elementos que capturam, codificam e multiplexam os fluxos de dados de multimídia para a transmissão através da rede de comunicação, como também os elementos que recebem, demultiplexam, decodificam e exibem o conteúdo de multimedia recebido. A recomendação ITU-T H.324 define a operação global do terminal e refere a outras recomendações que governam a operação de suas várias partes constituintes. Este tipo de terminal de multimídia pode ser usado nas aplicações em tempo-real tal como a vídeo30 telefonia de conversação, ou as aplicações de tempo-não real tal como a recuperação ou o
25733 » · · · » » · »·· · · • · · · · ···· • · ·
Figure BRPI0304545B1_D0025
streaming dos clipes de vídeo, por exemplo, de um servidor de conteúdo de multimídia na Internet.
No contexto da presente invenção, deveria ser apreciado que o terminal H.324 apresentado na Figura 7 é apenas um de um número de implementações alternativas do terminal de multimídia adequado para a aplicação do método inventivo. Também deveria ser observado que várias alternativas existem relativas à localização e a implementação do equipamento terminal. Como ilustrado na Figura 7, o terminal de multimídia pode ser localizado no equipamento de comunicação conectado a rede de telefone de linha fixa, tal como RTCP análoga (Rede de Telefonia Comutada Pública).
Neste caso, o terminal de multimídia é equipado com um modem 71, complacente com as recomendações ITU-T V.8, V.34 e opcionalmente V.8bis. Alternativamente, o terminal „ de multimídia pode ser conectado a um modem externo. O modem habilita a conversão dos dados digitais multiplexados e dos sinais de controle produzidos pelo terminal de multimídia em uma forma análoga adequada à transmissão sob a RTCP. Isto também permite ao terminal de multimídia receber os dados e os sinais de controle em uma forma análoga a da RTCP e os converter em um fluxo de dados digital que pode ser demultiplexados e processados de uma maneira apropriada pelo terminal.
O terminal de multimídia H.324 também pode ser implementado de tal modo que possa ser conectado diretamente a uma rede de linha fixa digital, tal como a
RDSI (Rede Digital de Serviços Integrados). Neste caso, o modem 71 é substituído por uma interface de usuário-rede RDSI. Na Figura 7, esta interface de usuário-rede RDSI é representada através do bloco alternativo 72.
Os terminais de multimídia H.324 também podem ser adaptados para uso nas aplicações de comunicação móvel. Se usado com um enlace de comunicação sem fio, o modem 71 pode ser substituído por qualquer interface sem fio apropriada, tal como representado pelo bloco alternativo 73 na Figura 7. Por exemplo, o terminal de multimídia H.324/M pode incluir um transceptor de rádio que habilita a conexão à rede de telefonia móvel GSM de 2a geração atual, ou à rede UMTS de 3a geração proposta (Sistema de Telefonia Móvel Universal).
Deveria ser observado que os terminais de multimídia projetados para as
Figure BRPI0304545B1_D0026
Figure BRPI0304545B1_D0027
26733 • ·· ···· · comunicações de modo-dual que são para transmissão e recepção dos dados de vídeo, é vantajoso, prover um codificador de vídeo e um decodificador de vídeo implementados de acordo com a presente invenção. Tal par codificador e decodificador é implementado freqüentemente como uma única unidade funcional combinada, denominado de “codec”.
Um típico terminal de multimídia H.324 será descrito agora em maiores detalhes com referência a Figura 7. O terminal de multimídia 60 inclui uma variedade de elementos denominados de “equipamento terminal”. Este equipamento terminal inclui vídeo, áudio e dispositivos telemáticos, genericamente referenciados através, respectivamente, das referências numéricas 61, 62 e 63. O equipamento de vídeo 61 pode incluir, por exemplo, uma câmera de vídeo para capturar as imagens de vídeo, um monitor para exibir o conteúdo de vídeo recebido e um equipamento opcional de processamento de vídeo. O equipamento de áudio 62 inclui um microfone, por exemplo, para capturar tipicamente as mensagens de voz, e um alto-falante para reproduzir o conteúdo de áudio recebido. O equipamento de áudio também pode incluir as unidades de processamento de áudio adicionais. O equipamento telemático 63 pode incluir um terminal de dados, teclado, quadro branco (whiteboard) eletrônico ou um transceptor de imagem imóvel, tal como uma unidade de fac-símile.
O equipamento de vídeo 61 é acoplado ao codec de vídeo 65. O codec de vídeo 65 inclui um codificador de vídeo e um decodificador de vídeo correspondente, ambos implementados de acordo com a invenção. O codificador e o decodificador serão descritos a seguir. O codec de vídeo 65 é responsável por codificar os dados de vídeo capturados em uma forma apropriada para transmissão adicional sob o enlace de comunicação e decodificar o conteúdo de vídeo comprimido recebido da rede de comunicação. No exemplo ilustrado na Figura 7, é assumido que o codec de vídeo é implementado de tal forma para incluir o uso dos filtros de interpolação adaptativos dinamicamente. É assumido também que a seção do codificador do codec de vídeo é adaptada para codificar e transmitir os valores de coeficiente do filtro de interpolação para o decodificador correspondente de acordo com uma incorporação do método inventivo, como previamente descrito. Similarmente, a seção do decodificador do codec de vídeo é adaptada para receber e decodificar os valores de coeficiente do filtro codificados de ···
27733
Figure BRPI0304545B1_D0028
Figure BRPI0304545B1_D0029
acordo com a mesma incorporação do método inventivo.
O equipamento de áudio do terminal é acoplado ao codec de áudio, referenciado na Figura 7 através do número de referência 66. Como o codec de vídeo, o codec de áudio inclui um par codificador/decodificador. Este converte os dados de áudio capturados pelo equipamento de áudio do terminal em uma forma adequada para transmissão sob o enlace de comunicação e transforma os dados de áudio codificados recebidos da rede de volta em uma forma adequada para reprodução, por exemplo, no alto-falante do terminal. A saída do codec de áudio é passada para o bloco de retardo 67. Isto compensa os retardos introduzidos pelo processo de codificação de vídeo e assim assegura a sincronização do conteúdo de áudio e de vídeo.
O bloco de controle do sistema 64 do terminal de multimídia controla a sinalização de fim-de-rede usando um protocolo de controle apropriado (bloco de sinalização 68) para estabelecer um modo comum de operação entre o terminal transmitir e o receptor. O bloco de sinalização 68 troca à informação sobre as capacidades de codificação e de decodificação dos terminais de transmissão e de recepção e pode ser usado para habilitar os vários modos de codificação do codificador de vídeo. O bloco de controle do sistema 64 também controla o uso da codificação de dados. A informação relativa ao tipo de codificação a ser usado na transmissão de dados é passada do bloco de codificação 69 para o multiplexador/demultiplexador (unidade MUX/DMUX) 70.
Durante a transmissão de dados do terminal de multimídia, a unidade de MUX/DMUX 70 combina os fluxos codificados e vídeo sincronizado e de áudio com a entrada dos dados do equipamento telemático 63 e dos possíveis dados de controle, para formar um único fluxo de bit. A informação relativa ao tipo de codificação de dados (se houver) a ser aplicada no fluxo de bit fornecido pelo bloco de codificação 69, é usada para selecionar o modo de codificação. Correspondentemente, quando o fluxo de bit de multimídia multiplexado e possivelmente codificado está sendo recebido, a unidade MUX/DMUX 70 é responsável por decifrar o fluxo de bit, dividindo este nos seus componentes de mídia constituintes e passando estes componentes para o codec(s) apropriado e/ou o equipamento terminal para decodificar e reproduzir.
A Figura 8a é um diagrama em blocos esquemático do codificador de vídeo
28/33
Figure BRPI0304545B1_D0030
Figure BRPI0304545B1_D0031
Figure BRPI0304545B1_D0032
• ·
700 vídeo implementado de acordo com uma incorporação preferida da invenção. A estrutura do codificador de vídeo apresentada na Figura 8a é em muitos aspectos semelhante a do codificador de vídeo da técnica anterior ilustrado na Figura 1, com modificações apropriadas para as partes do codificador que executam as operações associadas com a interpolação do valor do sub-pixel e a formação do fluxo-bit de vídeo codificado. A maioria dos elementos do codificador de vídeo 700 funciona e opera de maneira similar aos elementos correspondentes do codificador de vídeo 10 da técnica anterior previamente descrito (veja Figura 1). A descrição de tais elementos é omitida por motivo de concisão. Em particular, o codificador de vídeo 700 inclui uma o bloco de Estimação do Campo de Movimento 711, o bloco de Codificação do Campo de Movimento 712, o bloco de Predição de Movimento Compensado 713, o bloco de Codificação de Erro de Predição 714, o bloco de Decodificação de Erro de Predição 715, o bloco de Multiplexação 716, a Memória de quadro 717, e o somador 719. Como apresentado na Figura 8a, o bloco de Estimação do Campo de Movimento 711 também inclui o bloco de Computação de Coeficiente de Diferencial 710 que é usado para computar a diferença entre o filtro selecionado e o filtro base 709.
A operação do codificador de vídeo 700 será considerada agora em detalhes. Em comum com os codificadores de vídeo conhecidos da técnica anterior, o codificador de vídeo 700 de acordo com esta incorporação da presente invenção emprega a predição de movimento compensado com respeito ao quadro de referência para produzir um fluxo de bit representativo de um quadro de vídeo sendo codificado no formato INTER. Este executa a predição de movimento compensado para a resolução de sub-pixel e também emprega um filtro de interpolação tendo valores de coeficiente de filtro variáveis dinamicamente para formar os valores de sub-pixel requerido durante o processo de estimação de movimento.
O codificador de vídeo 700 executa a predição de movimento compensado com base no bloco-a-bloco e implementa a compensação do movimento para resolução sub-pixel como um processo de duas-fases para cada bloco. Na primeira fase, o vetor de movimento que tem resolução de pixel-total é determinada no bloco-associativo, i.e., a busca por um bloco de valores de pixel no quadro de referência Rn(x, y) que melhor se
29/33 associa com os valores de pixel do bloco de imagem atual a ser codificado. A operação de associação do bloco é executada através do bloco de Estimação do Campo de Movimento 711 em co-operação com a Memória de Quadro 717, na qual o valor de pixel do quadro de referência é recuperado. Na segunda fase da predição de movimento compensado, o vetor de movimento determinado na primeira fase é refinado à resolução do sub-pixel desejada. Para fazer isto, o bloco de Estimação do Campo de Movimento 711 formas os novos blocos de busca que têm a resolução de sub-pixel ao interpolar os valores de pixel do quadro de referência Rn(x, y) na região previamente identificada como a melhor associação para o bloco de imagem que é codificado atualmente (veja Figura 5). Como parte deste processo, o bloco de Estimação do Campo de Movimento 711 determina um filtro de interpolação ótimo para a interpolação dos valores do sub-pixel. Vantajosamente o valor do coeficiente do filtro de interpolação é adaptado com relação à codificação de cada bloco de imagem. Nas incorporações alternativas, os coeficientes do filtro de interpolação podem ser adaptados menos freqüentemente, por exemplo, uma vez a cada quadro, ou no começo de uma seqüência de vídeo nova a ser codificada.
Tendo interpolado os valores necessários do sub-pixel e formado os novos blocos de busca, o bloco de Estimação de Campo de Movimento 711 executa uma procura adicional para determinar se quaisquer dos blocos de busca novos representam a melhor associação do bloco de imagem atual do que o melhor bloco de associação originalmente identificado em uma resolução de pixel-total. Este modo do bloco de Estimação do Campo de Movimento 711 determina se o vetor de movimento representativo do bloco de imagem que é codificado atualmente deveria apontar para uma localização de pixel-total ou subpixel.
O bloco de Estimação de Campo de Movimento 711 produções o vetor de movimento identificado para o bloco de Codificação do Campo de Movimento 712 que aproxima o vetor de movimento usando um modelo de movimento como previamente descrito. O bloco de predição de movimento compensado 713 forma uma predição para o bloco de imagem amai usando o vetor de movimento aproximado e a informação de erro de predição. A predição é e subseqüentemente codificada no bloco de Codificação de Erro de Predição 714. A informação de erro de predição codificada é remetida para o bloco de
30/33
Figure BRPI0304545B1_D0033
Figure BRPI0304545B1_D0034
• ····· ···· ·· · · · · · · ··· ····· ····· · imagem atual do bloco de Codificação de Erro de Predição 714 para o bloco Multiplexador 716. O bloco do Multiplexador 716 recebe a informação sobre o vetor de movimento aproximado (na forma de coeficientes de movimento) do bloco de Codificação do Campo de Movimento 712, como também as informações sobre o filtro de interpolação ótimo usado durante a predição de movimento compensado do bloco de imagem atual do bloco de Estimação do Campo de Movimento 711. De acordo com esta incorporação da presente invenção, o bloco de Estimação de Campo de Movimento 711, baseado no resultado computacional computado pelo bloco de computação do coeficiente diferencial 710, transmite um grupo de valores de diferença 705 indicativo da diferença entre os coeficientes de filtro do filtro de interpolação ótimo para o bloco atual e dos coeficientes do filtro do filtro base pré-definido 709 armazenado no codificador 700. O bloco do multiplexador 716 subseqüentemente forma um fluxo-bit codificado 703 representativo do bloco de imagem atual combinando a informação de movimento (coeficientes de movimento), os dados de erro de predição, os valores da diferença do coeficiente de filtro e as possíveis informações de controle. Cada um dos tipos diferentes de informação pode ser codificado com um codificador de entropia antes da inclusão no fluxo-bit e da transmissão subseqüente para o decodificador correspondente.
Em uma incorporação alternativa da invenção, o bloco de Estimação de Campo de Movimento 711 envia um grupo de valores 704 indicativo dos coeficientes do filtro do filtro de interpolação ótimo para o bloco de Computação de Coeficiente Diferencial 710 que fica situado entre o bloco de Estimação de Campo de Movimento 711 e o bloco do Multiplexador 716, como apresentado na Figura 8b. Baseado no filtro base 709, o bloco de Computação de Coeficiente Diferencial 710 calcula os valores da diferença 705 e os transmite para o bloco do Multiplexador 716.
Em uma outra incorporação alternativa, o bloco de Computação de Coeficiente Diferencial 710 reside dentro do bloco do Multiplexador 716. Neste caso, os coeficientes do filtro 704 do filtro de interpolação ótimo podem ser enviados diretamente pelo bloco de Estimação de Campo de Movimento 711 para o bloco do Multiplexador 716, como apresentado na Figura 8c.
A Figura 9a é um diagrama em blocos do decodificador de vídeo 800
31/33 ·· ···· ·· ·
Figure BRPI0304545B1_D0035
implementado de acordo com uma incorporação preferida da presente invenção e correspondendo ao codificador de vídeo 700 ilustrado na Figura 8a. O decodificador 800 inclui um bloco de predição de movimento compensado 721, um bloco de Decodificação de Erro de Predição 722, um bloco de Demultiplexação 723 e de uma Memória de Quadro
824. A maioria dos elementos no decodificador 800 funciona e opera semelhante aos elementos correspondentes da técnica anterior 20 (veja Figura 2). Porém, o decodificador 800 da presente invenção, como apresentado na Figura 9a inclui um bloco de Reconstrução do Filtro 810 que reconstrói o filtro de interpolação ótimo 110 (veja Figura 6a) baseado nos valores de diferença 130 (Figura 6b e 6c) e no filtro base pré-definido
809. O filtro base pré-definido 809 é, preferivelmente, idêntico ao filtro base 709 (Figura * 8a - 8c).
A operação do decodificador de vídeo 800 será considerada agora em detalhes. O demultiplexador 823 recebe o fluxo-bit 803 codificado, divide o fluxo-bit em suas partes constituintes (os coeficientes de movimento, os dados de erro de predição, os valores de diferença do coeficiente de filtro e as possíveis informações de controle) e executa qualquer decodificação de entropia necessária dos vários tipos de dados. O demultiplexador 823 direciona a informação de erro de predição recuperada do fluxo-bit 803 recebido do bloco de Decodificação de Erro de Predição 822. Este também direciona a informação de movimento recebida para o bloco de predição de movimento compensado
821. Nesta incorporação da presente invenção, o Demultiplexador 823 direciona os valores de diferença recebidos (e entropia decodificada) através do sinal 802 para o bloco de Predição de Movimento Compensado 821 para permitir ao bloco de Reconstrução do Filtro 810 reconstruir o filtro de interpolação ótimo 110 (veja Figura 6a) somando os valores de diferença recebidos aos coeficientes do filtro base pré-definido 809
25' armazenados no decodificador. O bloco de predição de movimento compensado 821 usa subseqüentemente o filtro de interpolação ótimo como definido pelo valor do coeficiente reconstruído para construir a predição para o bloco de imagem que é decodificado atualmente. Mais especificamente, o bloco de Predição de Movimento Compensado 821 forma a predição para o bloco de imagem atual recuperando os valores de pixel do quadro de referência armazenado na Memória de Quadro 824 e os interpolando como necessário
32/33 • · ·· · ····· ···· • · · · · · · ·· ··········· ·· ····· ····· · ·· · ·· de acordo com a informação de movimento recebida para formar quaisquer valores de sub-pixel requeridos. A predição para o bloco de imagem atual é então combinada com os dados de erro de predição correspondentes para formar a reconstrução do bloco de imagem em questão.
Alternativamente, o bloco de Reconstrução do Filtro 810 reside fora do bloco de predição de movimento compensado 821, como apresentado na Figura 9b. Dos valores de diferença contidos no sinal 802 recebido do Demultiplexador 823, o bloco de Reconstrução do Filtro 810 reconstrói o filtro de interpolação ótimo e envia os coeficientes de reconstrução do filtro 805 para o bloco de predição de movimento compensado 821. Em ainda outra incorporação alternativa, o bloco de Reconstrução do Filtro 810 reside no bloco Demultiplexador 823. O bloco do Demultiplexador 823 direciona os coeficientes reconstruídos do filtro de interpolação ótimo para o bloco de predição de movimento compensado 821.
O codificador, de acordo com a presente invenção, codifica os coeficientes do filtro diferencialmente com respeito aos coeficientes do filtro base pré-definido, para permitir ao decodificador reconstruir o filtro de interpolação ótimo baseado nos valores de diferença. Os coeficientes do filtro base deveriam ser conhecidos do codificador e do decodificador e, deveriam estar estaticamente e razoavelmente próximo dos filtros atuais usados na seqüência de vídeo para render um bom desempenho de codificação. Em outras palavras, de acordo com o método da presente invenção, o filtro base possuindo um grupo particular de valores de coeficiente é definido e então as diferenças entre os coeficientes do filtro base e esses do filtro de interpolação atualmente usados são codificados e incluídos no fluxo-bit de vídeo. Deste modo, a quantidade de informação necessária para representar os coeficientes do filtro de interpolação adaptativo no fluxo-bit de vídeo codificado é reduzida, com respeito a um método no qual cada um dos coeficientes do filtro adaptativo é codificado separadamente. Se os coeficientes do filtro base forem suficientemente semelhantes aos coeficientes do filtro de interpolação usados, o valor da diferença a ser codificado é pequeno. Assim, é vantajoso se o filtro base pré-definido for estaticamente similar ao filtro de interpolação usado, como neste caso os valores de diferença são reduzidos e também uma melhoria na eficiência de codificação é alcançada.
33/33 • ·
Ao contrário, o método de codificação diferencial como proposto por Wedi, o método de acordo com a presente invenção retém a resiliência de erro comparativamente bem. No caso de um erro que ocorre durante a transmissão do fluxo-bit de vídeo codificado do codificador para o decodificador, este é apenas a diferença entre o filtro base e o filtro de interpolação atualmente usado que é afetado pelo erro.
Deveria ser observado que os elementos funcionais do terminal de multimídia do codificador de vídeo, do decodificador e do codec de áudio de acordo com a presente invenção podem ser implementados como software ou hardware dedicado, ou uma combinação dos dois. A codificação de vídeo e os métodos de decodificação de acordo com a invenção são particularmente adequados para a implementação na forma de um programa de computação, que inclui instruções em linguagem de máquina para executar os passos funcionais da invenção. Como tal, o codificador, o decodificador e codec vídeo podem ser implementados de acordo com a invenção como um código de software armazenado em um dispositivo de armazenamento e executados em um computador, tal como um computador de mesa pessoal, para proporcionar ao computador com a codificação de vídeo e/ou a funcionalidade de decodificação.
Embora descrito no contexto das incorporações particulares, será aparente para o técnico que um número de modificações e várias trocas podem ser feitas nestes ensinamentos. Assim, enquanto a invenção tem sido apresentada e descrita particularmente com respeito a uma ou mais incorporações preferidas desta, será entendido pelo técnico que certas modificações ou mudanças nesta podem ser feitas sem partir do escopo e do conceito inventivo da invenção como descrito acima.
/ 5

Claims (21)

  1. REIVINDICAÇÕES
    1. Método de codificação de imagens em uma sequência de vídeo digital para prover os dados de vídeo codificados, onde a sequência de vídeo digital inclui uma sequência de quadros de vídeo, cada quadro possuindo uma pluralidade de valores de pixel, e onde um filtro de interpolação possuindo uma pluralidade de coeficientes representados por uma pluralidade de valores de coeficiente é usado para reconstruir os valores de pixel em um quadro de sequência de vídeo digital dos dados de vídeo codificados, o método é caracterizado pelo fato de que compreende as etapas de:
    - codificar os valores do coeficiente do filtro de interpolação diferencialmente com respeito ao filtro de base pré-definido para formar um grupo de valores de diferença; e
    - adaptar os valores de diferença nos dados de vídeo codificados, de forma que a reconstrução dos valores de pixel seja baseada em um grupo de valores de diferença.
  2. 2. Método de acordo com a reivindicação 1, onde os dados de vídeo codificados são transmitidos do codificador de vídeo para o decodificador de vídeo, o método é caracterizado pelo fato de que:
    - os dados de vídeo codificados incluem os valores codificados indicativos do grupo de valores de diferença, e o grupo dos valores de diferença é a entropia codificada antes de ser transmitida do codificador de vídeo para o decodificador de vídeo.
  3. 3. Método de acordo com a reivindicação 1, caracterizado pelo fato de que o filtro base pré-definido possui uma pluralidade de coeficientes adicionais possuindo os valores estaticamente similares aos valores de coeficiente do filtro de interpolação.
  4. 4. Método de acordo com a reivindicação 1, caracterizado pelo fato de que os coeficientes do filtro de interpolação são selecionados para interpolação dos valores de pixel em um segmento de imagem selecionado.
    Petição 870180017826, de 05/03/2018, pág. 8/12
    2 / 5
  5. 5. Método de acordo com a reivindicação 1, caracterizado pelo fato de que o filtro base pré-definido tem os valores de coeficiente fixados.
  6. 6. Método de acordo com a reivindicação 1, caracterizado pelo fato de que o filtro base pré-definido tem uma pluralidade de coeficientes adaptados às estatísticas da sequência de vídeo.
  7. 7. Método de acordo com a reivindicação 1, caracterizado pelo fato de que o filtro de interpolação é simétrico, tal que apenas metade dos coeficientes do filtro são codificados.
  8. 8. Método de acordo com a reivindicação 1, caracterizado pelo fato de que os valores do coeficiente do filtro de interpolação são codificados em uma certa ordem, do primeiro valor de coeficiente para o último valor de coeficiente.
  9. 9. Método de acordo com a reivindicação 8, caracterizado pelo fato de que a ordem correta na qual os valores do coeficiente são codificados é diferente de uma ordem espacial dos coeficientes.
  10. 10. Método de acordo com a reivindicação 8, caracterizado pelo fato de que a soma dos valores do coeficiente do filtro de interpolação é fixa.
  11. 11. Método de acordo com a reivindicação 1, onde o filtro base pré-definido possui uma pluralidade de valores de coeficientes adicionais, o método é caracterizado pelo fato de que um valor constante é adicionado aos valores dos coeficientes adicionais do filtro base pré-definido para reduzir a amplitude das diferenças entre os valores do coeficiente do filtro de interpolação e os valores dos coeficientes adicionais do filtro base pré-definidos.
  12. 12. Codificador de vídeo incluindo:
    - um dispositivo para codificar as imagens em uma sequência de vídeo digital possuindo uma sequência de quadros de vídeo para prover os dados de vídeo codificados indicativos da sequência de vídeo, cada quadro da sequência de vídeo incluindo uma pluralidade de valores de pixel; e
    Petição 870180017826, de 05/03/2018, pág. 9/12
    3 / 5
    - um dispositivo para definir um filtro de interpolação para reconstruir os valores de pixel em um quadro de sequência de vídeo digital em um processo de decodificação, onde o filtro de interpolação tem vários coeficientes representados por uma pluralidade de valores de coeficiente, o codificador de vídeo é caracterizado pelo fato de que também compreende:
    - dispositivos, responsivos ao filtro de interpolação, para computar a diferença entre o valor do coeficiente do filtro de interpolação e do filtro de base pré- definido para prover um grupo de valores de diferença, e
    - dispositivos para adaptar um grupo de valores de diferença nos dados de vídeo codificados, de forma que a reconstrução dos valores de pixel no processo de decodificação seja baseada no grupo dos valores de diferença.
  13. 13. Codificador de vídeo de acordo com a reivindicação 12, caracterizado pelo fato de que também compreende:
    - dispositivos para codificar a entropia dos valores de diferença antes de adaptar o grupo dos valores de diferença nos dados de vídeo codificados.
  14. 14. Codificador de vídeo de acordo com a reivindicação 13, caracterizado pelo fato de que o filtro de interpolação é simétrico e o dispositivo de codificação de entropia é disposto para codificar apenas a metade do grupo dos valores de diferença.
  15. 15. Método de decodificação dos dados de vídeo indicativos de uma sequência de vídeo digital que inclui uma sequência de quadros de vídeo, cada quadro da sequência de vídeo incluindo uma pluralidade de valores de pixel, onde o filtro de interpolação possuindo uma pluralidade de coeficientes representados por uma pluralidade de valores de coeficiente é usado para reconstruir os valores de pixel em um quadro da sequência de vídeo digital, caracterizado pelo fato de que compreende as etapas de:
    - recuperar dos dados de vídeo um grupo de valores de diferença, o grupo dos valores de diferença indicativo de uma diferença entre o valor do coeficiente do filtro de interpolação e do filtro base pré-definido;
    - construir um filtro adicional baseado no grupo dos valores de diferença e do filtro base pré-definido; e
    Petição 870180017826, de 05/03/2018, pág. 10/12
    4 / 5
    - reconstruir os valores de pixel baseados no filtro adicional.
  16. 16. Método de acordo com a reivindicação 15, onde o filtro base pré-definido possuindo uma pluralidade de coeficientes adicionais representados por uma pluralidade de valores de coeficientes adicionais, caracterizado pelo fato de que também compreende a etapa de:
    - somar o grupo dos valores de diferença com os valores do coeficiente adicionais do filtro base pré-definido para construir o filtro adicional.
  17. 17. Método de acordo com a reivindicação 16, caracterizado pelo fato de que o grupo dos valores de diferença é recuperado dos dados de vídeo através da decodificação da entropia.
  18. 18. Decodificador de vídeo incluindo:
    - dispositivos para receber os dados de vídeo em um fluxo de bit, os dados de vídeo recebidos indicativos de uma sequência de vídeo digital incluindo uma sequência de quadros de vídeo, cada quadro da sequência de vídeo incluindo uma pluralidade de valores de pixel, o decodificador de vídeo é caracterizado pelo fato de que também compreende:
    - dispositivo para recuperar um grupo de valores de diferença do fluxo de bit;
    - dispositivos para construir um filtro de interpolação baseado em um filtro de base pré definido e de um grupo de valores de diferença; e
    - dispositivos para reconstruir os valores de pixel em um quadro da sequência de vídeo baseado no filtro de interpolação e nos dados de vídeo recebidos.
  19. 19. Decodificador de vídeo de acordo com a reivindicação 18, onde o filtro base pré-definido possuindo uma pluralidade de coeficientes adicionais representados por valores de coeficiente adicionais, onde o decodificado de vídeo é caracterizado pelo fato de também compreende:
    - os dispositivos para somar o grupo dos valores de diferença com os valores dos coeficientes adicionais do filtro base pré-definido para construir o filtro de interpolação.
    Petição 870180017826, de 05/03/2018, pág. 11/12
    5 / 5
  20. 20. Decodificador de vídeo de acordo com a reivindicação 18, caracterizado pelo fato de que também compreende:
    - dispositivo para decodificar a entropia do grupo dos valores de diferença do fluxo de bit.
  21. 21. Sistema de codificação de vídeo incluindo:
    - um codificador para codificar as imagens em uma sequência de vídeo digital que tem uma sequência de quadros de vídeo para os dados de vídeo codificados em um fluxo de bit indicativos da sequência de vídeo, cada quadro da sequência de vídeo incluindo uma pluralidade de valores de pixel, o codificador possuindo dispositivos para definir um filtro de interpolação para reconstruir os valores de pixel em um quadro da sequência de vídeo digital em um processo de decodificação, onde o filtro de interpolação possuindo uma pluralidade de coeficientes de filtro representados por uma pluralidade de valores de coeficientes, e
    - um decodificador para receber os dados de vídeo codificados no fluxo de bit para reconstruir os valores de pixel em um quadro da sequência de vídeo no processo de decodificação, o sistema de codificação de vídeo caracterizado pelo fato de que também compreende:
    o codificador que também compreende:
    - dispositivos para computar a diferença entre o filtro de interpolação e o filtro de base pré-definido para prover um grupo de valores de diferença, e
    - dispositivos para adaptar o grupo dos valores de diferença no fluxo de bit; e o decodificador que compreende:
    - dispositivos para recuperar do fluxo de bit o grupo dos valores de diferença; e
    - dispositivos para construir um filtro adicional baseado no filtro base pré-definido e o grupo recuperado dos valores de diferença, assim que a reconstrução dos valores de pixel no processo de decodificação for baseada no filtro adicional.
    Petição 870180017826, de 05/03/2018, pág. 12/12 ··· ·· ·· ··
    1/13
    W.y)
    CODIFICAÇÃO DE ERRO DE PREDIÇÃO
    P„(x,y)
    DECODIFICAÇÃO DE ERRO DE PREDIÇÃO
    En(x,y)
    MULTIPLEXAGEM
    PREDIÇÃO DE MOVIMENTO COMPENSADO
    T
    CODIFICAÇÃO
    DO CAMPO DE
    MOVIMENTO -12
    ESTIMAÇÃO
    DO CAMPO DE
    MOVIMENTO
BRPI0304545-5A 2002-01-14 2003-01-14 Método de codificação das imagens em uma seqüência de vídeo digital para fornecer os dados de vídeo codificados, codificador de vídeo, método de decodificação dos dados indicativos de uma sequência de vídeo digital, decodificador de vídeo, e, sistema de codificação de vídeo BRPI0304545B1 (pt)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US34881102P 2002-01-14 2002-01-14
US60/348,811 2002-01-14
PCT/IB2003/000061 WO2003058945A2 (en) 2002-01-14 2003-01-14 Coding dynamic filters

Publications (1)

Publication Number Publication Date
BRPI0304545B1 true BRPI0304545B1 (pt) 2018-07-03

Family

ID=23369646

Family Applications (2)

Application Number Title Priority Date Filing Date
BR0304545-5A BR0304545A (pt) 2002-01-14 2003-01-14 Método de codificação das imagens em uma sequência de vìdeo digital para fornecer os dados de vìdeo codificados, codificador de vìdeo, método de decodificação dos dados indicativos de uma sequência de vìdeo digital, decodificador de vìdeo, e, sistema de decodificação de vìdeo
BRPI0304545-5A BRPI0304545B1 (pt) 2002-01-14 2003-01-14 Método de codificação das imagens em uma seqüência de vídeo digital para fornecer os dados de vídeo codificados, codificador de vídeo, método de decodificação dos dados indicativos de uma sequência de vídeo digital, decodificador de vídeo, e, sistema de codificação de vídeo

Family Applications Before (1)

Application Number Title Priority Date Filing Date
BR0304545-5A BR0304545A (pt) 2002-01-14 2003-01-14 Método de codificação das imagens em uma sequência de vìdeo digital para fornecer os dados de vìdeo codificados, codificador de vìdeo, método de decodificação dos dados indicativos de uma sequência de vìdeo digital, decodificador de vìdeo, e, sistema de decodificação de vìdeo

Country Status (12)

Country Link
US (1) US7379501B2 (pt)
EP (1) EP1466477B1 (pt)
JP (1) JP4494789B2 (pt)
KR (1) KR100945546B1 (pt)
CN (1) CN100553321C (pt)
AU (1) AU2003201069C1 (pt)
BR (2) BR0304545A (pt)
HU (1) HU228615B1 (pt)
MX (1) MXPA04006814A (pt)
RU (1) RU2302707C2 (pt)
SG (1) SG149694A1 (pt)
WO (1) WO2003058945A2 (pt)

Families Citing this family (103)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1282236B1 (en) 2000-05-09 2012-10-03 Sony Corporation Data processing device and data processing method, and recorded medium
JP4102973B2 (ja) * 2002-04-24 2008-06-18 日本電気株式会社 動画像の符号化方法および復号化方法、これを用いた装置とプログラム
JP2004061446A (ja) * 2002-07-31 2004-02-26 Fujitsu Ten Ltd パターンマッチング処理方法及び画像処理装置
US20040091047A1 (en) 2002-11-11 2004-05-13 Sony Corporation Method and apparatus for nonlinear multiple motion model and moving boundary extraction
JP4462823B2 (ja) * 2002-11-20 2010-05-12 ソニー株式会社 画像信号の処理装置および処理方法、それに使用される係数データの生成装置および生成方法、並びに各方法を実行するためのプログラム
US9330060B1 (en) 2003-04-15 2016-05-03 Nvidia Corporation Method and device for encoding and decoding video image data
US8660182B2 (en) * 2003-06-09 2014-02-25 Nvidia Corporation MPEG motion estimation based on dual start points
US7817869B2 (en) * 2004-05-07 2010-10-19 Sony Corporation Variable support robust transform for multiple description coding
US8503530B2 (en) * 2004-05-27 2013-08-06 Zhourong Miao Temporal classified filtering for video compression
JP2008503960A (ja) * 2004-06-23 2008-02-07 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ ピクセル補間
JP4736456B2 (ja) * 2005-02-15 2011-07-27 株式会社日立製作所 走査線補間装置、映像表示装置、映像信号処理装置
US20090022220A1 (en) * 2005-04-13 2009-01-22 Universitaet Hannover Method and apparatus for enhanced video coding
US8208564B2 (en) * 2005-06-24 2012-06-26 Ntt Docomo, Inc. Method and apparatus for video encoding and decoding using adaptive interpolation
WO2007011851A2 (en) * 2005-07-15 2007-01-25 Texas Instruments Incorporated Filtered and warped motion compensation
FR2889778A1 (fr) * 2005-08-12 2007-02-16 Thomson Licensing Sas Procede de codage et de decodage d'images video avec echelonnabilite spatiale
KR100754841B1 (ko) * 2005-10-28 2007-09-04 경희대학교 산학협력단 비트율 왜곡 비용에 기초하여 선택된 보간 필터를 이용하여공간 계층간 예측을 수행하는 스케일러블 h.264부호화/복호화 방법
US8731071B1 (en) 2005-12-15 2014-05-20 Nvidia Corporation System for performing finite input response (FIR) filtering in motion estimation
JP5513740B2 (ja) * 2006-03-27 2014-06-04 パナソニック株式会社 画像復号化装置、画像符号化装置、画像復号化方法、画像符号化方法、プログラムおよび集積回路
EP1841230A1 (en) * 2006-03-27 2007-10-03 Matsushita Electric Industrial Co., Ltd. Adaptive wiener filter for video coding
US8724702B1 (en) * 2006-03-29 2014-05-13 Nvidia Corporation Methods and systems for motion estimation used in video coding
EP1840875A1 (en) * 2006-03-31 2007-10-03 Sony Deutschland Gmbh Signal coding and decoding with pre- and post-processing
US8208553B2 (en) * 2006-05-04 2012-06-26 Altera Corporation Methods and apparatus for quarter-pel refinement in a SIMD array processor
US8831111B2 (en) * 2006-05-19 2014-09-09 The Hong Kong University Of Science And Technology Decoding with embedded denoising
TWI367457B (en) 2006-07-03 2012-07-01 Nippon Telegraph & Telephone Image processing method and apparatus, image processing program, and storage medium for storing the program
US8660380B2 (en) 2006-08-25 2014-02-25 Nvidia Corporation Method and system for performing two-dimensional transform on data value array with reduced power consumption
US9307122B2 (en) * 2006-09-27 2016-04-05 Core Wireless Licensing S.A.R.L. Method, apparatus, and computer program product for providing motion estimation for video encoding
KR101078038B1 (ko) 2006-10-10 2011-10-28 니폰덴신뎅와 가부시키가이샤 영상 부호화 방법 및 복호 방법, 그 장치와 그 프로그램, 및 프로그램을 기록한 기억 매체
CN101711481B (zh) * 2006-10-18 2013-01-09 汤姆森特许公司 使用预测数据精选进行视频编码的方法和装置
KR101354659B1 (ko) * 2006-11-08 2014-01-28 삼성전자주식회사 멀티 코덱을 지원하는 움직임 보상 방법 및 장치
KR20110059665A (ko) 2006-11-30 2011-06-02 가부시키가이샤 엔티티 도코모 동화상 부호화 장치, 동화상 부호화 방법, 동화상 부호화 프로그램, 동화상 복호화 장치, 동화상 복호화 방법 및 동화상 복호화 프로그램
US8509316B2 (en) 2007-01-09 2013-08-13 Core Wireless Licensing, S.a.r.l. Adaptive interpolation filters for video coding
US8942505B2 (en) * 2007-01-09 2015-01-27 Telefonaktiebolaget L M Ericsson (Publ) Adaptive filter representation
KR101369746B1 (ko) 2007-01-22 2014-03-07 삼성전자주식회사 적응적 보간 필터를 이용한 영상 부호화, 복호화 방법 및장치
US8756482B2 (en) 2007-05-25 2014-06-17 Nvidia Corporation Efficient encoding/decoding of a sequence of data frames
US9118927B2 (en) 2007-06-13 2015-08-25 Nvidia Corporation Sub-pixel interpolation and its application in motion compensated encoding of a video signal
US8571104B2 (en) * 2007-06-15 2013-10-29 Qualcomm, Incorporated Adaptive coefficient scanning in video coding
US8488668B2 (en) * 2007-06-15 2013-07-16 Qualcomm Incorporated Adaptive coefficient scanning for video coding
US8873625B2 (en) 2007-07-18 2014-10-28 Nvidia Corporation Enhanced compression in representing non-frame-edge blocks of image frames
US8090031B2 (en) * 2007-10-05 2012-01-03 Hong Kong Applied Science and Technology Research Institute Company Limited Method for motion compensation
KR20100067122A (ko) * 2007-10-05 2010-06-18 노키아 코포레이션 적응 보간 필터를 구현하는 방법, 장치 및 컴퓨터 판독가능 저장 매체
EP2048886A1 (en) * 2007-10-11 2009-04-15 Panasonic Corporation Coding of adaptive interpolation filter coefficients
EP2232874B1 (en) * 2008-01-08 2012-12-05 Telefonaktiebolaget L M Ericsson (publ) Adaptive filtering
US8638852B2 (en) * 2008-01-08 2014-01-28 Qualcomm Incorporated Video coding of filter coefficients based on horizontal and vertical symmetry
CN101926177A (zh) * 2008-03-07 2010-12-22 株式会社东芝 运动图像编码/解码装置
KR101591825B1 (ko) * 2008-03-27 2016-02-18 엘지전자 주식회사 비디오 신호의 인코딩 또는 디코딩 방법 및 장치
RU2477576C2 (ru) * 2008-04-10 2013-03-10 Квэлкомм Инкорпорейтед Поддержка интерполяционного фильтра для субпиксельного разрешения в видеокодировании
US8462842B2 (en) * 2008-04-10 2013-06-11 Qualcomm, Incorporated Symmetry for interpolation filtering of sub-pixel positions in video coding
US8804831B2 (en) 2008-04-10 2014-08-12 Qualcomm Incorporated Offsets at sub-pixel resolution
US8705622B2 (en) 2008-04-10 2014-04-22 Qualcomm Incorporated Interpolation filter support for sub-pixel resolution in video coding
US8831086B2 (en) 2008-04-10 2014-09-09 Qualcomm Incorporated Prediction techniques for interpolation in video coding
US9077971B2 (en) * 2008-04-10 2015-07-07 Qualcomm Incorporated Interpolation-like filtering of integer-pixel positions in video coding
US9967590B2 (en) 2008-04-10 2018-05-08 Qualcomm Incorporated Rate-distortion defined interpolation for video coding based on fixed filter or adaptive filter
US8971412B2 (en) 2008-04-10 2015-03-03 Qualcomm Incorporated Advanced interpolation techniques for motion compensation in video coding
US8059908B2 (en) * 2008-04-29 2011-11-15 Sony Corporation Adaptive area of influence filter for irregular spatial sub-sampled images
US8055087B2 (en) * 2008-04-29 2011-11-08 Sony Corporation Sample level variation for spatial sub-sampled images
US8059909B2 (en) * 2008-04-29 2011-11-15 Sony Corporation Adaptive generation of irregular spatial sub-sampling for images
US8811484B2 (en) * 2008-07-07 2014-08-19 Qualcomm Incorporated Video encoding by filter selection
US10123050B2 (en) * 2008-07-11 2018-11-06 Qualcomm Incorporated Filtering video data using a plurality of filters
KR101231080B1 (ko) 2008-07-30 2013-02-07 마이크로 모우션, 인코포레이티드 하나 이상의 디지털 필터들을 포함하는 프로세싱 시스템에서의 프로세서 동작의 최적화
EP2154893A1 (en) * 2008-08-13 2010-02-17 Thomson Licensing Method for modifying a reference block of a reference image, method for encoding or decoding a block of an image by help of a reference block and device therefor and storage medium or signal carrying a block encoded by help of a modified reference block
US8548041B2 (en) 2008-09-25 2013-10-01 Mediatek Inc. Adaptive filter
WO2010038858A1 (ja) * 2008-10-03 2010-04-08 ソニー株式会社 画像処理装置および方法
US8666181B2 (en) 2008-12-10 2014-03-04 Nvidia Corporation Adaptive multiple engine image motion detection system and method
US9143803B2 (en) 2009-01-15 2015-09-22 Qualcomm Incorporated Filter prediction based on activity metrics in video coding
CN102037732B (zh) * 2009-07-06 2013-03-27 联发科技(新加坡)私人有限公司 一种执行单循环自适应内插滤波的方法、编码器和译码器
KR101701342B1 (ko) 2009-08-14 2017-02-01 삼성전자주식회사 적응적인 루프 필터링을 이용한 비디오의 부호화 방법 및 장치, 비디오 복호화 방법 및 장치
JP2011050001A (ja) * 2009-08-28 2011-03-10 Sony Corp 画像処理装置および方法
CN101854549B (zh) * 2010-05-28 2012-05-02 浙江大学 基于空域预测的视频和图像编解码方法和装置
KR101710883B1 (ko) 2009-11-04 2017-02-28 삼성전자주식회사 필터 정보를 이용한 영상 압축 장치 및 방법과 영상 복원 장치 및 방법
CN107071480A (zh) * 2009-12-18 2017-08-18 夏普株式会社 解码装置
JP5439162B2 (ja) 2009-12-25 2014-03-12 株式会社Kddi研究所 動画像符号化装置および動画像復号装置
JP5759387B2 (ja) * 2010-01-08 2015-08-05 シャープ株式会社 符号化装置および復号装置
JP5436695B2 (ja) * 2010-01-14 2014-03-05 ドルビー ラボラトリーズ ライセンシング コーポレイション ビデオ適応フィルタリングのための方法、システム、ビデオエンコーダ、ビデオデコーダ、コンピュータ装置、集積回路(ic)装置、及びコンピュータ読取可能な記録媒体
US9219921B2 (en) * 2010-04-12 2015-12-22 Qualcomm Incorporated Mixed tap filters
US9154807B2 (en) 2010-06-25 2015-10-06 Qualcomm Incorporated Inclusion of switched interpolation filter coefficients in a compressed bit-stream
BR112013000554A2 (pt) * 2010-07-09 2020-09-24 Samsung Electronics Co., Ltd. método para interpolar imagem, e aparelho para interpolar imagem
MX2013003679A (es) 2010-10-01 2013-08-12 Samsung Electronics Co Ltd Metodo y aparato de intraprediccion de imagen.
US10045046B2 (en) * 2010-12-10 2018-08-07 Qualcomm Incorporated Adaptive support for interpolating values of sub-pixels for video coding
JP5571542B2 (ja) * 2010-12-22 2014-08-13 日本電信電話株式会社 映像符号化方法、及び映像復号方法
US9877019B2 (en) 2011-01-03 2018-01-23 Hfi Innovation Inc. Method of filter-unit based in-loop filtering
US8989261B2 (en) 2011-02-23 2015-03-24 Qualcomm Incorporated Multi-metric filtering
JP5670226B2 (ja) * 2011-03-04 2015-02-18 Kddi株式会社 動画像符号化装置、動画像符号化方法、およびプログラム
JP5552092B2 (ja) * 2011-06-13 2014-07-16 日本電信電話株式会社 動画像符号化装置、動画像符号化方法及び動画像符号化プログラム
JP5649523B2 (ja) * 2011-06-27 2015-01-07 日本電信電話株式会社 映像符号化方法,装置,映像復号方法,装置およびそれらのプログラム
JP5907367B2 (ja) * 2011-06-28 2016-04-26 ソニー株式会社 画像処理装置および方法、プログラム、並びに記録媒体
KR102085171B1 (ko) 2011-07-15 2020-03-06 지이 비디오 컴프레션, 엘엘씨 저-지연을 위한 샘플 배치 코딩
TWI595776B (zh) * 2012-06-27 2017-08-11 Sony Corp Image processing device and method
JP5972687B2 (ja) * 2012-07-02 2016-08-17 株式会社Nttドコモ 動画像予測符号化装置、動画像予測符号化方法、動画像予測符号化プログラム、動画像予測復号装置、動画像予測復号方法及び動画像予測復号プログラム
JP5798539B2 (ja) * 2012-09-24 2015-10-21 株式会社Nttドコモ 動画像予測符号化装置、動画像予測符号化方法、動画像予測復号装置及び動画像予測復号方法
US10218971B2 (en) * 2012-09-28 2019-02-26 Vid Scale, Inc. Adaptive upsampling for multi-layer video coding
JP2014082541A (ja) * 2012-10-12 2014-05-08 National Institute Of Information & Communication Technology 互いに類似した情報を含む複数画像のデータサイズを低減する方法、プログラムおよび装置
CN103905825B (zh) * 2012-12-27 2018-02-13 中国电信股份有限公司 视频图像的运动补偿方法和装置
US10356426B2 (en) * 2013-06-27 2019-07-16 Google Llc Advanced motion estimation
WO2015121701A1 (en) * 2014-02-13 2015-08-20 Intel Corporation Methods and apparatus to perform fractional-pixel interpolation filtering for media coding
US10306229B2 (en) 2015-01-26 2019-05-28 Qualcomm Incorporated Enhanced multiple transforms for prediction residual
CN106331722B (zh) 2015-07-03 2019-04-26 华为技术有限公司 图像预测方法和相关设备
EP3125429A1 (en) 2015-07-28 2017-02-01 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Partitioned block frequency domain adaptive filter device comprising adaptation modules and correction modules
CN105739935B (zh) * 2016-01-22 2019-06-04 厦门美图移动科技有限公司 一种多终端联合显示方法、装置及系统
US10623774B2 (en) 2016-03-22 2020-04-14 Qualcomm Incorporated Constrained block-level optimization and signaling for video coding tools
US11323748B2 (en) 2018-12-19 2022-05-03 Qualcomm Incorporated Tree-based transform unit (TU) partition for video coding
US11750784B2 (en) * 2019-05-31 2023-09-05 Medicapture, Inc. Automatic video file repair method and system
US11356707B2 (en) * 2019-09-23 2022-06-07 Qualcomm Incorporated Signaling filters for video processing
CN112004081A (zh) * 2020-06-15 2020-11-27 广东科学技术职业学院 一种视频编码方法

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0294955B1 (en) * 1987-06-09 1995-04-12 Sony Corporation Motion vector estimation in television images
US5784107A (en) * 1991-06-17 1998-07-21 Matsushita Electric Industrial Co., Ltd. Method and apparatus for picture coding and method and apparatus for picture decoding
JP2991833B2 (ja) 1991-10-11 1999-12-20 松下電器産業株式会社 インターレス走査ディジタルビデオ信号の符号化装置及びその方法
GB2301971B (en) 1995-06-06 1999-10-06 Sony Uk Ltd Video compression
US6122017A (en) 1998-01-22 2000-09-19 Hewlett-Packard Company Method for providing motion-compensated multi-field enhancement of still images from video
US6937772B2 (en) * 2000-12-20 2005-08-30 Eastman Kodak Company Multiresolution based method for removing noise from digital images
DE10120395A1 (de) * 2001-04-25 2002-10-31 Bosch Gmbh Robert Einrichtung zur Interpolation von Abtastwerten sowie Bildencoder und Bilddecoder

Also Published As

Publication number Publication date
RU2302707C2 (ru) 2007-07-10
BR0304545A (pt) 2004-11-03
CN100553321C (zh) 2009-10-21
AU2003201069B2 (en) 2008-02-28
AU2003201069A1 (en) 2003-07-24
KR100945546B1 (ko) 2010-03-08
WO2003058945A3 (en) 2003-12-31
SG149694A1 (en) 2009-02-27
EP1466477B1 (en) 2013-02-27
WO2003058945A2 (en) 2003-07-17
US20030169931A1 (en) 2003-09-11
RU2004124831A (ru) 2006-01-27
EP1466477A2 (en) 2004-10-13
AU2003201069C1 (en) 2008-11-06
HU228615B1 (en) 2013-04-29
KR20040075348A (ko) 2004-08-27
JP2005514872A (ja) 2005-05-19
US7379501B2 (en) 2008-05-27
JP4494789B2 (ja) 2010-06-30
MXPA04006814A (es) 2004-12-06
CN1615645A (zh) 2005-05-11
HUP0500030A2 (hu) 2005-07-28
EP1466477A4 (en) 2006-10-25

Similar Documents

Publication Publication Date Title
BRPI0304545B1 (pt) Método de codificação das imagens em uma seqüência de vídeo digital para fornecer os dados de vídeo codificados, codificador de vídeo, método de decodificação dos dados indicativos de uma sequência de vídeo digital, decodificador de vídeo, e, sistema de codificação de vídeo
RU2477575C2 (ru) Способ интерполяции значений под-пикселов
TW201830966A (zh) 用於雙向光學流(bio)之運動向量重建
BR112019027821A2 (pt) emparelhamento de gabarito com base em reconstrução parcial para derivação de vetor de movimento
BR112021000694A2 (pt) Codificador de vídeo, decodificador de vídeo, e métodos de codificação e decodificação correspondentes
BR112016015998B1 (pt) Sinalização de resolução de vetor de movimento adaptativa para codificação de vídeo
BR112014010046B1 (pt) Método para decodificar dados de vídeo, método e dispositivo para codificar dados de vídeo e memória legível por computador
JP2004215252A (ja) ビデオエラー隠蔽のための動的イントラ符号化マクロブロックリフレッシュインターバル
CN115314708B (zh) 视频码流的解码方法及对应的设备及介质
ES2947509T3 (es) Manejo de herramienta de codificación de flujo óptico bidireccional (BIO) para remuestreo de imagen de referencia en codificación de video
Shiu et al. A DCT-domain H. 263 based video combiner for multipoint continuous presence video conferencing
GB2379820A (en) Interpolating values for sub-pixels
AU2007237319B2 (en) Method for sub-pixel value interpolation
BRPI0211263B1 (pt) Método de interpolação em codificação de vídeo, codificador de vídeo para codificar uma imagem e terminal de comunicações
Bhaskaran et al. Video Teleconferencing Standards