BR112021010308A2 - Dispositivo de codificação de imagem, dispositivo de decodificação de imagem, e método e programa para controlar os mesmos - Google Patents

Dispositivo de codificação de imagem, dispositivo de decodificação de imagem, e método e programa para controlar os mesmos Download PDF

Info

Publication number
BR112021010308A2
BR112021010308A2 BR112021010308-2A BR112021010308A BR112021010308A2 BR 112021010308 A2 BR112021010308 A2 BR 112021010308A2 BR 112021010308 A BR112021010308 A BR 112021010308A BR 112021010308 A2 BR112021010308 A2 BR 112021010308A2
Authority
BR
Brazil
Prior art keywords
unit
quantization
encoding
image
block
Prior art date
Application number
BR112021010308-2A
Other languages
English (en)
Inventor
Masato Shima
Original Assignee
Canon Kabushiki Kaisha
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 Canon Kabushiki Kaisha filed Critical Canon Kabushiki Kaisha
Publication of BR112021010308A2 publication Critical patent/BR112021010308A2/pt

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/124Quantisation
    • H04N19/126Details of normalisation or weighting functions, e.g. normalisation matrices or variable uniform quantisers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
    • 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/119Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
    • 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/124Quantisation
    • 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/132Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
    • 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/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • 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/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • H04N19/159Prediction type, e.g. intra-frame, inter-frame or bidirectional frame 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
    • 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/18Methods 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 set of transform coefficients
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • H04N19/463Embedding additional information in the video signal during the compression process by compressing encoding parameters before transmission

Abstract

DISPOSITIVO DE CODIFICAÇÃO DE IMAGEM, DISPOSITIVO DE DECODIFICAÇÃO DE IMAGEM, E MÉTODO E PROGRAMA PARA CONTROLAR OS MESMOS. A presente invenção refere-se à codificação de uma imagem enquanto suprime a quantidade de código de uma matriz de quantização usada para codificação. Para isso, um aparelho de codificação de imagem desta invenção para codificar os dados de imagem compreende uma primeira unidade de codificação que divide os dados de imagem alvo de codificação em blocos básicos de um tamanho predefinido, divide adicionalmente cada bloco básico em pelo menos um sub-bloco usando um de um pluralidade de padrões de divisão em sub-bloco predefinidos, e executa transformação de frequência, quantização e codificação de entropia em uma base de sub-bloco; uma unidade de retenção que retém uma pluralidade de matrizes de quantização correspondendo a tamanhos de sub-blocos incluídos no padrão de divisão em sub-bloco usado pela primeira unidade de codificação; uma segunda unidade de codificação que codifica pelo menos uma da pluralidade de matrizes de quantização retidas pela unidade de retenção; e uma unidade de combinação que combina os dados codificados gerados pela segunda unidade de codificação e os dados codificados obtidos pela primeira unidade de codificação, em que, com relação à matriz de quantização tendo o mesmo tamanho que o tamanho do bloco básico em uma direção horizontal e em uma direção vertical, a unidade de retenção retém, como um valor individual, um elemento em uma posição dentro de uma faixa predeterminada predefinida a partir de uma posição de armazenamento de um elemento correspondente a um componente DC, e retém o mesmo elemento com base em um número predefinido de elementos em uma posição fora da faixa predeterminada.

Description

“DISPOSITIVO DE CODIFICAÇÃO DE IMAGEM, DISPOSITIVO DE DECODIFICAÇÃO DE IMAGEM, E MÉTODO E PROGRAMA PARA CONTROLAR OS MESMOS” CAMPO DA INVENÇÃO
[0001] A presente invenção refere-se a um aparelho de codificação de imagem, um aparelho de decodificação de imagem e métodos e programas para controlar os mesmos.
FUNDAMENTOS DA INVENÇÃO
[0002] Como um método de codificação de gravação por compressão de uma imagem em movimento, é conhecido um método HEVC (High Efficiency Video Coding, Codificação de Vídeo de Alta Eficiência) (a ser descrito como HEVC daqui em diante). Em HEVC, um bloco básico de tamanho maior do que um macrobloco convencional (16 × 16 pixels) é adotado para melhorar a eficiência da codificação. O bloco básico de tamanho grande é chamado de CTU (Coding Tree Unit, Unidade de Árvore de Codificação), e o tamanho máximo é 64 × 64 pixels. A CTU é dividida ainda em sub- blocos como unidades de predição ou transformação.
[0003] Em HEVC, processamento de ponderação, de acordo com um componente de frequência, um coeficiente (a ser descrito como um coeficiente de transformação ortogonal a seguir) que é obtido após realizar a transformação ortogonal e é chamado de matriz de quantização é usado. Ao reduzir os dados do componente de alta frequência cuja deterioração dificilmente é visível à visão humana, é possível melhorar a eficiência da compressão enquanto mantém a qualidade da imagem. PTL 1 descreve uma técnica de codificação de tal matriz de quantização. Lista de Citações Literatura Patentária
[0004] PTL 1: Patente Japonesa submetida à inspeção pública No. 2013-38758
SUMÁRIO DA INVENÇÃO Problema Técnico
[0005] Em HEVC, a transformação ortogonal de, por exemplo, 16 × 16 pixels ou 32 × 32 pixels, que é maior do que a transformação ortogonal convencional de 8 × 8 pixels, é usada, e uma matriz de quantização correspondente à grande transformação ortogonal também é usada. Para evitar que a quantidade de código da matriz de quantização aumente, em vez de codificar todos os 256 elementos da matriz de quantização correspondente à transformação ortogonal de 16 × 16 pixels, apenas 64 elementos são codificados e expandidos por processamento de aumentar a taxa de amostragem no lado de decodificação. Além disso, um elemento na posição de extremidade superior esquerda da matriz de quantização correspondente a um componente DC em um domínio da frequência é codificado adicionalmente. Portanto, em HEVC, ao usar grande transformação ortogonal, o processamento de quantização de um componente de frequência diferente de um componente DC não pode ser controlado com precisão.
[0006] A presente invenção foi feita para resolver o problema descrito acima e fornece uma técnica de codificação de uma imagem enquanto suprime a quantidade de código de uma matriz de quantização usada para codificação. Solução para o Problema
[0007] Para resolver o problema, por exemplo, um aparelho de codificação de imagem de acordo com a presente invenção tem a seguinte disposição. Ou seja, é fornecido um aparelho de codificação de imagem para codificar dados de imagem, caracterizado por compreender: primeiro meio de codificação para dividir dados de imagem alvo de codificação em blocos básicos de um tamanho predefinido, dividir adicionalmente cada bloco básico em pelo menos um sub-bloco usando um de uma pluralidade de padrões de divisão em sub-bloco predefinidos, e realizar transformação de frequência, quantização, e codificação de entropia em uma base de sub-bloco; meio de retenção para reter uma pluralidade de matrizes de quantização correspondendo a tamanhos de sub-blocos incluídos no padrão de divisão em sub-bloco usado pelos primeiros meios de codificação; segundo meio de codificação para codificar pelo menos uma da pluralidade de matrizes de quantização retidas pelo meio de retenção; e meio de combinação para combinar dados codificados gerados pelo segundo meio de codificação e dados codificados obtidos pelos primeiros meios de codificação, em que, com relação à matriz de quantização tendo o mesmo tamanho que o tamanho do bloco básico em uma direção horizontal e uma direção vertical, o meio de retenção retém, como um valor individual, um elemento em uma posição dentro de uma faixa predeterminada predefinida a partir de uma posição de armazenamento de um elemento correspondente a um componente DC, e retém o mesmo elemento com base em um número predefinido de elementos em uma posição fora da faixa predeterminada. Efeitos Vantajosos da Invenção
[0008] De acordo com a presente invenção, é possível codificar uma imagem enquanto suprimindo a quantidade de código de uma matriz de quantização usada para codificação. Outras características e vantagens da presente invenção serão evidentes a partir da seguinte descrição tomada em conjunto com os desenhos em anexo. Observa-se que os mesmos números de referência denotam os mesmos componentes ou componentes similares ao longo dos desenhos em anexo.
BREVE DESCRIÇÃO DOS DESENHOS
[0009] Os desenhos em anexo, que são incorporados e constituem uma parte da especificação, ilustram modalidades da invenção e, juntamente com a descrição, servem para explicar os princípios da invenção.
[0010] A Figura 1 é um diagrama de blocos de um aparelho de codificação de imagem de acordo com a primeira modalidade.
[0011] A Figura 2 é um diagrama de blocos de um aparelho de decodificação de imagem de acordo com a segunda modalidade.
[0012] A Figura 3 é um fluxograma que ilustra o processamento de codificação de imagem no aparelho de codificação de imagem de acordo com a primeira modalidade.
[0013] A Figura 4 é um fluxograma que ilustra o processamento de decodificação de imagem no aparelho de decodificação de imagem de acordo com a segunda modalidade.
[0014] A Figura 5 é um diagrama de blocos que mostra um exemplo do arranjo de hardware de um computador aplicável como um aparelho de codificação de imagem ou aparelho de decodificação.
[0015] A Figura 6A é uma vista que mostra um exemplo de uma estrutura de fluxo de bits gerada de acordo com a primeira modalidade.
[0016] A Figura 6B é uma vista que mostra outro exemplo da estrutura de fluxo de bits gerada de acordo com a primeira modalidade.
[0017] A Figura 7A é uma vista que mostra um exemplo de divisão em sub-bloco usada na modalidade.
[0018] A Figura 7B é uma vista que mostra outro exemplo de divisão em sub-bloco usada na modalidade.
[0019] A Figura 7C é uma vista que mostra ainda outro exemplo de divisão em sub-bloco usada na modalidade.
[0020] A Figura 7D é uma vista que mostra ainda outro exemplo de divisão em sub-bloco usada na modalidade.
[0021] A Figura 7E é uma vista que mostra ainda outro exemplo de divisão em sub-bloco usada na modalidade.
[0022] A Figura 7F é uma vista que mostra ainda outro exemplo de divisão em sub-bloco usada na modalidade.
[0023] A Figura 8A é uma vista que mostra um exemplo de uma matriz de quantização usada na modalidade.
[0024] A Figura 8B é uma vista que mostra outro exemplo da matriz de quantização usada na modalidade.
[0025] A Figura 8C é uma vista que mostra ainda outro exemplo da matriz de quantização usada na modalidade.
[0026] A Figura 8D é uma vista que mostra ainda outro exemplo da matriz de quantização usada na modalidade.
[0027] A Figura 9A é uma vista que mostra ainda outro exemplo da matriz de quantização usada na modalidade.
[0028] A Figura 9B é uma vista que mostra ainda outro exemplo da matriz de quantização usada na modalidade.
[0029] A Figura 10A é uma vista que mostra um método de varredura dos elementos da matriz de quantização usada na modalidade.
[0030] A Figura 10B é uma vista que mostra outro método de varredura dos elementos da matriz de quantização usada na modalidade.
[0031] A Figura 10C é uma vista que mostra ainda outro método de varredura dos elementos da matriz de quantização usada na modalidade.
[0032] A Figura 10D é uma vista que mostra ainda outro método de varredura dos elementos da matriz de quantização usada na modalidade.
[0033] A Figura 11A é uma vista que mostra uma matriz de valor de diferença da matriz de quantização gerada de acordo com a modalidade.
[0034] A Figura 11B é uma vista que mostra uma matriz de valor de diferença da matriz de quantização gerada de acordo com a modalidade.
[0035] A Figura 11C é uma vista que mostra uma matriz de valor de diferença da matriz de quantização gerada de acordo com a modalidade.
[0036] A Figura 11D é uma vista que mostra uma matriz de valor de diferença da matriz de quantização gerada de acordo com a modalidade.
[0037] A Figura 12A é uma tabela que mostra um exemplo de uma tabela de codificação usada para a codificação dos valores de diferença da matriz de quantização.
[0038] A Figura 12B é uma tabela que mostra outro exemplo da tabela de codificação usada para a codificação dos valores de diferença da matriz de quantização.
DESCRIÇÃO DETALHADA DA INVENÇÃO
[0039] As modalidades da presente invenção serão descritas em detalhes abaixo com referência aos desenhos em anexo. Observa-se que os arranjos de acordo com as seguintes modalidades são meramente exemplos, e a presente invenção não está limitada aos arranjos ilustrados. [Primeira Modalidade]
[0040] A Figura 1 é um diagrama de blocos que mostra um aparelho de codificação de imagem de acordo com a primeira modalidade. O aparelho de codificação de imagem inclui uma unidade de controle 150 que controla os componentes a serem descritos abaixo e controla todo o aparelho. A unidade de controle 150 inclui uma CPU, uma ROM que armazena um programa executado pela CPU, vários parâmetros e similares, e uma RAM usada como a área de trabalho da CPU. Observa-se que depois de carregar um OS (Sistema Operacional) armazenado na ROM ou em outro dispositivo de armazenamento não volátil, no programa e nos parâmetros na RAM, o programa pode ser executado sob o controle do OS.
[0041] O aparelho de codificação de imagem inclui ainda um terminal de entrada 101, uma unidade de divisão em bloco 102, uma unidade de retenção de matriz de quantização 103, uma unidade de predição 104, uma unidade de transformação / quantização 105, uma unidade de quantização inversa / transformação inversa 106, uma unidade de regeneração de imagem 107, uma memória de quadro 108, uma unidade de filtragem em laço 109, uma unidade de codificação 110, uma unidade de codificação combinada 111, um terminal de saída 112 e uma unidade de codificação de matriz de quantização 113.
[0042] No arranjo descrito acima, dados de imagem (por exemplo, 30 quadros / segundo) são fornecidos a partir de uma fonte de geração de imagem (não mostrada) para o terminal de entrada 101 deste aparelho. Observa-se que qualquer tipo de fonte de geração de imagem pode ser usado, mas é simplesmente uma unidade de captura de imagem, uma câmera de vídeo, ou um disco rígido ou meio de armazenamento que armazena dados de imagem a serem codificados.
[0043] A unidade de divisão em bloco 102 divide, em uma pluralidade de blocos básicos, dados de imagem inseridos por meio do terminal de entrada 101, e fornece os dados de imagem baseados em bloco básico para a unidade de predição 104 do estágio seguinte.
[0044] A unidade de retenção de matriz de quantização 103 retém uma pluralidade de tipos de matrizes de quantização a serem usadas no processamento de quantização. Um método de geração de matrizes de quantização será descrito em detalhes posteriormente.
[0045] A unidade de predição 104 insere os dados de imagem baseados em bloco básico a partir da unidade de divisão em bloco 102, decide um método de dividir os dados de imagem em uma pluralidade de sub-blocos menores, e executa predição intra como predição intra-quadros ou predição inter como predição inter-quadros para cada sub-bloco, gerando assim dados de imagem preditos. A unidade de predição 104 calcula os dados de erro de predição como a diferença entre os dados de imagem do sub-bloco e seus dados de imagem preditos, e os fornece. A unidade de predição 104 emite, juntamente com os dados de erro de predição, informação necessária para predição, por exemplo, informação relativa à divisão em sub-bloco e informação de um modo de predição, um vetor de movimento, e similares. A informação necessária para a predição será descrita como informação de predição em seguida.
[0046] A unidade de transformação / quantização 105 obtém um coeficiente de transformação realizando, para cada sub-bloco, transformação ortogonal (transformação de frequência) para os dados de erro de predição fornecidos a partir da unidade de predição 104. A unidade de transformação / quantização 105 obtém então um coeficiente de quantização quantizando o coeficiente de transformação do sub-bloco de interesse usando a matriz de quantização mantida pela unidade de retenção de matriz de quantização 103.
[0047] A unidade de quantização / transformação inversa 106 regenera o coeficiente de transformação quantizando inversamente a entrada do coeficiente de quantização a partir da unidade de transformação / quantização 105 usando a matriz de quantização retida pela unidade de retenção de matriz de quantização 103, e também regenera os dados de erro de predição por realizar transformação ortogonal inversa para o coeficiente de transformação.
[0048] A unidade de regeneração de imagem 107 gera dados de imagem preditos referindo-se à memória de quadro 108, conforme necessário, com base na entrada de informações de predição a partir da unidade de predição 104. Então, a unidade de regeneração de imagem 107 gera dados de imagem regenerada a partir dos dados de imagem preditos gerados e dos dados de erro de predição a partir da unidade de quantização inversa / transformação inversa 106, e os emite para a memória de quadro 108 novamente.
[0049] A unidade de filtragem em laço 109 realiza o processamento de filtragem em laço, tal como filtragem de desblocagem ou deslocamento adaptativo de amostra para os dados de imagem regenerada obtidos a partir da unidade de regeneração de imagem 107 e armazenados na memória de quadro 108, e armazena novamente, na memória de quadro 109, os dados de imagem que foram submetidos ao processamento de filtragem.
[0050] A unidade de codificação 110 codifica o coeficiente de quantização inserido a partir da unidade de transformação / quantização 105 e a entrada de informação de predição a partir da unidade de predição 104, gera dados de código, e os emite.
[0051] A unidade de codificação da matriz de quantização 113 codifica a matriz de quantização inserida a partir da unidade de retenção de matriz de quantização 103, gera dados codificados da quantização, e os emite.
[0052] A unidade de codificação combinada 111 gera dados de código de cabeçalho usando os dados codificados da matriz de quantização codificados pela unidade de codificação de matriz de quantização 113. Além disso, a unidade de codificação combinada 111 forma um fluxo de bits combinando os dados de código da entrada de imagem a partir da unidade de codificação 110 com os dados de código de cabeçalho gerados, e os emite externamente através do terminal de saída 112.
[0053] Observa-se que o destino de saída não é particularmente limitado, mas um dispositivo de armazenamento, tal como um meio de gravação, um servidor de arquivos na rede, ou similares, pode ser usado.
[0054] Uma operação de codificação de imagem no aparelho de codificação de imagem de acordo com a modalidade será descrita em mais detalhes abaixo.
[0055] Esta modalidade adota o arranjo para entrada de dados de imagem em movimento em uma base de quadro, mas pode adotar um arranjo para entrada de dados de imagem estática para um quadro. Esta modalidade descreverá apenas o processamento de codificação de predição intra por uma questão de simplicidade descritiva, mas a presente invenção não está limitada a isso e também é aplicável ao processamento de codificação de predição inter. Além disso, para fins de descrição, esta modalidade assume que o tamanho do bloco básico com base no qual a unidade de divisão em bloco 101 divide uma imagem de um quadro é de 16 pixels na direção horizontal × 16 pixels na direção vertical (a ser simplesmente descrito como 16 × 16 pixels daqui em diante). No entanto, este é apenas um exemplo, e outros tamanhos podem ser usados.
[0056] Antes da codificação de uma imagem, a matriz de quantização é codificada.
[0057] Em primeiro lugar, a unidade de retenção de matriz de quantização 103 gera uma pluralidade de matrizes de quantização de acordo com sub-blocos de uma pluralidade de tamanhos usados para codificação, e os retém. Um quadro espesso denotado pelo número de referência 800 na Figura 8A representa um exemplo de uma matriz de quantização correspondendo a um tamanho de 8 × 8 pixels, e os valores na matriz indicam elementos. Um elemento na 0ª linha e na 0ª coluna no canto superior esquerdo da matriz de quantização 800 corresponde ao coeficiente de transformação de um componente DC (componente de corrente contínua), e os elementos restantes correspondem, respectivamente, aos coeficientes de transformação do componente AC (componente de corrente alternada). Um método para decidir cada elemento que forma a matriz de quantização não é particularmente limitado. Por exemplo, um valor inicial predeterminado pode ser usado ou pode ser definido individualmente. A matriz de quantização pode ser gerada de acordo com a característica da imagem.
[0058] Da mesma forma, a unidade de retenção da matriz de quantização 103 também gera uma matriz de quantização correspondente ao tamanho de outro sub- bloco. A Figura 8B mostra uma matriz de quantização 801 correspondendo à transformação ortogonal de 16 × 8 pixels de acordo com esta modalidade. Um valor individual “4” é definido como um elemento na 0ª linha e na 0ª coluna correspondendo a um componente DC, e um valor individual “5” é definido como um elemento na 0ª linha e a primeira coluna próxima à direita desse elemento. O elemento na 0ª linha e na primeira coluna da matriz de quantização 801 mostrada na Figura 8B é um elemento correspondente ao coeficiente de transformação de um componente AC estimado para ter uma frequência mais baixa na forma do sub-bloco. Por outro lado,
em relação aos elementos restantes, um valor é definido para dois elementos adjacentes um ao outro na direção horizontal, a fim de reduzir a quantidade de código. Por exemplo, o mesmo valor “9” é definido como cada um dos elementos na 0ª linha e na segunda coluna e na 0ª linha e na terceira coluna, e o mesmo valor “10” é definido como cada um dos elementos na primeira linha e na segunda coluna e na primeira linha e na terceira coluna.
[0059] A Figura 8C mostra uma matriz de quantização 802 correspondente à transformação ortogonal de 8 × 16 pixels de acordo com esta modalidade. Um valor individual “4” é definido como um elemento na 0ª linha e na 0ª coluna correspondendo a um componente DC, e um valor individual “5” é definido como um elemento na primeira linha e na 0ª coluna imediatamente abaixo desse elemento. O elemento na primeira linha e na 0ª coluna da matriz de quantização 802 mostrada na Figura 8C é um elemento correspondente ao coeficiente de transformação de um componente AC estimado para ter uma frequência mais baixa na forma do sub-bloco. Por outro lado, em relação aos elementos restantes, um valor é definido para dois elementos adjacentes um ao outro na direção vertical, a fim de reduzir a quantidade de código. Por exemplo, o mesmo valor “9” é definido como cada um dos elementos na segunda linha e na 0ª coluna e na terceira linha e na 0ª coluna, e o mesmo valor “10” é definido como cada um dos elementos na segunda linha e na primeira coluna e na terceira linha e na primeira coluna.
[0060] A Figura 8D mostra uma matriz de quantização 803 correspondente à transformação ortogonal de 16 × 16 pixels de acordo com esta modalidade. Um valor individual “4” é definido como um elemento na 0ª linha e na 0ª coluna correspondente a um componente DC, e, como elementos correspondentes a componentes AC adjacentes ao componente DC, um valor individual “5” é definido como cada um dos um elemento na primeira linha e na 0ª coluna próxima à direita desse elemento e um elemento na 0ª linha e na primeira coluna imediatamente abaixo desse elemento, e um valor individual “6” é definido como um elemento inferior direito na primeira linha e na primeira coluna. Por outro lado, em relação aos elementos restantes, é definido um valor para os 2 × 2 elementos, ou seja, quatro elementos adjacentes entre si nas direções horizontal e vertical para reduzir a quantidade de código.
[0061] Conforme descrito acima, os valores individuais são definidos, respectivamente, como um elemento correspondente a um componente DC em uma matriz de quantização e elementos correspondentes a uma pluralidade de componentes de baixa frequência em torno desse elemento, e em relação aos elementos restantes, um valor é definido com base em uma pluralidade de elementos. Isso pode reduzir prontamente a quantidade de código da matriz de quantização e controlar com precisão a quantização de uma parte de baixa frequência à qual a visão humana é sensível.
[0062] A unidade de retenção de matriz de quantização 103 mantém as matrizes de quantização geradas 800 a 803. Nesta modalidade, os quatro tipos de matrizes de quantização 800 a 803 mostrados nas Figuras 8A a 8D são mantidos em uma forma bidimensional. No entanto, cada elemento em cada matriz de quantização não está limitado a isso, como é óbvio. Além disso, é possível manter uma pluralidade de matrizes de quantização para transformação ortogonal do mesmo tamanho, dependendo de um método de predição (a ser descrito posteriormente), por exemplo, dependendo de se usar predição intra ou predição inter ou se um alvo de codificação é um bloco de luminância ou um bloco de diferença de cor. Em geral, para implementar o processamento de quantização correspondente à característica visual do ser humano, um elemento em uma parte de baixa frequência correspondente à parte superior esquerda de cada uma das matrizes de quantização 800 a 803 tem um valor pequeno e um elemento em uma parte de alta frequência correspondente a uma parte inferior direita de cada uma das matrizes de quantização 800 a 803 tem um valor grande, como mostrado nas Figuras 8A a 8D.
[0063] A unidade de codificação de matriz de quantização 113 lê sequencialmente, a partir da unidade de retenção de matriz de quantização 106, as matrizes de quantização 800 a 803 armazenadas na forma bidimensional, varre cada elemento, e calcula a diferença, gerando assim uma matriz unidimensional. Nesta modalidade, cada uma das matrizes de quantização 800 a 803 mostradas nas Figuras 8A a 8D é codificada. Mais especificamente, em relação à matriz de quantização 800 mostrada na Figura 8A, a unidade de codificação de matriz de quantização 113 calcula, para cada elemento, a diferença entre os elementos adjacentes na ordem de varredura usando um método de varredura juntamente com as setas mostradas na Figura 10A. Por exemplo, a matriz de quantização 800 para 8 × 8 pixels mostrada na Figura 8A é varrida por uma varredura diagonal mostrada na Figura 10A. O primeiro elemento “4” localizado no canto superior esquerdo é varrido, e o elemento “9” localizado imediatamente abaixo do elemento “4” é varrido a seguir, calculando assim +5 como a diferença. Além disso, para codificar o primeiro elemento (“4” nesta modalidade) da matriz de quantização, a diferença a partir de um valor inicial predeterminado (por exemplo, “8”) é calculada. A presente invenção, no entanto, não está limitada a isso, como é óbvio, e a diferença a partir de um valor arbitrário ou do valor do primeiro elemento pode ser usada.
[0064] Da mesma forma, em relação à matriz de quantização 801 mostrada na Figura 8B, a unidade de codificação de matriz de quantização 113 calcula, para cada elemento, a diferença a partir do elemento imediatamente anterior na ordem de varredura usando o método de varredura ao longo das setas mostradas na Figura 10B. Por exemplo, a matriz de quantização 801 para 16 × 8 pixels mostrada na Figura 8B é varrida por um método de varredura mostrado na Figura 10B. O primeiro elemento “4” localizado na extremidade superior esquerda é varrido, e o elemento “5” localizado imediatamente próximo à direita do elemento “4” é varrido em seguida, codificando assim +1 como a diferença. Em seguida, o elemento “9” localizado imediatamente abaixo do elemento “5” é varrido, codificando assim +4 como a diferença.
[0065] A matriz de quantização 802 para 8 × 16 pixels mostrada na Figura 8C é varrida por um método de varredura mostrado na Figura 10C. O primeiro elemento “4” localizado na extremidade superior esquerda é varrido, e o elemento “5” localizado imediatamente abaixo do elemento “4” é varrido em seguida, codificando assim +1 como a diferença. Em seguida, o elemento “9” localizado imediatamente abaixo do elemento “5” é varrido, codificando assim +4 como a diferença.
[0066] A matriz de quantização 803 para 16 × 16 pixels mostrada na Figura 8D é varrida por um método de varredura mostrado na Figura 10D. O primeiro elemento “4” localizado na extremidade superior esquerda é varrido, e o elemento “5” localizado imediatamente abaixo do elemento “4” é varrido em seguida, codificando assim +1 como a diferença. Em seguida, o elemento “5” localizado próximo à direita do elemento na extremidade superior esquerda é varrido, codificando assim 0 como a diferença. Em seguida, o elemento “6” localizado imediatamente abaixo desse elemento “5” é varrido, codificando assim +1 como a diferença.
[0067] Conforme descrito acima, nesta modalidade, em relação às matrizes de quantização 800 a 803 mostradas nas Figuras 8A a 8D, matrizes de diferenças unidimensionais 1000 a 1003 mostradas nas Figuras 11A a 11D são geradas usando os métodos de varredura mostrados nas Figuras 10A a 10D, respectivamente. A unidade de codificação de matriz de quantização 113 gera adicionalmente dados de código de matriz de quantização codificando a matriz de diferença. Esta modalidade assume que a codificação é realizada usando uma tabela de codificação mostrada na Figura 12A. No entanto, a tabela de codificação não está limitada a essa e, por exemplo, uma tabela de codificação mostrada na Figura 12B pode ser usada. Os dados de código de matriz de quantização assim gerados são fornecidos à unidade de codificação combinada 111 do estágio seguinte.
[0068] Com referência de volta à Figura 1, a unidade de codificação combinada 111 codifica a informação de cabeçalho necessária para a codificação de dados de imagem, e combina os dados de código da matriz de quantização. Subsequentemente, a codificação dos dados de imagem será descrita.
[0069] A unidade de divisão em bloco 102 divide, em uma pluralidade de blocos básicos, dados de imagem para um quadro inserido a partir do terminal de entrada 101, e fornece os dados de imagem baseados em bloco básico para a unidade de predição 104. Conforme descrito acima, nesta modalidade, o tamanho do bloco básico é de 16 × 16 pixels.
[0070] A unidade de predição 104 executa o processamento de predição para os dados de imagem baseados em bloco básico inseridos a partir da unidade de divisão em bloco 102. Mais especificamente, a unidade de predição 104 decide um método de divisão em sub-bloco para dividir adicionalmente o bloco básico em sub-blocos, e decide um modo de predição intra de predição horizontal ou vertical em uma base de sub-bloco. Observa-se que o método de divisão em sub-bloco é decidido a partir da quantidade de dados codificados de um quadro imediatamente anterior e similares.
[0071] Cada uma das Figuras 7A a 7D mostra um exemplo de um padrão de divisão em sub-bloco. O numeral de referência 700 denotando um quadro externo espesso em cada uma das Figuras 7A a 7D representa um bloco básico que tem um tamanho de 16 × 16 pixels nesta modalidade. Um retângulo dentro do quadro espesso representa um sub-bloco. A Figura 7A mostra um exemplo de um bloco básico = 1 sub-bloco. A Figura 7B mostra um exemplo de divisão em sub-bloco quadrado convencional, em que o bloco básico de 16 x 16 pixels é dividido em quatro sub-blocos com um tamanho de 8 x 8 pixels. Por outro lado, as Figuras 7C e 7D cada um mostra um exemplo de divisão em sub-bloco retangular. Na Figura 7C, o bloco básico é dividido em dois sub-blocos verticalmente longos de 8 × 16 pixels. Na Figura 7D, o bloco básico é dividido em dois sub-blocos horizontalmente longos de 16 × 8 pixels.
[0072] Nesta modalidade, é decidido se o bloco básico de 16 × 16 pixels não é dividido (Figura 7A), se é dividido em dois sub-blocos verticalmente longos (Figura 7C), se é dividido em dois sub-blocos horizontalmente longos (Figura 7D), ou se sofre divisão quad-tree (Figura 7B). No entanto, o método de divisão em sub-bloco não se limita a esses. Conforme mostrado nas Figuras 7E e 7F, a divisão em árvore ternária para dividir o bloco básico na relação de 1:2:1 pode ser usada.
[0073] Os dados de imagem preditos são gerados a partir do modo de predição intra decidido e pixels codificados. Em seguida, a unidade de predição 104 gera, para cada sub-bloco, dados de erro de predição como a diferença entre os dados de imagem de entrada e os dados de imagem preditos gerados, e fornece os dados de erro de predição gerados para a unidade de transformação / quantização 105. Além disso, a informação de divisão em sub-bloco, o modo de predição intra e similares são fornecidos como informação de predição para a unidade de codificação 110 e a unidade de regeneração de imagem 107.
[0074] A unidade de transformação / quantização 105 realiza transformação /
quantização ortogonal para os dados de erro de predição de entrada para gerar um coeficiente de quantização. Mais especificamente, a unidade de transformação / quantização 105 realiza processamento de transformação ortogonal correspondente ao tamanho do sub-bloco para gerar um coeficiente de transformação ortogonal. Em seguida, a unidade de transformação / quantização 105 quantifica, em uma base de sub-bloco, o coeficiente de transformação ortogonal usando a matriz de quantização do tamanho correspondente armazenada na unidade de retenção de matriz de quantização 103, gerando assim um coeficiente de quantização. Esta modalidade assume que a matriz de quantização mostrada na Figura 8D é usada para divisão em sub-bloco de 16 x 16 pixels correspondendo à Figura 7A. Da mesma forma, a matriz de quantização mostrada na Figura 8C é usada para a divisão em sub-bloco de 8 × 16 pixels correspondendo à Figura 7C, e a matriz de quantização mostrada na Figura 8B é usada para a divisão em sub-bloco de 16 × 8 pixels correspondente à Figura 7D. A matriz de quantização mostrada na Figura 8A é usada para divisão em sub-bloco (divisão quad-tree), mostrada na Figura 7B, de 1/2 do tamanho do bloco básico nas direções vertical e horizontal. A unidade de transformação / quantização 105 fornece o coeficiente de quantização gerado (coeficiente de transformação após quantização) para a unidade de codificação 110 e a unidade de quantização inversa / transformação inversa 106.
[0075] A unidade de quantização inversa / transformação inversa 106 regenera, em uma base de sub-bloco, o coeficiente de transformação quantizando inversamente o coeficiente de quantização de entrada usando a matriz de quantização correspondente armazenada na unidade de retenção de matriz de quantização 103. Então, a unidade de quantização inversa / transformação inversa 106 regenera, em uma base de sub-bloco, os dados de erro de predição realizando transformação ortogonal inversa para o coeficiente de transformação regenerada, e fornece os dados de erro de predição regenerados à unidade de regeneração de imagem 107.
[0076] A unidade de regeneração de imagem 107 regenera os dados de imagem preditos em uma base de sub-bloco com base na informação de predição inserida a partir da unidade de predição 104 referindo-se à memória de quadro 108, conforme necessário. A unidade de regeneração de imagem 107 regenera, em uma base de sub-bloco, os dados de imagem do sub-bloco adicionando os dados de imagem preditos regenerados e os dados de erro de predição ineridos a partir da unidade de quantização inversa / transformação inversa 106, e armazena os dados de imagem regenerada na memória de quadro 108.
[0077] A unidade de filtragem em laço 109 lê os dados de imagem regenerados a partir da memória de quadro 108 em uma base de sub-bloco, e executa o processamento de filtragem em laço, tal como filtragem de desblocagem. Em seguida, a unidade de filtragem em laço 109 armazena novamente, na memória de quadro 108, os dados de imagem submetidos ao processamento de filtragem.
[0078] A unidade de codificação 110 realiza, em uma base de sub-bloco, a codificação de entropia para o coeficiente de quantização gerado pela unidade de transformação / quantização 105 e a informação de predição inserida a partir da unidade de predição 104, gerando assim dados de código. Qualquer método de codificação de entropia pode ser usado, e codificação de Golomb, codificação aritmética, codificação de Huffman ou similares podem ser usados. Os dados de código gerados são fornecidos à unidade de codificação combinada 111.
[0079] A unidade de codificação combinada 111 forma um fluxo de bits ao multiplexar os dados de código inseridos a partir da unidade de codificação 110 e similares, juntamente com os dados de código de cabeçalho descritos acima. Finalmente, o fluxo de bits é emitido externamente a partir do terminal 112.
[0080] A Figura 6A mostra um exemplo da estrutura de dados do fluxo de bits de saída de acordo com a primeira modalidade. Um cabeçalho de sequência inclui os dados de código correspondentes a cada uma das matrizes de quantização 800 a 803 mostradas nas Figura 8A a 8D, que são formados pelo resultado da codificação de cada elemento. No entanto, uma posição de codificação não está limitada a essa, e pode estar em uma parte do cabeçalho da imagem ou em outra parte do cabeçalho, como é óbvio. Se a matriz de quantização for alterada em uma sequência, a matriz de quantização pode ser atualizada codificando-a novamente. Neste momento, a matriz de quantização inteira pode ser reescrita ou uma parte da matriz de quantização a ser reescrita pode ser alterada designando um tamanho de bloco de transformação.
[0081] O procedimento de processamento de processar codificação de um quadro no aparelho de codificação de imagem de acordo com a primeira modalidade será descrito abaixo com referência a um fluxograma ilustrado na Figura 3. Observa-se que na seguinte descrição, em cada etapa, o sujeito principal executa cada processo sob o controle da unidade de controle 150.
[0082] Antes da codificação de uma imagem, na etapa S301, a unidade de retenção de matriz de quantização 103 gera uma pluralidade de tipos de matrizes de quantização e as retém. Esta modalidade assume que a unidade de retenção de matriz de quantização 103 gera os quatro tipos de matrizes de quantização 800 a 803 mostradas nas Figuras 8A a 8D, e as retém.
[0083] Na etapa S302, a unidade de codificação de matriz de quantização 113 calcula a diferença de cada elemento ao varrer a matriz de quantização gerada e retida na etapa S301 e, em seguida, gera uma matriz de diferença unidimensional. Nesta modalidade, a unidade de codificação de matriz de quantização 113 obtém o valor de diferença entre dois elementos sucessivos ao longo da ordem de varredura mostrada em cada uma das Figuras 10A a 10D varrendo cada uma das matrizes de quantização 800 a 803 mostradas nas Figuras 8A a 8D, gerando assim uma matriz unidimensional dos valores de diferença mostrados em cada uma das Figuras 11A a 11D. Então, a unidade de codificação de matriz de quantização 113 gera códigos binários a partir dos valores de diferença individuais na matriz gerada com referência à tabela de codificação mostrada na Figura 12A (ou Figura 12B), gerando assim dados codificados.
[0084] Na etapa S303, a unidade de codificação combinada 111 gera informação de cabeçalho necessária para a codificação dos dados de imagem juntamente com os dados de código de matriz de quantização gerados, e emite a informação de cabeçalho.
[0085] Na etapa S304, a unidade de divisão em bloco 102 divide a imagem de entrada baseada em quadro em uma base de bloco básico. Na etapa S305, a unidade de predição 104 insere dados de imagem de um bloco básico gerado na etapa S304,
e realiza a transformação em um ou mais sub-blocos. Em seguida, a unidade de predição 104 executa o processamento de predição para cada sub-bloco, e gera dados de imagem preditos e informação de predição, tal como informação de divisão em sub-bloco e um modo de predição intra. Em seguida, a unidade de predição 104 calcula os dados de erro de predição a partir dos dados de imagem de cada sub-bloco e os dados de imagem preditos.
[0086] Na etapa S306, a unidade de transformação / quantização 105 realiza transformação ortogonal para os dados de erro de predição de cada sub-bloco calculado na etapa S305 para gerar um coeficiente de transformação. Além disso, a unidade de transformação / quantização 105 quantifica os dados de erro de predição de cada sub-bloco usando a matriz de quantização gerada e retida na etapa S301 para gerar um coeficiente de quantização. Nesta modalidade, a matriz de quantização 803 mostrada na Figura 8D é usada para cada sub-bloco obtido por divisão em sub- bloco correspondente à Figura 7A. Da mesma forma, a matriz de quantização 802 mostrada na Figura 8C é usada para cada sub-bloco obtido pela divisão em sub-bloco mostrada na Figura 7C. A matriz de quantização 801 mostrada na Figura 8B é usada para cada sub-bloco obtido pela divisão em sub-bloco mostrada na Figura 7D. Além disso, a matriz de quantização 800 mostrada na Figura 8A é usada para quatro sub- blocos obtidos por divisão quad-tree, como mostrado na Figura 7B.
[0087] Na etapa S307, a unidade de quantização inversa / transformação inversa 106 realiza, usando a matriz de quantização gerada e retida na etapa S301, quantização inversa para o coeficiente de quantização de cada sub-bloco gerado na etapa S305, regenerando assim o coeficiente de transformação. A unidade de quantização inversa / transformação inversa 106 também realiza transformação ortogonal inversa para o coeficiente de transformação de cada sub-bloco, regenerando assim os dados de erro de predição para cada sub-bloco.
[0088] Na etapa S308, a unidade de regeneração de imagem 107 regenera os dados de imagem preditos para cada sub-bloco com base na informação de predição gerada na etapa S305. A unidade de regeneração de imagem 107 regenera os dados de imagem para cada sub-bloco adicionando os dados de erro de predição do sub-
bloco correspondente gerado na etapa S307 aos dados de imagem de predição gerados de cada sub-bloco.
[0089] Na etapa S309, a unidade de codificação 110 codifica, para cada sub-bloco, a informação de predição gerada na etapa S305 e o coeficiente de quantização gerado na etapa S306, gerando assim dados de código. Além disso, um fluxo de bits é gerado incluindo outros dados de código.
[0090] Na etapa S310, a unidade de controle 150 determina se a codificação de todos os blocos básicos no quadro terminou. Se a codificação tiver terminado, a unidade de controle 150 avança para a etapa S311; caso contrário, a unidade de controle 150 retorna o processo para a etapa S305 para codificar o próximo bloco básico.
[0091] Na etapa S311, a unidade de filtragem em laço 109 realiza o processamento de filtragem em laço para os dados de imagem regenerados na etapa S308 para gerar uma imagem que passou pelo processamento de filtragem, terminando assim o processamento.
[0092] No processamento descrito acima, ao codificar o segundo quadro ou um quadro subsequente da imagem em movimento, as etapas S304 a S311 são repetidas até que o quadro final a ser codificado seja inserido.
[0093] Com o arranjo e a operação acima, é possível reduzir a quantidade de código da matriz de quantização codificando individualmente, na etapa S302, um número predeterminado de elementos (um elemento para um componente DC e elementos, adjacentes ao elemento, para componentes de frequência relativamente baixa) da matriz de quantização e codificando os elementos restantes com base em uma pluralidade de elementos. Além disso, é possível controlar com precisão a quantização de uma parte de baixa frequência à qual a visão humana é sensível.
[0094] Observa-se que esta modalidade adota o arranjo em que todos os quatro tipos de matrizes de quantização 800 a 803 mostradas nas Figuras 8A a 8D são codificados. No entanto, pode ser adotado um arranjo no qual a matriz de quantização é gerada usando outra matriz de quantização em um aparelho no lado de decodificação, em vez de codificar individualmente os quatro tipos de matrizes de quantização. Por exemplo, em um arranjo para gerar uma matriz de quantização de 16 × 8 pixels usando uma matriz de quantização codificada de 16 × 16 pixels em vez de codificar a matriz de quantização de 16 × 8 pixels, o aparelho no lado de decodificação gera a matriz de quantização 801 mostrada na Figura 8B diluindo alguns elementos da matriz de quantização 803 mostrada na Figura 8D. Da mesma forma, o aparelho no lado de decodificação também pode gerar a matriz de quantização 802 mostrada na Figura 8C diluindo alguns elementos da matriz de quantização 803 mostrada na Figura 8D. Além disso, ao decidir, entre o aparelho no lado de codificação e o aparelho no lado de decodificação, um método para calcular o elemento “5” na 0ª linha e na primeira coluna na Figura 8B ou o elemento “5” na primeira linha e na 0ª coluna na Figura 8C, é possível gerar a matriz de quantização 801 mostrada na Figura 8B ou a matriz de quantização 802 mostrada na Figura 8C usando a matriz de quantização 800 mostrada na Figura 8A. O método de cálculo neste momento não é particularmente limitado. O cálculo pode ser realizado adicionando um valor de diferença específico (+1 nesta modalidade) ao elemento “4” na 0ª linha e na 0ª coluna ou usando interpolação com elementos periféricos. Observa- se que na Figura 8C, +1 é adicionado ao elemento correspondente ao componente DC em relação aos elementos inferior e direito do elemento correspondente ao componente DC do coeficiente de transformação, e +2 é adicionado ao elemento correspondente ao componente DC em relação ao elemento inferior direito.
[0095] Além disso, o elemento “5” na 0ª linha e na primeira coluna na Figura 8B ou o elemento “5” na primeira linha e na 0ª coluna na Figura 8C podem ser codificados juntamente com os elementos da matriz de quantização de 16 × 16 pixels.
[0096] Isso pode codificar o fluxo de bits com a quantidade de código reduzida da matriz de quantização.
[0097] Além disso, um arranjo para selecionar, para cada matriz de quantização, se deve gerar a matriz de quantização a partir de outra matriz de quantização ou codificar cada elemento e codificar um identificador em um cabeçalho pode ser adotado. Por exemplo, um arranjo para codificação, em uma parte de cabeçalho, como um código de informação de método de codificação de matriz de quantização,
informação indicando se deve gerar cada elemento de uma matriz de quantização a partir de outra matriz de quantização ou individualmente codificar elementos, e gerar um fluxo de bits mostrado na Figura 6B pode ser adotado. Isso pode gerar seletivamente um fluxo de bits que prioriza o controle de qualidade de imagem correspondente ao tamanho do sub-bloco ou um fluxo de bits com uma quantidade de código menor da matriz de quantização.
[0098] Esta modalidade adota o arranjo em que as matrizes de quantização mostradas nas Figuras 8A a 8D correspondendo aos processos de divisão em sub- bloco / transformação ortogonal mostrados nas Figuras 7A a 7D são usadas. No entanto, o tamanho da transformação ortogonal e da matriz de quantização utilizada não está limitado a esses. Por exemplo, se a divisão de árvore ternária para divisão a uma relação de 1:2:1, como mostrado na Figura 7E ou 7F, for adicionalmente usada, uma matriz de quantização 900 ou 901 mostrada na Figura 9A ou 9B pode adicionalmente ser usada.
[0099] Como descrito acima, a unidade de retenção de matriz de quantização 103 de acordo com a modalidade, individualmente, retém um elemento em uma posição correspondente a cada coeficiente de transformação dentro de uma faixa predeterminada predefinida (uma faixa de uma distância “1” nesta modalidade) da posição de armazenamento do elemento correspondente ao componente DC na direção do lado longo da matriz de quantização 801 ou 802 mostrada na Figura 8B ou 8C, cujo tamanho é o mesmo que o do bloco básico (um tamanho de 16 × 16 pixels nesta modalidade) em apenas uma das direções horizontal e vertical e é diferente na outra direção, e mantém o mesmo elemento com base em um número predefinido (dois nesta modalidade) de elementos dos coeficientes de transformação em uma posição fora da faixa predeterminada na direção do lado longo. Por outro lado, na direção do lado curto da matriz de quantização mostrada na Figura 8B ou 8C, um elemento da matriz de quantização é disposto para cada coeficiente de transformação.
[0100] Com relação à matriz de quantização cujo tamanho é igual ao do bloco básico em ambas as direções horizontal e vertical, quatro elementos (uma faixa de uma distância “1” nesta modalidade) na posição do elemento correspondente ao componente DC e as posições adjacentes a essa posição nos lados direito, inferior e inferior direito são mantidas individualmente para os respectivos coeficientes de transformação correspondentes, como mostrado na Figura 8D. Com relação aos coeficientes de transformação restantes, um elemento é mantido por quatro coeficientes de transformação adjacentes. No caso da matriz de quantização do tamanho de 8 × 8 pixels, conforme mostrado na Figura 8A, um elemento é mantido para cada coeficiente de transformação.
[0101] Uma vez que a atribuição de elementos aos coeficientes de transformação é alterada adaptativamente de acordo com o tamanho da matriz de quantização, é possível suprimir a quantidade de código da matriz de quantização e suprimir a deterioração da qualidade da imagem.
[0102] Observa-se que a “faixa predeterminada” pode ser definida com base na ordem de varredura mostrada em cada uma das Figuras 10A a 10D quando codificando os elementos da matriz de quantização. No que diz respeito ao tamanho do bloco dos coeficientes de 8 × 16 ou 16 × 8 pixels, uma varredura mostrada na Figura 10B ou 10C é realizada para codificação / decodificação dos elementos da matriz de quantização. Neste momento, no processamento do aparelho de decodificação (a ser descrito posteriormente), um elemento obtido por uma operação de varredura (uma faixa de uma distância “1”) a partir do elemento correspondente ao componente DC do coeficiente de transformação é atribuído para cada coeficiente de transformação e, em seguida, um elemento é atribuído para cada dois coeficientes de transformação. Isto é, no processamento do aparelho de decodificação, a matriz de quantização 801 ou 802 mostrada na Figura 8B ou 8C é obtida. Com relação ao tamanho do bloco dos coeficientes de transformação de 16 × 16 pixels, os elementos obtidos por três operações de varredura (uma faixa de uma distância “3”) a partir do elemento correspondente ao componente DC do coeficiente de transformação são atribuídos aos respectivos coeficientes de transformação, e então um elemento é atribuído para cada quatro coeficientes de transformação. Ou seja, a matriz de quantização 803 mostrada na Figura 8D é obtida. No que diz respeito ao tamanho do bloco dos coeficientes de transformação de 8 × 8 pixels, os elementos obtidos pela varredura de todos os elementos a partir do elemento correspondente ao componente DC do coeficiente de transformação são atribuídos aos respectivos coeficientes de transformação. Ou seja, a matriz de quantização 800 mostrada na Figura 8A é obtida no processamento do aparelho de decodificação. Conforme descrito acima, com base na varredura da matriz de quantização, a atribuição de elementos aos coeficientes de transformação pode ser adaptada de acordo com o tamanho da matriz de quantização. Neste caso, não é necessário considerar particularmente a relação posicional entre os elementos. [Segunda Modalidade]
[0103] A segunda modalidade descreverá um aparelho de decodificação de imagem para decodificar dados codificados gerados pelo aparelho de codificação de imagem da primeira modalidade descrita acima. A Figura 2 é um diagrama de blocos do aparelho de decodificação de imagem.
[0104] O aparelho de decodificação de imagem inclui uma unidade de controle 250 que controla os componentes a serem descritos abaixo e controla todo o aparelho. A unidade de controle 250 inclui uma CPU, uma ROM que armazena um programa executado pela CPU, vários parâmetros e similares, e uma RAM usada como a área de trabalho da CPU. Observa-se que depois de carregar um OS (Sistema Operacional) armazenado na ROM ou outro dispositivo de armazenamento não volátil, no programa e nos parâmetros na RAM, o programa pode ser executado sob o controle do OS.
[0105] O aparelho de decodificação de imagem inclui ainda um terminal de entrada 201, uma unidade de decodificação de separação 202, uma unidade de decodificação 203, uma unidade de quantização inversa / transformação inversa 204, uma unidade de regeneração de imagem 205, uma memória de quadro 206, uma unidade de filtragem em laço 207, um terminal de saída 208 e uma unidade de decodificação de matriz de quantização 209.
[0106] Os componentes do aparelho de decodificação de imagem e suas operações no arranjo descrito acima do aparelho de decodificação de imagem serão descritos abaixo. Observa-se que o aparelho de decodificação de imagem é configurado para inserir, com base em um quadro, um fluxo de bits gerado pelo aparelho de codificação de imagem descrito acima, mas pode ser configurado para inserir um fluxo de bits de imagem estática para um quadro. A segunda modalidade descreverá apenas o processamento de decodificação de predição intra por uma questão de simplicidade de descrição, mas a presente invenção não está limitada a esse e é também aplicável ao processamento de decodificação de predição inter.
[0107] A unidade de decodificação de separação 202 insere um fluxo de bits codificado por meio do terminal de entrada 201, separa informação relativa ao processamento de decodificação e dados de código relativos a um coeficiente a partir do fluxo de bits, e decodifica os dados de código existentes na parte de cabeçalho do fluxo de bits. A unidade de decodificação de separação 202 de acordo com esta modalidade separa dados codificados de uma matriz de quantização a partir do fluxo de bits codificado, e fornece os dados codificados para a unidade de decodificação de matriz de quantização 209. A unidade de decodificação de separação 202 também separa dados codificados de dados de imagem a partir do fluxo de bits codificado, e os fornece à unidade de decodificação 203. Em outras palavras, a unidade de decodificação de separação 202 realiza uma operação reversa àquela da unidade de codificação combinada 111 mostrada na Figura 1.
[0108] A unidade de decodificação de matriz de quantização 209 decodifica os dados codificados da matriz de quantização fornecidos a partir da unidade de decodificação de separação 202, e regenera e retém as matrizes de quantização 800 a 803.
[0109] A unidade de decodificação 203 decodifica os dados de código dos de dados de imagem inseridos a partir da unidade de decodificação de separação 202, e regenera um coeficiente de quantização e informação de predição.
[0110] Similar à unidade de quantização inversa / transformação inversa 106 mostrada na Figura 1, a unidade de quantização inversa / transformação inversa 204 realiza quantização inversa para o coeficiente de quantização usando uma das matrizes de quantização regeneradas 800 a 803 para obter um coeficiente de transformação, e realiza ainda a transformação ortogonal inversa para regenerar os dados de erro de predição.
[0111] A unidade de regeneração de imagem 205 gera dados de imagem preditos com base na informação de predição de entrada, referindo-se à memória de quadro 206, conforme necessário. Em seguida, a unidade de regeneração de imagem 205 regenera os dados de imagem adicionando os dados de erro de predição regenerados pela unidade de quantização inversa / transformação inversa 204 aos dados de imagem de predição, e armazena os dados de imagem regenerados na memória de quadro 206.
[0112] Similar à unidade de filtragem em laço 109 mostrada na Figura 1, a unidade de filtragem em laço 207 realiza o processamento de filtragem em laço, tal como filtragem de desblocagem para os dados de imagem regenerados armazenados na memória de quadro 207, e armazena novamente, na memória de quadros, os dados de imagem que foram submetidos ao processamento de filtragem. Em seguida, o terminal de saída 208 emite os dados de imagem regenerados para um dispositivo externo (por exemplo, um dispositivo de exibição).
[0113] A operação de cada componente no aparelho de decodificação de imagem mostrado na Figura 2 será descrita em mais detalhes a seguir.
[0114] A segunda modalidade adota o arranjo para inserir, com base em um quadro, o fluxo de bits gerado na primeira modalidade, mas pode adotar um arranjo para inserir um fluxo de bits de imagem estática para um quadro. Além disso, esta modalidade descreverá apenas o processamento de decodificação de predição intra por uma questão de simplicidade de descrição, mas a presente invenção não está limitada a esse e também é aplicável ao processamento de decodificação de predição inter.
[0115] O fluxo de bits para uma entrada de quadro através do terminal de entrada 201 é fornecido para a unidade de decodificação de separação 202. A unidade de decodificação de separação 202 separa a informação relativa ao processamento de decodificação e dados de código relativos a um coeficiente do fluxo de bits, e decodifica os dados de código existentes na parte do cabeçalho do fluxo de bits. Mais especificamente, a unidade de decodificação de separação 202 regenera os dados de código da matriz de quantização. A unidade de decodificação de separação 202 de acordo com esta modalidade extrai os dados de código da matriz de quantização a partir do cabeçalho de sequência do fluxo de bits mostrado na Figura 6A, e os fornece para a unidade de decodificação de matriz de quantização 209. Subsequentemente, a unidade de decodificação de separação 202 regenera os dados de código baseados em sub-bloco do bloco básico de dados de imagem, e os fornece para a unidade de decodificação 203.
[0116] A unidade de decodificação de matriz de quantização 209 decodifica os dados de código de entrada da matriz de quantização, e regenera uma pluralidade de matrizes de diferença unidimensionais. Nesta modalidade, a decodificação é realizada usando uma tabela de codificação mostrada na Figura 12A (ou Figura 12B), similar à primeira modalidade. No entanto, a tabela de codificação não está limitada a essa, e outra tabela de codificação pode ser usada, desde que seja a mesma que na primeira modalidade. A unidade de decodificação de matriz de quantização 209 varre inversamente a pluralidade de matrizes de diferença unidimensionais regeneradas para regenerar uma pluralidade de matrizes de quantização bidimensionais. Neste exemplo, uma operação reversa à varredura da unidade de codificação de matriz de quantização 113 da primeira modalidade é realizada. Ou seja, a unidade de decodificação de matriz de quantização 209 de acordo com esta modalidade regenera as matrizes de quantização 800 a 803 mostradas nas Figuras 8A a 8D a partir das matrizes de diferença 1000 a 1003 mostradas nas Figuras 11A a 11D usando os métodos de varredura mostrados nas Figuras 10A a 10D, respectivamente, e retém as matrizes de quantização regeneradas 800 a 803.
[0117] O processamento prático de decodificação de matriz de quantização de acordo com esta modalidade será descrito exemplificando o processamento de decodificação da matriz de quantização 801 de 16 × 8 pixels mostrado na Figura 8B. A unidade de decodificação de matriz de quantização 209 regenera a matriz de quantização mostrada na Figura 8B a partir de uma matriz de diferença 1001 mostrada na Figura 11B usando o método de varredura mostrado na Figura 10B. A unidade de decodificação de matriz de quantização 209 calcula “4” como o primeiro elemento a partir de “8” como um valor inicial e o primeiro valor de diferença “-4” na Figura 11B, decide o valor “4” de um elemento em uma posição da 0ª linha e da 0ª coluna como a primeira posição de varredura na Figura 10B, e dispõe o elemento “4” em uma parte na 0ª linha e na 0ª coluna na Figura 8B. Em seguida, a unidade de decodificação de matriz de quantização 209 calcula “5” como o segundo elemento a partir do elemento “4” na 0ª linha e na 0ª coluna na Figura 8B e o segundo valor de diferença “1” na Figura 11B, e dispõe “5” em uma parte na 0ª linha e na primeira coluna como a segunda posição de varredura na Figura 10B. Da mesma forma, a unidade de decodificação de matriz de quantização 209 calcula “9” como o terceiro elemento a partir do elemento “5” na 0ª linha e na primeira coluna na Figura 8B e o terceiro valor de diferença “4” na Figura 10B, e dispõe “9” em uma parte na primeira linha e na 0ª coluna e na primeira linha e na primeira coluna como a terceira posição de varredura na Figura 8B. É possível regenerar a matriz de quantização 801 mostrada na Figura 8B repetindo o processamento similar.
[0118] Conforme descrito acima, é possível decodificar o fluxo de bits no qual a quantização de uma parte de baixa frequência à qual a visão humana é sensível é finamente controlada, enquanto se reduz a quantidade de código, dispondo valores individuais em uma pluralidade de elementos correspondentes aos componentes de baixa frequência da matriz de quantização e dispondo um valor com base em uma pluralidade de elementos em relação aos elementos restantes.
[0119] Com referência de volta à Figura 2, a unidade de decodificação 203 decodifica os dados de código de cada sub-bloco no bloco básico, e regenera o coeficiente de quantização e a informação de predição. A unidade de decodificação 203 fornece o coeficiente de quantização regenerado para a unidade de quantização inversa / transformação inversa 204, e fornece a informação de predição regenerada para a unidade de regeneração de imagem 205.
[0120] A unidade de quantização inversa / transformação inversa 204 realiza, em uma base de sub-bloco, quantização inversa para o coeficiente de quantização de entrada usando uma das matrizes de quantização 800 a 803 regenerada e retida pela unidade de decodificação de matriz de quantização 209, gerando assim um coeficiente de transformação ortogonal. A unidade de quantização inversa / transformação inversa 204 também regenera dados de erro de predição, realizando transformação ortogonal inversa para o coeficiente de transformação ortogonal gerado em uma base de sub-bloco, e o fornece para a unidade de regeneração de imagem
205. Neste momento, a matriz de quantização a ser usada é determinada de acordo com o tamanho do sub-bloco a ser decodificado. Esta modalidade assume que a matriz de quantização 803 mostrada na Figura 8D é usada para a divisão em sub- bloco correspondente à Figura 7A. Da mesma forma, a matriz de quantização 802 mostrada na Figura 8C é usada para a divisão em sub-bloco mostrada na Figura 7C. A matriz de quantização 801 mostrada na Figura 8B é usada para a divisão em sub- bloco mostrada na Figura 7D. Além disso, a matriz de quantização mostrada na Figura 8A é usada para a divisão em sub-blocos quad-tree mostrada na Figura 7B.
[0121] A unidade de regeneração de imagem 205 regenera os dados de imagem preditos em uma base de sub-bloco com base na informação de predição inserida a partir da unidade de decodificação 203, referindo-se à memória de quadro 206, conforme necessário. Em seguida, a unidade de regeneração de imagem 205 regenera os dados de imagem do sub-bloco adicionando, aos dados de imagem preditos, os dados de erro de predição fornecidos a partir da unidade de quantização inversa / transformação inversa 204 e armazena os dados de imagem regenerados na memória de quadro 206. Os dados de imagem armazenados na memória de quadro 206 são um candidato a referência de predição quando decodificando outro sub-bloco.
[0122] Similar à unidade de filtragem em laço 109 mostrada na Figura 1, a unidade de filtragem em laço 207 lê os dados de imagem regenerados a partir da memória de quadro 206 em uma base de sub-bloco, e executa o processamento de filtragem em laço como a filtragem de desblocagem. Em seguida, a unidade de filtragem em laço 207 armazena novamente, na memória de quadro 206, a imagem que foi submetida ao processamento de filtragem.
[0123] A imagem regenerada armazenada na memória de quadro 206 é finalmente emitida externamente a partir do terminal 208.
[0124] O procedimento de processamento de decodificação de um quadro no aparelho de decodificação de imagem de acordo com a segunda modalidade será descrito abaixo com referência a um fluxograma mostrado na Figura 4. Observa-se que na seguinte descrição, em cada etapa, o sujeito principal executa cada processo sob o controle da unidade de controle 250.
[0125] Na etapa S401, a unidade de decodificação de separação 202 separa a informação relativa ao processamento de decodificação e dados de código relativos a um coeficiente de um fluxo de bits, decodificando assim os dados de código de uma parte de cabeçalho. Mais especificamente, a unidade de decodificação de separação 202 regenera os dados de código de uma matriz de quantização.
[0126] Na etapa S402, a unidade de decodificação de matriz de quantização 209 decodifica os dados de código da matriz de quantização regenerada na etapa S401 para regenerar as matrizes de diferença unidimensionais 1000 a 1003 mostradas nas Figuras 11A a 11D. Além disso, a unidade de decodificação de matriz de quantização 209 varre inversamente as matrizes de diferença unidimensionais regeneradas 1000 a 1003 para regenerar as matrizes de quantização bidimensionais. Ou seja, a unidade de decodificação de matriz de quantização 209 varre inversamente as matrizes de diferença 1000 a 1003 mostradas nas Figuras 11A a 11D para regenerar as matrizes de quantização 800 a 803 mostradas nas Figuras 8A a 8D usando os métodos de varredura mostrados nas Figura 10A a 10D, respectivamente, e as retém. Observa-se que o aparelho no lado de decodificação já conhece os métodos de varredura mostrados nas Figuras 10A a 10D e a atribuição de elementos das matrizes de quantização aos coeficientes de transformação. Ou seja, cada elemento da matriz de quantização é atribuído a um coeficiente de transformação de acordo com a distância a partir de um elemento correspondente ao componente DC do coeficiente de transformação.
[0127] Ou seja, a unidade de decodificação de matriz de quantização 209 atribui um elemento em uma posição correspondente a cada coeficiente de transformação dentro de uma faixa predeterminada predefinida (uma faixa de uma distância “1” nesta modalidade) a partir da posição de armazenamento do elemento correspondente ao componente DC na direção do lado longo da matriz de quantização mostrada na Figura 8B ou 8C, cujo tamanho é o mesmo que o do bloco básico (um tamanho de 16 × 16 pixels nesta modalidade) em apenas uma das direções horizontal e vertical e é diferente na outra direção, e atribui o mesmo elemento com base em um número predefinido (dois nesta modalidade) de elementos dos coeficientes de transformação em uma posição fora da faixa predeterminada na direção do lado longo. Por outro lado, na direção do lado curto da matriz de quantização mostrada na Figura 8B ou 8C, um elemento da matriz de quantização é atribuído a cada coeficiente de transformação.
[0128] Com relação à matriz de quantização cujo tamanho é igual ao do bloco básico em ambas as direções horizontal e vertical, a unidade de decodificação de matriz de quantização 209 atribui individualmente, para os respectivos coeficientes de transformação correspondentes, quatro elementos (uma faixa de um distância “1” nesta modalidade) na posição do elemento correspondente ao componente DC e posições adjacentes a essa posição nos lados direito, inferior e direito inferior, como mostrado na Figura 8D. Com relação aos coeficientes de transformação restantes, a unidade de decodificação de matriz de quantização 209 atribui um elemento para quatro coeficientes de transformação adjacentes. No caso da matriz de quantização 800 do tamanho de 8 × 8 pixels, como mostrado na Figura 8A, um elemento é retido para cada coeficiente de transformação.
[0129] Uma vez que a atribuição de elementos aos coeficientes de transformação é alterada adaptativamente de acordo com o tamanho da matriz de quantização, é possível suprimir a quantidade de código da matriz de quantização e suprimir a deterioração da qualidade da imagem.
[0130] Observa-se que a “faixa predeterminada” pode ser definida com base na ordem de varredura mostrada em cada uma das Figuras 10A a 10D quando decodificando os elementos da matriz de quantização. No que diz respeito ao tamanho do bloco dos coeficientes de transformação de 8 × 16 ou 16 × 8 pixels, uma varredura mostrada na Figura 10B ou 10C é realizada para a decodificação dos elementos da matriz de quantização. Neste momento, a unidade de decodificação de matriz de quantização 209 atribui, para cada coeficiente de transformação, um elemento obtido por uma operação de varredura (uma faixa de uma distância “1”) do elemento correspondente ao componente DC do coeficiente de transformação e, em seguida, atribui um elemento para cada dois coeficientes de transformação. Ou seja, a matriz de quantização 801 ou 802 mostrada na Figura 8B ou 8C é obtida. No que diz respeito ao tamanho do bloco dos coeficientes de transformação de 16 × 16 pixels, a unidade de decodificação de matriz de quantização 209 atribui, para os respectivos coeficientes de transformação, elementos obtidos por três operações de varredura (uma faixa de uma distância “3”) do elemento correspondente ao componente DC do coeficiente de transformação e, em seguida, atribui um elemento para cada quatro coeficientes de transformação. Ou seja, a matriz de quantização 803 mostrada na Figura 8D é obtida. No que diz respeito ao tamanho do bloco dos coeficientes de transformação de 8 × 8 pixels, a unidade de decodificação de matriz de quantização 209 atribui, para os respectivos coeficientes de transformação, elementos obtidos pela varredura de todos os elementos a partir do elemento correspondente ao componente DC do coeficiente de transformação. Ou seja, a matriz de quantização mostrada na Figura 8A é obtida. Conforme descrito acima, com base na varredura da matriz de quantização, a atribuição de elementos aos coeficientes de transformação pode ser adaptativamente alterada de acordo com o tamanho da matriz de quantização. Neste caso, não é necessário considerar particularmente a relação posicional entre os elementos.
[0131] Na etapa S403, a unidade de decodificação 203 decodifica os dados de código separados na etapa S401, e regenera a informação de predição e o coeficiente de quantização para cada sub-bloco.
[0132] Na etapa S404, a unidade de quantização inversa / transformação inversa 204 obtém, para cada sub-bloco, o coeficiente de transformação realizando a quantização inversa usando uma das matrizes de quantização 800 a 803 regeneradas na etapa S402 para o coeficiente de quantização. A unidade de quantização inversa / transformação inversa 204 também realiza transformação ortogonal inversa para o coeficiente de transformação para regenerar dados de erro de predição de cada sub-
bloco.
[0133] Na etapa S405, a unidade de regeneração de imagem 205 regenera a informação de predição e dados de imagem preditos para cada sub-bloco gerado na etapa S403. Em seguida, a unidade de regeneração de imagem 205 regenera os dados de imagem para cada sub-bloco adicionando os dados de erro de predição gerados na etapa S404 aos dados de imagem preditos regenerados.
[0134] Na etapa S406, a unidade de controle 250 determina se a decodificação de todos os blocos básicos no quadro terminou. Se for determinado que a decodificação terminou, a unidade de controle 250 avança para a etapa S407; caso contrário, a unidade de controle 250 retorna o processo para a etapa S403 para decodificar o próximo bloco básico.
[0135] Na etapa S407, a unidade de filtragem em laço 207 realiza o processamento de filtragem em laço para os dados de imagem regenerados na etapa S405 para gerar uma imagem que passou pelo processamento de filtragem, terminando assim o processamento.
[0136] Observa-se que quando decodificando o segundo quadro ou um quadro subsequente da imagem em movimento, os processos nas etapas S403 a S407 são repetidos até o final do fluxo de bits codificado ou até que uma instrução de parada seja recebida a partir do usuário por meio de uma unidade de operação (não mostrado).
[0137] Com o arranjo e a operação descritos acima, é possível decodificar o fluxo de bits com a quantidade de código reduzida da matriz de quantização, gerada na primeira modalidade, em que apenas primeiro alguns elementos da matriz de quantização são codificados individualmente e os elementos restantes são codificados com base em uma pluralidade de elementos.
[0138] Observa-se que a segunda modalidade adota o arranjo para decodificar todos os quatro tipos de matrizes de quantização 800 a 803 mostradas nas Figuras 8A a 8D a partir de um fluxo de bits, mas pode adotar um arranjo para gerar outra matriz de quantização a partir de uma matriz de quantização decodificada a partir de um fluxo de bits. Por exemplo, uma matriz de quantização de 16 × 8 pixels pode ser gerada usando uma matriz de quantização de 16 × 16 pixels decodificada a partir de um fluxo de bits, em vez de ser decodificada a partir de um fluxo de bits. Neste caso, a matriz de quantização mostrada na Figura 8B é gerada diluindo alguns elementos da matriz de quantização mostrada na Figura 8D. Da mesma forma, a matriz de quantização mostrada na Figura 8C é gerada diluindo alguns elementos da matriz de quantização mostrada na Figura D. Além disso, decidindo um método de cálculo do elemento “5” na 0a linha e na primeira coluna na Figura 8B ou o elemento “5” na primeira linha e na 0ª coluna na Figura 8C dentro da “faixa predeterminada” descrita acima, é possível gerar a matriz de quantização 801 mostrada na Figura 8B ou a matriz de quantização 802 mostrada na Figura 8C usando a matriz de quantização 800 mostrada na Figura 8A. O método de cálculo neste momento não é particularmente limitado. O cálculo pode ser realizado adicionando um valor de diferença específico (+1 nesta modalidade) ao elemento “4” na 0ª linha e na 0ª coluna ou usando interpolação com elementos periféricos. Além disso, o elemento “5” na 0a linha e na primeira coluna na Figura 8B ou o elemento “5” na primeira linha e na 0a coluna na Figura 8C podem ser decodificados a partir do fluxo de bits juntamente com os elementos da matriz de quantização de 16 × 16 pixels. Isso pode decodificar o fluxo de bits com a quantidade de código ainda mais reduzida da matriz de quantização.
[0139] Além disso, um arranjo para decodificar, a partir de um cabeçalho, um identificador para selecionar se deve gerar cada matriz de quantização a partir de outra matriz de quantização ou decodificar cada elemento pode ser adotado. Por exemplo, um arranjo para decodificar, como um código de informação de método de codificação de matriz de quantização, a partir da parte de cabeçalho do fluxo de bits mostrado na Figura 6B, informação indicando se deve gerar cada elemento de uma matriz de quantização a partir de outra matriz de quantização ou decodificar cada elemento individualmente pode ser adotado. Esse pode decodificar o fluxo de bits para o qual se deve priorizar o controle de qualidade de imagem de acordo com o tamanho do sub-bloco ou reduzir a quantidade de código da matriz de quantização.
[0140] Esta modalidade adota o arranjo no qual as matrizes de quantização 800 a 803 mostradas nas Figuras 8A a 8D correspondendo aos processos de divisão em sub-bloco / transformação ortogonal mostrados nas Figuras 7A a 7D são usadas. No entanto, o tamanho da transformação ortogonal e a matriz de quantização utilizada não estão limitados a esses. Por exemplo, se a divisão da árvore ternária para divisão a uma relação de 1:2:1, como mostrado na Figura 7E ou 7F, for adicionalmente usada, uma matriz de quantização 900 ou 901 mostrada na Figura 9A ou 9B pode adicionalmente ser usada. [Terceira Modalidade]
[0141] Cada uma das modalidades descritas acima assume que cada unidade de processamento mostrada na Figura 1 ou 2 é formada por um componente de hardware. No entanto, o processamento realizado por cada unidade de processamento mostrada na Figura 1 ou 2 pode ser implementado por um programa de computador.
[0142] A Figura 5 é um diagrama de blocos que mostra um exemplo do arranjo de hardware de um computador aplicável a um dispositivo de exibição de imagem de acordo com cada uma das modalidades descritas acima.
[0143] Uma CPU 501 executa cada um dos processos descritos como aqueles realizados por um aparelho de processamento de imagem de acordo com cada uma das modalidades descritas acima, enquanto controla o computador geral usando um programa de computador e dados armazenados em uma RAM 502 ou uma ROM 503. Ou seja, a CPU 501 funciona como cada unidade de processamento mostrada na Figura 1 ou 2.
[0144] A RAM 502 inclui uma área para armazenar temporariamente um programa de computador e dados carregados a partir de um dispositivo de armazenamento externo 506, dados adquiridos externamente por meio de uma I / F (interface) 507 e similares. Além disso, a RAM 502 inclui uma área de trabalho usada pela CPU 501 para executar vários tipos de processos. Ou seja, por exemplo, a RAM 502 pode ser atribuída como uma memória de quadro e pode fornecer outras várias áreas de forma adequada.
[0145] A ROM 503 armazena os dados de configuração, programa de inicialização e similares do computador. Uma unidade de operação 504 é formada por um teclado,
um mouse e similares, e pode inserir várias instruções para a CPU 501 quando operada pelo usuário do computador. Uma unidade de exibição 505 exibe um resultado de processamento da CPU 501. A unidade de exibição 505 é formada, por exemplo, por uma tela de cristal líquido.
[0146] O dispositivo de armazenamento externo 506 é um dispositivo de armazenamento de informação de grande capacidade representado por uma unidade de disco rígido. O dispositivo de armazenamento externo 506 armazena um OS (Sistema Operacional) e um programa de computador para fazer com que a CPU 501 implemente a função de cada unidade mostrada na Figura 1 ou 2. Além disso, o dispositivo de armazenamento externo 506 pode armazenar cada dado de imagem como um alvo de processamento.
[0147] O programa de computador e os dados armazenados no dispositivo de armazenamento externo 506 são carregados na RAM 502, conforme necessário, sob o controle da CPU 501, e são alvos de processamento da CPU 501. A I / F 507 pode ser conectada a uma rede, tal como uma LAN ou Internet, e outros dispositivos, tal como um dispositivo de projeção e um dispositivo de exibição. O computador pode adquirir ou enviar vários tipos de informações através da I / F 507. O número de referência 508 denota um barramento que conecta as unidades descritas acima.
[0148] No arranjo acima, quando o aparelho é ligado, a CPU 501 executa o programa de inicialização na ROM 503, carrega o OS armazenado no dispositivo de armazenamento externo 506 na RAM 502, e ativa o OS. Como um resultado, este aparelho pode realizar comunicação por meio da interface 507, funcionando assim como um aparelho de processamento de informação. Então, quando, sob o controle do OS, a CPU 501 carrega um aplicativo (correspondente à Figura 3) sobre a codificação de imagem do dispositivo de armazenamento externo 506 para a RAM 502 e o executa, a CPU 501 funciona como as várias unidades de processamento mostradas na Figura 1, e este aparelho funciona como um aparelho de codificação de imagem. Por outro lado, quando a CPU 501 carrega um aplicativo (correspondente à Figura 4) sobre a decodificação de imagem do dispositivo de armazenamento externo 506 para a RAM 502 e o executa, a CPU 501 funciona como as várias unidades de processamento mostradas na Figura 2, e este aparelho funciona como um aparelho de decodificação de imagem. (Outras Modalidades)
[0149] A presente invenção pode ser implementada pelo processamento de fornecimento de um programa para a implementação de uma ou mais funções das modalidades descritas acima para um sistema ou aparelho por meio de uma rede ou meio de armazenamento, e fazendo com que um ou mais processadores no computador do sistema ou aparelho leia e execute o programa. A presente invenção também pode ser implementada por um circuito (por exemplo, um ASIC) para implementar uma ou mais funções.
[0150] A presente invenção não está limitada às modalidades acima e várias alterações e modificações podem ser feitas dentro do espírito e escopo da presente invenção. Portanto, para informar o público sobre o escopo da presente invenção, as seguintes reivindicações são feitas.
[0151] Este pedido reivindica a prioridade a partir do Pedido de Patente Japonesa No. 2018-235910 depositado em 17 de dezembro de 2018, que é aqui incorporado por referência.

Claims (7)

REIVINDICAÇÕES
1. Aparelho de codificação de imagem para codificar dados de imagem, caracterizado pelo fato de que compreende: primeiro meio de codificação para dividir dados de imagem alvo de codificação em blocos básicos de um tamanho predefinido, dividir adicionalmente cada bloco básico em pelo menos um sub-bloco usando um de uma pluralidade de padrões de divisão em sub-bloco predefinidos, e executar transformação de frequência, quantização e codificação de entropia em uma base de sub-bloco; meio de retenção para reter uma pluralidade de matrizes de quantização correspondendo a tamanhos de sub-blocos incluídos no padrão de divisão em sub- bloco usado pelo primeiro meio de codificação; segundo meio de codificação para codificar pelo menos uma da pluralidade de matrizes de quantização retidas pelo meio de retenção; e meio de combinação para combinar dados codificados gerados pelo segundo meio de codificação e dados codificados obtidos pelo primeiro meio de codificação, em que, com relação à matriz de quantização tendo o mesmo tamanho que o tamanho do bloco básico em uma direção horizontal e em uma direção vertical, o meio de retenção retém, como um valor individual, um elemento em uma posição dentro de uma faixa predeterminada predefinida a partir de uma posição de armazenamento de um elemento correspondente a um componente DC, e retém o mesmo elemento com base em um número predefinido de elementos em uma posição fora da faixa predeterminada.
2. Aparelho de codificação de imagem, de acordo com a reivindicação 1, caracterizado pelo fato de que com relação à matriz de quantização cujo tamanho é igual ao tamanho do bloco básico em uma das direções horizontal e vertical e é menor do que o tamanho do bloco básico na outra direção, o meio de retenção retém individualmente dois elementos em posições, incluindo a posição de armazenamento do componente DC, adjacentes entre si na direção em que o tamanho é o mesmo que o tamanho do bloco básico, e retém, em relação aos elementos restantes, o mesmo elemento para cada dois elementos adjacentes entre si na direção em que o tamanho é igual ao tamanho do bloco básico, e com relação à matriz de quantização cujo tamanho é igual ao tamanho do bloco básico tanto na direção horizontal quanto na direção vertical, o meio de retenção retém individualmente quatro elementos em posições, incluindo a posição de armazenamento do componente DC, adjacentes entre si na direção horizontal e na direção vertical, e retém, em relação aos elementos restantes, o mesmo elemento para cada quatro elementos adjacentes entre si na direção horizontal e na direção vertical.
3. Aparelho de codificação de imagem, de acordo com a reivindicação 2, caracterizado pelo fato de que o meio de retenção retém adicionalmente uma matriz de quantização de 1/2 do tamanho do bloco básico na direção horizontal e na direção vertical, e retém um elemento para cada posição em relação a essa matriz de quantização.
4. Método de controle para um aparelho de codificação de imagem para codificar dados de imagem, caracterizado pelo fato de que compreende: uma primeira etapa de codificação de dividir os dados de imagem alvo de codificação em blocos básicos de um tamanho predefinido, dividir adicionalmente cada bloco básico em pelo menos um sub-bloco usando um de uma pluralidade de padrões de divisão em sub-bloco predefinidos, e executar transformação de frequência, quantização, e codificação de entropia em uma base de sub-bloco; uma etapa de retenção de reter uma pluralidade de matrizes de quantização correspondendo a tamanhos de sub-blocos incluídos no padrão de divisão em sub-bloco usado na primeira etapa de codificação; uma segunda etapa de codificação de codificar pelo menos uma da pluralidade de matrizes de quantização mantidas na etapa de retenção; e uma etapa de combinação de combinar os dados codificados gerados na segunda etapa de codificação e os dados codificados obtidos na primeira etapa de codificação,
em que na etapa de retenção, com relação à matriz de quantização tendo o mesmo tamanho que o tamanho do bloco básico em uma direção horizontal e uma direção vertical, um elemento em uma posição dentro de uma faixa predeterminada predefinida a partir de uma posição de armazenamento de um elemento de um componente DC é retido como um valor individual, e o mesmo elemento é retido com base em um número predefinido de elementos em uma posição fora da faixa predeterminada.
5. Aparelho de decodificação de imagem para decodificar dados codificados gerados por um aparelho de codificação de imagem conforme definido em qualquer uma das reivindicações 1 a 3, caracterizado pelo fato de que compreende: meio de separação para separar dados codificados de uma matriz de quantização e dados codificados de dados de imagem a partir dos dados codificados; primeiro meio de decodificação para decodificar os dados codificados da matriz de quantização separados pelo meio de separação, e gerar e reter uma pluralidade de matrizes de quantização correspondendo a tamanhos de sub-blocos; e segundo meio de decodificação para decodificar os dados codificados dos dados de imagem separados pelo meio de separação usando a matriz de quantização de cada sub-bloco obtido pelo primeiro meio de decodificação, e regenerar os dados de imagem.
6. Método de controle para um aparelho de decodificação de imagem para decodificar dados codificados gerados por um método de controle conforme definido na reivindicação 4, caracterizado pelo fato de que compreende: uma etapa de separação de separar dados codificados de uma matriz de quantização e dados codificados de dados de imagem a partir dos dados codificados; uma primeira etapa de decodificação de decodificar os dados codificados da matriz de quantização separados na etapa de separação, e gerar e reter uma pluralidade de matrizes de quantização correspondentes a tamanhos de sub-blocos; e uma segunda etapa de decodificação de decodificar os dados codificados dos dados de imagem separados na etapa de separação usando a matriz de quantização de cada sub-bloco obtido na primeira etapa de decodificação, e regenerar os dados de imagem.
7. Programa, caracterizado pelo fato de que faz com que um computador execute cada etapa de um método de controle conforme definido na reivindicação 4 ou 6, quando carregado e executado pelo computador.
F I G. 1 103 113 P219-0781WO Petição 870210048115, de 27/05/2021, pág. 52/74
UNIDADE DE UNIDADE DE
TRANSFORMING
RETENÇÃO DE CODIFICAÇÃO
QUANTIZATIONDE
MATRIX HOLDING
MATRIZ DE MATRIX ENCODING
MATRIZ DE
UNIT
TRANSFORMAÇÃO UNIT
QUANTIZAÇÃO 102 104 105 110 111 101 112
UNIDADE DE UNIDADE DE UNIDADE DE UNIDADE DE
UNIDADE DE PREDICTION CONVERTING/ COMBINED
DIVISÃO BLOCKEM CONVERSÃO / ENCODING UNIT
CODIFICAÇÃO CODIFICAÇÃO
DIVIDING UNIT PREDIÇÃO
UNIT QUANTIZING UNIT ENCODING UNIT 1/15
BLOCO QUANTIZAÇÃO COMBINADA 1/15 107
UNIDADE
INVERSE DE QUANTIZING/
UNIDADE
IMAGE DE QUANTIZAÇÃO 106
REGENERAÇÃO INVERSE REGENERATING INVERSA /
DE IMAGEM TRANSFORMING
TRANSFORMAÇÃO UNIDADE DE
UNIT UNIT CONTROL UNIT 109 INVERSA CONTROLE
UNIDADE DE MEMÓRIA IN-LOOP FILTRAGEM FRAME 108 150
FILTERING UNIT QUADRO
DEMEMORY
EM LAÇO
F I G. 2 P219-0781WO 209 Petição 870210048115, de 27/05/2021, pág. 53/74
UNIDADE DE
QUANTIZATION
DECODIFICAÇÃO
MATRIX
DE MATRIZ DE
DECODING UNIT
QUANTIZAÇÃO 202 203 204 205 206 201 UNIDADE INVERSEDE 208
UNIDADE DE QUANTIZAÇÃO UNIDADE 2/15 QUANTIZING/ 2/15 SEPARATION UNIDADE DE INVERSA /
IMAGE DE MEMÓRIA
FRAME DE
DECODIFICAÇÃO REGENERAÇÃO
DECODING UNIT
DE SEPARAÇÃO
DECODING UNIT
DECODIFICAÇÃO INVERSE
TRANSFORMAÇÃO REGENERATING QUADRO
MEMORY
TRANSFORMING DE IMAGEM
UNIT
INVERSA
UNIT
UNIDADE DE IN-LOOP
FILTRAGEM FILTERING UNIT 207
UNIDADE DE EM LAÇO
CONTROL UNIT CONTROLE 250
P219-0781WO 3/15 F I G. 3 INICIAR
STARTCODIFICAÇÃO
ENCODING S301
GERAR MATRIZ
GENERATE DE QUANTIZAÇÃO
QUANTIZATION MATRIX S302
CODIFICAR
ENCODEMATRIZ DE QUANTIZAÇÃO
QUANTIZATION MATRIX S303
EMITIR CABEÇALHO
OUTPUT HEADER S304
DIVIDIR
DIVIDEEM BLOCO
BLOCK S305
PREDIZER
PREDICT S306 TRANSFORMAR / QUANTIZAR TRANSFORM/QUANTIZE QUANTIZAR INVERSAMENTE / TRANSFORMAR S307 INVERSELY QUANTIZE/INVERSELY
INVERSAMENTE TRANSFORM S308
REGENERAR
REGENERATEIMAGEM
IMAGE CODIFICAR COEFICIENTE DE QUANTIZAÇÃO / S309 ENCODE QUANTIZATION COEFFICIENT/PREDICTION
INFORMAÇÃO DE PREDIÇÃO
INFORMATION NÃO S310
TERMINARAM
NOT ENDED TODOS OS BLOCOS NO QUADRO
HAVE ALL BLOCKS IN FRAME TERMINARAM ? ENDED?
FIM
END S311
FILTRAGEM EM LAÇO IN-LOOP FILTER
TERMINAR CODIFICAÇÃO
END ENCODING
P219-0781WO 4/15 F I G. 4
INICIAR DECODIFICAÇÃO
START DECODING SEPARAR / DECODIFICAR SEPARATE/DECODE BITFLUXO DE BITS STREAM S401
DECODIFICAR MATRIZ DE QUANTIZAÇÃO DECODE QUANTIZATION MATRIX S402
DECODIFICAR COEFICIENTE DE DECODE QUANTIZATION QUANTIZAÇÃO / COEFFICIENT/
INFORMAÇÃO DE PREDIÇÃO S403
PREDICTION INFORMATION QUANTIZAR INVERSAMENTE / INVERSELY QUANTIZE/INVERSELY TRANSFORM
TRANSFORMAR INVERSAMENTE S404
REGENERAR
REGENERATEIMAGEM IMAGE S405 S406
NÃO
TERMINARAM
NOT ENDED TODOS OS BLOCOS NO QUADRO
HAVE ALL BLOCKS IN FRAME TERMINARAM ? ENDED?
FIM
END
FILTRAGEM EM LAÇO IN-LOOP FILTER S407
TERMINAR CODIFICAÇÃO
END DECODING
P219-0781WO 5/15 F I G. 5 505
UNIDADE 501 OUTPUT UNIT
DE SAÍDA CPU 506
DISPOSITIVO DE
EXTERNAL
ARMAZENAMENTO 502 STORAGE DEVICE
EXTERNO RAM 507 503 I/F
ROM 504
UNIDADE DE
OPERATION
OPERAÇÃO UNIT 508
P219-0781WO 6/15 F I G. 6A
CABEÇALHO DE CABEÇALHO
PICTURE DADOS DE
PICTURE CABEÇALHO
PICTURE DADOS DE
PICTURE
DE IMAGEM IMAGEM DE IMAGEM IMAGEM
SEQUÊNCIA
SEQUENCE HEADER HEADER DATA HEADER DATA
QUANTIZATION
DADOS DE CÓDIGO DE
MATRIZ
MATRIXDE CODE
QUANTIZAÇÃO
DATA
RESULTADO DE CODIFICAÇÃO
ENCODING RESULT OF ELEMENT
DE ELEMENTO F I G. 6B
CABEÇALHO DE CABEÇALHO
PICTURE DADOS DE
PICTURE CABEÇALHO
PICTURE DADOS DE
PICTURE
SEQUENCE HEADER DE IMAGEM IMAGEM DE IMAGEM IMAGEM
SEQUÊNCIA HEADER DATA HEADER DATA
CÓDIGO DE INFORMAÇÃO
QUANTIZATION MATRIX CODIFICADO
ENCODED
DE MATRIZ DE QUANTIZAÇÃO
INFORMATION CODE
DADOS DE CÓDIGO
QUANTIZATION DE
MATRIX
MATRIZ DE QUANTIZAÇÃO
CODE DATA
RESULTADO DE CODIFICAÇÃO
ENCODING
DE RESULT OF ELEMENT
ELEMENTO
P219-0781WO
7/15
700 F I G. 7A
700 F I G. 7B
700 F I G. 7C
P219-0781WO
8/15
700 F I G. 7D
700 F I G. 7E
700 F I G. 7F
P219-0781WO
9/15
F I G. 8A 800
4 9 13 18 25 35 36 37 9 10 15 21 32 35 37 41 13 15 18 23 35 55 58 59 18 21 23 26 65 58 64 66 25 32 35 65 66 66 67 70 35 35 55 58 66 68 70 73 36 37 58 64 67 70 76 80 37 41 59 66 70 73 80 85
F I G. 8B 801
4 5 9 13 18 25 35 36 37 9 10 15 21 32 35 37 41 13 15 18 23 35 55 58 59 18 21 23 26 65 58 64 66 25 32 35 65 66 66 67 70 35 35 55 58 66 68 70 73 36 37 58 64 67 70 76 80 37 41 59 66 70 73 80 85
P219-0781WO
10/15
F I G. 8C 802
4 9 13 18 25 35 36 37 5 9 10 15 21 32 35 37 41
13 15 18 23 35 55 58 59
18 21 23 26 65 58 64 66
25 32 35 65 66 66 67 70
35 35 55 58 66 68 70 73
36 37 58 64 67 70 76 80
37 41 59 66 70 73 80 85
F I G. 8D 803
4 5 9 13 18 25 35 36 37 5 6 9 10 15 21 32 35 37 41
13 15 18 23 35 55 58 59
18 21 23 26 65 58 64 66
25 32 35 65 66 66 67 70
35 35 55 58 66 68 70 73
36 37 58 64 67 70 76 80
37 41 59 66 70 73 80 85
P219-0781WO
11/15
F I G. 9A 900
4 5 9 13 18 25 35 36 37 13 15 18 23 35 55 58 59 25 32 35 65 66 66 67 70 36 37 58 64 67 70 76 80
901
F I G. 9B 4 13 25 36 5
9 15 32 37
13 18 35 58
18 23 65 64
25 35 66 67
35 55 66 70
36 58 67 76
37 59 70 80
P219-0781WO
12/15
F I G. 10A
F I G. 10B
P219-0781WO
13/15
F I G. 10C
F I G. 10D
P219-0781WO
14/15
F I G. 11A 1000
-4 5 0 4 -3 3 5 -3 0 3 7 -4 -3 3 4
F I G. 11B 1001
-4 1 4 0 4 -3 3 5 -3 0 3 7 -4 -3 3
F I G. 11C 1002
-4 1 4 0 4 -3 3 5 -3 0 3 7 -4 -3 3
F I G. 11D 1003
-4 1 0 1 3 0 4 -3 3 5 -3 0 3 7 -4
P219-0781WO 15/15 F I G. 12A VALOR ALVO
ENCODING DE
TARGET CÓDIGO
BINARYBINÁRIO
CODE
CODIFICAÇÃO
VALUE -5 0001011 -4 0001001 -3 00111 -2 00101 -1 011 0 1 1 010 2 00100 3 00110 4 0001000 5 0001010 F I G. 12B VALOR ALVO
ENCODING DE
TARGET CÓDIGO
BINARYBINÁRIO
CODE
CODIFICAÇÃO
VALUE -5 0001011 -4 0001001 -3 00111 -2 0010 -1 011 0 11 1 10 2 010 3 00110 4 0001000 5 0001010
BR112021010308-2A 2018-12-17 2019-11-14 Dispositivo de codificação de imagem, dispositivo de decodificação de imagem, e método e programa para controlar os mesmos BR112021010308A2 (pt)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2018235910A JP2020098984A (ja) 2018-12-17 2018-12-17 画像符号化装置及び画像復号装置及びそれらの制御方法及びプログラム
JP2018-235910 2018-12-17
PCT/JP2019/044754 WO2020129489A1 (ja) 2018-12-17 2019-11-14 画像符号化装置及び画像復号装置及びそれらの制御方法及びプログラム

Publications (1)

Publication Number Publication Date
BR112021010308A2 true BR112021010308A2 (pt) 2021-08-24

Family

ID=71101173

Family Applications (1)

Application Number Title Priority Date Filing Date
BR112021010308-2A BR112021010308A2 (pt) 2018-12-17 2019-11-14 Dispositivo de codificação de imagem, dispositivo de decodificação de imagem, e método e programa para controlar os mesmos

Country Status (8)

Country Link
US (1) US20210306633A1 (pt)
EP (1) EP3902254A4 (pt)
JP (2) JP2020098984A (pt)
KR (1) KR20210096279A (pt)
CN (1) CN113228652B (pt)
BR (1) BR112021010308A2 (pt)
TW (3) TW202312733A (pt)
WO (1) WO2020129489A1 (pt)

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008044511A1 (en) * 2006-10-12 2008-04-17 Kabushiki Kaisha Toshiba Method and apparatus for encoding image
JP2011029956A (ja) * 2009-07-27 2011-02-10 Sony Corp 画像符号化装置および画像符号化方法
JP5741076B2 (ja) * 2010-12-09 2015-07-01 ソニー株式会社 画像処理装置及び画像処理方法
US9641840B2 (en) * 2011-05-20 2017-05-02 Sony Corporation Processing device and image processing method for encoding and decoding image
JP2013038758A (ja) * 2011-07-13 2013-02-21 Canon Inc 画像符号化装置、画像符号化方法及びプログラム、画像復号装置、画像復号方法及びプログラム
US10277915B2 (en) * 2011-11-07 2019-04-30 Qualcomm Incorporated Signaling quantization matrices for video coding
JP2013146038A (ja) * 2011-12-13 2013-07-25 Canon Inc 画像量子化装置、画像量子化方法及びプログラム、画像逆量子化装置、画像逆量子化方法及びプログラム
WO2013094385A1 (ja) * 2011-12-19 2013-06-27 ソニー株式会社 画像処理装置および方法
EP3432582B1 (en) * 2012-02-29 2020-04-01 Sony Corporation Image processing device and method
CN111147852B (zh) * 2012-04-16 2022-05-31 韩国电子通信研究院 图像解码方法和图像编码方法
CN104919798B (zh) * 2012-04-16 2018-12-14 华为技术有限公司 量化矩阵编码的方法和装置
GB2501535A (en) * 2012-04-26 2013-10-30 Sony Corp Chrominance Processing in High Efficiency Video Codecs
US10863188B2 (en) * 2014-09-19 2020-12-08 Futurewei Technologies, Inc. Method and apparatus for non-uniform mapping for quantization matrix coefficients between different sizes of quantization matrices in image/video coding
JPWO2016103542A1 (ja) * 2014-12-26 2017-10-19 パナソニックIpマネジメント株式会社 符号化方法、復号方法、符号化装置および復号装置
CN104796609B (zh) * 2015-04-17 2018-01-05 南京理工大学 基于最优哈达玛编码的大视场高分辨率显微成像方法
JP6566865B2 (ja) * 2015-12-28 2019-08-28 Kddi株式会社 動画像復号装置、動画像復号方法、動画像符号化装置、動画像符号化方法及びコンピュータ可読記録媒体
CN106612439A (zh) * 2016-02-04 2017-05-03 四川用联信息技术有限公司 一种自适应快速分形图像压缩方法

Also Published As

Publication number Publication date
TWI788268B (zh) 2022-12-21
TW202312733A (zh) 2023-03-16
CN113228652B (zh) 2024-04-12
TW202029759A (zh) 2020-08-01
US20210306633A1 (en) 2021-09-30
KR20210096279A (ko) 2021-08-04
JP2020098984A (ja) 2020-06-25
TW202239207A (zh) 2022-10-01
EP3902254A1 (en) 2021-10-27
EP3902254A4 (en) 2022-08-31
WO2020129489A1 (ja) 2020-06-25
CN113228652A (zh) 2021-08-06
JP2024023793A (ja) 2024-02-21
TWI770441B (zh) 2022-07-11

Similar Documents

Publication Publication Date Title
TWI656785B (zh) 視訊編碼方法和設備和相關的視訊解碼方法和設備
WO2018116924A1 (ja) 符号化装置、符号化方法及びプログラム、復号装置、復号方法及びプログラム
US20170272758A1 (en) Video encoding method and apparatus using independent partition coding and associated video decoding method and apparatus
BR122021002351B1 (pt) Método e mídia de gravação não transitória legível por computador para decodificar vídeo
KR102438246B1 (ko) 디블로킹 필터 방법 및 장치
BR112021008625A2 (pt) método de decodificação e codificação de vídeo e aparelho de decodificação e codificação de vídeo
KR20180040577A (ko) 인트라 예측 모드 기반 영상 처리 방법 및 이를 위한 장치
KR20210125095A (ko) 화상 부호화 장치, 화상 부호화 방법 및 저장 매체
JP2023089211A (ja) 画像符号化装置、画像符号化方法及びプログラム、画像復号装置、画像復号方法及びプログラム
BR112021010308A2 (pt) Dispositivo de codificação de imagem, dispositivo de decodificação de imagem, e método e programa para controlar os mesmos
WO2020003740A1 (ja) 画像符号化装置及び画像復号装置及びそれらの制御方法及びプログラム
BR112021011586A2 (pt) Aparelho de codificação de imagem, aparelho de decodificação de imagem e métodos de controle dos mesmos
BR112021011632A2 (pt) Aparelho de codificação de imagem, método de codificação de imagem, aparelho de decodificação de imagem, e método de decodificação de imagem
US20220272341A1 (en) Decoding device, decoding method, and storage medium
EP3570544A1 (en) Quantisation for omnidirectional video
WO2020136987A1 (ja) 映像符号化装置、映像符号化方法、映像符号化プログラム、映像復号装置、映像復号方法、及び映像復号プログラム
TW202034699A (zh) 圖像編碼裝置、圖像解碼裝置、圖像編碼方法、圖像解碼方法及程式
WO2019212661A1 (en) Quantisation for omnidirectional video
KR20210125089A (ko) 화상 복호 장치, 화상 복호 방법 및 프로그램
BR122023020425A2 (pt) Aparelho de decodificação/ codificação para decodificação/codificação de imagens e aparelho para transmissão de dados para uma imagem
KR20210126121A (ko) 화상 복호 장치, 화상 복호 방법 및 프로그램