BR112014004645B1 - Método de codificação de imagem e aparelho de codificação de imagem - Google Patents

Método de codificação de imagem e aparelho de codificação de imagem Download PDF

Info

Publication number
BR112014004645B1
BR112014004645B1 BR112014004645-0A BR112014004645A BR112014004645B1 BR 112014004645 B1 BR112014004645 B1 BR 112014004645B1 BR 112014004645 A BR112014004645 A BR 112014004645A BR 112014004645 B1 BR112014004645 B1 BR 112014004645B1
Authority
BR
Brazil
Prior art keywords
prediction
image
unit
interpolation
motion vector
Prior art date
Application number
BR112014004645-0A
Other languages
English (en)
Other versions
BR112014004645A2 (pt
Inventor
Takeshi Chujoh
Tomoo Yamakage
Original Assignee
Kabushiki Kaisha Toshiba
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 Kabushiki Kaisha Toshiba filed Critical Kabushiki Kaisha Toshiba
Publication of BR112014004645A2 publication Critical patent/BR112014004645A2/pt
Publication of BR112014004645B1 publication Critical patent/BR112014004645B1/pt

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • G06T9/004Predictors, e.g. intraframe, interframe coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/117Filters, e.g. for pre-processing or post-processing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • H04N19/137Motion inside a coding unit, e.g. average field, frame or block difference
    • 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/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • H04N19/517Processing of motion vectors by encoding
    • H04N19/52Processing of motion vectors by encoding by predictive encoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/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/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/567Motion estimation based on rate distortion criteria
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/59Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial sub-sampling or interpolation, e.g. alteration of picture size or resolution

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Color Television Systems (AREA)

Abstract

MÉTODO DE CODIFICAÇÃO DE IMAGEM, MÉTODO DE DECODIFICAÇÃO DE IMAGEM, APARELHO DE CODIFICAÇÃO DE IMAGEM E APARELHO DE DECODIFICAÇÃO DE IMAGEM. A presente invenção refere-se a reduzir uma largura de banda de memória durante codificação de imagem. Um método de codificação de imagem inclui uma etapa de obtenção e uma etapa de geração. A etapa de obtenção inclui obter uma imagem de referência. A etapa de geração inclui gerar uma imagem predita tendo resolução maior que aquela da imagem de referência, ao executar uma interpolação para a imagem de referência obtida de acordo com um vetor de movimento para cada um de o componente de luminância e o componente de diferença de cor. A etapa de geração inclui gerar a imagem predita tendo o componente de diferença de cor sem executar uma interpolação específica que significa o processamento de interpolação no qual um número de pixels a ser acessados na imagem de referência é grande, quando um tamanho de um bloco designado como uma unidade da interpolação é menor que um valor limiar predeterminado.

Description

Campo
[001] Modalidades da presente invenção referem-se a um método de codificação de imagem, um método de decodificação de imagem, um aparelho de codificação de imagem e a um aparelho de decodificação de imagem.
Antecedentes
[002] Em uma técnica de codificação e decodificação de vídeo, uma interpolação de movimento compensado para cada bloco de uma maneira geral é executada. Um sinal de imagem para ser referido é armazenado em uma memória externa; portanto, quando a codificação e decodificação de vídeo são implementadas por hardware, podem existir restrições na quantidade de dados de leitura. Desta maneira, quando uma quantidade de acesso à memória aumenta, uma assim chamada de largura de banda de memória, a qual é um gargalo nas operações de codificação e decodificação, se torna um problema.
[003] Na interpolação de movimento compensado para cada bloco, um processo de filtragem de interpolação usando filtro FIR (Resposta Finita ao Impulso) na direção horizontal e na direção vertical é executado. No processo de filtragem de interpolação, um pixel fora do bloco tem que ser acessado. Quando o número de pixels fora do bloco aumenta, a largura de banda de memória por pixel também aumenta.
[004] Convencionalmente, a largura de banda de memória por pixel tem sido reduzida ao aplicar um filtro de interpolação com um pequeno comprimento de derivação para um bloco com um pequeno tamanho, pelo que a razão dos pixels acessados fora do bloco aumenta relativamente.
Lista de Referências Literatura de Patente
[005] Literatura de Patente 1: Patente Japonesa N°. 4120301.
Sumário Problema Técnico
[006] Entretanto, na técnica convencional, a largura de banda de memória não pode ser reduzida de forma apropriada. Por exemplo, no caso do formato de croma, tal como 4:2:0 ou 4:2:2, no qual o número de amostras do pixel para uma diferença de cor (componente de diferença de cor) é menor que o número de amostras do pixel para luminância (componente de luminância), e a resolução é baixa, a interpolação tem que ser executada de uma tal maneira que a diferença de cor é ampliada mais com a luminância sendo definida como uma referência. Portanto, quando o filtro com mais que duas derivações é usado para a interpolação para a diferença de cor, o processo para o sinal de diferença de cor não pode ser restringido, mesmo se o processo for mudado por bloco de luminância.
Solução Para o Problema
[007] Um método de codificação de imagem de uma modalidade inclui uma etapa de obtenção e uma etapa de geração. A etapa de obtenção inclui obter uma imagem de referência. A etapa de geração inclui gerar uma imagem predita tendo resolução maior que aquela da imagem de referência ao executar, para cada um de o componente de luminância e o componente de diferença de cor, uma interpolação na imagem de referência obtida de acordo com um vetor de movimento. Adicionalmente, a etapa de geração inclui gerar a imagem predita para o componente de diferença de cor sem executar uma interpolação específica que significa a interpolação na qual um número de pixels a ser acessados na imagem de referência é grande, quando um tamanho de um bloco, o qual é designado como uma unidade da interpolação, é menor que um valor limiar predeterminado.
Breve Descrição dos Desenhos
[008] A figura 1 é um diagrama de blocos ilustrando um aparelho de codificação de imagem de acordo com uma modalidade da presente invenção.
[009] A figura 2 é uma vista ilustrando um exemplo de informação de formato de croma.
[0010] A figura 3 é uma vista de um vetor de movimento com um sinal de diferença de cor no formato 4:2:0.
[0011] A figura 4 é uma vista de um vetor de movimento com um sinal de luminância no formato 4:2:0.
[0012] A figura 5 é uma vista de um vetor de movimento com um sinal de diferença de cor no formato 4:2:2.
[0013] A figura 6 é uma vista de um vetor de movimento com um sinal de luminância no formato 4:2:2.
[0014] A figura 7 é uma vista ilustrando um exemplo de pixels que são acessados no formato 4:2:0.
[0015] A figura 8 é uma vista ilustrando um exemplo de pixels que são acessados no formato 4:2:0.
[0016] A figura 9 é uma vista ilustrando um exemplo de pixels que são acessados no formato 4:2:2.
[0017] A figura 10 é um diagrama de blocos ilustrando um aparelho de decodificação de imagem correspondendo ao aparelho de codificação de imagem.
[0018] A figura 11 é um diagrama de blocos ilustrando uma unidade de geração de imagem predita.
[0019] A figura 12 é um fluxograma de controle de acordo com a modalidade.
[0020] A figura 13 é um fluxograma de um processo de reduzir uma largura de banda de memória.
[0021] A figura 14 é um fluxograma de um processo de reduzir uma largura de banda de memória.
[0022] A figura 15 é um fluxograma de um processo de reduzir uma largura de banda de memória.
[0023] A figura 16 é um diagrama ilustrando uma configuração de hardware do aparelho de acordo com a modalidade.
Descrição de Modalidades
[0024] Modalidades preferíveis do método de codificação de imagem, do método de decodificação de imagem, do aparelho de codificação de imagem e do aparelho de decodificação de imagem de acordo com a presente invenção serão descritas a seguir detalhadamente com referência aos desenhos anexos.
[0025] O aparelho de codificação de imagem e o aparelho de decodificação de imagem de acordo com a presente modalidade fazem um controle ao se referir à informação de formato de croma de maneira que uma posição de um pixel indicado por um vetor de movimento em um bloco tendo um tamanho menor que um tamanho predeterminado não está sujeito a uma interpolação para uma diferença de cor, reduzindo assim uma largura de banda de memória.
[0026] A figura 1 é um diagrama de blocos ilustrando um exemplo de uma configuração de um aparelho de codificação de imagem 100 de acordo com a presente modalidade. Tal como ilustrado na figura 1, o aparelho de codificação de imagem 100 inclui uma unidade de subtração 102, uma unidade de transformação/quantização 103, uma unidade de quantização inversa/transformação inversa 104, uma unidade de codificação de entropia 105, uma unidade de adição 106, uma memória de quadro 108, uma unidade de geração de imagem predita 110, uma unidade de controle de predição 112, uma unidade de controle de codificação 113 e uma unidade de pesquisa de vetor de movimento 116.
[0027] O aparelho de codificação de imagem 100 gera os dados codificados 120 a partir do sinal de vídeo de entrada 101. Por exemplo, o sinal de vídeo de entrada 101 é introduzido no aparelho de codificação de imagem 100 em unidades de quadros. O sinal de vídeo de entrada 101 é dividido em um bloco que é um macrobloco.
[0028] A unidade de subtração 102 produz um sinal de erro de predição que é uma diferença entre um sinal de imagem predita 111 gerado pela unidade de geração de imagem predita 110 e o sinal de vídeo de entrada 101.
[0029] A unidade de transformação/quantização 103 executa uma quantização após executar uma transformação ortogonal em sinal de erro de predição com uma transformação discreta de cosseno (DCT), gerando assim informação de coeficiente de transformada quantizada. A informação de coeficiente de transformada quantizada é dividida em duas. Uma da informação dividida é introduzida na unidade de codificação de entropia 105. A outra informação é introduzida na unidade de quantização inversa/transformação inversa 104.
[0030] A unidade de quantização inversa/transformação inversa 104 executa a quantização inversa e transformação inversa na informação de coeficiente de transformada quantizada como o processo inverso ao processamento executado pela unidade de transformação/quantização 103, reproduzindo assim o sinal de erro de predição.
[0031] A unidade de adição 106 soma o sinal de erro de predição e o sinal de imagem predita. De acordo com este processo, um sinal de imagem decodificado 107 é gerado. O sinal de imagem decodificado 107 é introduzido na memória de quadro 108.
[0032] A memória de quadro 108 é uma unidade de memória que armazena na mesma um sinal de imagem de referência. A memória de quadro 108 executa um processo de filtragem ou outro processo no sinal de imagem decodificado 107, e então determina se o sinal de imagem decodificado 107 é armazenado ou não para permitir que o sinal de imagem decodificado 107 se torne o sinal de imagem de referência 109 introduzido na unidade de geração de imagem predita 110. O sinal de imagem de referência 109 é introduzido na unidade de geração de imagem predita 110 e na unidade de pesquisa de vetor de movimento 116.
[0033] A unidade de pesquisa de vetor de movimento 116 gera a informação de vetor de movimento 117 a partir do sinal de vídeo de entrada 101 e do sinal de imagem de referência 109. A informação de vetor de movimento 117 é introduzida na unidade de geração de imagem predita 110, e também é transmitida para a unidade de codificação de entropia 105.
[0034] A unidade de geração de imagem predita 110 gera o sinal de imagem predita 111 a partir do sinal de imagem de referência 109, da informação de controle de predição 118 e da informação de vetor de movimento 117.
[0035] A unidade de controle de codificação 113 introduz a informação de restrição de tamanho de bloco 115 na unidade de controle de predição 112, e transmite a informação de perfil/nível 119 para a unidade de codificação de entropia 105.
[0036] A informação de perfil/nível 119 inclui informação de perfil indicando uma combinação de grupos de ferramentas de codificação, e informação de nível que é informação de restrição do aparelho de codificação de imagem de acordo com a potência de processamento do aparelho de decodificação de imagem. A informação de nível indica uma combinação de restrições de um número máximo de macroblocos por hora, o número máximo de macroblocos por quadro, a faixa de pesquisa máxima de vetor e o número de vetores em dois macroblocos consecutivos.
[0037] Por exemplo, a H.264 especifica informação de perfil tal como um perfil de linha de base, um perfil principal e perfil alto. A H.264 também especifica informação de nível 16.
[0038] Na presente modalidade, parâmetros são especificados usando a informação de perfil/nível. Os parâmetros incluem um parâmetro especificando se o método de redução de largura de banda de memória é aplicado ou não, o valor de restrição do tamanho de bloco (a informação de restrição de tamanho de bloco 115) e um método de restrição. Estes parâmetros podem ser especificados ao usar informação a não ser a informação de perfil/nível.
[0039] A informação de restrição de tamanho de bloco 115 é informação especificando um valor limiar (o valor de restrição do tamanho de bloco) usado para a determinação do tamanho de bloco. Por exemplo, a unidade de controle de codificação 113 estabelece a informação de restrição de tamanho de bloco 115 diferente de acordo com a informação de perfil/nível. A informação de restrição de tamanho de bloco 115 pode ser incluída na informação de perfil/nível.
[0040] A unidade de controle de predição 112 controla a geração de imagem predita executada pela unidade de geração de imagem predita 110 de acordo com a informação de restrição de tamanho de bloco 115 introduzida pela unidade de controle de codificação 113, a informação de formato de croma 114 do sinal de vídeo de entrada 101 e a informação de vetor de movimento 117 introduzida pela unidade de pesquisa de vetor de movimento 116 (o detalhe será descrito mais tarde). A unidade de controle de predição 112 gera a informação de controle de predição 118 usada para o controle da geração de imagem predita. A informação de controle de predição 118 é introduzida na unidade de geração de imagem predita 110, e também é transmitida para a unidade de codificação de entropia 105.
[0041] A unidade de codificação de entropia 105 executa uma codificação de entropia na informação de codificação para gerar os dados codificados 120 de acordo com uma sintaxe prescrita. A informação de codificação inclui, por exemplo, a informação de coeficiente de transformada quantizada introduzida pela unidade de transformação/quantização 103, a informação de formato de croma 114 do sinal de vídeo de entrada, a informação de vetor de movimento 117 introduzida pela unidade de pesquisa de vetor de movimento 116, a informação de controle de predição 118 introduzida pela unidade de controle de predição 112 e a informação de perfil/nível 119 introduzida pela unidade de controle de codificação 113.
[0042] Aqui, a informação de formato de croma 114 será descrita. A informação de formato de croma 114 é informação indicando um formato de croma do sinal de vídeo de entrada 101. A figura 2 é uma vista ilustrando um exemplo da informação de formato de croma 114. A figura 2 ilustra um exemplo no qual chroma_format_idc usado em H.264 é usado como a informação de formato de croma 114.
[0043] O chroma_format_idc = 0 indica um formato monocrômico somente com luminância. O chroma_format_idc = 1 indica o formato 4:2:0 no qual a diferença de cor é amostrada na metade horizontalmente e verticalmente com relação à luminância. O chroma_format_idc = 2 indica o formato 4:2:2 no qual a diferença de cor é amostrada na metade somente horizontalmente com relação à luminância. O chroma_format_idc = 3 indica o formato 4:4:4 no qual a luminância e a diferença de cor têm o mesmo número de pixels.
[0044] O tamanho horizontal do bloco de predição do sinal de luminância é definido como nPSW, e o tamanho vertical é definido como nPSH. No formato 4:2:0, o tamanho horizontal dos blocos dos sinais de diferenças de cor Cb e Cr é nPSW/2, enquanto que o tamanho vertical é nFSH/2. No formato 4:2:2, o tamanho horizontal dos blocos dos sinais de diferenças de cor Cb e Cr é nFSW/2, enquanto que o tamanho vertical é nPSH. No formato 4:4:4, o tamanho horizontal dos blocos dos sinais de diferenças de cor Cb e Cr é nPSW, enquanto que o tamanho vertical é nPSH.
[0045] A seguir, a relação entre o formato de croma e a interpolação será descrita.
[0046] A figura 3 é uma vista ilustrando a posição do vetor de movimento em uma imagem de interpolação com precisão de 1/8 de pixel do sinal de diferença de cor no formato 4:2:0. "B" é uma posição de um pixel inteiro do sinal de diferença de cor, a qual é a posição do vetor de movimento que não necessita da interpolação. Partes brancas indicam a posição do vetor de movimento que necessita de uma interpolação unidimensional para o sinal de diferença de cor só horizontalmente ou só verticalmente. Partes sombreadas claras indicam a posição do vetor de movimento que necessita de uma interpolação bidimensional para executar a interpolação para o sinal de diferença de cor tanto horizontalmente quanto verticalmente.
[0047] A figura 4 é uma vista ilustrando a posição do vetor de movimento em uma imagem de interpolação com precisão de l/4 de pixel do sinal de luminância no formato 4:2:0. "A" é a posição do pixel inteiro do sinal de luminância, a qual é a posição do vetor de movimento que não necessita da interpolação. Partes brancas com "A" indicam a posição do vetor de movimento que não necessita da interpolação para ambos de o sinal de luminância e o sinal de diferença de cor. Partes sombreadas claras com "A" indicam a posição do vetor de movimento que não necessita da interpolação para o sinal de luminância, mas necessita da interpolação para o sinal de diferença de cor.
[0048] As partes brancas sem "A" indicam a posição do vetor de movimento que necessita da interpolação unidimensional para o sinal de luminância e para o sinal de diferença de cor só horizontalmente ou só verticalmente. As partes sombreadas claras sem "A" indicam a posição do vetor de movimento que necessita da interpolação bidimensional na qual o processamento de interpolação é executado horizontalmente e verticalmente para o sinal de luminância e para o sinal de diferença de cor. Partes sombreadas escuras indicam a posição do vetor de movimento que necessita da interpolação unidimensional só horizontalmente ou só verticalmente para o sinal de luminância, e necessita da interpolação bidimensional na qual a interpolação é executada horizontalmente e verticalmente para o sinal de diferença de cor.
[0049] A figura 5 é uma vista ilustrando a posição do vetor de movimento em uma imagem de interpolação com precisão de 1/4 de pixel do sinal de diferença de cor na direção horizontal, e com precisão de 1/8 de pixel do sinal de diferença de cor na direção vertical no formato 4:2:2. "B" é a posição do pixel inteiro do sinal de diferença de cor, a qual é a posição do vetor de movimento que não necessita da interpolação. Partes brancas indicam a posição do vetor de movimento que necessita da interpolação unidimensional para o sinal de diferença de cor só horizontalmente ou só verticalmente. Partes sombreadas claras indicam a posição do vetor de movimento que necessita da interpolação bidimensional para executar a interpolação para o sinal de diferença de cor horizontalmente e verticalmente.
[0050] A figura 6 é uma vista ilustrando a posição do vetor de movimento em uma imagem de interpolação com precisão de 1/4 de pixel do sinal de luminância no formato 4:2:2. "A" é a posição do pixel inteiro do sinal de luminância, a qual é a posição do vetor de movimento que não necessita da interpolação para o sinal de luminância. Partes brancas com "A" indicam a posição do vetor de movimento que não necessita da interpolação para ambos de o sinal de luminância e o sinal de diferença de cor. Partes sombreadas claras com "A" indicam a posição do vetor de movimento que não necessita da interpolação para o sinal de luminância, mas necessita da interpolação para o sinal de diferença de cor.
[0051] As partes brancas sem "A" indicam a posição do vetor de movimento que necessita da interpolação unidimensional para o sinal de luminância e para o sinal de diferença de cor só horizontalmente ou só verticalmente. As partes sombreadas claras sem "A" indicam a posição do vetor de movimento que necessita da interpolação bidimensional na qual a interpolação é executada horizontalmente e verticalmente para o sinal de luminância e para o sinal de diferença de cor. Partes sombreadas escuras indicam a posição do vetor de movimento que necessita da interpolação unidimensional só horizontalmente para o sinal de luminância, e necessita da interpolação bidimensional na qual a interpolação é executada horizontalmente e verticalmente para o sinal de diferença de cor.
[0052] A seguir, a relação entre o formato de croma e o pixel a ser acessado na interpolação será descrita.
[0053] As figuras 7 e 8 são vistas ilustrando um exemplo de um pixel que é acessado ao gerar a imagem de interpolação na base de bloco no formato 4:2:0.
[0054] A figura 7 ilustra o número máximo de pixels que têm que ser acessados ao gerar a imagem de interpolação de bloco de pixels 4x4 para o sinal de luminância com um filtro de interpolação de 8 derivações. Na interpolação bidimensional, três pixels externos no lado esquerdo e acima do bloco de pixels assim como quatro pixels externos no lado direito e sob o bloco de pixels têm que ser acessados para gerar a imagem de interpolação com bloco de pixels 4x4. Especificamente, 11x11 pixels têm que ser acessados como um todo. O número dos pixels externos a ser acessados depende do comprimento de derivação. Portanto, quando o filtro de interpolação com a mesma derivação é usado, o número de acessos por pixel aumenta mais para um bloco menor.
[0055] A figura 8 ilustra o número máximo de pixels que têm que ser acessados ao gerar a imagem de interpolação de bloco de pixels 2x2, correspondendo ao bloco de pixels 4x4 para o sinal de luminância, para o sinal de diferença de cor com um filtro de interpolação de quatro derivações. Na interpolação bidimensional, um pixel externo no lado esquerdo e acima do bloco de pixels assim como dois pixels externos no lado direito e sob o bloco de pixels têm que ser acessados para gerar a imagem de interpolação com bloco de pixels 2x2. Especificamente, 5x5 pixels têm que ser acessados como um todo.
[0056] A figura 9 é uma vista ilustrando um exemplo de um pixel que é acessado ao gerar a imagem de interpolação na base de bloco no formato 4:2:2. O número máximo de pixels que têm que ser acessados ao gerar a imagem de interpolação de bloco de pixels 4x4 para o sinal de luminância com um filtro de interpolação de quatro derivações é o mesmo do caso na figura, 7, de maneira que a descrição redundante não será feita.
[0057] A figura 9 ilustra o número máximo de pixels que têm que ser acessados ao gerar a imagem de interpolação de bloco de pixels 4x2, correspondendo ao bloco de pixels 4x4 para o sinal de luminância, para o sinal de diferença de cor com um filtro de interpolação de quatro derivações. Na interpolação bidimensional, um pixel externo no lado esquerdo e acima do bloco de pixels assim como dois pixels externos na direita e sob o bloco de pixels têm que ser acessados para gerar a imagem de interpolação com bloco de pixels 2x2. Especificamente, 5x7 pixels têm que ser acessados como um todo.
[0058] Tal como ilustrado nas figuras 3 a 6, a necessidade da interpolação é diferente dependendo do formato de croma e do vetor de movimento. O que é necessário dentre a interpolação unidimensional e a interpolação bidimensional é diferente dependendo do formato de croma e do vetor de movimento. Tal como ilustrado nas figuras 7 a 9, o número de pixels a ser acessados é diferente dependendo do formato de croma.
[0059] Na presente modalidade, ao se referir ao formato de croma e ao vetor de movimento, a geração de imagem predita é controlada de maneira que uma interpolação específica na qual o número de pixels a ser acessados na imagem de referência (o sinal de imagem de referência 109) é grande não é executada. A interpolação específica é uma interpolação usando predição bidirecional e interpolação bidimensional. A interpolação na predição bidirecional pode ser definida como a interpolação específica. O método específico para controlar a geração de imagem predita a fim de não executar a interpolação específica será descrito mais tarde.
[0060] A figura 10 é um diagrama de blocos ilustrando um exemplo de uma configuração de um aparelho de decodificação de imagem 300 correspondendo ao aparelho de codificação de imagem 100. O aparelho de decodificação de imagem 300 inclui uma unidade de decodificação de entropia 302, uma unidade de quantização inversa/transformação inversa 303, uma unidade de adição 304, uma memória de quadro 306 e a unidade de geração de imagem predita 110.
[0061] O aparelho de decodificação de imagem 300 gera um sinal de vídeo reproduzido 307 a partir dos dados codificados 301.
[0062] A unidade de decodificação de entropia 302 executa uma decodificação de entropia nos dados codificados 301 de acordo com uma sintaxe prescrevida. A unidade de decodificação de entropia 302 decodifica os dados codificados 301 para obter informação de coeficiente de transformada quantizada, a informação de controle de predição 311, a informação de vetor de movimento 312 e a informação de perfil/nível 313. A informação de coeficiente de transformada quantizada decodificada é introduzida na unidade de quantização inversa/transformação inversa 303. A informação de controle de predição 311, a informação de vetor de movimento 312 e a informação de perfil/nível 313 decodificadas são introduzidas na unidade de geração de imagem predita 110.
[0063] A informação de coeficiente de transformada quantizada, a informação de controle de predição 311, a informação de vetor de movimento 312 e a informação de perfil/nível 313 correspondem respectivamente à informação de coeficiente de transformada quantizada, à informação de controle de predição 118, à informação de vetor de movimento 117 e à informação de perfil/nível 119, as quais são codificadas pelo aparelho de codificação de imagem 100 na figura 1.
[0064] A unidade de quantização inversa/transformação inversa 303 executa quantização inversa e transformação ortogonal inversa na informação de coeficiente de transformada quantizada, reproduzindo assim o sinal de erro de predição.
[0065] A unidade de adição 304 soma o sinal de erro de predição e o sinal de imagem predita 310 para gerar um sinal de imagem decodificado 305. O sinal de imagem decodificado 305 é introduzido na memória de quadro 306.
[0066] A memória de quadro 306 executa o processo de filtragem no sinal de imagem decodificado 305, e produz o sinal resultante como o sinal de vídeo reproduzido 307. A memória de quadro 306 determina se o sinal de imagem decodificado 305, o qual foi submetido ao processo de filtragem, deve ser armazenado ou não, com base na informação de controle de predição 311. O sinal de imagem decodificado 305 armazenado é introduzido na unidade de geração de imagem predita 310 como um sinal de imagem de referência 306.
[0067] A unidade de geração de imagem predita 110 gera o sinal de imagem predita 310 ao usar o sinal de imagem de referência 300, a informação de controle de predição 311 e a informação de vetor de movimento 312.
[0068] A figura 11 é um diagrama de blocos ilustrando um exemplo de uma configuração da unidade de geração de imagem predita 110 montada no aparelho de codificação de imagem 100 e no aparelho de decodificação de imagem 300. A unidade de geração de imagem predita 110 inclui um comutador 201, uma unidade de predição bidirecional 202, uma unidade de predição unidirecional 203 e uma unidade de predição intra 204. A unidade de geração de imagem predita 110 gera o sinal de imagem predita 111 a partir do sinal de imagem de referência 109, da informação de controle de predição 118 e da informação de vetor de movimento 117.
[0069] A informação de controle de predição 118 inclui informação (modo de predição) para designar que uma de a unidade de predição bidirecional 202, a unidade de predição unidirecional 203 e a unidade de predição intra 204 é usada, por exemplo. O comutador 201 faz uma mudança para selecionar qualquer uma de a unidade de predição bidirecional 202, a unidade de predição unidirecional 203 e a unidade de predição intra 204 ao se referir a esta informação.
[0070] O sinal de imagem de referência 109 é introduzido em qualquer uma de a unidade de predição bidirecional 202, a unidade de predição unidirecional 203 e a unidade de predição intra 204, a qual é selecionada pelo comutador 201.
[0071] Quando a unidade de predição bidirecional 202 é selecionada, a unidade de predição bidirecional 202 gera um sinal de imagem de compensação de movimento ao usar o sinal de imagem de referência 109 e a informação de vetor de movimento 117 de múltiplos quadros de referência, e gera o sinal de imagem predita 111 com base na predição bidirecional. A unidade de predição bidirecional 202 é selecionada não somente no caso onde o modo de predição é designado explicitamente como a predição bidirecional nos dados codificados, mas também no caso onde a predição bidirecional não é designada explicitamente pelos dados codificados tal como um modo de salto, um modo direto e modo de fusão, mas a operação da predição bidirecional é designada implicitamente por meio de semântica.
[0072] Quando a unidade de predição unidirecional 203 é selecionada, a unidade de predição unidirecional 203 gera o sinal de imagem de compensação de movimento ao usar o sinal de imagem de referência 109 e a informação de vetor de movimento 117 de um único quadro de referência, e gera o sinal de imagem predita 111. A unidade de predição unidirecional 203 é selecionada não somente no caso onde o modo de predição é designado explicitamente como a predição unidirecional nos dados codificados, mas também no caso onde a predição unidirecional não é designada explicitamente pelos dados codificados tal como o modo de salto, o modo direto e o modo de fusão, mas a operação da predição unidirecional é designada implicitamente por meio de semântica.
[0073] Quando a unidade de predição intra 204 é selecionada, a unidade de predição intra 204 gera o sinal de imagem predita 111 ao usar o sinal de imagem de referência 109 em uma tela.
[0074] A seguir, o controle para reduzir a largura de banda de memória pelo aparelho de codificação de imagem 100 configurado de acordo com a presente modalidade será descrito com referência à figura 12. A figura 12 é um fluxograma ilustrando um fluxo total do controle na presente modalidade.
[0075] A unidade de controle de codificação 113 estabelece uma valor de restrição (nLPSW, nLPSH) do tamanho de bloco de acordo com a informação de perfil/nível 119 (etapa S101). O nLPSW é o valor de restrição do tamanho de bloco predito de luminância na direção horizontal. O nLPSH é o valor de restrição do tamanho de bloco predito de luminância na direção vertical.
[0076] Quando a informação de perfil indica um perfil específico (por exemplo, perfil alto da H.264), ou quando a informação de nível indica um nível específico (por exemplo, um certo nível ou nível mais alto), por exemplo, a unidade de controle de codificação 113 estabelece o valor de restrição predeterminado (nLPSW, nLPSN) do tamanho de bloco. A unidade de controle de codificação 113 pode ser configurada para estabelecer de forma gradual o valor de restrição do tamanho de bloco de acordo com a informação de perfil e a informação de nível.
[0077] É suposto a seguir que uma variável RW é uma precisão de vetor de movimento na direção horizontal, expressada por precisão de 1/RW de pixel. Também é suposto que uma variável RH é uma precisão de vetor de movimento na direção vertical, expressada por precisão de 1/RH de pixel. Valores iniciais da variável RW e da variável RH são definidos como a precisão de vetor de movimento de luminância. Um valor de uma potência de dois de uma maneira geral é usado para RW e RN.
[0078] A unidade de controle de predição 112 determina se a informação de formato de croma (chroma_format_idc) 114 é 1 ou não (etapa S102). No caso de chroma_format_idc = 1 (etapa S102: Sim), a unidade de controle de predição 112 dobra os valores de RW e RH (etapa S103). Isto é porque chroma_format_idc = 1 significa formato 4:2:0 no qual a diferença de cor é amostrada na metade horizontalmente e verticalmente com relação à luminância.
[0079] No caso onde chroma_format_idc = 1 não é estabelecido (etapa S102: Não), a unidade de controle de predição 112 determina se a informação de formato de croma (chroma_format_idc) 114 é 2 ou não (etapa S104). No caso de chroma_format_idc = 2 (etapa S104: Sim), a unidade de controle de predição 112 dobra o valor de RW (etapa S105), Isto é porque chroma_format_idc 2 significa formato 4:2:2 no qual a diferença de cor é amostrada na metade só horizontalmente com relação à luminância.
[0080] Quando chroma_format_idc assume outros valores (etapa S104: Não), os valores de RW e RH não são mudados.
[0081] A seguir, a unidade de controle de predição 112 calcula uma variável L indicando se a largura de banda de memória está restringida ou não (etapa S106). A variável L assumindo "verdade" significa que o método de reduzir a largura de banda de memória está aplicado, e a variável L assumindo "falso", significa que o método não está aplicado.
[0082] Quando a predição é a predição bidirecional, o bloco de predição é pequeno, e dois vetores de movimento são de precisão fracionária na diferença de cor, tal como descrito anteriormente; por exemplo, a largura de banda de memória a ser acessada por pixel aumenta. Portanto, a unidade de controle de predição 112 calcula a variável L de acordo com a equação (1) seguinte.
[0083] L = (PredMode == PredBi) &&
[0084] (nPSW < nLPSW) && (nPSH < nLtSH) &&
[0085] (mvL0[0] & (RW - 1)) &&
[0086] (mvL0[1] & (RH - 1)) &&
[0087] (mvL1[0] & (RW - 1)) &&
[0088] (mvL1[1] & (RH - 1)); (1)
[0089] O valor do vetor de movimento na direção horizontal na lista 0 do bloco a ser processado é definido como mvL0[0], e o valor na direção vertical é definido como mvL0[1]. O valor do vetor de movimento na direção horizontal na lista 1 é definido como mvL1[0], e o valor na direção vertical é definido como mvL1[1]. PredMode indica o modo de predição. PredBi indica a predição bidirecional. Na descrição a seguir, os modos de predição da predição unidirecional usando os vetores de movimento na lista 0 e na lista 1 estão representado como PredL0 e PredL1, respectivamente.
[0090] Um exemplo da equação (1) é um caso no qual o modo de predição PredMode é PredBi, isto é, a unidade de predição bidirecional 202 é selecionada. A expressão (nPSW < nLPSW) && (nPSH < nLPSH) && significa a condição na qual o tamanho de bloco de predição é igual ou menor que a informação de restrição de tamanho de bloco. Em (mvL0[0] & (RW - 1)) &&, (mvL0[1] & (RH - 1)) &&, (mvL1[0] & (RW - 1)) &&, e (mvL1[1] & (RH - 1)), é verificado se os dois vetores de movimento L0 e L1 não estão submetidos à interpolação bidimensional para a diferença de cor, isto é, se o bit inferior do vetor de movimento expressa a precisão após o ponto decimal. O símbolo "&" significa um operador de bit de acordo com a notação na linguagem C, e expressa OU bit a bit.
[0091] A equação condicional para calcular a variável L não está limitada à equação (1). Por exemplo, ela pode ser determinada independentemente mesmo para os modos de predição (PredL0, PredL1) a não ser PredBi tal como em uma equação (2).
[0092] L = (nPSW < nLPSW) && (nPSH < nLPSH) &&
[0093] ((PredMode == PredBi) &&
[0094] (mvL0[0] & (RW - 1)) &&
[0095] (mvL0[1] & (RH - 1)) &&
[0096] (mvL1[0] & (RW - 1)) &&
[0097] (mvL1[1] & (RH - 1)) ||
[0098] ((PredMode == PredL0) &&
[0099] (mvL0[0] & (RW - 1)) &&
[00100] (mvL0[1] & (R - 1)) ||
[00101] ((PredMode == PredL1) &&
[00102] (mvL1[0] & (RW - 1)) &&
[00103] (mvL1[1] & (RH - 1))))); (2)
[00104] Tal como em uma equação (3), o valor de restrição (nLPSW1, NLPSH1) do tamanho de bloco para a predição unidirecional (PredL0 ou PredL1) pode ser estabelecido separadamente. Especificamente, o tamanho de bloco restringido na predição unidirecional e o tamanho de bloco restringido na predição bidirecional podem ser diferentes um do outro.
[00105] L = ((PredMode == PredBi) &&
[00106] (nPSW < nLPSW) && (nPSH < nLPSH) &&
[00107] (mvL0[0] & (RW - 1)) &&
[00108] (mvL0[1] & (RH - 1)) &&
[00109] (mvL1[0] & (RW - 1)) &&
[00110] (mvL1[1] & (RH - 1)) ||
[00111] (((nPSW < nLPSW1) &&
[00112] (nPSH < nLPSH1)) ||
[00113] ((PredMode == PredL0) &&
[00114] (mvL0[0] & (RW - 1)) &&
[00115] (mvL0[1] & (RH - 1)) &&
[00116] ((PredMode == PredL1) &&
[00117] (mvL1[0] & (RW - 1)) &&
[00118] (mvL1[0] & (RH - 1))); (3)
[00119] Quando o tamanho de bloco de predição é igual ou menor que o valor de restrição (nLPSW, nLPSH) do tamanho de bloco tal como em uma equação (4), dois vetores de movimento podem ser restringidos para acesso somente ao pixel inteiro na diferença de cor durante a predição bidirecional.
[00120] L = ((PredMode == PredBi) &&
[00121] (nPSW < nLPSW) && (nPSH < nLPSH) &&
[00122] |((mvL0[0] & (RW - 1) == 0) &&
[00123] (mvL0[1] & (RH - 1) == 0) &&
[00124] (mvL1[0] & (RW - 1) == 0) &&
[00125] (mvL1[1] & (RH - 1)) == 0))); (4)
[00126] Se o valor do vetor de movimento está restringido, ou sob qual condição o valor do vetor de movimento está restringido, é distinguido pela informação de perfil/nível 119.
[00127] A seguir, o método específico de reduzir a largura de banda de memória será descrito. A figura 13 é um fluxograma ilustrando um exemplo do processo de reduzir a largura de banda de memória. A figura 13 ilustra um exemplo de um método de restringir o valor do vetor de movimento, como o método de reduzir a largura de banda de memória.
[00128] A unidade de controle de predição 112 determina se a variável L é "verdade" ou não (etapa S201). Se a variável L for "verdade" (etapa S201: Sim), a unidade de controle de predição 112 transforma os valores L0 e L1 de dois vetores de movimento tal como em uma equação (5) (etapa S202).
[00129] mvL0[0] = ((mvL0[0] + (RW >> 1))/RW)xRW;
[00130] mvL0[1] = ((mvL0[1] + (RH >> 1))/RH)xRH;
[00131] mvL1[0] = ((mvL1[0] + (RW >> 1))/RW)xRW;
[00132] mvL1[1] = ((mvL1[1] + (RH >> 1))/RH)xRH; (5)
[00133] O símbolo ">>" indica um deslocamento aritmético à direita de acordo com a notação na linguagem C. "/" indica uma divisão aritmética em número inteiro. "x" indica uma multiplicação aritmética em número inteiro. O bit correspondendo à precisão de interpolação do sinal de diferença de cor de dois vetores de movimento L0 e L1 é arredondado pela equação (5) para se tornar 0. Com este processo, a interpolação bidimensional não é executada, pelo que a redução na largura de banda de memória pode ser alcançada.
[00134] O método de arredondamento geral é descrito aqui. Entretanto, um outro método pode ser usado. Por exemplo, um método de arredondamento para baixo, método de arredondamento para cima ou um método de arredondamento para o número par mais próximo pode ser empregado.
[00135] A informação de vetor de movimento 117 cujo valor é mudado é codificada na unidade de codificação de entropia 105, e produzida como os dados codificados. O método na figura 13 é para controlar a informação de vetor de movimento 117 ao restringir o valor do vetor de movimento, a fim de não para gerar os dados codificados pelos quais a largura de banda de memória aumenta.
[00136] Alternativamente, em vez de codificar a informação de vetor de movimento 117 cujo valor é mudado na unidade de codificação de entropia 105, a informação de vetor de movimento 117 antes da mudança pode ser codificada pela unidade de codificação de entropia. Neste caso, a unidade de geração de imagem predita 110 no aparelho de decodificação de imagem 300 determina se o método de reduzir a largura de banda de memória está aplicado ou não no processo igual àquele na figura 12. Quando ele está aplicado, a unidade de geração de imagem predita 110 no aparelho de decodificação de imagem 300 restringe o vetor de movimento em um modo igual àquele na figura 13.
[00137] O método de transformar o valor do vetor de movimento não está limitado ao método de arredondar o valor correspondendo à precisão de interpolação da diferença de cor tal como na equação (4). O valor pode ser arredondado separadamente para a luminância e para a diferença de cor. Especificamente, durante a interpolação para a luminância, o valor correspondendo à precisão de interpolação da luminância pode ser arredondado, enquanto que o valor correspondendo à precisão de interpolação da diferença de cor pode ser arredondado durante o processamento de interpolação para a diferença de cor. Este método é para não gerar a imagem predita que aumenta a largura de banda de memória, quando o aparelho de codificação de imagem 100 e o aparelho de decodificação de imagem 300 são configurados antecipadamente em um modo para executar a mesma operação.
[00138] A figura 14 é um fluxograma ilustrando um outro exemplo do processo de reduzir a largura de banda de memória. A figura 14 ilustra um outro exemplo do método de restringir o valor do vetor de movimento.
[00139] Neste exemplo, a unidade de controle de predição 112 e a unidade de geração de imagem predita 110 calculam o custo para selecionar o modo de predição, o tamanho de bloco predito e o vetor de movimento. Elas preferencialmente selecionam o modo de predição, o tamanho de bloco predito e o vetor de movimento, os quais são pequenos em custo, pelo que a combinação ideal pode ser selecionada.
[00140] Uma variável MV_Cost indicando o custo para o vetor de movimento é calculada ao usar uma soma de distância absoluta (SAD) de erros residuais preditos, uma quantidade de códigos da informação de vetor de movimento (MV_Code) e um multiplicador de Lagrange (À) calculado a partir da informação quantizada tal como em uma equação (6).MV_Cost = SAD + À x MV_Code (6)
[00141] Se a variável L for "verdade" (etapa S301: Sim), a unidade de controle de predição 112 substitui o valor máximo predeterminado MaxValue para a variável MV_Cost indicando o custo para o vetor de movimento (etapa S302). Com este processo, a unidade de controle de predição 112 controla para não selecionar o vetor de movimento tendo a grande largura de banda de memória (etapa S301).
[00142] No método na figura 14, o valor do vetor de movimento é restringido para controlar a informação de vetor de movimento 117, a fim de não gerar os dados codificados pelos quais a largura de banda de memória aumenta, tal como na figura 13.
[00143] A figura 15 é um fluxograma ilustrando um outro exemplo do método de reduzir a largura de banda de memória. A figura 15 ilustra um método de controlar o modo de predição da diferença de cor, como um outro método de reduzir a largura de banda de memória.
[00139] Se a variável L for "verdade" (etapa S401), somente o modo de predição PredMode de cor é regravado forçadamente para a predição unidirecional PredL0 (etapa S402). Com este processo, o caso da predição bidirecional com o sinal de diferença de cor usando grande largura de banda de memória pode ser restringido.
[00140] O modo de predição no qual o modo de predição é regravado forçadamente pode ser a predição unidirecional PredL1. Qual modo de predição é restringido é determinado de acordo com a informação de perfil/nível 119.
[00141] Tal como descrito anteriormente, de acordo com a presente modalidade, a largura de banda de memória ao gerar a imagem de interpolação de movimento compensado durante a codificação de imagem e decodificação de imagem pode ser reduzida.
[00142] A seguir, uma configuração de hardware do aparelho (o aparelho de codificação de imagem, e o aparelho de decodificação de imagem) de acordo com a presente modalidade será descrita com referência à figura 16. A figura 16 é uma vista explanativa ilustrando uma configuração de hardware do aparelho de acordo com a presente modalidade.
[00143] O aparelho de acordo com a presente modalidade inclui um dispositivo de controle tal como uma CPU (Unidade Central de Processamento) 51, um dispositivo de memória tal como uma ROM (Memória Somente de Leitura) 52 ou uma RAM (Memória de Acesso Aleatório) 53, uma interface de comunicação 54 que é conectada à rede para capacitar intercomunicação e um barramento 61 que interliga cada unidade.
[00144] Um programa executado pelo aparelho de acordo com a presente modalidade é fornecido tal como sendo incorporado preliminarmente na ROM 52.
[00145] O programa pode ser configurado para ser fornecido, tal como um produto de computador, como sendo gravado como um arquivo em um formato instalável ou em um formato executável em uma mídia de gravação legível por computador tal como um CD-ROM (Disco Compacto), um disco flexível (FD), um CD-R, um DVD (Disco Versátil Digital) e outros mais.
[00146] Adicionalmente, o programa pode ser fornecido de uma tal maneira que o programa é armazenado em um computador conectado a uma rede tal como a Internet para permitir transferência via rede. O programa pode ser configurado para ser fornecido ou distribuído via uma rede tal como a Internet.
[00147] O programa executado pelo aparelho de acordo com a presente modalidade pode permitir que o computador funcione como cada unidade (unidade de geração de imagem predita e outras mais) descrita anteriormente. A CPU 51 no computador pode ler o programa na mídia de memória legível por computador no dispositivo de memória principal, e pode executar o mesmo programa.
[00148] Embora certas modalidades tenham sido descritas, estas modalidades foram apresentadas somente a título de exemplo, e não são pretendidas para limitar o escopo das invenções. De fato, as inéditas modalidades descritas neste documento podem ser incorporadas em uma variedade de outras formas; além disso, várias omissões, substituições e mudanças na forma das modalidades descritas neste documento podem ser feitas sem divergir do espírito das invenções. As concretizações anexas e suas equivalências são pretendidas para cobrir tais formas ou modificações como estando dentro do escopo e espírito das invenções. Lista de Símbolos de Referência 100 APARELHO DE CODIFICAÇÃO DE IMAGEM 101 SINAL DE VÍDEO DE ENTRADA 102 UNIDADE DE SUBTRAÇÃO 103 UNIDADE DE TRANSFORMAÇÃO/QUANTIZAÇÃO 104 UNIDADE DE QUANTIZAÇÃO INVERSA/TRANSFORMAÇÃO INVERSA 105 UNIDADE DE CODIFICAÇÃO DE ENTROPIA 106 UNIDADE DE ADIÇÃO 107 SINAL DE IMAGEM DECODIFICADO 108 MEMÓRIA DE QUADRO 109 SINAL DE IMAGEM DE REFERÊNCIA 110 UNIDADE DE GERAÇÃO DE IMAGEM PREDITA 111 SINAL DE IMAGEM PREDITA 112 UNIDADE DE CONTROLE DE PREDIÇÃO 113 UNIDADE DE CONTROLE DE CODIFICAÇÃO 114 INFORMAÇÃO DE FORMATO DE CROMA 115 INFORMAÇÃO DE RESTRIÇÃO DE TAMANHO DE BLOCO 116 UNIDADE DE PESQUISA DE VETOR DE MOVIMENTO 117 INFORMAÇÃO DE VETOR DE MOVIMENTO 118 INFORMAÇÃO DE CONTROLE DE PREDIÇÃO 119 INFORMAÇÃO DE PERFIL/NÍVEL 120 DADOS CODIFICADOS 300 APARELHO DE DECODIFICAÇÃO DE IMAGEM 301 DADOS CODIFICADOS 302 UNIDADE DE DECODIFICAÇÃO DE ENTROPIA 303 UNIDADE DE QUANTIZAÇÃO INVERSA/TRANSFORMAÇÃO INVERSA 304 UNIDADE DE ADIÇÃO 305 SINAL DE IMAGEM DECODIFICADO 306 MEMÓRIA DE QUADRO 307 SINAL DE VÍDEO REPRODUZIDO 308 SINAL DE IMAGEM DE REFERÊNCIA 310 SINAL DE IMAGEM PREDITA 311 INFORMAÇÃO DE CONTROLE DE PREDIÇÃO 312 INFORMAÇÃO DE VETOR 313 INFORMAÇÃO DE PERFIL/NÍVEL

Claims (9)

1. Método de codificação de imagem de codificar uma imagem alvo incluindo um componente de luminância e componentes de diferença de cor, o método caracterizado pelo fato de que compreende as etapas de: obter uma imagem de referência; e gerar uma imagem predita interpolando o componente de luminância e os componentes de diferença de cor na imagem de referência de acordo com um vetor de movimento, selecionar uma predição bidirecional ou uma predição unidimensional com base em um modo de predição que é explicitamente ou implicitamente designado, a predição bidirecional usando duas imagens de referência, a predição unidimensional usando uma imagem de referência; se um tamanho de um bloco, que é designado como uma unidade da interpolação, satisfaz uma primeira condição, e se a predição bidirecional é selecionada, alterar a predição bidirecional para a predição unidirecional, gerar a imagem predita interpolando a imagem de referência de acordo com o vetor de movimento.
2. Método de codificação de imagem, de acordo com a reivindicação 1, caracterizado pelo fato de que: na geração, se o tamanho do bloco, que é designado como uma unidade da interpolação, for igual ou menor que uma segunda condição que é diferente da primeira condição, a predição unidirecional não é executada.
3. Método de codificação de imagem, de acordo com a reivindicação 1, caracterizado pelo fato de que se o tamanho do bloco, que é designado como uma unidade da interpolação, for igual ou menor que a primeira condição, a geração inclui mudar a predição bidirecional para a predição unidirecional.
4. Método de codificação de imagem, de acordo com a reivindicação 1, caracterizado pelo fato de que a imagem predita é gerada a partir de duas imagens de referência se a predição bidirecional for executada e gerada a partir de uma única imagem de referência se a predição unidirecional for executada.
5. Aparelho de codificação de imagem caracterizado pelo fato de que codifica uma imagem alvo incluindo um componente de luminância e componentes de diferença de cor, o aparelho compreendendo: uma unidade de geração configurada para gerar uma imagem predita ao interpolar o componente de luminância e os componentes de diferença de cor em uma imagem de referência de acordo com um vetor de movimento; e uma unidade de codificação configurada para codificar informação de coeficiente obtida de um erro de predição indicando uma diferença entre a imagem predita e a imagem alvo, em que a unidade de geração está configurada para: selecionar uma predição bidirecional ou uma predição unidimensional com base em um modo de predição que é explicitamente ou implicitamente designado, a predição bidirecional usando duas imagens de referência, a predição unidimensional usando uma imagem de referência; se um tamanho de um bloco, que é designado como uma unidade da interpolação, satisfaz uma primeira condição, e se a predição bidirecional é selecionada, alterar a predição bidirecional para a predição unidirecional,gerar a imagem predita interpolando a imagem de referência de acordo com o vetor de movimento.
6. Aparelho de codificação de imagem, de acordo com a reivindicação 5, caracterizado pelo fato de que se o tamanho do bloco, que é designado como uma unidade da interpolação, for igual ou menor que uma segunda condição que é diferente da primeira condição, a unidade de geração não executa a predição unidirecional.
7. Aparelho de codificação de imagem, de acordo com a reivindicação 5, caracterizado pelo fato de que se o tamanho do bloco, que é designado como uma unidade da interpolação, for igual ou menor que a primeira condição, a unidade de geração muda a predição bidirecional para a predição unidirecional.
8. Aparelho de codificação de imagem, de acordo com a reivindicação 5, caracterizado pelo fato de que a imagem predita é gerada a partir de duas imagens de referência se a predição bidirecional for executada e gerada a partir de uma única imagem de referência se a predição unidirecional for executada.
9. Aparelho de codificação de imagem, de acordo com a reivindicação 5, caracterizado pelo fato de que a unidade de geração e a unidade de codificação são implementada como um processador.
BR112014004645-0A 2011-11-08 2011-11-08 Método de codificação de imagem e aparelho de codificação de imagem BR112014004645B1 (pt)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2011/075725 WO2013069095A1 (ja) 2011-11-08 2011-11-08 画像符号化方法、画像復号方法、画像符号化装置および画像復号装置

Publications (2)

Publication Number Publication Date
BR112014004645A2 BR112014004645A2 (pt) 2017-03-14
BR112014004645B1 true BR112014004645B1 (pt) 2022-04-26

Family

ID=48288682

Family Applications (4)

Application Number Title Priority Date Filing Date
BR122020011587-4A BR122020011587B1 (pt) 2011-11-08 2011-11-08 Método de decodificação realizado pelo menos parcialmente por um circuito eletrônico e método de codificação realizado pelo menos parcialmente por um circuito eletrônico
BR122020011590-4A BR122020011590B1 (pt) 2011-11-08 2011-11-08 Método de decodificação realizado pelo menos parcialmente por um circuito eletrônico e método de codificação realizado pelo menos parcialmente por um circuito eletrônico
BR122020011581-5A BR122020011581B1 (pt) 2011-11-08 2011-11-08 Método de decodificação realizado pelo menos parcialmente por um circuito eletrônico e método de codificação realizado pelo menos parcialmente por um circuito eletrônico
BR112014004645-0A BR112014004645B1 (pt) 2011-11-08 2011-11-08 Método de codificação de imagem e aparelho de codificação de imagem

Family Applications Before (3)

Application Number Title Priority Date Filing Date
BR122020011587-4A BR122020011587B1 (pt) 2011-11-08 2011-11-08 Método de decodificação realizado pelo menos parcialmente por um circuito eletrônico e método de codificação realizado pelo menos parcialmente por um circuito eletrônico
BR122020011590-4A BR122020011590B1 (pt) 2011-11-08 2011-11-08 Método de decodificação realizado pelo menos parcialmente por um circuito eletrônico e método de codificação realizado pelo menos parcialmente por um circuito eletrônico
BR122020011581-5A BR122020011581B1 (pt) 2011-11-08 2011-11-08 Método de decodificação realizado pelo menos parcialmente por um circuito eletrônico e método de codificação realizado pelo menos parcialmente por um circuito eletrônico

Country Status (15)

Country Link
US (9) US9135717B2 (pt)
EP (4) EP4199508A1 (pt)
JP (1) JP5766815B2 (pt)
KR (3) KR101597059B1 (pt)
CN (2) CN107277511A (pt)
AU (2) AU2011380761C1 (pt)
BR (4) BR122020011587B1 (pt)
CA (1) CA2847301C (pt)
ES (2) ES2794582T3 (pt)
MX (1) MX2014002334A (pt)
PL (2) PL3672238T3 (pt)
RU (1) RU2595569C2 (pt)
SG (1) SG11201400290XA (pt)
WO (1) WO2013069095A1 (pt)
ZA (1) ZA201401565B (pt)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101762819B1 (ko) * 2010-09-02 2017-07-28 엘지전자 주식회사 영상 부호화 및 복호화 방법과 이를 이용한 장치
SI2744204T1 (sl) 2011-09-14 2019-02-28 Samsung Electronics Co., Ltd., Postopek dekodiranja enote za napovedovanje (PU) na podlagi njene velikosti
PL3672238T3 (pl) 2011-11-08 2023-07-24 Kabushiki Kaisha Toshiba Metoda dekodowania obrazu i metoda kodowania obrazu
US9894355B2 (en) * 2012-01-19 2018-02-13 Sony Corporation Image processing apparatus and method thereof
GB2501535A (en) * 2012-04-26 2013-10-30 Sony Corp Chrominance Processing in High Efficiency Video Codecs
US10110916B2 (en) 2014-04-22 2018-10-23 Sony Corporation Encoding device and encoding method
CA2988107A1 (en) * 2015-06-19 2016-12-22 Nokia Technologies Oy An apparatus, a method and a computer program for video coding and decoding
US10015504B2 (en) * 2016-07-27 2018-07-03 Qualcomm Incorporated Compressing image segmentation data using video coding
US10841610B2 (en) * 2017-10-23 2020-11-17 Avago Technologies International Sales Pte. Limited Block size dependent interpolation filter selection and mapping
US11689731B2 (en) * 2018-09-21 2023-06-27 Sharp Kabushiki Kaisha Image decoding apparatus and image coding apparatus that involves bi-prediction
CN110582022B (zh) * 2019-09-27 2022-12-30 腾讯科技(深圳)有限公司 视频编解码方法和装置及存储介质

Family Cites Families (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2873396B2 (ja) 1990-09-11 1999-03-24 清水建設株式会社 軌道仮受け施工方法
JP2001045491A (ja) 1999-08-03 2001-02-16 Hitachi Ltd 符号化画像の復号・表示装置
JP4129374B2 (ja) * 2001-09-18 2008-08-06 松下電器産業株式会社 画像符号化方法および画像復号化方法
CN1298171C (zh) 2001-09-18 2007-01-31 松下电器产业株式会社 图像的编码方法和图像的译码方法
EP1827027A1 (en) * 2002-01-18 2007-08-29 Kabushiki Kaisha Toshiba Video encoding method and apparatus and video decoding method and apparatus
JP3861698B2 (ja) * 2002-01-23 2006-12-20 ソニー株式会社 画像情報符号化装置及び方法、画像情報復号装置及び方法、並びにプログラム
JP4120301B2 (ja) 2002-04-25 2008-07-16 ソニー株式会社 画像処理装置およびその方法
JP4053925B2 (ja) * 2003-05-09 2008-02-27 日本電信電話株式会社 映像符号化方法,映像符号化装置,映像符号化プログラムおよび映像符号化プログラムの記録媒体
JP2006333436A (ja) 2005-01-07 2006-12-07 Ntt Docomo Inc 動画像符号化装置、動画像復号装置、動画像符号化方法、動画像復号方法、動画像符号化プログラム、及び、動画像復号プログラム
JP4755093B2 (ja) * 2005-02-01 2011-08-24 パナソニック株式会社 画像符号化方法および画像符号化装置
JP2007043651A (ja) * 2005-07-05 2007-02-15 Ntt Docomo Inc 動画像符号化装置、動画像符号化方法、動画像符号化プログラム、動画像復号装置、動画像復号方法及び動画像復号プログラム
RU2369038C1 (ru) 2005-11-30 2009-09-27 Кабусики Кайся Тосиба Способ кодирования изображения/декодирования изображения, устройство кодирования изображения/декодирования изображения
JP4752631B2 (ja) * 2006-06-08 2011-08-17 株式会社日立製作所 画像符号化装置、及び画像符号化方法
JP2009094828A (ja) 2007-10-10 2009-04-30 Hitachi Ltd 画像符号化装置及び画像符号化方法、画像復号化装置及び画像復号化方法
AU2009264603A1 (en) 2008-06-30 2010-01-07 Kabushiki Kaisha Toshiba Dynamic image prediction/encoding device and dynamic image prediction/decoding device
US8619856B2 (en) 2008-10-03 2013-12-31 Qualcomm Incorporated Video coding with large macroblocks
US8831087B2 (en) * 2008-10-06 2014-09-09 Qualcomm Incorporated Efficient prediction mode selection
WO2010070818A1 (ja) 2008-12-16 2010-06-24 株式会社日立製作所 動画像符号化装置、動画像符号化方法、動画像復号化装置および動画像復号化方法
FI3567855T3 (fi) 2009-03-23 2023-04-12 Kuvan ennustava koodauslaite, kuvan ennustava koodausmenetelmä, kuvan ennustava koodausohjelma, kuvan ennustava dekoodauslaite, kuvan ennustava dekoodausmenetelmä ja kuvan ennustava dekoodausohjelma
TWI566586B (zh) 2009-10-20 2017-01-11 湯姆生特許公司 一序列形象的現時區塊之寫碼方法和重建方法
JP2011135184A (ja) * 2009-12-22 2011-07-07 Sony Corp 画像処理装置および方法、並びにプログラム
WO2012172659A1 (ja) 2011-06-15 2012-12-20 株式会社東芝 画像符号化方法、画像復号方法、画像符号化装置および画像復号装置
KR20120140592A (ko) * 2011-06-21 2012-12-31 한국전자통신연구원 움직임 보상의 계산 복잡도 감소 및 부호화 효율을 증가시키는 방법 및 장치
CN108632608B (zh) 2011-09-29 2022-07-29 夏普株式会社 图像解码装置、图像解码方法、图像编码装置及图像编码方法
WO2013065431A1 (ja) 2011-11-04 2013-05-10 シャープ株式会社 画像復号装置、画像復号方法および画像符号化装置
PL3672238T3 (pl) * 2011-11-08 2023-07-24 Kabushiki Kaisha Toshiba Metoda dekodowania obrazu i metoda kodowania obrazu

Also Published As

Publication number Publication date
PL3672238T3 (pl) 2023-07-24
SG11201400290XA (en) 2014-06-27
AU2011380761B2 (en) 2015-06-25
MX2014002334A (es) 2014-04-25
KR101665921B1 (ko) 2016-10-12
EP4199508A1 (en) 2023-06-21
US11451808B2 (en) 2022-09-20
BR112014004645A2 (pt) 2017-03-14
ES2952379T3 (es) 2023-10-31
JPWO2013069095A1 (ja) 2015-04-02
US20170180747A1 (en) 2017-06-22
AU2015213328B2 (en) 2017-03-09
BR122020011581B1 (pt) 2022-05-03
AU2011380761C1 (en) 2015-12-17
US9843818B2 (en) 2017-12-12
KR101597059B1 (ko) 2016-02-23
KR20150038621A (ko) 2015-04-08
US20200267401A1 (en) 2020-08-20
EP2779647A1 (en) 2014-09-17
KR101570328B1 (ko) 2015-11-18
US9672633B2 (en) 2017-06-06
CN103765890A (zh) 2014-04-30
EP3672238B1 (en) 2023-06-07
KR20160025035A (ko) 2016-03-07
CA2847301C (en) 2017-08-01
EP2779647A4 (en) 2015-08-12
US11831891B2 (en) 2023-11-28
US9135717B2 (en) 2015-09-15
KR20140043828A (ko) 2014-04-10
ES2794582T3 (es) 2020-11-18
BR122020011587B1 (pt) 2022-05-03
EP3280139A1 (en) 2018-02-07
CA2847301A1 (en) 2013-05-16
US20220385932A1 (en) 2022-12-01
CN107277511A (zh) 2017-10-20
US20170359592A1 (en) 2017-12-14
JP5766815B2 (ja) 2015-08-19
AU2015213328A1 (en) 2015-09-03
RU2014107468A (ru) 2015-12-20
US20140010446A1 (en) 2014-01-09
ZA201401565B (en) 2016-05-25
EP3672238A1 (en) 2020-06-24
US20200053374A1 (en) 2020-02-13
US20240048746A1 (en) 2024-02-08
AU2011380761A1 (en) 2014-03-20
EP2779647B1 (en) 2018-03-07
EP3280139B1 (en) 2020-03-18
BR122020011590B1 (pt) 2022-05-03
US11375218B2 (en) 2022-06-28
PL3280139T3 (pl) 2020-07-27
RU2595569C2 (ru) 2016-08-27
US10687072B2 (en) 2020-06-16
US20150229929A1 (en) 2015-08-13
US20200267400A1 (en) 2020-08-20
US10554991B2 (en) 2020-02-04
WO2013069095A1 (ja) 2013-05-16

Similar Documents

Publication Publication Date Title
BR112014004645B1 (pt) Método de codificação de imagem e aparelho de codificação de imagem
BR112020014522A2 (pt) Derivação aprimorada de vetor de movimento no lado de decodificador
BR112020021263A2 (pt) limitação da derivação mvp com base na derivação do vetor de movimento do lado do decodificador
BR112019027821A2 (pt) emparelhamento de gabarito com base em reconstrução parcial para derivação de vetor de movimento
BR112020014654A2 (pt) compensação de movimento afim em codificação de vídeo
BR112020014644A2 (pt) seleção de filtragem de desbloqueio e aplicação em codificação de vídeo
BR112020012732A2 (pt) método e aparelho para predição de informações de movimento de bloco de imagens, codificador, e decodificador
BR112021015658A2 (pt) Restrições no refinamento de vetor de movimento no lado do decodificador
BR112021003736A2 (pt) método e aparelho de predição de imagem de vídeo
JP6487002B2 (ja) 復号方法および復号装置
JP2015111961A (ja) 画像復号方法および画像復号装置
BR112017020632B1 (pt) Métodos e dispositivo para processar dados de vídeo e memória legível por computador
BR112017020627B1 (pt) Derivação de vetor de movimento em codificação de vídeo
BR112018004469B1 (pt) Método de inter-predição para codificação de vídeo e aparelho para inter-predição em codificação de vídeo

Legal Events

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

Ipc: H04N 19/44 (2014.01), G06T 9/00 (2006.01), H04N 19

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]
B15K Others concerning applications: alteration of classification

Free format text: AS CLASSIFICACOES ANTERIORES ERAM: H04N 19/44 , G06T 9/00 , H04N 19/117 , H04N 19/136 , H04N 19/137 , H04N 19/186 , H04N 19/513 , H04N 19/52 , H04N 19/523 , H04N 19/59 , H04N 19/567

Ipc: H04N 19/44 (2014.01), H04N 19/117 (2014.01), H04N

B07A Application suspended after technical examination (opinion) [chapter 7.1 patent gazette]
B09A Decision: intention to grant [chapter 9.1 patent gazette]
B16A Patent or certificate of addition of invention granted [chapter 16.1 patent gazette]

Free format text: PRAZO DE VALIDADE: 20 (VINTE) ANOS CONTADOS A PARTIR DE 08/11/2011, OBSERVADAS AS CONDICOES LEGAIS. PATENTE CONCEDIDA CONFORME ADI 5.529/DF, QUE DETERMINA A ALTERACAO DO PRAZO DE CONCESSAO.