BRPI0813996B1 - Dispositivo de codificação de imagem para receber um sinal de imagem a cores em movimento e dispositivo de decodificação de imagem para receber um fluxo de bits obtido por compressão-codificação de um sinal de imagem a cores em movimento - Google Patents

Dispositivo de codificação de imagem para receber um sinal de imagem a cores em movimento e dispositivo de decodificação de imagem para receber um fluxo de bits obtido por compressão-codificação de um sinal de imagem a cores em movimento Download PDF

Info

Publication number
BRPI0813996B1
BRPI0813996B1 BRPI0813996-2A BRPI0813996A BRPI0813996B1 BR PI0813996 B1 BRPI0813996 B1 BR PI0813996B1 BR PI0813996 A BRPI0813996 A BR PI0813996A BR PI0813996 B1 BRPI0813996 B1 BR PI0813996B1
Authority
BR
Brazil
Prior art keywords
coding
prediction
unit
macroblock
intra
Prior art date
Application number
BRPI0813996-2A
Other languages
English (en)
Inventor
Shunichi Sekiguchi
Shuuichi Yamagishi
Yoshimi Moriya
Yoshihisa Yamada
Kohtaro Asai
Tokumichi Murakami
Yuichi Idehara
Original Assignee
Mitsubishi Electric Corporation
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Mitsubishi Electric Corporation filed Critical Mitsubishi Electric Corporation
Publication of BRPI0813996A2 publication Critical patent/BRPI0813996A2/pt
Publication of BRPI0813996B1 publication Critical patent/BRPI0813996B1/pt

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • H04N19/517Processing of motion vectors by encoding
    • 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/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/117Filters, e.g. for pre-processing or post-processing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/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/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/186Methods 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 a colour or a chrominance component
    • 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/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
    • H04N19/436Methods 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 using parallelised computational arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/523Motion estimation or motion compensation with sub-pixel accuracy
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/593Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques
    • 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/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/91Entropy coding, e.g. variable length coding [VLC] or arithmetic coding

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Color Television Systems (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

DISPOSITIVO DE CODIFICAÇÃO DE IMAGEM PARA RECEBER UM SINAL DE IMAGEM A CORES EM MOVIMENTO E DISPOSITIVO DE DECODIFICAÇÃO DE IMAGEM PARA RECEBER UM FLUXO DE BITS OBTIDO POR COMPRESSÃO-CODIFICAÇÃO DE UM SINAL DE IMAGEM A CORES EM MOVIMENTO É revelado um dispositivo de codificação que inclui uma unidade de separação de componentes de cor para separar um fluxo de bits de entrada para os respectivos componentes de cor, uma unidade de divisão de bloco para dividir um sinal do componente de cor de entrada em blocos para gerar um sinal de uma área unitária de codificação, uma unidade de geração de imagem predita para gerar uma imagem predita para o sinal, uma unidade de determinação para determinar uma modo de predição usado para codificar de acordo com um eficiência de predição da imagem predita, uma unidade de codificação de erro de predição para codificar em diferença entre a imagem predita correspondente ao modo de predição determinado pela unidade de determinação e o sinal do componente de cor de entrada, e uma unidade de codificação para codificar por comprimento variável o modo de predição, uma saída da unidade de codificação de erro de predição, e uma sinalização de identificação (...).

Description

FUNDAMENTOS DA INVENÇÃO 1. Campo da Invenção
[001] A presente invenção diz respeito a um dispositivo de codificação de sinal de imagem digital, a um dispositivo de decodificação de sinal de imagem digital, a um método de codificação de sinal de imagem digital e a um método de decodificação de sinal de imagem digital usados para uma tecnologia de codificação por compressão de imagem ou uma tecnologia de transmissão de dados de imagem comprimidos.
2. Descrição da Tecnologia Relacionada
[002] Um sistema de codificação de vídeo de padrão internacional tal como MPEG ou ITU-T H. 26x foi convencionalmente baseado na premissa do uso de um formato de sinal de entrada padronizado denominado formato 4: 2: 0. O formato 4: 2: 0 é um formato onde um sinal de imagem a cores em movimento de RGB ou similares é convertido em um componente de luminância (Y) e dois componentes de crominância (Cb, Cr), e o número de amostras de componentes de crominância é reduzido à metade dos componentes de luminância, tanto na direção horizontal quanto vertical. O componente de crominância é inferior ao componente de luminância em visibilidade. Dessa maneira, o sistema de codificação de vídeo padrão internacional convencional tal como o padrão MPEG-4 AVC (ISO/IEC 14496-10) /ITU-T H. 264 (doravante, referido simplesmente como AVC) (doravante, referido como Documento 1 não patente) foi baseado na premissa de que a quantidade de informação original a ser codificada é reduzida subamostrando-se componentes de crominância antes de a codificação ser executada da maneira supramencionada. Por outro lado, com aumentos recentes na resolução e gradação de uma exibição de vídeo e com o propósito de reproduzir precisamente representação de cor na tela no momento de criar conteúdos de cinema digital e similares, estudos foram feitos em um sistema para realizar codificação mantendo-se o número de amostras igual ao dos componentes de luminância sem subamostrar componentes de crominância. Um formato onde os números amostras de componentes de luminância e de crominância são completamente iguais é denominado formato 4: 4: 4. De acordo com o documento 1 não patente, um “perfil 4: 4: 4: alto” foi desenvolvido como um método de codificação que usa o formato 4: 4: 4 como uma entrada. Como um método adequado para este objetivo, é empregado um método padrão definido no padrão JPEG 2000 (ISO/IEC 15444) (doravante, referido como documento 2 não patente). Conforme ilustrado nas figuras 10, o formato 4: 2: 0 convencional foi limitado a definições de espaço de cores Y, Cb e Cr em virtude da premissa de subamostragem de componentes de crominância. No caso do formato 4: 4: 4, entretanto, em virtude de não existir nenhuma distinção de razão da amostra entre componentes de cor, R, G e B podem ser diretamente usados além de Y, Cb e Cr e uma pluralidade de definições de espaço de cores pode ser usada. Em um método de codificação de vídeo usando o formato 4: 2: 0, um espaço de cores é limitado a um espaço de cores Y, Cb e Cr. Portanto, o tipo de espaço de cores não deve ser levado em consideração durante um processo de codificação. No perfil 4: 4: 4 alto AVC supradescrito, entretanto, definição de espaço de cores afeta o processo de codificação por si. Por outro lado, em virtude de o atual perfil 4: 4: 4 alto considerar a compatibilidade com os outros perfis que usam o formato 4: 2: 0 definido pelo espaço de cores Y, Cb e Cr como um alvo a ser codificado, não é considerado que o perfil 4: 4: 4 alto é projetado para otimizar a eficiência de compressão do formato 4: 4: 4.
[003] Por exemplo, em um perfil 4: 2: 0 alto que codifica o formato 4: 2: 0 do AVC, em uma área de macrobloco composta de componentes de luminância de 16 x 16 pixels, componentes de crominância correspondentes sãos blocos de 8 x 8 pixel tanto para Cb quanto Cr. Na predição de compensação do movimento do perfil 4: 2: 0 alto, informação do tamanho de bloco que se torna uma unidade de predição de compensação do movimento apenas para os componentes de luminância, informação de imagem de referência usada para predição e informação de vetor de movimento de cada bloco são multiplexadas, e predição de compensação do movimento é realizada para componentes de crominância pela mesma informação dos componentes de luminância. O método anterior é baseado na premissa da definição de espaço de cores de que a contribuição dos componentes de crominância é menor que a do componente de luminância, que contribui bastante para a expressão de uma estrutura da imagem (textura) no formato 4: 2: 0. Entretanto, o atual perfil 4: 4: 4 alto corresponde a extensão simples do modo de predição intra para crominância no formato 4: 2: 0, mesmo quando o tamanho de bloco de um sinal de crominância por macrobloco for expandido para 16 x 16 pixels. Além do mais, como no caso do formato 4: 2: 0, um componente é considerado o componente de luminância. Após apenas a informação para um componente ser multiplexada, predição de compensação do movimento é realizada usando um modo de predição inter, informação de imagem de referência, e informação de vetor de movimento que são comuns a três componentes. Portanto, o método de predição não é sempre ideal para o formato 4: 4: 4, em que os respectivos componentes de cor contribuem igualmente com a expressão da estrutura de um sinal de imagem.
SUMÁRIO DA INVENÇÃO
[004] Conforme descrito por meio da tecnologia relacionada anterior, é um objetivo da presente invenção prover um dispositivo de codificação, um dispositivo de decodificação, um método de codificação, um método de decodificação, programas para executar esses métodos e uma mídia de gravação gravada com esses programas que melhoram idealmente em um caso de codificação de sinais de imagem em movimento que não têm nenhuma distinção de razão da amostra entre componentes de cor tal como um formato 4: 4: 4.
[005] De acordo com a presente invenção, é fornecido um dispositivo de codificação de imagem para receber um sinal de imagem a cores em movimento composto de uma pluralidade de componentes de cor como uma entrada, dividir o sinal de imagem a cores em movimento em áreas unitárias de codificação pré-determinadas para cada um da pluralidade de componentes de cor, e aplicar seletivamente uma codificação intra e codificação preditiva de compensação do movimento para comprimir digitalmente o sinal de imagem a cores em movimento, compreendendo: uma unidade de separação de componentes de cor para separar um fluxo de bits de entrada para cada um da pluralidade de componentes de cor; uma unidade de divisão de bloco para dividir um sinal do componente de cor de entrada em blocos de um tamanho determinado por informação de indicação de tamanho de bloco codificado para gerar um sinal de cada uma das áreas unitárias de codificação; uma unidade de geração de imagem predita para gerar uma imagem predita para o sinal de cada uma das áreas unitárias de codificação de acordo com pelo menos um modo de predição que indica um método de geração de imagem predita; uma unidade de determinação para determinar um modo de predição usado para codificar de acordo com uma eficiência de predição da imagem predita produzida pela unidade de geração de imagem predita; uma unidade de codificação de erro de predição para codificar uma diferença entre a imagem predita correspondente ao modo de predição determinado pela unidade de determinação e o sinal do componente de cor de entrada; e uma unidade de codificação para codificar por comprimento variável do modo de predição, uma saída pela unidade de codificação de erro de predição e uma sinalização de identificação de componente de cor indicando o componente de cor ao qual o fluxo de bits de entrada pertence em decorrência da separação de componentes de cor, em que a unidade de codificação multiplexa a informação de indicação de tamanho de bloco codificado, e informação obtida pela codificação do modo de predição para cada uma das áreas unitárias de codificação e o erro de predição no fluxo de bits.
[006] De acordo com o dispositivo de codificação de imagem e o dispositivo de decodificação de imagem da presente invenção, em um caso de realizar codificação que usa múltiplos espaços de cores sem ficar limitado aos espaços de cores fixados de Y, Cb, Cr, etc., é possível selecionar flexivelmente informação do modo de predição intra e informação do modo de predição inter a ser usado para os respectivos componentes de cor, e conduzir um processo de codificação ideal mesmo em um caso onde existem definições diversos dos espaços de cores.
DESCRIÇÃO RESUMIDA DOS DESENHOS
[007] Modalidades preferidas da presente invenção serão descritas com detalhes com base nas figuras seguintes, em que: A figura 1 é uma vista explanatória ilustrando uma configuração de um dispositivo de codificação de vídeo em uma primeira modalidade; A figura 2 é uma vista explanatória ilustrando uma configuração de um dispositivo de decodificação de vídeo na primeira modalidade; As figuras 3 são vistas explanatórias ilustrando um método de geração de imagem predita em modos de predição intra 4x4 avaliados em uma unidade de predição espacial na figura 1; As figuras 4 são vistas explanatórias ilustrando o método de geração de imagem predita em modos de predição intra 16x16 avaliados na unidade de predição espacial na figura 1; A figura 5 é um fluxograma ilustrando um procedimento de um modo de predição intra processo de determinação realizada no dispositivo de codificação de vídeo na figura 1; A figura 6 é uma vista explanatória ilustrando uma sequência de dados de um fluxo de bits produzido pelo dispositivo de codificação de vídeo na primeira modalidade; A figura 7 é um fluxograma ilustrando um procedimento de um processo de decodificação de predição intra realizado no dispositivo de decodificação de vídeo na figura 2; A figura 8 é uma vista explanatória ilustrando uma outra sequência de dados do fluxo de bits de vídeo produzido pelo dispositivo de codificação de vídeo na primeira modalidade; As figuras 9 são vistas explanatórias ilustrando o método de geração de imagem predita em modos de predição intra para componentes de crominância em um padrão AVC; As figuras 10 são vistas explanatórias ilustrando macroblocos convencionais e atuais; A figura 11 é uma vista explanatória ilustrando uma configuração do dispositivo de codificação de vídeo em uma segunda modalidade; A figura 12 é uma vista explanatória ilustrando uma configuração de um dispositivo de decodificação de vídeo na segunda modalidade; As figuras 13 são vistas explanatórias ilustrando o método de geração de imagem predita em modos de predição intra 8x8 avaliados na unidade de predição espacial na figura 11; A figura 14 é um fluxograma ilustrando um procedimento de um processo de determinação de modo de codificação intra realizado no dispositivo de codificação de vídeo na figura 11; A figura 15 é uma vista explanatória ilustrando uma sequência de dados do fluxo de bits de vídeo produzido pelo dispositivo de codificação de vídeo na segunda modalidade; A figura 16 é uma vista explanatória ilustrando uma outra sequência de dados do fluxo de bits de vídeo produzido pelo dispositivo de codificação de vídeo na segunda modalidade; A figura 17 é um fluxograma ilustrando um procedimento do processo de decodificação de predição intra realizado no dispositivo de decodificação de vídeo na figura 12; As figuras 18 são vistas explanatórias ilustrando parâmetros do processo de codificação do modo de predição intra de um componente CO em uma terceira modalidade; As figuras 19 são vistas explanatórias ilustrando parâmetros do processo de codificação do modo de predição intra de um componente Cl na terceira modalidade; As figuras 20 são vistas explanatórias ilustrando parâmetros do processo de codificação do modo de predição intra de um componente C2 na terceira modalidade; A figura 21 é um fluxograma ilustrando um fluxo de um processo de codificação do modo de predição intra na terceira modalidade; A figura 22 é um fluxograma ilustrando um outro fluxo do processo de codificação do modo de predição intra na terceira modalidade; A figura 23 é um fluxograma ilustrando um fluxo de um processo de decodificação do modo de predição intra na terceira modalidade; A figura 24 é uma vista explanatória ilustrando uma outra sequência de dados do fluxo de bits de vídeo produzido pelo dispositivo de codificação de vídeo na quarta modalidade; A figura 25 é um fluxograma ilustrando um outro fluxo do processo de codificação do modo de predição intra em uma quinta modalidade; As figuras 26 são vistas explanatórias ilustrando uma regra de ajuste do valor de predição mostrado como tabelas na quinta modalidade; A figura 27 é um fluxograma ilustrando um procedimento de codificação em uma sexta modalidade; A figura 28 é uma vista explanatória ilustrando uma estrutura de sequência binária de CurrlntraPredMode na sexta modalidade; A figura 29 é uma vista explanatória ilustrando uma outra estrutura de sequência binária de CurrlntraPredMode na sexta modalidade; A figura 30 é uma vista explanatória ilustrando uma configuração do dispositivo de codificação de vídeo em uma sétima modalidade; A figura 31 é uma vista explanatória ilustrando uma configuração do dispositivo de decodificação de vídeo na sétima modalidade; As figuras 32A a 32H são vistas explanatórias cada qual ilustrando o tamanho de bloco para cada macrobloco; A figura 33 é um fluxograma ilustrando um fluxo do processo de determinação do modo de predição inter na sétima modalidade; A figura 34 é uma vista explanatória ilustrando a sequência de dados do fluxo de vídeo produzido pelo dispositivo de codificação de vídeo na sétima modalidade; A figura 35 é um fluxograma ilustrando um fluxo de um processo realizado em uma unidade de decodificação de comprimento variável na sétima modalidade; A figura 36 é uma vista explanatória ilustrando uma outra sequência de dados do fluxo de vídeo produzido pelo dispositivo de codificação de vídeo na sétima modalidade; A figura 37 é uma vista explanatória ilustrando uma outra sequência de dados do fluxo de vídeo produzido pelo dispositivo de codificação de vídeo na sétima modalidade; A figura 38 é um fluxograma ilustrando um fluxo do processo de determinação do modo de predição inter em uma oitava modalidade; A figura 39 é uma vista explanatória ilustrando a sequência de dados do fluxo de bits em um nível de macrobloco na oitava modalidade; A figura 40 é um fluxograma ilustrando um fluxo de um processo de geração de imagem de predição inter na oitava modalidade; A figura 41 é uma vista explanatória ilustrando uma outra sequência de dados do fluxo de bits no nível de macrobloco na oitava modalidade; A figura 42 é uma vista explanatória ilustrando uma outra sequência de dados do fluxo de bits no nível de macrobloco na oitava modalidade; A figura 43 é um fluxograma ilustrando um fluxo do processo de determinação do modo de predição inter em uma nona modalidade; A figura 44 é um fluxograma ilustrando um fluxo do processo de geração de imagem de predição inter na nona modalidade; A figura 45 é uma vista explanatória ilustrando uma configuração de uma unidade de codificação de vetor de movimento; As figuras 46 são vistas explanatórias ilustrando operações da unidade de codificação de vetor de movimento; A figura 47 é uma vista explanatória ilustrando uma configuração de uma unidade de decodificação de vetor de movimento; As figuras 48A e 48B são vistas explanatórias cada qual ilustrando um estado de uma sintaxe do fluxo de bits; A figura 49 é uma vista explanatória ilustrando uma estrutura de dados codificados de macrobloco em uma décima primeira modalidade; A figura 50 é uma vista explanatória ilustrando uma estrutura detalhada de dados codificados de informação de cabeçalho do componente Cn na figura 49 na décima primeira modalidade; A figura 51 é uma vista explanatória ilustrando uma outra estrutura dos dados codificados de macrobloco na décima primeira modalidade; A figura 52 é uma vista explanatória ilustrando uma estrutura do fluxo de bits na décima primeira modalidade; A figura 53 é uma vista explanatória ilustrando uma estrutura de fatias na décima primeira modalidade; A figura 54 é uma vista explanatória ilustrando uma configuração interna de uma unidade de codificação de comprimento variável, que é relacionada com um processo de codificação aritmética, em uma décima segunda modalidade; A figura 55 é um fluxograma ilustrando um fluxo do processo de codificação aritmética na unidade de codificação de comprimento variável na décima segunda modalidade; A figura 56 é uma vista explanatória ilustrando um fluxo detalhado de um processo da etapa SI62 na figura 55 na décima segunda modalidade; A figura 57 é uma vista explanatória ilustrando um conceito de um modelo do contexto (ctx); A figura 58 é uma vista explanatória ilustrando um exemplo do modelo do contexto relacionado ao vetor de movimento do macrobloco; A figura 59 é uma vista explanatória ilustrando uma configuração interna da unidade de decodificação de comprimento variável, que é relacionada com um processo de decodificação aritmética, na décima segunda modalidade; A figura 60 é um fluxograma ilustrando um fluxo do processo de decodificação aritmética na unidade de decodificação de comprimento variável na décima segunda modalidade; A figura 61 é uma vista explanatória ilustrando o modelo do contexto na décima segunda modalidade; As figuras 62A e 62B são vistas explanatórias ilustrando uma diferença entre modos de macroblocos atuais na décima segunda modalidade; A figura 63 é uma vista explanatória ilustrando as configurações do dispositivo de codificação e do dispositivo de decodificação em uma décima terceira modalidade; A figura 64 é uma vista explanatória ilustrando a configuração do dispositivo de codificação de vídeo na décima terceira modalidade; A figura 65 é uma vista explanatória ilustrando a configuração do dispositivo de decodificação de vídeo na décima terceira modalidade; A figura 66 é uma vista explanatória ilustrando um processo de codificação comum em uma décima quarta modalidade; A figura 67 é uma vista explanatória ilustrando um processo de codificação independente na décima quarta modalidade; A figura 68 é uma vista explanatória ilustrando um relacionamento de referência de predição de movimento em uma direção do tempo entre imagens no dispositivo de codificação e no dispositivo de decodificação na décima quarta modalidade; A figura 69 é uma vista explanatória ilustrando um exemplo da estrutura do fluxo de bits gerado no dispositivo de codificação na décima quarta modalidade e alimentado e submetido a um processo de decodificação no dispositivo de decodificação na décima quarta modalidade; A figura 70 é uma vista explanatória ilustrando as estruturas de fluxo de bits de dados em fatias no processo de codificação comum e no processo de codificação independente, respectivamente; A figura 71 é uma vista explanatória ilustrando uma configuração esquemática do dispositivo de codificação na décima quarta modalidade; A figura 72 é uma vista explanatória ilustrando um estado onde um atraso de processamento em um lado do dispositivo de codificação é reduzido; A figura 73 é uma vista explanatória ilustrando uma configuração interna de uma primeira unidade de codificação de imagem; A figura 74 é uma vista explanatória ilustrando uma configuração interna de uma segunda unidade de codificação de imagem; A figura 75 é uma vista explanatória ilustrando uma configuração esquemática do dispositivo de decodificação na décima quarta modalidade; A figura 76 é uma vista explanatória ilustrando uma configuração interna de uma primeira unidade de decodificação de imagem; A figura 77 é uma vista explanatória ilustrando uma configuração interna de uma segunda unidade de decodificação de imagem; A figura 78 é uma vista explanatória ilustrando uma configuração interna da primeira unidade de codificação de imagem que é submetida a um processo de transformação de espaço de cores; A figura 79 é uma outra vista explanatória ilustrando a configuração interna da primeira unidade de codificação de imagem que é submetida ao processo de transformação de espaço de cores; A figura 80 é uma vista explanatória ilustrando a configuração interna da primeira unidade de codificação de imagem que é submetida a um processo de transformação de espaço de cores inverso; A figura 81 é uma outra vista explanatória ilustrando a configuração interna da primeira unidade de codificação de imagem que é submetida ao processo de transformação de espaço de cores inverso; A figura 82 é uma vista explanatória ilustrando uma estrutura de dados codificados de informação de cabeçalho de macrobloco contida no fluxo de bits em um formato YUV 4: 2: 0 convencional; A figura 83 é uma vista explanatória ilustrando uma configuração interna de uma unidade de predição na primeira unidade de decodificação de imagem que garante a compatibilidade com relação ao fluxo de bits no formato YUV 4: 2: 0 convencional; A figura 84 é uma vista explanatória ilustrando uma estrutura do fluxo de bits dos dados codificados a ser multiplexados na décima quinta modalidade; A figura 85 é uma vista explanatória ilustrando informação de um tipo de codificação de imagem quando dados de imagem em uma unidade de acesso começando com uma unidade de AUD NAL são codificados; A figura 86 é uma vista explanatória ilustrando uma outra estrutura do fluxo de bits dos dados codificados a ser multiplexados na décima quinta modalidade; A figura 87 é uma vista explanatória ilustrando uma configuração esquemática do dispositivo de codificação em uma décima sexta modalidade; A figura 88 é uma vista explanatória ilustrando uma configuração interna de uma unidade de codificação de imagem; As figuras 89 são vistas explanatórias ilustrando o uso de um tamanho diferente do bloco para cada componente de crominância; As figuras 90A a 90H são vistas explanatórias cada qual ilustrando o tamanho de bloco para cada macrobloco; A figura 91 é uma vista explanatória ilustrando a sequência de dados do fluxo de vídeo produzido pela unidade de codificação de imagem; A figura 92 é uma vista explanatória ilustrando uma configuração esquemática do dispositivo de decodificação em uma décima sexta modalidade; A figura 93 é uma vista explanatória ilustrando uma configuração interna de uma unidade de decodificação; A figura 94 é uma vista explanatória ilustrando um método de criar um pixel de predição meio pixel; A figura 95 é uma vista explanatória ilustrando apenas um processo horizontal no método de criar um pixel de predição meio pixel em um momento de um MC 1/4 pixel; A figura 96 é uma vista explanatória ilustrando uma configuração esquemática do dispositivo de codificação em uma décima sétima modalidade; A figura 97 é uma vista explanatória ilustrando uma sequência de dados do fluxo de vídeo produzido pela unidade de codificação de imagem; e A figura 98 é uma vista explanatória ilustrando uma configuração esquemática do dispositivo de decodificação na décima sétima modalidade.
DESCRIÇÃO DAS MODALIDADES PREFERIDAS Primeira modalidade
[008] Em uma primeira modalidade da presente invenção, será descrito um dispositivo de codificação que realiza codificação fechada dentro de um quadro em unidades de regiões retangulares (macroblocos), cada qual consistindo em 16 x 16 pixels, obtidas dividindo-se igualmente um quadro de vídeo alimentado no formato 4: 4: 4, e um dispositivo de decodificação correspondente ao dispositivo de codificação. O dispositivo de codificação e o dispositivo de decodificação de acordo com a presente invenção são baseados no método de codificação empregado no documento 1 não patente e conferidos com características específicas da presente invenção. Note que, em todas as modalidades descritas a seguir, o tamanho do macrobloco não precisa ser limitado a 16 x 16 pixels da imagem de quadros. Por exemplo, como no caso de um sinal entrelaçado, um bloco de 16 x 16 pixels de uma imagem do campo pode ser um macrobloco quando um campo é usado como uma tela que serve como uma unidade de codificação. Alternativamente, a codificação pode ser realizada quando se muda adaptativamente o tamanho de bloco do macrobloco dependendo se o macrobloco é codificado como uma imagem de quadros ou uma imagem de campo.
[009] A figura 1 ilustra uma configuração de um dispositivo de codificação de vídeo de acordo com a primeira modalidade da presente invenção, e a figura 2 ilustra uma configuração de um dispositivo de decodificação de vídeo de acordo com a primeira modalidade da presente invenção. Na figura 2, os componentes denotados pelos mesmos números de referência do dispositivo de codificação ilustrados na figura 1 são os mesmos componentes.
[0010] A seguir, com referência às figuras 1 e 2, serão descritas as operações de todo o dispositivo de codificação e todo o dispositivo de decodificação, e um processo de determinação do modo de predição intra e um processo de decodificação de predição intra que são operações específicas de acordo com a primeira modalidade.
1. Esquema de operação do dispositivo de codificação
[0011] No dispositivo de codificação ilustrado na figura 1, como um sinal de vídeo de entrada 1, cada quadro de vídeo é alimentado no formato 4: 4: 4. Conforme ilustrado nas figuras 10, o quadro de vídeo a ser alimentado é alimentado no dispositivo de codificação com base no macrobloco. Cada macrobloco é obtido dividindo-se cada um dos três componentes de cor em um bloco de 16 x 16 pixels com o mesmo tamanho e então agregando-se os blocos obtidos dos três componentes de cor.
[0012] Primeiramente, em uma unidade de predição espacial 2, um processo de predição intra é realizado para cada componente de cor com base no macrobloco usando uma imagem decodificada local 15 a ser armazenada em memórias 16. Três memórias são providas para três planos de imagem correspondentes aos respectivos componentes de cor (o número de memórias é descrito como três nesta modalidade, mas o número de memórias pode ser convenientemente mudado dependendo do projeto). A intra predição inclui um modo de predição intra 4 x 4 e um modo de predição intra 16 x 16. No modo de predição intra 4x4, predição espacial é realizada em unidades de blocos ilustradas nas figuras 3, cada uma sendo composta de 4 pixels x 4 linhas, usando os pixels vizinhos do bloco. No modo de predição intra 16 x 16, predição espacial é realizada com base no macrobloco ilustrado nas figuras 4, cada um sendo composto de 16 pixels x 16 linhas, usando os pixels vizinhos do macrobloco.
(a) Modo de predição intra 4x4
[0013] Um bloco de 16 x 16 pixels de sinal de luminância no macrobloco é dividido em dezesseis blocos, cada qual sendo um bloco 4x4 pixels. Então, qualquer dos nove modos ilustrados nas figuras 3 é selecionado para cada bloco 4x4 pixels. Pixels nos blocos vizinhos (blocos superior esquerdo, superior, superior direito e esquerdo) que foram codificados e submetidos a um processo de decodificação local a ser armazenados nas memórias 16 são usados para a geração de uma imagem predita.
[0014] Intra4x4_pred_modo = 0: Pixels superiores vizinhos são usados como uma imagem predita.
[0015] Intra4x4_pred_modo = 1: Pixels esquerdos vizinhos são usados como uma imagem predita.
[0016] Intra4x4_pred_mode = 2: Um valor médio de oito pixels vizinhos é usado como uma imagem predita.
[0017] Intra4x4_pred_mode = 3: Uma média ponderada de cada dois ou três pixels é calculada dos pixels vizinhos e a média ponderada obtida é usada como uma imagem predita (correspondente a uma borda diagonal para baixo esquerdo a 45 graus).
[0018] Intra4x4_pred_mode = 4: Uma média ponderada de cada dois ou três pixels é calculada dos pixels vizinhos e a média ponderada obtida é usada como uma imagem predita (correspondente a uma borda diagonal para baixo direita a 45 graus).
[0019] Intra4x4_pred_mode = 5: Uma média ponderada de cada dois ou três pixels é calculada dos pixels vizinhos e a média ponderada obtida é usada como uma imagem predita (correspondente a uma borda vertical direita a 22,5 graus).
[0020] Intra4x4_pred_mode = 6: Uma média ponderada de cada dois ou três pixels é calculada dos pixels vizinhos e a média ponderada obtida é usada como uma imagem predita (correspondente a uma borda horizontal para baixo a 67,5 graus).
[0021] Intra4x4_pred_mode = 7: Uma média ponderada de cada dois ou três pixels é calculada dos pixels vizinhos e a média ponderada obtida é usada como uma imagem predita (correspondente a uma borda vertical esquerda a 22,5 graus).
[0022] Intra4x4_pred_mode = 8: Uma média ponderada de cada dois ou três pixels é calculada dos pixels vizinhos e a média ponderada obtida é usada como uma imagem predita (correspondente a uma borda horizontal para cima a 112,5 graus).
[0023] Quando o modo de predição intra 4 x 4 é selecionado, são necessárias dezesseis peças de informação do modo para cada macrobloco. Portanto, a fim de reduzir a quantidade de códigos da informação do modo por si, codificação preditiva é realizada com base na informação de modo dos blocos vizinhos, tirando proveito de uma alta correlação da informação do modo entre os blocos vizinhos.
(b) Modo de predição intra 16x16
[0024] No modo de predição intra 16 x 16, o bloco de 16 x 16 pixels correspondente ao tamanho do macrobloco é predito em um momento. Qualquer dos quatro modos ilustrados nas figuras 4 é selecionado para cada unidade de macrobloco. Como no caso do modo de predição intra 4 x 4, os pixels nos macroblocos vizinhos (superior esquerdo, superior e esquerdo), que já foram codificados e submetidos ao processo de decodificação local a ser armazenado nas memórias 16, são usados para a geração de uma imagem predita.
[0025] Intra 16 x 16_pred_mode = 0: Dezesseis pixels na linha mais baixa de o macrobloco superior são usados como uma imagem predita.
[0026] Intra 16 x 16_pred_mode = 1: Dezesseis pixels na linha mais alta do macrobloco esquerdo são usados como uma imagem predita.
[0027] Intra 16 x 16_pred_mode = 2: Um valor médio de trinta e dois pixels, isto é, dezesseis pixels (A das figuras 4) na linha mais baixa do macrobloco superior e dezesseis pixels (B das figuras 4) na linha mais a esquerda no macrobloco esquerdo, é usado como uma imagem predita.
[0028] Intra 16 x 16_pred_mode = 3: Trinta e um pixels correspondentes a um pixel no canto inferior direito no macrobloco superior esquerdo, são usados quinze pixels na linha mais baixa do macrobloco superior (exceto para o pixel aberto), e quinze pixels na linha mais alta do macrobloco esquerdo (exceto para o pixel aberto) para realizar um processo de computação pré-determinado (processo de adição ponderada de acordo com os pixels a ser usados e posições do pixel a ser preditas), obtendo-se dessa forma uma imagem predita.
[0029] No dispositivo de codificação de vídeo de acordo com a primeira modalidade da presente invenção, o método do processo de predição intra é comutado para três componentes de cor com base em uma sinalização de identificação de compartilhamento - modo de predição intra 23. Isto será descrito com detalhes na seção
2 a seguir.
[0030] A seção de predição espacial 2 executa o processo de predição em todos os modos ou em um subconjunto ilustrado nas figuras 3 ou 4 para obter um sinal da diferença de predição 4 por meio de um subtrator 3. Uma eficiência de predição do sinal da diferença de predição 4 é avaliada em uma unidade de determinação do modo de codificação 5. Em decorrência disso, o modo de predição no qual a eficiência de predição ideal é obtida para o macrobloco a ser predito, a partir do processo de predição executado na unidade de predição espacial 2, é produzido como um modo de codificação 6. Neste caso, o modo de codificação 6 contém informação de determinação (correspondente a um modo de intra-codificação da figura 6) indicando que o modo de predição intra 4 x 4 e o modo de predição intra 16 x 16 são usados e também contêm cada modo de predição (o intra4x4_pred_mode ou o intral6xl6_pred_mode supradescritos) usado para cada área de unidade de predição para predição. A área de unidade de predição corresponde a um bloco 4x4 pixels no caso do modo de predição intra 4 x 4, ou um bloco de 16 x 16 pixels no caso do intral6xl6_pred_mode. Para a seleção do modo de codificação 6, um coeficiente de ponderação 20 para cada um dos modos de codificação, que é determinado com base na determinação de uma unidade de controle de codificação 19, pode ser levado em consideração. O sinal da diferença de predição ideal 4 obtido usando o modo de codificação 6 na unidade de determinação do modo de codificação 5 é enviado a uma unidade de transformação ortogonal 8. A unidade de transformação ortogonal 8 transforma o sinal da diferença de predição de entrada 4 em um coeficiente de transformação ortogonal, que é por sua vez enviado a uma unidade de quantização 9. A unidade de quantização 9 quantiza o sinal da diferença de predição de entrada 4 com base em um parâmetro de quantização 21 determinado pela unidade de controle de codificação 19 para enviar ao sinal quantizado como um coeficiente de transformação quantizado 10 para uma unidade de codificação de comprimento variável 11. O coeficiente de transformação quantizado 10 é codificado pela entropia na unidade de codificação de comprimento variável 11 por meios tais como codificação de Huffman ou codificação aritmética. O coeficiente de transformação quantizado 10 também passa através de uma unidade de quantização inversa 12 e uma unidade de transformação ortogonal inversa 13 a ser restaurada por um sinal da diferença de predição decodificado local 14. Então, o sinal da diferença de predição decodificado local 14 é adicionado a uma imagem predita 7 gerada com base no modo de codificação 6 em um adicionador 18 para criar uma imagem decodificada local 15. A imagem decodificada local 15 é armazenada nas memórias 16 a ser usadas para o processo de predição intra subsequente. Adicionalmente, uma sinalização de controle do filtro de desbloqueio 24 indicando se um filtro de desbloqueio é ou não aplicado ao macrobloco é também alimentado na unidade de codificação de comprimento variável 11 (o o próprio processo do filtro de desbloqueio não é necessário para o processo de codificação em virtude de os dados de pixel antes da aplicação do filtro de desbloqueio ser armazenados nas memórias 16 no processo de predição executado na unidade de predição espacial 2. No dispositivo de decodificação, entretanto, o filtro de desbloqueio é aplicado mediante instrução da sinalização de controle do filtro de desbloqueio 24 para obter a imagem decodificada final).
[0031] A sinalização de identificação de compartilhamento - modo de predição intra 23, o coeficiente de transformação quantizado 10, o modo de codificação 6 e o parâmetro de quantização 21, que são alimentados na unidade de codificação de comprimento variável 11, são arranjados e modelados de acordo com uma sintaxe pré-determinada para ser enviados a um armazenamento temporário de transmissão 17. O armazenamento temporário de transmissão 17 suaviza o fluxo de bits obtido de acordo com a banda de um caminho de transmissão ou a velocidade de leitura de uma mídia de gravação na qual o dispositivo de codificação é conectado para enviar o fluxo de bits como um fluxo de vídeo 22. O armazenamento temporário de transmissão 17 envia a informação de ré-alimentação para a unidade de controle de codificação 19 de acordo com um estado de acúmulo do fluxo de bits no armazenamento temporário de transmissão 17 para controlar a quantidade de códigos gerados na codificação de quadros de vídeo subsequentes.
2. Processo de determinação do modo de predição intra no dispositivo de codificação
[0032] O modo de predição intra que é um recurso do dispositivo de codificação de acordo com a primeira modalidade da presente invenção será descrito com detalhes. O processo é executado com base no macrobloco, cada macrobloco consistindo em uma agregação dos três componentes de cor supradescritos. O processo é basicamente realizado pela unidade de predição espacial 2 e pela unidade de determinação do modo de codificação 5 no dispositivo de codificação ilustrado na figura 1. A figura 5 é um fluxograma ilustrando um fluxo do processo. A seguir, dados de imagem dos três componentes de cor que constituem os blocos são referidos como CO, Cl e C2, respectivamente.
[0033] Primeiramente, a unidade de determinação do modo de codificação 5 recebe a sinalização de identificação de compartilhamento - modo de predição intra 23 para determinar, com base em um valor da sinalização 23, se o modo de predição intra comum a CO, Cl e C2 é ou não usado (Etapa SI da figura 5). Se o modo de predição intra for usado em comum entre CO, Cl e C2, o processo vai para a etapa S2 e as etapas seguintes. Se o modo de predição intra não for usado em comum, o processo vai para a etapa S5 e as etapas seguintes.
[0034] Quando o modo de predição intra é usado em comum entre C0, Cl e C2, a unidade de determinação do modo de codificação 5 notifica a unidade de predição espacial 2 de os modos de predição intra 4x4 selecionáveis. A unidade de predição espacial 2 avalia as eficiências de predição de todos os modos de predição intra 4x4 selecionáveis para selecionar o modo de predição intra 4x4 ideal comum a CO, Cl e C2 (Etapa S2). Em seguida, a unidade de determinação do modo de codificação 5 notifica a unidade de predição espacial 2 de todos ou parte dos modos de predição intra 16x16 selecionáveis. A unidade de predição espacial 2 avalia as eficiências de predição dos modos de predição intra 16 x 16 notificados para selecionar o modo de predição intra 16x16 ideal comum a CO, Cl e C2 (Etapa S3). A unidade de determinação do modo de codificação 5 finalmente seleciona o modo ideal em termos da eficiência de predição a partir dos modos obtidos nas etapas S2 e S3 (Etapa S4) para terminar o processo.
[0035] Quando o modo de predição intra não é usado em comum entre CO, Cl e C2 e o modo ideal é selecionado para cada CO, Cl e C2, a unidade de determinação do modo de codificação 5 notifica a unidade de predição espacial 2 de todos ou parte dos modos de predição intra 4x4 selecionáveis para componente um Ci (i<0<3). A unidade de predição espacial 2 avalia as eficiências de predição de todos os modos de predição intra 4x4 notificados para selecionar o modo de predição intra 4x4 ideal para o componente Ci (i<=0<3) (Etapa S6). Similarmente, a unidade de predição espacial 2 seleciona o modo de predição intra 16 x 16 ideal para o componente Ci (i<=0<3) (Etapa S7). Finalmente, na etapa S8, a unidade de determinação do modo de codificação 5 determina o modo de predição intra ideal para o componente Ci (i<=0<3) a partir dos modos de predição selecionados.
[0036] Como uma regra de avaliação da eficiência de predição do modo de predição executado na unidade de predição espacial 2, por exemplo, um custo taxa-distorção dado por: Jm = Dm + ÀRm (X: número positivo) pode ser usado. Nesta expressão, Dm é uma distorção da codificação ou um valor do erro de predição quando um modo de predição intra m é aplicado. A distorção da codificação é obtida obtendo-se um erro de predição aplicando o modo de predição intra m, decodificando uma imagem de vídeo a partir do resultado da transformação e quantização do erro de predição, e então medindo um erro com relação a um sinal antes da codificação. O valor do erro de predição é obtido obtendo-se uma diferença entre uma imagem predita e um sinal antes da codificação quando o modo de predição intra m é usado e então quantificando a diferença. Por exemplo, uma soma da distância absoluta (SAD) é usada como o valor do erro de predição. Rm é uma quantidade de códigos gerados quando o modo de predição intra m é usado. Especificamente, Jm é um valor que define um equilíbrio entre a quantidade de códigos e o grau de deterioração quando o modo de predição intra m é usado. O modo de predição intra m que fornece o menor Jm fornece a solução ideal.
[0037] Quando o dispositivo de codificação executa o processo da etapa S2 e as etapas seguintes, uma peça de informação do modo de predição intra é alocada para o macrobloco contendo três componentes de cor. Por outro lado, quando o dispositivo de codificação executa o processo da etapa S5 e as etapas seguintes, informação do modo de predição intra é alocada para cada um dos componentes de cor. A informação do modo de predição intra alocada para o macrobloco difere para cada caso e, portanto, a sinalização de identificação de compartilhamento - modo de predição intra 23 precisa ser multiplexada no fluxo de bits para permitir que o dispositivo de decodificação reconheça se o dispositivo de codificação executou o processo da etapa S2 e as etapas seguintes ou o processo da etapa S5 e as etapas seguintes. A sequência de dados do fluxo de bits supramencionado é ilustrada na figura 6.
[0038] A figura 6 ilustra a sequência de dados do fluxo de bits no nível de macrobloco. Um modo de intra-codificação 28 indica informação para determinar se o modo de predição é o modo intra 4 x 4 ou o modo intra 16 x 16. Um modo básico de predição intra 29 indica informação do modo de predição intra comum quando a sinalização de identificação de compartilhamento - modo de predição intra 23 indica que o modo é “comum a CO, Cie C2”, e indica informação do modo de predição intra para CO quando a sinalização de identificação de compartilhamento - modo de predição intra 23 indica que o modo não é “comum a CO, Cl e C2”. Um modo de predição intra estendido 30 é multiplexado apenas quando a sinalização de identificação de compartilhamento - modo de predição intra 23 indica que o modo não é “comum a CO, Cl e C2” e indica informação do modo de predição intra para Cie C2. Subsequentemente, o parâmetro de quantização 21 e o coeficiente de transformação quantizado são multiplexados. o modo de codificação 6 da figura 1 é um termo geral do modo de intra-codificação 28 e dos modos de predição intra (básico e estendido) supradescritos (a figura 6 não ilustra a sinalização de controle do filtro de desbloqueio 24 que é alimentada na unidade de codificação de comprimento variável 11 na figura 1, e a sua ilustração é omitida em virtude de a sinalização de controle do filtro de desbloqueio 24 não ser um componente essencial para a descrição do recurso da primeira modalidade).
[0039] No formato 4: 2: 0 que foi empregado no padrão de codificação de vídeo convencional, a definição de espaço de cores é fixada em Y, Cb e Cr. No formato 4: 4: 4, entretanto, um espaço de cores não é limitado ao de Y, Cb e Cr, e vários espaços de cores podem ser usados. Constituindo-se a informação do modo de predição intra conforme ilustrado na figura 6, o processo de codificação ideal pode ser realizado mesmo quando a definição do espaço de cores do sinal de vídeo de entrada 1 varia. Por exemplo, quando o espaço de cores é definido por R, G e B, a estrutura de uma textura de vídeo permanece igualmente nos componentes R, G e B. Portanto, o uso da informação do modo de predição intra comum reduz a redundância da informação do modo de predição intra em si para melhorar a eficiência de codificação. Por outro lado, quando o espaço de cores é definido por Y, Cb e Cr, a estrutura da textura de vídeo é concentrada em Y. Portanto, o modo de predição intra comum necessariamente não fornece o resultado ideal. Então, usando adaptativamente o modo de predição intra estendido 30, a eficiência de codificação ideal pode ser obtida.
3. Esquema de operação do dispositivo de decodificação
[0040] O dispositivo de decodificação ilustrado na figura 2 recebe o fluxo de vídeo 22 de acordo com a sequência de dados ilustrada na figura 6 produzida pelo dispositivo de codificação ilustrado na figura 1 e realiza um processo de decodificação com base no macrobloco, cada macrobloco contendo três componentes de cor do mesmo tamanho (no formato 4: 4: 4), para restaurar cada quadro de vídeo.
[0041] Primeiramente, uma unidade de decodificação de comprimento variável 25 recebe o fluxo 22 e decifra o fluxo 22 de acordo com uma sintaxe pré-determinada, extraindo assim informação tal como a sinalização de identificação de compartilhamento - modo de predição intra 23, o coeficiente de transformação quantizado 10, o modo de codificação 6 e o parâmetro de quantização 21. O coeficiente de transformação quantizado 10 é alimentado junto com o parâmetro de quantização 21 na unidade de quantização inversa 12, onde um processo de quantização inversa é realizado. Subsequentemente, a saída da unidade de quantização inversa 12 é alimentada a uma unidade de transformação ortogonal inversa 13 a ser restaurada por um sinal da diferença de predição decodificado local 14. Por outro lado, o modo de codificação 6 e a sinalização de identificação de compartilhamento - modo de predição intra 23 são alimentados na unidade de predição espacial 2 para obter a imagem predita 7 de acordo com a informação de entrada. Um procedimento específico para obter a imagem predita 7 será descrito a seguir. O sinal da diferença de predição decodificado local 14 e a imagem predita 7 são adicionados pelo somador 18 para obter uma imagem decodificada temporária 15 (que é exatamente o mesmo sinal da imagem decodificada local 15 no dispositivo de codificação). A imagem decodificada temporária 15 é regravada nas memórias 16 a ser usado para a intra predição dos macroblocos subsequentes. Três memórias são providas para três planos de imagem correspondentes aos respectivos componentes de cor (o número de memórias é descrito como três nesta modalidade, mas o número de memórias pode ser convenientemente alterado de acordo com o projeto). Além do mais, com base em uma instrução da sinalização de controle do filtro de desbloqueio 24 decodificada pela unidade de decodificação de comprimento variável 25, o filtro de desbloqueio 26 é impelido a agir na imagem decodificada temporária 15 para obter uma imagem decodificada final 27.
4. Processo de decodificação de predição intra no dispositivo de decodificação
[0042] Um processo de geração de imagem de predição intra que é um recurso do dispositivo de decodificação de acordo com a primeira modalidade da presente invenção será descrito com detalhes. O processo é executado com base no macrobloco, cada macrobloco consistindo em uma agregação dos três componentes de cor supradescrito. O processo é basicamente realizado pela unidade de decodificação de comprimento variável 25 e pela unidade de predição espacial 2 na unidade de decodificação ilustradas na figura 2. A figura 7 é um fluxograma ilustrando um fluxo do processo.
[0043] No fluxograma ilustrado na figura 7, as etapas S10 a S14 são executadas na unidade de decodificação de comprimento variável 25. A sequência de dados do fluxo de vídeo 22 que é alimentada na unidade de decodificação de comprimento variável 25 é de acordo com a sequência de dados ilustrada na figura 6. Na etapa S10, entre os dados ilustrados na figura 6, o modo de intra-codificação 28 é primeiramente decodificado. Então, a sinalização de identificação de compartilhamento - modo de predição intra 23 é decodificada (Etapa Sll). Adicionalmente, o modo básico de predição intra 29 é decodificado (Etapa S12). Na etapa S13, o resultado da sinalização de identificação de compartilhamento - modo de predição intra 23 é usado para determinar se o modo de predição intra é ou não usado em comum entre CO, Cl e C2. Quando o modo de predição intra é usado em comum entre CO, Cl e C2, o modo básico de predição intra 29 é usado para todos de CO, Cl e C2. Quando o modo de predição intra não é usado em comum, o modo básico de predição intra 29 é usado como um modo para CO. Adicionalmente, o modo de predição intra estendido 30 é decodificado (Etapa SI4) para obter informação do modo de Cl e C2. Por meio do processo supramencionado, o modo de codificação 6 para cada um dos componentes de cor é determinado. Portanto, a unidade de decodificação de comprimento variável 25 envia o(s) modo(s) de codificação determinado(s) 6 para os respectivos componentes de cor para a unidade de predição espacial 2. Então, de acordo com as etapas SI5 a S17, uma imagem de predição intra para cada componente de cor é obtida. Um processo para obter a imagens de predição intra segue o processo ilustrado nas figuras 3 e 4, e é o mesmo realizado no dispositivo de codificação ilustrado na figura 1.
[0044] A figura 8 ilustra uma variação do sequência de dados do fluxo de bits ilustrada na figura 6. Na figura 7, a sinalização de identificação de compartilhamento - modo de predição intra 23 é multiplexada não como uma sinalização no nível de macrobloco, mas como uma sinalização posicionada em uma camada de dados superior tal como uma camada de fatia, uma camada de imagem e uma camada de sequência. Além do mais, uma sinalização de indicação de tabela do modo de predição intra estendida 31 é provida para permitir que a seleção de uma tabela de códigos que define uma palavra código do modo de predição intra estendido 30 de uma pluralidade de tabelas de códigos. Em decorrência disso, quando uma eficiência de predição satisfatória é garantida comutando a camada superior maior ou igual à camada de fatia, bits de cabeçalho podem ser reduzidos sem multiplexar as sinalizações de identificação de compartilhamento - modo de predição intra 23 uma por uma no nível de macrobloco. Para o modo de predição intra estendido 30, a sinalização de indicação de tabela do modo de predição intra estendida 31 é provida para permitir a seleção de modos de predição especificados para os componentes Cl e C2, que não são os mesmos da definição do modo básico de predição intra 29. Em decorrência disso, o processo de codificação adaptado à definição do espaço de cores pode ser realizado. Por exemplo, na codificação do formato 4: 2: 0 de acordo com AVC, um modo de predição intra estabelecido diferente da luminância (Y) é definido para os componentes de crominância (Cb e Cr). No formato 4: 2: 0, o tamanho de um sinal de crominância no macrobloco é 8 pixels por 8 linhas. Qualquer dos quatro modos ilustrados nas figuras 9 é selecionado para cada macrobloco para realizar o processo de decodificação. O mesmo modo é usado para dois sinais de crominância Cb e Cr. Exceto para predição DC com intra_chroma_pred_mode = 0, o mesmo processo de predição do modo de predição intra 16 x 16 ilustrado na figura 4 é realizado. Na predição DC, entretanto, um bloco 8 x 8 é dividido em quatro blocos 4 x 4. As posições de pixels das quais um valor médio é obtido são alteradas para cada bloco para realizar o processo. Para o bloco indicado por “a+x, a ou x” nas figuras 9, quando tanto pixels a quanto pixels x estão disponíveis, pixels a e x, ou seja, oito pixels no total, quando apenas os pixels a estão disponíveis, quatro pixels a, e quando apenas os pixels x estão disponíveis, quatro pixels x são usados para obter um valor médio para usar o valor médio como a imagem predita 7. Quando tanto os pixels a quanto x estão indisponíveis, um valor 128 é usado como a imagem predita 7. Para um bloco indicado por “b ou x,” quando pixels b estão disponíveis, quatro pixels b, quando apenas pixels x estão disponíveis, quatro pixels x são usados para obter um valor médio.
[0045] Desta maneira, quando o modo de predição intra estabelecido precisa ser alterado de acordo com a propriedade do componente de cor, uma eficiência de codificação mais adequada pode ser obtida pela estrutura tal como a sintaxe ilustrada na figura 8.
Segunda Modalidade
[0046] Na segunda modalidade da presente invenção, será descrito um outro dispositivo de codificação que realiza codificação fechada dentro de um quadro em unidades de áreas retangulares (macroblocos), cada qual consistindo em 16 por 16 pixels, obtidas dividindo-se igualmente um quadro de vídeo alimentado no formato 4: 4: 4 e um dispositivo de decodificação correspondente ao dispositivo de codificação. Como na primeira modalidade da presente invenção, o dispositivo de codificação e o dispositivo de decodificação desta modalidade são providos com características específicas da presente invenção com base em o método de codificação empregado no documento 1 não patente supracitado.
[0047] A figura 11 ilustra uma configuração de um dispositivo de codificação de vídeo, e a figura 12 ilustra um dispositivo de decodificação de vídeo de acordo com a segunda modalidade da presente invenção. Na figura 11, os componentes denotados pelos mesmos números de referência daqueles no dispositivo de codificação ilustrado na figura 1 são os mesmos componentes. Na figura 12, os componentes denotados pelos mesmos números de referência daqueles no dispositivo de codificação ilustrado na figura 11 são os mesmos componentes. Na figura 11, uma sinalização de identificação do tamanho de bloco de transformação 32 e uma sinalização de identificação de compartilhamento - modo de codificação intra 33 são providas.
[0048] A seguir, as operações de todo o dispositivo de codificação e dispositivo de decodificação de acordo com a segunda modalidade da presente invenção, e um processo de determinação de modo de codificação/predição intra e um processo de decodificação de predição intra que são operações específicas de acordo com esta modalidade serão descritos com referência às figuras 11 e 12.
1. Esquema de operação do dispositivo de codificação
[0049] No dispositivo de codificação ilustrado na figura 11, como o sinal de vídeo de entrada 1, cada quadro de vídeo é alimentado no dispositivo de codificação no formato 4: 4: 4. Adicionalmente, conforme ilustrado nas figuras 10, o sinal de vídeo é alimentado com base no macrobloco, cada macrobloco obtido dividindo-se três componentes de cor nos blocos do mesmo tamanho e então agregando os blocos.
[0050] Na unidade de predição espacial 2, um processo de predição intra é realizado para cada componente de cor com base no macrobloco usando a imagem decodificada local 15 a ser armazenada nas memórias 16. A intra predição tem o modo de predição intra 4x4, um modo de predição intra 8 x 8, e o modo de predição intra 16 x 16. No modo de predição intra 4x4, predição espacial é realizada em unidades de blocos ilustradas nas figuras 3, cada uma sendo composta de 4 pixels x 4 linhas, usando os pixels vizinhos do bloco. No modo de predição intra 8x8, predição espacial é realizada em unidades de blocos ilustradas nas figuras 13, cada uma sendo composta de 8 pixels x 8 linhas, usando os pixels vizinhos do bloco. No modo de predição intra 16 x 16, predição espacial é realizada com base no macrobloco ilustrado nas figuras 4, cada uma sendo composta de 16 pixels x 16 linhas, usando os pixels vizinhos do macrobloco. No dispositivo de codificação de acordo com a segunda modalidade da presente invenção, o modo de predição é comutado entre o modo de predição intra 4 x 4 e o modo de predição intra 8 x 8 de acordo com um estado da sinalização de identificação do tamanho de bloco de transformação 32. A seleção do modo de predição intra para codificar um certo macrobloco a partir do modo de predição intra 4 x 4, do modo de predição intra 8 x 8 e do modo de predição intra 16 x 16 pode ser representado pelo modo de codificação intra como na figura 6. O dispositivo de codificação de acordo com a segunda modalidade da presente invenção é provido com dois modos de codificação intra: um modo de codificação de predição intra N x N para a codificação usando qualquer do modo de predição intra 4 x 4 e do modo de predição intra 8 x 8 (N é 4 ou 8); e um modo de codificação de predição intra 16 x 16 para a codificação usando o modo de predição intra 16 x 16. A seguir, será feita a descrição para cada um dos modos de codificação intra.
(a) Modo de codificação de predição intra N x N
[0051] No modo de codificação de predição intra N x N, o modo de predição intra 4 x 4 e o modo de predição intra 8x8 são seletivamente comutados para codificação. No modo de predição intra 4x4, um bloco de 16 x 16 pixels de sinal de luminância no macrobloco é dividido em dezesseis blocos, cada um sendo composto de 4 x 4 pixels, e o modo de predição é individualmente selecionado para cada um dos blocos 4x4 pixels. No modo de predição intra 8x8, um bloco de 16 x 16 pixels de sinal de luminância no macrobloco é dividido em quatro blocos, cada um sendo composto de 8 x 8 pixels, e o modo de predição é individualmente selecionado para cada um dos blocos 8x8 pixel. A comutação entre o modo de predição intra 4 x 4 e o modo de predição intra 8 x 8 é associada com o estado da sinalização de identificação do tamanho de bloco de transformação 32. Isto será descrito a seguir. No modo de predição intra 4x4, qualquer dos nove modos ilustrados nas figuras 3 é selecionado para cada um dos blocos 4x4 pixels, conforme descrito na primeira modalidade da presente invenção. Os pixels nos blocos vizinhos (blocos superior esquerdo, superior, superior direito e esquerdo), que foram codificados e submetidos ao processo de decodificação local para ser armazenados nas memórias 16, são usados para gerar uma imagem predita.
[0052] Por outro lado, no modo de predição intra 8x8, qualquer dos nove modos ilustrados nas figuras 13 é selecionado para cada um dos blocos de 8 x 8 pixels. Como fica aparente pela comparação com as figuras 3, o modo de predição intra 8x8 das figuras 13 é uma modificação do método de predição no modo de predição intra 4x4 para a adaptação ao bloco de 8 x 8 pixels.
[0053] Intra8x8_pred_mode = 0: Pixels vizinhos superiores são usados como uma imagem predita.
[0054] Intra8x8_pred_mode = 1: Pixels vizinhos esquerdos são usados como uma imagem predita.
[0055] Intra8x8_pred_mode = 2: Um valor médio de oito pixels vizinhos é usado como uma imagem predita.
[0056] Intra8x8_pred_mode = 3: Uma média ponderada de cada dois ou três pixels é calculada dos pixels vizinhos para usar a média ponderada obtida como uma imagem predita (correspondente a uma borda diagonal para baixo esquerdo a 45 graus).
[0057] Intra8x8_pred_mode = 4: Uma média ponderada de cada dois ou três pixels é calculada dos pixels vizinhos para usar a média ponderada obtida como uma imagem predita (correspondente a uma borda diagonal para baixo direita a 45 graus).
[0058] Intra8x8_pred_mode = 5: Uma média ponderada de cada dois ou três pixels é calculada dos pixels vizinhos para usar a média ponderada obtida como uma imagem predita (correspondente a uma borda vertical direita a 22,5 graus).
[0059] Intra8x8_pred_mode = 6: Uma média ponderada de cada dois ou três pixels é calculada dos pixels vizinhos para usar a média ponderada obtida como uma imagem predita (correspondente a uma borda horizontal para baixo a 67,5 graus).
[0060] Intra8x8_pred_mode = 7: Uma média ponderada de cada dois ou três pixels é calculada dos pixels vizinhos para usar a média ponderada obtida como uma imagem predita (correspondente a uma borda vertical esquerdo a 22,5 graus).
[0061] Intra8x8_pred_mode = 8: Uma média ponderada de cada dois ou três pixels é calculada dos pixels vizinhos para usar a média ponderada obtida como uma imagem predita (correspondente a uma borda horizontal para cima a 112,5 graus).
[0062] Para a seleção do modo de predição intra 4x4, dezesseis peças de informação do modo são necessárias para cada macrobloco. Portanto, a fim de reduzir a quantidade de códigos da informação do modo em si, predição codificação é realizada com base na informação de modo dos blocos vizinhos, tirando proveito de uma alta correlação da informação do modo entre os blocos vizinhos.
(b) Modo de predição intra 16x16
[0063] No modo de predição intra 16 x 16, o bloco de 16 x 16 pixels correspondente ao tamanho do macrobloco predito em um momento e qualquer dos quatro modos ilustrados nas figuras 4 é selecionado para cada macrobloco. Como no caso do modo de predição intra 4 x 4, os pixels nos macroblocos vizinhos (superior esquerdo, superior e esquerdo), que já foram codificados e submetidos ao processo de decodificação local para ser armazenados nas memórias 16, são usados para gerar uma imagem predita. Os tipos de modos são conforme descrito na primeira modalidade da presente invenção com referência às figuras 4. No modo de predição intra 16 x 16, o tamanho de bloco de transformação é sempre 4x4. Neste modo, entretanto, transformação de duas etapas é realizada. Primeiramente, dezesseis CCs (componentes de corrente contínua correspondentes o valores médios) são coletados em unidades de blocos 4 x 4 e transformação de bloco 4 x 4 é realizada nesta unidade. Então, um componente de corrente alternada obtido excluindo o componente CC é transformado para cada um dos blocos 4x4.
[0064] O dispositivo de codificação de vídeo de acordo com a segunda modalidade da presente invenção é caracterizado em que os métodos de predição/transformação/codificação intra são comutados por três componentes de cor com base na sinalização de identificação de compartilhamento - modo de codificação intra 33. Isto será descrito com detalhes na seção 2 a seguir.
[0065] A unidade de predição espacial 2 avalia o modo de predição intra para os sinais de componentes de cor alimentados, com base na indicação da sinalização de identificação de compartilhamento - modo de codificação intra 33. A sinalização de identificação de compartilhamento - modo de codificação intra 33 indica se o modo de codificação intra é individualmente alocado para cada um dos três componentes de cor de entrada ou se o mesmo modo de codificação intra é alocado para todos os três componentes de cor, que depende do fundamento seguinte.
[0066] No formato 4: 4: 4, além do espaço de cores Y, Cb e Cr que tem sido convencionalmente usado para codificação, RGB pode ser usado diretamente. No espaço de cores Y, Cb e Cr, um componente dependente da estrutura da textura da imagem de vídeo é removido dos sinais Cb e Cr. Existe uma grande possibilidade de que o método de codificação intra ideal seja diferente entre o componente Y e os componentes Cb e Cr (realmente, no método de codificação para codificar o formato 4: 2: 0 em AVC/H.264, tal como o perfil 4: 2: 0 alto, o projeto do modo de predição intra usado para o componente Y difere daquele usado para os componentes Cb e Cr). Por outro lado, quando a codificação é realizada no espaço de cor RGB, a estrutura da textura não é removida entre os componentes de cor como executado no caso do espaço de cores Y, Cb e Cr. Em vez disso, em virtude de os componentes de sinal no mesmo espaço terem uma alta correlação, existe uma possibilidade de que a eficiência de codificação possa ser melhorada, permitindo a seleção do modo de codificação intra comum. Isto depende não apenas da definição de espaço de cores, mas também da propriedade da imagem de vídeo, mesmo se for usado um espaço de cores específico. E desejável que o método de codificação em si seja adaptativo a uma propriedade do sinal de vídeo como esta. Portanto, nesta modalidade, a sinalização de identificação de compartilhamento - modo de codificação intra 33 é provida para configurar o dispositivo de codificação para permitir codificação flexível de uma imagem de vídeo no formato 4: 4: 4.
[0067] A unidade de predição espacial 2 executa o processo de predição para cada um dos componentes de cor para todos os modos de predição intra ilustrados nas figuras 3, 4 ou 13 ou um subconjunto pré- determinado de acordo com o estado da sinalização de identificação de compartilhamento - modo de codificação intra 33 estabelecido da maneira supradescrita para obter o sinal da diferença de predição 4 no subtrator 3. A eficiência de predição do sinal da diferença de predição 4 é avaliada na unidade de determinação do modo de codificação 5. A partir do processo de predição executado na unidade de predição espacial 2, é selecionado o modo de predição intra, no qual a eficiência de predição ideal para um macrobloco alvo pode ser obtida. Neste caso, quando a predição intra N x N é selecionada, o modo de codificação de predição intra N x N é produzido como o modo de codificação 6. Além do mais, quando o modo de predição é a predição intra 4 x 4, a sinalização de identificação do tamanho de bloco de transformação 32 é estabelecida para “transformar no tamanho de bloco 4x4”. Por outro lado, quando o modo de predição é a predição intra 8 x 8, a sinalização de identificação do tamanho de bloco de transformação 32 é estabelecida para “transformar no tamanho de bloco 8 x 8”. Vários métodos são concebíveis como um método de determinar a sinalização de identificação do tamanho de bloco de transformação 32. Uma vez que o tamanho de bloco é determinado em um caso onde a transformação é realizada em um resíduo obtido pela predição intra N x N no dispositivo de codificação de acordo com a segunda modalidade da presente invenção, um método de determinar o modo de predição intra N x N ideal na unidade de determinação do modo de codificação 5 e então determinar o tamanho de bloco de acordo com o valor N obtido é dado como um exemplo. Por exemplo, considerando que o tamanho de bloco de transformação é o tamanho de bloco de 8 x 8 pixels quando o modo de predição intra 4 x 4 é usado, existe uma grande possibilidade de que a continuidade espacial do sinal de predição seja interrompida em unidades de blocos 4 x 4 no sinal da diferença de predição 4 obtido como o resultado de predição. Em decorrência disso, é gerado um componente de alta frequência desnecessário. Portanto, o efeito de concentração da potência do sinal obtida pela transformação é reduzido. Quando o tamanho de bloco de transformação é estabelecido no bloco 4x4 pixels de acordo com o modo de predição, o problema supramencionado não ocorre.
[0068] Quando a predição intra 16 x 16 é selecionada na unidade de determinação do modo de codificação 5, o modo de codificação de predição intra 16 x 16 é produzido como o modo de codificação 6. Para a seleção do modo de codificação 6, o coeficiente de ponderação 20 para cada um dos modos de codificação determinado pela unidade de controle de codificação 19 pode ser levado em consideração.
[0069] O sinal da diferença de predição 4 obtido no modo de codificação 6 é enviado para a unidade de transformação ortogonal 8. A unidade de transformação ortogonal 8 transforma o sinal da diferença de predição de entrada para enviar o resultado da transformação como um coeficiente de transformação ortogonal para a unidade de quantização 9. A unidade de quantização 9 quantiza o coeficiente de transformação ortogonal de entrada com base no parâmetro de quantização 21 determinado pela unidade de controle de codificação 19 para enviar o resultado da quantização como o coeficiente de transformação quantizado 10 para a unidade de codificação de comprimento variável 11.
[0070] Quando o tamanho de bloco de transformação é o bloco 4x4 como uma unidade, o sinal da diferença de predição 4 alimentado na unidade de transformação ortogonal 8 é dividido em blocos 4x4 para ser submetidos à transformação ortogonal. Então, os blocos 4x4 são quantizados na unidade de quantização 9. Quando o tamanho de bloco de transformação é o bloco 8 x 8 como uma unidade, o sinal da diferença de predição 4 alimentada na unidade de transformação ortogonal 8 é dividido em blocos 8 x 8 a ser submetidos à transformação. Então, os blocos 8x8 são quantizados na unidade de quantização 9.
[0071] O coeficiente de transformação quantizado 10 é codificado pela entropia na unidade de codificação de comprimento variável 11 por meios tais como codificação de Huffman ou codificação aritmética. O coeficiente de transformação quantizado 10 no tamanho de bloco com base na sinalização de identificação do tamanho de bloco de transformação 32 ou similares também passa pela unidade de quantização inversa 12, e a unidade de transformação ortogonal inversa 13 para ser restaurada para o sinal da diferença de predição decodificado local 14. Então, o sinal da diferença de predição decodificado local 14 é adicionado à imagem predita 7 gerada com base no modo de codificação 6 no adicionador 18 para gerar a imagem decodificada local 15. A imagem decodificada local 15 é armazenada nas memórias 16 para ser usada para o processo de predição intra subsequente. Além do mais, a sinalização de controle do filtro de desbloqueio 24 indicando se o filtro de desbloqueio deve ou não ser aplicado ao macrobloco é também alimentada na unidade de codificação de comprimento variável 11 (o próprio processo do filtro de desbloqueio não é exigido para o processo de codificação em virtude de os dados de pixel antes da aplicação do filtro de desbloqueio serem armazenados nas memórias 16 no processo de predição executado na unidade de predição espacial 2, mas, no dispositivo de decodificação, o filtro de desbloqueio é aplicado com base na indicação da sinalização de controle do filtro de desbloqueio 24 para obter a imagem decodificada final).
[0072] A sinalização de identificação de compartilhamento - modo de codificação intra 33, o coeficiente de transformação quantizado 10, o modo de codificação 6 e o parâmetro de quantização 21, que são alimentados na unidade de codificação de comprimento variável 11, são arranjados e modelados de acordo com uma sintaxe pré-determinada para ser enviados ao armazenamento temporário de transmissão 17. O armazenamento temporário de transmissão 17 suaviza o fluxo de bits de acordo com a banda de um caminho de transmissão ou a velocidade de leitura de uma mídia de gravação na qual o dispositivo de codificação é conectado para enviar o fluxo de bits como um fluxo de vídeo 22. O armazenamento temporário de transmissão 17 envia a informação de ré-alimentação para a unidade de controle de codificação 19 de acordo com o estado de acúmulo do fluxo de bits no armazenamento temporário de transmissão 17 para controlar a quantidade de códigos a ser gerada na codificação de quadros de vídeo subsequentes.
2. Modo de codificação intra/modo de processo de predição de determinação no dispositivo de codificação
[0073] O modo de codificação intra e o processo de determinação do modo de predição intra que são características do dispositivo de codificação de acordo com a segunda modalidade da presente invenção serão descritos com detalhes. O processo é executado com base no macrobloco, cada macrobloco sendo obtido agregando-se os três componentes de cor supradescritos. O processo é basicamente realizado pela unidade de predição espacial 2 e pela unidade de determinação do modo de codificação 5 no dispositivo de codificação ilustrado na figura 11. A figura 14 é um fluxograma ilustrando um fluxo do processo. A seguir, dados de imagem dos três componentes de cor que constituem os blocos são referidos como CO, Cl e C2, respectivamente.
[0074] Primeiramente, a unidade de determinação do modo de codificação 5 recebe a sinalização de identificação de compartilhamento - modo de codificação intra 33 para determinar, com base em um valor da sinalização 33, se o modo de codificação intra comum a CO, Cl e C2 é ou não usado (Etapa S20 da figura 14). Se o modo de codificação intra comum a CO, Cl e C2 for usado, o processo vai para a etapa S21. Caso contrário, o processo vai para a etapa S22.
[0075] Quando o modo de codificação intra comum a CO, Cl e C2 é usado, a unidade de determinação do modo de codificação 5 notifica a unidade de predição espacial 2 de todos ou de parte dos modos de predição intra selecionáveis (a predição intra N x N e a predição intra 16 x 16). A unidade de predição espacial 2 avalia as eficiências de predição de todos os modos de predição selecionáveis para selecionar o modo de codificação intra e o modo de predição intra ideais para todos os componentes (Etapa S21).
[0076] Por outro lado, quando o modo de codificação intra ideal é individualmente selecionado para cada CO, Cl e C2, a unidade de determinação do modo de codificação 5 notifica a unidade de predição espacial 2 de todos ou parte dos modos de predição intra (a predição intra N x N e a predição intra 16 x 16) selecionáveis para o componente Ci (i<=0<3). A unidade de predição espacial 2 avalia as eficiências de predição de todos os modos de predição intra notificados para selecionar o modo de predição intra 4x4 ideal para o componente Ci (i<=0<3) (Etapa S23).
[0077] Quando a unidade de predição espacial 2 seleciona o modo de predição intra 4x4 como um modo que dá a eficiência de predição ideal na etapa S21 ou S23 anterior, a sinalização de identificação do tamanho de bloco de transformação 32 é estabelecida para “transformar no tamanho de bloco 4 x 4”. Por outro lado, quando a unidade de predição espacial 2 seleciona o modo de predição intra 8x8 como um modo que dá a eficiência de predição ideal, a sinalização de identificação do tamanho de bloco de transformação 32 é estabelecida para “transformar no tamanho de bloco 8x8.”
[0078] Como uma regra de avaliação da eficiência de predição do modo de predição executado na unidade de predição espacial 2, por exemplo, um custo taxa-distorção dado por: Jm = Dm + À,Rm (X: número positivo) pode ser usado. Nesta fórmula, Dm é uma distorção da codificação ou um valor do erro de predição quando um modo de predição intra m é usado. A distorção da codificação é obtida obtendo-se um erro de predição usando o modo de predição intra m, decodificando uma imagem de vídeo a partir do resultado da transformação e quantização do erro de predição, e então medindo um erro com relação a um sinal antes de ser codificado. O valor do erro de predição é obtido obtendo-se uma diferença entre uma imagem predita e um sinal antes de ser codificado quando o modo de predição intra m é usado e então quantificando a diferença obtida. Por exemplo, uma soma da distância absoluta (SAD) é usada como o valor do erro de predição. Rm é um valor de código gerado quando o modo de predição intra m é usado. Especificamente, Jm é um valor que define um equilíbrio entre a quantidade de códigos e o grau de deterioração quando o modo de predição intra m é usado. O modo de predição intra m que fornece o menor Jm dá a solução ideal.
[0079] Quando o dispositivo de codificação executa o processo da etapa S21, uma peça de informação do modo de codificação intra é alocada para um macrobloco contendo três componentes de cor. Por outro lado, quando o dispositivo de codificação executa o processo da etapa S22 e as etapas seguintes, uma peça de informação do modo de codificação intra é alocada para cada um dos componentes de cor (no total, três peças da informação do modo de codificação intra). A informação do modo de predição intra alocada para o macrobloco difere para cada caso, e assim a sinalização de identificação de compartilhamento - modo de codificação intra 33 precisa ser multiplexada no fluxo de bits para permitir que o dispositivo de decodificação reconheça se o dispositivo de codificação executou o processo da etapa S21 ou o processo de S22 e as etapas seguintes. Uma sequência de dados de um fluxo de bits como este é ilustrada na figura 15.
[0080] Na figura 15, modos de codificação intra 0 (34a), l(34b) e 2(34c), que são multiplexados no fluxo de bits no nível de macrobloco, são os modos de codificação 6 para os componentes CO, Cl e C2, respectivamente. Quando o modo de codificação intra é o modo de codificação de predição intra N x N, informação da sinalização de identificação do tamanho de bloco de transformação 32 e do modo de predição intra é multiplexada no fluxo de bits. Por outro lado, quando o modo de codificação intra é o modo de codificação de predição intra 16 x 16, informação do modo de predição intra é codificada como uma parte da informação do modo de codificação intra, e a informação da sinalização de identificação do tamanho de bloco de transformação 32 e do modo de predição intra não é multiplexada no fluxo de bits. Quando a sinalização de identificação de compartilhamento - modo de codificação intra 33 indica que o modo de codificação intra é “comum a CO, Cl e C2”, os modos de codificação intra l(34b) e 2(34c), sinalizações de identificação de tamanho de bloco de transformação l(32b) e 2(32c), e modos de predição intra 1 (35b) e 2(35c) não são multiplexadas no fluxo de bits (círculo pontilhado da figura 15 indica um ponto de derivação do processo). Neste caso, o modo de codificação intra 0 (34a), a sinalização de identificação do tamanho de bloco de transformação 0 (32a) e o modo de predição intra 0 (35a) servem como informação de codificação comum a todos os componentes de cor. A figura 15 mostra um exemplo onde sinalização de identificação de compartilhamento - modo de codificação intra 33 é multiplexada como dados de fluxo de bits ao nível de ordem superior ao nível de macrobloco, tal como uma fatia, uma imagem, ou uma sequência. Em particular, quando a sinalização de identificação de compartilhamento - modo de codificação intra 33 é usado como no exemplo descrito na segunda modalidade da presente invenção, o espaço de cores não muda durante a sequência em muitos casos. Portanto, o objetivo pode ser atingido multiplexando-se a sinalização de identificação de compartilhamento - modo de codificação intra 33 no nível da sequência.
[0081] Na segunda modalidade da presente invenção, a sinalização de identificação de compartilhamento - modo de codificação intra 33 é usada para indicar “se o modo de codificação intra é ou não comum a todos os componentes”. Alternativamente, a sinalização de identificação de compartilhamento - modo de codificação intra 33 pode ser usada para indicar “se o modo de codificação intra é ou não comum a dois componentes específicos tais como Cie C2” de acordo com a definição de espaço de cores do sinal de vídeo de entrada 1 (no caso do espaço de cor Y-Cb-Cr, existe uma alta possibilidade de que o modo de codificação intra possa ser feito comum a Cb e Cr). Adicionalmente, a faixa de compartilhamento da sinalização de identificação de compartilhamento - modo de codificação intra 33 pode ser limitada apenas aos modos de codificação intra para permitir a seleção individual do tamanho de bloco de transformação ou do modo de predição N x N para cada um dos componentes de cor quando o modo de predição intra N x N é usado (figura 16). Com uma estrutura de sintaxe ilustrada na figura 16, a informação de codificação do modo pode ser feita comum aos componentes de cor, enquanto o método de predição pode ser alterado para cada um dos componentes de cor para uma imagem de vídeo de um padrão complicado que exige a predição N x N. Em decorrência disso, a eficiência de predição pode ser melhorada.
[0082] Note que a informação da sinalização de identificação de compartilhamento - modo de codificação intra 33 não precisa ser levada no fluxo de bits de vídeo a ser transmitido, desde que a informação já seja conhecida de alguma maneira tanto pelo dispositivo de codificação quanto pelo dispositivo de decodificação. Neste caso, por exemplo, o dispositivo de codificação pode fixar a sinalização de identificação de compartilhamento - modo de codificação intra 33 em qualquer valor para codificar ou pode transmitir a sinalização de identificação de compartilhamento - modo de codificação intra 33 independentemente do fluxo de bits de vídeo.
3. Esquema de operação do dispositivo de decodificação
[0083] O dispositivo de decodificação ilustrado na figura 12 recebe o fluxo de vídeo de acordo com a sequência de dados ilustrada na figura 15 produzida pelo dispositivo de codificação ilustrado na figura lie realiza um processo de decodificação com base no macrobloco, cada macrobloco contendo três componentes de cor do mesmo tamanho (o formato 4: 4: 4), para restaurar cada quadro de vídeo.
[0084] Primeiramente, a unidade de decodificação de comprimento variável 25 recebe o fluxo 22 como uma entrada para decodificar o fluxo 22 de acordo com uma sintaxe pré-determinada, extraindo assim informação tais como a sinalização de identificação de compartilhamento - modo de codificação intra 33, o coeficiente de transformação quantizado 10, o modo de codificação 6 e o parâmetro de quantização 21. O coeficiente de transformação quantizado 10 é alimentado junto com o parâmetro de quantização 21 na unidade de quantização inversa 12, onde o processo de quantização inversa é realizado. Subsequentemente, a saída da unidade de quantização inversa 12 é alimentada na unidade de transformação ortogonal inversa 13 para ser restaurada no sinal da diferença de predição decodificado local 14. Por outro lado, o modo de codificação 6 e a sinalização de identificação de compartilhamento - modo de codificação intra 33 são alimentadas na unidade de predição espacial 2 para obter a imagem predita 7 de acordo com a informação de entrada. Um procedimento específico para obter a imagem predita 7 será descrito a seguir. O sinal da diferença de predição decodificado local 14 e a imagem predita 7 são adicionados pelo somador 18 para obter a imagem decodificada temporária 15 (que é exatamente o mesmo sinal da imagem decodificada local 15 no dispositivo de codificação). A imagem decodificada temporária 15 é regravada nas memórias 16 para ser usada para a intra predição dos macroblocos subsequentes. Três memórias são providas para os respectivos componentes de cor. Além do mais, com base na indicação da sinalização de controle do filtro de desbloqueio 24 decodificado pela unidade de decodificação de comprimento variável 25, o filtro de desbloqueio 26 é impelido a agir na imagem decodificada temporária 15 para obter a imagem decodificada final 27.
4. Processo de decodificação de predição intra no dispositivo de decodificação
[0085] Um processo de geração de imagem de predição intra que é uma característica do dispositivo de decodificação de acordo com a segunda modalidade da presente invenção será descrito com detalhes. O processo é executado com base no macrobloco, cada macrobloco sendo obtido agregando-se os três componentes de cor supradescritos. O processo é basicamente realizado pela unidade de decodificação de comprimento variável 25 e pela unidade de predição espacial 2 no dispositivo de decodificação ilustradas na figura 12. A figura 17 é um fluxograma ilustrando um fluxo do processo.
[0086] No fluxograma ilustrado na figura 7, as etapas S25 a S38 são executadas na unidade de decodificação de comprimento variável 25. Uma sequência de dados do fluxo de vídeo 22 que é alimentada na unidade de decodificação de comprimento variável 25 é de acordo com a sequência de dados ilustrada na figura 15. Na etapa S25, entre os dados ilustrados na figura 15, o modo de codificação intra 0 (34a) (correspondente ao componente CO) é primeiramente decodificado. Em decorrência disso, quando o modo de codificação intra 0 (34a) é a “predição intra N x N,” a sinalização de identificação do tamanho de bloco de transformação 0 (32a) e o modo de predição intra 0 (35a) são decodificados (etapas S26 e S27). Subsequentemente, quando é determinado com base no estado da sinalização de identificação de compartilhamento - modo de codificação intra 33 que a informação de modo de codificação/predição intra é comum a todos os componentes de cor, o modo de codificação intra 0 (34a), a sinalização de identificação do tamanho de bloco de transformação 0 (32a), e o modo de predição intra 0 (35a) são estabelecidos como informação de codificação usada para os componentes Cl e C2 (etapas S29 e S30). A figura 17 ilustra um processo com base no macrobloco. Considera-se que a sinalização de identificação de compartilhamento - modo de codificação intra 33 usada para a determinação na etapa S29 foi lida no fluxo de vídeo 22 pela unidade de decodificação de comprimento variável 25 no nível da camada superior ao nível da fatia antes de iniciar o processo na figura 17.
[0087] Quando é determinado na etapa S29 da figura 17 que a informação de modo de codificação/predição intra não é comum a todos os componentes de cor, a informação de modo de codificação/predição intra para os componentes Cl e C2 é decodificada no processo subsequente nas etapas S31 a S38. Por meio do processo supradescrito, o modo de codificação 6 para cada um dos componentes de cor é determinado e é enviado para a unidade de predição espacial 2. Então, de acordo com as etapas S39 a S41, a imagem de predição intra de cada componente de cor é obtida. O processo para obter a imagem de predição intra segue o procedimento ilustrados nas figuras 3, 4 e 13, e é o mesmo processo executado no dispositivo de codificação da figura 11.
[0088] Note que, como descrito anteriormente, não é necessário que o dispositivo de decodificação analise o valor da informação da sinalização de identificação de compartilhamento - modo de codificação intra 33 a partir do fluxo de bits de vídeo, mas pode, por exemplo, decodificar o valor da informação da sinalização de identificação de compartilhamento - modo de codificação intra 33 com um valor pré-fixado, desde que a informação seja conhecida de antemão tanto pelo dispositivo de codificação quanto pelo dispositivo de decodificação de alguma maneira. Alternativamente, a informação da sinalização de identificação de compartilhamento - modo de codificação intra 33 pode ser transmitida independentemente do fluxo de bits de vídeo.
[0089] No formato 4: 2: 0 empregado no padrão de codificação de vídeo convencional, a definição de espaço de cores é fixada em Y, Cb e Cr. No formato 4: 4: 4, entretanto, o espaço de cores não é limitado a Y, Cb e Cr, e vários espaços de cores podem ser usados. Constituindo-se a informação de codificação do macrobloco intra como na figura 15 ou 16, um processo de codificação ideal pode ser realizado de acordo com a definição de espaço de cores do sinal de vídeo de entrada 1 ou a propriedade do sinal de vídeo. Ao mesmo tempo, o fluxo de bits obtido em decorrência do processo de codificação supramencionado é interpretado exclusivamente para realizar um processo de decodificação/reprodução de vídeo.
Terceira Modalidade
[0090] A terceira modalidade da presente invenção descreve um outro exemplo das configurações do dispositivo de codificação ilustrado na figura 11 e do dispositivo de decodificação ilustrado na figura 12. Como na primeira modalidade da presente invenção, o dispositivo de codificação e o dispositivo de decodificação da terceira modalidade são com base no método de codificação empregado no padrão MPEG-4 AVC (ISO/IEC 14496-10)/ITU-T H.264 correspondente ao documento 1 não patente e provido com características específicas da presente invenção. O dispositivo de codificação de vídeo da terceira modalidade difere daquele ilustrado na figura 11 da segunda modalidade apenas na unidade de codificação de comprimento variável 11.0 dispositivo de decodificação de vídeo da terceira modalidade difere do dispositivo de decodificação ilustrado na figura 12 da segunda modalidade apenas na unidade de decodificação de comprimento variável 25. O resto da operação é o mesmo da segunda modalidade, e apenas diferenças entre as modalidades serão descritas a seguir.
1. Procedimento de codificação da informação do modo de predição intra no dispositivo de codificação
[0091] Na unidade de codificação de comprimento variável 11 do dispositivo de codificação da segunda modalidade da presente invenção, a sequência de dados no fluxo de bits foi descrita para a informação do modo de predição intra N x N. Entretanto, um procedimento de codificação do modo de predição intra N x N não foi particularmente descrito. Na terceira modalidade da presente invenção, será descrito um método específico do procedimento de codificação. A terceira modalidade é particularmente característica em que o caso onde os valores dos modos de predição intra N x N com uma alta correlação entre os componentes de cor é levado em consideração para realizar codificação por entropia usando a correlação em valor entre os componentes de cor para o modo de predição intra N x N obtido para cada um dos componentes de cor.
[0092] A descrição seguinte é com base na premissa da sequência de fluxo de bits na forma ilustrada na figura 16. Para simplificação da descrição, um valor da sinalização de identificação de compartilhamento - modo de codificação intra 33 é estabelecido em "usar um modo de codificação intra comum para CO, Cl e C2”, e o modo de codificação intra é estabelecido no modo de predição intra N x N, e os tamanhos dos blocos de transformação 0 a 2 são estabelecidos no bloco 4x4. Neste caso, os modos de predição intra 0 a 2 (35a a 35c) são todos o modo de predição intra 4x4. Nas figuras 18 a 20, um macrobloco atual a ser codificado é denotado por X. Um macrobloco na esquerda do macrobloco X é denotado por A, ao passo que um macrobloco acima do macrobloco X é denotado por B.
[0093] Como os desenhos para ilustrar os respectivos procedimentos de codificação dos componentes de cor C0, Cl e C2, as figuras 18 a 20 são empregadas. As figuras 21 e 22 são fluxogramas dos procedimentos de codificação.
[0094] As figuras 18 ilustram estados do componente CO no macrobloco X. Neste desenho, um bloco 4 x 4 a ser codificado é referido como bloco X, e um bloco na esquerda e um bloco acima do bloco X são respectivamente referidos como bloco A e bloco B. Existem dois casos de acordo com a posição do bloco 4 x 4 a ser codificado no macrobloco X. O caso 1 mostra que os blocos 4 x 4 na esquerda e acima do bloco 4 x 4 a ser codificado estão presentes fora do macrobloco atual X, ou seja, estão contidos no macrobloco A ou B. O caso 2 mostra que os blocos 4 x 4 na esquerda e acima do bloco 4 x 4 a serem codificados estão presentes no macrobloco atual X, ou seja, estão contidos no macrobloco X. Em qualquer dos casos, um modo de predição intra 4 x 4 é alocado para cada um dos blocos 4 x 4 no macrobloco X, e é referido como CurrlntraPredMode. O modo de predição intra 4 x 4 do bloco A é referido como IntraPredModeA, ao passo que o modo de predição intra 4 x 4 do bloco B é referido como IntraPredModeB. Tanto IntraPredModeA quanto IntraPredModeB são informação que já foi codificada no momento quando o bloco X é codificado. Para codificar o modo de predição intra 4 x 4 de um certo bloco X, os parâmetros supradescritos são primeiramente alocados (etapa S50 da figura 21).
[0095] Em seguida, um valor de predição, predCurrlntraPredMode, para CurrlntraPredMode do bloco X é determinado pela fórmula seguinte (etapa S51). predCurrlntraPredMode = Min(IntraPredModeA, IntraPredModeB)
[0096] Em seguida, CurrlntraPredMode do componente CO é codificado. Neste caso, quando CurrlntraPredMode = predCurrlntraPredMode é estabelecido, uma sinalização de um bit (prev_intra_pred_mode_flag) indicando que o valor é o mesmo valor de predição codificado. Se CurrlntraPredMode != predCurrlntraPredMode é estabelecido, CurrlntraPredMode é codificado tal como quando CurrlntraPredMode é menor que predCurrlntraPredMode em decorrência da comparação entre CurrlntraPredMode e predCurrlntraPredMode. Quando CurrlntraPredMode é maior que predCurrlntraPredMode, CurrlntraPredMode-1 é codificado (Etapa S52).
Figure img0001
[0097] Em seguida, será descrito o procedimento de codificação do componente Cl com referência às figuras 19. Primeiramente, como no caso do procedimento de codificação do componente CO, os parâmetros de codificação dos blocos vizinhos tais como IntraPredModeA e IntraPredModeB são estabelecidos de acordo com a posição do bloco X (Etapa S53).
[0098] Em seguida, um valor de predição candidato 1 predCurrlntraPredMode 1 para CurrlntraPredMode do bloco X é definido pela fórmula seguinte (Etapa S54). predCurrlntraPredMode 1 = Min(IntraPredModeA, IntraPredModeB)
[0099] Se prev_intra_pred_mode_flag = 1 for estabelecido para o componente C0, este predCurrlntraPredMode 1 é empregado como predCurrlntraPredMode para o bloco X do componente Cl. O motivo é o seguinte. O emprego de prev_intra_pred_mode_flag = 1 para a mesma posição do bloco do componente CO significa uma alta correlação entre os modos de predição nas áreas de imagem vizinhas no componente CO. Em um caso de um sinal RGB no qual a correlação em estrutura da textura entre o componente CO e o componente Cl não é completamente removida, por exemplo, existe uma possibilidade de uma alta correlação entre as áreas de imagem vizinhas no componente Cl como no caso do componente CO. Portanto, é determinado que um valor de predição do componente Cl não depende do modo de predição intra 4 x 4 do componente CO.
[00100] Por outro lado, quando prev_intra_pred_mode_flag = 0, ou seja, rem_intra_pred_mode é codificado no componente C0 (Etapa S55), CurrlntraPredMode do componente C0 é determinado como um valor de predição candidato 2 (Etapa S56). Especificamente, predCurr!ntraPredMode2 = CurrIntraPredMode_C0 é estabelecido. O fundamento da determinação do valor de predição candidato é o seguinte. A codificação de rem_intra_pred_mode para o componente C0 significa que a correlação em intra predição entre o áreas de imagem vizinhas é baixa no componente C0. Neste caso, espera-se que a correlação entre as áreas de imagem vizinhas seja também baixa no componente Cl. Portanto, existe uma possibilidade de que o modo de predição intra do bloco na mesma posição em um componente de cor diferente forneça um valor de predição mais preciso.
[00101] Como o valor de predição de CurrlntraPredMode do bloco X do componente Cl, qualquer um de predCurrlntraPredModel e predCurrlntraPredMode 2 é finalmente determinado (Etapa S57). A determinação do valor é adicionalmente codificada como uma sinalização de um bit (pred_sinalização). Entretanto, pred_flag é codificado apenas quando CurrlntraPredMode é idêntico ao valor de predição. Quando CurrlntraPredMode não é idêntico ao valor de predição (rem_intra_pred_mode é codificado), predCurrlntraPredMode 1 é usado como o valor de predição.
[00102] O procedimento supradescrito é o seguinte:
Figure img0002
Figure img0003
[00103] Em decorrência disso, prev_intra_pred_mode_flag, pred_flag, e rem_intra_pred_mode são codificados como dados codificados (Etapa S58).
[00104] Em seguida, o procedimento de codificação do componente C2 será descrito com referência às figuras 20. Primeiramente, como no caso dos componentes C0 e Cl, os parâmetros de codificação dos blocos vizinhos tais como IntraPredModeA e IntraPredModeB são estabelecidos de acordo com a posição do bloco X (Etapa S59).
[00105] Em seguida o valor de predição candidato 1, predCurrlntraPredModel para CurrlntraPredMode do bloco X é definido pela fórmula seguinte (Etapa S60). predCurrlntraPredModel = Min(IntraPredModeA, IntraPredModeB)
[00106] Se prev_intra_pred_mode_flag = 1 for estabelecido para ambos os componentes C0 e Cl, este predCurrlntraPredModel é usado tal como predCurrlntraPredMode para o bloco X do componente C2. O motivo é o seguinte. O uso de prev_intra_pred_mode_flag = 1 para os blocos na mesma posição nos componentes C0 e Cl significa uma alta correlação entre os modos de predição nas áreas de imagem vizinhas nos componentes C0 e Cl. No caso, por exemplo, do sinal RGB no qual a correlação na estrutura da textura entre os componentes C0 e Cl e o componente C2 não é completamente removida, existe um possibilidade de uma alta correlação entre as áreas de imagem vizinhas no componente C2 como nos casos dos componentes CO e Cl. Portanto, é determinado que o valor de predição do componente C2 não depende do modo de predição intra 4x4 dos componentes CO e Cl.
[00107] Por outro lado, quando prev_intra_pred_mode_flag = 0, ou seja, rem_intra_pred_mode, é codificado no componente CO ou Cl (Etapa S61), CurrlntraPredMode do componente CO ou Cl é determinado como o valor de predição candidato 2 (Etapa S62). Especificamente, o procedimento é o seguinte:
Figure img0004
[00108] O fundamento da determinação do valor de predição candidato é o seguinte. A codificação de rem_intra_pred_mode para o componente C0 ou Cl significa que uma correlação na intra predição entre as áreas de imagem vizinhas é baixa no componente C0 ou Cl. Neste caso, espera-se que a correlação entre as áreas de imagem vizinhas seja também baixa, mesmo no componente C2. Portanto, existe uma possibilidade de que o modo de predição intra do bloco na mesma posição em um componente de cor diferente pode prover um valor de predição mais preciso. Além do mais, de acordo com esta visão, quando rem_intra_pred_mode é codificado para ambos os componentes C0 e Cl, qualquer dos modos atuais de predição intra dos componentes C0 e Cl pode ser um valor de predição candidato. Neste caso, o atual modo de predição intra do componente Cl é usado como o valor de predição. O motivo é o seguinte. Quando um espaço de cores YUV é alimentado, existe uma alta possibilidade de que CO seja tratado como uma luminância, ao passo que Cl e C2 são tratados como crominâncias. Neste caso, o modo de predição de Cl ao contrário de CO é considerado mais próximo do modo de predição de C2. Quando o espaço de cor RGB é alimentado, geralmente considera-se que a seleção de CO e Cl não constitui um fator importante como este e, portanto, é apropriado usar o modo de predição intra do componente Cl como o valor de predição (o modo de predição intra do componente C2 pode também ser usado como o valor de predição dependendo do projeto).
[00109] Como o valor de predição para CurrlntraPredMode do bloco X do componente C2, qualquer um de predCurrlntraPredMode 1 e predCurr!ntraPredMode2 é finalmente determinado (Etapa S63). A determinação do valor é adicionalmente codificada como a sinalização de um bit (pred_flag).
[00110] O procedimento supramencionado é descrito como a fórmula seguinte.
[00111] O procedimento supradescrito é o seguinte:
Figure img0005
Figure img0006
Figure img0007
[00112] Em decorrência disso, prev_intra_pred_mode_flag, pred_flag e rem_intra_pred_mode são codificados como dados codificados (Etapa S64).
[00113] O procedimento de codificação supramencionado pode ser similarmente definido para o modo de predição intra 8x8. Pela codificação do modo de predição intra N x N no procedimento supradescrito, a correlação entre o modo de predição selecionado para um componente de cor e aquele selecionado para um outro componente de cor pode ser usada para reduzir a quantidade de códigos do modo de predição em si, melhorando assim a eficiência de codificação.
[00114] A única diferença entre as figuras 21 e 22 baseia-se no fato de que o processo de codificação do modo de predição intra para o macrobloco é realizado separadamente para cada componente de cor ou realizado coletivamente para os componentes de cor. No caso da figura 21, cada componente de cor é codificado para cada bloco 4x4. Dezesseis padrões do bloco 4x4 codificado são arranjados como um fluxo de bits (Etapa S65). No caso da figura 22, dezesseis blocos 4 x 4 de cada componente de cor são codificados por vez. Os blocos 4x4 codificados são arranjados como um fluxo de bits para cada componente de cor (Etapas S66, S67 e S68).
[00115] Note que, no procedimento supramencionado, pred_flag é determinado como informação válida apenas quando prev_intra_pred_mode_flag é 1. Entretanto, pred_flag pode ser determinado como informação efetiva mesmo quando prev_intra_pred_mode_flag for 0. Especificamente, por exemplo, considere o componente Cl como um exemplo, a codificação pode também ser realizada no seguinte procedimento.
Figure img0008
Figure img0009
Figure img0010
[00116] De acordo com este método, pred_flag é codificado cada vez quando rem_intra_pred_mode é codificado no modo de pi edição intra do bloco da mesma posição do componente CO. Mesmo em um caso de prev_intra_pred_mode_flag = 0, um valor de predição mais preciso pode ser usado. Em decorrência disso, é de se esperar que a eficiência de codificação melhore. Como uma variação adicional, pred_flag pode sei codificado sem depender se rem_intra_pred_mode é ou não codificado no modo de predição intra do bloco da mesma posição do componente CO. Neste caso, o modo de predição intra do componente CO é sempre usado como o valor de predição candidato.
[00117] Especificamente, neste caso, a fórmula é estabelecida da seguinte maneira.
Figure img0011
Figure img0012
[00118] Alternativamente, pred.flag pode ser estabelecido para cada macrobloco ou sequência em vez de para cada bloco 4x4. Quando pred_flag é estabelecido para cada macrobloco, o uso do valor de predição candidato 1 ou o valor de predição candidato 2 é comum a todos os blocos 4 x 4 no macrobloco. Portanto, informação de cabeçalho transmitida como pred_flag pode ser reduzida ainda mais. Além do mais, pred_flag pode ser estabelecido para cada sequência a fim de determinar o uso do valor de predição candidato 1 ou 2 de acordo com a definição do espaço de cor de entrada. Neste caso, uma vez que pred_flag não precisa mais ser transmitido para cada macrobloco, a informação de cabeçalho pode ser reduzida ainda mais.
2. Procedimento de decodificação da informação do modo de predição intra no dispositivo de decodificação
[00119] Para a unidade de decodificação de comprimento variável 25 no dispositivo de decodificação na segunda modalidade da presente invenção, a sequência de dados no fluxo de bits é ilustrada para a informação do modo de predição intra N x N. Entretanto, um procedimento de decodificação da informação não é particularmente descrito. Na terceira modalidade da presente invenção, será descrito um método específico do procedimento de decodificação. A terceira modalidade da presente invenção é particularmente característica na decodificação do fluxo de bits que é codificado pela entropia usando a correlação em valor entre os componentes de cor, para o modo de predição intra N x N obtido para cada um dos componentes de cor, levando-se em consideração um caso onde os valores dos modos de predição intra N x N com uma alta correlação entre os componentes de cor.
[00120] A descrição seguinte é com base na sequência de fluxo de bits na forma ilustrada na figura 16. A fim de limitar a descrição à do procedimento de decodificação no modo de predição intra, um valor da sinalização de identificação de compartilhamento - modo de codificação intra 33 é estabelecido em "usar um modo de codificação intra comum para CO, Cl e C2”. Além do mais, o modo de codificação intra é estabelecido no modo de predição intra N x N, e o tamanho de bloco 4 x 4 é designado como os tamanhos dos blocos de transformação 0 a 2. Neste caso, os modos de predição intra 0 a 2 (35a a 35c) são todos o modo de predição intra 4x4. Como no caso do dispositivo de codificação, as figuras 18 a 20 são referidos para a descrição do dispositivo de decodificação. No dispositivo de decodificação, um macrobloco atual a ser decodificado é denotado por X. Um macrobloco na esquerda do macrobloco X é denotado por A, ao passo que um macrobloco acima do macrobloco X é denotado por B. A figura 23 é um fluxograma do procedimento de decodificação. Em cada uma das etapas na figura 23 denotadas pelos mesmos números de referência daquelas nas figuras 21 e 22, o mesmo processo do dispositivo de codificação é realizado.
[00121] As figuras 18 ilustram estados do componente CO no macrobloco X. Existem dois casos de acordo com a posição do bloco 4 x 4 a ser decodificado no macrobloco X. O caso 1 corresponde a um caso onde os blocos 4 x 4 na esquerda e acima do bloco 4 x 4 a ser decodificado estão presentes fora do macrobloco atual X, ou seja, contidos no macrobloco A ou B. O caso 2 corresponde ao outro caso onde os blocos 4 x 4 na esquerda e acima do bloco 4 x 4 a ser decodificado estão presentes no macrobloco atual X, ou seja, contidos no macrobloco X. O bloco 4 x 4 a ser decodificado é referido como bloco X, e os blocos 4 x 4 na esquerda e acima do bloco X são respectivamente referidos como bloco A e bloco B. Em qualquer dos casos, um modo de predição intra 4 x 4 é alocado para cada um dos blocos 4 x 4 X no macrobloco X, e é referido como CurrlntraPredMode. O modo de predição intra 4 x 4 do bloco A é referido como IntraPredModeA, ao passo que o modo de predição intra 4 x 4 do bloco B é referido como IntraPredModeB. Tanto IntraPredModeA quanto IntraPredModeB são informações que já foram decodificadas no momento quando o bloco X é decodificado. Para decodificar o modo de predição intra 4 x 4 de um certo bloco X, os parâmetros supradescritos são primeiramente alocados (Etapa S50).
[00122] Em seguida, um valor de predição, predCurrlntraPredMode, para CurrlntraPredMode do bloco X é determinado pela fórmula seguinte (Etapa S51). predCurrlntraPredMode = Min(IntraPredModeA, IntraPredModeB)
[00123] Em seguida, a sinalização de um bit (prev_intra_pred_mode_flag) indicando se CurrlntraPredMode = predCurrlntraPredMode é ou não estabelecido é decodificado. O estabelecimento da relação: prev_intra_pred_mode_flag = 1 significa que CurrlntraPredMode = predCurrlntraPredMode é estabelecido. Caso contrário, (prev_intra_pred_mode_flag = 0), informação de rem_intra_pred_mode é decodificado do fluxo de bits. Quando rem_intra_pred_mode é menor que predCurrlntraPredMode em decorrência de comparação entre os dois valores, CurrlntraPredMode = rem_intra_pred_mode é estabelecido. Caso contrário, CurrlntraPredMode = rem_intra_pred_mode + 1 é estabelecido (Etapa S65).
[00124] O procedimento supramencionado é sumarizado da seguinte maneira.
Figure img0013
[00125] Em seguida, o procedimento de decodificação do componente Cl será descrito com referência às figuras 19. Primeiramente, como no caso do componente CO, a parâmetros de codificação dos blocos vizinhos tal como IntraPredModeA e IntraPredModeB são estabelecidos de acordo com a posição do bloco X (Etapa S53).
[00126] Em seguida o valor de predição candidato 1, predCurrlntraPredMode 1, para o CurrlntraPredMode do bloco X é definido pela fórmula seguinte (Etapa S54). predCurrlntraPredMode 1 = Min(IntraPredModeA, IntraPredModeB)
[00127] Se prev_intra_pred_mode_flag = 1 é estabelecido para o componente C0, este predCurrlntraPredMode 1 é usado como predCurrlntraPredMode do bloco X do componente Cl. O motivo é o mesmo descrito para o dispositivo de codificação.
[00128] Por outro lado, quando prev_intra_pred_mode_flag = 0, ou seja, rem_intra_pred_mode é decodificado para o componente CO (Etapa S55), CurrlntraPredMode para o componente CO é determinado como o valor de predição candidato 2 (Etapa S56). Especificamente, predCurr!ntraPredMode2 = CurrIntraPredMode_CO é estabelecido. O motivo para de ajuste CurrlntraPredMode como o valor candidato preditivo é também o mesmo descrito para o dispositivo de codificação.
[00129] Como o valor de predição de CurrlntraPredMode do bloco X do componente Cl, qualquer um de predCurrlntraPredMode 1 e predCurrlntraPredMode 2 é finalmente determinado (Etapa S57). A seleção do valor é determinada por decodificação da sinalização de um bit (pred_flag). Entretanto, pred_flag é decodificado apenas quando CurrlntraPredMode é idêntico ao valor de predição. Quando CurrlntraPredMode não é idêntico ao valor de predição (rem_intra_pred_mode é decodificado), predCurrlntraPredMode 1 é usado como o valor de predição.
[00130] Depois que os valores de predição 1 e 2, prev_intra_pred_mode_flag, pred_flag, e rem_intra_pred_mode são dados, CurrlntraPredMode é decodificado no seguinte procedimento (Etapa S66).
Figure img0014
Figure img0015
Figure img0016
[00131] Em seguida, o procedimento de decodificação do componente C2 será descrito com referência às figuras 20. Primeiramente, como nos casos dos componentes CO e Cl, os parâmetros de codificação dos blocos vizinhos tais como IntraPredModeA e IntraPredModeB são estabelecidos de acordo com a posição do bloco X (Etapa S59).
[00132] Em seguida, o valor de predição candidato 1, predCurrlntraPredModel, para CurrlntraPredMode do bloco X é definido pela fórmula seguinte (Etapa S60). predCurrlntraPredModel = Min(lntraPredModeA, IntraPredModeB)
[00133] Se prev_intra_pred_mode_flag = 1 for estabelecido para ambos os componentes C0 e Cl, este predCurrlntraPredModel é usado como predCurrlntraPredMode do bloco X do componente C2. O motivo é o mesmo descrito para o dispositivo de codificação.
[00134] Por outro lado, quando prev_intra_pred_mode_flag = 0, ou seja, rem_intra_pred_mode é decodificado para o componente C0 ou Cl (Etapa S61), CurrlntraPredMode para o componente C0 ou Cl é determinado como o valor de predição candidato 2 (Etapa S62).
[00135] Especificamente, o procedimento é o seguinte:
Figure img0017
Figure img0018
[00136] O fundamento da determinação do valor de predição candidato 2 é também o mesmo descrito para o dispositivo de codificação.
[00137] Como o valor de predição de CurrlntraPredMode do bloco X do componente C2, qualquer um de predCurrlntraPredModel e predCurrlntraPredMode 2 é finalmente determinado (Etapa S63). O valor é determinado decodificando a sinalização de um bit (pred_flag). Entretanto, pred_flag é decodificado apenas quando CurrlntraPredMode é idêntico ao valor de predição. Caso contrário (quando rem_intra_pred_mode é decodificado), predCurrlntraPredModel é usado como o valor de predição.
[00138] Depois que o valor de predição candidatos 1 e 2, prev_intra_pred_mode_flag, pred_flag, e rem_intra_pred_mode são dados, CurrlntraPredMode é decodificado no seguinte procedimento (Etapa S71).
Figure img0019
Figure img0020
Figure img0021
[00139] O procedimento de decodificação supradescrito pode ser similarmente definido para o modo de predição intra 8x8. Decodificando-se o modo de predição intra N x N no procedimento supradescrito, a correlação entre o modo de predição selecionado para um componente de cor e o selecionado para um outro componente de cor pode ser usada para reduzir a quantidade de códigos do modo de predição em si, decodificando assim o fluxo de bits com a melhor eficiência de codificação.
[00140] Note que pred.flag é informação que é decodificada apenas quando prev_intra_pred_mode_flag é 1 no procedimento supramencionado, mas pred_flag pode ser decodificado como informação a ser incluída mesmo em um caso onde prev_intra_pred_mode_flag é 0.
[00141] Especificamente, por exemplo, tomando o componente Cl como um exemplo, a decodificação pode também ser realizada no seguinte procedimento.
Figure img0022
Figure img0023
Figure img0024
[00142] Os efeitos do método são conforme descrito para o procedimento de codificação correspondente realizado no dispositivo de codificação. Como uma variação adicional, pred_flag pode ser decodificado sem depender se rem_intra_pred_mode é ou não decodificado no modo de predição intra do bloco da mesma posição do componente CO. Neste caso, o modo de predição intra para o componente CO é sempre usado como o valor de predição candidato.
[00143] Especificamente, o procedimento é o seguinte:
Figure img0025
Figure img0026
[00144] Note que, conforme descrito para o dispositivo de codificação, pred_flag pode ser estabelecido para cada macrobloco ou sequência em vez de para cada bloco 4x4, incluído no fluxo de bits. Quando pred_flag é estabelecido para cada macrobloco, o uso do valor de predição candidato 1 ou o valor de predição candidato 2 é comum a todos os blocos 4 x 4 no macrobloco. Portanto, informação de cabeçalho de pred_flag a ser decodificada é reduzida ainda mais. Além do mais, pred_flag pode ser estabelecido para cada sequência a fim de determinar o uso do valor de predição candidato 1 ou 2 de acordo com a definição do espaço de cor de entrada. Neste caso, uma vez que pred_flag não precisa mais ser transmitido para cada macrobloco, a informação de cabeçalho pode ser reduzida ainda mais.
Quarta modalidade
[00145] O fluxo de bits na forma ilustrada na figura 16 foi descrito na segunda modalidade da presente invenção. A segunda modalidade da invenção descreve que, quando o modo de codificação intra indica “predição intra N x N,” os respectivos modos de predição intra dos componentes de cor CO, Cl e C2 são reconhecidos como o modo de predição intra 4 x 4 ou o modo de predição intra 8 x 8 de acordo com os valores das sinalizações de identificação de tamanho de bloco de transformação 0 a 2 (32a a 32c). Na quarta modalidade da presente invenção, a sequência de fluxo de bits é alterada para transmitir as sinalizações de indicação do modo de predição intra 1 e 2 (36a e 36b) no nível da sequência para os componentes Cl e C2, conforme ilustrado na figura 24. A sinalização de indicação do modo de predição intra é válida quando o modo de predição intra N x N é selecionado como o modo de codificação intra e a sinalização de identificação do tamanho de bloco de transformação indica a transformação do bloco 4x4, especificamente, no modo de predição intra 4 x 4. De acordo com o valor da sinalização de indicação do modo de predição intra, comutação pode ser realizada entre os dois estados seguintes.
[00146] Estado 1: para o componente Cl ou C2, o modo de predição intra 4 x 4 a ser usado é individualmente selecionado dos nove modos ilustrados nas figuras 3 para codificação.
[00147] Estado 2: para o componente Cl ou C2, o modo de predição intra 4 x 4 a ser usado é limitado à predição DC, especificamente, intra4x4_pred_mode = 2 das figuras 3 para não codificar informação do modo de predição intra.
[00148] Por exemplo, quando a codificação é realizada no espaço de cores da maneira definida por Y, Cb e Cr, o bloco 4x4 corresponde a uma área de imagem extremamente pequena em um caso de uma imagem de vídeo de alta resolução, tal como para um HDTV, ou em um nível de resolução mais alto. Neste caso, a codificação é algumas vezes realizada mais eficientemente fixando-se a informação do modo de predição em si em um sem transmitir a informação do modo de predição correspondente à informação de cabeçalho, do que provendo-se as nove opções de modo de predição, em particular, para o componente que não mantém a estrutura da textura da imagem tais como os componentes Cb e Cr. Uma sequência de fluxo de bits como esta habilita a codificação ideal de acordo com as propriedades de um espaço de cor de entrada ou as características de uma imagem de vídeo.
[00149] O dispositivo de decodificação que recebe o fluxo de bits na forma ilustrada na figura 24 é configurado para decodificar sinalização de indicação do modo de predição intra (36a ou 36b) na unidade de decodificação de comprimento variável 25 e então identificar se o fluxo de bits foi codificado no estado 1 ou 2 dependendo de um valor da sinalização. Dependendo do estado identificado, para o componente Cl ou C2, é determinado se o modo de predição intra 4 x 4 é decodificado a partir do fluxo de bits para o uso, ou se a predição DC, ou seja, intra4x4_pred_mode = 2 das figuras 3 é usada fixamente.
[00150] Além do mais, na quarta modalidade da presente invenção, o modo de predição intra a ser usado é limitado a: intra4x4_pred_mode = 2 para o componente Cl ou C2 no estado 2. Entretanto, desde que o número de informação do modo de predição seja fixado em um, a intra predição pode ser fixada em um outro modo de predição no estado 2. Além do mais, o estado 2 pode ser definido para usar o modo de predição intra 4 x 4 do componente C0 para o componente Cl ou C2. Uma vez que o modo de predição intra 4x4 não precisa ser codificado para o componente Cl ou C2 mesmo neste caso, bits de cabeçalho podem ser reduzidos.
Quinta modalidade
[00151] A quinta modalidade da presente invenção descreve um outro exemplo das configurações do dispositivo de codificação ilustrado na figura Íleo dispositivo de decodificação ilustrado na figura 12. Como nos casos das outras modalidades supradescritas, o dispositivo de codificação e o dispositivo de decodificação na quinta modalidade da invenção são providos com características específicas da presente invenção com base no método de codificação empregado no padrão MPEG-4 AVC (ISO/IEC 14496-10)/ITU-T H.264 correspondente ao documento 1 não patente supracitado. O dispositivo de codificação de vídeo na quinta modalidade da invenção difere do dispositivo de codificação da figura 11 descrito na segunda e na terceira modalidades da invenção apenas na operação da unidade de codificação de comprimento variável 11.0 dispositivo de decodificação de vídeo na quinta modalidade da invenção difere do dispositivo de decodificação da figura 12 descrito na segunda e terceira modalidades da invenção apenas na operação da unidade de decodificação de comprimento variável 25. O resto da operação é o mesmo da segunda e terceira modalidades da invenção, e apenas diferenças das modalidades supramencionadas serão descritas a seguir.
1. Procedimento de codificação da informação do modo de predição intra no dispositivo de codificação
[00152] No dispositivo de codificação na terceira modalidade da presente invenção, o método de codificação específico do modo de predição intra N x N na unidade de codificação de comprimento variável 11 foi descrito para o fluxo de bits na forma ilustrada na figura 16. Na quinta modalidade da presente invenção, um outro método específico do procedimento de codificação será descrito. A quinta modalidade da invenção é caracterizada em que o método de predição adaptativa seguinte é provido. Este método foca a atenção em um valor do modo de predição intra N x N, que reflete a estrutura da textura como uma imagem padrão, para realizar uma predição adaptativa para as áreas de pixel vizinhas do mesmo componente de cor. A descrição seguinte é com base na premissa da sequência de fluxo de bits na forma ilustrada na figura 16. Na quinta modalidade da invenção, o de informação do modo de predição intra N x N de cada um dos componentes de cor CO, Cl e C2 é independentemente codificado, e o método de codificação para o componente de cor CO é similarmente aplicado nos componentes de cor Cl e C2. Portanto, para simplificação da descrição, apenas o método de codificação para o componente de cor CO será descrito. O valor da sinalização de identificação de compartilhamento - modo de codificação intra 33 é estabelecido em "usar um modo de codificação intra comum para CO, Cl e C2”, e o modo de codificação intra é o modo de predição intra N x N e as sinalizações de identificação de tamanho de bloco de transformação 0 a 2 (32a a 32c) são o bloco 4x4. Neste caso, todos os modos de predição intra 0 a 2 (35a a 35c) são o modo de predição intra 4x4. Como os desenhos para ilustrar o procedimento de codificação da informação do modo de predição intra N x N do componente CO, são usadas as figuras 18. Nas figuras 18, um macrobloco atual a ser codificado é denotado por X. Um macrobloco na esquerda do macrobloco X é denotado por A, ao passo que um macrobloco acima do macrobloco X é denotado por B. A figura 25 é um fluxograma do procedimento de codificação.
[00153] Na terceira modalidade da presente invenção, o menor valor de IntraPredModeA e IntraPredModeB é alocado exclusivamente como o valor de predição, predCurrlntraPredMode, para o modo de predição intra 4x4, CurrlntraPredMode, que é alocado para cada bloco 4 x 4 X nas figuras 18. Este método é empregado no atual padrão AVC/H.264. De acordo com este método, à medida que o valor do modo de predição intra N x N aumenta, o método de geração de imagem de predição é operado em um modo complicado com interpolação de pixel em consideração à direcionalidade do padrão de imagem. Esta complicação resulta do fato de que um menor valor é alocado para o modo que é altamente compatível com um padrão de imagem geral. Quando uma taxa de bits é baixa, a seleção do modo é afetada mais intensamente por um incremento da quantidade de códigos do modo de predição do que por uma distorção incremental. Portanto, este método é ainda vantajoso em vista da eficiência de codificação geral. Entretanto, quando o taxa de bits é relativamente alta, a seleção do modo é afetada mais intensamente pela distorção incremental do que pelo incremento da quantidade de códigos do modo de predição. Portanto, não significa necessariamente que o menor valor de IntraPredModeA e IntraPredModeB é sempre ideal. Com base na observação supradescrita, na quinta modalidade da presente invenção, o estabelecimento do valor de predição é adaptado de acordo com os estados de IntraPredModeA e IntraPredModeB conforme descrito a seguir para melhorar a precisão do valor de predição. Neste procedimento, predCurrlntraPredMode é determinado com base nos estados de IntraPredModeA e IntraPredModeB como um valor que fornece a melhor estimativa de CurrlntraPredMode em termos do padrão de imagem (Etapas S73, S74 e S75). (1) Quando tanto IntraPredModeA quanto IntraPredModeB caem na faixa de 0 a 2, MIN(IntraPredModeA, IntraPredModeB) é determinado como predCurrlntraPredMode. (2) Quando qualquer um de IntraPredModeA e IntraPredModeB é 3 ou mais e as direções de predição de IntraPredModeA e IntraPredModeB são completamente diferentes uma da outra (por exemplo, IntraPredModeA é 3 e IntraPredModeB é 4), a predição DC (intra4x4_pred_mode = 2) é determinada como predCurrlntraPredMode. (3) Quando qualquer um de IntraPredModeA e IntraPredModeB é 3 ou mais e as direções de predição de IntraPredModeA e IntraPredModeB são as mesmas (por exemplo, IntraPredModeA é 3 e IntraPredModeB é 7 (qualquer uma das direções de predição é uma predição a partir da direita superior)), um modo de predição de interpolação de pixel (7 no exemplo supramencionado) é determinado como predCurrlntraPredMode.
[00154] Como na terceira modalidade da presente invenção, um processo preparatório para codificar IntraPredModeA e IntraPredModeB é realizado de antemão (Etapas S50 S53 e S59). Em decorrência disso, predCurrlntraPredMode é derivado exclusivamente dos valores de IntraPredModeA e IntraPredModeB. As figuras 26 ilustram tabelas mostrando uma regra de ajuste do valor de predição. Nas figuras 26, a área hachurada corresponde ao caso que não segue a regra convencional de MIN(IntraPredModeA, IntraPredModeB). Neste caso, um valor de predição mais preciso é determinado com base na continuidade dos padrões de imagem. A tabela para Classe 0 é usada no procedimento (1) supradescrito, ao passo que a tabela para Classe 1 é usada nos procedimentos (2) e (3).
[00155] Em decorrência do processo exposto, depois da determinação de predCurrlntraPredMode, o resto do procedimento de codificação para o componente de cor CO descrito na terceira modalidade da invenção é executado para completar a codificação (Etapas S52, S58 e S64).
[00156] Especificamente, o procedimento de codificação é o seguinte:
Figure img0027
[00157] O procedimento supramencionado de codificação pode ser similarmente definido para o modo de predição intra 8x8. Pela codificação do modo de predição intra N x N em um procedimento como este, a correlação entre os modos de predição nas áreas de pixel vizinhas do mesmo componente de cor pode ser usada mais eficientemente para reduzir a quantidade de códigos do modo de predição em si, melhorando assim a eficiência de codificação.
2. Procedimento de decodificação da informação do modo de predição intra no dispositivo de decodificação
[00158] No dispositivo de decodificação na terceira modalidade da presente invenção, um dos procedimentos de decodificação específicos da informação do modo de predição intra N x N na unidade de decodificação de comprimento variável 25 foi descrito para o fluxo de bits na forma ilustrada na figura 16. Na quinta modalidade da invenção, um outro método do procedimento de decodificação específico será descrito. A quinta modalidade da invenção é particularmente característica no procedimento de decodificação seguinte. O procedimento de decodificação foca a atenção no valor do modo de predição intra N x N, que reflete a estrutura da textura como o padrão de imagem, para decodificar o fluxo de bits que é codificado pela predição adaptativa nas áreas de pixel vizinhas do mesmo componente de cor.
[00159] A descrição seguinte é com base na premissa da sequência de fluxo de bits na forma ilustrada na figura 16. Para simplificação da descrição, o valor da sinalização de identificação de compartilhamento - modo de codificação intra 33 no fluxo de bits é estabelecido em "usar um modo de codificação intra comum para CO, Cl e C2”. Além do mais, o modo de predição intra N x N é designado como o modo de codificação intra, e o tamanho de bloco 4 x 4 é designado como as sinalizações de identificação de tamanho de bloco de transformação 0 a 2 (32a a 32c). Neste caso, todos os modos de predição intra 0 a 2 (35a a 35c) são o modo de predição intra 4x4. Como no dispositivo de codificação, no dispositivo de decodificação, apenas o componente CO será descrito com base na relação ilustrada nas figuras 18 (os componentes Cl e C2 são decodificados no mesmo procedimento, independentemente do componente CO). No dispositivo de decodificação, um macrobloco atual a ser decodificado é denotado por X. Um macrobloco na esquerda do macrobloco X é denotado por A, ao passo que um macrobloco acima do macrobloco X é denotado por B.
[00160] Na terceira modalidade da presente invenção, conforme descrito para o dispositivo de codificação, o menor valor de IntraPredModeA e IntraPredModeB é alocado exclusivamente como o valor de predição, predCurrlntraPredMode, para o modo de predição intra 4x4, CurrlntraPredMode, que é alocado para cada bloco 4 x 4 X nas figuras 18. Por outro lado, no dispositivo de decodificação de acordo com a quinta modalidade da invenção, predCurrlntraPredMode é determinado usando as tabelas ilustradas nas figuras 26 exatamente no mesmo procedimento do procedimento de codificação. Uma vez que IntraPredModeA e IntraPredModeB já foram decodificados e portanto são conhecidos, é possível realizar exatamente o mesmo processo do procedimento de codificação.
[00161] O procedimento subsequente é equivalente ao procedimento de decodificação do componente C0 descrito na terceira modalidade da presente invenção. O procedimento é sumarizado da seguinte maneira.
Figure img0028
}
[00162] O procedimento de decodificação supramencionado pode ser similarmente definido para o modo de predição intra 8x8. Pela decodificação do modo de predição intra N x N no procedimento supradescrito, a correlação entre os modos de predição nas áreas de pixel vizinhas do mesmo componente de cor pode ser usada mais eficientemente para decodificar o fluxo de bits codificado com a reduzida quantidade de códigos do modo de predição em si.
[00163] As tabelas nas figuras 26 são usadas de uma maneira fixa para determinar predCurrlntraPredMode para realizar a codificação e a decodificação no exemplo supramencionado, ao passo que a codificação e a decodificação podem ser realizadas usando valores das tabelas nas figuras 26 como valores iniciais para atualizar sequencialmente o modo de predição intra, que mais provavelmente ocorrerá para os estados de IntraPredModeA e IntraPredModeB, como predCurrlntraPredMode. Por exemplo, para combinação de “Classe = 0, IntraPredModeA = 0, IntraPredModeB = 0, e predCurrlntraPredMode = 0” nas figuras 26, predCurrlntraPredMode é sempre estabelecido em 0 quando IntraPredModeA = 0 e IntraPredModeB = 0 na modalidade supramencionada. Entretanto, uma vez que o sinal de vídeo em si é um sinal não estacionário, não existe garantia de que esta combinação seja a melhor para todos os conteúdos da imagem de vídeo. Na pior das hipóteses, existe mesmo uma possibilidade de que predCurrlntraPredMode apropriado não seja encontrado como o valor de predição praticamente em todos os casos em toda a imagem de vídeo. Portanto, por exemplo, a frequência de ocorrências de CurrlntraPredMode em um caso de IntraPredModeA = 0 e IntraPredModeB = 0 é contada. Cada vez que a codificação ou a decodificação de CurrlntraPredMode termina, predCurrlntraPredMode é atualizado com o modo de predição que ocorre mais frequentemente para os estados de IntraPredModeA e IntraPredModeB. Com uma configuração como esta, o valor de predição usado para codificar e decodificar CurrlntraPredMode pode ser estabelecido no valor ideal em vista dos conteúdos de uma imagem de vídeo.
Sexta modalidade
[00164] A sexta modalidade da presente invenção descreve um outro exemplo das configurações do dispositivo de codificação ilustrado na figura 11 e do dispositivo de decodificação ilustrado na figura 12. Como nas outras modalidades supradescritas, o dispositivo de codificação e o dispositivo de decodificação na sexta modalidade da invenção são providos com características específicas da presente invenção com base no método de codificação empregado no documento 1 não patente supracitado. O dispositivo de codificação de vídeo na sexta modalidade da invenção difere do dispositivo de codificação ilustrado na figura 11 na segunda, terceira e quanta quinta modalidades da invenção apenas na operação da unidade de codificação de comprimento variável 11. O dispositivo de decodificação de vídeo na sexta modalidade da invenção difere do dispositivo de decodificação ilustrado na figura 12 na segunda, terceira e quinta modalidades da invenção apenas na operação da unidade de decodificação de comprimento variável 25. O resto da operação é o mesmo da segunda, terceira e quinta modalidades da invenção, e apenas diferenças com a modalidade supramencionadas serão descritas a seguir.
1. Procedimento de codificação da informação do modo de predição intra no dispositivo de codificação
[00165] No dispositivo de codificação na terceira ou quinta modalidade da presente invenção, o método de codificação específico da informação do modo de predição intra N x N foi descrito para o fluxo de bits na forma ilustrada na figura 16. Na sexta modalidade, será descrito um outro método específico do procedimento de codificação. Esta sexta modalidade é particularmente característica em que o método de codificação aritmética adaptativo é provido. Este método foca a atenção no valor do modo de predição intra N x N que reflete a estrutura da textura como um padrão de imagem para realizar codificação aritmética adaptativa para as áreas de pixel vizinhas do mesmo componente de cor. A descrição seguinte é com base na sequência de fluxo de bits na forma ilustrada na figura 16. Na sexta modalidade, a informação do modo de predição intra N x N de cada um dos componentes de cor CO, Cl e C2 é independentemente codificado, e o método de codificação para o componente de cor CO é aplicado similarmente aos componentes de cor Cl e C2. Portanto, para simplificação da descrição, apenas o método de codificação para o componente de cor CO será aqui descrito. O valor da sinalização de identificação de compartilhamento - modo de codificação intra 33 é estabelecido em "usar um modo de codificação intra comum para CO, Cl e C2”, e o modo de codificação intra é estabelecido no modo de predição intra N x N, e as sinalizações de identificação de tamanho de bloco de transformação 0 a 2 (32a a 32c) indicam o bloco 4x4. Neste caso, os modos de predição intra 0 a 2 (35a a 35c) são todos o modo de predição intra 4x4. Como os desenhos para ilustrar o procedimento de codificação da informação do modo de predição intra N x N do componente CO, são usadas as figuras 18. Nas figuras 18, um macrobloco atual a ser codificado é denotado por X. Um macrobloco na esquerda do macrobloco X é denotado por A, ao passo que um macrobloco acima do macrobloco X é denotado por B. A figura 27 é um fluxograma do procedimento de codificação.
[00166] Na terceira e quinta modalidades da presente invenção, o menor valor de IntraPredModeA e IntraPredModeB é alocado exclusivamente como o valor de predição, predCurrlntraPredMode, para o modo de predição intra 4x4, CurrlntraPredMode, que é alocado para cada bloco X 4 x 4 das figuras 18. De acordo com este método, quando o valor de predição e CurrlntraPredMode são iguais entre si, prev_intra_pred_mode_flag é estabelecido em 1 e a codificação do modo de predição intra 4x4 para o bloco X termina. Por outro lado, quando o valor de predição e CurrlntraPredMode são diferentes um do outro, rem_intra_pred_mode é codificado para ser transmitido. Na sexta modalidade, os estados de IntraPredModeA e IntraPredModeB são usados para codificar de forma diretamente aritmética CurrlntraPredMode. Para a codificação aritmética direta, é usado um procedimento de codificação de acordo com codificação aritmética binária adaptativa baseada em contexto, que é empregado em AVC/H.264 padrão.
[00167] Primeiramente, CurrlntraPredMode a ser codificado é binarizado de acordo com uma forma ilustrada na figura 28 (Etapa S76). Um primeiro bin em uma sequência binária serve como um código para determinar se CurrlntraPredMode indica uma predição vertical ou uma predição horizontal (ver as figuras 3). A predição DC (intra4x4_pred_mode = 2) é classificada como a predição horizontal neste exemplo, mas a predição DC pode também ser classificada como a predição vertical. Um segundo bin fornece um bit Terminate para o valor do modo de predição que considera-se aparecer mais frequentemente em cada uma da predição vertical e da predição horizontal. Terceiros e subsequentes bins são estabelecidos para terminar sucessivamente o resto dos valores do modo de predição na ordem de maiores frequências de aparecimento (é desejável que o segundo e subsequentes bins na sequência binária na figura 28 sejam estabelecidos de acordo com uma probabilidade de ocorrência de símbolo nos dados de processo de codificação de imagem reais).
[00168] A codificação aritmética é realizada enquanto uma tabela de probabilidade de ocorrência (0,1) a ser usada é sequencialmente selecionada para cada um dos bins na sequência binária. Para codificar o primeiro bin, um contexto usado para a codificação aritmética é definido da seguinte maneira (Etapa S78).
[00169] Contexto A(CA): uma sinalização, intra_pred_direction_flag, que é uma representação binária indicando se o modo de predição intra é a predição vertical ou a predição horizontal, é definido para IntraPredModeA e IntraPredModeB, e os quatro estados seguintes são usados como valores de contexto. CA = (intra_pred_direction_flag for IntraPredModeA == 1) + (intra_pred_direction_flag for IntraPredModeB ==1) onde intra_pred_direction_flag é classificada como a predição vertical (=0) quando, por exemplo, intra4x4_pred_mode é 0, 3, 5, ou 7 nas figuras 3, e é classificado como a predição horizontal (=1) quando intra4x4_pred_mode é 1, 2, 4, 6, ou 8. Para cada um dos quatro estados de CA, uma probabilidade condicional de CurrlntraPredMode sobre a premissa dos estados de IntraPredModeA e IntraPredModeB é obtida de antemão. Então, uma tabela de probabilidade de ocorrência inicial (0,1) definida com base na probabilidade condicional obtida é alocada para cada um dos quatro estados. Configurando-se o contexto desta maneira, uma melhor estimativa da probabilidade de ocorrência condicional do primeiro bin é obtida para melhorar a eficiência de codificação aritmética. A tabela de probabilidade de ocorrência para o primeiro bin é selecionada com base no valor de CA para executar a codificação aritmética. Então, a tabela de probabilidade de ocorrência é atualizada com o valor codificado (Etapa S79).
[00170] Para o segundo e subsequentes bins, a tabela de probabilidade de ocorrência inicial (0, 1) determinada com base na probabilidade de ocorrência de cada valor do modo de predição é alocada de antemão (Etapa S80). Subsequentemente, como para o primeiro bin, a atualização da codificação aritmética binária e da tabela de probabilidade de ocorrência é realizada (Etapa S81).
[00171] O procedimento de codificação supramencionado pode ser definido da mesma maneira para o modo de predição intra 8x8. Pela codificação do modo de predição intra N x N no procedimento supradescrito, a codificação aritmética adaptativa pode ser usada para codificar a informação do modo de predição tirando proveito da correlação entre os modos de predição nas áreas de pixel vizinhas do mesmo componente de cor, melhorando assim a eficiência de codificação.
2. Procedimento de decodificação da informação do modo de predição intra no dispositivo de decodificação
[00172] No dispositivo de decodificação na terceira e quinta modalidades da presente invenção, um dos procedimentos de decodificação específicos da informação do modo de predição intra N x N na unidade de decodificação de comprimento variável 25 foi descrito para o fluxo de bits na forma ilustrada na figura 16. Na sexta modalidade da invenção, será descrito um outro método do procedimento de decodificação específico. A sexta modalidade da invenção é particularmente característica no procedimento de decodificação seguinte. O procedimento de decodificação foca a atenção no valor do modo de predição intra N x N que reflete a estrutura da textura como o padrão de imagem para decodificar o fluxo de bits que é codificado pela codificação aritmética adaptativa nas áreas de pixel vizinhas do mesmo componente de cor.
[00173] A descrição seguinte é com base na sequência de fluxo de bits na forma ilustrada na figura 16. Para simplificação da descrição, o valor da sinalização de identificação de compartilhamento - modo de codificação intra 33 no fluxo de bits é estabelecido em "usar um modo de codificação intra comum para CO, Cie C2”. Além do mais, o modo de predição intra N x N é designado como o modo de codificação intra, e o tamanho de bloco 4 x 4 é indicado pelas sinalizações de identificação de tamanho de bloco de transformação 0 a 2 (32a a 32c). Neste caso, os modos de predição intra 0 a 2 (35a a 35c) são todos o modo de predição intra 4x4. Como no caso do dispositivo de codificação, no dispositivo de decodificação, o procedimento de decodificação será descrito apenas para o componente CO com base na relação ilustrada nas figuras 18 (os componentes Cl e C2 são decodificados no mesmo procedimento, independentemente do componente CO). No dispositivo de decodificação, um macrobloco atual a ser decodificado é denotado por X. Um macrobloco na esquerda do macrobloco X é denotado por A, ao passo que um macrobloco acima do macrobloco X é denotado por B.
[00174] Na terceira e quinta modalidades da presente invenção, conforme descrito para o dispositivo de codificação, o menor valor de IntraPredModeA e IntraPredModeB é alocado exclusivamente como o valor de predição, predCurrlntraPredMode, para o modo de predição intra 4x4, CurrlntraPredMode, que é alocado para cada bloco X 4 x 4 nas figuras 18. Então, prev_intra_pred_mode_flag é decodificado. Quando o valor do prev_intra_pred_mode_flag decodificado é 1, predCurrlntraPredMode é usado como CurrlntraPredMode. Por outro lado, quando prev_intra_pred_mode_flag é 0, rem_mtra_pred_mode é decodificado para restaurar o modo de predição intra 4 x 4 do bloco X. Por outro lado, na sexta modalidade da presente invenção, os estados de IntraPredModeA e IntraPredModeB são usados para decodificar aritmeticamente de forma direta CurrlntraPredMode. Para decodificação aritmética direta, é usado um procedimento de decodificação de acordo com decodificação aritmética binária adaptativa baseada em contexto que é empregada no AVC/H.264 padrão.
[00175] Considera-se que CurrlntraPredMode a ser decodificado é codificado como uma sequência binária de acordo com a forma ilustrada na figura 28. A sequência binária é sucessivamente submetida a decodificação aritmética binária a partir de sua extremidade esquerda. Conforme descrito no procedimento de codificação na sexta modalidade da presente invenção, o primeiro bin na sequência binária é um código para classificar CurrlntraPredMode como a predição vertical ou a predição horizontal (ver as figuras 3). O segundo e subsequentes bins têm estruturas de código para terminar sucessivamente os valores de modo de predição na ordem de uma maior frequência de aparecimento. O motivo uma estrutura de código como esta é conforme descrito no procedimento de codificação.
[00176] No processo de decodificação, para decodificar o primeiro bin, o mesmo CA do contexto usado no procedimento de codificação é determinado. A tabela de probabilidade de ocorrência para o primeiro bin é selecionada com base no valor de CA para executar a decodificação aritmética, restaurando assim o primeiro bin. Além do mais, a tabela de probabilidade de ocorrência é atualizada com o valor decodificado.
[00177] Para o segundo e subsequentes bins, a tabela de probabilidade de ocorrência inicial (0, 1) determinada com base na probabilidade de ocorrência de cada valor do modo de predição é alocada de antemão. Subsequentemente, como para o primeiro bin, a atualização da decodificação aritmética binária e da tabela de probabilidade de ocorrência é realizada. Uma vez que a sequência binária na figura 28 é configurada para permitir que cada um dos valores de modo de predição seja especificado exclusivamente, CurrlntraPredMode é sequencialmente decodificado depois de um número pré-determinado de bins ser restaurado.
[00178] O procedimento de decodificação supramencionado pode ser similarmente definido para o modo de predição intra 8x8. Decodificando-se o modo de predição intra N x N no procedimento supradescrito, o fluxo de bits codificado pode ser decodificado com a quantidade de códigos do modo de predição em si sendo reduzida pela codificação aritmética, tirando proveito da correlação entre os modos de predição nas áreas de pixel vizinhas do mesmo componente de cor.
[00179] No exemplo supramencionado, outras variações da tabela ilustrada na figura 28 são concebíveis. Por exemplo, um método de configurar uma sequência binária conforme ilustrado na figura 29 é possível. De acordo com este método, o contexto B seguinte é usado para o primeiro bin.
[00180] Contexto B(CB): uma sinalização, intra_dc_pred_flag, que é uma representação binária indicando se o modo de predição intra é ou não a predição DC, é definida para IntraPredModeA e IntraPredModeB, e os quatro estados seguintes são usados como valores de contexto. CB = (intra_dc_pred_flag for IntraPredModeA == 1) + (intra_dc_pred_flag for IntraPredModeB == 1) onde intra_dc_pred_flag é estabelecido em 1 quando intra4x4_pred_mode é 2 nas figuras 3, e é estabelecido em 0 quando intra4x4_pred_mode é qualquer outro valor. Para cada um dos quatro estados de CB, uma probabilidade condicional de CurrlntraPredMode sobre a premissa dos estados de IntraPredModeA e IntraPredModeB é obtido de antemão. Então, a tabela de probabilidade de ocorrência inicial (0,1) para o primeiro bin definido com base na probabilidade condicional obtida é alocado para cada um dos quatro estados. Na figura 29, quando CurrlntraPredMode é a predição DC, o primeiro bin é projetado para ter um valor 0. Quando CurrlntraPredMode não é a predição DC, o primeiro bin é projetado para ter um valor 1. Para o segundo bin, o contexto A(CA) supramencionado é usado. Configurando-se o contexto desta maneira, uma melhor estimativa da probabilidade de ocorrência condicional para qualquer um do primeiro bin e do segundo bin pode ser obtida para melhorar a eficiência de codificação aritmética.
Sétima modalidade
[00181] Na sétima modalidade da presente invenção, um dispositivo de codificação que realiza codificação usando predição inter quadros em unidades de áreas retangulares (macroblocos), cada uma sendo composta de 16x16 pixels, obtida dividindo-se igualmente uma saída de quadro de vídeo no formato 4: 4: 4, e um dispositivo de decodificação correspondente ao dispositivo de codificação, serão descritos. O dispositivo de codificação e o dispositivo de decodificação na sétima modalidade da invenção são providos com características específicas da presente invenção com base no método de codificação empregado no padrão MPEG-4 AVC (ISO/IEC 14496-10)/ITU-T H.264 (a seguir, referido simplesmente como AVC).
[00182] A figura 30 ilustra uma configuração de um dispositivo de codificação de vídeo na sétima modalidade da invenção, e a figura 31 ilustra um dispositivo de decodificação de vídeo na sétima modalidade da invenção. Na figura 31, os componentes denotados pelos mesmos números de referência daqueles do dispositivo de codificação ilustrado na figura 30 são os mesmos componentes.
[00183] A seguir, as operações de todo o dispositivo de codificação e dispositivo de decodificação na sétima modalidade, e um processo de determinação do modo de predição inter e um processo de decodificação de predição de compensação do movimento, que são operações específicas de acordo com a sétima modalidade, serão descritos com base nas figuras 30 e 31.
1. Esquema de operação do dispositivo de codificação
[00184] No dispositivo de codificação ilustrado na figura 30, cada quadro de vídeo é alimentado no formato 4: 4: 4. Além do mais, cada um dos três componentes de cor é dividido e agrupado no macrobloco com o mesmo tamanho a ser alimentado no dispositivo de codificação que o sinal de vídeo de entrada 1.
[00185] Primeiramente, em uma unidade de predição de compensação do movimento 102, uma imagem de referência de um quadro é selecionada de dados de imagem de referência preditiva de compensação de movimento para um quadro ou mais, que é armazenada nas memórias 16, para realizar um processo preditivo de compensação de movimento em unidades dos macroblocos para cada um dos componentes de cor. Três memórias são preparadas para os respectivos componentes de cor (o número de memórias é descrito como três nesta modalidade, mas o número de memórias pode ser convenientemente alterado de acordo com o projeto). Sete tamanhos de blocos são preparados para uma predição de compensação do movimento. Primeiramente, para cada macrobloco, qualquer um dos tamanhos 16 x 16, 16 x 8, 8xl6e8x8 pode ser selecionado conforme ilustrado nas figuras 32A a 32D. Adicionalmente, no caso de seleção do tamanho 8x8, qualquer um dos tamanhos 8x8, 8x4, 4 x 8 e 4 x 4 pode ser selecionado para cada um dos blocos 8x8 conforme ilustrado nas figuras 32E a 32H. Como a informação do tamanho selecionado, informação de tamanho para cada macrobloco é enviada como um tipo de macrobloco, ao passo que informação de tamanho para cada bloco 8 x 8 é enviada como um tipo sub-macrobloco. Um número de identificação e informação de vetor de movimento da imagem de referência selecionada são produzidos para cada bloco.
[00186] O dispositivo de codificação de vídeo na sétima modalidade da presente invenção é caracterizado em que a predição de compensação do movimento método é comutada para cada um dos três componentes de cor com base em uma sinalização de identificação de compartilhamento - modo de predição inter 123. Esta consideração será descrita com detalhes na seção 2 a seguir.
[00187] A unidade de predição de compensação do movimento 102 executa o processo de predição de compensação de movimento para todos os tamanhos de blocos ou sub-tamanhos de blocos ilustrados nas figuras 32A a 32H, todos vetores de movimento 137 em uma faixa de alcance pré- determinada e uma ou mais imagens de referência selecionáveis para obter um sinal da diferença de predição 4 dos vetores de movimento 137 e a imagem de referência única no subtrator 3. A eficiência de predição do sinal da diferença de predição 4 é avaliada na unidade de determinação do modo de codificação 5. Então, por meio do processo de predição executado na unidade de predição de compensação do movimento 102, o tipo de macrobloco / subtipo de macrobloco 106, o vetor de movimento 137 e o número de identificação da imagem de referência, que podem fornecer a eficiência de predição ideal para o macrobloco a ser predito, são produzidos. Para a seleção do tipo de macrobloco/subtipo de macrobloco 106, o coeficiente de ponderação 20 para cada tipo determinado pela determinação da unidade de controle de codificação 19 é levado em consideração em alguns casos. O sinal da diferença de predição 4, que é obtido pela predição de compensação do movimento com base no macrobloco/subtipo de macrobloco, vetor de movimento 137 e imagem de referência selecionada, é enviado para a unidade de transformação ortogonal 8. A unidade de transformação ortogonal 8 transforma o sinal da diferença de predição de entrada 4 em um coeficiente de transformação ortogonal para enviar o coeficiente de transformação ortogonal obtido para a unidade de quantização 9. A unidade de quantização 9 quantiza o coeficiente de transformação ortogonal de entrada com base no parâmetro de quantização 21 determinado pela unidade de controle de codificação 19 para enviar o resultado da quantização como o coeficiente de transformação quantizado 10 para a unidade de codificação de comprimento variável 11.0 coeficiente de transformação quantizado 10 é codificado pela entropia por meios tais como codificação de Huffman ou codificação aritmética na unidade de codificação de comprimento variável 11.0 coeficiente de transformação quantizado 10 passa pela unidade de quantização inversa 12 e pela unidade de transformação ortogonal inversa 13 para ser restaurado para o sinal da diferença de predição decodificado local 14. Então, o sinal da diferença de predição decodificado local 14 é adicionado à imagem predita 7 gerada com base no tipo de macrobloco/subtipo de macrobloco 106, vetor de movimento 137 e imagem de referência selecionada, no adicionador 18 para gerar a imagem decodificada local 15. A imagem decodificada local 15 é armazenada nas memórias 16 para ser usada para um processo de predição de compensação do movimento subsequente. Além do mais, a sinalização de controle do filtro de desbloqueio 24 indicando se um filtro de desbloqueio é ou não aplicado ao macrobloco é também alimentada na unidade de codificação de comprimento variável 11 (o próprio processo do filtro de desbloqueio não é exigido para o processo de codificação em virtude de os dados de pixel antes da aplicação do filtro de desbloqueio serem armazenados nas memórias 16 no processo de predição executado na unidade de predição de compensação do movimento 102, entretanto, no dispositivo de decodificação o filtro de desbloqueio é aplicado mediante instrução da sinalização de controle do filtro de desbloqueio 24 para obter a imagem decodificada final).
[00188] A sinalização de identificação de compartilhamento - modo de predição inter 123, o coeficiente de transformação quantizado 10, o tipo de macrobloco/subtipo de macrobloco 106, o vetor de movimento 137, o número de identificação da imagem de referência e o parâmetro de quantização 21, que são alimentados na unidade de codificação de comprimento variável 11, são arranjados e modelados como um fluxo de bits de acordo com uma regra pré-determinada (sintaxe) a ser enviada para o armazenamento temporário de transmissão 17. O armazenamento temporário de transmissão 17 suaviza o fluxo de bits de acordo com a banda de um caminho de transmissão no qual o dispositivo de codificação é conectado ou a velocidade de leitura de uma mídia de gravação para enviar o fluxo de bits como o fluxo de vídeo 22. O armazenamento temporário de transmissão 17 envia a informação de ré- alimentação para a unidade de controle de codificação 19 de acordo com o estado de acúmulo do fluxo de bits no armazenamento temporário de transmissão 17 para controlar a quantidade de códigos gerados na codificação de quadros de vídeo subsequentes.
2. Processo de determinação do modo de predição inter no dispositivo de codificação
[00189] O processo de determinação do modo de predição inter, que é um recurso do dispositivo de codificação na sétima modalidade da presente invenção, será descrito com detalhes. Note que o modo de predição inter na descrição seguinte denota o tamanho de bloco servindo como a unidade da predição de compensação do movimento supradescrita, ou seja, o tipo de macrobloco/subtipo de macrobloco, e o processo de determinação do modo de predição inter é para selecionar o tipo de macrobloco/subtipo de macrobloco, o vetor de movimento e a imagem de referência. Este processo é executado com base no macrobloco, cada macrobloco sendo obtido agrupando os três componentes de cor supramencionados, basicamente pela unidade de predição de compensação do movimento 102 e pela unidade de determinação do modo de codificação 5 no dispositivo de codificação ilustrado na figura 30. A figura 33 é um fluxograma ilustrando um fluxo deste processo. A seguir, dados de imagem dos três componentes de cor que constituem os blocos são referidos como CO, Cie C2, respectivamente.
[00190] Primeiramente, a unidade de determinação do modo de codificação 5 recebe a sinalização de identificação de compartilhamento - modo de predição inter 123 para determinar, com base em um valor da sinalização de identificação de compartilhamento - modo de predição inter 123, se o modo de predição inter comum, o vetor de movimento comum 137 e a imagem de referência comum são ou não usados para CO, Cl e C2 (Etapa SI00 da figura 33). Se o modo de predição inter comum, o vetor de movimento comum 137 e a imagem de referência comum são usados, o processo vai para a etapa SI01 e as etapas seguintes. Caso contrário, o processo vai para a etapa SI02 e as etapas seguintes.
[00191] Quando o modo de predição inter, o vetor de movimento 137 e a imagem de referência são comuns a C0, Cie C2, a unidade de determinação do modo de codificação 5 notifica a unidade de predição de compensação do movimento 102 de todos os modos de predição inter, vetores de movimento na faixa de busca e imagens de referência selecionáveis. A unidade de predição de compensação do movimento 102 avalia todas as suas eficiências de predição para selecionar o modo de predição inter, o vetor de movimento 137 e a imagem de referência comum e ideal para todos os componentes CO, Cl eC2 (Etapa SI01).
[00192] Por outro lado, quando o modo ideal é individualmente selecionado para cada CO, Cl e C2 sem compartilhar o modo de predição inter, o vetor de movimento 137 e a imagem de referência entre CO, Cl e C2, a unidade de determinação do modo de codificação 5 notifica a unidade de predição de compensação do movimento 102 de todos os modos de predição inter, os vetores de movimento na faixa de busca e as imagens de referência selecionáveis para o componente Ci (i<=0<3). A unidade de predição de compensação do movimento 102 avalia todas as suas eficiências de predição para selecionar o modo ideal de predição inter, do vetor de movimento 137 e da imagem de referência ideal para o componente Ci (i<=0<3) (Etapas SI02, S103eS104).
[00193] Como uma regra de avaliação da eficiência de predição do modo de predição executado na unidade de predição de compensação do movimento 102, por exemplo, um custo taxa-distorção dado por: Jm,v,r = Dm,v,r + XRm,v,r (X: um número positivo) pode ser usado. Nesta expressão, Dm,v,r é uma distorção da codificação ou um valor do erro de predição quando um modo de predição inter m, um vetor de movimento v em uma faixa pré-determinada e uma imagem de referência r são usados. A distorção da codificação é obtida obtendo-se um erro de predição usando o modo de predição inter m, o vetor de movimento v e a imagem de referência r, decodificando uma imagem de vídeo a partir do resultado da transformação e quantização do erro de predição, e então medindo um erro com relação a um sinal antes da codificação. O valor do erro de predição é obtido obtendo-se uma diferença entre uma imagem predita e o sinal antes da codificação gerada quando o modo de predição inter m, o vetor de movimento v e a imagem de referência r são usados, e então quantificando a diferença. Por exemplo, uma soma da distância absoluta (SAD) é usada como o valor do erro de predição. Então, Rm,v,r é a quantidade de códigos gerados quando o modo de predição inter m, o vetor de movimento v e a imagem de referência r são usados. Especificamente, Jm,v,r é um valor que define um equilíbrio entre a quantidade de códigos e o grau de deterioração quando o modo de predição inter m, o vetor de movimento v e a imagem de referência r são usados. O modo de predição inter m, o vetor de movimento v e a imagem de referência r, que dão o menor Jm,v,r, fornecem a solução ideal.
[00194] Quando o dispositivo de codificação executa o processo depois da etapa SI01 e as etapas seguintes, uma combinação de informação do modo de predição inter, do vetor de movimento 137 e da imagem de referência é alocada para o macrobloco contendo três componentes de cor. Por outro lado, quando o dispositivo de codificação executa o processo depois da etapa SI02 e as etapas seguintes, a informação do modo de predição inter, o vetor de movimento 137 e a imagem de referência são alocados para cada um dos componentes de cor. Dessa maneira, uma vez que a informação do modo de predição inter, do vetor de movimento 137 e da imagem de referência, que é alocada para o macrobloco, difere para cada caso, a sinalização de identificação de compartilhamento - modo de predição inter 123 precisa ser multiplexada no fluxo de bits para permitir que o dispositivo de decodificação reconheça se o dispositivo de codificação executou o processo depois de SI01 ou o processo depois de SI02. Uma sequência de dados de um fluxo de bits como este é ilustrada na figura 34.
[00195] A figura 34 mostra a sequência de dados do fluxo de bits no nível de macrobloco. O tipo de macrobloco contém informação que indica modo de predição intra ou inter. Quando o tipo de macrobloco indica o modo de predição inter, a informação indica o tamanho de bloco servindo como a unidade de compensação de movimento. O subtipo de macrobloco é multiplexado apenas quando o tamanho de bloco 8 x 8 é selecionado como o tipo de macrobloco e contém informação do tamanho de bloco para cada bloco 8x8. Um tipo de macrobloco básico 128 e um subtipo de macrobloco básico 129 cada qual indicam um tipo de macrobloco comum e um subtipo de macrobloco comum quando a sinalização de identificação de compartilhamento - modo de predição inter 123 indica que o modo de predição inter é “comum a CO, Cl e C2”. Caso contrário, o tipo de macrobloco básico 128 e o subtipo de macrobloco básico 129 indicam o tipo de macrobloco e o subtipo de macrobloco para CO. Um tipo de macrobloco estendido 130 e um subtipo de macrobloco estendido 131 são multiplexados para cada Cl e C2 apenas quando a sinalização de identificação de compartilhamento - modo de predição inter 123 indica que o modo de predição inter não é “comum a CO, Cie C2”, e indicam o tipo de macrobloco e o subtipo de macrobloco para Cl e C2.
[00196] O número de identificação da imagem de referência é informação para especificar a imagem de referência a ser selecionada para cada bloco do tamanho de bloco 8 x 8 ou maior servindo como a unidade de compensação de movimento. No caso de modo inter-quadro, uma imagem de referência selecionável é uma imagem de quadros. Portanto, um número de identificação da imagem de referência é multiplicado para cada bloco. Um conjunto de informação de vetor de movimento é multiplexado para cada bloco servindo como a unidade de compensação de movimento. O número dos números de identificação da imagem de referência e da informação de vetor de movimento que são multiplexados precisa corresponder aos dos blocos contidos no macrobloco, cada bloco servindo como a unidade da compensação de movimento. Quando a sinalização de identificação de compartilhamento - modo de predição inter 123 indica que o modo é “comum a CO, Cl e C2”, o número de identificação da imagem de referência básica 132 e a informação de vetor de movimento básico 133 são um número de identificação da imagem de referência comum e informação de vetor de movimento comum. Caso contrário, o número de identificação da imagem de referência básica 132 e a informação de vetor de movimento básico 133 são o número de identificação da imagem de referência e a informação de vetor de movimento para CO. O número de identificação da imagem de referência estendido 134 e a informação de vetor de movimento estendido 135 são multiplexados para cada Cl e C2 apenas quando a sinalização de identificação de compartilhamento - modo de predição inter 123 indica que o modo não é “comum a CO, Cl e C2”, e são o número de identificação da imagem de referência e a informação de vetor de movimento para Cie C2.
[00197] Subsequentemente, o parâmetro de quantização 21 e o coeficiente de transformação quantizado 10 são multiplexados (a figura 34 não ilustra a sinalização de controle do filtro de desbloqueio 24 que é alimentada na unidade de codificação de comprimento variável 11 da figura 30, mas a sua ilustração é aqui omitida em virtude de a sinalização de controle do filtro de desbloqueio 24 não ser um componente essencial para a descrição da característica da sétima modalidade da presente invenção).
[00198] No formato 4: 2: 0 que foi usado no padrão de codificação de vídeo convencional, a definição de espaço de cores é fixada em Y, Cb e Cr. No formato 4: 4: 4, entretanto, um espaço de cores não é limitado ao de Y, Cb e Cr, e vários espaços de cores podem ser usados. Configurando-se a informação do modo de predição inter conforme ilustrado na figura 34, o processo de codificação ideal pode ser realizado mesmo quando a definição do espaço de cores do sinal de vídeo de entrada 1 variar. Por exemplo, quando o espaço de cores é definido por R, G e B, a estrutura de uma textura de vídeo permanece igualmente nos componentes R, G e B. Em uma área como esta, o uso da informação do modo de predição inter comum e da informação de vetor de movimento comum pode reduzir a redundância de informação do modo de predição inter e de informação de vetor de movimento em si para melhorar a eficiência de codificação. Por outro lado, por exemplo, em uma área que não contém nenhum vermelho (o componente R é 0), o modo de predição inter e a informação de vetor de movimento ideal para o componente R devem diferir daqueles ideais para os componentes G e B. Portanto, com uso adaptativo do modo de predição inter estendido, da informação de identificação de imagem de referência estendida e da informação de vetor de movimento estendida, a eficiência de codificação ideal pode ser obtida.
3. Esquema de operação do dispositivo de decodificação
[00199] O dispositivo de decodificação ilustrado na figura 31 recebe o fluxo de vídeo 22 de acordo com a sequência de dados ilustrada na figura 34, que é produzido pelo dispositivo de codificação ilustrado na figura 30, e realiza um processo de decodificação com base no macrobloco, cada macrobloco contendo três componentes de cor do mesmo tamanho (no formato 4: 4: 4), para restaurar cada quadro de vídeo.
[00200] Primeiramente, a unidade de decodificação de comprimento variável 25 recebe o fluxo de vídeo 22 como uma entrada para decifrar o fluxo de vídeo 22 de acordo com uma regra pré-determinada (sintaxe), extraindo assim informação tais como a sinalização de identificação de compartilhamento - modo de predição inter 123, o coeficiente de transformação quantizado 10, o tipo de macrobloco/subtipo de macrobloco 106, o número de identificação da imagem de referência, a informação de vetor de movimento e o parâmetro de quantização 21. O coeficiente de transformação quantizado 10 é alimentado junto com o parâmetro de quantização 21 na unidade de quantização inversa 12, em que o processo de quantização inversa é realizado. Subsequentemente, a saída da unidade de quantização inversa 12 é alimentada na unidade de transformação ortogonal inversa 13 para ser restaurada para o sinal da diferença de predição decodificado local 14. Por outro lado, o tipo de macrobloco/subtipo de macrobloco 106, a sinalização de identificação de compartilhamento - modo de predição inter 123, o vetor de movimento 137 e o número de identificação da imagem de referência são alimentados na unidade de predição de compensação do movimento 102 para obter a imagem predita 7 de acordo com a informação de entrada. Um procedimento específico para obter a imagem predita 7 será descrito a seguir. O sinal da diferença de predição decodificado local 14 e a imagem predita 7 são adicionados pelo somador 18 para obter a imagem decodificada temporária 15 (que é exatamente o mesmo sinal da imagem decodificada local 15 no dispositivo de codificação). A imagem decodificada temporária 15 é regravada nas memórias 16 para ser usada para a predição de compensação do movimento dos macroblocos subsequentes. Três memórias 16 são preparadas para os respectivos componentes de cor (o número de memórias é descrito como três nesta modalidade, mas o número de memórias pode ser convenientemente alterado de acordo com o projeto). Além do mais, com base na indicação da sinalização de controle do filtro de desbloqueio 24 decifrada pela unidade de decodificação de comprimento variável 25, o filtro de desbloqueio 26 é impelido a agir na imagem decodificada temporária 15 para obter a imagem decodificada final 27.
4. Processo de predição de decodificação inter no dispositivo de decodificação
[00201] O dispositivo de decodificação ilustrado na figura 31 recebe o fluxo de vídeo 22 de acordo com a sequência ilustrada na figura 34, que é produzido pelo dispositivo de codificação ilustrado na figura 30, e realiza um processo de decodificação com base no macrobloco, cada macrobloco sendo composto de três componentes de cor do mesmo tamanho (no formato 4: 4: 4), para restaurar cada quadro de vídeo.
[00202] Um processo de geração de imagem de predição inter que é um recurso do dispositivo de decodificação de acordo com a sétima modalidade será descrito com detalhes. Este processo é implementado com base no macrobloco, cada macrobloco sendo obtido agrupando-se os três componentes de cor supradescritos, e é basicamente realizado pela unidade de decodificação de comprimento variável 25 e pela unidade de predição de compensação do movimento 102 no dispositivo de decodificação ilustrados na figura 31. A figura 35 é um fluxograma ilustrando um fluxo de uma parte do processo de geração de imagem de predição inter, que é implementado na unidade de decodificação de comprimento variável 25.
[00203] Considera-se que o fluxo de vídeo 22 que é uma entrada na unidade de decodificação de comprimento variável 25 segue a sequência de dados ilustrada na figura 34. Na etapa SI 10, a sinalização de identificação de compartilhamento - modo de predição inter 123 nos dados ilustrados na figura 34 é decodificada (Etapa SI 10). Adicionalmente, o tipo de macrobloco básico 128 e o subtipo de macrobloco básico 129 são decodificados (Etapa SI 11). Na etapa SI 12, é determinado, usando o resultado da sinalização de identificação de compartilhamento - modo de predição inter 123, se o modo de predição inter comum a C0, Cl e C2 deve ou não ser usado. Quando o modo de predição inter comum é usado (Sim, na etapa SI 12), o tipo de macrobloco básico 128 e o subtipo de macrobloco básico 129 são usados para todos C0, Cl e C2. Caso contrário (não, na etapa SI 12), o tipo de macrobloco básico 128 e o subtipo de macrobloco básico 129 são usados como o modo para C0. Então, o tipo de macrobloco estendido 130 e o subtipo de macrobloco estendido 131 são decodificados para cada Cl e C2 (Etapa SI 13) para obter a informação do modo de predição inter de Cl e C2. Em seguida o número de identificação da imagem de referência básica 132 e a informação de vetor de movimento básico 133 são decodificados (Etapa SI 14). Quando a sinalização de identificação de compartilhamento - modo de predição inter 123 indica que o número de identificação da imagem de referência básica 132 e a informação de vetor de movimento básico 133 “comuns a CO, Cl e C2” são usados (sim, na etapa Sl 15), o número de identificação da imagem de referência básica 132 e a informação de vetor de movimento básico 133 são usados para todos CO, Cl e C2. Caso contrário (não, na etapa S115), o número de identificação da imagem de referência básica 132 e a informação de vetor de movimento básico 133 são usados como informação para CO. Então, para cada Cie C2, o número de identificação da imagem de referência estendido 134 e a informação de vetor de movimento estendido 135 são decodificados (Etapa Sl 16). Uma vez que o tipo de macrobloco/subtipo de macrobloco 106, o número de identificação da imagem de referência e a informação de vetor de movimento de cada um dos componentes de cor são determinados por meio do processo supramencionado, o tipo de macrobloco/subtipo de macrobloco 106, número de identificação da imagem de referência e informação de vetor de movimento determinados são enviados à unidade de predição de compensação do movimento 102 para obter uma imagem preditiva de compensação de movimento de cada um dos componentes de cor.
[00204] A figura 36 ilustra uma variação da sequência de dados do fluxo de bits ilustrada na figura 34. Na figura 36, a sinalização de identificação de compartilhamento - modo de predição inter 123 é multiplexada não como uma sinalização no nível de macrobloco, mas como uma sinalização posicionada na camada de dados de ordem superior tal como a fatia, a imagem, ou a sequência. Em decorrência disso, quando uma eficiência de predição suficientemente alta é garantida pela comutação na camada de ordem superior maior ou igual à fatia, bits de cabeçalho podem ser reduzidos sem multiplexar a sinalização de identificação de compartilhamento - modo de predição inter 123 no nível de macrobloco para cada vez.
[00205] Nas figuras 34 e 36, a sinalização de identificação de compartilhamento - modo de predição inter 123 é multiplexada para cada macrobloco ou na camada de dados de ordem superior tal como a fatia, a imagem ou a sequência. Quando a imagem de vídeo no formato 4: 4: 4 é codificada sem multiplexar a sinalização de identificação de compartilhamento - modo de predição inter 123, o modo de predição inter e a informação de vetor de movimento diferente para cada componente podem sempre ser usados. Uma sequência dos dados de fluxo de bits neste caso é ilustrada na figura 37. Na figura 37, a sinalização de identificação de compartilhamento - modo de predição inter 123 não está presente. Em vez disso, a informação do perfil 136 que instrui o manuseio de uma imagem de entrada no formato 4: 4: 4 é multiplexada na camada de ordem superior tal como a sequência. Com base no resultado de decodificação da informação do perfil, o tipo de macrobloco estendido 130, o subtipo de macrobloco estendido 131, o número de identificação da imagem de referência estendido 134 e a informação de vetor de movimento estendido 135 são multiplexados. Oitava modalidade
[00206] Na sétima modalidade da presente invenção, cada do tipo de macrobloco/subtipo de macrobloco, do vetor de movimento e da imagem de referência pode ser estabelecido diferente para cada um dos componentes de cor. A oitava modalidade da presente invenção descreve um dispositivo de codificação de vídeo e um dispositivo de decodificação de vídeo, que são caracterizados em que o tipo de macrobloco/subtipo de macrobloco e o vetor de movimento comum aos componentes de cor são usados, enquanto apenas um vetor de movimento a ser usado pode ser diferente para cada um dos componentes de cor. As configurações do dispositivo de codificação de vídeo e do dispositivo de decodificação de vídeo na oitava modalidade são as mesmas daquelas ilustradas nas figuras 30 e 31 na sétima modalidade da invenção, mas uma diferença baseia-se no fato de que uma sinalização de identificação de compartilhamento com o vetor de movimento 123b é provida no lugar da sinalização de identificação de compartilhamento - modo de predição inter 123.
1. Processo de determinação do modo de predição inter no dispositivo de codificação
[00207] Um processo de determinação do modo de predição inter que é um recurso do dispositivo de codificação na oitava modalidade da presente invenção será descrito com detalhes basicamente para uma parte diferente do processo de determinação do modo de predição inter na sétima modalidade da invenção.
[00208] Este processo é implementado com base no macrobloco, cada macrobloco sendo obtido agrupando-se os três componentes de cor supramencionados, basicamente pela unidade de predição de compensação do movimento 102 e pela unidade de determinação do modo de codificação 5 no dispositivo de codificação da figura 30. A figura 38 é um fluxograma ilustrando um fluxo deste processo. A seguir, dados de imagem dos três componentes de cor que constituem os blocos são referidos como C0, Cie C2, respectivamente.
[00209] Primeiramente, a unidade de determinação do modo de codificação 5 recebe a sinalização de identificação de compartilhamento com o vetor de movimento 123b para determinar, com base em um valor da sinalização 123b, se usa ou não o vetor de movimento 137 comum a C0, Cie C2 (Etapa S120 na figura 38). Se o vetor de movimento 137 comum a C0, Cl e C2 for usado, o processo vai para a etapa SI21 e as etapas seguintes. Caso contrário, o processo vai para a etapa S122 e as etapas seguintes.
[00210] Quando o vetor de movimento 137 comum a C0, Cl e C2 é usado, a unidade de determinação do modo de codificação 5 notifica a unidade de predição de compensação do movimento 102 de todos os modos de predição inter, vetores de movimento na faixa de busca e imagens de referência selecionáveis. A unidade de predição de compensação do movimento 102 avalia todas as suas eficiências de predição para selecionar o modo de predição inter, o vetor de movimento 137 e a imagem de referência, que são comuns e ideais para CO, Cl e C2 (Etapa S121).
[00211] Quando o melhor vetor de movimento é selecionado para cada CO, Cl e C2 sem usar o vetor de movimento 137 comum a CO, Cl e C2, a unidade de determinação do modo de codificação 5 notifica a unidade de predição de compensação do movimento 102 de todos os modos de predição inter, vetores de movimento na faixa de busca e imagens de referência selecionáveis. A unidade de predição de compensação do movimento 102 avalia todas as suas eficiências de predição para selecionar o modo de predição inter e a imagem de referência comuns e ideais para CO, Cl e C2 (Etapa S122). Adicionalmente, o vetor de movimento ideal para o componente Ci (i<=0<3) é selecionado (Etapas S123, S124 e S125).
[00212] A sinalização de identificação de compartilhamento com o vetor de movimento 123b precisa ser multiplexada no fluxo de bits para ser reconhecida pelo dispositivo de decodificação. Uma sequência de dados de um fluxo de bits como este é ilustrado na figura 39.
[00213] A figura 39 ilustra uma sequência de dados do fluxo de bits no nível de macrobloco. Um tipo de macrobloco 128b, um subtipo de macrobloco 129b, e um número de identificação da imagem de referência 132b são “comuns a CO, Cl e C2”. A informação de vetor de movimento básico 133 indica informação de vetor de movimento comum quando a sinalização de identificação de compartilhamento com o vetor de movimento 123b indica “comum a CO, Cl e C2”. Caso contrário, a informação de vetor de movimento básico 133 indica a informação de vetor de movimento para C0. A informação de vetor de movimento estendido 135 é multiplexada para cada Cl e C2 para indicar a informação de vetor de movimento para cada Cl e C2 apenas quando a sinalização de identificação de compartilhamento com o vetor de movimento 123b não for “comum a C0, Cl e C2”. O tipo de macrobloco/subtipo de macrobloco 106 nas figuras 30 e 31 é um designação coletiva do tipo de macrobloco 128b e do subtipo de macrobloco 129b na figura 39.
2. Processo de decodificação de predição inter no dispositivo de decodificação
[00214] O dispositivo de decodificação na oitava modalidade da presente invenção recebe o fluxo de vídeo 22 de acordo com a sequência ilustrada na figura 39, que é produzida pelo dispositivo de codificação da oitava modalidade da invenção, e realiza um processo de decodificação com base no macrobloco, cada macrobloco sendo composto de três componentes de cor do mesmo tamanho (no formato 4: 4: 4), para restaurar cada quadro de vídeo.
[00215] Um processo de geração de imagem de predição inter que é um recurso do dispositivo de decodificação na oitava modalidade da presente invenção será descrito com detalhes basicamente para uma parte do processo diferente da sétima modalidade da presente invenção. Este processo é implementado com base no macrobloco, cada macrobloco sendo obtido agrupando-se os três componentes de cor supradescritos, e é basicamente realizado pela unidade de decodificação de comprimento variável 25 e pela unidade de predição de compensação do movimento 102 no dispositivo de decodificação ilustrados na figura 31. A figura 40 é um fluxograma ilustrando um fluxo de uma parte do processo de geração de imagem de predição inter, que é implementado na unidade de decodificação de comprimento variável 25.
[00216] Considera-se que a sequência de dados do fluxo de vídeo 22 que é alimentada na unidade de decodificação de comprimento variável 25 é a ilustrada na figura 39. Na etapa SI26, o tipo de macrobloco 128b ou o subtipo de macrobloco 129b comum a C0, Cl e C2 é decodificado. Uma vez que o tipo de macrobloco 128b ou subtipo de macrobloco 129b decodificado determina o tamanho de bloco servindo como a unidade de compensação de movimento, o número de identificação da imagem de referência 132b comum a CO, Cl e C2 é decodificado para cada bloco servindo como a unidade de compensação de movimento (Etapa SI27). Na etapa SI28, a sinalização de identificação de compartilhamento com o vetor de movimento 123b é decodificada. Em seguida, a informação de vetor de movimento básico 133 é decodificada para cada bloco servindo como a unidade de compensação de movimento (Etapa SI29). Na etapa SI30, o resultado da sinalização de identificação de compartilhamento com o vetor de movimento 123b é usado para determinar se deve ou não usar o vetor de movimento 137 comum a CO, Cie C2. Quando o vetor de movimento comum 137 é usado (Sim, na etapa SI30), a informação de vetor de movimento básico é usada para todos CO, Cl e C2. Caso contrário (não, na etapa SI30), o vetor de movimento básico 133 é usado como o modo para CO. Adicionalmente, a informação de vetor de movimento estendido 135 é decodificada para cada Cl e C2 (Etapa S131). Por meio do processo supramencionado, o tipo de macrobloco/subtipo de macrobloco 106, o número de identificação da imagem de referência e a informação de vetor de movimento são determinados para cada um dos componentes de cor. Portanto, o tipo de macrobloco/subtipo de macrobloco 106, número de identificação da imagem de referência e informação de vetor de movimento determinados são enviados à unidade de predição de compensação do movimento 102 para obter a imagem preditiva de compensação de movimento de cada um dos componentes de cor.
[00217] A figura 41 ilustra uma variação da sequência de dados do fluxo de bits ilustrada na figura 39. Na figura 39, a sinalização de identificação de compartilhamento com o vetor de movimento 123b é multiplexada não como uma sinalização no nível de macrobloco, mas como uma sinalização posicionada na camada de dados de ordem superior tais como a fatia, a imagem ou a sequência. Em decorrência disso, quando uma eficiência de predição suficientemente alta pode ser garantida comutando a camada de ordem superior maior ou igual à camada de fatia, bits de cabeçalho podem ser reduzidos sem multiplexar a sinalização de identificação de compartilhamento com o vetor de movimento 123b no nível de macrobloco para cada macrobloco.
[00218] Nas figuras 39 e 41, a sinalização de identificação de compartilhamento com o vetor de movimento 123b é multiplexada para cada macrobloco ou na camada de dados de ordem superior, tais como a fatia, a imagem ou a sequência. Alternativamente, em codificação a imagem de vídeo no formato 4: 4: 4 sem multiplexar a sinalização de identificação de compartilhamento com o vetor de movimento 123b, informação de vetor de movimento diferente pode sempre ser usada para cada componente. Uma sequência dos dados de fluxo de bits em um caso desses é ilustrada na figura 42. Na figura 42, a sinalização de identificação de compartilhamento com o vetor de movimento 123b não está presente. A informação do perfil 136 que instrui o manuseio de uma imagem de entrada no formato 4: 4: 4 é multiplexada na camada de ordem superior tal como a camada de sequência. Com base no resultado de decodificação da informação do perfil 136, a informação de vetor de movimento estendido 135 é multiplexada.
[00219] Na oitava modalidade da presente invenção, o tipo de macrobloco/subtipo de macrobloco 106 e a imagem de referência comum aos componentes de cor são usados, ao passo que apenas os vetores de movimento diferente 137 podem ser usados para cada um dos componentes de cor. Em decorrência disso, quando uma eficiência de predição suficientemente alta é obtida adaptando-se apenas o vetor de movimento 137 a cada um dos componentes de cor, bits de cabeçalho podem ser reduzidos sem multiplexar o tipo de macrobloco/subtipo de macrobloco 106 ou o número de identificação da imagem de referência para cada um dos componentes de cor.
Nona modalidade
[00220] Na sétima modalidade da presente invenção, a sinalização de identificação de compartilhamento - modo de predição inter 123 ou a informação do perfil 136 permitem a comutação entre o uso comum de cada um do tipo de macrobloco/subtipo de macrobloco 106, do vetor de movimento 137 e da imagem de referência para os três componentes de cor, ou o uso de cada um do tipo de macrobloco/subtipo de macrobloco 106, do vetor de movimento 137 e da imagem de referência diferente para cada um dos componentes de cor. Na nona modalidade da presente invenção, considerando-se a imagem no formato 4: 4: 4 tal como no formato Y, Cb e Cr, a comutação é habilitada entre o uso de um modo comum para o componente de luminância (Y) e os componentes de crominância (Cb e Cr) e o uso de diferentes modos para o componente de luminância e os componentes de crominância (neste caso, o modo comum é usado para os dois componentes de crominância). Especificamente, serão descritos um dispositivo de codificação de vídeo e um dispositivo de decodificação de vídeo que são caracterizados em que a comutação é habilitada entre o uso de um modo comum para os três componentes, o uso de um modo diferente para cada um dos componentes, e o uso de modos diferentes para o componente de luminância e os componentes de crominância. As configurações do dispositivo de codificação de vídeo e do dispositivo de decodificação de vídeo na nona modalidade da invenção são as mesmas daqueles ilustradas nas figuras 30 e 31 na sétima modalidade da invenção.
1. Processo de determinação do modo de predição inter no dispositivo de codificação
[00221] Um processo de determinação do modo de predição inter que é um recurso do dispositivo de codificação na nona modalidade da presente invenção será descrito com detalhes, basicamente para uma parte diferente do processo de determinação do modo de predição inter na sétima modalidade da presente invenção.
[00222] Este processo é implementado com base no macrobloco, cada macrobloco sendo obtido agrupando-se os três componentes de cor supramencionados, e é realizado basicamente pela unidade de predição de compensação do movimento 102 e pela unidade de determinação do modo de codificação 5 no dispositivo de codificação na figura 30. A figura 43 é um fluxograma ilustrando um fluxo deste processo. A seguir, dados de imagem dos três componentes de cor que constituem os blocos são referidos como CO, Cie C2, respectivamente.
[00223] Primeiramente, a unidade de determinação do modo de codificação 5 recebe a sinalização de identificação de compartilhamento - modo de predição inter 123 para determinar, com base em um valor da sinalização 123, se usa ou não o modo de predição inter, o vetor de movimento 137 e a imagem de referência que são comuns a CO, Cl e C2 (Etapa SI32 na figura 43). Se o modo de predição inter, o vetor de movimento 137 e a imagem de referência que são comuns a CO, Cl e C2 forem usados, o processo vai para a etapa SI33 e as etapas seguintes. Caso contrário, o processo vai para a etapa SI 34 e as etapas seguintes ou etapa S137 e as etapas seguintes.
[00224] Quando o modo de predição inter, o vetor de movimento 137 e a imagem de referência que são comuns a C0, Cl e C2 são usados, a unidade de determinação do modo de codificação 5 notifica a unidade de predição de compensação do movimento 102 de todos os modos de predição inter, vetores de movimento na faixa de busca e imagens de referência selecionáveis. A unidade de predição de compensação do movimento 102 avalia todas as suas eficiências de predição para selecionar o modo ideal de predição inter, vetor de movimento 137 e imagem de referência comum a C0, Cl e C2(Etapa S133).
[00225] Quando o melhor modo é selecionado para cada um dos componentes de cor C0, C1 e C2 sem usar o modo de predição inter, o vetor de movimento 137 e a imagem de referência comum a C0, Cl e C2, a unidade de determinação do modo de codificação 5 notifica a unidade de predição de compensação do movimento 102 de todos os modos de predição inter, os vetores de movimento na faixa de busca e as imagens de referência selecionáveis para o componente Ci (i<=0<3). A unidade de predição de compensação do movimento 102 avalia todas as suas eficiências de predição para selecionar o modo de predição inter, vetor de movimento 137 e imagem de referência ideais para o componente Ci (i<=0<3) (Etapas SI34, SI35 e S136).
[00226] Quando o modo de predição inter, o vetor de movimento 137 e a imagem de referência comum a Cl e C2 são usados para selecionar o melhor modo para CO (correspondente ao componente de luminância) e para Cl e C2 (correspondentes aos componentes de crominância), a unidade de determinação do modo de codificação 5 notifica a unidade de predição de compensação do movimento 102 de todos os modos de predição inter, os vetores de movimento na faixa de busca e as imagens de referência selecionáveis para o componente C0. A unidade de predição de compensação do movimento 102 avalia todas as suas eficiências de predição para selecionar o modo de predição inter, o vetor de movimento 137 e a imagem de referência ideais para o componente C0 (Etapa SI37). Adicionalmente, a unidade de determinação do modo de codificação 5 notifica a unidade de predição de compensação do movimento 102 de todos os modos de predição inter, os vetores de movimento na faixa de busca e as imagens de referência selecionáveis para os componentes Cl e C2. A unidade de predição de compensação do movimento 102 avalia todas as suas eficiências de predição para selecionar o modo de predição inter, o vetor de movimento 137 e a imagem de referência, que são comuns e ideais para os componentes Cl e C2 (Etapa SI 38).
[00227] Uma sequência de dados da saída de fluxo de bits do dispositivo de codificação na nona modalidade da presente invenção é a mesma da ilustrada na figura 34. Quando a sinalização de identificação de compartilhamento - modo de predição inter 123 indica que o modo é “comum a Cl e C2”, o tipo de macrobloco estendido 130, o subtipo de macrobloco estendido 131, o número de identificação de referência estendido 134 e a informação de vetor de movimento estendido 135 são informação comum a Cl eC2.
2. Processo de decodificação de predição inter no dispositivo de decodificação
[00228] O dispositivo de decodificação na nona modalidade da presente invenção recebe o fluxo de vídeo 22 de acordo com a sequência ilustrada na figura 34, que é produzida pelo dispositivo de codificação na nona modalidade da presente invenção e realiza um processo de decodificação com base no macrobloco, cada macrobloco sendo composto de três componentes de cor do mesmo tamanho (no formato 4: 4: 4), para restaurar cada quadro de vídeo.
[00229] Um processo de geração de imagem de predição inter que é um recurso do dispositivo de decodificação na nona modalidade da presente invenção será descrito com detalhes basicamente para uma parte do processo diferente da sétima modalidade da presente invenção. Este processo é implementado com base no macrobloco, cada macrobloco sendo obtido agrupando-se os três componentes de cor supradescritos, e é basicamente realizado pela unidade de decodificação de comprimento variável 25 e pela unidade de predição de compensação do movimento 102 no dispositivo de decodificação ilustrado na figura 31. A figura 44 é um fluxograma ilustrando um fluxo de uma parte do processo de geração de imagem de predição inter, que é implementado na unidade de decodificação de comprimento variável 25.
[00230] Considera-se que o fluxo de vídeo 22 que é alimentado na unidade de decodificação de comprimento variável 25 segue a sequência de dados ilustrada na figura 34. Na etapa S140, a sinalização de identificação de compartilhamento - modo de predição inter 123 nos dados ilustrados na figura 34 é decodificada (Etapa S140). Adicionalmente, o tipo de macrobloco básico 128 e o subtipo de macrobloco básico 129 são decodificados (Etapa S141). Na etapa SI 42, o resultado da sinalização de identificação de compartilhamento - modo de predição inter 123 é usado para determinar se deve ou não usar o modo de predição inter comum a CO, Cie C2. Quando o modo de predição inter comum a CO, Cl e C2 é usado, o tipo de macrobloco básico 128 e o subtipo de macrobloco básico 129 são usados para todos os componentes de cor CO, Cie C2. Caso contrário, o tipo de macrobloco básico 128 e o subtipo de macrobloco básico 129 são usados como o modo para CO. Adicionalmente, quando o modo de predição inter é comum a Cl e C2, o tipo de macrobloco estendido 130 e o subtipo de macrobloco estendido 131 comum aos componentes Cl e C2 são decodificados (Etapa S143). Quando modos diferentes são usados para os componentes de cor CO, Cl e C2, o tipo de macrobloco estendido 130 e o subtipo de macrobloco estendido 131 são decodificados para cada Cl e C2 (Etapas SI44, SI45 e S146) para obter informação do modo de cada de Cl e C2. Em seguida o número de identificação da imagem de referência básica 132 e a informação de vetor de movimento básico 133 são decodificados (Etapa SI47). Quando a identificação de compartilhamento com o modo de predição inter 123 indica que o modo de predição inter é “comum a CO, Cl e C2”, o número de identificação da imagem de referência básica 132 e a informação de vetor de movimento básico 133 são usados para todos os componentes de cor CO, Cie C2. Caso contrário, o número de identificação da imagem de referência básica 132 e a informação de vetor de movimento básico 133 são usados como informação para CO. Adicionalmente, quando o modo de predição inter é comum a Cl e C2, o número de identificação da imagem de referência estendido 134 e a informação de vetor de movimento estendido 135 comuns aos componentes Cl e C2 são decodificados (Etapa S149). Quando modos diferentes são usados para cada CO, Cl e C2, o número de identificação da imagem de referência estendido 134 e a informação de vetor de movimento estendido 135 são decodificados para cada Cl e C2 (Etapas S150, S151 e S152). Uma vez que o tipo de macrobloco/subtipo de macrobloco 106, o número de identificação da imagem de referência e a informação de vetor de movimento são determinados para cada um dos componentes de cor por meio do processo supramencionado, o tipo de macrobloco/subtipo de macrobloco 106, número de identificação da imagem de referência e informação de vetor de movimento determinados são enviados à unidade de predição de compensação do movimento 102 para obter uma imagem preditiva de compensação de movimento de cada um dos componentes de cor.
[00231] Como no caso da sequência de dados do fluxo de bits ilustrada na figura 36, quando a sinalização de identificação de compartilhamento - modo de predição inter 123 indica que o modo de predição inter é “comum a Cl e C2”, o tipo de macrobloco estendido 130, o subtipo de macrobloco estendido 131, o número de identificação de referência estendido 134 e a informação de vetor de movimento estendido 135 são informação comum a Cie C2. As operações do dispositivo de codificação de vídeo e do dispositivo de decodificação de vídeo, que recebem como uma entrada e saída o fluxo de vídeo de acordo com a sequência de dados ilustrada na figura 36, são os mesmos daqueles no caso da figura 34.
[00232] Na nona modalidade da presente invenção, cada do tipo de macrobloco/subtipo de macrobloco 106, do vetor de movimento 137 e da imagem de referência pode ser estabelecido diferente para cada um dos componentes de cor. Alternativamente, o tipo de macrobloco/subtipo de macrobloco 106 e a imagem de referência comum aos componentes de cor são usados, ao mesmo tempo em que a comutação é permitida entre o uso do vetor de movimento 137 comum aos três componentes, o uso do vetor de movimento 137 diferente para cada um dos componentes, e o uso do ideal vetor de movimento 137 comum a Cl e C2 e para CO. A sequência de dados do fluxo de bits neste caso segue a ilustrada na figura 39 ou 41. Mesmo neste caso, quando a sinalização de identificação de compartilhamento - modo de predição inter 123 indica que o modo de predição inter é “comum a Cl e C2”, a informação de vetor de movimento estendido 135 é comum a Cl e C2.
Décima Modalidade
[00233] Na décima modalidade, serão descritos um método de codificar o vetor de movimento de entrada 137 na unidade de codificação de comprimento variável 11 do dispositivo de codificação descrito na sétima modalidade da presente invenção e então multiplexar o vetor de movimento codificado 137 no fluxo de bits, e um método de decodificar o vetor de movimento 137 do fluxo de bits na unidade de decodificação de comprimento variável 25 do dispositivo de decodificação correspondente.
[00234] A figura 45 ilustra uma configuração de uma unidade de codificação de vetor de movimento para codificar o vetor de movimento 137, que corresponde a uma parte da unidade de codificação de comprimento variável 11 do dispositivo de codificação ilustrado na figura 30.
[00235] Um método de multiplexar os vetores de movimento 137 dos três componentes de cor (C0, Cie C2) no fluxo de bits na ordem de C0, Cie C2 será descrito.
[00236] O vetor de movimento 137 de C0 é denotado por mvO. Em uma unidade de predição de vetor de movimento 111, um vetor de predição (mvpO) do vetor de movimento 137 de C0 é obtido. Conforme ilustrado nas figuras 46, vetores de movimento (mvAO, mvBO e mvCO) dos blocos vizinhos (blocos A, B, e C das figuras 46) do bloco em que o vetor de movimento (mvO) a ser codificado é localizado são obtidos a partir das memórias. Considera-se que os vetores de movimento 137 dos blocos A, B e C já foram multiplexados no fluxo de bits. Um valor mediano de mvAO, mvBO e mvCO é calculado como mvpO. O vetor de predição calculado mvpO e o vetor de movimento mvO a ser codificados são alimentados a uma unidade de codificação de comprimento variável do vetor de movimento da diferença 112. A unidade de codificação de comprimento variável do vetor de movimento da diferença 112 calcula um vetor de diferença (mvdO) entre mvO e mvpO. O vetor de diferença calculado mvdO é alimentado a uma unidade de codificação de comprimento variável do vetor de movimento da diferença 113 para ser codificado pela entropia por meios tais como codificação de Huffman ou codificação aritmética.
[00237] Em seguida, um vetor de movimento (mvl) de Cl é codificado. Na unidade de predição de vetor de movimento 111, um vetor de predição (mvpl) do vetor de movimento 137 de Cl é obtido. Conforme ilustrado nas figuras 46, vetores de movimento (mvAl, mvBl e mvCl) dos blocos vizinhos do bloco em que o vetor de movimento (mvl) a ser codificado está localizado e o vetor de movimento (mvO) de CO na mesma posição do bloco em que mvl está localizado são obtidos das memórias 16. Considera-se que os vetores de movimento 137 dos blocos A, B e C já foram multiplexados no fluxo de bits. Um valor mediano de mvAl, mvBl, mvCl e mvO é calculado como mvpl. O vetor de predição calculado mvpl e o vetor de movimento mvl a ser codificado são alimentados na unidade de cálculo do vetor de diferença de movimento 112 para calcular um vetor de diferença de movimento (mvdl=mvl-mvpl) entre mvl e mvpl. O mvdl calculado é alimentado na unidade de codificação de comprimento variável do vetor de movimento da diferença 113 a ser codificado pela entropia por meios tais como codificação de Huffman ou codificação aritmética.
[00238] Em seguida, um vetor de movimento (mv2) de C2 é codificado. Na unidade de predição de vetor de movimento 111, um vetor de predição (mvp2) do vetor de movimento 137 de C2 é obtido. Conforme ilustrado nas figuras 46, vetores de movimento (mvA2, mvB2 e mvC2) dos blocos vizinhos do bloco em que o vetor de movimento (mv2) a ser codificado está localizado e os vetores de movimento (mvl e mv2) de CO e Cl na mesma posição do bloco em que mv2 está localizado são obtidos das memórias 16. Um valor mediano de mvA2, mvB2, mvC2, mvO e mvl é calculado como mvp2. O vetor de predição calculado mvp2 e o vetor de movimento mv2 a ser codificados são alimentados na unidade de cálculo do vetor de diferença de movimento 112 para calcular um vetor de diferença de movimento (mvd2=mv2-mvp2) entre mv2 e mvp2. O mvd2 calculado é alimentado na unidade de codificação de comprimento variável do vetor de movimento da diferença 113 para ser codificado pela entropia por meios tais como codificação de Huffman ou codificação aritmética.
[00239] A figura 47 ilustra uma configuração de uma unidade de decodificação de vetor de movimento 250 para decodificar o vetor de movimento 137, que corresponde a uma parte da unidade de decodificação de comprimento variável 25 do dispositivo de decodificação ilustrada na figura 31.
[00240] A unidade de decodificação de vetor de movimento 250 decodifica os vetores de movimento 137 dos três componentes de cor multiplexadas no fluxo de vídeo 22 na ordem de CO, Cl e C2.
[00241] Uma diferença unidade de decodificação de vetor de movimento de comprimento variável 251 extrai os vetores de movimento de diferenças (mvdO, mvdl e mvd2) dos três componentes de cor (CO, Cl e C2) multiplexados no fluxo de vídeo 22 para realizar decodificação de comprimento variável nos vetores de movimento de diferenças extraídos.
[00242] Uma unidade de predição de vetor de movimento 252 calcula a vetores de predição (mvpO, mvpl e mvp2) dos vetores de movimento 137 de C0, Cl e C2. Um método de calcular os vetores de predição é o mesmo daquele realizada na unidade de predição de vetor de movimento 111 do dispositivo de codificação.
[00243] Em seguida uma unidade de cálculo do vetor de movimento 253 soma o vetor de diferença de movimento e seu vetor de predição para calcular o vetor de movimento (mvi=mvdi+mvpi (i=0,l, ou 2)). O vetor de movimento calculado 137 é armazenado nas memórias 16 para ser usado como um vetor de predição candidato.
[00244] De acordo com esta décima modalidade, na codificação e decodificação do vetor de movimento, os vetores de movimento dos blocos do mesmo componente de cor, que são vizinhos do bloco em que o vetor de movimento a ser codificado está localizado e os vetores de movimento dos blocos dos diferentes componentes de cor na mesma posição do bloco em que o vetor de movimento a ser codificado está localizado são usados como os vetores de predição candidatos. Portanto, quando o vetor de movimento não tem continuidade com os vetores de movimento dos blocos vizinhos no mesmo componente de cor em uma área limite de um objeto ou similares, o efeito de melhorar a eficiência de predição do vetor de movimento para reduzir a quantidade de códigos do vetor de movimento pode ser obtido usando os vetores de movimento dos blocos das diferentes cores na mesma posição dos vetores de predição candidatos.
Décima primeira modalidade
[00245] Na décima primeira modalidade, será descrita uma modalidade de um outro dispositivo de codificação e de um outro dispositivo de decodificação que deriva do dispositivo de codificação e do dispositivo de decodificação descritos na sétima modalidade da presente invenção. O dispositivo de codificação e o dispositivo de decodificação de acordo com a décima primeira modalidade determinam, com base em um sinal de controle pré-determinado, se os componentes de cor C0, Cl e C2 no macrobloco são ou não codificados de acordo com informação de cabeçalho individual, e multiplexam informação do sinal de controle no fluxo de vídeo 22. O dispositivo de codificação e o dispositivo de decodificação de acordo com a décima primeira modalidade são caracterizados em que é fornecido meio de multiplexar a informação de cabeçalho exigida para decodificar componentes CO, Cl e C2 no fluxo de vídeo com base no sinal de controle e codificar eficientemente um macrobloco saltado (ou não codificado) quando não existe vetor de movimento ou coeficiente de transformação a ser transmitido com base no sinal de controle.
[00246] Nos métodos de codificação de vídeo MPEG convencionais incluindo AVC, codificação altamente eficiente com uma mínima quantidade de códigos de um macrobloco a ser codificada é realizada particularmente sinalizando-se um caso onde não existe informação codificada a ser transmitida para o macrobloco a ser codificado. Por exemplo, na codificação de um certo macrobloco, quando dados de imagem exatamente na mesma posição na imagem de referência usada para predição de compensação do movimento são usados como uma imagem predita (especificamente, o vetor de movimento é zero) e todos os coeficientes de transformação quantizados no macrobloco tornam-se zero em decorrência da transformação e quantização do sinal de erro de predição obtido, uma amplitude do sinal de erro de predição obtido é zero, mesmo se o dispositivo de decodificação realizar quantização inversa. Portanto, não existem dados de coeficiente de transformação a ser transmitidos ao dispositivo de decodificação. Além do mais, em consideração à suposição de que o vetor de movimento é zero, um tipo de macrobloco específico que “o vetor de movimento é zero e nenhum dado da transformação” pode ser definido. Um macrobloco como esse é convencionalmente referido como macrobloco saltado ou macrobloco não codificado. O macrobloco saltado é particularmente sinalizado para não transmitir informação desnecessária. No AVC, o vetor de movimento é determinado para as condições de que “a predição 16 x 16 da figura 32A é realizada e os valores de predição (correspondentes aos vetores de predição mvpO, mvpl e mvp2) usados para codificar vetores de movimento são iguais aos vetores de movimento reais”. Se um macrobloco satisfizer as condições supramencionadas e não existirem dados de coeficiente de transformação a ser transmitidos, o macrobloco é considerado um macrobloco saltado. No AVC convencional, em codificação o macrobloco saltado, qualquer um dos dois métodos seguintes deve ser selecionado de acordo com o método de codificação de comprimento variável empregado.
[00247] Método 1: o número de macroblocos saltados (comprimento RUN) contíguo em uma fatia é contado para realizar codificação de comprimento variável no comprimento RUN.
[00248] Método 2: uma indicação de sinalização indicando se o macrobloco é ou não um macrobloco saltado é codificada para cada macrobloco.
[00249] Sintaxes de fluxo de bits de acordo com os respectivos métodos são ilustrados nas figuras 48A e 48B. A figura 48A ilustra o caso onde codificação adaptativa de Huffman é usado como o método de codificação de comprimento variável (método 1), e a figura 48B ilustra o caso onde codificação aritmética adaptativa é usada (método 2). Um macrobloco saltado é sinalizado mb_skip_run no método 1 e por mb_skip_flag no método 2. Dados codificados do n-ésimo (não saltado) macrobloco é denotado por MB(n). Deve-se notar aqui que mb_skip_run ou mb_skip_flag é alocado para um macrobloco obtido agrupando-se os componentes CO, C1 e C2 como uma unidade.
[00250] Por outro lado, no dispositivo de codificação e dispositivo de decodificação de acordo com a décima primeira modalidade, é fornecido um método de trocar informação de cabeçalho incluindo o vetor de movimento e similares para cada um dos componentes CO, Cl e C2 de acordo com o estado do sinal de controle supramencionado, especificamente, um sinal correspondente à sinalização de identificação de compartilhamento - modo de predição inter 123 descrito na sétima modalidade da presente invenção, para sinalizar um macrobloco saltado para cada um dos componentes CO, Cie C2. Exemplos específicos da sintaxe do fluxo de bits são ilustrados nas figuras 49 e 50.
[00251] A figura 49 ilustra uma configuração de dados de codificação de macrobloco, que são produzidos pelo dispositivo de codificação de acordo com a décima primeira modalidade a ser alimentados no dispositivo de decodificação de acordo com a décima primeira modalidade, e a figura 50 ilustra uma configuração detalhada de dados de codificação em informação de cabeçalho do componente Cn ilustrado na figura 49. A seguir, para a descrição do efeito desta configuração de fluxo de bits, será descrita basicamente uma operação do dispositivo de decodificação para receber o fluxo de bits para restaurar o sinal de vídeo. Para a descrição da operação do dispositivo de decodificação, a figura 31 é referida.
[00252] A definição da sinalização de identificação de compartilhamento - modo de predição inter 123 na sétima modalidade da presente invenção é estendida para ser representada como uma sinalização de identificação de compartilhamento com cabeçalho do macrobloco 123c. A sinalização de identificação de compartilhamento com cabeçalho do macrobloco 123c considera informação de cabeçalho do componente C0 139a as informação de cabeçalho de macrobloco básica para instruir a multiplexação apenas da informação de cabeçalho do componente C0 139a como informação de cabeçalho normalmente usada para os componentes Cie C2 ou para multiplexação individual de cada de informação de cabeçalho do componente Cl 139b e da informação de cabeçalho do componente C2 139c como informação de cabeçalho estendida. A sinalização de identificação de compartilhamento com cabeçalho do macrobloco 123c é extraída do fluxo de vídeo 22 e decodificada pela unidade de decodificação de comprimento variável 25. Quando a sinalização 123c instrui a multiplexação da informação de cabeçalho do componente C0 139a sozinha como informação de cabeçalho normalmente usada para os componentes Cie C2, todos os componentes CO, Cl e C2 no macrobloco são decodificados usando a informação de cabeçalho do componente CO 139a. Quando a sinalização 123c instrui a multiplexação individual de cada da informação de cabeçalho do componente Cl 139b e da informação de cabeçalho do componente C2 139c como informação de cabeçalho estendida, a decodificação é realizada usando a informação de cabeçalho 139a a 139c própria para os respectivos componentes de cor CO, Cl e C2 no macrobloco. A seguir, esta consideração será descrito com adicionalmente com detalhes como um processo implementado com base no macrobloco.
1. Multiplexação da informação de cabeçalho do componente CO sozinho
[00253] Quando a sinalização de identificação de compartilhamento com cabeçalho do macrobloco 123c indica a multiplexação da informação de cabeçalho do componente CO 139a sozinha como informação de cabeçalho normalmente usada para os componentes Cl e C2, o macrobloco é decodificado para todos os componentes CO, Cl e C2 com base em várias informações de cabeçalho de macrobloco contidas na informação de cabeçalho do componente CO 139a. Neste caso, uma vez que informação de instrução de salto do componente CO 138a e a informação de cabeçalho do componente CO 139a são normalmente usadas para os componentes Cl e C2, informação de instrução de salto (138b e 138c) e informação de cabeçalho (139b e 139c) para os componentes Cl e C2 não são multiplexadas no fluxo de bits.
[00254] A unidade de decodificação de comprimento variável 25 primeiro decodifica e avalia a informação de instrução de salto do componente CO 138a. Quando a informação de instrução de salto do componente CO 138a indica “saltar”, a informação de cabeçalho do componente CO 139a é considerada não codificada e a informação de indicação de validade do coeficiente de transformação 142 na informação de cabeçalho do componente CO 139a é considerada zero (nenhum coeficiente de transformação codificado). Em decorrência disso, dados de coeficiente de transformação do componente CO, dados de coeficiente de transformação do componente Cl, e dados de coeficiente de transformação do componente C2 (140a a 140c) são todos considerados não codificados. Portanto, todos os coeficientes de transformação quantizados 10 no macrobloco saem como zero. Adicionalmente, de acordo com a definição do macrobloco saltado, os vetores de movimento 137 de todos os componentes CO, Cl e C2 são estabelecidos no mesmo valor de saída.
[00255] Quando a informação de instrução de salto do componente C0 138a indica não “saltar”, a informação de cabeçalho do componente C0 139a é considerada presente e é decodificada. Quando o tipo de macrobloco 128b na informação de cabeçalho do componente C0 139a indica codificação intra, o modo de predição intra 141, a informação de indicação de validade do coeficiente de transformação 142 e (se a informação de indicação de validade do coeficiente de transformação 142 não for zero) o parâmetro de quantização são decodificados. Se a informação de indicação de validade do coeficiente de transformação 142 não for zero, os dados de coeficiente de transformação do componente C0, componente Cl e componente C2 (140a a 140c) são decodificados para sair na forma dos coeficientes de transformação quantizados 10. Se a informação de indicação de validade do coeficiente de transformação 142 for zero, os dados de coeficiente de transformação do componente C0, componente Cl e componente C2 (140a a 140c) são todos considerados zero. Então, todos os coeficientes de transformação quantizados 10 no macrobloco saem como zero. Quando o tipo de macrobloco 128b indica a codificação inter, o subtipo de macrobloco 129b é decodificado de acordo com a necessidade. Adicionalmente, o número de identificação da imagem de referência 132b, a informação de vetor de movimento 133b, a informação de indicação de validade do coeficiente de transformação 142, e (se a informação de indicação de validade do coeficiente de transformação 142 não for zero) o parâmetro de quantização 21 são decodificados. Se a informação de indicação de validade do coeficiente de transformação 142 não for zero, os dados de coeficiente de transformação do componente CO, componente Cl e componente C2 (140a a 140c) são decodificados para sair na forma dos coeficientes de transformação quantizados 10. Se a informação de indicação de validade do coeficiente de transformação 142 for zero, os dados de coeficiente de transformação do componente CO, componente Cl e componente C2 (140a a 140c) são todos considerados zero. Então, todos os coeficientes de transformação quantizados 10 no macrobloco saem como zero. A decodificação do macrobloco de acordo com um procedimento de processamento pré-determinado usando a saída da unidade de decodificação de comprimento variável 25 por meio da operação supramencionada é a mesma descrita na sétima modalidade da presente invenção.
2. Multiplexação de informação de cabeçalho correspondente para cada um dos componentes CO, Cl e C2
[00256] Quando a sinalização de identificação de compartilhamento com cabeçalho do macrobloco 123c indica a multiplexação de cada da informação de cabeçalho do componente Cl 139b e da informação de cabeçalho do componente C2 139c como informação de cabeçalho estendida independentemente da informação de cabeçalho do componente C0 139a, cada componente de cor imagem é decodificado com base em várias informações de cabeçalho de macrobloco contidas em cada da informação de cabeçalho correspondente (139a a 139c) para cada um dos componentes C0, Cl e C2. Neste caso, a informação de instrução de salto (138b e 138c) e a informação de cabeçalho (139b e 139c) para os componentes Cl e C2 são multiplexadas no fluxo de bits.
[00257] A unidade de decodificação de comprimento variável 25 primeiro decodifica e avalia a informação de instrução de salto do componente CO 138a. Quando a informação de instrução de salto do componente CO 138a indica “saltar”, a informação de cabeçalho do componente CO 139a é considerada codificada e a informação de indicação de validade do coeficiente de transformação 142 na informação de cabeçalho do componente CO 139a é considerada zero (nenhum coeficiente de transformação codificado). Em decorrência disso, os dados de coeficiente de transformação do componente CO 140a são considerados não codificados. Portanto, todos os coeficientes de transformação quantizados 10 no componente CO saem como zero (especificamente, um valor da sinalização de identificação de compartilhamento com cabeçalho do macrobloco 123c muda a relação entre a informação de instrução de salto do componente CO 138a e a informação de indicação de validade do coeficiente de transformação 142). Adicionalmente, o vetor de movimento 137 do componente CO é estabelecido de acordo com a definição no caso de o salto do componente CO ser produzido.
[00258] Quando a informação de instrução de salto do componente CO 138a indica não “saltar”, a informação de cabeçalho do componente CO 139a é considerada presente para ser decodificada. Quando o tipo de macrobloco 128b na informação de cabeçalho do componente CO 139a indica codificação intra, o modo de predição intra 141 (modo de predição de pixel espacial usando os pixels vizinhos do pixel a ser predito no quadro como um valor de predição), a informação de indicação de validade do coeficiente de transformação 142 e (se a informação de indicação de validade do coeficiente de transformação 142 não for zero) o parâmetro de quantização 21 são decodificados. Se a informação de indicação de validade do coeficiente de transformação 142 não for zero, os dados de coeficiente de transformação do componente CO são decodificados para sair na forma do coeficiente de transformação quantizado 10. Se a informação de indicação de validade do coeficiente de transformação 142 for zero, os dados de coeficiente de transformação do componente CO são todos zero. Quando o tipo de macrobloco indica a codificação inter, o subtipo de macrobloco é decodificado de acordo com a necessidade. Adicionalmente, o número de identificação da imagem de referência, a informação de vetor de movimento, a informação de indicação de validade do coeficiente de transformação 142 e (se a informação de indicação de validade do coeficiente de transformação 142 não for zero) o parâmetro de quantização são decodificados. Se a informação de indicação de validade do coeficiente de transformação 142 não for zero, os dados de coeficiente de transformação do componente CO são decodificados para sair na forma do coeficiente de transformação quantizado 10. Se a informação de indicação de validade do coeficiente de transformação 142 for zero, os dados de coeficiente de transformação do componente CO são todos considerados zero. O procedimento de processamento supramencionado é realizado da mesma maneira em Cl e C2.
[00259] A decodificação de cada um dos componentes CO, Cl e C2 no macrobloco de acordo com um procedimento de processamento pré- determinado usando a saída da unidade de decodificação de comprimento variável 25 por meio da operação supramencionada é a mesma descrita na sétima modalidade da presente invenção.
[00260] A operação no dispositivo de decodificação foi basicamente descrita. Configurando-se o fluxo de bits da maneira supradescrita, os efeitos seguintes são obtidos. Primeiramente, existe apenas um conjunto de informação de cabeçalho (figura 50) disponível para cada macrobloco no AVC convencional. A determinação intra/inter precisa ser realizada para um conjunto de todos os componentes CO a C2 de acordo com a informação de cabeçalho para implementar a codificação. Por outro lado, como no formato 4: 4: 4, para um caso onde um componente de sinal correspondente a um sinal de luminância que transmite os conteúdos do sinal de imagem é igualmente contido nos três componentes de cor, uma variação algumas vezes ocorre em características do sinal por causa da superposição de um ruído no sinal de vídeo de entrada para cada um dos componentes, ou similares. Portanto, a codificação coletiva de todos os componentes CO a C2 não é sempre ideal. Com a premissa das configurações de fluxo de bits nas figuras 49 e 50 de acordo com a décima primeira modalidade, pela sinalização de identificação de compartilhamento com cabeçalho do macrobloco 123c, o dispositivo de codificação pode selecionar o modo ideal de codificação (o tipo de macrobloco incluindo o tipo de codificação intra/inter), vetor de movimento e similares de acordo com a característica do sinal para cada um dos componentes de cor CO a C2 para implementar a codificação, melhorando assim a eficiência de codificação. Além do mais, uma vez que a codificação é convencionalmente realizada com base no macrobloco, cada macrobloco é obtido agrupando-se todos os componentes CO a C2. Portanto, salto e determinação são realizados na condição de que a informação codificada de que todos os componentes estão ausentes. Na décima primeira modalidade, entretanto, a presença/ausência da informação codificada é configurada para ser determinada com base na informação de instrução de salto 138 para cada componente. Portanto, para um caso onde apenas um certo componente tem que ser saltado enquanto os outros componentes não devem ser saltados, não é necessário determinar que todos os componentes não devem ser saltados. Dessa maneira, a quantidade de códigos pode ser alocada mais eficientemente. No dispositivo de codificação, o valor da informação de instrução de salto 138 é determinado na unidade de codificação de comprimento variável 11 de acordo com a definição do macrobloco saltado exclusivamente definido tanto para o dispositivo de codificação quanto para o dispositivo de decodificação conforme descrito neste parágrafo com base nos dados de coeficiente de transformação quantizado 10, no vetor de movimento 137, no número de identificação da imagem de referência 132b e no tipo de macrobloco/subtipo de macrobloco 106.
[00261] Note que o fluxo de bits tratado pelo dispositivo de codificação e pelo dispositivo de decodificação de acordo com a décima primeira modalidade pode ser configurado conforme ilustrado na figura 51. Neste exemplo, a informação de instrução de salto (138), a informação de cabeçalho (139a a 139c), e os dados de coeficiente de transformação (140a a 140c) são coletivamente arranjados para cada um dos componentes C0, Cl e C2. Na informação de instrução de salto 138, cada um dos estados dos componentes de cor C0, Cl e Cl pode ser arranjado como símbolo de código de um bit. Altemativamente, oito estados podem ser coletivamente codificados em um símbolo de código. Quando os componentes de cor têm uma alta correlação no estado do salto, os símbolos de códigos são agrupados para definir aproximadamente um modelo do contexto da codificação aritmética (descrito em uma décima segunda modalidade a seguir) para permitir a melhoria da eficiência de codificação da informação de instrução de salto 138 em si.
[00262] Note que a sinalização de identificação de compartilhamento com cabeçalho do macrobloco 123c pode ser multiplexada no fluxo de bits em unidades de camadas de dados arbitrárias tais como o macrobloco, a fatia, a imagem e a sequência. Quando existe estavelmente uma diferença em propriedade de sinal entre os componentes de cor no sinal de entrada, codificação eficiente pode ser realizada com menos informação de cabeçalho configurando-se a sinalização de identificação de compartilhamento com cabeçalho do macrobloco 123c para ser multiplexada para cada sequência. Além do mais, a sinalização de identificação de compartilhamento com cabeçalho do macrobloco 123c é configurada para ser multiplexada para cada imagem. Com esta configuração, um cabeçalho é normalmente usado para os componentes de cor em uma imagem-I com menos variações no tipo de macrobloco, ao passo que um cabeçalho individual diferente é usado para cada componente de cor em imagens P e B com maiores variações no tipo de macrobloco. Em decorrência disso, espera-se que seja obtido o efeito de melhoria do equilíbrio entre a eficiência de codificação e uma carga de cálculo. Adicionalmente, acredita-se que a comutação na camada de imagem seja desejável, mesmo em vista da controle de codificação do sinal de vídeo com uma propriedade variando para cada imagem, por exemplo, para uma mudança de cena. Quando a sinalização de identificação de compartilhamento com cabeçalho do macrobloco 123c é multiplexada para cada macrobloco, a quantidade de códigos por macrobloco aumenta. Por outro lado, é possível controlar deve ou não usar a informação de cabeçalho comum com base no sinal estado de cada um dos componentes de cor para cada macrobloco. Em decorrência disso, o dispositivo de codificação que melhor segue uma variação local no sinal da imagem para melhorar a eficiência de compressão pode ser configurado.
[00263] Quando a tipo de codificação correspondente ao tipo de imagem é comutado no nível de fatia como no AVC, o método seguinte é concebido. A sinalização de identificação de compartilhamento com cabeçalho do macrobloco 123c é multiplexada para cada fatia. Então, quando a sinalização de identificação de compartilhamento com cabeçalho do macrobloco 123c indica que a informação de cabeçalho é “comum a CO, Cie C2”, o fluxo de bits é configurado para permitir que a fatia contenha toda a informação codificada dos três componentes de cor. Por outro lado, quando a sinalização de identificação de compartilhamento com cabeçalho do macrobloco 123c indica que a informação de cabeçalho não é “comum a CO, Cie C2”, o fluxo de bits é configurado para permitir que uma fatia contenha a informação de um componente de cor. Este estado é ilustrado na figura 52. Na figura 52, a indicação de sinalização de compartilhamento de cabeçalho de macrobloco 123c também serve como informação de identificação de configuração de fatia indicando se “uma fatia atual contém toda a informação codificada dos três componentes de cor” ou “uma fatia atual contém a informação codificada de um certo componente de cor específico”. Fica aparente que a informação de identificação de configuração de fatia pode ser provida independentemente da sinalização de identificação de compartilhamento com cabeçalho do macrobloco 123c. Quando a informação de identificação de configuração de fatia indica que “uma fatia atual contém a informação codificada de um certo componente de cor específico”, a identificação também indica “que de CO, Cl e C2 é o componente de cor específico”. Para a comutação entre o uso comum de um cabeçalho de macrobloco para os componentes CO, Cl e C2 (uma fatia contendo CO, Cl e C2) e a multiplexação individual de um macrobloco para cada um dos componentes CO, Cl e C2 (uma fatia CO, uma fatia Cl e uma fatia C2), quando dois tipos de fatia estão presentes em uma única imagem, a fatia CO, a fatia Cl e a fatia C2 são restritas a ser multiplexadas no fluxo de bits em um conjunto como dados obtidos pela codificação do macrobloco sempre na mesma posição na tela. Especificamente, first_mb_in_slice contido na fatia cabeçalho para indicar a posição da imagem intra do macrobloco de cabeçalho na fatia tem sempre o mesmo valor em um conjunto da fatia CO, da fatia Cl e da fatia C2. Além do mais, o número de macroblocos contido em um conjunto da fatia CO, da fatia Cl e da fatia C2 é o mesmo. Este estado é ilustrado na figura 53. Provendo-se uma restrição como esta na configuração do fluxo de bits, o dispositivo de codificação pode adaptativamente selecionar o método de codificação com uma maior eficiência de codificação para a fatia contendo CO, Cl e C2 ou o conjunto da fatia CO, da fatia Cl e da fatia C2 de acordo com a propriedade local do sinal na imagem. O dispositivo de decodificação pode receber o fluxo de bits eficientemente codificado da maneira supramencionada para reproduzir o sinal de vídeo. Por exemplo, considerando que o fluxo de vídeo 22 alimentado no dispositivo de decodificação ilustrado na figura 31 tem a configuração supradescrita, a unidade de decodificação de comprimento variável 25 decodifica a informação de identificação de configuração de fatia a partir do fluxo de bits cada vez que os dados em fatias são alimentados. Então, a unidade de decodificação de comprimento variável 25 identifica o tipo de fatia a ser decodificado a partir dos tipos de fatia ilustrados na figura 52. Quando é determinado, com base na informação de identificação de configuração de fatia, que os dados codificados são configurados como um conjunto da fatia CO, da fatia Cl e da fatia C2, o estado da sinalização de identificação de compartilhamento - modo de predição inter 123 (ou a sinalização de identificação de compartilhamento com cabeçalho do macrobloco 123c) pode ser determinado como “uso de um modo de predição inter individual diferente (ou cabeçalho de macrobloco) para cada CO, Cl e C2” para realizar a operação de decodificação. Uma vez que esteja garantido que o valor de first_mb_in_slice de cada fatia e o número de macroblocos na fatia são sempre os mesmos, o processo de decodificação pode ser realizado sem gerar uma sobreposição ou uma folga com a fatia contendo CO, Cl e C2 na imagem com base no mesmo valor do first_mb_in_slice e no mesmo número de macroblocos na fatia.
[00264] A fim de impedir que a eficiência de codificação seja reduzida provendo-se uma restrição como esta quando as propriedades dos sinais das respectivas fatias CO, Cl e C2 diferem muito uma da outra, informação de identificação que permite a seleção de permissão/não permissão da presença de fatias, cada qual incluindo a informação de identificação de configuração de fatia com diferentes valores na imagem no nível de imagem ou no nível da sequência, pode ser provida.
Décima segunda modalidade
[00265] Na décima segunda modalidade, será descrita uma modalidade de um outro dispositivo de codificação e um de outro dispositivo de decodificação que deriva do dispositivo de codificação e do dispositivo de decodificação descritos na décima primeira modalidade da presente invenção. Quando a codificação aritmética adaptativa é empregada para codificar cada um dos componentes CO, Cl e C2 no macrobloco, o dispositivo de codificação e o dispositivo de decodificação de acordo com a décima segunda modalidade realizam adaptativamente a comutação entre o compartilhamento de uma probabilidade de ocorrência de símbolo usado para codificação aritmética e seu processo de aprendizado em todos os componentes, e o uso separado da probabilidade de ocorrência de símbolo e o processo de aprendizado para cada um dos componentes, com base na informação de identificação multiplexada no fluxo de bits.
[00266] A décima segunda modalidade da presente invenção difere da décima primeira modalidade da presente invenção apenas no processo realizado na unidade de codificação de comprimento variável 11 da figura 30 para o dispositivo de codificação e no processo realizado na unidade de decodificação de comprimento variável 25 da figura 31 para o dispositivo de decodificação. O resto da operação é conforme descrito na décima primeira modalidade da invenção. A seguir, um processo de codificação aritmética e um processo de decodificação aritmética que são importantes características da décima segunda modalidade da invenção serão descritos com detalhes.
1. Processo de codificação
[00267] A figura 54 ilustra uma configuração interna relacionada com o processo de codificação aritmética na unidade de codificação de comprimento variável 11, e as figuras 55 e 56 são fluxogramas, cada qual ilustrando um fluxo operacional do processo de codificação aritmética.
[00268] A unidade de codificação de comprimento variável 11 na décima segunda modalidade da invenção inclui uma unidade de determinação de modelo do contexto 11a, uma unidade de binarização 1 lb, uma unidade de geração de probabilidade de ocorrência 11c, uma unidade de codificação lld e uma memória llg. A unidade de determinação de modelo do contexto 11a determina um modelo do contexto (descrito a seguir) definido para cada tipo de dado tais como o vetor de movimento 137, o número de identificação da imagem de referência 132b, o tipo de macrobloco/subtipo de macrobloco 106, o modo de predição intra 141, ou o coeficiente de transformação quantizado 10, que são dados a ser codificados. A unidade de binarização 11b converte dados multivalor em dados binários de acordo com uma regra de binarização determinada para cada um dos tipos de dados a ser codificado. A unidade de geração de probabilidade de ocorrência 11c fornece uma probabilidade de ocorrência de um valor (0 ou 1) de cada bin obtido depois da binarização. A unidade de codificação lld executa a codificação aritmética com base na probabilidade de ocorrência gerada. A memória 1 lg armazena informação de probabilidade de ocorrência. Vários dados alimentados na unidade de codificação de comprimento variável 11 como dados a ser codificados, tais como o vetor de movimento 137, o número de identificação da imagem de referência 132b, o tipo de macrobloco/subtipo de macrobloco 106, o modo de predição intra 141 e o coeficiente de transformação quantizado 10, são alimentados na unidade de determinação de modelo do contexto 11a. Uma saída da unidade de codificação lld corresponde informação para o macrobloco no fluxo de vídeo 22. (1) Processo de determinação de modelo do contexto (Etapa SI60 na figura 55)
[00269] O modelo do contexto é obtido modelando-se a dependência da outra informação que causa uma variação na probabilidade de ocorrência de um símbolo da fonte de informação. Comutando-se o estado da probabilidade de ocorrência para corresponder à dependência, a codificação mais adaptativa a uma probabilidade de ocorrência real do símbolo é habilitada. A figura 57 ilustra o conceito do modelo do contexto (ctx). Note que a símbolo da fonte de informação é binário na figura 57, mas a símbolo da fonte de informação pode ser multivalor. As opções 0 a 2 da figura 57 como o modelo do contexto ctx são definidas supondo-se que o estado da probabilidade de ocorrência de um símbolo da fonte de informação que usa o ctx mudará de acordo com a condição. No caso de codificação de vídeo na décima segunda modalidade da presente invenção, o valor de ctx é comutado de acordo com a dependência entre os dados codificados em um certo macrobloco e os dados codificados dos macroblocos vizinhos. Por exemplo, a figura 58 ilustra um exemplo do modelo do contexto para o vetor de movimento do macrobloco, que é revelado em “Video Compression Using Context-Based Arithmetic adaptative Coding” de D. Marpe et al., International Conference on Image Processing 2001. Na figura 58, um vetor de movimento de um bloco C é a ser codificado (mais precisamente, um valor de diferença de predição mvdk(C) obtido predizendo-se o vetor de movimento do bloco C a partir dos blocos vizinhos é codificado), e ctx_mvd(C,k) indica um modelo do contexto. Um vetor de predição de valor de diferença de movimento em um bloco A é denotado por mvdk(A) e um vetor de predição de valor de diferença de movimento em um bloco B é denotado por mvdk(B), que são usados para definir um valor de avaliação de comutação ek(C) do modelo do contexto. O valor de avaliação ek(C) indica uma variação entre os vetores de movimento vizinhos. No geral, quando a variação é pequena, mvdk(C) tende ser pequeno. Por outro lado, quando a variação é grande, mvdk(C) tende ser muito grande. Portanto, é desejável que a probabilidade de ocorrência de símbolo de mvdk(C) seja adaptada com base em ek(C). Um conjunto de variações das probabilidades de ocorrência é um modelo do contexto. Neste caso, pode-se dizer que existem três variações de probabilidade de ocorrência.
[00270] Além disso, um modelo do contexto é predefinido para cada dado a ser codificado, tais como o tipo de macrobloco/subtipo de macrobloco 106, o modo de predição intra 141 e o coeficiente de transformação quantizado 10 a ser compartilhado pelo dispositivo de codificação e pelo dispositivo de decodificação. A unidade de determinação de modelo do contexto 11a realiza um processo de seleção do modelo predefinido com base no tipo dos dados a ser codificado da maneira supradescrita (a seleção da variação da probabilidade de ocorrência em relação àquelas no modelo do contexto corresponde a um processo de geração de probabilidade de ocorrência descrito em (3) a seguir). (2) Processo de binarização (Etapa S161 na figura 55)
[00271] O modelo do contexto é determinado de acordo com cada bin (posição binária) em uma sequência binária obtida binarizando-se os dados a ser codificados na unidade de binarização 11b. De acordo com a regra de binarização, uma transformação de comprimento variável em uma sequência binária é realizada de acordo com uma distribuição grosseira de possíveis valores para cada um dos dados codificados. Para a binarização, o número de divisões de uma linha do número de probabilidade pode ser reduzido para simplificar vantajosamente o cálculo e permitir que o modelo do contexto seja aperfeiçoado pela codificação dos dados a ser codificados para cada bin, que pode de outra forma ser multivalorizado, e não pela codificação aritmética. (3) Processo de geração de probabilidade de ocorrência (Etapa S162 na figura 55 (um processo detalhado na etapa S162 é ilustrado na figura 56))
[00272] Por meio dos processos supramencionados (1) e (2), a binarização dos dados multivalor a ser codificados e o ajuste do modelo do contexto usado para cada bin são completados para completar a preparação para codificação. Subsequentemente, a unidade de geração de probabilidade de ocorrência 11c realiza um processo de gerar um estado de probabilidade de ocorrência usado para a codificação aritmética. Cada modelo do contexto contém as variações de probabilidade de ocorrência para cada um dos valores 0 e 1. Portanto, conforme ilustrado na figura 54, o processo é realizado referindo-se ao modelo do contexto llf determinado na etapa S160. O valor de avaliação para selecionar a probabilidade de ocorrência indicado por ek(C) da figura 58 é determinado. De acordo com o valor de avaliação determinado, a variação da probabilidade de ocorrência a ser usada para a codificação atual é determinada a partir das opções do modelo do contexto a ser referido (Etapa SI62a na figura 56). Adicionalmente, a unidade de codificação de comprimento variável 11 de acordo com a décima segunda modalidade inclui a memória de armazenamento de informação de probabilidade de ocorrência 1 lg que tem o mecanismo de armazenamento de um estado de probabilidade de ocorrência llh sequencialmente atualizado no processo de codificação, separadamente para cada um dos componentes de cor. A unidade de geração de probabilidade de ocorrência 11c determina a seleção do estado de probabilidade de ocorrência llh a ser usado para a codificação atual a partir daqueles armazenados separadamente para cada um dos componentes de cor CO a C2 ou o compartilhamento do estado de probabilidade de ocorrência llh para o componente CO pelos componentes Cl e C2 com base em um valor de uma sinalização de identificação de compartilhamento - parâmetro de estado de probabilidade de ocorrência 143, para determinar assim o estado de probabilidade de ocorrência llh realmente usado para a codificação (Etapas SI62b a S162d na figura 56).
[00273] Assim, a sinalização de identificação de compartilhamento - parâmetro de estado de probabilidade de ocorrência 143 precisa ser multiplexada no fluxo de bits para permitir a mesma seleção no dispositivo de decodificação. Uma configuração como esta fornece o seguinte efeito. Por exemplo, tomando a figura 58 como um exemplo, quando a sinalização de identificação de compartilhamento com cabeçalho do macrobloco 123c indica que a informação de cabeçalho do componente CO 139a é usada mesmo para os outros componentes, um valor de avaliação ek(C) na figura 58 é determinado por macrobloco se o tipo de macrobloco 128b indicar o modo de predição 16 x 16. Neste caso, o estado de probabilidade de ocorrência preparado para o componente CO é sempre usado. Por outro lado, quando a sinalização de identificação de compartilhamento com cabeçalho do macrobloco 123c indica que a informação de cabeçalho (139a a 139c) correspondente aos respectivos componentes é usada, o valor ek(C) na figura 58 pode ter três variações por macrobloco se o tipo de macrobloco 128b indicar o modo de predição 16x16 para todos CO, Cl e C2. A unidade de codificação lld no último estágio tem duas opções para cada variação. Especificamente, qualquer um do uso comum e atualização do estado de probabilidade de ocorrência llh preparado para o componente CO e do uso individual e atualização do estado de probabilidade de ocorrência llh preparado para cada um dos componentes de cor pode ser selecionado. Com a primeira opção, quando os componentes CO, Cl e C2 têm praticamente a mesma distribuição de vetor de movimento, existe uma possibilidade de que o uso comum e atualização do estado de probabilidade de ocorrência llh aumentem a frequência de aprendizado para permitir o melhor aprendizado da probabilidade de ocorrência do vetor de movimento. Com a última opção, quando os componentes CO, Cl e C2 têm diferentes distribuições de vetor de movimento, existe uma possibilidade de que o uso individual e atualização do estado de probabilidade de ocorrência llh possam reduzir desencontros no aprendizado para permitir o melhor aprendizado da probabilidade de ocorrência do vetor de movimento. Uma vez que o sinal de vídeo é não estacionário, a eficiência da codificação aritmética pode ser melhorada, permitindo o controle adaptativo supradescrito. (4) Processo de codificação
[00274] Uma vez que a probabilidade de ocorrência de cada um dos valores 0 e 1 a linha do número de probabilidade exigida para o processo de codificação aritmética por meio do processo (3) podem ser obtidas, a codificação aritmética é realizada na unidade de codificação 11 d de acordo com o processo descrito nos exemplos convencionais (Etapa SI63 na figura 55) . O valor real codificado (0 ou 1) lie é realimentado na unidade de geração de probabilidade de ocorrência 11c para levar em conta uma frequência de ocorrência de 0 ou 1 para atualizar o estado de probabilidade de ocorrência usado llh (Etapa S164). Por exemplo, considera-se que as possibilidades de ocorrência de 0 e 1 na variação da probabilidade de ocorrência sejam 0,25 e 0,75 depois que o processo de codificação de cem bins foi realizado usando um estado de probabilidade de ocorrência específico llh. Neste caso, quando 1 é codificado usando a mesma variação da probabilidade de ocorrência, uma frequência de aparecimento de 1 é atualizada para mudar as possibilidades de ocorrência de 0 e 1 para 0,247 e 0,752, respectivamente. Este mecanismo permite a codificação eficiente adaptativa a uma probabilidade de ocorrência real. O valor codificado lie é uma saída da unidade de codificação de comprimento variável 11, e é produzida pelo dispositivo de codificação como o fluxo de vídeo 22.
[00275] A figura 59 ilustra uma configuração interna relacionada com o processo de decodificação aritmética na unidade de decodificação de comprimento variável 25, e a figura 60 é um fluxograma ilustrando um fluxo operacional do processo de decodificação aritmética.
[00276] A unidade de decodificação de comprimento variável 25 de acordo com a décima segunda modalidade inclui a unidade de determinação de modelo do contexto 11a, a unidade de binarização 11b, a unidade de geração de probabilidade de ocorrência 11c, uma unidade de decodificação 25a e a memória llg. A unidade de determinação de modelo do contexto 11a especifica o tipo de dados a ser decodificado tal como o vetor de movimento 137, o número de identificação da imagem de referência 132b, o tipo de macrobloco/subtipo de macrobloco 106, o modo de predição intra 141 e o coeficiente de transformação quantizado 10 para determinar um modelo do contexto definido comumente ao dispositivo de codificação para cada tipo de dado. A unidade de binarização 11b gera uma regra de binarização determinada com base no tipo dos dados a ser decodificado. A unidade de geração de probabilidade de ocorrência 11c fornece uma probabilidade de ocorrência de cada bin (0 ou 1) de acordo com a regra de binarização e o modelo do contexto. A unidade de decodificação 25a executa a decodificação aritmética com base na probabilidade de ocorrência gerada para decodificar dados tais como o vetor de movimento 137, o número de identificação da imagem de referência 132b, o tipo de macrobloco/subtipo de macrobloco 106, o modo de predição intra 141 e o coeficiente de transformação quantizado 10 com base na sequência binária resultante e na regra de binarização supramencionada. A memória 11g armazena a informação de probabilidade de ocorrência. Os componentes internos Ila a 11c e 11g são os mesmos daqueles da unidade de codificação de comprimento variável 11 da figura 54. (5) Processo de determinação de modelo do contexto, processo de binarização e processo de geração de probabilidade de ocorrência
[00277] Esses processos são os mesmos dos processos (1) a (3) realizados no dispositivo de codificação. Considera-se que a sinalização de identificação de compartilhamento - parâmetro de estado de probabilidade de ocorrência 143 já tenha sido extraída do fluxo de vídeo 22, que não está mostrado nos desenhos. (6) Processo de decodificação aritmética
[00278] Uma vez que a probabilidade de ocorrência de um bin a ser decodificado é determinada pelos processos (1) a (6), a unidade de decodificação 25a decodifica um valor do bin de acordo com um processo de decodificação aritmética pré-determinado (Etapa SI66 na figura 60). Um valor restaurado 25b do bin é realimentado na unidade de geração de probabilidade de ocorrência 11c para levar em conta frequência de ocorrência de 0 ou 1 para atualizar o estado de probabilidade de ocorrência usado llh (Etapa SI64). A unidade de decodificação 25a confirma o casamento com o padrão de sequência binária determinado com base na regra de binarização cada vez que o valor restaurado de cada bin é determinado para enviar um valor de dado indicado pelo padrão de casamento como um valor de dado decodificado (Etapa SI67). A menos que os dados decodificados sejam determinados, o processo retorna para a Etapa SI66 para continuar o processo de decodificação.
[00279] De acordo com o dispositivo de codificação incluindo o processo de codificação aritmética e o dispositivo de decodificação incluindo o processo de decodificação aritmética nas configurações supramencionadas, durante realização de codificação aritmética adaptativamente na informação codificada para cada componente de cor de acordo com a sinalização de identificação de compartilhamento com cabeçalho do macrobloco 123c, é possível uma codificação mais eficiente.
[00280] A sinalização de identificação de compartilhamento - parâmetro de estado de probabilidade de ocorrência 143 é multiplexada para qualquer um de cada macrobloco, cada fatia, cada imagem e cada sequência, que não está particularmente ilustrada. Multiplexando-se a sinalização de identificação de compartilhamento - parâmetro de estado de probabilidade de ocorrência 143 como uma sinalização posicionada na camada de dados de ordem superior tais como a fatia, a imagem ou a sequência, bits de cabeçalho podem ser reduzidos sem multiplexar a sinalização de identificação de compartilhamento - parâmetro de estado de probabilidade de ocorrência 143 no nível de macrobloco para cada vez quando uma eficiência de codificação suficientemente alta é garantida pela comutação na camada de ordem superior maior ou igual à fatia.
[00281] Além do mais, a sinalização de identificação de compartilhamento - parâmetro de estado de probabilidade de ocorrência 143 pode ser informação determinada no dispositivo de decodificação com base em informação relativa contida em um fluxo de bits diferente do fluxo de bits contendo a sinalização 143.
[00282] Na décima segunda modalidade, na realização da codificação aritmética na sinalização de identificação de compartilhamento com cabeçalho do macrobloco 123c com base no macrobloco, um modelo ilustrado na figura 61 é usado para o modelo do contexto llf. Na figura 61, considera-se que um valor da sinalização de identificação de compartilhamento com cabeçalho do macrobloco 123c no macrobloco X é IDCx. Na codificação da sinalização de identificação de compartilhamento com cabeçalho do macrobloco 123c no macrobloco C, o valor IDCx tem os três estados seguintes de acordo com fórmula na figura 61 com base em um valor IDCA da sinalização de identificação de compartilhamento com cabeçalho do macrobloco 123c no macrobloco A e um valor IDCB da sinalização de identificação de compartilhamento com cabeçalho do macrobloco 123c no macrobloco B.
[00283] Valor 0: ambos A e B estão em um modo de “usar um cabeçalho de macrobloco comum a C0, Cie C2”.
[00284] Valor 1: qualquer um de A e B está no modo de “usar um cabeçalho de macrobloco comum a C0, Cie C2”, e o outro está em um modo de “usar diferentes cabeçalhos de macrobloco para C0, Cie C2”.
[00285] Valor 2: ambos A e B estão no modo de “usar diferentes cabeçalhos de macrobloco para C0, Cie C2”.
[00286] Pela codificação da sinalização de identificação de compartilhamento com cabeçalho do macrobloco 123c desta maneira, a codificação aritmética pode ser realizada para ser adaptada aos estados codificados dos macroblocos vizinhos para melhorar a eficiência de codificação. Fica aparente pela descrição da operação do dispositivo de decodificação na décima segunda modalidade supradescrita que o modelo do contexto é definido no mesmo procedimento para decodificação aritmética no dispositivo de codificação bem como no dispositivo de decodificação.
[00287] Na décima segunda modalidade, para a informação de cabeçalho (o tipo de macrobloco, o subtipo de macrobloco, o modo de predição intra, o número de identificação da imagem de referência, o vetor de movimento, a informação de indicação de validade do coeficiente de transformação e o parâmetro de quantização) ilustrada na figura 50, que é contida no cabeçalho de macrobloco, a codificação aritmética é realizada com o modo de contexto definido para cada um dos tipos de informação. Conforme ilustrado nas figuras 62A e 62B, qualquer um dos modelos de contexto é definido para o macrobloco atual C referindo-se a informação correspondente dos macroblocos A e B. Se o macrobloco C estiver no modo de “usar um cabeçalho de macrobloco comum a CO, Cie C2” e o macrobloco B estiver no modo de “usar diferentes cabeçalhos de macrobloco para CO, Cl e C2” conforme ilustrado na figura 62A, informação de um componente de cor específico selecionado de qualquer um de CO, Cl e C2 é usado como a informação de referência para a definição do modelo do contexto.
[00288] Por exemplo, quando os componentes CO, Cl e C2 correspondem aos componentes de cor R, G e B, um método de selecionar o componente G contendo o componente mais próximo ao do sinal de luminância convencionalmente usado para codificar como um sinal que representa bem a estrutura de uma imagem é concebido. Isto é em virtude de existirem muitos casos onde a informação do cabeçalho de macrobloco é determinada com base no componente G para a codificação mesmo no modo de “usar um cabeçalho de macrobloco comum a CO, Cie C2”.
[00289] Por outro lado, no caso contrário, especificamente, quando o macrobloco C está no modo de “usar diferentes cabeçalhos de macrobloco para C0, Cl e C2”, ao passo que o macrobloco B está no modo de “usar um cabeçalho de macrobloco comum a CO, Cl e C2”, conforme ilustrado na figura 62B, é necessário codificar e decodificar informação de cabeçalho dos três componentes de cor no macrobloco C. Para codificar e decodificar, com a informação de referência na definição do modelo do contexto da informação de cabeçalho de cada um dos componentes de cor, a informação de cabeçalho comum aos três componentes é usada como o mesmo valor para os três componentes para o macrobloco B. Fica aparente que, quando a sinalização de identificação de compartilhamento com cabeçalho do macrobloco 123c indica o mesmo valor para todos os macroblocos A, B e C, a informação de referência correspondente aos macroblocos A, B e C está sempre presente. Portanto, essas informações de referência são usadas.
[00290] Fica aparente pela descrição da operação do dispositivo de decodificação na décima segunda modalidade supradescrita que o modelo do contexto é definido no mesmo procedimento para realizar a decodificação aritmética tanto no dispositivo de codificação quanto no dispositivo de decodificação. Além do mais, depois da determinação do modelo do contexto a ser usado durante a especificação do componente cuja informação é referida pelo modelo do contexto, o estado de probabilidade de ocorrência associado com o modelo do contexto é atualizado com base no estado da sinalização de identificação de compartilhamento - parâmetro de estado de probabilidade de ocorrência 143.
[00291] Adicionalmente, na décima segunda modalidade, os dados de coeficiente de transformação de cada um dos componentes C0, Cl e C2 são aritmeticamente codificados de acordo com a distribuição de probabilidade de ocorrência de cada um dos dados a ser codificados. Os dados codificados para os três componentes estão contidos no fluxo de bits independentemente se o cabeçalho de macrobloco é ou não usado comumente. Uma vez que a predição intra ou a predição inter é realizada no espaço de cores do sinal de entrada codificado para obter um sinal da diferença de predição na décima segunda modalidade da presente invenção, acredita-se que uma distribuição de probabilidade de ocorrência similar seja obtida como uma distribuição dos dados de coeficiente de transformação obtidos por uma transformação inteira do sinal da diferença de predição, independentemente do estado da vizinhança, por exemplo, independentemente se o cabeçalho de macrobloco é ou não usado comumente, conforme ilustrado nas figuras 62A e 62B. Portanto, na décima segunda modalidade, um modelo do contexto comum é definido para cada um dos componentes CO, Cl e C2 a ser usado para a codificação e decodificação, independentemente se o cabeçalho de macrobloco é ou não usado comumente para os três componentes.
[00292] Fica aparente pela descrição da operação do dispositivo de decodificação na décima segunda modalidade supradescrita que o modelo do contexto é definido no mesmo procedimento para realizar a decodificação aritmética tanto no dispositivo de codificação quanto no dispositivo de decodificação. Além do mais, depois da determinação do modelo do contexto a ser usado durante a especificação do componente cuja informação é referida pelo modelo do contexto, o estado de probabilidade de ocorrência associado com o modelo do contexto é atualizado com base no estado da sinalização de identificação de compartilhamento - parâmetro de estado de probabilidade de ocorrência 143.
Décima terceira modalidade
[00293] A décima terceira modalidade da presente invenção descreve um exemplo de um outro dispositivo de codificação e um outro dispositivo de decodificação que derivam daqueles descritos na sétima até a décima segunda modalidade da presente invenção. O dispositivo de codificação e o dispositivo de decodificação na décima terceira modalidade da presente invenção são caracterizados nas seguintes configurações. O dispositivo de codificação realiza um processo de transformação de espaço de cores em um estágio de entrada do dispositivo de codificação descrito na sétima até a décima segunda modalidade da invenção para transformar um espaço de cores de um sinal de vídeo, que é alimentado no dispositivo de codificação depois da captura da imagem, em um espaço de cores arbitrário adequado para a codificação, e então multiplexa informação, que designa um processo de transformação inverso para restaurar o espaço de cores obtido no momento da captura de imagem no dispositivo de decodificação, no fluxo de bits. Então, a informação que designa o processo de transformação inverso é extraída do fluxo de bits para obter uma imagem decodificada pelo dispositivo de decodificação descrito na sétima até a décima segunda modalidade da invenção. Em seguida, uma transformação do espaço de cores inversa é realizada com base na informação que designa o processo de transformação inverso.
[00294] A figura 63 ilustra as configurações do dispositivo de codificação e do dispositivo de decodificação de acordo com a décima terceira modalidade. Referindo-se à figura 63, o dispositivo de codificação e o dispositivo de decodificação na décima terceira modalidade serão descritos.
[00295] O dispositivo de codificação na décima terceira modalidade inclui um dispositivo de codificação 303 descrito na sétima até a décima segunda modalidade da invenção e uma unidade de transformação do espaço de cores 301 no estágio anterior do dispositivo de codificação 303. A unidade de transformação do espaço de cores 301 inclui pelo menos um processo de transformação de espaço de cores. A unidade de transformação do espaço de cores 301 seleciona o processo de transformação de espaço de cores a ser usado de acordo com a propriedade de um sinal de vídeo a ser alimentado ou o sistema de ajuste para realizar o processo de transformação de espaço de cores no sinal de vídeo de entrada. Então, a unidade de transformação do espaço de cores 301 transmite um sinal de vídeo transformado 302 obtido pelo processo de transformação de espaço de cores ao dispositivo de codificação 303. Ao mesmo tempo, a unidade de transformação do espaço de cores 301 transmite informação para identificar o processo de transformação de espaço de cores usado como informação de identificação do método de transformação do espaço de cores 304 ao dispositivo de codificação 303. Depois da multiplexação da informação de identificação do método de transformação do espaço de cores 304 em um fluxo de bits 305 obtido pela codificação por compressão do sinal de vídeo transformado 302 no método descrito na sétima até a décima segunda modalidade da invenção como um sinal a ser codificado, o dispositivo de codificação 303 transmite o fluxo de bits 305 a um caminho de transmissão ou produz o fluxo de bits 305 para um dispositivo de gravação para gravar em uma mídia de gravação.
[00296] Como o método de transformação do espaço de cores preparado, por exemplo, existem os seguintes métodos. Especificamente, existe uma transformação de RGB convencionalmente usada no padrão para
Figure img0029
[00297] Uma entrada na unidade de transformação do espaço de cores 301 não precisa ser limitada a RGB, e o processo de transformação não é limitado aos três processos supramencionados.
[00298] O dispositivo de decodificação de acordo com a décima terceira modalidade inclui um dispositivo de decodificação 306 na sétima até a décima segunda modalidade da presente invenção e uma unidade de transformação do espaço de cores inversa 308 no estágio subsequente do dispositivo de decodificação 306. O dispositivo de decodificação 306 recebe o fluxo de bits 305 como uma entrada para extrair e sair com a informação de identificação do método de transformação do espaço de cores 304 a partir do fluxo de bits 305 e também sair com uma imagem decodificada 307 obtida pela operação do dispositivo de decodificação descrito na sétima até a décima segunda modalidade da presente invenção. A unidade de transformação do espaço de cores inversa 308 inclui um processo de transformação inverso correspondente a cada um dos métodos de transformação do espaço de cores selecionável na unidade de transformação do espaço de cores supramencionada 301. A transformação executada na unidade de transformação do espaço de cores 301 é especificada com base na informação de identificação do método de transformação do espaço de cores 304 produzida pelo dispositivo de decodificação 306 para realizar o processo de transformação inverso na imagem decodificada 307 para restaurar o espaço de cores do sinal de vídeo alimentado no dispositivo de decodificação na décima terceira modalidade.
[00299] De acordo com o dispositivo de codificação e o dispositivo de decodificação como na décima terceira modalidade da presente invenção, os processos de transformação de espaço de cores ideal são realizados no estágio anterior do processo de codificação e do estágio subsequente do processo de decodificação no sinal de vídeo a ser codificado. Em decorrência disso, a correlação contida no sinal de imagem composto dos três componentes de cor é removida antes da codificação para permitir a codificação com uma reduzida redundância. Dessa maneira, a eficiência de compressão pode ser melhorada. No método padrão de codificação convencional tal como o MPEG, o tipo de espaço de cores do sinal a ser codificado é limitado a um, isto é, YUV. Na décima terceira modalidade, entretanto, a unidade de transformação do espaço de cores 301 e a unidade de transformação do espaço de cores inversa 308 são providas, e a informação de identificação do método de transformação do espaço de cores 304 é contida no fluxo de bits 305. Em decorrência disso, uma restrição a respeito do espaço de cores do sinal de vídeo a ser codificado e alimentado pode ser removida. Ao mesmo tempo, o sinal de vídeo pode ser codificado usando a transformação ideal selecionada de uma pluralidade de tipos de meios para remover a correlação entre os componentes de cor. A informação de identificação do método de transformação do espaço de cores 304 pode ser multiplexada no nível tal como a imagem, a fatia, ou o macrobloco. Por exemplo, multiplexando-se a informação de identificação do método de transformação do espaço de cores 304 com base no macrobloco, a transformação que pode remover a maior quantidade da correlação local entre os três componentes de cor pode ser seletivamente usada para melhorar a eficiência de codificação.
[00300] A décima terceira modalidade da presente invenção foi descrita com base na premissa das operações constantes da unidade de transformação do espaço de cores 301 e da unidade de transformação do espaço de cores inversa 308. Altemativamente, informação que instrui para garantir a compatibilidade com o padrão convencional sem operar a unidade de transformação do espaço de cores 301 e a unidade de transformação do espaço de cores inversa 301 pode ser codificada na camada de ordem superior tal como a sequência.
[00301] Ainda altemativamente, a unidade de transformação do espaço de cores 301 e a unidade de transformação do espaço de cores inversa 308 na décima terceira modalidade podem cada qual ser incorporadas nas configurações internas do dispositivo de codificação e do dispositivo de decodificação na sétima até a décima segunda modalidade da presente invenção para realizar a transformação do espaço de cores no nível do sinal da diferença de predição. O dispositivo de codificação assim configurado é ilustrado na figura 64, ao passo que o dispositivo de decodificação assim configurado é ilustrado na figura 65. O dispositivo de codificação na figura 64 inclui uma unidade de transformação 310 no lugar da unidade de transformação ortogonal 8 e uma unidade de transformação inversa 312 no lugar da unidade de transformação ortogonal inversa 13, ao passo que o dispositivo de decodificação na figura 65 inclui a unidade de transformação inversa 312 no lugar da unidade de transformação ortogonal inversa 13.
[00302] A unidade de transformação 310 primeiramente seleciona o processo de transformação ideal a partir da pluralidade de processos de transformação de espaço de cores para implementar a transformação do espaço de cores da maneira supradescrita como o processo na unidade de transformação do espaço de cores 301, para o sinal da diferença de predição 4 dos componentes C0, Cie C2, que sai da unidade de determinação do modo de codificação 5. Em seguida, a unidade de transformação 310 executa uma transformação correspondente à realizada na unidade de transformação ortogonal 8 para o resultado da transformação do espaço de cores. A informação de identificação do método de transformação do espaço de cores 311 indicando o processo de transformação selecionado é transmitida para a unidade de codificação de comprimento variável lie então é multiplexada no fluxo de bits para ser envidada como o fluxo de vídeo 22. Depois de realizar um processo de transformação inverso correspondente ao realizado na unidade de transformação ortogonal inversa 13, a unidade de transformação inversa 312 usa o processo de transformação de espaço de cores designado pela informação de identificação do método de transformação do espaço de cores 311 para implementar o processo de transformação de espaço de cores inverso.
[00303] No dispositivo de decodificação, a unidade de decodificação de comprimento variável 25 extrai a informação de identificação do método de transformação do espaço de cores 311 do fluxo de bits para transmitir o resultado da extração à unidade de transformação inversa 312, realizando assim o processo similar ao da unidade de transformação inversa 312 no dispositivo de codificação supradescrito. Com uma configuração como esta, quando a correlação restante entre os componentes de cor pode ser removida suficientemente na área da diferença de predição, a remoção pode ser executada como uma parte do processo de codificação para prover o efeito de melhorar a eficiência de codificação. Entretanto, quando diferentes cabeçalhos de macrobloco são usados para os componentes CO, Cl e C2, respectivamente, a correlação provavelmente não será mantida na área do sinal da diferença de predição 4 em virtude de o método de predição basicamente poder variar para cada componente, por exemplo, a predição intra para o componente CO e a predição inter para o componente Cl. Portanto, quando diferentes cabeçalhos de macrobloco são usados para os componentes CO, Cl e C2, respectivamente, a unidade de transformação 310 e a unidade de transformação inversa 312 podem ser operadas para não executar a transformação do espaço de cores. Alternativamente, informação de identificação indicando se a transformação do espaço de cores deve ou não ser executada na área do sinal da diferença de predição 4 pode ser multiplexada no fluxo de bits. A informação de identificação do método de transformação do espaço de cores 311 pode ser comutada em unidades de qualquer das sequências, imagens, fatias e macroblocos.
[00304] Com as configurações do dispositivo de codificação ilustrado na figura 64 e do dispositivo de decodificação ilustrado na figura 65, os dados de coeficiente de transformação de cada um dos componentes CO, Cl e C2 têm um domínio de definição de sinal diferente do sinal a ser codificado de acordo com a informação de identificação do método de transformação do espaço de cores 311. Portanto, acredita-se que os dados de coeficiente de transformação no geral tenham uma distribuição de probabilidade de ocorrência diferente de acordo com a informação de identificação do método de transformação do espaço de cores 311. Portanto, quando o dispositivo de codificação e o dispositivo de decodificação são configurados conforme ilustrado nas figuras 64 e 65, respectivamente, a codificação e a decodificação são realizadas usando o modelo do contexto associado com cada estado de probabilidade de ocorrência para cada estado da informação de identificação do método de transformação do espaço de cores 311 para cada um dos componentes CO, Cie C2.
[00305] Fica aparente pela descrição da operação do dispositivo de decodificação na décima segunda modalidade da presente invenção supradescrito que o modelo do contexto é definido no mesmo procedimento para realizar a decodificação aritmética tanto no dispositivo de codificação quanto no dispositivo de decodificação. Além do mais, depois da determinação do modelo do contexto a ser usado, ainda especificando o componente cuja informação é referida pelo modelo do contexto, o estado de probabilidade de ocorrência associado com o modelo do contexto é atualizado com base no estado da sinalização de identificação de compartilhamento - parâmetro de estado de probabilidade de ocorrência 143.
Décima quarta modalidade
[00306] Na décima quarta modalidade, para o dispositivo de codificação e o dispositivo de decodificação nas modalidades supradescritas, serão discutidas configurações de dispositivo específicas adicionais.
[00307] Na modalidade supramencionada, as operações do dispositivo de codificação e do dispositivo de decodificação foram descritas referindo-se, por exemplo, às figuras 1, 2, 30, 31 e aos desenhos correspondentes a ela. Referindo-se a esses desenhos, a operação seguinte foi descrita. O sinal de vídeo de entrada composto dos três componentes de cor é alimentado coletivamente no dispositivo de codificação. O dispositivo de codificação codifica o sinal de vídeo de entrada enquanto seleciona o método de codificação a partir do método para codificar três componentes de cor no dispositivo de codificação com base no modo comum de predição ou cabeçalho de macrobloco e no método de codificação com base em diferentes modos de predição ou cabeçalhos de macrobloco para os três componentes de cor. O dispositivo de codificação alimenta o fluxo de bits resultante no dispositivo de decodificação. O dispositivo de decodificação decodifica o fluxo de bits enquanto determina, com base na sinalização decodificada e extraída do fluxo de bits (por exemplo, a sinalização de identificação de compartilhamento - modo de predição intra 23, a sinalização de identificação de compartilhamento - modo de predição inter 123, ou similares) se os três componentes de cor foram decodificados no dispositivo de decodificação com base no modo comum de predição ou cabeçalho de macrobloco, ou com base nos diferentes modos de predição ou cabeçalhos de macrobloco. Desta maneira, uma imagem de vídeo reproduzida é obtida. A possibilidade de codificação e decodificação da sinalização em unidades de camadas de dados arbitrárias tais como os macroblocos, as fatias, as imagens e as sequências já foi descrita. Na décima quarta modalidade da presente invenção, em particular, uma configuração de dispositivo e uma operação para codificar e decodificar três componentes de cor sinais, determinando ainda para cada quadro (ou cada campo) se os três componentes de cor sinais são codificados com base em um cabeçalho de macrobloco comum ou cabeçalhos de macrobloco diferentes, serão descritos com base em desenhos específicos. A seguir, a menos que seja notado ao contrário, “um quadro” é considerado uma unidade de dados de um quadro ou um campo.
[00308] O cabeçalho de macrobloco na décima quarta modalidade da presente invenção contém informação de cabeçalho de macrobloco sem ser os dados de coeficiente de transformação, tal como a sinalização de identificação do tamanho de bloco transformada conforme ilustrado na figura 15, a codificação/informação do modo de predição tal como o tipo de macrobloco/subtipo de macrobloco e o modo de predição intra conforme ilustrado na figura 50, a informação de predição de movimento tais como o número de identificação da imagem de referência e o vetor de movimento, a informação de identificação de validade do coeficiente de transformação e o parâmetro de quantização para o coeficiente de transformação.
[00309] A seguir, um processo de codificação três componentes de cor sinais para um quadro com um cabeçalho de macrobloco comum é referido como “processo de codificação comum”, ao passo que um processo de codificação três sinais de componente de cor para um quadro com diferentes cabeçalhos de macrobloco independentes é referido como “processo de codificação independente”. Similarmente, um processo de decodificação de dados de imagem de quadros do fluxo de bits obtido pela codificação três sinais de componente de cor para um quadro com um cabeçalho de macrobloco comum é referido como “processo de decodificação comum”, ao passo que um processo de decodificação de dados de imagem de quadros do fluxo de bits obtido pela codificação três sinais de componente de cor para um quadro com diferentes cabeçalhos de macrobloco independentes é referido como “processo de decodificação independente”. No processo de codificação comum na décima quarta modalidade da presente invenção, conforme ilustrado na figura 66, o sinal de vídeo de entrada para um quadro é dividido em macroblocos, cada macrobloco sendo obtido agrupando-se três componentes de cor. Por outro lado, no processo de codificação independente, conforme ilustrado na figura 67, o sinal de vídeo de entrada para um quadro é primeiramente dividido em três componentes de cor. Cada dos três componentes de cor é posteriormente dividido em macroblocos, cada macrobloco sendo composto de um único componente de cor. Especificamente, o macrobloco a ser submetido ao processo de codificação comum inclui três amostras de componentes de cor de CO, Cl e C2, ao passo que o macrobloco a ser submetido ao processo de codificação independente inclui apenas qualquer uma das amostras componentes CO, Cl e C2.
[00310] A figura 68 é uma vista explanatória ilustrando um relacionamento de referência de predição de movimento entre imagens em uma direção de tempo no dispositivo de codificação e no dispositivo de decodificação na décima quarta modalidade. Neste exemplo, a unidade de dados indicada por uma linha grossa vertical é uma imagem. O relacionamento entre a imagem e uma unidade de acesso é indicado por um círculo pontilhado. No caso do processo de codificação/decodificação comum, uma imagem são dados representando um sinal de vídeo para um quadro, que contém três componentes de cor. Por outro lado, no caso do processo de codificação/decodificação independente, uma imagem é um sinal de vídeo para um quadro, que contém qualquer um dos componentes de cor. A unidade de acesso é a unidade de dados mínima para prover uma etiqueta de tempo ao sinal de vídeo com o propósito de sincronização com informação de áudio ou som e similares. No processo de codificação/decodificação comum, uma unidade de acesso contém dados para uma imagem (denotada por 427a na figura 68). Por outro lado, no processo de codificação/decodificação independente, uma unidade de acesso contém três imagens (denotadas por 427b na figura 68). Isto é em virtude de ser apenas depois que as imagens de todos os três componentes de cor que compartilham o mesmo momento de exibição serem obtidas que um sinal de vídeo reproduzido para um quadro pode ser obtido. Cada um dos números acima das respectivas imagens denota a ordem de codificação ou decodificação da imagem na direção de tempo (quadro_num no AVC). Na figura 68, uma seta entre as imagens indica uma direção de referência na predição de movimento. Especificamente, no processo de codificação/decodificação independente, a referência de predição de movimento entre as imagens contidas na mesma unidade de acesso e a referência de predição de movimento entre diferentes componentes de cor não é realizada. A imagem de cada um dos componentes de cor CO, Cl e C2 é codificada ou decodificada limitando ainda a referência de predição a um sinal do mesmo componente de cor. Com uma configuração como esta, no processo de codificação/decodificação independente na décima quarta modalidade da presente invenção, cada um dos componentes de cor pode ser codificado ou decodificado sem depender absolutamente do processo de codificação/decodificação dos outros componentes de cor, facilitando assim um processo paralelo.
[00311] No AVC, uma imagem de refresco do dispositivo de decodificação instantânea (IDR) que realiza a codificação intra por si e restabelece os conteúdos em uma memória de imagem de referência usada para a predição de compensação do movimento é definida. Uma vez que a imagem IDR pode ser decodificada sem depender de nenhuma outra imagem, a imagem IDR é usada como um ponto de acesso aleatório. No processo de codificação comum, uma unidade de acesso é igual a uma imagem. No processo de codificação independente, entretanto, uma unidade de acesso é composta de uma pluralidade de imagens. Portanto, quando uma certa imagem de componente de cor é a imagem IDR, as outras imagens de componente de cor são também imagens IDR para definir uma unidade de acesso IDR, para garantir assim uma função de acesso aleatório.
[00312] Na décima quarta modalidade a seguir, informação de identificação indicando se a codificação foi realizada no processo de codificação comum ou no processo de codificação independente é referida como sinal de identificação de codificação comum/codificação independente.
[00313] A figura 69 é uma vista explanatória ilustrando um exemplo da estrutura de um fluxo de bits, que é gerada pelo dispositivo de codificação na décima quarta modalidade a ser alimentada e decodificada pelo dispositivo de decodificação na décima quarta modalidade. A figura 69 ilustra uma estrutura de fluxo de bits do nível da sequência até o nível do quadro. Primeiramente, o sinal de identificação de codificação comum/codificação individual 423 é multiplexado em um cabeçalho de ordem superior no nível da sequência (um conjunto de parâmetros de sequência no caso do AVC). Cada quadro é codificado para cada unidade de acesso. Uma unidade NAL do delimitador da unidade de acesso é uma unidade NAL exclusiva para identificar o limite entre a unidade de acessos no AVC. Quando o sinal de identificação de codificação comum/codificação independente 423 indica “codificação de imagem no processo de codificação comum”, a unidade de acesso contém dados codificados para uma imagem. Considera-se que a imagem neste caso são dados representando um sinal de vídeo para um quadro, que contém três componentes de cor, como supradescrito. Os dados codificados na i-gésima unidade de acesso são constituídos como um conjunto de dados em fatias, Fatia(i,j), onde j é um índice de dados dividido em uma imagem.
[00314] Por outro lado, quando o sinal de identificação de codificação comum/codificação independente 423 indica “codificação de imagem no processo de codificação independente”, uma imagem é um sinal de vídeo para um quadro, que é composto de qualquer um dos componentes de cor. Neste caso, dados codificados na p-ésima unidade de acesso são constituídos como um conjunto de dados em fatias, Fatia (p,q,r), da q-ésima imagem na unidade de acesso, onde r é um índice dos dados em fatias em uma imagem. Para o sinal de vídeo composto de três componentes de cor como no caso de RGB, o número de possíveis valores para q é três. Além do mais, além do sinal de vídeo composto de três cores primárias, por exemplo, quando dados adicionais tal como informação de transmitância para mistura alfa são codificados ou decodificados como a mesma unidade de acesso, ou quando um sinal de vídeo composto de quatro ou mais componentes de cor (por exemplo, YMCK usado em impressão em cores) é codificado ou decodificado, o número de possíveis valores para q é estabelecido em quatro ou mais. Se o dispositivo de codificação e o dispositivo de decodificação na décima quarta modalidade da presente invenção selecionarem o processo de codificação independente, cada um dos componentes de cor que constituem o sinal de vídeo é codificado de forma completamente independente. Portanto, o número de componentes de cor pode ser livremente alterado sem mudar a processo de codificação/decodificação em princípio. Se o formato de sinal para a representação de cor de um sinal de vídeo for alterado no futuro, o processo de codificação independente na décima quarta modalidade tem o efeito capaz de aceitar uma mudança como esta.
[00315] A fim de realizar a configuração supradescrita, na décima quarta modalidade da presente invenção, o sinal de identificação de codificação comum/codificação independente 423 é representado na forma do “número de imagens contidas em uma unidade de acesso, que são independentemente codificadas sem referir-se mutuamente à predição de movimento”. Neste caso, o sinal de identificação de codificação comum/codificação independente 423 pode ser representado pelo número de possíveis valores para o parâmetro q. O número de possíveis valores para o parâmetro q é a seguir referido como num_pictures_in_au. Especificamente, num_pictures_in_au = 1 indica o “processo de codificação comum”, ao passo que num_pictures_in_au = 3 indica o “processo de codificação independente” na décima quarta modalidade da invenção. Quando o número de componentes de cor é maior ou igual a quatro, o valor de num_pictures_in_au pode ser estabelecido para satisfazer: num_pictures_in_au > 3. Por causa de tal sinalização, simplesmente decodificando e referindo-se a num_pictures_in_au, o dispositivo de decodificação não pode apenas distinguir os dados codificados obtidos pelo processo de codificação comum e do obtido pelo processo de codificação independente, mas também simultaneamente conhecido o número de imagens de componente de cor simples presente em uma unidade de acesso. Em decorrência disso, a compatibilidade com uma extensão futura da representação de cor do sinal de vídeo é garantida. Ao mesmo tempo, o processo de codificação comum e o processo de codificação independente podem ser tratados sem emendas no fluxo de bits.
[00316] A figura 70 é uma vista explanatória ilustrando uma estrutura de fluxo de bits dos dados em fatias em cada um do processo de codificação comum e do processo de codificação independente. No fluxo de bits codificado pelo processo de codificação independente, uma sinalização de identificação de componente de cor (color_channel_idc) é provida em uma área de cabeçalho nos dados em fatias para permitir a identificação da imagem de componente de cor na unidade de acesso, à qual os dados em fatias recebidos pelo dispositivo de decodificação pertencem, a fim de atingir o efeito descrito a seguir. As fatias com o mesmo valor de color_channel_idc são reunidas em um grupo. Especificamente, as fatias com diferentes valores de color_channel_idc não podem ter nenhuma dependência da codificação/decodificação (por exemplo, uma referência de compensação de movimento, modelamento de contexto e aprendizado de probabilidade de ocorrência em CABAC, e similares). Uma definição como esta garante a dependência de cada uma das imagens na unidade de acesso no processo de codificação independente. Além do mais, um valor de frame_num (a ordem de codificação/decodificação da imagem contendo a fatia) multiplexado em cada cabeçalho da fatia é o mesmo valor para as imagens de todos os componentes de cor em uma unidade de acesso.
[00317] A figura 71 é uma vista explanatória ilustrando uma configuração esquemática do dispositivo de codificação na décima quarta modalidade da presente invenção. Na figura 71, o processo de codificação comum é implementado em uma primeira unidade de codificação de imagem 503a, ao passo que o processo de codificação independente é implementado nas segundas unidades de codificação de imagem 503b0, 503bl e 503b2 (cada qual preparada para os três componentes de cor). O sinal de vídeo de entrada 1 é alimentado por uma chave (SW) 501 a qualquer uma da primeira unidade de codificação de imagem 503a, e uma unidade de separação de componentes de cor 502 e as segundas unidades de codificação de imagem 503b0 a 503b2. A chave 501 é ativada pelo sinal de identificação de codificação comum/codificação independente 423 para alimentar o sinal de vídeo de entrada 1 a um caminho designado. A seguir, é descrito um caso onde o sinal de identificação de codificação comum/codificação independente (num_pictures_in_au) 423 é multiplexado em um conjunto de parâmetros de sequência para o sinal de vídeo de entrada no formato 4: 4: 4 para ser um sinal para selecionar qualquer do processo de codificação comum e do processo de codificação independente para cada sequência. Este caso é conceitualmente o mesmo que a sinalização de identificação de compartilhamento - modo de predição inter 123 descrito na sétima modalidade da presente invenção e a sinalização de identificação de compartilhamento com cabeçalho do macrobloco 123c descrita na décima primeira modalidade da presente invenção. Para o uso do processo de codificação comum, o dispositivo de decodificação tem que executar o processo de decodificação comum. Por outro lado, para o uso do processo de codificação independente, o dispositivo de decodificação tem que executar o processo de decodificação independente. Portanto, o sinal de identificação de codificação comum/codificação independente 423 precisa ser multiplexado no fluxo de bits como informação que designa o processo a ser executado. Portanto, o sinal de identificação de codificação comum/codificação independente 423 é alimentado a uma unidade de multiplexação 504. A unidade de multiplexação do sinal de identificação de codificação comum/codificação independente 423 pode ser qualquer unidade, por exemplo, a unidade de um grupo de imagem (GOP) composto de alguns grupos de imagem na sequência, desde que a unidade esteja na camada de ordem superior no nível maior ou igual ao da imagem.
[00318] Para a implementação do processo de codificação comum, a primeira unidade de codificação de imagem 503a divide o sinal de vídeo de entrada 1 em macroblocos, cada macrobloco sendo obtido agrupando-se as amostras de três componentes de cor conforme ilustrados na figura 66, e prossegue com o processo de codificação com base no macrobloco. O processo de codificação realizado na primeira unidade de codificação de imagem 503a será descrito a seguir. Para a seleção do processo de codificação independente, a unidade de separação de componentes de cor 502 separa o sinal de vídeo de entrada 1 em dados de CO para um quadro, dados de Cl para um quadro e dados de C2 para um quadro, que são cada qual alimentados nas segundas unidades de codificação de imagem correspondente 503b0 a 503b2. Cada das segundas unidades de codificação de imagem 503b0 a 503b2 divide o sinal para um quadro, que é obtido separando-se o sinal de vídeo para os respectivos componentes de cor, em macroblocos na forma ilustrada na figura 67, e prossegue com o processo de codificação nas unidades de macroblocos. O processo de codificação nas segundas unidades de codificação de imagem 503b0 a 503b2 será descrito a seguir.
[00319] O sinal de vídeo composto de três componentes de cor para uma imagem é alimentado na primeira unidade de codificação de imagem 503a que por sua vez produz os dados codificados como um fluxo de vídeo 422a. Por outro lado, o sinal de vídeo composto de um único componente de cor para uma imagem é alimentado a cada uma das segundas unidades de codificação de imagem 503b0 a 503b2. Então, as segundas unidades de codificação de imagem 503b0 a 503b2 produzem os dados codificados como fluxos de vídeo 422b0 a 422b2, respectivamente. Os fluxos de vídeo 422b0 a 422b2 são multiplexados na forma de um fluxo de vídeo 422c na unidade de multiplexação 504 com base no estado do sinal de identificação de codificação comum/codificação independente 423. Então, o fluxo de vídeo 422c é produzido.
[00320] Para a multiplexação do fluxo de vídeo 422c, na unidade de acesso do caso do processo de codificação independente, a ordem de multiplexação e a ordem de transmissão de dados em fatias no fluxo de bits podem ser intercaladas nas imagens (componentes de cor) na unidade de acesso (figura 72). Neste caso, o dispositivo de decodificação tem que identificar o componente de cor na unidade de acesso, ao qual os dados em fatias pertencem. Com este propósito, a sinalização de identificação de componente de cor multiplexada na área de cabeçalho dos dados em fatias como na figura 70 é usada.
[00321] Com uma configuração como esta, quando o dispositivo de codificação usa as três segundas unidades de codificação de imagens independentes 503b0 a 503b2 para codificar as imagens dos três componentes de cor em um processo paralelo como no dispositivo de codificação ilustrado na figura 71, o dispositivo de codificação pode transmitir os dados codificados assim que os dados em fatias da imagem de um dos componentes de cor estejam prontos para transmissão sem esperar a preparação dos dados codificados das outras imagens de componente de cor. No AVC, uma imagem pode ser dividida em uma pluralidade de dados em fatias para a codificação. Os comprimentos dos dados em fatias ou o número de macroblocos contidos na fatia podem ser flexivelmente variados de acordo com as condições de codificação. A fim de garantir a independência do processo de decodificação da fatia, o contexto de vizinhança tal como a predição intra ou a codificação aritmética não pode ser usado entre as fatias vizinhas no espaço de imagem. Portanto, à medida que o comprimento dos dados em fatias aumenta, a maior eficiência de codificação é obtida. Por outro lado, se um erro é misturado no fluxo de bits durante a transmissão ou a gravação, uma recuperação mais rápida do erro pode ser feita à medida que o comprimento dos dados em fatias fica menor. Em decorrência disso, pode-se com maior probabilidade impedir que a qualidade seja deteriorada. Se o comprimento ou a estrutura de uma fatia, a ordem dos componentes de cor ou similares for fixada sem multiplexar a sinalização de identificação de componente de cor, a condição de gerar o fluxo de bits é fixada no dispositivo de codificação. Em decorrência disso, o dispositivo de codificação não pode flexivelmente suportar várias exigências de codificação.
[00322] Além do mais, a configuração do fluxo de bits ilustrada na figura 72 permite a redução do tamanho do armazenamento temporário transmitido necessário para a transmissão no dispositivo de codificação, especificamente, a redução de um atraso de processamento no dispositivo de codificação. A figura 72 ilustra a redução do atraso de processamento. Se a multiplexação dos dados em fatias sobre as imagens não for permitida, o dispositivo de codificação tem que armazenar temporariamente os dados codificados das outras imagens até que a codificação da imagem de um certo componente de cor específico termine. Isto significa a geração de um atraso no nível de imagem. Por outro lado, conforme ilustrado na parte inferior na figura 72, se os dados em fatias puderem ser entrelaçados no nível de fatia, a unidade de codificação de imagem para um componente de cor específico pode enviar os dados codificados para a unidade de multiplexação em unidades de dados em fatias para impedir atraso.
[00323] Os dados em fatias contidos em uma única imagem de componente de cor podem ser transmitidos na ordem da varredura por rasteio dos macroblocos, ou podem ser configurados para permitir uma transmissão entrelaçada, mesmo em uma única imagem.
[00324] A seguir, as operações da primeira e das segundas unidades de codificação de imagem serão descritas com detalhes. Esquema de operação da primeira unidade de codificação de imagem
[00325] A figura 73 ilustra uma configuração interna da primeira unidade de codificação de imagem 503a. Na figura 73, o sinal de vídeo de entrada 1 é no formato 4: 4: 4 e é alimentado com base no macrobloco conforme ilustrado na figura 66, cada macrobloco sendo obtido agrupando-se três componentes de cor.
[00326] Primeiramente, uma unidade de predição 461 seleciona uma imagem de referência a partir dos dados de imagem de referência preditiva de compensação de movimento armazenados nas memórias 16a para realizar a processo de predição de compensação do movimento com base no macrobloco supradescrito. As memórias 16a armazenam uma pluralidade de dados de imagem de referência composta de três componentes de cor em uma pluralidade de momentos. A unidade de predição 461 seleciona a imagem de referência ideal a partir da pluralidade de dados de imagem de referência para cada macrobloco para realizar a predição de movimento. Os dados de imagem de referência armazenados nas memórias 16a podem ser arranjados de uma maneira sequencial de quadros para cada componente de cor, ou as amostras de cada um dos componentes de cor podem ser armazenadas de uma sequencial de pontos. Sete tamanhos de blocos são preparados para a predição de compensação do movimento. Primeiramente, para cada macrobloco, qualquer um dos tamanhos 16 x 16, 16 x 8, 8 x 16 e 8 x 8 pode ser selecionado conforme ilustrado nas figuras 32A a 32D. Então, para a seleção do tamanho 8x8, qualquer um dos tamanhos 8x8, 8x4, 4 x 8 e 4 x 4 pode ser selecionado para cada bloco 8x8, conforme ilustrado nas figuras 32E e 32H.
[00327] A unidade de predição 461 executa a processo de predição de compensação do movimento para todo ou uma parte dos tamanhos de blocos e os sub-tamanhos de blocos nas figuras 32A a 32H, os vetores de movimento em um faixa de alcance pré-determinada e uma ou mais imagens de referência disponíveis, para cada macrobloco. Então, o sinal da diferença de predição 4 é obtido para cada bloco servindo como a unidade de predição de compensação do movimento pela informação de vetor de movimento e o número de identificação da imagem de referência usado para a predição no subtrator 3. A eficiência de predição do sinal da diferença de predição 4 é avaliada na unidade de determinação do modo de codificação 5. Dos processos de predição executados na unidade de predição 461, a unidade de predição 461 produz o tipo de macrobloco/subtipo de macrobloco 106, a informação de vetor de movimento/número de identificação da imagem de referência com o qual a eficiência de predição ideal para o macrobloco a ser predito é obtida. Toda a informação de cabeçalho de macrobloco tal como o tipo de macrobloco, o subtipo de macrobloco, a imagem de referência índice e o vetor de movimento são determinados como informação de cabeçalho comum aos três componentes de cor a ser usados para codificar e é multiplexada no fluxo de bits. Para a avaliação da idealidade da eficiência de predição, um valor do erro de predição pode ser avaliado apenas para um componente de cor pré- determinado (por exemplo, o componente G de RGB, o componente Y de YUV) a fim de reduzir a quantidade de cálculos. Alternativamente, o valor do erro de predição para todos os componentes de cor pode ser avaliado extensivamente para obter o desempenho de predição ideal, mas a quantidade de cálculos é aumentada neste caso. Adicionalmente, para a seleção final do tipo de macrobloco/subtipo de macrobloco 106, o coeficiente de ponderação 20 para cada tipo, que é determinado pela unidade de controle de codificação 19, é algumas vezes levado em consideração.
[00328] Similarmente, a unidade de predição 461 também implementa a predição intra. Na implementação da predição intra, a informação do modo de predição intra é enviada como um sinal de saída. Em seguida, quando a predição intra e a predição de compensação do movimento não são particularmente distintas uma da outra, o sinal de saída é referido como informação de cabeçalho de predição contendo a informação do modo de predição intra, a informação de vetor de movimento e o número de identificação da imagem de referência. Mesmo para a predição intra, o valor do erro de predição apenas para um componente de cor pré-determinado pode ser avaliado, ou o valor do erro de predição para todos os componentes de cor pode ser avaliado extensivamente. Finalmente, o uso da predição intra ou da predição inter para o tipo de macrobloco é determinado avaliando-se a eficiência de predição ou a eficiência de codificação na unidade de determinação do modo de codificação 5.
[00329] Então, o sinal da diferença de predição 4 obtido pela predição intra ou a predição de compensação do movimento com base no tipo de macrobloco/subtipo de macrobloco selecionado 106 e a informação de cabeçalho de predição 463 é enviado para a unidade de transformação 310. A unidade de transformação 310 transforma o sinal da diferença de predição de entrada 4 em um coeficiente de transformação a ser enviado para a unidade de quantização 9. Para este processo, o tamanho de bloco servindo como a unidade de transformação pode ser selecionado de 4 x 4 e 8 x 8. Quando o tamanho de bloco de transformação é selecionável, o tamanho de bloco selecionado no momento de codificação é refletido em um valor de uma sinalização de designação do tamanho de bloco de transformação 464 para multiplexar a sinalização 464 no fluxo de bits. A unidade de quantização 9 quantiza o coeficiente de transformação de entrada com base no parâmetro de quantização 21 determinado pela unidade de controle de codificação 19 para enviar o resultado da quantização como o coeficiente de transformação quantizado 10 para a unidade de codificação de comprimento variável 11. O coeficiente de transformação quantizado 10 contém a informação para os três componentes de cor e é codificado pela entropia por meios tais como codificação de Huffman ou codificação aritmética na unidade de codificação de comprimento variável 11.0 coeficiente de transformação quantizado 10 passa pela unidade de quantização inversa 12 e pela unidade de transformação inversa 312 para ser restaurado para o sinal da diferença de predição decodificado local 14. O sinal da diferença de predição decodificado local 14 é adicionado à imagem predita 7 gerada com base no tipo de macrobloco/subtipo de macrobloco 106 selecionado e na informação de predição de cabeçalho 463 no adicionador 18 para gerar a imagem decodificada local 15. Depois da implementação de um processo de remoção de distorção de bloco através do filtro de desbloqueio 462, a imagem decodificada local 15 é armazenada nas memórias 16a para ser usado para o processo de predição de compensação do movimento subsequente. A sinalização de controle do filtro de desbloqueio 24 indicando se deve ou não aplicar o filtro de desbloqueio ao macrobloco é também alimentada na unidade de codificação de comprimento variável 11.
[00330] O coeficiente de transformação quantizado 10, o tipo de macrobloco/subtipo de macrobloco 106, a informação de predição de cabeçalho 463 e o parâmetro de quantização 21, que são alimentados na unidade de codificação de comprimento variável 11, são arranjados e modelados como um fluxo de bits de acordo com uma regra pré-determinada (sintaxe). Então, o fluxo de bits é enviado como dados codificados na unidade NAL para cada dado em fatias obtido agrupando-se um ou mais macroblocos na forma ilustrada na figura 66 ao armazenamento temporário de transmissão 17. O armazenamento temporário de transmissão 17 suaviza o fluxo de bits de acordo com a banda de um caminho de transmissão no qual o dispositivo de codificação é conectado ou a velocidade de leitura de uma mídia de gravação para enviar o fluxo de bits como o fluxo de vídeo 422a. O armazenamento temporário de transmissão 17 envia a informação de ré-alimentação para a unidade de controle de codificação 19 de acordo com o estado de acúmulo do fluxo de bits no armazenamento temporário de transmissão 17 para controlar a quantidade de códigos a ser gerada na codificação de quadros de vídeo subsequentes.
[00331] Uma vez que uma saída da primeira unidade de codificação de imagem 503a é na unidade de uma fatia obtida agrupando-se três componentes e é equivalente à quantidade de códigos na unidade obtida agrupando-se unidades de acesso, o armazenamento temporário de transmissão 17 pode ser ainda localizado na unidade de multiplexação 504.
[00332] Na primeira unidade de codificação de imagem 503a na décima quarta modalidade, uma vez que todos os dados em fatias na sequência podem ser identificados como as fatias, cada fatia contendo CO, Cl e C2 (especificamente, a fatia contendo informação para três componentes de cor) com base no sinal de identificação de codificação comum/codificação independente 423, a sinalização de identificação de componente de cor não é multiplexada no cabeçalho da fatia. Esquema de operação da segunda unidade de codificação de imagem
[00333] A figura 74 ilustra uma configuração interna da segunda unidade de codificação de imagem 503b0 (503b 1 ou 503b2). Na figura 74, o sinal de vídeo de entrada 1 é alimentado com base no macrobloco, cada macrobloco sendo composto de um único componente de cor amostra, na forma ilustrada na figura 67.
[00334] Primeiramente, a unidade de predição 461 seleciona a imagem de referência a partir de dados de imagem de referência de compensação de movimento armazenados em uma memória 16b para realizar o processo de predição de compensação do movimento com base no macrobloco. A memória 16b pode armazenar os dados de uma pluralidade de imagens de referência, cada dado sendo composto de um único componente de cor, em uma pluralidade de momentos. A unidade de predição 461 seleciona a imagem de referência ideal a partir dos dados de imagem de referência com base no macrobloco para realizar a compensação de movimento. A memória 16b pode ser usada com as memórias 16a para a unidade de três componentes de cor. Sete tamanhos de blocos são preparados para a predição de compensação do movimento. Primeiramente, para cada macrobloco, qualquer um dos tamanhos 16x 16, 16x8, 8 x 16 e 8 x 8 pode ser selecionado conforme ilustrado nas figuras 32A a 32D. Então, para a seleção do tamanho 8x8, qualquer um dos tamanhos 8x8, 8x4, 4 x 8 e 4 x 4 pode ser selecionado para cada bloco 8x8, conforme ilustrado nas figuras 32E a 32H.
[00335] A unidade de predição 461 executa o processo de predição de compensação do movimento para todos ou uma parte dos tamanhos de blocos e os sub-tamanhos de blocos nas figuras 32A a 32H, os vetores de movimento em um faixa de alcance pré-determinada, e uma ou mais imagens de referência disponíveis, para cada macrobloco. Então, o sinal da diferença de predição 4 é obtido para cada bloco servindo como a unidade de predição de compensação do movimento pela informação de vetor de movimento e pelo número de identificação da imagem de referência usado para a predição no subtrator 3. A eficiência de predição do sinal da diferença de predição 4 é avaliada na unidade de determinação do modo de codificação 5. Dos processos de predição executados na unidade de predição 461, a unidade de predição 461 produz o tipo de macrobloco/subtipo de macrobloco 106 e o número de identificação da informação de vetor de movimento/imagem de referência com que a eficiência de predição ideal para o macrobloco a ser predito é obtida. Toda a informação de cabeçalho de macrobloco tais como o tipo de macrobloco, o subtipo de macrobloco, o índice de imagem de referência e o vetor de movimento são determinados como informação de cabeçalho para um único sinal do componente de cor do sinal de vídeo de entrada 1 a ser usado para codificar, e é multiplexada no fluxo de bits. Para a avaliação da idealidade da eficiência de predição, um valor do erro de predição é avaliado apenas para um único componente de cor a ser codificado. Para a seleção final do tipo de macrobloco/subtipo de macrobloco 106, o coeficiente de ponderação 20 para cada tipo, que é determinado pela unidade de controle de codificação 19, é algumas vezes levado em consideração.
[00336] Similarmente, a unidade de predição 461 também implementa a predição intra. Na implementação da predição intra, a informação do modo de predição intra é produzida como o sinal de saída. A seguir, quando a predição intra e a predição de compensação do movimento não são particularmente distintas uma da outra, o sinal de saída é referido como informação de cabeçalho de predição contendo a informação do modo de predição intra, a informação de vetor de movimento e o número de identificação da imagem de referência. Mesmo para a predição intra, o valor do erro de predição apenas para um único componente de cor a ser codificado pode ser avaliado. Finalmente, o uso da predição intra ou da predição inter para o tipo de macrobloco é determinado com base na avaliação da eficiência de predição ou na eficiência de codificação.
[00337] Então, o sinal da diferença de predição 4 obtido com base no tipo de macrobloco/subtipo de macrobloco 106 e na informação de cabeçalho de predição 463 selecionados é enviado para a unidade de transformação 310. A unidade de transformação 310 transforma o sinal da diferença de predição de entrada 4 do único componente de cor em um coeficiente de transformação a ser enviado para a unidade de quantização 9. Para este processo, o tamanho de bloco servindo como a unidade da transformação pode ser selecionado de 4 x 4 e 8 x 8. Quando o tamanho de bloco de transformação é selecionável, o tamanho de bloco selecionado no momento da codificação é refletido no valor da sinalização de designação do tamanho de bloco de transformação 464 para multiplexar a sinalização 464 no fluxo de bits. A unidade de quantização 9 quantiza o coeficiente de transformação de entrada com base no parâmetro de quantização 21 determinado pela unidade de controle de codificação 19 para enviar o resultado da quantização como o coeficiente de transformação quantizado 10 para a unidade de codificação de comprimento variável 11.0 coeficiente de transformação quantizado 10 contém a informação para o único componente de cor e é codificado pela entropia por meios tais como codificação de Huffman ou codificação aritmética na unidade de codificação de comprimento variável 11.0 coeficiente de transformação quantizado 10 passa pela unidade de quantização inversa 12 e pela unidade de transformação inversa 312 para ser restaurado para o sinal da diferença de predição decodificado local 14. O sinal da diferença de predição decodificado local 14 é adicionado à imagem predita 7 gerada com base no tipo de macrobloco/subtipo de macrobloco 106 e na informação de predição de cabeçalho 463 selecionados no adicionador 18 para gerar a imagem decodificada local 15. Depois da implementação do processo de remoção de distorção de bloco através do filtro de desbloqueio 462, a imagem decodificada local 15 é armazenada na memória 16b para ser usada para o processo de predição de compensação do movimento subsequente. A sinalização de controle do filtro de desbloqueio 24 indicando se deve ou não aplicar o filtro de desbloqueio no macrobloco é também alimentada na unidade de codificação de comprimento variável 11.
[00338] O coeficiente de transformação quantizado 10, o tipo de macrobloco/subtipo de macrobloco 106, a informação de predição de cabeçalho 463 e o parâmetro de quantização 21, que são alimentados na unidade de codificação de comprimento variável 11, são arranjados e modelados como um fluxo de bits de acordo com uma regra pré-determinada (sintaxe). Então, o fluxo de bits é enviado como dados codificados na unidade NAL para cada dado em fatias obtidas agrupando-se um ou mais macrobloco(s) na forma ilustrada na figura 67 ao armazenamento temporário de transmissão 17.0 armazenamento temporário de transmissão 17 suaviza o fluxo de bits de acordo com a banda de um caminho de transmissão no qual o dispositivo de codificação é conectado ou a velocidade de leitura de uma mídia de gravação para enviar o fluxo de bits como o fluxo de vídeo 422b0 (422b 1 ou 422b2). O armazenamento temporário de transmissão 17 envia a informação de ré-alimentação para a unidade de controle de codificação 19 de acordo com o estado de acúmulo do fluxo de bits no armazenamento temporário de transmissão 17 para controlar a quantidade de códigos a ser gerada na codificação de quadros de vídeo subsequentes.
[00339] Uma saída de cada uma das segundas unidades de codificação de imagem 503b0 a 503b2 é a fatia composta dos dados para um único vmzTi componente de cor. Quando a quantidade de códigos precisa ser controlada na unidade de um conjunto de unidades de acesso, um armazenamento temporário de transmissão comum, para a unidade obtida multiplexando-se a fatias de todos os componentes de cor, pode ser provido na unidade de multiplexação 504 para enviar informação de ré-alimentação para a unidade de controle de codificação 19 para cada um dos componentes de cor com base na quantidade de ocupação no armazenamento temporário de transmissão comum. Além do mais, neste caso, o controle de codificação pode ser realizado usando apenas a quantidade de informação gerada para todos os componentes de cor, ou pode ser realizado em consideração ao estado do armazenamento temporário de transmissão 17 de cada um dos componentes de cor. Quando o controle de codificação é realizado usando apenas a quantidade de informação gerada para todos os componentes de cor, a função equivalente à do armazenamento temporário de transmissão 17 pode ser realizada pelo armazenamento temporário de transmissão comum na unidade de multiplexação 504 para omitir o armazenamento temporário de transmissão 17.
[00340] Uma vez que as segundas unidades de codificação de imagem 503b0 a 503b2 na décima quarta modalidade da presente invenção pode identificar, com base no sinal de identificação de codificação comum/codificação independente 423, que todos os dados em fatias na sequência são fatias de componente de cor simples (especificamente, a fatia C0, a fatia Cl ou a fatia C2), a sinalização de identificação de componente de cor é sempre multiplexada no cabeçalho da fatia para permitir que o dispositivo de decodificação identifique a relação de correspondência entre a fatia e os dados de imagem na unidade de acesso. Portanto, cada uma das segundas unidades de codificação de imagem 503b0 a 503b2 pode transmitir dados assim que os dados para uma fatia sejam obtidos sem esperar pelo acúmulo de saídas para uma imagem de seu próprio armazenamento temporário de transmissão 17.
[00341] O sinal de identificação de codificação comum/codificação independente (num_pictures_in_au) é habilitado a representar simultaneamente a informação (informação de identificação de codificação comum) para distinguir os dados codificados pelo processo de codificação comum e os dados codificados pelo processo de codificação independente e a informação indicando quantas imagens de componente de cor simples estão presentes (número de componentes de cor) em uma unidade de acesso. Entretanto, cada uma das duas informações supramencionadas pode ser codificada como informação independente.
[00342] A primeira unidade de codificação de imagem 503a e as segundas unidades de codificação de imagem 503b0 a 503b2 diferem entre si apenas no tratamento do cabeçalho de macrobloco e na estrutura de fluxo de bits dos dados em fatias. O tratamento do cabeçalho de macrobloco aqui significa se a informação de cabeçalho de macrobloco é tratada como a informação comum aos três componentes ou a informação de um único componente de cor. Muitos dos blocos de processamento na figura 73 ou 74, tais como a unidade de predição, a unidade de transformação/a unidade de transformação inversa, a unidade de quantização/a unidade de quantização inversa e o filtro de desbloqueio, podem ser realizados por blocos funcionais comuns à primeira unidade de codificação de imagem 503a e às segundas unidades de codificação de imagem 503b0 a 503b2 com apenas uma diferença no tratamento da informação, especificamente, se a informação for tratada como informação para os três componentes de cor ou informação para um único componente de cor. Portanto, a primeira unidade de codificação de imagem 503a e as segundas unidades de codificação de imagem 503b0 a 503b2 podem ser realizadas não apenas como as unidades de processamento de codificação completamente independentes como na figura 71. Uma combinação arbitrária dos componentes básicos ilustrada na figura 73 ou 74 pode também realizar a montagem de vários dispositivos de codificação. Além do mais, provendo-se as memórias 16a de uma maneira sequencial de quadros na primeira unidade de codificação de imagem 503a, a configuração comum da memória de armazenamento de imagem de referência pode ser usada para a primeira unidade de codificação de imagem 503a e as segundas unidades de codificação de imagem 503b0 a 503b2.
[00343] A presença de um armazenamento temporário de fluxo virtual (armazenamento temporário de imagem codificada) para armazenar temporariamente o fluxo de vídeo 422c de acordo com a sequência ilustrada nas figuras 69 e 70 e um memória de quadro virtual (armazenamento temporário de imagem decodificada) para armazenar temporariamente as imagens decodificadas 427a e 427b, que não está ilustrada, é suposta no dispositivo de codificação na décima quarta modalidade da presente invenção. Neste caso, o fluxo de vídeo 422c é gerado de maneira a não causar o excesso de fluxo ou a escassez de fluxo do armazenamento temporário de imagem codificada, ou o colapso do armazenamento temporário de imagem codificada. O controle é basicamente realizado na unidade de controle de codificação 19. O controle garante que o dispositivo de decodificação não colapsa quando o fluxo de vídeo 422c é decodificado de acordo com as operações do armazenamento temporário de imagem codificada e do armazenamento temporário de imagem codificada (modelo de armazenamento temporário virtual) no dispositivo de decodificação. O modelo de armazenamento temporário virtual é definido como se segue.
[00344] O armazenamento temporário de imagem codificada é operado para cada unidade de acesso. Como anteriormente descrito, para o processo de decodificação comum, uma unidade de acesso contém os dados codificados para uma imagem. Por outro lado, para o processo de decodificação independente, uma unidade de acesso contém os dados codificados para o número de imagens igual aquele dos componentes de cor (para três imagens, se três componentes de cor forem usados). A operação definida para o armazenamento temporário de imagem codificada é realizada nos momentos quando o primeiro bit e o último bit na unidade de acesso são alimentados no armazenamento temporário de imagem codificada e quando os bits na unidade de acesso são lidos no armazenamento temporário de imagem codificada. A leitura no armazenamento temporário de imagem codificada é definida sendo feita imediatamente. Considera-se que todos os bits na unidade de acesso são lidos no armazenamento temporário de imagem codificada ao mesmo tempo. Depois de serem lidos no armazenamento temporário de imagem codificada, os bits na unidade de acesso são alimentados a uma unidade de análise de cabeçalho de ordem superior e então são decodificados na primeira unidade de decodificação de imagem ou na segunda unidade de decodificação de imagem, como anteriormente descrito, para ser produzido como um quadro de vídeo de cor agrupado na unidade de acesso. O processo da leitura dos bits no armazenamento temporário de imagem codificada para a saída do quadro de vídeo de cor na unidade de acesso é imediatamente executado de acordo com a definição do modelo de armazenamento temporário virtual. O quadro de vídeo de cor configurado para cada unidade de acesso é alimentado no armazenamento temporário de imagem codificada para calcular um tempo de saída do armazenamento temporário de imagem codificada. O tempo de saída do armazenamento temporário de imagem codificada é obtido adicionando-se um tempo de atraso pré-determinado ao tempo de leitura do armazenamento temporário de imagem codificada. O tempo de atraso pode ser multiplexado no fluxo de bits para controlar o dispositivo de decodificação. Quando o tempo de atraso é 0, especificamente, o tempo de saída do armazenamento temporário de imagem codificada é o mesmo que o tempo de leitura do armazenamento temporário de imagem codificada, o quadro de vídeo de cor é enviado do armazenamento temporário de imagem codificada simultaneamente com a entrada do quadro de vídeo de cor ao armazenamento temporário de imagem codificada. Caso contrário, especificamente, quando o tempo de saída do armazenamento temporário de imagem codificada é maior que o tempo de leitura do armazenamento temporário de imagem codificada, o quadro de vídeo de cor é armazenado no armazenamento temporário de imagem codificada até o momento da saída do armazenamento temporário de imagem codificada. Como anteriormente descrito, a operação do armazenamento temporário de imagem codificada é definido para cada unidade de acesso.
[00345] A figura 75 é uma vista explanatória ilustrando uma configuração esquemática do dispositivo de decodificação na décima quarta modalidade da presente invenção. Na figura 75, o processo de decodificação comum é executado em uma primeira unidade de decodificação de imagem 603a, ao passo que o processo de decodificação independente é executado em uma unidade de determinação de componente de cor 602 e nas segundas unidades de decodificação de imagem 603b0, 603b 1 e 603b2 (cada qual preparada para três componentes de cor).
[00346] O fluxo de vídeo 422c é dividido em unidades NAL em uma unidade de análise de cabeçalho de ordem superior 610. Informação de cabeçalho de ordem superior tal como um conjunto de parâmetros de sequência ou um conjunto de parâmetros de imagem é decodificada para ser armazenada em uma área de memória pré-determinada no dispositivo de decodificação, que pode ser referida como a primeira unidade de decodificação de imagem 603a, a unidade de determinação de componente de cor 602 e as segundas unidades de decodificação de imagem 603b0 a 603b2. O sinal de identificação de codificação comum/codificação independente 423 (num_pictures_in_au) multiplexado em cada sequência é decodificado e retido como uma parte da informação de cabeçalho de ordem superior.
[00347] O num_pictures_in_au decodificado é alimentado a uma chave (SW) 601. Para num_pictures_in_au = 1, a chave 601 alimenta a unidade NAL de fatia para cada imagem à primeira unidade de decodificação de imagem 603a. Para num_pictures_in_au = 3, a chave 601 alimenta a unidade NAL de fatia para cada imagem à unidade de determinação de componente de cor 602. Especificamente, para num_pictures_in_au = 1, a primeira unidade de decodificação de imagem 603a realiza o processo de decodificação comum. Para num_pictures_in_au = 3, cada das três segundas unidades de decodificação de imagem 603b0 a 603b2 realiza o processo de decodificação independente. As operações detalhadas da primeira unidade de decodificação de imagem 603a e das segundas unidades de decodificação de imagem 603b0 a 603b2 serão descritas a seguir.
[00348] A unidade de determinação de componente de cor 602 identifica a imagem de componente de cor na unidade de acesso atual à qual a unidade NAL de fatia corresponde, com base no valor da sinalização de identificação de componente de cor ilustrado na figura 70, para alimentar a unidade NAL de fatia a uma unidade adequada das segundas unidades de decodificação de imagem 603b0 a 603b2. Com uma configuração como esta do dispositivo de decodificação, mesmo quando o fluxo de bits codificado com as fatias sendo entrelaçado na unidade de acesso da maneira ilustrada na figura 72 é recebido, obtém-se o efeito de determinar facilmente a imagem de componente de cor, ao qual a fatia de interesse pertence, para permitir a correta decodificação. Esquema de operação da primeira unidade de decodificação de imagem
[00349] A figura 76 ilustra uma configuração interna da primeira unidade de decodificação de imagem 603a. Depois de dividir o fluxo de vídeo 442c de acordo com a sequência ilustrada na figura 69 ou 70, que é produzido pelo dispositivo de codificação ilustrado na figura 71, nas unidades NAL na unidade de análise de cabeçalho de ordem superior 610, a primeira unidade de decodificação de imagem 603a recebe as unidades NAL em unidades de fatias, cada fatia contendo CO, Cl e C2. O processo de decodificação é realizado com base no macrobloco, cada macrobloco sendo composto de três componentes de cor, ilustrados na figura 66, para restaurar o quadro de vídeo de saída.
[00350] A unidade de decodificação de comprimento variável 25 recebe como uma entrada o fluxo de vídeo 442c dividido nas unidades NAL e decifra o fluxo de vídeo 442c de acordo com uma regra pré-determinada (sintaxe) para extrair o coeficiente de transformação quantizado 10 para três componentes de cor e a informação de cabeçalho de macrobloco (o tipo de macrobloco/subtipo de macrobloco 106, a informação de predição de cabeçalho 463, a sinalização de designação do tamanho de bloco de transformação 464 e o parâmetro quantizado 21) usados normalmente nos três componentes de cor. O coeficiente de transformação quantizado 10 é alimentado junto com o parâmetro de quantização 21 na unidade de quantização inversa 12 que realiza o mesmo processo que é realizado na primeira unidade de codificação de imagem 503a para realizar o processo de quantização inversa. Subsequentemente, a saída da unidade de quantização inversa 12 é alimentada na unidade de transformação inversa 312 que realiza o mesmo processo que na primeira unidade de codificação de imagem 503a para ser restaurado para o sinal da diferença de predição decodificado local 14 (se a sinalização de designação do tamanho de bloco de transformação 464 estiver presente no fluxo de vídeo 422c, a sinalização de designação do tamanho de bloco de transformação 464 é referida nos processos de quantização inversa e transformação inversa). Por outro lado, dos processos realizados na unidade de predição 461 na primeira unidade de codificação de imagem 503a, a unidade de predição 461 inclui apenas o processo de referir- se à informação de predição de cabeçalho 463 para gerar a imagem predita 7. O tipo de macrobloco/subtipo de macrobloco 106 e a informação de cabeçalho de predição 463 são alimentados na unidade de predição 461 para obter as imagens preditas 7 para três componentes. Quando o tipo de macrobloco indica a predição intra, as imagens preditas 7 para três componentes de cor são obtidas de acordo com a informação do modo de predição intra a partir da informação de predição de cabeçalho 463. Por outro lado, quando o tipo de macrobloco indica a predição inter, as imagens preditas 7 para três componentes são obtidas de acordo com o vetor de movimento e o índice de imagem de referência a partir a informação de predição de cabeçalho 463. O sinal da diferença de predição decodificado local 14 e das imagens preditas 7 é adicionado ao adicionador 18 para obter as imagens decodificadas temporárias (imagens decodificadas locais) 15 para três componentes. Uma vez que as imagens decodificadas temporárias 15 são usadas para a predição de compensação do movimento dos macroblocos subsequentes, o processo de remoção de distorção de bloco é realizado na amostras de imagem decodificada temporária para três componentes através do filtro de desbloqueio 462 que realiza o mesmo processo que o realizado na primeira unidade de codificação de imagem 503a. Em seguida, as amostras de imagem decodificada temporária são enviadas como uma imagem decodificada 427a para ser armazenadas nas memórias 16a. Neste momento, o processo do filtro de desbloqueio é atuado nas imagens decodificadas temporárias 15 com base na indicação da sinalização de controle do filtro de desbloqueio 24 decifrada pela unidade de decodificação de comprimento variável 25. As memórias 16a armazenam os dados para uma pluralidade de imagens de referência, que é composta de três componentes de cor, em uma pluralidade de momentos. A unidade de predição 461 seleciona a imagem de referência indicada pelo índice de imagem de referência extraído do fluxo de bits para cada macrobloco a partir da pluralidade de imagens de referência para gerar a imagem predita. Os dados de imagem de referência podem ser armazenados de uma maneira sequencial de quadros para cada componente de cor nas memórias 16a. Altemativamente, como a imagem de referência, as amostras dos respectivos componentes de cor podem ser armazenadas de uma maneira sequencial de pontos nas memórias 16a. A imagem decodificada 427a contém três componentes de cor, e serve como um quadro de vídeo de cor que constitui a unidade de acesso 427a0 no processo de decodificação comum. Esquema de operação das segundas unidades de decodificação de imagem
[00351] A figura 77 ilustra uma configuração interna de cada das segundas unidades de decodificação de imagem 603b0 a 603b2. O fluxo de vídeo 442c de acordo com a sequência ilustrada na figura 69 ou 70, que é produzido pelo dispositivo de codificação ilustrado na figura 71, é dividido em unidades NAL na unidade de análise de cabeçalho de ordem superior 610 e então classificado na unidade NAL de fatias de CO, Cl e C2 na unidade de determinação de componente de cor 602. Cada uma das segundas unidades de decodificação de imagem 603b0 a 603b2 recebe cada unidade NAL de fatia de C0, Cl, ou C2 e então realiza o processo de decodificação com base no macrobloco, cada macrobloco sendo composto de uma única amostra de componente de cor ilustrada na figura 67, para restaurar o quadro de imagem de vídeo de saída.
[00352] A unidade de decodificação de comprimento variável 25 recebe o fluxo de vídeo 442c como uma entrada e decifra o fluxo de vídeo 442c de acordo com uma regra pré-determinada (sintaxe) para extrair o coeficiente de transformação quantizado 10 para um único componente de cor, e a informação de cabeçalho de macrobloco (o tipo de macrobloco/subtipo de macrobloco 106, a informação de predição de cabeçalho 463, a sinalização de designação do tamanho de bloco de transformação 464 e o parâmetro quantizado 21) é usada para o único componente de cor. O coeficiente de transformação quantizado 10 é alimentado junto com o parâmetro de quantização 21 na unidade de quantização inversa 12 que realiza o mesmo processo realizado na segunda unidade de codificação de imagem 503b0 (503b 1 ou 503b2) para implementar o processo de quantização inversa. Subsequentemente, a saída da unidade de quantização inversa 12 é alimentada na unidade de transformação inversa 312 que realiza o mesmo processo da segunda unidade de codificação de imagem 503b0 (503bl ou 503b2) para ser restaurado para o sinal da diferença de predição decodificado local 14 (se a sinalização de designação do tamanho de bloco de transformação 464 estiver presente no fluxo de vídeo 422c, a sinalização de designação do tamanho de bloco de transformação 464 é referida nos processos de quantização inversa e transformação ortogonal inversa). Por outro lado, dos processos realizados na unidade de predição 461 na segunda unidade de codificação de imagem 503b0 (503bl ou 503b2), a unidade de predição 461 inclui apenas o processo de referir-se à informação de predição de cabeçalho 463 para gerar a imagem predita 7. O tipo de macrobloco/subtipo de macrobloco 106 e a informação de cabeçalho de predição 463 são alimentados na unidade de predição 461 para obter a imagem predita 7 para um único componente de cor. Quando o tipo de macrobloco indica a predição intra, a imagem predita 7 para um único componente de cor é obtida de acordo com a informação do modo de predição intra a partir da informação de predição de cabeçalho 463. Por outro lado, quando o tipo de macrobloco indica a predição inter, a imagem predita 7 para um único componente de cor é obtida de acordo com o vetor de movimento e o índice de imagem de referência proveniente da informação de predição de cabeçalho 463. O sinal da diferença de predição decodificado local 14 e a imagem predita 7 são adicionados no adicionador 18 para obter a imagem decodificada temporária (imagem decodificada local) 15 para um único componente de cor. Uma vez que a imagem decodificada temporária 15 é usada para a predição de compensação do movimento dos macroblocos subsequentes, o processo de remoção de distorção de bloco é realizado na amostra de imagem decodificada temporária para um único componente de cor através do filtro de desbloqueio 26 que realiza o mesmo processo da segunda unidade de codificação de imagem 5030b (503b 1 ou 503b2). Em seguida, a amostra de imagem decodificada temporária é enviada como uma imagem decodificada 427b a ser armazenada na memória 16b. Neste momento, o processo do filtro de desbloqueio é atuado na imagem decodificada temporária 15 com base na indicação da sinalização de controle do filtro de desbloqueio 24 decifrada pela unidade de decodificação de comprimento variável 25. A imagem decodificada 427b contém apenas a amostra de um único componente de cor. As imagens decodificadas 427b produzidas por cada das segundas unidades de codificação de imagem 603b0 a 603b2, que são processadas em paralelo na figura 75, são agrupadas em uma unidade de acesso 427b0 para ser constituídas como um quadro de vídeo de cor.
[00353] Como fica aparente pela descrição apresentada, a primeira unidade de decodificação de imagem 603a e as segundas unidades de decodificação de imagem 603b0 a 603b2 diferem uma da outra apenas no tratamento da informação de cabeçalho de macrobloco e na estrutura de fluxo de bits dos dados em fatias. O tratamento da informação de cabeçalho de macrobloco significa se a informação de cabeçalho de macrobloco é tratada como a informação comum aos três componentes ou como a informação de um único componente de cor. Muitos dos blocos de decodificação básicos na figura 73 ou 74, tal como o processo de predição de compensação do movimento, o transformação inversa e a quantização inversa, podem ser realizados por blocos funcionais comuns à primeira unidade de decodificação de imagem 603a e às segundas unidades de decodificação de imagem 603b0 a 603b2. Portanto, a primeira unidade de decodificação de imagem 603a e as segundas unidades de decodificação de imagem 603b0 a 603b2 são concebidas não apenas como as unidades de processamento de decodificação completamente independentes como na figura 75. Uma combinação apropriada dos componentes básicos, conforme ilustrado na figura 76 ou 77, pode realizar a montagem de vários dispositivos de decodificação. Além do mais, provendo-se as memórias 16a de uma maneira sequencial de quadros na primeira unidade de decodificação de imagem 603a, a configuração comum das memórias 16a e da memória 16b pode ser usada para a primeira unidade de decodificação de imagem 603a e as segundas unidades de decodificação de imagem 603b0 a 603b2.
[00354] Como uma variação do dispositivo de codificação ilustrado na figura 71, o dispositivo de decodificação na figura 75 pode constantemente fixar o sinal de identificação de codificação comum/codificação independente 423 no “processo de codificação independente” para receber e decodificar a saída de fluxo de bits do dispositivo de codificação configurado para codificar independentemente todos os quadros sem usar absolutamente a primeira unidade de codificação de imagem 503a. Como uma variação do dispositivo de decodificação ilustrado na figura 75, no uso com a premissa que o sinal de identificação de codificação comum/codificação independente 423 é constantemente fixado no “processo de codificação independente”, o dispositivo de decodificação pode ser configurado para realizar o processo de decodificação independente sozinho com a omissão da chave 601 e da primeira unidade de decodificação de imagem 603a.
[00355] O sinal de identificação de codificação comum/decodificação independente (num_pictures_in_au) é feito para conter a informação (informação de identificação de codificação comum) para distinguir os dados codificados no processo de codificação comum e os dados codificados no processo de codificação independente uns dos outros e a informação indicando quantas imagens de componente de cor simples (número de componentes de cor) estão presentes em uma unidade de acesso. Entretanto, cada uma das duas informações supradescritas pode ser codificada como informação independente.
[00356] Adicionalmente, a primeira unidade de codificação de imagem 603a pode ser provida com uma função de decodificação do fluxo de bits de conformidade com o perfil AVC alto, que é obtido pela codificação de um sinal em um formato YUV 4: 2: 0 convencional para três componentes por vez. Na unidade de análise de cabeçalho de ordem superior 610, o formato em que o fluxo de bits é codificado é determinado para referir-se ao identificador de perfil decodificado do fluxo de vídeo 422c. Então, o resultado da determinação é transmitido como uma parte de informação de uma linha de sinal do sinal de identificação de codificação comum/codificação independente 423 para a chave 601 e a primeira unidade de decodificação de imagem 603a. Com uma configuração como esta da unidade de análise de cabeçalho de ordem superior 610, o dispositivo de decodificação que garante a compatibilidade com o fluxo de bits no formato YUV 4: 2: 0 convencional pode ser configurado.
[00357] Na primeira unidade de codificação de imagem 503a na décima quarta modalidade da presente invenção, a informação para três componentes de cor está presente nos dados em fatias. Além disso, exatamente o mesmo processo de predição intra/inter é implementado para os três componentes de cor. Portanto, o sinal correlação entre os componentes de cor algumas vezes permanece em um espaço de sinal de erro de predição. A fim de remover a correlação de sinal, por exemplo, o processo de transformação de espaço de cores supradescrito na décima terceira modalidade da presente invenção pode ser realizado no sinal de erro de predição. As figuras 78 e 79 ilustram exemplos da primeira unidade de codificação de imagem 503a com a configuração supradescrita. A figura 78 ilustra um exemplo onde o processo de transformação de espaço de cores é implementado no nível de pixel anterior ao processo de transformação. Neste exemplo, a unidade de transformação do espaço de cores 465 é provida antes da unidade de transformação 310, ao passo que a unidade de transformação do espaço de cores inversa 466 é provida depois da unidade de transformação inversa 312. A figura 79 ilustra um exemplo onde o processo de transformação de espaço de cores é implementado enquanto um componente de frequência a ser submetido ao processo de transformação de espaço de cores está sendo selecionado aproximadamente para o coeficiente dados obtido depois da implementação do processo de transformação. Neste exemplo, a unidade de transformação do espaço de cores 465 é provida depois da unidade de transformação 310, ao passo que a unidade de transformação do espaço de cores inversa 466 é provida antes da unidade de transformação inversa 312. Limitando-se o componente de frequência a ser submetido à transformação do espaço de cores, pode-se obter o efeito de impedir que um componente de ruído harmônico contido em um componente de cor específico se propague para um outro componente de cor que raramente contém ruído. Quando o componente de frequência a ser submetido ao processo de transformação de espaço de cores pode ser adaptativamente selecionado, informação de sinalização 467 para permitir que o dispositivo de decodificação determine a seleção na codificação é multiplexada no fluxo de bits.
[00358] Como o processo de transformação de espaço de cores, uma pluralidade de métodos de transformação descrita na décima terceira modalidade da presente invenção supradescrita pode ser comutada para cada macrobloco de acordo com a propriedade do sinal de imagem a ser codificado. Altemativamente, se a transformação deve ou não ser realizada pode ser determinado para cada macrobloco. Ainda altemativamente, os tipos de métodos de transformação selecionáveis podem ser designados no nível da sequência ou similares. Neste caso, a seleção do método de transformação pode ser feita para cada imagem, fatia, ou macrobloco. Ainda alternativamente, se o processo de transformação de espaço de cores é realizado antes ou depois da transformação ortogonal pode ser selecionável. Para a implementação dos processos de codificação adaptativa, as eficiências de codificação de todas as opções selecionáveis podem ser avaliadas na unidade de determinação do modo de codificação 5 para selecionar o processo de codificação adaptativa com a mais alta eficiência de codificação. Além do mais, para a implementação dos processos de codificação adaptativa, a informação de sinalização 467 para permitir que o dispositivo de decodificação determine a seleção em codificação é multiplexada no fluxo de bits. Tal sinalização pode ser designada em um nível da fatia, da imagem, do GOP, ou da sequência diferente daquela do macrobloco.
[00359] Os dispositivos de decodificação correspondentes aos dispositivos de codificação ilustrados nas figuras 78 e 79 são ilustrados nas figuras 80 e 81. A figura 80 ilustra um dispositivo de decodificação para decodificar o fluxo de bits que é codificado pela transformação do espaço de cores anterior ao processo de transformação pelo dispositivo de codificação da figura 78. A unidade de decodificação de comprimento variável 25 decodifica, a partir do fluxo de bits, a informação de sinalização 467 tal como a informação para selecionar se deve ou não realizar a transformação na unidade de transformação do espaço de cores inversa 466 ou a informação para a seleção de um método de transformação executável na unidade de transformação do espaço de cores inversa 466 para alimentar a informação decodificada na unidade de transformação do espaço de cores inversa 466. O dispositivo de decodificação na figura 80 implementa o processo de transformação de espaço de cores no sinal de erro de predição inversamente transformado com base na informação supramencionada na unidade de transformação do espaço de cores inversa 466. A figura 81 ilustra o dispositivo de decodificação para decodificar o fluxo de bits codificado pela transformação do espaço de cores durante a seleção do componente de frequência a ser submetido à transformação do espaço de cores depois do processo de transformação pelo dispositivo de codificação ilustrado na figura 79. A unidade de decodificação de comprimento variável decodifica, a partir do fluxo de bits, a informação de sinalização 467 que é informação de identificação contendo a informação para selecionar se deve ou não implementar a transformação na unidade de transformação do espaço de cores inversa 466, a informação para a seleção de um método de transformação executável na unidade de transformação do espaço de cores inversa e a informação para especificar um componente de frequência a ser submetidas à transformação do espaço de cores para alimentar a informação decodificada na unidade de transformação do espaço de cores inversa 466. O dispositivo de decodificação ilustrados na figura 81 implementa o processo de transformação de espaço de cores nos dados de coeficiente de transformação inversamente quantizados com base na informação decodificada na unidade de transformação do espaço de cores inversa 466.
[00360] Como no dispositivo de decodificação ilustrado na figura 75, a primeira unidade de decodificação de imagem 603a em cada um dos dispositivos de decodificação nas figuras 80 e 81 é provida com a função de decodificar o fluxo de bits de conformidade com o perfil AVC alto obtido codificando coletivamente um sinal de vídeo no formato YUV 4: 2: 0 convencional para os três componentes. A unidade de análise de cabeçalho de ordem superior 610 refere-se ao identificador de perfil decodificado a partir do fluxo de vídeo 422c para determinar o formato em que o fluxo de bits é codificado. Então, o resultado da determinação é transmitido como uma parte da informação do sinal linha do sinal de identificação de codificação comum/codificação independente 423 para a chave 601 e a primeira unidade de codificação de imagem 603a. Com uma configuração como esta, o dispositivo de decodificação para garantir a compatibilidade com o fluxo de bits no formato YUV 4: 2: 0 convencional pode ser configurado.
[00361] A figura 82 ilustra uma estrutura de dados codificados de informação de cabeçalho de macrobloco contida no fluxo de bits no formato YUV 4: 2: 0 convencional. A informação de cabeçalho de macrobloco ilustrada na figura 82 difere da informação de cabeçalho do componente Cn ilustrada na figura 50 apenas em que os dados codificados de um modo de predição de crominância intra 144 são contidos quando o tipo de macrobloco é a predição intra. Quando o tipo de macrobloco é a predição inter, a estrutura dos dados codificados da informação de cabeçalho de macrobloco é a mesma da informação de cabeçalho do componente Cn ilustrada na figura 50. Entretanto, um vetor de movimento do componente de crominância é gerado por um método diferente daquele para o componente de luminância, usando o número de identificação da imagem de referência e a informação de vetor de movimento contido na informação de cabeçalho de macrobloco.
[00362] Uma operação do dispositivo de decodificação para garantir a compatibilidade com o fluxo de bits no formato YUV 4: 2: 0 convencional será descrita. Como anteriormente descrito, considera-se que a primeira unidade de decodificação de imagem 603a tenha a função de decodificar o fluxo de bits no formato YUV 4: 2: 0 convencional. A configuração interna da primeira unidade de decodificação de imagem 603a é a mesma ilustrada na figura 76.
[00363] Uma operação da unidade de decodificação de comprimento variável 25 da primeira unidade de decodificação de imagem com a função de decodificar o fluxo de bits no formato YUV 4: 2: 0 convencional será descrita. Mediante entrada do fluxo de vídeo 422c na unidade de decodificação de comprimento variável, a unidade de decodificação de comprimento variável decodifica uma sinalização de indicação do formato de crominância. A sinalização de indicação do formato de crominância é contida em um cabeçalho de parâmetro de sequência do fluxo de vídeo 422c, e indica o formato de vídeo da imagem de entrada. Neste caso, a formato de vídeo da imagem de entrada é qualquer um do formato 4: 4: 4, do formato 4: 2: 2, do formato 4: 2: 0 e do formato 4:0:0. O processo de decodificação da informação de cabeçalho de macrobloco do fluxo de vídeo 422c é comutado dependendo de um valor da sinalização de indicação do formato de crominância. Quando o tipo de macrobloco indica a predição intra e a sinalização de indicação do formato de crominância indica o formato 4: 2: 0 ou o formato 4: 2: 2, a unidade de decodificação de comprimento variável 25 decodifica o modo de predição de crominância intra 144 a partir do fluxo de bits. Quando a sinalização de indicação do formato de crominância indica o formato 4: 4: 4, a unidade de decodificação de comprimento variável 25 pula a decodificação do modo de predição de crominância intra 144. Quando a sinalização de indicação do formato de crominância indica o formato 4: 0: 0, a unidade de decodificação de comprimento variável 25 pula a decodificação do modo de predição de crominância intra 144 em virtude do sinal de vídeo de entrada no formato (4:0:0) significar que o sinal de vídeo de entrada é composto de um sinal de luminância sozinho. O processo de decodificação da informação de cabeçalho de macrobloco sem ser o modo de predição de crominância intra 144 é o mesmo da unidade de decodificação de comprimento variável na primeira unidade de decodificação de imagem 603a que não é provida com a função de decodificação do fluxo de bits no formato YUV 4: 2: 0 convencional. Mediante entrada do fluxo de vídeo 422c na unidade de decodificação de comprimento variável 25 pelo processo apresentado, a sinalização de indicação do formato de crominância (não mostrada) e os coeficientes de transformação quantizados 10 e a informação de cabeçalho de macrobloco (o tipo de macrobloco/subtipo de macrobloco 106, a informação de predição de cabeçalho 463, a sinalização de designação do tamanho de bloco de transformação 464 e o parâmetro de quantização 21) para os três componentes de cor são extraídos. A sinalização de indicação do formato de crominância (não mostrada) e a informação de predição de cabeçalho 463 são alimentadas na unidade de predição 461 para obter as imagens preditas 7 para os três componentes.
[00364] A figura 83 ilustra uma configuração interna da unidade de predição 461 na primeira unidade de codificação de imagem que garante a compatibilidade com o fluxo de bits no formato YUV 4: 2: 0 convencional, e sua operação será descrita a seguir.
[00365] Uma unidade de comutação 4611a determina o tipo de macrobloco. Quando o tipo de macrobloco indica a predição intra, uma unidade de comutação 4611b determina um valor da sinalização de indicação do formato de crominância. Quando o valor da sinalização de indicação do formato de crominância indica qualquer um do formato 4: 2: 0 e do formato 4: 2: 2, as imagens preditas 7 para os três componentes são obtidas de acordo com a informação do modo de predição intra e a informação do modo de predição de crominância intra a partir da informação de predição de cabeçalho 463. Entre as imagens preditas 7 para os três componentes, a imagem predita do sinal de luminância é gerada em uma unidade de predição de sinal de luminância intra 4612 de acordo com a informação do modo de predição intra. As imagens preditas dos dois sinais de crominância são geradas em uma unidade de predição de sinal de crominância intra 4613 que realiza um processo diferente daquele para o componente de luminância de acordo com a informação do modo de predição de crominância intra. Quando o valor da sinalização de indicação do formato de crominância indica o formato 4: 4: 4, as imagens preditas para todos os três componentes são geradas na unidade de predição de sinal de luminância intra 4612 de acordo com a informação do modo de predição intra. Quando o valor da sinalização de indicação do formato de crominância indica o formato 4: 0: 0, apenas a imagem predita do sinal de luminância é gerada na unidade de predição de sinal de luminância intra 4612 de acordo com a informação do modo de predição intra em virtude de o sinal no formato 4: 0: 0 ser composto do sinal de luminância (um componente) sozinho.
[00366] Quando o tipo de macrobloco indica a predição inter na unidade de comutação 4611a, uma unidade de comutação 4611c determina um valor da sinalização de indicação do formato de crominância. Quando o valor da sinalização de indicação do formato de crominância indica qualquer um do formato 4: 2: 0 e do formato 4: 2: 2, a imagem predita é gerada em uma unidade de predição inter de sinal de luminância 4614 para o sinal de luminância pelo método de geração de imagem predita do sinal de luminância definido no padrão AVC de acordo com o vetor de movimento e o índice de imagem de referência a partir da informação de predição de cabeçalho 463. Para cada uma das imagens preditas dos dois sinais de crominância, um vetor de movimento de crominância é gerado na unidade de predição inter de sinal de crominância 4615 ajustando-se a escala do vetor de movimento obtido a partir da informação de predição de cabeçalho 463 com base em um formato de crominância. A imagem predita é gerada a partir de uma imagem de referência indicada pelo índice de imagem de referência obtido a partir da informação de predição de cabeçalho 463 com base no vetor de movimento de crominância de acordo com o método definido no padrão AVC. Quando o valor da sinalização de indicação do formato de crominância indica o formato 4: 0: 0, apenas a imagem predita do sinal de luminância é gerada no unidade de predição inter de sinal de luminância 4614 de acordo com o vetor de movimento e o índice de imagem de referência em virtude de o formato 4: 0: 0 indicar que o sinal é composto do sinal de luminância (um componente) sozinho.
[00367] Como anteriormente descrito, o dispositivo de geração das imagens preditas dos sinais de crominância no formato YUV 4: 2: 0 convencional é provido para comutar o meios usados para gerar as imagens preditas para os três componentes de acordo com o valor da sinalização de indicação do formato de crominância decodificado a partir do fluxo de bits. Portanto, o dispositivo de decodificação que garante a compatibilidade com o fluxo de bits no formato YUV 4: 2: 0 convencional pode ser configurado.
[00368] Se informação indicando se é ou não um fluxo de bits decodificável mesmo pelo dispositivo de decodificação que não suporta o processo de transformação de espaço de cores como no caso do dispositivo de decodificação ilustrado na figura 75 for provida ao fluxo de vídeo 422c alimentado nos dispositivos de decodificação nas figuras 80 e 81 para cada conjunto de parâmetros de sequência ou similares, o fluxo de bits pode ser decodificado em qualquer um dos dispositivos de decodificação ilustrados nas figuras 80, 81 e 75 de acordo com seu próprio desempenho de decodificação. Em decorrência disso, o efeito de garantir facilmente a compatibilidade com o fluxo de bits pode ser produzido.
Décima Quinta Modalidade
[00369] A décima quinta modalidade da presente invenção descreve uma outra modalidade do dispositivo de codificação e do dispositivo de decodificação na décima quarta modalidade da invenção, conforme ilustrado nas figuras 71 e 75. Esta décima quinta modalidade difere da décima quarta modalidade da invenção apenas na estrutura do fluxo de bits a ser alimentado e produzido pelo dispositivo de codificação e pelo dispositivo de decodificação. Um dispositivo de codificação nesta décima quinta modalidade multiplexa os dados codificados em uma estrutura de fluxo de bits ilustrada na figura 84.
[00370] No fluxo de bits com a estrutura ilustrada na figura 69, a unidade de AUD NAL contém informação, primary_pic_type, como um elemento. A figura 85 ilustra informação de um tipo de codificação de imagem quando os dados de imagem na unidade de acesso começando com a unidade de AUD NAL são codificados.
[00371] Por exemplo, primary_pic_type = 0 indica que todas as fatias na imagem são intra codificadas. Para primary_pic_type = 1, a imagem pode conter uma fatia para ser intra codificada e uma fatia que pode ser submetida à predição de compensação do movimento usando apenas uma imagem da lista de referência. Uma vez que primary_pic_type é informação para definir o modo de codificação que pode codificar uma imagem, o dispositivo de codificação opera a informação primary_pic_type para permitir a codificação adequada para várias condições tais como a propriedade do sinal de vídeo de entrada e a função de acesso aleatório. Uma vez que apenas um primary_pic_type é provido para cada unidade de acesso na décima quarta modalidade da invenção supramencionada, primary_pic_type é comum aos três imagens de componentes de cor na unidade de acesso quando o processo de codificação independente é realizado. Nesta décima quinta modalidade, para a codificação independente de cada uma das imagens de componente de cor, primary_pic_type para as demais duas imagens de componente de cor são adicionalmente inseridas na unidade de AUD NAL ilustrada na figura 69, de acordo com o valor de num_pictures_in_au. Alternativamente, como no caso da estrutura de fluxo de bits ilustrada na figura 84, os dados codificados de cada uma das imagens de componente de cor são configurados para começar com uma unidade NAL (Delimitador de Canal de Cor) indicando o início da imagem de componente de cor, e a unidade NAL de CCD é configurada para conter a informação primary_pic_type da imagem correspondente. Uma vez que os dados codificados das respectivas imagens de componente de cor são coletivamente multiplexados para uma imagem nesta estrutura, a sinalização de identificação de componente de cor (color_channel_idc) descrita na décima quarta modalidade da invenção é contida não no cabeçalho da fatia, mas na unidade NAL de CCD. Em decorrência disso, a informação da sinalização de identificação de componente de cor, que precisa ser multiplexada para cada fatia, pode ser concentrada nos dados para cada imagem. Portanto, o efeito de reduzir a informação de cabeçalho é obtido. Além do mais, basta detectar a unidade NAL de CCD constituída como uma sequência de bytes para verificar color_channel_idc apenas uma vez para uma imagem de componente de cor. Portanto, uma vez que o cabeçalho da imagem de componente de cor pode ser rapidamente encontrado sem realizar o processo de decodificação de comprimento variável, o dispositivo de decodificação não precisa mais verificar color__channel_idc em cada cabeçalho da fatia para separar a unidade NAL a ser decodificada para cada componente. Em decorrência disso, os dados pode ser alimentados suavemente na segunda unidade de decodificação de imagem.
[00372] Por outro lado, com uma configuração como esta, o efeito de reduzir o tamanho do armazenamento temporário e o atraso de processamento do dispositivo de codificação conforme descrito na décima quarta modalidade da presente invenção referindo-se à figura 72 é reduzido. Portanto, a sinalização pode ser realizada a um nível de ordem superior (a sequência ou o GOP) para indicar que a sinalização de identificação de componente de cor é multiplexada para cada fatia ou cada imagem de componente de cor. Em uma estrutura de fluxo de bits como esta, o dispositivo de codificação pode ser flexivelmente montado de acordo com seu modo de uso.
[00373] Como uma modalidade adicional, os dados codificados podem ser multiplexados na estrutura de fluxo de bits ilustrada na figura 86. Na figura 86, color_channel_idc e primary_pic_type, que estão contidos na unidade NAL de CCD no caso da figura 84, estão contidos em cada AUD. Na estrutura de fluxo de bits nesta décima quinta modalidade, uma (componente de cor) imagem é contida em uma unidade de acesso, mesmo no caso do processo de codificação independente. Mesmo em uma estrutura como esta, o efeito de reduzir a informação de cabeçalho pela concentração da informação da sinalização de identificação de componente de cor nos dados para cada imagem é obtido. Além do mais, basta detectar a unidade de AUD NAL constituída como a sequência de bytes para realizar apenas uma verificação de color_channel_idc para cada imagem. O cabeçalho da imagem de componente de cor pode ser rapidamente encontrado sem realizar o processo de decodificação de comprimento variável. Portanto, o dispositivo de decodificação não mais precisa verificar color_channel_idc em cada cabeçalho da fatia para separara a unidade NAL a ser decodificada para cada componente. Em decorrência disso, os dados podem ser alimentados suavemente na segunda unidade de decodificação de imagem. Por outro lado, uma vez que imagem de um quadro ou um campo é composta de três unidades de acesso, é necessário designar que as três unidades de acesso são dados de imagem que compartilham o mesmo tempo. Portanto, na estrutura de fluxo de bits ilustrada na figura 86, AUD pode adicionalmente conter um número de sequência de cada imagem (a ordem de codificação/decodificação na direção do tempo). Com uma estrutura como esta, o dispositivo de decodificação pode verificar a ordem de decodificação e exibição de cada imagem, um atributo do componente de cor, a possibilidade de IDR, e similares sem decodificar absolutamente os dados em fatias, desta forma realizando efetivamente edição e reprodução especial no nível de fluxo de bits.
[00374] Além do mais, na estrutura de fluxo de bits na figura 69, 84 ou 86, informação que designa o número da unidade NAL de fatias pode ser contida em uma imagem de componente de cor pode ser armazenada na área AUD ou CCD.
[00375] Para todas as modalidades supradescritas, cada um dos processos de transformação e do processo de transformação inverso pode ser uma transformação que garante ortogonalidade tal como um DCT, ou pode ser uma transformação, que não é uma transformação ortogonal como no caso do DCT em um sentido estrito, a ser combinada com a quantização ou processo de quantização inversa para aproximar da ortogonalidade, como no caso do AVC. Alternativamente, o sinal de erro de predição pode ser codificado como a informação no nível de pixel sem realizar a transformação. Décima Sexta Modalidade
[00376] Esta décima sexta modalidade descreve um dispositivo de codificação que usa um predição adaptativa intra quadro ou inter quadro para realizar a codificação em unidades de áreas retangulares obtidas dividindo-se uma saída de quadro de vídeo no formato 4: 4: 4 independentemente para cada componente de cor, cada área retangular sendo composta de Mi x Mi pixels (i = 0, 1 ou 2), e um dispositivo de decodificação correspondente. Aqui, Mi indica o tamanho de uma área obtida dividindo-se um sinal do i-gésimo componente de cor no quadro de vídeo.
1. Esquema de operação do dispositivo de codificação
[00377] A figura 87 ilustra uma configuração do dispositivo de codificação de vídeo na décima sexta modalidade da presente invenção. O sinal de vídeo de entrada 1 no formato 4: 4: 4 é separado em componentes de tela dos respectivos componentes de cor 505b0, 505b 1 e 505b2 na unidade de separação de componentes de cor 502, que são então alimentados nas segundas unidades de codificação de imagem 503b0, 503bl e 503b2, cada qual tendo a mesma configuração. Neste momento, pela unidade de separação de componentes de cor 502, informação 506b0, 506b 1 e 506b2 designando o tamanho Mi da área retangular correspondente à unidade de codificação nas respectivas unidades de codificação de imagem 503b0, 503b 1 e 503b2 são cada qual alimentadas nas unidades de codificação de imagem correspondentes 503b0, 503b 1 e 503b2. Em decorrência disso, as unidades de codificação de imagem 503b0, 503b 1 e 503b2 para codificar o componente de cor Ci dividem os componentes de tela correspondentes 505b0, 505b 1 e 505b2 com base no tamanho da área retangular Mi para realizar a codificação em unidades das áreas retangulares.
[00378] A seguir, uma operação de cada uma das unidades de codificação de imagem 503b0, 503b 1 e 503b2 será descrita com detalhes. As unidades de codificação de imagem 503b0, 503b 1 e 503b2 serão descritas na décima sexta modalidade da presente invenção como uma variação da configuração ilustrada na figura 74. A figura 88 ilustra uma configuração interna de cada uma das unidades de codificação de imagem 503b0, 503b 1 e 503b2. Na figura 88, os blocos funcionais e as linhas de sinal denotadas pelos mesmos números de referência daqueles da unidade de codificação de imagem ilustrados na figura 74 são os mesmos daqueles na figura 74, a menos que notado ao contrário. Para a descrição seguinte das unidades de codificação de imagem 503b0, 503bl e 503b2, os componentes de tela 505b0, 505bl e 505b2 dos respectivos componentes de cor são denotados representativamente por um sinal de entrada 505. Da mesma maneira, as informações 506b0, 506b 1 e 506b2 designando o tamanho Mi da área retangular correspondente à unidade de codificação são representativamente denotadas por informação de indicação de tamanho de bloco codificado 506. O sinal de entrada 505 é dividido em blocos retangulares por uma unidade de divisão de bloco 40 com base na informação de indicação de tamanho de bloco codificado 506. Na descrição seguinte, o sinal de entrada 505 correspondente ao componente de cor Ci é algumas vezes referido como imagem como a unidade de dados para o processo de codificação.
[00379] Quando o sinal de vídeo de entrada 1 é um sinal representado em um espaço de cores de luminância/sinais de crominância (por exemplo, Y, Cb e Cr, ou Y, Co e Cg e similares), existe um método de codificação de alocar o componente de luminância como o componente de tela 505b0 e os componentes de crominância como os componentes de tela 505b 1 e 505b2 no sinal de entrada 505. Neste caso, o componente de luminância é um componente de sinal em que a informação de textura contida no sinal de imagem é concentrado, ao passo que cada um dos sinais de crominância é um componente de sinal, do qual a correlação com o componente de luminância associado com a informação de textura é removida, para ter visualmente o papel de colorir uma imagem monocromática. Portanto, na predição de sinal tal como a predição de compensação do movimento inter quadro com base na estrutura da textura ou na predição espacial intra quadro empregada no AVC, o tamanho de bloco servindo como a unidade de predição não precisa necessariamente ser o mesmo do componente de luminância. Ao contrário, para o sinal de crominância, a predição não é necessariamente realizada do mesmo tamanho de bloco do componente de luminância. Acredita-se que a predição em diferentes tamanhos de blocos que permite o máximo uso da correlação dos sinais de crominância na tela pode aumentar a eficiência de codificação. Por exemplo, quando o componente Y é CO, o componente Cb é Cl e o componente Cr é C2, o tamanho de bloco de cada um dos componentes de crominância é determinado maior que o do componente de luminância pelo de ajuste MO=I6 e MI=M2=32. Em decorrência disso, para dois dos três componentes, a informação de cabeçalho (o modo de predição, o vetor de movimento e similares) para cada unidade de codificação pode ser reduzido a cerca de 1/4 do componente de luminância. Este estado é ilustrado nas figuras 89.
[00380] O tamanho Mi pode ser determinado de acordo com o tamanho da imagem. Por exemplo, em comparação entre uma imagem de vídeo de um sinal HDTV (1.920 pixels x 1.080 linhas) e uma imagem de vídeo de baixa resolução de um sinal CIF (352 pixels x 288 linhas) tendo os mesmos conteúdos, um bloco de 4 pixels x 4 linhas do sinal HDTV tem o tamanho de apenas uma área de pixel no sinal CIF. Portanto, à medida que a resolução da imagem aumenta, a área de textura de imagem substancial coberta por cada pixel é reduzida. Na predição de compensação do movimento inter quadro ou na predição espacial intra quadro, a similaridade da estrutura da textura da imagem original é detectada para usar uma área de sinal com a mais alta similaridade como um valor de predição. Portanto, a menos que um certo grau da estrutura da textura seja mantido no sinal no bloco correspondente à unidade de predição, a predição não é realizada com sucesso (desempenho da predição é inibido por um componente de ruído). Portanto, é desejável que um bloco de grande tamanho seja determinado para uma imagem de vídeo de alta resolução para cobrir a área de textura que é de outra forma coberta no caso de uma imagem de vídeo de baixa resolução. Assim, o tamanho Mi pode ser aumentado à medida que o tamanho da imagem aumenta. A seguir, a área retangular composta de Mi x Mi pixels é referida como macrobloco.
[00381] Para o sinal de entrada 505 dividido nos macroblocos pela unidade de divisão de bloco 40, o processo de predição intra para realizar a predição espacial a partir dos pixels vizinhos decodificados locais da imagem atual, que são armazenados na memória 16b, ou o processo de predição de compensação do movimento para cada componente de cor, usando a imagem de referência a partir dos dados de imagem de referência de predição para um quadro ou mais, que é armazenado na memória 16b, é realizado na unidade de predição 461. Uma vez que o processo da unidade de predição 461 nesta décima sexta modalidade difere daquele da unidade de predição 461 da figura 74, o processo será descrito a seguir.
1.1 Processo de predição intra
[00382] O processo de predição intra é realizado na unidade de predição 461 para cada macrobloco usando uma imagem de referência 701 armazenada na memória 16b. A predição intra tem dois modos. Um é o modo de predição intra N x N para realizar a predição espacial usando os pixels vizinhos para cada bloco composto de N pixels x N linhas. O outro é uma modo de predição intra da unidade de macrobloco para realizar a predição espacial usando os pixels vizinhos para cada macrobloco ilustrado nas figuras 89.
(a) Modo de predição intra N x N
[00383] Depois que o macrobloco é dividido em blocos, cada bloco sendo composto de N x N pixels, a predição espacial é realizada para cada bloco. Como um tamanho de bloco N correspondente à unidade da predição intra N x N, o tamanho, que pode ser obtido dividindo-se igualmente o tamanho do macrobloco Mi, é selecionado. Por exemplo, para Mi = 16, N é qualquer um de 4 e 8 e, para Mi = 32, N é qualquer um de 4, 8 e 16. Como o valor de predição, os pixels dos blocos vizinhos (superior esquerdo, superior, superior direito e esquerdo) de uma imagem atual, que já foram codificados e submetidos ao processo de decodificação local para ser armazenados na memória 16b, são usados. Como o modo de predição, por exemplo, uma pluralidade de modos ilustrada nas figuras 3, é preparada. Como na primeira modalidade da presente invenção supradescrita, as figuras 3 ilustram nove modos de predição para N = 4. Qualquer um dos nove modos de predição é selecionado para cada bloco 4x4 pixels.
[00384] Intra4x4_pred_mode = 0: usar pixels vizinhos superiores como uma imagem predita
[00385] Intra4x4_pred_mode = 1: usar pixels vizinhos esquerdos como uma imagem predita
[00386] Intra4x4_pred_mode = 2: usar um valor médio de oito pixels vizinhos como uma imagem predita
[00387] Intra4x4_pred_mode = 3: calcular uma média ponderada de cada dois ou três pixels a partir dos pixels vizinhos para usar a média ponderada obtida como uma imagem predita (correspondente a uma borda diagonal para baixo esquerdo a 45 graus)
[00388] Intra4x4_pred_mode = 4: calcular uma média ponderada de cada dois ou três pixels a partir dos pixels vizinhos para usar a média ponderada obtida como uma imagem predita (correspondente a uma borda diagonal para baixo direita a 45 graus)
[00389] Intra4x4_pred_mode = 5: calcular uma média ponderada de cada dois ou três pixels a partir dos pixels vizinhos para usar a média ponderada obtida como uma imagem predita (correspondente a uma borda vertical direita a 22,5 graus)
[00390] Intra4x4_pred_mode = 6: calcular uma média ponderada de cada dois ou três pixels a partir dos pixels vizinhos para usar a média ponderada obtida como uma imagem predita (correspondente a uma borda horizontal para baixo a 67,5 graus)
[00391] Intra4x4_pred_mode = 7: calcular uma média ponderada de cada dois ou três pixels a partir dos pixels vizinhos para usar a média ponderada obtida como uma imagem predita (correspondente a uma borda vertical esquerdo a 22,5 graus)
[00392] Intra4x4_pred_mode = 8: calcular uma média ponderada de cada dois ou três pixels a partir dos pixels vizinhos para usar a média ponderada obtida como uma imagem predita (correspondente a uma borda horizontal para cima a 112,5 graus)
[00393] Para N = 4, são necessárias dezesseis peças de informação do modo para cada macrobloco. A fim de reduzir a quantidade de códigos da informação do modo em si, predição codificação é realizada com base na informação de modo dos blocos vizinhos, tirando proveito de uma alta correlação na informação do modo entre os blocos vizinhos. Embora não ilustrado, para N = 8 ou 16, o modo de predição espacial em consideração à direcionalidade da textura de imagem como no caso de N = 4 é definido para realizar a processo de predição intra para cada de N x N sub-blocos obtidos dividindo-se igualmente o macrobloco Mi x Mi.
(b) Modo de predição intra da unidade de macrobloco
[00394] Neste modo, o bloco Mi x Mi pixel correspondente ao tamanho do macrobloco é predito em um momento. Para Mi = 16, qualquer um dos quatro modos ilustrados nas figuras 4 é selecionado para cada macrobloco. Como no caso do modo de predição intra N x N, os pixels dos macroblocos vizinhos (superior esquerdo, superior e esquerdo), que já foram codificados e submetidos ao processo de decodificação local a ser armazenados na memória 16b, são usados para gerar a imagem predita.
[00395] Intra 16 x 16_pred_mode = 0: usar dezesseis pixels na linha mais baixa do macrobloco superior como uma imagem predita
[00396] Intra 16 x 16_pred_mode = 1: usar dezesseis pixels na linha mais alta do macrobloco esquerdo como uma imagem predita
[00397] Intra 16 x 16_pred_mode = 2: usar um valor médio de trinta e dois pixels, isto é, dezesseis pixels (A das figuras 4) na linha mais baixa do macrobloco superior e dezesseis pixels (B das figuras 4) na linha mais a esquerda no macrobloco esquerdo, como uma imagem predita
[00398] Intra 16 x 16_pred_mode = 3: usar trinta e um pixels correspondentes a um pixel no canto inferior direito no macrobloco superior esquerdo, quinze pixels na linha mais baixa do macrobloco superior (exceto para um pixel branco) e quinze pixels na linha mais alta do macrobloco esquerdo (exceto para um pixel branco) para realizar um processo de computação pré-determinado (processo de adição ponderada de acordo com os pixels e posições de pixel usados a ser preditos) para obter a imagem predita
[00399] Mesmo se Mi não for 16, o modo de predição espacial da unidade de macrobloco em consideração à direcionalidade da textura de imagem como no caso de Mi = 16 é definido.
[00400] Como uma regra de avaliação da eficiência de predição para selecionar o modo de predição intra executado na unidade de predição 461, por exemplo, um custo taxa-distorção dado por:
Figure img0030
pode ser usado. Nesta expressão, Dm é uma distorção da codificação ou um valor do erro de predição quando um modo de predição intra m é usado. A distorção da codificação é obtida obtendo-se um sinal da diferença de predição usando o modo de predição intra m, decodificando uma imagem de vídeo a partir do resultado da transformação e quantização do sinal da diferença de predição e então medindo um erro da imagem de vídeo a partir de um sinal antes da codificação. O valor do erro de predição é obtido obtendo-se uma diferença entre uma imagem predita e um sinal antes da codificação quando o modo de predição intra m é usado e então quantificando a diferença. Por exemplo, uma soma da distância absoluta (SAD) é usada como o valor do erro de predição. Então, Rm é um valor de código gerado quando o modo de predição intra m é usado. Especificamente, Jm é um valor que define um equilíbrio entre a quantidade de códigos e o grau de deterioração quando o modo de predição intra m é usado. O modo de predição intra m que fornece o menor Jm dá a solução ideal.
1.2 Processo de predição de compensação do movimento
[00401] Na unidade de predição 461, a processo de predição de compensação do movimento inter quadro é também realizado para cada um dos macroblocos usando a imagem decodificada local 15 que foi codificada para ser armazenada na memória 16b. Como o tamanho de bloco a ser submetido à predição de compensação do movimento, conforme ilustrado nas figuras 90A a 90D, qualquer um dos tipos de divisão, ou seja, Mi x Mi pixels, Mi x (MÍ/2),(MÍ/2) x Mi e (Mi/2) x (M/2) pode ser selecionado para cada macrobloco. Adicionalmente, para a seleção do tamanho (Mi/2) x (Mi/2), qualquer um dos tamanhos (Mi/2) x (M/2),(Mi/2) x (MÍ/4),(MÍ/4) X (MÍ/2) e (Mi/4) x (Mi/4) pode ser adicionalmente selecionado para cada bloco (Mi/2) x (Mi/2), conforme ilustrado nas figuras 90E a 90H.
[00402] Adicionalmente, conforme ilustrado nas figuras 901 a 90L, uma área obtida dividindo-se igualmente o macrobloco pode ser usada como a unidade de predição de compensação do movimento. O sinal de imagem no geral contém um objeto que tem um perfil. Nas proximidades do perfil, frequentemente ocorre descontinuidade no movimento. Se apenas o macrobloco ou o bloco retangular correspondente a um subconjunto do mesmo servir como a unidade de detecção de movimento, a eficiência de predição é desvantajosamente impedida de ser melhorada, a menos que o bloco seja ainda mais dividido em blocos menores para aumentar o número de vetores de movimento quando o limite de um objeto está presente no bloco para causar a descontinuidade no movimento. Se a área obtida dividindo-se igualmente o macrobloco ilustrado nas figuras 901 a 90L for preparada como uma unidade de predição de compensação do movimento, a descontinuidade no movimento no perfil do objeto pode ser coberta com um número reduzido de vetores de movimento para melhorar a eficiência de predição.
[00403] Além do mais, quando um perfil é presente no macrobloco, o perfil no macrobloco pode no geral ter várias posições ou formas. A fim de definir todas as posições ou formas, não apenas as formas ilustradas nas figuras 901 a 90L, mas também qualquer tipo de divisão do bloco, precisam ser definidas. Limitando-se a área unitária que constitui a forma de divisão desigual “até o bloco (M/2) x (M/2)”, conforme ilustrado nas figuras 901 a 90L na décima sexta modalidade da presente invenção, os efeitos de reduzir a quantidade de códigos de informação adicional que precisam ser codificados para representar o padrão de divisão, a redução da quantidade de cálculos necessária para realizar a detecção de movimento para cada um dos padrões de divisão e melhorar a eficiência de um acesso à memória 16b para gerar o valor de predição para manter baixo uma largura de banda de memória são obtidas.
[00404] A seleção do padrão de divisão daqueles ilustrados nas figuras 90A a 90H para a predição de compensação do movimento é determinada como o modo de predição inter. Os vetores de movimento alocados para o padrão de divisão selecionado são gerados e produzidos. Para os tipos do modo de predição inter disponíveis para uma imagem, o modo de predição inter pode ser definido para permitir que todas as divisões de padrão nas figuras 90A a 90H sejam designadas, ou o número de divisões de padrão selecionáveis como o modo de predição inter pode ser limitado de acordo com as condições para reduzir a quantidade de cálculos necessários para selecionar o modo ideal de predição inter ou a quantidade de códigos da informação para planejar o modo de predição inter. Por exemplo, à medida que o número de divisões do macrobloco é aumentado, a quantidade de informação dos vetores de movimento, que precisa ser codificada, também aumenta. Portanto, quando a codificação é realizada a uma baixa taxa de bits, os padrões para subdivisão no tamanho de (M/2) x (M/2) pixels ou menos ilustrados nas figuras 90E a 90H não são usados. Em vez disso, as divisões de padrão ilustradas nas figuras 901 a 90L, que precisam apenas de uma menor quantidade de códigos dos vetores de movimento, são selecionadas. Por exemplo, o valor do parâmetro de quantização pode ser usado como um critério para determinar se a taxa de bits é alta ou baixa. Portanto, a definição do modo de predição inter pode ser comutada de acordo com o valor de um estado inicial do parâmetro de quantização para codificar a imagem. Alternativamente, um bit de identificação dedicado para determinar a definição do modo de predição inter pode ser multiplexado no fluxo de bits.
[00405] Adicionalmente, quando o vetor de movimento para cada imagem de referência tem que ser individualmente codificado em uma imagem usando uma imagem predita obtida de uma pluralidade de imagens de referência, como no caso de uma imagem B no MPEG-2 ou uma predição bidirecional no AVC, os padrões para subdivisão no tamanho de (Mi/2) x (Mi/2) pixels ou menos ilustrado nas figuras 90E a 90H não são usados. Em vez disso, a fim de reduzir a quantidade de informação dos vetores de movimento, as divisões de padrão ilustradas nas figuras 901 a 90L, que exigem uma menor quantidade de códigos dos vetores de movimento, podem ser selecionadas. Além disso, a definição do modo de predição inter pode ser comutada com base na pré-estimativa de movimentos em toda a tela ou na informação indicando o processo de codificação da imagem, que foi codificada imediatamente antes. Por exemplo, em uma cena contendo movimentos complicados, a definição do modo de predição inter é definida para permitir que o padrão de divisão em blocos do menor tamanho seja usado. Por outro lado, quando um movimento é uniforme e, portanto, é determinado que uma predição satisfatória pode ser realizada, mesmo nas unidades de grandes blocos, a definição do modo de predição inter que não usa o padrão de divisão no menor tamanho é determinada. Alternativamente, a imagem de referência usada para gerar um valor de predição pode ser designada para cada um dos blocos obtidos dividindo-se o macrobloco para codificar um número de identificação da imagem de referência.
[00406] Como uma regra de avaliação da eficiência de predição para selecionar o modo de predição inter executado na processo de predição de compensação do movimento, por exemplo, um custo taxa-distorção dado por: Jm,v,r = Dm,v,r + ÀRm,v,r (X: um número positivo) pode ser usado. Nesta expressão, Dm,v,r é uma distorção da codificação ou um valor do erro de predição quando um modo de predição inter m e um vetor de movimento v e uma imagem de referência r determinados de acordo com o modo de predição inter m são usados. A distorção da codificação é obtida obtendo-se um sinal da diferença de predição usando o modo de predição inter m, o vetor de movimento v, e a imagem de referência r, decodificando uma imagem de vídeo a partir do resultado da transformação e quantização do sinal da diferença de predição e então medindo-se um erro da imagem de vídeo para um sinal antes da codificação. O valor do erro de predição é obtido obtendo-se uma diferença entre uma imagem predita e um sinal antes da codificação quando o modo de predição inter m, o vetor de movimento v, e a imagem de referência r são usados, e então quantificando a diferença. Por exemplo, uma soma da distância absoluta (SAD) é usada como o valor do erro de predição. Então, Rm,v,r é a quantidade de códigos gerados quando o modo de predição inter m, o vetor de movimento v e a imagem de referência r são usados. Especificamente, Jm,v,r é um valor que define um equilíbrio entre a quantidade de códigos e o grau de deterioração quando o modo de predição inter m, o vetor de movimento v e a imagem de referência r são usados. O modo de predição inter m, o vetor de movimento v e a imagem de referência r, que fornecem o menor Jm,v,r, dão a solução ideal.
1.3 Processo de codificação de imagem
[00407] A unidade de predição 461 executa a processo de predição intra para todos os modos de predição intra ilustrados nas figuras 3 ou 4 ou o seu subconjunto para gerar uma imagem de predição intra para cada macrobloco. A unidade de predição 461 também executa a processo de predição de compensação do movimento para todos os modos preditivos de compensação do movimento ilustrados nas figuras 90 e o seu subconjunto para enviar a imagem predita 7 para o Mi x Mi bloco. A imagem predita 7 é subtraída do sinal de entrada 505 pelo subtrator 3 para obter o sinal da diferença de predição 4. A eficiência de predição do sinal da diferença de predição 4 é avaliada na unidade de determinação do modo de codificação 5 para enviar o modo de predição, com que a eficiência de predição ideal é obtida para o macrobloco a ser predito, do processo de predição executado na unidade de predição 461, como o modo de codificação 6. Especificamente, o modo de codificação 6 contém informação do tipo de macrobloco para identificar o uso do modo de predição intra N x N ilustrado nas figuras 3, o uso do modo de predição intra da unidade de macrobloco conforme ilustrado nas figuras 4, ou o padrão de divisão selecionado de qualquer das divisões de padrão ilustradas nas figuras 90 usadas para a predição de compensação do movimento. Além do mais, nesta décima sexta modalidade, o tipo do modo de codificação selecionável para a imagem atual é comutado com base em informação de seleção de definição do modo de codificação 711 determinada pela unidade de controle de codificação 19 ou similares. Como a informação de seleção de definição do modo de codificação 711, informação de indicação de seleção dedicada pode ser usada. Além disso, sem usar informação dedicada, por exemplo, um valor inicial do parâmetro de quantização 21 para codificar a imagem atual ou informação de indicação de tamanho de bloco codificado 506 notificada à unidade de divisão de bloco 40 pode ser usado sozinho ou em combinação. Na seleção do modo de codificação 6, o coeficiente de ponderação 20 para cada um dos modos de codificação, que é determinado pela unidade de controle de codificação 19, é algumas vezes levado em consideração. O sinal da diferença de predição ideal 4 obtido usando o modo de codificação 6 na unidade de determinação do modo de codificação 5 é enviado à unidade de transformação 310.
[00408] A unidade de transformação 310 transforma o sinal da diferença de predição 4 composto do bloco de pixel Mi x Mi de entrada para enviar o resultado da transformação como o coeficiente de transformação para a unidade de quantização 9. Para a transformação, o bloco de pixel Mi x Mi é dividido em L x L blocos de pixel (L<=Mi e Mi é um múltiplo de L). O tamanho de bloco de transformação L é designado por uma sinalização de indicação do tamanho de bloco de transformação 464. Com uma configuração como esta, o processo de transformação adaptado à propriedade local do sinal no bloco de pixel Mi x Mi pode ser realizada. Como o tamanho de bloco de transformação L, a transformação pode ser realizada para todos os valores selecionáveis de L para selecionar o valor que fornece a mais alta eficiência. Alternativamente, o tamanho de bloco de transformação L pode ser selecionado como o mesmo do tamanho de bloco no modo de predição intra ou o tamanho de bloco no modo preditivo de compensação do movimento. Neste último caso, uma vez que o modo de codificação 6 contém informação correspondente à sinalização de indicação do tamanho de bloco de transformação 464, o efeito de omitir a multiplexação da sinalização de indicação do tamanho de bloco de transformação 464 no fluxo de bits é obtido. A unidade de quantização 9 quantiza o coeficiente de transformação de entrada com base no parâmetro de quantização 21 determinado pela unidade de controle de codificação 19 para enviar o resultado da quantização como o coeficiente de transformação quantizado 10 para a unidade de codificação de comprimento variável 11. O coeficiente de transformação quantizado 10 é codificado pela entropia por meios tais como codificação de Huffman ou codificação aritmética na unidade de codificação de comprimento variável 11.0 coeficiente de transformação quantizado 10 passa pela unidade de quantização inversa 12 e a unidade de transformação inversa 312 para ser restaurado para o sinal da diferença de predição decodificado local 14. O sinal da diferença de predição decodificado local 14 é adicionado à imagem predita 7 gerada pelo método de predição correspondente ao modo de codificação 6 no adicionador 18 para gerar a imagem decodificada local 15. Para o uso da imagem decodificada local 15 no processo de predição seguinte, o filtro de remoção de distorção é aplicado a um limite entre os blocos na unidade de filtro de desbloqueio 462 com base na sinalização de controle do filtro de desbloqueio 24 indicando se o filtro de desbloqueio deve ou não ser aplicado. Alternativamente, a imagem decodificada local 15 é armazenada na memória 16b sem aplicação do filtro de desbloqueio. A unidade de filtro de desbloqueio 462 refere-se à informação de indicação de tamanho de bloco codificado 506 e a sinalização de indicação do tamanho de bloco de transformação 464 para realizar o processo de remoção de distorção de bloco ideal para cada um dos limites entre os macroblocos e o limite entre os blocos de transformação. Uma vez que o mesmo processo precisa ser realizado no dispositivo de decodificação, a sinalização de controle do filtro de desbloqueio 24 é alimentada na unidade de codificação de comprimento variável 11 para ser desmultiplexada no fluxo de bits.
[00409] A informação de indicação de tamanho de bloco codificado 506 para definir o tamanho do macrobloco Mi, o coeficiente de transformação quantizado 10, o modo de codificação 6, a informação de predição de cabeçalho 463 e o parâmetro de quantização 21 são codificados pela entropia por meios tais como codificação de Huffman ou codificação aritmética na unidade de codificação de comprimento variável 11 para ser arranjados e modelados como um fluxo de bits de acordo com uma regra pré-determinada (sintaxe). Então, o fluxo de bits obtido é enviado ao armazenamento temporário de transmissão 17. A informação de predição de cabeçalho 463 nesta décima sexta modalidade contém a informação do modo de predição (Intra4x4_pred_mode, Intra 16xl6_pred_mode ou similares) usada para cada unidade de predição bloco quando a processo de predição intra é selecionado como o modo de codificação 6. Por outro lado, quando a processo de predição de compensação do movimento é selecionado como o modo de codificação 6, a informação de cabeçalho 463 contém a informação de vetor de movimento ou o índice de imagem de referência de acordo com o padrão de divisão definido para cada do tipo de macroblocos ilustrado nas figuras 90A a 90H. O armazenamento temporário de transmissão 17 suaviza o fluxo de bits de acordo com a banda de um caminho de transmissão no qual o dispositivo de codificação é conectado ou a velocidade de leitura de uma mídia de gravação para enviar o fluxo de bits como o fluxo de vídeo 422b0. O armazenamento temporário de transmissão 17 também envia a informação de ré-alimentação para a unidade de controle de codificação 19 de acordo com um estado de acúmulo do fluxo de bits no armazenamento temporário de transmissão 17 para controlar a quantidade de códigos a ser gerada na codificação dos quadros de vídeo subsequentes. O fluxo de vídeo 422b0 é unitizado em fatias, cada qual sendo obtida agrupando-se uma pluralidade de macroblocos, e é então produzida.
2. Estrutura do fluxo de bits codificado
[00410] Executando-se o processo supramencionado na unidade de codificação de imagem 503, o sinal de vídeo de entrada 1 no dispositivo de codificação é independentemente codificado nas três unidades de codificação de imagem independentes 503b0, 503bl e 503b2 para ser produzido como fluxos de vídeo 422b0, 422b 1 e 422b2 em unidades de fatias, cada qual obtida agrupando-se uma pluralidade de macroblocos. Então, depois que os fluxos de vídeo 422b0, 422b 1 e 422b2 são arranjados no fluxo de vídeo 422c na unidade de multiplexação 504 como o sinal de vídeo de entrada 1 composto de três componentes, o fluxo de vídeo 422c é produzido pelo dispositivo de codificação.
[00411] Uma sequência de dados de cada uma dos fluxos de vídeo 422b0 a 422b2 cada qual saída das unidades de codificação de imagem 503b0 a 503b2 é ilustrada na figura 91. Cada um dos fluxos de vídeo 422b0 a 422b2 obtidas pelas unidades de codificação de imagem é constituído como os dados codificados para o número dos macroblocos contidos na imagem.
[00412] Uma pluralidade de macroblocos é alimentada a uma fatia correspondente à unidade de dados. Um cabeçalho de nível de imagem é preparado, que é referido pelos macroblocos contidos na mesma imagem como um parâmetro comum. No cabeçalho de nível de imagem, a informação de indicação de tamanho de bloco codificado 506 e a informação de seleção de definição do modo de codificação 711 são armazenadas. Para todos os macroblocos contidos na imagem, o tamanho do macrobloco Mi é determinado com base na informação de indicação de tamanho de bloco codificado 506 contida no cabeçalho de nível de imagem que é referido pelos macroblocos. Então, o procedimento de codificação de comprimento variável do modo de codificação 6 é determinado de acordo com a informação de seleção de definição do modo de codificação 711.
[00413] Cada fatia começa com um cabeçalho da fatia. O cabeçalho da fatia contém uma sinalização de identificação de componente de cor 721 para indicar o componente de cor dos dados codificados contidos no fatia de interesse (informação para definir qualquer dos componentes de cor 505b0 a 505b2) (como no caso dos dados em fatias codificados obtidos pelo processo de codificação independente na figura 69). Subsequente ao cabeçalho da fatia, os dados codificados de cada um dos macroblocos na fatia são arranjados (neste exemplo, K macroblocos estão contidos na segunda fatia em uma imagem). Como os dados de cada macrobloco, o modo de codificação 6, a informação de predição de cabeçalho 463, a sinalização de indicação do tamanho de bloco de transformação 464, o parâmetro de quantização 21 (apenas quando o parâmetro de quantização é alterado para cada macrobloco) e o coeficiente de transformação quantizado 10 são arranjados. O fluxo de vídeo 422c produzido pelo dispositivo de codificação ilustrado na figura 87 é obtido multiplexando-se os fluxos de vídeo 422b0 a 422b2 para três componentes, cada qual tendo a estrutura ilustrada na figura 91. A informação de indicação de tamanho de bloco codificado 506 e a informação de seleção de definição do modo de codificação 711 são arranjadas no cabeçalho de nível de imagem na figura 91, mas essas informações podem ser armazenadas em um cabeçalho do nível da sequência que é provido para cada sequência obtida agrupando-se uma pluralidade de quadros de vídeo para a informação para três componentes. Desta maneira, informação diferente para cada um dos três componentes não precisa ser codificada e transmitida com seu próprio cabeçalho de nível de imagem e a quantidade de informação do cabeçalho pode ser reduzida.
3. Esquema de operação do dispositivo de decodificação
[00414] O dispositivo de decodificação ilustrado na figura 92 recebe o fluxo de vídeo 422c produzido pelo dispositivo de codificação ilustrado na figura 87 e realiza o processo de decodificação com base no macrobloco para restaurar cada quadro de vídeo.
[00415] Na figura 92, a informação de cabeçalho de ordem superior tal como a cabeçalho do nível da sequência ou o cabeçalho de nível de imagem do fluxo de vídeo 422c é decodificada na unidade de análise de cabeçalho de ordem superior 610 a ser armazenada em uma área de memória pré- determinada que pode ser referida pela unidade de determinação de componente de cor 602 e pelas unidades de decodificação de imagem 603b0 a imiTi 603b2.
[00416] A unidade de determinação de componente de cor 602 identifica a imagem de componente de cor à qual a fatia corresponde, com base no valor da sinalização de identificação de componente de cor 721 ilustrada na figura 91 para distribuir e alimentar a fatia a uma unidade apropriada das unidades de decodificação de imagem (603b0 a 603b2). Com uma configuração como esta do dispositivo de decodificação, mesmo se o dispositivo de decodificação receber um fluxo de vídeo contendo três componentes de cor, o dispositivo de decodificação pode determinar facilmente a imagem de componente de cor à qual a fatia pertence para decodificar corretamente a imagem de componente de cor.
3.1 Esquema de operação das unidades de decodificação de imagem 603
[00417] A seguir, a operação de cada uma das unidades de decodificação de imagem 603b0 a 603b2 será descrita com detalhes. A descrição das unidades de decodificação de imagem 603b0 a 603b2 na décima sexta modalidade será feita como uma variação da configuração ilustrada na figura 77. A figura 93 ilustra uma configuração interna de cada uma das unidades de decodificação de imagem 603b0 a 603b2. Na figura 93, os blocos funcionais e as linhas de sinal denotadas pelos mesmos números de referência daqueles da unidade de decodificação de imagem ilustrada na figura 77 são os mesmos daqueles na figura 77, a menos que seja observado ao contrário.
[00418] Cada uma das unidades de decodificação de imagem 603b0 a 603b2 recebe dados codificados em fatias C0, Cl ou C2 classificados na unidade de determinação de componente de cor 602 para realizar o processo de decodificação com base no macrobloco, cada macrobloco sendo composto de amostras de um único componente de cor, para restaurar um sinal 427b0 (ou 427b 1 ou 472b2) do correspondente componente de cor do quadro de vídeo de saída.
[00419] A unidade de decodificação de comprimento variável 25 recebe a entrada do fluxo de vídeo 422c e decifra o fluxo de vídeo 422c de acordo com uma regra pré-determinada (sintaxe) para extrair o cabeçalho da fatia e o coeficiente de transformação quantizado 10, a informação de cabeçalho de predição 463, a sinalização de indicação do tamanho de bloco de transformação 464, o parâmetro de quantização 21 e o modo de codificação 6 para cada macrobloco. A sequência ou cabeçalho de nível de imagem é decodificado na unidade de análise de cabeçalho de ordem superior 610 na figura 92. Neste caso, a informação tal como a informação de indicação de tamanho de bloco codificado 506 ou a informação de seleção de definição do modo de codificação 711 torna-se referível antes do início da decodificação da fatia nas unidades de decodificação de imagem 603b0 a 603b2 para decodificar o componente de cor correspondente. Quando a sequência ou o cabeçalho de nível de imagem é decodificado na unidade de decodificação de comprimento variável 25 em cada uma das unidades de decodificação de imagem 603b0 a 603b2, o cabeçalho de nível de imagem é decodificado na unidade de decodificação de comprimento variável 25 antes do início da decodificação da fatia para extrair a informação tal como a informação de indicação de tamanho de bloco codificado 506 ou a informação de seleção de definição do modo de codificação 711 a partir do fluxo de bits. Embora não ilustrado, a informação de seleção de definição do modo de codificação 711 é usada para determinar o procedimento de decodificação de comprimento variável quando o modo de codificação 6 é decodificado na unidade de decodificação de comprimento variável 25.
[00420] O coeficiente de transformação quantizado 10 é alimentado junto com o parâmetro de quantização 21 na unidade de quantização inversa 12 que realiza o mesmo processo daquele em cada uma das unidades de codificação de imagem 503b0 a 503b2 para ser submetido ao processo de quantização inversa. Subsequentemente, uma saída da unidade de quantização inversa 12 é alimentada na unidade de transformação inversa 312 que realiza o mesmo processo daquele em cada uma das unidades de codificação de imagem 503b0 a 503b2 para ser restaurado para o sinal da diferença de predição decodificado local 14. Por meio do processo supramencionado, a fim de constituir a sinalização de designação do tamanho de bloco de transformação 464 provendo o tamanho de bloco de transformação L servindo como a unidade da transformação inversa e da quantização inversa e da transformação inversa produzida como a imagem de erro de predição do bloco de pixel Mi x Mi, a informação de indicação de tamanho de bloco codificado 506 é referida. Por outro lado, a unidade de predição 461 inclui apenas o processo de referir ao modo de codificação 6 e a informação de predição de cabeçalho 463 para gerar a imagem predita 7 daquelas realizadas na unidade de predição 461 em cada uma das unidades de codificação de imagem 503b0 a 503b2. O modo de codificação 6 e a informação de predição de cabeçalho 463 são alimentados na unidade de predição 461 para obter a imagem predita 7. A unidade de predição 461 é notificada da informação de indicação de tamanho de bloco codificado 506 para gerar a imagem predita para o bloco de pixel Mi x Mi com base em o tamanho do macrobloco Mi.
[00421] Quando o modo de codificação 6 indica o modo de predição intra tal como a predição intra N x N ou a unidade de macrobloco predição intra, a imagem predita 7 é obtida usando a informação do modo de predição intra para cada N x N bloco ou a informação do modo de predição intra para cada macrobloco e a imagem de referência 701 armazenada na memória 16b de acordo com o tamanho do macrobloco Mi a partir da informação de predição de cabeçalho 463. Quando o modo de codificação 6 indica a predição inter (compensação de movimento), o padrão de divisão do macrobloco é identificado a partir daqueles das figuras 90A a 90H com base no modo de codificação 6. Então, a imagem predita 7 é obtida usando a imagem de referência 701 armazenada na memória 16b de acordo com o vetor de movimento, o índice de imagem de referência e o tamanho do macrobloco Mi obtida a partir da informação de predição de cabeçalho 463.
[00422] O sinal da diferença de predição decodificado local 14 e a imagem predita 7 são adicionados pelo somador 18 para obter uma imagem decodificada 427b0 (ou 427b 1 ou 427b2). Uma vez que a imagem decodificada 427b0 (ou 427b 1 ou 427b2) é usada para a predição de compensação do movimento dos macroblocos subsequentes, o processo de remoção de distorção de bloco pode ser realizado no filtro de desbloqueio 26 com base na sinalização de controle do filtro de desbloqueio 24 como nas unidades de codificação de imagem 503b0 a 503b2. Neste caso, uma vez que o resultado do processo do filtro de desbloqueio 26 é armazenado na memória 16b para ser referido como a imagem de referência 701 para a decodificação de imagem subsequente, o processo de remoção de distorção de bloco adaptado a cada um dos macroblocos e os blocos de transformação é realizada referindo-se à informação de indicação de tamanho de bloco codificado 506 e a sinalização de designação do tamanho de bloco de transformação 464 como no caso de codificação. A imagem decodificada 427b0 (ou 427b 1 ou 427b2) é armazenada na memória 16b para ser usada para o processo de predição de compensação do movimento subsequente. A imagem decodificada 427b0 (ou 427b 1 ou 427b2) contém apenas as amostras de um único componente de cor. As imagens decodificadas 427b0, 427b 1 e 427b2, que são respectivamente produzidas pelas unidades de decodificação de imagem 603b0 a 603b2 para decodificar os outros componentes de cor, são agrupadas em um quadro de vídeo para constituir um quadro de vídeo de cor.
[00423] De acordo com o dispositivo de codificação e o dispositivo de decodificação supramencionados, a fim de codificar eficientemente o sinal de vídeo de cor no formato 4: 4: 4, cada um dos componentes de cor pode ser independentemente submetido à codificação de predição. Além do mais, o tamanho do macrobloco a ser predito e codificado pode ser comutado dinamicamente de acordo com a propriedade do sinal de cada um dos componentes de cor. Portanto, a quantidade de códigos da informação de predição de cabeçalho 463 tais como o modo de predição intra, o vetor de movimento, ou o índice de imagem de referência, que tern uma alta taxa com relação a uma quantidade total de códigos em uma codificação com baixa taxa de bits a uma alta razão de compressão, pode ser eficientemente mantida baixa na codificação. Adicionalmente, no processo de predição de compensação do movimento, o padrão de divisão desigual é usado para o macrobloco para aumentar a eficiência de predição com um reduzido número de vetores de movimento para manter baixa a quantidade de códigos da informação de predição de cabeçalho 463. Em decorrência disso, o equilíbrio entre a eficiência de predição e a quantidade de códigos é melhorada. Ao mesmo tempo, o tipo do modo de predição inter representando o padrão de divisão é diversificado para melhorar a eficiência de predição para vários movimentos. Além do mais, o tipo de modo de predição inter exigido pode ser comutado de acordo com as condições de codificação tal como a taxa de bits ou a resolução da imagem. Em decorrência disso, o dispositivo de codificação que pode codificar eficientemente o sinal de vídeo de cor no formato 4: 4: 4 e o dispositivo de decodificação correspondente a um dispositivo de codificação como este podem ser providos.
[00424] Embora o dispositivo de codificação ilustrado na figura 88 obtido adicionando-se a unidade de divisão de bloco 40 ao dispositivo de codificação ilustrado na figura 74 e o dispositivo de decodificação correspondente a um dispositivo de codificação como este tenham sido descritos na décima sexta modalidade, efeitos similares podem ser obtidos também usando o dispositivo de codificação obtido adicionando-se a unidade de divisão de bloco 40 à função de processamento para realizar um processo de codificação individual e independente para cada componente de cor e o dispositivo de decodificação correspondente a ele conforme descrito em outras modalidades. Substituindo-se a parte para executar o processo de codificação individual no dispositivo de codificação na figura 71 com o dispositivo de codificação na figura 87 e a parte para executar o individual processo de decodificação no dispositivo de decodificação na figura 75 com o dispositivo de decodificação na figura 92, o dispositivo de codificação que é mais altamente adaptativo e eficiente para a codificação do sinal de vídeo de cor no formato 4: 4: 4 e o dispositivo de decodificação correspondente a ele podem ser providos.
Décima Sétima Modalidade
[00425] Ao contrário do dispositivo de codificação e do dispositivo de decodificação na décima sexta modalidade, o dispositivo de codificação e o dispositivo de decodificação, que comutam dinamicamente as precisões de detecção do vetor de movimento para realizar a processo de predição de compensação do movimento na unidade de predição, serão descritos na décima sétima modalidade.
[00426] Em princípio, o sinal de entrada 505 correspondente a uma imagem digital contém apenas informação de pixel discreta gerada pela amostragem (a seguir, referido como um pixel inteiro). Uma técnica para criar uma amostra virtual entre os pixels inteiros por uma operação de interpolação para usar a amostra virtual obtida como uma imagem de predição é amplamente empregada. A técnica é conhecida como vantajosa em dois pontos: melhoria da precisão de predição pelo maior número de candidatos de predição; e melhoria da eficiência de predição pela menor singularidade da imagem de predição pelo efeito de filtração produzido pela operação de interpolação. Por outro lado, deve-se perceber que a quantidade de códigos dos vetores de movimento, que representam a quantidade de movimento, também aumenta com a melhoria da precisão da amostra virtual em virtude de a precisão dos vetores de movimento também precisar ser aumentada.
[00427] Nos métodos de codificação tais como o MPEG-1 e o MPEG- 2, uma predição de meio pixel que permite o uso da precisão da amostra virtual até uma precisão de meio pixel é empregada. A figura 94 ilustra um estado onde amostras a uma precisão de 1/2 pixel são criadas. A figura 94 ilustra pixels inteiros A, B, C e D, e as amostras virtuais a uma precisão de meio pixel, e, f, g, h, e i, que são criadas a partir dos pixels inteiros A a D. e = (A+B)//2 f = (C+D)//2 g = (A+Q//2 h = (B+D)//2 i = (A+B+C+D)//2 (onde // indica um divisão de arredondamento)
[00428] No MPEG-4 (ISO/IEC 14496-2), uma predição de predição de 1/4 pixel usando uma amostra virtual até uma precisão de 1/4 pixel é empregada. Na precisão de predição de 1/4 pixel, depois de criar as amostras de meio pixel, amostras de precisão de 1/4 pixel são criadas usando as amostras de meio pixel obtidas. A fim de impedir excessiva suavização para criar as amostras de meio pixel, um filtro com um grande número de derivações é designado para ser usado para reter um componente de frequência do sinal original ao máximo possível. Por exemplo, na precisão de predição de 1/4 pixel no MPEG-4, uma amostra virtual a uma precisão de meio pixel, que serve para criar uma amostra virtual na precisão de 1/4 pixel, é criada por oito pixels vizinhos da seguinte maneira. A fórmula seguinte é aplicada apenas a um processo horizontal. A amostra virtual a uma precisão de meio pixel, que é criada para criar a amostra virtual na precisão de 1/4 pixel, e X componentes X_4 a X4 correspondente os pixels inteiros na fórmula seguinte têm a relação posicionai ilustrada na figura 95.
Figure img0031
(onde COEk: um coeficiente do filtro (a soma dos coeficientes é 256); e // indica um divisão de arredondamento)
[00429] No AVC (ISO/IEC 14496-10), um filtro incluindo seis derivações, [1, -5, 20, 20, -5, 1], é empregado para criar as amostras virtuais na precisão de meio pixel. Adicionalmente, as amostras virtuais na precisão de 1/4 pixel são criadas pelo processo de interpolação linear similar ao que cria as amostras de meio pixel no MPEG-1 e o MPEG-2 supradescritas.
1. Operação do dispositivo de codificação
[00430] Mesmo na décima sétima modalidade, a precisão de meio pixel ou de 1/4 pixel pode ser designada como a precisão da amostra virtual no processo de predição de compensação do movimento. Com base nesta condição, o dispositivo de codificação e o dispositivo de decodificação na décima sétima modalidade são configurados de forma que a precisão da amostra virtual usada para cada componente de cor possa ser designada. A figura 96 ilustra uma configuração de cada uma das unidades de codificação de imagem 503b0 a 503b2 na décima sétima modalidade. As unidades de codificação de imagem 503b0 a 503b2 na figura 96 diferem daquelas ilustradas na figura 88 apenas nas operações da unidade de predição 461 e da unidade de codificação de comprimento variável 11.
[00431] A unidade de predição 461 na décima sétima modalidade recebe informação de indicação de precisão de pixel virtual 800. Com base na informação recebida 800, a unidade de predição 461 determina a precisão de pixel virtual, para que a detecção do vetor de movimento seja realizada, para realizar um processo. Embora não ilustrado, a informação de indicação de precisão de pixel virtual 800 é configurada para ser individualmente designada para as unidades de codificação de imagem 503b0 a 503b2 que codifica os respectivos componentes de cor para cada componente de cor Ci. Quando a informação de indicação de precisão de pixel virtual 800 indica uma “detecção do vetor de movimento na precisão de 1/4 pixel”, a unidade de predição 461 realiza a detecção do vetor de movimento enquanto as amostras na precisão de 1/4 pixel estão sendo criadas por interpolação linear depois da criação das amostras de precisão de meio pixel com base em um filtro multiderivações como no MPEG-4 ou o AVC. Por outro lado, quando a informação de indicação de precisão de pixel virtual 800 indica apenas uma “detecção do vetor de movimento na precisão de meio pixel”, a detecção do vetor de movimento é realizada enquanto as amostras na precisão de meio pixel estão sendo criadas com base no filtro multiderivações como no MPEG- 4 ou o AVC supradescrito, ou enquanto as amostras na precisão de meio pixel estão sendo criadas pela interpolação linear como no MPEG-1 e no MPEG-2 supradescrito. Uma vez que o dispositivo de decodificação precise criar as amostras virtuais da mesma maneira para obter a imagem predita, a informação de indicação de precisão de pixel virtual 800 é multiplexada e produzida no fluxo de bits. O método de criar a amostra de precisão de meio pixel pode envolver realizar o processo por um método determinado de antemão no mesmo procedimento pelo dispositivo de codificação e pelo dispositivo de decodificação. Alternativamente, uma pluralidade de métodos pode ser preparada e o método selecionado pode ser multiplexado no fluxo de bits como informação de indicação do método de criação da amostra virtual 811 e transmitida ao dispositivo de decodificação. Como um método de ajuste da informação de indicação de precisão de pixel virtual 800, por exemplo, para codificar no espaço de cores como o de Y, Cb e Cr, o método seguinte é concebível. A detecção do vetor de movimento é realizada a uma maior precisão para o componente Y que reflete bastante a estrutura da textura da imagem com a informação de indicação de precisão de pixel virtual 800 estabelecido para indicar a “detecção do vetor de movimento na precisão de 1/4 pixel”, ao passo que a informação de indicação de precisão de pixel virtual 800 é estabelecida para indicar “apenas a detecção do vetor de movimento na precisão de meio pixel” para os componentes de crominância (Cb e Cr) com uma menor correlação com a estrutura da textura do que o sinal do componente Y. Este método pode ser configurado não apenas para mudar a precisão do pixel virtual indicada para cada componente de cor, mas também para realizar a detecção de movimento a uma maior precisão pelo ajuste da informação de indicação de precisão de pixel virtual 800 para indicar a “detecção do vetor de movimento na precisão de 1/4 pixel” para todos os componentes quando todos os componentes preservam um certo grau da estrutura da textura da imagem. Portanto, o efeito em que um processo de predição de compensação do movimento flexível de acordo com a propriedade do sinal de cada um dos componentes de cor pode ser realizado para um sinal em qualquer espaço de cores é obtido.
[00432] A informação de indicação de precisão de pixel virtual 800 é transmitida para a unidade de codificação de comprimento variável 11 a ser usada para identificar a unidade de um valor do vetor de movimento (contido na informação de predição de cabeçalho 463) detectado na unidade de predição 461. Na unidade de codificação de comprimento variável 11, o vetor de movimento a ser codificado é denotado por MV e um vetor de predição determinado para o MV de acordo com um pré-determinado procedimento de determinação do valor de predição é denotado por PMV. Como o PMV, o valor já codificado é usado. A unidade de codificação de comprimento variável 11 codifica um valor MV - PMV. Neste caso, quando a informação de indicação de precisão de pixel virtual 800 indica a “detecção do vetor de movimento na precisão de 1/4 pixel”, a unidade do valor de MV é o 1/4 pixel. Por outro lado, quando a informação de indicação de precisão de pixel virtual 800 indica a “detecção do vetor de movimento na precisão de meio pixel”, a unidade do valor de MV é 1/2 pixel. O vetor de movimento relativo ao 1/4 pixel como um que tem uma faixa dupla de valores ao do caso onde o meio pixel é considerado tanto para o componente horizontal quanto vertical. Portanto, quando apenas as amostras na precisão de 1/2 pixel são usadas, pelo ajuste da unidade do valor de MV ao meio pixel, comparado com o caso onde o 1/4 pixel é usado como a unidade de valor de MV, a quantidade de informação necessária para codificar o MV pode ser reduzida.
[00433] Usando a propriedade supramencionada, não apenas para uma diferença em propriedade de sinal em um espaço de cor diferente, mas também para realizar uma codificação de alta compressão em que a razão da quantidade de códigos da informação de predição de cabeçalho 463 tal como o vetor de movimento é aumentada com relação a uma quantidade total de códigos, a informação de indicação de precisão de pixel virtual 800 pode ser ajustada para realizar a codificação com a quantidade de códigos do vetor de movimento sendo mantida baixa. Uma vez que a informação de indicação de precisão de pixel virtual 800 pode ser estabelecida independentemente para cada componente de cor, o controle adaptativo à condição de cada componente de cor em alta compressão pode ser realizado. Em decorrência disso, torna-se possível um processo de codificação mais altamente adaptativo.
2. Estrutura do fluxo de bits codificado
[00434] A figura 97 ilustra uma sequência de dados de cada um dos fluxos de vídeo 422b0 a 422b2 produzidos pelo dispositivo de codificação ilustrado na figura 96. A sequência do fluxo da figura 97 difere daquela da figura 91 em que a informação de indicação de precisão de pixel virtual 800 é multiplexada no cabeçalho de nível de imagem. Em decorrência disso, o dispositivo de decodificação que recebe o fluxo de bits torna-se capaz de reconhecer a unidade do valor do vetor de movimento contido na informação de predição de cabeçalho 463 para cada componente de cor para decodificar o vetor de movimento da mesma maneira que no dispositivo de codificação e criar a imagem predita. Além do mais, por exemplo, quando uma pluralidade de métodos para criar as amostras na precisão de meio pixel pode ser preparada da maneira supradescrita, a informação de indicação do método de criação da amostra virtual 811 pode ser multiplexada no cabeçalho de nível de imagem. Embora a informação de indicação de precisão de pixel virtual 800 e a informação de indicação do método de criação da amostra virtual 811 sejam multiplexadas na área do cabeçalho do nível de pixel na figura 97, a informação 800 e 811 para três componentes de cor pode ser coletivamente multiplexada em uma área de cabeçalho de ordem superior à do cabeçalho do nível da sequência.
3. Operação do dispositivo de decodificação
[00435] A figura 98 ilustra a configuração do dispositivo de decodificação (a unidade de decodificação de imagem 603b0, 603b 1 ou 603b2) na décima sétima modalidade. O dispositivo de decodificação na figura 98 difere da unidade de decodificação de imagem 603b0, 603b 1 ou 603b2 na figura 93 apenas nas operações da unidade de decodificação de comprimento variável 25 e da unidade de predição 461. A unidade de decodificação de comprimento variável 25 decodifica o fluxo de vídeo 422b0, 422b 1 ou 422b2 ilustrado na figura 97, extrai a informação de indicação de precisão de pixel virtual 800 contida no cabeçalho de nível de imagem a partir do fluxo de vídeo e envia a informação de indicação de precisão de pixel virtual extraída 800 para a unidade de predição 461. Quando o valor da informação de indicação de precisão de pixel virtual 800 indica a “detecção do vetor de movimento na precisão de 1/4 pixel”, a unidade do valor do vetor de movimento contido na informação de cabeçalho de predição 463 é estabelecida no 1/4 pixel. Então, a informação de predição de cabeçalho 463 é transmitida para a unidade de predição 461. Com base no fato de que a unidade do valor do vetor de movimento contido na informação de predição de cabeçalho 463 é 1/4 pixel, a unidade de predição 461 gera a imagem predita, criando ainda as amostras na precisão de 1/4 pixel pela interpolação linear depois da criação das amostras na precisão de meio pixel com base no filtro multiderivações como no MPEG-4 ou no AVC.
[00436] Por outro lado, quando o valor da informação de indicação de precisão de pixel virtual 800 indica a “detecção do vetor de movimento na precisão de meio pixel”, a unidade do valor do vetor de movimento contido na informação de cabeçalho de predição 463 é estabelecida no 1/2 pixel. Então, a informação de predição de cabeçalho 463 é transmitida para a unidade de predição 461. Com base no fato de que a unidade do valor do vetor de movimento contido na informação de predição de cabeçalho 463 é meio pixel, a unidade de predição 461 gera a imagem predita, criando ainda as amostras na precisão de meio pixel com base no filtro multiderivações como no MPEG-4 ou no AVC, ou as amostras na precisão de meio pixel pela interpolação linear como no MPEG-1 ou no MPEG-2 supradescritos. Em uma configuração em que a pluralidade de métodos de criar a amostra de meio pixel pode ser selecionada, a informação de indicação do método de criação da amostra virtual 811 na figura 97 é extraída a partir do fluxo de bits na unidade de decodificação de comprimento variável 25 e é então transmitida para a unidade de predição 461 de maneira que a amostra de meio pixel seja criada pelo mesmo método do dispositivo de codificação.
[00437] De acordo com o dispositivo de codificação e o dispositivo de decodificação na décima sétima modalidade supradescrita, em virtude de, a fim de codificar eficientemente o sinal de vídeo de cor no formato 4: 4: 4, para a predição de compensação do movimento independente para cada componente de cor, a precisão da amostra virtual usada para detectar o vetor de movimento e criar a imagem predita poder ser comutada dinamicamente de acordo com a propriedade do sinal de cada componente de cor, é possível realizar a codificação com a quantidade de códigos do vetor de movimento, cuja razão aumenta com relação a uma quantidade total de códigos na codificação de baixa taxa de bits a uma alta razão de compressão, sendo efetivamente suprimida. Adicionalmente, preparando-se uma pluralidade de métodos de criar a amostra virtual, tais como os tipos de filtro de interpolação usado para criar a amostra virtual e comutar seletivamente os métodos para criar a amostra virtual, o processo de predição de compensação do movimento ideal de acordo com a propriedade do sinal de cada componente de cor torna- se possível. Em decorrência disso, o dispositivo de codificação que codifica eficientemente o sinal de vídeo de cor no formato 4: 4: 4 e o dispositivo de decodificação correspondente a ele pode ser provido.
[00438] Na décima sétima modalidade, o dispositivo de codificação ilustrado na figura 96 obtido adicionando-se a informação de indicação de precisão de pixel virtual 800 ao dispositivo de codificação ilustrado na figura 88 na décima sexta modalidade e o dispositivo de decodificação ilustrado na figura 98 obtido adicionando-se a informação de indicação de precisão de pixel virtual 800 ao dispositivo de decodificação ilustrado na figura 93 na décima sexta modalidade foram descritos. Entretanto, também usando o dispositivo de codificação obtido adicionando-se a informação de indicação de precisão de pixel virtual 800 ao dispositivo de codificação de acordo com outras modalidades e o dispositivo de decodificação obtido adicionando-se a informação de indicação de precisão de pixel virtual 800 ao dispositivo de decodificação de acordo com as outras modalidades, os efeitos similares podem ser obtidos.
Décima Oitava Modalidade
[00439] Uma outra modalidade do dispositivo de codificação e do dispositivo de decodificação para realizar o processo de codificação individual e independente para codificar e decodificar um componente de cor independentemente dos outros componentes de cor na modalidade supramencionada serão descritos na décima oitava modalidade. Aqui, o dispositivo de codificação e o dispositivo de decodificação na décima sexta modalidade são considerados um exemplo. No processo de codificação individual e independente, a informação de predição de cabeçalho 463 tais como o modo de codificação 6 e o vetor de movimento, que não podem ser codificados irreversivelmente em princípio, é multiplexada no fluxo de bits para cada componente de cor. Portanto, no caso da codificação a uma alta razão de compressão com a maior taxa da quantidade de códigos com relação a uma quantidade total de códigos, o desempenho da compressão é prejudicado. Portanto, no dispositivo de codificação de acordo com a décima oitava modalidade, informação tal como o modo de codificação 6 ou a informação de predição de cabeçalho 463, que é obtida em decorrência da codificação com base no macrobloco para um componente de cor específico (por exemplo, determinado como o componente CO), é retida como informação de referência. Quando o macrobloco presente na mesma posição no espaço de imagem do macrobloco do componente CO usando a informação de referência tem que ser codificado na unidade de codificação de imagem 503 para processar outros componentes de cor, uma seleção pode ser feita entre o procedimento de codificação que usa a informação de referência e o procedimento de codificação que determina individualmente o modo de codificação 6 e a informação de predição de cabeçalho 463 para seu próprio componente de cor. Uma sinalização de indicação de codificação de informação de predição indicando o procedimento selecionado é multiplexada para cada macrobloco. Com uma configuração como esta, quando os componentes de cor têm uma alta correlação com relação ao modo de codificação 6 ou a informação de predição de cabeçalho 463, a quantidade de códigos pode ser efetivamente reduzida para melhorar a eficiência de compressão.
[00440] Quando o modo de codificação 6 e a informação de predição de cabeçalho 463 são determinados independentemente para seu próprio componente de cor para a codificação, o procedimento do processo de codificação/decodificação igual ao descrito na décima sexta e décima sétima modalidades pode ser usado. Além do mais, também no caso onde a codificação é realizada referindo-se à informação de referência, praticamente o mesmo processo de procedimento de codificação ao descrito na décima sexta e décima sétima modalidades pode ser usado, meramente saltando o processo de multiplexação do modo de codificação 6, a informação de predição de cabeçalho 463 e similares no fluxo de bits, embora o processo de codificação para os outros componentes seja feito para esperar o lado da codificação até que uma informação de referência seja obtida. Também no lado de decodificação, a informação de referência precisa ser primeiramente decodificada. Entretanto, o mesmo processo do procedimento de codificação descrito na décima sexta e décima sétima modalidades pode ser usado, meramente realizando o processo de determinar se para usar a informação de referência decodificando-se a sinalização de indicação de codificação de informação de predição ou a informação decodificada no seu próprio macrobloco.
[00441] Adicionalmente, pela determinação se a sinalização de indicação de codificação de informação de predição é ou não sempre multiplexada para cada macrobloco na camada de dados de ordem superior (a fatia, a imagem, ou a sequência) e multiplexando no fluxo de bits, basta multiplexar a sinalização de indicação de codificação de informação de predição como um código no nível de macrobloco apenas quando necessário, por exemplo, somente para a alta compressão. Dessa maneira, a eficiência de codificação pode ser aumentada. Além do mais, sem limitar a informação de referência à informação de um componente de cor específico, a codificação e a decodificação podem ser realizadas durante a seleção dos componentes de cor a ser usados como uma referência.
[00442] A configuração da décima oitava modalidade não é limitada à da décima sexta modalidade e é também aplicável a todos os dispositivos de codificação e aos dispositivos de decodificação que realizam o processo de codificação individual e independente para codificar e decodificar um componente de cor independentemente dos outros componentes de cor nas modalidades da presente aplicação.

Claims (2)

1. Dispositivo de codificação de imagem para receber um sinal de imagem a cores em movimento composto de uma pluralidade de componentes de cor como uma entrada, dividir o sinal de imagem a cores em movimento em áreas unitárias de codificação pré-determinadas para cada um da pluralidade de componentes de cor, e aplicar seletivamente uma de intra codificação e codificação preditiva de compensação do movimento para comprimir digitalmente o sinal de imagem a cores em movimento, caracterizado pelo fato de que compreende: uma unidade de separação de componentes de cor (502) para separar a entrada de sinal de imagem a cores em movimento no formato 4:4:4 em sinais para cada um da pluralidade de componentes de cor; uma unidade de divisão de bloco (40) para dividir, independentemente para cada componente de cor cada sinal de componente de cor de entrada em macroblocos quadrados de um tamanho, dentre os tamanhos de uma pluralidade de áres de unidade codificadas selecionáveis como macroblocos quadrados, determinado por informação de indicação de tamanho do bloco codificado para cada componente de cor para gerar um sinal de cada uma das áreas unitárias de codificação; em que o tamanho dos macroblocos quadrados pode ser comutados dinamicamente de acordo com um propriedade do sinal de cada um dos componentes de cor; uma unidade de geração de imagem predita (461) para gerar uma imagem predita para o sinal de cada uma das áreas unitárias de codificação de acordo com pelo menos um modo de predição que indica um método de geração de imagem predita; uma unidade de predição (2) para avaliar uma eficiência de predição com base em uma diferença entre a saída de imagem predita da unidade de geração de imagem predita (461) e o sinal de componente de cor de entrada; uma unidade de determinação (5) para determinar um modo de predição usado para codificar de acordo com a eficiência de predição avaliada pela unidade de predição (2); uma unidade de codificação de erro de predição (6, 9) para codificar e emitir uma diferença entre a imagem predita correspondente ao modo de predição determinado pela unidade de determinação (5) e o sinal do componente de cor de entrada; e uma unidade de codificação (11) para codificar por comprimento variável o modo de predição para cada uma das áreas de unidade de codificação, uma saída da unidade de codificação de erro de predição (6, 9), e uma sinalização de identificação de componente de cor indicando o componente de cor ao qual o fluxo de bits de entrada pertence como um resultado da separação de componentes de cor, em que a unidade de codificação (11) multiplexa a informação codificada por comprimento variável e a informação de indicação de tamanho do bloco codificado.
2. Dispositivo de decodificação de imagem para receber um fluxo de bits obtido, por compressão-codificação de um sinal de imagem a cores em movimento no formato 4:4:4 composto de uma pluralidade de componentes de cor como uma entrada e aplicar seletivamente uma de intra decodificação e decodificação preditiva de compensação de movimento para cada um da pluralidade de componentes de cor do sinal de imagem a cores em movimento para decodificar o sinal de imagem a cores em movimento, caracterizado pelo fato de que compreende: uma unidade de identificação de componente de cor (602) para decodificar uma sinalização de identificação de componente de cor para identificar o componente de cor ao qual o fluxo de bits de entrada pertence para determinar o componente de cor cuja informação codificada é contida no fluxo de bits; uma unidade de decodificação (25) para decodificar, a partir do fluxo de bits, informação de indicação de tamanho do bloco codificado para determinar, independentemente para cada componente de cor, um tamanho de um macrobloco quadrado correspondente a uma área unitária de codificação de cada sinal do componente de cor para cada componente de cor determinado pela unidade de identificação de componente de cor (602) e determinar o tamanho do macrobloco correspondente à área unitária de codificação com base na informação de indicação de tamanho do bloco codificado para decodificar, a partir do fluxo de bits, informação obtida pela codificação de um modo de predição que indica um método de geração de imagem predita usado para codificar a área unitária de codificação e um erro de predição, de acordo com uma sintaxe pré-determinada, para cada área unitária de codificação; uma unidade de geração de imagem predita (461) para gerar uma imagem predita para um sinal da área unitária de codificação com base na informação de indicação de tamanho do bloco codificado para cada componente de cor e no modo de predição; uma unidade de decodificação de erro de predição (21, 312) para decodificar um sinal de erro de predição com base na informação obtida pela codificação do erro de predição; e uma unidade somadora (18) para adicionar uma saída da unidade de geração de imagem predita (461) e uma saída da unidade de decodificação de erro de predição (21, 312).
BRPI0813996-2A 2007-06-28 2008-06-25 Dispositivo de codificação de imagem para receber um sinal de imagem a cores em movimento e dispositivo de decodificação de imagem para receber um fluxo de bits obtido por compressão-codificação de um sinal de imagem a cores em movimento BRPI0813996B1 (pt)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2007170330 2007-06-28
JP2007-170330 2007-06-28
PCT/JP2008/061566 WO2009001864A1 (ja) 2007-06-28 2008-06-25 画像符号化装置および画像復号装置

Publications (2)

Publication Number Publication Date
BRPI0813996A2 BRPI0813996A2 (pt) 2015-01-06
BRPI0813996B1 true BRPI0813996B1 (pt) 2020-10-20

Family

ID=40160460

Family Applications (1)

Application Number Title Priority Date Filing Date
BRPI0813996-2A BRPI0813996B1 (pt) 2007-06-28 2008-06-25 Dispositivo de codificação de imagem para receber um sinal de imagem a cores em movimento e dispositivo de decodificação de imagem para receber um fluxo de bits obtido por compressão-codificação de um sinal de imagem a cores em movimento

Country Status (10)

Country Link
US (6) US8422803B2 (pt)
EP (2) EP2661088A1 (pt)
JP (2) JP5296679B2 (pt)
KR (2) KR101088972B1 (pt)
CN (2) CN103327328B (pt)
BR (1) BRPI0813996B1 (pt)
CA (1) CA2691742C (pt)
HK (1) HK1148148A1 (pt)
RU (3) RU2430486C1 (pt)
WO (1) WO2009001864A1 (pt)

Families Citing this family (244)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050267750A1 (en) 2004-05-27 2005-12-01 Anonymous Media, Llc Media usage monitoring and measurement system and method
US9560367B2 (en) * 2004-09-03 2017-01-31 Nokia Technologies Oy Parameter set and picture header in video coding
WO2007034918A1 (ja) * 2005-09-26 2007-03-29 Mitsubishi Electric Corporation 動画像符号化装置及び動画像復号装置
CN101317458B (zh) * 2006-03-16 2012-04-18 华为技术有限公司 在编码过程中实现自适应量化的方法及装置
KR101403338B1 (ko) * 2007-03-23 2014-06-09 삼성전자주식회사 영상의 부호화, 복호화 방법 및 장치
US8422803B2 (en) * 2007-06-28 2013-04-16 Mitsubishi Electric Corporation Image encoding device, image decoding device, image encoding method and image decoding method
EP3410706B1 (en) 2007-06-29 2021-12-01 Velos Media International Limited Image encoding device and image decoding device
AU2007237313A1 (en) * 2007-12-03 2009-06-18 Canon Kabushiki Kaisha Improvement for error correction in distributed vdeo coding
US8238676B2 (en) * 2007-12-14 2012-08-07 Yamaha Corporation Image data compressor and image data decompressor
KR101439847B1 (ko) * 2008-01-02 2014-09-16 삼성전자주식회사 부호화 정보의 압축률 향상을 이용한 영상 부호화, 복호화방법 및 장치
TWI375472B (en) * 2008-02-04 2012-10-21 Ind Tech Res Inst Intra prediction method for luma block of video
KR100939917B1 (ko) 2008-03-07 2010-02-03 에스케이 텔레콤주식회사 움직임 예측을 통한 부호화 시스템 및 움직임 예측을 통한부호화 방법
MX2010009194A (es) * 2008-03-07 2010-09-10 Toshiba Kk Metodo y dispositivo de codificacion/decodificacion dinamica de imagen.
JP2009218742A (ja) * 2008-03-07 2009-09-24 Canon Inc 画像符号化装置
US8295356B2 (en) 2008-03-07 2012-10-23 International Business Machines Corporation Method and system for coding mode selection in video compression systems
KR101375667B1 (ko) * 2008-05-16 2014-03-18 삼성전자주식회사 영상의 부호화, 복호화 방법 및 장치
FR2933565A1 (fr) * 2008-07-01 2010-01-08 France Telecom Procede et dispositif de codage d'une sequence d'images mettant en oeuvre une prediction temporelle, signal, support de donnees, procede et dispositif de decodage, et produit programme d'ordinateur correspondants
KR101517768B1 (ko) * 2008-07-02 2015-05-06 삼성전자주식회사 영상의 부호화 방법 및 장치, 그 복호화 방법 및 장치
US8942490B2 (en) * 2008-07-08 2015-01-27 Yin-Chun Blue Lan Method of high performance image compression
US8503527B2 (en) 2008-10-03 2013-08-06 Qualcomm Incorporated Video coding with large macroblocks
KR101377527B1 (ko) * 2008-10-14 2014-03-25 에스케이 텔레콤주식회사 복수 개의 참조 픽처의 움직임 벡터 부호화/복호화 방법 및장치와 그를 이용한 영상 부호화/복호화 장치 및 방법
KR101359490B1 (ko) * 2008-12-23 2014-02-10 에스케이 텔레콤주식회사 컬러 영상 부호화/복호화 방법 및 장치
TWI463878B (zh) 2009-02-19 2014-12-01 Sony Corp Image processing apparatus and method
TWI405469B (zh) * 2009-02-20 2013-08-11 Sony Corp Image processing apparatus and method
EP2230849A1 (en) * 2009-03-20 2010-09-22 Mitsubishi Electric R&D Centre Europe B.V. Encoding and decoding video data using motion vectors
KR20120038401A (ko) * 2009-06-09 2012-04-23 소니 주식회사 화상 처리 장치 및 방법
JP5199955B2 (ja) * 2009-06-16 2013-05-15 キヤノン株式会社 画像復号装置及びその制御方法
JP5199956B2 (ja) * 2009-06-16 2013-05-15 キヤノン株式会社 画像復号装置及びその制御方法
EP2445216A4 (en) * 2009-06-19 2013-03-20 Mitsubishi Electric Corp IMAGE ENCODING DEVICE, IMAGE DECODING DEVICE, IMAGE ENCODING METHOD, AND IMAGE DECODING METHOD
WO2011008243A1 (en) * 2009-06-29 2011-01-20 Thomson Licensing Methods and apparatus for adaptive probability update for non-coded syntax
JP5597968B2 (ja) 2009-07-01 2014-10-01 ソニー株式会社 画像処理装置および方法、プログラム、並びに記録媒体
JP5375372B2 (ja) * 2009-07-01 2013-12-25 ヤマハ株式会社 圧縮符号化装置、および復号装置
JP5251774B2 (ja) * 2009-07-27 2013-07-31 ソニー株式会社 画像符号化装置および画像符号化方法
JP4844657B2 (ja) * 2009-07-31 2011-12-28 カシオ計算機株式会社 画像処理装置及び方法
JP5344238B2 (ja) 2009-07-31 2013-11-20 ソニー株式会社 画像符号化装置および方法、記録媒体、並びにプログラム
US8379718B2 (en) 2009-09-02 2013-02-19 Sony Computer Entertainment Inc. Parallel digital picture encoding
CN105007492B (zh) * 2009-10-01 2018-02-06 Sk电信有限公司 由视频解码装置执行的视频解码方法
EP2485490B1 (en) * 2009-10-01 2015-09-30 SK Telecom Co., Ltd. Method and apparatus for encoding/decoding image using split layer
CN102577393B (zh) * 2009-10-20 2015-03-25 夏普株式会社 运动图像编码装置、运动图像解码装置、运动图像编码/解码***、运动图像编码方法及运动图像解码方法
CN104661026B (zh) * 2009-10-21 2018-03-27 Sk电信有限公司 图像编码和解码装置和方法
WO2011068527A1 (en) 2009-12-04 2011-06-09 Thomson Licensing Methods and apparatus for improved chroma transforms for inter frames in video encoding and decoding
US8654859B1 (en) 2009-12-17 2014-02-18 Ambarella, Inc. Low cost rate-distortion computations for video compression
KR101703327B1 (ko) 2010-01-14 2017-02-06 삼성전자 주식회사 계층적 데이터 단위의 패턴 정보를 이용하는 비디오 부호화 방법과 그 장치, 및 비디오 복호화 방법과 그 장치
KR101522850B1 (ko) * 2010-01-14 2015-05-26 삼성전자주식회사 움직임 벡터를 부호화, 복호화하는 방법 및 장치
US8995527B2 (en) * 2010-02-19 2015-03-31 Qualcomm Incorporated Block type signalling in video coding
EP3506637A1 (en) * 2010-02-24 2019-07-03 Velos Media International Limited Image encoding device, image decoding device, and data structure
KR101318574B1 (ko) * 2010-03-03 2013-10-16 미쓰비시덴키 가부시키가이샤 데이터 압축 장치 및 데이터 압축 방법 및 컴퓨터 판독 가능한 기록 매체
US20120320966A1 (en) * 2010-03-09 2012-12-20 Telegent Systems Inc. c/o M & C Corporate Services Limited Adaptive video decoding circuitry and techniques
US8660177B2 (en) * 2010-03-24 2014-02-25 Sony Computer Entertainment Inc. Parallel entropy coding
WO2011126283A2 (en) 2010-04-05 2011-10-13 Samsung Electronics Co., Ltd. Method and apparatus for encoding video based on internal bit depth increment, and method and apparatus for decoding video based on internal bit depth increment
US8982961B2 (en) 2010-04-05 2015-03-17 Samsung Electronics Co., Ltd. Method and apparatus for encoding video by using transformation index, and method and apparatus for decoding video by using transformation index
WO2011126277A2 (en) 2010-04-05 2011-10-13 Samsung Electronics Co., Ltd. Low complexity entropy-encoding/decoding method and apparatus
KR101500914B1 (ko) * 2010-04-09 2015-03-10 미쓰비시덴키 가부시키가이샤 동화상 복호 장치
US8306343B2 (en) * 2010-04-09 2012-11-06 Newport Media, Inc. Optimized prediction based image compression
KR102223526B1 (ko) * 2010-04-09 2021-03-04 엘지전자 주식회사 비디오 데이터 처리 방법 및 장치
CN102215396A (zh) 2010-04-09 2011-10-12 华为技术有限公司 一种视频编解码方法和***
CN106210732B (zh) * 2010-04-13 2020-03-24 Ge视频压缩有限责任公司 解码器、编码器、解码方法、编码方法以及存储介质
DK2559246T3 (en) 2010-04-13 2016-09-19 Ge Video Compression Llc Fusion of sample areas
LT3958573T (lt) 2010-04-13 2023-09-25 Ge Video Compression, Llc Vaizdo kodavimas naudojant kadrų multimedžių poskaidinius
PT2559240T (pt) 2010-04-13 2019-10-15 Ge Video Compression Llc Predição inter planos
JP2013526199A (ja) * 2010-04-26 2013-06-20 パナソニック株式会社 予測誤差から導出されるブロック形状を用いた予測符号化
KR20110123651A (ko) 2010-05-07 2011-11-15 한국전자통신연구원 생략 부호화를 이용한 영상 부호화 및 복호화 장치 및 그 방법
US20130044814A1 (en) * 2010-05-10 2013-02-21 Thomson Licensing Methods and apparatus for adaptive interpolative intra block encoding and decoding
KR101379188B1 (ko) * 2010-05-17 2014-04-18 에스케이 텔레콤주식회사 인트라 블록 및 인터 블록이 혼합된 코딩블록을 이용하는 영상 부호화/복호화 장치 및 그 방법
US9083974B2 (en) * 2010-05-17 2015-07-14 Lg Electronics Inc. Intra prediction modes
US9012307B2 (en) 2010-07-13 2015-04-21 Crossbar, Inc. Two terminal resistive switching device structure and method of fabricating
US8946046B1 (en) 2012-05-02 2015-02-03 Crossbar, Inc. Guided path for forming a conductive filament in RRAM
US9601692B1 (en) 2010-07-13 2017-03-21 Crossbar, Inc. Hetero-switching layer in a RRAM device and method
US9570678B1 (en) 2010-06-08 2017-02-14 Crossbar, Inc. Resistive RAM with preferental filament formation region and methods
JP5981424B2 (ja) 2010-06-11 2016-08-31 クロスバー, インコーポレイテッドCrossbar, Inc. メモリー素子に関する柱状構造及び方法
KR101673027B1 (ko) * 2010-07-01 2016-11-04 에스케이 텔레콤주식회사 색공간 예측 방법 및 장치와 이를 이용한 영상 부호화/복호화 방법 및 장치
US8374018B2 (en) 2010-07-09 2013-02-12 Crossbar, Inc. Resistive memory using SiGe material
US8947908B2 (en) 2010-11-04 2015-02-03 Crossbar, Inc. Hetero-switching layer in a RRAM device and method
US8884261B2 (en) 2010-08-23 2014-11-11 Crossbar, Inc. Device switching using layered device structure
US8168506B2 (en) 2010-07-13 2012-05-01 Crossbar, Inc. On/off ratio for non-volatile memory device and method
US8569172B1 (en) 2012-08-14 2013-10-29 Crossbar, Inc. Noble metal/non-noble metal electrode for RRAM applications
US8879619B2 (en) * 2010-07-15 2014-11-04 Sharp Laboratories Of America, Inc. Method of parallel video coding based on scan order
US8837577B2 (en) * 2010-07-15 2014-09-16 Sharp Laboratories Of America, Inc. Method of parallel video coding based upon prediction type
US8855188B2 (en) * 2010-07-15 2014-10-07 Sharp Laboratories Of America, Inc. Method of parallel video coding based on mapping
WO2012008514A1 (ja) * 2010-07-15 2012-01-19 シャープ株式会社 画像のイントラ予測モード推定装置、画像符号化装置、画像復号装置、及び画像の符号化データ
RU2533649C1 (ru) * 2010-07-15 2014-11-20 Мицубиси Электрик Корпорейшн Устройство кодирования движущихся изображений, устройство декодирования движущихся изображений, способ кодирования движущихся изображений и способ декодирования движущихся изображений
KR101681307B1 (ko) * 2010-07-23 2016-12-01 에스케이 텔레콤주식회사 주파수영역 복수 가중예측필터를 사용한 색공간 예측 방법 및 장치와 이를 이용한 영상 부호화/복호화 방법 및 장치
US8711933B2 (en) 2010-08-09 2014-04-29 Sony Computer Entertainment Inc. Random access point (RAP) formation using intra refreshing technique in video coding
GB2482731B (en) * 2010-08-13 2016-12-21 Advanced Risc Mach Ltd A video decoding apparatus and method
US9918086B2 (en) * 2010-08-17 2018-03-13 M&K Holdings Inc. Method for encoding an intra prediction mode
KR20120016991A (ko) * 2010-08-17 2012-02-27 오수미 인터 프리딕션 방법
US11284072B2 (en) 2010-08-17 2022-03-22 M&K Holdings Inc. Apparatus for decoding an image
US8492195B2 (en) 2010-08-23 2013-07-23 Crossbar, Inc. Method for forming stackable non-volatile resistive switching memory devices
US8889521B1 (en) 2012-09-14 2014-11-18 Crossbar, Inc. Method for silver deposition for a non-volatile memory device
US9401475B1 (en) 2010-08-23 2016-07-26 Crossbar, Inc. Method for silver deposition for a non-volatile memory device
KR101677480B1 (ko) * 2010-09-07 2016-11-21 에스케이 텔레콤주식회사 효과적인 화면내 예측모드 집합 선택을 이용한 영상 부호화/복호화 방법 및 장치
KR101679233B1 (ko) * 2010-09-08 2016-11-24 삼성전자주식회사 디블록킹 필터 및 이를 포함하는 영상 표시 장치
US9154797B2 (en) 2010-09-20 2015-10-06 Onecodec, Limited Systems and methods for encoding and decoding
CN103141105B (zh) 2010-09-27 2018-05-15 Lg电子株式会社 用于分割块的方法和解码设备
US8558212B2 (en) 2010-09-29 2013-10-15 Crossbar, Inc. Conductive path in switching material in a resistive random access memory device and control
CA3000366C (en) * 2010-09-30 2019-11-19 Mitsubishi Electric Corporation Moving image encoding device, moving image decoding device, moving image coding method, and moving image decoding method
US9628821B2 (en) * 2010-10-01 2017-04-18 Apple Inc. Motion compensation using decoder-defined vector quantized interpolation filters
US8885704B2 (en) 2010-10-01 2014-11-11 Qualcomm Incorporated Coding prediction modes in video coding
KR20120035096A (ko) * 2010-10-04 2012-04-13 한국전자통신연구원 쿼드 트리 변환 구조에서 부가 정보의 시그널링 방법 및 장치
USRE46335E1 (en) 2010-11-04 2017-03-07 Crossbar, Inc. Switching device having a non-linear element
US8502185B2 (en) 2011-05-31 2013-08-06 Crossbar, Inc. Switching device having a non-linear element
KR101834470B1 (ko) * 2010-11-29 2018-03-05 톰슨 라이센싱 영상의 자기-유사성 텍스쳐드 영역을 재구성하기 위한 방법 및 디바이스
ES2718426T3 (es) 2010-12-17 2019-07-01 Mitsubishi Electric Corp Dispositivo de codificación de imágenes en movimiento, dispositivo de decodificación de imágenes en movimiento, método de codificación de imágenes en movimiento y método de decodificación de imágenes en movimiento
MX2013007314A (es) 2010-12-23 2013-10-25 Samsung Electronics Co Ltd Metodo y aparato de codificacion de modo de intra-prediccion para unidad de prediccion de imagen, metodo y aparato de decodificacion de modo de intra-prediccion para unidad de prediccion de imagen.
US8930174B2 (en) 2010-12-28 2015-01-06 Crossbar, Inc. Modeling technique for resistive random access memory (RRAM) cells
US8815696B1 (en) 2010-12-31 2014-08-26 Crossbar, Inc. Disturb-resistant non-volatile memory device using via-fill and etchback technique
US9153623B1 (en) 2010-12-31 2015-10-06 Crossbar, Inc. Thin film transistor steering element for a non-volatile memory device
CA2961824C (en) 2011-01-12 2019-07-23 Mitsubishi Electric Corporation Image encoding device, image decoding device, image encoding method, and image decoding method
JP5781313B2 (ja) 2011-01-12 2015-09-16 株式会社Nttドコモ 画像予測符号化方法、画像予測符号化装置、画像予測符号化プログラム、画像予測復号方法、画像予測復号装置及び画像予測復号プログラム
US9066104B2 (en) 2011-01-14 2015-06-23 Google Inc. Spatial block merge mode
US10080016B2 (en) * 2011-01-14 2018-09-18 Sony Corporation Codeword space reduction for intra chroma mode signaling for HEVC
US9066097B2 (en) * 2011-02-01 2015-06-23 Sony Corporation Method to optimize the transforms and/or predictions in a video codec
US9001883B2 (en) * 2011-02-16 2015-04-07 Mediatek Inc Method and apparatus for slice common information sharing
JP2012186733A (ja) * 2011-03-07 2012-09-27 Honda Elesys Co Ltd 車載カメラシステム
US9848197B2 (en) * 2011-03-10 2017-12-19 Qualcomm Incorporated Transforms in video coding
US20130336398A1 (en) * 2011-03-10 2013-12-19 Electronics And Telecommunications Research Institute Method and device for intra-prediction
US8780996B2 (en) * 2011-04-07 2014-07-15 Google, Inc. System and method for encoding and decoding video data
US9620206B2 (en) 2011-05-31 2017-04-11 Crossbar, Inc. Memory array architecture with two-terminal memory cells
CN105187840A (zh) 2011-05-31 2015-12-23 Jvc建伍株式会社 动图像解码装置、动图像解码方法、接收装置及接收方法
RU2607246C2 (ru) * 2011-06-13 2017-01-10 Сан Пэтент Траст Способ декодирования изображений, способ кодирования изображений, устройство декодирования изображений, устройство кодирования изображений и устройство кодирования и декодирования изображений
US9282338B2 (en) * 2011-06-20 2016-03-08 Qualcomm Incorporated Unified merge mode and adaptive motion vector prediction mode candidates selection
US8619459B1 (en) 2011-06-23 2013-12-31 Crossbar, Inc. High operating speed resistive random access memory
EP4404558A2 (en) 2011-06-23 2024-07-24 Sun Patent Trust Image decoding device, image encoding device
KR101668575B1 (ko) * 2011-06-23 2016-10-21 가부시키가이샤 제이브이씨 켄우드 화상 디코딩 장치, 화상 디코딩 방법 및 화상 디코딩 프로그램
USRE47366E1 (en) 2011-06-23 2019-04-23 Sun Patent Trust Image decoding method and apparatus based on a signal type of the control parameter of the current block
EP2725795B1 (en) * 2011-06-24 2021-04-14 Mitsubishi Electric Corporation Image encoding device, image decoding device, image encoding method, image decoding method
BR112013027186B1 (pt) 2011-06-24 2022-05-03 Sun Patent Trust Método de decodificação de imagem, método de codificação de imagem, aparelho de decodificação de imagem, aparelho de codificação de imagem e aparelho de codificação e deco dificação de imagem
CA2830046C (en) 2011-06-24 2018-09-04 Panasonic Corporation Image decoding method, image coding method, image decoding apparatus, image coding apparatus, and image coding and decoding apparatus
MX2013013483A (es) * 2011-06-27 2014-02-27 Panasonic Corp Metodo de decodificacion de imagenes, metodo de codificacion de imagenes, aparato de decodificacion de imagenes, aparato de codificacion de imagenes y aparato de codificacion y decodificacion de imagenes.
HUE063217T2 (hu) * 2011-06-27 2024-01-28 Samsung Electronics Co Ltd Eljárás mozgásinformáció dekódolásához és kódolásához, berendezés mozgásinformáció kódolásához és számítógéppel olvasható eszköz
MX2013012980A (es) 2011-06-28 2013-12-06 Panasonic Corp Metodo de decodificacion de imagenes, metodo de codificacion de imagenes, aparato de decodificacion de imagenes, aparato de codificacion de imagenes y aparato de codificacion y decodififcacion de imagenes.
MX2013010892A (es) 2011-06-29 2013-12-06 Panasonic Corp Metodo de decodificacion de imagenes, metodo de codificacion de imagenes, aparato de decodificacion de imagenes, aparato de codificacion de imagenes y aparato de codificacion y decodificacion de imagenes.
CN106658014B (zh) 2011-06-30 2021-01-08 三菱电机株式会社 图像编码装置及方法、图像解码装置及方法
US9564587B1 (en) 2011-06-30 2017-02-07 Crossbar, Inc. Three-dimensional two-terminal memory with enhanced electric field and segmented interconnects
PL3419290T3 (pl) * 2011-06-30 2021-05-31 JVC Kenwood Corporation Urządzenie do kodowania obrazu, sposób kodowania obrazu, program do kodowania obrazu, urządzenie do dekodowania obrazu, sposób dekodowania obrazu i program do dekodowania obrazu
WO2013001769A1 (ja) 2011-06-30 2013-01-03 パナソニック株式会社 画像復号方法、画像符号化方法、画像復号装置、画像符号化装置及び画像符号化復号装置
US9627443B2 (en) 2011-06-30 2017-04-18 Crossbar, Inc. Three-dimensional oblique two-terminal memory with enhanced electric field
JP5905884B2 (ja) 2011-06-30 2016-04-20 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America 復号方法及び復号装置
US9166163B2 (en) 2011-06-30 2015-10-20 Crossbar, Inc. Sub-oxide interface layer for two-terminal memory
US8946669B1 (en) 2012-04-05 2015-02-03 Crossbar, Inc. Resistive memory device and fabrication methods
ES2784552T3 (es) 2011-07-11 2020-09-28 Sun Patent Trust Procedimiento de decodificación de imagen, aparato de decodificación de imagen
US9252191B2 (en) 2011-07-22 2016-02-02 Crossbar, Inc. Seed layer for a p+ silicon germanium material for a non-volatile memory device and method
US8674724B2 (en) 2011-07-29 2014-03-18 Crossbar, Inc. Field programmable gate array utilizing two-terminal non-volatile memory
US10056907B1 (en) 2011-07-29 2018-08-21 Crossbar, Inc. Field programmable gate array utilizing two-terminal non-volatile memory
US9729155B2 (en) 2011-07-29 2017-08-08 Crossbar, Inc. Field programmable gate array utilizing two-terminal non-volatile memory
US10129556B2 (en) 2014-05-16 2018-11-13 Bevara Technologies, Llc Systems and methods for accessing digital data
US10025787B2 (en) 2011-08-17 2018-07-17 Bevara Technologies, Llc Systems and methods for selecting digital data for archival
US8885706B2 (en) 2011-09-16 2014-11-11 Google Inc. Apparatus and methodology for a video codec system with noise reduction capability
MX338476B (es) * 2011-10-17 2016-04-18 Kt Corp Metodo de transformacion adaptable con base en la prediccion en pantalla y aparato que usa el metodo.
US9807401B2 (en) * 2011-11-01 2017-10-31 Qualcomm Incorporated Transform unit partitioning for chroma components in video coding
US9510018B2 (en) * 2011-11-23 2016-11-29 Luca Rossato Signal analysis and generation of transient information
CN102509091B (zh) * 2011-11-29 2013-12-25 北京航空航天大学 一种飞机尾号识别方法
US9363513B2 (en) * 2011-12-14 2016-06-07 Intel Corporation Methods, systems, and computer program products for assessing a macroblock candidate for conversion to a skipped macroblock
SI3654651T1 (sl) * 2011-12-16 2021-08-31 JVC Kenwood Corporation Naprava za kodiranje dinamičnih slik, postopek za kodiranje dinamičnih slik, program za kodiranje dinamičnih slik, naprava za dekodiranje dinamičnih slik, postopek za dekodiranje dinamičnih slik in program za dekodiranje dinamičnih slik
US9503717B2 (en) * 2012-01-09 2016-11-22 Texas Instruments Incorporated Context adaptive binary arithmetic coding (CABAC) with scalable throughput and coding efficiency
US9531990B1 (en) 2012-01-21 2016-12-27 Google Inc. Compound prediction using multiple sources or prediction modes
JP2013172323A (ja) * 2012-02-21 2013-09-02 Toshiba Corp 動き検出装置、画像処理装置および画像処理システム
US9131073B1 (en) 2012-03-02 2015-09-08 Google Inc. Motion estimation aided noise reduction
US11039138B1 (en) 2012-03-08 2021-06-15 Google Llc Adaptive coding of prediction modes using probability distributions
US8737824B1 (en) 2012-03-09 2014-05-27 Google Inc. Adaptively encoding a media stream with compound prediction
WO2013145642A1 (ja) * 2012-03-28 2013-10-03 株式会社Jvcケンウッド 画像符号化装置、画像符号化方法、画像符号化プログラム、送信装置、送信方法及び送信プログラム、並びに画像復号装置、画像復号方法、画像復号プログラム、受信装置、受信方法及び受信プログラム
US9087576B1 (en) 2012-03-29 2015-07-21 Crossbar, Inc. Low temperature fabrication method for a three-dimensional memory device and structure
US9685608B2 (en) 2012-04-13 2017-06-20 Crossbar, Inc. Reduced diffusion in metal electrode for two-terminal memory
US8658476B1 (en) 2012-04-20 2014-02-25 Crossbar, Inc. Low temperature P+ polycrystalline silicon material for non-volatile memory device
GB2501535A (en) 2012-04-26 2013-10-30 Sony Corp Chrominance Processing in High Efficiency Video Codecs
US20150036744A1 (en) * 2012-05-02 2015-02-05 Sony Corporation Image processing apparatus and image processing method
US8796658B1 (en) 2012-05-07 2014-08-05 Crossbar, Inc. Filamentary based non-volatile resistive memory device and method
EP2670140A1 (en) * 2012-06-01 2013-12-04 Alcatel Lucent Method and apparatus for encoding a video stream
CN104335582B (zh) * 2012-06-12 2019-03-08 太阳专利托管公司 动态图像编解码方法以及动态图像编解码装置
US9667965B2 (en) 2012-06-25 2017-05-30 Industry-University Cooperation Foundation Hanyang University Video encoding and decoding method
GB2503875B (en) * 2012-06-29 2015-06-10 Canon Kk Method and device for encoding or decoding an image
US9185414B1 (en) * 2012-06-29 2015-11-10 Google Inc. Video encoding using variance
WO2014009864A2 (en) * 2012-07-09 2014-01-16 Squid Design Systems Pvt Ltd Programmable variable block size motion estimation processor
US9344729B1 (en) 2012-07-11 2016-05-17 Google Inc. Selective prediction signal filtering
US9583701B1 (en) 2012-08-14 2017-02-28 Crossbar, Inc. Methods for fabricating resistive memory device switching material using ion implantation
US10096653B2 (en) 2012-08-14 2018-10-09 Crossbar, Inc. Monolithically integrated resistive memory using integrated-circuit foundry compatible processes
US8946673B1 (en) 2012-08-24 2015-02-03 Crossbar, Inc. Resistive switching device structure with improved data retention for non-volatile memory device and method
US20140072048A1 (en) * 2012-09-13 2014-03-13 Samsung Electronics Co., Ltd Method and apparatus for a switchable de-ringing filter for image/video coding
US9312483B2 (en) 2012-09-24 2016-04-12 Crossbar, Inc. Electrode structure for a non-volatile memory device and method
CN102883163B (zh) 2012-10-08 2014-05-28 华为技术有限公司 用于运动矢量预测的运动矢量列表建立的方法、装置
US9576616B2 (en) 2012-10-10 2017-02-21 Crossbar, Inc. Non-volatile memory with overwrite capability and low write amplification
US8982647B2 (en) 2012-11-14 2015-03-17 Crossbar, Inc. Resistive random access memory equalization and sensing
US9412790B1 (en) 2012-12-04 2016-08-09 Crossbar, Inc. Scalable RRAM device architecture for a non-volatile memory device and method
US9628790B1 (en) 2013-01-03 2017-04-18 Google Inc. Adaptive composite intra prediction for image and video compression
US9406379B2 (en) 2013-01-03 2016-08-02 Crossbar, Inc. Resistive random access memory with non-linear current-voltage relationship
US9300964B2 (en) * 2013-01-24 2016-03-29 Sharp Kabushiki Kaisha Image decoding apparatus and image coding apparatus
US10234616B2 (en) 2013-01-30 2019-03-19 Cree, Inc. Simplified low profile module with light guide for pendant, surface mount, wall mount and stand alone luminaires
US9869432B2 (en) 2013-01-30 2018-01-16 Cree, Inc. Luminaires using waveguide bodies and optical elements
US9324942B1 (en) 2013-01-31 2016-04-26 Crossbar, Inc. Resistive memory cell with solid state diode
US9112145B1 (en) 2013-01-31 2015-08-18 Crossbar, Inc. Rectified switching of two-terminal memory via real time filament formation
JP6033725B2 (ja) * 2013-03-28 2016-11-30 Kddi株式会社 動画像符号化装置、動画像復号装置、動画像符号化方法、動画像復号方法、およびプログラム
US9819944B2 (en) * 2013-04-12 2017-11-14 Samsung Electronics Co., Ltd. Multi-layer video coding method for random access and device therefor, and multi-layer video decoding method for random access and device therefor
US9374578B1 (en) 2013-05-23 2016-06-21 Google Inc. Video coding using combined inter and intra predictors
US9967594B2 (en) * 2013-06-28 2018-05-08 Mozilla Corporation Probability modeling of intra prediction modes
JP6265705B2 (ja) * 2013-11-25 2018-01-24 キヤノン株式会社 画像符号化装置及び画像符号化方法
US9609343B1 (en) 2013-12-20 2017-03-28 Google Inc. Video coding using compound prediction
US10290801B2 (en) 2014-02-07 2019-05-14 Crossbar, Inc. Scalable silicon based resistive memory device
US10182241B2 (en) 2014-03-04 2019-01-15 Microsoft Technology Licensing, Llc Encoding strategies for adaptive switching of color spaces, color sampling rates and/or bit depths
AU2014385774B2 (en) * 2014-03-04 2019-01-17 Microsoft Technology Licensing, Llc Adaptive switching of color spaces, color sampling rates and/or bit depths
US9736481B2 (en) * 2014-03-14 2017-08-15 Qualcomm Incorporated Quantization parameters for color-space conversion coding
CN106233726B (zh) * 2014-03-14 2019-11-26 Vid拓展公司 用于rgb视频编码增强的***和方法
BR122022001585B1 (pt) 2014-03-27 2023-05-16 Microsoft Technology Licensing, Llc Método para ajustar quantização/escalada, memória legível por computador e dispositivo de computação
US9584817B2 (en) 2014-03-31 2017-02-28 Sony Corporation Video transmission system with color prediction and method of operation thereof
EP3637410A1 (en) * 2014-04-22 2020-04-15 Nippon Telegraph And Telephone Corporation Video presentation device, dynamic illusion presentation device, video generation device, method thereof, data structure, and program
WO2015176009A1 (en) 2014-05-16 2015-11-19 Bevara Technologies, Llc Systems and methods for selecting digital data for archival
US9386317B2 (en) 2014-09-22 2016-07-05 Sony Interactive Entertainment Inc. Adaptive picture section encoding mode decision control
US10102613B2 (en) 2014-09-25 2018-10-16 Google Llc Frequency-domain denoising
US10419760B2 (en) 2014-09-29 2019-09-17 Sony Interactive Entertainment Inc. Picture quality oriented rate control for low-latency streaming applications
WO2016054765A1 (en) 2014-10-08 2016-04-14 Microsoft Technology Licensing, Llc Adjustments to encoding and decoding when switching color spaces
RU2579966C1 (ru) * 2014-12-04 2016-04-10 Общество с ограниченной ответственностью "РЭЙДИКС" Способ сжатия изображений (варианты)
US9716889B2 (en) * 2014-12-09 2017-07-25 Sony Corporation Intra and inter-color prediction for Bayer image coding
US10091506B2 (en) * 2015-06-11 2018-10-02 Sony Corporation Data-charge phase data compression architecture
JP6328076B2 (ja) * 2015-06-17 2018-05-23 ヴェロス メディア インターナショナル リミテッドVelos Media International Limited 画像復号装置および方法、記録媒体、並びにプログラム
EP4020995A1 (en) * 2015-07-16 2022-06-29 Dolby Laboratories Licensing Corporation Signal reshaping and coding for hdr and wide color gamut signals
EP3125108A1 (en) * 2015-07-31 2017-02-01 ARM Limited Vector processing using loops of dynamic vector length
JP6212530B2 (ja) * 2015-11-17 2017-10-11 ジーイー ビデオ コンプレッション エルエルシー 平面間予測
JP6632709B2 (ja) * 2016-03-24 2020-01-22 富士ゼロックス株式会社 画像処理装置、画像処理方法、及び画像処理プログラム
CN105939479B (zh) * 2016-06-15 2019-06-21 北京奇艺世纪科技有限公司 一种并行编码方法和装置
US20170366819A1 (en) * 2016-08-15 2017-12-21 Mediatek Inc. Method And Apparatus Of Single Channel Compression
JP2018037936A (ja) * 2016-09-01 2018-03-08 株式会社ドワンゴ 画像符号化装置および画像復号装置
KR20190045907A (ko) * 2016-09-16 2019-05-03 소니 주식회사 화상 처리 장치 및 화상 처리 방법
US10264264B2 (en) * 2016-09-24 2019-04-16 Apple Inc. Multi-bin decoding systems and methods
US11044490B2 (en) * 2017-09-28 2021-06-22 Sharp Kabushiki Kaisha Motion compensation filter apparatus, image decoding apparatus, and video coding apparatus
US10791341B2 (en) * 2017-10-10 2020-09-29 Qualcomm Incorporated Binary arithmetic coding with progressive modification of adaptation parameters
US10694205B2 (en) * 2017-12-18 2020-06-23 Google Llc Entropy coding of motion vectors using categories of transform blocks
CN113055691A (zh) * 2017-12-29 2021-06-29 深圳市大疆创新科技有限公司 视频解码器及其制造方法,数据处理电路、***和方法
CA3086546A1 (en) 2018-01-18 2019-07-25 Bevara Technologies, Llc Browser navigation for facilitating data access
US10904555B2 (en) * 2018-07-11 2021-01-26 Tencent America LLC Method and apparatus for video coding
US11113999B2 (en) * 2018-09-03 2021-09-07 Chongqing Hkc Optoelectronics Technology Co., Ltd. Data processing method, display device, and computer-readable storage medium
US11412260B2 (en) * 2018-10-29 2022-08-09 Google Llc Geometric transforms for image compression
CN110017571B (zh) * 2018-10-31 2020-11-10 徐州轩科农业机械有限公司 柜式空调背景灯控制***
JP2022016726A (ja) * 2018-11-16 2022-01-25 ソニーグループ株式会社 画像処理装置および方法
CA3132463A1 (en) * 2019-03-18 2020-09-24 Tencent America LLC Method and apparatus for video coding based on prof for affine prediction
US11210813B2 (en) * 2019-05-30 2021-12-28 Tencent America LLC Method and apparatus for point cloud compression
CN114270822A (zh) * 2019-06-24 2022-04-01 Lg电子株式会社 利用色度变换块的最大大小限制编码/解码视频的方法和设备及发送比特流的方法
US11399199B2 (en) * 2019-08-05 2022-07-26 Qualcomm Incorporated Chroma intra prediction units for video coding
EP3994886A4 (en) 2019-08-06 2022-12-28 Beijing Bytedance Network Technology Co., Ltd. VIDEO ZONE PARTITION ACCORDING TO COLOR FORMAT
BR112022003656A2 (pt) * 2019-09-02 2022-05-24 Beijing Bytedance Network Tech Co Ltd Método e aparelho de processamento de dados de vídeo, e, meios de armazenamento e de gravação legíveis por computador não transitórios
MX2022003122A (es) 2019-09-21 2022-04-06 Beijing Bytedance Network Tech Co Ltd Modo intra basado para croma de restriccion de tama?o.
CN111193948B (zh) * 2020-01-07 2022-06-24 上海步频电子科技有限公司 一种显示终端的图片传输和显示的方法和***
CN112204971A (zh) * 2020-02-24 2021-01-08 深圳市大疆创新科技有限公司 视频图像编码方法、设备及可移动平台
CN113329269A (zh) * 2020-02-28 2021-08-31 杭州海康威视数字技术股份有限公司 视频编码、解码方法、装置、电子设备及存储介质
EP4118823A1 (en) * 2020-03-12 2023-01-18 InterDigital VC Holdings France Method and apparatus for video encoding and decoding
US20220107738A1 (en) * 2020-10-06 2022-04-07 Kioxia Corporation Read controller and input/output controller

Family Cites Families (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR0139164B1 (ko) * 1994-12-19 1998-06-01 김광호 적응적 직교변환부호화 장치
CN1921375A (zh) * 1996-03-18 2007-02-28 株式会社东芝 译码装置和译码方法
KR100309086B1 (ko) * 1997-02-13 2001-12-17 다니구찌 이찌로오, 기타오카 다카시 동화상예측시스템및방법
WO1999022524A1 (en) * 1997-10-23 1999-05-06 Mitsubishi Denki Kabushiki Kaisha Image decoder, image encoder, image communication system, and encoded bit stream converter
JP4264571B2 (ja) * 1998-04-09 2009-05-20 ソニー株式会社 ディジタル画像復号装置及び方法、並びに記録媒体
JP3413720B2 (ja) * 1998-06-26 2003-06-09 ソニー株式会社 画像符号化方法及び装置、並びに画像復号方法及び装置
FR2783388B1 (fr) * 1998-09-15 2000-10-13 Thomson Multimedia Sa Procede de compression d'images et dispositif pour la mise en oeuvre de ce procede
US6532265B1 (en) * 1999-03-25 2003-03-11 Imec Vzw Method and system for video compression
US6831948B1 (en) * 1999-07-30 2004-12-14 Koninklijke Philips Electronics N.V. System and method for motion compensation of image planes in color sequential displays
JP2002027477A (ja) * 2000-07-04 2002-01-25 Mitsubishi Electric Corp Mpeg画像処理装置およびそのデータ転送方法
JP2003189312A (ja) * 2001-12-20 2003-07-04 Oki Electric Ind Co Ltd 動画像符号化装置及び動画像復号化装置
CN101039424B (zh) * 2002-07-15 2010-05-26 株式会社日立制作所 动态图像编码方法
JP4724351B2 (ja) * 2002-07-15 2011-07-13 三菱電機株式会社 画像符号化装置、画像符号化方法、画像復号装置、画像復号方法、および通信装置
JP4815107B2 (ja) * 2003-07-16 2011-11-16 三星電子株式会社 カラー平面間予測を利用した無損失映像符号化/復号化方法及び装置
JP4617644B2 (ja) * 2003-07-18 2011-01-26 ソニー株式会社 符号化装置及び方法
EP1515561B1 (en) * 2003-09-09 2007-11-21 Mitsubishi Electric Information Technology Centre Europe B.V. Method and apparatus for 3-D sub-band video coding
KR100754388B1 (ko) * 2003-12-27 2007-08-31 삼성전자주식회사 레지듀 영상 다운/업 샘플링 방법 및 장치와 그를 이용한영상 부호화/복호화 방법 및 장치
JP2006074474A (ja) * 2004-09-02 2006-03-16 Toshiba Corp 動画像符号化装置、動画像符号化方法および動画像符号化プログラム
KR100763178B1 (ko) * 2005-03-04 2007-10-04 삼성전자주식회사 색 공간 스케일러블 비디오 코딩 및 디코딩 방법, 이를위한 장치
WO2006113003A1 (en) * 2005-04-13 2006-10-26 Thomson Licensing Method and apparatus for video decoding
KR101246915B1 (ko) * 2005-04-18 2013-03-25 삼성전자주식회사 동영상 부호화 또는 복호화 방법 및 장치
JP2006304102A (ja) * 2005-04-22 2006-11-02 Renesas Technology Corp 画像符号化ユニットと画像符号化方法
EP1753242A2 (en) 2005-07-18 2007-02-14 Matsushita Electric Industrial Co., Ltd. Switchable mode and prediction information coding
KR100957754B1 (ko) 2005-07-22 2010-05-12 미쓰비시덴키 가부시키가이샤 화상 부호화 장치, 화상 복호 장치, 화상 부호화 방법, 화상 복호 방법, 화상 부호화 프로그램을 기록한 컴퓨터 판독 가능한 기록 매체, 화상 복호 프로그램을 기록한 컴퓨터 판독 가능한 기록 매체
US8306112B2 (en) * 2005-09-20 2012-11-06 Mitsubishi Electric Corporation Image encoding method and image decoding method, image encoder and image decoder, and image encoded bit stream and recording medium
US8300700B2 (en) * 2005-09-20 2012-10-30 Mitsubishi Electric Corporation Image encoding method and image decoding method, image encoder and image decoder, and image encoded bit stream and recording medium
US8300694B2 (en) * 2005-09-20 2012-10-30 Mitsubishi Electric Corporation Image encoding method and image decoding method, image encoder and image decoder, and image encoded bit stream and recording medium
RU2426268C2 (ru) * 2005-09-20 2011-08-10 Мицубиси Электрик Корпорейшн Способ кодирования изображения, способ декодирования изображения, кодер изображения и декодер изображения, и поток битов кодированного изображения, и носитель записи
WO2007034918A1 (ja) * 2005-09-26 2007-03-29 Mitsubishi Electric Corporation 動画像符号化装置及び動画像復号装置
JP4844449B2 (ja) * 2006-04-17 2011-12-28 日本ビクター株式会社 動画像符号化装置、方法、プログラム、動画像復号化装置、方法、およびプログラム
JP5026092B2 (ja) * 2007-01-12 2012-09-12 三菱電機株式会社 動画像復号装置および動画像復号方法
US7529404B2 (en) * 2007-06-20 2009-05-05 Ahdoot Ned M Digital video filter and image processing
US8422803B2 (en) * 2007-06-28 2013-04-16 Mitsubishi Electric Corporation Image encoding device, image decoding device, image encoding method and image decoding method
EP2234404A4 (en) * 2008-01-09 2011-06-22 Mitsubishi Electric Corp IMAGE ENCODING DEVICE, IMAGE DECODING DEVICE, IMAGE ENCODING METHOD, AND IMAGE DECODING METHOD

Also Published As

Publication number Publication date
RU2470480C1 (ru) 2012-12-20
US8422803B2 (en) 2013-04-16
US8139875B2 (en) 2012-03-20
CA2691742A1 (en) 2008-12-31
KR101379087B1 (ko) 2014-04-11
RU2514787C1 (ru) 2014-05-10
RU2430486C1 (ru) 2011-09-27
US20090003449A1 (en) 2009-01-01
EP2169961A4 (en) 2011-06-15
RU2011119591A (ru) 2012-11-27
CN101889449B (zh) 2013-06-19
US8145002B2 (en) 2012-03-27
EP2661088A1 (en) 2013-11-06
US20090110067A1 (en) 2009-04-30
US8345968B2 (en) 2013-01-01
US20090003448A1 (en) 2009-01-01
JP5296679B2 (ja) 2013-09-25
KR101088972B1 (ko) 2011-12-01
HK1148148A1 (en) 2011-08-26
WO2009001864A1 (ja) 2008-12-31
EP2169961A1 (en) 2010-03-31
US7991237B2 (en) 2011-08-02
CA2691742C (en) 2015-11-24
CN103327328B (zh) 2016-08-17
CN101889449A (zh) 2010-11-17
RU2010102711A (ru) 2011-08-10
US20090003441A1 (en) 2009-01-01
CN103327328A (zh) 2013-09-25
JP2013176168A (ja) 2013-09-05
KR20100032438A (ko) 2010-03-25
JPWO2009001864A1 (ja) 2010-08-26
RU2012140183A (ru) 2014-05-10
US20090003717A1 (en) 2009-01-01
US20090003716A1 (en) 2009-01-01
BRPI0813996A2 (pt) 2015-01-06
KR20110061627A (ko) 2011-06-09
EP2169961B1 (en) 2014-03-05

Similar Documents

Publication Publication Date Title
BRPI0813996B1 (pt) Dispositivo de codificação de imagem para receber um sinal de imagem a cores em movimento e dispositivo de decodificação de imagem para receber um fluxo de bits obtido por compressão-codificação de um sinal de imagem a cores em movimento
CA2610276C (en) Image encoder and image decoder, image encoding method and image decoding method, image encoding program and image decoding program, and computer readable recording medium recorded with image encoding program and computer readable recording medium recorded with image decoding program
US8488889B2 (en) Image encoder and image decoder, image encoding method and image decoding method, image encoding program and image decoding program, and computer readable recording medium recorded with image encoding program and computer readable recording medium recorded with image decoding program
US8509551B2 (en) Image encoder and image decoder, image encoding method and image decoding method, image encoding program and image decoding program, and computer readable recording medium recording with image encoding program and computer readable recording medium recorded with image decoding program
US20080123947A1 (en) Image encoding device, image decoding device, image encoding method, image decoding method, image encoding program, image decoding program, computer readable recording medium having image encoding program recorded therein
US20080165849A1 (en) Image encoder and image decoder, image encoding method and image decoding method, image encoding program and image decoding program, and computer readable recording medium recorded with image encoding program and computer readable recording medium recorded with image decoding program
US20090123066A1 (en) Image encoding device, image decoding device, image encoding method, image decoding method, image encoding program, image decoding program, computer readable recording medium having image encoding program recorded therein,
US20080123977A1 (en) Image encoder and image decoder, image encoding method and image decoding method, image encoding program and image decoding program, and computer readable recording medium recorded with image encoding program and computer readable recording medium recorded with image decoding program
US20080137744A1 (en) Image encoder and image decoder, image encoding method and image decoding method, image encoding program and image decoding program, and computer readable recording medium recorded with image encoding program and computer readable recording medium recorded with image decoding program
US20080130989A1 (en) Image encoder and image decoder, image encoding method and image decoding method, image encoding program and image decoding program, and computer readable recording medium recorded with image encoding program and computer readable recording medium recorded with image decoding program
US20080130990A1 (en) Image encoder and image decoder, image encoding method and image decoding method, image encoding program and image decoding program, and computer readable recording medium recorded with image encoding program and computer readable recording medium recorded with image decoding program
US20080130988A1 (en) Image encoder and image decoder, image encoding method and image decoding method, image encoding program and image decoding program, and computer readable recording medium recorded with image encoding program and computer readable recording medium recorded with image decoding program
TWI820186B (zh) 擴展四叉樹分割的強制邊界分割

Legal Events

Date Code Title Description
B15K Others concerning applications: alteration of classification

Ipc: H04N 19/517 (2014.01), H04N 19/107 (2014.01), H04N

B06F Objections, documents and/or translations needed after an examination request according [chapter 6.6 patent gazette]
B06U Preliminary requirement: requests with searches performed by other patent offices: procedure suspended [chapter 6.21 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 20/10/2020, OBSERVADAS AS CONDICOES LEGAIS.