BR112014010898B1 - 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 - Google Patents

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 Download PDF

Info

Publication number
BR112014010898B1
BR112014010898B1 BR112014010898-6A BR112014010898A BR112014010898B1 BR 112014010898 B1 BR112014010898 B1 BR 112014010898B1 BR 112014010898 A BR112014010898 A BR 112014010898A BR 112014010898 B1 BR112014010898 B1 BR 112014010898B1
Authority
BR
Brazil
Prior art keywords
block
blocks
decoding
line
quantization parameter
Prior art date
Application number
BR112014010898-6A
Other languages
English (en)
Other versions
BR112014010898A2 (pt
Inventor
Koji Okawa
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
Priority to BR122019025425-7A priority Critical patent/BR122019025425B1/pt
Publication of BR112014010898A2 publication Critical patent/BR112014010898A2/pt
Publication of BR112014010898B1 publication Critical patent/BR112014010898B1/pt

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/13Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/189Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
    • H04N19/196Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding being specially adapted for the computation of encoding parameters, e.g. by averaging previously computed encoding parameters
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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/189Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
    • H04N19/196Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding being specially adapted for the computation of encoding parameters, e.g. by averaging previously computed encoding parameters
    • H04N19/197Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding being specially adapted for the computation of encoding parameters, e.g. by averaging previously computed encoding parameters including determination of the initial value of an encoding parameter
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/436Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation using parallelised computational arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/91Entropy coding, e.g. variable length coding [VLC] or arithmetic coding

Abstract

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 PROGRAMA. A presente invenção refere-se a um aparelho de codificação de imagem configurado para dividir uma imagem em uma ou mais fatias, cada uma incluindo uma pluralidade de blocos e para codificar cada fatia em uma base bloco por bloco que inclui uma primeira unidade de codificação configurada para codificar blocos incluídos em uma primeira parte da fatia, e uma segunda unidade de codificação configurada para codificar blocos incluídos em uma segunda parte da fatia, onde, quando a segunda unidade de codificação codifica um bloco inicial na segunda parte, a segunda unidade de codificação codifica o bloco inicial incluído na segunda parte consultando um primeiro parâmetro de quantização fornecido à fatia como um valor inicial e consultando a primeira unidade de codificação quando a primeira unidade de codificação codifica o bloco inicial na primeira parte.

Description

Campo da Invenção
[0001] A presente invenção refere-se a um aparelho de codificação de imagem, um método de codificação de imagem, um aparelho de decodificação de imagem, um método de decodificação de imagem, e em particular, a um método para codificar/decodificar um parâmetro de quantização em uma imagem.
Fundamentos da Invenção
[0002] H.264/MPEG-4 AVC (em seguida chamado de “H.264”) é conhecido como um método de codificação para uso na compressão e gravação de uma imagem em movimento (ITU-T H.264 (03/2010), Codificação de vídeo avançada para serviços audiovisuais genéricos). De acordo com H.264, uma diferença em um parâmetro de quantização a partir de um bloco codificado imediatamente antes do bloco atual é codificada como informação mb_qp_delta, onde um parâmetro de quantização de cada bloco pode ser um valor arbitrário.
[0003] Então, ele é codificado usando um método de codificação aritmética binária convencional adotado em H.264. Mais especificamente, cada elemento de sintaxe, tal como a informação mb_qp_delta descrita acima, é binarizado, como um resultado do que um sinal binário é gerado. Uma probabilidade de ocorrência é atribuída a cada elemento de sintaxe antecipadamente como uma tabela (em seguida chamada de uma “tabela de probabilidade de ocorrência”). O sinal binário descrito acima é aritmeticamente codificado com base na tabela de probabilidade de ocorrência. Então, cada vez que um sinal binário é codificado, a tabela de probabilidade de ocorrência é atualizada com base na informação estatística indicando se o sinal binário codificado é o símbolo mais provável.
[0004] Nos últimos anos, uma atividade para padronizar uma tecnologia de codificação altamente eficiente como um sucessor de H.264 começou, e a Equipe Colaborativa Conjunta em Codificação de Vídeo (JCT-VC) foi estabelecida entre ISO/IEC e ITU-T. JCT-VC foi padronizada uma tecnologia de codificação chamada Codificação de Vídeo de Alta Eficiência (em seguida chamada de “HEVC”).
[0005] Na padronização de HEVC, vários tipos de métodos de codificação foram amplamente considerados em termos de não somente melhorar a eficiência da codificação, mas também outros aspectos incluindo a simplicidade de implementação e a redução no tempo de processamento. Para reduzir o tempo de processamento, os método para melhorar o paralelismo foram também considerados assumindo-se que o método de codificação é usado, por exemplo, em uma CPU de múltiplos núcleos. Um deles é um método para realizar o processamento paralelo de codificação/decodificação por entropia chamado “Wavefront” (Contribuição JCT-VC, JCTV-F274.doc disponível na Internet em <http://phenix.int- evry.fr/jct/doc_end_user/documents/6_Torino/wg11/>). Um próximo alvo de codificação deveria ser codificado usando uma tabela de probabilidade de ocorrência atualizada, então o processamento não pode ser executado em paralelo, a menos que a informação estatística seja reiniciada. Entretanto, isso leva a tal problema que reiniciar a informação estatística deteriora a eficiência de codificação. Ao contrário, Wavefront torna possível codificar blocos linha por linha em paralelo, enquanto impede a deterioração da eficiência de codificação, aplicando uma tabela de probabilidade de ocorrência obtida no momento de completar a codificação de um número plural pré- especificado de blocos até o bloco mais à esquerda na linha do tempo. Isso é principalmente uma descrição do processo de codificação, mas é também aplicável para o processo de decodificação.
[0006] Entretanto, Wavefront torna possível melhorar o paralelismo da codificação/decodificação aritmética de cada linha, mas realmente, a quantização e a quantização inversa não podem ser executadas até que o parâmetro de quantização do bloco imediatamente precedente em varredura raster seja determinado. Então, até a implementação atual de Wavefront tenha um problema de incapacidade de executar o processo de codificação/decodificação inteiro em paralelo.
Sumário da Invenção
[0007] A presente invenção é direcionada para habilitar a codificação/decodificação paralela como um processo inteiro incluindo processamento de quantização/quantização inversa quando os blocos são codificados/decodificados linha por linha em paralelo com o uso do método Wavefront.
[0008] De acordo com um aspecto da presente invenção, um aparelho de codificação de imagem configurado para dividir uma imagem em uma ou mais fatias, cada uma incluindo uma pluralidade de blocos e para codificar cada fatia em uma base bloco por bloco inclui primeiro dispositivo de codificação configurado para codificar blocos incluídos em uma primeira parte da fatia, e segundo dispositivo de codificação configurado para codificar blocos incluídos em uma segunda parte da fatia, onde, quando o segundo dispositivo de codificação codifica o bloco inicial na segunda parte, o segundo dispositivo de codificação codifica o bloco inicial incluído na segunda parte consultando um primeiro parâmetro de quantização fornecido à fatia como um valor inicial e consultando o primeiro dispositivo de codificação quando o primeiro dispositivo de codificação codifica o bloco inicial na primeira parte.
[0009] De acordo com modalidades exemplificadas da presente invenção, é possível realizar codificação/decodificação paralela como um processo inteiro incluindo processamento de quantização/quantização inversa quando os blocos são codificados/decodificados linha por linha em paralelo com o uso do método Wavefront.
[0010] Características e aspectos adicionais da presente invenção se tornarão claros a partir da seguinte descrição detalhada das modalidades exemplificadas com relação aos desenhos em anexo.
Breve Descrição dos Desenhos
[0011] Os desenhos em anexo, que são incorporados e constituem uma parte da especificação, ilustram modalidades exemplificadas, características, e aspectos da invenção e, junto com a descrição, servem para explicar os princípios da invenção.
[0012] A Figura 1 é um diagrama de blocos que ilustra uma configuração de um aparelho de codificação de imagem de acordo com uma primeira modalidade exemplificada.
[0013] A Figura 2 ilustra configurações de linhas de blocos.
[0014] A Figura 3 é um fluxograma que ilustra o processamento para codificar um quadro pelo aparelho de codificação de imagem de acordo com a primeira modalidade exemplificada.
[0015] A Figura 4 é um fluxograma que ilustra o processamento para codificar uma linha de blocos superior pelo aparelho de codificação de imagem de acordo com a primeira modalidade exemplificada.
[0016] A Figura 5 é um fluxograma que ilustra o processamento para codificar uma linha de blocos, que não a linha de blocos superior, pelo aparelho de codificação de imagem de acordo com a primeira modalidade exemplificada.
[0017] A Figura 6 é um fluxograma que ilustra o processamento para codificar um bloco pelo aparelho de codificação de imagem de acordo com a primeira modalidade exemplificada.
[0018] A Figura 7A ilustra uma transferência de um parâmetro de quantização pelo aparelho de codificação de imagem convencional.
[0019] A Figura 7B ilustra uma transferência de um parâmetro de quantização pelo aparelho de codificação de imagem de acordo com a primeira modalidade exemplificada.
[0020] A Figura 8 é um diagrama de blocos que ilustra uma configuração de um aparelho de decodificação de imagem de acordo com uma segunda modalidade exemplificada.
[0021] A Figura 9 é um fluxograma que ilustra o processamento para decodificar um quadro pelo aparelho de codificação de imagem de acordo com a segunda modalidade exemplificada.
[0022] A Figura 10 é um fluxograma que ilustra o processamento para decodificar uma linha de blocos superior pelo aparelho de codificação de imagem de acordo com a segunda modalidade exemplificada.
[0023] A Figura 11 é um fluxograma que ilustra o processamento para decodificar uma linha de blocos, que não a linha de blocos superior, pelo aparelho de codificação de imagem de acordo com a segunda modalidade exemplificada.
[0024] A Figura 12 é um fluxograma que ilustra o processamento para decodificar um bloco pelo aparelho de codificação de imagem de acordo com a segunda modalidade exemplificada.
[0025] A Figura 13 é um diagrama de blocos que ilustra um exemplo de uma configuração de hardware de um computador empregável como os aparelhos de codificação de imagem e os aparelhos de decodificação de imagem de acordo com as modalidades exemplificadas da presente invenção.
[0026] A Figura 14 é um diagrama de blocos que ilustra uma configuração de um aparelho de codificação de imagem de acordo com uma terceira modalidade exemplificada.
[0027] A Figura 15 é um fluxograma que ilustra o processamento para codificar uma linha de blocos superior pelo aparelho de codificação de imagem de acordo com a terceira modalidade exemplificada.
[0028] A Figura 16 é um fluxograma que ilustra o processamento para codificar uma linha de blocos, que não a linha de blocos superior, pelo aparelho de codificação de imagem de acordo com a terceira modalidade exemplificada.
[0029] A Figura 17A ilustra uma transferência de um parâmetro de quantização pelo aparelho de codificação de imagem da terceira modalidade exemplificada.
[0030] A Figura 17B ilustra uma transferência de um parâmetro de quantização pelo aparelho de codificação de imagem de acordo com a terceira modalidade exemplificada.
[0031] A Figura 18 é um diagrama de bloco que ilustra uma configuração de um aparelho de decodificação de imagem de acordo com uma quarta modalidade exemplificada.
[0032] A Figura 19 é um fluxograma que ilustra o processamento para decodificar uma linha de blocos superior pelo aparelho de codificação de imagem de acordo com a quarta modalidade exemplificada.
[0033] A Figura 20 é um fluxograma que ilustra o processamento para decodificar uma linha de blocos, que não a linha de blocos superior, pelo aparelho de codificação de imagem de acordo com a quarta modalidade exemplificada.
[0034] A Figura 21 é um diagrama de blocos que ilustra uma configuração de um aparelho de codificação de imagem de acordo com uma quinta modalidade exemplificada.
[0035] A Figura 22 é um fluxograma que ilustra o processamento para codificar uma linha de blocos superior pelo aparelho de codificação de imagem de acordo com a quinta modalidade exemplificada.
[0036] A Figura 23 é um fluxograma que ilustra o processamento para codificar uma linha de blocos, que não a linha de blocos superior, pelo aparelho de codificação de imagem de acordo com a quinta modalidade exemplificada.
[0037] A Figura 24 é um diagrama de blocos que ilustra uma configuração de um aparelho de decodificação de imagem de acordo com uma sexta modalidade exemplificada.
[0038] A Figura 25 é um fluxograma que ilustra o processamento para decodificar uma linha de blocos superior pelo aparelho de codificação de imagem de acordo com a sexta modalidade exemplificada.
[0039] A Figura 26 é um fluxograma que ilustra o processamento para decodificar uma linha de blocos, que não a linha de blocos superior, pelo aparelho de codificação de imagem de acordo com a sexta modalidade exemplificada.
Descrição Detalhada da Invenção
[0040] Várias modalidades exemplificadas, características, e aspectos da invenção serão descritos em detalhes abaixo com relação aos desenhos.
[0041] A Figura 1 é um diagrama de blocos que ilustra um aparelho de codificação de imagem de acordo com uma primeira modalidade exemplificada.
[0042] Com relação à Figura 1, um seletor 101 determina se um bloco alvo de processamento pertence a uma linha de blocos de número par. O seletor 101 emite o bloco a uma primeira unidade de codificação 102 se o bloco pertence a uma linha de blocos de número par, e ao contrário, emite o bloco para uma segunda unidade de codificação 103.
[0043] A primeira e a segunda unidade de codificação 102 e 103 codificam blocos nos quais uma imagem de entrada é dividida por n x n pixels (“n” é um inteiro positivo de 2 ou mais), linha por linha, como ilustrado na Figura 2 (as unidades correspondentes ao “primeiro dispositivo de codificação” e “segundo dispositivo de codificação”, e “blocos de codificação incluídos em uma primeira parte da fatia” e “blocos de codificação incluídos em uma segunda parte da fatia” nas reivindicações). Em seguida, uma linha de blocos será chamada de “linha de blocos”. A presente modalidade exemplificada será descrita com base em um exemplo usando duas unidades de codificação, mas a presente invenção não está limitada a essa. Com relação à Figura 2, uma seção 201 indicada como um quadrado desenhado com uma linha fina representa um bloco, e uma seção 202 indicada por um retângulo desenhado com uma linha espessa representa uma linha de blocos. Ademais, os blocos em áreas brancas, que indicam linhas de blocos de número par incluindo uma linha de blocos superior (a 0a linha de blocos), são codificados pela primeira unidade de codificação 102. Os blocos em áreas sombreadas que indicam linhas de blocos de número ímpar, são codificados pela segunda unidade de codificação 103.
[0044] Cada uma dentre a primeira e a segunda unidade de codificação 102 e 103 primeiro gera erros de predição de acordo com a predição com relação aos pixels circundando o bloco alvo de codificação ou outro quadro, e executa transformada ortogonal para gerar coeficientes de transformada. Em seguida, cada uma dentre a primeira e a segunda unidade de codificação 102 e 103 determina um parâmetro de quantização para os coeficientes de transformada ortogonalmente transformados, e quantiza cada coeficiente de transformada para gerar coeficientes de quantização. Em seguida, cada uma dentre a primeira e a segunda unidade 102 e 103 binariza cada elemento de sintaxe incluindo os coeficientes de quantização para gerar sinais binários. Uma probabilidade de ocorrência é atribuída a cada elemento de sintaxe antecipadamente como uma tabela (em seguida chamada de uma “tabela de probabilidade de ocorrência”). Os sinais binários são aritmeticamente codificados com base na tabela de probabilidade de ocorrência descrita acima. Então, cada vez que um sinal binário é codificado, a tabela de probabilidade de ocorrência é atualizada usando a informação estatística indicando se o sinal binário codificado é o símbolo mais provável.
[0045] Uma primeira unidade de armazenamento de tabela de probabilidade de ocorrência 104 armazena a tabela de probabilidade de ocorrência gerada pela primeira unidade de codificação 102. Em seguida, a tabela de probabilidade de ocorrência armazenada na primeira unidade de armazenamento de tabela de probabilidade de ocorrência 104 será chamada de uma “primeira tabela de probabilidade de ocorrência”.
[0046] Uma primeira unidade de armazenamento de tabela de probabilidade de ocorrência 105 armazena o parâmetro de quantização determinado pela primeira unidade de codificação 102. Em seguida, o parâmetro de quantização armazenado na primeira unidade de armazenamento de tabela de probabilidade de ocorrência 105 será chamado de um “primeiro parâmetro de quantização”.
[0047] Uma segunda unidade de armazenamento de tabela de probabilidade de ocorrência 106 armazena a tabela de probabilidade de ocorrência gerada pela segunda unidade de codificação 103. Em seguida, a tabela de probabilidade de ocorrência armazenada na segunda unidade de armazenamento de tabela de probabilidade de ocorrência 106 será chamada de uma “segunda tabela de probabilidade de ocorrência”.
[0048] Uma segunda unidade de armazenamento de tabela de probabilidade de ocorrência 107 armazena o parâmetro de quantização determinado pela segunda unidade de codificação 103. Em seguida, o parâmetro de quantização armazenado na segunda unidade de armazenamento de tabela de probabilidade de ocorrência 107 será chamado de um “segundo parâmetro de quantização”.
[0049] Uma unidade de codificação de integração 108 integra os dados codificados gerados pela primeira unidade de codificação 102 e os dados codificados gerados pela segunda unidade de codificação 103, e emite os dados integrados como um fluxo de bits.
[0050] Uma operação do aparelho de codificação de imagem de acordo com a presente modalidade exemplificada será descrita em detalhes com relação aos fluxogramas ilustrados nas Figuras 3 a 6. Na presente modalidade exemplificada, os dados de imagem em movimento são inseridos quadro por quadro, são divididos em blocos, e são processados em ordem raster. A presente modalidade exemplificada é configurada para inserir dados de imagem em movimento quadro por quadro, mas pode ser configurada para inserir dados de imagem estacionária correspondentes a um quadro ou inserir dados de imagem fatia por fatia, fatias nas quais um quadro é dividido. Ademais, para simplificar a descrição, a presente modalidade exemplificada será descrita com base em somente processamento de codificação de predição intra, mas não está limitada a essa. A presente modalidade exemplificada pode também ser empregada ao processamento de codificação de predição inter.
[0051] Primeiro, na etapa S301, o aparelho de codificação de imagem determina se um bloco alvo de processamento pertence a uma linha de blocos superior. Se o bloco pertence à linha de blocos superior (SIM, na etapa S301), o processamento prossegue para a etapa S302. Se o bloco não pertence à linha de blocos superior (NÃO na etapa S301), o processamento prossegue para a etapa S303.
[0052] O processamento da etapa S302 é o processamento para codificar a linha de blocos superior, cujos detalhes serão descritos abaixo. O processamento da etapa S303 é o processamento para codificar uma linha de blocos que não a linha de blocos superior, cujos detalhes serão também descritos abaixo. Ademais, o seletor 101 determina se a linha de blocos à qual o bloco alvo de processamento pertence é uma linha de blocos de número par ou uma linha de blocos de número ímpar. Se a linha de blocos é uma linha de blocos de número par, o bloco alvo de processamento é codificado pela primeira unidade de codificação 102 independentemente. Se a linha de blocos não é uma linha de blocos de número par, o bloco alvo de processamento é codificado pela segunda unidade de codificação 103 independentemente.
[0053] Em seguida, na etapa S304, a unidade de codificação de integração 108 integra os dados codificados emitidos a partir da primeira unidade de codificação 102 e os dados codificados emitidos a partir da segunda unidade de codificação 103, e gera e emite um fluxo de bits.
[0054] Em seguida, na etapa S305, o aparelho de codificação de imagem determina se todas as linhas de bloco no bloco alvo de processamento são codificadas. Se todas as linhas de bloco são codificadas (SIM, na etapa S305), o processamento para codificar um quadro é terminado. Se nem todas as linhas de bloco são codificadas (NÃO, na etapa S305), o processamento prossegue para a etapa S301 novamente, e a codificação da próxima linha de blocos começa.
[0055] O processamento da etapa S302 (o processamento para codificar a linha de blocos superior) será descrito em detalhes com relação ao fluxograma ilustrado na Figura 4. A linha de blocos superior é uma linha de blocos de número par, assim o bloco alvo de processamento é inserido na primeira unidade de codificação 102 pelo seletor 101, e é codificado pela primeira unidade de codificação 102.
[0056] Primeiro, na etapa S401, um parâmetro de quantização, baseado no qual um bloco é codificado, é inicializado de modo a corresponder a um valor inicial de um parâmetro de quantização para uma fatia. Em seguida, o parâmetro de quantização, baseado no qual um bloco é codificado, será chamado de um “parâmetro de quantização de referência de bloco”. Com relação a um parâmetro de quantização usado para quantizar um bloco alvo de quantização, seu próprio valor não é codificado como um elemento de sintaxe, mas um valor de diferença desse a partir do parâmetro de quantização de referência de bloco é codificado. Na presente modalidade exemplificada, esse valor de diferença corresponde a um valor de cu_qp_delta no método HEVC. Entretanto, a presente invenção não está limitada a esse, e, por exemplo, o valor de diferença descrito acima pode corresponder a um código mb_qp_delta no método H.264. Em seguida, na etapa S402, uma tabela de probabilidade de ocorrência é inicializada por um método predeterminado. A tabela de probabilidade de ocorrência inicializada é usada para codificar aritmeticamente o primeiro sinal binário do bloco mais à esquerda na linha de blocos, e é atualizada quando necessário na etapa S403, como será descrito abaixo. Em seguida, a tabela de probabilidade de ocorrência usada para codificar aritmeticamente o primeiro sinal binário do bloco mais à esquerda em uma linha de blocos será chamada de uma “tabela de probabilidade de ocorrência de referência de linha de blocos”.
[0057] Em seguida, na etapa S403, a primeira unidade de codificação 102 codifica dados de pixel bloco por bloco.
[0058] Na presente modalidade exemplificada, um bloco é constituído de 64 x 64 pixels, mas a presente invenção não está limitada a esse. O tamanho de um bloco pode ser menor tal como 32 x 32 pixels, ou maior tal como 128 x 128 pixels. O processamento de codificação de bloco na etapa S403 será descrito em detalhes com relação ao fluxograma ilustrado na Figura 6.
[0059] Primeiro na etapa S601, a primeira unidade de codificação 102 executa predição intra em um bloco de imagem de entrada com o uso de pixels circundando o bloco para gerar erros de predição.
[0060] Em seguida, na etapa S602, a primeira unidade de codificação 102 executa transformada ortogonal nos erros de predição para gerar coeficientes de transformada. Ademais, a primeira unidade de codificação 102 quantiza os coeficientes de transformada usando um parâmetro de quantização (em seguida chamado de “parâmetro de quantização de bloco”) determinado com base, por exemplo, nas características e na quantidade de codificação da imagem para gerar coeficientes de quantização.
[0061] Em seguida, na etapa S603, a primeira unidade de codificação 102 calcula um valor de diferença entre o parâmetro de quantização de referência de bloco descrito acima e o parâmetro de quantização de bloco para gerar um valor cu_ qp_delta.
[0062] Em seguida, na etapa S604, a primeira unidade de codificação 102 configura o parâmetro de quantização de bloco usado para codificar o bloco alvo de processamento para o parâmetro de quantização de referência de bloco, atualizando assim o parâmetro de quantização de referência de bloco. O parâmetro de quantização de referência de bloco será usado para gerar um valor cu_qp_delta de um próximo bloco.
[0063] Em seguida, na etapa S605, a primeira unidade de codificação 102 binariza cada elemento de sintaxe incluindo o valor cu_qp_delta descrito acima e os coeficientes de quantização descritos acima para gerar sinais binários. A primeira unidade de codificação 102 usa vários tipos de métodos de binarização tal como binarização unária e binarização de comprimento fixo enquanto trocando o método de binarização para cada elemento de sintaxe de uma maneira similar ao método H.264. Ademais, a primeira unidade de codificação 102 codifica aritmeticamente os sinais binários com base na tabela de probabilidade de ocorrência.
[0064] Então, na etapa S606, a primeira unidade de codificação 102 atualiza a tabela de probabilidade de ocorrência com base em se o sinal binário aritmeticamente codificado é o símbolo mais provável.
[0065] Em seguida, na etapa S607, a primeira unidade de codificação 102 determina se todos os elementos de sintaxe no bloco são aritmeticamente codificados. Se todos os elementos de sintaxe são aritmeticamente codificados (SIM, na etapa S607), o processamento de codificação de bloco é terminado. Se nem todos os elementos de sintaxe estão codificados (NÃO, na etapa S607), o processamento prossegue para a etapa S605 novamente.
[0066] Com relação à Figura 4, na etapa S404, a primeira unidade de codificação 102 determina se uma condição para armazenar o parâmetro de quantização de referência de bloco é satisfeita. Na presente modalidade exemplificada, a condição para armazenar o parâmetro de quantização de referência de bloco é se o bloco codificado na etapa S403 é um bloco mais à esquerda em uma linha de blocos. Se a condição é satisfeita (SIM, na etapa S404), o processamento prossegue para a etapa S405. Na etapa S405, o parâmetro de quantização de referência de bloco é armazenado na primeira unidade de armazenamento de parâmetro de quantização 105 como um primeiro parâmetro de quantização. Se a condição não é satisfeita (NÃO, na etapa S404), o processamento prossegue para a etapa S406. O primeiro parâmetro de quantização será usado como um parâmetro de quantização de referência de bloco quando a segunda unidade de codificação 103 codifica o bloco mais à esquerda na próxima linha de blocos.
[0067] Em seguida, na etapa S406, a primeira unidade de codificação 102 determina se uma condição para armazenar a tabela de probabilidade de ocorrência é satisfeita. Na presente modalidade exemplificada, a condição para armazenar a tabela de probabilidade de ocorrência é se o bloco codificado na etapa S403 é um bloco de no número predeterminado a partir do bloco mais à esquerda na linha de blocos. Se essa condição é satisfeita (SIM, na etapa S406), o processamento prossegue para a etapa S407. Na etapa S407, a tabela de probabilidade de ocorrência é armazenada na primeira unidade de armazenamento de tabela de probabilidade de ocorrência 104 como uma primeira tabela de probabilidade de ocorrência. Se a condição não é satisfeita (NÃO, na etapa S406), o processamento prossegue para a etapa S408. A primeira tabela de probabilidade de ocorrência será usada como uma tabela de probabilidade de ocorrência de referência de linha de blocos quando a segunda unidade de codificação 103 codifica o bloco mais à esquerda na próxima linha de blocos.
[0068] Em seguida, na etapa S408, a primeira unidade de codificação 102 determina se todos os blocos na linha de blocos alvo de processamento estão codificados. Se todos os blocos estão codificados (SIM, na etapa S408), a codificação da linha de blocos superior é terminada. Se nem todos os blocos estão codificados (NÃO, na etapa S408), o processamento prossegue para a etapa S403 novamente. Na etapa S403, o próximo bloco em ordem raster é codificado.
[0069] O processamento da etapa S303 (o processamento para codificar uma linha de blocos que não a linha de blocos superior) será descrito em detalhes com relação ao fluxograma ilustrado na Figura 5. O seletor 101 determina para cada linha de blocos se a linha de blocos é uma linha de blocos de número par. Se a linha de blocos é uma linha de blocos de número par, uma imagem da linha de blocos alvo de processamento é inserida na primeira unidade de codificação 102 e é codificada pela primeira unidade de codificação 102. Se a linha de blocos é uma linha de blocos de número ímpar, uma imagem da linha de blocos alvo de processamento é inserida na segunda unidade de codificação 103, e é codificada pela segunda unidade de codificação 103. Primeiro, um fluxo quando a segunda unidade de codificação 103 codifica uma linha de blocos de número ímpar será descrito.
[0070] Primeiro, na etapa S501, o primeiro parâmetro de quantização é inserido a partir da primeira unidade de armazenamento de parâmetro de quantização 105 como um parâmetro de quantização de referência de bloco. Em seguida, na etapa S502, a primeira tabela de probabilidade de ocorrência é inserida a partir da primeira unidade de armazenamento de tabela de probabilidade de ocorrência 104 como uma tabela de probabilidade de ocorrência de referência de linha de blocos.
[0071] O processamento das etapas S503, S504, S506, e S508 é similar ao processamento das etapas S403, S404, S406 e S408, e, então, suas descrições são omitidas aqui.
[0072] Na etapa S505, o parâmetro de quantização de referência de bloco é armazenado na segunda unidade de armazenamento de parâmetro de quantização 107 como um segundo parâmetro de quantização. O segundo parâmetro de quantização será usado como um parâmetro de quantização de referência de bloco para um bloco mais à esquerda em uma próxima linha de blocos.
[0073] Na etapa S507, a tabela de probabilidade de ocorrência é armazenada na segunda unidade de armazenamento de tabela de probabilidade de ocorrência 106 como uma segunda tabela de probabilidade de ocorrência. A segunda tabela de probabilidade de ocorrência será usada como uma tabela de probabilidade de ocorrência de referência de linha de blocos quando o bloco mais à esquerda na próxima linha de blocos é aritmeticamente codificado.
[0074] Em seguida, um fluxo quando a primeira unidade de codificação 102 codifica uma linha de blocos de número par será descrito.
[0075] Primeiro, na etapa S501, o segundo parâmetro de quantização é inserido a partir da segunda unidade de armazenamento de parâmetro de quantização 107 como um parâmetro de quantização de referência de bloco. Em seguida, na etapa S502, a segunda tabela de probabilidade de ocorrência é inserida a partir da segunda unidade de armazenamento de tabela de probabilidade de ocorrência 106 como uma tabela de probabilidade de ocorrência de referência de linha de blocos.
[0076] O processamento das etapas S503 a S508 é similar ao processamento das etapas S403 a S408, e, então, suas descrições são omitidas aqui.
[0077] A configuração e a operação descritas acima possibilitam a codificação em paralelo permitindo a referência ao parâmetro de quantização de referência em adição à tabela de probabilidade de ocorrência durante o processamento de um bloco mais à esquerda mesmo antes de completar o processamento de uma linha de blocos imediatamente antes da linha de blocos sendo codificada. As Figuras 7A e 7B ilustram, cada uma, como o parâmetro de quantização de referência de bloco é referido. De acordo com a técnica convencional, como ilustrado na Figura 7A, até que o processamento de uma linha de blocos precedente seja completado, o processamento de uma próxima linha de blocos não pode começar. Entretanto, de acordo com a presente modalidade exemplificada, fazendo a referência a um bloco espacialmente superior possível quando um bloco mais à esquerda é processado, o que eventualmente permite um padrão de referência como ilustrado na Figura 7B, torna- se desnecessário esperar pelo término do processamento da linha de blocos precedente.
[0078] Ademais, na presente modalidade exemplificada, um parâmetro de quantização usado no bloco mais à esquerda em uma linha de blocos imediatamente superior é usado como um parâmetro de quantização de referência de bloco quando um bloco mais à esquerda é codificado. Entretanto, a presente invenção não está limitada a esse, e pode ser incorporada por qualquer configuração capaz de melhorar o paralelismo do processamento linha de blocos por linha de blocos. Por exemplo, um valor inicial de um parâmetro de quantização fornecido a uma fatia pode ser usado como um parâmetro de quantização de referência de bloco quando os blocos mais à esquerda em todas as linhas de blocos estão codificados. Como outra configuração possível, um parâmetro de quantização de referência de bloco pode ser o mesmo da condição para armazenar a tabela de probabilidade de ocorrência fornecida nas etapas S406 e S506. Mais especificamente, um parâmetro de quantização quando um bloco de no número predeterminado a partir do bloco mais à esquerda em uma linha de blocos é codificado pode ser usado como um parâmetro de quantização de referência de bloco para um bloco mais à esquerda em uma próxima linha de blocos. Ademais, o aparelho de codificação de imagem pode ser configurado para trocar um bloco chamado de um parâmetro de quantização de referência de bloco com base em um modo de codificação de um bloco mais à esquerda.
[0079] Ademais, na presente modalidade exemplificada, a codificação aritmética é usada para codificação por entropia, mas a presente invenção não está limitada a essa. Qualquer codificação pode ser empregada, contanto que, no momento da codificação por entropia baseada na informação estatística tal como a tabela de probabilidade de ocorrência, a informação estatística no meio da codificação de uma linha de blocos seja usada para executar codificação por entropia de um bloco mais à esquerda de uma próxima linha de blocos.
[0080] A presente modalidade exemplificada foi descrita com base em um exemplo usando duas unidades de codificação. Entretanto, está claro que a adição, por exemplo, de uma terceira unidade de codificação, uma terceira unidade de armazenamento de tabela de probabilidade de ocorrência, e de uma terceira unidade de armazenamento de parâmetro de quantização possibilita o processamento paralelo por um número maior de unidades de codificação.
[0081] A Figura 8 é um diagrama de blocos que ilustra um aparelho de decodificação de imagem de acordo com a segunda modalidade exemplificada.
[0082] Com relação à Figura 8, um seletor 801 determina se um bloco alvo de processamento pertence a uma linha de blocos de número par. O seletor 801 emite fluxo de bits descrito acima para uma primeira unidade de decodificação 802 se o bloco alvo de processamento pertence a uma linha de blocos de número par, e ao contrário, emite o fluxo de bits descrito acima para uma segunda unidade de decodificação 803.
[0083] As unidades de decodificação 802 e 803 decodificam o fluxo de bits inserido, linha de blocos por linha de blocos, como ilustrado na Figura 2. A presente modalidade exemplificada será descrita com base em um exemplo usando duas unidades de decodificação, mas presente invenção não está limitada a essas. Com relação à Figura 2, os blocos em áreas brancas, que indicam linhas de blocos de número par incluindo uma linha de blocos superior (a 0a linha de blocos), são decodificados pela primeira unidade de decodificação 802. Os blocos em áreas sombreadas, que indicam linhas de blocos de número ímpar, são decodificados pela segunda unidade de decodificação 803.
[0084] Cada uma dentre a primeira e a segunda unidade de decodificação 802 e 803 primeiro seleciona uma tabela de probabilidade de ocorrência para sinais binários de um fluxo de bits a ser decodificado, e decodifica aritmeticamente os sinais binários com base na tabela de probabilidade de ocorrência para gerar os coeficientes de quantização. Em seguida, cada uma dentre a primeira e a segunda unidade de decodificação 802 e 803 quantiza inversamente os coeficientes de quantização com base em um parâmetro de quantização para gerar coeficientes de transformada. Então, cada uma dentre a primeira e a segunda unidade de decodificação 802 e 803 executa transformada ortogonal inversa nos coeficientes de transformada para gerar erros de predição. Em seguida, cada uma dentre a primeira e a segunda unidade de decodificação 802 e 803 executa predição com relação aos pixels circundando o bloco alvo de decodificação ou outro quadro para gerar dados de imagem do bloco alvo de decodificação. Uma primeira unidade de armazenamento de tabela de probabilidade de ocorrência 804 armazena a tabela de probabilidade de ocorrência gerada pela primeira unidade de decodificação 802. Uma primeira unidade de armazenamento de parâmetro de quantização 805 armazena o parâmetro de quantização determinado pela primeira unidade de decodificação 802.
[0085] Uma segunda unidade de armazenamento de tabela de probabilidade de ocorrência 806 armazena a tabela de probabilidade de ocorrência gerada pela segunda unidade de codificação 803. Uma segunda unidade de armazenamento de tabela de probabilidade de ocorrência 807 armazena o parâmetro de quantização determinado pela segunda unidade de codificação 803. Uma unidade de integração de dados de imagem 808 forma os dados de imagem gerados pela primeira unidade de decodificação 802 e os dados de imagem gerados pela segunda unidade de decodificação 803, e emite os dados de imagem formados.
[0086] Uma operação do aparelho de decodificação de imagem de acordo com a presente modalidade exemplificada será descrita em detalhes com relação aos fluxogramas ilustrados nas Figuras 9 a 12. Na presente modalidade exemplificada, um fluxo de bits é inserido quadro por quadro. O fluxo de bits é dividido em partes de dados codificados e é então decodificado. A presente modalidade exemplificada é configurada de tal forma que um fluxo de bits é inserido quadro por quadro, mas pode ser configurada de tal forma que um quadro é dividido em fatias, e um fluxo de bits é inserido fatia por fatia. Ademais, para simplificar a descrição, a presente modalidade exemplificada será descrita com base em somente processamento de decodificação de predição intra, mas não está limitada a essa. A presente modalidade exemplificada pode também ser empregada ao processamento de decodificação de predição inter.
[0087] Primeiro, na etapa S901, o aparelho de decodificação de imagem determina se um bloco alvo de processamento pertence a uma linha de blocos superior. Se o bloco alvo de processamento pertence à linha de blocos superior (SIM, na etapa S901), o processamento prossegue para a etapa S902. Se o bloco alvo de processamento não pertence à linha de blocos superior (NÃO na etapa S901), o processamento prossegue para a etapa S903.
[0088] O processamento da etapa S902 é o processamento para decodificar a linha de blocos superior, cujos detalhes serão descritos abaixo. O processamento da etapa S903 é o processamento para decodificar uma linha de blocos que não a linha de blocos superior, cujos detalhes serão também descritos abaixo. Ademais, o seletor 801 determina se a linha de blocos à qual o bloco alvo de processamento pertence é uma linha de blocos de número par ou uma linha de blocos de número ímpar. Se a linha de blocos é uma linha de blocos de número par, o bloco alvo de processamento é decodificado pela primeira unidade de decodificação 802 independentemente. Se a linha de blocos não é uma linha de blocos de número par, o bloco alvo de processamento é decodificado pela segunda unidade de decodificação 803 independentemente. Na presente modalidade exemplificada, o seletor 801 determina se uma linha de blocos é uma linha de blocos de número par com base no número de blocos decodificados. Entretanto, a presente invenção não está limitada esse. Por exemplo, um fluxo de bits de entrada pode incluir um identificador, que é fornecido em um limiar entre as linhas de blocos antecipadamente, e o seletor 801 pode determinar se uma linha de blocos é uma linha de blocos de número par com base no identificador. Alternativamente, a informação indicando o tamanho de um fluxo de bits de cada linha de blocos ou uma posição de partida de uma próxima linha de blocos pode ser fornecida, e o seletor 801 pode determinar se uma linha de blocos é uma linha de blocos de número par com base nessa informação.
[0089] Em seguida, na etapa S904, a unidade de integração de dados de imagem 808 integra os dados de imagem emitidos a partir da primeira unidade de decodificação 802 e os dados de imagem emitidos a partir da segunda unidade de decodificação 803, e gera e emite uma imagem decodificada.
[0090] Em seguida, na etapa S905, o aparelho de decodificação de imagem determina se todas as linhas de blocos no bloco alvo de processamento são decodificadas. Se todas as linhas de bloco são decodificadas (SIM, na etapa S905), o processamento para decodificar um quadro é terminado. Se nem todas as linhas de bloco são decodificadas (NÃO, na etapa S905), o processamento prossegue para a etapa S901 novamente, a partir da qual a próxima linha de blocos é decodificada.
[0091] O processamento da etapa S902 (o processamento para decodificar a linha de blocos superior) será descrito em detalhes com relação ao fluxograma ilustrado na Figura 10. Como a linha de blocos superior é uma linha de blocos de número par, os dados codificados da linha de blocos alvo de processamento são inseridos na primeira unidade de decodificação 802 pelo seletor 801, e são codificados pela primeira unidade de decodificação 802.
[0092] Com relação à Figura 10, primeiro, na etapa S1001, um parâmetro de quantização, baseado no qual um bloco é codificado, é inicializado de modo a corresponder a um valor inicial de um parâmetro de quantização para uma fatia. Em seguida, o parâmetro de quantização, baseado no qual um bloco é codificado, será chamado de um “parâmetro de quantização de referência de bloco” de uma maneira similar ao aparelho de codificação de imagem de acordo com a primeira modalidade exemplificada. O parâmetro de quantização de bloco, quando um bloco alvo de decodificação é inversamente quantizado, está em tal estado que seu próprio valor não é codificado, mas um valor de diferença desse a partir do parâmetro de quantização de referência de bloco é codificado como um elemento de sintaxe. Então, no momento da decodificação, o parâmetro de quantização de bloco deveria ser gerado através da adição do parâmetro de quantização de referência de bloco e do valor de diferença descrito acima, e o aparelho de decodificação deveria executar a quantização inversa usando o parâmetro de quantização de bloco gerado. Na presente modalidade exemplificada, esse valor de diferença corresponde a um valor cu_qp_delta no método HEVC. Entretanto, a presente invenção não está limitada a esse. Por exemplo, o valor de diferença pode corresponder a um valor mb_qp_delta no método H.264. Em seguida, na etapa S1002, uma tabela de probabilidade de ocorrência é inicializada por um método predeterminado. A tabela de probabilidade de ocorrência inicializada é usada para decodificar aritmeticamente o primeiro sinal binário do bloco mais à esquerda na linha de blocos, e é atualizada quando necessário na etapa S1003, como será descrito abaixo. Em seguida, a tabela de probabilidade de ocorrência usada para decodificar aritmeticamente o primeiro sinal binário de um bloco inicial em uma linha de blocos será chamada de uma “tabela de probabilidade de ocorrência de referência de linha de blocos”, de uma maneira similar ao aparelho de codificação de imagem de acordo com a primeira modalidade exemplificada.
[0093] Em seguida, na etapa S1003, a primeira unidade de decodificação 802 decodifica o fluxo de bits bloco por bloco para gerar os dados de imagem.
[0094] Na presente modalidade exemplificada, um bloco é constituído de 64 x 64 pixels, mas a presente invenção não está limitada a esse. O tamanho de um bloco pode ser menor tal como 32 x 32 pixels, ou maior tal como 128 x 128 pixels. O processamento de decodificação de bloco na etapa S1003 será descrito em detalhes com relação ao fluxograma ilustrado na Figura 12.
[0095] Primeiro, na etapa S1201, a primeira unidade de decodificação 802 decodifica aritmeticamente o fluxo de bits com base na tabela de probabilidade de ocorrência descrita acima para gerar um sinal binário. Ademais, a primeira unidade de decodificação 802 decodifica o sinal binário binarizado de acordo com qualquer um dos vários tipos de métodos de binarização tal como binarização unária e binarização de comprimento fixo, para cada elemento de sintaxe de uma maneira similar ao método H.264 para gerar elementos de sintaxe incluindo coeficientes de quantização.
[0096] Então, na etapa S1202, a tabela de probabilidade de ocorrência é atualizada com base em se o sinal binário aritmeticamente decodificado é o símbolo mais provável.
[0097] Em seguida, na etapa S1203, a primeira unidade de decodificação 802 determina se todos os elementos de sintaxe no bloco são aritmeticamente decodificados. Se todos os elementos de sintaxe são aritmeticamente decodificados (SIM, na etapa S1203), o processamento prossegue para a etapa S1204. Se nem todos os elementos de sintaxe estão decodificados aritmeticamente (NÃO, na etapa S1203), o processamento prossegue para a etapa S1201 novamente.
[0098] Em seguida, na etapa S1204, a primeira unidade de decodificação 802 gera um parâmetro de quantização de bloco através da adição do parâmetro de quantização de referência de bloco descrito acima e o valor cu_qp_delta decodificado na etapa S1201.
[0099] Em seguida, na etapa S1205, a primeira unidade de decodificação 802 quantiza inversamente os coeficientes de quantização com base no parâmetro de quantização de bloco para gerar coeficientes de transformada. Então, a primeira unidade de decodificação 802 executa a transformada ortogonal inversa nos coeficientes de transformada para gerar erros de predição.
[0100] Em seguida, na etapa S1206, a primeira unidade de decodificação 802 configura o parâmetro de quantização de bloco usado quando quantizando inversamente o bloco alvo de processamento para o parâmetro de quantização de referência de bloco, atualizando assim o parâmetro de quantização de referência de bloco. O parâmetro de quantização de referência de bloco será usado para gerar um parâmetro de quantização de bloco de um próximo bloco.
[0101] Em seguida, na etapa S1207, a primeira unidade de decodificação 802 executa predição intra a partir de pixels circundando o bloco alvo de processamento para gerar uma imagem de predição. Ademais, a primeira unidade de decodificação 802 gera dados de imagem correspondentes a um bloco através da adição de erros de predição e da imagem de predição.
[0102] Com relação ao fluxograma ilustrado na Figura 10, na etapa S1004, a primeira unidade de decodificação 802 determina se uma condição para armazenar o parâmetro de quantização de referência de bloco é satisfeita. Na presente modalidade exemplificada, a condição para armazenar o parâmetro de quantização de referência de bloco é se o bloco decodificado na etapa S1003 é o bloco mais à esquerda na linha de blocos. Se a condição é satisfeita (SIM, na etapa S1004), o processamento prossegue para a etapa S1005. Na etapa S1005, o parâmetro de quantização de referência de bloco é armazenado na primeira unidade de armazenamento de parâmetro de quantização 805 como um primeiro parâmetro de quantização. Se a condição não é satisfeita (NÃO, na etapa S1004), o processamento prossegue para a etapa S1006. O primeiro parâmetro de quantização será usado como um parâmetro de quantização de referência de bloco quando a segunda unidade de decodificação 803 decodifica o bloco mais à esquerda na próxima linha de blocos.
[0103] Em seguida, na etapa S1006, a primeira unidade de decodificação 802 determina se uma condição para armazenar a tabela de probabilidade de ocorrência é satisfeita. Na presente modalidade exemplificada, a condição para armazenar a tabela de probabilidade de ocorrência é se o bloco decodificado na etapa S1003 é um bloco de no número predeterminado a partir do bloco mais à esquerda na linha de blocos. Se essa condição é satisfeita (SIM, na etapa S1006), o processamento prossegue para a etapa S1007. Na etapa S1007, a tabela de probabilidade de ocorrência é armazenada na primeira unidade de armazenamento de tabela de probabilidade de ocorrência 804 como uma primeira tabela de probabilidade de ocorrência. Se a condição não é satisfeita (NÃO, na etapa S1006), o processamento prossegue para a etapa S1008. A primeira tabela de probabilidade de ocorrência será usada como uma tabela de probabilidade de ocorrência de referência de linha de blocos quando a segunda unidade de decodificação 803 decodifica o bloco mais à esquerda na próxima linha de blocos.
[0104] Em seguida, na etapa S1008, a primeira unidade de decodificação 802 determina se todos os blocos na linha de blocos alvo de processamento estão decodificados. Se todos os blocos estão decodificados (SIM, na etapa S1008), a decodificação da linha de blocos superior é terminada. Se nem todos os blocos estão decodificados (NÃO, na etapa S1008), o processamento prossegue para a etapa S1003 novamente, a partir da qual a primeira unidade de decodificação 802 decodifica o próximo bloco em ordem raster.
[0105] O processamento da etapa S903 (o processamento para decodificar uma linha de blocos que não a linha de blocos superior) será descrito em detalhes com relação ao fluxograma ilustrado na Figura 11. O seletor 801 determina para cada linha de blocos se a linha de blocos é uma linha de blocos de número par. Se a linha de blocos é uma linha de blocos de número par, o fluxo de bits do bloco alvo de processamento é inserido na primeira unidade de decodificação 802 e é decodificada pela primeira unidade de decodificação 802. Se a linha de blocos é uma linha de blocos de número ímpar, um fluxo de bits do bloco alvo de processamento é inserido na segunda unidade de decodificação 803, e é decodificada pela segunda unidade de decodificação 803. Primeiro, um fluxo quando a segunda unidade de decodificação 803 decodifica uma linha de blocos de número ímpar será descrito.
[0106] Primeiro, na etapa S1101, o primeiro parâmetro de quantização é inserido a partir da primeira unidade de armazenamento de parâmetro de quantização 805 como um parâmetro de quantização de referência de bloco. Em seguida, na etapa S1102, a primeira tabela de probabilidade de ocorrência é inserida a partir da primeira unidade de armazenamento de tabela de probabilidade de ocorrência 804 como uma tabela de probabilidade de ocorrência de referência de linha de blocos.
[0107] O processamento das etapas S1103, S1104, S1106, e S1108 é similar ao processamento das etapas S1003, S1004, S1006 e S1008, e, então, suas descrições são omitidas aqui.
[0108] Na etapa S1105, o parâmetro de quantização de referência de bloco é armazenado na segunda unidade de armazenamento de parâmetro de quantização 807 como um segundo parâmetro de quantização. O segundo parâmetro de quantização será usado como um parâmetro de quantização de referência de bloco para um bloco mais à esquerda em uma próxima linha de blocos.
[0109] Na etapa S1107, a tabela de probabilidade de ocorrência é armazenada na segunda unidade de armazenamento de tabela de probabilidade de ocorrência 806 como uma segunda tabela de probabilidade de ocorrência. A segunda tabela de probabilidade de ocorrência será usada como uma tabela de probabilidade de ocorrência de referência de linha de blocos quando a primeira unidade de decodificação 802 decodifica aritmeticamente o bloco mais à esquerda na próxima linha de blocos.
[0110] Subsequentemente, um fluxo quando a primeira unidade de decodificação 802 decodifica uma linha de blocos de número par será descrito.
[0111] Primeiro, na etapa S1101, o segundo parâmetro de quantização é inserido a partir da segunda unidade de armazenamento de parâmetro de quantização 807 como um parâmetro de quantização de referência de bloco. Em seguida, na etapa S1102, a segunda tabela de probabilidade de ocorrência é inserida a partir da segunda unidade de armazenamento de tabela de probabilidade de ocorrência 806 como uma tabela de probabilidade de ocorrência de referência de linha de blocos.
[0112] O processamento das etapas S1103 a S1108 é similar ao processamento das etapas S1003 a S1008, e, então, suas descrições são omitidas aqui.
[0113] A configuração e a operação descritas acima possibilitam a execução em paralelo de decodificação permitindo a referência a um parâmetro de quantização de referência de bloco em adição a uma tabela de probabilidade de ocorrência, que é informação estatística, durante o processamento de um bloco mais à esquerda mesmo antes de completar o processamento de uma linha de blocos imediatamente antes da linha de blocos sendo atualmente codificada. As Figuras 7A e 7B ilustram, cada uma, como um parâmetro de quantização de referência de bloco é referido. De acordo com a técnica convencional, como ilustrado na Figura 7A, até que o processamento de uma linha de blocos precedente seja completado, o processamento de uma próxima linha de blocos não pode começar. Entretanto, de acordo com a presente modalidade exemplificada, um bloco espacialmente superior pode ser chamado quando um bloco mais à esquerda é processado, o que permite um padrão de referência como ilustrado na Figura 7B, eliminando assim a necessidade de esperar pelo término do processamento da linha de blocos precedente.
[0114] Ademais, na presente modalidade exemplificada, um parâmetro de quantização usado em um bloco mais à esquerda em uma linha de blocos imediatamente superior é usado como um parâmetro de quantização de referência de bloco quando um bloco mais à esquerda é decodificado. Entretanto, a presente invenção não está limitada a esse, e pode ser incorporada por qualquer configuração capaz de melhorar o paralelismo do processamento linha de blocos por linha de blocos. Por exemplo, um valor inicial de um parâmetro de quantização fornecido a uma fatia pode ser usado como um parâmetro de quantização de referência de bloco quando os blocos mais à esquerda em todas as linhas de blocos estão decodificados. Como outra configuração possível, a condição para armazenar o parâmetro de quantização de referência de bloco pode ser o mesmo da condição para armazenar a tabela de probabilidade de ocorrência fornecida nas etapas S1006 e S1006. Mais especificamente, um parâmetro de quantização quando um bloco de no número predeterminado a partir do bloco mais à esquerda em uma linha de blocos é decodificado pode ser usado como um parâmetro de quantização de referência de bloco para o bloco mais à esquerda na próxima linha de blocos. Ademais, o aparelho de decodificação de imagem pode ser configurado para trocar um bloco chamado de um parâmetro de quantização de referência de bloco com base em um modo de codificação de um bloco mais à esquerda.
[0115] Ademais, na presente modalidade exemplificada, a decodificação aritmética é usada para decodificação por entropia, mas a presente invenção não está limitada a essa. Qualquer decodificação pode ser empregada, contanto que, no momento da decodificação por entropia baseada em informação estatística tal como a tabela de probabilidade de ocorrência, a informação estatística no meio da decodificação de uma linha de blocos seja usada para executar a decodificação por entropia de um bloco mais à esquerda da próxima linha de blocos.
[0116] A presente modalidade exemplificada foi descrita com base em um exemplo usando duas unidades de decodificação. Entretanto, está claro que a adição, por exemplo, de uma terceira unidade de decodificação, uma terceira unidade de armazenamento de tabela de probabilidade de ocorrência, e de uma terceira unidade de armazenamento de parâmetro de quantização possibilita o processamento paralelo por um número maior de unidades de decodificação.
[0117] A Figura 14 é um diagrama de blocos que ilustra um aparelho de codificação de imagem de acordo com uma terceira modalidade exemplificada.
[0118] Com relação à Figura 14, um seletor 1401 determina se um bloco alvo de processamento pertence a uma linha de blocos de número par. O seletor 1401 emite o bloco a uma primeira unidade de codificação 1402 se o bloco pertence a uma linha de blocos de número par, e ao contrário, emite o bloco para uma segunda unidade de codificação 1403.
[0119] A primeira e a segunda unidade de codificação 1402 e 1403 codificam blocos nos quais uma imagem de entrada é dividida por n x n pixels (“n” é um inteiro positivo de 2 ou mais), linha por linha, como ilustrado na Figura 2. A presente modalidade exemplificada será descrita com base em um exemplo usando duas unidades de codificação, mas a presente invenção não está limitada a essa. Com relação à Figura 2, a seção 201 indicada como um quadrado desenhado com uma linha fina representa um bloco, e a seção 202 indicada por um retângulo desenhado com uma linha espessa representa uma linha de blocos. Ademais, os blocos em áreas brancas, que indicam linhas de blocos de número par incluindo uma linha de blocos superior (a 0a linha de blocos), são codificados pela primeira unidade de codificação 1402. Os blocos em áreas sombreadas, que indicam linhas de blocos de número ímpar, são codificados pela segunda unidade de codificação 1403.
[0120] Cada uma dentre a primeira e a segunda unidade de codificação 1402 e 1403 primeiro gera erros de predição de acordo com a predição com relação aos pixels circundando o bloco alvo de codificação ou outro quadro, e executa transformada ortogonal para gerar coeficientes de transformada. Em seguida, cada uma dentre a primeira e a segunda unidade de codificação 1402 e 1403 determina um parâmetro de quantização para os coeficientes de transformada ortogonalmente transformados, e quantiza cada coeficiente de transformada para gerar coeficientes de quantização. Em seguida, cada uma dentre a primeira e a segunda unidade de codificação 1402 e 1403 binariza cada elemento de sintaxe incluindo os coeficientes de quantização para gerar sinais binários. Uma probabilidade de ocorrência é atribuída a cada elemento de sintaxe antecipadamente como uma tabela (em seguida chamada de uma “tabela de probabilidade de ocorrência”). Os sinais binários são aritmeticamente codificados com base na tabela de probabilidade de ocorrência descrita acima. Então, cada vez que um sinal binário é codificado, a tabela de probabilidade de ocorrência é atualizada usando a informação estatística indicando se o sinal binário codificado é o símbolo mais provável.
[0121] Uma unidade de armazenamento de parâmetro de quantização inicial 1404 armazena um valor inicial de um parâmetro de quantização.
[0122] Uma primeira unidade de armazenamento de tabela de probabilidade de ocorrência 1405 armazena a tabela de probabilidade de ocorrência gerada pela primeira unidade de codificação 1402. Em seguida, a tabela de probabilidade de ocorrência armazenada na primeira unidade de armazenamento de tabela de probabilidade de ocorrência 1405 será chamada de uma “primeira tabela de probabilidade de ocorrência”.
[0123] Uma segunda unidade de armazenamento de tabela de probabilidade de ocorrência 1406 armazena a tabela de probabilidade de ocorrência gerada pela segunda unidade de codificação 1403. Em seguida, a tabela de probabilidade de ocorrência armazenada na segunda unidade de armazenamento de tabela de probabilidade de ocorrência 1406 será chamada de uma “segunda tabela de probabilidade de ocorrência”.
[0124] Uma unidade de codificação de integração 1407 integra os dados codificados gerados pela primeira unidade de codificação 1402 e os dados codificados gerados pela segunda unidade de codificação 1403, e emite os dados integrados como um fluxo de bits.
[0125] Uma operação do aparelho de codificação de imagem de acordo com a presente modalidade exemplificada será descrita em detalhes com relação aos fluxogramas ilustrados nas Figuras 3, 15 e 16. Na presente modalidade exemplificada, os dados de imagem em movimento são inseridos quadro por quadro, são divididos em blocos, e são processados em ordem raster. A presente modalidade exemplificada é configurada para inserir dados de imagem em movimento quadro por quadro, mas pode ser configurada para inserir dados de imagem estacionária correspondentes a um quadro ou inserir dados de imagem fatia por fatia, fatias nas quais um quadro é dividido. Ademais, para simplificar a descrição, a presente modalidade exemplificada será descrita com base em somente processamento de codificação de predição intra, mas não está limitada a essa. A presente modalidade exemplificada pode também ser empregada ao processamento de codificação de predição inter.
[0126] Primeiro, o processamento das etapas S301, S304 e S305 ilustradas na Figura 3 é o mesmo da primeira modalidade exemplificada, e, então, sua descrição é omitida aqui.
[0127] Então, o processamento da etapa S302 (o processamento para codificar a linha de blocos superior) será descrito em detalhes com relação ao fluxograma ilustrado na Figura 15. Como a linha de blocos superior é uma linha de blocos de número par, o bloco alvo de processamento é inserido na primeira unidade de codificação 1402 pelo seletor 1401, e é codificado pela primeira unidade de codificação 1402.
[0128] Primeiro, na etapa S1501, um parâmetro de quantização, baseado no qual um bloco é codificado, é inicializado de modo a corresponder a um valor inicial de um parâmetro de quantização para uma fatia, e é armazenado na unidade de armazenamento de parâmetro de quantização inicial 1404. Em seguida, o parâmetro de quantização, baseado no qual um bloco é codificado, será chamado de um “parâmetro de quantização de referência de bloco” de uma maneira similar à primeira modalidade exemplificada. Com relação a um parâmetro de quantização usado para quantizar um bloco alvo de quantização, seu próprio valor não é codificado como um elemento de sintaxe, mas um valor de diferença desse a partir do parâmetro de quantização de referência de bloco é codificado.
[0129] Em seguida, na etapa 1502, a primeira unidade de codificação 1402 lê o parâmetro de quantização inicializado a partir da unidade de armazenamento de parâmetro de quantização inicial 1404 como um parâmetro de quantização de referência de bloco para codificar um bloco mais à esquerda em uma linha de blocos. Em seguida, o processamento das etapas S1503 a S1507 é similar ao processamento das etapas S402, S403, e S406 a S408 ilustradas na Figura 4, respectivamente, e então, sua descrição será omitida aqui.
[0130] Entretanto, na etapa 1504, a primeira unidade de codificação 1402 codifica dados de pixel bloco por bloco.
[0131] Em seguida, o processamento da etapa S303 (o processamento para codificar a linha de blocos, que não a linha de blocos superior) será descrito em detalhes com relação ao fluxograma ilustrado na Figura 16. O seletor 1401 determina para cada linha de blocos se a linha de blocos é uma linha de blocos de número par. Se a linha de blocos é uma linha de blocos de número par, uma imagem da linha de blocos alvo de processamento é inserida na primeira unidade de codificação 1402 e codificada pela primeira unidade de codificação 1402. Se a linha de blocos é uma linha de blocos de número ímpar, uma imagem da linha de blocos alvo de processamento é inserida na segunda unidade de codificação 1403, e é codificada pela segunda unidade de codificação 1403. Primeiro, um fluxo quando a segunda unidade de codificação 1403 codifica uma linha de blocos de número ímpar será descrito.
[0132] Primeiro, na etapa S1601, um parâmetro de quantização de referência de bloco para codificar um bloco mais à esquerda em uma linha de blocos é inserido a partir da unidade de armazenamento de parâmetro de quantização inicial 1404. Em seguida, na etapa S1602, a primeira tabela de probabilidade de ocorrência é inserida a partir da primeira unidade de armazenamento de tabela de probabilidade de ocorrência 1405 como uma tabela de probabilidade de ocorrência de referência de linha de bloco.
[0133] Na etapa S1603, a segunda unidade de codificação 1403 codifica dados de pixel bloco por bloco. O processamento da etapa S1604 é similar ao processamento da etapa S1505 ilustrada na Figura 15.
[0134] Na etapa S1605, a tabela de probabilidade de ocorrência é armazenada na segunda unidade de armazenamento de tabela de probabilidade de ocorrência 1406 como uma segunda tabela de probabilidade de ocorrência. A segunda tabela de probabilidade de ocorrência será usada como uma tabela de probabilidade de ocorrência de referência de linha de bloco quando a primeira unidade de codificação 1402 codifica aritmeticamente o bloco mais à esquerda na próxima linha de blocos.
[0135] O processamento da etapa S1606 é similar ao processamento da etapa S1507 ilustrada na Figura 15.
[0136] Subsequentemente, um fluxo quando a primeira unidade de codificação 1402 codifica uma linha de blocos de número par será descrito.
[0137] Primeiro, na etapa S1601, um parâmetro de quantização de referência de bloco para codificar um bloco mais à esquerda em uma linha de blocos é inserido a partir da unidade de armazenamento de parâmetro de quantização inicial 1404. Em seguida, na etapa S1602, a segunda tabela de probabilidade de ocorrência é inserida a partir da segunda unidade de armazenamento de tabela de probabilidade de ocorrência 1406 como uma tabela de probabilidade de ocorrência de referência de linha de blocos.
[0138] O processamento das etapas S1603 a S1606 é similar ao processamento das etapas S1504 a S1507, e, então, sua descrição será omitida aqui.
[0139] A configuração e a operação descritas acima possibilitam a execução em paralelo de codificação permitindo a referência a um parâmetro de quantização de referência de bloco em adição a uma tabela de probabilidade de ocorrência, que é informação estatística, durante o processamento de um bloco mais à esquerda mesmo antes de completar o processamento de uma linha de blocos imediatamente antes da linha de blocos sendo atualmente codificada. As Figuras 17A e 17B ilustram, cada uma, como um parâmetro de quantização de referência de bloco é referido. Nas Figuras 17A e 17B, “SLICE QP” indica um valor inicial de um parâmetro de quantização fornecido a uma fatia. De acordo com a técnica convencional, como ilustrado na Figura 17A, até que o processamento de uma linha de blocos precedente seja completado, o processamento da próxima linha de blocos não pode começar. Entretanto, de acordo com a presente modalidade exemplificada, um valor inicial de um parâmetro de quantização fornecido a uma fatia pode ser chamado de um parâmetro de quantização de referência de bloco para codificar o bloco mais à esquerda na linha de blocos, eliminando assim a necessidade de esperar pelo término do processamento da linha de blocos precedente, como ilustrado na Figura 17B.
[0140] Ademais, na presente modalidade exemplificada, a codificação aritmética é usada para codificação por entropia, mas a presente invenção não está limitada a essa. Qualquer codificação pode ser empregada, contanto que, no momento da codificação por entropia baseada em informação estatística tal como a tabela de probabilidade de ocorrência, a informação estatística no meio da codificação de uma linha de blocos seja usada para executar a codificação por entropia de um bloco mais à esquerda da próxima linha de blocos.
[0141] A presente modalidade exemplificada foi descrita com base em um exemplo usando duas unidades de decodificação. Entretanto, está claro que a adição, por exemplo, de uma terceira unidade de codificação e de uma terceira unidade de armazenamento de tabela de probabilidade de ocorrência possibilita o processamento paralelo por um número maior de unidades de codificação.
[0142] A Figura 18 é um diagrama de blocos que ilustra um aparelho de decodificação de imagem de acordo com uma quarta modalidade exemplificada.
[0143] Com relação à Figura 18, um seletor 1801 determina se um bloco alvo de processamento pertence a uma linha de blocos de número par. O seletor 1801 emite o fluxo de bits descrito acima para uma primeira unidade de decodificação 1802 se o bloco alvo de processamento pertence a uma linha de blocos de número par, e ao contrário, emite o fluxo de bits descrito acima para uma segunda unidade de decodificação 1803.
[0144] As unidades de decodificação 1802 e 1803 decodificam o fluxo de bits inserido, linha de blocos por linha de blocos, como ilustrado na Figura 2. A presente modalidade exemplificada será descrita com base em um exemplo usando duas unidades de decodificação, mas a presente invenção não está limitada a essas. Com relação à Figura 2, os blocos em áreas brancas, que indicam linhas de blocos de número par incluindo uma linha de blocos superior (a 0a linha de blocos), são decodificados pela primeira unidade de decodificação 1802. Os blocos em áreas sombreadas, que indicam linhas de blocos de número ímpar, são decodificados pela segunda unidade de decodificação 1803.
[0145] Cada uma dentre a primeira e a segunda unidade de decodificação 1802 e 1803 primeiro seleciona uma tabela de probabilidade de ocorrência para sinais binários de um fluxo de bits que é um alvo de decodificação, e decodifica aritmeticamente os sinais binários com base na tabela de probabilidade de ocorrência para gerar os coeficientes de quantização. Em seguida, cada uma dentre a primeira e a segunda unidade de decodificação 1802 e 1803 quantiza inversamente os coeficientes de quantização com base em um parâmetro de quantização para gerar coeficientes de transformada. Então, cada uma dentre a primeira e a segunda unidade de decodificação 1802 e 1803 executa transformada ortogonal inversa nos coeficientes de transformada para gerar erros de predição. Em seguida, cada uma dentre a primeira e a segunda unidade de decodificação 1802 e 1803 executa compensação de movimento com relação aos pixels circundando o bloco alvo de decodificação ou outro quadro para gerar dados de imagem do bloco alvo de decodificação. Uma primeira unidade de armazenamento de parâmetro de quantização inicial 1804 armazena um valor inicial de um parâmetro de quantização. Uma primeira unidade de armazenamento de tabela de probabilidade de ocorrência 1805 armazena a tabela de probabilidade de ocorrência gerada pela primeira unidade de decodificação 1802.
[0146] Uma segunda unidade de armazenamento de tabela de probabilidade de ocorrência 1806 armazena a tabela de probabilidade de ocorrência gerada pela segunda unidade de codificação 1803. Uma unidade de integração de dados de imagem 1807 forma os dados de imagem gerados pela primeira unidade de decodificação 1802 e os dados de imagem gerados pela segunda unidade de decodificação 1803, e emite os dados de imagem formados.
[0147] Uma operação do aparelho de decodificação de imagem de acordo com a presente modalidade exemplificada será descrita em detalhes com relação aos fluxogramas ilustrados nas Figuras 9, 19 e 20. Na presente modalidade exemplificada, um fluxo de bits é inserido quadro por quadro. O fluxo de bits é dividido em partes de dados codificados, cada um dos quais corresponde a um bloco, e é então decodificado. A presente modalidade exemplificada é configurada de tal forma que um fluxo de bits é inserido quadro por quadro, mas pode ser configurada de tal forma que um quadro é dividido em fatias, e um fluxo de bits é inserido fatia por fatia. Ademais, para simplificar a descrição, a presente modalidade exemplificada será descrita com base em somente processamento de decodificação de predição intra, mas não está limitada a essa. A presente modalidade exemplificada pode também ser empregada ao processamento de decodificação de predição inter.
[0148] Primeiro, o processamento das etapas S901, S904, e S905 ilustradas na Figura 9 é o mesmo da segunda modalidade exemplificada, e, então, sua descrição é omitida aqui.
[0149] O processamento da etapa S902 (o processamento para decodificar a linha de blocos superior) será descrito em detalhes com relação ao fluxograma ilustrado na Figura 19. Como a linha de blocos superior é uma linha de blocos de número par, os dados codificados da linha de blocos alvo de processamento são inseridos na primeira unidade de decodificação 1802 pelo seletor 1801, e são decodificados pela primeira unidade de decodificação 1802.
[0150] Primeiro, na etapa S1901, um parâmetro de quantização, baseado no qual um bloco é codificado, é inicializado de modo a corresponder a um valor inicial de um parâmetro de quantização para uma fatia, e é armazenado na unidade de armazenamento de parâmetro de quantização inicial 1804. Em seguida, o parâmetro de quantização, baseado no qual um bloco é codificado, será chamado de um “parâmetro de quantização de referência de bloco” de uma maneira similar ao aparelho de decodificação de imagem de acordo com a segunda modalidade exemplificada. O parâmetro de quantização de bloco, quando um bloco alvo de decodificação é inversamente quantizado, está em tal estado que seu próprio valor não é codificado, mas um valor de diferença desse a partir do parâmetro de quantização de referência de bloco é codificado como um elemento de sintaxe. Então, no momento da decodificação, o parâmetro de quantização de bloco deveria ser gerado através da adição do parâmetro de quantização de referência de bloco e do valor de diferença descrito acima, e o aparelho de decodificação deveria executar a quantização inversa usando o parâmetro de quantização de bloco gerado.
[0151] Em seguida, na etapa S1902, a primeira unidade de decodificação 1802 lê o valor a partir da unidade de armazenamento de parâmetro de quantização inicial 1804 como um parâmetro de quantização de referência de bloco para decodificar o bloco mais à esquerda na linha de blocos. Em seguida, o processamento das etapas S1903 a S1907 é similar ao processamento das etapas S1002, S1003, S1006 a S1008, respectivamente, e, então, sua descrição é omitida aqui.
[0152] Subsequentemente, o processamento da etapa S903 (o processamento para decodificar uma linha de blocos que não a linha de blocos superior) será descrito em detalhes com relação ao fluxograma ilustrado na Figura 20. O seletor 1801 determina para cada linha de blocos se a linha de blocos é uma linha de blocos de número par. Se a linha de blocos é uma linha de blocos de número par, o fluxo de bits do bloco alvo de processamento é inserido na primeira unidade de decodificação 1802, e é decodificada pela primeira unidade de decodificação 1802. Se a linha de blocos é uma linha de blocos de número ímpar, um fluxo de bits do bloco alvo de processamento é inserido na segunda unidade de decodificação 1803, e é decodificada pela segunda unidade de decodificação 1803. Primeiro, um fluxo quando a segunda unidade de decodificação 1803 decodifica uma linha de blocos de número ímpar será descrito.
[0153] Primeiro, na etapa S2001, um parâmetro de quantização de referência de bloco para decodificar o bloco mais à esquerda na linha de blocos é inserido a partir da unidade de armazenamento de parâmetro de quantização inicial 1804. Em seguida, na etapa S2002, a primeira tabela de probabilidade de ocorrência é inserida a partir da primeira unidade de armazenamento de tabela de probabilidade de ocorrência 1805 como uma tabela de probabilidade de ocorrência de referência de linha de blocos.
[0154] Na etapa 2003, a segunda unidade de decodificação 1403 decodifica os dados de pixel bloco por bloco. O processamento da etapa S2004 é similar ao processamento da etapa S1905, e, então, sua descrição é omitida aqui.
[0155] Na etapa S2005, a tabela de probabilidade de ocorrência é armazenada na segunda unidade de armazenamento de tabela de probabilidade de ocorrência 1806 como uma segunda tabela de probabilidade de ocorrência. A segunda tabela de probabilidade de ocorrência será usada como uma tabela de probabilidade de ocorrência de referência de linha de blocos quando a primeira unidade de decodificação 1402 decodifica aritmeticamente o bloco mais à esquerda na próxima linha de blocos.
[0156] O processamento da etapa S2006 é similar ao processamento da etapa S1907, e, então, sua descrição será omitida aqui. Subsequentemente, um fluxo quando a primeira unidade de decodificação 1802 decodifica uma linha de blocos de número par será descrito.
[0157] Primeiro, na etapa S2001, um parâmetro de quantização de referência de bloco para decodificar o bloco mais à esquerda na linha de blocos é inserido a partir da unidade de armazenamento de parâmetro de quantização inicial 1804. Em seguida, na etapa S2002, a segunda tabela de probabilidade de ocorrência é inserida a partir da segunda unidade de armazenamento de tabela de probabilidade de ocorrência 1806 como uma tabela de probabilidade de ocorrência de referência de linha de blocos.
[0158] O processamento das etapas S2003 a S2006 é similar ao processamento das etapas S1904 a S1907, e, então, sua descrição será omitida aqui.
[0159] A configuração e a operação descritas acima possibilitam a execução em paralelo de decodificação permitindo a referência a um parâmetro de quantização de referência de bloco em adição a uma tabela de probabilidade de ocorrência, que é informação estatística, durante o processamento de um bloco mais à esquerda mesmo antes de completar o processamento de uma linha de blocos imediatamente antes da linha de blocos que é atualmente codificada.
[0160] Ademais, na presente modalidade exemplificada, a decodificação aritmética é usada para decodificação por entropia, mas a presente invenção não está limitada a essa. Qualquer decodificação pode ser empregada, contanto que, no momento da decodificação por entropia baseada em informação estatística tal como a tabela de probabilidade de ocorrência, a informação estatística no meio da decodificação de uma linha de blocos seja usada para executar a decodificação por entropia de um bloco mais à esquerda da próxima linha de blocos.
[0161] A presente modalidade exemplificada foi descrita com base em um exemplo usando duas unidades de decodificação. Entretanto, está claro que a adição, por exemplo, de uma terceira unidade de decodificação e de uma terceira unidade de armazenamento de tabela de probabilidade de ocorrência possibilita o processamento paralelo por um número maior de unidades de decodificação.
[0162] A Figura 21 é um diagrama de blocos que ilustra um aparelho de codificação de imagem de acordo com uma quinta modalidade exemplificada.
[0163] Com relação à Figura 21, um seletor 2101 determina se um bloco alvo de processamento pertence a uma linha de blocos de número par. O seletor 2101 emite o bloco para uma primeira unidade de codificação 2102 se o bloco pertence a uma linha de blocos de número par, e ao contrário, emite o bloco para uma segunda unidade de codificação 2103.
[0164] A primeira e a segunda unidade de codificação 2102 e 2103 codificam blocos nos quais uma imagem de entrada é dividida por n x n pixels (“n” é um inteiro positivo de 2 ou mais), linha por linha, como ilustrado na Figura 2. A presente modalidade exemplificada será descrita com base em um exemplo usando duas unidades de codificação, mas a presente invenção não está limitada a essa. Com relação à Figura 2, a seção 201 indicada como um quadrado desenhado com uma linha fina representa um bloco, e a seção 202 indicada por um retângulo desenhado com uma linha espessa representa uma linha de blocos. Ademais, os blocos em áreas brancas, que indicam linhas de blocos de número par incluindo uma linha de blocos superior (a 0a linha de blocos), são codificados pela primeira unidade de codificação 2102. Os blocos em áreas sombreadas, que indicam linhas de blocos de número ímpar, são codificados pela segunda unidade de codificação 2103.
[0165] Cada uma dentre a primeira e a segunda unidade de codificação 2102 e 2103 primeiro gera erros de predição de acordo com a predição com relação aos pixels circundando o bloco alvo de codificação ou outro quadro, e executa transformada ortogonal para gerar coeficientes de transformada. Em seguida, cada uma dentre a primeira e a segunda unidade de codificação 2102 e 2103 determina um parâmetro de quantização para os coeficientes de transformada ortogonalmente transformados, e quantiza cada coeficiente de transformada para gerar coeficientes de quantização. Em seguida, cada uma dentre a primeira e a segunda unidade de codificação 2102 e 2103 binariza cada elemento de sintaxe incluindo os coeficientes de quantização para gerar sinais binários. Uma probabilidade de ocorrência é atribuída a cada elemento de sintaxe antecipadamente como uma tabela (em seguida chamada de uma “tabela de probabilidade de ocorrência”). Os sinais binários são aritmeticamente codificados com base na tabela de probabilidade de ocorrência descrita acima. Então, cada vez que um sinal binário é codificado, a tabela de probabilidade de ocorrência é atualizada usando a informação estatística indicando se o sinal binário codificado é o símbolo mais provável.
[0166] Uma unidade de armazenamento de parâmetro de quantização inicial 2104 armazena um valor inicial de um parâmetro de quantização. Uma unidade de armazenamento de tabela de probabilidade de ocorrência inicial 2105 armazena um valor inicial de uma tabela de probabilidade de ocorrência. Uma unidade de codificação de integração 2106 integra os dados codificados gerados pela primeira unidade de codificação 2102 e os dados codificados gerados pela segunda unidade de codificação 2103, e emite os dados integrados como um fluxo de bits.
[0167] Uma operação do aparelho de codificação de imagem de acordo com a presente modalidade exemplificada será descrita em detalhes com relação aos fluxogramas ilustrados nas Figuras 3, 22 e 23. Na presente modalidade exemplificada, os dados de imagem em movimento são inseridos quadro por quadro, são divididos em blocos, e são processados em ordem raster. A presente modalidade exemplificada é configurada para inserir dados de imagem em movimento quadro por quadro, mas pode ser configurada para inserir dados de imagem estacionária correspondentes a um quadro ou inserir dados de imagem fatia por fatia, fatias nas quais um quadro é dividido. Ademais, para simplificar a descrição, a presente modalidade exemplificada será descrita com base em somente processamento de codificação de predição intra, mas não está limitada a essa. A presente modalidade exemplificada pode também ser empregada ao processamento de codificação de predição inter.
[0168] O processamento das etapas S301, S304 e S305 ilustradas na Figura 3 é o mesmo da primeira modalidade exemplificada, e, então, sua descrição é omitida aqui.
[0169] O processamento da etapa S302 (o processamento para codificar a linha de blocos superior) será descrito em detalhes com relação ao fluxograma ilustrado na Figura 22. Como a linha de blocos superior é uma linha de blocos de número par, o bloco alvo de processamento é inserido na primeira unidade de codificação 2102 pelo seletor 2101, e é codificado pela primeira unidade de codificação 2102.
[0170] Primeiro, na etapa S2201, um parâmetro de quantização, baseado no qual um bloco é codificado, é inicializado de modo a corresponder a um valor inicial de um parâmetro de quantização para uma fatia, e é armazenado na unidade de armazenamento de parâmetro de quantização inicial 2104. Em seguida, o parâmetro de quantização, baseado no qual um bloco é codificado, será chamado de um “parâmetro de quantização de referência de bloco” de uma maneira similar à primeira modalidade exemplificada. Com relação a um parâmetro de quantização usado para quantizar um bloco alvo de quantização, seu próprio valor não é codificado como um elemento de sintaxe, mas um valor de diferença desse a partir do parâmetro de quantização de referência de bloco é codificado.
[0171] Em seguida, na etapa 2202, a primeira unidade de codificação 2102 lê o parâmetro de quantização inicializado a partir da unidade de armazenamento de parâmetro de quantização inicial 2104 como um parâmetro de quantização de referência de bloco para codificar um bloco mais à esquerda em uma linha de blocos. Em seguida, na etapa 2203, uma tabela de probabilidade de ocorrência é inicializada por um método predeterminado, e é armazenada na unidade de armazenamento de tabela de probabilidade de ocorrência inicial 2105. A tabela de probabilidade de ocorrência armazenada na unidade de armazenamento de tabela de probabilidade de ocorrência 2105 é usada para codificar aritmeticamente o primeiro sinal binário do bloco mais à esquerda na linha de blocos, e é atualizada quando necessário na etapa S2205, que será descrita abaixo. Em seguida, a tabela de probabilidade de ocorrência usada para codificar aritmeticamente um sinal binário de um primeiro bloco em uma linha de blocos será chamada de uma “tabela de probabilidade de ocorrência de referência de linha de blocos” de uma maneira similar à primeira modalidade exemplificada.
[0172] Em seguida, na etapa S2204, a primeira unidade de codificação 2102 lê o parâmetro de quantização inicializado a partir da unidade de armazenamento de tabela de probabilidade de ocorrência inicial 2105 como uma tabela de probabilidade de ocorrência de referência de linha de blocos.
[0173] Em seguida, o processamento das etapas S2205 e S2206 é similar ao processamento das etapas S403 e S408 ilustradas na Figura 4, respectivamente, e, então, sua descrição é omitida aqui. Entretanto, na etapa S2205, a primeira unidade de codificação 2012 codifica os dados de pixel bloco por bloco. Subsequentemente, o processamento da etapa S303 (o processamento para codificar a linha de blocos, que não a linha de blocos superior) será descrito em detalhes com relação ao fluxograma ilustrado na Figura 23. O seletor 2101 determina para cada linha de blocos se a linha de blocos é uma linha de blocos de número par. Se a linha de blocos é uma linha de blocos de número par, uma imagem da linha de blocos alvo de processamento é inserida na primeira unidade de codificação 2102 e é codificada pela primeira unidade de codificação 2102. Se a linha de blocos é uma linha de blocos de número ímpar, uma imagem da linha de blocos alvo de processamento é inserida na segunda unidade de codificação 2103, e é codificada pela segunda unidade de codificação 2103. Primeiro, um fluxo quando a segunda unidade de codificação 2103 codifica uma linha de blocos de número ímpar será descrito.
[0174] Primeiro, na etapa S2301, um parâmetro de quantização de referência de bloco para codificar um bloco mais à esquerda em uma linha de blocos é inserido a partir da unidade de armazenamento de parâmetro de quantização inicial 2104.
[0175] Em seguida, na etapa S2302, o valor é inserido a partir da unidade de armazenamento de tabela de probabilidade de ocorrência inicial 2105 como uma tabela de probabilidade de ocorrência de referência de linha de bloco.
[0176] Em seguida, na etapa S2303, a segunda unidade de codificação 2103 codifica dados de pixel bloco por bloco. O processamento da etapa S2304 é similar ao processamento da etapa S2206 ilustrada na Figura 22. Subsequentemente, um fluxo quando a primeira unidade de codificação 2102 codifica uma linha de blocos de número par será descrito. Primeiro, na etapa S2301, um parâmetro de quantização de referência de bloco para codificar um bloco mais à esquerda na linha de blocos é inserido a partir da unidade de armazenamento de parâmetro de quantização inicial 2104. Em seguida, na etapa S2302, o valor é inserido a partir da unidade de armazenamento de tabela de probabilidade de ocorrência inicial 2105 como uma tabela de probabilidade de ocorrência de referência de linha de blocos.
[0177] O processamento das etapas S2303 a S2304 é similar ao processamento das etapas S2205 e S2206, e, então, sua descrição será omitida aqui.
[0178] A configuração e a operação descritas acima possibilitam a execução em paralelo de codificação usando uma tabela de probabilidade de ocorrência, que é informação estatística, e um valor inicializado como um parâmetro de quantização de referência de bloco durante o processamento de um bloco mais à esquerda mesmo antes de completar o processamento de uma linha de blocos imediatamente antes da linha de blocos que está sendo atualmente codificada. Ademais, na presente modalidade exemplificada, a codificação aritmética é usada para codificação por entropia, mas a presente invenção não está limitada a essa. Qualquer método de codificação pode ser empregado, contanto que a informação estatística seja inicializada no início do processamento de codificação, o processamento de codificação é executado com o uso da informação estatística, e a informação estatística é atualizada cada vez que o processamento de codificação é executado.
[0179] A presente modalidade exemplificada foi descrita com base em um exemplo usando duas unidades de decodificação. Entretanto, está claro que a adição, por exemplo, de uma terceira unidade de codificação possibilita o processamento paralelo por um número maior de unidades de codificação.
[0180] A Figura 24 é um diagrama de blocos que ilustra um aparelho de decodificação de imagem de acordo com uma sexta modalidade exemplificada.
[0181] Com relação à Figura 24, um seletor 2401 determina se um bloco alvo de processamento pertence a uma linha de blocos de número par. O seletor 2401 emite o bloco para uma primeira unidade de decodificação 2402 se o bloco pertence a uma linha de blocos de número par, e ao contrário, emite o bloco para uma segunda unidade de decodificação 2403.
[0182] A primeira e a segunda unidade de decodificação 2402 e 2403 decodificam o fluxo de bits inserido, linha por linha, como ilustrado na Figura 2. Em seguida, a linha de blocos será chamada de “linha de blocos”. A presente modalidade exemplificada será descrita com base em um exemplo usando duas unidades de decodificação, mas presente invenção não está limitada a essas. Com relação à Figura 2, a seção 201 indicada como um quadrado desenhado com uma linha fina representa um bloco, e uma seção 202 indicada por um retângulo desenhado com uma linha espessa representa uma linha de blocos. Ademais, os blocos em áreas brancas, que indicam linhas de blocos de número par incluindo uma linha de blocos superior (a 0a linha de blocos), são decodificados pela primeira unidade de decodificação 2402. Os blocos em áreas sombreadas, que indicam linhas de blocos de número ímpar, são decodificados pela segunda unidade de decodificação 2403.
[0183] Cada uma dentre a primeira e a segunda unidade de decodificação 2402 e 2403 primeiro seleciona uma tabela de probabilidade de ocorrência para um sinal binário de um fluxo de bits que é um alvo de decodificação, e decodifica aritmeticamente o sinal binário com base na tabela de probabilidade de ocorrência para gerar os coeficientes de quantização. Em seguida, cada uma dentre a primeira e a segunda unidade de decodificação 2402 e 2403 quantiza inversamente os coeficientes de quantização com base em um parâmetro de quantização para gerar coeficientes de transformada. Então, cada uma dentre a primeira e a segunda unidade de decodificação 2402 e 2403 executa transformada ortogonal inversa nos coeficientes de transformada para gerar erros de predição. Em seguida, cada uma dentre a primeira e a segunda unidade de decodificação 2402 e 2403 executa predição com relação aos pixels circundando o bloco alvo de decodificação ou outro quadro para gerar dados de imagem do bloco alvo de decodificação.
[0184] Uma unidade de armazenamento de parâmetro de quantização inicial 2404 armazena um valor inicial de um parâmetro de quantização. Uma unidade de armazenamento de tabela de probabilidade de ocorrência 2405 armazena um valor inicial de uma tabela de probabilidade de ocorrência. Uma unidade de integração de dados de imagem 2406 forma os dados de imagem gerados pela primeira unidade de decodificação 2402 e os dados de imagem gerados pela segunda unidade de decodificação 2403, e emite os dados formados.
[0185] Uma operação do aparelho de decodificação de imagem de acordo com a presente modalidade exemplificada será descrita em detalhes com relação aos fluxogramas ilustrados nas Figuras 9, 25 e 26. Na presente modalidade exemplificada, um fluxo de bits é inserido quadro por quadro. O fluxo de bits é dividido em partes de dados codificados, cada uma das quais corresponde a um bloco, e é então decodificado. A presente modalidade exemplificada é configurada de tal forma que um fluxo de bits é inserido quadro por quadro, mas pode ser configurada de tal forma que um quadro é dividido em fatias, e um fluxo de bits é inserido fatia por fatia. Ademais, para simplificar a descrição, a presente modalidade exemplificada será descrita com base em somente processamento de decodificação de predição intra, mas não está limitada a essa. A presente modalidade exemplificada pode também ser empregada ao processamento de decodificação de predição inter.
[0186] O processamento das etapas S901, S904 e S905 ilustradas na Figura 9 é p mesmo da segunda modalidade exemplificada, e, então, sua descrição é omitida aqui.
[0187] O processamento da etapa S902 (o processamento para decodificar a linha de blocos superior) será descrito em detalhes com relação ao fluxograma ilustrado na Figura 25. Como a linha de blocos superior é uma linha de blocos de número par, os dados codificados de uma linha de blocos alvo de processamento são inseridos na primeira unidade de decodificação 2402 pelo seletor 2401, e são decodificados pela primeira unidade de decodificação 2402.
[0188] Primeiro, na etapa S2501, um parâmetro de quantização, baseado no qual um bloco é decodificado, é inicializado de modo a corresponder a um valor inicial de um parâmetro de quantização para uma fatia, e é armazenado na unidade de armazenamento de parâmetro de quantização inicial 2404. Em seguida, o parâmetro de quantização, baseado no qual um bloco é decodificado, será chamado de um “parâmetro de quantização de referência de bloco” de uma maneira similar à segunda modalidade exemplificada. O parâmetro de quantização de bloco, quando um bloco alvo de decodificação é inversamente quantizado, está em tal estado que seu próprio valor não é codificado, mas um valor de diferença desse a partir do parâmetro de quantização de referência de bloco é codificado como um elemento de sintaxe. Então, no momento da decodificação, o parâmetro de quantização de bloco deveria ser gerado através da adição do parâmetro de quantização de referência de bloco e do valor de diferença descrito acima, e o aparelho de decodificação deveria executar a quantização inversa.
[0189] Em seguida, na etapa S2502, a primeira unidade de decodificação 2402 lê o valor a partir da unidade de armazenamento de parâmetro de quantização inicial 2404 como um parâmetro de quantização de referência de bloco para codificar o bloco mais à esquerda na linha de blocos. Em seguida, na etapa S2503, a tabela de probabilidade de ocorrência é inicializada por um método predeterminado, e é armazenada na unidade de armazenamento de tabela de probabilidade de ocorrência inicial 2405. A tabela de probabilidade de ocorrência armazenada na unidade de armazenamento de tabela de probabilidade de ocorrência inicial 2405 é usada para decodificar aritmeticamente o primeiro sinal binário do bloco mais à esquerda na linha de blocos, e é atualizada quando necessário na etapa S2505, o que será descrito abaixo. Em seguida, a tabela de probabilidade de ocorrência usada para decodificar aritmeticamente um primeiro sinal binário de um bloco inicial em uma linha de blocos será chamada de uma “tabela de probabilidade de ocorrência de referência de linha de bloco”, de uma maneira similar à segunda modalidade exemplificada.
[0190] Em seguida, na etapa S2504, a primeira unidade de decodificação 2402 lê o valor a partir da unidade de armazenamento de tabela de probabilidade de ocorrência inicial 2405 como uma tabela de probabilidade de ocorrência de referência de linha de blocos.
[0191] Em seguida, o processamento das etapas S2505 e S2506 é similar ao processamento das etapas S1003 e S1008 ilustradas na Figura 10, respectivamente, e, então, sua descrição é omitida aqui.
[0192] Entretanto, na etapa S2505, a primeira unidade de decodificação 2402 decodifica dados de pixel bloco por bloco.
[0193] Subsequentemente, o processamento da etapa S903 (o processamento para decodificar uma linha de blocos que não a linha de blocos superior) será descrito em detalhes com relação ao fluxograma ilustrado na Figura 26. O seletor 2401 determina para cada linha de blocos se a linha de blocos é uma linha de blocos de número par. Se a linha de blocos é uma linha de blocos de número par, o fluxo de bits do bloco alvo de processamento é inserido na primeira unidade de decodificação 2402 e é decodificada pela primeira unidade de decodificação 2402. Se a linha de blocos é uma linha de blocos de número ímpar, um fluxo de bits do bloco alvo de processamento é inserido na segunda unidade de decodificação 2403, e é decodificada pela segunda unidade de decodificação 2403. Primeiro, um fluxo quando a segunda unidade de decodificação 2403 decodifica uma linha de blocos de número ímpar será descrito.
[0194] Primeiro, na etapa S2601, um parâmetro de quantização de referência de bloco para decodificar o bloco mais à esquerda na linha de blocos é inserido a partir da unidade de armazenamento de parâmetro de quantização inicial 2404.
[0195] Em seguida, na etapa S2602, o valor é inserido a partir da unidade de armazenamento de tabela de probabilidade de ocorrência inicial 2405 como uma tabela de probabilidade de ocorrência de referência de linha de bloco.
[0196] Em seguida, na etapa S2603, a segunda unidade de decodificação 2403 decodifica dados de pixel bloco por bloco. O processamento da etapa S2604 é similar ao processamento da etapa S2506 ilustrada na Figura 25. Subsequentemente, um fluxo quando a primeira unidade de codificação 2402 decodifica uma linha de blocos de número par será descrito. Primeiro, na etapa S2601, um parâmetro de quantização de referência de bloco para decodificar um bloco mais à esquerda em uma linha de blocos é inserido a partir da unidade de armazenamento de parâmetro de quantização inicial 2404. Em seguida, na etapa S2602, o valor é inserido a partir da unidade de armazenamento de tabela de probabilidade de ocorrência inicial 2405 como uma tabela de probabilidade de ocorrência de referência de linha de blocos.
[0197] O processamento das etapas S2603 e S2604 é similar ao processamento das etapas S2505 e S2506, e, então, sua descrição será omitida aqui.
[0198] A configuração e a operação descritas acima possibilitam a execução em paralelo de decodificação usando uma tabela de probabilidade de ocorrência, que é informação estatística, e um valor inicializado como um parâmetro de quantização de referência de bloco durante o processamento de um bloco mais à esquerda mesmo antes de completar o processamento de uma linha de blocos imediatamente antes da linha de blocos que está sendo atualmente decodificada.
[0199] Ademais, na presente modalidade exemplificada, a decodificação aritmética é usada para decodificação por entropia, mas a presente invenção não está limitada a essa. Qualquer método de decodificação pode ser empregado, contanto que a informação estatística seja inicializada no início do processamento de decodificação, o processamento de decodificação é executado com o uso da informação estatística, e a informação estatística é atualizada cada vez que o processamento de decodificação é executado.
[0200] A presente modalidade exemplificada foi descrita com base em um exemplo usando duas unidades de decodificação. Entretanto, está claro que a adição, por exemplo, de uma terceira unidade de decodificação possibilita o processamento paralelo por um número maior de unidades de decodificação.
[0201] As modalidades exemplificadas descritas acima foram descritas assumindo-se que as respectivas unidades de processamento ilustradas nas Figuras 1, 8, 14, 18, 21 e 24 são realizadas por aparelhos de hardware. Entretanto, o processamento executado pelas respectivas unidades de processamento ilustradas nas Figuras 1, 8, 14, 18, 21 e 24 pode ser realizado por instruções executáveis por computador.
[0202] A Figura 13 é um diagrama de blocos que ilustra um exemplo de uma configuração de hardware de um computador empregado como os aparelhos de processamento de imagem de acordo com as respectivas modalidades exemplificadas descritas acima.
[0203] Uma unidade de processamento central (CPU) 1301 controla o computador inteiro com o uso de um programa de computador e dados armazenados em uma memória de acesso aleatório (RAM) 1302 e uma memória somente de leitura (ROM) 1303, e executa os respectivos tipos de processamento que foram descritos a serem executados pelos aparelhos de processamento de imagem de acordo com as respectivas modalidades exemplificadas descritas acima. Em outras palavras, a CPU 1301 funciona como as respectivas unidades de processamento ilustradas nas Figuras 1, 8, 14, 18, 21 e 24.
[0204] A RAM 1302 tem uma área para armazenar temporariamente, por exemplo, um programa de computador e dados carregados a partir de um dispositivo de armazenamento externo 1306, e dados adquiridos a partir do exterior via uma interface (I/F) 1307. Ademais, a RAM 1302 tem uma área de trabalho usada quando a CPU 1301 executa vários tipos de processamento. Em outras palavras, por exemplo, a RAM 1302 pode ser atribuída como uma memória de quadro ou pode fornecer outros vários tipos de áreas quando necessário.
[0205] A ROM 1303 armazena, por exemplo, dados de configuração do presente computador e um programa de inicialização. Uma unidade de operação 1304 inclui um teclado e um mouse. Um usuário do presente computador pode inserir vários tipos de instruções à CPU 1301 através da operação da unidade de operação 1304. A unidade de exibição 1305 exibe um resultado do processamento executado pela CPU 1301. Ademais, a unidade de exibição 1305 inclui um dispositivo de exibição tal como uma tela de cristal líquido.
[0206] O dispositivo de armazenamento externo 1306 é um dispositivo de armazenamento de informação de grande capacidade representado por um dispositivo de unidade de disco rígido. O dispositivo de armazenamento externo 1306 armazena um sistema operacional (OS), e o programa de computador para habilitar a CPU 1301 a realizar as funções das respectivas unidades ilustradas nas Figuras 1, 8, 14, 18, 21 e 24. Ademais, o dispositivo de armazenamento externo 1306 pode armazenar dados de imagem como um alvo de processamento.
[0207] O programa de computador e os dados armazenados no dispositivo de armazenamento externo 1306 são carregados na RAM 1302 quando necessário, de acordo com o controle pela CPU 1301, e são processados pela CPU 1301. Uma rede tal como uma rede de área local (LAN) e a Internet, e outro dispositivo tal como um dispositivo de projeção e um dispositivo de exibição podem ser conectados ao I/F 1307. O computador pode adquirir e transmitir vários tipos de informação via o I/F 1307. Um barramento 1308 conecta as respectivas unidades descritas acima entre si.
[0208] Como a operação pela configuração descrita acima, a CPU 1301 desempenha uma função central em controlar as operações explicadas com relação aos fluxogramas descritos acima.
[0209] A presente invenção pode ser também incorporada fornecendo um meio de armazenamento armazenando instruções capazes de realizar as funções descritas acima para um sistema, e fazer com que o sistema leia e execute as instruções. Nesse caso, as instruções lidas a partir do meio de armazenamento realizam as funções das modalidades exemplificadas descritas acima, e o meio de armazenamento armazenando as instruções está dentro do escopo da presente invenção. Alternativamente, um sistema operacional (OS) ou similar que funciona em um computador pode executar uma parte ou todo o processamento real com base nas instruções, realizando assim as funções descritas cima por esse processamento. Esse caso está também dentro do escopo da presente invenção.
[0210] Ainda alternativamente, a presente invenção pode ser incorporada pela seguinte modalidade; instruções lidas a partir do meio de armazenamento podem ser gravados em um cartão de expansão de função inserido em um computador ou uma memória fornecida a unidade de expansão de função conectada a um computador, e uma CPU ou similar fornecida ao cartão de expansão de função ou a unidade de expansão de função pode executar uma parte ou todo o processamento real com base nas instruções, realizando assim as funções descritas acima. Esse caso está também dentro do escopo da presente invenção.
[0211] Em um caso onde a presente invenção é incorporada pelo meio de armazenamento descrito acima, o meio de armazenamento armazena instruções correspondentes aos fluxogramas descritos acima.
[0212] Enquanto a presente invenção foi 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 abranger todas as modificações, estruturas equivalentes, e funções.
[0213] Este pedido reivindica a prioridade a partir do Pedido de Patente japonês No. 2011-243940 depositado em 7 de novembro de 2011, que é aqui incorporado por referência.

Claims (12)

1. Aparelho de codificação de imagem configurado para codificar uma ima-gem em uma ou mais fatias, cada uma incluindo uma pluralidade de blocos, o aparelho de codificação de imagem caracterizado pelo fato de que compreende: primeiro dispositivo de codificação (102) para codificar blocos incluídos em uma primeira linha de bloco da fatia em uma ordem começando de um bloco mais à esquerda, a primeira linha de bloco compreendendo uma pluralidade de blocos dis-posta em uma direção horizontal; e segundo dispositivo de codificação (103) para codificar blocos incluídos em uma segunda linha de bloco da fatia em uma ordem começando de um bloco mais à esquerda, a segunda linha de bloco compreendendo uma pluralidade de blocos dis-posta em uma direção horizontal, em que, quando codificando por entropia um primeiro bloco na ordem de codificação de blocos na segunda linha de bloco, o segundo dispositivo de codificação é disposto para se referir a informação estatística atualizada por codificação por entropia de um bloco predeterminado incluído na primeira linha de bloco como informação estatística inicial para o primeiro bloco na ordem de codificação de blocos na segunda linha de bloco, o primeiro dispositivo de codificação é disposto para codificar um parâmetro de quantização do primeiro bloco na ordem do codificação de blocos na primeira linha de bloco usando um parâmetro de quantização de fatia que é fornecido à fatia como um valor inicial, o segundo dispositivo de codificação é disposto para codificar um parâme-tro de quantização do primeiro bloco na ordem de codificação de blocos na segunda linha de bloco usando um parâmetro de quantização de fatia que é usado pelo primeiro dispositivo de codificação quando codificando o parâmetro de quantização do primeiro bloco na primeira linha de bloco, e parâmetros de quantização de blocos subsequentes do primeiro bloco na primeira linha de bloco e parâmetros de quantização de blocos subsequentes do pri- meiro bloco na segunda linha de bloco são codificados usando o parâmetro de quan- tização de um bloco precedente na linha de bloco respectiva de acordo com a ordem de codificação.
2. Aparelho de codificação de imagem, de acordo com a reivindicação 1, caracterizado pelo fato de que o bloco predeterminado é um bloco de número n° pre-determinado na ordem de codificação de blocos na primeira linha de bloco.
3. Aparelho de codificação de imagem, de acordo com a reivindicação 1, caracterizado pelo fato de que a informação estatística é a informação indicando uma probabilidade de ocorrência de um sinal binário codificado.
4. Aparelho de codificação de imagem, de acordo com a reivindicação 1, caracterizado pelo fato de que, após um número predeterminado de blocos a partir do primeiro bloco na ordem de codificação de blocos na primeira linha de bloco são codificados pelo primeiro dispositivo de codificação, o segundo dispositivo de codificação codifica um bloco incluído na segunda linha de bloco em paralelo com o processamento para codificar um bloco após o número no bloco predeterminado pelo primeiro dispositivo de codificação.
5. Aparelho de codificação de imagem, de acordo com a reivindicação 1, caracterizado pelo fato de que a primeira linha de bloco compreende blocos incluídos em uma primeira linha da fatia, a fatia incluindo uma pluralidade de linhas de blocos, e em que a segunda linha de bloco compreende os blocos incluídos em uma segunda linha localizada abaixo da primeira linha.
6. Aparelho de decodificação de imagem configurado para decodificar da-dos de código que são codificados em unidades de fatias, cada uma incluindo uma pluralidade de blocos, o aparelho de decodificação de imagem caracterizado pelo fato de que compreende: primeiro dispositivo de decodificação (802) para decodificar blocos incluí-dos em uma primeira linha de bloco da fatia em uma ordem começando de um bloco mais à esquerda, a primeira linha de bloco compreendendo uma pluralidade de blocos disposta em uma direção horizontal; segundo dispositivo de decodificação (803) para decodificar blocos incluí-dos em uma segunda linha de bloco da fatia em uma ordem começando de um bloco mais à esquerda, a segunda linha de bloco compreendendo uma pluralidade de blocos disposta em uma direção horizontal, em que, quando a decodificação por entropia de um primeiro bloco na or-dem de decodificação de blocos na segunda linha de bloco, o segundo dispositivo de decodificação é disposto para se referir à informação estatística atualizada por deco- dificação de entropia de um bloco predeterminado incluído na primeira linha de bloco como informação estatística inicial para o primeiro bloco na ordem de decodificação dos blocos na segunda linha de bloco, o primeiro dispositivo de decodificação é disposto para decodificar um pa-râmetro de quantização do primeiro bloco na ordem de decodificação dos blocos na primeira linha de bloco usando um parâmetro de quantização de fatia que é fornecido à fatia como um valor inicial, o segundo dispositivo de decodificação é disposto para decodificar um pa-râmetro de quantização do primeiro bloco na ordem de decodificação dos blocos na segunda linha de bloco usando o parâmetro de quantização de fatia que é usado pelo primeiro dispositivo de decodificação quando decodificando o parâmetro de quantiza- ção do primeiro bloco na primeira linha de bloco, e parâmetros de quantização de blocos subsequentes do primeiro bloco na primeira linha de bloco e parâmetros de quantização de blocos subsequentes do pri-meiro bloco na segunda linha de bloco são decodificados usando o parâmetro de quantização de um bloco precedente na linha de bloco respectiva de acordo com a ordem de decodificação.
7. Aparelho de decodificação de imagem, de acordo com a reivindicação 6, caracterizado pelo fato de que o bloco predeterminado é um bloco de número n° predeterminado na ordem de decodificação de blocos na primeira linha de bloco.
8. Aparelho de decodificação de imagem, de acordo com a reivindicação 6, caracterizado pelo fato de que a informação estatística é informação indicando uma probabilidade de ocorrência de um sinal binário codificado.
9. Aparelho de decodificação de imagem, de acordo com a reivindicação 6, caracterizado pelo fato de que, após um número predeterminado de blocos a partir do primeiro bloco na ordem de decodificação dos blocos na primeira linha de bloco ser decodificado pelo primeiro dispositivo de decodificação, o segundo dispositivo de de- codificação decodifica um bloco incluído na segunda linha de bloco em paralelo para o primeiro dispositivo de decodificação decodificar um bloco em seguida do número no de blocos predeterminado pelo dispositivo de decodificação.
10. Aparelho de decodificação de imagem, de acordo com a reivindicação 6, caracterizado pelo fato de que a primeira linha de bloco consiste de blocos incluídos em uma primeira linha da fatia incluindo uma pluralidade de linhas de bloco, e em que a segunda linha de bloco consiste de blocos incluídos em uma se-gunda linha localizada abaixo da primeira linha.
11. Método de codificação de imagem para codificar uma imagem em uma ou mais fatias, cada uma incluindo uma pluralidade de blocos, o método de codifica-ção de imagem caracterizado pelo fato de que compreende: uma primeira etapa de codificação para codificar blocos incluídos em uma primeira linha de bloco da fatia em uma ordem começando de um bloco mais à es-querda, a primeira linha de bloco compreendendo uma pluralidade de blocos disposta em uma direção horizontal; e uma segunda etapa de codificação para codificar blocos incluídos em uma segunda linha de bloco da fatia em uma ordem começando de um bloco mais à es-querda, a segunda linha de bloco compreendendo uma pluralidade de blocos disposta em uma direção horizontal, em que, quando codificando por entropia um primeiro bloco na ordem de codificação de blocos na segunda linha de bloco, a segunda etapa de codificação inclui se referir à informação estatística atualizada pela codificação por entropia de um bloco predeterminado incluído na primeira linha de bloco como informação estatística inicial para o primeiro bloco na ordem de codificação de blocos na segunda linha de bloco, quando codificando o primeiro bloco, a primeira etapa de codificação inclui codificar um parâmetro de quantização do primeiro bloco na ordem de codificação dos blocos na primeira linha de bloco, usando um parâmetro de quantização de fatia que é fornecido à fatia como um valor inicial, quando codificando o primeiro bloco, a segunda etapa de codificação inclui a codificação de um parâmetro de quantização do primeiro bloco na ordem de codifi-cação dos blocos na segunda linha de bloco usando o parâmetro de quantização de fatia que é usado na primeira etapa de codificação quando codificando o parâmetro de quantização do primeiro bloco na primeira linha de bloco, e parâmetros de quantização de blocos subsequentes do primeiro bloco na primeira linha de bloco e parâmetros de quantização de blocos subsequentes do pri-meiro bloco na segunda linha de bloco são codificados usando o parâmetro de quan- tização de um bloco precedente na linha de bloco respectiva de acordo com a ordem de codificação.
12. Método de decodificação de imagem para decodificar dados de código codificados fatia por fatia, cada fatia incluindo uma pluralidade de blocos, o método de decodificação de imagem caracterizado pelo fato de que compreende: uma primeira etapa de decodificação para decodificar blocos incluídos em uma primeira linha de bloco da fatia em uma ordem começando de um bloco mais à esquerda, a primeira linha de bloco compreendendo uma pluralidade de blocos dis-posta em uma direção horizontal; e uma segunda etapa de decodificação para decodificar blocos incluídos em uma segunda linha de bloco da fatia em uma ordem começando de um bloco mais à esquerda, a segunda linha de bloco compreendendo uma pluralidade de blocos dis-postos em uma direção horizontal, em que, quando decodificando por entropia um primeiro bloco na ordem de decodificação de blocos na segunda linha de bloco, a segunda etapa de decodificação inclui se referir à informação estatística atualizada pela decodificação por entropia de um bloco predeterminado incluído na primeira linha de bloco como informação estatística inicial para o primeiro bloco na ordem de decodificação dos blocos na segunda linha de bloco, a primeira etapa de decodificação inclui decodificar um parâmetro de quan- tização do primeiro bloco na ordem de decodificação de blocos na primeira linha de bloco usando um parâmetro de quantização de fatia que é fornecido à fatia como um valor inicial, a segunda etapa de decodificação inclui a decodificação de um parâmetro de quantização do primeiro bloco na ordem de decodificação dos blocos na segunda linha de bloco usando o parâmetro de quantização de fatia que é usado na primeira etapa de decodificação quando decodificando o parâmetro de quantização do primeiro bloco na primeira linha de bloco, e parâmetros de quantização de blocos subsequentes do primeiro bloco na primeira linha de bloco e parâmetros de quantização de blocos subsequentes do pri-meiro bloco na segunda linha de bloco são decodificados usando o parâmetro de quantização de um bloco precedente na linha de bloco respectiva de acordo com a ordem de decodificação.
BR112014010898-6A 2011-11-07 2012-11-05 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 BR112014010898B1 (pt)

Priority Applications (1)

Application Number Priority Date Filing Date Title
BR122019025425-7A BR122019025425B1 (pt) 2011-11-07 2012-11-05 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

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2011-243940 2011-11-07
JP2011243940 2011-11-07
PCT/JP2012/007065 WO2013069245A1 (en) 2011-11-07 2012-11-05 Image coding apparatus, image coding method, image decoding apparatus, image decoding method, and program

Publications (2)

Publication Number Publication Date
BR112014010898A2 BR112014010898A2 (pt) 2017-05-16
BR112014010898B1 true BR112014010898B1 (pt) 2022-10-04

Family

ID=47358509

Family Applications (4)

Application Number Title Priority Date Filing Date
BR122019025425-7A BR122019025425B1 (pt) 2011-11-07 2012-11-05 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
BR112014010898-6A BR112014010898B1 (pt) 2011-11-07 2012-11-05 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
BR122019025424-9A BR122019025424B1 (pt) 2011-11-07 2012-11-05 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
BR122019025427-3A BR122019025427B1 (pt) 2011-11-07 2012-11-05 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

Family Applications Before (1)

Application Number Title Priority Date Filing Date
BR122019025425-7A BR122019025425B1 (pt) 2011-11-07 2012-11-05 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

Family Applications After (2)

Application Number Title Priority Date Filing Date
BR122019025424-9A BR122019025424B1 (pt) 2011-11-07 2012-11-05 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
BR122019025427-3A BR122019025427B1 (pt) 2011-11-07 2012-11-05 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

Country Status (16)

Country Link
US (6) US10070129B2 (pt)
EP (5) EP3806464B1 (pt)
JP (7) JP6080375B2 (pt)
KR (8) KR101882157B1 (pt)
CN (6) CN107529058B (pt)
BR (4) BR122019025425B1 (pt)
ES (5) ES2964924T3 (pt)
HR (3) HRP20231357T1 (pt)
HU (3) HUE043263T2 (pt)
IN (1) IN2014CN04001A (pt)
PL (5) PL3806464T3 (pt)
PT (3) PT3806466T (pt)
RS (3) RS65025B1 (pt)
RU (7) RU2586024C2 (pt)
TR (1) TR201905906T4 (pt)
WO (1) WO2013069245A1 (pt)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6080375B2 (ja) * 2011-11-07 2017-02-15 キヤノン株式会社 画像符号化装置、画像符号化方法及びプログラム、画像復号装置、画像復号方法及びプログラム
JP2013150215A (ja) 2012-01-20 2013-08-01 Fujitsu Ltd 動画像復号装置、動画像符号化装置、動画像復号方法、動画像符号化方法、動画像復号プログラム及び動画像符号化プログラム
PL3448029T3 (pl) * 2012-01-30 2021-12-20 Samsung Electronics Co., Ltd. Sposób i urządzenie do kodowania i dekodowania wideo w oparciu o dane hierarchiczne z uwzględnieniem predykcji parametrów kwantyzacji
JP6080405B2 (ja) * 2012-06-29 2017-02-15 キヤノン株式会社 画像符号化装置、画像符号化方法及びプログラム、画像復号装置、画像復号方法及びプログラム
CN104581158B (zh) * 2013-10-16 2019-02-26 中兴通讯股份有限公司 量化表、图像压缩处理方法、装置、终端及图像搜索系统
JP2016054514A (ja) * 2015-11-09 2016-04-14 富士通株式会社 動画像符号化装置、動画像符号化方法、動画像符号化プログラム
JP6317720B2 (ja) * 2015-11-09 2018-04-25 富士通株式会社 動画像符号化装置、動画像符号化方法、動画像符号化プログラム
JP6065090B2 (ja) * 2015-11-09 2017-01-25 富士通株式会社 動画像復号装置、動画像復号方法、動画像復号プログラム
EP3244610A1 (en) * 2016-05-12 2017-11-15 Thomson Licensing Method and device for context-adaptive binary arithmetic coding a sequence of binary symbols representing a syntax element related to video data
CN106791408A (zh) * 2016-12-27 2017-05-31 努比亚技术有限公司 一种拍摄预览装置、终端及方法
JP6311821B2 (ja) * 2017-04-18 2018-04-18 富士通株式会社 動画像処理装置及び動画像処理方法
CN109246431B (zh) * 2017-07-10 2021-06-04 北京君正集成电路股份有限公司 一种基于量化参数配置的视频编码方法、装置和电子设备
JP7187572B2 (ja) * 2018-03-29 2022-12-12 フラウンホーファー-ゲゼルシャフト・ツール・フェルデルング・デル・アンゲヴァンテン・フォルシュング・アインゲトラーゲネル・フェライン 並列符号化機能の強化概念
JP6982253B2 (ja) 2018-10-31 2021-12-17 日本電信電話株式会社 復号装置、符号化装置、復号方法、符号化方法、及びプログラム
MX2021010155A (es) 2019-04-17 2021-09-14 Apple Inc Metodo de codificacion/decodificacion de se?ales de imagen y dispositivo para el mismo.
CN111726626B (zh) * 2020-06-18 2022-05-03 格兰菲智能科技有限公司 集成电路及用于视频解码的概率表存储方法

Family Cites Families (46)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2911468B2 (ja) * 1989-02-21 1999-06-23 キヤノン株式会社 記憶装置及び再生装置
KR0170937B1 (ko) * 1994-12-14 1999-03-20 배순훈 영상 데이타 부호화 장치
KR100468844B1 (ko) * 2002-01-07 2005-01-29 삼성전자주식회사 정지영상 및 동영상을 부호화/복호화하기 위한변환계수들의 최적주사방법
KR100954609B1 (ko) * 2002-04-23 2010-04-26 노키아 코포레이션 비디오 부호화 시스템에서 양자화 변수들을 표시하는 방법및 장치
JP3679083B2 (ja) * 2002-10-08 2005-08-03 株式会社エヌ・ティ・ティ・ドコモ 画像符号化方法、画像復号方法、画像符号化装置、画像復号装置、画像符号化プログラム、画像復号プログラム
EP1839446A1 (en) * 2005-01-19 2007-10-03 THOMSON Licensing Method and apparatus for real time parallel encoding
US8885707B2 (en) * 2005-04-01 2014-11-11 Panasonic Corporation Image decoding apparatus and image decoding method
JP2007089035A (ja) * 2005-09-26 2007-04-05 Toshiba Corp 動画像符号化方法、装置及びプログラム
US20070086528A1 (en) * 2005-10-18 2007-04-19 Mauchly J W Video encoder with multiple processors
PT2950544T (pt) * 2006-01-09 2019-07-10 Hans Georg Musmann Codificação adaptativa do erro de predição em codificação de vídeo híbrida
KR100772873B1 (ko) * 2006-01-12 2007-11-02 삼성전자주식회사 스무딩 예측을 이용한 다계층 기반의 비디오 인코딩 방법,디코딩 방법, 비디오 인코더 및 비디오 디코더
US8848789B2 (en) * 2006-03-27 2014-09-30 Qualcomm Incorporated Method and system for coding and decoding information associated with video compression
JP4735375B2 (ja) * 2006-04-04 2011-07-27 株式会社日立製作所 画像処理装置及び動画像符号化方法。
US8000388B2 (en) 2006-07-17 2011-08-16 Sony Corporation Parallel processing apparatus for video compression
US7460725B2 (en) * 2006-11-09 2008-12-02 Calista Technologies, Inc. System and method for effectively encoding and decoding electronic information
JP5026092B2 (ja) 2007-01-12 2012-09-12 三菱電機株式会社 動画像復号装置および動画像復号方法
JP2008193627A (ja) * 2007-01-12 2008-08-21 Mitsubishi Electric Corp 画像符号化装置、画像復号装置、および画像符号化方法、画像復号方法
CN101658042B (zh) * 2007-03-13 2016-03-02 诺基亚技术有限公司 用于视频编码和解码的系统和方法
US8724698B2 (en) * 2007-04-13 2014-05-13 Apple Inc. Method and system for video rate control
JP4835554B2 (ja) * 2007-09-06 2011-12-14 ソニー株式会社 符号化装置及び方法、復号装置及び方法、並びにプログラム
US8204327B2 (en) * 2007-10-01 2012-06-19 Cisco Technology, Inc. Context adaptive hybrid variable length coding
US8542730B2 (en) * 2008-02-22 2013-09-24 Qualcomm, Incorporated Fast macroblock delta QP decision
US8542748B2 (en) 2008-03-28 2013-09-24 Sharp Laboratories Of America, Inc. Methods and systems for parallel video encoding and decoding
WO2009150808A1 (ja) * 2008-06-10 2009-12-17 パナソニック株式会社 画像復号装置および画像符号化装置
WO2010005691A1 (en) * 2008-06-16 2010-01-14 Dolby Laboratories Licensing Corporation Rate control model adaptation based on slice dependencies for video coding
JP5241622B2 (ja) * 2008-07-02 2013-07-17 キヤノン株式会社 符号化装置および符号化方法
WO2010067505A1 (ja) * 2008-12-08 2010-06-17 パナソニック株式会社 画像復号化装置および画像復号化方法
JP5604825B2 (ja) * 2009-08-19 2014-10-15 ソニー株式会社 画像処理装置および方法
US8879623B2 (en) * 2009-09-02 2014-11-04 Sony Computer Entertainment Inc. Picture-level rate control for video encoding a scene-change I picture
US20110090952A1 (en) * 2009-10-21 2011-04-21 Cohen Robert A Directional Transforms for Video and Image Coding
CN102754437B (zh) * 2009-10-29 2015-03-18 松下电器(美国)知识产权公司 图像编码方法、图像编码装置及集成电路
KR101279507B1 (ko) * 2009-12-15 2013-06-28 한국전자통신연구원 병렬 처리 기반 파이프라인 복호화 장치 및 방법
JP5914962B2 (ja) * 2010-04-09 2016-05-11 ソニー株式会社 画像処理装置および方法、プログラム、並びに、記録媒体
KR20110126417A (ko) 2010-05-17 2011-11-23 삼성전기주식회사 저항기 및 저항기 형성방법
JP5875236B2 (ja) * 2011-03-09 2016-03-02 キヤノン株式会社 画像符号化装置、画像符号化方法及びプログラム、画像復号装置、画像復号方法及びプログラム
US9521418B2 (en) * 2011-07-22 2016-12-13 Qualcomm Incorporated Slice header three-dimensional video extension for slice header prediction
US9077998B2 (en) * 2011-11-04 2015-07-07 Qualcomm Incorporated Padding of segments in coded slice NAL units
CN107197284B (zh) * 2011-11-07 2020-03-27 太阳专利托管公司 图像编码解码装置
JP2013102297A (ja) * 2011-11-07 2013-05-23 Canon Inc 画像符号化方法、画像符号化装置及びプログラム、画像復号方法、画像復号装置及びプログラム
JP6080375B2 (ja) * 2011-11-07 2017-02-15 キヤノン株式会社 画像符号化装置、画像符号化方法及びプログラム、画像復号装置、画像復号方法及びプログラム
JP2013150215A (ja) * 2012-01-20 2013-08-01 Fujitsu Ltd 動画像復号装置、動画像符号化装置、動画像復号方法、動画像符号化方法、動画像復号プログラム及び動画像符号化プログラム
PL3448029T3 (pl) * 2012-01-30 2021-12-20 Samsung Electronics Co., Ltd. Sposób i urządzenie do kodowania i dekodowania wideo w oparciu o dane hierarchiczne z uwzględnieniem predykcji parametrów kwantyzacji
JP6080405B2 (ja) * 2012-06-29 2017-02-15 キヤノン株式会社 画像符号化装置、画像符号化方法及びプログラム、画像復号装置、画像復号方法及びプログラム
US9544566B2 (en) * 2012-12-14 2017-01-10 Qualcomm Incorporated Disparity vector derivation
WO2014106496A1 (en) * 2013-01-07 2014-07-10 Mediatek Inc. Method and apparatus of depth to disparity vector conversion for three-dimensional video coding
US10721471B2 (en) * 2017-10-26 2020-07-21 Intel Corporation Deep learning based quantization parameter estimation for video encoding

Also Published As

Publication number Publication date
KR101803020B1 (ko) 2017-11-30
JP2019024226A (ja) 2019-02-14
EP2777275A1 (en) 2014-09-17
PL3806464T3 (pl) 2024-03-11
CN107529058B (zh) 2020-11-10
EP3806465A1 (en) 2021-04-14
RU2718424C1 (ru) 2020-04-02
JP6591018B2 (ja) 2019-10-16
KR20190092624A (ko) 2019-08-07
KR101700889B1 (ko) 2017-01-31
PL2777275T3 (pl) 2019-07-31
CN107396119B (zh) 2020-03-06
BR122019025424B1 (pt) 2022-11-29
KR20170133518A (ko) 2017-12-05
KR20160052775A (ko) 2016-05-12
ES2725559T3 (es) 2019-09-24
US20170302931A1 (en) 2017-10-19
BR112014010898A2 (pt) 2017-05-16
PT3806465T (pt) 2023-11-16
US20200195926A1 (en) 2020-06-18
US20180324425A1 (en) 2018-11-08
RU2668729C1 (ru) 2018-10-02
ES2861801T3 (es) 2021-10-06
RU2758583C1 (ru) 2021-10-29
JP6410853B2 (ja) 2018-10-24
JP7102586B2 (ja) 2022-07-19
JP2019024224A (ja) 2019-02-14
PL3499893T3 (pl) 2021-08-02
PT3806466T (pt) 2023-10-31
RU2586024C2 (ru) 2016-06-10
EP3499893A1 (en) 2019-06-19
RS64714B1 (sr) 2023-11-30
KR102007713B1 (ko) 2019-08-06
EP3806465B1 (en) 2023-10-18
US10609369B2 (en) 2020-03-31
US10110897B2 (en) 2018-10-23
CN107396119A (zh) 2017-11-24
EP3806466A1 (en) 2021-04-14
HRP20231737T1 (hr) 2024-03-15
CN107360428A (zh) 2017-11-17
US11647190B2 (en) 2023-05-09
KR102047640B1 (ko) 2019-11-21
JP6080375B2 (ja) 2017-02-15
TR201905906T4 (tr) 2019-05-21
KR20170012591A (ko) 2017-02-02
US20140334538A1 (en) 2014-11-13
HUE063705T2 (hu) 2024-01-28
WO2013069245A1 (en) 2013-05-16
CN107360428B (zh) 2020-05-05
BR122019025427B1 (pt) 2022-09-27
CN107371031B (zh) 2020-06-26
US11064198B2 (en) 2021-07-13
US10582199B2 (en) 2020-03-03
HRP20231357T1 (hr) 2024-02-16
JP2019024225A (ja) 2019-02-14
RS65025B1 (sr) 2024-01-31
RU2014123374A (ru) 2015-12-20
HRP20231736T1 (hr) 2024-03-15
JP6591019B2 (ja) 2019-10-16
EP3806466B1 (en) 2023-08-02
US20210329235A1 (en) 2021-10-21
RU2634212C1 (ru) 2017-10-24
IN2014CN04001A (pt) 2015-10-23
BR122019025425B1 (pt) 2023-11-14
PL3806466T3 (pl) 2024-02-05
RU2746746C1 (ru) 2021-04-20
RS65026B1 (sr) 2024-01-31
JP2017092982A (ja) 2017-05-25
PL3806465T3 (pl) 2024-04-02
JP2021145369A (ja) 2021-09-24
PT3806464T (pt) 2023-11-14
EP2777275B1 (en) 2019-03-13
EP3806464B1 (en) 2023-10-18
HUE053341T2 (hu) 2021-06-28
CN103931187B (zh) 2017-09-05
ES2964924T3 (es) 2024-04-10
JP6591020B2 (ja) 2019-10-16
CN107396120B (zh) 2020-03-06
EP3806464A1 (en) 2021-04-14
KR20180085828A (ko) 2018-07-27
JP2019213232A (ja) 2019-12-12
US20180324424A1 (en) 2018-11-08
CN103931187A (zh) 2014-07-16
EP3499893B1 (en) 2021-01-06
CN107371031A (zh) 2017-11-21
CN107529058A (zh) 2017-12-29
ES2956216T3 (es) 2023-12-15
KR101799248B1 (ko) 2017-11-17
KR20190032654A (ko) 2019-03-27
CN107396120A (zh) 2017-11-24
KR20140098775A (ko) 2014-08-08
KR101882157B1 (ko) 2018-07-25
JP2013123206A (ja) 2013-06-20
HUE043263T2 (hu) 2019-08-28
KR101645830B1 (ko) 2016-08-12
ES2961824T3 (es) 2024-03-14
KR101962396B1 (ko) 2019-03-26
US10070129B2 (en) 2018-09-04
RU2695531C1 (ru) 2019-07-23
KR20170012590A (ko) 2017-02-02

Similar Documents

Publication Publication Date Title
BR112014010898B1 (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

Legal Events

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

Ipc: H04N 19/119 (2014.01), H04N 19/124 (2014.01), H04N

B06F Objections, documents and/or translations needed after an examination request according [chapter 6.6 patent gazette]
B06U Preliminary requirement: requests with searches performed by other patent offices: procedure suspended [chapter 6.21 patent gazette]
B350 Update of information on the portal [chapter 15.35 patent gazette]
B07A Application suspended after technical examination (opinion) [chapter 7.1 patent gazette]
B09A Decision: intention to grant [chapter 9.1 patent gazette]
B16A Patent or certificate of addition of invention granted [chapter 16.1 patent gazette]

Free format text: PRAZO DE VALIDADE: 20 (VINTE) ANOS CONTADOS A PARTIR DE 05/11/2012, OBSERVADAS AS CONDICOES LEGAIS