BR122020022240B1 - Aparelho de codificação de imagem, método de codificação de imagem, aparelho de decodificação de imagem, método de decodificação de imagem e meio de armazenamento não transitório - Google Patents

Aparelho de codificação de imagem, método de codificação de imagem, aparelho de decodificação de imagem, método de decodificação de imagem e meio de armazenamento não transitório Download PDF

Info

Publication number
BR122020022240B1
BR122020022240B1 BR122020022240-9A BR122020022240A BR122020022240B1 BR 122020022240 B1 BR122020022240 B1 BR 122020022240B1 BR 122020022240 A BR122020022240 A BR 122020022240A BR 122020022240 B1 BR122020022240 B1 BR 122020022240B1
Authority
BR
Brazil
Prior art keywords
block
coding
image
decoding
unit
Prior art date
Application number
BR122020022240-9A
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 BR122020022240B1 publication Critical patent/BR122020022240B1/pt

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/11Selection of coding mode or of prediction mode among a plurality of spatial predictive coding modes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/12Selection from among a plurality of transforms or standards, e.g. selection between discrete cosine transform [DCT] and sub-band transform or selection between H.263 and H.264
    • 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/182Methods 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 pixel
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards

Abstract

A presente invenção refere-se a permitir comutar entre codificação sem perdas que prioriza a compatibilidade com um processo de codificação com perdas e codificação sem perdas que prioriza o desempenho da compressão. Um aparelho de codificação de imagem da presente invenção inclui a seguinte configuração. O aparelho de codificação de imagem que codifica uma imagem em uma base de bloco a bloco inclui uma primeira unidade de codificação e uma segunda unidade de codificação. A primeira unidade de codificação executa codificação de compressão irreversível em um primeiro bloco recebido. A segunda unidade de codificação executa codificação de compressão reversível em um segundo bloco recebido. A segunda unidade de codificação codifica o segundo bloco utilizando qualquer um de um primeiro modo de predição intra para executar predição intra em uma base bloco a bloco, e um segundo modo de predição intra para executar a predição intra em uma base pixel a pixel.

Description

CAMPO DA INVENÇÃO
[0001] A presente invenção refere-se a um aparelho de codificação de imagem e um método de codificação de imagem, particularmente, para um processo de predição intra executada em um bloco de codificação sem perdas.
FUNDAMENTOS DA INVENÇÃO
[0002] Um sistema, H.264/MPEG-4 AVC (em seguida abreviado como H.264), é conhecido como um sistema de codificação para a compressão e a gravação de um filme (ver NPL 1).
[0003] Em H.264, a codificação sem perdas pode ser realizada executando um processo de desvio de transformação em que a transformação ortogonal e a quantização são desviadas. Em particular, a codificação sem perdas tem uma característica na qual, quando a predição intra é realizada na direção horizontal ou vertical, a codificação por modulação diferencial por pulsos codificados (DPCM) é executada. Em codificação DPCM, em vez de predição normal realizada com base em pixels codificados em torno de um pixel alvo, a predição é executada em uma base pixel a pixel num bloco.
[0004] Recentemente, uma atividade para atingir um padrão internacional para um sistema de codificação de alta eficiência começou como um sucessor para H.264. A Equipa Conjunta de Colaboração em Codificação de Vídeo (JCT-VC) foi fundada pela Organização Internacional de Padronização (ISO)/Comissão Eletrotécnica Internacional (IEC) e o Setor Internacional de União de Telecomunicações - Padronização de Telecomunicações (UIT-T). Em JCT-VC, a padronização progrediu, resultando no sistema de codificação de vídeo de alta eficiência (HEVC) (em seguida chamado de como HEVC).
[0005] A primeira versão da padronização, que é considerada como uma especificação básica em HEVC, foi concluída em janeiro de 2013. Como H.264, a primeira versão de HEVC emprega codificação sem perdas em que a transformação ortogonal e a quantização são desviadas. No entanto, a primeira versão de HEVC tem uma característica na qual, como a típica codificação com perdas, a predição intra é executada em uma base bloco a bloco (ver NPL 2).
[0006] Em HEVC, a partir do ponto de vista da compatibilidade com a codificação com perdas, a predição intra em uma base bloco a bloco, que é similar à utilizada na codificação com perdas, é utilizada na codificação sem perdas. No entanto, em geral, considera-se que a codificação DPCM em uma base pixel a pixel, que também é usada em H.264, tem maior eficiência de compressão na codificação sem perdas. Portanto, surge um problema em que a eficiência de compressão da codificação sem perdas em HEVC não é suficientemente alta.
LISTA DE CITAÇÃO LITERATURA NÃO PATENTE
[0007] NPL 1: ITU-T H.264 (01/2012) Advanced Video Coding for Generic Audiovisual Services
[0008] NPL 2: Artigo contribuído por JCT-VC, JCTVC-L1003, http://phenix.int- evry.fr/jct/doc_end_user/documents/12_Geneva/wg11/
SUMÁRIO DA INVENÇÃO
[0009] Então, a presente invenção é feita para permitir a comutação entre um processo de codificação sem perdas que prioriza a compatibilidade com um processo de codificação com perdas e um processo de codificação sem perdas que prioriza o desempenho da compressão.
[0010] Como uma unidade para abordar o problema descrito acima, um típico aparelho de codificação de imagem da presente invenção tem a seguinte configuração. Isto é, o aparelho de codificação de imagem que codifica uma imagem em uma base bloco a bloco inclui uma primeira unidade de codificação e uma segunda unidade de codificação. A primeira unidade de codificação executa codificação de compressão irreversível em um primeiro bloco recebido. A segunda unidade de codificação executa codificação de compressão reversível em um segundo bloco recebido. A segunda unidade de codificação codifica o segundo bloco utilizando qualquer um de um primeiro modo de predição intra para executar a predição intra em uma base bloco a bloco, e um segundo modo de predição intra para executar a predição intra em uma base pixel a pixel.
[0011] Em adição, um típico aparelho de decodificação imagem da presente invenção tem a seguinte configuração. Isto é, o aparelho de decodificação de imagem que decodifica uma imagem codificada em uma base bloco a bloco inclui uma primeira unidade de decodificação e uma segunda unidade de decodificação. A primeira unidade de decodificação decodifica um primeiro bloco que foi submetido à codificação de compressão irreversível. A segunda unidade de decodificação decodifica um segundo bloco que foi submetido à codificação de compressão reversível. A segunda unidade de decodificação decodifica o segundo bloco utilizando qualquer um de um primeiro modo de predição intra para executar a predição intra em uma base bloco a bloco, e um segundo modo de predição intra para executar a predição intra em uma base pixel a pixel.
[0012] Outras características da presente invenção estarão evidentes a partir da descrição seguinte de modalidades exemplificativas com relação aos desenhos em anexo.
[0013] A presente invenção atinge a codificação e a decodificação que suportam tanto um processo de codificação sem perdas que prioriza a compatibilidade com um processo de codificação com perdas quanto um processo de codificação sem perdas que prioriza o desempenho de compressão. Como um resultado, a comutação pode ser executada entre estes processos de codificação sem perdas de acordo com a exigência de uma aplicação.
BREVE DESCRIÇÃO DOS DESENHOS
[0014] A Figura 1 é um diagrama de blocos que ilustra a configuração de um aparelho de codificação de imagem de acordo com uma primeira modalidade.
[0015] A Figura 2 é um diagrama de blocos que ilustra a configuração de um aparelho de decodificação de imagem de acordo com uma segunda modalidade.
[0016] A Figura 3A é um diagrama que ilustra um processo exemplificado de predição intra executado em um bloco de codificação sem perdas.
[0017] A Figura 3B é um diagrama que ilustra um processo exemplificado de predição intra executado em um bloco de codificação sem perdas.
[0018] A Figura 3C é um diagrama que ilustra um processo exemplificado de predição intra executado em um bloco de codificação sem perdas.
[0019] A Figura 3D é um diagrama que ilustra um processo exemplificado de predição intra executado em um bloco de codificação sem perdas.
[0020] A Figura 3E é um diagrama que ilustra um processo exemplificado de predição intra executado em um bloco de codificação sem perdas.
[0021] A Figura 4 é um fluxograma de um processo de codificação de imagem executado pelo aparelho de codificação de imagem de acordo com a primeira modalidade.
[0022] A Figura 5 é um fluxograma de um processo de decodificação de imagem executado pelo aparelho de decodificação de acordo com a segunda modalidade.
[0023] A Figura 6A é um diagrama que ilustra uma estrutura de fluxo de bits exemplificativa, que é gerado na primeira modalidade e que é para ser decodificado na segunda modalidade.
[0024] A Figura 6B é um diagrama que ilustra uma estrutura de fluxo de bits exemplificativa, que é gerado na primeira modalidade e que é para ser decodificado na segunda modalidade.
[0025] A Figura 7 é um diagrama que ilustra as direções de modos de predição intra em HEVC.
[0026] A Figura 8 é um diagrama de blocos que ilustra uma configuração de hardware exemplificativa de um computador que pode ser aplicada ao aparelho de codificação de imagem e ao aparelho de decodificação de imagem na presente invenção.
DESCRIÇÃO DETALHADA DA INVENÇÃO
[0027] A presente invenção será descrita em detalhes com base em modalidades com relação aos desenhos em anexo. As configurações nas modalidades descritas a seguir são apenas exemplos, e a presente invenção não está limitada às configurações ilustradas.
[0028] Primeira Modalidade
[0029] Uma primeira modalidade da presente invenção será descrita a seguir utilizando os desenhos. Figura 1 é um diagrama de blocos que ilustra um aparelho de codificação de imagem de acordo com a primeira modalidade. Na Figura 1, um terminal 101 é um terminal para inserir dados de imagem. Uma unidade determinação de codificação sem perdas 102 corta vários blocos a partir dos dados de imagem recebidos, e determina se a codificação de compressão reversível (em seguida chamada de codificação sem perdas) ou codificação de compressão irreversível (em seguida chamada de codificação com perdas) é para ser executada em cada um dos blocos. Uma unidade de geração de informação de controle sem perdas 103 gera e emite informação de controle sem perdas indicando que tipo de processo de predição intra é para ser executado em um bloco de codificação sem perdas que será submetido à codificação sem perdas.
[0030] Uma primeira unidade de predição 104 executa, por exemplo, predição intra que é a predição intraquadros e a predição inter que é a predição interquadros em cada um dos blocos dos dados de imagem, quando a codificação com perdas é selecionada, e gera dados de imagem predita. A primeira unidade de predição 104 ainda calcula os erros de predição a partir dos dados de imagem recebidos e dos dados de imagem preditos, e emite os erros de predição. Em adição a isso, a informação necessária para a predição, por exemplo, informação sobre um modo de predição, é emitida. Em seguida, a informação necessária para a predição é chamada primeira informação de predição.
[0031] Quando a codificação com perdas é selecionada, uma unidade de transformação/ quantização 105 executa transformação ortogonal nos erros de predição em uma base bloco a bloco para obter coeficientes transformados, e ainda quantifica os coeficientes transformados para obter coeficientes quantizados. Quando a codificação com perdas é selecionada, uma unidade de transformação inversa/quantização inversa 106 executa quantização inversa nos coeficientes quantizados que são emitidos a partir da unidade de transformação/quantização 105, de modo a reproduzir os coeficientes transformados, e ainda executa transformação ortogonal inversa nos coeficientes transformados, de modo a reproduzir os erros de predição. A memória de quadro 108 armazena os dados de imagem reproduzidos.
[0032] Quando a codificação com perdas é selecionada, uma primeira unidade de reprodução de imagem 107 gera dados de imagem preditos com relação à memória de quadro 108, conforme adequado, com base na primeira informação de predição que é emitida a partir da primeira unidade de predição 104, gera dados de imagem reproduzida a partir dos dados de imagem e dos erros de predição recebidos, e emite os dados de imagem reproduzida.
[0033] Quando a codificação sem perdas é selecionada, uma segunda unidade de predição 109 executa a predição intra, predição inter, e similares em cada um dos blocos de dados de imagem, de modo a gerar dados de imagem preditos. Da mesma forma que a primeira unidade de predição 104, a segunda unidade de predição 109 calcula erros de predição a partir de dados da imagem recebida e dos dados de imagem preditos, e emite a informação necessária para a predição, tal como um modo de predição, bem como os erros de predição. Em seguida, a informação necessária para a predição é chamada segunda informação de predição.
[0034] Um seletor 110 gera uma imagem recebida, que é emitida a partir da unidade de determinação de codificação sem perdas 102, ou uma imagem reproduzida que é emitida a partir da primeira unidade de reprodução de imagem 107, para a memória de quadro 108 com base na informação de bloco de codificação sem perdas que é descrito abaixo e que é emitido a partir da unidade de determinação de codificação sem perdas 102.
[0035] Uma primeira unidade de codificação 111 codifica os coeficientes quantizados, que são emitidos a partir da unidade de transformação/quantização 105, e a primeira informação de predição que é emitida a partir da primeira unidade de predição 104, de modo a gerar e emitir os primeiros dados codificados.
[0036] Uma segunda unidade de codificação 112 codifica a segunda informação de predição e os erros de predição, que são emitidos a partir da segunda unidade de predição 109, de modo a gerar e emitir os segundos dados codificados.
[0037] Uma unidade de codificação integrada 113 codifica as saídas a partir da unidade de determinação de codificação sem perdas 102 e da unidade de geração de informação de controle sem perda 103 de modo a gerar dados de cabeçalho codificados. A unidade de codificação integrada 113 adiciona ainda os dados codificados que são emitidos a partir da primeira unidade de codificação 111 e da segunda unidade de codificação 112, de modo a gerar e emitir um fluxo de bits.
[0038] Um terminal 114 é um terminal para emitir o fluxo de bits gerado pela unidade de codificação integrada 113 para o exterior.
[0039] Uma operação de codificação de imagem realizada pelo aparelho de codificação de imagem descrito acima será descrita abaixo. Na primeira modalidade, os dados de filme são inseridos em uma base quadro a quadro, mas os dados de imagem estática de um quadro podem ser inseridos.
[0040] Os dados de imagem de um quadro que é inserido a partir do terminal 101 são recebidos pela unidade de determinação de codificação sem perdas 102. Antes do processo de codificação, a unidade de geração de informação de controle sem perdas 103 determina qual o tipo de processo de predição intra será executado em pixels em um bloco de codificação sem perdas. A unidade de geração de informação de controle sem perdas 103 emite a informação de determinação como a informação de controle sem perdas para a segunda unidade de predição 109 e a unidade de codificação integrada 113.
[0041] Para fazer uma simples descrição, Figuras 3A a 3E ilustram a predição intra exemplificada. Figura 3A ilustra um bloco 300 em que a predição intra é executada. Os exemplos nas Figuras 3A a 3E usam um bloco de 4 x 4 pixels, mas o tamanho e a forma não estão limitados a este. Os pixels a até p que formam 4 x 4 pixels são incluídos no bloco 300. A Figura 3B é um diagrama que ilustra como executar a predição intra horizontal em uma base bloco a bloco, e a predição horizontal é executada iniciando a partir de um grupo de pixels 302 (H0 até H3), que está localizado à esquerda e que é adjacente ao bloco 300. Tal predição é chamada de um modo de predição horizontal baseada em bloco. A Figura 3C é um diagrama que ilustra como executar a predição intra vertical em uma base bloco a bloco, e a predição vertical é executada a partir começando a partir de um grupo de pixels 301 (V0 a V3), que está localizado acima e que é adjacente ao bloco 300. Tal predição é chamada de um modo de predição vertical baseado em blocos. A Figura 3D é um diagrama que ilustra como executar predição DPCM horizontal em uma base pixel a pixel, e a predição horizontal é executada começando a partir de um pixel que é adjacente no lado esquerdo de cada um dos pixels. Tal predição é chamada de modo DPCM horizontal baseado em pixel. Na primeira modalidade, o valor de pixel de cada um dos pixels localizados na extremidade esquerda em um bloco alvo é codificado como ele é, mas a presente invenção não se limita a isso. A diferença entre o valor de pixel de cada um dos pixels localizados na extremidade esquerda no bloco alvo e o valor de pixel de um pixel correspondente dos pixels localizados na extremidade direita do bloco localizado no lado esquerdo do bloco alvo pode ser codificada. A Figura 3E é um diagrama que ilustra como executar a predição DPCM vertical em uma base pixel a pixel, e predição vertical é executada começando a partir de um pixel que é adjacente à parte superior de cada um dos pixels. Tal predição é chamada de modo DPCM vertical baseado em pixel. De forma semelhante ao modo DPCM horizontal baseado em pixel, na primeira modalidade, o valor de pixel de cada um dos pixels localizados na extremidade superior em um bloco alvo é codificado como ele é, mas a presente invenção não se limita a isso. A diferença entre o valor de pixel de cada um dos pixels localizados na extremidade superior no bloco alvo e o valor de pixel de um pixel correspondente dos pixels localizados na extremidade inferior do bloco localizado no lado superior do bloco alvo pode ser codificada.
[0042] Na primeira modalidade, a informação de controle sem perdas descrita acima indica se um modo de predição intra baseado em blocos (Figura 3B ou 3C) ou um modo de predição intra baseado em pixel (Figura 3D ou 3E) é utilizado para os pixels em um bloco de codificação sem perdas. Especificamente, quando a informação de controle sem perdas tem um valor de 0, a predição baseada em bloco na Figura 3B ou 3C é usada. Quando a informação de controle sem perdas tem um valor de 1, a predição baseada em pixel na Figura 3D ou 3E é usada.
[0043] Como determinar a informação de controle sem perdas não é particularmente limitado a isso, e a determinação pode ser feita usando as características de uma imagem de entrada, ou usando uma entrada de usuário. Alternativamente, a determinação pode ser feita com base no processo de predição intra suportado por um aparelho de decodificação de imagem que decodifica um fluxo de bits que é emitido a partir do aparelho de codificação de imagem. A unidade de codificação integrada 113 codifica a informação de controle sem perdas e gera código informação de controle sem perdas (primeiro código de informação). A forma de codificação não está particularmente especificada, e codificação de Golomb, codificação aritmética, codificação de Huffman, e similares podem ser utilizadas.
[0044] A unidade de determinação de codificação sem perdas 102 corta os dados de imagem recebidos em vários blocos, e determina se a codificação sem perdas ou a codificação com perdas será executada para cada um dos blocos. O modo de determinação não se limita a isso, e a determinação pode ser feita usando as características da imagem de entrada, ou usando uma entrada de usuário. A informação que indica se a codificação sem perdas ou a codificação com perdas será executada em um bloco a ser codificado é emitida como a informação de bloco de codificação sem perdas para a unidade de codificação integrada 113. A unidade de determinação de codificação sem perdas 102 emite ainda os dados de imagem recebidos, como estão, para a primeira unidade de predição 104, a segunda unidade de predição 109, e o seletor 110.
[0045] Em adição, a unidade de determinação de codificação sem perdas 102 gera informação de codificação sem perdas que é a informação que indica se ou não um bloco submetido à codificação sem perdas é incluído em um quadro ou em uma sequência a ser processada. A unidade de codificação integrada 113 codifica a informação de codificação sem perdas e gera código de informação de codificação sem perdas (segundo código de informação). A forma de codificação não está especificamente indicada, e a codificação de Golomb, codificação aritmética, codificação de Huffman, ou similares podem ser utilizadas.
[0046] O processo de codificação depois disso é dividido de acordo com a unidade de determinação de codificação sem perdas 102 seleciona a codificação sem perdas ou a codificação com perdas. A operação de dados de codificação de imagem, quando a unidade de determinação de codificação sem perdas 102 seleciona a codificação com perdas será descrita.
[0047] A unidade de determinação de codificação sem perdas 102 insere os dados de imagem de um bloco a ser codificado, na primeira unidade de predição 104. A primeira unidade de predição 104 executa a predição em uma base bloco a bloco, gera erros de predição, e insere os erros de predição na unidade de transformação/quantização 105. Em adição, a primeira unidade de predição 104 gera a primeira informação de predição, e emite a primeira informação de predição na primeira unidade de codificação 111 e na primeira unidade de reprodução de imagem 107. A unidade de transformação/quantização 105 executa a transformação ortogonal/quantização nos erros de predição recebidos, e gera coeficientes quantizados. Os coeficientes quantizados gerados são inseridos na primeira unidade de codificação 111 e na unidade de transformação inversa/quantização inversa 106. A unidade de transformação inversa/quantização inversa 106 executa quantização inversa nos coeficientes quantizados recebidos de modo a reproduzir os coeficientes transformados, executa transformação ortogonal inversa nos coeficientes transformados assim reproduzidos, de modo a reproduzir os erros de predição, e emite os erros de predição reproduzidos para a primeira unidade de reprodução de imagem 107.
[0048] A primeira unidade de reprodução de imagem 107 reproduz uma imagem predita com relação à memória de quadro 108 conforme o caso, na base na primeira informação de predição recebida a partir da primeira unidade de predição 104. A primeira unidade de reprodução de imagem 107 reproduz os dados de imagem a partir da imagem predita reproduzida e dos erros de predição que são recebidos a partir da unidade de transformação inversa/quantização inversa 106, e os armazena na memória de quadro 108.
[0049] A primeira unidade de codificação 111 executa codificação de entropia nos coeficientes quantizados gerados pela unidade de transformação/quantização 105 e a primeira informação de predição recebida pela primeira unidade de predição 104, em uma base bloco a bloco, de modo a gerar os primeiros dados codificados. A forma de codificação de entropia não está especificamente indicada, e a codificação de Golomb, codificação aritmética, codificação de Huffman, ou similares podem ser utilizadas. Os primeiros dados codificados gerados são enviados para a unidade de codificação integrada 113.
[0050] A operação de dados de codificação de imagem, quando a unidade de determinação de codificação sem perdas 102 seleciona codificação sem perdas, será descrita.
[0051] A unidade de determinação de codificação sem perdas 102 insere os dados de imagem de um bloco a ser codificado, na segunda unidade de predição 109. A segunda unidade de predição 109 executa a predição com base na informação de controle sem perdas recebida a partir da unidade de geração de informação de controle sem perdas 103, gera erros de predição, e insere os erros de predição gerados na segunda unidade de codificação 112. A segunda informação de predição também é inserida na segunda unidade de codificação 112.
[0052] O seletor 110 emite a imagem de entrada recebida a partir da unidade de determinação de codificação sem perdas 102 ou a imagem reproduzida recebida a partir da primeira unidade de reprodução de imagem 107, para a memória de quadro 108 com base na informação de bloco de codificação sem perdas recebida a partir da unidade de determinação de codificação sem perdas 102. Especificamente, quando a informação de bloco de codificação sem perdas representa codificação sem perdas, a imagem de entrada recebida a partir da unidade de determinação de codificação sem perdas 102 é emitida para a memória de quadro 108. Quando a informação de bloco de codificação sem perdas representa codificação com perdas, a imagem reproduzida recebida a partir da primeira unidade de reprodução de imagem 107 é emitida para a memória de quadro 108.
[0053] A segunda unidade de codificação 112 executa codificação de entropia na segunda informação de predição e nos erros de predição recebidos a partir da segunda unidade de predição 109, e gera segundos dados codificados. A forma de codificação de entropia não está especificamente indicada, e a codificação de Golomb, codificação aritmética, codificação de Huffman, ou similares podem ser utilizadas. Os segundos dados codificados gerados são enviados para a unidade de codificação integrada 113.
[0054] A unidade de codificação integrada 113 multiplexa o código de informação de controle sem perdas gerado antes do processo de codificação, o código de informação de codificação sem perdas, os primeiros dados codificados gerados pela primeira unidade de codificação 111, os segundos dados codificados gerados pela segunda unidade de codificação 112, e similares de modo a formar um fluxo de bits. Finalmente, o fluxo de bits formado pela unidade de codificação integrada 113 é emitido a partir do terminal 114 para o exterior.
[0055] A Figura 6A ilustra um fluxo de bits exemplificativo incluindo a informação de codificação sem perdas e a informação de controle com perdas, que são codificadas. A informação de codificação sem perdas é incluída como um código de informação de codificação sem perdas no cabeçalho de uma imagem ou similar. Por exemplo, o código de informação de codificação sem perdas é um sinalizador de um bit. Quando o código de informação de codificação sem perdas tem um valor de 1, um fluxo de bits é provável que inclua um bloco de codificação sem perdas. Quando o código de informação de codificação sem perdas tem um valor de 0, um fluxo de bits é improvável que inclua um bloco de codificação sem perdas. A informação de controle sem perdas é incluída como um código de informação de controle sem perdas no cabeçalho de uma sequência ou similar. A informação de controle sem perda é a informação que tem ao menos um bit. Quando o código de informação de controle sem perdas tem um valor de 1, um processo de predição intra é realizado em um bloco de codificação sem perdas em uma base pixel a pixel. Quando o código de informação de controle sem perdas tem um valor de 0, um processo de predição intra é realizado em um bloco de codificação sem perdas em uma base bloco a bloco.
[0056] Na primeira modalidade, a informação de controle sem perdas é incluída em um cabeçalho de sequência, e o código de informação de codificação sem perdas é incluído em um cabeçalho de imagem.
[0057] Com relação à informação de bloco de codificação sem perdas, um código de informação codificação de bloco sem perdas (terceiro código de informação) é incluído em cada um dos blocos de um fluxo de bits. Quando um código de informação de bloco de codificação sem perdas tem um valor de 1, o bloco é submetido à codificação sem perdas. Quando um código de informação e bloco de codificação sem perdas tem um valor de 0, o bloco é submetido à codificação com perdas.
[0058] A Figura 4 é um fluxograma de um processo de codificação realizado pelo aparelho de codificação de imagem de acordo com a primeira modalidade.
[0059] Na etapa S401, a unidade de geração de informação de controle sem perda 103 determina qual o tipo de processo de predição intra deve ser realizado nos pixels em um bloco de codificação sem perdas. A informação que representa o determinado processo de predição intra é a informação de controle sem perdas. A unidade de codificação integrada 113 codifica a informação de controle sem perdas.
[0060] Na etapa S402, a unidade de determinação de codificação sem perdas 102 determina se ou não a codificação sem perdas será executada em uma base quadro a quadro. A informação que representa o resultado da determinação é a informação de codificação sem perdas. A unidade de codificação integrada 113 codifica a informação de codificação sem perdas.
[0061] Na etapa S403, a unidade de determinação de codificação sem perdas 102 corta os dados de imagem recebidos em vários blocos, determina se a codificação sem perdas ou a codificação com perdas será executada em uma base bloco a bloco, e utiliza o resultado de determinação como a informação de bloco de codificação sem perdas.
[0062] Na etapa S404, o aparelho de codificação de imagem determina se ou não a codificação sem perdas será executada no bloco a ser codificado. Se a codificação sem perdas for executada, o processo prossegue para a etapa S410. Se a codificação com perdas é para ser executada, o processo prossegue para a etapa S405.
[0063] Na etapa S405, a primeira unidade de predição 104 realiza a predição intra ou predição inter, e gera a primeira informação de predição e dados de imagem preditos. A primeira unidade de predição 104 calcula ainda a probabilidade de erros de predição a partir de dados de imagem recebidos e os dados de imagem preditos. Na etapa S406, a unidade de transformação/quantização 105 executa transformação ortogonal nos erros de predição calculados na etapa S405, de modo a gerar coeficientes transformados. A unidade de transformação/quantização 105 quantifica ainda os coeficientes transformados de modo a gerar coeficientes quantizados. Na etapa S407, a unidade de quantização inversa/transformação inversa 106 realiza quantização inversa e a transformação ortogonal inversa nos coeficientes quantizados gerados na etapa S406, para reproduzir erros de predição. Na etapa S408, a primeira unidade de reprodução de imagem 107 reproduz uma imagem predita com base na primeira informação de predição gerada na etapa S405. A primeira unidade de reprodução de imagem 107 reproduz ainda dados de imagem a partir da imagem predita assim reproduzida e os erros de predição gerados na etapa S407. Na etapa S409, a primeira unidade de codificação 111 codifica a primeira informação de predição gerada na etapa S405, e os coeficientes quantizados gerados na etapa S406, de modo a gerar primeiros dados codificados. A unidade de codificação integrada 113 gera um fluxo de bits que inclui também outros dados codificados.
[0064] Na etapa S410, a segunda unidade de predição 109 faz a determinação com base na informação de controle sem perdas gerada na etapa S401. Se a informação de controle sem perdas tem um valor de 1 que indica que a predição intra será executada em uma base pixel a pixel, o processo prossegue para a etapa S411. Se a informação de controle sem perdas tem um valor de 0 que indica que essa predição intra será realizada em uma base bloco a bloco, o processo prossegue para a etapa S412. Na etapa S411, a segunda unidade de predição 109 executa a predição em uma base pixel a pixel, e gera uma segunda informação de predição e os dados de imagem preditos. A segunda unidade de predição 109 calcula ainda os erros de predição a partir de dados de imagem recebidos e dos dados de imagem preditos. Na etapa S412, a segunda unidade de predição 109 executa a predição em uma base bloco a bloco, e gera uma segunda informação de predição e os dados de imagem preditos. A segunda unidade de predição 109 calcula erros de predição a partir dos dados da imagem recebidos e dos dados de imagem preditos. Na etapa S413, a segunda unidade de codificação 111 codifica a segunda informação de predição e os erros de predição que são gerados na etapa S411 ou na etapa S412, e gera segundos dados codificados. A unidade de codificação integrada 113 gera um fluxo de bits que inclui também outros dados codificados.
[0065] Na etapa S414, o aparelho de codificação de imagem determina se ou não todos os blocos no quadro foram codificados. Se todos os blocos foram codificados, o processo prossegue para a etapa S415. Caso contrário, o processo retorna para a etapa S403 para processar o próximo bloco. Na etapa S415, o aparelho de codificação de imagem determina se ou não todos os quadros foram codificados. Se todos os quadros foram codificados, o processo de codificação é terminado. Caso contrário, o processo retorna para a etapa S402 para processar o próximo quadro.
[0066] A configuração e as operações descritas acima, especialmente a operação na etapa S401, que permite o controle de um processo de predição intra realizado nos pixels em um bloco de codificação sem perdas, permitem saber se a eficiência da compressão ou compatibilidade com a codificação com perdas deve ser priorizada para ser selecionada quando necessário. Especificamente, quando a informação de controle sem perdas é configurada para 0 na etapa S401, a predição intra é executada em uma base bloco a bloco na etapa S412, permitindo que um fluxo de bits que prioriza a compatibilidade com um bloco de codificação com perdas seja gerado. Quando a informação de controle sem perdas é configurada como 1 na etapa S401, a predição intra é executada em uma base pixel a pixel na etapa S411, permitindo que um fluxo de bits que privilegia a eficiência da compressão seja gerado.
[0067] Na primeira modalidade, a codificação sem perdas e a codificação com perdas são executadas pela primeira unidade de predição 104 e a segunda unidade de predição 109, que são independentes um do outro. A mesma unidade de predição pode executar codificação sem perdas e codificação com perdas. Em adição, a primeira unidade de codificação 111 e a segunda unidade de codificação 112, que são independentes entre si, são utilizadas. Alternativamente, a mesma unidade de codificação pode executar codificação sem perdas e codificação com perdas. Na primeira modalidade, o caso em que os blocos de codificação sem perdas/com perdas são misturados é assumido. Quando está óbvio que um fluxo a ser codificado tem apenas blocos de codificação sem perdas, os componentes para a codificação com perdas podem ser omitidos. Nesse caso, especificamente, a primeira unidade de predição 104, a unidade de transformação/quantização 105, a unidade de quantização inversa/ transformação inversa 106, a primeira unidade de reprodução de imagem 107, e a primeira unidade de codificação 111 podem ser omitidas.
[0068] Na primeira modalidade, as Figuras 3A a 3E ilustram os modos exemplificados utilizados quando um bloco de codificação sem perdas é submetido à predição intra. Os modos de predição intra na presente invenção não estão limitados a estes. Ou seja, qualquer modo pode ser empregado, desde que o modo seja um suportado por um aparelho de decodificação de imagem que decodifica um fluxo de bits que é emitido a partir do aparelho de codificação de imagem.
[0069] A configuração de um fluxo de bits não se limita a esta. Por exemplo, a codificação, tal como ilustrada na Figura 6B, pode ser realizada. A Figura 6B ilustra um exemplo no qual cada um dos blocos inclui um código de informação de bloco de codificação sem perdas indicando se a codificação sem perdas ou a codificação com perdas foi realizada em uma base bloco a bloco. Neste caso, o cabeçalho de quadro que é o cabeçalho de um quadro não inclui um código de informação de codificação sem perdas. Nesta configuração, cada um dos blocos inclui um código de informação de bloco de codificação sem perdas, conseguindo um efeito de diferenciação fácil entre um bloco de codificação sem perdas e um bloco de codificação com perdas.
[0070] O comprimento dos dados do código de informação de controle sem perdas e o do código de informação de codificação sem perdas não se limitam a estes. Por exemplo, o código de informação de controle sem perdas pode ter bits adicionais quando outros processos de predição intra são adicionalmente realizados.
[0071] Na primeira modalidade, quando a informação de controle sem perdas tem um valor de 1, a predição intra é executada em uma base pixel a pixel, independentemente da direção da predição intra. A presente invenção não se limita a esta. Por exemplo, em HEVC, como ilustrado na Figura 7, existem 35 modos de predição de 0 (predição plana) a 34 (predição diagonal ao longo de uma linha a partir do canto inferior esquerdo ao canto superior direito). Em alguns dos modos de predição, a predição intra pode ser executada em uma base pixel a pixel. Em outros modos, a predição intra pode ser executada em uma base bloco a bloco. Por exemplo, a predição intra em uma base pixel a pixel pode ser aplicada apenas ao modo 10 (predição vertical) e ao modo 26 (predição horizontal). Isso minimiza um aumento no custo de hardware causado pela introdução de predição intra em uma base pixel a pixel.
[0072] Segunda Modalidade
[0073] A Figura 2 é um diagrama de blocos que ilustra a configuração de um aparelho de decodificação de imagem de acordo com uma segunda modalidade da presente invenção. A segunda modalidade será descrita tomando um exemplo em que os dados codificados gerados na primeira modalidade são decodificados. Um terminal 201 é um terminal para inserir um fluxo de bits codificado.
[0074] Uma unidade de separação/decodificação 202 separa a informação sobre o processo de decodificação e os dados codificados sobre os coeficientes a partir do fluxo de bits, e decodifica os dados codificados que estão presentes no cabeçalho do fluxo de bits. Na segunda modalidade, a unidade de separação/decodificação 202 reproduz a informação de controle sem perdas e a informação de bloco de codificação sem perdas e emite a informação de controle sem perdas e a informação de bloco de codificação sem perdas para o estágio subsequente. A unidade de separação/decodificação 202 executa uma operação inversa a realizada pela unidade de codificação integrada 113 da Figura 1.
[0075] Uma primeira unidade de decodificação 203 decodifica os primeiros dados codificados que são emitidos a partir da unidade de separação/decodificação 202, e reproduz coeficientes quantizados e a primeira informação de predição. Da mesma forma que a unidade de quantização inversa/transformação inversa 106 na Figura 1, uma unidade de quantização inversa/transformação inversa 204 recebe os coeficientes quantizados em uma base bloco a bloco, executa quantização inversa de modo a obter os coeficientes transformados, e executa a transformação ortogonal inversa de modo a reproduzir erros de predição.
[0076] A memória de quadro 206 armazena dados de imagem de um quadro reproduzido. Da mesma forma que a primeira unidade de reprodução de imagem 107 na Figura 1, uma primeira unidade de reprodução de imagem 205 gera dados de imagem preditos com relação à memória de quadro 206 como apropriado, com base na primeira informação de predição recebida. A primeira unidade de reprodução de imagem 205 gera dados de imagem reproduzidos a partir dos dados de imagem preditos e dos erros de predição reproduzidos pela unidade de quantização inversa/transformação inversa 204, e emite os dados de imagem reproduzidos.
[0077] A segunda unidade de decodificação 207 decodifica os segundos dados codificados que são emitidos a partir da unidade de separação/decodificação 202, e reproduz erros de predição e segunda informação de predição. Uma segunda unidade de reprodução de imagem 208 gera dados de imagem preditos de um bloco que foi submetido à codificação sem perdas, fazendo referência à memória de quadro 206 conforme o caso, na base na segunda informação de predição e na informação de controle sem perdas que são recebidas, gera dados de imagem reproduzidos a partir dos dados de imagem preditos e dos erros de predição recebidos, e emite os dados de imagem reproduzidos. Um terminal 209 é um terminal para emitir os dados de imagem para o exterior.
[0078] As operações de decodificação de imagem realizadas pelo aparelho de decodificação de imagem descrito acima serão descritas abaixo. Na segunda modalidade, um fluxo de bits gerado na primeira modalidade é decodificado.
[0079] Na Figura 2, um fluxo de bits recebido a partir do terminal 201 é inserido na unidade de separação/decodificação 202. A unidade de separação/decodificação 202 separa a informação sobre o processo de decodificação e os dados codificados sobre os coeficientes a partir do fluxo de bits, e decodifica os dados codificados que estão presentes no cabeçalho do fluxo de bits. Especificamente, a informação de controle sem perdas e a informação do bloco de codificação sem perdas são reproduzidas. Na segunda modalidade, o código de informação de codificação sem perdas que é extraído do cabeçalho de imagem do fluxo de bits ilustrado na Figura 6A é decodificado. Quando o código de informação de codificação sem perdas tem um valor de 1, o código de informação de bloco de codificação sem perdas incluído em cada um dos blocos nos dados de imagem que são dados codificados para cada um dos quadros é usado para determinar se a codificação sem perdas ou a codificação com perdas foi executada no bloco. Isto é, no caso em que o código de informação de codificação sem perdas tem um valor de 1 e em que o código de informação de bloco de codificação sem perdas também tem um valor de 1, o bloco é um bloco de codificação sem perdas. Caso contrário, o bloco é um bloco de codificação com perdas. Essa informação é utilizada como informação de bloco de codificação sem perdas. A unidade de separação/decodificação 202 extrai o código de informação de controle sem perdas do cabeçalho de sequência, decodifica o código, e reproduz a informação de controle sem perdas.
[0080] Em seguida, os dados codificados de cada um dos blocos nos dados de imagem são emitidos para o estágio subsequente. Quando a informação de bloco de codificação sem perdas indica que o bloco é um bloco de codificação com perdas, a unidade de separação/decodificação 202 extrai os primeiros dados codificados, e emite os primeiros dados codificados para a primeira unidade de decodificação 203. Quando o bloco é um bloco de codificação sem perdas, a unidade de separação/decodificação 202 extrai os segundos dados codificados, e emite os segundos dados codificados para a segunda unidade de decodificação 207. A unidade de separação/decodificação 202 emite a informação de controle sem perdas para a segunda unidade de reprodução de imagem 208.
[0081] A primeira unidade de decodificação 203 decodifica os primeiros dados codificados, e reproduz os coeficientes quantizados e a primeira informação de predição. Os coeficientes quantizados assim reproduzidos são emitidos para a unidade de quantização inversa/transformação inversa 204, e a primeira informação predição reproduzida é emitida para a primeira unidade de reprodução de imagem 205.
[0082] Para um bloco que foi submetido à codificação com perdas, a unidade de quantização inversa/transformação inversa 204 executa a quantização inversa nos coeficientes quantizados que são recebidos, de modo a gerar coeficientes transformados, e executa a transformação ortogonal inversa nos coeficientes transformados de modo a reproduzir erros de predição. Os erros de predição reproduzidos são inseridos na primeira unidade de reprodução de imagem 205.
[0083] A primeira unidade de reprodução de imagem 205 reproduz uma imagem predita com relação à memória de quadro 206 conforme o caso, com base na primeira informação de predição recebida a partir da primeira unidade de decodificação 203. A primeira unidade de reprodução de imagem 205 reproduz os dados de imagem a partir da imagem predita e os erros de predição recebidos a partir da unidade de quantização inversa/transformação inversa 204, e armazena os dados de imagem reproduzidos na memória quadro 206. Os dados de imagem armazenados são utilizados para referência, que é feita quando a predição é realizada.
[0084] A segunda unidade de decodificação 207 decodifica os segundos dados codificados e reproduz erros de predição e segunda informação de predição. Os erros de predição e a segunda informação de predição assim reproduzida são emitidos para a segunda unidade de reprodução de imagem 208.
[0085] A segunda unidade de reprodução de imagem 208 reproduz uma imagem predita com relação à memória de quadro 206 conforme o caso, com base na segunda informação de predição recebida a partir da segunda unidade de decodificação 207 e da informação de controle sem perdas recebida a partir da unidade de separação/decodificação 202. Similarmente à primeira modalidade, quando a informação de controle sem perdas tem um valor de 0, a predição em uma base bloco a bloco é usada. Quando a informação de controle sem perdas tem um valor de 1, a predição em uma base pixel a pixel é utilizada. A segunda unidade de reprodução de imagem 208 reproduz dados de imagem a partir da imagem predita e dos erros de predição recebidos a partir da segunda unidade de decodificação 207, e armazena os dados de imagem reproduzidos na memória de quadro 206.
[0086] A imagem armazenada na memória de quadro 206 é finalmente emitida a partir do terminal 209 para o exterior.
[0087] A Figura 5 é um fluxograma de um processo de decodificação de imagem realizado pelo aparelho de decodificação de acordo com a segunda modalidade.
[0088] Na etapa S501, a unidade de separação/decodificação 202 separa a informação sobre o processo de decodificação e os dados codificados sobre os coeficientes a partir de um fluxo de bits, decodifica os dados codificados do cabeçalho, e reproduz a informação de controle sem perdas. Na etapa S502, a unidade de separação/decodificação 202 decodifica ainda os dados codificados do cabeçalho de cada um dos quadros, e reproduz a informação de codificação sem perdas.
[0089] Na etapa S503, a unidade de separação/decodificação 202 decodifica ainda os dados codificados de cada um dos blocos, e reproduz a informação de bloco de codificação sem perdas. Na etapa S504, o aparelho de decodificação de imagem determina se a codificação sem perdas ou a codificação com perdas foi executada no bloco a ser decodificado, com base na informação de bloco de codificação sem perdas reproduzida na etapa S503. Se a codificação sem perdas foi executada, o processo prossegue para a etapa S508. Se a codificação sem perdas foi realizada, o processo prossegue para a etapa S505.
[0090] Na etapa S505, a unidade de separação/decodificação 202 separa os primeiros dados de código a partir do fluxo de bits. A primeira unidade de decodificação 203 decodifica os primeiros dados codificados separados, e reproduz os coeficientes quantizados e primeira informação de predição. Na etapa S506, a unidade de quantização inversa/transformação inversa 204 realiza a quantização inversa nos coeficientes quantizados em uma base bloco a bloco, de modo a obter os coeficientes transformados, e executa ainda a transformação ortogonal inversa de modo a reproduzir erros de predição. Na etapa S507, a primeira unidade de reprodução de imagem 205 reproduz uma imagem predita com base na primeira informação de predição gerada na etapa S505. A primeira unidade de reprodução de imagem 205 reproduz ainda os dados de imagem a partir da imagem predita assim reproduzida e dos erros de predição gerados na etapa S506.
[0091] Na etapa S508, a unidade de separação/decodificação 202 separa os segundos dados de código a partir do fluxo de bits. A segunda unidade de decodificação 207 decodifica os segundos dados codificados separados, e reproduz erros de predição e segunda informação de predição. Na etapa S509, a segunda unidade de reprodução de imagem 208 faz a determinação com base na informação de controle sem perdas reproduzida na etapa S501. Se a informação de controle sem perdas tem um valor de 1 que indica que a predição intra será realizada em uma base pixel a pixel, o processo prossegue para a etapa S510. Se a informação de controle sem perdas tem um valor de 0 que indica que essa predição intra será realizada em uma base bloco a bloco, o processo prossegue para a etapa S511.
[0092] Na etapa S510, a segunda unidade de reprodução de imagem 208 executa predição em uma base pixel a pixel com base na segunda informação de predição gerada na etapa S508, e reproduz uma imagem predita. A segunda unidade de reprodução de imagem 208 reproduz ainda dados de imagem a partir da imagem predita assim reproduzida e dos erros de predição gerados na etapa S508.
[0093] Na etapa S511, a segunda unidade de reprodução de imagem 208 executa a predição em uma base bloco a bloco com base na segunda informação de predição gerada na etapa S508, e reproduz uma imagem predita. A segunda unidade de reprodução de imagem 208 reproduz ainda os dados de imagem a partir da imagem predita assim reproduzida e dos erros de predição gerados na etapa S508.
[0094] Na etapa S512, o aparelho de decodificação de imagem determina se ou não todos os blocos no quadro foram decodificados. Se todos os blocos foram decodificados, o processo prossegue para a etapa S513. Caso contrário, o processo retorna para a etapa S503 para processar o próximo bloco. Na etapa S513, o aparelho de decodificação de imagem determina se ou não todos os quadros foram decodificados. Se todos os quadros foram decodificados, o processo de decodificação é terminado. Caso contrário, o processo retorna para a etapa S502 para processar o próximo quadro.
[0095] A configuração e as operações descritas acima permitem a decodificação de um fluxo de bits que permite o controle de vários tipos de processo de predição intra realizados em um bloco de codificação sem perdas e que é gerado na primeira modalidade.
[0096] Na segunda modalidade, um bloco de codificação sem perdas e um bloco de codificação com perdas são decodificados pela primeira unidade de reprodução de imagem 205 e pela segunda unidade de reprodução de imagem 208, que são independentes entre si. A mesma unidade de reprodução da imagem pode reproduzir imagens em um bloco de codificação sem perdas e em um bloco de codificação com perdas. Do mesmo modo, a primeira unidade de decodificação 203 e a segunda unidade de decodificação 207, que são independentes entre si, são utilizadas. Alternativamente, a mesma unidade de decodificação pode decodificar um bloco de codificação sem perdas e um bloco de codificação com perdas. Quando está óbvio que todos os blocos são um bloco de codificação sem perdas, a primeira unidade de decodificação 203, a unidade de quantização inversa/transformação inversa 204, e a primeira unidade de reprodução de imagem 205 podem ser omitidas.
[0097] Na segunda modalidade, a decodificação de um fluxo de bits ilustrado na Figura 6A é descrita. A configuração de um fluxo de bits a ser decodificado não está limitada a esta. Por exemplo, o fluxo de bits ilustrado na Figura 6B pode ser decodificado. Na Figura 6B, o código de informação de codificação sem perdas de cada um dos quadros não está incluído. A Figura 6B ilustra um exemplo no qual cada um dos blocos inclui um código de informação de bloco de codificação sem perdas indicando se ou não a codificação sem perdas foi realizada em uma base bloco a bloco. Esta configuração permite a decodificação de um fluxo de bits que consegue um efeito de diferenciação fácil entre um bloco de codificação sem perdas e um bloco de codificação com perdas.
[0098] Terceira Modalidade
[0099] As unidades de processamento ilustradas nas Figuras 1 e 2 são descritas como aquelas constituídas usando hardware, nas modalidades descritas acima. Alternativamente, os processos realizados pelas unidades de processamento nas Figuras 1 e 2 podem ser realizados utilizando programas de computador.
[0100] A Figura 8 é um diagrama de blocos que ilustra uma configuração de hardware exemplificativa de um computador que pode ser aplicada ao aparelho de codificação de imagem e ao aparelho de decodificação de imagem de acordo com as modalidades descritas acima.
[0101] Uma unidade de processamento central (CPU) 801 controla o computador inteiro utilizando programas de computador e dados que são armazenados em uma memória de acesso aleatório (RAM) 802 e uma memória somente de leitura (ROM) 803, e executa os processos que são descritos como aqueles realizados pelos aparelhos de processamento de imagem de acordo com as modalidades descritas acima. Isto é, a CPU 801 funciona como as unidades de processamento ilustradas nas Figuras 1 e 2.
[0102] A memória RAM 802 tem uma área para armazenar temporariamente os programas de computador e dados que são carregados a partir de uma memória externa 806, os dados obtidos a partir do exterior através de uma interface (I/F) 807, e similares. A RAM 802 tem ainda uma área de trabalho utilizada quando a CPU 801 executa os vários tipos de processamento. Isto é, a RAM 802, por exemplo, atribui uma área como a memória de quadro, e fornece outros tipos de área conforme apropriado.
[0103] A ROM 803 armazena dados de configuração para o computador, os programas de inicialização, e similares. Uma unidade de operação 804 é constituída, por exemplo, por um teclado e um mouse. Um usuário do computador opera a unidade de operação 804 para fornecer vários tipos de instruções para a CPU 801. Uma unidade de exibição 805 exibe resultados de processamento obtidos pela CPU 801. A unidade de exibição 805 é constituída, por exemplo, por uma tela de cristal líquido.
[0104] O armazenador externo 806 é um dispositivo de armazenamento de informação em massa, que é caracterizado por uma unidade de disco rígido. O armazenador externo 806 armazena um sistema operacional (OS) e programas de computador para permitir que a CPU 801 alcance as funções das unidades ilustradas nas Figuras 1 e 2. O armazenador externo 806 pode ainda armazenar partes de dados de imagem a serem processados.
[0105] Os programas de computador e os dados que são armazenados no armazenador externo 806 são carregados na RAM 802 sob o controle da CPU 801, conforme adequado, e estão prontos para serem processados pela CPU 801. Uma rede, tal como uma rede de área local (LAN) ou a Internet, e outros aparelhos, tais como um projetor e uma tela, podem ser conectados ao I/F 807. O computador pode obter e transmitir vários tipos de informação através do I/F 807. Um barramento 808 conecta as unidades descritas acima entre si.
[0106] As operações descritas usando os fluxogramas descritos acima são controladas utilizando a configuração descrita acima em que a CPU 801 é a unidade principal.
[0107] Outras Modalidades
[0108] Nas modalidades descritas acima, o código de informação de codificação sem perdas tendo um valor de 1 indica que um fluxo de bits é provável que inclua um bloco de codificação sem perdas. O código de informação de codificação sem perdas tendo um valor de 0 indica que um fluxo de bits é improvável que inclua um bloco de codificação sem perdas. No entanto, a presente invenção não se limita a isso, e o código de informação de codificação sem perdas pode ter mais de um bit. Alternativamente, o código de informação de codificação sem perdas tendo um valor de 0 pode indicar que um fluxo de bits é provável que inclua um bloco de codificação sem perdas. O código de informação de codificação sem perdas tendo um valor de 1 pode indicar que um fluxo de bits é improvável que inclua um bloco de codificação sem perdas.
[0109] Nas modalidades descritas acima, o código de informação de controle sem perdas tendo um valor de 1 indica que um processo de predição intra é realizado em um bloco de codificação sem perdas em uma base pixel a pixel. O código de informação de controle sem perdas tendo um valor de 0 indica que um processo de predição intra é realizado em um bloco de codificação sem perdas em uma base bloco a bloco. No entanto, a presente invenção não se limita a isso, e o código de informação de controle sem perdas pode ter mais de um bit. Alternativamente, o código de informação de controle sem perdas tendo um valor de 0 pode indicar que o processo de predição intra é realizado em um bloco de codificação sem perdas em uma base pixel a pixel. O código de informação de controle sem perdas tendo um valor de 1 pode indicar que um processo de predição intra é realizado em um bloco de codificação sem perdas em uma base bloco a bloco.
[0110] Nas modalidades descritas acima, o código de informação de bloco de codificação sem perdas tendo um valor de 1 indica que o bloco é submetido à codificação sem perdas. O código de informação de bloco de codificação sem perdas que tem um valor de 0 indica que o bloco é submetido à codificação com perdas. A presente invenção não se limita a esta. Isto é, o código de informação de bloco de codificação sem perdas pode ter mais de um bit. Em alternativa, o código de informação de bloco de codificação sem perdas tendo um valor de 0 pode indicar que o bloco é submetido à codificação sem perdas. O código de informação de bloco de codificação sem perdas tendo um valor de 1 pode indicar que o bloco é submetido à codificação com perdas.
[0111] Modalidades da presente invenção também pode ser realizadas por um computador de um sistema ou aparelho que lê e executa as instruções executáveis por computador gravadas em um meio de armazenamento (por exemplo, meio de armazenamento não transitório legível por computador) para executar as funções de uma ou mais das modalidades da presente invenção descritas acima, e por um método executado pelo computador do sistema ou aparelho, por exemplo, lendo e executando as instruções executáveis por computador a partir do meio de armazenamento para desempenhar as funções de uma ou mais das modalidades descritas acima. O computador pode compreender um ou mais de uma CPU, unidade de microprocessamento (MPU), ou outros circuitos, e pode incluir uma rede de computadores separados ou processadores de computador separados. As instruções executáveis por computador podem ser fornecidas ao computador, por exemplo, a partir de uma rede ou do meio de armazenamento. O meio de armazenamento pode incluir, por exemplo, um ou mais de um disco rígido, uma RAM, uma ROM, um armazenador de sistemas de computação distribuídos, um disco óptico (tal como um disco compacto (CD), disco versátil digital (DVD), ou Disco Blu-ray (BD)TM), um dispositivo de memória flash, um cartão de memória, e assim por diante.
[0112] Embora a presente invenção tenha sido descrita com relação às modalidades exemplificadas, entende-se que a invenção não está limitada às modalidades exemplificadas descritas. O escopo das seguintes reivindicações está de acordo com a interpretação mais ampla de modo a englobar todas tais modificações e estruturas e funções equivalentes.
[0113] Este pedido reivindica o benefício do Pedido de Patente Japonesa No. 2013-143697, depositado em 9 de julho de 2013, que é aqui incorporado por referência em sua totalidade.

Claims (16)

1. Aparelho de codificação de imagem para codificar uma imagem, caracterizado por compreender: uma primeira unidade de codificação configurada para codificar um bloco a ser processado utilizando um primeiro processo de codificação incluindo um processo de transformação; e uma segunda unidade de codificação configurada para codificar um bloco a ser processado utilizando um segundo processo de codificação não incluindo o processo de transformação, em que a segunda unidade de codificação é capaz de aplicar pelo menos o segundo processo de codificação utilizando um modo de predição intra para executar predição intra utilizando um pixel que não está no bloco a ser processado, ou o segundo processo de codificação usando um modo DPCM para executar processamento DPCM em uma base pixel a pixel, e em que o aparelho de codificação de imagem adicionalmente compreende uma unidade de codificação de informação (113) configurada para codificar um sinalizador independente a partir de informação de modo de predição sobre o modo de predição intra, em que o sinalizador é utilizado para selecionar se um processo de decodificação correspondente ao segundo processo de codificação utilizando o modo DPCM em uma direção horizontal ou vertical é ou não aplicado.
2. Aparelho de codificação de imagem, de acordo com a reivindicação 1, caracterizado pelo fato de que a informação é incluída em um cabeçalho de sequência de um fluxo de bits gerado pela codificação de imagem.
3. Aparelho de codificação de imagem, de acordo com a reivindicação 1, caracterizado pelo fato de que: a primeira unidade de codificação é configurada para executar o primeiro processo de codificação no bloco a ser processado em um caso em que a predição intra a ser executada no bloco a ser processado é um modo de predição intra predeterminado dentre uma pluralidade de modos de predição intra, e em que a segunda unidade de codificação é configurada para executar o segundo processo de codificação no bloco a ser processado em um caso em que a predição intra a ser executada no bloco a ser processado é um modo de predição intra diferente do modo de predição intra predeterminada dentre uma pluralidade de modos de predição intra.
4. Aparelho de codificação de imagem, de acordo com a reivindicação 1, caracterizado pelo fato de que a informação é atribuída a cada bloco em um fluxo de bits gerado pela codificação da imagem.
5. Aparelho de codificação de imagem, de acordo com a reivindicação 1, caracterizado pelo fato de que a informação é atribuída a cada imagem no fluxo de bits gerada pela codificação da imagem.
6. Aparelho de codificação de imagem, de acordo com a reivindicação 1, caracterizado pelo fato de que a informação é incluída em um cabeçalho de uma sequência no fluxo de bits gerado pela codificação da imagem.
7. Aparelho de codificação de imagem, de acordo com a reivindicação 1, caracterizado pelo fato de que a predição intra utilizando um pixel diferente do bloco a ser processado é predição intra em uma base bloco a bloco.
8. Aparelho de decodificação de imagem para decodificar um fluxo de bits gerado pela codificação de dados de imagem, caracterizado por compreender: uma primeira unidade de decodificação configurada para decodificar um bloco a ser processado, utilizando um primeiro processo de decodificação incluindo um processo de transformação; uma segunda unidade de decodificação configurada para decodificar um bloco a ser processado, utilizando um segundo processo de decodificação não incluindo o processo de transformação, em que a segunda unidade de decodificação é capaz de aplicar pelo menos o segundo processo de decodificação utilizando um modo de predição intra no qual um pixel não incluído no bloco a ser processado é usado, ou o segundo processo de decodificação utilizando um processo DPCM com base em um pixel incluído no bloco a ser processado; e uma unidade de derivação (202) configurada para derivar, do fluxo de bits, um sinalizador independente a partir da informação de modo de predição sobre o modo de predição intra, em que o sinalizador é utilizado para selecionar se o segundo processo de decodificação utilizando o processo DPCM em uma direção horizontal ou vertical é ou não aplicado, e em que a segunda unidade de decodificação aplica o segundo processo de decodificação utilizando o processo DPCM se for determinado utilizando o sinalizador que o processo DPCM é aplicado.
9. Aparelho de decodificação de imagem, de acordo com a reivindicação 8, caracterizado pelo fato de que a informação é incluída em um cabeçalho de sequência do fluxo de bits.
10. Aparelho de decodificação de imagem, de acordo com a reivindicação 8, caracterizado pelo fato de que a informação é atribuída a cada bloco no fluxo de bits.
11. Aparelho de decodificação de imagem, de acordo com a reivindicação 8, caracterizado pelo fato de que a informação é atribuída a cada imagem no fluxo de bits.
12. Aparelho de decodificação de imagem, de acordo com a reivindicação 8, caracterizado pelo fato de que a informação é incluída em um cabeçalho de uma sequência no fluxo de bits.
13. Aparelho de decodificação de imagem, de acordo com a reivindicação 8, caracterizado pelo fato de que a predição intra utilizando um pixel diferente do bloco a ser codificado é predição intra em uma base bloco a bloco.
14. Método de codificação de imagem para codificar uma imagem, caracterizado por compreender: codificar um bloco a ser processado utilizando um primeiro processo de codificação incluindo um processo de transformação; e codificar um bloco a ser processado utilizando um segundo processo de codificação não incluindo o processo de transformação, em que a segunda codificação é capaz de aplicar pelo menos o segundo processo de codificação utilizando um modo de predição intra para executar predição intra utilizando um pixel que não está no bloco a ser processado ou o segundo processo de codificação utilizando um modo DPCM para executar processamento DPCM em uma base pixel a pixel, em que o método adicionalmente compreende codificar um sinalizador independente a partir de informaçao de modo de predição sobre o modo de predição intra, em que o sinalizador é utilizado para selecionar se um processo de decodificação correspondente ao segundo processo de codificação utilizando o modo DPCM na direção horizontal ou vertical é ou não aplicado.
15. Método de decodificação de imagem para decodificar um fluxo de bits gerado codificando dados de imagem, caracterizado por compreender: decodificar um bloco a ser processado utilizando um primeiro processo de decodificação incluindo um processo de transformação; decodificar um bloco a ser processado utilizando um segundo processo de decodificação não incluindo o processo de transformação, em que pelo menos o segundo processo de decodificação é aplicado pela segunda codificação utilizando um modo de predição intra no qual um pixel não incluído no bloco a ser processado é usado, ou o segundo processo de decodificação utilizando um processo DPCM com base em um pixel incluído no bloco a ser processado; e derivar, do fluxo de bits, um sinalizador independente a partir da informação de modo de predição sobre o modo de predição intra, em que o sinalizador é utilizado para selecionar se o segundo processo de decodificação utilizando o processo DPCM em uma direção horizontal ou vertical é ou não aplicado, e em que a segunda decodificação aplica o segundo processo de decodificação utilizando o processo DPCM se for determinado utilizando o sinalizador que o processo DPCM é aplicado.
16. Meio de armazenamento não transitório legível por computador caracterizado por armazenar instruções legíveis por computador para fazer com que um computador execute o método definido na reivindicação 14 ou 15.
BR122020022240-9A 2013-07-09 2014-07-01 Aparelho de codificação de imagem, método de codificação de imagem, aparelho de decodificação de imagem, método de decodificação de imagem e meio de armazenamento não transitório BR122020022240B1 (pt)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013-143697 2013-07-09

Publications (1)

Publication Number Publication Date
BR122020022240B1 true BR122020022240B1 (pt) 2023-07-18

Family

ID=

Similar Documents

Publication Publication Date Title
RU2760158C1 (ru) Устройство декодирования изображения, способ декодирования изображения и носитель
US11115670B2 (en) Image encoding apparatus, image encoding method, recording medium and program, image decoding apparatus, image decoding method, and recording medium and program
BR112021009666A2 (pt) método para processar vídeo, aparelho em um sistema de vídeo, e, produto de programa de computador
BR112020006568A2 (pt) combinações de predição de dependentes de posição em codificação de vídeo
WO2018116924A1 (ja) 符号化装置、符号化方法及びプログラム、復号装置、復号方法及びプログラム
BR122022001588B1 (pt) Sistema de computador, método em um sistema de computador e dispositivo de memória ou armazenamento não volátil
JP2018523375A5 (pt)
BR112020027043A2 (pt) Método e decodificador para interpredição
BR112021008016A2 (pt) codificador, decodificador e métodos correspondentes para modo de fusão
BR112020020806A2 (pt) Configurações de transformação implícita adaptativa
BR122020022240B1 (pt) Aparelho de codificação de imagem, método de codificação de imagem, aparelho de decodificação de imagem, método de decodificação de imagem e meio de armazenamento não transitório
JP6469277B2 (ja) 画像符号化装置、画像符号化方法及びプログラム、画像復号装置、画像復号方法及びプログラム
TWI702836B (zh) 約束的序列資料頭的方法及裝置
CN109922338B (zh) 图像编码设备和方法、图像解码设备和方法以及存储介质
BR112021005220A2 (pt) derivação de modo de intrapredição com base em blocos vizinhos
KR20200004348A (ko) 타겟 영역 수정을 통해 비디오 신호를 처리하는 방법 및 장치
BR122023021074A2 (pt) Método de desblocagem, dispositivo para uso em um codificador e/ou um decodificador de imagem, codificador, decodificador, e meio legível por computador não transitório
BR112017004041B1 (pt) Método implementado por computador, mídia legível por computador e sistema de computação