BR122019025424B1 - 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 - Google Patents
Aparelho de codificação de imagem, método de codificação de imagem, aparelho de decodificação de imagem, método de decodificação de imagem e meio de armazenamento Download PDFInfo
- Publication number
- BR122019025424B1 BR122019025424B1 BR122019025424-9A BR122019025424A BR122019025424B1 BR 122019025424 B1 BR122019025424 B1 BR 122019025424B1 BR 122019025424 A BR122019025424 A BR 122019025424A BR 122019025424 B1 BR122019025424 B1 BR 122019025424B1
- Authority
- BR
- Brazil
- Prior art keywords
- quantization parameter
- row
- blocks
- block
- difference value
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims description 37
- 238000013139 quantization Methods 0.000 claims abstract description 296
- 238000009795 derivation Methods 0.000 claims 2
- 238000012545 processing Methods 0.000 description 222
- 238000010586 diagram Methods 0.000 description 14
- 230000006870 function Effects 0.000 description 10
- 238000004590 computer program Methods 0.000 description 4
- 238000012546 transfer Methods 0.000 description 4
- 238000007796 conventional method Methods 0.000 description 3
- 230000010354 integration Effects 0.000 description 2
- 230000006866 deterioration Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods 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/124—Quantisation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods 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/124—Quantisation
- H04N19/126—Details of normalisation or weighting functions, e.g. normalisation matrices or variable uniform quantisers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods 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/13—Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods 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/17—Methods 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/176—Methods 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/189—Methods 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/196—Methods 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/46—Embedding additional information in the video signal during the compression process
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods 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/119—Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/189—Methods 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/196—Methods 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/197—Methods 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/42—Methods 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/436—Methods 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/90—Methods 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/91—Entropy coding, e.g. variable length coding [VLC] or arithmetic coding
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Computing Systems (AREA)
- Theoretical Computer Science (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Compression Of Band Width Or Redundancy In Fax (AREA)
Abstract
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
[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 um meio de armazenamento, e em particular, a um método para codificar/decodificar um parâmetro de quantização em uma imagem.
[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.
[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.
[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.
[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; as 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 as 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 (6)
1. Aparelho de codificação de imagem que gera um fluxo de bits que será decodificado por um aparelho de decodificação de imagem, o aparelho de codificação de imagem sendo caracterizado pelo fato de que compreende: uma unidade de aquisição configurada para adquirir dados de imagem; e uma unidade de codificação configurada para codificar os dados de ima-gem em um fluxo de bits usando parâmetros de quantização, em que a unidade de codificação é configurada: para codificar um valor de diferença entre um parâmetro de quantização de fatia e um primeiro parâmetro de quantização de uma primeira linha em uma fatia, em que o valor de diferença é para o primeiro parâmetro de quantização da primeira linha, em que o valor de diferença é codificado no fluxo de bits, e em que o parâmetro de quantização de fatia é fornecido para a fatia; para codificar um valor de diferença entre um primeiro parâmetro de quan- tização de uma segunda linha na fatia e um segundo parâmetro de quantização da segunda linha, em que o valor de diferença é para o segundo parâmetro de quantiza- ção da segunda linha, e em que o valor de diferença é codificado no fluxo de bits; e para codificar um valor de diferença entre o parâmetro de quantização de fatia e o primeiro parâmetro de quantização da segunda linha, em que o valor de diferença é para o primeiro parâmetro de quantização da segunda linha, e em que o valor de diferença é codificado no fluxo de bits.
2. Aparelho de decodificação de imagem que decodifica dados de imagem de um fluxo de bits, o aparelho de decodificação de imagem sendo caracterizado pelo fato de que compreende: uma unidade de derivação configurada para derivar parâmetros de quanti- zação com base em valores de diferença decodificados do fluxo de bits; e uma unidade de decodificação configurada para decodificar dados de imagem usando os parâmetros de quantização, em que a unidade de derivação é configurada: para derivar um primeiro parâmetro de quantização de uma primeira linha em uma fatia pela adição de um valor de diferença a um parâmetro de quantização de fatia, em que o valor de diferença é um valor de diferença entre o parâmetro de quan- tização de fatia e o primeiro parâmetro de quantização da primeira linha, e em que o parâmetro de quantização de fatia é fornecido à fatia; para derivar um segundo parâmetro de quantização de uma segunda linha na fatia pela adição de um valor de diferença a um primeiro parâmetro de quantização da segunda linha, em que o valor de diferença é um valor de diferença entre o primeiro parâmetro de quantização da segunda linha e o segundo parâmetro de quantização da segunda linha; e para derivar o primeiro parâmetro de quantização da segunda linha pela adição de um valor de diferença ao parâmetro de quantização de fatia, em que o valor de diferença é um valor de diferença entre o parâmetro de quantização de fatia e o primeiro parâmetro de quantização da segunda linha.
3. Método de codificação de imagem que gera um fluxo de bits que será decodificado por um método de decodificação de imagem, caracterizado pelo fato de que compreende: adquirir dados de imagem; e codificar os dados de imagem em um fluxo de bits usando parâmetros de quantização, em que a codificação compreende codificar um valor de diferença entre um parâmetro de quantização de fatia e um primeiro parâmetro de quantização de uma primeira linha em uma fatia, em que o valor de diferença é para o primeiro parâmetro de quantização da primeira linha, em que o valor de diferença é codificado no fluxo de bits, e em que o parâmetro de quan- tização de fatia é fornecido para a fatia; codificar um valor de diferença entre um primeiro parâmetro de quantização de uma segunda linha na fatia e um segundo parâmetro de quantização da segunda linha, em que o valor de diferença é para o segundo parâmetro de quantização da segunda linha, e em que o valor de diferença é codificado no fluxo de bits; e codificar um valor de diferença entre o parâmetro de quantização de fatia e o primeiro parâmetro de quantização da segunda linha, em que o valor de diferença é para o primeiro parâmetro de quantização da segunda linha, e em que o valor de diferença é codificado no fluxo de bits.
4. Método de decodificação de imagem que decodifica dados de imagem de um fluxo de bits, caracterizado pelo fato de que compreende: derivar parâmetros de quantização com base em valores de diferença de-codificados do fluxo de bits; e decodificar dados de imagem usando parâmetros de quantização, em que a derivação compreende: derivar um primeiro parâmetro de quantização de uma primeira linha em uma fatia pela adição de um valor de diferença a um parâmetro de quantização de fatia, em que o valor de diferença é um valor de diferença entre o parâmetro de quan- tização de fatia e o primeiro parâmetro de quantização da primeira linha, e em que o parâmetro de quantização de fatia é fornecido à fatia; derivar um segundo parâmetro de quantização de uma segunda linha na fatia pela adição de um valor de diferença a um primeiro parâmetro de quantização da segunda linha, em que o valor de diferença é um valor de diferença entre o primeiro parâmetro de quantização da segunda linha e o segundo parâmetro de quantização da segunda linha; e derivar o primeiro parâmetro de quantização da segunda linha pela adição de um valor de diferença ao parâmetro de quantização de fatia, em que o valor de diferença é um valor de diferença entre o parâmetro de quantização de fatia e o pri-meiro parâmetro de quantização da segunda linha.
5. Meio de armazenamento caracterizado por armazenar instruções que fazem com que um aparelho de codificação de imagem execute operações compre-endendo: adquirir dados de imagem; e codificar os dados de imagem em um fluxo de bits usando parâmetros de quantização, em que a codificação compreende codificar um valor de diferença entre um parâmetro de quantização de fatia e um primeiro parâmetro de quantização de uma primeira linha em uma fatia, em que o valor de diferença é para o primeiro parâmetro de quantização da primeira linha, em que o valor de diferença é codificado no fluxo de bits, e em que o parâmetro de quan- tização de fatia é fornecido para a fatia; codificar um valor de diferença entre um primeiro parâmetro de quantização de uma segunda linha na fatia e um segundo parâmetro de quantização da segunda linha, em que o valor de diferença é para o segundo parâmetro de quantização da segunda linha, e em que o valor de diferença é codificado no fluxo de bits; e codificar um valor de diferença entre o parâmetro de quantização de fatia e o primeiro parâmetro de quantização da segunda linha, em que o valor de diferença é para o primeiro parâmetro de quantização da segunda linha, e em que o valor de diferença é codificado no fluxo de bits.
6. Meio de armazenamento caracterizado por armazenar instruções que fazem com que um aparelho de decodificação de imagem execute operações com-preendendo: derivar parâmetros de quantização com base em valores de diferença de-codificados do fluxo de bits; e decodificar dados de imagem usando parâmetros de quantização, em que a derivação compreende: derivar um primeiro parâmetro de quantização de uma primeira linha em uma fatia pela adição de um valor de diferença a um parâmetro de quantização de fatia, em que o valor de diferença é um valor de diferença entre o parâmetro de quan- tização de fatia e o primeiro parâmetro de quantização da primeira linha, e em que o parâmetro de quantização de fatia é fornecido à fatia; derivar um segundo parâmetro de quantização de uma segunda linha na fatia pela adição de um valor de diferença a um primeiro parâmetro de quantização da segunda linha, em que o valor de diferença é um valor de diferença entre o primeiro parâmetro de quantização da segunda linha e o segundo parâmetro de quantização da segunda linha; e derivar o primeiro parâmetro de quantização da segunda linha pela adição de um valor de diferença ao parâmetro de quantização de fatia, em que o valor de diferença é um valor de diferença entre o parâmetro de quantização de fatia e o pri-meiro parâmetro de quantização da segunda linha.
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 (1)
Publication Number | Publication Date |
---|---|
BR122019025424B1 true BR122019025424B1 (pt) | 2022-11-29 |
Family
ID=47358509
Family Applications (4)
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 |
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 |
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 |
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 (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
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 |
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 |
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 |
Country Status (16)
Country | Link |
---|---|
US (6) | US10070129B2 (pt) |
EP (5) | EP3806465B1 (pt) |
JP (7) | JP6080375B2 (pt) |
KR (8) | KR101799248B1 (pt) |
CN (6) | CN107396120B (pt) |
BR (4) | BR122019025424B1 (pt) |
ES (5) | ES2861801T3 (pt) |
HR (3) | HRP20231736T1 (pt) |
HU (5) | HUE064820T2 (pt) |
IN (1) | IN2014CN04001A (pt) |
PL (5) | PL3806466T3 (pt) |
PT (3) | PT3806466T (pt) |
RS (3) | RS65025B1 (pt) |
RU (7) | RU2634212C1 (pt) |
TR (1) | TR201905906T4 (pt) |
WO (1) | WO2013069245A1 (pt) |
Families Citing this family (17)
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 | 中兴通讯股份有限公司 | 量化表、图像压缩处理方法、装置、终端及图像搜索系统 |
JP6395219B2 (ja) | 2015-01-27 | 2018-09-26 | 日本電気株式会社 | ネットワークシステム |
JP6065090B2 (ja) * | 2015-11-09 | 2017-01-25 | 富士通株式会社 | 動画像復号装置、動画像復号方法、動画像復号プログラム |
JP2016054514A (ja) * | 2015-11-09 | 2016-04-14 | 富士通株式会社 | 動画像符号化装置、動画像符号化方法、動画像符号化プログラム |
JP6317720B2 (ja) * | 2015-11-09 | 2018-04-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 | 北京君正集成电路股份有限公司 | 一种基于量化参数配置的视频编码方法、装置和电子设备 |
KR102566836B1 (ko) * | 2018-03-29 | 2023-08-16 | 프라운호퍼 게젤샤프트 쭈르 푀르데룽 데어 안겐반텐 포르슝 에. 베. | 병렬 코딩 기능들 향상을 위한 컨셉 |
JP6982253B2 (ja) | 2018-10-31 | 2021-12-17 | 日本電信電話株式会社 | 復号装置、符号化装置、復号方法、符号化方法、及びプログラム |
WO2020213963A1 (ko) | 2019-04-17 | 2020-10-22 | 주식회사 엑스리스 | 영상 신호 부호화/복호화 방법 및 이를 위한 장치 |
CN111726626B (zh) * | 2020-06-18 | 2022-05-03 | 格兰菲智能科技有限公司 | 集成电路及用于视频解码的概率表存储方法 |
Family Cites Families (46)
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 | 삼성전자주식회사 | 정지영상 및 동영상을 부호화/복호화하기 위한변환계수들의 최적주사방법 |
AU2003285850A1 (en) * | 2002-04-23 | 2004-04-30 | Nokia Corporation | Method and device for indicating quantizer parameters in a video coding system |
JP3679083B2 (ja) | 2002-10-08 | 2005-08-03 | 株式会社エヌ・ティ・ティ・ドコモ | 画像符号化方法、画像復号方法、画像符号化装置、画像復号装置、画像符号化プログラム、画像復号プログラム |
US9219917B2 (en) * | 2005-01-19 | 2015-12-22 | Thomson Licensing | Method and apparatus for real time parallel encoding |
DE602006020556D1 (de) * | 2005-04-01 | 2011-04-21 | Panasonic Corp | Bilddecodierungsvorrichtung und bilddecodierungsverfahren |
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 |
JP2008193627A (ja) * | 2007-01-12 | 2008-08-21 | Mitsubishi Electric Corp | 画像符号化装置、画像復号装置、および画像符号化方法、画像復号方法 |
JP5026092B2 (ja) | 2007-01-12 | 2012-09-12 | 三菱電機株式会社 | 動画像復号装置および動画像復号方法 |
RU2420023C1 (ru) | 2007-03-13 | 2011-05-27 | Нокиа Корпорейшн | Система и способ кодирования и декодирования видеосигналов |
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 |
JP5756921B2 (ja) * | 2008-06-10 | 2015-07-29 | パナソニックIpマネジメント株式会社 | 画像復号装置、画像復号方法、画像符号化装置、画像符号化方法、プログラムおよび集積回路 |
EP2286595A1 (en) * | 2008-06-16 | 2011-02-23 | Dolby Laboratories Licensing Corporation | Rate control model adaptation based on slice dependencies for video coding |
JP5241622B2 (ja) * | 2008-07-02 | 2013-07-17 | キヤノン株式会社 | 符号化装置および符号化方法 |
JP5341104B2 (ja) * | 2008-12-08 | 2013-11-13 | パナソニック株式会社 | 画像復号化装置および画像復号化方法 |
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 |
US8718149B2 (en) * | 2009-10-29 | 2014-05-06 | Panasonic Corporation | Image coding method and image decoding method |
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 |
EP2779648A4 (en) * | 2011-11-07 | 2016-06-01 | Panasonic Ip Corp America | PICTURE CODING METHOD, PICTURE DECODING METHOD, PICTURE CODING DEVICE, PICTURE DECODING DEVICE, AND PICTURE CODING / DECODING DEVICE |
JP6080375B2 (ja) * | 2011-11-07 | 2017-02-15 | キヤノン株式会社 | 画像符号化装置、画像符号化方法及びプログラム、画像復号装置、画像復号方法及びプログラム |
JP2013102297A (ja) * | 2011-11-07 | 2013-05-23 | Canon Inc | 画像符号化方法、画像符号化装置及びプログラム、画像復号方法、画像復号装置及びプログラム |
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 | キヤノン株式会社 | 画像符号化装置、画像符号化方法及びプログラム、画像復号装置、画像復号方法及びプログラム |
US9350970B2 (en) * | 2012-12-14 | 2016-05-24 | Qualcomm Incorporated | Disparity vector derivation |
JP2016506195A (ja) * | 2013-01-07 | 2016-02-25 | 聯發科技股▲ふん▼有限公司Mediatek Inc. | 3次元ビデオ符号化の深度から視差ベクトルを導出する方法および装置 |
US10721471B2 (en) * | 2017-10-26 | 2020-07-21 | Intel Corporation | Deep learning based quantization parameter estimation for video encoding |
-
2012
- 2012-04-10 JP JP2012089552A patent/JP6080375B2/ja active Active
- 2012-11-05 HR HRP20231736TT patent/HRP20231736T1/hr unknown
- 2012-11-05 PT PT202057873T patent/PT3806466T/pt unknown
- 2012-11-05 WO PCT/JP2012/007065 patent/WO2013069245A1/en active Application Filing
- 2012-11-05 RS RS20231270A patent/RS65025B1/sr unknown
- 2012-11-05 HR HRP20231357TT patent/HRP20231357T1/hr unknown
- 2012-11-05 CN CN201710680729.1A patent/CN107396120B/zh active Active
- 2012-11-05 BR BR122019025424-9A patent/BR122019025424B1/pt active IP Right Grant
- 2012-11-05 CN CN201710680518.8A patent/CN107396119B/zh active Active
- 2012-11-05 US US14/356,506 patent/US10070129B2/en active Active
- 2012-11-05 KR KR1020177002011A patent/KR101799248B1/ko active IP Right Grant
- 2012-11-05 HU HUE20205785A patent/HUE064820T2/hu unknown
- 2012-11-05 BR BR112014010898-6A patent/BR112014010898B1/pt active IP Right Grant
- 2012-11-05 RU RU2016116007A patent/RU2634212C1/ru active
- 2012-11-05 PL PL20205787.3T patent/PL3806466T3/pl unknown
- 2012-11-05 EP EP20205785.7A patent/EP3806465B1/en active Active
- 2012-11-05 PT PT202057824T patent/PT3806464T/pt unknown
- 2012-11-05 BR BR122019025427-3A patent/BR122019025427B1/pt active IP Right Grant
- 2012-11-05 KR KR1020187020887A patent/KR101962396B1/ko active IP Right Grant
- 2012-11-05 RU RU2014123374/08A patent/RU2586024C2/ru active
- 2012-11-05 BR BR122019025425-7A patent/BR122019025425B1/pt active IP Right Grant
- 2012-11-05 CN CN201280054786.4A patent/CN103931187B/zh active Active
- 2012-11-05 HU HUE20205782A patent/HUE064821T2/hu unknown
- 2012-11-05 KR KR1020147015322A patent/KR101645830B1/ko active IP Right Grant
- 2012-11-05 PL PL20205782.4T patent/PL3806464T3/pl unknown
- 2012-11-05 RS RS20230969A patent/RS64714B1/sr unknown
- 2012-11-05 ES ES19151520T patent/ES2861801T3/es active Active
- 2012-11-05 HR HRP20231737TT patent/HRP20231737T1/hr unknown
- 2012-11-05 ES ES12801780T patent/ES2725559T3/es active Active
- 2012-11-05 PL PL12801780T patent/PL2777275T3/pl unknown
- 2012-11-05 ES ES20205785T patent/ES2964924T3/es active Active
- 2012-11-05 CN CN201710680762.4A patent/CN107371031B/zh active Active
- 2012-11-05 KR KR1020167010847A patent/KR101700889B1/ko active IP Right Grant
- 2012-11-05 PL PL20205785.7T patent/PL3806465T3/pl unknown
- 2012-11-05 TR TR2019/05906T patent/TR201905906T4/tr unknown
- 2012-11-05 PT PT202057857T patent/PT3806465T/pt unknown
- 2012-11-05 ES ES20205787T patent/ES2956216T3/es active Active
- 2012-11-05 EP EP20205787.3A patent/EP3806466B1/en active Active
- 2012-11-05 ES ES20205782T patent/ES2961824T3/es active Active
- 2012-11-05 HU HUE12801780A patent/HUE043263T2/hu unknown
- 2012-11-05 KR KR1020177002010A patent/KR101803020B1/ko active IP Right Grant
- 2012-11-05 CN CN201710680761.XA patent/CN107529058B/zh active Active
- 2012-11-05 EP EP20205782.4A patent/EP3806464B1/en active Active
- 2012-11-05 HU HUE19151520A patent/HUE053341T2/hu unknown
- 2012-11-05 KR KR1020197022475A patent/KR102047640B1/ko active IP Right Grant
- 2012-11-05 EP EP12801780.3A patent/EP2777275B1/en active Active
- 2012-11-05 HU HUE20205787A patent/HUE063705T2/hu unknown
- 2012-11-05 KR KR1020177033981A patent/KR101882157B1/ko active IP Right Grant
- 2012-11-05 RS RS20231271A patent/RS65026B1/sr unknown
- 2012-11-05 PL PL19151520T patent/PL3499893T3/pl unknown
- 2012-11-05 KR KR1020197008121A patent/KR102007713B1/ko active IP Right Grant
- 2012-11-05 CN CN201710680730.4A patent/CN107360428B/zh active Active
- 2012-11-05 EP EP19151520.4A patent/EP3499893B1/en active Active
-
2014
- 2014-05-28 IN IN4001CHN2014 patent/IN2014CN04001A/en unknown
-
2017
- 2017-01-19 JP JP2017007750A patent/JP6410853B2/ja active Active
- 2017-07-05 US US15/642,185 patent/US10110897B2/en active Active
- 2017-10-02 RU RU2017134031A patent/RU2668729C1/ru active
-
2018
- 2018-07-19 US US16/040,371 patent/US10609369B2/en active Active
- 2018-07-19 US US16/040,368 patent/US10582199B2/en active Active
- 2018-09-25 JP JP2018178356A patent/JP6591020B2/ja active Active
- 2018-09-25 RU RU2018133687A patent/RU2695531C1/ru active
- 2018-09-25 JP JP2018178351A patent/JP6591018B2/ja active Active
- 2018-09-25 JP JP2018178355A patent/JP6591019B2/ja active Active
-
2019
- 2019-07-11 RU RU2019121671A patent/RU2718424C1/ru active
- 2019-09-18 JP JP2019169905A patent/JP2019213232A/ja active Pending
-
2020
- 2020-02-24 US US16/799,431 patent/US11064198B2/en active Active
- 2020-03-17 RU RU2020111040A patent/RU2746746C1/ru active
-
2021
- 2021-04-09 RU RU2021109864A patent/RU2758583C1/ru active
- 2021-06-02 JP JP2021092736A patent/JP7102586B2/ja active Active
- 2021-06-25 US US17/359,096 patent/US11647190B2/en active Active
Also Published As
Similar Documents
Publication | Publication Date | Title |
---|---|---|
BR122019025424B1 (pt) | Aparelho de codificação de imagem, método de codificação de imagem, aparelho de decodificação de imagem, método de decodificação de imagem e meio de armazenamento |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
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] | ||
B15K | Others concerning applications: alteration of classification |
Free format text: AS CLASSIFICACOES ANTERIORES ERAM: H04N 19/119 , H04N 19/124 , H04N 19/196 , H04N 19/436 , H04N 19/91 Ipc: H04N 19/119 (2006.01), H04N 19/196 (2006.01), H04N |
|
B07A | Application suspended after technical examination (opinion) [chapter 7.1 patent gazette] | ||
B09A | Decision: intention to grant [chapter 9.1 patent gazette] | ||
B16A | Patent or certificate of addition of invention granted [chapter 16.1 patent gazette] |
Free format text: PRAZO DE VALIDADE: 20 (VINTE) ANOS CONTADOS A PARTIR DE 05/11/2012, OBSERVADAS AS CONDICOES LEGAIS. PATENTE CONCEDIDA CONFORME ADI 5.529/DF, QUE DETERMINA A ALTERACAO DO PRAZO DE CONCESSAO. |