BR122018016193B1 - Equipamento e método para a geração de uma seqüência de vídeo codificado usando uma predição de dados de movimento de camada intermediária - Google Patents

Equipamento e método para a geração de uma seqüência de vídeo codificado usando uma predição de dados de movimento de camada intermediária Download PDF

Info

Publication number
BR122018016193B1
BR122018016193B1 BR122018016193-0A BR122018016193A BR122018016193B1 BR 122018016193 B1 BR122018016193 B1 BR 122018016193B1 BR 122018016193 A BR122018016193 A BR 122018016193A BR 122018016193 B1 BR122018016193 B1 BR 122018016193B1
Authority
BR
Brazil
Prior art keywords
base
enhancement
motion
highlight
image
Prior art date
Application number
BR122018016193-0A
Other languages
English (en)
Inventor
Heiko Schwarz
Detlev Marpe
Thomas Wiegand
Original Assignee
Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=36129058&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=BR122018016193(B1) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. filed Critical Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V.
Priority claimed from PCT/EP2005/010223 external-priority patent/WO2006042611A1/de
Publication of BR122018016193B1 publication Critical patent/BR122018016193B1/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/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/103Selection of coding mode or of prediction mode
    • 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/103Selection of coding mode or of prediction mode
    • H04N19/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • 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/103Selection of coding mode or of prediction mode
    • H04N19/107Selection of coding mode or of prediction mode between spatial and temporal predictive coding, e.g. picture refresh
    • 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/103Selection of coding mode or of prediction mode
    • H04N19/109Selection of coding mode or of prediction mode among a plurality of temporal predictive coding modes
    • 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/103Selection of coding mode or of prediction mode
    • H04N19/11Selection of coding mode or of prediction mode among a plurality of spatial predictive coding modes
    • 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/13Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
    • 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/146Data rate or code amount at the encoder output
    • H04N19/147Data rate or code amount at the encoder output according to rate distortion criteria
    • 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/19Methods 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 using optimisation based on Lagrange multipliers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/30Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
    • H04N19/31Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability in the temporal domain
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/30Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
    • H04N19/33Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability in the spatial domain
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/30Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
    • H04N19/36Scalability techniques involving formatting the layers as a function of picture distortion after decoding, e.g. signal-to-noise [SNR] scalability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • 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/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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • H04N19/517Processing of motion vectors by encoding
    • H04N19/52Processing of motion vectors by encoding by predictive encoding
    • 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/56Motion estimation with initialisation of the vector search, e.g. estimating a good candidate to initiate a search
    • 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/567Motion estimation based on rate distortion criteria
    • 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/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
    • H04N19/615Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding using motion compensated temporal filtering [MCTF]
    • 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/63Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using sub-band based transform, e.g. wavelets
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards

Abstract

na codificação escalável de vídeo em conjunto com compensação de movimentos ambas em uma camada de base e em uma camada de realce, é feita uma predição dos dados de movimentos da camada de realce usando os dados de movimentos da camada de base para obter um conceito de escalabilidade, que proporciona, por um lado, uma flexibilidade máxima para o cálculo dos dados de movimentos das diferentes camadas e, por outro lado, admite uma menor taxa de dados.

Description

"EQUIPAMENTO E MÉTODO PARA A GERAÇÃO DE UMA SEQÜÊNCIA DE VÍDEO CODIFICADO USANDO UMA PREDIÇÃO DE DADOS DE MOVIMENTO DE CAMADA INTERMEDIÁRIA" Dividido do PI 0516336-6, depositado em 21/09/2005.
Descrição [0001] A presente invenção refere-se a sistemas de codificação de vídeo e, em particular, a sistemas de codificação de vídeo escalável, que podem ser usados em conexão com o padrão de codificação de vídeo H.264/AVC ou com os novos sistemas de codificação de vídeo MPEG.
[0002] O padrão H.264/AVC é o resultado de um projeto de padronização de vídeo do ITU-T video coding expert group VCEG e do ISO/IEC motion picture expert group (MPEG).
Os objetivos principais desse projeto de padronização são prover um nítido conceito de codificação de vídeo, com comportamento de compressão muito bom e, ao mesmo tempo, gerar uma representação de vídeo adequada à rede, que compreenda tanto a aplicação com "caráter de conversação", como vídeo telefonia, assim como aplicações sem o caráter de conversão (armazenagem, difusão, transmissão de fluxo).
[0003] Além do padrão ISO/IEC 14496-10 supramencionado, também existe uma pluralidade de publicações referentes ao padrão. Somente como exemplo, é feita referência ao "The Emerging H.264-AVC standard", Ralf Scháfer, Thomas Wiegand and Heiko Schwarz, EBU Technical Review, January 2003. Além disso, a publicação especializada "OverView of the H.264/AVC Video Coding Standard", Thomas Wiegand, Gary J. Sullivan, Gesle Bjontegaard and Ajay Lothra, IEEE Transactions on Circuits and Systems for Video Technology, July 2003, assim como a publicação especializada "Context-based adaptive Binary Arithmethic Coding in the H.264/AVC Video Compression Standard", Detlev Marpe, Heiko Schwarz and Thomas Wiegand, IEEE Transactions on Circuits and Systems for Video Technology, September 2003, compreendem uma visão geral detalhada dos diferentes aspectos de padrão de codificação de vídeo.
[0004] Entretanto, para uma melhor compreensão, será dada uma visão geral do algoritmo de codificação/decodificação de vídeo com referência às Figs. 9 a 11.
[0005] A Fig. 9 mostra a estrutura completa de um codificador de vídeo, que geralmente consiste de dois estágios diferentes. Em geral, o primeiro estágio, que geralmente opera relacionado ao vídeo, gera dados de saída, que são então submetidos a uma codificação de entropia por um segundo estágio, que está indicado por 80 na Fig. 9. Os dados são dados 81a, coeficientes de transformação quantizada 81b assim como dados de movimento 81c, caracterizado pelo fato de que esses dados 81a, 81b, 81c são fornecidos ao codificador de entropia 80 para gerar um sinal de vídeo codificado na saída do codificador de entropia 80.
[0006] Especificamente, o sinal de vídeo de entrada é particionado e dividido, respectivamente, em macroblocos, onde cada macrobloco tem 16 x 16 pixels. Então, é escolhida a associação dos macroblocos com os grupos de fatia e as fatias, de acordo com as quais cada macrobloco de cada fatia é processado pela rede de blocos operativos como ilustrado na Fig. 8. Deve ser notado que é possível um eficiente processamento paralelo de macroblocos quando existem diferentes fatias em uma imagem de vídeo. É feita a associação de macroblocos com os grupos de fatia e as fatias por meio de um controle do codificador de bloco 82 na Fig. 8.
Existem diferentes fatias, definidas como a seguir: [0007] Fatia I: A fatia I é uma fatia caracterizada pelo fato de que todos os macroblocos da fatia são codificados usando uma intra predição.
[0008] Fatia P: Além dos tipos de codificação das fatias I, alguns macroblocos da fatia P também podem ser codificados usando uma inter predição com pelo menos um sinal de predição com movimento compensado por bloco de predição.
[0009] Fatia B: Além dos tipos de codificadores disponíveis na Fatia P, alguns macroblocos da Fatia B também podem ser codificados usando uma inter predição com dois sinais de predição com movimento compensados por bloco de predição.
[0010] Os três tipos de codificadores acima são muito similares aos dos padrões anteriores, porém com a exceção do uso de imagens de referência, como será descrito abaixo. Os dois tipos de codificadores para fatias a seguir são novos no padrão H.264/AVC: [0011] Fatia SP: É também denominada de fatia P de comutação, que é codificada de maneira que seja possível uma eficiente comutação entre diferentes imagens pré-codifiçadas.
[0012] Fatia SI: A fatia SI é também denominada de fatia I de comutação, que permite uma exata adaptação dos macroblocos em uma fatia SP para um acesso randômico direto e para objetivos de recuperação de erro.
[0013] De qualquer forma, as fatias são uma seqüência de macroblocos, que são processados na ordem de um raster scan, caso não seja usada uma propriedade do FMO de ordenamento do macrobloco flexível, que também pode ser definida no padrão. Uma imagem pode ser particionada em uma ou várias fatias, como ilustrado na Fig. 11. Assim, uma imagem é uma coleção de uma ou várias fatias. Nesse sentido, as fatias são independentes entre si, já que seus elementos de sintaxe podem ser analisados (divididos em componentes) a partir da taxa de transferência de bits, caracterizada pelo fato de que os valores das amostras podem ser corretamente decodificados na faixa da imagem representada pela fatia, sem necessitar dos dados de outras fatias, desde que as imagens de referência usadas sejam idênticas tanto no codificador como no decodificador. Entretanto, podem ser necessárias algumas informações de outras fatias para a aplicação do filtro de desbloqueio nos limites das fatias.
[0014] A característica FMO modifica a maneira como as imagens são particionadas em fatias e macroblocos, usando o conceito de grupos de fatias. Cada grupo de fatias é um conjunto de macroblocos definido por um macrobloco para o mapeamento do grupo de fatias, que é especificado pelo conteúdo de um conjunto de parâmetros de imagens e por determinadas informações dos cabeçalhos das fatias. Esse macrobloco para o mapeamento do grupo de fatias consiste de um número de identificação de um grupo de fatias para cada macrobloco na imagem, caracterizado pelo fato de que é especificado para qual grupo de fatias pertence o macrobloco associado. Cada grupo de fatias pode ser particionado em uma ou várias fatias, de maneira que uma fatia é uma seqüência de macroblocos dentro do mesmo grupo de fatias, que é processada na ordem de uma amostragem raster dentro do conjunto de macroblocos de um específico grupo de fatias.
[0015] Cada macrobloco pode ser transmitido em um ou vários tipos de codificadores, dependendo do tipo de codificador de fatias. Em todos os tipos de codificadores de fatias, são suportados os seguintes tipos de intracodif icação, que são denominados de intra_4X4 ou intra_ i6xi6z caracterizado pelo fato de que ainda são suportados um modo de predição chroma e um modo de predição I-pcm· [0016] O modo intra_4X4 se baseia na predição de cada bloco chroma 4x4 separadamente e é muito bem adequado para codificar partes de uma imagem com detalhes importantes. 0 modo intra_i6xi6z por outro lado, faz uma predição de todo o bloco chroma 16x16 sendo mais adequado para a codificação de regiões "suaves" de uma imagem.
[0017] Além desses dois tipos de predição chroma, é feita uma predição chroma em separado. Como alternativa para intra_4x4 e intra_i6xi6z o tipo de codificador I_4x4 permite que o codificador simplesmente pule a predição, assim como o código de transformação, e por sua vez transmite diretamente os valores das amostras codificadas. O modo I-pcm tem os seguintes objetivos: Permite que o codificador represente os valores das amostras precisamente. Fornece uma maneira para representar os valores de conteúdo de imagem muito anormal exatamente sem ampliação de dados. Além disso, permite determinar um limite rígido para o número de bits, que o codificador precisa ter para o manuseio do macrobloco sem perda de eficiência de codificação.
[0018] Ao contrário dos padrões de codificação de vídeo anteriores (isto é, H.263 plus e MPEG-4 visual), onde a intra predição foi feita no domínio da transformação, a intra predição em H.264/AVC é sempre feita no domínio espacial, referindo-se às amostras adjacentes de blocos previamente codificados, que estão à esquerda e acima, respectivamente, do bloco a ser predito (Fig. 10). Em determinados ambientes, onde ocorrem erros de transmissão, isto pode provocar uma propagação de erros, onde essa propagação de erros ocorre devido à compensação de movimentos nos macroblocos intracodifiçados. Assim, pode ser sinalizado um modo de intracodificação limitado, que permite uma predição de somente macroblocos intracodifiçados adjacentes.
[0019] Quando é usado o modo intra_4x4, é predito cada bloco 4x4 das amostras espacialmente adjacentes. As 16 amostras do bloco 4x4 são preditas usando amostras previamente decodificadas nos blocos adjacentes. Pode ser usado um dos 9 modos de predição para cada bloco 4x4. Além da "predição DC" (onde é usado um valor para predizer todo o bloco 4x4), são especificados 8 modos de predição de direção.
Esses modos são adequados para predizer estruturas de direção em uma imagem, como as bordas em diferentes ângulos.
[0020] Além dos tipos de codificadores intra macroblocos, são especificados diferentes tipos de codificadores preditivos ou com compensação de movimentos como os tipos de macroblocos P. Cada tipo de macrobloco P corresponde a uma partição especifica do macrobloco nas formas de blocos, que são usadas para uma predição com movimento compensado. As partições com tamanhos de blocos luma de amostras 16x16, 16x8, 8x8 ou 8x16 são suportadas pela sintaxe. No caso de partições de amostras 8x8, é transmitido um outro elemento de sintaxe para cada partição 8x8. Esse elemento de sintaxe especifica se a respectiva partição 8x8 será ainda particionada em partições de amostras luma 8x4, 4x8 ou 4x4 e nas correspondentes amostras chroma.
[0021] O sinal de predição para cada bloco luma MxM codificado com predição é obtido mudando uma região da respectiva imagem de referência especificada por um vetor de movimento de translação e um índice de referência de imagem.
Assim, se o macrobloco for codificado usando quatro partições 8x8, e quando cada partição 8x8 for ainda particionada em quatro partições 4x4, pode ser transmitida a quantidade máxima de 16 vetores de movimento para um único macrobloco P dentro do denominado campo de movimento.
[0022] A fatia do parâmetro de quantização QP é usada para determinar a quantização dos coeficientes de transformação em H.264/AVC. O parâmetro pode assumir 52 valores. Esses valores são dispostos de maneira que um aumento de 1 com relação ao parâmetro de quantização significa um aumento de uma largura de etapa de quantização de cerca de 12%. Isto significa que um aumento do parâmetro de quantização em 6 provoca um aumento exato por um fator 2 da largura da etapa quantizadora. Deve ser notado que uma alteração do tamanho da etapa em cerca de 12 % também significa uma redução da taxa de bits em cerca de 12 %.
[0023] Os coeficientes de transformação quantizada de um bloco são geralmente são mostrados em formato de ziguezague e processados usando métodos de codificação de entropia. Os coeficientes 2x2 DC da componente chroma são amostras em seqüência raster scan e podem ser implementadas todas as operações de transformação inversa dentro de H.264/AVC usando somente adições e operações de mudança dos valores inteiros de 16 bits.
[0024] Com referência à Fig. 9, o sinal de entrada é primeiro particionado imagem a imagem em uma seqüência de vídeo, para cada imagem, nos macroblocos com 16x16 pixels.
Então, cada imagem é enviada a um subtrator 84, que subtrai a imagem original, que é enviado por um decodificador 85, que está contido no codificador. Os resultados da subtração, que significa os sinais residuais no domínio espacial, são agora transformados, escalados e quantizados (bloco 86) para obter os coeficientes de transformação quantizada na linha 81b.
Para a geração do sinal de subtração, que é alimentado no subtrator 874, os coeficientes de transformação quantizada são primeiro novamente escalados e transformados inversamente (bloco 87), para serem enviados a um somador 88, cuja saída alimenta o filtro de desbloqueio 89, caracterizado pelo fato de que o sinal de vídeo de saída que, por exemplo, será decodificado por um decodificador, pode ser monitorado na saída do filtro de desbloqueio, por exemplo, com objetivos de controle (saída 90).
[0025] Usando o sinal de saída decodificado na saída 90, é feita uma estimativa de movimento no bloco 91. Para a estimativa de movimento do bloco 90, é fornecida uma imagem do sinal de vídeo original, como visto na Fig. 9. O padrão permite duas diferentes estimativas de movimento, isto é, uma estimativa de movimento para frente e uma estimativa de movimento para trás. Na estimativa de movimento para frente, o movimento da imagem corrente é estimado com relação à imagem anterior. Na estimativa de movimento para trás, entretanto, o movimento da imagem corrente é estimado usando uma imagem futura. Os resultados da estimativa de movimento (bloco 91) são enviados a um bloco de compensação de movimentos 92, que realiza uma inter predição de movimento compensado, particularmente quando um comutador 93 é acionado para o modo de inter predição, como é o caso na Fig. 9. Se, entretanto, o comutador 93 for acionado para a predição intra imagens, é feita uma predição intra imagens usando um bloco 490. Portanto, não são necessários os dados de movimento, já que não é feita compensação de movimentos para uma predição intra imagens.
[0026] O bloco de estimativa de movimentos 91 gera dados de movimentos e campos de movimentos, respectivamente, caracterizado pelo fato de que os dados de movimentos e os campos de movimentos, respectivamente, que consistem de vetores de movimento, são transmitidos ao decodificador, de maneira que possa ser feita uma predição inversa correspondente, que significa a reconstrução usando os coeficientes de transformação e os dados de movimentos. Deve ser notado que no caso de uma predição para frente, o vetor de movimentos pode ser calculado a partir da imagem imediatamente anterior e a partir de várias imagens anteriores, respectivamente. Acima disso, deve ser notado que no caso de uma predição para trás, a imagem corrente pode ser calculada usando a imagem futura imediatamente adjacente e, é claro, também usando outras imagens futuras.
[0027] Trata-se de uma desvantagem do conceito de codificação de vídeo ilustrado na Fig. 9, de que este não proporciona uma simples possibilidade de escalabilidade. Como conhecido na técnica, o termo "escalabilidade" significa um conceito de codificador/decodificador, em que o codificador provê uma taxa de transferência de dados escalados. A taxa de transferência de dados escalados compreende uma camada de escalação base, assim como uma ou mais camadas de escalação de realces. A camada de escalação base compreende uma representação do sinal a ser codificado, geralmente com menor qualidade, mas também com menor taxa de transferência de dados. A camada de escalação de realce contém uma outra representação do sinal de vídeo, que proporciona uma representação de melhor qualidade com relação à camada de escalação base, comumente junto com a representação do sinal de vídeo na camada de escalação base. Por outro lado, a camada de escalação de realce tem, logicamente, requisitos individuais de bits, de maneira que o número de bits para a representação do sinal a ser codificado aumenta em cada camada de realce.
[0028] Dependendo do projeto e das possibilidades, o decodificador fará a decodificação, seja somente da camada de escalação base para prover uma má representação qualitativamente comparativa do sinal de imagem representado pelo sinal codificado. Entretanto, a cada "adição" de mais uma camada de escalação, o decodificador pode melhorar a qualidade do sinal, passo a passo (às custas da taxa de bits).
[0029] Dependendo da implementação e do canal de transmissão do codificador para o decodificador, é transmitida pelo menos a camada de escalação base, já que a taxa de bits da camada de escalação base é tipicamente tão baixa, que será suficiente um canal de transmissão tão limitado. Se o canal de transmissão não permitir mais larguras de bandas para a aplicação, será transmitida somente a camada de escalação base, mas não a camada de escalação de realce. Como conseqüência, o decodificador somente poderá gerar uma representação de baixa qualidade do sinal de imagem. Comparado com um caso não escalado, onde a taxa de dados teria sido tão alta que um sistema de transmissão não teria sido possível, a representação de baixa qualidade é vantajosa. Se o canal de transmissão permitir a transmissão de uma ou várias camadas de realce, o codificador transmitirá uma ou várias camadas de realce para o decodificador, de maneira a poder aumentar a qualidade do sinal de vídeo de saída passo a passo, dependendo do pedido.
[0030] Com relação à codificação das seqüências de vídeo, podem ser distintas duas diferentes escalações. Uma escalação é a escalação temporal, no que nem todas as imagens de uma seqüência de vídeo são transmitidas, mas que para a redução da taxa de dados, por exemplo, somente cada segundo quadro, cada terceiro quadro, cada quarto quadro, etc. é transmitido.
[0031] A outra escalação é a escalabilidade SNR (SNR = razão sinal:ruído), caracterizado pelo fato de que cada camada de escalação, por exemplo, tanto a camada de escalação base como a primeira, segunda, terceira, ... camada de escalação de realce todas compreendem informações de tempo, mas com qualidade variada. Assim, a camada de escalação base ter ia uma baixa taxa de dados, mas uma baixa razão sinal:ruído, onde esta razão sinal:ruído pode então ser aperfeiçoada, passo a passo pela adição em cada de uma camada de escalação de realce.
[0032] O conceito de codificador ilustrado na Fig. 9 é problemático, já que se baseia no fato de que somente valores residuais são gerados pelo subtrator 84, sendo então processados. Esses valores residuais são calculados com base em algoritmos de predição, na disposição mostrada na Fig. 9, que forma um circuito fechado pelo uso dos blocos 86, 87, 88, 89, 93, 94 e 84, caracterizado pelo fato de que um parâmetro de quantização entra no circuito fechado, o que significa nos blocos 86, 87. Se agora fosse implementada uma única escalabilidade SNR em, por exemplo, cada sinal residual predito sendo primeiramente quantizado com uma largura de etapa quantizadora grossa, e então quantizado passo a passo com larguras de etapa quantizadora mais finas, usando camadas de realce, isto teria as seguintes conseqüências. Devido à quantização inversa e à predição, particularmente com relação à estimativa de movimento (bloco 91) e à compensação de movimento (bloco 92), que ocorrem usando a imagem original, por um lado, e a imagem quantizada pelo outro lado, resulta uma "divergência" das larguras das etapas quantizadoras, tanto no codificador como no decodificador. Isto leva ao fato de que a geração de camadas de escalação de realce no lado do codificador se torna muito problemática. Depois, o processamento das camadas de escalação de realce no lado do decodificador se torna impossível, pelo menos com relação aos elementos definidos no padrão H.264/AVC. Portanto, a razão é o circuito fechado no codificador de vídeo ilustrado com relação à Fig. 9, onde está contida uma quantização.
[0033] No documento de padronização JVT-I 032 tl denominado "SNR-Scalable Extension of H.264/AVC", Heiko Schwarz, que Detlev Marpe e Thomas Wiegand apresentaram na nona reunião JVT entre 2 e 5 de dezembro de 2003 em San Diego, foi apresentada uma extensão escalável para H.264/AVC, que compreende uma escalabilidade tanto com relação ao tempo como à razão sinal:ruído (com igual ou diferente precisão temporal). Portanto, é introduzida uma representação de elevação das partições da sub-banda de tempo, o que permite o uso de métodos conhecidos para a predição com compensação de movimento.
[0034] Os algoritmos codificadores de vídeo baseados em ondículas, onde são usadas implementações de elevação para a análise de ondículas e para a síntese de ondículas, são descritos em J.-R. Ohm, "Complexity and delay analysis of MCTF interframe wavelet structures", ISO/IECJTC1/WG11 Doc.M8520, July 2002. Também podem ser encontrados comentários sobre escalabilidade em D. Taubman, "Successive refinement of video: fundamental issues, past efforts and new directions", Proc. of SPIE (VCIP'03), vol. 5150, pp. 649-663, 2003, em que, entretanto, são necessárias significativas alterações da estrutura do codificador. De acordo com a invenção, é obtido o conceito codificador/decodificador, que por um lado tem a possível escalabilidade e pode, por outro lado, se basear em elementos em conformidade com o padrão, particularmente, por exemplo, para a compensação de movimentos.
[0035] Antes será feita referência em maiores detalhes a uma estrutura codificador/decodificador com relação à Fig. 3, primeiro, será ilustrado com relação à Fig. 4 um esquema de elevação básico no lado do codificador e um esquema de elevação inverso no lado do decodificador, respectivamente. Podem ser encontradas explicações detalhadas sobre o histórico da combinação dos esquemas de elevação e das transformações de ondícula em W. Sweldens, "A custom design construction of biorthogonal wavelets", J. Appl. Comp.
Harm. Anal., vol. 3 (no. 2), pp. 186-200, 1996 e I.
Daubechies and W. Sweldens, "Factoring wavelet transforms into lifting Steps", J. Fourier Anal. Appl., vol. 4 (no.3), pp. 247-269, 1998. Em geral, o esquema de elevação consiste de três etapas, a etapa de decomposição polifásica, a etapa de predição e a etapa de atualização.
[0036] A etapa de decomposição compreende o particionamento do fluxo de dados no lado de entrada em uma primeira cópia idêntica para o ramal inferior 40a, assim como uma cópia idêntica para o ramal superior 40b. Também, a cópia idêntica do ramal superior 40b é retardada por um estágio de tempo (z_1), de maneira que uma amostra S2k+i com um índice ímpar k passa por um respectivo decimador e downsampler 42a, 42b, respectivamente, da mesma forma que uma amostra com um índice par S2k· O decimador 42a e 42b, respectivamente, reduz o número de amostras nos ramais superior e inferior 40b, 40a, respectivamente, pela eliminação de cada segunda amostra.
[0037] A segunda região II, que se relaciona com a etapa de predição, compreende um operador de predição 43 assim como um subtrator 44. A terceira região, que significa a etapa de atualização, compreende um operador de atualização 45 assim como um somador 46. No lado de saída, existem dois normalizadores 47, 48, para a normalização do sinal passa- alta hk (normalizador 47) e para a normalização do sinal passa-baixa lk pelo normalizador 48.
[0038] Particularmente, a decomposição polifásica conduz ao particionamento das amostras ímpares e pares de um sinal dado s [k] . Como a estrutura de correlação tipicamente mostra uma característica local, as componentes polifásicas pares e ímpares estão altamente correlacionadas. Assim, em uma etapa final, é feita uma predição (P) das amostras ímpares usando amostras inteiras. 0 operador de predição (P) correspondente para cada amostra ímpar é uma combinação linear das amostras pares adjacentes isto é, [0039] Como resultado da etapa de predição, as amostras ímpares são substituídas por seus respectivos valores residuais de predição [0040] Deve ser notado que a etapa de predição é equivalente à realização de um filtro passa-alta de um banco de filtros de dois canais, como ilustrado em I. Daubechies e W. Sweldens, "Factoring wavelet transforms into lifting steps", J. Fourier Anal. Appl. vol 4 (no.3), pp. 247-269, 1998.
[0041] Na terceira etapa do esquema de elevação, é feita a filtragem passa-baixa, substituindo as amostras pares ^event^] Por uma combinação linear de valores residuais de predição h[k]. O respectivo operador de atualização U é dado por [0042] Substituindo as amostras pares por [0043] o sinal dado s [k] pode finalmente ser representado por l(k) e h(k), caracterizado pelo fato de que cada sinal tem a metade da taxa da amostra. Como tanto a etapa de atualização como a etapa de predição são totalmente inversíveis, cuja correspondente transformação pode ser interpretada como banco de filtros de reconstrução perfeita criticamente amostrado. Na realidade, pode ser demonstrado que qualquer família biortogonal de filtros de ondículas pode ser feita por uma seqüência de uma ou várias etapas de predição e de uma ou várias etapas de atualização. Para a normalização das componentes passa-baixa e passa-alta, os normalizadores 47 e 48 são fornecidos com fatores de escalação adequadamente escolhidos Fi e Fh, como foi explicado.
[0044] O esquema de elevação inverso, que corresponde ao banco de filtro de síntese, está mostrado na Fig. 4 no lado direito. Consiste simplesmente da aplicação do operador de predição e de atualização em ordem inversa e com sinais invertidos, seguido pela reconstrução usando as componentes polifásicas pares e ímpares. Especificamente, o decodificador direito mostrado na Fig. 4 compreende novamente uma primeira região decodificadora I, uma segunda região decodificadora II, assim como uma terceira região decodificadora III. A primeira região decodificadora cancela o efeito do operador de atualização 45. Isto é realizado pelo fornecimento do sinal passa-alta, que foi renormalizado por um outro normalizador 50, para o operador de atualização 45.
Então, o sinal de saída do operador de atualização do lado do decodificador 45 é enviado ao subtrator 52, contrariamente ao somador 46 na Fig. 4. De maneira correspondente, é processado o sinal de saída do preditor 43, cujo sinal de saída é agora enviado a um somador 53 e não ao subtrator como no lado do codificador. Agora, ocorre um upsampling do sinal pelo fator 2 em cada ramal (blocos 54a, 54b). Então, o ramal superior é mudado por uma amostra no futuro, o que é equivalente a retardar o ramal inferior, para então realizar uma adição dos fluxos de dados no ramal superior e no ramal inferior em um somador 55, para obter o sinal reconstruído Sk na saída do banco de filtro de síntese.
[0045] Podem ser implementadas várias ondículas pelo preditor 43 e o operador de atualização 45, respectivamente.
Se a denominada ondícula hair for implementada, o operador de predição e o operador de atualização recebem a seguinte equação: de maneira que correspondam ao sinal de saída (análise) passa-alta e passa- baixa não normalizado, respectivamente, do filtro hair.
[0046] No caso da ondícula de ranhura biortogonal 5/3, o filtro de análise passa-baixa e passa-alta dessa ondícula tem 5 e 3 saídas de filtro, respectivamente, caracterizadas pelo fato de a correspondente função de escalação é uma ranhura B de segunda ordem. Em aplicações de codificador para imagens paradas, como JPEG 2000, essa ondícula é usada por um esquema codificador de sub-banda de tempo. Em um ambiente de elevação, a predição correspondente e os operadores de atualização da transformação 5/3 são dados como segue: [0047] A Fig. 3 mostra um diagrama de blocos de uma estrutura de codificador/decodificador com exemplares quatro níveis de filtros, dois no lado do codificador e dois no lado do decodificador. Pela Fig. 3, pode ser visto que o primeiro nível de filtros, o segundo nível de filtros, o terceiro nível de filtros e o quarto nível de filtros são idênticos com relação ao codificador. Os níveis de filtros com relação ao decodificador também são idênticos. No lado do codificador, cada nível de filtros compreende um preditor para trás Mio assim como um preditor para frente Mu 61 como elementos centrais. 0 preditor para trás 60 corresponde em princípio ao preditor 43 da Fig. 4, enquanto o preditor para frente 61 corresponde ao operador de atualização da Fig. 4.
[0048] Ao contrário da Fig. 4, deve ser notado que a Fig. 4 refere-se a um fluxo de amostras, em que a amostra tem um índice ímpar 2k+l, enquanto outra amostra tem um índice par 2k. Entretanto, como já explicado com relação à Fig. 1, a notação da Fig. 3 refere-se a um grupo de imagens ao invés de a um grupo de amostras. Se uma imagem tiver, por exemplo, um número de amostras e imagens, respectivamente, essa imagem é enviada totalmente. Então, a próxima imagem é enviada a, etc.
Assim, não mais existem amostras ímpares e pares, mas imagens ímpares e pares. De acordo com a invenção, o esquema de elevação descrito para amostras ímpares e pares se aplica às imagens ímpares e pares, respectivamente, cada uma das quais tem uma pluralidade de amostras. Agora, o preditor amostra por amostra 43 da Fig. 4 se torna a predição de compensação de movimento para trás 60, enquanto o operador de atualização amostra por amostra 45 se torna a predição de compensação de movimentos para frente imagem a imagem 61.
[0049] Deve ser notado que os filtros de movimento, que consistem de vetores de movimento e representam coeficientes para o bloco 60 e 61, são calculados para duas imagens relacionadas subseqüentes e são transmitidos como informações colaterais do codificador para o decodificador.
Entretanto, é uma importante vantagem do conceito da invenção que os elementos 91, 92, como descritos com referência à Fig. 9 e padronizados no padrão H.264/AVC, possam ser facilmente usados para calcular ambos os campos de movimentos Mio e os campos de movimentos Mu. Assim, nenhum novo preditor/operador de atualização deve ser usado para o conceito da invenção, mas o já existente algoritmo mencionado no padrão de vídeo, que é examinado e verificado quanto à funcionalidade e eficiência, pode ser usado para a compensação de movimentos na direção para frente ou na direção para trás.
[0050] Particularmente, a estrutura geral do banco de filtros usado ilustrado na Fig. 3 mostra uma decomposição temporal do sinal de vídeo com um grupo de 16 imagens, que são enviadas para uma entrada 64. A decomposição é uma decomposição temporal diádica do sinal de vídeo, caracterizado pelo fato de que na configuração mostrada na Fig. 3 com quatro níveis 24=16 de imagens, o que significa um tamanho de grupo de 16 imagens, é necessária para a obtenção da representação com a menor resolução temporal, o que significa os sinais na saída 28a e na saída 28b. Assim, se forem agrupadas 16 imagens, isto leva a um retardo de 16 imagens, o que torna o conceito, mostrado na Fig. 3 com quatro níveis, bastante problemático para aplicações interativas. Assim, se forem objetivadas aplicações interativas, é preferível formar menores grupos de imagens, como o agrupamento de quatro ou oito imagens. Então, o retardo é correspondentemente reduzido, de maneira que o uso para aplicações interativas se torna possível. Nos casos em que a interatividade não é necessária, como para propósitos de armazenagem, etc., o número de imagens de um grupo, que significa o tamanho do grupo, pode ser aumentado de forma correspondente, como para 32, 64, etc., imagens.
[0051] Dessa forma, é usada uma aplicação interativa do esquema de elevação com compensação de movimentos hair- based, que consiste da predição de compensação de movimentos para trás (Μχο) , como em H.264/AVC, compreendendo ainda uma etapa de atualização, que compreende uma compensação de movimentos para frente (Mu) . Tanto a etapa de predição como a etapa de atualização usam o processo de compensação de movimentos, como ilustrado na H.264/AVC. Também, não somente é usada a compensação de movimentos, como também o filtro de desbloqueio 89 indicado pelo número de referência 89 na Fig. 9.
[0052] O segundo nível de filtros compreende novamente o downsampler 66a, 66b, o subtrator 69, um preditor para trás 67, um preditor para frente 68, assim como um somador 70 e ainda um meio de processamento para enviar a primeira e a segunda imagem passa-alta do segundo nível para uma saída do outro meio de processamento, enquanto a primeira e a segunda imagens passa-baixa do segundo nível são enviadas pela saída do somador 70.
[0053] Além disso, o codificador da Fig. 3 compreende um terceiro nível, assim como um quarto nível, caracterizado pelo fato de que é enviado um grupo de 16 imagens para a entrada do quarto nível 64. Em uma saída passa-alta de quarto nível 72, que também é denominada de HP4, são enviadas oito imagens passa-alta quantizadas com um parâmetro de quantização Q e correspondentemente processadas.
Também, são enviadas oito imagens passa-baixa em uma saída passa-baixa 73 do quarto nível de filtros, que são alimentadas em uma entrada 74 do terceiro nível de filtros.
Esse nível, novamente, é efetivo para gerar quatro imagens passa-alta em uma saída passa-alta 75, que também é denominada de HP3, e para gerar quatro imagens passa-baixa em uma saída passa-baixa 76, que são alimentadas em uma entrada 10 do segundo nível de filtros e decompostas.
[0054] Deve ser particularmente notado que o grupo de imagens processado por um nível de filtros não necessariamente deve ser de imagens de vídeo originando-se de uma seqüência original de vídeo, mas também pode ser de imagens passa-baixa, que são enviadas por um maior nível seguinte de filtros em uma saída passa-baixa do nível de filtros.
[0055] Além disso, deve ser notado que o conceito de codificador mostrado na Fig. 3 para 16 imagens pode facilmente ser reduzido para oito imagens, quando simplesmente é omitido o quarto nível de filtros e o grupo de imagens é enviado na entrada 74. Da mesma forma, o conceito mostrado na Fig. 3 também pode ser ampliado para um grupo de 32 imagens, pela adição de um quinto nível de filtros e então pelo envio de 16 imagens passa-alta na saída passa-alta do quinto nível de filtros, alimentando as dezesseis imagens passa-baixa na saída do quinto nível de filtros na entrada 64 do quarto nível de filtros.
[0056] O conceito do tipo árvore do lado do codificador é também aplicado no lado do decodificador, mas agora não mais, como no lado do codificador, do nível alto para o nível baixo mas, no lado do decodif icador, do nível mais baixo para o nível mais alto. Portanto, o fluxo de dados é recebido a partir de um meio de transmissão, denominado esquematicamente de camada de abstração da rede 100, e a taxa de transferência de bits recebida é primeiramente submetida a um outro processamento inverso usando um outro meio de processamento inverso, para obter uma versão reconstruída da primeira imagem passa-alta do primeiro nível na saída do meio 30a e uma versão reconstruída da imagem passa-baixa de primeiro nível na saída do bloco 30b da Fig. 3. Então, de maneira análoga à metade direita da Fig. 4, primeiro a predição de compensação de movimentos para frente é revertida por meio do preditor 61, para então subtrair o sinal de saída do preditor 61 da versão reconstruída do sinal passa-baixa (subtrator 101).
[0057] O sinal de saída do subtrator 101 é enviado a um preditor de compensação para trás 60 para gerar um resultado de predição, que é adicionado à versão reconstruída da imagem passa-alta em um somador 102. Então, ambos os sinais, que significa os ramais do ramal inferior 103a, 103b, são levados à taxa de dupla amostragem, usando o upsampler 104a, 104b, caracterizado pelo fato de que então o sinal no ramal superior é retardado ou "acelerado", dependendo da implementação. Deve ser notado que o upsampling é feito pela ponte 104a, 104b simplesmente pela inserção de alguns zeros, o que corresponde ao número de amostras de uma imagem. A mudança pelo retardo de uma imagem pelo elemento mostrado com z’1 no ramal superior 103b com relação ao ramal inferior 103a mostra que a adição por um somador 106 faz com que as duas imagens passa-baixa de segundo nível ocorram de maneira subseqüente no lado de saída com relação ao somador 106.
[0058] As versões reconstruídas da primeira e da segunda imagens passa-baixa de segundo nível são então enviadas para o filtro inverso do lado do decodificador do segundo nível, sendo aí combinadas novamente com as imagens passa-alta de segundo nível transmitidas pela implementação idêntica do banco de filtros inverso para obter uma seqüência das quatro imagens passa-baixa de terceiro nível em uma saída 101 do segundo nível. As quatro imagens passa-baixa de terceiro nível são então combinadas em um nível de filtros inverso do terceiro nível com as imagens passa-alta de terceiro nível transmitidas para obter oito imagens passa- baixa de quarto nível em formato subseqüente em uma saída 110 do filtro inverso de terceiro nível. Essas oito imagens passa-baixa de terceiro nível serão então combinadas novamente com as oito imagens passa-alta de quarto nível recebidas a partir do meio de transmissão 100 pela entrada HP4, em um filtro inverso de quarto nível, conforme discutido em relação ao primeiro nível, para obter um grupo reconstruído de 16 imagens em uma saída 112 do filtro inverso de quarto nível.
[0059] Assim, em todos os estágios do banco de filtros de análise, duas figuras, sejam as figuras originais ou as figuras que representam os sinais passa-baixa e gerados em um próximo nível mais alto, são decompostas em um sinal passa-baixa e em um sinal passa-alta. O sinal passa-baixa pode ser considerado como uma representação das características comuns das imagens de entrada, enquanto o sinal passa-alta pode ser considerado como uma representação das diferenças entre as imagens de entrada. No estágio correspondente do banco de filtro de síntese, as duas imagens de entrada são novamente reconstruídas usando o sinal passa- baixa e o sinal passa-alta. Como as operações inversas da etapa de análise são feitas na etapa de síntese, o banco de filtro de análise/síntese (sem quantização, é claro) garante uma reconstrução perfeita.
[0060] A única ocorrência de perdas é devida a uma quantização nos demais meios de processamento, como em 26a, 26b, 18. Se a quantização for feita de forma fina, é obtida uma boa razão sinal:ruído. Se, entretanto, a quantização for feita muito grosseiramente, é obtida uma razão sinal:ruído relativamente má, mas com baixa taxa de bits, o que significa baixa demanda.
[0061] Sem escalabilidade SNR, pode ser implementado um controle de escalabilidade de tempo já com o conceito mostrado na Fig. 3. Portanto, é usado o controle de escalabilidade de tempo 120, que é formado para obter a saída passa-alta e passa-baixa, respectivamente, e as saídas dos demais meios de processamento (26a, 26b, 18...), respectivamente, no lado de entrada para gerar um fluxo de dados escalado a partir desses fluxos parciais de dados TPl, HPl, HP2, HP3, HP4, que tem a versão processada da primeira imagem passa-baixa e a primeira imagem passa-alta em uma camada de escalação base. Então, a versão processada da segunda imagem passa-alta poderia se acomodar em uma primeira camada de escalação de realce. As versões processadas das imagens passa-alta de terceiro nível poderíam ser acomodadas em uma segunda camada de escalação de realce, enquanto as versões processadas das imagens passa-alta de quarto nível são introduzidas em uma terceira camada de escalação de realce. Portanto, somente baseado na camada de escalação base, o decodificador já poderia gerar uma sequência de imagens passa-baixa de baixo nível com menor qualidade de tempo, que significa duas imagens passa-baixa de primeiro nível por grupo de imagens. Com a adição de cada camada de escalação de realce, o número de imagens reconstruídas por grupo sempre pode ser dobrado. A funcionalidade do decodificador é tipicamente controlada por um controle de escalação, que é formado para detectar quantas camadas de escalação estão contidas no fluxo de dados e quantas camadas de escalação devem ser consideradas pelo decodificador durante a decodificação, respectivamente.
[0062] O documento JVT, JVT-J 035, com o título "SNR-Scalable Extension of H.264/AVC" Heiko Schwarz, Detlev Marpe and Thomas Wiegand, apresentado durante a décima reunião JVT em Waikoloa, Havaí, entre 8 e 12 de dezembro de 2003, mostra uma extensão escalável SNR do esquema de decomposição temporal ilustrado nas Figs. 3 e 4.
Particularmente, uma camada de escalação de tempo é particionada em "subcamadas de escalação SNR" individuais, caracterizada pelo fato de que uma camada de base SNR é obtida de maneira que uma determinada camada de escalação de tempo é quantizada com uma primeira largura de etapa quantizadora mais grossa para obter a camada de base SNR.
Então, entre outras coisas, é feita uma quantização inversa, e o sinal resultante da quantização inversa é subtraído do sinal original para obter um sinal de diferença, que é então quantizado com uma largura de etapa quantizadora mais fina para obter a segunda camada de escalação. Entretanto, a segunda camada de escalação é requantizada com a largura da etapa quantizadora mais fina para subtrair o sinal obtido após a requantização do sinal original para obter um outro sinal de diferença, que, outra vez após a quantização, porém agora com uma largura de etapa quantizadora mais fina, represente uma segunda camada de escalação SNR e uma camada de realce SNR, respectivamente.
[0063] Portanto, foi achado que os esquemas de escalabilidade supramencionados, baseados na filtragem temporal com compensação de movimento (MCTF), já provêem uma alta flexibilidade com relação à escalabilidade temporal como também à escalabilidade SNR. Mas ainda existe um problema de que a taxa de bits de várias camadas de escalação em conjunto ainda está significativamente acima da taxa de bits, que pode ser obtida quando as imagens da maior qualidade forem codificadas sem escalabilidade. Devido às informações colaterais das diferentes camadas de escalação, os codificadores escaláveis podem nunca obter a taxa de bits do caso não escalado. Entretanto, a taxa de bits de um fluxo de dados com várias camadas de escalação deveria aproximar-se o mais possível da taxa de bits do caso não escalado.
[0064] Ainda, o conceito de escalabilidade deve prover alta flexibilidade para todos os tipos de escalabilidade, o que significa alta flexibilidade tanto em relação ao tempo como ao espaço, e também com relação ao SNR.
[0065] A alta flexibilidade é particularmente importante quando as imagens prontas com baixa resolução forem suficientes, mas seja desejável uma maior resolução temporal. Essa situação ocorre, por exemplo, quando existirem rápidas mudanças nas figuras, como, por exemplo, em vídeos de esportes coletivos, quando além da bola, muitas pessoas se movimentam ao mesmo tempo.
[0066] Uma outra desvantagem dos conceitos existentes de escalabilidade, é que utilizam os dados de movimentos idênticos para todas as camadas de escalação, que ou limitam a flexibilidade da escalabilidade ou resultam em uma predição de movimentos não ideal ou em um sinal residual crescente da predição de movimentos, respectivamente.
[0067] Por outro lado, uma transmissão de dados de movimento totalmente diferente de duas diferentes camadas de escalação conduz a um bloqueio significativo, já que particularmente quando são consideradas camadas de escalação SNR relativamente baixas, em que a quantização é feita de maneira relativamente grosseira, a porção de dados de movimentos na taxa de transferência geral de bits se torna considerável. Um conceito de escalabilidade flexível, caracterizado pelo fato de que diferentes dados de movimentos e diferentes camadas de escalação se tornam possíveis, é assim compensado pela taxa adicional de bits, que é particularmente desvantajoso com relação ao fato de que todos os esforços são feitos para a redução da taxa de bits. Além disso, os novos bits para a transmissão de dados de movimentos existem particularmente nas camadas mais baixas de escalação, comparados com os bits dos valores residuais de predição de movimento. Entretanto, exatamente aí, torna-se particularmente desagradável, já que nas camadas mais baixas de escalação é feito um esforço para obter uma qualidade suficientemente aceitável, o que significa usar pelo menos um parâmetro de quantização suficientemente razoável e, ao mesmo tempo, obter uma menor taxa de bits.
[0068] Trata-se do objetivo da presente invenção prover um conceito escalável de sistema codificador de vídeo, que proporcione uma menor taxa de dados e ainda demonstre flexibilidade.
[0069] Esse objetivo é alcançado por um equipamento para a geração de uma sequência de vídeo codificado de acordo com a reivindicação 1, um método para a geração de uma sequência de vídeo codificado de acordo com a reivindicação 15, um equipamento para a decodif icação de uma sequência de vídeo codificado de acordo com a reivindicação 16, um método para a decodificação de uma sequência de vídeo codificado de acordo com a reivindicação 21, um programa de computador de acordo com a reivindicação 22 ou um meio de leitura por computador de acordo com a reivindicação 23.
[0070] A presente invenção se baseia no conhecimento de que outras economias de taxa de dados com flexibilidade simultânea relativas às diferentes camadas de escalação SNR ou espaciais são obtidas com o uso dos dados de movimento de base no cálculo dos dados de movimentos de realce dentro de uma compensação de movimentos de realce da camada de escalação de realce. Assim, de acordo com a invenção, no cálculo dos dados de movimentos de realce, não é fingido que não houve dados de movimentos da camada de base, mas os dados de movimentos da camada de base são integrados no cálculo.
[0071] Aqui, de acordo com as configurações preferidas da presente invenção, é usado um conceito de adaptação, isto é, de que para diferentes blocos de uma imagem podem ser tomadas diferentes formas de consideração dos dados de movimento de base, e que obviamente para um bloco pode ser totalmente omitido uma predição de dados de movimentos de realce com os dados de movimento de base como preditor, quando estiver provado que a predição não tem sucesso para a redução dos dados. Caso tiver sido feita alguma predição de dados de movimentos de realce utilizando os dados de movimento de base e sobre qual tipo se tratou, será transmitida na taxa de transferência de bits com as informações de sinalização associadas a um bloco e indicadas ao decodificador. Assim, o decodificador pode recorrer aos dados de movimento de base já reconstruídos no decodificador para a reconstrução dos dados de movimentos para um bloco, caracterizado pelo fato de que deve recorrer e de que maneira deve recorrer, sendo sinalizado pelas informações de sinalização na taxa de transferência de bits transmitida bloco a bloco.
[0072] Dependendo da implementação, os dados de movimento de base podem ser considerados no cálculo real dos dados de movimentos de realce, já que serão subsequentemente usados pelo compensador de movimento de realce. Entretanto, de acordo com a invenção, é preferível calcular os dados de movimentos de realce independentemente dos dados de movimento de base e usar os dados de movimento de base somente no pós- processamento dos dados de movimentos de realce para obter os dados de movimentos de realce que sejam realmente transmitidos para o codificador de imagem de realce.
Portanto, de acordo com a invenção, com o objetivo de alta flexibilidade, é feito um cálculo independente dos dados de movimentos de realce, caracterizado pelo fato de que são usados independentes dos dados de movimentos de realce calculados a partir dos dados de movimento de base para a predição de movimentos no lado do codificador, enquanto os dados de movimento de base são somente usados com o objetivo de calcular um sinal residual de qualquer tipo para reduzir os bits necessários para a transmissão dos vetores de movimento de realce.
[0073] Em uma configuração preferida da presente invenção, a predição da camada intermediária dos dados de movimentos é suplementada por uma predição de valor residual da camada intermediária, de maneira a utilizar as redundâncias entre as diferentes camadas de escalação da melhor forma possível, também nos valores residuais da predição com compensação de movimentos e para considerá-las com objetivos da redução da taxa de dados.
[0074] Em uma configuração preferida da presente invenção, a redução de taxa de dados não é somente obtida por uma predição com compensação de movimentos realizada dentro de uma camada de escalação, mas também com uma predição de camada de escalação intermediária das imagens residuais após a predição com compensação de movimentos de uma camada inferior, por exemplo, a camada de base, para uma camada superior, como a camada de realce.
[0075] Foi determinado que dentro da mesma camada de escalação temporal, os valores residuais das demais camadas de escalação individuais consideradas, que são preferivelmente escalados com relação à resolução ou com relação à razão sinal: ruído (SNR), também possuem correlações entre os valores residuais após a predição com compensação de movimentos. De acordo com a invenção, essas correlações são utilizadas vantajosamente, já que é provido um preditor de camada intermediária no lado do codificador para a camada de escalação de realce, que corresponde a um combinador de camada intermediária no lado do decodificador.
De preferência, este preditor de camada intermediária é projetado de maneira adaptativa, para poder decidir, por exemplo, para cada macrobloco, se é compensador o esforço de predição de uma camada intermediária, ou se a predição deveria de preferência conduzir a um aumento da taxa de bits.
Este último é o caso de quando o sinal residual da predição se torna maior do que o sinal residual de compensação de movimentos originais da camada de realce com relação a um subsequente codificador de entropia. Entretanto, o problema não ocorrerá em muitos casos, de maneira que o preditor de camada intermediária é ativado e conduz a uma significativa redução da taxa de bits.
[0076] As configurações preferidas da presente invenção serão explicadas a seguir, com referência aos desenhos de acompanhamento, onde: [0077] A Fig. Ia é uma configuração preferida de um codificador da invenção;
[0078] A Fig. lb é uma representação detalhada de um codificador de imagem de base da Fig. Ia;
[0079] A Fig. lc é uma discussão sobre a funcionalidade de um marcador preditor de camada intermediária;
[0080] A Fig. ld é uma descrição de um marcador de dados de movimento;
[0081] A Fig. le é uma implementação preferida do compensador de movimento de realce 1014 da Fig. Ia;
[0082] A Fig. lf é uma implementação preferida dos meios de determinação dos dados de movimentos de realce 1078 da Fig. 2;
[0083] A Fig. lg é uma representação da visão geral de três configurações preferidas para o cálculo dos dados de movimentos de realce e para o processamento dos dados de movimentos de realce com o objetivo de sinalização e da transmissão de dados residuais, se necessário;
[0084] A Fig. 2 é uma configuração preferida do decodificador da invenção;
[0085] A Fig. 3 é um diagrama de blocos de um decodificador com quatro níveis;
[0086] A Fig. 4 é um diagrama de blocos para a ilustração da decomposição de elevação de um banco de filtros de sub-banda de tempo;
[0087] A Fig. 5a é uma representação da funcionalidade do esquema de elevação mostrado na Fig. 4;
[0088] A Fig. 5b é uma representação de duas especificações preferidas de levantamento com predição unidirecional (ondícula hair) e predição bidirecional (transformação 5/3);
[0089] A Fig. 5c é uma configuração preferida dos operadores de predição e atualização com compensação de movimentos e índices de referência para uma escolha arbitrária de duas imagens a serem processadas pelo esquema de elevação;
[0090] A Fig. 5d é uma representação do intramodo onde as informações da imagem original podem ser inseridas, macrobloco a macrobloco, nas imagens passa-alta;
[0091] A Fig. 6a é uma representação esquemática para a sinalização de um modo macrobloco;
[0092] A Fig. 6b é uma representação esquemática para o upsampling de dados de movimentos em uma escalabilidade espacial de acordo com uma configuração preferida da presente invenção;
[0093] A Fig. 6c é uma representação esquemática da sintaxe de fluxo de dados para diferenças de vetores de movimentos;
[0094] A Fig. 6d é uma representação esquemática de um realce de sintaxe de valor residual de acordo com uma configuração preferida da presente invenção;
[0095] A Fig. 7 é um diagrama de visão geral para a ilustração da mudança de tempo de um grupo de, por exemplo, 8 imagens;
[0096] A Fig. 8 é uma colocação preferida de tempo de imagens passa-baixa para um grupo de 16 imagens;
[0097] A Fig. 9 é um diagrama de blocos da visão geral da ilustração da estrutura codificadora básica de um codificador de acordo com o padrão H.264/AVC para um macrobloco;
[0098] A Fig. 10 é uma disposição do contexto que consiste de dois elementos pixel adjacentes A e B na esquerda e acima e um elemento de sintaxe corrente C, respectivamente, e [0099] A Fig. 11 é uma representação da partição de uma imagem em fatias.
[0100] A Fig. Ia mostra uma configuração preferida de um equipamento para a geração de uma sequência de vídeo codificado, que tem uma camada de escalação base e uma camada de escalação de realce. É enviada uma sequência original de vídeo com um grupo de 8, 16 ou qualquer número de imagens por meio da entrada 1000. No lado de saída, a sequência de vídeo codificado contém a camada de escalação base 1002 e a camada de escalação de realce 1004. A camada de escalação de realce 1004 e a camada de escalação base 1002 podem ser enviadas a um multiplexador de fluxo de bits, que gera um único fluxo escalável de bits no lado de saída. Entretanto, dependendo da implementação, é também possível e útil em alguns casos uma transmissão separada das duas camadas de escalação. A Fig. Ia mostra um codificador para a geração de duas camadas de escalação, que significa uma camada de escalação base e uma camada de escalação de realce. Para obter um codificador, que, caso necessário, gera uma ou mais outras camadas de realce, a funcionalidade da camada de escalação de realce deve ser repetida, caracterizada pelo fato de que uma maior camada de escalação de realce é sempre fornecida com os dados da próxima camada de escalação de realce mais baixa, como a camada de escalação de realce 1004 mostrada na Fig. 1 é enviada com os dados da camada de escalação base 1002.
[0101] Antes será feita referência em detalhes dos diferentes tipos de escalação, como a escalabilidade SNR ou a escalabilidade espacial ou uma escalabilidade combinada de escalabilidade espacial e SNR; primeiro, será ilustrado o princípio básico da presente invenção. Primeiro, o codificador compreende um compensador de movimento de base ou estimador de movimento de base 1006 para o cálculo dos dados de movimento de base, o que indica como um macrobloco movimentou-se em uma imagem corrente em relação à outra imagem em um grupo de imagens, cujo compensador de movimento de base 1006 obtém no lado de entrada. São conhecidas técnicas para o cálculo dos dados de movimentos, particularmente para o cálculo de um vetor de movimentos para um macrobloco, que é basicamente uma região de pixels em uma imagem de vídeo digital. De preferência, é usado o cálculo da compensação de movimentos, já que está padronizado no padrão de codificação de vídeo H.264/AVC. Portanto, é considerado um macrobloco de uma imagem posterior e é determinado como o macrobloco "movimentou-se" em comparação com uma imagem anterior. Esse movimento (na direção xy) é indicado por um vetor de movimentos bidimensional, que é calculado pelo bloco 1006 para cada macrobloco e enviado a um codificador de imagem de base 1010 por meio de uma linha de dados de movimentos 1008. Então, é calculado para a próxima imagem como um macrobloco movimentou-se da imagem anterior para a próxima imagem.
[0102] Em uma implementação, esse novo vetor de movimentos, que, de certa forma, indica o movimento da segunda para uma terceira imagem, pode ser novamente transmitido como um vetor bidimensional. Entretanto, por motivos de eficiência, é preferível somente transmitir uma diferença do vetor de movimentos, que significa a diferença do vetor de movimentos de um macrobloco da segunda para a terceira imagem e o vetor de movimentos do macrobloco da primeira para a segunda imagem. Também podem ser usadas referências alternativas e diferenças de vetores de movimentos, respectivamente, não às imagens imediatamente anteriores, mas a outras imagens anteriores.
[0103] Os dados de movimentos, que foram calculados pelo bloco 1006, serão então fornecidos a um preditor de movimento de base 1012, que é projetado para calcular uma sequência base de imagens de erro residual para o uso dos dados de movimentos e do grupo de imagens. Assim, o preditor de movimento de base realiza a compensação de movimentos, que foi, de certa forma, preparada pelo compensador de movimentos e pelo estimador de movimentos, respectivamente. Essa sequência base de imagens de erro residual será então enviada ao codificador de imagem de base. O codificador de imagem de base é formado para prover a camada de escalação base 1002 em sua saída.
[0104] Ainda, o codificador da invenção compreende um compensador de movimento de realce ou estimador de movimento de realce 1014 para a detecção dos dados de movimentos de realce. Esses dados de movimentos de realce são enviados a um preditor de movimento de realce 1016, que gera uma sequência de realce de imagens de erro residual no lado de saída e a envia para um preditor a jusante de camada intermediária 1018. Assim, o preditor de movimento de realce realiza a compensação de movimentos, que, de certa forma, foi preparada pelo compensador de movimentos e pelo estimador de movimentos, respectivamente.
[0105] O preditor de camada intermediária é formado para calcular as imagens de erro residual de predição de realce no lado de saída. Dependendo da implementação, o preditor de camada intermediária usa adicionalmente os dados, que obtém do bloco 1016, que significa adicionalmente à sequência de realce das imagens de erro residual, a sequencia base de imagens de erro residual, como provida pelo bloco 1012 por meio de uma linha de desvio pontilhada 1020. De forma alternativa, o bloco 1018 também pode usar uma sequência interpolada de imagens de erro residual, que é fornecida na saída do bloco 1012 e interpolada por um interpolador 1022. Novamente de forma alternativa, o preditor de camada intermediária também pode prover uma sequência base reconstruída de imagens de erro residual, como provida em uma saída 1024 do codificador de imagem de base 1010. Como pode ser visto na Fig. Ia, essa sequência base reconstruída de imagens de erro residual pode ser interpolada 1022 ou não interpolada 1020. Assim, em geral, o preditor de camada intermediária opera usando a sequência base de imagens de erro residual, caracterizada pelo fato de que são obtidas as informações na entrada do preditor de camada intermediária 1026, por exemplo, por uma reconstrução ou interpolação da sequência base de imagens de erro residual na saída do bloco 1012.
[0106] À jusante do preditor de camada intermediária 1018, existe um codificador de imagem de realce 1028, que é formado para codificar as imagens de erro residual de predição de realce para obter a camada de escalação de realce codificada 1004.
[0107] Em uma configuração preferida da presente invenção, o preditor de camada intermediária é formado para subtrair o sinal em sua saída 1026, macrobloco a macrobloco, e imagem a imagem, do respectivo sinal, que o preditor de camada intermediária 1018 obtém do preditor de movimento de realce 1016. O sinal resultante obtido dessa subtração representa então um macrobloco de uma imagem das imagens de erro residual de predição de realce.
[0108] Em uma configuração preferida da presente invenção, o preditor de camada intermediária é formado de maneira adaptativa. Para cada macrobloco, existe um marcador preditor de camada intermediária 1030, que indica o preditor de camada intermediária para o qual deve fazer uma predição, ou que indica, em seu outro estado, que não devem ser feitas predições, mas que o correspondente macrobloco na saída do preditor de movimento de realce 1016 deve ser enviado para o codificador de imagem de realce 1028 sem mais predições. Essa implementação adaptativa tem a vantagem que uma predição de camada intermediária é somente feita onde seja útil, onde o sinal residual de predição conduza a uma menor taxa de imagem de saída comparada com o caso em que não deva ser feita nenhuma predição de camada intermediária, mas onde os dados de saída do preditor de movimento de realce 1016 tiverem sido diretamente codificados.
[0109] No caso de uma escalabilidade espacial, é provido um decimador 1032 entre a camada de escalação de realce e a camada de escalação base, sendo formado para converter a sequência de vídeo em sua entrada, que possui uma determinada resolução espacial, para uma sequência de vídeo em sua saída, que tem uma menor resolução. Se for pretendida uma escalabilidade SNR pura, que significa que, se o codificador de imagem de base 1010 e 1028 para as duas camadas de escalação operarem com diferentes parâmetros de quantização 1034 e 1036, respectivamente, o decimador 1032 não é fornecido. Isto está ilustrado esquematicamente na Fig.
Ia pela linha de contorno 1038.
[0110] Além disso, no caso de escalabilidade espacial, deve ser provido o interpolador 1022. No caso de uma escalabilidade SNR pura, o interpolador 1022 não é fornecido. Ao invés disso, é tomada a linha de contorno 1020, como ilustrado na Fig. Ia.
[0111] Em uma implementação, o compensador de movimento de realce 1014 é formado para calcular totalmente um campo de movimento individual, ou usar o campo de movimento calculado pelo compensador de movimento de base 1006 diretamente (linha de contorno 1040) ou após o upsampling por um upsampler 1042. No caso de uma escalabilidade espacial, o upsampler 1042 deve ser fornecido para fazer o upsample do vetor de movimentos dos dados de movimento de base para uma maior resolução, o que significa, por exemplo, escalar. Se, por exemplo, a resolução de realce for duas vezes maior e mais larga que a resolução base, um macrobloco (amostras de luminância 16x16) na camada de realce cobre uma região de uma imagem, o que corresponde a um sub- macrobloco (amostras de luminância 8x8) na camada de base.
[0112] Assim, para poder usar o vetor de movimentos de base para o macrobloco da camada de escalação de realce, o vetor de movimentos de base é duplicado em suas componentes x e y, o que significa ser escalado pelo fator 2. Isto será discutido em maiores detalhes com referência à Fig. 6b.
[0113] Se, entretanto, somente houver uma escalabilidade SNR, o campo de movimentos será o mesmo para todas as camadas de escalação. Portanto, deve ser somente calculado uma vez e pode ser diretamente usado por todas as camadas superiores de escalação na forma em que foi calculado pela camada de escalação inferior.
[0114] Para a predição da camada intermediária, também pode ser usado o sinal na saída do preditor de movimento de base 1012. De maneira alternativa, pode ser usado o sinal reconstruído na linha 1024. A seleção, que é usada por esses dois sinais para fazer a predição, é feita pelo comutador 1044. O sinal na linha 1024 difere do sinal na saída do bloco 1012 pelo fato de que este já passou por uma quantização. Isto significa que o sinal na linha 1024 tem um erro de quantização em comparação com o sinal na saída do bloco 1012. A alternativa para o uso do sinal na linha 1024 para a predição da camada intermediária é particularmente vantajosa quando é usada uma escalabilidade SNR individualmente ou em conjunto com uma escalabilidade espacial, já que o erro de quantização feito pelo codificador de imagem de base 1010 é então "conduzido" para uma maior camada de escalação, já que o sinal de saída no bloco 1018 conterá então o erro de quantização feito pela primeira camada de escalação, que será então quantizado na entrada 1036 pelo codificador de imagem de realce em uma largura de etapa quantizadora tipicamente mais fina e um parâmetro de quantização alterado 2, respectivamente, e será escrito na camada de escalação de realce 1004.
[0115] De maneira análoga ao marcador preditor de camada intermediária 1030, um marcador de dados de movimento 1048 é enviado ao codificador de imagens, de maneira que as informações correspondentes sobre o fato estejam contidas na camada de escalação de realce 1004, que então será usada pelo decodificador, que será discutido com referência à Fig. 2.
[0116] Se for usada uma escalabilidade espacial pura, o sinal de saída do preditor de movimento de base 1012, que significa que pode ser usada a seqüência base de imagens de erro residual ao invés do sinal na linha 1024, que significa ao invés da seqüência reconstruída de imagens de erro residual base.
[0117] Dependendo da implementação, o controle deste comutador pode ser feito manualmente ou baseado em uma função de benefício de predição.
[0118] Aqui, deve ser notado que, de preferência todas as predições, que significa a predição de movimentos, a predição dos dados de movimentos de realce e a predição do valor residual da camada intermediária são projetadas adaptadamente. Isto significa que os valores residuais da predição dos dados de movimentos não devem estar necessariamente presentes para todos os macroblocos ou sub- macroblocos em uma imagem da sequência base de imagens de erro residual, por exemplo. Assim, uma imagem da seqüência base de imagens de erro residual pode também conter macroblocos e sub-macroblocos não preditos, respectivamente, apesar do fato de que é denominada de "imagem de erro residual". Essa situação ocorrerá quando for constatado que, por exemplo, ocorre um novo objeto em uma imagem. Aqui, uma predição com movimento compensado seria inútil, já que o sinal residual de predição seria maior do que o sinal original na imagem. Na predição de movimento de realce no bloco 1016, em tal caso, seriam desativados tanto o operador de predição como eventualmente o operador de atualização desse bloco (por exemplo, macrobloco ou sub-macrobloco).
[0119] Ainda assim, por motivos de clareza, por exemplo, é mencionada uma sequência base de imagens de erro residual, apesar de que possivelmente somente uma única imagem de erro residual da sequência base de imagens de erro residual que tenha um único bloco que na realidade inclui sinais residuais de predição de movimentos. Entretanto, nos casos típicos de aplicação, todas as imagens de erro residual terão na realidade um grande número de blocos com dados residuais de predição de movimentos.
[0120] No sentido da presente invenção, isto também se aplica para a sequência de realce de imagens de erro residual. Assim, a situação na camada de realce será similar à situação na camada de base. Portanto, no sentido da presente invenção, uma sequência de realce de imagens de erro residual já é uma sequência de imagens, caracterizada pelo fato de que no caso extremo, somente um único bloco da única "imagem de erro residual" terá valores residuais de predição de movimentos, enquanto em todos os demais blocos dessa imagem e mesmo em todas as outras "imagens de erro residual" não existem realmente erros residuais, já que a predição com compensação de movimentos e, caso necessário, a atualização com compensação de movimentos terão sido desativadas para todas essas imagens/blocos.
[0121] De acordo com a presente invenção, isto também se aplica para o preditor de camada intermediária, que calcula imagens de erro residual de predição de realce.
Normalmente, as imagens de erro residual de predição de realce estarão presentes em uma sequência. Entretanto, o preditor de camada intermediária é também formado, de preferência, adaptativamente. Se, por exemplo, for achado que uma predição de dados residuais de uma camada de base da camada de base para a camada de realce tiver sido somente útil para um único bloco de uma única "imagem de erro residual", enquanto para todos os demais blocos dessa imagem e, se necessário, mesmo para todas as outras imagens da sequência de imagens de erro residual de predição de realce, a predição de dados residuais de camada intermediária tiver sido desativada, no presente contexto, por motivos de clareza, a sequência ainda será denominada de imagem de erro residual de predição de realce. Nessa conexão, deve ser notado que o preditor de camada intermediária somente pode predizer dados residuais, quando em um bloco correspondente de uma imagem de erro residual nos valores residuais de compensação de movimentos da camada de base já tiverem sido calculados, e quando para um bloco correspondente a este bloco (por exemplo, na mesma posição x, y) também tiver sido feita uma predição com compensação de movimentos em uma imagem de erro residual da sequência de realce, de maneira que nesse bloco, existam valores de erros residuais na camada de realce devido a uma predição com compensação de movimentos. Somente quando existirem a ser considerados reais valores residuais de predição de compensação de movimentos em ambos os blocos, o preditor de camada intermediária se tornará preferivelmente ativo para usar um bloco de valores de erro residual em uma imagem da camada de base como preditor de um bloco de valores de erro residual em uma imagem da camada de realce e então transmitir somente os valores residuais dessa predição, que significa os dados de erro residual de predição de realce nesse bloco da imagem considerada do codificador de imagem de realce.
[0122] A seguir, será discutida uma ilustração detalhada do codificador de imagem de base 1010 ou do codificador de imagem de realce 1028 e qualquer codificador de imagem, respectivamente, com referência à Fig. lb. No lado de entrada, o codificador de imagens recebe o grupo de imagens residuais de erro e as envia, macrobloco a macrobloco, para uma transformação 1050. Os macroblocos transformados serão então escalados em um bloco 1052 e quantizados usando um parâmetro de quantização 1034, 1036,...
Na saida do bloco 1052, é enviado o parâmetro de quantização usado, que significa a largura da etapa quantizadora usada de um macrobloco, assim como dos índices de quantização dos valores espectrais do macrobloco. Essa informação será então fornecida a um estágio de codificador de entropia não mostrado na Fig. lb, que compreende um codificador Huffman ou preferivelmente um codificador aritmético, que opera de acordo com o conhecido conceito CABAC de acordo com H.264/AVC. O sinal de saída do meio 1052 também será enviado ao bloco 1054, que realiza uma escalação inversa e requantização para converter os índices de quantização juntamente com o parâmetro de quantização novamente em valores numéricos, que então serão enviados a uma transformação inversa no bloco 1056 para obter um grupo reconstruído de imagens residuais de erro, que agora terá um erro de quantização na entrada do bloco de transformação 1050, comparado ao grupo original de imagens residuais de erro, que depende, respectivamente, dos parâmetros de quantização e da largura da etapa quantizadora. Dependendo do controle do comutador 1044, seja um sinal ou o outro sinal será enviado ao interpolador 1022 ou já para o preditor de camada intermediária 1018, para realizar a predição do valor residual da invenção.
[0123] Uma simples implementação do marcador preditor de camada intermediária 1030 está ilustrado na Fig. lc. Se o marcador preditor de camada intermediária estiver ativo, o preditor de camada intermediária 1018 estará ativado. Entretanto, se o marcador não estiver ativo, o preditor de camada intermediária estará desativado, de maneira que é feita uma operação simulcast para esse macrobloco ou para um sub-macrobloco subordinado a esse macrobloco. Portanto, o motivo poderia ser que o ganho do codificador pela predição fosse na realidade, uma perda do codificador, o que significa que a transmissão do macrobloco correspondente na saída do bloco 1016 proporciona um melhor ganho do codificador na subsequente codificação de entropia do que se fossem usados valores residuais de predição.
[0124] Uma simples implementação do marcador de dados de movimento 1048 está mostrada na Fig. ld. Se o marcador estiver ativado, os dados de movimentos da camada de realce são obtidos a partir dos dados de movimentos upsampled da camada de base. No caso de uma escalabilidade SNR, o upsampler 1042 não é necessário. Aqui, quando o marcador 1048 estiver ativado, os dados de movimentos da camada de realce podem ser obtidos diretamente dos dados de movimento de base.
Deve ser notado que essa "derivação" dos dados de movimentos pode ser o transporte direto dos dados de movimentos ou uma predição real caracterizada pelo fato de que o bloco 1014 subtrai os vetores de movimento obtidos da camada de base dos vetores de movimento correspondentes da camada de escalação de realce calculada pelo bloco 1014, para obter os valores de predição dos dados de movimentos. Os dados de movimentos da camada de realce (se não tiver sido feita predição de qualquer tipo) ou os valores residuais da predição (se tiver sido feita uma predição real) serão enviados ao codificador de imagem de realce 1028 por meio de uma saida mostrada na Fig. Ia, de maneira que estarão contidos no fluxo de bits da camada de escalação de realce 1004 no final. Se, entretanto, for feito um transporte completo dos dados de movimentos da camada de escalação base com ou sem escalação, os dados de movimentos de realce não precisam ser escritos no fluxo de bits da camada de escalação de realce 1004. É simplesmente suficiente sinalizar esse fato com o marcador de dados de movimento 1048 no fluxo de bits da camada de escalação de realce.
[0125] A Fig. 2 mostra um equipamento para a decodificação de uma sequência de video codificado, que compreende a camada de escalação base 1002 e a camada de escalação de realce 1004. A camada de escalação de realce 1004 e a camada de escalação base 1002 podem se originar de um demultiplexador de taxa de transferência de bits, que demultiplexa uma taxa de transferência de bits escalável de correspondentemente ambas as camadas de escalação, para extrair tanto a camada de escalação base 1002 como a camada de escalação de realce 1004 da taxa de transferência de bits comum. A camada de escalação base 1002 é enviada a um decodif icador de imagem de base 1060, que é formado para decodificar a camada de escalação base para obter uma sequência base decodificada de imagens de erro residual e dados de movimento de base, que são aplicados a uma linha de saida 1062. Os sinais de saida na linha 1062 serão então enviados a um combinador de movimento de base 1064, que cancela o preditor de movimento de base introduzido no codificador no bloco 1012, para enviar imagens decodificadas à primeira camada de escalação do lado de saida. Além disso, o decodificador da invenção compreende um decodificador de imagem de realce 1066 para a decodificação da camada de escalação de realce 1004 e obter imagens de erro residual de predição de realce em uma linha de saída 1068. Também, a linha de saída 1068 compreende informações de dados de movimentos, como o marcador de dados de movimento 1070 ou, se realmente os valores dos dados de movimentos de realce ou do resíduo dos dados de movimento de realce existirem na camada de escalação de realce 1004, esses dados de movimentos de realce. Agora, a sequência base decodificada na linha 1062 será interpolada por um interpolador 1070 ou enviada inalterada (linha 1072) a um combinador de camada intermediária 1074 para cancelar a predição de camada intermediária realizada pelo preditor de camada intermediária 1018 da Fig. Ia. Portanto, o combinador de camada intermediária é formado para combinar as imagens de erro residual de predição de realce com as informações sobre a sequência base decodificada na linha 1062, seja interpolada (1070) ou não (1072), para obter uma sequência de realce de imagens de erro residual, que será finalmente enviada a um combinador de movimento de realce 1076, que, como o combinador de movimento de base 1064, cancela a compensação de movimentos realizada na camada de realce. O combinador de movimento de realce 1076 está acoplado a um meio de determinação de dados de movimentos 1078, de maneira a prover os dados de movimentos para uma combinação de movimentos no bloco 1076. Os dados de movimentos podem realmente ser totalmente dados de movimentos de realce da camada de realce provida pelo decodificador de imagem de realce na saída 1068.
De maneira alternativa, os dados de movimentos de realce também podem ser valores residuais de dados de movimentos. Em ambos os casos, os dados correspondentes serão enviados ao meio de determinação dos dados de movimentos 1078 por meio de uma linha de dados de movimentos de realce 1080. Se, entretanto, o marcador de dados de movimento 1070 sinalizar que não foram transmitidos dados de movimentos de realce individuais da camada de realce, os dados de movimentos necessários serão retirados da camada de base pela linha 1082, dependendo da escalabilidade usada, seja diretamente (linha 1084) ou após o upsampling por um upsampler 1086.
[0126] Além disso, no caso de uma predição de camada intermediária de intrablocos, que significa nenhum valor residual de dados de movimentos, é provida uma conexão correspondente entre o combinador de movimento de realce 1076 e o combinador de movimento de base 1064 no lado do decodificador, que tem, dependendo da escalabilidade espacial, um interpolador 1090 ou uma linha de desvio quando somente uma escalabilidade SNR tiver sido usada. No caso de uma escalabilidade intrablocos opcional entre duas camadas, somente será transmitido um sinal residual de predição à camada de realce desse intramacrobloco, que será indicado pelas correspondentes informações de sinalização na taxa de transferência de bits. Nesse caso, o combinador de movimento de realce também fará uma soma desse único macrobloco, além da funcionalidade abaixo esclarecida, o que significa fazer uma combinação entre os valores residuais do macrobloco e os valores do macrobloco da camada inferior de escalação e enviar o macrobloco obtido para o atual processamento de compensação de movimentos inverso.
[0127] A seguir, com referência às Figs. 3 a 5d, será explicada uma configuração preferida do preditor de movimento de base 1012 ou do preditor de movimento de realce 1016 e o elemento inverso, respectivamente, que significa o combinador de movimento de realce 1076 ou o compensador de movimento de base 1064.
[0128] Basicamente, pode ser usado qualquer algoritmo de predição com compensação de movimentos, que significa também o algoritmo de compensação de movimentos ilustrado em 92 na Fig. 9. Assim, o algoritmo convencional de compensação de movimentos também segue a sistemática indicada na Fig. 1, caracterizado pelo fato de que, entretanto, o operador de atualização U ilustrado na Fig. 4 com o número de referência 45, está desativado. Isto leva ao fato de que um grupo de imagens é convertido em uma imagem original e imagens residuais e sinais residuais de predição, respectivamente, ou imagens de erro residual, dependendo da condição. Se, entretanto, for implementado um realce no esquema conhecido de compensação de movimentos em que o operador de atualização, como ilustrado na Fig. 4, está ativo e é calculado, por exemplo, como ilustrado com relação às Figs. 5a a 5d, o cálculo normal de predição com compensação de movimentos se torna o denominado processamento MCTF, que é também denominado de filtragem de tempo com compensação de movimentos. Aqui, a imagem normal e a intra imagem da compensação de movimentos convencional, respectivamente, se tornam uma imagem passa-baixa na operação de atualização, como a imagem original combinada com o sinal residual de predição ponderado pelo operador de atualização.
[0129] Como já descrito com relação às Figs. Ia e 2, em uma configuração preferida da presente invenção, esse processamento MCTF é feito para todas as camadas de escalação, caracterizado pelo fato de que o processamento MCTF é feito de preferência como descrito com referência às Figs. 3 a 5d e 7 a 8.
[0130] A seguir, será descrita a configuração preferida do filtro de predição com compensação de movimentos com referência à Fig. 4 e às subseqüentes Figs. 5a - 5d. Como já foi explicado, o filtro temporal com compensação de movimentos (MCTF) consiste de um esquema de elevação geral com três etapas, isto é, a decomposição polifásica, a predição e a atualização. A estrutura correspondente de banco de filtro de análise/síntese está mostrada na Fig. 4. No lado de análise, as amostras ímpares de um dado sinal são filtradas por uma combinação linear das amostras pares usando o operador de predição P e o sinal passa-alta H para os valores residuais de predição. É formado um sinal passa-baixa correspondente 1 pela adição de uma combinação linear dos valores residuais de predição h com as amostras pares do sinal de entrada s usando o operador de atualização. A conexão da equação das variáveis hei mostrada na Fig. 4, assim como as configurações básicas dos operadores P e U estão mostradas na Fig. 5a.
[0131] Como tanto a etapa de predição como a etapa de atualização podem ser totalmente invertidas, pode ser considerada a transformação correspondente como um perfeito banco de filtros de reconstrução criticamente amostrado. O banco de filtros de síntese compreende a aplicação do operador de predição e do operador de atualização na seqüência inversa com os sinais invertidos no processo de soma, caracterizado pelo fato de que são usadas as componentes polifásicas pares e ímpares. Para uma normalização das componentes passa-alta/passa-baixa, são usados os fatores correspondentes de escalação Fx e Fh. Esses fatores de escalação não necessariamente devem ser usados, mas podem ser usados quando as dimensões das etapas quantizadoras forem escolhidas durante a codificação.
[0132] f[x,k] mostra um sinal de vídeo com as coordenadas espaciais x = (x,y)T, caracterizado pelo fato de que k é a coordenada de tempo. O operador de predição P e o operador de atualização U da decomposição temporal usando a representação de elevação da ondícula hair são dados como mostrados no lado esquerdo da Fig. 5b. Para a transformação 5/3, os operadores correspondentes ficam como mostrado no lado direito da Fig. 5b. 0 realce à filtragem temporal com compensação de movimento é obtido com a modificação do operador de predição e do operador de atualização, como mostrado na Fig. 5c. Particularmente, será feita referência aos índices de referência r > 0, que permitem uma filtragem adaptativa com compensação de movimentos da imagem geral. Por meio desses índices de referência, pode-se garantir que no cenário ilustrado na Fig. 4, não são somente decompostas duas imagens temporalmente e imediatamente subseqüentes em uma imagem passa-alta e uma imagem passa-baixa, mas que, por exemplo, uma primeira imagem pode ser filtrada com compensação de movimentos com uma terceira imagem de uma sequência. De forma alternativa, a escolha adequada dos índices de referência permite que, por exemplo, uma mesma imagem de uma sequência de sequências possa ser usada para servir como base para o vetor de movimentos. Isto significa que os índices de referência permitem, por exemplo, em uma sequência de oito imagens, que todos os vetores de movimento se relacionem, por exemplo, com a quarta imagem da sequência, de maneira que uma única imagem passa-baixa resulte no final pelo processamento dessas oito imagens no esquema de filtros da Fig. 4, e resultem sete imagens passa-alta (imagens de realce), com todos os vetores de movimento se relacionando com uma única e mesma imagem da sequência original em que uma imagem de realce esteja associada a cada vetor de movimentos.
[0133] Se, portanto, for usada a mesma imagem de uma sequência como referência para a filtragem de várias outras imagens, isso conduz a uma escalação de resolução temporal que não obedece ao fator de 2, que pode ser vantajoso para determinadas aplicações. Sempre a mesma imagem, isto é, por exemplo, a quarta imagem de uma sequência de oito imagens, é enviada ao ramal inferior do banco de filtros de análise na Fig. 4. A imagem passa-baixa é a mesma em todas as filtragens, isto é, a finalmente desejada única imagem passa- baixa da sequência de imagens. Quando o parâmetro de atualização for zero, a imagem de base é simplesmente "passada" do ramal inferior. Em comparação, a imagem passa- alta é sempre dependente da correspondente outra imagem da sequência original e do operador de predição, caracterizado pelo fato de que o vetor de movimentos associado a esta imagem de entrada é usada na predição. Portanto, nesse caso pode ser dito que a imagem passa-baixa finalmente obtida está associada a uma determinada imagem da sequência original de imagens, e que também todas as imagens passa-alta estão associadas a uma imagem da sequência original, onde exatamente o desvio da imagem original corresponde à sequência (a compensação de movimentos) da imagem de base escolhida da sequência (que é enviada ao ramal inferior do banco de filtros de análise da Fig. 4) . Quando todos os parâmetros de atualização MOi, Mu, M2i e M3i forem iguais a zero, isto leva ao fato de que a imagem enviada ao ramal inferior 73 do quarto nível é simplesmente "passada" na direção do fundo. De certa maneira, a imagem passa-baixa TPl é enviada "repetidamente" para o banco de filtros, enquanto as outras imagens - controladas pelos índices de referência - são introduzidas, uma após a outra, na entrada 64 da Fig. 3.
[0134] Como pode ser visto nas equações anteriores, os operadores de predição e atualização da filtragem com compensação de movimentos, respectivamente, proporcionam diferentes predições para as duas diferentes ondículas.
Quando é usada a ondícula hair, é obtida uma predição unidirecional com compensação de movimentos. Se, entretanto, a ondícula de ranhura 5/3 for usada, os dois operadores especificam uma predição bidirecional com compensação de movimentos.
[0135] Como a predição bidirecional com compensação de movimentos geralmente reduz a energia do valor residual da predição, mas aumenta a taxa do vetor de movimentos quando comparada com uma predição unidirecional, é desejável cambiar dinamicamente entre as predições unidirecional e bidirecional, que significa ser possível cambiar entre uma representação de elevação da ondícula hair e a ondícula de ranhura 5/3 dependente de um sinal de controle dependente da imagem. O conceito da invenção, que não usa circuito fechado de feedback para a filtragem temporal, facilmente permite esta mudança macrobloco a macrobloco entre duas ondículas, que novamente suporta a flexibilidade e particularmente a economia da taxa de dados, que pode ser feita idealmente com adaptação de sinal.
[0136] De maneira a representar os campos de movimentos ou geralmente os campos de dados de predição MP e Md, idealmente, pode ser usada a sintaxe existente da fatia B no H.264/AVC.
[0137] Com a cascata dos estágios da decomposição de imagens pareadas, é obtida uma estrutura de árvore diádica, que decompõe um grupo de 2n imagens em 2n_1 imagens residuais e uma única imagem passa-baixa (ou intra) imagem, como ilustrado na Fig. 7 para um grupo de oito imagens.
Particularmente, a Fig. 7 mostra uma imagem passa-alta de primeiro nível HPl na saída 22 do filtro do primeiro nível, assim como a imagem passa-baixa de primeiro nível na saída 24 do filtro de primeiro nível. As duas imagens passa-baixa TP2 na saída 16 do filtro de segundo nível, assim como as imagens passa-alta obtidas no segundo nível estão mostradas na Fig. 7 como imagens de segundo nível. As imagens passa-baixa de terceiro nível são aplicadas na saída 76 do filtro de terceiro nível, enquanto as imagens passa-alta de terceiro nível são aplicadas na saída 75 sob forma processada. O grupo de oito figuras poderia originalmente compreender oito imagens de vídeo, quando então o decodificador da Fig. 3 seria usado sem o filtro do quarto nível. Se, entretanto, o grupo de oito imagens for um grupo de oito imagens passa- baixa, como são usadas na saída 73 do filtro do quarto nível, a decomposição MCTF da invenção pode ser usada como preditor de movimento de base, preditor de movimento de realce e como combinador de movimento de base ou combinador de movimento de realce, respectivamente.
[0138] Portanto, em geral, nessa decomposição de um grupo de 2n imagens, são transmitidas (2n+1_2) descrições de campo de movimento, (2n_1) imagens residuais, assim como uma única imagem passa-baixa (ou intra).
[0139] Tanto o compensador de movimento de base como o compensador de movimento de realce são controlados de preferência por um parâmetro controle de base e um parâmetro de controle de realce, respectivamente, para calcular uma combinação ideal de um parâmetro de quantização (1034 ou 1036) e informações de movimentos, que são fixadas na dependência de uma taxa determinada. Isso é feito de acordo com o método a seguir, para obter uma taxa ideal com relação a uma determinada taxa máxima de bits. Portanto, foi achado que, para menores taxas de bits, o que significa parâmetros de quantização relativamente grosseiros, os vetores de movimento são mais importantes do que para mais altas camadas de escalação, onde são tomados parâmetros de quantização relativamente finos. Assim, para os casos de quantização grosseira e, portanto menor taxa de bits, são calculados menos dados de movimentos do que para camadas mais altas de escalação. Assim, é preferível nas camadas de escalação mais altas mover para modos sub-macrobloco para melhor calcular um lote de dados de movimentos de boa qualidade e para uma situação ideal quando com alta taxa de bits, do que no caso de uma menor taxa de bits, em que os dados de movimentos contam proporcionalmente mais com relação aos dados residuais do que no caso de uma maior camada de escalação. Isto será discutido abaixo.
[0140] São dadas as imagens A e B, que são imagens originais ou imagens representando sinais passa-baixa, que são gerados em um estágio anterior de análise. Depois, são fornecidos os conjuntos correspondentes de amostras luma a[] e b[] . A descrição de movimento Mio é estimada de forma macrobloco a macrobloco como segue: [0141] Para todas as possíveis partições macrobloco e sub-macrobloco de um macrobloco i dentro de uma imagem B, os vetores de movimento associados são determinados minimizando a função de Lagrange caracterizada pelo fato de que o termo de deterioração é dado como segue: Aqui, S especifica a região de busca do vetor de movimentos dentro da imagem de referência A. P é a região coberta pela partição do macrobloco ou partição de sub-macrobloco considerado. R(i,m) especifica o número de bits, que são necessários para transmitir todas as componentes do vetor de movimentos m, caracterizado pelo fato de que λ é um multiplicador fixo de Lagrange.
[0142] Primeiro, a busca de movimento prossegue por todos os vetores exatos de movimento da amostra inteira na dada região de busca S. Depois, usando o melhor vetor de movimentos inteiro, são testados os oito vetores exatos de movimento da meia amostra circundante. Finalmente, usando os melhores vetores exatos de movimento metade, são testados os oito vetores exatos de movimento de quarto de amostra circundante. Para o aperfeiçoamento do vetor exato de movimentos metade e quarto de metade, o termo é interpretado como operador de interpolação.
[0143] Em geral, a decisão de modo para o modo macrobloco e o modo sub-macrobloco segue a mesma abordagem. O modo pi, que minimiza a seguinte função de Lagrange, é escolhido a partir de um dado conjunto de possíveis modos macrobloco ou sub-macrobloco SmOde: [0144] O termo de deterioração é dado como segue: caracterizado pelo fato de que P especifica a região macrobloco ou sub-macrobloco, e onde m[p,x,y] é o vetor de movimentos que está associado ao modo macrobloco ou sub-macrobloco p e à partição ou partição sub-macrobloco, que compreende a posição luma (x,y).
[0145] O termo taxa R(i,p) representa o número de bits, que é associado à escolha do modo do codificador p.
Para os modos de codificador com compensação de movimentos, este compreende os bits para o modo macrobloco (se aplicável), o modo e modos sub-macrobloco (se aplicável), respectivamente, e o vetor e vetores de movimentos, respectivamente. Para o intramodo, este compreende os bits do modo macrobloco e os conjuntos de níveis de coeficientes quantizados luma e de transformação chroma.
[0146] O conjunto de possíveis modos sub-macrobloco é dado por [P_8x8, P_8x4, P_4x8, P_4x4}.
[0147] O conjunto de possíveis modos macrobloco é dado por [P_16xl6, P_16x8, P_8xl6, P_8x8, INTRA], caracterizado pelo fato de que o modo INTRA é somente usado quando é estimada uma descrição de campo de movimentos Mi0 usada para a etapa de predição.
[0148] O multiplicador de Lagrange λ é estabelecido de acordo com a seguinte equação na dependência do parâmetro de quantização da camada de base para a imagem ou imagens passa-alta QPHí do estágio de decomposição, para o qual é estimado o campo de movimentos: [0149] De acordo com a invenção, é usado o esquema de decomposição mostrado na Fig. 8, que se supõe permitir um sensível compromisso entre a escalabilidade temporal e a eficiência do codificador. A sequência das imagens originais é tratada como sequência das imagens de entrada A, B, A, B, A, B, ..., A, B. Assim, esse esquema proporciona um estágio com ótima escalabilidade temporal (igual distância entre as imagens passa-baixa). A sequência de imagens passa-baixa, que é usada como sinal de entrada para todos os seguintes estágios de decomposição, é tratada como sequências de imagens de entrada B, A, A, B, B, A ... A, B, onde os espaços entre as imagens passa-baixa que são decompostas, são mantidos pequenos no seguinte esquema de análise de dois canais, como pode ser visto na Fig. 8.
[0150] A seguir serão feitas referências às implementações preferidas da predição de camada intermediária dos dados de movimentos e da predição de camada intermediária dos dados residuais com relação às Figs. 6a a 6d. Para obter uma escalabilidade espacial e uma SNR, respectivamente, basicamente, são usados os dados de movimentos e dados de textura de uma camada inferior de escalação com objetivos de predição de uma camada superior de escalação. Aqui, particularmente na escalabilidade espacial, será necessário um upsampling dos dados de movimentos, antes que possam ser usados como predição para a decodificação das camadas de realce espacial. Os dados de predição de movimentos da representação da camada de base são transmitidos usando um subconjunto da sintaxe existente da fatia B do AVC. De preferência, são introduzidos mais dois modos macrobloco para a codificação do campo de movimentos de uma camada de realce.
[0151] O primeiro modo macrobloco é o "base_layer_mode" e o segundo modo é o "qpel_refinement_mode". Para a sinalização desses dois outros modos macrobloco, são adicionados dois marcadores, isto é o BLFlag e o QrefFlag à sintaxe de camada de macrobloco, antes do elemento de sintaxe mb_mode, como mostrado na Fig. 1.
Assim, o primeiro marcador BLFlag 1098 sinaliza o modo de camada de base, enquanto o outro marcador 1100 simboliza o modo de refinamento qpel. Se esse marcador for estabelecido, possui o valor 1, e o fluxo de transmissão de dados será o mostrado na Fig. 6a. Portanto, se o marcador 1098 tiver valor 1, o marcador 1100 e o modo macrobloco de elemento de sintaxe 1102 não terão mais importância. Se, entretanto, o marcador 1098 tiver valor zero, não está estabelecido, e será usado o marcador 1100, que, quando for estabelecido, novamente faz a ponte do elemento 1102. Se, entretanto, ambos os marcadores 1098 e 1100 tiverem valores zero, o que significa que não estão estabelecidos, o modo macrobloco será avaliado no elemento de sintaxe 1102.
[0152] Quando BLFlag = 1, é usado o modo de camada de base, não sendo usadas outras informações para o macrobloco correspondente. Esse modo macrobloco indica que as informações de predição de movimentos, incluindo que a partição do macrobloco do macrobloco correspondente da camada de base é diretamente usada daquela maneira para a camada de realce. Deve ser notado que aqui e em toda a especificação, o termo "camada de base" representa uma próxima camada inferior com relação à camada atualmente considerada, que significa a camada de realce. Quando a camada de base representar uma camada com a metade da resolução espacial, o campo do vetor de movimentos, que significa o campo dos vetores de movimento incluindo a partição de macrobloco, é correspondentemente escalado, como ilustrado na Fig. 6b. Nesse caso, o macrobloco corrente compreende a mesma região que um sub-macrobloco 8x8 do campo de movimento da camada de base. Portanto, se o correspondente macrobloco de camada de base for codificado em um modo 16x16, 16x8 ou 8x16, ou quando o correspondente sub- macrobloco de camada de base for codificado no modo 8x8 ou no modo direto 8x8, o modo 16x16 é usado para o macrobloco corrente. Se, por outro lado, o sub-macrobloco de camada de base for codificado no modo 8x4, 4x8 ou 4x4, o modo macrobloco para o macrobloco corrente = 16x8, 8x16 ou 8x8 (com todos os modos sub-macrobloco = 8x8) . Quando o macrobloco de camada de base representar um macrobloco INTRA, o macrobloco corrente é estabelecido em INTRA_BASE, que significa que é um macrobloco com uma predição da camada de base. Para as partições do macrobloco do macrobloco corrente, são usados os mesmos índices de referência que para as partições de macrobloco/sub-macrobloco correspondentes do bloco de camada de base. Os vetores de movimento associados são multiplicados por um fator 2. Esse fator se aplica para a situação mostrada na Fig. 6b, onde a camada de base 1102 compreende metade da região e o número de pixels, respectivamente, do que a camada de realce 1104. Se a razão de resolução espacial da camada de base para a resolução espacial da camada de realce for diferente de 1/2, são usados os correspondentes fatores de escalação para o vetor de movimentos.
[0153] Se, entretanto, o marcador 1098 for igual a zero e o marcador 1100 igual a 1, o modo macrobloco qpel_refinement_mode é sinalizado. O marcador 1100 está preferivelmente presente quando a camada de base representar uma camada com metade da resolução espacial da camada corrente. Ou então, o modo macrobloco (qpel_refinement_mode) não está contido no conjunto de possíveis modos macrobloco.
Este modo macrobloco é similar ao modo de camada de base. A partição do macrobloco, assim como os índices de referência e os vetores de movimento são obtidos como no modo de camada de base. Entretanto, para cada vetor de movimentos, existe um outro refinamento do vetor de movimentos de quarto de amostra -1,0 ou +1 para cada componente do vetor de movimentos, que é adicionalmente transmitido e adicionado ao vetor de movimentos obtido.
[0154] Quando o marcador 1098 = zero e o marcador 1100 = zero, ou quando o marcador 1100 não estiver presente, o modo macrobloco, assim como os correspondentes índices de referência e diferenças de vetor de movimentos são especificados como normalmente. Isto significa que o conjunto total de dados de movimentos é transmitido para a camada de realce da mesma forma que para a camada de base. Entretanto, de acordo com a invenção, é dada a possibilidade de usar o vetor de movimentos da camada de base como preditor do vetor de movimentos da camada de realce corrente (ao invés do preditor do vetor de movimentos espaciais). Assim, a lista X (onde X se situa entre 0 e 1) serve para especificar a lista do índice de referência do vetor de movimentos considerado.
Se todas as condições subseqüentes forem verdadeiras, é transmitido um marcador MvPrdFlag, como mostrado na Fig. 6c, para cada diferença do vetor de movimentos: [0155] - o macrobloco de camada de base compreendendo as partições macrobloco/sub-macrobloco correntes não é codificado em um modo macrobloco INTRA;
[0156] - a partição macrobloco/sub-macrobloco de camada de base cobrindo a amostra esquerda superior da partição macrobloco/sub-macrobloco corrente usa a lista X ou uma bipredição; - a lista X do índice de referência da partição macrobloco/sub-macrobloco de camada de base, que compreende a amostra superior esquerda da partição macrobloco/sub-macrobloco corrente é igual à lista X do índice de referência da partição macrobloco/sub-macrobloco corrente.
[0157] Se o marcador 1106 da Fig. 6c não estiver presente, ou se este marcador 1106 = zero, o preditor do vetor de movimentos espaciais é especificado como for o caso no padrão AVC. Por outro lado, quando o marcador 1106 estiver presente e = 1, o correspondente vetor de camada de base é usado como preditor do vetor de movimentos. Nesse caso, vetor de movimentos da lista X (onde X = 0 ou 1) da corrente partição macrobloco/sub-macrobloco é obtido somando a diferença do vetor de movimentos transmitido da lista X para o vetor de movimentos da lista X possivelmente escalado da partição macrobloco/sub-macrobloco da camada de base.
[0158] Assim, os marcadores 1098, 1100 e 1106 representam em conjunto uma possibilidade de implementar o marcador de dados de movimento 1048 geralmente indicado na Fig. Ia e geralmente um sinal de controle de dados de movimentos 1048, respectivamente. É claro, existem outras diferentes possibilidades de sinalização, caracterizado pelo fato de que pode ser usado naturalmente um acordo fixo entre transmissor e receptor, o que permite uma redução das informações de sinalização.
[0159] Em resumo, está ilustrada em maiores detalhes com relação às Figs. le, lf e lg uma implementação detalhada do compensador de movimento de realce 1014 da Fig. Ia e do meio de determinação dos dados de movimentos de realce 1078 da Fig. 2, respectivamente.
[0160] Com referência à Fig. le, pode ser visto que o compensador de movimento de realce 1014 tem que fazer basicamente duas coisas. Assim, em primeiro deve calcular os dados de movimentos de realce, tipicamente todos os vetores de movimentos e enviá-los para o preditor de movimento de realce 1016, de maneira que possa utilizar esses vetores de maneira não codificada para obter a sequência de realce das imagens de erro residual que é, na técnica anterior, tipicamente feito de maneira adaptativa e bloco a bloco.
Outro assunto, entretanto, é o processamento dos dados de movimentos de realce, que se trata de como os dados de movimentos usados para uma predição com compensação de movimentos serão agora comprimidos o máximo possível e escritos em uma taxa de transferência de bits. Para que algo seja escrito na taxa de transferência de bits, os respectivos dados devem ser levados ao codificador de imagem de realce 1028, como ilustrado com relação à Fig. le. Assim, o meio de processamento dos dados de movimentos de realce 1014b tem a função de reduzir o máximo possível a redundância contida nos dados de movimentos de realce, determinada pelo meio de cálculo dos dados do movimento de realce 1014a, com relação à camada de base.
[0161] De acordo com a invenção, os dados de movimento de base ou os dados de movimento de base upsampled podem ser usados tanto pelo meio de cálculo dos dados do movimento de realce 1014a para o cálculo dos dados de movimentos de realce a serem realmente usados como também podem ser usados somente para o processamento dos dados de movimentos de realce, o que significa para a compressão dos dados de movimentos de realce, apesar de não terem importância para o cálculo dos dados de movimentos de realce.
Enquanto as duas possibilidades 1.) e 2.) da Fig. lg mostram configurações em que os dados de movimento de base e os dados de movimento de base upsampled são realmente usados para o cálculo dos dados do movimento de realce, a configuração 3.) da Fig. lb mostra um caso em que as informações sobre os dados de movimento de base não são usadas para o cálculo dos dados de movimentos de realce mas somente para a codificação e captura dos dados residuais, respectivamente.
[0162] A Fig. lf mostra a implementação do lado do decodificador do meio de determinação dos dados de movimentos de realce 1078, que tem um módulo de controle 1078a para o controle bloco a bloco, que contém as informações de sinalização da taxa de transferência de bits e do decodificador de imagem de realce 1066, respectivamente. Além disso, o meio de determinação dos dados de movimentos de realce 1078 compreende um meio de reconstrução dos dados de movimentos de realce 1078b, que realmente determina os vetores de movimento do campo de dados de movimentos de realce, seja somente pelo uso dos dados de movimento de base decodificados como pelos dados de movimento de base de upsampling decodificado ou pela combinação de informações sobre os dados de movimento de base decodificados e dos dados residuais extraídos do decodificador de movimento de realce 1066 da camada de escalação de realce 1004, que podem então ser usados pelo combinador de movimento de realce 1076, que pode ser formado como combinador comum para a reversão da predição com compensação de movimentos do lado do codificador.
[0163] A seguir, será feita referência às diferentes configurações como se apresentam ilustradas na Fig. lg em visão geral. Como já ilustrado com relação à Fig. 6a, o BLFlag 1098 sinaliza um transporte completo dos dados de movimento de base upscaled para a predição de movimento de realce. Nesse caso, o meio 1014a é formado para transportar completamente os dados de movimento de base e nos caso de diferentes resoluções das diferentes camadas, transportar os dados de movimentos em formato upscaled e transmiti-los ao meio 1016, respectivamente. Entretanto, não são transmitidas informações sobre os campos de movimento ou vetores de movimento ao codificador de imagem de realce. Ao invés disso, é somente transmitido um marcador individual 1098 para cada bloco, seja um macrobloco ou um sub-macrobloco.
[0164] No lado do decodif icador, isto significa que o meio 1078a da Fig. lf decodifica o marcador 1098 para um bloco e, se estiver ativo, usa os dados de movimento de base decodificados presentes da camada de base ou os dados de movimento de base decodificados upsampled para calcular os dados de movimentos de realce, que então são enviados ao bloco 1076. Nesse caso, o meio 1078 não requer os dados residuais do vetor de movimentos.
[0165] Na segunda configuração da presente invenção, que é sinalizada pelo marcador QrefFlag 1100, o vetor de movimentos de base é integrado ao cálculo dos dados do movimento de realce, que é feito pelo meio 1014a. Como ilustrado na Fig. lg na parte 2.) e acima descrito, o cálculo dos dados de movimentos e o cálculo do vetor de movimentos m, respectivamente, são feitos buscando o mínimo do termo (D + λ R) .
[0166] As diferenças entre um bloco de uma imagem corrente B e um bloco de uma imagem anterior e/ou posterior alterada por um determinado vetor de movimentos potencial são introduzidas no termo de distorção D. O parâmetro de quantização do codificador de imagem de realce indicado na Fig. Ia por 1036 é introduzido no fator λ. O termo R fornece informações sobre o número de bits usados para a codificação de um potencial vetor de movimentos.
[0167] Normalmente, é feita uma busca entre os diferentes vetores de movimento potenciais, caracterizado pelo fato de que o termo de distorção D é calculado para todos os novos vetores de movimentos, sendo calculado o termo taxa R, e onde é considerado o parâmetro de quantização de realce 1036, que é preferivelmente fixo, mas que pode variar. 0 termo soma descrito é avaliado em relação aos diferentes vetores de movimento potenciais, onde é usado o vetor de movimentos, que fornece o resultado mínimo da soma.
[0168] Agora, de acordo com a invenção, o vetor de movimentos de base do bloco correspondente da camada de base é também integrado nessa busca iterativa. Se este observar os critérios de busca, novamente só o marcador 1100 deve ser transmitido, não devendo ser transmitidos os valores residuais ou nada mais para esse bloco. Assim, quando o vetor de movimentos de base observar o critério (mínimo do termo anterior) para um bloco, o meio 1014a usa o vetor de movimentos de base para transmiti-lo ao meio 1016.
Entretanto, somente é transmitido o marcador 1100 para o codificador de imagem de realce.
[0169] No lado do decodif icador, isto significa que o meio 1078a controla o meio 1078b quando este decodifica o marcador 1100 para determinar o vetor de movimentos para este bloco a partir dos dados de movimento de base, já que o decodificador de imagem de realce não transmitiu dados residuais.
[0170] Em uma variação da segunda configuração, não somente o vetor de movimentos de base como também uma pluralidade de vetores de movimento de base obtidos do vetor de movimentos de base e (levemente) alterados, são integrados à busca. Dependendo da implementação, qualquer componente do vetor de movimentos pode ser independentemente aumentado ou reduzido de um incremento, ou ser mantido o mesmo. Este incremento pode representar uma determinada granularidade de um vetor de movimentos, por exemplo, uma etapa de resolução, uma etapa de meia resolução ou uma etapa de quarto de resolução. Se um desses vetores de movimentos de base alterados atender os critérios de busca, a alteração, que significa o incremento, significando +1, 0 ou -1 é transmitida como "dados residuais", adicionalmente ao marcador 1100.
[0171] Ativado pelo marcador 1100, um decodificador então fará a busca do incremento no fluxo de dados, além de recuperar o vetor de movimentos de base ou o base vetor de movimentos upsampled e combinar o incremento com o correspondente vetor de movimentos de base no bloco 1078b, para obter o vetor de movimentos para o bloco correspondente na camada de realce.
[0172] Na terceira configuração, que é sinalizada pelo marcador 1106, a determinação dos vetores de movimento pode ser, basicamente, feita de forma arbitrária. Com relação à flexibilidade total, o meio 1014a pode determinar os dados de movimentos de realce, por exemplo, de acordo com o objetivo de minimização mencionado em relação à segunda configuração. Depois, o vetor de movimentos determinado é usado para a predição com compensação de movimentos do lado do codificador, sem considerar as informações da camada de base. Entretanto, nesse caso, o processamento dos dados de movimentos de realce 1014a é feito para incorporar os vetores de movimento de base ao processamento do vetor de movimentos para a redução de redundância, o que significa antes da atual codificação aritmética.
[0173] Assim, de acordo com o padrão H.264/AVC, é feita uma transmissão das diferenças do vetor de movimentos, caracterizado pelo fato de que são determinadas dentro de uma imagem as diferenças entre os blocos adjacentes. Na implementação, a diferença pode ser formada entre diferentes blocos adjacentes, para a seleção da menor diferença. Agora, de acordo com a invenção, o vetor de movimentos de base para o bloco correspondente em uma imagem é incorporado a essa busca do preditor mais favorável da diferença do vetor de movimentos. Se este observar o critério de prover o menor valor de erro residual como preditor, será sinalizado pelo marcador 1106 e somente será transmitido o valor do erro residual para o bloco 1028. Se o vetor de movimentos de base não observar esse critério, o marcador 1106 não é estabelecido, e será feito um cálculo da diferença do vetor de movimentos espaciais.
[0174] Entretanto, para implementações mais simples de codificador, ao invés da busca iterativa, simplesmente sempre e para blocos determinados de maneira adaptativa, o vetor de movimentos de base, respectivamente, e uma versão upsampled deste, respectivamente, podem servir de preditores.
[0175] De acordo com a invenção, será também feita uma predição de camada intermediária dos dados residuais.
Isto será discutido abaixo. Quando as informações de movimento são alteradas de uma camada para a próxima, pode ser favorável ou desfavorável predizer as informações residuais e, no caso de uma decomposição MCTF, as informações passa-alta da camada de realce, respectivamente, da camada de base. Quando os vetores de movimento de um bloco da camada corrente são similares aos vetores de movimento da correspondente camada de base, e macrobloco a macrobloco, aos correspondentes vetores de movimento da correspondente camada de base, é provável que a eficiência do codificador possa ser aumentada quando o sinal residual da camada de base codificada (sinal passa-alta) é usado como predição do sinal residual de realce (sinal passa-alta de realce), onde somente a diferença entre o sinal residual de realce e a reconstrução da camada de base (linha 1024 da Fig. Ia) são codificadas.
Entretanto, quando os vetores de movimento não forem similares, é muito improvável que uma predição do sinal residual melhore a eficiência do codificador. Como consequência, é usada uma abordagem adaptativa para a predição do sinal residual e do sinal passa-alta, respectivamente. Essa abordagem adaptativa, que significa se o preditor de camada intermediária está ativo ou não, pode ser feita por um cálculo real do benefício baseado no sinal de diferença ou pode ser feita com base em uma estimativa, de quão diferente o vetor de movimentos da camada de escalação base do macrobloco é do macrobloco correspondente na camada de escalação de realce. Se a diferença for menor que um determinado limite, o preditor de camada intermediária é ativado por meio da linha de controle 130. Entretanto, se a diferença for maior que um determinado limite, é desativado o preditor de camada intermediária desse macrobloco.
[0176] É transmitido um marcador ResPrdFlag 1108.
Quando o marcador 1108 = 1, o sinal residual reconstruído da camada de base é usado como predição do sinal residual do macrobloco corrente da camada de realce, caracterizado pelo fato de que somente uma aproximação da diferença entre o sinal residual corrente da camada de realce e sua reconstrução de camada de base será codificada. Por outro lado, o marcador 1108 não existe ou é igual a zero. Aqui, será então codificado o sinal residual do macrobloco corrente na camada de realce, sem predição da camada de base.
[0177] Quando a camada de base representar uma camada com a metade da resolução espacial da camada de realce, o sinal residual é upsampled usando um filtro de interpolação, antes que o sinal residual upsampled da camada de base seja usado como sinal de predição. Esse filtro é um filtro de interpolação com seis taps, de maneira que para a interpolação de um valor da maior resolução espacial da camada de realce, que não esteve presente na camada de base devido à menor resolução, são usados os valores circunvizinhos para obter um resultado de interpolação, que é o melhor possível.
[0178] Se, entretanto, forem interpolados os valores na borda de um bloco de transformação, e o filtro de interpolação usar somente valores de outro bloco de transformação para interpolação, é preferível não fazer isso, mas sintetizar os valores do filtro de interpolação fora do bloco considerado, de maneira que ocorra uma interpolação com o menor número possível de problemas.
[0179] Com base no denominado experimento núcleo, foi achado que a predição de camada intermediária de movimento e os valores residuais melhoram significativamente a eficiência do codificador da abordagem MCTF baseada em AVC.
Para determinados pontos de teste, foram obtidos ganhos PSNR de mais de 1 dB. Particularmente, com taxas de bits muito baixas para cada resolução espacial (à exceção da camada de base), a melhoria da qualidade de reconstrução ficou claramente visível.
[0180] Dependendo das circunstâncias, o método da invenção pode ser implementado em hardware ou em software. A implementação pode ser feita em um meio de armazenamento digital, particularmente um disco ou CD com sinais de leitura por meio eletrônico, que possam cooperar com um sistema de computador programável em que o método é realizado. Assim, em geral, a invenção consiste também de um produto de programa de computador com um código de programas para a realização do método da invenção armazenado em um portador com leitura por máquina, quando o produto de programa de computador opera em um computador. Em outras palavras, a invenção também pode ser realizada sob a forma de programa de computador com um código de programa para a realização do método quando o programa de computador opera em um computador.
[0181] Além disso, a presente invenção refere-se a um meio de leitura por computador, em que o fluxo de dados escaláveis com uma primeira camada de escalação e uma segunda camada de escalação em conjunto com os caracteres associados de controle são armazenados para os diferentes meios do lado do decodificador. Portanto, o meio de leitura por computador pode ser um portador de dados ou a internet, onde o fluxo de dados é transmitido a partir de um provedor para um receptor.
REIVINDICAÇÕES

Claims (20)

1. Equipamento para a geração de uma seqüência de video codificado tendo uma camada de escalação base (1002) e uma camada de escalação de realce (1004), compreendendo: um compensador de movimento de base (1006) para o cálculo dos dados de movimento de base, que indicam como um bloco de uma imagem corrente movimentou-se em relação a outra imagem em um grupo de imagens; um preditor de movimento de base (1012) para calcular a seqüência base de imagens de erro residual usando os dados de movimento de base; um codificador de imagem de base (1010), formado para gerar uma primeira camada de escalação codificada da seqüência base de imagens de erro residual, caracterizado pelo codificador de imagem de base (1010) é formado para quantizar com o parâmetro de quantização base (1034); um compensador de movimento de realce (1014) para a determinação dos dados de movimentos de realce; compreendendo ainda um compensador de movimento de realce é formado para determinar os dados de movimentos de realce adaptativamente e bloco a bloco, usando os dados de movimento de base e para prover informações de sinalização bloco a bloco na determinação adaptável; um preditor de movimento de realce (1016) para o cálculo de uma seqüência de realce de imagens de erro residual usando os dados de movimentos de realce; e um codificador de imagem de realce (1028) para codificar as informações sobre a seqüência de realce das imagens de erro residual e para codificar as informações de sinalização bloco a bloco para obter uma camada de escalação de realce codificada, em que o codificador de imagem de realce (1028) é formado para quantizar com um parâmetro de quantização de realce (1036), o parâmetro de quantização de realce sendo diferente do parâmetro de quantização base e representando uma largura mais precisa do passo de quantização do que do parâmetro de quantização base (1034).
2. Equipamento, de acordo com a reivindicação 1, caracterizado pelo compensador de movimento de base ser formado para calcular os dados de movimento de base para imagens com menor resolução espacial do que as imagens em que se baseia o compensador de movimento de realce para determinar os dados de movimentos de realce, em que é ainda provido um upsampler (1042) para escalar os dados de movimento de base de acordo com uma diferença da resolução espacial do grupo de imagens, e em que o compensador de movimento de realce (1014) é formado para calcular os dados de movimentos de realce baseados nos dados de movimento de base escalados.
3. Equipamento, de acordo com a reivindicação 2, caracterizado pelo compensador de movimento de realce (1014) ser formado para transportar os dados de movimento de base escalados para um bloco como dados de movimentos de realce, e para enviar um sinal de transporte (1098) ao codificador de imagem de realce (1028) desse bloco.
4. Equipamento, de acordo com a reivindicação 2, caracterizado pelo compensador de movimento de realce (1014) ser formado para usar os dados de movimento de base escalados como preditores para um bloco de dados de movimentos de realce para calcular um sinal de resíduo dos dados de movimento de realce e para enviar o sinal de resíduo dos dados de movimento de realce em conjunto com uma sinalização de predição ao codificador de imagem de realce (1028).
5. Equipamento, de acordo com a reivindicação 1 ou 2, caracterizado pelo compensador de movimento de base ser formado para calcular os dados de movimento de base, dependendo de um parâmetro controle de base (1034) que depende do parâmetro de quantização base, e em que o compensador de movimento de realce (1014) é formado para calcular os dados de movimentos de realce na dependência de um parâmetro de controle de realce (1036), que depende do parâmetro de quantização de realce e difere do parâmetro controle de base para o codificador de imagem de base.
6. Equipamento, de acordo com a reivindicação 5, caracterizado pelo compensador de movimento de realce ser formado para usar os dados de movimento de base como preditores dos dados de movimentos de realce e para enviar um sinal de resíduo dos dados de movimento de realce com uma sinalização bloco a bloco ao codificador de imagem de realce (1028).
7. Equipamento, de acordo com a reivindicação 5, caracterizado pelo compensador de movimento de realce (1014) ser formado para fazer uma busca entre os vários vetores potenciais de movimento para a determinação de um vetor de movimentos para um macrobloco de acordo com um critério de busca, em que o compensador de movimento de realce (1014) é formado para usar um vetor de movimentos já determinado para um bloco correspondente da camada de base na busca, e quando o critério de busca é observado pelo vetor de movimentos da camada de base, para então transportar o vetor de movimentos da camada de base e para enviar informações (1100) referentes ao assunto para o codificador de imagem de realce (1028).
8. Equipamento, de acordo com qualquer uma das reivindicações de 5 a 7, caracterizado pelo compensador de movimento de realce (1014) ser ainda formado para considerar um vetor de movimentos alterado em incrementos da camada de base, o vetor de movimentos alterado em incrementos da camada de base sendo alterado por uma mudança do movimento do vetor em incrementos, e quando o vetor de movimentos alterado em incrementos da camada de base observar um critério de busca para enviar o vetor de movimentos alterado em incrementos ao codificador de imagem de realce (1028) a um bloco juntamente com uma sinalização (1100) para o bloco.
9. Equipamento, de acordo com qualquer uma das reivindicações de 1 a 8, caracterizado pelo compensador de movimento de realce (1014) ser formado para determinar vetores de movimento para os blocos de uma imagem e para ainda pós- processar os vetores de movimento para determinar as diferenças do vetor de movimentos entre os dois vetores de movimento e enviá-las ao codificador de imagem de realce (1028), e em que o compensador de movimento de realce (1014) é ainda formado para usar, na dependência de uma função de custos ao invés de uma diferença entre vetores de movimento para dois blocos da mesma imagem, uma diferença entre um vetor de movimentos do bloco de uma imagem da camada de realce e um vetor de movimentos modificado ou não modificado de um bloco correspondente de uma imagem da camada de base e para enviar essa diferença ao codificador de imagem de realce (1028) junto com uma sinalização (1106) para o bloco.
10. Equipamento, de acordo com a reivindicação 9, caracterizado pelo compensador de movimento de realce (1014) ser formado para usar uma quantidade de uma diferença como função de custo.
11. Equipamento, de acordo com qualquer uma das reivindicações de 1 a 10, caracterizado pelo fato de compreender ainda um preditor de camada intermediária (1018) formado para calcular imagens de erro residual de predição de realce usando a seqüência de realce de imagens de erro residual e as informações sobre a seqüência base de imagens de erro residual.
12. Equipamento, de acordo com a reivindicação 11, caracterizado pelo codificador de imagem de base (1010) ser formado para reconstruir a seqüência base de imagens de erro residual quantizada para o primeiro parâmetro de quantização de maneira a obter uma seqüência base reconstruída, e em que o preditor de camada intermediária (1018) é formado para calcular as imagens de erro residual de predição de realce usando a seqüência de realce de imagens de erro residual e a seqüência base reconstruída de imagens de erro residual como informações sobre a seqüência base de imagens de erro residual.
13. Equipamento, de acordo com a reivindicação 11 ou 12, compreendendo ainda: um decimador (1032) para decimar a resolução de um grupo de imagens, caracterizado pelo decimador (1032) ser formado para prover um grupo de imagens com uma resolução base para o compensador de movimento de base (1006), que é menor do que uma resolução de realce de um grupo de imagens, fornecida ao compensador de movimento de realce (1014); e um interpolador (1022) para a interpolação espacial da seqüência base de imagens de erro residual ou de uma seqüência base reconstruída de imagens de erro residual para obter uma seqüência base interpolada de imagens de erro residual, que pode ser enviada ao preditor de camada intermediária (1018) como informação (1026) sobre a seqüência base de imagens de erro residual.
14. Método para a geração de uma seqüência de vídeo codificado tendo uma camada de escalação base (1002) e uma camada de escalação de realce (1004), compreendendo as etapas de: calcular (1006) os dados de movimento de base, que indicam como um bloco de uma imagem corrente se movimentou em relação a uma outra imagem de um grupo de imagens; calcular (1012) uma seqüência base de imagens de erro residual usando os dados de movimento de base; fazer uma codificação de imagem de base (1010) para gerar uma primeira camada de escalação codificada a partir da seqüência base de imagens de erro residual, caracterizado pela codificação de imagem de base (1010) é realizada usando quantização com um parâmetro de quantização de base (1034); determinar (1014) os dados de movimentos de realce em que os dados de movimentos de realce são determinados adaptativamente e bloco a bloco usando os dados de movimento de base, e em que são providas adaptativamente informações de sinalização e bloco a bloco na determinação bloco a bloco; calcular (1016) uma seqüência de realce de imagens de erro residual usando os dados de movimentos de realce; e fazer uma codificação de imagem de realce (1028) codificando as informações sobre a seqüência de realce de imagens de erro residual e codificando as informações de sinalização bloco a bloco para obter uma camada de escalação de realce codificada, em que a codificação de imagem de realce (1028) é realizada usando uma quantização com o parâmetro de quantização de realce (1036), o parâmetro de quantização de realce sendo diferente do parâmetro de quantização base e representando uma largura mais precisa do passo de quantização do que do parâmetro de quantização base (1034).
15. Equipamento para a decodificação de uma seqüência de video codificado de uma camada de escalação base (1002) e uma camada de escalação de realce (1004), compreendendo: um decodificador de imagem de base (1060) para a decodificação da camada de escalação base para obter uma seqüência base decodificada de imagens de erro residual e dados de movimento de base, caracterizado pelo decodificador de imagem de base (1060) ser formado para decodificar com o parâmetro de quantização base (1034); um decodificador de imagem de realce (1066) para a decodificação da camada de escalação de realce para obtenção de informações sobre uma seqüência de realce de imagens de erro residual e informações sobre os dados de movimentos de realce, em que o decodificador de imagem de realce (1066) é formado para decodificar com um parâmetro de quantização base (1036), o parâmetro de quantização de realce representando uma largura mais precisa no passo de quantização do que no parâmetro de quantização base (1034); um calculador de dados de movimentos de realce (1078) para o cálculo dos dados de movimentos de realce, avaliando as informações sobre os dados de movimentos de realce e usando as informações sobre os dados de movimento de base devido às informações avaliadas dos dados de movimentos de realce; e um combinador de movimento de realce (1076), que é formado para obter uma seqüência de imagens da camada de escalação de realce usando a seqüência de realce das imagens de erro residual e os dados de movimentos de realce.
16. Equipamento, de acordo com a reivindicação 15, caracterizado pelo decodificador de imagem de realce (1066) ser formado para fornecer um sinal de transporte de dados de movimentos da camada de escalação de realce, em que é ainda provido um upsampler (1086) para converter os dados de movimento de base da resolução da camada de escalação base para uma resolução da camada de escalação de realce, e em que o calculador dos dados de movimentos de realce (1078) é formado para prover os dados de movimento de base convertidos como dados de movimentos de realce, na dependência do sinal de transporte dos dados de movimentos (1098) .
17. Equipamento, de acordo com a reivindicação 15, caracterizado pelo decodificador de imagem de realce (1066) ser formado para fornecer uma sinalização de predição (1100, 1106) e um sinal de resíduo dos dados de movimento de realce da camada de escalação de realce, em que o calculador dos dados de movimentos de realce (1078) é formado para combinar o sinal do resíduo dos dados de movimento de realce na dependência da sinalização de predição (1100, 1106) dos dados de movimento de base ou dos dados de movimento de base convertidos em suas resoluções para obter os dados de movimentos de realce.
18. Equipamento, de acordo com a reivindicação 15, caracterizado pelo decodificador de imagem de realce (1066) ser formado para prover uma sinalização de predição de diferença (1106) e um sinal de resíduo dos dados de movimento de realce sob a forma de diferenças de vetor de movimentos para os blocos da camada de escalação de realce, e em que o calculador dos dados de movimentos de realce (1078) é formado para combinar a diferença do vetor de movimentos com um vetor de movimentos de base de um bloco correspondente para calcular um vetor de movimentos de um bloco na dependência da sinalização de predição de diferença (1106).
19. Equipamento, de acordo com qualquer uma das reivindicações de 15 a 18, caracterizado por ter ainda um combinador de camada intermediária (1074) para combinar os dados de erro residual de predição de realce contidos na camada de realce com a seqüência base decodificada de imagens de erro residual com uma seqüência base interpolada de imagens de erro residual para obter a seqüência de realce de imagens de erro residual.
20. Método para a decodificação de uma seqüência de video codificado de uma camada de escalação base (1002) e uma camada de escalação de realce (1004), compreendendo os passos de: decodificar (1060) a camada de escalação base para obter uma seqüência base decodificada de imagens de erro residual e dados de movimento de base, caracterizada pela decodificação (1060) ser realizada usando o parâmetro de quantização base (1034); decodificar (1066) a camada de escalação de realce para obter as informações sobre uma seqüência de realce de imagens de erro residual e as informações sobre os dados de movimentos de realce, em que a decodificação de imagem de reale (1066) é realizada usando um parâmetro de quantização de realce (1036), o parâmetro de quantização de realce representando uma largura mais precisa do passo de quantização do que do parâmetro de quantização base (1034); calcular (1078) os dados de movimentos de realce avaliando as informações sobre os dados de movimentos de realce e usando as informações sobre os dados de movimento de base devidos às informações avaliadas dos dados de movimentos de realce; e realizar uma combinação de movimentos de realce (1076) para obter uma seqüência de imagens da camada de escalação de realce usando a seqüência de realce das imagens de erro residual e os dados de movimentos de realce.
BR122018016193-0A 2004-10-15 2005-09-21 Equipamento e método para a geração de uma seqüência de vídeo codificado usando uma predição de dados de movimento de camada intermediária BR122018016193B1 (pt)

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
US61945704P 2004-10-15 2004-10-15
US60/619,457 2004-10-15
DE102004059993A DE102004059993B4 (de) 2004-10-15 2004-12-13 Vorrichtung und Verfahren zum Erzeugen einer codierten Videosequenz unter Verwendung einer Zwischen-Schicht-Bewegungsdaten-Prädiktion sowie Computerprogramm und computerlesbares Medium
DE102004059993.9 2004-12-13
PCT/EP2005/010223 WO2006042611A1 (de) 2004-10-15 2005-09-21 Vorrichtung und verfahren zum erzeugen einer codierten videosequenz unter verwendung einer zwischen-schicht-bewegungsdaten-prädiktion
BRPI0516336A BRPI0516336B1 (pt) 2004-10-15 2005-09-21 equipamento e método para a geração de uma seqüencia de vídeo codificado usando uma predição de dados de movimento de camada intermediária

Publications (1)

Publication Number Publication Date
BR122018016193B1 true BR122018016193B1 (pt) 2019-06-25

Family

ID=36129058

Family Applications (4)

Application Number Title Priority Date Filing Date
BRPI0516348A BRPI0516348B1 (pt) 2004-10-15 2005-09-21 equipamento e método para a geração de uma seqüência de vídeo codificado e para decodificação de uma seqüência de vídeo codificado usando uma predição de valor residual de camada intermediária
BR122018016188A BR122018016188B1 (pt) 2004-10-15 2005-09-21 equipamento e método para a geração de uma seqüência de vídeo codificado e para decodificação de uma seqüência de vídeo codificado usando uma predição de valor residual de camada intermediária
BRPI0516336A BRPI0516336B1 (pt) 2004-10-15 2005-09-21 equipamento e método para a geração de uma seqüencia de vídeo codificado usando uma predição de dados de movimento de camada intermediária
BR122018016193-0A BR122018016193B1 (pt) 2004-10-15 2005-09-21 Equipamento e método para a geração de uma seqüência de vídeo codificado usando uma predição de dados de movimento de camada intermediária

Family Applications Before (3)

Application Number Title Priority Date Filing Date
BRPI0516348A BRPI0516348B1 (pt) 2004-10-15 2005-09-21 equipamento e método para a geração de uma seqüência de vídeo codificado e para decodificação de uma seqüência de vídeo codificado usando uma predição de valor residual de camada intermediária
BR122018016188A BR122018016188B1 (pt) 2004-10-15 2005-09-21 equipamento e método para a geração de uma seqüência de vídeo codificado e para decodificação de uma seqüência de vídeo codificado usando uma predição de valor residual de camada intermediária
BRPI0516336A BRPI0516336B1 (pt) 2004-10-15 2005-09-21 equipamento e método para a geração de uma seqüencia de vídeo codificado usando uma predição de dados de movimento de camada intermediária

Country Status (7)

Country Link
US (5) US8218628B2 (pt)
EP (2) EP2538678A1 (pt)
JP (2) JP5470280B2 (pt)
CN (14) CN101931811B (pt)
BR (4) BRPI0516348B1 (pt)
DE (2) DE102004059978B4 (pt)
MX (2) MX2007004409A (pt)

Families Citing this family (165)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8340177B2 (en) * 2004-07-12 2012-12-25 Microsoft Corporation Embedded base layer codec for 3D sub-band coding
US8442108B2 (en) * 2004-07-12 2013-05-14 Microsoft Corporation Adaptive updates in motion-compensated temporal filtering
US8374238B2 (en) * 2004-07-13 2013-02-12 Microsoft Corporation Spatial scalability in 3D sub-band decoding of SDMCTF-encoded video
CN101032174B (zh) * 2004-09-29 2013-07-03 汤姆森研究基金有限公司 用于降低分辨率更新视频编码和解码的方法和装置
KR100679022B1 (ko) * 2004-10-18 2007-02-05 삼성전자주식회사 계층간 필터링을 이용한 비디오 코딩 및 디코딩방법과,비디오 인코더 및 디코더
KR100679031B1 (ko) * 2004-12-03 2007-02-05 삼성전자주식회사 다 계층 기반의 비디오 인코딩 방법, 디코딩 방법 및 상기방법을 이용한 장치
US8300693B2 (en) * 2005-01-18 2012-10-30 Ecole Polytechnique Federale De Lausanne Image transform for video coding
KR100714689B1 (ko) * 2005-01-21 2007-05-04 삼성전자주식회사 다 계층 구조 기반의 스케일러블 비디오 코딩 및 디코딩방법, 이를 위한 장치
JP5213456B2 (ja) * 2005-02-18 2013-06-19 トムソン ライセンシング 高分解能ピクチャの符号化情報を低分解能ピクチャから導き出す方法、並びにその方法を実現する符号化及び復号化装置
US7876833B2 (en) * 2005-04-11 2011-01-25 Sharp Laboratories Of America, Inc. Method and apparatus for adaptive up-scaling for spatially scalable coding
US7577307B2 (en) * 2005-04-12 2009-08-18 The Aerospace Corporation Fast adaptive lifting lossless wavelet transform
US7574064B2 (en) * 2005-04-12 2009-08-11 The Aerospace Corporation Fast lifting lossless wavelet transform
KR100931870B1 (ko) * 2005-04-13 2009-12-15 노키아 코포레이션 비디오 데이터를 효과적으로 코딩 및 디코딩하는 방법,장치 및 시스템
KR100763182B1 (ko) * 2005-05-02 2007-10-05 삼성전자주식회사 다계층 기반의 가중 예측을 이용한 비디오 코딩 방법 및장치
JP4779435B2 (ja) * 2005-05-17 2011-09-28 ソニー株式会社 画像処理装置、および画像処理方法、並びにコンピュータ・プログラム
US20060271990A1 (en) * 2005-05-18 2006-11-30 Rodriguez Arturo A Higher picture rate HD encoding and transmission with legacy HD backward compatibility
US8422546B2 (en) * 2005-05-25 2013-04-16 Microsoft Corporation Adaptive video encoding using a perceptual model
KR100878811B1 (ko) * 2005-05-26 2009-01-14 엘지전자 주식회사 비디오 신호의 디코딩 방법 및 이의 장치
EP1727372A1 (en) * 2005-05-27 2006-11-29 Thomson Licensing Method and apparatus for encoding and decoding video data,
US20070014346A1 (en) * 2005-07-13 2007-01-18 Nokia Corporation Coding dependency indication in scalable video coding
US8279918B2 (en) * 2005-07-15 2012-10-02 Utc Fire & Security Americas Corporation, Inc. Method and apparatus for motion compensated temporal filtering using residual signal clipping
KR100904440B1 (ko) * 2005-10-05 2009-06-26 엘지전자 주식회사 레지듀얼 데이터 스트림을 생성하는 방법과 장치 및 이미지블록을 복원하는 방법과 장치
KR20070038396A (ko) * 2005-10-05 2007-04-10 엘지전자 주식회사 영상 신호의 인코딩 및 디코딩 방법
KR100891662B1 (ko) * 2005-10-05 2009-04-02 엘지전자 주식회사 비디오 신호 디코딩 및 인코딩 방법
KR100891663B1 (ko) * 2005-10-05 2009-04-02 엘지전자 주식회사 비디오 신호 디코딩 및 인코딩 방법
KR20070096751A (ko) * 2006-03-24 2007-10-02 엘지전자 주식회사 영상 데이터를 코딩/디코딩하는 방법 및 장치
KR100763196B1 (ko) * 2005-10-19 2007-10-04 삼성전자주식회사 어떤 계층의 플래그를 계층간의 연관성을 이용하여부호화하는 방법, 상기 부호화된 플래그를 복호화하는방법, 및 장치
US9071844B2 (en) * 2005-12-16 2015-06-30 Texas Instruments Incorporated Motion estimation with motion vector penalty
US8446956B2 (en) * 2006-01-05 2013-05-21 Thomson Licensing Inter-layer motion prediction method using resampling
GB0600141D0 (en) * 2006-01-05 2006-02-15 British Broadcasting Corp Scalable coding of video signals
US7956930B2 (en) 2006-01-06 2011-06-07 Microsoft Corporation Resampling and picture resizing operations for multi-resolution video coding and decoding
EP1835749A1 (en) * 2006-03-16 2007-09-19 THOMSON Licensing Method for coding video data of a sequence of pictures
US8059721B2 (en) 2006-04-07 2011-11-15 Microsoft Corporation Estimating sample-domain distortion in the transform domain with rounding compensation
US8503536B2 (en) * 2006-04-07 2013-08-06 Microsoft Corporation Quantization adjustments for DC shift artifacts
US8130828B2 (en) * 2006-04-07 2012-03-06 Microsoft Corporation Adjusting quantization to preserve non-zero AC coefficients
US20070237237A1 (en) * 2006-04-07 2007-10-11 Microsoft Corporation Gradient slope detection for video compression
US7995649B2 (en) 2006-04-07 2011-08-09 Microsoft Corporation Quantization adjustment based on texture level
US8711925B2 (en) * 2006-05-05 2014-04-29 Microsoft Corporation Flexible quantization
US8126046B2 (en) 2006-06-30 2012-02-28 Intel Corporation Flexible macroblock ordering and arbitrary slice ordering apparatus, system, and method
US8270490B2 (en) 2006-07-06 2012-09-18 Canon Kabushiki Kaisha Motion vector detection apparatus, motion vector detection method, image encoding apparatus, image encoding method, and computer program
US9332274B2 (en) * 2006-07-07 2016-05-03 Microsoft Technology Licensing, Llc Spatially scalable video coding
US8422548B2 (en) * 2006-07-10 2013-04-16 Sharp Laboratories Of America, Inc. Methods and systems for transform selection and management
EP1879399A1 (en) 2006-07-12 2008-01-16 THOMSON Licensing Method for deriving motion data for high resolution pictures from motion data of low resolution pictures and coding and decoding devices implementing said method
KR100809301B1 (ko) * 2006-07-20 2008-03-04 삼성전자주식회사 엔트로피 부호화/복호화 방법 및 장치
DE102006043707A1 (de) 2006-09-18 2008-03-27 Robert Bosch Gmbh Verfahren zur Datenkompression in einer Videosequenz
US8250618B2 (en) * 2006-09-18 2012-08-21 Elemental Technologies, Inc. Real-time network adaptive digital video encoding/decoding
CN101589625B (zh) 2006-10-25 2011-09-21 弗劳恩霍夫应用研究促进协会 质量可缩放编码
JP5232796B2 (ja) * 2006-12-14 2013-07-10 トムソン ライセンシング 適応エンハンスメントレイヤ予測を使用したビット深度スケーラブルなビデオデータを符号化及び/又は復号化する方法及び装置
US8243798B2 (en) * 2006-12-20 2012-08-14 Intel Corporation Methods and apparatus for scalable video bitstreams
US8577168B2 (en) * 2006-12-28 2013-11-05 Vidyo, Inc. System and method for in-loop deblocking in scalable video coding
KR101364532B1 (ko) 2007-01-03 2014-02-18 삼성전자주식회사 인접 파티션의 크기를 고려한 움직임 벡터 예측 방법,장치, 인코더, 디코더 및 복호화 방법
US8199812B2 (en) * 2007-01-09 2012-06-12 Qualcomm Incorporated Adaptive upsampling for scalable video coding
US8238424B2 (en) 2007-02-09 2012-08-07 Microsoft Corporation Complexity-based adaptive preprocessing for multiple-pass video compression
KR101370289B1 (ko) * 2007-02-14 2014-03-06 삼성전자주식회사 레지듀얼 리사이징을 이용한 영상의 부호화, 복호화 방법및 장치
US20080240257A1 (en) * 2007-03-26 2008-10-02 Microsoft Corporation Using quantization bias that accounts for relations between transform bins and quantization bins
US8498335B2 (en) * 2007-03-26 2013-07-30 Microsoft Corporation Adaptive deadzone size adjustment in quantization
US8243797B2 (en) * 2007-03-30 2012-08-14 Microsoft Corporation Regions of interest for quality adjustments
US8014613B2 (en) * 2007-04-16 2011-09-06 Sharp Laboratories Of America, Inc. Methods and systems for inter-layer image parameter prediction
US20140072058A1 (en) 2010-03-05 2014-03-13 Thomson Licensing Coding systems
US8442337B2 (en) * 2007-04-18 2013-05-14 Microsoft Corporation Encoding adjustments for animation content
MX2009011217A (es) * 2007-04-18 2009-12-07 Thomson Licensing Sistemas de codificacion.
US8331438B2 (en) * 2007-06-05 2012-12-11 Microsoft Corporation Adaptive selection of picture-level quantization parameters for predicted video pictures
KR20080107965A (ko) * 2007-06-08 2008-12-11 삼성전자주식회사 객체 경계 기반 파티션을 이용한 영상의 부호화, 복호화방법 및 장치
KR20080114388A (ko) * 2007-06-27 2008-12-31 삼성전자주식회사 스케일러블 영상 부호화장치 및 방법과 그 영상 복호화장치및 방법
US8184715B1 (en) 2007-08-09 2012-05-22 Elemental Technologies, Inc. Method for efficiently executing video encoding operations on stream processor architectures
US8457214B2 (en) * 2007-09-10 2013-06-04 Cisco Technology, Inc. Video compositing of an arbitrary number of source streams using flexible macroblock ordering
JP5534521B2 (ja) 2007-10-15 2014-07-02 トムソン ライセンシング スケーラブルなビデオのためにレイヤー間残差予測を行う方法および装置
US8892738B2 (en) 2007-11-07 2014-11-18 Numecent Holdings, Inc. Deriving component statistics for a stream enabled application
US8121197B2 (en) 2007-11-13 2012-02-21 Elemental Technologies, Inc. Video encoding and decoding using parallel processors
US20090141808A1 (en) * 2007-11-30 2009-06-04 Yiufai Wong System and methods for improved video decoding
US8953673B2 (en) * 2008-02-29 2015-02-10 Microsoft Corporation Scalable video coding and decoding with sample bit depth and chroma high-pass residual layers
US8711948B2 (en) * 2008-03-21 2014-04-29 Microsoft Corporation Motion-compensated prediction of inter-layer residuals
US8189933B2 (en) * 2008-03-31 2012-05-29 Microsoft Corporation Classifying and controlling encoding quality for textured, dark smooth and smooth video content
PL2835976T3 (pl) * 2008-04-16 2017-04-28 Ge Video Compression, Llc Skalowalność głębi bitowej
US8249142B2 (en) * 2008-04-24 2012-08-21 Motorola Mobility Llc Method and apparatus for encoding and decoding video using redundant encoding and decoding techniques
US8897359B2 (en) 2008-06-03 2014-11-25 Microsoft Corporation Adaptive quantization for enhancement layer video coding
WO2010005691A1 (en) * 2008-06-16 2010-01-14 Dolby Laboratories Licensing Corporation Rate control model adaptation based on slice dependencies for video coding
US8705627B2 (en) * 2008-07-25 2014-04-22 Sony Corporation Image processing apparatus and method
US9571856B2 (en) 2008-08-25 2017-02-14 Microsoft Technology Licensing, Llc Conversion operations in scalable video encoding and decoding
US8213503B2 (en) 2008-09-05 2012-07-03 Microsoft Corporation Skip modes for inter-layer residual video coding and decoding
WO2010060442A1 (en) * 2008-11-26 2010-06-03 Telefonaktiebolaget Lm Ericsson (Publ) Technique for handling media content to be accessible via multiple media tracks
FR2939593B1 (fr) * 2008-12-09 2010-12-31 Canon Kk Procede et dispositif de codage video
US8391356B1 (en) * 2009-02-18 2013-03-05 Sprint Communications Company L.P. Scalable video coding priority marking
US9485299B2 (en) * 2009-03-09 2016-11-01 Arris Canada, Inc. Progressive download gateway
US9078008B2 (en) * 2009-04-20 2015-07-07 Dolby Laboratories Licensing Corporation Adaptive inter-layer interpolation filters for multi-layered video delivery
CN102450010A (zh) 2009-04-20 2012-05-09 杜比实验室特许公司 定向内插和数据后处理
US9106920B2 (en) * 2009-05-05 2015-08-11 Telefonaktiebolaget L M Ericsson (Publ) Scalable video coding method, encoder and computer program
US9774882B2 (en) 2009-07-04 2017-09-26 Dolby Laboratories Licensing Corporation Encoding and decoding architectures for format compatible 3D video delivery
US8566393B2 (en) 2009-08-10 2013-10-22 Seawell Networks Inc. Methods and systems for scalable video chunking
JP5844263B2 (ja) 2009-10-05 2016-01-13 ビーマル イメージング リミテッドBeamr Imaging Ltd. デジタル画像を再圧縮するための装置および方法
JP2013507084A (ja) * 2009-10-05 2013-02-28 アイ.シー.ヴイ.ティー リミテッド 画像処理のための方法およびシステム
TW201119407A (en) * 2009-11-19 2011-06-01 Thomson Licensing Method for coding and method for reconstruction of a block of an image
EP2524515B1 (en) 2010-01-11 2018-05-30 Telefonaktiebolaget LM Ericsson (publ) Technique for video quality estimation
EP2988503A1 (en) 2010-01-14 2016-02-24 Dolby Laboratories Licensing Corporation Buffered adaptive filters
DK2559246T3 (en) 2010-04-13 2016-09-19 Ge Video Compression Llc Fusion of sample areas
JP5856143B2 (ja) 2010-04-13 2016-02-09 ジーイー ビデオ コンプレッション エルエルシー 細分割を使用した2次元情報信号の空間的なサンプリングの符号化
PT3301648T (pt) 2010-04-13 2020-04-20 Ge Video Compression Llc Herança em matriz de amostras em subdivisão multitree
EP2559243B1 (en) * 2010-04-13 2014-08-27 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. A video decoder and a video encoder using motion-compensated prediction
KR101447796B1 (ko) 2010-04-13 2014-10-07 프라운호퍼 게젤샤프트 쭈르 푀르데룽 데어 안겐반텐 포르슝 에. 베. 평면 간 예측
US9510009B2 (en) * 2010-05-20 2016-11-29 Thomson Licensing Methods and apparatus for adaptive motion vector candidate ordering for video encoding and decoding
CN103155568B (zh) 2010-07-08 2016-07-27 杜比实验室特许公司 用于使用参考处理信号进行多层图像和视频传输的系统和方法
US8930562B2 (en) 2010-07-20 2015-01-06 Qualcomm Incorporated Arranging sub-track fragments for streaming video data
US8190677B2 (en) * 2010-07-23 2012-05-29 Seawell Networks Inc. Methods and systems for scalable video delivery
RU2010135495A (ru) * 2010-08-24 2012-02-27 ЭлЭсАй Корпорейшн (US) Видеотранскодер с гибким управлением качеством и сложностью
CN107197258B (zh) * 2011-03-30 2020-04-28 Lg 电子株式会社 视频解码装置和视频编码装置
WO2012167711A1 (en) * 2011-06-10 2012-12-13 Mediatek Inc. Method and apparatus of scalable video coding
CN108337522B (zh) * 2011-06-15 2022-04-19 韩国电子通信研究院 可伸缩解码方法/设备、可伸缩编码方法/设备和介质
US8676938B2 (en) 2011-06-28 2014-03-18 Numecent Holdings, Inc. Local streaming proxy server
CA2839274A1 (en) * 2011-06-30 2013-01-03 Vidyo, Inc. Motion prediction in scalable video coding
WO2013006310A1 (en) * 2011-07-01 2013-01-10 Vidyo, Inc. Loop filter techniques for cross-layer prediction
EP2732615A1 (en) * 2011-07-13 2014-05-21 Entropic Communications, Inc. Method and apparatus for motion estimation in video image data
US9338458B2 (en) * 2011-08-24 2016-05-10 Mediatek Inc. Video decoding apparatus and method for selectively bypassing processing of residual values and/or buffering of processed residual values
JP6156648B2 (ja) * 2011-09-22 2017-07-05 サン パテント トラスト 動画像符号化方法、動画像符号化装置、動画像復号化方法、および、動画像復号化装置
CA2847296C (en) 2011-10-17 2017-09-19 Kabushiki Kaisha Toshiba Encoding device, decoding device, encoding method, and decoding method
KR101641863B1 (ko) * 2011-10-19 2016-07-22 주식회사 케이티 영상 부호화/복호화 방법 및 그 장치
US20130107962A1 (en) 2011-10-26 2013-05-02 Intellectual Discovery Co., Ltd. Scalable video coding method and apparatus using inter prediction mode
TWI577191B (zh) * 2011-11-03 2017-04-01 太陽專利信託 以脈衝碼調變模式編碼之區塊的濾波技術
KR20130050403A (ko) 2011-11-07 2013-05-16 오수미 인터 모드에서의 복원 블록 생성 방법
FR2982447A1 (fr) 2011-11-07 2013-05-10 France Telecom Procede de codage et decodage d'images, dispositif de codage et decodage et programmes d'ordinateur correspondants
FR2982446A1 (fr) 2011-11-07 2013-05-10 France Telecom Procede de codage et decodage d'images, dispositif de codage et decodage et programmes d'ordinateur correspondants
RU2710303C2 (ru) * 2011-11-08 2019-12-25 Кт Корпорейшен Способ декодирования видеосигнала
US9451287B2 (en) 2011-11-08 2016-09-20 Qualcomm Incorporated Context reduction for context adaptive binary arithmetic coding
WO2013106190A1 (en) * 2012-01-09 2013-07-18 Dolby Laboratories Licensing Corporation Hybrid reference picture reconstruction method for single and multiple layered video coding systems
US9386057B2 (en) 2012-01-18 2016-07-05 Numecent Holdings, Inc. Application streaming and execution system for localized clients
PL2822276T3 (pl) * 2012-02-29 2019-04-30 Lg Electronics Inc Sposób predykcji międzywarstwowej i stosujące go urządzenie
EP3432582B1 (en) * 2012-02-29 2020-04-01 Sony Corporation Image processing device and method
WO2013137588A1 (ko) * 2012-03-12 2013-09-19 엘지전자 주식회사 스케일러블 비디오 디코딩/인코딩 방법 및 이를 이용한 디코딩/인코딩 장치
US9521410B2 (en) * 2012-04-26 2016-12-13 Qualcomm Incorporated Quantization parameter (QP) coding in video coding
US9485304B2 (en) 2012-04-30 2016-11-01 Numecent Holdings, Inc. Asset streaming and delivery
CA2873487A1 (en) * 2012-05-14 2013-11-21 Luca Rossato Decomposition of residual data during signal encoding, decoding and reconstruction in a tiered hierarchy
KR102001415B1 (ko) 2012-06-01 2019-07-18 삼성전자주식회사 다계층 비디오 코딩을 위한 레이트 제어 방법, 이를 이용한 비디오 인코딩 장치 및 비디오 신호 처리 시스템
US9674532B2 (en) * 2012-06-24 2017-06-06 Lg Electronics Inc. Image decoding method using information on a random access picture and apparatus using same
WO2014002375A1 (ja) * 2012-06-26 2014-01-03 三菱電機株式会社 動画像符号化・復号装置及び方法
EP2870757A1 (en) * 2012-07-09 2015-05-13 VID SCALE, Inc. Codec architecture for multiple layer video coding
US9277212B2 (en) 2012-07-09 2016-03-01 Qualcomm Incorporated Intra mode extensions for difference domain intra prediction
KR20140016823A (ko) * 2012-07-24 2014-02-10 한국전자통신연구원 영상의 복호화 방법 및 이를 이용하는 장치
WO2014043277A2 (en) * 2012-09-11 2014-03-20 Numecent Holdings Ltd. Application streaming using pixel streaming
US20150237376A1 (en) * 2012-09-28 2015-08-20 Samsung Electronics Co., Ltd. Method for sao compensation for encoding inter-layer prediction error and apparatus therefor
CN103716631B (zh) * 2012-09-29 2017-04-05 华为技术有限公司 用于图像处理的方法、装置、编码器和解码器
CN103716628B (zh) * 2012-09-29 2017-08-18 华为技术有限公司 编解码处理方法、编码器和解码器
US10375405B2 (en) 2012-10-05 2019-08-06 Qualcomm Incorporated Motion field upsampling for scalable coding based on high efficiency video coding
US20140169467A1 (en) * 2012-12-14 2014-06-19 Ce Wang Video coding including shared motion estimation between multple independent coding streams
GB2509311B (en) * 2012-12-21 2016-12-14 Canon Kk Method and device for determining residual data for encoding or decoding at least part of an image
US20140192880A1 (en) * 2013-01-04 2014-07-10 Zhipin Deng Inter layer motion data inheritance
US9661048B2 (en) 2013-01-18 2017-05-23 Numecent Holding, Inc. Asset streaming and delivery
CN103974268B (zh) * 2013-01-29 2017-09-29 上海携昌电子科技有限公司 精细粒度可调的低延时传感器网络数据传输方法
US9743097B2 (en) * 2013-03-01 2017-08-22 Qualcomm Incorporated Spatial motion vector scaling for scalable video coding
US9473779B2 (en) * 2013-03-05 2016-10-18 Qualcomm Incorporated Parallel processing for video coding
US20160037184A1 (en) * 2013-03-14 2016-02-04 Sony Corporation Image processing device and method
KR20140121315A (ko) 2013-04-04 2014-10-15 한국전자통신연구원 참조 픽처 리스트를 이용한 다 계층 기반의 영상 부호화/복호화 방법 및 그 장치
EP3410715A1 (en) 2013-04-05 2018-12-05 Vid Scale, Inc. Inter-layer reference picture enhancement for multiple layer video coding
US20140301436A1 (en) * 2013-04-05 2014-10-09 Qualcomm Incorporated Cross-layer alignment in multi-layer video coding
US9380305B2 (en) * 2013-04-05 2016-06-28 Qualcomm Incorporated Generalized residual prediction in high-level syntax only SHVC and signaling and management thereof
WO2014161355A1 (en) * 2013-04-05 2014-10-09 Intel Corporation Techniques for inter-layer residual prediction
CN104104956B (zh) * 2013-04-08 2017-10-17 华为技术有限公司 用于分层视频编码和解码的方法、编码装置和解码装置
MX354337B (es) * 2013-04-15 2018-02-27 Rossato Luca Codificación y decodificación de señal compatible con versiones anteriores híbrida.
WO2015100522A1 (en) * 2013-12-30 2015-07-09 Mediatek Singapore Pte. Ltd. Methods for inter-component residual prediction
CN104023225B (zh) * 2014-05-28 2016-08-31 北京邮电大学 基于空时域自然场景统计特征的无参考视频质量评估方法
WO2016123001A1 (en) * 2015-01-27 2016-08-04 Dolby International Ab Predictive image encoding and decoding with pixel group based quantization
CN111245574B (zh) * 2015-03-06 2022-11-15 韩国电子通信研究院 使用引导码和前导码的广播信号帧生成方法
CN107920248B (zh) * 2016-10-11 2020-10-30 京东方科技集团股份有限公司 图像编解码装置、图像处理系统、训练方法和显示装置
US10567703B2 (en) 2017-06-05 2020-02-18 Cisco Technology, Inc. High frame rate video compatible with existing receivers and amenable to video decoder implementation
CN107396131A (zh) * 2017-08-22 2017-11-24 四川长虹电器股份有限公司 一种基于压缩感知的移动端本地数据存储方法
GB2574575A (en) * 2018-04-27 2019-12-18 V Nova Int Ltd Video decoder chipset
CN110097497B (zh) * 2019-05-14 2023-03-24 电子科技大学 基于residual multismoothlets的多尺度图像变换和逆变换方法

Family Cites Families (38)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
NL9200499A (nl) 1992-03-17 1993-10-18 Nederland Ptt Systeem omvattende ten minste een encoder voor het coderen van een digitaal signaal en ten minste een decoder voor het decoderen van een gecodeerd digitaal signaal, alsmede encoder en decoder voor toepassing in het systeem.
GB9206860D0 (en) 1992-03-27 1992-05-13 British Telecomm Two-layer video coder
JP3014548B2 (ja) 1992-08-24 2000-02-28 沖電気工業株式会社 動画像符号化装置
CA2127151A1 (en) * 1993-09-21 1995-03-22 Atul Puri Spatially scalable video encoding and decoding
US5621660A (en) * 1995-04-18 1997-04-15 Sun Microsystems, Inc. Software-based encoder for a software-implemented end-to-end scalable video delivery system
US6023301A (en) 1995-07-14 2000-02-08 Sharp Kabushiki Kaisha Video coding device and video decoding device
JP3788823B2 (ja) 1995-10-27 2006-06-21 株式会社東芝 動画像符号化装置および動画像復号化装置
JP3263807B2 (ja) 1996-09-09 2002-03-11 ソニー株式会社 画像符号化装置および画像符号化方法
EP0901734B1 (en) * 1997-03-12 2004-02-18 Matsushita Electric Industrial Co., Ltd. Mpeg decoder providing multiple standard output signals
US6233356B1 (en) * 1997-07-08 2001-05-15 At&T Corp. Generalized scalability for video coder based on video objects
US6208692B1 (en) * 1997-12-31 2001-03-27 Sarnoff Corporation Apparatus and method for performing scalable hierarchical motion estimation
FI113124B (fi) * 1999-04-29 2004-02-27 Nokia Corp Tiedonsiirto
US6480547B1 (en) * 1999-10-15 2002-11-12 Koninklijke Philips Electronics N.V. System and method for encoding and decoding the residual signal for fine granular scalable video
US6639943B1 (en) * 1999-11-23 2003-10-28 Koninklijke Philips Electronics N.V. Hybrid temporal-SNR fine granular scalability video coding
US7095782B1 (en) * 2000-03-01 2006-08-22 Koninklijke Philips Electronics N.V. Method and apparatus for streaming scalable video
US6510177B1 (en) * 2000-03-24 2003-01-21 Microsoft Corporation System and method for layered video coding enhancement
DE10022520A1 (de) 2000-05-10 2001-11-15 Bosch Gmbh Robert Verfahren zur örtlichen skalierbaren Bewegtbildcodierung
DE60124746T2 (de) * 2000-09-22 2007-09-13 Koninklijke Philips Electronics N.V. Videocodierung mit hybrider temporeller und snr-bezogener feingranularer skalierbarkeit
US6940905B2 (en) * 2000-09-22 2005-09-06 Koninklijke Philips Electronics N.V. Double-loop motion-compensation fine granular scalability
US6961383B1 (en) 2000-11-22 2005-11-01 At&T Corp. Scalable video encoder/decoder with drift control
DE10121259C2 (de) 2001-01-08 2003-07-24 Siemens Ag Optimale SNR-skalierbare Videocodierung
US20020118742A1 (en) * 2001-02-26 2002-08-29 Philips Electronics North America Corporation. Prediction structures for enhancement layer in fine granular scalability video coding
US6792044B2 (en) * 2001-05-16 2004-09-14 Koninklijke Philips Electronics N.V. Method of and system for activity-based frequency weighting for FGS enhancement layers
WO2003010972A1 (en) * 2001-07-26 2003-02-06 Koninklijke Philips Electronics N.V. Generating a scalable coded video signal fr om a non-scalable coded video signal
US7116841B2 (en) * 2001-08-30 2006-10-03 Micron Technology, Inc. Apparatus, method, and product for downscaling an image
KR20040054746A (ko) * 2001-10-26 2004-06-25 코닌클리케 필립스 일렉트로닉스 엔.브이. 공간 스케일가능 압축 방법 및 장치
US6789123B2 (en) * 2001-12-28 2004-09-07 Microsoft Corporation System and method for delivery of dynamically scalable audio/video content over a network
JP2004073312A (ja) 2002-08-12 2004-03-11 Mitsubishi Heavy Ind Ltd ハロゲン化有機物の分解処理方法及び装置
AU2003248913A1 (en) * 2003-01-10 2004-08-10 Thomson Licensing S.A. Defining interpolation filters for error concealment in a coded image
US20060133475A1 (en) 2003-02-17 2006-06-22 Bruls Wilhelmus H A Video coding
JP3997171B2 (ja) * 2003-03-27 2007-10-24 株式会社エヌ・ティ・ティ・ドコモ 動画像符号化装置、動画像符号化方法、動画像符号化プログラム、動画像復号装置、動画像復号方法、及び動画像復号プログラム
CN1202673C (zh) * 2003-08-07 2005-05-18 西安电子科技大学 增强型精细粒度可伸缩视频编码结构
KR100965881B1 (ko) * 2003-10-10 2010-06-24 삼성전자주식회사 비디오 데이터 인코딩 시스템 및 디코딩 시스템
US7227894B2 (en) 2004-02-24 2007-06-05 Industrial Technology Research Institute Method and apparatus for MPEG-4 FGS performance enhancement
CN1939066B (zh) * 2004-04-02 2012-05-23 汤姆森许可贸易公司 用于复杂度可伸缩视频解码器的方法和设备
WO2005107912A1 (en) 2004-05-10 2005-11-17 Paltronics Australasia Pty Limited A system and method for providing a plurality of games
JP2008516556A (ja) * 2004-10-13 2008-05-15 トムソン ライセンシング コンプレクシティスケーラブル映像符号化復号化方法及び装置
JP2008517498A (ja) 2004-10-15 2008-05-22 フラウンホッファー−ゲゼルシャフト ツァ フェルダールング デァ アンゲヴァンテン フォアシュンク エー.ファオ 中間レイヤ動きデータ予測を用いて符号化されたビデオシーケンスを生成するための装置および方法

Also Published As

Publication number Publication date
CN101938651A (zh) 2011-01-05
JP2011101410A (ja) 2011-05-19
DE102004059993A1 (de) 2006-04-27
US8873623B2 (en) 2014-10-28
CN101854550B (zh) 2013-02-13
CN101980535A (zh) 2011-02-23
US20120250759A1 (en) 2012-10-04
US20110038421A1 (en) 2011-02-17
CN101095357A (zh) 2007-12-26
CN102055985B (zh) 2012-09-05
JP2011109691A (ja) 2011-06-02
CN101044762A (zh) 2007-09-26
EP2538678A1 (de) 2012-12-26
CN101959066A (zh) 2011-01-26
BR122018016188B1 (pt) 2019-12-03
CN101095357B (zh) 2011-06-15
US20060083309A1 (en) 2006-04-20
MX2007004409A (es) 2007-07-17
CN102082952A (zh) 2011-06-01
CN101931813A (zh) 2010-12-29
CN101931812B (zh) 2011-12-21
DE102004059978A1 (de) 2006-04-27
CN102082952B (zh) 2012-08-08
US8873622B2 (en) 2014-10-28
CN101959066B (zh) 2012-10-10
CN101980535B (zh) 2012-12-12
CN101931810A (zh) 2010-12-29
CN101938651B (zh) 2012-10-31
CN101854550A (zh) 2010-10-06
US8873624B2 (en) 2014-10-28
CN101931812A (zh) 2010-12-29
CN102055986A (zh) 2011-05-11
JP5470280B2 (ja) 2014-04-16
CN102055985A (zh) 2011-05-11
BRPI0516336B1 (pt) 2018-11-06
US20060083308A1 (en) 2006-04-20
CN101931810B (zh) 2012-12-19
US20120250760A1 (en) 2012-10-04
DE102004059993B4 (de) 2006-08-31
MX2007004408A (es) 2007-06-15
EP2538677A1 (de) 2012-12-26
CN102098514A (zh) 2011-06-15
CN102055986B (zh) 2012-11-21
US8867619B2 (en) 2014-10-21
CN101931811A (zh) 2010-12-29
US8218628B2 (en) 2012-07-10
BRPI0516348A (pt) 2008-09-02
CN102098514B (zh) 2013-06-12
DE102004059978B4 (de) 2006-09-07
BRPI0516348B1 (pt) 2018-11-21
CN101931811B (zh) 2012-10-10
BRPI0516336A (pt) 2008-09-02
CN101931813B (zh) 2012-10-31

Similar Documents

Publication Publication Date Title
BR122018016193B1 (pt) Equipamento e método para a geração de uma seqüência de vídeo codificado usando uma predição de dados de movimento de camada intermediária
CA2703775C (en) Method and apparatus for selecting a coding mode
KR100788707B1 (ko) Mctf 스케일러블 비디오 코더에서 가변 크기 블록들의중복 블록 움직임 보상
EP2008469B1 (en) Multilayer-based video encoding method and apparatus thereof
JP4410245B2 (ja) ビデオをトランスコーディングする方法
CA2763489C (en) Method and device for improved multi-layer data compression
Schwarz et al. RD optimized multi-layer encoder control for SVC
JP5122288B2 (ja) 中間レイヤ残余値予測を用いて符号化されたビデオシーケンスを生成および符号化されたビデオシーケンスを復号化するための装置および方法
TW201933870A (zh) 利用略過機制對一連串視訊圖框中之一圖框的處理區塊編碼的方法及裝置
KR100834757B1 (ko) 엔트로피 부호화 효율을 향상시키는 방법 및 그 방법을이용한 비디오 인코더 및 비디오 디코더
JP2008517498A (ja) 中間レイヤ動きデータ予測を用いて符号化されたビデオシーケンスを生成するための装置および方法
Suzuki et al. Block-based reduced resolution inter frame coding with template matching prediction
JP6528635B2 (ja) 動画像符号化装置、動画像符号化方法及び動画像符号化用コンピュータプログラム
KR20060085003A (ko) H.264/avc에서의 시방향 에러은닉 방법
Shaikh et al. Video compression algorithm using motion compensation technique
Rusert Interframe wavelet video coding with operating point adaptation
Mayer et al. Spatially scalable video coding with in-band prediction
Zhang et al. Improved intra prediction mode-decision method
Bavi et al. Inter frame video coding in advanced video coding standard H. 264 using template matching technique
Rose et al. Efficient SNR-scalability in predictive video coding
Roodaki et al. Performance enhancement of H. 264 codec by layered coding
JP2009111718A (ja) 映像再符号化装置、映像再符号化方法、映像再符号化プログラムおよびそのプログラムを記録したコンピュータ読み取り可能な記録媒体
Yoo et al. Error reduction in inter-layer motion prediction using FGS refined motion
Mayer et al. Spatially scalable video coding with in-band prediction
Fu et al. Reverse-play technique on compressed video across GOP boundaries

Legal Events

Date Code Title Description
B07A Technical examination (opinion): publication of technical examination (opinion) [chapter 7.1 patent gazette]
B09A Decision: intention to grant [chapter 9.1 patent gazette]
B16A Patent or certificate of addition of invention granted

Free format text: PRAZO DE VALIDADE: 10 (DEZ) ANOS CONTADOS A PARTIR DE 25/06/2019, OBSERVADAS AS CONDICOES LEGAIS. (CO) 10 (DEZ) ANOS CONTADOS A PARTIR DE 25/06/2019, OBSERVADAS AS CONDICOES LEGAIS