BR122018013415B1 - Dispositivo e método para processamento de imagem - Google Patents

Dispositivo e método para processamento de imagem Download PDF

Info

Publication number
BR122018013415B1
BR122018013415B1 BR122018013415-1A BR122018013415A BR122018013415B1 BR 122018013415 B1 BR122018013415 B1 BR 122018013415B1 BR 122018013415 A BR122018013415 A BR 122018013415A BR 122018013415 B1 BR122018013415 B1 BR 122018013415B1
Authority
BR
Brazil
Prior art keywords
filter
parameter
unit
image
image processing
Prior art date
Application number
BR122018013415-1A
Other languages
English (en)
Inventor
Shuo LU
Masaru Ikeda
Original Assignee
Sony Corporation
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sony Corporation filed Critical Sony Corporation
Publication of BR122018013415B1 publication Critical patent/BR122018013415B1/pt

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/117Filters, e.g. for pre-processing or post-processing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
    • H04N19/86Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving reduction of coding artifacts, e.g. of blockiness
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder

Abstract

dispositivo e método para processamento de imagem. a presente descrição refere-se a um dispositivo e a um método de processamento de imagem que tornam possível suprimir ruído de bloco. um calculador de ß lut_input e um processador de limitação determinam ß lut_input, que é um valor inserido em um gerador de ß existente e um gerador de ß expandido. quando o valor de qp ß lut_input proveniente do processador de limitação for 51 ou menos, o gerador de ß existente determina ß usando uma lut em conformidade com o padrão hvec, e supre o mesmo para uma unidade de determinação do processo de filtro. quando o valor de qp ß lut_input proveniente do processador de limitação for maior que 51, o gerador de ß expandido determina o ß expandido e supre o mesmo para a parte de determinação do processo de filtro. esta descrição, por exemplo, pode ser aplicada em um dispositivo para processamento de imagem.

Description

Dividido do BR 112014024265-8, depositado em 27/03/2013 CAMPO DA INVENÇÃO
[0001] A presente descrição refere-se a um dispositivo e a um método de processamento de imagem e, em particular, a um dispositivo e a um método de processamento de imagem capaz de suprimir ruído de bloco.
FUNDAMENTOS DA INVENÇÃO
[0002] Nos últimos anos, foi difundido um dispositivo que trata digitalmente informação de imagem e que, a fim de transmitir e acumular a informação com alta eficiência neste caso, realiza codificação de compressão de uma imagem pela adoção de um método de codificação no qual compressão é realizada por transformada ortogonal, tal como uma transformada discreta de cosseno, e compensação de movimento usando a redundância exclusiva da informação de imagem. Exemplos do método de codificação incluem um MPEG (Grupo de Especialistas em Imagem em Movimento) ou H.264 e MPEG-4 Part10 (Codificação de Vídeo Avançada; a seguir, referida como H.264/AVC) e congêneres.
[0003] Além do mais, atualmente, a fim de melhorar a eficiência de codificação mais do que H.264/AVC, padronização de um método de codificação chamada de HEVC (Codificação de Vídeo de Alta Eficiência) foi desenvolvida por JCTVC (Junta de Equipe Colaborativa para Codificação de Vídeo), que é um grupo de padronização em conjunto de ITU-T e ISO/IEC. Para o padrão HEVC, projeto do comitê, que é um primeiro projeto de especificação, foi lançado em fevereiro de 2012 (por exemplo, consulte Documento Não Patente 1).
[0004] No projeto do HEVC atual, um filtro de desbloqueio, um filtro de laço adaptativo e um filtro de deslocamento adaptativo são adotados como filtros em laço, e há dois parâmetros de um filtro de desbloqueio, incluindo um parâmetro β e um parâmetro Tc. O parâmetro β tem 52 valores de 0 até 51, e é fixo em 64 para uma entrada maior que 51. O parâmetro Tc tem 54 valores de 0 até 53, e é fixo em 13 para uma entrada maior que 53.
[0005] A faixa de um parâmetro de quantização QP que pode ser usado no HEVC é 0 até 51, mas a faixa do deslocamento do parâmetro do filtro de desbloqueio é -26 até 26. Portanto, teoricamente, a faixa de entrada da LUT (Tabela de Busca) do parâmetro do filtro de desbloqueio é 0 até 77.
LISTA DE CITAÇÃO DOCUMENTO NÃO PATENTE
[0006] Documento Não Patente 1: Benjamin Bross, Woo-Jin Han, Jens-Rainer Ohm, Gary J. Sullivan, Thomas Wiegand, "High efficiency video coding (HEVC) text specification draft 6", JCTVC-H1003 ver20, 2012.2.17.
SUMÁRIO DA INVENÇÃO PROBLEMAS A SEREM RESOLVIDOS PELA INVENÇÃO
[0007] Entretanto, já que o parâmetro de quantização QP, que é uma entrada real do parâmetro do filtro de desbloqueio na LUT, é 0 até 51, o valor de deslocamento não é usado até o máximo.
[0008] Além do mais, como exposto, mesmo se 64, que é o valor máximo do parâmetro β, e 13, que é o valor máximo do parâmetro Tc no HEVC, forem usados, há casos em que ruído de bloco que é visível permanece em algumas sequências.
[0009] A presente descrição foi feita em vista de uma situação como esta, e é possível suprimir ruído de bloco.
SOLUÇÕES PARA OS PROBLEMAS
[00010] Um dispositivo para processamento de imagem de um primeiro aspecto da presente descrição inclui: uma unidade de decodificação que gera uma imagem pela decodificação de um fluxo contínuo codificado; e uma unidade de filtro que realiza filtragem de um filtro usando um parâmetro, que é obtido pela extensão de uma faixa de um parâmetro do filtro para controlar o filtro para aumentar uma intensidade do filtro, com um contorno do bloco da imagem gerada pela unidade de decodificação como um alvo.
[00011] A faixa do parâmetro do filtro é estendida para aumentar a intensidade de filtro do filtro em um estado consistente com uma faixa existente.
[00012] A faixa do parâmetro do filtro é ajustada para ser contínua em uma parte existente e uma parte estendida.
[00013] A faixa do parâmetro do filtro é estendida pela adição de um novo parâmetro do filtro.
[00014] O parâmetro do filtro é um valor limite usado durante a determinação se realiza-se a filtragem ou não.
[00015] O filtro é um filtro de desbloqueio, e o parâmetro do filtro é um parâmetro usado durante a determinação se o filtro de desbloqueio é exigido ou não ou durante a determinação da seleção da intensidade.
[00016] A faixa do parâmetro do filtro é estendida de uma forma linear.
[00017] Uma inclinação da forma linear é ajustável.
[00018] A faixa do parâmetro do filtro é estendida em uma linha curva.
[00019] O filtro é um filtro de desbloqueio, e o parâmetro do filtro é um parâmetro usado durante a determinação da seleção da intensidade do filtro de desbloqueio ou usado na limitação durante a realização de filtragem do filtro.
[00020] A unidade de filtro pode realizar filtragem do filtro usando um parâmetro, que é estendido pela atualização de uma tabela usando uma inclinação de uma expressão computacional que expressa o parâmetro do filtro, com um contorno do bloco da imagem gerada pela unidade de decodificação como um alvo.
[00021] A unidade de filtro pode realizar filtragem do filtro usando um parâmetro, que é estendido pela adição de um deslocamento do parâmetro do filtro no parâmetro do filtro, com um contorno do bloco da imagem gerada pela unidade de decodificação como um alvo.
[00022] O parâmetro do filtro pode incluir dois tipos de parâmetros que usam um deslocamento comum, e uma unidade de cálculo do parâmetro que calcula os dois tipos de parâmetros usando o deslocamento comum pode ser adicionalmente provida.
[00023] O parâmetro do filtro pode incluir dois tipos de parâmetros, e uma primeira unidade de cálculo do parâmetro, que calcula um primeiro parâmetro do filtro usando um deslocamento de um primeiro parâmetro, e uma segunda unidade de cálculo do parâmetro, que calcula um segundo parâmetro do filtro usando o deslocamento do primeiro parâmetro, uma diferença entre o primeiro e o segundo parâmetros do filtro e um deslocamento do segundo parâmetro, podem ser adicionalmente providas.
[00024] O filtro é um filtro de desbloqueio.
[00025] O filtro é um filtro de deslocamento adaptativo.
[00026] A unidade de decodificação pode decodificar o fluxo contínuo codificado em uma unidade de processamento com uma estrutura hierárquica.
[00027] Um método de processamento de imagem de um dispositivo para processamento de imagem do primeiro aspecto da presente descrição inclui: gerar uma imagem pela decodificação de um fluxo contínuo codificado; e realizar filtragem de um filtro usando um parâmetro, que é obtido pela extensão de uma faixa de um parâmetro do filtro para controlar o filtro para aumentar uma intensidade do filtro, com um contorno do bloco da imagem gerada como um alvo.
[00028] Um dispositivo para processamento de imagem de um segundo aspecto da presente descrição inclui: uma unidade de filtro que realiza filtragem de um filtro usando um parâmetro, que é obtido pela extensão de uma faixa de um parâmetro do filtro para controlar o filtro para aumentar uma intensidade do filtro, com um contorno do bloco de uma imagem localmente decodificada como um alvo; uma unidade de codificação que gera um fluxo contínuo codificado pela codificação da imagem usando a imagem sujeita à filtragem do filtro pela unidade de filtro; e uma unidade de transmissão que transmite o fluxo contínuo codificado gerado pela unidade de codificação.
[00029] Um método de processamento de imagem de um dispositivo para processamento de imagem do segundo aspecto da presente descrição inclui: realizar filtragem de um filtro usando um parâmetro, que é obtido pela extensão de uma faixa de um parâmetro do filtro para controlar o filtro para aumentar uma intensidade do filtro, com um contorno do bloco de uma imagem localmente decodificada como um alvo; gerar um fluxo contínuo codificado pela codificação da imagem usando a imagem sujeita à filtragem do filtro; e transmitir o fluxo contínuo codificado gerado.
[00030] No primeiro aspecto da presente descrição, o fluxo contínuo codificado é decodificado para gerar uma imagem. Então, com o contorno do bloco da imagem gerada como um alvo, filtragem do filtro é realizada usando um parâmetro obtido pela extensão da faixa do parâmetro do filtro para controlar o filtro para aumentar a intensidade do filtro.
[00031] Além do mais, no segundo aspecto da presente descrição, com o contorno do bloco da imagem localmente decodificada como um alvo, filtragem do filtro é realizada usando um parâmetro obtido pela extensão da faixa do parâmetro do filtro para controlar o filtro para aumentar a intensidade do filtro. Então, um fluxo contínuo codificado é gerado pela codificação da imagem usando a imagem sujeita à filtragem do filtro, e o fluxo contínuo codificado gerado é transmitido.
[00032] Além do mais, o dispositivo para processamento de imagem supradescrito pode ser um dispositivo independente, ou pode ser um bloco interno que configura um dispositivo de codificação de imagem ou um dispositivo de decodificação de imagem.
EFEITOS DA INVENÇÃO
[00033] De acordo com o primeiro aspecto da presente descrição, é possível decodificar uma imagem. Em particular, é possível suprimir ruído de bloco.
[00034] De acordo com o segundo aspecto da presente descrição, é possível codificar uma imagem. Em particular, é possível suprimir ruído de bloco.
DESCRIÇÃO RESUMIDA DOS DESENHOS
[00035] A figura 1 é um diagrama de blocos que mostra uma típica estrutura de exemplo de um dispositivo de codificação de imagem.
[00036] A figura 2 é um fluxograma que ilustra um exemplo do fluxo do processo de codificação.
[00037] A figura 3 é um diagrama de blocos que mostra uma típica estrutura de exemplo de um dispositivo de decodificação de imagem.
[00038] A figura 4 é um fluxograma que ilustra um exemplo do fluxo do processo de decodificação.
[00039] A figura 5 é um diagrama que mostra o valor e o gráfico de um parâmetro α de um filtro de desbloqueio no método AVC.
[00040] A figura 6 é um diagrama que mostra o valor e o gráfico de um parâmetro β de um filtro de desbloqueio no método AVC.
[00041] A figura 7 é um diagrama que mostra os valores de parâmetros β e Tc correspondentes a um parâmetro de quantização Q no método HEVC.
[00042] A figura 8 é um diagrama que mostra o relacionamento entre um parâmetro de quantização QP e o parâmetro β em um primeiro método de extensão da presente técnica.
[00043] A figura 9 é um diagrama que mostra os valores e o gráfico do parâmetro de quantização QP e do parâmetro β no caso de extensão como uma função linear de k = 2.
[00044] A figura 10 é um diagrama que mostra os valores e o gráfico do parâmetro de quantização QP e do parâmetro β no caso de extensão como uma função linear de k = 4.
[00045] A figura 11 é um diagrama que mostra os valores e o gráfico do parâmetro de quantização QP e do parâmetro β no caso de extensão como uma função linear de k = 8.
[00046] A figura 12 é um diagrama que mostra os valores e o gráfico do parâmetro de quantização QP e do parâmetro β no caso de extensão como uma função exponencial.
[00047] A figura 13 é um diagrama que mostra os valores e o gráfico do parâmetro de quantização QP e do parâmetro Tc no primeiro método de extensão da presente técnica.
[00048] A figura 14 é um diagrama de blocos que mostra um exemplo da configuração de um filtro de desbloqueio no qual a presente técnica é aplicada.
[00049] A figura 15 é um diagrama de blocos que mostra um exemplo da configuração de uma unidade de execução do filtro que realiza filtragem do limite da luminância.
[00050] A figura 16 é um diagrama de blocos que mostra um exemplo da configuração de uma unidade de geração de β.
[00051] A figura 17 é um diagrama de blocos que mostra um exemplo da configuração de uma unidade de geração de β estendido.
[00052] A figura 18 é um diagrama de blocos que mostra um outro exemplo da configuração da unidade de geração de β estendido.
[00053] A figura 19 é um diagrama de blocos que mostra um exemplo da configuração de uma unidade de geração de Tc.
[00054] A figura 20 é um diagrama de blocos que mostra um exemplo da configuração de uma unidade de geração de Tc estendido.
[00055] A figura 21 é um diagrama de blocos que mostra um outro exemplo da configuração da unidade de geração de Tc estendido.
[00056] A figura 22 é um diagrama de blocos que mostra um exemplo da configuração de uma unidade de execução do filtro que realiza filtragem do limite da diferença de cor.
[00057] A figura 23 é um fluxograma que ilustra o processo de filtragem de desbloqueio.
[00058] A figura 24 é um fluxograma que ilustra a filtragem do limite da luminância.
[00059] A figura 25 é um fluxograma que ilustra o processo de geração de β.
[00060] A figura 26 é um fluxograma que ilustra limitação.
[00061] A figura 27 é um fluxograma que ilustra o processo de geração de Tc.
[00062] A figura 28 é um fluxograma que ilustra um outro exemplo de limitação.
[00063] A figura 29 é um fluxograma que ilustra a filtragem do limite da diferença de cor.
[00064] A figura 30 é um diagrama que mostra os valores e o gráfico do parâmetro de quantização QP e do parâmetro β (novo β) em um segundo método de extensão da presente técnica.
[00065] A figura 31 é um diagrama que ilustra o relacionamento entre o parâmetro de quantização QP e o parâmetro tc e a quantidade de ajuste para a expressão aproximada.
[00066] A figura 32 é um diagrama que ilustra um exemplo do parâmetro β em um terceiro método de extensão da presente técnica.
[00067] A figura 33 é um diagrama que ilustra um exemplo do parâmetro tc no terceiro método de extensão da presente técnica.
[00068] A figura 34 é um diagrama que mostra os valores e o gráfico do parâmetro de quantização QP e do parâmetro β no caso de extensão no parâmetro de quantização QP (0 até 51).
[00069] A figura 35 é um diagrama de blocos que mostra um exemplo da configuração de uma unidade de geração β.
[00070] A figura 36 é um fluxograma que ilustra o processo de geração de β.
[00071] A figura 37 é um diagrama de blocos que mostra um exemplo da configuração de um filtro de desbloqueio no qual a presente técnica é aplicada.
[00072] A figura 38 é um diagrama de blocos que mostra um exemplo da configuração de uma unidade de execução do filtro que realiza filtragem do limite da luminância.
[00073] A figura 39 é um diagrama de blocos que mostra um exemplo da configuração de uma unidade de geração de β.
[00074] A figura 40 é um diagrama de blocos que mostra um exemplo da configuração de uma unidade de geração de Tc.
[00075] A figura 41 é um fluxograma que ilustra o processo de filtragem de desbloqueio.
[00076] A figura 42 é um fluxograma que ilustra o processo de definição da configuração de um filtro.
[00077] A figura 43 é um fluxograma que ilustra o processo de geração de β.
[00078] A figura 44 é um fluxograma que ilustra o processo de geração de Tc.
[00079] A figura 45 é um diagrama que ilustra a transmissão do deslocamento.
[00080] A figura 46 é um diagrama que mostra um exemplo de sintaxe.
[00081] A figura 47 é um diagrama de blocos que mostra um exemplo da configuração de um filtro de desbloqueio no qual a presente técnica é aplicada.
[00082] A figura 48 é um fluxograma que ilustra o processo de definição da configuração de um filtro.
[00083] A figura 49 é um diagrama de blocos que mostra um exemplo da configuração de um filtro de desbloqueio no qual a presente técnica é aplicada.
[00084] A figura 50 é um fluxograma que ilustra o processo de definição da configuração de um filtro.
[00085] A figura 51 é um diagrama que ilustra a transmissão do deslocamento.
[00086] A figura 52 é um diagrama que mostra um exemplo de sintaxe.
[00087] A figura 53 é um diagrama que mostra um exemplo de um método de codificação de imagem multivisualizações.
[00088] A figura 54 é um diagrama que mostra um exemplo da configuração principal de um dispositivo de codificação de imagem multivisualizações no qual a presente técnica é aplicada.
[00089] A figura 55 é um diagrama que mostra um exemplo da configuração principal de um dispositivo de decodificação de imagem multivisualizações no qual a presente técnica é aplicada.
[00090] A figura 56 é um diagrama que mostra um exemplo de um método de codificação de imagem hierárquica.
[00091] A figura 57 é um diagrama que mostra um exemplo da configuração principal de um dispositivo de codificação de imagem hierárquica no qual a presente técnica é aplicada.
[00092] A figura 58 é um diagrama que mostra um exemplo da configuração principal de um dispositivo de decodificação de imagem hierárquica no qual a presente técnica é aplicada.
[00093] A figura 59 é um diagrama de blocos que mostra uma típica estrutura de exemplo de um computador.
[00094] A figura 60 é um diagrama de blocos que mostra um exemplo de uma estrutura esquemática de um aparelho de televisão.
[00095] A figura 61 é um diagrama de blocos que mostra um exemplo de uma estrutura esquemática de um dispositivo de telefone portátil.
[00096] A figura 62 é um diagrama de blocos que mostra um exemplo de uma estrutura esquemática de um dispositivo de gravação/reprodução.
[00097] A figura 63 é um diagrama de blocos que mostra um exemplo da configuração esquemática de um dispositivo de tratamento de imagem.
[00098] A figura 64 é um diagrama de blocos que mostra um exemplo do uso de codificação escalonável.
[00099] A figura 65 é um diagrama de blocos que mostra um outro exemplo do uso de codificação escalonável.
[000100] A figura 66 é um diagrama de blocos que mostra um ainda outro exemplo do uso de codificação escalonável.
MODO PARA REALIZAR A INVENÇÃO
[000101] Modos para realizar a presente descrição (a seguir, referidos como as modalidades) serão descritos a seguir. A descrição será feita na seguinte ordem. 1. Visão geral do dispositivo e da operação 2. Explicação de um método convencional 3. Primeira modalidade (primeiro método de extensão) 4. Segunda modalidade (segundo método de extensão) 5. Terceira modalidade (terceiro método de extensão) 6. Quarta modalidade (quarto método de extensão) 7. Quinta modalidade (primeiro método de transmissão com deslocamento) 8. Sexta modalidade (segundo método de transmissão com deslocamento) 9. Sétima modalidade (dispositivo de codificação de imagem multivisualizações/de decodificação de imagem multivisualizações) 10. Oitava modalidade (dispositivo de codificação de imagem hierárquica/de decodificação de imagem hierárquica) 11. Nona modalidade (computador) 12. Aplicações 13. Aplicações de codificação escalonável
<1. Visão geral do dispositivo e da operação> [Exemplo de configuração de um dispositivo de codificação de imagem]
[000102] A figura 1 mostra a configuração de uma modalidade de um dispositivo de codificação de imagem como um Dispositivo para processamento de imagem no qual a presente descrição é aplicada.
[000103] Um dispositivo de codificação de imagem 11 mostrado na figura 1 codifica dados de imagem usando um processo de previsão. Aqui, como um método de codificação, por exemplo, um método HEVC (Codificação de Vídeo de Alta Eficiência) ou congêneres é usado.
[000104] Além do mais, no método HEVC, uma unidade de codificação (CU) é definida. A CU também é referida como um bloco de árvore de codificação (CTB), e é uma região parcial de uma imagem proveniente da unidade de figura que desempenha o mesmo papel de um macrobloco no método H.264/AVC. O último é fixo no tamanho de 16 x 16 pixels, enquanto o tamanho do primeiro não é fixo e é designado na informação de compressão de imagem em cada sequência.
[000105] Por exemplo, em um conjunto de parâmetro de sequência (SPS) incluído nos dados codificados a serem transmitidos, o tamanho máximo (LCU (Maior Unidade de Codificação)) e o tamanho mínimo (SCU (Menor Unidade de Codificação)) da CU são definidos.
[000106] Em cada LCU, divisão na CU com um menor tamanho pode ser realizada pela definição do split_flag = 1 em uma faixa não menor que o tamanho da SCU. A CU com um tamanho de 2N x 2N é dividida em CUs com um tamanho de N x N, que compreende um nível abaixo, quando o valor de split_flag for "1".
[000107] Além do mais, a CU é dividida em uma unidade de previsão (PU), que é uma região (região parcial de uma imagem proveniente da unidade de figura) a ser sujeita a um processo de intraprevisão ou de interprevisão, e é dividida em uma unidade de transformada (TU), que é uma região (região parcial de uma imagem proveniente da unidade de figura) a ser sujeita a um processo de transformada ortogonal. Atualmente, no método HEVC, é possível usar transformada ortogonal de 16 x 16 e 32 x 32, além de 4 x 4 e 8 x 8.
[000108] O dispositivo de codificação de imagem 11 da figura 1 inclui um conversor A/D (Analógico/Digital) 21, um buffer de reordenamento de quadro 22, uma unidade de operação aritmética 23, um transformador ortogonal 24, um quantizador 25, um codificador sem perdas 26 e um buffer de acúmulo 27. O dispositivo de codificação de imagem 11 também inclui um quantizador inverso 28, um transformador ortogonal inverso 29, uma unidade de operação aritmética 30, um filtro de desbloqueio 31a, uma memória de quadro 32, um seletor 33, um intraprevisor 34, um estimador/compensador de movimento 35, um seletor de imagem prevista 36 e um controlador de taxa 37.
[000109] Além do mais, o dispositivo de codificação de imagem 11 inclui um filtro de deslocamento adaptativo 41 e um filtro de laço adaptativo 42 entre um filtro de desbloqueio 31a e uma memória de quadro 32.
[000110] O conversor A/D 21 realiza conversão A/D nos dados de imagem de entrada, transmite os dados de imagem para o buffer de reordenamento de quadro 22 e neste armazena os dados de imagem.
[000111] Um buffer de reordenamento de quadro 22 reordena os quadros da imagem armazenados na ordem de exibição na ordem de quadro para codificação de acordo com uma estrutura de GOP (Grupo de Figura). O buffer de reordenamento de quadro 22 supre a imagem, na qual os quadros foram reordenados, para uma unidade de operação aritmética 23. Além do mais, o buffer de reordenamento de quadro 22 também supre a imagem, na qual os quadros foram reordenados, para um intraprevisor 34 e um estimador/compensador de movimento 35.
[000112] A unidade de operação aritmética 23 subtrai uma imagem prevista suprida a partir do intraprevisor 34 ou do estimador/compensador de movimento 35 por meio do seletor de imagem prevista 36 de uma imagem lida a partir do buffer de reordenamento de quadro 22, e transmite a informação da diferença resultante para o transformador ortogonal 24.
[000113] Por exemplo, no caso de uma imagem na qual intracodificação é realizada, a unidade de operação aritmética 23 subtrai uma imagem prevista suprida a partir do intraprevisor 34 de uma imagem lida a partir do buffer de reordenamento de quadro 22. Além do mais, por exemplo, no caso de uma imagem na qual intercodificação é realizada, a unidade de operação aritmética 23 subtrai uma imagem prevista suprida a partir do estimador/compensador de movimento 35 de uma imagem lida a partir do buffer de reordenamento de quadro 22.
[000114] O transformador ortogonal 24 realiza uma transformada ortogonal, tais como uma transformada discreta de cosseno ou uma transformada Karhunen-Loève, na informação da diferença suprida a partir da unidade de operação aritmética 23, e supre o coeficiente de transformada para um quantizador 25.
[000115] O quantizador 25 quantiza o coeficiente de transformada transmitido a partir do transformador ortogonal 24. O quantizador 25 supre o coeficiente de transformada quantizado para um codificador sem perdas 26.
[000116] O codificador sem perdas 26 realiza codificação sem perdas, tais como codificação com comprimento variável e codificação aritmética, no coeficiente de transformada quantizado.
[000117] O codificador sem perdas 26 adquire um parâmetro, tal como informação que indica um modo de intraprevisão, a partir do intraprevisor 34, e adquire um parâmetro, tais como informação que indica um modo de interprevisão ou informação do vetor de movimento, a partir do estimador/compensador de movimento 35.
[000118] O codificador sem perdas 26 codifica o coeficiente de transformada quantizado, e também codifica cada parâmetro (elemento de sintaxe) adquirido e define o resultado como uma parte da informação de cabeçalho dos dados codificados (multiplexa o resultado). O codificador sem perdas 26 supre os dados codificados obtidos pela codificação para um buffer de acúmulo 27 para acumular os dados codificados.
[000119] Por exemplo, no codificador sem perdas 26, um processo de codificação sem perdas, tais como codificação com comprimento variável ou codificação aritmética, é realizado. Como a codificação com comprimento variável, CAVLC (Codificação com Comprimento Variável Adaptável ao Contexto) e congêneres pode ser mencionada. Como a codificação aritmética, CABAC (Codificação Aritmética Binária Adaptável ao Contexto) e congêneres pode ser mencionada.
[000120] O buffer de acúmulo 27 mantém temporariamente o fluxo contínuo (dados) codificado suprido a partir do codificador sem perdas 26, e transmite os dados codificados mantidos, por exemplo, para um dispositivo de gravação à jusante (não mostrado) ou um caminho de transmissão, como uma imagem codificada em um sincronismo predeterminado. Isto é, o buffer de acúmulo 27 também é uma unidade de transmissão para transmitir o fluxo contínuo codificado.
[000121] Além do mais, o coeficiente de transformada quantizado pelo quantizador 25 também é suprido para um quantizador inverso 28. O quantizador inverso 28 realiza quantização inversa do coeficiente de transformada quantizado usando um método correspondente à quantização do quantizador 25. O quantizador inverso 28 supre o coeficiente de transformada obtido para um transformador ortogonal inverso 29.
[000122] O transformador ortogonal inverso 29 realiza transformada ortogonal inversa no coeficiente de transformada suprido por um método correspondente ao processo de transformada ortogonal pelo transformador ortogonal 24. A saída obtida pela transformada ortogonal inversa (informação da diferença restaurada) é suprida para a unidade de operação aritmética 30.
[000123] A unidade de operação aritmética 30 adiciona a imagem prevista suprida a partir do intraprevisor 34 ou do estimador/compensador de movimento 35 por meio do seletor de imagem prevista 36 no resultado da transformada ortogonal inversa, isto é, a informação da diferença restaurada suprida a partir do transformador ortogonal inverso 29 para obter uma imagem localmente decodificada (imagem decodificada).
[000124] Por exemplo, quando a informação da diferença corresponder a uma imagem na qual intracodificação é realizada, a unidade de operação aritmética 30 adiciona a imagem prevista suprida a partir do intraprevisor 34 na informação da diferença. Além do mais, por exemplo, quando a informação da diferença corresponder a uma imagem na qual intercodificação é realizada, a unidade de operação aritmética 30 adiciona a imagem prevista suprida a partir do estimador/compensador de movimento 35 na informação da diferença.
[000125] Uma imagem decodificada, que é o resultado da adição, é suprida para o filtro de desbloqueio 31a e a memória de quadro 32.
[000126] O filtro de desbloqueio 31a suprime distorção do bloco da imagem decodificada pela realização apropriada da filtragem de desbloqueio. O filtro de desbloqueio 31a tem parâmetros β e Tc calculados com base no parâmetro de quantização QP. Os parâmetros β e Tc são valores limites (parâmetros) usados na determinação em relação ao filtro de desbloqueio. β e Tc, que são parâmetros que o filtro de desbloqueio 31a tem, são estendidos a partir de β e Tc, que são definidos no método HEVC.
[000127] Além do mais, o filtro de desbloqueio 31a pode ser desabilitado pela instrução do usuário, e informação ATIVO/INATIVO em relação a se realiza-se ou não o filtro de desbloqueio é inserida no filtro de desbloqueio 31a pela operação de uma unidade de operação (não mostrada) ou congêneres pelo usuário. Além do mais, o padrão de cada deslocamento dos parâmetros β e Tc supradescritos é 0. Entretanto, quando o padrão de cada deslocamento dos parâmetros β e Tc supradescritos for um valor diferente de 0, o usuário insere o valor no filtro de desbloqueio 31a pela operação de uma unidade de operação (não mostrada) ou congêneres. A informação ATIVO/INATIVO (também referida como informação do indicador DisableDeblockingFilter) do filtro de desbloqueio e cada deslocamento dos parâmetros β e Tc são codificados como um parâmetro do filtro de desbloqueio pelo codificador sem perdas 26, e são transmitidos para um dispositivo de decodificação de imagem 51 mostrado na figura 3 a ser descrito posteriormente.
[000128] O filtro de desbloqueio 31a realiza filtragem de desbloqueio na imagem proveniente da unidade de operação aritmética 30 usando a informação ATIVO/INATIVO e o deslocamento supradescritos e β e Tc, que são parâmetros estendidos a partir de β e Tc definidos no método HEVC. O filtro de desbloqueio 31a supre o resultado da filtragem para o filtro de deslocamento adaptativo 41. Além do mais, a configuração detalhada do filtro de desbloqueio 31a será descrita a seguir em relação à figura 14.
[000129] O filtro de deslocamento adaptativo 41 realiza um processo de filtragem de deslocamento (SAO: Deslocamento Adaptativo da Amostra) para suprimir, principalmente, artefatos na imagem depois da filtragem do filtro de desbloqueio 31a.
[000130] Tipos de filtros de deslocamento são um total de nove tipos, incluindo dois tipos de deslocamento de banda, seis tipos de deslocamento de borda e nenhum deslocamento. O filtro de deslocamento adaptativo 41 realiza filtragem na imagem depois da filtragem do filtro de desbloqueio 31a usando um valor de deslocamento para cada estrutura de árvore quádrupla, em que o tipo do filtro de deslocamento é determinado para cada região dividida, e cada região dividida. O filtro de deslocamento adaptativo 41 supre a imagem depois da filtragem para o filtro de laço adaptativo 42.
[000131] Além do mais, no dispositivo de codificação de imagem 11, um valor de deslocamento para cada estrutura de árvore quádrupla e região dividida é calculado pelo filtro de deslocamento adaptativo 41, e é usado. O valor de deslocamento calculado para cada estrutura de árvore quádrupla e região dividida é codificado como um parâmetro de deslocamento adaptativo pelo codificador sem perdas 26, e é transmitido para o dispositivo de decodificação de imagem 51 mostrado na figura 3 a ser descrito posteriormente.
[000132] O filtro de laço adaptativo 42 realiza um processo de filtro de laço adaptativo (ALF: Filtro de Laço Adaptativo) na imagem depois da filtragem do filtro de deslocamento adaptativo 41 em uma unidade de processamento usando um coeficiente de filtro. No filtro de laço adaptativo 42, como o filtro, por exemplo, um filtro Wiener bidimensional é usado. Indubitavelmente, também é possível usar filtros diferentes do filtro Wiener. O filtro de laço adaptativo 42 supre um resultado da filtragem para a memória de quadro 32.
[000133] Além do mais, embora não mostrado no exemplo da figura 1, no dispositivo de codificação de imagem 11, o coeficiente de filtro é calculado pelo filtro de laço adaptativo 42, de forma que um erro residual entre cada unidade de processamento e a imagem original proveniente do buffer de reordenamento de quadro 22 seja minimizado e seja usado. O coeficiente de filtro calculado é codificado como um parâmetro do filtro de laço adaptativo pelo codificador sem perdas 26, e é transmitido para o dispositivo de decodificação de imagem 51 mostrado na figura 3 a ser descrito posteriormente.
[000134] A memória de quadro 32 transmite a imagem de referência acumulada para o intraprevisor 34 ou o estimador/compensador de movimento 35 através de um seletor 33 em um sincronismo predeterminado.
[000135] Por exemplo, no caso de uma imagem na qual intracodificação é realizada, a memória de quadro 32 supre a imagem de referência para o intraprevisor 34 através do seletor 33. Além do mais, por exemplo, quando intercodificação for realizada, a memória de quadro 32 supre a imagem de referência para o estimador/compensador de movimento 35 através do seletor 33.
[000136] Quando a imagem de referência suprida a partir da memória de quadro 32 for uma imagem na qual intracodificação é realizada, o seletor 33 supre a imagem de referência para o intraprevisor 34. Além do mais, quando a imagem de referência suprida a partir da memória de quadro 32 for uma imagem na qual intercodificação é realizada, o seletor 33 supre a imagem de referência para o estimador/compensador de movimento 35.
[000137] O intraprevisor 34 realiza intraprevisão (previsão intraquadro) para gerar uma imagem prevista usando valores de pixel na tela. O intraprevisor 34 realiza intraprevisão em uma pluralidade de modos (modos de intraprevisão).
[000138] O intraprevisor 34 gera imagens previstas em todos os modos de intraprevisão, avalia cada imagem prevista e seleciona um modo ideal. Uma vez que o modo de intraprevisão ideal for selecionado, o intraprevisor 34 supre a imagem prevista gerada no modo ideal para a unidade de operação aritmética 23 ou a unidade de operação aritmética 30 através de um seletor de imagem prevista 36.
[000139] Além do mais, como exposto, o intraprevisor 34 supre apropriadamente um parâmetro, tal como a informação do modo de intraprevisão que indica o modo de intraprevisão adotado, para o codificador sem perdas 26.
[000140] O estimador/compensador de movimento 35 realiza estimativa de movimento para uma imagem, na qual intercodificação é realizada, usando uma imagem de entrada suprida a partir do buffer de reordenamento de quadro 22 e a imagem de referência suprida a partir da memória de quadro 32 através do seletor 33. Além do mais, o estimador/compensador de movimento 35 realiza um processo de compensação de movimento de acordo com o vetor de movimento detectado pela estimativa de movimento, desse modo, gerando uma imagem prevista (informação de imagem interprevista).
[000141] O estimador/compensador de movimento 35 gera imagens previstas pela realização de um processo de interprevisão em todos os modos de interprevisão candidatos. O estimador/compensador de movimento 35 supre as imagens previstas geradas para a unidade de operação aritmética 23 ou a unidade de operação aritmética 30 através do seletor de imagem prevista 36.
[000142] Além do mais, o estimador/compensador de movimento 35 supre um parâmetro, tais como informação do modo de interprevisão que indica o modo de interprevisão adotado ou informação do vetor de movimento que indica o vetor de movimento calculado, para o codificador sem perdas 26.
[000143] O seletor de imagem prevista 36 supre uma saída do intraprevisor 34 para a unidade de operação aritmética 23 ou a unidade de operação aritmética 30 no caso de uma imagem na qual intracodificação é realizada, e supre uma saída do estimador/compensador de movimento 35 para a unidade de operação aritmética 23 ou a unidade de operação aritmética 30 no caso de uma imagem na qual intercodificação é realizada.
[000144] Um controlador de taxa 37 controla a taxa da operação de quantização do quantizador 25 com base na imagem comprimida acumulada no buffer de acúmulo 27, de maneira tal que sobrefluxo ou subfluxo não ocorram.
[Operação do dispositivo de codificação de imagem]
[000145] O fluxo do processo de codificação realizado pelo dispositivo de codificação de imagem 11 exposto será descrito em relação à figura 2.
[000146] Na etapa S11, o conversor A/D 21 realiza conversão A/D em uma imagem de entrada. Na etapa S12, o buffer de reordenamento de quadro 22 armazena a imagem obtida pela conversão A/D e reordena respectivas figuras na ordem de exibição na ordem de codificação.
[000147] Quando a imagem a ser processada, que é suprida a partir do buffer de reordenamento de quadro 22, for uma imagem de um bloco que deve ser sujeito a intraprocessamento, uma imagem decodificada a ser consultada é lida a partir da memória de quadro 32 e é suprida para o intraprevisor 34 através do seletor 33.
[000148] Na etapa S13, com base nestas imagens, o intraprevisor 34 realiza intraprevisão dos pixels do bloco a ser processado em todos os modos de intraprevisão candidatos. Além do mais, como um pixel decodificado a ser consultado, um pixel que não é filtrado pelo filtro de desbloqueio 31a é usado.
[000149] Por este processamento, intraprevisão é realizada em todos os modos de intraprevisão candidatos, e valores da função de custo são calculados para todos os modos de interprevisão candidatos. Então, um modo de intraprevisão ideal é selecionado com base nos valores da função de custo calculados, e uma imagem prevista gerada por intraprevisão no modo de intraprevisão ideal e o valor da função de custo são supridos para o seletor de imagem prevista 36.
[000150] Quando a imagem a ser processada, que é suprida a partir do buffer de reordenamento de quadro 22, for uma imagem que deve ser sujeita a interprocessamento, uma imagem a ser consultada é lida a partir da memória de quadro 32 e é suprida para o estimador/compensador de movimento 35 através do seletor 33. Na etapa S14, o estimador/compensador de movimento 35 realiza processamento de estimativa/compensação de movimento com base nestas imagens.
[000151] Por este processamento, processamento de estimativa de movimento é realizado em todos os modos de interprevisão candidatos, e valores da função de custo são calculados em todos os modos de interprevisão candidatos. Com base nos valores da função de custo calculados, um modo de interprevisão ideal é determinado. Então, uma imagem prevista gerada no modo de interprevisão ideal e o valor da função de custo são supridos para o seletor de imagem prevista 36.
[000152] Na etapa S15, o seletor de imagem prevista 36 determina tanto o modo de intraprevisão ideal quanto o modo de interprevisão ideal como um modo de previsão ideal com base nos respectivos valores da função de custo transmitidos a partir do intraprevisor 34 e do estimador/compensador de movimento 35. Então, o seletor de imagem prevista 36 seleciona a imagem prevista no modo de previsão ideal determinado, e a supre para as unidades de operação aritmética 23 e 30. A imagem prevista é usada nas operações das etapas S16 e S21 a serem descritas posteriormente.
[000153] Além do mais, a informação de seleção da imagem prevista é suprida para o intraprevisor 34 ou o estimador/compensador de movimento 35. Quando a imagem prevista no modo de intraprevisão ideal for selecionada, o intraprevisor 34 supre informação que indica o modo de intraprevisão ideal (isto é, um parâmetro em relação à intraprevisão) para o codificador sem perdas 26.
[000154] Quando a imagem prevista no modo de interprevisão ideal for selecionada, o estimador/compensador de movimento 35 transmite informação que indica o modo de interprevisão ideal e informação correspondente ao modo de interprevisão ideal (isto é, um parâmetro em relação à estimativa de movimento) para o codificador sem perdas 26. Como a informação correspondente ao modo de interprevisão ideal, informação do vetor de movimento, informação do quadro de referência e congêneres podem ser mencionadas.
[000155] Na etapa S16, a unidade de operação aritmética 23 calcula uma diferença entre a imagem reordenada na etapa S12 e a imagem prevista selecionada na etapa S15. A imagem prevista é suprida do estimador/compensador de movimento 35 para a unidade de operação aritmética 23 através do seletor de imagem prevista 36, no caso de interprevisão, e do intraprevisor 34 para a unidade de operação aritmética 23 através do seletor de imagem prevista 36, no caso de intraprevisão.
[000156] A quantidade de dados dos dados da diferença é reduzida, se comparada com aquela dos dados de imagem original. Portanto, é possível comprimir a quantidade de dados, se comparada com um caso de codificação de uma imagem como ela está.
[000157] Na etapa S17, o transformador ortogonal 24 realiza uma transformada ortogonal da informação da diferença suprida a partir da unidade de operação aritmética 23. Especificamente, uma transformada ortogonal, tais como uma transformada discreta de cosseno ou uma transformada Karhunen-Loève, é realizada, e o coeficiente de transformada é suprido.
[000158] Na etapa S18, o quantizador 25 quantiza o coeficiente de transformada. Na quantização, a taxa é controlada da forma explicada pelo processamento da etapa S28 a ser descrita posteriormente.
[000159] A informação da diferença quantizada da forma supradescrita é localmente decodificada como segue. Isto é, na etapa S19, o quantizador inverso 28 realiza quantização inversa do coeficiente de transformada quantizado pelo quantizador 25 com características correspondentes às características do quantizador 25. Na etapa S20, o transformador ortogonal inverso 29 realiza uma transformada ortogonal inversa do coeficiente de transformada, que foi inversamente quantizado pelo quantizador inverso 28, com características correspondentes às características do transformador ortogonal 24.
[000160] Na etapa S21, a unidade de operação aritmética 30 gera uma imagem localmente decodificada (imagem correspondente à entrada na unidade de operação aritmética 23) pela adição da imagem prevista inserida através do seletor de imagem prevista 36 na informação da diferença localmente decodificada.
[000161] Na etapa S22, o filtro de desbloqueio 31a realiza filtragem de desbloqueio na imagem transmitida a partir da unidade de operação aritmética 30. O processo de filtragem de desbloqueio será descrito com detalhes em relação à figura 23. Neste caso, parâmetros β e Tc estendidos a partir de β e Tc definidos no método HEVC são usados como valores limites da determinação em relação ao filtro de desbloqueio. A imagem depois da filtragem do filtro de desbloqueio 31a é transmitida para o filtro de deslocamento adaptativo 41.
[000162] Além do mais, a informação ATIVO/INATIVO usada no filtro de desbloqueio 31a e cada deslocamento dos parâmetros β e Tc, que foram inseridos pela operação de uma unidade de operação (não mostrada) ou congêneres pelo usuário, são supridos para o codificador sem perdas 26 como parâmetros do filtro de desbloqueio.
[000163] Na etapa S23, o filtro de deslocamento adaptativo 41 realiza filtragem de deslocamento adaptativa. Por este processamento, filtragem é realizada na imagem depois da filtragem do filtro de desbloqueio 31a usando um valor de deslocamento para cada estrutura de árvore quádrupla, em que o tipo do filtro de deslocamento é determinado para cada região dividida, e cada região dividida. A imagem depois da filtragem é suprida para o filtro de laço adaptativo 42.
[000164] Além do mais, o valor de deslocamento determinado para cada estrutura de árvore quádrupla e região dividida é suprido para o codificador sem perdas 26 como um parâmetro de deslocamento adaptativo.
[000165] Na etapa S24, o filtro de laço adaptativo 42 realiza filtragem de laço adaptativa na imagem depois da filtragem do filtro de deslocamento adaptativo 41. Por exemplo, filtragem é realizada na imagem depois da filtragem do filtro de deslocamento adaptativo 41 em uma unidade de processamento usando um coeficiente de filtro, e o resultado da filtragem é suprido para a memória de quadro 32.
[000166] Na etapa S25, a memória de quadro 32 armazena a imagem filtrada. Além do mais, imagens não filtradas pelo filtro de desbloqueio 31a, pelo filtro de deslocamento adaptativo 41 e pelo filtro de laço adaptativo 42 também são supridas da unidade de operação aritmética 30 para a memória de quadro 32 e são armazenadas.
[000167] Por outro lado, o coeficiente de transformada quantizado na etapa S18 supradescrita também é suprido para o codificador sem perdas 26. Na etapa S26, o codificador sem perdas 26 codifica o coeficiente de transformada quantizado transmitido a partir do quantizador 25 e cada parâmetro que é suprido. Isto é, uma imagem da diferença é comprimida pela codificação sem perdas, tais como codificação com comprimento variável ou codificação aritmética. Aqui, como parâmetros codificados, há um parâmetro de um filtro de desbloqueio, um parâmetro de um filtro de deslocamento adaptativo, um parâmetro de um filtro de laço adaptativo, um parâmetro de quantização, informação do vetor de movimento ou informação do quadro de referência, informação do modo de previsão e congêneres.
[000168] Na etapa S27, o buffer de acúmulo 27 acumula a imagem da diferença codificada (isto é, um fluxo contínuo codificado) como uma imagem comprimida. A imagem comprimida acumulada no buffer de acúmulo 27 é apropriadamente lida e é transmitida para o lado da decodificação através do caminho de transmissão.
[000169] Na etapa S28, o controlador de taxa 37 controla a taxa da operação de quantização do quantizador 25 com base na imagem comprimida acumulada no buffer de acúmulo 27, de maneira tal que sobrefluxo ou subfluxo não ocorram.
[000170] O processo de codificação termina quando o processamento da etapa S28 terminar.
[Exemplo de configuração de um dispositivo de decodificação de imagem]
[000171] A figura 3 mostra a configuração de uma modalidade de um dispositivo de decodificação de imagem como um dispositivo para processamento de imagem no qual a presente descrição é aplicada. O dispositivo de decodificação de imagem 51 mostrado na figura 3 é um dispositivo de decodificação correspondente ao dispositivo de codificação de imagem 11 mostrado na figura 1.
[000172] Considera-se que o fluxo contínuo (dados) codificado, que é codificado pelo dispositivo de codificação de imagem 11, é transmitido para o dispositivo de decodificação de imagem 51 correspondente ao dispositivo de codificação de imagem 11 através de um caminho de transmissão predeterminado e é decodificado.
[000173] Da forma mostrada na figura 3, o dispositivo de decodificação de imagem 51 inclui um buffer de acúmulo 61, um decodificador sem perdas 62, um quantizador inverso 63, um transformador ortogonal inverso 64, uma unidade de operação aritmética 65, um filtro de desbloqueio 31b, um buffer de reordenamento de quadro 67 e um conversor D/A 68. O dispositivo de decodificação de imagem 51 também inclui uma memória de quadro 69, um seletor 70, um intraprevisor 71, um estimador/compensador de movimento 72 e um seletor 73.
[000174] Além do mais, o dispositivo de decodificação de imagem 51 inclui um filtro de deslocamento adaptativo 81 e um filtro de laço adaptativo 82 entre um filtro de desbloqueio 31b e um buffer de reordenamento de quadro 67 e uma memória de quadro 69.
[000175] Um buffer de acúmulo 61 também é uma unidade de recepção que recebe os dados codificados transmitidos. O buffer de acúmulo 61 recebe e acumula os dados codificados transmitidos. Os dados codificados foram codificados pelo dispositivo de codificação de imagem 11. Um decodificador sem perdas 62 decodifica os dados codificados lidos a partir do buffer de acúmulo 61 em um sincronismo predeterminado usando um método correspondente ao método de codificação do codificador sem perdas 26 mostrado na figura 1.
[000176] O decodificador sem perdas 62 supre um parâmetro, tal como informação que indica o modo de intraprevisão decodificado, para um intraprevisor 71, e supre um parâmetro, tais como informação que indica o modo de interprevisão ou informação do vetor de movimento, para um estimador/compensador de movimento 72. Além do mais, o decodificador sem perdas 62 supre o parâmetro do filtro de desbloqueio decodificado para o filtro de desbloqueio 31b, e supre o parâmetro de deslocamento adaptativo decodificado para o filtro de deslocamento adaptativo 81.
[000177] O quantizador inverso 63 realiza quantização inversa de dados do coeficiente (coeficiente de quantização) obtidos pela decodificação do decodificador sem perdas 62 usando um método correspondente ao método de quantização do quantizador 25 mostrado na figura 1. Isto é, o quantizador inverso 63 realiza quantização inversa do coeficiente de quantização no mesmo método do quantizador inverso 28 mostrado na figura 1 usando o parâmetro de quantização suprido a partir do dispositivo de codificação de imagem 11.
[000178] O quantizador inverso 63 supre os dados do coeficiente inversamente quantizados, isto é, um coeficiente da transformada ortogonal, para um transformador ortogonal inverso 64. O transformador ortogonal inverso 64 realiza uma transformada ortogonal inversa do coeficiente da transformada ortogonal usando um método correspondente ao método de transformada ortogonal do transformador ortogonal 24 mostrado na figura 1, desse modo, obtendo dados residuais decodificados correspondentes a dados residuais antes da transformada ortogonal no dispositivo de codificação de imagem 11.
[000179] Os dados residuais decodificados obtidos pela conversão ortogonal inversa são supridos para a unidade de operação aritmética 65. Além do mais, uma imagem prevista é suprida para a unidade de operação aritmética 65 do intraprevisor 71 ou o estimador/compensador de movimento 72 por meio do seletor 73.
[000180] A unidade de operação aritmética 65 adiciona os dados residuais decodificados e a imagem prevista para obter dados de imagem decodificados correspondentes aos dados de imagem antes de a imagem prevista ser subtraída pela unidade de operação aritmética 23 no dispositivo de codificação de imagem 11. A unidade de operação aritmética 65 supre os dados de imagem decodificados para o filtro de desbloqueio 31b.
[000181] O filtro de desbloqueio 31b suprime distorção do bloco da imagem decodificada pela realização apropriada da filtragem de desbloqueio. O filtro de desbloqueio 31b é configurado, basicamente, da mesma maneira que o filtro de desbloqueio 31a mostrado na figura 1. Isto é, o filtro de desbloqueio 31b tem parâmetros β e Tc calculados com base no parâmetro de quantização. Os parâmetros β e Tc são valores limites usados na determinação em relação ao filtro de desbloqueio. β e Tc, que são parâmetros que o filtro de desbloqueio 31b tem, são estendidos a partir de β e Tc, que são definidos no método HEVC.
[000182] Além do mais, a informação ATIVO/INATIVO do filtro de desbloqueio e cada deslocamento dos parâmetros β e Tc, que foram codificados pelo dispositivo de codificação de imagem 11, são recebidos como parâmetros do filtro de desbloqueio pelo dispositivo de decodificação de imagem 51, são decodificados pelo decodificador sem perdas 62 e são usados pelo filtro de desbloqueio 31b.
[000183] O filtro de desbloqueio 31b realiza filtragem de desbloqueio na imagem proveniente da unidade de operação aritmética 30 usando a informação ATIVO/INATIVO e o deslocamento supradescritos e β e Tc, que são parâmetros estendidos a partir de β e Tc definidos no método HEVC. O filtro de desbloqueio 31b supre o resultado da filtragem para o filtro de deslocamento adaptativo 81. Além do mais, a configuração detalhada do filtro de desbloqueio 31b será descrita a seguir em relação à figura 14.
[000184] O filtro de deslocamento adaptativo 81 realiza uma filtragem de deslocamento (SAO) para suprimir, principalmente, artefatos na imagem depois da filtragem do filtro de desbloqueio 31b.
[000185] O filtro de deslocamento adaptativo 81 realiza filtragem na imagem depois da filtragem do filtro de desbloqueio 31b usando um valor de deslocamento para cada estrutura de árvore quádrupla, em que o tipo do filtro de deslocamento é determinado para cada região dividida, e cada região dividida. O filtro de deslocamento adaptativo 81 supre a imagem depois da filtragem para o filtro de laço adaptativo 82.
[000186] Além do mais, um valor de deslocamento para cada estrutura de árvore quádrupla e região dividida é calculado pelo filtro de deslocamento adaptativo 41 do dispositivo de codificação de imagem 11, e é codificado e transmitido como um parâmetro de deslocamento adaptativo. O valor de deslocamento para cada estrutura de árvore quádrupla e região dividida que foi codificado pelo dispositivo de codificação de imagem 11 é recebido como um parâmetro de deslocamento adaptativo pelo dispositivo de decodificação de imagem 51, é decodificado pelo decodificador sem perdas 62 e é usado pelo filtro de deslocamento adaptativo 81.
[000187] O filtro de laço adaptativo 82 realiza filtragem na imagem depois da filtragem do filtro de deslocamento adaptativo 81 em uma unidade de processamento usando um coeficiente de filtro, e supre o resultado da filtragem para a memória de quadro 69 e o buffer de reordenamento de quadro 67.
[000188] Além do mais, embora não mostrado no exemplo da figura 3, no dispositivo de decodificação de imagem 51, um coeficiente de filtro é calculado para cada LUC pelo filtro de laço adaptativo 42 do dispositivo de codificação de imagem 11, e um coeficiente de filtro codificado e transmitido como um parâmetro do filtro de laço adaptativo é decodificado pelo decodificador sem perdas 62 e é usado.
[000189] O buffer de reordenamento de quadro 67 realiza reordenamento de imagem. Especificamente, os quadros reordenados na ordem de codificação pelo buffer de reordenamento de quadro 22 da figura 1 são reordenados na ordem de exibição original. O conversor D/A 68 realiza uma conversão D/A na imagem suprida a partir do buffer de reordenamento de quadro 67, e transmite a imagem convertida para uma tela (não mostrada) para exibir a imagem.
[000190] Além do mais, a saída do filtro de laço adaptativo 82 é suprida para uma memória de quadro 69.
[000191] A memória de quadro 69, um seletor 70, o intraprevisor 71, o estimador/compensador de movimento 72 e um seletor 73 correspondem à memória de quadro 32, ao seletor 33, ao intraprevisor 34, ao estimador/compensador de movimento 35 e ao seletor de imagem prevista 36 do dispositivo de codificação de imagem 11, respectivamente.
[000192] O seletor 70 lê uma imagem interprocessada e uma imagem, que deve ser consultada, a partir da memória de quadro 69 e supre estas imagens para o estimador/compensador de movimento 72. Além do mais, o seletor 70 lê uma imagem usada para intraprevisão a partir da memória de quadro 69 e supre a imagem para o intraprevisor 71.
[000193] Informação que indica o modo de intraprevisão, que é obtida pela decodificação da informação de cabeçalho, ou congêneres é apropriadamente suprida do decodificador sem perdas 62 para o intraprevisor 71. Com base na informação, o intraprevisor 71 gera uma imagem prevista a partir da imagem de referência adquirida a partir da memória de quadro 69, e supre a imagem prevista gerada para o seletor 73.
[000194] Informação obtida pela decodificação da informação de cabeçalho (informação do modo de previsão, informação do vetor de movimento, informação do quadro de referência, um indicador, vários parâmetros e congêneres) é suprida do decodificador sem perdas 62 para o estimador/compensador de movimento 72.
[000195] Com base na informação suprida a partir do decodificador sem perdas 62, o estimador/compensador de movimento 72 gera uma imagem prevista a partir da imagem de referência adquirida a partir da memória de quadro 69, e supre a imagem prevista gerada para o seletor 73.
[000196] O seletor 73 seleciona a imagem prevista gerada pelo estimador/compensador de movimento 72 ou o intraprevisor 71, e supre a imagem prevista selecionada para a unidade de operação aritmética 65.
[Operação do dispositivo de decodificação de imagem]
[000197] Um exemplo do fluxo do processo de decodificação realizado pelo dispositivo de decodificação de imagem 51 exposto será descrito em relação à figura 4.
[000198] Quando o processamento de decodificação for iniciado, na etapa S51, o buffer de acúmulo 61 recebe e acumula um fluxo contínuo (dados) codificado transmitido. Na etapa S52, o decodificador sem perdas 62 decodifica os dados codificados supridos a partir do buffer de acúmulo 61. Uma figura I, uma figura P e uma figura B codificadas pelo codificador sem perdas 26 mostrado na figura 1 são decodificadas.
[000199] Antes da decodificação das figuras, informação de parâmetro, tal como informação do vetor de movimento, informação do quadro de referência e informação do modo de previsão (modo de intraprevisão ou modo de interprevisão), também são decodificadas.
[000200] Quando a informação do modo de previsão for informação do modo de intraprevisão, a informação do modo de previsão é suprida para o intraprevisor 71. Quando a informação do modo de previsão for informação do modo de interprevisão, a informação do modo de previsão e correspondente informação do vetor de movimento e congêneres são supridas para o estimador/compensador de movimento 72. Além do mais, o parâmetro do filtro de desbloqueio e o parâmetro de deslocamento adaptativo também são decodificados e supridos para o filtro de desbloqueio 31b e o filtro de deslocamento adaptativo 81, respectivamente.
[000201] Na etapa S53, o intraprevisor 71 ou o estimador/compensador de movimento 72 realiza um processo de formação de imagem prevista correspondente à informação do modo de previsão suprida a partir do decodificador sem perdas 62.
[000202] Isto é, quando a informação do modo de intraprevisão for suprida a partir do decodificador sem perdas 62, o intraprevisor 71 gera uma imagem intraprevista no modo de intraprevisão. Quando a informação do modo de interprevisão for suprida a partir do decodificador sem perdas 62, o estimador/compensador de movimento 72 realiza um processo de estimativa/compensação de movimento no modo de interprevisão para gerar uma imagem interprevista.
[000203] Por este processamento, a imagem prevista (imagem intraprevista) gerada pelo intraprevisor 71 ou a imagem prevista (imagem interprevista) gerada pelo estimador/compensador de movimento 72 são supridas para o seletor 73.
[000204] Na etapa S54, o seletor 73 seleciona uma imagem prevista. Isto é, a imagem prevista gerada pelo intraprevisor 71 ou a imagem prevista gerada pelo estimador/compensador de movimento 72 são supridas. Desta maneira, a imagem prevista suprida é selecionada e suprida para a unidade de operação aritmética 65, e é adicionada na saída do transformador ortogonal inverso 64 na etapa S57 a ser descrita posteriormente.
[000205] Na etapa S52 supradescrita, o coeficiente de transformada decodificado pelo decodificador sem perdas 62 também é suprido para o quantizador inverso 63. Na etapa S55, o quantizador inverso 63 realiza quantização inversa do coeficiente de transformada decodificado pelo decodificador sem perdas 62 com características correspondentes às características do quantizador 25 mostrado na figura 1.
[000206] Na etapa S56, o transformador ortogonal inverso 29 realiza uma transformada ortogonal inversa do coeficiente de transformada, que foi inversamente quantizado pelo quantizador inverso 28, com características correspondentes às características do transformador ortogonal 24 mostrado na figura 1. Em decorrência disto, informação da diferença correspondente à entrada do transformador ortogonal 24 (saída da unidade de operação aritmética 23) mostrado na figura 1 é decodificada.
[000207] Na etapa S57, a unidade de operação aritmética 65 adiciona a imagem prevista, que é selecionada no processamento da etapa S54 supradescrita e é inserida através do seletor 73, na informação da diferença. Em decorrência disto, a imagem original é decodificada.
[000208] Na etapa S58, o filtro de desbloqueio 31b realiza filtragem de desbloqueio na imagem transmitida a partir da unidade de operação aritmética 65. O processo de filtragem de desbloqueio será descrito com detalhes em relação à figura 23. Neste caso, parâmetros β e Tc estendidos a partir de β e Tc definidos no método HEVC são usados como valores limites de determinação em relação ao filtro de desbloqueio. A imagem depois da filtragem do filtro de desbloqueio 31b é transmitida para o filtro de deslocamento adaptativo 81. Além do mais, no processo de filtragem de desbloqueio, informação ATIVO/INATIVO, que é um parâmetro do filtro de desbloqueio suprido a partir do decodificador sem perdas 62, e cada deslocamento dos parâmetros β e Tc também são usados.
[000209] Na etapa S59, o filtro de deslocamento adaptativo 81 realiza filtragem de deslocamento adaptativa. Por este processamento, filtragem é realizada na imagem depois da filtragem do filtro de desbloqueio 31b usando um valor de deslocamento para cada estrutura de árvore quádrupla, em que o tipo do filtro de deslocamento é determinado para cada região dividida, e cada região dividida. A imagem depois da filtragem é suprida para o filtro de laço adaptativo 82.
[000210] Na etapa S60, o filtro de laço adaptativo 82 realiza filtragem de laço adaptativa na imagem depois da filtragem do filtro de deslocamento adaptativo 81. O filtro de laço adaptativo 82 realiza filtragem na imagem de entrada em uma unidade de processamento usando um coeficiente de filtro calculado para cada unidade de processamento, e supre o resultado da filtragem para o buffer de reordenamento de quadro 67 e uma memória de quadro 69.
[000211] Na etapa S61, a memória de quadro 69 armazena a imagem filtrada.
[000212] Na etapa S62, o buffer de reordenamento de quadro 67 realiza reordenamento da imagem depois do filtro de laço adaptativo 82. Isto é, os quadros reordenados para codificação pelo buffer de reordenamento de quadro 22 do dispositivo de codificação de imagem 11 são reordenados na ordem da exibição original.
[000213] Na etapa S63, o conversor D/A 68 realiza conversão D/A da imagem proveniente do buffer de reordenamento de quadro 67. Esta imagem é transmitida para uma tela (não mostrada), de forma que a imagem seja exibida.
[000214] O processo de decodificação termina quando o processamento da etapa S63 terminar.
<2. Explicação de um método convencional> [Parâmetros de um filtro de desbloqueio no método AVC]
[000215] A seguir, parâmetros do filtro de desbloqueio no método AVC serão descritos. No método AVC, como parâmetros para determinar se um filtro de desbloqueio é exigido ou não, há α e β. Estes valores são determinados de acordo com o parâmetro de quantização QP.
[000216] A da figura 5 é um gráfico que mostra o relacionamento entre o parâmetro α e o parâmetro de quantização QP, e B da figura 5 é uma tabela que mostra o relacionamento entre o parâmetro α e o parâmetro de quantização QP. O parâmetro α é otimizado por ajuste fino com base na seguinte Expressão (1).[Fórmula Matemática 1]
Figure img0001
[000217] O parâmetro α pode tomar os valores de 0 até 255 para o parâmetro de quantização QP de 0 até 51.
[000218] A da figura 6 é um gráfico que mostra o relacionamento entre o parâmetro β e o parâmetro de quantização QP, e B da figura 6 é uma tabela que mostra o relacionamento entre o parâmetro β e o parâmetro de quantização QP. O parâmetro β é otimizado por ajuste fino com base na seguinte Expressão (2). Uma linha pontilhada em A da figura 6 mostra a Expressão (2), e uma linha sólida mostra um valor mostrado em B da figura 6 depois do ajuste fino da Expressão (2). [Fórmula Matemática 2]
Figure img0002
[000219] O parâmetro β pode tomar os valores de 0 até 18 para o parâmetro de quantização QP de 0 até 51.
[Parâmetros de um filtro de desbloqueio no método HEVC]
[000220] Como parâmetros correspondentes a α e β no método AVC, parâmetros β e Tc são usados no método HEVC.
[000221] Os parâmetros β e Tc são parâmetros do filtro usados na determinação em relação ao filtro de desbloqueio. Especificamente, o parâmetro β é um valor limite usado na determinação em relação a se um filtro de desbloqueio é exigido ou não e na determinação da seleção da intensidade, e é um parâmetro para ajustar a intensidade do filtro de desbloqueio. O parâmetro Tc é um valor limite usado na determinação da seleção da intensidade, e é um parâmetro para ajustar a intensidade do filtro de desbloqueio. Além do mais, o parâmetro Tc é um valor que também é usado na limitação durante a filtragem. Os parâmetros β e Tc são valores definidos de acordo com o parâmetro de quantização QP, da forma mostrada na figura 7. A figura 7 é um diagrama que mostra os valores dos parâmetros β e Tc correspondentes ao parâmetro de quantização QP.
[000222] O parâmetro β tem 52 valores de 0 até 51, e é fixo em 64 para uma entrada maior que 51. O parâmetro Tc tem 54 valores de 0 até 53, e é fixo em 13 para uma entrada maior que 53.
[000223] Aqui, a faixa do parâmetro de quantização QP que pode ser usado no método HEVC é 0 até 51, mas a faixa do deslocamento do parâmetro do filtro de desbloqueio é -26 até 26. Portanto, teoricamente, a faixa de entrada da LUT (Tabela de Busca) do parâmetro do filtro de desbloqueio é 0 até 77.
[000224] Entretanto, já que o parâmetro de quantização QP, que é uma entrada real do parâmetro do filtro de desbloqueio na LUT, é 0 até 51, o valor de deslocamento não é usado até o máximo.
[000225] Além do mais, como exposto, mesmo se 64, que é o valor máximo do parâmetro β, e 13, que é o valor máximo do parâmetro Tc no método HEVC, forem usados, há casos em que ruído de bloco que é visível permanece em algumas sequências.
[000226] Portanto, na presente técnica, a fim de aumentar a intensidade do filtro de desbloqueio, os parâmetros β e Tc são estendidos, e os parâmetros estendidos β e Tc são usados no filtro de desbloqueio. Isto é, no filtro de desbloqueio, parâmetros obtidos pela extensão da faixa dos parâmetros do filtro (parâmetros β e Tc) para controlar o filtro para aumentar a intensidade do filtro são usados.
[000227] Além do mais, a extensão, aqui, refere-se à extensão da faixa de parâmetro para uma faixa de parâmetro existente com a faixa de parâmetro no método AVC e a faixa de parâmetro em ver20 do método HEVC, o que é descrito no Documento Não Patente 1, como a faixa de parâmetro existente. Além do mais, na presente técnica, a faixa de parâmetro é estendida para aumentar a intensidade do filtro contra o ruído, já que há um caso em que o ruído é deixado com os parâmetros existentes.
<3. Primeira modalidade (primeiro método de extensão)> [Extensão do parâmetro β]
[000228] A figura 8 é um diagrama que mostra o relacionamento entre o parâmetro de quantização QP e o parâmetro β na presente técnica. Além do mais, na tabela mostrada na figura 8, uma parte de quadro espesso é uma parte estendida pela presente técnica.
[000229] Da forma mostrada no quadro espesso da figura 8, o parâmetro β (β(52) até β(qpmax)) correspondente ao parâmetro de quantização QP (52 até qpmax) é estendido (adicionado). Além do mais, a seguinte explicação será dada com qpmax como 77, por exemplo. Entretanto, o valor pode ser definido, e não é limitado a 77.
[000230] O valor do parâmetro β a ser estendido pode ser definido como uma função do parâmetro de quantização, e há dois métodos de definição do parâmetro β. O primeiro método de definição de β é um método de definição do valor do parâmetro β como uma função linear (forma linear) do parâmetro de quantização QP. O segundo método de definição de β é um método de definição do valor do parâmetro β como uma função exponencial (curva) do parâmetro de quantização QP.
[000231] No caso da função exponencial, é possível aumentar uma mudança em vez da função linear.
[Primeiro método de definição de β: exemplo da função linear]
[000232] No método HEVC, o parâmetro β é expressado como uma função linear do parâmetro de quantização QP, da forma mostrada em 0 < qp < 51 na seguinte Expressão (3).
[000233] Portanto, como o primeiro método de definição de β, também, para a parte estendida, o parâmetro β é definido como uma função linear do parâmetro de quantização QP, da forma mostrada em 52 < qp < pqmax na Expressão (3). [Fórmula Matemática 3]
Figure img0003
[000234] Aqui, k e b podem ser ajustados. A inclinação k é maior que 0, e b pode ser calculado tornando o limite entre a parte existente e a parte estendida contínuo.
[000235] Além do mais, também para a parte estendida, quando extensão for realizada como a linha reta no método HEVC, da forma mostrada na seguinte Expressão (4), a inclinação k = 2 e b = -38.[Fórmula Matemática 4]
Figure img0004
[000236] A da figura 9 é um gráfico que mostra o relacionamento entre o parâmetro β e o parâmetro de quantização QP quando extensão for realizada como uma função linear de k = 2. B da figura 9 é uma tabela que mostra os valores do parâmetro β e o parâmetro de quantização QP quando extensão for realizada como uma função linear de k = 2. Além do mais, na tabela mostrada em B da figura 9, uma parte de quadro espesso é uma parte estendida pela presente técnica. Neste caso, o parâmetro β pode tomar os valores de 0 até 116 para o parâmetro de quantização QP de 0 até 77.
[000237] Além do mais, a inclinação da função linear pode ser mudada. Por exemplo, para a parte estendida, uma função linear quando extensão for realizada tornando a inclinação maior que aquela da linha reta no método HEVC, isto é, no caso da inclinação k = 4 e b = -140, é expressada pela seguinte Expressão (5).[Fórmula Matemática 5]
Figure img0005
[000238] Aqui, o motivo para a inclinação k = 4 é que qp * 2 = qp << 1 (deslocado em 1 bit para a esquerda) no caso da inclinação k = 2. Por outro lado, no caso da inclinação k = 4, qp * 2 = qp << 2 (deslocado em 2 bits para a esquerda). Portanto, levando o cálculo pelo software em consideração, isto é adequado no momento da montagem. Além do mais, no caso da inclinação k = 4, b = -140 é definido a fim de tornar o limite entre a parte existente e a parte estendida uma função contínua.
[000239] A da figura 10 é um gráfico que mostra o relacionamento entre o parâmetro β e o parâmetro de quantização QP quando extensão for realizada tornando a inclinação maior que aquela da linha reta no método HEVC, isto é, extensão é realizada como uma função linear da inclinação k = 4. B da figura 10 é uma tabela que mostra os valores do parâmetro β e do parâmetro de quantização QP quando extensão for realizada como uma função linear de k = 4. Além do mais, na tabela mostrada em B da figura 10, uma parte de quadro espesso é uma parte estendida pela presente técnica. Neste caso, o parâmetro β pode tomar os valores de 0 até 168 para o parâmetro de quantização QP de 0 até 77.
[000240] Além do mais, para a parte estendida, uma função linear quando extensão for realizada tornando a inclinação maior que aquela da linha reta no método HEVC, isto é, no caso da inclinação k = 8 e b = -344, é expressada pela seguinte Expressão (6).[Fórmula Matemática 6]
Figure img0006
[000241] Aqui, o motivo para a inclinação k = 8 é que qp * 8 = qp << 3 (deslocado em 3 bits para a esquerda) no caso da inclinação k = 8. Portanto, levando o cálculo pelo software em consideração, isto é adequado no momento da montagem. Além do mais, no caso da inclinação k = 8, b = -344 é definido a fim de tornar o limite entre a parte existente e a parte estendida uma função contínua.
[000242] Além do mais, na explicação exposta, os exemplos da inclinação k = 2, 4 e 8 foram descritos como exemplos mais adequados. Entretanto, desde que k > 0, a presente invenção não é limitada à inclinação k = 2, 4 e 8.
[000243] A da figura 11 é um gráfico que mostra o relacionamento entre o parâmetro β e o parâmetro de quantização QP quando extensão for realizada tornando a inclinação maior que aquela da linha reta no método HEVC, isto é, extensão é realizada como uma função linear da inclinação k = 8. B da figura 11 é uma tabela que mostra os valores do parâmetro β e do parâmetro de quantização QP quando extensão for realizada como uma função linear de k = 4. Além do mais, na tabela mostrada em B da figura 11, uma parte de quadro espesso é uma parte estendida pela presente técnica. Neste caso, o parâmetro β pode tomar os valores de 0 até 255 para o parâmetro de quantização QP de 0 até 75. Além do mais, por exemplo, quando o parâmetro de quantização QP for 76, 77 ou congêneres e β for maior que 255, β = 255 é definido.
[Segundo método de definição de β: exemplo da função exponencial]
[000244] A seguir, como um segundo método de definição de β, para uma parte estendida, o parâmetro β é definido como uma função exponencial do parâmetro de quantização QP, da forma mostrada em 52 < qp < pqmax na seguinte Expressão (7).[Fórmula Matemática 7]
Figure img0007
[000245] Aqui, a função exponencial da Expressão (7) é definida com base no valor do parâmetro α no filtro de desbloqueio do método AVC de Expressão (1) supradescrita.
[000246] Por exemplo, no caso de k = 0,8, x = 6, a = -13 e b = 0 mostrado na seguinte Expressão (8), um coeficiente (k, x, a, b) é calculado pelo uso de um valor, que não está no HEVC, dentre os parâmetros α no filtro de desbloqueio do método AVC. Especificamente, quando QP for 38, o parâmetro α no AVC é 63. Este fica próximo de 64, que é o valor do parâmetro β no HEVC quando o QP for 51. Portanto, para o parâmetro β de QP de 52 ou mais alto, a fim de aplicar o parâmetro α no AVC de QP de 39 ou mais alto, o coeficiente (k, x, a, b) é calculado, de forma que o limite entre a parte existente e a parte estendida seja contínuo.[Fórmula Matemática 8]
Figure img0008
[000247] A da figura 12 é um gráfico que mostra o relacionamento entre o parâmetro β e o parâmetro de quantização QP quando extensão for realizada como uma função exponencial de k = 0,8, x = 6, a = -13 e b = 0. B da figura 12 é uma tabela que mostra os valores do parâmetro β e do parâmetro de quantização QP quando extensão for realizada como uma função exponencial de k = 0,8, x = 6, a = -13 e b = 0. Além do mais, na tabela mostrada em B da figura 12, uma parte de quadro espesso é uma parte estendida pela presente técnica. Neste caso, o parâmetro β pode tomar os valores de 0 até 255 para o parâmetro de quantização QP de 0 até 63. Além do mais, por exemplo, quando o parâmetro de quantização QP for 64 até 77 ou congêneres e β for maior que 255, β = 255 é definido.
[000248] Já que o parâmetro β é estendido como exposto, é possível aumentar a intensidade do filtro de desbloqueio.
[Método de definição de Tc]
[000249] O parâmetro Tc no método HEVC pode ser aplicado como ele está. Entretanto, como na expressão aproximada mostrada na seguinte Expressão (9), o parâmetro Tc também pode ser estendido como uma função no método HEVC.[Fórmula Matemática 9]
Figure img0009
[000250] Além do mais, na prática, similar a β no método AVC, o parâmetro Tc é otimizado por ajuste fino com base na Expressão (9) supradescrita.
[000251] A da figura 13 é um gráfico que mostra o relacionamento entre o parâmetro Tc e o parâmetro de quantização QP quando extensão for realizada usando uma função no método HEVC. B da figura 13 é uma tabela que mostra os valores do parâmetro Tc e o parâmetro de quantização QP quando extensão for realizada usando uma função no método HEVC. Além do mais, na tabela mostrada em B da figura 13, uma parte de quadro espesso é uma parte estendida pela presente técnica. Neste caso, o parâmetro Tc pode tomar os valores de 1 até 25 para o parâmetro de quantização QP de 0 até 77.
[000252] Já que o parâmetro Tc é estendido como exposto, é possível aumentar adicionalmente a intensidade do filtro de desbloqueio.
[Exemplo da configuração do filtro de desbloqueio]
[000253] A seguir, os detalhes do filtro de desbloqueio 31a no dispositivo de codificação de imagem mostrado na figura 1 e do filtro de desbloqueio 31b no dispositivo de decodificação de imagem mostrado na figura 3 serão descritos. Além do mais, já que o filtro de desbloqueio 31a no dispositivo de codificação de imagem mostrado na figura 1 e o filtro de desbloqueio 31b no dispositivo de decodificação de imagem mostrado na figura 3 têm, basicamente, as mesmas configuração e operação, a seguinte explicação será coletivamente dada como um filtro de desbloqueio 31.
[000254] Aqui, apenas o seguinte ponto é uma diferença entre os filtros de desbloqueio 31a e 31b. Isto é, no caso do filtro de desbloqueio 31a, informação ATIVO/INATIVO em relação a se realiza-se ou não um filtro de desbloqueio e cada deslocamento dos parâmetros β e Tc são inseridos através de uma unidade de operação (não mostrada). Por outro lado, no caso do filtro de desbloqueio 31b, informação ATIVO/INATIVO em relação a se realiza-se ou não um filtro de desbloqueio e cada deslocamento dos parâmetros β e Tc, que foram codificados pelo dispositivo de codificação de imagem 11, são recebidos, e são inseridos depois de serem decodificados pelo decodificador sem perdas 62.
[000255] A figura 14 é um diagrama de blocos que mostra um exemplo da configuração do filtro de desbloqueio.
[000256] No exemplo mostrado na figura 14, o filtro de desbloqueio 31 é configurado para incluir uma unidade de definição de configuração 101 e uma unidade de execução do filtro 102.
[000257] A unidade de definição de configuração 101 recebe, por exemplo, a informação ATIVO/INATIVO, o valor do deslocamento de β e o valor do deslocamento de Tc que são inseridos a partir de uma unidade de operação (ou do decodificador sem perdas 62), que não é mostrada no diagrama, e realiza definição de configuração no filtro de desbloqueio 31. Como a definição de configuração, deslocamento do filtro de desbloqueio, ATIVAÇÃO/DESATIVAÇÃO do filtro de desbloqueio, derivação do limite entre a TU e a PU, derivação do valor de BS (Intensidade da Filtragem do Limite) e congêneres são realizados. A unidade de definição de configuração 101 supre a informação definida para a unidade de execução do filtro 102.
[000258] Um valor de pixel antes do filtro de desbloqueio da unidade de operação aritmética 30 (ou da unidade de operação aritmética 65) é suprido para a unidade de execução do filtro 102. A unidade de execução do filtro 102 calcula o parâmetro de quantização QP, que é usado para gerar parâmetros, com base na informação definida pela unidade de definição de configuração 101, gera os parâmetros β e Tc e determina se filtragem é exigida ou não ou a intensidade do filtro. Então, a unidade de execução do filtro 102 realiza filtragem com base na intensidade do filtro determinada ou no resultado da determinação em relação a se filtragem é exigida ou não. A unidade de execução do filtro 102 supre um valor de pixel depois do filtro de desbloqueio para o filtro de deslocamento adaptativo à jusante 41 (ou o filtro de deslocamento adaptativo 81).
[000259] Além do mais, a unidade de execução do filtro 102 realiza o supradescrito processamento em cada um do limite da luminância e do limite da diferença de cor.
[Exemplo da configuração da unidade de execução do filtro no limite da luminância]
[000260] A figura 15 é um diagrama de blocos que mostra um exemplo da configuração da unidade de execução do filtro que realiza filtragem do limite da luminância.
[000261] No exemplo mostrado na figura 15, a unidade de execução do filtro 102 é configurada para incluir uma unidade de cálculo de QP 111, uma unidade de geração de β 112, uma unidade de geração de Tc 113, uma unidade de determinação de filtragem 114 e uma unidade de filtragem 115.
[000262] O valor de pixel antes do filtro de desbloqueio do estágio à montante é inserido em uma unidade de aquisição de QP 111a e na unidade de filtragem 115.
[000263] A unidade de cálculo de QP 111 é configurada para incluir a unidade de aquisição de QP 111a e uma unidade de cálculo de QP médio 111b, e recebe o valor de pixel antes do filtro de desbloqueio a partir do estágio à montante e calcula o parâmetro de quantização QP que é usado para gerar os parâmetros β e Tc. A unidade de cálculo de QP 111 supre o parâmetro de quantização QP calculado para a unidade de geração de β 112 e a unidade de geração de Tc 113.
[000264] A unidade de aquisição de QP 111a adquire parâmetros de quantização p_QP e q_QP de duas regiões (adjacentes ao limite), que compartilham o limite a ser processado, a partir do valor de pixel de entrada antes do filtro de desbloqueio. Por exemplo, quando o limite for em uma direção vertical, o parâmetro de quantização p_QP de uma região p adjacente ao lado esquerdo do limite é adquirido e o parâmetro de quantização q_QP de uma região q adjacente ao lado direito do limite é adquirido. Além do mais, por exemplo, quando o limite for em uma direção horizontal, o parâmetro de quantização p_QP de uma região p adjacente ao lado superior do limite é adquirido e o parâmetro de quantização q_QP de uma região q adjacente ao lado inferior do limite é adquirido.
[000265] Além do mais, por exemplo, no dispositivo de codificação de imagem 11, o parâmetro de quantização QP do quantizador 25 é armazenado em uma memória (não mostrada) juntamente com a informação do vetor de movimento ou a informação do modo de previsão. Além do mais, no dispositivo de decodificação de imagem 51, o parâmetro de quantização QP decodificado pelo decodificador sem perdas 62 é armazenado em uma memória (não mostrada), juntamente com a informação do vetor de movimento ou a informação do modo de previsão. A unidade de aquisição de QP 111a adquire o parâmetro de quantização QP a partir da memória que o armazena desta maneira.
[000266] A unidade de aquisição de QP 111a supre os parâmetros de quantização p_QP e q_QP adquiridos para a unidade de cálculo de QP médio 111b.
[000267] A unidade de cálculo de QP médio 111b calcula uma média dos parâmetros de quantização p_QP e q_QP provenientes da unidade de aquisição de QP 111a, e supre a média para a unidade de geração de β 112 e a unidade de geração de Tc 113 como o parâmetro de quantização QP que é usado para gerar os parâmetros β e Tc.
[000268] A unidade de geração de β 112 gera o parâmetro β de acordo com o parâmetro de quantização QP proveniente da unidade de cálculo de QP médio 111b, e supre o parâmetro β gerado para a unidade de determinação de filtragem 114.
[000269] A unidade de geração de Tc 113 gera o parâmetro Tc de acordo com o parâmetro de quantização QP proveniente da unidade de cálculo de QP médio 111b, e supre o parâmetro Tc gerado para a unidade de determinação de filtragem 114.
[000270] A unidade de determinação de filtragem 114 determina a filtragem usando o parâmetro β proveniente da unidade de geração de β 112, o parâmetro Tc proveniente da unidade de geração de Tc 113 e congêneres. Isto é, a unidade de determinação de filtragem 114 determina se filtragem é exigida ou não usando o parâmetro β proveniente da unidade de geração de β 112 e congêneres. Além do mais, a unidade de determinação de filtragem 114 determina a intensidade do filtro usando o parâmetro β proveniente da unidade de geração de β 112, o parâmetro Tc proveniente da unidade de geração de Tc 113 e congêneres. A unidade de determinação de filtragem 114 supre a informação de filtragem determinada para a unidade de filtragem 115. Neste caso, os parâmetros β e Tc também são supridos para a unidade de filtragem 115. Por exemplo, o parâmetro Tc é usado para limitação na unidade de filtragem 115.
[000271] Quando a unidade de determinação de filtragem 114 determinar que filtragem deve ser realizada, a unidade de filtragem 115 realiza filtragem no valor de pixel de entrada antes do filtro de desbloqueio com a intensidade do filtro determinada pela unidade de determinação de filtragem 114. A unidade de filtragem 115 transmite o valor de pixel depois do filtro de desbloqueio para o estágio à jusante.
[000272] Além do mais, quando a unidade de determinação de filtragem 114 determinar que filtragem não deve ser realizada, a unidade de filtragem 115 transmite o valor de pixel de entrada antes do filtro de desbloqueio, como um valor de pixel depois do filtro de desbloqueio, para o estágio à jusante como ele está (sem realizar filtragem).
[Exemplo da configuração da unidade de geração de β]
[000273] A figura 16 é um diagrama de blocos que mostra um exemplo da configuração da unidade de geração de β.
[000274] No exemplo mostrado na figura 16, a unidade de geração de β 112 é configurada para incluir uma unidade de cálculo de β LUT_input 121, uma unidade de limitação 122, uma unidade de geração de β existente 123 e uma unidade de geração de β estendido 124.
[000275] O parâmetro de quantização QP proveniente da unidade de cálculo de QP médio 111b é suprido para a unidade de cálculo de β LUT_input 121. O valor do deslocamento de β da informação definida pela unidade de definição de configuração 101 é suprido para a unidade de cálculo de β LUT_input 121. Além do mais, βqpmax, que é o valor máximo do parâmetro de quantização usado para gerar β, da informação definida pela unidade de definição de configuração 101, é suprido para a unidade de limitação 122.
[000276] A unidade de cálculo de β LUT_input 121 e a unidade de limitação 122 calculam β LUT_input, que é um valor inserido na unidade de geração de β existente 123 e na unidade de geração de β estendido 124.
[000277] Isto é, a unidade de cálculo de β LUT_input 121 calcula βtmp pela adição do valor do deslocamento de β e do parâmetro de quantização QP proveniente da unidade de cálculo de QP médio 111b, e supre o βtmp calculado para a unidade de limitação 122.
[000278] A unidade de limitação 122 limita βtmp proveniente da unidade de cálculo de β LUT_input 121 na faixa [0, βqpmax] do valor definido pela unidade de definição de configuração 101. A unidade de limitação 122 supre βtmp depois da limitação para a unidade de geração de β existente 123 e a unidade de geração de β estendido 124 como β LUT_input qp.
[000279] A unidade de geração de β existente 123 tem uma LUT (Tabela de Busca) 131 definida no método HEVC. Quando o valor de β LUT_input qp proveniente da unidade de limitação 122 for igual ou menor que 51, a unidade de geração de β existente 123 calcula β usando a LUT 131 e supre o β calculado para a unidade de determinação de filtragem 114.
[000280] Quando o valor de β LUT_input qp proveniente da unidade de limitação 122 for maior que 51, a unidade de geração de β estendido 124 calcula β estendido e supre o β calculado para a unidade de determinação de filtragem 114.
[000281] Por exemplo, da forma mostrada na figura 17, a unidade de geração de β estendido 124 é configurada para incluir uma unidade de cálculo de β (qp) 141. A unidade de cálculo de β (qp) 141 gera β dinamicamente usando uma expressão de função (uma função linear ou uma função exponencial) mostrada pela linha pontilhada, em que parâmetros de função são definidos antecipadamente, quando qp de [51, βqpmax] for inserido.
[000282] Como um primeiro método de definição de β, a unidade de geração de β estendido 124 gera β dinamicamente usando a função linear no caso de 52 < qp < pqmax na Expressão (3) supradescrita. Isto é, neste caso, o valor de β é calculado como uma função linear de QP. Além do mais, k e b são definidos como parâmetros de função. Neste caso, k e b podem ser transmitidos para o lado da decodificação pela sintaxe.
[000283] Como um segundo método de definição de β, a unidade de geração de β estendido 124 gera β dinamicamente usando a função exponencial no caso de 52 < qp < pqmax na Expressão (7) supradescrita. Isto é, neste caso, o valor de β é calculado como uma função exponencial de QP. Além do mais, k, b, x e a são definidos como parâmetros de função. Neste caso, k, b, x e a podem ser transmitidos para o lado da decodificação pela sintaxe.
[000284] Além do mais, por exemplo, da forma mostrada na figura 18, a unidade de geração de β estendido 124 é configurada para ter uma LUT (Tabela de Busca) estendida 153. Além do mais, no exemplo mostrado na figura 18, a LUT estendida 153 é mostrada incluindo uma parte da LUT 131 existente. Entretanto, apenas uma parte sombreada é uma parte estendida. A LUT estendida 153 é armazenada depois que uma unidade de cálculo de β (qp) 152 provida em um outro computador 151 ou congêneres receber qp arbitrário de [0, βqpmax] e calcular β antecipadamente usando uma expressão de função (uma função linear ou uma função exponencial) na qual parâmetros de função são definidos.
[000285] A unidade de geração de β estendido 124 calcula β usando a LUT estendida 153 quando qp de [51, βqpmax] for inserido.
[000286] Da forma supradescrita, durante a configuração da unidade de geração de β estendido 124, é possível selecionar se proporciona-se o β estendido pela definição da expressão (expressão da função) ou pela LUT.
[Exemplo da configuração da unidade de geração de Tc]
[000287] A figura 19 é um diagrama de blocos que mostra um exemplo da configuração da unidade de geração de Tc.
[000288] No exemplo mostrado na figura 19, a unidade de geração de Tc 113 é configurada para incluir uma unidade de cálculo de Tc_LUT_input 161, uma unidade de limitação 162, uma unidade de geração de Tc existente 163 e uma unidade de geração de Tc estendido 164.
[000289] O parâmetro de quantização QP proveniente da unidade de cálculo de QP médio 111b é suprido para a unidade de cálculo de Tc_LUT_input 161. O valor do deslocamento de Tc da informação definida pela unidade de definição de configuração 101 é suprido para a unidade de cálculo de Tc_LUT_input 161. Além do mais, Tc_qpmax, que é um valor máximo do parâmetro de quantização usado para gerar Tc, da informação definida pela unidade de definição de configuração 101, é suprido para a unidade de limitação 162.
[000290] A unidade de cálculo de Tc_LUT_input 161 e a unidade de limitação 162 calculam Tc_LUT_input, que é um valor inserido na unidade de geração de Tc existente 163 e na unidade de geração de Tc estendido 164.
[000291] Isto é, a unidade de cálculo de Tc_LUT_input 161 calcula Tctmp pela adição do valor do deslocamento de Tc e do parâmetro de quantização QP proveniente da unidade de cálculo de QP médio 111b, e supre o Tctmp calculado para a unidade de limitação 162.
[000292] A unidade de limitação 162 limita Tctmp proveniente da unidade de cálculo de Tc_LUT_input 161 na faixa [0, Tc_qpmax] do valor definido pela unidade de definição de configuração 101. A unidade de limitação 162 supre Tctmp depois da limitação para a unidade de geração de Tc existente 163 e a unidade de geração de Tc estendido 164 como Tc_LUT_input qp.
[000293] A unidade de geração de Tc existente 163 tem uma LUT (Tabela de Busca) 171 definida no método HEVC. Quando o valor de Tc_LUT_input qp proveniente da unidade de limitação 162 for igual ou menor que 53, a unidade de geração de Tc existente 163 calcula Tc usando a LUT 171 e supre o Tc calculado para a unidade de determinação de filtragem 114.
[000294] Quando o valor de Tc_LUT_input qp proveniente da unidade de limitação 122 for maior que 53, a unidade de geração de Tc estendido 164 calcula Tc estendido e supre o Tc calculado para a unidade de determinação de filtragem 114.
[000295] Por exemplo, da forma mostrada na figura 20, a unidade de geração de Tc estendido 164 é configurada para incluir uma unidade de cálculo de Tc (qp) 181. A unidade de cálculo de Tc (qp) 181 gera Tc dinamicamente usando a Expressão (9) supradescrita, que é obtida pela extensão da função existente de QP-Tc, quando qp de [53, Tc_qpmax] for inserido.
[000296] Além do mais, por exemplo, da forma mostrada na figura 21, a unidade de geração de Tc estendido 164 é configurada para ter uma LUT (Tabela de Busca) estendida 193. Além do mais, no exemplo mostrado na figura 21, a LUT estendida 193 é mostrada incluindo uma parte da LUT 171 existente. Entretanto, apenas uma parte sombreada é uma parte estendida. A LUT estendida 193 é armazenada depois que uma unidade de cálculo de Tc (qp) 192 provida em um outro computador 191 ou congêneres receber qp arbitrário de [53, Tc_qpmax] e calcular Tc usando a função estendida.
[000297] A unidade de geração de Tc estendido 164 calcula Tc usando a LUT estendida 193 quando qp de [53, Tc_qpmax] for inserido.
[000298] Da forma supradescrita, durante a configuração da unidade de geração de Tc estendido 164, é possível selecionar se proporciona-se o Tc estendido pela definição da expressão (expressão da função) ou pela LUT.
[Exemplo da configuração da unidade de execução do filtro no limite da diferença de cor]
[000299] A figura 22 é um diagrama de blocos que mostra um exemplo da configuração da unidade de execução do filtro que realiza filtragem do limite da diferença de cor.
[000300] A unidade de execução do filtro 102 mostrada na figura 22 é diferente da unidade de execução do filtro 102 mostrada na figura 15, apenas em que a unidade de geração de β 112 e a unidade de determinação de filtragem 114 são removidas. A unidade de execução do filtro 102 mostrada na figura 22 é a mesma unidade de execução do filtro 102 mostrada na figura 15, em que a unidade de cálculo de QP 111, a unidade de geração de Tc 113 e a unidade de filtragem 115 são incluídas. Já que as unidades comuns são repetidas, explicação destas será omitida.
[000301] Isto é, no caso do limite da diferença de cor, determinação de filtragem não é realizada, e a unidade de filtragem 115 realiza filtragem usando o parâmetro Tc proveniente da unidade de geração de Tc 113. Por exemplo, o parâmetro Tc é usado para limitação.
[Operação do filtro de desbloqueio]
[000302] A seguir, um processo de filtragem de desbloqueio será descrito em relação ao fluxograma mostrado na figura 23. Além do mais, este processo de filtragem de desbloqueio é o processamento da etapa S22 da figura 2 e da etapa S58 da figura 4.
[000303] Por exemplo, informação ATIVO/INATIVO, o valor do deslocamento de β e o valor do deslocamento de Tc são inseridos através de uma unidade de operação (ou o decodificador sem perdas 62), que não é mostrada no diagrama.
[000304] Na etapa S101, a unidade de definição de configuração 101 define o deslocamento (deslocamento de β e deslocamento de Tc) do filtro. A unidade de definição de configuração 101 supre a informação de deslocamento definida para cada uma da unidade de geração de β 112 e da unidade de geração de Tc 113 da unidade de execução do filtro 102.
[000305] Na etapa S102, a unidade de definição de configuração 101 determina se um filtro de desbloqueio pode ser usado ou não com base na informação ATIVO/INATIVO. Quando for determinado, na etapa S102, que um filtro de desbloqueio não pode ser usado, o processo de filtragem de desbloqueio é terminado.
[000306] Quando for determinado, na etapa S102, que um filtro de desbloqueio pode ser usado, o processo prossegue para a etapa S103.
[000307] Na etapa S103, a unidade de definição de configuração 101 deriva o limite entre a TU e a PU. Na etapa S104, a unidade de definição de configuração 101 deriva um valor da BS (Intensidade da Filtragem do Limite) com base na informação do limite entre a TU e a PU derivada na etapa S103, na informação do modo de previsão e congêneres. A unidade de definição de configuração 101 supre a informação do valor da BS para a unidade de cálculo de QP 111 da unidade de execução do filtro 102.
[000308] Na etapa S105, a unidade de execução do filtro 102 realiza filtragem do limite de luminância (LUMA). Embora este processamento seja descrito a seguir em relação à figura 24, filtragem é realizada no limite da luminância pelo processamento da etapa S105.
[000309] Na etapa S106, a unidade de execução do filtro 102 realiza filtragem do limite da diferença de cor (CHROMA). Embora este processamento seja descrito a seguir em relação à figura 29, filtragem é realizada no limite da diferença de cor pelo processamento da etapa S106.
[000310] Na etapa S107, a unidade de execução do filtro 102 determina se todos os limites foram processados. Quando for determinado, na etapa S107, que nem todos os limites foram processados, o processo retorna para a etapa S105 para repetir os subsequentes processos.
[000311] Quando for determinado, na etapa S107, que todos os limites foram processados, o processo prossegue para a etapa S108.
[000312] Na etapa S108, a unidade de definição de configuração 101 determina se todas as CUs foram processadas. Quando for determinado, na etapa S108, que nem todas as CUs foram processadas, o processo retorna para a etapa S103 para repetir os subsequentes processos.
[000313] Quando for determinado, na etapa S108, que todas as CUs foram processadas, o processo de filtragem de desbloqueio é terminado.
[Exemplo de filtragem no limite da luminância]
[000314] A seguir, filtragem do limite da luminância, na etapa S105 da figura 23, será descrita em relação ao fluxograma mostrado na figura 24.
[000315] Quando um valor da BS proveniente da unidade de definição de configuração 101 for recebido, a unidade de cálculo de QP 111 determina, na etapa S121, se o valor da BS é maior que 0 ou não. Quando for determinado, na etapa S121, que o valor da BS não é maior que 0, a filtragem do limite da luminância é terminada. Isto é, neste caso, filtragem não é realizada no limite da luminância.
[000316] Quando for determinado, na etapa S121, que o valor da BS é maior que 0, o processo prossegue para a etapa S122. Na etapa S122, a unidade de cálculo de QP 111 recebe um valor de pixel antes do filtro de desbloqueio proveniente do estágio à montante e calcula o QP médio de dois blocos (regiões) que compartilham o limite.
[000317] Isto é, a unidade de aquisição de QP 111a adquire parâmetros de quantização p_QP e q_QP de duas regiões (adjacentes ao limite), que compartilham o limite a ser processado, a partir do valor de pixel de entrada antes do filtro de desbloqueio. A unidade de aquisição de QP 111a supre os parâmetros de quantização p_QP e q_QP adquiridos para a unidade de cálculo de QP médio 111b.
[000318] A unidade de cálculo de QP médio 111b calcula uma média dos parâmetros de quantização p_QP e q_QP provenientes da unidade de aquisição de QP 111a, e supre a média para a unidade de geração de β 112 e a unidade de geração de Tc 113 como o parâmetro de quantização QP que é usado para gerar os parâmetros β e Tc.
[000319] Na etapa S123, a unidade de geração de β 112 gera β. Embora o processo de geração de β seja descrito a seguir em relação à figura 25, β é gerado pelo processamento da etapa S123 e é suprido para a unidade de determinação de filtragem 114.
[000320] Na etapa S124, a unidade de geração de Tc 113 gera Tc. Embora o processo de geração de Tc seja descrito a seguir em relação à figura 26, Tc é gerado pelo processamento da etapa S124 e é suprido para a unidade de determinação de filtragem 114.
[000321] Na etapa S125, a unidade de determinação de filtragem 114 determina a filtragem. Isto é, a unidade de determinação de filtragem 114 determina se filtragem é exigida ou não usando o parâmetro β proveniente da unidade de geração de β 112 e congêneres. Além do mais, a unidade de determinação de filtragem 114 determina a intensidade do filtro usando o parâmetro β proveniente da unidade de geração de β 112, o parâmetro Tc proveniente da unidade de geração de Tc 113 e congêneres. A unidade de determinação de filtragem 114 supre a informação de filtragem determinada para a unidade de filtragem 115.
[000322] Na etapa S126, a unidade de filtragem 115 realiza filtragem no valor de pixel de entrada antes do filtro de desbloqueio com a intensidade do filtro determinada pela unidade de determinação de filtragem 114. A unidade de filtragem 115 transmite o valor de pixel depois do filtro de desbloqueio para o estágio à jusante.
[000323] Além do mais, na etapa S125, quando for determinado que filtragem não é realizada, o processamento da etapa S126 é ignorado. Neste caso, a unidade de filtragem 115 transmite o valor de pixel de entrada antes do filtro de desbloqueio, como um valor de pixel depois do filtro de desbloqueio, para o estágio à jusante como ele está (sem realizar filtragem).
[Exemplo do processo de geração de β]
[000324] A seguir, o processo de geração de β na etapa S123 da figura 24 será descrito em relação ao fluxograma mostrado na figura 25.
[000325] O parâmetro de quantização QP proveniente da unidade de cálculo de QP médio 111b é suprido para a unidade de cálculo de β LUT_input 121. O valor do deslocamento de β da informação definida pela unidade de definição de configuração 101 é suprido para a unidade de cálculo de β LUT_input 121.
[000326] Na etapa S141, a unidade de cálculo de β LUT_input 121 calcula βtmp pela adição do valor do deslocamento de β e do parâmetro de quantização QP proveniente da unidade de cálculo de QP médio 111b, e supre o βtmp calculado para a unidade de limitação 122.
[000327] Na etapa S142, a unidade de limitação 122 limita βtmp proveniente da unidade de cálculo de β LUT_input 121 na faixa [0, βqpmax] do valor definido pela unidade de definição de configuração 101. Embora os detalhes deste processamento sejam descritos a seguir em relação à figura 26, a unidade de limitação 122 supre βtmp depois da limitação para a unidade de geração de β existente 123 e a unidade de geração de β estendido 124 como β LUT_input qp.
[000328] Na etapa S143, a unidade de geração de β existente 123 e a unidade de geração de β estendido 124 determinam se qp proveniente da unidade de limitação 122 é maior que 51 ou não. Quando for determinado, na etapa S143, que qp proveniente da unidade de limitação 122 é igual ou menor que 51, o processo prossegue para a etapa S144.
[000329] Na etapa S144, a unidade de geração de β existente 123 calcula β usando a LUT existente 131, e supre o β calculado para a unidade de determinação de filtragem 114.
[000330] Quando for determinado, na etapa S143, que qp proveniente da unidade de limitação 122 é maior que 51, o processo prossegue para a etapa S145.
[000331] Na etapa S145, a unidade de geração de β estendido 124 calcula β estendido, e supre o β calculado para a unidade de determinação de filtragem 114.
[000332] Por exemplo, a unidade de geração de β estendido 124 (unidade de cálculo de β (qp) 141) gera β dinamicamente usando uma expressão de função (uma função linear ou uma função exponencial) mostrada pela linha pontilhada, na qual parâmetros de função são definidos antecipadamente, da forma supradescrita em relação à figura 17.
[000333] Por exemplo, a unidade de geração de β estendido 124 calcula β usando a LUT estendida 153, que é armazenada depois de receber qp arbitrário de [0, βqpmax] e calcular β antecipadamente usando uma expressão de função (uma função linear ou uma função exponencial) na qual parâmetros de função são definidos, da forma supradescrita em relação à figura 18.
[Exemplo de limitação]
[000334] A seguir, a limitação na etapa S142 da figura 25 será descrito em relação ao fluxograma mostrado na figura 26.
[000335] Na etapa S161, a unidade de limitação 122 define β LUT_input qp = βtmp a partir da unidade de cálculo de β LUT_input 121.
[000336] Na etapa S162, a unidade de limitação 122 determina se βtmp proveniente da unidade de cálculo de β LUT_input 121 é maior que βqpmax ou não. Quando for determinado, na etapa S162, que βtmp é maior que βqpmax, o processo prossegue para a etapa S163.
[000337] Na etapa S163, a unidade de limitação 122 define β LUT_input qp = βqpmax, e supre β LUT_input qp para a unidade de geração de β existente 123 e a unidade de geração de β estendido 124.
[000338] Quando for determinado, na etapa S162, que βtmp é igual ou menor que βqpmax, o processamento da etapa S163 é ignorado e o limitação é terminado. Isto é, neste caso, β LUT_input qp (βtmp) é suprido para a unidade de geração de β existente 123 e a unidade de geração de β estendido 124.
[Exemplo do processo de geração de Tc]
[000339] A seguir, o processo de geração de Tc na etapa S124 da figura 24 será descrito em relação ao fluxograma mostrado na figura 27.
[000340] O parâmetro de quantização QP proveniente da unidade de cálculo de QP médio 111b é suprido para a unidade de cálculo de Tc_LUT_input 161. O valor do deslocamento de Tc da informação definida pela unidade de definição de configuração 101 é suprido para a unidade de cálculo de Tc_LUT_input 161.
[000341] Na etapa S181, a unidade de cálculo de Tc_LUT_input 161 calcula Tctmp pela adição do valor do deslocamento de Tc e do parâmetro de quantização QP proveniente da unidade de cálculo de QP médio 111b, e supre o Tctmp calculado para a unidade de limitação 162.
[000342] Na etapa S182, a unidade de limitação 162 limita Tctmp proveniente da unidade de cálculo de Tc_LUT_input 161 na faixa [0, Tc_qpmax] do valor definido pela unidade de definição de configuração 101. Embora os detalhes deste processamento sejam descritos a seguir em relação à figura 28, a unidade de limitação 162 supre Tctmp depois da limitação para a unidade de geração de Tc existente 163 e a unidade de geração de Tc estendido 164 como Tc_LUT_input qp.
[000343] Na etapa S183, a unidade de geração de Tc existente 163 e a unidade de geração de Tc estendido 164 determinam se qp proveniente da unidade de limitação 162 é maior que 53 ou não. Quando for determinado, na etapa S183, que qp proveniente da unidade de limitação 162 é igual ou menor que 53, o processo prossegue para a etapa S184.
[000344] Na etapa S184, a unidade de geração de Tc existente 163 calcula Tc usando a LUT existente 171, e supre o Tc calculado para a unidade de determinação de filtragem 114.
[000345] Quando for determinado, na etapa S183, que qp proveniente da unidade de limitação 162 é maior que 51, o processo prossegue para a etapa S185.
[000346] Na etapa S185, a unidade de geração de Tc estendido 164 calcula Tc estendido, e supre o Tc calculado para a unidade de determinação de filtragem 114.
[000347] Por exemplo, a unidade de geração de Tc estendido 164 (unidade de cálculo de Tc (qp) 181) gera Tc dinamicamente usando a Expressão (9) supradescrita, que é obtida pela extensão da função existente de QP-Tc, da forma supradescrita em relação à figura 20.
[000348] Por exemplo, a unidade de geração de Tc estendido 164 calcula Tc usando a LUT estendida 193 que é armazenada depois de receber qp arbitrário de [53, Tcqpmax] e calcular Tc usando a função estendida, da forma supradescrita em relação à figura 21.
[Exemplo de limitação]
[000349] A seguir, a limitação na etapa S182 da figura 27 será descrita em relação ao fluxograma mostrado na figura 28.
[000350] Na etapa S201, a unidade de limitação 162 define Tc_LUT_input qp = Tctmp a partir da unidade de cálculo de Tc_LUT_input 161.
[000351] Na etapa S202, a unidade de limitação 162 determina se Tctmp proveniente da unidade de cálculo de Tc_LUT_input 161 é maior que Tc_qpmax ou não. Quando for determinado, na etapa S202, que Tctmp é maior que Tc_qpmax, o processo prossegue para a etapa S203.
[000352] Na etapa S203, a unidade de limitação 162 define Tc_LUT_input qp = Tc_qpmax, e supre Tc_LUT_input qp para a unidade de geração de Tc existente 163 e a unidade de geração de Tc estendido 164.
[000353] Quando for determinado, na etapa S202, que Tctmp é igual ou menor que Tc_qpmax, o processamento da etapa S203 é ignorado e a limitação é terminada. Isto é, neste caso, Tc_LUT_input qp (Tctmp) é suprido para a unidade de geração de Tc existente 163 e a unidade de geração de Tc estendido 164.
[Exemplo de filtragem do limite da diferença de cor]
[000354] A seguir, filtragem do limite da diferença de cor na etapa S106 da figura 23 será descrita em relação ao fluxograma mostrado na figura 29.
[000355] Quando um valor da BS proveniente da unidade de definição de configuração 101 for recebido, a unidade de cálculo de QP 111 determina, na etapa S221, se o valor da BS é maior que 1 ou não. Quando for determinado, na etapa S221, que o valor da BS não é maior que 1, a filtragem do limite da diferença de cor é terminada. Isto é, neste caso, filtragem não é realizada no limite da diferença de cor.
[000356] Quando for determinado, na etapa S221, que o valor da BS é maior que 1, o processo prossegue para a etapa S222. Na etapa S222, a unidade de cálculo de QP 111 recebe um valor de pixel antes do filtro de desbloqueio a partir do estágio à montante e calcula o QP médio de dois blocos (regiões) que compartilham o limite.
[000357] Isto é, a unidade de aquisição de QP 111a adquire parâmetros de quantização p_QP e q_QP de duas regiões (adjacentes ao limite), que compartilham o limite a ser processado, a partir do valor de pixel de entrada antes do filtro de desbloqueio. A unidade de aquisição de QP 111a supre os parâmetros de quantização p_QP e q_QP adquiridos para a unidade de cálculo de QP médio 111b.
[000358] A unidade de cálculo de QP médio 111b calcula uma média dos parâmetros de quantização p_QP e q_QP provenientes da unidade de aquisição de QP 111a, e supre a média para a unidade de geração de Tc 113 como o parâmetro de quantização QP que é usado para gerar o parâmetro Tc.
[000359] Na etapa S223, a unidade de geração de Tc 113 gera Tc. Embora a explicação do processo de geração de Tc seja omitida, já que o processo de geração de Tc é basicamente igual ao processo supradescrito em relação à figura 26, Tc é gerado pelo processamento da etapa S223 e é suprido para a unidade de filtragem 115.
[000360] Na etapa S224, a unidade de filtragem 115 realiza filtragem no valor de pixel de entrada antes do filtro de desbloqueio usando o parâmetro Tc gerado pela unidade de geração de Tc 113 ou congêneres. A unidade de filtragem 115 transmite o valor de pixel depois do filtro de desbloqueio para o estágio à jusante.
[000361] Além do mais, na explicação exposta, um exemplo de realização da extensão pelo aumento dos parâmetros β e tc a fim de aumentar a intensidade do filtro (a seguir, também referido como um primeiro método de extensão) foi descrito. Entretanto, exemplos da extensão dos parâmetros β e Tc não são limitados ao primeiro método de extensão supradescrito. A seguir, um segundo método de extensão para mudar a inclinação da função sem aumentar o número de parâmetros será descrito.
<4. Segunda modalidade (segundo método de extensão)> [Exemplo de extensão do parâmetro β]
[000362] Primeiro, a extensão do parâmetro β pelo segundo método de extensão será descrita. No método HEVC, da forma mostrada pela seguinte Expressão (10), o parâmetro β é calculado por três expressões de acordo com a seção de QP.[Fórmula Matemática 10]
Figure img0010
[000363] No segundo método de extensão, a inclinação (k0, k1, k2) destas três expressões é transmitida para o lado da decodificação pela sintaxe. No lado da decodificação, para cada fatia, uma tabela mostrada pela seguinte Expressão (11) é atualizada usando a inclinação indicada pela sintaxe do lado da codificação.[Fórmula Matemática 11]
Figure img0011
[000364] Além do mais, a Expressão (11) torna-se a tabela da Expressão (10) supradescrita no caso de k0 = 0, k1 = 1 e k2 = 2. k0 = 0, k1 = 1 e k2 = 2 são padrões, e um valor a ser mudado entre estes valores é transmitido para o lado da decodificação pela sintaxe.
[000365] A figura 30 é um diagrama que mostra o relacionamento entre o parâmetro de quantização QP e o parâmetro β no caso de k0 = 0, k1 = 1 e k2 = 2 na Expressão (11), e o relacionamento entre o parâmetro de quantização QP e o parâmetro β (novo β) durante a atualização como k2 = 4 foi feito.
[000366] No gráfico mostrado em A da figura 30, "antes da atualização" é mostrado pela linha pontilhada e "depois da atualização como k2 = 4" é mostrado pela linha sólida. Na tabela mostrada em B da figura 30, valores do novo β depois da atualização correspondentes a 16 < qp < 51 depois da atualização são circundados pelo quadro espesso. Entre estes, valores do novo β correspondentes a 29 < qp < 51 atualizado como k2 = 4 são hachurados.
[000367] No caso do exemplo mostrado na figura 30, o parâmetro β (novo β) pode tomar os valores de 0 até 110 para o parâmetro de quantização QP de 0 até 51.
[000368] Além do mais, embora β no momento de qp = 0 seja definido em 0 no exemplo supradescrito, β no momento de qp = 0 pode ser outros valores, sem ser limitado a 0. Além do mais, no exemplo supradescrito, um exemplo em que β é calculado por três expressões de acordo com a seção de QP foi descrito. Entretanto, o número de divisões da expressão de β não é limitado a 3.
[000369] Além do mais, embora o limite de cada seção de qp seja contínuo no exemplo supradescrito, o limite de cada seção de qp pode ser descontínuo. Além do mais, embora a expressão de β seja expressada como uma função linear no exemplo supradescrito, a expressão de β também pode ser expressada como uma função exponencial, por exemplo, sem ser limitada a esta.
[000370] Como um método de transmissão do coeficiente (k0, k1, k2) para o lado da decodificação, por exemplo, Exponencial Golomb ou Codificação em Comprimento Fixo podem ser considerados. Entretanto, qualquer tipo de codificação é possível.
[Exemplo de extensão do parâmetro Tc]
[000371] A seguir, extensão do parâmetro Tc pelo segundo método de extensão será descrita. Também no caso do parâmetro Tc, o segundo método de extensão é realizado basicamente no mesmo conceito do parâmetro β supradescrito.
[000372] Entretanto, no caso do parâmetro Tc, diferente do caso do parâmetro β, o parâmetro Tc não é expressado pela expressão individual no método HEVC. Além do mais, o parâmetro Tc no método HEVC é expressado pela seguinte Expressão (12) quando aproximada.[Fórmula Matemática 12]
Figure img0012
[000373] Isto é, da forma mostrada na figura 31, há um ligeiro desvio (quantidade de ajuste (Δt)) entre o relacionamento do parâmetro de quantização QP real e do parâmetro Tc e a Expressão (12) obtida pela aproximação do relacionamento.
[000374] Em A da figura 31, a Expressão (12) obtida pela aproximação do relacionamento entre o parâmetro de quantização QP e o parâmetro Tc é expressada pela linha pontilhada como "antes do ajuste" e "depois do ajuste" de um desvio entre o relacionamento do parâmetro de quantização QP e do parâmetro Tc e a Expressão (12) é expressada pela linha sólida.
[000375] Em B da figura 31, o relacionamento do parâmetro de quantização QP e do parâmetro Tc e a quantidade de ajuste (Δt) quando o relacionamento for expressado pela Expressão (12) são mostrados.
[000376] Desta maneira, no caso do parâmetro Tc, da forma mostrada na seguinte Expressão (13), a Expressão aproximada (12) é multiplicada por k3 e k4 e, então, uma quantidade (quantidade de ajuste Δt) do desvio da Expressão (12) é ajustada.[Fórmula Matemática 13]
Figure img0013
[000377] Então, no segundo método de extensão, a inclinação (k3, k4) destas duas Expressões é transmitida para o lado da decodificação pela sintaxe. No lado da decodificação, para cada fatia, uma tabela mostrada pela supradescrita Expressão (13) é atualizada usando a inclinação indicada pela sintaxe do lado da codificação. Além do mais, como um método de transmissão do coeficiente (k3, k4) para o lado da decodificação, por exemplo, Exponencial Golomb ou Codificação em Comprimento Fixo podem ser considerados. Entretanto, qualquer tipo de codificação é possível.
[000378] A quantidade de ajuste é ±k4, e o sinal muda de acordo com o valor de qp, da forma mostrada em B da figura 31. Em B da figura 31, quando QP for 27 até 29 e 31, o valor da quantidade de ajuste é positivo. Quando QP for 34 e 36 até 42, o valor da quantidade de ajuste é negativo. Além do mais, a quantidade de ajuste pode ser fixa em 1, mostrado em B da figura 31, por exemplo, independente de k.
[000379] No caso de k3 = 0 e k4 = 1, a Expressão (13) torna-se uma expressão obtida pela adição da quantidade de ajuste (Δt) na tabela da expressão aproximada mostrada pela Expressão (12) supradescrita. K3 = 0 e k4 = 1 são valores padrões, e um valor a ser mudado entre estes valores é transmitido para o lado da decodificação pela sintaxe.
[000380] Além do mais, embora a quantidade de ajuste seja incluída na Expressão (13), também é possível usar a Expressão (14) sem a quantidade de ajuste na consideração de que o parâmetro existente Tc é expressado pela Expressão (12) supradescrita.[Fórmula Matemática 14]
Figure img0014
[000381] Além do mais, a multiplicação por k0 até k2 na Expressão (11) supradescrita e a multiplicação por k3 e k4 na Expressão (13) ou na Expressão (14) supradescritas podem ser preferivelmente realizadas por deslocamento de bit.
[000382] Além do mais, de acordo com o segundo método de extensão supradescrito, o significado do parâmetro de quantização QP não é mudado. A faixa do parâmetro de quantização QP não é diferente da faixa no método HEVC. Além do mais, é possível aumentar o grau de liberdade de uma definição, dependendo de como o ruído é misturado no fluxo contínuo. Além do mais, isto pode ser realizado sem aumentar a memória em uso.
<5. Terceira modalidade (terceiro método de extensão)> [Exemplo da extensão do parâmetro β]
[000383] Além do mais, a extensão do parâmetro β pelo terceiro método de extensão será descrita. O significado do deslocamento (β_offset) do parâmetro β no método HEVC é um parâmetro de quantização QP + β_offset. Desta maneira, o parâmetro β é expressado pela seguinte Expressão (15). [Fórmula Matemática 15]
Figure img0015
[000384] Isto é, no método HEVC, β_offset foi adicionado no parâmetro de quantização QP, e o β foi tomado. Ao contrário, como o terceiro método de extensão, da forma mostrada na seguinte Expressão (16), o β_offset é diretamente adicionado no parâmetro β.[Fórmula Matemática 16]
Figure img0016
[000385] Aqui, α0 é um valor fixo. Por exemplo, α0 = 0, 1, 2, 3, 4,..., e o valor de α0 não é limitado. É possível ajustar β usando este α0. Além do mais, α0 pode não ser um valor fixo. Por exemplo, α0 pode ser definido no lado da codificação e ser transmitido para o lado da decodificação pela sintaxe.
[000386] Por exemplo, da forma descrita em relação à figura 32, no caso de QP = 37, β_offset = 6, e α0 = 2, o valor (= 48) de β = β(37 + 6) = β(43) é usado a partir da supradescrita Expressão (15) no método HEVC.
[000387] Por outro lado, no caso do terceiro método de extensão, o valor (48) obtido pela adição de 12 no valor (= 36) de β = β(37) + 6 * 2 = β(37) é usado a partir da Expressão (16) supradescrita.
[000388] Da forma supradescrita, também é possível estender diretamente a faixa do valor de β usando β_offset. Isto também é o mesmo para o parâmetro Tc, como será descrito a seguir.
[Exemplo de extensão do parâmetro Tc]
[000389] A seguir, a extensão do parâmetro Tc usando o terceiro método de extensão será descrita. O significado do deslocamento (Tc_offset) do parâmetro Tc no método HEVC é um parâmetro de quantização QP + Tc_offset. Desta maneira, o parâmetro Tc é expressado pela seguinte Expressão (17).[Fórmula Matemática 17]
Figure img0017
[000390] Isto é, no método HEVC, Tc_offset foi adicionado no parâmetro de quantização QP, e o Tc foi tomado. Ao contrário, como o terceiro método de extensão, da forma mostrada na seguinte Expressão (18), o Tc_offset é diretamente adicionado no parâmetro Tc.[Fórmula Matemática 18]
Figure img0018
[000391] Aqui, α1 é um valor fixo. Por exemplo, α1 = 0, 1, 2, 3, 4,..., e o valor de α1 não é limitado. É possível ajustar Tc usando este α1. Além do mais, α1 não é limitado ao valor fixo, e pode ser definido no lado da codificação e ser transmitido para o lado da decodificação pela sintaxe.
[000392] Por exemplo, da forma descrita em relação à figura 33, no caso de QP = 37, Tc_offset = 6, e α1 = 1, o valor (= 8) de Tc = Tc(37 + 6) = Tc(43) é usado a partir da supradescrita Expressão (17) no método HEVC.
[000393] Por outro lado, no caso do terceiro método de extensão, o valor (10) obtido pela adição de 6 no valor (= 4) de Tc = Tc(37) + 6 * 1 = Tc(37) é usado a partir da Expressão (18) supradescrita.
[000394] Da forma supradescrita, também é possível estender diretamente a faixa do valor de Tc usando Tc_offset.
[000395] Além do mais, a multiplicação por α0 na Expressão (15) supradescrita e a multiplicação por α1 na Expressão (18) supradescrita podem ser preferivelmente realizadas por deslocamento de bit.
[000396] Além do mais, de acordo com o terceiro método de extensão supradescrito, o significado do parâmetro de quantização QP não é mudado. A faixa do parâmetro de quantização QP não é diferente da faixa no método HEVC. Além do mais, isto pode ser realizado sem aumentar a memória em uso.
[000397] Além do mais, similar ao primeiro método de extensão, o segundo e o terceiro métodos de extensão supradescritos também são realizados pela unidade de geração de β estendido 124 mostrada na figura 16 e pela unidade de geração de Tc estendido 164 mostrada na figura 19, por exemplo.
[000398] Além do mais, os coeficientes (k0 até k5) no segundo método de extensão supradescrito e os coeficientes α0 e α1 no terceiro método de extensão podem ser transmitidos para o lado da decodificação como um cabeçalho, tal como um cabeçalho de fatia, por exemplo. Além do mais, os coeficientes (k0 até k5) ou os coeficientes α0 e α1 podem ser transmitidos para o lado da decodificação como uma unidade NAL, tal como um conjunto do parâmetro de adaptação (APS).
[000399] Da forma supradescrita, parâmetros usados na determinação em relação a filtragem, isto é, parâmetros para determinar a intensidade do filtro são estendidos para aumentar a intensidade do filtro. Portanto, já que ruído de bloco pode ser suprimido por um aumento na intensidade do filtro, é possível otimizar uma imagem decodificada.
[000400] Além do mais, β e Tc foram usados como parâmetros do filtro para aumentar a intensidade do filtro de desbloqueio. Além do mais, na faixa dos parâmetros sob as condições atuais, havia um local onde ruído era deixado. Portanto, a extensão de β e Tc foi realizada para aumentar adicionalmente a intensidade. Considerações similares podem ser aplicadas no filtro de deslocamento adaptativo. Isto é, também no filtro de deslocamento adaptativo, é possível aumentar adicionalmente a intensidade pela extensão da faixa dos parâmetros do padrão atual.
[000401] Aqui, no primeiro método de extensão supradescrito, um exemplo de extensão da faixa dos parâmetros em valores depois do parâmetro de quantização QP (0 até 51), que é uma inserção do parâmetro do filtro de desbloqueio na LUT, foi descrito. Neste caso, o número de tabelas para manter os parâmetros aumenta grosseiramente, ou o custo de cálculo para novos parâmetros aumenta.
[000402] Ao contrário, será descrito um exemplo no qual a intensidade de desbloqueio pode aumentar tão simplesmente quanto possível.
<6. Quarta modalidade (quarto método de extensão)> [Extensão do parâmetro β]
[000403] Primeiro, um exemplo de extensão da faixa do parâmetro no parâmetro de quantização QP (0 até 51) será descrito em relação à figura 34. A da figura 34 é um gráfico que mostra o relacionamento entre o parâmetro de quantização QP e o parâmetro β na presente técnica. B da figura 34 é uma tabela que mostra o relacionamento entre o parâmetro de quantização QP e o parâmetro β na presente técnica. Além do mais, no gráfico mostrado em A da figura 34, a linha pontilhada mostra a tecnologia relacionada. Na tabela mostrada em B da figura 34, uma parte de quadro espesso é uma parte estendida pela presente técnica.
[000404] Da forma mostrada no quadro espesso da figura 34, uma parte de Alto no parâmetro de quantização QP (0 até 51), isto é, o parâmetro β (β(45) até β(51)) correspondente ao parâmetro de quantização QP (45 até 51) é estendido pelo aumento da inclinação da função linear, que expressa o parâmetro na maior inclinação. Isto é, este método de extensão de β é expressado pela seguinte Expressão (19).[Fórmula Matemática 19]
Figure img0019
[000405] Além do mais, embora k3 = 4 seja aqui definido, k3 não é limitado a 4. Isto é, embora 4 seja adequado como o valor de k3 em consideração da operação de deslocamento, o valor de k3 também pode ser 3, 5, 6 ou congêneres.
[000406] O filtro de desbloqueio 31 na quarta modalidade é, basicamente, igual ao filtro de desbloqueio 31 supradescrito em relação à figura 14, exceto pela configuração da unidade de geração de β 112 mostrada na figura 15. Portanto, um exemplo da configuração da unidade de geração de β 112 da figura 15 com uma configuração diferente será descrito a seguir.
[Exemplo da configuração da unidade de geração de β]
[000407] A figura 35 é um diagrama de blocos que mostra um exemplo da configuração da unidade de geração de β.
[000408] No exemplo mostrado na figura 35, a unidade de geração de β 112 é configurada para incluir a unidade de cálculo de β LUT_input 121 mostrada na figura 16 e uma unidade de processamento de geração de β 251.
[000409] O parâmetro de quantização QP proveniente da unidade de cálculo de QP médio 111b é suprido para a unidade de cálculo de β LUT_input 121. O valor (β_offdset_div2) do deslocamento de β da informação definida pela unidade de definição de configuração 101 é suprido para a unidade de cálculo de β LUT_input 121.
[000410] A unidade de cálculo de β LUT_input 121 calcula βtmp, que é um valor β LUT_input qp inserido na unidade de processamento de geração de β 251. Isto é, a unidade de cálculo de β LUT_input 121 calcula βtmp pela adição do valor do deslocamento de β e do parâmetro de quantização QP proveniente da unidade de cálculo de QP médio 111b, e supre o βtmp calculado para a unidade de processamento de geração de β 251.
[000411] A unidade de processamento de geração de β 251 tem uma βLUT (Tabela de Busca) com base no cálculo off-line da Expressão (19). A unidade de processamento de geração de β 251 recebe βtmp calculado pela unidade de cálculo de β LUT_input 121 como β LUT_input qp, calcula β usando βLUT (Expressão (19)), e supre o β calculado para a unidade de determinação de filtragem 114.
[000412] Além do mais, o processo do filtro de desbloqueio 31 na quarta modalidade é basicamente igual ao processo de filtragem de desbloqueio supradescrito em relação à figura 23, exceto pelo processamento de geração de β da etapa S123 da figura 24.
[000413] Portanto, um processo de geração de β (etapa S123 da figura 24), que é um processo diferente, será descrito a seguir em relação ao fluxograma mostrado na figura 36.
[000414] Na etapa S251, a unidade de cálculo de β LUT_input 121 calcula βtmp = QP + β_offdset_div2 * 2, que é um valor β LUT_input qp, que é inserido na unidade de processamento de geração de β 251, e supre o βtmp calculado para a unidade de processamento de geração de β 251.
[000415] Além do mais, na prática, o valor de deslocamento (β_offdset_div2) de β é dividido ao meio e transmitido, e é dobrado e usado durante o cálculo de β LUT_input qp na etapa S251.
[000416] Na etapa S252, a unidade de processamento de geração de β 251 recebe βtmp calculado pela unidade de cálculo de β LUT_input 121 como β LUT_input qp, calcula β usando βLUT (Expressão (19)), e supre o β calculado para a unidade de determinação de filtragem 114.
[000417] Da forma supradescrita, a intensidade do filtro aumenta pelo aumento da inclinação da função linear de β da parte de Alto no parâmetro de quantização QP (0 até 51). Neste caso, a intensidade de desbloqueio durante o proporcionamento do deslocamento pode ser facilmente aumentada sem ter pouca influência no desempenho ou na montagem sob as condições atuais.
[000418] Além do mais, embora o deslocamento do parâmetro β e o deslocamento do parâmetro Tc sejam transmitidos do lado da codificação para o lado da decodificação na explicação exposta, um exemplo de compartilhamento dos deslocamentos dos parâmetros β e Tc será descrito a seguir.
<7. Quinta modalidade (primeiro método de transmissão com deslocamento)> [Exemplo da configuração do filtro de desbloqueio]
[000419] A figura 37 é um diagrama de blocos que mostra um exemplo da configuração do filtro de desbloqueio quando os deslocamentos dos parâmetros β e Tc forem compartilhados.
[000420] No exemplo mostrado na figura 37, o filtro de desbloqueio 31 é configurado para incluir uma unidade de definição de configuração 301 e uma unidade de execução do filtro 302.
[000421] Diferente do filtro de desbloqueio 31 mostrado na figura 14, um valor (dblk_offset_div2) do deslocamento de desbloqueio comum nos parâmetros β e Tc é inserido na unidade de definição de configuração 301.
[000422] Isto é, a unidade de definição de configuração 301 recebe o valor do deslocamento de desbloqueio e a informação do indicador DisableDeblockingFilter (isto é, informação ATIVO/INATIVO) inserida a partir de uma unidade de operação (ou do decodificador sem perdas 62), que não é mostrada no diagrama, por exemplo. A unidade de definição de configuração 301 realiza uma definição de configuração no filtro de desbloqueio 31 com base na informação inserida. Isto é, na unidade de definição de configuração 301, como uma definição de configuração, o valor do deslocamento de desbloqueio é definido como os deslocamentos de β e Tc do filtro de desbloqueio. A unidade de definição de configuração 301 supre a informação definida para a unidade de execução do filtro 302.
[000423] Um valor de pixel antes do filtro de desbloqueio proveniente da unidade de operação aritmética 30 (ou da unidade de operação aritmética 65) é suprido para a unidade de execução do filtro 302. A unidade de execução do filtro 302 calcula o parâmetro de quantização QP, que é usado para gerar parâmetros, com base na informação definida pela unidade de definição de configuração 301, tal como o valor do deslocamento de desbloqueio, gera os parâmetros β e Tc, e determina se filtragem é exigida ou não ou a intensidade do filtro. Então, a unidade de execução do filtro 302 realiza filtragem com base na intensidade do filtro determinada ou no resultado da determinação em relação a se filtragem é exigida ou não. A unidade de execução do filtro 302 supre um valor de pixel depois do filtro de desbloqueio para o filtro de deslocamento adaptativo à jusante 41 (ou o filtro de deslocamento adaptativo 81).
[000424] Além do mais, a unidade de execução do filtro 302 realiza o supradescrito processamento em cada um do limite da luminância e do limite da diferença de cor.
[Exemplo da configuração da unidade de execução do filtro no limite da luminância]
[000425] A figura 38 é um diagrama de blocos que mostra um exemplo da configuração da unidade de execução do filtro que realiza filtragem do limite da luminância.
[000426] No exemplo mostrado na figura 38, a unidade de execução do filtro 302 é configurada para incluir uma unidade de cálculo de QP 111, uma unidade de determinação de filtragem 114, uma unidade de filtragem 115, uma unidade de geração de β 311 e uma unidade de geração de Tc 312.
[000427] Além do mais, a unidade de execução do filtro 302 é a mesma unidade de execução do filtro 102 mostrada na figura 15, em que a unidade de cálculo de QP 111, a unidade de determinação de filtragem 114 e a unidade de filtragem 115 são providas. A unidade de execução do filtro 302 é diferente da unidade de execução do filtro 102 mostrada na figura 15, em que a unidade de geração de β 112 é substituída pela unidade de geração de β 311 e a unidade de geração de Tc 113 é substituída pela unidade de geração de Tc 312.
[000428] Isto é, similarmente à unidade de geração de β 112, a unidade de geração de β 311 gera o parâmetro β de acordo com o parâmetro de quantização QP proveniente da unidade de cálculo de QP médio 111b. Neste caso, na unidade de geração de β 311, o valor (dblk_offset_div2) do deslocamento de desbloqueio proveniente da unidade de definição de configuração 301 é usado como um valor do deslocamento. A unidade de geração de β 311 supre o parâmetro β gerado para a unidade de determinação de filtragem 114.
[000429] Similarmente à unidade de geração de Tc 113, a unidade de geração de Tc 312 gera o parâmetro Tc de acordo com o parâmetro de quantização QP proveniente da unidade de cálculo de QP médio 111b. Neste caso, na unidade de geração de Tc 312, o valor (dblk_offset_div2) do deslocamento de desbloqueio proveniente da unidade de definição de configuração 301 é usado como um valor do deslocamento. A unidade de geração de Tc 312 supre o parâmetro Tc gerado para a unidade de determinação de filtragem 114.
[Exemplo da configuração da unidade de geração de β]
[000430] A figura 39 é um diagrama de blocos que mostra um exemplo da configuração da unidade de geração de β.
[000431] No exemplo mostrado na figura 39, a unidade de geração de β 311 é configurada para incluir uma unidade de cálculo de β LUT_input 321 e uma unidade de processamento de geração de β 322.
[000432] O parâmetro de quantização QP proveniente da unidade de cálculo de QP médio 111b é suprido para a unidade de cálculo de β LUT_input 321. O valor (dblk_offset_div2) do deslocamento de desbloqueio da informação definida pela unidade de definição de configuração 301 é suprido para a unidade de cálculo de β LUT_input 321.
[000433] A unidade de cálculo de β LUT_input 321 calcula βtmp pela adição do parâmetro de quantização QP proveniente da unidade de cálculo de QP médio 111b e do valor do deslocamento de desbloqueio, e supre o βtmp calculado para a unidade de processamento de geração de β 322.
[000434] A unidade de processamento de geração de β 322 tem um βLUT (Tabela de Busca) definido no método HEVC, por exemplo. A unidade de processamento de geração de β 322 recebe βtmp a partir da unidade de cálculo de β LUT_input 321 como β LUT_input qp, calcula β usando βLUT, e supre o β calculado para a unidade de determinação de filtragem 114.
[Exemplo da configuração da unidade de geração de Tc]
[000435] A figura 40 é um diagrama de blocos que mostra um exemplo da configuração da unidade de geração de Tc.
[000436] No exemplo mostrado na figura 40, a unidade de geração de Tc 312 é configurada para incluir uma unidade de cálculo de TcLUT_input 331 e uma unidade de processamento de geração de Tc 332.
[000437] O parâmetro de quantização QP proveniente da unidade de cálculo de QP médio 111b é suprido para a unidade de cálculo de TcLUT_input 331. O valor (dblk_offset_div2) do deslocamento de desbloqueio da informação definida pela unidade de definição de configuração 301 é suprido para a unidade de cálculo de TcLUT_input 331.
[000438] A unidade de cálculo de TcLUT_input 331 calcula Tctmp pela adição do parâmetro de quantização QP proveniente da unidade de cálculo de QP médio 111b e do valor do deslocamento de desbloqueio, e supre o Tctmp calculado para a unidade de processamento de geração de Tc 332.
[000439] A unidade de processamento de geração de Tc 332 tem uma TcLUT (Tabela de Busca) definida no método HEVC, por exemplo. A unidade de processamento de geração de Tc 332 recebe Tctmp a partir da unidade de cálculo de TcLUT_input 331 como TcLUT_input qp, calcula Tc usando TcLUT e supre o Tc calculado para a unidade de determinação de filtragem 114.
[000440] Além do mais, para o exemplo da configuração da unidade de execução do filtro que realiza filtragem do limite da diferença de cor, a unidade de geração de Tc 113 na unidade de execução do filtro 102 supradescrita em relação à figura 22 é somente substituída pela unidade de geração de Tc 312 mostrada na figura 38. Desta maneira, a explicação será omitida.
[Operação do filtro de desbloqueio]
[000441] A seguir, um processo de filtragem de desbloqueio será descrito em relação ao fluxograma mostrado na figura 41. Além do mais, o processamento das etapas S302 até S308 da figura 41 é basicamente igual ao processo das etapas S102 até 108 da figura 23. Entretanto, na filtragem de cada limite das etapas S305 e S306, o processamento de geração de β da etapa S123 e o processamento de geração de Tc da etapa S124 da figura 24 são diferentes. Portanto, os detalhes serão descritos a seguir em relação às figuras 43 e 44.
[000442] Por exemplo, informação do indicador DisableDeblockingFilter (isto é, informação ATIVO/INATIVO) e o valor do deslocamento de desbloqueio são inseridos através de uma unidade de operação (ou do decodificador sem perdas 62), que não é mostrada no diagrama.
[000443] Na etapa S301, a unidade de definição de configuração 301 define a configuração de um filtro. Os detalhes do processo de definição da configuração serão descritos a seguir em relação à figura 42. Uma configuração é definida na etapa S301. Neste caso, informação do indicador DisableDeblockingFilter é definida e o valor (dblk_offset_div2) do deslocamento de desbloqueio é definido.
[000444] O valor do deslocamento de desbloqueio aqui definido é usado no processamento de geração de β da etapa S123 e no processamento de geração de Tc da etapa S124 da figura 24 e no processamento de geração de Tc da etapa S223 da figura 29, que descrevem o processamento da etapa S305.
[000445] Na etapa S302, a unidade de definição de configuração 301 determina se um filtro de desbloqueio pode ser usado ou não com base na informação do indicador DisableDeblockingFilter. Quando for determinado, na etapa S302, que um filtro de desbloqueio não pode ser usado, o processo de filtragem de desbloqueio é terminado.
[000446] Quando for determinado, na etapa S302, que um filtro de desbloqueio pode ser usado, o processo prossegue para a etapa S303.
[000447] Na etapa S303, a unidade de definição de configuração 301 deriva o limite entre a TU e a PU. Na etapa S304, a unidade de definição de configuração 301 deriva um valor da BS com base na informação do limite entre a TU e a PU derivada na etapa S303, na informação do modo de previsão e congêneres. A unidade de definição de configuração 301 supre a informação do valor da BS para a unidade de cálculo de QP 111 da unidade de execução do filtro 302.
[000448] Na etapa S305, a unidade de execução do filtro 302 realiza filtragem do limite de luminância (LUMA). Embora a explicação deste processamento seja omitida, já que ele foi descrito em relação à figura 24, filtragem é realizada no limite da luminância pelo processamento da etapa S105.
[000449] Na etapa S306, a unidade de execução do filtro 302 realiza filtragem do limite da diferença de cor (CHROMA). Embora a explicação deste processamento seja omitida, já que ele foi descrito em relação à figura 29, filtragem é realizada no limite da diferença de cor pelo processamento da etapa S106.
[000450] Na etapa S307, a unidade de execução do filtro 302 determina se todos os limites foram processados. Quando for determinado, na etapa S307, que nem todos os limites foram processados, o processo retorna para a etapa S305 para repetir os subsequentes processos.
[000451] Quando for determinado, na etapa S307, que todos os limites foram processados, o processo prossegue para a etapa S108.
[000452] Na etapa S308, a unidade de definição de configuração 301 determina se todas as CUs foram processadas. Quando for determinado, na etapa S308, que nem todas as CUs foram processadas, o processo retorna para a etapa S303 para repetir os subsequentes processos.
[000453] Quando for determinado, na etapa S308, que todas as CUs foram processadas, o processo de filtragem de desbloqueio é terminado.
[Processo de configuração de um filtro]
[000454] A seguir, o processo de definição da configuração de um filtro da etapa S301 da figura 41 será descrito em relação ao fluxograma mostrado na figura 42.
[000455] Informação do indicador de controle de desbloqueio, informação do indicador DisableDeblockingFilter (isto é, informação ATIVO/INATIVO) e o valor do deslocamento de desbloqueio são inseridos através de uma unidade de operação (ou do decodificador sem perdas 62) que não é mostrada no diagrama.
[000456] Na etapa S321, a unidade de definição de configuração 301 determina se o indicador de controle de desbloqueio é 1 ou não. Quando for determinado, na etapa S321, que o indicador de controle de desbloqueio é 1, o processo prossegue para a etapa S322.
[000457] Quando o indicador de controle de desbloqueio for 1, o indicador DisableDeblockingFilter e o deslocamento de desbloqueio podem ser transmitidos. Desta maneira, na etapa S322, a unidade de definição de configuração 301 lê e define o indicador DisableDeblockingFilter.
[000458] Na etapa S323, a unidade de definição de configuração 301 lê e define o valor (dblk_offset_div2) do deslocamento de desbloqueio.
[000459] Por outro lado, quando for determinado, na etapa S321, que o indicador de controle de desbloqueio é 0, o processo de definição da configuração é terminado. Isto é, quando for determinado, na etapa S321, que o indicador de controle de desbloqueio é 0, o indicador DisableDeblockingFilter e o deslocamento de desbloqueio não são transmitidos. Desta maneira, o indicador DisableDeblockingFilter e o deslocamento de desbloqueio não são definidos e os valores padrões são usados.
[Processo de geração de β]
[000460] A seguir, o processo de geração de β da etapa S123 da figura 24 será descrito em relação ao fluxograma mostrado na figura 43.
[000461] O valor (dblk_offset_div2) do deslocamento de desbloqueio é inserido na unidade de cálculo de β LUT_input 321 a partir da unidade de definição de configuração 301. Na etapa S331, a unidade de cálculo de β LUT_input 321 calcula βtmp = QP + dblk_offset_div2 * 2, que é um valor β LUT_input qp que é inserido na unidade de processamento de geração de β 322, e supre o βtmp calculado para a unidade de processamento de geração de β 322.
[000462] Além do mais, similarmente ao valor de deslocamento de β supradescrito, na prática, o valor de deslocamento de desbloqueio (dblk_offset_div2) é dividido ao meio e transmitido, e é dobrado e usado durante o cálculo de β LUT_input qp na etapa S331.
[000463] Na etapa S332, a unidade de processamento de geração de β 322 recebe βtmp calculado pela unidade de cálculo de β LUT_input 321 como β LUT_input qp, calcula β usando βLUT, e supre o β calculado para a unidade de determinação de filtragem 114.
[Processo de geração de Tc]
[000464] A seguir, o processo de geração de Tc da etapa S124 da figura 24 será descrito em relação ao fluxograma mostrado na figura 44.
[000465] O valor (dblk_offset_div2) do deslocamento de desbloqueio é inserido na unidade de cálculo de TcLUT_input 331 a partir da unidade de definição de configuração 301. Na etapa S341, a unidade de cálculo de TcLUT_input 331 calcula Tctmp = QP + dblk_offset_div2 * 2, que é um valor TcLUT_input qp que é inserido na unidade de processamento de geração de Tc 332, e supre o Tctmp calculado para a unidade de processamento de geração de Tc 332.
[000466] Além do mais, similarmente ao valor de deslocamento de β supradescrito, na prática, o valor de deslocamento de desbloqueio (dblk_offset_div2) é dividido ao meio e transmitido, e é dobrado e usado durante o cálculo de TcLUT_input qp na etapa S341.
[000467] Na etapa S342, a unidade de processamento de geração de Tc 332 recebe Tctmp calculado pela unidade de cálculo de TcLUT_input 331 como TcLUT_input qp, calcula Tc usando TcLUT, e supre o Tc calculado para a unidade de determinação de filtragem 114.
[Transmissão do valor (dblk_offset_div2) do deslocamento de desbloqueio]
[000468] A seguir, a transmissão do valor (dblk_offset_div2) do deslocamento de desbloqueio será descrita em relação à figura 45.
[000469] No dispositivo de codificação de imagem 11, o valor (dblk_offset_div2) do deslocamento de desbloqueio é inserido no filtro de desbloqueio 31a e no codificador sem perdas 26 através de uma unidade de operação (não mostrada). O valor (dblk_offset_div2) do deslocamento de desbloqueio é usado para filtragem no filtro de desbloqueio 31a, e é codificado pela gravação de SVLC (Sin VLC) no codificador sem perdas 26. O valor codificado (dblk_offset_div2) do deslocamento de desbloqueio é transmitido para o dispositivo de decodificação de imagem 51 como um parâmetro do filtro de desbloqueio.
[000470] O valor (dblk_offset_div2) do deslocamento de desbloqueio transmitido a partir do dispositivo de codificação de imagem 11 é decodificado pela leitura de SVLC (Sin VLC) no decodificador sem perdas 62 do dispositivo de decodificação de imagem 51, e é usado para filtragem no filtro de desbloqueio 31b.
[Exemplo da sintaxe do valor do deslocamento de desbloqueio]
[000471] A figura 46 é um diagrama que mostra um exemplo da sintaxe do valor do deslocamento de desbloqueio.
[000472] No exemplo mostrado na figura 46, o valor (dblk_offset_div2) do deslocamento de desbloqueio é descrito na declaração se de disaeble_deblocking_filter_flag, e o valor de dblk_offset_div2 é usado se disaeble_deblocking_filter_flag não for 0.
[000473] Além do mais, esta sintaxe é descrita em um cabeçalho de fatia e um PPS (conjunto de parâmetro de figura).
[000474] Da forma supradescrita, pelo uso do valor de deslocamento comum nos parâmetros β e Tc, um elemento da sintaxe pode ser reduzido, e a intensidade do filtro de desbloqueio pode ser facilmente controlada.
[000475] A seguir, será descrito um exemplo no qual, durante a codificação dos deslocamentos dos parâmetros β e Tc, o deslocamento do parâmetro β e a diferença entre o deslocamento do parâmetro β e o deslocamento do parâmetro Tc são codificados e transmitidos.
<8. Sexta modalidade (segundo método de transmissão com deslocamento)> [Exemplo da configuração do filtro de desbloqueio]
[000476] A figura 47 é um diagrama de blocos que mostra um exemplo da configuração do filtro de desbloqueio no dispositivo de codificação de imagem.
[000477] No exemplo mostrado na figura 47, o filtro de desbloqueio 31a é configurado para incluir uma unidade de definição de configuração 401 e uma unidade de execução do filtro 302.
[000478] O valor de deslocamento (β_offset_div2) do parâmetro β e o valor de deslocamento (Tc_offset_div2) do parâmetro Tc são inseridos na unidade de definição de configuração 401.
[000479] A unidade de definição de configuração 401 recebe informação do indicador DisableDeblockingFilter (isto é, informação ATIVO/INATIVO), o valor de deslocamento do parâmetro β e o valor de deslocamento do parâmetro Tc que são inseridos a partir de uma unidade de operação (não mostrada), por exemplo. A unidade de definição de configuração 401 realiza uma definição de configuração no filtro de desbloqueio 31a com base na informação inserida. Isto é, na unidade de definição de configuração 401, os valores de deslocamento de β e tc do filtro de desbloqueio são definidos. A unidade de definição de configuração 401 supre a informação definida para a unidade de execução do filtro 302.
[000480] Além do mais, neste caso, a unidade de definição de configuração 401 gera informação da diferença (diff_β_tc_div2) entre o valor de deslocamento (β_offset_div2) do parâmetro β e o valor de deslocamento (tc_offset_div2) do parâmetro tc. A unidade de definição de configuração 401 supre a informação da diferença gerada e o valor de deslocamento do parâmetro β para o codificador sem perdas 26.
[000481] A unidade de execução do filtro 302 é basicamente a mesma da unidade de execução do filtro 302 mostrada na figura 37. A unidade de execução do filtro 302 calcula o parâmetro de quantização QP, que é usado para gerar parâmetros, com base na informação definida pela unidade de definição de configuração 401, tal como o valor do deslocamento de desbloqueio, gera os parâmetros β e Tc, e determina se filtragem é exigida ou não ou a intensidade do filtro.
[000482] Neste caso, na unidade de execução do filtro 302 mostrada na figura 37, o valor (dblk_offset_div2) do deslocamento de desbloqueio é usado. Por outro lado, na unidade de execução do filtro 302 mostrada na figura 47, a diferença é que o valor de deslocamento (β_offset_div2) do parâmetro β e o valor de deslocamento (tc_offset_div2) do parâmetro tc são usados. Portanto, um exemplo da configuração da unidade de execução do filtro 302 no exemplo da figura 47 e um exemplo da configuração de cada unidade, que forma a unidade de execução do filtro 302, serão omitidos.
[000483] Além do mais, o processo de filtragem de desbloqueio do filtro de desbloqueio 31a mostrado na figura 47 é basicamente igual ao processo supradescrito em relação à figura 41, exceto pelo processo de definição da configuração do filtro na etapa S301. Portanto, o processo de definição da configuração do filtro na etapa S301 da figura 41, que é um processo diferente, será descrito em relação à figura 48.
[Processo de configuração de um filtro]
[000484] A seguir, o processo de definição da configuração de um filtro na etapa S301 da figura 41 será descrito em relação ao fluxograma mostrado na figura 48.
[000485] Informação do indicador de controle de desbloqueio, informação do indicador DisableDeblockingFilter (isto é, informação ATIVO/INATIVO) e os valores de deslocamento dos parâmetros β e tc são inseridos através de uma unidade de operação (não mostrada).
[000486] Na etapa S411, a unidade de definição de configuração 401 determina se o indicador de controle de desbloqueio é 1 ou não. Quando for determinado, na etapa S411, que o indicador de controle de desbloqueio é 1, o processo prossegue para a etapa S412.
[000487] Quando o indicador de controle de desbloqueio for 1, o indicador DisableDeblockingFilter e o deslocamento podem ser transmitidos. Desta maneira, na etapa S412, a unidade de definição de configuração 401 lê e define o indicador DisableDeblockingFilter.
[000488] Na etapa S413, a unidade de definição de configuração 401 lê e define o valor de deslocamento (β_offset_div2) do parâmetro β.
[000489] Na etapa S414, a unidade de definição de configuração 401 lê e define o valor de deslocamento (tc_offset_div2) do parâmetro tc.
[000490] Na etapa S415, a unidade de definição de configuração 401 gera diff_β_tc_div2, que é uma diferença entre o valor de deslocamento do parâmetro β e o valor de deslocamento do parâmetro Tc. A unidade de definição de configuração 401 supre a informação da diferença gerada diff_β_tc_div2 para o codificador sem perdas 26 juntamente com o valor de deslocamento do parâmetro β.
[000491] Por outro lado, quando for determinado, na etapa S411, que o indicador de controle de desbloqueio é 0, o processo de definição da configuração é terminado. Isto é, quando for determinado, na etapa S411, que o indicador de controle de desbloqueio é 0, o indicador DisableDeblockingFilter e o deslocamento não são transmitidos. Desta maneira, o indicador DisableDeblockingFilter e o deslocamento não são definidos e os valores padrões são usados.
[Exemplo da configuração do filtro de desbloqueio]
[000492] A figura 49 é um diagrama de blocos que mostra um exemplo da configuração do filtro de desbloqueio no dispositivo de decodificação de imagem.
[000493] No exemplo mostrado na figura 49, o filtro de desbloqueio 31b é configurado para incluir uma unidade de definição de configuração 451 e uma unidade de execução do filtro 302.
[000494] O valor de deslocamento (β_offset_div2) do parâmetro β e a informação da diferença (diff_β_tc_div2) entre o valor de deslocamento do parâmetro β e o valor de deslocamento do parâmetro Tc são inseridos na unidade de definição de configuração 451.
[000495] A unidade de definição de configuração 451 recebe informação do indicador DisableDeblockingFilter (isto é, informação ATIVO/INATIVO), o valor de deslocamento do parâmetro β e a informação da diferença que são inseridos a partir do decodificador sem perdas 62, por exemplo. A unidade de definição de configuração 451 realiza uma definição de configuração no filtro de desbloqueio 31b com base na informação inserida. Isto é, na unidade de definição de configuração 451, os valores de deslocamento de β e tc do filtro de desbloqueio são definidos. Além do mais, neste caso, o valor de deslocamento de Tc é calculado e definido pela adição da informação da diferença e do valor de deslocamento de β. A unidade de definição de configuração 451 supre a informação definida para a unidade de execução do filtro 302.
[000496] A unidade de execução do filtro 302 é basicamente a mesma unidade de execução do filtro 302 mostrada na figura 37. A unidade de execução do filtro 302 calcula o parâmetro de quantização QP, que é usado para gerar parâmetros, com base na informação definida pela unidade de definição de configuração 301, tal como o valor do deslocamento de desbloqueio, gera os parâmetros β e Tc, e determina se filtragem é exigida ou não ou a intensidade do filtro.
[000497] Neste caso, na unidade de execução do filtro 302 mostrada na figura 37, o valor (dblk_offset_div2) do deslocamento de desbloqueio é usado. Por outro lado, na unidade de execução do filtro 302 mostrada na figura 49, a diferença é que o valor de deslocamento (β_offset_div2) do parâmetro β e o valor de deslocamento (tc_offset_div2) do parâmetro Tc são usados. Portanto, um exemplo da configuração da unidade de execução do filtro 302 no exemplo da figura 49 e um exemplo da configuração de cada unidade, que forma a unidade de execução do filtro 302, serão omitidos.
[000498] Além do mais, o processo de filtragem de desbloqueio do filtro de desbloqueio 31b mostrado na figura 49 é basicamente igual ao processo supradescrito em relação à figura 41, exceto pelo processo de definição da configuração do filtro na etapa S301. Portanto, o processo de definição da configuração do filtro na etapa S301 da figura 41, que é um processo diferente, será descrito em relação à figura 50.
[Processo de configuração de um filtro]
[000499] A seguir, o processo de definição da configuração de um filtro na etapa S301 da figura 41 será descrito em relação ao fluxograma mostrado na figura 50.
[000500] Informação do indicador de controle de desbloqueio, informação do indicador DisableDeblockingFilter (isto é, informação ATIVO/INATIVO), o valor de deslocamento (β_offset_div2) do parâmetro β e a informação da diferença (diff_β_tc_div2) são inseridos através do decodificador sem perdas 62.
[000501] Na etapa S421, a unidade de definição de configuração 451 determina se o indicador de controle de desbloqueio é 1 ou não. Quando for determinado, na etapa S421, que o indicador de controle de desbloqueio é 1, o processo prossegue para a etapa S422.
[000502] Quando o indicador de controle de desbloqueio for 1, o indicador DisableDeblockingFilter e o deslocamento podem ser transmitidos. Desta maneira, na etapa S422, a unidade de definição de configuração 451 lê e define o indicador DisableDeblockingFilter.
[000503] Na etapa S423, a unidade de definição de configuração 451 lê e define o valor de deslocamento (β_offset_div2) do parâmetro β.
[000504] Na etapa S424, a unidade de definição de configuração 451 calcula e define o valor de deslocamento (tc_offset_div2) do parâmetro Tc pela adição do valor de deslocamento (β_offset_div2) do parâmetro β na informação da diferença diff_β_tc_div2.
[000505] Por outro lado, quando for determinado, na etapa S421, que o indicador de controle de desbloqueio é 0, o processo de definição da configuração é terminado. Isto é, quando for determinado, na etapa S421, que o indicador de controle de desbloqueio é 0, o indicador DisableDeblockingFilter e o deslocamento não são transmitidos. Desta maneira, o indicador DisableDeblockingFilter e o deslocamento não são definidos e os valores padrões são usados.
[Transmissão de um valor de deslocamento e da informação da diferença]
[000506] A seguir, transmissão do valor de deslocamento (β_offset_div2) e da informação da diferença (diff_β_tc_div2) será descrito em relação à figura 51.
[000507] No dispositivo de codificação de imagem 11, o valor de deslocamento (β_offset_div2) de β e o valor de deslocamento (tc_offset_div2) de Tc são inseridos no filtro de desbloqueio 31a através de uma unidade de operação (não mostrada). No filtro de desbloqueio 31a, filtragem é realizada pelo uso do valor de deslocamento (β_offset_div2) de β e do valor de deslocamento (tc_offset_div2) de tc.
[000508] Além do mais, no filtro de desbloqueio 31a, informação da diferença (diff_β_tc_div2) é gerada, e o valor de deslocamento (β_offset_div2) de β e a informação da diferença (diff_π_tc_div2) são supridos para o codificador sem perdas 26. Então, o valor de deslocamento (β_offset_div2) de β e a informação da diferença (diff_β_tc_div2) são codificados pela gravação de SVLC (Sin VLC) no codificador sem perdas 26, e são transmitidos para o dispositivo de decodificação de imagem 51 como um parâmetro do filtro de desbloqueio.
[000509] O valor de deslocamento (β_offset_div2) de β e a informação da diferença (diff_β_tc_div2) transmitidos a partir do dispositivo de codificação de imagem 11 são decodificados pela leitura de SVLC (Sin VLC) no decodificador sem perdas 62 do dispositivo de decodificação de imagem 51, e estes são usados no filtro de desbloqueio 31b e o valor de deslocamento (tc_offset_div2) de Tc é calculado. Então, no filtro de desbloqueio 31b, o valor de deslocamento (β_offset_div2) de β e o valor de deslocamento calculado (tc_offset_div2) de Tc são usados para filtragem.
[000510] Além do mais, embora o exemplo em que informação da diferença entre os valores de deslocamento de dois parâmetros é gerada na unidade de definição de configuração 401 e é suprida para o codificador sem perdas 26 tenha sido supradescrito, a informação da diferença pode ser gerada no codificador sem perdas 26.
[Exemplo da sintaxe do valor do deslocamento de desbloqueio]
[000511] A figura 52 é um diagrama que mostra um exemplo da sintaxe do valor do deslocamento de desbloqueio.
[000512] No exemplo mostrado na figura 52, o valor (beta_offset_div2) do deslocamento de β e a informação da diferença (diff_beta_tc_div2) são descritos na declaração se de disaeble_deblocking_filter_flag. Desta maneira, se disaeble_deblocking_filter_flag não for 0, o valor (beta_offset_div2) do deslocamento de β e a informação da diferença (diff_beta_tc_div2) são usados.
[000513] Além do mais, esta sintaxe é descrita em um cabeçalho de fatia e um PPS (conjunto de parâmetro de figura).
[000514] Além do mais, embora o deslocamento de β seja transmitido juntamente com informação da diferença na explicação exposta, também é possível transmitir o deslocamento de Tc. Neste caso, no lado da decodificação, o deslocamento de β é calculado a partir da informação da diferença e do deslocamento de tc.
[000515] Da forma supradescrita, em vez de transmitir os deslocamentos de dois parâmetros, também é possível transmitir o valor de deslocamento de um dos parâmetros e a informação da diferença entre os deslocamentos de um parâmetro e do outro parâmetro.
[000516] Desde que haja uma correlação entre o valor do deslocamento do parâmetro β e o valor do deslocamento do parâmetro Tc, estes valores são integrados em muitos casos. Neste caso, já que a informação da diferença é um valor pequeno, é possível reduzir o número de bits durante a codificação.
[000517] No exposto, o método HEVC foi usado como uma base do método de codificação. Entretanto, a presente descrição não é limitada a estes, e outros métodos de codificação/métodos de decodificação que incluem pelo menos um filtro de desbloqueio podem ser aplicados como um filtro em laço.
[000518] A presente descrição pode ser aplicada em dispositivos de codificação de imagem e dispositivos de decodificação de imagem usados para receber informação de imagem (fluxo contínuo de bits) comprimida usando transformada ortogonal, tal como transformada discreta de cosseno, e compensação de movimento, como no método HEVC, por exemplo, por meio de mídia em rede, tais como difusão via satélite, televisão a cabo, a Internet ou dispositivos de telefone portátil. A presente descrição também pode ser aplicada em dispositivos de codificação de imagem e dispositivos de decodificação de imagem que são usados quando informação de imagem comprimida for processada em uma mídia de armazenamento, tais como um disco ótico ou magnético ou uma memória flash.
<9. Sétima modalidade (dispositivo de codificação de imagem multivisualizações/de decodificação de imagem multivisualizações)> [Aplicações na codificação de imagem multivisualizações e na decodificação de imagem multivisualizações]
[000519] A série de processos supradescrita pode ser aplicada na codificação de imagem multivisualizações e na decodificação de imagem multivisualizações. A figura 53 mostra um exemplo de um método de codificação de imagem multivisualizações.
[000520] Da forma mostrada na figura 53, uma imagem multivisualizações inclui imagens de uma pluralidade de visualizações e uma imagem de uma visualização predeterminada da pluralidade de visualizações é designada como uma imagem de uma visualização base. Uma imagem de cada visualização diferente da imagem da visualização base é tratada como uma imagem de uma visualização não base.
[000521] Durante a realização da codificação de imagem multivisualizações, da forma mostrada na figura 53, parâmetros do filtro de desbloqueio (um indicador, um valor de deslocamento de um parâmetro, informação da diferença e congêneres) podem ser definidos em cada visualização (a mesma visualização). Além do mais, em cada visualização (diferentes visualizações), também é possível compartilhar parâmetros do filtro de desbloqueio definidos em outras visualizações.
[000522] Neste caso, um parâmetro do filtro de desbloqueio definido na visualização base é usado em pelo menos uma visualização não base. Alternativamente, por exemplo, um parâmetro do filtro de desbloqueio definido na visualização não base (view_id = i) é usado em pelo menos uma da visualização base e da visualização não base (view_id = j).
[000523] Portanto, na filtragem de desbloqueio, o processo de filtragem pode ser apropriadamente aplicado. Isto é, é possível suprimir ruído de bloco. [Dispositivo de codificação de imagem multivisualizações]
[000524] A figura 54 é um diagrama que mostra um dispositivo de codificação de imagem multivisualizações que realiza a codificação de imagem multivisualizações supradescrita. Da forma mostrada na figura 54, um dispositivo de codificação de imagem multivisualizações 600 inclui codificadores 601 e 602 e um multiplexador 603.
[000525] O codificador 601 codifica uma imagem de visualização base para gerar um fluxo contínuo de codificação da imagem de visualização base. O codificador 602 codifica uma imagem de visualização não base para gerar um fluxo contínuo de codificação da imagem de visualização não base. O multiplexador 603 gera um fluxo contínuo de codificação da imagem multivisualizações pela multiplexação do fluxo contínuo de codificação da imagem de visualização base gerado pelo codificador 601 e do fluxo contínuo de codificação da imagem de visualização não base gerado pelo codificador 602.
[000526] Para os codificadores 601 e 602 do dispositivo de codificação de imagem multivisualizações 600, o dispositivo de codificação de imagem 11 (figura 1) pode ser aplicado. Neste caso, o dispositivo de codificação de imagem multivisualizações 600 define e transmite um parâmetro do filtro de desbloqueio definido pelo codificador 601 e um parâmetro do filtro de desbloqueio definido pelo codificador 602.
[000527] Além do mais, o parâmetro do filtro de desbloqueio definido pelo codificador 601 da forma supradescrita pode ser definido e transmitido para ser compartilhado entre os codificadores 601 e 602. Inversamente, o parâmetro do filtro de desbloqueio definido em conjunto pelo codificador 602 pode ser definido e transmitido para ser compartilhado entre os codificadores 601 e 602.
[Dispositivo de decodificação de imagem multivisualizações]
[000528] A figura 55 é um diagrama que mostra um dispositivo de decodificação de imagem multivisualizações que realiza a decodificação de imagem multivisualizações supradescrita. Da forma mostrada na figura 55, um dispositivo de decodificação de imagem multivisualizações 610 inclui um demultiplexador 611 e decodificadores 612 e 613.
[000529] O demultiplexador 611 demultiplexa um fluxo contínuo de codificação da imagem multivisualizações, em que um fluxo contínuo de codificação da imagem de visualização base e um fluxo contínuo de codificação da imagem de visualização não base são multiplexados, para extrair o fluxo contínuo de codificação da imagem de visualização base e o fluxo contínuo de codificação da imagem de visualização não base. O decodificador 612 obtém uma imagem de visualização base pela decodificação do fluxo contínuo de codificação da imagem de visualização base extraído pelo demultiplexador 611. O decodificador 613 obtém uma imagem de visualização não base pela decodificação do fluxo contínuo de codificação da imagem de visualização não base extraído pelo demultiplexador 611.
[000530] Para os decodificadores 612 e 613 do dispositivo de decodificação de imagem multivisualizações 610, o dispositivo de decodificação de imagem 51 (figura 3) pode ser aplicado. Neste caso, o dispositivo de decodificação de imagem multivisualizações 610 realiza um processo usando o parâmetro do filtro de desbloqueio, que é definido pelo codificador 601 e decodificado pelo decodificador 612, e o parâmetro do filtro de desbloqueio, que é definido pelo codificador 602 e decodificado pelo decodificador 613.
[000531] Além do mais, o parâmetro do filtro de desbloqueio definido pelo codificador 601 (ou pelo codificador 602), da forma supradescrita, pode ser definido e transmitido para ser compartilhado entre os codificadores 601 e 602. Neste caso, o dispositivo de decodificação de imagem multivisualizações 610 realiza um processo usando o parâmetro do filtro de desbloqueio definido pelo codificador 601 (ou pelo codificador 602) e decodificado pelo decodificador 612 (ou pelo decodificador 613).
<10. Oitava modalidade (dispositivo de codificação de imagem hierárquica/de decodificação de imagem hierárquica)> [Aplicações na codificação de imagem hierárquica e na decodificação de imagem hierárquica]
[000532] A série de processos supradescrita pode ser aplicada na codificação de imagem hierárquica e na decodificação de imagem hierárquica. A figura 56 mostra um exemplo de um método de codificação de imagem multivisualizações.
[000533] Da forma mostrada na figura 56, uma imagem hierárquica inclui imagens de uma pluralidade de hierarquias (resoluções), e uma imagem de uma hierarquia predeterminada da pluralidade de resoluções é designada como uma imagem de uma camada base. Uma imagem de cada hierarquia diferente da imagem da camada base é tratada como uma imagem de uma camada não base.
[000534] Durante a realização da codificação de imagem hierárquica (escalonabilidade espacial), da forma mostrada na figura 56, um parâmetro do filtro de desbloqueio pode ser definido em cada camada (a mesma camada). Além do mais, em cada camada (camadas diferentes), também é possível compartilhar parâmetros do filtro de desbloqueio definidos em outras camadas.
[000535] Neste caso, um parâmetro do filtro de desbloqueio definido na camada base é usado em pelo menos uma camada não base. Alternativamente, por exemplo, um parâmetro do filtro de desbloqueio definido na camada não base (layer_id = i) é usado em pelo menos uma da camada base e da camada não base (layer_id = j).
[000536] Portanto, no processo de desbloqueio, filtragem pode ser apropriadamente aplicada. Isto é, é possível suprimir ruído de bloco.
[Dispositivo de codificação da imagem hierárquica]
[000537] A figura 57 é um diagrama que mostra um dispositivo de codificação de imagem hierárquica que realiza a codificação de imagem hierárquica supradescrita. Da forma mostrada na figura 57, um dispositivo de codificação de imagem hierárquica 620 inclui codificadores 621 e 622 e um multiplexador 623.
[000538] O codificador 621 codifica uma imagem da camada base para gerar um fluxo contínuo de codificação da imagem de camada base. O codificador 622 codifica uma imagem de camada não base para gerar um fluxo contínuo de codificação da imagem de camada não base. O multiplexador 623 gera um fluxo contínuo de codificação de imagem hierárquica pela multiplexação do fluxo contínuo de codificação da imagem de camada base gerado pelo codificador 621 e do fluxo contínuo de codificação da imagem de camada não base gerado pelo codificador 622.
[000539] Para os codificadores 621 e 622 do dispositivo de codificação de imagem hierárquica 620, o dispositivo de codificação de imagem 11 (figura 1) pode ser aplicado. Neste caso, o dispositivo de codificação de imagem hierárquica 620 define e transmite um parâmetro do filtro de desbloqueio definido pelo codificador 621 e um parâmetro do filtro de desbloqueio definido pelo codificador 602.
[000540] Além do mais, o parâmetro do filtro de desbloqueio definido pelo codificador 621 da forma supradescrita pode ser definido e transmitido para ser compartilhado entre os codificadores 621 e 622. Inversamente, o parâmetro do filtro de desbloqueio definido pelo codificador 622 pode ser definido e transmitido para ser compartilhado entre os codificadores 621 e 622.
[Dispositivo de decodificação de imagem hierárquica]
[000541] A figura 58 é um diagrama que mostra um dispositivo de decodificação de imagem hierárquica que realiza a decodificação de imagem hierárquica supradescrita. Da forma mostrada na figura 58, um dispositivo de decodificação de imagem hierárquica 630 inclui um demultiplexador 631 e decodificadores 632 e 633.
[000542] O demultiplexador 631 demultiplexa um fluxo contínuo de codificação de imagem hierárquica, em que um fluxo contínuo de codificação da imagem de camada base e um fluxo contínuo de codificação da imagem de camada não base são multiplexados, para extrair o fluxo contínuo de codificação da imagem de camada base e o fluxo contínuo de codificação da imagem de camada não base. O decodificador 632 obtém uma imagem da camada base pela decodificação do fluxo contínuo de codificação da imagem de camada base extraído pelo demultiplexador 631. O decodificador 633 obtém uma imagem de camada não base pela decodificação do fluxo contínuo de codificação da imagem de camada não base extraído pelo demultiplexador 631.
[000543] Para os decodificadores 632 e 633 do dispositivo de decodificação de imagem hierárquica 630, o dispositivo de decodificação de imagem 51 (figura 3) pode ser aplicado. Neste caso, o dispositivo de decodificação de imagem hierárquica 630 realiza um processo usando o parâmetro do filtro de desbloqueio, que é definido pelo codificador 621 e decodificado pelo decodificador 632, e o parâmetro do filtro de desbloqueio, que é definido pelo codificador 622 e decodificado pelo decodificador 633.
[000544] Além do mais, o parâmetro do filtro de desbloqueio definido pelo codificador 621 (ou pelo codificador 622) da forma supradescrita pode ser definido e transmitido para ser compartilhado entre os codificadores 621 e 622. Neste caso, o dispositivo de decodificação de imagem hierárquica 630 realiza um processo usando o parâmetro do filtro de desbloqueio definido pelo codificador 621 (ou pelo codificador 622) e decodificado pelo decodificador 632 (ou pelo decodificador 633).
<11. Nona modalidade> [Exemplo de configuração de um computador]
[000545] A série de processos supradescrita pode ser realizada tanto por hardware quanto por software. Quando a série de processos supradescrita for realizada por software, programas que constituem o software são instalados em um computador. Note que exemplos do computador incluem um computador embutido em hardware dedicado e um computador pessoal de uso geral capaz de executar várias funções pela instalação de vários programas em si.
[000546] A figura 59 é um diagrama de blocos que mostra um exemplo da configuração de hardware de um computador que executa a série de processos supradescrita usando um programa.
[000547] Em um computador 800, uma CPU (Unidade de processamento Central) 801, uma ROM (Memória Exclusiva de Leitura) 802 e uma RAM (Memória de Acesso Aleatório) 803 são conectadas umas nas outras por um barramento 804.
[000548] Além do mais, uma interface de entrada/saída 805 é conectada no barramento 804. Uma unidade de inserção 806, uma unidade de transmissão 807, uma unidade de armazenamento 808, uma unidade de comunicação 809 e uma unidade de disco 810 são conectadas na interface de entrada/saída 805.
[000549] A unidade de inserção 806 inclui um teclado, um mouse, um microfone e congêneres. A unidade de transmissão 807 inclui uma tela, um alto-falante e congêneres. A unidade de armazenamento 808 inclui um disco rígido, uma memória não volátil e congêneres. A unidade de comunicação 809 inclui uma interface de rede e congêneres. A unidade de disco 810 aciona mídia removível 821, tais como um disco magnético, um disco ótico, um disco magneto-ótico ou uma memória semicondutora.
[000550] No computador configurado como exposto, a CPU 801 carrega, por exemplo, um programa armazenado na unidade de armazenamento 808 sobre a RAM 803 através da interface de entrada/saída 805 e do barramento 804 e executa o programa, desse modo, realizando a série de processos supradescrita.
[000551] O programa executado pelo computador 800 (CPU 801) pode ser gravado na mídia removível 821 como mídia acondicionada ou congêneres e ser provido, por exemplo. Além do mais, o programa pode ser provido através de um cabo ou de uma mídia de transmissão sem fios, tais como uma rede de área local, a Internet e difusão via satélite digital.
[000552] No computador, o programa pode ser instalado na unidade de armazenamento 808 através da interface de entrada/saída 805 pela montagem da mídia removível 821 na unidade de disco 810. Além do mais, o programa pode ser recebido pela unidade de comunicação 809 através de um cabo ou de uma mídia de transmissão sem fios e ser instalado na unidade de armazenamento 808. Além do mais, o programa pode ser instalado na ROM 802 ou na unidade de armazenamento 808 antecipadamente.
[000553] Programas a serem executados pelo computador podem ser programas para realizar processos em ordem cronológica de acordo com a sequência descrita nesta especificação ou programas para realizar processos em paralelo ou em sincronismo necessário, tal como em resposta a uma chamada.
[000554] Nesta especificação, etapas que descrevem programas a serem gravados em uma mídia de gravação incluem processos a serem realizados em paralelo ou independentemente uns dos outros, se não necessariamente em ordem cronológica, bem como processos a serem realizados em ordem cronológica de acordo com a sequência aqui descrita.
[000555] Nesta especificação, um sistema refere-se à íntegra do equipamento que inclui mais de um dispositivo.
[000556] Além do mais, qualquer estrutura supradescrita como um dispositivo (ou uma unidade de processamento) pode ser dividida em dois ou mais dispositivos (ou unidades de processamento). Inversamente, qualquer estrutura supradescrita como dois ou mais dispositivos (ou unidades de processamento) pode ser combinada em um dispositivo (ou unidade de processamento). Além do mais, certamente, é possível adicionar componentes diferentes daqueles supradescritos na estrutura de qualquer um dos dispositivos (ou unidades de processamento). Além do mais, alguns componentes de um dispositivo (ou unidade de processamento) podem ser incorporados na estrutura de um outro dispositivo (ou unidade de processamento), desde que a estrutura e a função do sistema como um todo sejam substancialmente as mesmas. Isto é, a presente técnica não é limitada às modalidades supradescritas, mas várias modificações podem ser nesta feitas sem fugir do escopo da técnica.
[000557] Os dispositivos de codificação de imagem e os dispositivos de decodificação de imagem de acordo com as modalidades supradescritas podem ser aplicados em vários dispositivos eletrônicos, tais como transmissores e receptores em difusão via satélite, difusão a cabo, tal como TV a cabo, distribuição por meio da Internet, distribuição para terminais por meio de comunicação celular ou congêneres, dispositivos de gravação configurados para gravar imagens na mídia, tais como discos magnéticos e memória flash, e dispositivos de reprodução configurados para reproduzir imagens a partir da mídia de armazenamento. Quatro exemplos de aplicações serão descritos a seguir.
<12. Aplicações> [Primeira Aplicação: Receptor de Televisão]
[000558] A figura 60 mostra um exemplo de uma estrutura esquemática de um aparelho de televisão no qual as modalidades supradescritas são aplicadas. O aparelho de televisão 900 inclui uma antena 901, um sintonizador 902, um demultiplexador 903, um decodificador 904, um processador do sinal de vídeo 905, uma unidade de exibição 906, um processador do sinal de áudio 907, um alto-falante 908, uma interface externa 909, um controlador 910, uma interface do usuário 911 e um barramento 912.
[000559] O sintonizador 902 extrai um sinal de um canal desejado a partir dos sinais de difusão recebidos por meio da antena 901, e demodula o sinal extraído. O sintonizador 902, então, transmite um fluxo contínuo de bits codificado obtido pelo demodulação para o demultiplexador 903. Isto é, o sintonizador 902 serve como dispositivo de transmissão no aparelho de televisão 900 que recebe um fluxo contínuo codificado de imagens codificadas.
[000560] O demultiplexador 903 separa um fluxo contínuo de vídeo e um fluxo contínuo de áudio de um programa a ser visualizado a partir do fluxo contínuo de bits codificado, e transmite os fluxos contínuos separados para o decodificador 904. O demultiplexador 903 também extrai dados auxiliares, tal como um EPG (guia eletrônico de programa), a partir do fluxo contínuo de bits codificado, e supre os dados extraídos para o controlador 910. Se o fluxo contínuo de bits codificado estiver embaralhado, o demultiplexador 903 pode desembaralhar o fluxo contínuo de bits codificado.
[000561] O decodificador 904 decodifica o fluxo contínuo de vídeo e o fluxo contínuo de áudio inseridos a partir do demultiplexador 903. O decodificador 904, então, transmite dados de vídeo gerados pela decodificação para o processador do sinal de vídeo 905. O decodificador 904 também transmite dados de áudio gerados pela decodificação para o processador do sinal de áudio 907.
[000562] O processador do sinal de vídeo 905 reproduz dados de vídeo inseridos a partir do decodificador 904, e exibe os dados de vídeo na unidade de exibição 906. O processador do sinal de vídeo 905 também pode exibir uma tela de aplicação suprida por meio da rede na unidade de exibição 906. Além do mais, o processador do sinal de vídeo 905 pode realizar processamento adicional, tal como remoção (supressão) de ruído, nos dados de vídeo, dependendo das definições. O processador do sinal de vídeo 905 pode gerar adicionalmente uma imagem de uma GUI (interface gráfica do usuário), tais como um menu, um botão ou um cursor, e sobrepor a imagem gerada nas imagens transmitidas.
[000563] A unidade de exibição 906 é acionada por um sinal de acionamento suprido a partir do processador do sinal de vídeo 905, e exibe vídeo ou imagens em uma tela de vídeo de um dispositivo de exibição (tais como uma tela de cristal líquido, uma tela de plasma ou uma OELD (tela de eletroluminescência orgânica) (tela de EL orgânica)).
[000564] O processador do sinal de áudio 907 realiza processamento de reprodução, tais como conversão D/A e amplificação, nos dados de áudio inseridos a partir do decodificador 904 e transmite áudio através do alto- falante 908. Além do mais, o processador do sinal de áudio 907 pode realizar processamento adicional, tal como remoção (supressão) de ruído, nos dados de áudio.
[000565] A interface externa 909 é uma interface para conectar o aparelho de televisão 900 com um dispositivo externo ou uma rede. Por exemplo, um fluxo contínuo de vídeo ou um fluxo contínuo de áudio recebidos por meio da interface externa 909 podem ser decodificados pelo decodificador 904. Isto é, a interface externa 909 também serve como dispositivo de transmissão no aparelho de televisão 900 que recebe um fluxo contínuo codificado de imagens codificadas.
[000566] O controlador 910 inclui um processador, tais como uma CPU e uma memória, tais como uma RAM e uma ROM. A memória armazena programas a serem executados pela CPU, dados de programa, dados de EPG, dados adquiridos por meio da rede e congêneres. Programas armazenados na memória são lidos e executados pela CPU quando o aparelho de televisão 900 for ativado, por exemplo. A CPU controla a operação do aparelho de televisão 900 de acordo com sinais de controle inseridos a partir da interface do usuário 911, por exemplo, pela execução dos programas.
[000567] A interface do usuário 911 é conectada no controlador 910. A interface do usuário 911 inclui botões e chaves para que usuários operem o aparelho de televisão 900 e uma unidade de recepção para receber sinais de controle remoto, por exemplo. A interface do usuário 911 detecta operação por um usuário por meio destes componentes, gera um sinal de controle e transmite o sinal de controle gerado para o controlador 910.
[000568] O barramento 912 conecta o sintonizador 902, o demultiplexador 903, o decodificador 904, o processador do sinal de vídeo 905, o processador do sinal de áudio 907, a interface externa 909 e o controlador 910 uns nos outros.
[000569] No aparelho de televisão 900 com uma estrutura como esta, o decodificador 904 tem as funções dos dispositivos de decodificação de imagem de acordo com as modalidades supradescritas. Em decorrência disto, o ruído de bloco pode ser suprimido na decodificação de imagens no aparelho de televisão 900.
[Segunda Aplicação: Dispositivo de Telefone Portátil]
[000570] A figura 61 mostra um exemplo de uma estrutura esquemática de um dispositivo de telefone portátil no qual as modalidades supradescritas são aplicadas. O dispositivo de telefone portátil 920 inclui uma antena 921, uma unidade de comunicação 922, um codec de áudio 923, um alto-falante 924, um microfone 925, uma unidade de câmera 926, um processador de imagem 927, um demultiplexador 928, uma unidade de gravação/reprodução 929, uma unidade de exibição 930, um controlador 931, uma unidade de operação 932 e um barramento 933.
[000571] A antena 921 é conectada na unidade de comunicação 922. O alto-falante 924 e o microfone 925 são conectados no codec de áudio 923. A unidade de operação 932 é conectada no controlador 931. O barramento 933 conecta a unidade de comunicação 922, o codec de áudio 923, a unidade de câmera 926, o processador de imagem 927, o demultiplexador 928, a unidade de gravação/reprodução 929, a unidade de exibição 930 e o controlador 931 uns nos outros.
[000572] O dispositivo de telefone portátil 920 realiza operação, tais como transmissão/recepção de sinais de áudio, transmissão/recepção de correios eletrônicos e dados de imagem, captura de imagens, gravação de dados e congêneres em vários modos de operação, incluindo um modo de chamada por voz, um modo de comunicação de dados, um modo de tratamento de imagem e um modo de telefone com vídeo.
[000573] No modo de chamada por voz, um sinal de áudio analógico gerado pelo microfone 925 é suprido para o codec de áudio 923. O codec de áudio 923 converte o sinal de áudio analógico para dados de áudio, realiza conversão A/D nos dados de áudio convertidos e comprime os dados de áudio. O codec de áudio 923, então, transmite os dados de áudio resultantes da compressão para a unidade de comunicação 922. A unidade de comunicação 922 codifica e modula os dados de áudio para gerar um sinal a ser transmitido. A unidade de comunicação 922, então, transmite o sinal gerado a ser transmitido para uma estação base (não mostrada) por meio da antena 921. A unidade de comunicação 922 também amplifica e realiza conversão de frequência em um sinal de rádio recebido por meio da antena 921 para obter um sinal recebido. A unidade de comunicação 922, então, demodula e decodifica o sinal recebido para gerar dados de áudio, e transmite os dados de áudio gerados para o codec de áudio 923. O codec de áudio 923 descomprime e realiza conversão D/A nos dados de áudio para gerar um sinal de áudio analógico. O codec de áudio 923, então, supre o sinal de áudio gerado para o alto-falante 924 para transmitir áudio a partir deste.
[000574] No modo de comunicação de dados, o controlador 931 gera dados de texto a serem incluídos em um correio eletrônico de acordo com a operação por um usuário por meio da unidade de operação 932, por exemplo. O controlador 931 também exibe o texto na unidade de exibição 930. O controlador 931 também gera dados de correio eletrônico em resposta a uma instrução para transmissão a partir de um usuário por meio da unidade de operação 932, e transmite os dados de correio eletrônico gerados para a unidade de comunicação 922. A unidade de comunicação 922 codifica e modula os dados de correio eletrônico para gerar um sinal a ser transmitido. A unidade de comunicação 922, então, transmite o sinal gerado a ser transmitido para uma estação base (não mostrada) por meio da antena 921. A unidade de comunicação 922 também amplifica e realiza conversão de frequência em um sinal de rádio recebido por meio da antena 921 para obter um sinal recebido. A unidade de comunicação 922, então, demodula e decodifica o sinal recebido para restaurar dados de correio eletrônico, e transmite os dados de correio eletrônico restaurados para o controlador 931. O controlador 931 exibe o conteúdo do correio eletrônico na unidade de exibição 930 e armazena os dados de correio eletrônico em uma mídia de armazenamento da unidade de gravação/reprodução 929.
[000575] A unidade de gravação/reprodução 929 inclui uma mídia de armazenamento legível/gravável. Por exemplo, a mídia de armazenamento pode ser uma mídia de armazenamento interna, tais como uma RAM ou memória flash, ou pode ser uma mídia de armazenamento externamente montada, tais como um disco rígido, um disco magnético, um disco magneto-ótico, uma memória USB (barramento serial universal) ou um cartão de memória.
[000576] No modo de tratamento de imagem, a unidade de câmera 926 trata a imagem de um sujeito para gerar dados de imagem, e transmite os dados da imagem gerada para o processador de imagem 927, por exemplo. O processador de imagem 927 codifica os dados de imagem inseridos a partir da unidade de câmera 926, e armazena um fluxo contínuo codificado na mídia de armazenamento da unidade de armazenamento/reprodução 929.
[000577] No modo de telefone com vídeo, o demultiplexador 928 multiplexa um fluxo contínuo de vídeo codificado pelo processador de imagem 927 e um fluxo contínuo de áudio inserido a partir do codec de áudio 923, e transmite o fluxo contínuo multiplexado para a unidade de comunicação 922, por exemplo. A unidade de comunicação 922 codifica e modula o fluxo contínuo para gerar um sinal a ser transmitido. A unidade de comunicação 922, então, transmite o sinal gerado a ser transmitido para uma estação base (não mostrada) por meio da antena 921. A unidade de comunicação 922 também amplifica e realiza conversão de frequência em um sinal de rádio recebido por meio da antena 921 para obter um sinal recebido. O sinal a ser transmitido e o sinal recebido podem incluir fluxos contínuos de bit codificados. A unidade de comunicação 922, então, demodula e decodifica o sinal recebido para restaurar o fluxo contínuo e transmite o fluxo contínuo restaurado para o demultiplexador 928. O demultiplexador 928 separa um fluxo contínuo de vídeo e um fluxo contínuo de áudio do fluxo contínuo inserido, e transmite o fluxo contínuo de vídeo para o processador de imagem 927 e o fluxo contínuo de áudio para o codec de áudio 923. O processador de imagem 927 decodifica o fluxo contínuo de vídeo para gerar dados de vídeo. Os dados de vídeo são supridos para a unidade de exibição 930 e uma série de imagens é exibida pela unidade de exibição 930. O codec de áudio 923 descomprime e realiza conversão D/A no fluxo contínuo de áudio para gerar um sinal de áudio analógico. O codec de áudio 923, então, supre o sinal de áudio gerado para o alto-falante 924 para transmitir áudio a partir deste.
[000578] No dispositivo de telefone portátil 920 com uma estrutura como esta, o processador de imagem 927 tem as funções dos dispositivos de codificação de imagem e dos dispositivos de decodificação de imagem de acordo com as modalidades supradescritas. Em decorrência disto, o ruído de bloco pode ser suprimido na codificação e na decodificação de imagens no dispositivo de telefone portátil 920.
[Terceira Aplicação: Dispositivo de Gravação/Reprodução]
[000579] A figura 62 mostra um exemplo de uma estrutura esquemática de um dispositivo de gravação/reprodução no qual as modalidades supradescritas são aplicadas. O dispositivo de gravação/reprodução 940 codifica dados de áudio e dados de vídeo de um programa de difusão recebido e grava os dados codificados em uma mídia de gravação, por exemplo. O dispositivo de gravação/reprodução 940 também pode codificar dados de áudio e dados de vídeo adquiridos a partir de um outro dispositivo e gravar os dados codificados em uma mídia de gravação, por exemplo. O dispositivo de gravação/reprodução 940 também reproduz dados gravados na mídia de gravação em um monitor e através de um alto-falante em resposta a uma instrução de um usuário, por exemplo. Neste caso, o dispositivo de gravação/reprodução 940 decodifica dados de áudio e dados de vídeo.
[000580] O dispositivo de gravação/reprodução 940 inclui um sintonizador 941, uma interface externa 942, um codificador 943, uma HDD (unidade de disco rígido) 944, uma unidade de disco 945, um seletor 946, um decodificador 947, uma OSD (exibição na tela) 948, um controlador 949 e uma interface do usuário 950.
[000581] O sintonizador 941 extrai um sinal de um canal desejado a partir de sinais de difusão recebidos por meio de uma antena (não mostrada), e demodula o sinal extraído. O sintonizador 941, então, transmite um fluxo contínuo de bits codificado obtido pela demodulação para o seletor 946. Isto é, o sintonizador 941 tem um papel do dispositivo de transmissão no dispositivo de gravação/reprodução 940.
[000582] A interface externa 942 é uma interface para conectar o dispositivo de gravação/reprodução 940 com um dispositivo externo ou uma rede. A interface externa 942 pode ser uma interface IEEE 1394, uma interface de rede, uma interface USB ou uma interface de memória flash, por exemplo. Por exemplo, dados de vídeo e dados de áudio recebidos por meio da interface externa 942 são inseridos no codificador 943. Isto é, a interface externa 942 tem um papel do dispositivo de transmissão no dispositivo de gravação/reprodução 940.
[000583] O codificador 943 codifica os dados de vídeo e os dados de áudio se os dados de vídeo e os dados de áudio inseridos a partir da interface externa 942 não estiverem codificados. O codificador 943, então, transmite o fluxo contínuo de bits codificado para o seletor 946.
[000584] A HDD 944 grava um fluxo contínuo de bits codificado dos dados de conteúdo comprimidos, tais como vídeo e áudio, vários programas e outros dados em um disco rígido interno. A HDD 944 também lê os dados a partir do disco rígido para reprodução de vídeo e áudio.
[000585] A unidade de disco 945 grava e lê dados em uma mídia de gravação montada em si. A mídia de gravação montada na unidade de disco 945 pode ser um disco DVD (tais como um DVD-Vídeo, um DVD-RAM, um DVD-R, um DVD-RW, um DVD+R ou um DVD+RW) ou um disco Blu-ray (marca registrada), por exemplo.
[000586] Para gravação do vídeo e do áudio, o seletor 946 seleciona um fluxo contínuo de bits codificado inserido a partir do sintonizador 941 ou do codificador 943 e transmite o fluxo contínuo de bits codificado selecionado para a HDD 944 ou a unidade de disco 945. Para reproduzir vídeo e áudio, o seletor 946 seleciona um fluxo contínuo de bits codificado inserido a partir do HDD 944 ou da unidade de disco 945 no decodificador 947.
[000587] O decodificador 947 decodifica o fluxo contínuo de bits codificado para gerar dados de vídeo e dados de áudio. O decodificador 947, então, transmite os dados de vídeo gerados para a OSD 948. O decodificador 904 também transmite os dados de áudio gerados para um alto-falante externo.
[000588] A OSD 948 reproduz os dados de vídeo inseridos a partir do decodificador 947 e exibe o vídeo. A OSD 948 também pode sobrepor uma imagem da GUI, tais como um menu, um botão ou um cursor, no vídeo a ser exibido.
[000589] O controlador 949 inclui um processador, tal como uma CPU, e uma memória, tais como uma RAM e uma ROM. A memória armazena programas a serem executados pela CPU, dados de programa e congêneres. Programas armazenados na memória são lidos e executados pela CPU quando o dispositivo de gravação/reprodução 940 for ativado, por exemplo. A CPU controla a operação do dispositivo de gravação/reprodução 940 de acordo com sinais de controle inseridos a partir da interface do usuário 950, por exemplo, pela execução dos programas.
[000590] A interface do usuário 950 é conectada no controlador 949. A interface do usuário 950 inclui botões e chaves para que usuários operem o dispositivo de gravação/reprodução 940 e uma unidade de recepção para receber sinais de controle remoto, por exemplo. A interface do usuário 950 detecta operação por um usuário por meio destes componentes, gera um sinal de controle e transmite o sinal de controle gerado para o controlador 949.
[000591] No dispositivo de gravação/reprodução 940 com uma estrutura como esta, o codificador 943 tem as funções dos dispositivos de codificação de imagem de acordo com as modalidades supradescritas. Além do mais, o decodificador 947 tem as funções dos dispositivos de decodificação de imagem de acordo com as modalidades supradescritas. Em decorrência disto, o ruído de bloco pode ser suprimido na codificação e na decodificação de imagens no dispositivo de gravação/reprodução 940.
[Quarta Aplicação: Dispositivo de Tratamento de Imagem]
[000592] A figura 63 mostra um exemplo de uma estrutura esquemática de um dispositivo de tratamento de imagem no qual as modalidades supradescritas são aplicadas. O dispositivo de tratamento de imagem 960 trata a imagem de um sujeito para gerar uma imagem, codifica os dados de imagem e grava os dados de imagem codificados em uma mídia de gravação.
[000593] O dispositivo de tratamento de imagem 960 inclui um bloco ótico 961, uma unidade de tratamento de imagem 962, um processador de sinal 963, um processador de imagem 964, uma unidade de exibição 965, uma interface externa 966, uma memória 967, uma unidade de mídia 968, uma OSD 969, um controlador 970, uma interface do usuário 971 e um barramento 972.
[000594] O bloco ótico 961 é conectado na unidade de tratamento de imagem 962. A unidade de tratamento de imagem 962 é conectada no processador de sinal 963. A unidade de exibição 965 é conectada no processador de imagem 964. A interface do usuário 971 é conectada no controlador 970. O barramento 972 conecta o processador de imagem 964, a interface externa 966, a memória 967, a unidade de mídia 968, a OSD 969 e o controlador 970 uns nos outros.
[000595] O bloco ótico 961 inclui uma lente de foco, um diafragma e congêneres. O bloco ótico 961 forma uma imagem ótica de um sujeito na superfície de tratamento de imagem da unidade de tratamento de imagem 962. A unidade de tratamento de imagem 962 inclui um sensor de imagem, tais como um CCD (dispositivo de carga acoplada) ou um CMOS (semicondutor de óxido de metal complementar), e converte a imagem ótica formada na superfície de tratamento de imagem em um sinal de imagem, que é um sinal elétrico, através da conversão fotoelétrica. A unidade de tratamento de imagem 962, então, transmite o sinal de imagem para o processador de sinal 963.
[000596] O processador de sinal 963 realiza vários tipos de processamentos do sinal da câmera, tais como correção de knee, correção de gama e correção de cor no sinal de imagem inserido a partir da unidade de tratamento de imagem 962. O processador de sinal 963 transmite dados de imagem sujeitos ao processamento do sinal da câmera para o processador de imagem 964.
[000597] O processador de imagem 964 codifica os dados de imagem inseridos a partir do processador de sinal 963 para gerar dados codificados. O processador de imagem 964, então, transmite os dados codificados gerados para a interface externa 966 ou a unidade de mídia 968. O processador de imagem 964 também decodifica dados codificados inseridos a partir da interface externa 966 ou da unidade de mídia 968 para gerar dados de imagem. O processador de imagem 964, então, transmite os dados da imagem gerada para a unidade de exibição 965. O processador de imagem 964 pode transmitir dados de imagem inseridos a partir do processador de sinal 963 para a unidade de exibição 965 para exibir imagens. O processador de imagem 964 também pode sobrepor dados para exibição adquiridos a partir da OSD 969 nas imagens a serem transmitidas para a unidade de exibição 965.
[000598] A OSD 969 pode gerar uma imagem da GUI, tais como um menu, um botão ou um cursor, e transmitir a imagem gerada para o processador de imagem 964, por exemplo.
[000599] A interface externa 966 é um terminal de entrada/saída USB, por exemplo. A interface externa 966 conecta o dispositivo de tratamento de imagem 960 e uma impressora para impressão de uma imagem, por exemplo. Além do mais, uma unidade de disco é conectada na interface externa 966, conforme necessário. Uma mídia removível, tais como um disco magnético ou um disco ótico, é montada na unidade de disco, por exemplo, e um programa lido a partir da mídia removível pode ser instalado no dispositivo de tratamento de imagem 960. Além do mais, a interface externa 966 pode ser uma interface de rede conectada em uma rede, tais como uma LAN ou a Internet. Isto é, a interface externa 966 tem um papel do dispositivo de transmissão no dispositivo de tratamento de imagem 960.
[000600] A mídia de gravação a ser montada na unidade de mídia 968 pode ser uma mídia legível/gravável removível, tais como um disco magnético, um disco magneto-ótico, um disco ótico ou uma memória semicondutora. Alternativamente, uma mídia de gravação pode ser montada na unidade de mídia 968 de uma maneira fixa para formar uma unidade de armazenamento imóvel, tais como uma unidade de disco rígido interna ou uma SSD (unidade em estado sólido), por exemplo.
[000601] O controlador 970 inclui um processador, tal como uma CPU, e uma memória, tais como uma RAM e uma ROM. A memória armazena programas a serem executados pela CPU, dados de programa e congêneres. Programas armazenados na memória são lidos e executados pela CPU quando o dispositivo de tratamento de imagem 960 for ativado, por exemplo. A CPU controla a operação do dispositivo de tratamento de imagem 960 de acordo com sinais de controle inseridos a partir da interface do usuário 971, por exemplo, pela execução dos programas.
[000602] A interface do usuário 971 é conectada com o controlador 970. A interface do usuário 971 inclui botões e chaves para que usuários operem o dispositivo de tratamento de imagem 960, por exemplo. A interface do usuário 971 detecta a operação por um usuário por meio destes componentes, gera um sinal de controle e transmite o sinal de controle gerado para o controlador 970.
[000603] No dispositivo de tratamento de imagem 960 com uma estrutura como esta, o processador de imagem 964 tem as funções dos dispositivos de codificação de imagem e dos dispositivos de decodificação de imagem de acordo com as modalidades supradescritas. Em decorrência disto, o ruído de bloco pode ser suprimido na codificação e na decodificação de imagens no dispositivo de tratamento de imagem 960.
<13. Aplicações de codificação escalonável> [Primeiro sistema]
[000604] A seguir, um exemplo de uso específico dos dados codificados escalonáveis, que são obtidos pela codificação escalonável (codificação hierárquica) supradescrita em relação às figuras 56 a 58, será descrito. Por exemplo, a codificação escalonável é usada para a seleção de dados a serem transmitidos, como em um exemplo mostrado na figura 64.
[000605] Em um sistema de transmissão de dados 1000 mostrado na figura 64, um servidor de distribuição 1002 lê dados codificados escalonáveis armazenados em uma unidade de armazenamento de dados codificados escalonáveis 1001, e distribui os dados codificados escalonáveis para dispositivos de terminal, tais como um computador pessoal 1004, um dispositivo AV 1005, um dispositivo tipo tablet 1006 e um dispositivo de telefone portátil 1007 através de uma rede 1003.
[000606] Neste caso, o servidor de distribuição 1002 seleciona e transmite dados codificados de qualidade apropriada de acordo com a capacidade do dispositivo de terminal, o ambiente de comunicação ou congêneres. Mesmo se o servidor de distribuição 1002 transmitir dados de alta qualidade desnecessariamente, uma imagem em alta qualidade não é necessariamente obtida no dispositivo de terminal, e estes podem ser a causa de atraso ou sobrefluxo. Além do mais, estes podem ocupar uma banda de comunicação desnecessariamente ou podem aumentar a carga do dispositivo de terminal desnecessariamente. Inversamente, mesmo se o servidor de distribuição 1002 transmitir dados de baixa qualidade desnecessariamente, uma imagem de suficiente qualidade de imagem pode não ser capaz de ser obtida no dispositivo de terminal. Portanto, o servidor de distribuição 1002 lê e transmite apropriadamente os dados codificados escalonáveis, que são armazenados na unidade de armazenamento de dados codificados escalonáveis 1001, como dados codificados de qualidade apropriada de acordo com a capacidade do dispositivo de terminal, o ambiente de comunicação ou congêneres.
[000607] Por exemplo, considera-se que a unidade de armazenamento de dados codificados escalonáveis 1001 armazena dados codificados escalonáveis (BL + EL) 1011 que são codificados de uma maneira escalonável. Os dados codificados escalonáveis (BL + EL) 1011 são dados codificados que incluem tanto uma camada base quanto uma camada de melhoria, e são dados que podem ser decodificados para obter tanto uma imagem da camada base quanto uma imagem da camada de melhoria.
[000608] O servidor de distribuição 1002 seleciona uma camada apropriada de acordo com a capacidade de um dispositivo de terminal para o qual dados devem ser transmitidos, o ambiente de comunicação ou congêneres, e lê dados da camada. Por exemplo, para o computador pessoal 1004 ou o dispositivo tipo tablet 1006 com alta capacidade de processamento, o servidor de distribuição 1002 lê os dados de alta qualidade codificados escalonáveis (BL + EL) 1011 a partir da unidade de armazenamento de dados codificados escalonáveis 1001 e os transmite como eles estão. Ao contrário, por exemplo, para o dispositivo AV 1005 ou o dispositivo de telefone portátil 1007 com baixa capacidade de processamento, o servidor de distribuição 1002 extrai dados de uma camada base a partir dos dados codificados escalonáveis (BL + EL) 1011, e transmite os dados como dados codificados escalonáveis (BL) 1012, que são dados do mesmo conteúdo que os dados codificados escalonáveis (BL + EL) 1011, mas têm qualidade inferior aos dados codificados escalonáveis (BL + EL) 1011.
[000609] Assim, pelo uso dos dados codificados escalonáveis, a quantidade de dados pode ser facilmente ajustada. Desta maneira, é possível suprimir a ocorrência de atraso ou sobrefluxo, ou é possível suprimir um aumento desnecessário na carga do dispositivo de terminal ou da mídia de comunicação. Além do mais, nos dados codificados escalonáveis (BL + EL) 1011, redundância entre camadas é reduzida. Neste caso, é possível reduzir a quantidade de dados, se comparado com um caso em que dados codificados de cada camada são usados como dados individuais. Portanto, é possível usar a região de armazenamento da unidade de armazenamento de dados codificados escalonáveis 1001 mais eficientemente.
[000610] Além do mais, como o computador pessoal 1004 através do dispositivo de telefone portátil 1007, vários dispositivos podem ser aplicados como dispositivos de terminal. Desta maneira, o desempenho de hardware do dispositivo de terminal difere, dependendo de um dispositivo. Além do mais, já que também há várias aplicações que são executadas pelo dispositivo de terminal, a capacidade do software também varia. Além do mais, como a rede 1003, que é uma mídia de comunicação, é possível aplicar um cabo ou mídia de transmissão sem fios, tais como a Internet ou uma LAN (Rede de Área Local), ou qualquer rede de comunicação que inclui ambos, por exemplo. Desta maneira, a capacidade da transmissão de dados varia. Além do mais, isto também pode mudar devido a outras comunicações ou congêneres.
[000611] Portanto, o servidor de distribuição 1002 pode comunicar com um dispositivo de terminal, como um destino de transmissão dos dados antes do início da transmissão de dados para obter informação em relação à capacidade do dispositivo de terminal, tais como o desempenho de hardware do dispositivo de terminal ou o desempenho de uma aplicação (software) executada pelo dispositivo de terminal, e informação em relação ao ambiente de comunicação, tal como a largura de banda disponível da rede 1003. Então, o servidor de distribuição 1002 pode selecionar uma camada apropriada com base na informação aqui obtida.
[000612] Além do mais, a extração de uma camada pode ser realizada pelo dispositivo de terminal. Por exemplo, o computador pessoal 1004 pode decodificar os dados codificados escalonáveis transmitidos (BL + EL) 1011, e pode exibir uma imagem da camada base ou exibir uma imagem da camada de melhoria. Além do mais, o computador pessoal 1004 pode extrair os dados codificados escalonáveis (BL) 1012 da camada base a partir dos dados codificados escalonáveis transmitidos (BL + EL) 1011, e pode armazenar os dados codificados escalonáveis (BL) 1012 ou transmitir os dados codificados escalonáveis (BL) 1012 para um outro dispositivo, ou decodificar os dados codificados escalonáveis (BL) 1012 e exibir a imagem da camada base.
[000613] Indubitavelmente, é possível usar qualquer número de unidades de armazenamento de dados codificados escalonáveis 1001, servidores de distribuição 1002, redes 1003 e dispositivos de terminal. Além do mais, embora o exemplo em que o servidor de distribuição 1002 transmite dados para o dispositivo de terminal tenha sido descrito no exposto, exemplos do uso não são limitados a este. O sistema de transmissão de dados 1000 pode ser aplicado em qualquer sistema, desde que este seja um sistema que seleciona e transmite uma camada apropriada de acordo com a capacidade do dispositivo de terminal, o ambiente de comunicação ou congêneres durante a transmissão para o dispositivo de terminal dos dados codificados que são codificados de uma maneira escalonável.
[000614] Além do mais, também no sistema de transmissão de dados 1000 mostrado na figura 64 supradescrita, o mesmo efeito que o efeito supradescrito em relação às figuras 56 a 58 pode ser obtido pela aplicação da presente técnica da mesma maneira que nas aplicações em codificação hierárquica e decodificação hierárquica supradescritas em relação às figuras 56 a 58.
[Segundo sistema]
[000615] Por exemplo, a codificação escalonável é usada para transmissão através de uma pluralidade de mídias de comunicação, como em um exemplo mostrado na figura 65.
[000616] Em um sistema de transmissão de dados 1100 mostrado na figura 65, uma estação de difusão 1101 transmite dados codificados escalonáveis (BL) 1121 da camada base por difusão terrestre 1111. Além do mais, a estação de difusão 1101 transmite (por exemplo, empacota e transmite) dados codificados escalonáveis (EL) 1122 da camada de melhoria através de uma rede arbitrária 1112, que é uma rede de comunicação a cabo ou sem fios ou uma rede de comunicação que inclui ambos.
[000617] Um dispositivo de terminal 1102 tem uma função de receber a difusão terrestre 1111 que a estação de difusão 1101 difunde, e receber os dados codificados escalonáveis (BL) 1121 da camada base transmitidos através da difusão terrestre 1111. Além do mais, o dispositivo de terminal 1102 tem adicionalmente uma função de comunicação para realizar comunicação através da rede 1112 e receber os dados codificados escalonáveis (EL) 1122 da camada de melhoria transmitidos através da rede 1112.
[000618] O dispositivo de terminal 1102 obtém uma imagem da camada base pela decodificação dos dados codificados escalonáveis (BL) 1121 da camada base adquiridos através da difusão terrestre 1111, ou armazena os dados codificados escalonáveis (BL) 1121, ou transmite os dados codificados escalonáveis (BL) 1121 para um outro dispositivo, por exemplo, em resposta a uma instrução do usuário ou congêneres.
[000619] Além do mais, o dispositivo de terminal 1102 obtém dados codificados escalonáveis (BL + EL) pela combinação dos dados codificados escalonáveis (BL) 1121 da camada base adquiridos através da difusão terrestre 1111 e dos dados codificados escalonáveis (EL) 1122 da camada de melhoria adquiridos através da rede 1112, ou obtém uma imagem da camada de melhoria pela decodificação dos dados codificados escalonáveis (BL + EL), ou armazena os dados codificados escalonáveis (BL + EL), ou transmite os dados codificados escalonáveis (BL + EL) para um outro dispositivo, por exemplo, em resposta a uma instrução do usuário ou congêneres.
[000620] Da forma supradescrita, dados codificados escalonáveis podem ser transmitidos através de uma mídia de comunicação que difere de acordo com cada camada, por exemplo. Portanto, já que é possível dispersar a carga, é possível suprimir a ocorrência de atraso ou sobrefluxo.
[000621] Além do mais, uma mídia de comunicação usada para transmissão pode ser selecionada para cada camada, dependendo da situação. Por exemplo, os dados codificados escalonáveis (BL) 1121 da camada base com uma quantidade de dados relativamente grande podem ser transmitidos através de uma mídia de comunicação de banda larga e os dados codificados escalonáveis (EL) 1122 da camada de melhoria com uma quantidade de dados relativamente pequena podem ser transmitidos através de uma mídia de comunicação de banda estreita. Além do mais, por exemplo, se a mídia de comunicação para transmitir os dados codificados escalonáveis (EL) 1122 da camada de melhoria deve ser a rede 1112 ou a difusão terrestre 1111 pode ser mudado de acordo com a largura de banda disponível da rede 1112. Indubitavelmente, isto é, o mesmo para os dados de qualquer camada.
[000622] Por tal controle, é possível suprimir adicionalmente um aumento na carga na transmissão de dados.
[000623] Indubitavelmente, o número de camadas é arbitrário, e o número de mídias de comunicação usadas para transmissão também é arbitrário. Além do mais, o número de dispositivos de terminal 1102 que são destinos de distribuição de dados também é arbitrário. Além do mais, embora uma difusão proveniente da estação de difusão 1101 tenha sido descrita como um exemplo no exposto, exemplos do uso não são limitados a esta. O sistema de transmissão de dados 1100 pode ser aplicado em qualquer sistema, desde que ele seja um sistema que divide dados codificados, que são codificados de uma maneira escalonável, em uma pluralidade de unidades com uma camada como uma unidade e transmite os dados através de uma pluralidade de linhas.
[000624] Além do mais, também no sistema de transmissão de dados 1100 mostrado na figura 65 supradescrita, o mesmo efeito do efeito supradescrito em relação às figuras 56 a 58 pode ser obtido pela aplicação da presente técnica da mesma maneira que nas aplicações em codificação hierárquica e em decodificação hierárquica supradescritas em relação às figuras 56 a 58.
[Terceiro sistema]
[000625] Além do mais, por exemplo, a codificação escalonável é usada para armazenamento de dados codificados, como em um exemplo mostrado na figura 66.
[000626] Em um sistema de tratamento de imagem 1200 mostrado na figura 66, um dispositivo de tratamento de imagem 1201 realiza codificação escalonável dos dados de imagem obtidos pelo tratamento de imagem de um sujeito 1211, e supre o resultado para um dispositivo de armazenamento de dados codificados escalonáveis 1202 como dados codificados escalonáveis (BL + EL) 1221.
[000627] O dispositivo de armazenamento de dados codificados escalonáveis 1202 armazena os dados codificados escalonáveis (BL + EL) 1221 supridos a partir do dispositivo de tratamento de imagem 1201 com qualidade de acordo com a situação. Por exemplo, em um estado normal, o dispositivo de armazenamento de dados codificados escalonáveis 1202 extrai dados de uma camada base a partir dos dados codificados escalonáveis (BL + EL) 1221, e armazena os dados, como dados codificados escalonáveis (BL) 1222 da camada base com uma pequena quantidade de dados, com baixa qualidade. Ao contrário, por exemplo, em um estado de atenção, o dispositivo de armazenamento de dados codificados escalonáveis 1202 armazena os dados codificados escalonáveis (BL + EL) 1221 com uma grande quantidade de dados como eles estão com alta qualidade.
[000628] Desta maneira, o dispositivo de armazenamento de dados codificados escalonáveis 1202 pode armazenar uma imagem em alta qualidade apenas quando necessário. Portanto, é possível suprimir um aumento na quantidade de dados, ao mesmo tempo em que se suprime uma redução no valor da imagem devido à deterioração na qualidade de imagem. Em decorrência disto, é possível aumentar a eficiência de uso da região de armazenamento.
[000629] Por exemplo, considera-se que o dispositivo de tratamento de imagem 1201 é uma câmera de vigilância. Quando um alvo de monitoramento (por exemplo, um intruso) não for refletido em uma imagem capturada (em um estado normal), uma possibilidade de que o conteúdo da imagem capturada não seja importante é alta. Neste caso, é dada prioridade à redução da quantidade de dados, e os dados de imagem (dados codificados escalonáveis) são armazenados com baixa qualidade. Ao contrário, quando um alvo de monitoramento for refletido em uma imagem capturada como o sujeito 1211 (em um estado de atenção), uma possibilidade de que o conteúdo da imagem capturada seja importante é alta. Neste caso, prioridade é dada à qualidade da imagem, e os dados de imagem (dados codificados escalonáveis) são armazenados com alta qualidade.
[000630] Além do mais, determinação de um estado normal ou um estado de atenção pode ser realizada por análise de imagem do dispositivo de armazenamento de dados codificados escalonáveis 1202, por exemplo. Além do mais, o dispositivo de tratamento de imagem 1201 pode realizar determinação e transmitir o resultado da determinação para o dispositivo de armazenamento de dados codificados escalonáveis 1202.
[000631] Além do mais, o critério de um estado normal ou um estado de atenção é arbitrário, e o conteúdo de uma imagem a ser um critério é arbitrário. Indubitavelmente, condições diferentes do conteúdo de uma imagem também podem ser critérios. Por exemplo, condições podem ser mudadas de acordo com a magnitude, a forma de onda ou congêneres do som gravado, ou podem ser mudadas em intervalos de tempo predeterminados, ou podem ser mudadas em resposta a uma instrução externa, tal como uma instrução do usuário.
[000632] Além do mais, um exemplo de comutação entre dois estados do estado normal e do estado de atenção foi descrito no exposto. Entretanto, o número de estados é arbitrário, e comutação entre três ou mais estados (por exemplo, um estado normal, um estado de pouca atenção, um estado de atenção, um estado de atenção emergencial e congêneres) pode ser definida como possível. Aqui, o número máximo de estados de comutação depende do número de camadas dos dados codificados escalonáveis.
[000633] Além do mais, o dispositivo de tratamento de imagem 1201 pode determinar o número de camadas de codificação escalonável de acordo com o estado. Por exemplo, em um estado normal, o dispositivo de tratamento de imagem 1201 pode gerar os dados codificados escalonáveis (BL) 1222 da camada base com uma pequena quantidade de dados com baixa qualidade, e suprir os dados codificados escalonáveis (BL) 1222 para o dispositivo de armazenamento de dados codificados escalonáveis 1202. Além do mais, por exemplo, em um estado de atenção, o dispositivo de tratamento de imagem 1201 pode gerar os dados codificados escalonáveis (BL + EL) 1221 da camada base com uma grande quantidade de dados com alta qualidade, e suprir os dados codificados escalonáveis (BL + EL) 1221 para o dispositivo de armazenamento de dados codificados escalonáveis 1202.
[000634] Embora a câmera de vigilância tenha sido descrita como um exemplo no exposto, a aplicação deste sistema de tratamento de imagem 1200 é arbitrária e não é limitada à câmera de vigilância.
[000635] Além do mais, também, no sistema de tratamento de imagem 1200 mostrado na figura 66 supradescrita, o mesmo efeito do efeito supradescrito em relação às figuras 56 a 58 pode ser obtido pela aplicação da presente técnica da mesma maneira que nas aplicações na codificação hierárquica e na decodificação hierárquica supradescritas em relação às figuras 56 a 58.
[000636] Além do mais, nesta especificação, foi descrito um exemplo no qual vários tipos de informação, tais como um parâmetro de um filtro de desbloqueio e um parâmetro de um filtro de deslocamento adaptativo, são multiplexados no fluxo contínuo de codificação e são transmitidos do lado da codificação para o lado da decodificação. Entretanto, o método no qual as partes de informação são transmitidas não é limitado a estes exemplos. Por exemplo, as partes de informação podem ser transmitidas ou gravadas como dados separados associados com o fluxo contínuo de bits codificado sem ser multiplexadas com o fluxo contínuo de bits codificado. Note que o termo "associar" significa permitir que imagens (que podem ser parte de imagens, tais como fatias ou blocos) contidas em um fluxo contínuo de bits sejam ligadas com informação nas imagens na decodificação. Isto é, a informação pode ser transmitida por meio de um caminho de transmissão diferente daquele para as imagens (ou fluxo contínuo de bits). Alternativamente, a informação pode ser gravada em uma mídia de gravação diferente daquela para as imagens (ou fluxo contínuo de bits) (ou em uma área diferente da mesma mídia de gravação). Além do mais, a informação e as imagens (ou fluxo contínuo de bits) podem ser associadas umas com as outras em quaisquer unidades, tais como em unidades de alguns quadros, um quadro ou parte de um quadro.
[000637] Embora modalidades preferidas da presente descrição tenham sido supradescritas em relação aos desenhos anexos, a presente descrição não é limitada a estes exemplos. Fica aparente que versados na técnica à qual a presente descrição pertence podem conceber várias variações e modificações na ideia técnica descritas nas reivindicações, e percebe-se naturalmente que estas variações e modificações pertencem ao escopo técnico da presente descrição.
[000638] Além do mais, a presente técnica também pode ter as seguintes estruturas. (1) Um dispositivo para processamento de imagem, que inclui: uma unidade de decodificação que gera uma imagem pela decodificação de um fluxo contínuo codificado; e uma unidade de filtro que realiza filtragem de um filtro usando um parâmetro, que é obtido pela extensão de uma faixa de um parâmetro do filtro para controlar o filtro para aumentar uma intensidade do filtro, com um contorno do bloco da imagem gerada pela unidade de decodificação como um alvo. (2) O dispositivo para processamento de imagem, de acordo com (1), em que a faixa do parâmetro do filtro é estendida para aumentar a intensidade de filtro do filtro em um estado consistente com uma faixa existente. (3) O dispositivo para processamento de imagem, de acordo com (1) ou (2), em que a faixa do parâmetro do filtro é ajustada para ser contínua em uma parte existente e uma parte estendida. (4) O dispositivo para processamento de imagem, de acordo com (1), em que a faixa do parâmetro do filtro é estendida pela adição de um novo parâmetro do filtro. (5) O dispositivo para processamento de imagem, de acordo com qualquer um de (1) até (4), em que o parâmetro do filtro é um valor limite usado durante a determinação se realiza-se a filtragem ou não. (6) O dispositivo para processamento de imagem, de acordo com qualquer um de (1) até (5), em que o filtro é um filtro de desbloqueio, e o parâmetro do filtro é um parâmetro usado durante a determinação se o filtro de desbloqueio é exigido ou não ou durante a determinação da seleção da intensidade. (7) O dispositivo para processamento de imagem, de acordo com (6), em que a faixa do parâmetro do filtro é estendida de uma forma linear. (8) O dispositivo para processamento de imagem, de acordo com (7), em que uma inclinação da forma linear é ajustável. (9) O dispositivo para processamento de imagem, de acordo com qualquer um de (1) até (6), em que a faixa do parâmetro do filtro é estendida em uma linha curva. (10) O dispositivo para processamento de imagem, de acordo com qualquer um de (1) até (5), em que o filtro é um filtro de desbloqueio, e o parâmetro do filtro é um parâmetro usado durante a determinação da seleção da intensidade do filtro de desbloqueio ou usado em limitação durante a realização de filtragem do filtro. (11) O dispositivo para processamento de imagem, de acordo com qualquer um de (1) até (5), em que a unidade de filtro realiza filtragem do filtro usando um parâmetro, que é estendido pela atualização de uma tabela usando uma inclinação de uma expressão computacional que expressa o parâmetro do filtro, com um contorno do bloco da imagem gerada pela unidade de decodificação como um alvo. (12) O dispositivo para processamento de imagem, de acordo com qualquer um de (1) até (5), em que a unidade de filtro realiza filtragem do filtro usando um parâmetro, que é estendido pela adição de um deslocamento do parâmetro do filtro no parâmetro do filtro, com um contorno do bloco da imagem gerada pela unidade de decodificação como um alvo. (13) O dispositivo para processamento de imagem, de acordo com qualquer um de (1) até (5), em que o parâmetro do filtro inclui dois tipos de parâmetros que usam um deslocamento comum e uma unidade de cálculo do parâmetro que calcula os dois tipos de parâmetros usando o deslocamento comum é adicionalmente provida. (14) O dispositivo para processamento de imagem, de acordo com qualquer um de (1) até (5), em que o parâmetro do filtro inclui dois tipos de parâmetros e uma primeira unidade de cálculo do parâmetro, que calcula um primeiro parâmetro do filtro usando um deslocamento de um primeiro parâmetro, e uma segunda unidade de cálculo do parâmetro, que calcula um segundo parâmetro do filtro usando o deslocamento do primeiro parâmetro, uma diferença entre o primeiro e o segundo parâmetros do filtro e um deslocamento do segundo parâmetro do filtro, são adicionalmente providas. (15) O dispositivo para processamento de imagem, de acordo com qualquer um de (1) até (14), em que o filtro é um filtro de desbloqueio. (16) O dispositivo para processamento de imagem, de acordo com (1), em que o filtro é um filtro de deslocamento adaptativo. (17) O dispositivo para processamento de imagem, de acordo com qualquer um de (1) até (16), em que a unidade de decodificação decodifica o fluxo contínuo codificado em uma unidade de processamento com uma estrutura hierárquica. (18) Um método de processamento de imagem de um dispositivo para processamento de imagem, que inclui: gerar uma imagem pela decodificação de um fluxo contínuo codificado; e realizar filtragem de um filtro usando um parâmetro, que é obtido pela extensão de uma faixa de um parâmetro do filtro para controlar o filtro para aumentar uma intensidade do filtro, com um contorno do bloco da imagem gerada como um alvo. (19) Um dispositivo para processamento de imagem, que inclui: uma unidade de filtro que realiza filtragem de um filtro usando um parâmetro, que é obtido pela extensão de uma faixa de um parâmetro do filtro para controlar o filtro para aumentar uma intensidade do filtro, com um contorno do bloco de uma imagem localmente decodificada como um alvo; uma unidade de codificação que gera um fluxo contínuo codificado pela codificação da imagem usando a imagem sujeita à filtragem do filtro pela unidade de filtro; e uma unidade de transmissão que transmite o fluxo contínuo codificado gerado pela unidade de codificação. (20) Um método de processamento de imagem de um dispositivo para processamento de imagem, que inclui: realizar filtragem de um filtro usando um parâmetro, que é obtido pela extensão de uma faixa de um parâmetro do filtro para controlar o filtro para aumentar uma intensidade do filtro, com uma imagem localmente decodificada como um alvo; gerar um fluxo contínuo codificado pela codificação da imagem usando a imagem sujeita à filtragem do filtro; e transmitir o fluxo contínuo codificado gerado. [000639] LISTA DOS SINAIS DE REFERÊNCIA 11 Dispositivo de codificação de imagem 31, 31a, 31b Filtro de desbloqueio 51 Dispositivo de decodificação de imagem 62 Decodificador sem perdas 101 Unidade de definição de configuração 102 Unidade de execução do filtro 111 Unidade de cálculo de QP 111a Unidade de aquisição de QP 111b Unidade de cálculo de QP médio 112 Unidade de geração β 113 Unidade de geração de Tc 114 Unidade de determinação de filtragem 115 Unidade de filtragem 121 Unidade de cálculo de β LUT_input 122 Unidade de limitação 123 Unidade de geração de β existente 124 Unidade de geração de β estendido 131 LUT 141 Unidade de cálculo de β (qp) 153 LUT estendida 161 Unidade de cálculo de Tc_LUT_input 162 Unidade de limitação 163 Unidade de geração de Tc existente 164 Unidade de geração de Tc estendido 171 LUT 181 Unidade de cálculo de Tc (qp) 193 LUT estendida 201 Unidade de determinação de filtragem 251 Unidade de processamento de geração de β 301 Unidade de definição de configuração 302 Unidade de execução do filtro 311 Unidade de geração de β 312 Unidade de geração de Tc 321 Unidade de cálculo de β LUT_input 322 Unidade de processamento de geração de β 331 Unidade de cálculo de Tc_LUT_input 332 Unidade de processamento de geração de Tc 401 Unidade de definição de configuração 451 Unidade de definição de configuração

Claims (21)

1. Dispositivo para processamento de imagem (11), caracterizado pelo fato de que compreende: um decodificador para gerar uma imagem decodificada, decodificando um fluxo contínuo codificado; e um filtro configurado para aplicar um filtro de desbloqueio aos pixels fazendo vizinhança com um contorno do bloco dentro da imagem decodificada, usando um conjunto de parâmetros de filtro com base em um parâmetro de quantização, o parâmetro de filtro sendo definido como maior que 12 no caso de o parâmetro de quantização ser igual a 47, em que o parâmetro de filtro é usado durante a limitação de pixels filtrados emitidos pelo filtro de desbloqueio, e o parâmetro de filtro sendo definido por uma tabela de busca com base em um valor do parâmetro de quantização quando o valor do parâmetro de quantização for igual a ou inferior a 53.
2. Dispositivo para processamento de imagem (11), de acordo com a reivindicação 1, caracterizado pelo fato de que: o parâmetro de quantização é uma média de um primeiro parâmetro de quantização e um segundo parâmetro de quantização entre um primeiro bloco e um segundo bloco no contorno do bloco.
3. Dispositivo para processamento de imagem (11), de acordo com a reivindicação 2, caracterizado pelo fato de que: o filtro é configurado para aplicar o filtro de desbloqueio aos pixels dentro da imagem decodificada usando o parâmetro de filtro ajustado de acordo com uma faixa estendida, a faixa estando dentro da faixa estendida.
4. Dispositivo para processamento de imagem (11), de acordo com a reivindicação 3, caracterizado pelo fato de que: o filtro de desbloqueio compreende um filtro fraco com uma primeira intensidade e um filtro forte com uma segunda intensidade mais forte que a primeira intensidade, e o parâmetro do filtro é um parâmetro usado durante seleção de qualquer um do filtro fraco e do filtro forte ou durante a limitação dos pixels filtrados após aplicação de um filtro forte.
5. Dispositivo para processamento de imagem (11), de acordo com a reivindicação 1, caracterizado pelo fato de que o contorno do bloco é um contorno de uma unidade de transformada ou de uma unidade de previsão.
6. Dispositivo para processamento de imagem (11), de acordo com a reivindicação 1, caracterizado pelo fato de que o decodificador compreende: uma unidade de decodificação aritmética (62) configurada para realizar um processo de decodificação aritmética sobre o fluxo contínuo codificado para gerar dados quantizados; uma unidade de quantização inversa (63) configurada para realizar um processo de quantização inversa sobre os dados quantizados para gerar dados de coeficiente de transformada; e uma unidade de transformada ortogonal inversa (64) configurada para realizar um processo de transformada ortogonal inversa sobre os dados de coeficiente de transformada.
7. Dispositivo de processamento de imagem, de acordo com a reivindicação 6, caracterizado pelo fato de que o decodificador é configurado para decodificar o fluxo codificado de acordo com unidades de codificação derivadas da divisão recursiva de uma maior unidade de codificação.
8. Dispositivo para processamento de imagem (11), de acordo com a reivindicação 7, caracterizado pelo fato de que: as unidades de codificação são derivadas a partir da divisão da maior unidade de codificação de acordo com uma estrutura de árvore quádrupla.
9. Dispositivo para processamento de imagem (11), de acordo com a reivindicação 8, caracterizado pelo fato de que: a maior unidade de codificação é uma unidade de codificação no nível superior da estrutura de árvore quádrupla.
10. Dispositivo para processamento de imagem (11), de acordo com a reivindicação 9, caracterizado pelo fato de que: a maior unidade de codificação é um bloco de tamanho fixo sob nível de sequência; e a unidade de codificação é um bloco de tamanho variável.
11. Dispositivo para processamento de imagem, de acordo com a reivindicação 8, caracterizado pelo fato de que: o parâmetro de filtro é ajustado avaliando a função do parâmetro de quantização da seguinte maneira: Tc(qp) = max (round (0,5 * qp - 13,5),1), em que Tc é o parâmetro de filtro e qp é o parâmetro de quantização.
12. Método de processamento de imagem, caracterizado por compreender as etapas de: gerar uma imagem decodificada, decodificando um fluxo contínuo codificado; e aplicar um filtro de desbloqueio aos pixels fazendo vizinhança com um contorno do bloco dentro da imagem decodificada, usando um conjunto de parâmetros de filtro com base em um parâmetro de quantização, o parâmetro de filtro sendo definido como maior que 12 no caso de o parâmetro de quantização ser igual a 47, em que o parâmetro de filtro é usado durante a limitação de pixels filtrados emitidos pelo filtro de desbloqueio, e o parâmetro de filtro sendo definido por uma tabela de busca com base em um valor do parâmetro de quantização quando o valor do parâmetro de quantização for igual a ou inferior a 53.
13. Método para processamento de imagem, de acordo com a reivindicação 12, caracterizado pelo fato de que: o parâmetro de quantização é uma média de um primeiro parâmetro de quantização e um segundo parâmetro de quantização entre um primeiro bloco e um segundo bloco no contorno do bloco.
14. Método para processamento de imagem, de acordo com a reivindicação 13, caracterizado pelo fato de que: o filtro de desbloqueio é aplicado aos pixels dentro da imagem decodificada usando o parâmetro de filtro ajustado de acordo com uma faixa estendida, a faixa estando dentro da faixa estendida.
15. Método para processamento de imagem, de acordo com a reivindicação 14, caracterizado pelo fato de que: o filtro de desbloqueio compreende um filtro fraco com uma primeira intensidade e um filtro forte com uma segunda intensidade mais forte que a primeira intensidade, e o parâmetro do filtro é um parâmetro usado durante seleção de qualquer um do filtro fraco e o filtro forte ou durante a limitação dos pixels filtrados após aplicação de um filtro forte.
16. Método para processamento de imagem, de acordo com a reivindicação 12, caracterizado pelo fato de que o contorno do bloco é um contorno de uma unidade de transformada ou de uma unidade de previsão.
17. Método para processamento de imagem, de acordo com a reivindicação 12, caracterizado pelo fato de que gerar a imagem decodificada compreende: realizar um processo de decodificação aritmética sobre o fluxo contínuo codificado para gerar dados quantizados; realizar um processo de quantização inversa sobre os dados quantizados para gerar dados de coeficiente de transformada; e realizar um processo de transformada ortogonal inversa sobre os dados de coeficiente de transformada.
18. Método para processamento de imagem, de acordo com a reivindicação 17, caracterizado pelo fato de que gerar a imagem decodificada compreende adicionalmente decodificar o fluxo codificado de acordo com unidades de codificação derivadas da divisão recursiva de uma maior unidade de codificação.
19. Método para processamento de imagem, de acordo com a reivindicação 11, caracterizado pelo fato de que: o parâmetro de filtro é ajustado avaliando a função do parâmetro de quantização da seguinte maneira: Tc(qp) = max (round (0,5 * qp - 13,5),1), em que Tc é o parâmetro de filtro e qp é o parâmetro de quantização.
20. Dispositivo para processamento de imagem, caracterizado pelo fato de que compreende: circuito configurado para: decodificar um fluxo contínuo codificado para gerar uma imagem decodificada; e aplicar um filtro de desbloqueio aos pixels fazendo vizinhança com um contorno do bloco dentro da imagem decodificada, usando um conjunto de parâmetros de filtro com base em um parâmetro de quantização, o parâmetro de filtro sendo definido como maior que 12 no caso de o parâmetro de quantização ser igual a 47, em que o parâmetro de filtro é usado durante a limitação de pixels filtrados emitidos pelo filtro de desbloqueio, e o parâmetro de filtro sendo definido por uma tabela de busca com base em um valor do parâmetro de quantização quando o valor do parâmetro de quantização for igual a ou inferior a 53.
21. Dispositivo para processamento de imagem, de acordo com a reivindicação 20, caracterizado pelo fato de que: o parâmetro de filtro é ajustado avaliando a função do parâmetro de quantização da seguinte maneira: Tc(qp) = max (round (0,5 * qp - 13,5),1), em que Tc é o parâmetro de filtro e qp é o parâmetro de quantização.
BR122018013415-1A 2012-04-06 2013-03-27 Dispositivo e método para processamento de imagem BR122018013415B1 (pt)

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
JP2012087307 2012-04-06
JP2012-087307 2012-04-06
JP2012140463 2012-06-22
JP2012-140463 2012-06-22
BR112014024265A BR112014024265B1 (pt) 2012-04-06 2013-03-27 dispositivo e método para processamento de imagem, e, mídia de armazenamento legível por computador
PCT/JP2013/059135 WO2013150945A1 (ja) 2012-04-06 2013-03-27 画像処理装置および方法

Publications (1)

Publication Number Publication Date
BR122018013415B1 true BR122018013415B1 (pt) 2021-05-04

Family

ID=49300435

Family Applications (2)

Application Number Title Priority Date Filing Date
BR122018013415-1A BR122018013415B1 (pt) 2012-04-06 2013-03-27 Dispositivo e método para processamento de imagem
BR112014024265A BR112014024265B1 (pt) 2012-04-06 2013-03-27 dispositivo e método para processamento de imagem, e, mídia de armazenamento legível por computador

Family Applications After (1)

Application Number Title Priority Date Filing Date
BR112014024265A BR112014024265B1 (pt) 2012-04-06 2013-03-27 dispositivo e método para processamento de imagem, e, mídia de armazenamento legível por computador

Country Status (8)

Country Link
US (3) US20150304657A1 (pt)
JP (6) JP6064999B2 (pt)
CN (11) CN107360438B (pt)
BR (2) BR122018013415B1 (pt)
MX (3) MX352719B (pt)
RU (1) RU2633140C2 (pt)
TW (4) TWI581623B (pt)
WO (1) WO2013150945A1 (pt)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI581623B (zh) * 2012-04-06 2017-05-01 Sony Corp Image processing apparatus and method, program, and recording medium
JP6382329B2 (ja) * 2014-02-18 2018-08-29 エルジー エレクトロニクス インコーポレイティド パノラマサービスのための放送信号送受信方法及び装置
EP3122049A4 (en) * 2014-03-19 2017-11-08 Nec Corporation Image encoding apparatus, image encoding method, and image encoding program
KR20180006411A (ko) * 2015-06-07 2018-01-17 엘지전자 주식회사 디블록킹 필터링을 수행하는 방법 및 장치
US10631012B2 (en) * 2016-12-02 2020-04-21 Centurylink Intellectual Property Llc Method and system for implementing detection and visual enhancement of video encoding artifacts
KR20230054495A (ko) * 2016-12-28 2023-04-24 소니그룹주식회사 화상 처리 장치 및 화상 처리 방법
US11095896B2 (en) * 2017-10-12 2021-08-17 Qualcomm Incorporated Video coding with content adaptive spatially varying quantization
US10873778B2 (en) * 2018-03-08 2020-12-22 Dish Network L.L.C. Reducing digital video recorder storage through reduced encoding of certain program portions
US11463763B2 (en) 2018-03-08 2022-10-04 Dish Network L.L.C. Reducing digital video recorder storage through reduced encoding of certain program portions
WO2020084929A1 (ja) * 2018-10-23 2020-04-30 日本電気株式会社 映像符号化又は復号装置、映像符号化又は復号方法、プログラム、及び記録媒体
GB2580173B (en) * 2018-12-21 2022-07-27 Canon Kk A filter
JP7357481B2 (ja) * 2019-07-30 2023-10-06 日本放送協会 デブロッキングフィルタ制御装置及びプログラム
US20230245286A1 (en) * 2022-01-28 2023-08-03 V-Silicon Semiconductor (Hefei) Co., Ltd. 2d recursive de-banding

Family Cites Families (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6636645B1 (en) * 2000-06-29 2003-10-21 Eastman Kodak Company Image processing method for reducing noise and blocking artifact in a digital image
US7330596B2 (en) * 2002-07-17 2008-02-12 Ricoh Company, Ltd. Image decoding technique for suppressing tile boundary distortion
US7227901B2 (en) * 2002-11-21 2007-06-05 Ub Video Inc. Low-complexity deblocking filter
US20080019909A1 (en) * 2003-09-17 2008-01-24 Francis Ka-Ming Chan Modulation of Programmed Necrosis
US8311129B2 (en) * 2005-12-16 2012-11-13 Lifesize Communications, Inc. Temporal video filtering
JP4847890B2 (ja) * 2007-02-16 2011-12-28 パナソニック株式会社 符号化方式変換装置
KR20080114388A (ko) * 2007-06-27 2008-12-31 삼성전자주식회사 스케일러블 영상 부호화장치 및 방법과 그 영상 복호화장치및 방법
CN101472175A (zh) * 2007-12-29 2009-07-01 智多微电子(上海)有限公司 一种支持多视频标准的去块效应滤波装置
CN101267560A (zh) * 2008-03-19 2008-09-17 浙江大学 去块滤波方法及装置
US20090316793A1 (en) * 2008-06-20 2009-12-24 Yang Zhijie Michael Method and system for adaptive deblocking for avs1-p2
WO2010001911A1 (ja) * 2008-07-03 2010-01-07 シャープ株式会社 フィルタ装置
KR101552639B1 (ko) * 2008-07-11 2015-09-14 한국전자통신연구원 인트라 매크로 블록의 디블록킹 필터 및 필터링 방법
RU2405200C2 (ru) * 2008-07-17 2010-11-27 Корпорация "Самсунг Электроникс Ко., Лтд" Способ и устройство быстрого фильтрования шума цифровых изображений
JP5597968B2 (ja) * 2009-07-01 2014-10-01 ソニー株式会社 画像処理装置および方法、プログラム、並びに記録媒体
JP5347849B2 (ja) * 2009-09-01 2013-11-20 ソニー株式会社 画像符号化装置、画像受信装置、画像符号化方法及び画像受信方法
CN102098501B (zh) * 2009-12-09 2013-05-08 中兴通讯股份有限公司 一种视频图像去块效应的方法和装置
CN102860005B (zh) * 2010-02-05 2016-07-06 瑞典爱立信有限公司 去块滤波控制
US9185430B2 (en) * 2010-03-15 2015-11-10 Mediatek Singapore Pte. Ltd. Deblocking filtering method and deblocking filter
WO2011126284A2 (en) * 2010-04-05 2011-10-13 Samsung Electronics Co., Ltd. Method and apparatus for encoding video by using adaptive prediction filtering, method and apparatus for decoding video by using adaptive prediction filtering
AU2011241283B2 (en) * 2010-04-13 2015-02-05 Samsung Electronics Co., Ltd. Video-encoding method and video-encoding apparatus based on encoding units determined in accordance with a tree structure, and video-decoding method and video-decoding apparatus based on encoding units determined in accordance with a tree structure
TWI600318B (zh) * 2010-05-18 2017-09-21 Sony Corp Image processing apparatus and image processing method
CN110430428B (zh) * 2010-06-17 2022-02-11 夏普株式会社 解码装置、编码装置、解码方法以及编码方法
AU2011308202B2 (en) * 2010-09-28 2015-04-09 Samsung Electronics Co., Ltd. Adaptive filtering method and apparatus
EP3748964A1 (en) * 2010-12-07 2020-12-09 Sony Corporation Image processing device and image processing method
PH12018501811A1 (en) * 2010-12-07 2019-02-18 Sony Corp Image processing device and image processing method
CN102055981B (zh) * 2010-12-31 2013-07-03 北京大学深圳研究生院 用于视频编码器的去块滤波器及其实现方法
US9244290B2 (en) * 2011-01-06 2016-01-26 Applied Materials Israel Ltd. Method and system for coherence reduction
JP5884313B2 (ja) * 2011-01-18 2016-03-15 ソニー株式会社 画像処理装置、画像処理方法、プログラム及び記録媒体
US9001883B2 (en) * 2011-02-16 2015-04-07 Mediatek Inc Method and apparatus for slice common information sharing
CN106131555B (zh) * 2011-03-10 2019-04-12 寰发股份有限公司 去区块滤波器方法及装置
CN109246429A (zh) 2011-11-04 2019-01-18 Lg 电子株式会社 用于编码/解码图像信息的方法和装置
US20130113880A1 (en) * 2011-11-08 2013-05-09 Jie Zhao High Efficiency Video Coding (HEVC) Adaptive Loop Filter
US9414064B2 (en) * 2011-11-25 2016-08-09 Sun Patent Trust Image processing method and image processing apparatus
US9451258B2 (en) * 2012-04-03 2016-09-20 Qualcomm Incorporated Chroma slice-level QP offset and deblocking
TWI581623B (zh) * 2012-04-06 2017-05-01 Sony Corp Image processing apparatus and method, program, and recording medium

Also Published As

Publication number Publication date
CN110611823A (zh) 2019-12-24
CN107360437A (zh) 2017-11-17
TW201345266A (zh) 2013-11-01
CN110740336B (zh) 2021-10-08
CN108600770A (zh) 2018-09-28
CN110493606B (zh) 2021-10-08
CN107360437B (zh) 2019-11-19
RU2633140C2 (ru) 2017-10-11
JP6399366B2 (ja) 2018-10-03
US20150304657A1 (en) 2015-10-22
JP6471911B2 (ja) 2019-02-20
CN110611822B (zh) 2021-10-01
TWI632808B (zh) 2018-08-11
TWI667913B (zh) 2019-08-01
CN107360438B (zh) 2020-04-17
CN104221389A (zh) 2014-12-17
TW201642663A (zh) 2016-12-01
JPWO2013150945A1 (ja) 2015-12-17
MX339915B (es) 2016-06-17
US10887590B2 (en) 2021-01-05
CN107360436B (zh) 2020-04-17
CN108600770B (zh) 2019-11-19
JP6399367B2 (ja) 2018-10-03
CN110611822A (zh) 2019-12-24
WO2013150945A1 (ja) 2013-10-10
CN107360438A (zh) 2017-11-17
JP6521013B2 (ja) 2019-05-29
MX352719B (es) 2017-12-06
JP2017073820A (ja) 2017-04-13
US20190327468A1 (en) 2019-10-24
US20170289544A1 (en) 2017-10-05
TWI581623B (zh) 2017-05-01
MX2014011602A (es) 2014-11-21
TWI569625B (zh) 2017-02-01
JP2017073821A (ja) 2017-04-13
US10419756B2 (en) 2019-09-17
BR112014024265B1 (pt) 2018-09-25
CN110493606A (zh) 2019-11-22
TW201720168A (zh) 2017-06-01
CN110611823B (zh) 2021-10-08
CN110740336A (zh) 2020-01-31
JP2018026837A (ja) 2018-02-15
JP2016184963A (ja) 2016-10-20
CN110493605B (zh) 2021-10-08
JP6064999B2 (ja) 2017-01-25
CN107360436A (zh) 2017-11-17
TW201720169A (zh) 2017-06-01
RU2014139416A (ru) 2016-04-20
CN107360439A (zh) 2017-11-17
CN110493605A (zh) 2019-11-22
CN107360439B (zh) 2019-11-19
JP2019054558A (ja) 2019-04-04
CN104221389B (zh) 2017-09-19

Similar Documents

Publication Publication Date Title
JP6399366B2 (ja) 画像処理装置および方法、プログラム、並びに記録媒体
RU2641259C2 (ru) Устройство обработки изображений и способ
JP6555541B2 (ja) 画像符号化装置および方法
US20150139303A1 (en) Encoding device, encoding method, decoding device, and decoding method
BR122020013607B1 (pt) Aparelho e método de processamento de imagem
BR112016000132B1 (pt) Dispositivo e método para decodificação de imagem
WO2014045919A1 (ja) 画像処理装置および方法
WO2013137047A1 (ja) 画像処理装置および方法
BR112014016116B1 (pt) Dispositivo e método de processamento de imagem
JP2015076861A (ja) 復号装置および復号方法、並びに、符号化装置および符号化方法
WO2015098563A1 (ja) 画像符号化装置および方法、並びに画像復号装置および方法
RU2737038C2 (ru) Устройство и способ обработки изображений
WO2014156707A1 (ja) 画像符号化装置および方法、並びに、画像復号装置および方法

Legal Events

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

Free format text: PRAZO DE VALIDADE: 20 (VINTE) ANOS CONTADOS A PARTIR DE 27/03/2013, OBSERVADAS AS CONDICOES LEGAIS.