BR112014016116B1 - Dispositivo e método de processamento de imagem - Google Patents

Dispositivo e método de processamento de imagem Download PDF

Info

Publication number
BR112014016116B1
BR112014016116B1 BR112014016116-0A BR112014016116A BR112014016116B1 BR 112014016116 B1 BR112014016116 B1 BR 112014016116B1 BR 112014016116 A BR112014016116 A BR 112014016116A BR 112014016116 B1 BR112014016116 B1 BR 112014016116B1
Authority
BR
Brazil
Prior art keywords
unit
image
offset
filter
adaptive offset
Prior art date
Application number
BR112014016116-0A
Other languages
English (en)
Other versions
BR112014016116A2 (pt
BR112014016116A8 (pt
Inventor
Hironari Sakurai
Ohji Nakagami
Takuya Kitamura
Yoichi Yagasaki
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
Priority to BR122015001060-8A priority Critical patent/BR122015001060B1/pt
Publication of BR112014016116A2 publication Critical patent/BR112014016116A2/pt
Publication of BR112014016116A8 publication Critical patent/BR112014016116A8/pt
Publication of BR112014016116B1 publication Critical patent/BR112014016116B1/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/80Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • H04N19/463Embedding additional information in the video signal during the compression process by compressing encoding parameters before transmission
    • 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/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/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/174Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a slice, e.g. a line of blocks or a group of blocks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/577Motion compensation with bidirectional frame interpolation, i.e. using B-pictures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/80Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation
    • H04N19/82Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation involving filtering within a prediction loop
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/96Tree coding, e.g. quad-tree coding

Abstract

DISPOSITIVO E MÉTODO DE PROCESSAMENTO DE IMAGEM. A descrição presente relaciona-se a um dispositivo e método de processamento de imagem que tomam possível melhorar eficiência de processamento em codificação e decodificação. Tipo E0 em uma LCU (115) e um coeficiente para isso são determinados pelo lado de codificação. O coeficiente do tipo E0 é enviado ao lado de decodificação quando o coeficiente já está em LCU (111), e é armazenado em um buffer de EO de um filtro de offset adaptável no lado de decodificação. Portanto, em relação à LCU (115) no lado de decodificação, o coeficiente do tipo E0 pode ser copiado do buffer de EO e usado sem ser enviado. Desta maneira, o parâmetro do filtro de offset adaptável que era transferido convencionalmente em um único processo no cabeçalho de um quadro é enviado sequencialmente no cabeçalho da LCU para cada LCU. A descrição presente pode ser aplicada a, por exemplo, um dispositivo de processamento de imagem.

Description

Campo Técnico
[0001] A descrição presente relaciona-se a dispositivos e métodos de processamento de imagem, e mais especificamente a um dispositivo e método de processamento de imagem que habilitam melhoria em eficiência de processamento em codificação ou decodificação.
Fundamentos da Técnica
[0002] Nos últimos anos, dispositivos que operam informação de imagem na forma digital e, neste caso, utilizam redundância específica à informação de imagem para alcançar compressão e codificação de imagens usando um esquema de codificação para compressão baseado em uma transformada ortogonal tal como uma transformada de co-seno discreta e compensação de movimento a fim de transmitir eficientemente e acumular informação estão se tornando difundidos. Exemplos deste esquema de codificação incluem MPEG (Grupo de Peritos de Quadros Móveis) e H.264 e MPEG-4 Parte 10 (Codificação de Vídeo Avançada, doravante chamado H.264/AVC).
[0003] Além disso, padronização de um esquema de codificação chamado HEVC (Codificação de Vídeo de Alta Eficiência) está sendo atualmente empreendida por JCTVC (Equipe de Colaboração Conjunta - Codificação de Vídeo), que é uma organização de padronização conjunta da ITU-T e a ISO/IEC, para alcançar eficiência de codificação mais melhorada do que H.264/AVC (veja, por exemplo, NPL 1).
[0004] Na minuta de trabalho presente de HEVC, um filtro de deblocagem, um filtro de malha adaptável e um filtro de offset adaptável (Offset Adaptável de Amostra: SAO) são empregados como filtros em malha.
[0005] Em HEVC, parâmetros do filtro de malha adaptável são enviados coletivamente ao lado de decodificador em grupos de um quadro. Em contraste, NPL 2 propôs que um processo de filtro de malha adaptável seja executado em unidades de uma unidade de codificação maior, ou LCU.
Lista de Citação Literatura Não Patente
[0006] NPL 1: Thomas Wiegand, Woo-Jin Han, Benjamim Bross, Jens-Rainer Ohm, Gary J. Sullivan, "Working Draft 4 of High-Efficiency Video Coding", JCTVC-F803, Equipe Colaboradora Conjunta em Codificação de Vídeo (JCT-VC) de ITU-T SG16 WP3 e ISO/IEC JTC1/SC29/WG11 6a Reunião: Torino, IT, 14-22 de julho de 2011
[0007] NPL 2: A. Fuldseth, Cisco Systems, G. bjontegaard, Cisco System, "Improved ALF with low latency and reduced complexity", JCTVC- G499, Equipe Colaboradora Conjunta em Codificação de Vídeo (JCT-VC) de ITU-T SG16 WP3 e ISO/IEC JTC1/SC29/WG11 7a Reunião: Genebra, CH, 21-30 de novembro de 2011.
Resumo da Invenção Problema Técnico
[0008] Em HEVC, além disso, o filtro de offset adaptável é adaptado a regiões chamadas regiões de 'quad-tree', que estão definidas exclusivamente para o filtro de offset adaptável. Além disso, os parâmetros do filtro de offset adaptável são definidos coletivamente em sao_param ( ) em grupos de um quadro.
[0009] sao_param ( ) é colocado antes dos dados (informação de vídeo) em um fluxo codificado. No lado de codificador, portanto, é necessário conter dados para um quadro em um buffer até a conclusão do processo de filtro de offset adaptável, a determinação dos coeficientes do filtro de offset adaptável e a criação de sao_param ( ).
[00010] A descrição presente foi feita devido a uma tal situação, e habilita melhoria em eficiência de processamento em codificação ou decodificação.
Solução para o Problema
[00011] Um dispositivo de processamento de imagem de um primeiro aspecto da descrição presente inclui uma unidade de aquisição que adquire parâmetros de um filtro de offset adaptável em unidades de uma unidade de codificação maior de um fluxo codificado no qual os parâmetros do filtro de offset adaptável são fixados usando a unidade de codificação maior como uma unidade de transmissão; uma unidade de decodificação que executa um processo de decodificação no fluxo codificado e que gera uma imagem; e uma unidade de filtro de offset adaptável que executa filtragem de offset adaptável na imagem gerada pela unidade de decodificação, em unidades de uma unidade de codificação maior usando os parâmetros adquiridos pela unidade de aquisição.
[00012] Os parâmetros do filtro de offset adaptável podem incluir um tipo do filtro de offset adaptável e um valor de offset.
[00013] O dispositivo de processamento de imagem pode Adicionalmente incluir uma unidade de filtro de deblocagem que executa filtragem de deblocagem na imagem gerada pela unidade de decodificação, e a unidade de filtro de offset adaptável pode executar filtragem de offset adaptável em uma imagem na qual a unidade de filtro de deblocagem executou filtragem de deblocagem.
[00014] A unidade de aquisição pode adquirir, do fluxo codificado, dados de identificação identificando um parâmetro de uma unidade de codificação maior prévia na qual filtragem de offset adaptável foi executada antes de uma unidade de codificação maior atual como sendo igual a um parâmetro atual da unidade de codificação maior, e a unidade de filtro de offset adaptável pode executar filtragem de offset adaptável na imagem gerada pela unidade de decodificação, em unidades de uma unidade de codificação maior usando os dados de identificação adquiridos pela unidade de aquisição.
[00015] A unidade de aquisição pode adquirir, do fluxo codificado, dados de identificação identificando se ou não usar um parâmetro de uma unidade de codificação maior prévia na qual filtragem de offset adaptável foi executada antes de uma unidade de codificação maior atual, e a unidade de filtro de offset adaptável pode executar filtragem de offset adaptável na imagem gerada pela unidade de decodificação, em unidades de uma unidade de codificação maior usando os dados de identificação adquiridos pela unidade de aquisição.
[00016] A unidade de aquisição pode adquirir, do fluxo codificado, dados de identificação identificando se ou não usar uma cópia de um parâmetro de uma unidade de codificação maior prévia na qual filtragem de offset adaptável foi executada antes de uma unidade de codificação maior atual, e a unidade de filtro de offset adaptável pode executar filtragem de offset adaptável na imagem gerada pela unidade de decodificação, em unidades de uma unidade de codificação maior usando os dados de identificação adquiridos pela unidade de aquisição.
[00017] A unidade de aquisição pode adquirir, do fluxo codificado, dados de identificação especificando uma unidade de codificação maior que é idêntica a uma unidade de codificação maior atual em termos de um parâmetro, de dentro de unidades de codificação maiores prévias nas quais filtragem de offset adaptável foi executada antes da unidade de codificação maior atual, e a unidade de filtro de offset adaptável pode executar filtragem de offset adaptável na imagem gerada pela unidade de decodificação, em unidades de uma unidade de codificação maior usando os dados de identificação adquiridos pela unidade de aquisição.
[00018] Os parâmetros do filtro de offset adaptável são transmitidos na temporização do começo de uma unidade de codificação maior.
[00019] A unidade de decodificação pode executar um processo de decodificação em unidades cada uma tendo uma estrutura hierárquica.
[00020] Um método de processamento de imagem do primeiro aspecto da descrição presente é executado por um dispositivo de processamento de imagem, incluindo adquirir parâmetros de um filtro de offset adaptável em unidades de uma unidade de codificação maior de um fluxo codificado no qual os parâmetros do filtro de offset adaptável são fixados usando a unidade de codificação maior como uma unidade de transmissão; executar um processo de decodificação no fluxo codificado para gerar uma imagem; e executar filtragem de offset adaptável na imagem gerada em unidades de uma unidade de codificação maior usando os parâmetros adquiridos.
[00021] Um dispositivo de processamento de imagem de um segundo aspecto da descrição presente inclui uma unidade de fixação que fixa parâmetros de um filtro de offset adaptável usando uma unidade de codificação maior como uma unidade de transmissão; uma unidade de filtro de offset adaptável que executa filtragem de offset adaptável em uma imagem que foi sujeita a um processo de decodificação local em um caso onde uma imagem é codificada, em unidades de uma unidade de codificação maior usando o conjunto de parâmetros pela unidade de fixação; uma unidade de codificação que executa um processo de codificação em uma imagem na qual a unidade de filtro de offset adaptável executou filtragem de offset adaptável, e que gera um fluxo codificado usando a imagem; e uma unidade de transmissão que transmite o conjunto de parâmetros pela unidade de fixação e o fluxo codificado gerado pela unidade de codificação.
[00022] Os parâmetros do filtro de offset adaptável podem incluir um tipo do filtro de offset adaptável e um valor de offset.
[00023] O dispositivo de processamento de imagem pode adicionalmente incluir uma unidade de filtro de deblocagem que executa filtragem de deblocagem em uma imagem decodificada localmente, e a unidade de filtro de offset adaptável pode executar filtragem de offset adaptável em uma imagem na qual a unidade de filtro de deblocagem executou filtragem de deblocagem.
[00024] A unidade de fixação pode fixar dados de identificação identificando um parâmetro de uma unidade de codificação maior prévia na qual filtragem de offset adaptável foi executada antes de uma unidade de codificação maior atual como sendo igual a um parâmetro da unidade de codificação maior atual, e a unidade de transmissão pode transmitir o conjunto de dados de identificação pela unidade de fixação e o fluxo codificado gerado pela unidade de codificação.
[00025] A unidade de fixação pode fixar dados de identificação identificando se ou não usar um parâmetro de uma unidade de codificação maior prévia na qual filtragem de offset adaptável foi executada antes de uma unidade de codificação maior atual, e a unidade de transmissão pode transmitir o conjunto de dados de identificação pela unidade de fixação e o fluxo codificado gerado pela unidade de codificação.
[00026] A unidade de fixação pode fixar dados de identificação identificando se ou não usar uma cópia de um parâmetro de uma unidade de codificação maior prévia na qual filtragem de offset adaptável foi executada antes de uma unidade de codificação maior atual, e a unidade de transmissão pode transmitir o conjunto de dados de identificação pela unidade de fixação e o fluxo codificado gerado pela unidade de codificação.
[00027] A unidade de fixação pode fixar dados de identificação especificando uma unidade de codificação maior que é idêntica a uma unidade de codificação maior atual em termos de um parâmetro, de dentro de unidades de codificação maiores prévias nas quais filtragem de offset adaptável foi executada antes da unidade de codificação maior atual, e a unidade de transmissão pode transmitir o conjunto de dados de identificação pela unidade de fixação e o fluxo codificado gerado pela unidade de codificação.
[00028] A unidade de transmissão pode transmitir os parâmetros do filtro de offset adaptável fixados pela unidade de fixação na temporização do começo de uma unidade de codificação maior.
[00029] A unidade de codificação pode executar um processo de codificação em unidades cada uma tendo uma estrutura hierárquica.
[00030] Um método de processamento de imagem do segundo aspecto da descrição presente é executado por um dispositivo de processamento de imagem, incluindo fixar parâmetros de um filtro de offset adaptável usando uma unidade de codificação maior como uma unidade de transmissão; executar filtragem de offset adaptável em uma imagem que foi sujeita a um processo de decodificação local em um caso onde uma imagem está codificada, em unidades de uma unidade de codificação maior usando os parâmetros fixados; executar um processo de codificação em uma imagem na qual filtragem de offset adaptável foi executada, para gerar um fluxo codificado usando a imagem; e transmitir os parâmetros fixados e o fluxo codificado gerado.
[00031] No primeiro aspecto da descrição presente, parâmetros de um filtro de offset adaptável são adquiridos em unidades de uma unidade de codificação maior de um fluxo codificado no qual os parâmetros do filtro de offset adaptável são fixados usando a unidade de codificação maior como uma unidade de transmissão; e um processo de decodificação é executado no fluxo codificado para gerar uma imagem. Então, filtragem de offset adaptável é executada na imagem gerada em unidades de uma unidade de codificação maior usando os parâmetros adquiridos.
[00032] No segundo aspecto da descrição presente, parâmetros de um filtro de offset adaptável são fixados usando uma unidade de codificação maior como uma unidade de transmissão; e filtragem de offset adaptável é executada em uma imagem que foi sujeita a um processo de decodificação local em um caso onde uma imagem está codificada, em unidades de uma unidade de codificação maior usando os parâmetros fixados. Então, um processo de codificação é executado em uma imagem na qual filtragem de offset adaptável foi executada, para gerar um fluxo codificado usando a imagem; e os parâmetros fixados e o fluxo codificado gerado são transmitidos.
[00033] Note que cada um dos dispositivos de processamento de imagem descritos acima pode ser um dispositivo independente ou um bloco interno incluído em um único dispositivo de codificação de imagem ou dispositivo de decodificação de imagem.
[00034] De acordo com o primeiro aspecto da descrição presente, é possível decodificar uma imagem. Em particular, é possível melhorar eficiência de processamento.
[00035] De acordo com o segundo aspecto da descrição presente, é possível codificar uma imagem. Em particular, é possível melhorar eficiência de processamento. Breve Descrição dos Desenhos Figura 1 é um diagrama de bloco ilustrando uma configuração de exemplo principal de um dispositivo de codificação de imagem. Figura 2 é um fluxograma descrevendo um exemplo do fluxo de um processo de codificação. Figura 3 é um diagrama de bloco ilustrando uma configuração de exemplo principal de um dispositivo de decodificação de imagem. Figura 4 é um fluxograma descrevendo um exemplo do fluxo de um processo de decodificação. Figura 5 é um diagrama descrevendo uma estrutura de 'quad-tree' no esquema de HEVC. Figura 6 é um diagrama descrevendo offset de faixa. Figura 7 é um diagrama descrevendo offset de borda. Figura 8 é um diagrama ilustrando regras de classificação para offset de borda. Figura 9 é um diagrama descrevendo um panorama da tecnologia presente. Figura 10 é um diagrama descrevendo vantagens da tecnologia presente. Figura 11 é um diagrama ilustrando um exemplo da sintaxe de sao_param ( ). Figura 12 é um diagrama descrevendo sao_type_idx. Figura 13 é um diagrama de bloco ilustrando uma configuração de exemplo de um filtro de offset adaptável ao qual a descrição presente é aplicada. Figura 14 é um fluxograma descrevendo um processo de filtro de offset adaptável. Figura 15 é um fluxograma descrevendo um processo de escrita de coeficiente. Figura 16 é um diagrama descrevendo o processo de escrita de coeficiente. Figura 17 é um diagrama de bloco ilustrando uma configuração de exemplo de um filtro de offset adaptável ao qual a descrição presente é aplicada. Figura 18 é um fluxograma descrevendo um processo de filtro de offset adaptável. Figura 19 é um fluxograma descrevendo um processo de leitura de coeficiente. Figura 20 é um diagrama descrevendo o processo de leitura de coeficiente. Figura 21 é um diagrama ilustrando um exemplo de um esquema de codificação de imagem de multivisão. Figura 22 é um diagrama ilustrando uma configuração de exemplo principal de um dispositivo de codificação de imagem de multivisão ao qual a tecnologia presente é aplicada. Figura 23 é um diagrama ilustrando uma configuração de exemplo principal de um dispositivo de decodificação de imagem de multivisão ao qual a tecnologia presente é aplicada. Figura 24 é um diagrama ilustrando um exemplo de um esquema de codificação de imagem em camadas. Figura 25 é um diagrama ilustrando uma configuração de exemplo principal de um dispositivo de codificação de imagem em camadas ao qual a tecnologia presente é aplicada. Figura 26 é um diagrama ilustrando uma configuração de exemplo principal de um dispositivo de decodificação de imagem em camadas ao qual a tecnologia presente é aplicada. Figura 27 é um diagrama de bloco ilustrando uma configuração de exemplo principal de um computador. Figura 28 é um diagrama de bloco ilustrando um exemplo de uma configuração esquemática de um aparelho de televisão. Figura 29 é um diagrama de bloco ilustrando um exemplo de uma configuração esquemática de um telefone móvel. Figura 30 é um diagrama de bloco ilustrando um exemplo de uma configuração esquemática de um aparelho de gravação/reprodução. Figura 31 é um diagrama de bloco ilustrando um exemplo de uma configuração esquemática de um aparelho de formação de imagem. Figura 32 é um diagrama de bloco ilustrando um exemplo do uso de codificação graduável. Figura 33 é um diagrama de bloco ilustrando outro exemplo do uso de codificação graduável. Figura 34 é um diagrama de bloco ilustrando ainda outro exemplo do uso de codificação graduável.
Descrição das Concretizações
[00036] Modos para executar a descrição presente (doravante chamadas concretizações) serão descritos doravante. Note que a descrição será dada na ordem seguinte. 1. Panorama de dispositivos e operações 2. Explicação de técnicas da técnica relacionada 3. Primeira concretização (dispositivo de processamento de imagem) 4. Segunda concretização (dispositivo de codificação de imagem de multivisão/decodificação de imagem de multivisão) 5. Terceira concretização (dispositivo de codificação de imagem em camadas/decodificação de imagem em camadas) 6. Quarta concretização (computador) 7. Aplicações exemplares 8. Aplicações exemplares de codificação graduável 1. Panorama de Dispositivos e Operações
Configuração de exemplo de dispositivo de codificação de imagem
[00037] Figura 1 ilustra uma configuração de uma concretização de um dispositivo de codificação de imagem servindo como um dispositivo de processamento de imagem ao qual a descrição presente é aplicada.
[00038] Um dispositivo de codificação de imagem 11 ilustrado na Figura 1 codifica dados de imagem usando um processo de previsão. Exemplos de um esquema de codificação, como usado aqui, incluem o esquema de HEVC (Codificação de Vídeo de Alta Eficiência). No esquema de HEVC, uma unidade de codificação CU, uma unidade de codificação maior LCU, uma unidade de codificação menor SCU, uma unidade de previsão PU e uma unidade de transformada TU são especificadas, e codificação/decodificação é executada em unidades cada uma tendo uma estrutura hierárquica.
[00039] No exemplo da Figura 1, o dispositivo de codificação de imagem 11 inclui uma unidade de conversão A/D (Analógica/Digital) 21, um buffer de rearranjo de tela 22, uma unidade de computação 23, uma unidade de transformada ortogonal 24, uma unidade de quantização 25, uma unidade de codificação sem perda 26, e um buffer de acumulação 27. O dispositivo de codificação de imagem 11 Adicionalmente inclui uma unidade de desquantização 28, uma unidade de transformada inversa ortogonal 29, uma unidade de computação 30, um filtro de deblocagem 31, uma memória de quadro 32, uma unidade de seleção 33, uma unidade de intraprevisão 34, uma unidade de previsão e compensação de movimento 35, uma unidade de seleção de imagem de previsão 36 e uma unidade de controle de taxa 37.
[00040] O dispositivo de codificação de imagem 11 Adicionalmente inclui um filtro de offset adaptável 41 e um filtro de malha adaptável 42 entre o filtro de deblocagem 31 e a memória de quadro 32.
[00041] A unidade de conversão A/D 21 executa conversão A/D em dados de imagem de entrada, e produz os dados de imagem resultantes para o buffer de rearranjo de tela 22 para armazenamento.
[00042] O buffer de rearranjo de tela 22 rearranja uma imagem armazenada tendo quadros arranjados em ordem de exibição em uma imagem tendo quadros arranjados em ordem para codificação conforme uma estrutura de GOP (Grupo de Quadro). O buffer de rearranjo de tela 22 provê uma imagem na qual as quadros foram reordenados à unidade de computação 23. O buffer de rearranjo de tela 22 também provê a imagem na qual os quadros foram reordenados à unidade de intraprevisão 34 e à unidade de previsão e compensação de movimento 35.
[00043] A unidade de computação 23 subtrai uma imagem de previsão a ser provida da unidade de intraprevisão 34 ou da unidade de previsão e compensação de movimento 35 pela unidade de seleção de imagem de previsão 36 da imagem lida do buffer de rearranjo de tela 22, e produz informação de diferença sobre a diferença entre elas para a unidade de transformada ortogonal 24.
[00044] Por exemplo, no caso de uma imagem a ser intracodificada, a unidade de computação 23 subtrai uma imagem de previsão provida da unidade de intraprevisão 34 da imagem lida do buffer de rearranjo de tela 22. Adicionalmente, por exemplo, no caso de uma imagem a ser intercodificada, a unidade de computação 23 subtrai uma imagem de previsão provida da unidade de previsão e compensação de movimento 35 da imagem lida do buffer de rearranjo de tela 22.
[00045] A unidade de transformada ortogonal 24 executa uma transformada ortogonal, tal como uma transformada de co-seno discreta ou uma transformada de Karhunen-Loève, na informação de diferença provida da unidade de computação 23, e provê coeficientes de transformada obtidos à unidade de quantização 25.
[00046] A unidade de quantização 25 quantiza os coeficientes de transformada produzidos da unidade de transformada ortogonal 24. A unidade de quantização 25 provê os coeficientes de transformada quantizados à unidade de codificação sem perda 26.
[00047] A unidade de codificação sem perda 26 executa codificação sem perda, tal como codificação de comprimento variável ou codificação aritmética, nos coeficientes de transformada quantizados.
[00048] A unidade de codificação sem perda 26 adquire parâmetros tal como informação indicando um modo de intraprevisão da unidade de intraprevisão 34, e adquire parâmetros tal como informação indicando um modo de intraprevisão e informação de vetor de movimento da unidade de previsão e compensação de movimento 35.
[00049] A unidade de codificação sem perda 26 codifica os coeficientes de transformada quantizados e os parâmetros respectivos adquiridos (elementos de sintaxe), e organiza (multiplexa) os coeficientes de transformada quantizados codificados e parâmetros em parte de informação de cabeçalho dos dados codificados. A unidade de codificação sem perda 26 provê os dados codificados obtidos por codificação ao buffer de acumulação 27 para acumulação.
[00050] Na unidade de codificação sem perda 26, por exemplo, um processo de codificação sem perda tal como codificação de comprimento variável ou codificação aritmética é executado. Exemplos da codificação de comprimento variável incluem CAVLC (Codificação de Comprimento Variável Adaptável a Contexto). Exemplos do codificação aritmética incluem CABAC (Codificação Aritmética Binária Adaptável a Contexto).
[00051] O buffer de acumulação 27 contém temporariamente o fluxo codificado (dados) provido da unidade de codificação sem perda 26, e produz o fluxo codificado (dados) para um dispositivo a jusante não ilustrado tal como um dispositivo de gravação e um caminho de transmissão a certa temporização como imagem codificada que foi sujeita à codificação. Quer dizer, o buffer de acumulação 27 também serve como uma unidade de transmissão que transmite fluxos codificados.
[00052] Adicionalmente, os coeficientes de transformada quantizados pela unidade de quantização 25 também são providos à unidade de desquantização 28. A unidade de desquantização 28 desquantiza os coeficientes de transformada quantizados usando um método correspondendo ao método de quantização executado pela unidade de quantização 25. A unidade de desquantização 28 provê os coeficientes de transformada obtidos à unidade transformada ortogonal inversa 29.
[00053] A unidade de transformada ortogonal inversa 29 executa uma transformada ortogonal inversa nos coeficientes de transformada providos usando um método correspondendo ao processo de transformada ortogonal executado pela unidade de transformada ortogonal 24. A saída sujeita à transformada ortogonal inversa (informação de diferença restaurada) é provida à unidade de computação 30.
[00054] A unidade de computação 30 adiciona a imagem de previsão provida da unidade de intraprevisão 34 ou da unidade de previsão e compensação de movimento 35 pela unidade de seleção de imagem de previsão 36 ao resultado da transformada ortogonal inversa provido da unidade transformada ortogonal inversa 29, quer dizer, à informação de diferença restaurada, para obter uma imagem decodificada localmente (imagem decodificada).
[00055] Por exemplo, se a informação de diferença corresponder a uma imagem a ser intracodificada, a unidade de computação 30 adiciona a imagem de previsão provida da unidade de intraprevisão 34 à informação de diferença. Adicionalmente, por exemplo, se a informação de diferença corresponder a uma imagem a ser intercodificada, a unidade de computação 30 adiciona a imagem de previsão provida da unidade de previsão e compensação de movimento 35 à informação de diferença.
[00056] A imagem decodificada, que resulta da adição, é provida ao filtro de deblocagem 31 e à memória de quadro 32.
[00057] O filtro de deblocagem 31 executa apropriadamente um processo de filtro de deblocagem para remover distorção de bloco da imagem decodificada. O filtro de deblocagem 31 provê um resultado do processo de filtro para o filtro de offset adaptável 41.
[00058] O filtro de offset adaptável 41 executa um processo de filtro de offset (SAO: Offset Adaptável de Amostra) na imagem filtrada pelo filtro de deblocagem 31 para remover principalmente zumbido.
[00059] Há nove tipos de filtro de offset no total: dois tipos de offset de faixa, seis tipos de offset de borda, e nenhum offset. O filtro de offset adaptável 41 determina uma espécie (tipo) de filtro de offset e um offset (valor) para cada LCU, que é a unidade de codificação maior, e executa um processo de filtro na imagem filtrada pelo filtro de deblocagem 31 usando o tipo e offset determinados. No filtro de offset 41, o offset descrito acima é o coeficiente do filtro. O offset é doravante também chamado o coeficiente, como necessário.
[00060] Note que, como os detalhes do filtro de offset adaptável 41 serão descritos abaixo com referência à Figura 13, o filtro de offset adaptável 41 tem um buffer para armazenar coeficientes. Se o buffer armazenou nela o mesmo coeficiente como um coeficiente determinado para cada LCU, o filtro de offset adaptável 41 provê um indicador indicando o armazenamento do coeficiente, um índice indicando a posição de armazenamento do coeficiente no buffer, e informação indicando o tipo à unidade de codificação sem perda 26 para codificá-los.
[00061] Por outro lado, se o buffer não armazenou nela o mesmo coeficiente como um coeficiente determinado para cada LCU, o filtro de offset adaptável 41 provê um indicador indicando nenhum armazenamento do coeficiente, o coeficiente, e informação indicando o tipo à unidade de codificação sem perda 26 para codificá-los.
[00062] O filtro de offset adaptável 41 provê a imagem que foi sujeita ao processo de filtro ao filtro de malha adaptável 42.
[00063] O filtro de malha adaptável 42 executa um processo de filtro de malha adaptável (ALF), por exemplo, para cada LCU, que é a unidade de codificação maior. No filtro de malha adaptável 42, por exemplo, um filtro de Wiener bidimensional é usado como um filtro. Como de costume, qualquer filtro diferente de um filtro de Wiener pode ser usado.
[00064] O filtro de malha adaptável 42 executa um processo de filtro na imagem filtrada pelo filtro de offset adaptável 41 para cada LCU usando um coeficiente de filtro, e provê um resultado do processo de filtro para a memória de quadro 32.
[00065] Note que, no dispositivo de codificação de imagem 11, um coeficiente de filtro é calculado pelo filtro de malha adaptável 42 para cada LCU para minimizar o resíduo da imagem original do buffer de rearranjo de tela 12, e é usado, que não será descrito em detalhes aqui. O coeficiente de filtro calculado é codificado pela unidade de codificação sem perda 26, e é transmitido para um dispositivo de decodificação de imagem 51 da Figura 3 descrita abaixo. Além disso, enquanto um exemplo no qual processamento é executado para cada LUC é descrito aqui, a unidade de processamento do filtro de malha adaptável 42 não está limitada a isso.
[00066] A memória de quadro 32 produz uma imagem de referência acumulada nela à unidade de intraprevisão 34 ou à unidade de previsão e compensação de movimento 35 pela unidade de seleção 33 a certa temporização.
[00067] Por exemplo, no caso de uma imagem a ser intracodificada, a memória de quadro 32 provê uma imagem de referência para a unidade de intraprevisão 34 pela unidade de seleção 33. Adicionalmente, por exemplo, em um caso onde intercodificação é para ser executada, a memória de quadro 32 provê uma imagem de referência para a unidade de previsão e compensação de movimento 35 pela unidade de seleção 33.
[00068] Se a imagem de referência provida da memória de quadro 32 for uma imagem para intracodificação, a unidade de seleção 33 provê a imagem de referência para a unidade de intraprevisão 34. Adicionalmente, se uma imagem de referência provida da memória de quadro 32 for uma imagem para intercodificação, a unidade de seleção 33 provê a imagem de referência para a unidade de previsão e compensação de movimento 35.
[00069] A unidade de intraprevisão 34 executa intraprevisão (previsão intratela) para gerar uma imagem de previsão usando valores de pixel em uma tela. A unidade de intraprevisão 34 executa intraprevisão usando uma pluralidade de modos (modos de intraprevisão).
[00070] A unidade de intraprevisão 34 gera uma imagem de previsão em todos os modos de intraprevisão, avalia cada imagem de previsão, e seleciona um modo ótimo. Na seleção de um modo ótimo de intraprevisão, a unidade de intraprevisão 34 provê a imagem de previsão gerada no modo ótimo à unidade de computação 23 e à unidade de computação 30 pela unidade de seleção de imagem de previsão 36.
[00071] Além disso, como descrito acima, a unidade de intraprevisão 34 provê parâmetros, tal como informação de modo de intraprevisão indicando o modo de intraprevisão que foi adotado, para a unidade de codificação sem perda 26, como necessário.
[00072] A unidade de previsão e compensação de movimento 35 executa previsão de movimento em uma imagem a ser intercodificada, usando a imagem de entrada provida do buffer de rearranjo de tela 22 e a imagem de referência provida da memória de quadro 32 pela unidade de seleção 33. A unidade de previsão e compensação de movimento 35 Adicionalmente executa um processo de compensação de movimento conforme vetores de movimento detectados por previsão de movimento, e gera uma imagem de previsão (informação de imagem de interprevisão).
[00073] A unidade de previsão e compensação de movimento 35 executa um processo de interprevisão para todos os modos de intraprevisão de candidato, e gera uma imagem de previsão. A unidade de previsão e compensação de movimento 35 provê a imagem de previsão gerada para a unidade de computação 23 e à unidade de computação 30 pela unidade de seleção de imagem de previsão 36.
[00074] A unidade de previsão e compensação de movimento 35 Adicionalmente provê parâmetros, tal como a informação de modo de interprevisão indicando o modo de interprevisão que foi adotado, e informação de vetor de movimento indicando os vetores de movimento calculados, para a unidade de codificação sem perda 26.
[00075] No caso de uma imagem a ser intracodificada, a unidade de seleção de imagem de previsão 36 provê a saída da unidade de intraprevisão 34 para a unidade de computação 23 e a unidade de computação 30. No caso de uma imagem a ser intercodificada, a unidade de seleção de imagem de previsão 36 provê a saída da unidade de previsão e compensação de movimento 35 para a unidade de computação 23 e a unidade de computação 30.
[00076] A unidade de controle de taxa 37 controla a taxa da operação de quantização da unidade de quantização 25 na base da imagem comprimida acumulada no buffer de acumulação 27 de forma que transbordamento ou subutilização não ocorrerá. Operação de dispositivo de codificação de imagem
[00077] O fluxo do processo de codificação executado pelo dispositivo de codificação de imagem 11 como descrito acima será descrito com referência à Figura 2.
[00078] Na etapa S11, a unidade de conversão A/D 21 executa conversão A/D em uma imagem de entrada. Na etapa S12, o buffer de rearranjo de tela 22 armazena a imagem sujeita à conversão A/D, e rearranja quadros em ordem de exibição em ordem de codificação.
[00079] Se a imagem a ser processada provida do buffer de rearranjo de tela 22 for uma imagem de um bloco a ser sujeito a intraprocessamento, a imagem decodificada a ser referenciada é lida da memória de quadro 32, e é provida à unidade de intraprevisão 34 pela unidade de seleção 33.
[00080] Na etapa S13, baseado nestas imagens, a unidade de intraprevisão 34 executa intraprevisão em pixels no bloco visado de processamento em todos os modos de intraprevisão de candidato. Note que o pixel decodificado a ser referenciado pode ser um pixel que não está sujeito à filtragem pelo filtro de deblocagem 31.
[00081] Pelo processo descrito acima, intraprevisão é executada em todos os modos de intraprevisão de candidato, e funções de custo são calculadas para todos os modos de intraprevisão de candidato. Então, um modo ótimo de intraprevisão é selecionado na base das funções de custo calculadas, e uma imagem de previsão gerada por intraprevisão no modo ótimo de intraprevisão e sua função de custo são providas à unidade de seleção de imagem de previsão 36.
[00082] Se a imagem a ser processada provida do buffer de rearranjo de tela 22 for uma imagem a ser sujeita a interprocessamento, uma imagem a ser referenciada é lida da memória de quadro 32, e é provida à unidade de previsão e compensação de movimento 35 pela unidade de seleção 33. Na etapa S14, baseado nestas imagens, a unidade de previsão e compensação de movimento 35 executa um processo de previsão e compensação de movimento.
[00083] Pelo processo descrito acima, um processo de previsão de movimento é executado em todos os modos de intraprevisão de candidato, e funções de custo são calculadas para todos os modos de intraprevisão de candidato. Um modo ótimo de interprevisão é determinado na base das funções de custo calculadas. Então, uma imagem de previsão gerada no modo ótimo de interprevisão e sua função de custo são providas à unidade de seleção de imagem de previsão 36.
[00084] Na etapa S15, a unidade de seleção de imagem de previsão 36 determina um do modo ótimo de intraprevisão e do modo ótimo de interprevisão como um modo ótimo de previsão na base das funções de custo respectivas produzidas da unidade de intraprevisão 34 e da unidade de previsão e compensação de movimento 35. Então, a unidade de seleção de imagem de previsão 36 seleciona uma imagem de previsão do modo ótimo de previsão determinado, e provê a imagem de previsão selecionada para as unidades de computação 23 e 30. Esta imagem de previsão é usada para computação nas etapas S16 e S21 descritas abaixo.
[00085] Note que informação de seleção sobre esta imagem de previsão é provida à unidade de intraprevisão 34 ou à unidade de previsão e compensação de movimento 35. Se uma imagem de previsão do modo ótimo de intraprevisão for selecionada, a unidade de intraprevisão 34 provê informação indicando o modo ótimo de intraprevisão (isto é, parâmetros relacionados à intraprevisão) para a unidade de codificação sem perda 26.
[00086] Se uma imagem de previsão do modo ótimo de interprevisão for selecionada, a unidade de previsão e compensação de movimento 35 produz informação indicando o modo ótimo de interprevisão e informação correspondendo ao modo ótimo de interprevisão (isto é, parâmetros relacionados à previsão de movimento) para a unidade de codificação sem perda 26. Exemplos da informação correspondendo ao modo ótimo de interprevisão incluem informação de vetor de movimento e informação de quadro de referência.
[00087] Na etapa S16, a unidade de computação 23 computa uma diferença entre a imagem sujeita a rearranjo na etapa S12 e a imagem de previsão selecionada na etapa S15. A imagem de previsão é provida à unidade de computação 23 pela unidade de seleção de imagem de previsão 36 da unidade de previsão e compensação de movimento 35 para interprevisão ou da unidade de intraprevisão 34 para intraprevisão.
[00088] Os dados de diferença têm uma quantidade menor de dados do que os dados de imagem original. Por conseguinte, a quantidade de dados pode ser reduzida comparada àquela para uma imagem que é codificada como está.
[00089] Na etapa S17, a unidade de transformada ortogonal 24 executa uma transformada ortogonal na informação de diferença provida da unidade de computação 23. Especificamente, uma transformada ortogonal tal como uma transformada de co-seno discreta ou uma transformada de Karhunen- Loève é executada, e coeficientes de transformada são produzidos.
[00090] Na etapa S18, a unidade de quantização 25 quantiza os coeficientes de transformada. Nesta quantização, como descrito com referência ao processamento da etapa S28 descrita abaixo, a taxa é controlada.
[00091] A informação de diferença quantizada do modo descrito acima é decodificada localmente do modo seguinte: Na etapa S19, a unidade de desquantização 28 desquantiza os coeficientes de transformada quantizados pela unidade de quantização 25, usando as características correspondendo às características da unidade de quantização 25. Na etapa S20, a unidade de transformada ortogonal inversa 29 executa uma transformada ortogonal inversa nos coeficientes de transformada desquantizados pela unidade de desquantização 28 usando as características correspondendo às características da unidade de transformada ortogonal 24.
[00092] Na etapa S21, a unidade de computação 30 adiciona uma imagem de previsão entrada pela unidade de seleção de imagem de previsão 36 à informação de diferença decodificada localmente, e gera uma imagem decodificada localmente (uma imagem correspondendo à entrada à unidade de computação 23).
[00093] Na etapa S22, o filtro de deblocagem 31 executa um processo de filtro de deblocagem na imagem produzida da unidade de computação 30. Por conseguinte, distorção de bloco é removida. A imagem filtrada obtida do filtro de deblocagem 31 é produzida ao filtro de offset adaptável 41.
[00094] Na etapa S23, o filtro de offset adaptável 41 executa um processo de filtro de offset adaptável. Por este processo, o tipo e coeficiente do filtro de offset são determinados para cada LCU, que é a unidade de codificação maior, e um processo de filtro é executado na imagem filtrada pelo filtro de deblocagem 31, usando o tipo e coeficiente do filtro de offset. Note que os detalhes deste processo de filtro de offset adaptável serão descritos abaixo com referência à Figura 14.
[00095] Então, se o buffer armazenou nela o mesmo coeficiente como um coeficiente determinado para cada LCU, um indicador indicando o armazenamento do coeficiente, um índice indicando a posição de armazenamento no buffer, e informação indicando o tipo são providas à unidade de codificação sem perda 26. Por outro lado, se o buffer não armazenou nela o mesmo coeficiente como um coeficiente determinado para cada LCU, um indicador indicando nenhum armazenamento do coeficiente, o coeficiente, e informação indicando o tipo são providas à unidade de codificação sem perda 26.
[00096] Estes pedaços de informação providos à unidade de codificação sem perda 26 (doravante chamados coletivamente parâmetros de offset adaptáveis) são codificados na etapa S26 descrita abaixo.
[00097] Na etapa S24, o filtro de malha adaptável 42 executa um processo de filtro de malha adaptável na imagem filtrada pelo filtro de offset adaptável 41. Por exemplo, a imagem filtrada pelo filtro de offset adaptável 41 sofre um processo de filtro para cada LCU usando um coeficiente de filtro, e um resultado do processo de filtro na imagem é provido à memória de quadro 32.
[00098] Como descrito acima, fazer a unidade de processamento do filtro de offset adaptável 41 casar com a unidade de processamento do filtro de malha adaptável 42 pode prover processamento eficiente.
[00099] Na etapa S25, a memória de quadro 32 armazena a imagem filtrada. Note que uma imagem que não está filtrada pelo filtro de deblocagem 31, pelo filtro de offset adaptável 41, ou pelo filtro de malha adaptável 42 também é provida à memória de quadro 32 da unidade de computação 30, e é armazenada na memória de quadro 32.
[000100] Por outro lado, os coeficientes de transformada quantizados na etapa S18, descrita acima, também são providos à unidade de codificação sem perda 26. Na etapa S26, a unidade de codificação sem perda 26 codifica os coeficientes de transformada quantizados produzidos da unidade de quantização 25 e também codifica os parâmetros providos. Quer dizer, uma imagem de diferença é codificada sem perda usando codificação de comprimento variável, codificação aritmética, ou similar, e é comprimida.
[000101] Na etapa S27, o buffer de acumulação 27 acumula a imagem de diferença codificada (isto é, um fluxo codificado) como uma imagem comprimida. Uma imagem comprimida acumulada no buffer de acumulação 27 é lida, como necessário, e é transmitida para o lado de decodificador por um caminho de transmissão.
[000102] Na etapa S28, a unidade de controle de taxa 37 controla a taxa da operação de quantização da unidade de quantização 25 na base da imagem comprimida acumulada no buffer de acumulação 27 de forma que transbordamento ou subutilização não ocorrerá.
[000103] Depois da conclusão do processamento da etapa S28, o processo de codificação termina. Configuração de exemplo de dispositivo de decodificação de imagem
[000104] Figura 3 ilustra uma configuração de uma concretização de um dispositivo de decodificação de imagem servindo como um dispositivo de processamento de imagem ao qual a descrição presente é aplicada. O dispositivo de decodificação de imagem 51 ilustrado na Figura 3 é um dispositivo de decodificação correspondendo ao dispositivo de codificação de imagem 11 da Figura 1.
[000105] É assumido que um fluxo codificado (dados) que foi sujeito à codificação pelo dispositivo de codificação de imagem 11 é transmitido ao dispositivo de decodificação de imagem 51 correspondendo ao dispositivo de codificação de imagem 11 por um certo caminho de transmissão, e é decodificado.
[000106] Como ilustrado na Figura 3, o dispositivo de decodificação de imagem 51 inclui um buffer de acumulação 61, uma unidade de decodificação sem perda 62, uma unidade de desquantização 63, uma unidade de transformada ortogonal inversa 64, uma unidade de computação 65, um filtro de deblocagem 66, um buffer de rearranjo de tela 67 e uma unidade de conversão D/A 68. O dispositivo de decodificação de imagem 51 Adicionalmente inclui uma memória de quadro 69, uma unidade de seleção 70, uma unidade de intraprevisão 71, uma unidade de previsão e compensação de movimento 72 e uma unidade de seleção 73.
[000107] O dispositivo de decodificação de imagem 51 Adicionalmente inclui um filtro de offset adaptável 81 e um filtro de malha adaptável 82 entre o filtro de deblocagem 66 e o buffer de rearranjo de tela 67 e entre o filtro de deblocagem 66 e a memória de quadro 69.
[000108] O buffer de acumulação 61 também é uma unidade receptora para receber dados codificados transmitidos. O buffer de acumulação 61 recebe e acumula dados codificados transmitidos. Os dados codificados foram sujeitos à codificação pelo dispositivo de codificação de imagem 11. A unidade de decodificação sem perda 62 decodifica dados codificados lidos do buffer de acumulação 61 a certa temporização, usando um esquema correspondendo ao esquema de codificação da unidade de codificação sem perda 26 da Figura 1.
[000109] A unidade de decodificação sem perda 62 provê os parâmetros decodificados tal como informação indicando o modo de intraprevisão à unidade de intraprevisão 71, e provê os parâmetros como informação indicando o modo de intraprevisão e informação de vetor de movimento à unidade de previsão e compensação de movimento 72. A unidade de decodificação sem perda 62 Adicionalmente provê os parâmetros de offset adaptáveis decodificados (tal como um indicador indicando a presença ou ausência de um coeficiente armazenado no buffer, o coeficiente, informação indicando um tipo, e um índice indicando a posição de armazenamento do coeficiente no buffer) para o filtro de offset adaptável 81.
[000110] A unidade de desquantização 63 desquantiza os dados de coeficiente (coeficientes de quantização) obtidos pela unidade de decodificação sem perda 62 por decodificação, usando um esquema correspondendo ao esquema de quantização da unidade de quantização 25 da Figura 1. Quer dizer, a unidade de desquantização 63 desquantiza os coeficientes de quantização usando um método semelhante àquele da unidade de desquantização 28 da Figura 1 usando os parâmetros de quantização providos do dispositivo de codificação de imagem 11.
[000111] A unidade de desquantização 63 provê os dados de coeficiente desquantizados, quer dizer, os coeficientes de transformada ortogonal, para a unidade de transformada ortogonal inversa 64. A unidade de transformada ortogonal inversa 64 executa uma transforma ortogonal inversa nos coeficientes de transformada ortogonal usando o esquema correspondendo ao esquema de transformada ortogonal da unidade de transformada ortogonal 24 da Figura 1, e obtém dados residuais decodificados correspondendo aos dados residuais que não foram transformados ortogonalmente no dispositivo de codificação de imagem 11.
[000112] Os dados residuais decodificados obtidos pela transformada ortogonal inversa são providos à unidade de computação 65. A unidade de computação 65 também é provida com uma imagem de previsão da unidade de intraprevisão 71 ou da unidade de previsão e compensação de movimento 72 pela unidade de seleção 73.
[000113] A unidade de computação 65 adiciona os dados residuais decodificados e a imagem de previsão, e obtém dados de imagem decodificados correspondendo aos dados de imagem dos quais a imagem de previsão não foi subtraída pela unidade de computação 23 do dispositivo de codificação de imagem 11. A unidade de computação 65 provê os dados de imagem decodificados para o filtro de deblocagem 66.
[000114] O filtro de deblocagem 66 executa apropriadamente um processo de filtro de deblocagem para remover distorção de bloco da imagem decodificada. O filtro de deblocagem 66 provê um resultado do processo de filtro para o filtro de offset adaptável 81.
[000115] O filtro de offset adaptável 81 executa um processo de filtro de offset (SAO) na imagem filtrada pelo filtro de deblocagem 66 para remover principalmente zumbido.
[000116] O filtro de offset adaptável 81 executa um processo de filtro na imagem filtrada pelo filtro de deblocagem 66 para cada LCU, que é a unidade de codificação maior, usando os parâmetros de offset adaptáveis providos da unidade de decodificação sem perda 62. O filtro de offset adaptável 81 provê a imagem que foi sujeita ao processo de filtro ao filtro de malha adaptável 82.
[000117] Note que, como os detalhes do filtro de offset adaptável 81 serão descritos abaixo com referência à Figura 12 e aos desenhos seguintes, o filtro de offset adaptável 81 tem um buffer para armazenar coeficientes. Se o indicador enviada da unidade de decodificação sem perda 62 indicar a presença de um coeficiente armazenado no buffer, o filtro de offset adaptável 81 lê o coeficiente do buffer se referindo à informação indicando o tipo e o índice indicando a posição de armazenamento do coeficiente no buffer, e executa um processo de filtro usando o coeficiente lido.
[000118] Por outro lado, se o indicador enviada da unidade de decodificação sem perda 62 indicar a ausência de um coeficiente armazenado no buffer, o filtro de offset adaptável 81 executa um processo de filtro usando o coeficiente adquirido da unidade de decodificação sem perda 62. Depois disso, o filtro de offset adaptável 81 escreve o coeficiente adquirido ao buffer.
[000119] O filtro de malha adaptável 82 tem uma configuração basicamente semelhante àquela do filtro de malha adaptável 42 do dispositivo de codificação de imagem 11 da Figura 1, e executa um processo de filtro de malha adaptável para cada LCU, que é a unidade de codificação maior. O filtro de malha adaptável 82 executa um processo de filtro na imagem filtrada pelo filtro de offset adaptável 81 para cada LCU usando um coeficiente de filtro, e provê um resultado do processo de filtro para a memória de quadro 69 e o buffer de rearranjo de tela 67.
[000120] Note que, no dispositivo de decodificação de imagem 51, um coeficiente de filtro que foi calculado para cada LUC e foi codificado e enviado do filtro de malha adaptável 42 do dispositivo de codificação de imagem 11, é decodificado pela unidade de decodificação sem perda 62 e é usado, que não será descrito em detalhes aqui.
[000121] O buffer de rearranjo de tela 67 executa rearranjo na imagem. Quer dizer, a ordem dos quadros rearranjados em ordem de codificação pelo buffer de rearranjo de tela 22 da Figura 1 é mudada à ordem de exibição original. A unidade de conversão D/A 68 executa conversão D/A na imagem provida do buffer de rearranjo de tela 67, e produz a imagem resultante para um visor (não ilustrada) para exibição.
[000122] A saída do filtro de malha adaptável 82 é Adicionalmente provida à memória de quadro 69.
[000123] A memória de quadro 69, a unidade de seleção 70, a unidade de intraprevisão 71, a unidade de previsão e compensação de movimento 72 e a unidade de seleção 73 correspondem à memória de quadro 32, à unidade de seleção 33, à unidade de intraprevisão 34, à unidade de previsão e compensação de movimento 35 e à unidade de seleção de imagem de previsão 36 do dispositivo de codificação de imagem 11, respectivamente.
[000124] A unidade de seleção 70 lê uma imagem a ser sujeita a interprocessamento e uma imagem a ser referenciada da memória de quadro 69, e provê as imagens lidas para a unidade de previsão e compensação de movimento 72. Adicionalmente, a unidade de seleção 70 lê uma imagem a ser usada para intraprevisão da memória de quadro 69, e provê a imagem lida para a unidade de intraprevisão 71.
[000125] A unidade de intraprevisão 71 é provida com informação indicando um modo de intraprevisão e similar, que é obtida decodificando a informação de cabeçalho, da unidade de decodificação sem perda 62, como apropriado. A unidade de intraprevisão 71 gera uma imagem de previsão, baseada nesta informação, da imagem de referência adquirida da memória de quadro 69, e provê a imagem de previsão gerada para a unidade de seleção 73.
[000126] A unidade de previsão e compensação de movimento 72 é provida com informação obtida decodificando a informação de cabeçalho (informação de modo de previsão, informação de vetor de movimento, informação de quadro de referência, indicador, vários parâmetros, etc.) da unidade de decodificação sem perda 62.
[000127] A unidade de previsão e compensação de movimento 72 gera uma imagem de previsão, baseada nestes pedaços de informação providos da unidade de decodificação sem perda 62, da imagem de referência adquirida da memória de quadro 69, e provê a imagem de previsão gerada para a unidade de seleção 73.
[000128] A unidade de seleção 73 seleciona a imagem de previsão gerada pela unidade de previsão e compensação de movimento 72 ou pela unidade de intraprevisão 71, e provê a imagem de previsão selecionada para a unidade de computação 65. Operação de dispositivo de decodificação de imagem
[000129] Um exemplo do fluxo do processo de decodificação executado pelo dispositivo de decodificação de imagem 51 como descrito acima será descrito com referência à Figura 4.
[000130] Quando um processo de decodificação começa, na etapa S51, o buffer de acumulação 61 recebe e acumula um fluxo codificado transmitido (dados). Na etapa S52, a unidade de decodificação sem perda 62 decodifica os dados codificados providos do buffer de acumulação 61. Quadros I, quadros P e quadros B, que foram codificados pela unidade de codificação sem perda 26 da Figura 1, são decodificados.
[000131] Antes da decodificação dos quadros, informação sobre parâmetros tais como informação de vetor de movimento, informação de quadro de referência e informação de modo de previsão (o modo de intraprevisão ou o modo de interprevisão) também é decodificada.
[000132] Se a informação de modo de previsão for informação de modo de intraprevisão, a informação de modo de previsão é provida à unidade de intraprevisão 71. Se a informação de modo de previsão for informação de modo de interprevisão, a informação de vetor de movimento e similar correspondendo à informação de modo de previsão é provida à unidade de previsão e compensação de movimento 72. Além disso, os parâmetros de offset adaptáveis também são decodificados e providos ao filtro de offset adaptável 81.
[000133] Na etapa S53, a unidade de intraprevisão 71 ou a unidade de previsão e compensação de movimento 72 executa um processo de formação de imagem de previsão correspondente conforme a informação de modo de previsão provida da unidade de decodificação sem perda 62.
[000134] Especificamente, se informação de modo de intraprevisão for provida da unidade de decodificação sem perda 62, a unidade de intraprevisão 71 gera uma imagem de intraprevisão para o modo de intraprevisão. Se informação de modo de interprevisão for provida da unidade de decodificação sem perda 62, a unidade de previsão e compensação de movimento 72 executa um processo de previsão e compensação de movimento do modo de intraprevisão, e gera um imagem de intraprevisão.
[000135] Pelo processo descrito acima, a imagem de previsão (imagem de intraprevisão) gerada pela unidade de intraprevisão 71 ou a imagem de previsão (imagem de intraprevisão) gerada pela unidade previsão e compensação de movimento 72 é provida à unidade de seleção 73.
[000136] Na etapa S54, a unidade de seleção 73 seleciona uma imagem de previsão. Quer dizer, a imagem de previsão gerada pela unidade de intraprevisão 71 ou a imagem de previsão gerada pela unidade de previsão e compensação de movimento 72 é provida. Por conseguinte, a imagem de previsão provida é selecionada e é provida à unidade de computação 65, de forma que a imagem de previsão seja adicionada à saída da unidade de transformada inversa ortogonal 64 na etapa S57 descrita abaixo.
[000137] Na etapa S52 descrita acima, os coeficientes de transformada decodificados pela unidade de decodificação sem perda 62 também são providos à unidade de desquantização 63. Na etapa S55, a unidade de desquantização 63 desquantiza os coeficientes de transformada decodificados pela unidade de decodificação sem perda 62, usando as características correspondendo às características da unidade de quantização 25 da Figura 1.
[000138] Na etapa S56, a unidade de transformada ortogonal inversa 29 executa uma transformada ortogonal inversa nos coeficientes de transformada desquantizados pela unidade de desquantização 28, usando as características correspondendo às características da unidade de transformada ortogonal 24 da Figura 1. Por conseguinte, informação de diferença correspondendo à entrada da unidade de transformada ortogonal 24 da Figura 1 (a saída da unidade de computação 23) é decodificada.
[000139] Na etapa S57, a unidade de computação 65 adiciona a imagem de previsão selecionada no processo da etapa S54 descrita acima e introduzida pela unidade de seleção 73 à informação de diferença. Por conseguinte, a imagem original é decodificada.
[000140] Na etapa S58, o filtro de deblocagem 66 executa um processo de filtro de deblocagem na imagem produzida da unidade de computação 65. Por conseguinte, distorção de bloco é removida. A imagem decodificada enviada do filtro de deblocagem 66 é produzida ao filtro de offset adaptável 81.
[000141] Na etapa S59, o filtro de offset adaptável 81 executa um processo de filtro de offset adaptável. O filtro de offset adaptável 81 executa um processo de filtro na imagem filtrada pelo filtro de deblocagem 66, usando os parâmetros de offset adaptáveis enviados da unidade de decodificação sem perda 62. O filtro de offset adaptável 81 provê a imagem que foi sujeita ao processo de filtro ao filtro de malha adaptável 82.
[000142] Note que, como os detalhes do filtro de offset adaptável 81 serão descritos abaixo com referência à Figura 12 e nos desenhos seguintes, o filtro de offset adaptável 81 tem um buffer para armazenar coeficientes. Se o indicador enviada da unidade de decodificação sem perda 62 indicar a presença de um coeficiente armazenado no buffer, o coeficiente é lido do buffer com referência à informação indicando o tipo e o índice indicando a posição de armazenamento do coeficiente no buffer, e um processo de filtro usando o coeficiente lido é executado.
[000143] Por outro lado, se o indicador enviada da unidade de decodificação sem perda 62 indicar a ausência de um coeficiente armazenado no buffer, um processo de filtro usando o coeficiente adquirido da unidade de decodificação sem perda 62 é executado. Depois disso, o coeficiente adquirido é escrito ao buffer.
[000144] Na etapa S60, o filtro de malha adaptável 82 executa um processo de filtro de malha adaptável na imagem filtrada pelo filtro de offset adaptável 81. O filtro de malha adaptável 82 executa um processo de filtro em uma imagem de entrada para cada LCU, que é a unidade de codificação maior usando um coeficiente de filtro computado para cada LCU, e provê um resultado do processo de filtro para o buffer de rearranjo de tela 67 e a memória de quadro 69.
[000145] Na etapa S61, a memória de quadro 69 armazena a imagem filtrada.
[000146] Na etapa S62, o buffer de rearranjo de tela 67 executa rearranjo na imagem depois da aplicação do filtro de malha adaptável 82. Quer dizer, a ordem dos quadros rearranjados pelo buffer de rearranjo de tela 22 do dispositivo de codificação de imagem 11 para codificação é mudada à ordem de exibição original.
[000147] Na etapa S63, a unidade de conversão D/A 68 executa conversão D/A na imagem enviada do buffer de rearranjo de tela 67. Esta imagem é produzida a um visor (não ilustrado), e uma imagem é exibida.
[000148] Depois da conclusão do processo de etapa S63, o processo de decodificação termina.
Explicação de Técnicas da Técnica Relacionada Processo de offset adaptável em esquema de HEVC
[000149] A seguir, um filtro de offset adaptável no esquema de HEVC será descrito. No esquema de HEVC, o esquema de Offset Adaptável de Amostra é adotado.
[000150] No lado de codificador, o filtro de offset adaptável 41 está disposto entre o filtro de deblocagem (DB) 31 e o filtro de malha adaptável (ALF) 42. Também no lado de decodificador, o filtro de offset adaptável 81 está disposto entre o filtro de deblocagem (DB) 66 e o filtro de malha adaptável (ALF) 82.
[000151] Os tipos de offset adaptáveis (espécies) incluem dois tipos de offset chamados offset de faixa, e seis tipos de offset chamados offset de borda, e nenhuma aplicação de offset também é possível. Além disso, é possível dividir uma imagem em regiões de 'quad-tree' e selecionar, para cada região, qual dos tipos de offset adaptáveis descritos acima usar para codificação.
[000152] Esta informação de seleção é codificada como Info PQAO por uma unidade de codificação (Codificação de Entropia), um fluxo de bits é gerado, e o fluxo de bits gerado é transmitido para o lado de decodificador. Usando este método, eficiência de codificação pode ser melhorada.
[000153] Aqui, uma estrutura de 'quad-tree' será descrita com referência à Figura 5.
[000154] Por exemplo, no lado de codificador, como indicado por A1 na Figura 5, uma função de custo J0 de Nível 0 (uma profundidade de partição de 0) indicando que uma região 0 não está dividida, é computada. Adicionalmente, funções de custo J1, J2, J3 e J4 de Nível 1 (uma profundidade de partição de 0) indicando que a região 0 está dividida em quatro regiões 1 a 4 são computadas.
[000155] Então, como indicado por A2, as funções de custo são comparadas, e as regiões de partição (Partições) de Nível 1 são selecionadas conforme J0 > (J1 + J2 + J3 + J4).
[000156] Semelhantemente, como indicado por A3, funções de custo J5 a J20 de Nível 2 (uma profundidade de partição de 2) indicando que a região 0 está dividida em 16 regiões 5 a 20 são computadas.
[000157] Então, como indicado por A4, as funções de custo são comparadas, e a região de partição (Partição) de Nível 1 é selecionada na região 1 conforme J1 < (J5 + J6 + J9 + J10). Na região 2, as regiões de partição (Partições) de Nível 2 são selecionadas conforme J2 > (J7 + J8 + J11 + J12). Na região 3, as regiões de partição (Partições) de Nível 2 são selecionadas conforme J3 > (J13 + J14 + J17 + J18). Na região 4, a região de partição (Partições) de Nível 1 é selecionada conforme J4 > (J15 + J16 + J19 + J20).
[000158] Como resultado, regiões de 'quad-tree' finais (Partições) indicadas por A4 na estrutura de 'quad-tree' são determinadas. Então, funções de custo para todos os tipos, isto é, dois tipos de offset de faixa, seis tipos de offset de borda, e nenhum offset, são calculadas para cada uma das regiões determinadas na estrutura de 'quad-tree', e qual offset usar para codificação é determinado.
[000159] Por exemplo, no exemplo da Figura 5, como indicado pela seta branca, EO(4), quer dizer, o quarto tipo entre os tipos de offset de borda, é determinado para a região 1. Para a região 7, OFF, quer dizer, nenhum offset, é determinado. Para a região 8, EO(2), quer dizer, o segundo tipo entre os tipos de offset de borda, é determinado. Para as regiões 11 e 12, OFF, quer dizer, nenhum offset, é determinado.
[000160] Adicionalmente, para a região 13, BO(1), quer dizer, o primeiro tipo entre os tipos de offset de faixa, é determinado. Para a região 14, EO(2), quer dizer, o segundo tipo entre os tipos de offset de borda, é determinado. Para a região 17, BO(2), quer dizer, o segundo tipo entre os tipos de offset de faixa, é determinado. Para a região 18, BO(1), quer dizer, o primeiro tipo entre os tipos de offset de faixa, é determinado. Para a região 4, EO(1), quer dizer, o primeiro tipo entre os tipos de offset de borda, é determinado.
[000161] A seguir, os detalhes de offset de faixa serão descritos com referência à Figura 6.
[000162] Em offset de faixa, no exemplo da Figura 6, cada escala representa uma faixa = 8 pixels, e valores de pixel de luminância estão separados em 32 faixas, cada faixa tendo um valor de offset individual.
[000163] Quer dizer, no exemplo da Figura 6, as 16 faixas de centro fora do 0-ésimo a 255° pixels (32 faixas) estão agrupadas em um primeiro grupo, e as 8 faixas a qualquer lado estão agrupadas em um segundo grupo.
[000164] Então, os offsets só tanto no primeiro grupo ou no segundo grupo são codificados e são enviados ao lado de decodificador. Em geral, cada região é frequentemente uma região branca e preta de alto contraste ou uma região de matiz de baixo contraste, e é raro que o primeiro grupo e o segundo grupo todos contenham pixels. Por esta razão, enviar os offsets em só um grupo pode suprimir um aumento na quantidade de codificação que é causada pela transmissão dos valores de pixel dos valores que não estão incluídos em cada região de 'quad-tree'.
[000165] Note que se um sinal de entrada for difundido, o valor do sinal de luminância é limitado à gama de 16.235, e os valores dos sinais de crominância estão limitados à gama de 16.240. Neste caso, a difusão legal dada na parte inferior da Figura 6 é aplicada, e os valores de offset para 2 faixas a qualquer lado, que estão marcados por uma cruz, não são transmitidos.
[000166] A seguir, os detalhes de offset de borda serão descritos com referência à Figura 7.
[000167] Em offset de borda, uma comparação é feita entre o valor de pixel visado e um valor de pixel vizinho adjacente ao valor de pixel visado, e um valor de offset é transmitido conforme a categoria correspondente.
[000168] Offset de borda tem quatro padrões unidimensionais ilustrados em parte A da Figura 7 à parte D da Figura 7, e dois padrões bidimensionais ilustrados em parte E da Figura 7 e em parte F da Figura 7, e offsets para as categorias ilustradas na Figura 7 são transmitidos.
[000169] Parte A da Figura 7 ilustra um padrão 1-D de 0 grau no qual pixels vizinhos estão arranjados unidimensionalmente à direita e esquerda do pixel visado C, quer dizer, um padrão 1-D de 0 grau que define um ângulo de 0 grau com o padrão A em parte da Figura 7. Parte B da Figura 7 ilustra um padrão 1-D de 90 graus no qual pixels vizinhos estão arranjados unidimensionalmente acima e abaixo do pixel visado C, quer dizer, um padrão 1-D de 90 graus que define um ângulo de 90 graus com o padrão em parte A da Figura 7.
[000170] Parte C da Figura 7 ilustra um padrão 1-D de 135 graus no qual pixels vizinhos estão arranjados unidimensionalmente a posições esquerda superior e direita inferior do pixel visado C, quer dizer, um padrão 1-D de 135 graus que define um ângulo de 135 graus com o padrão em parte A da Figura 7. Parte D da Figura 7 ilustra um padrão 1-D de 135 graus no qual pixels vizinhos estão arranjados unidimensionalmente à direita superior e esquerda inferior do pixel visado C, quer dizer, um padrão 1-D de 135 graus que define um ângulo de 45 graus com o padrão em parte A da Figura 7.
[000171] Parte E da Figura 7 ilustra um padrão 2-D cruzado no qual pixels vizinhos estão arranjados bidimensionalmente acima e abaixo e à direita e esquerda do pixel visado C, quer dizer, um padrão 2-D cruzado que cruza o pixel visado C. Parte F da Figura 7 ilustra um padrão diagonal 2-D no qual pixels vizinhos estão arranjados bidimensionalmente à direita superior e esquerda inferior e à esquerda superior e direita inferior do pixel visado C, quer dizer, um padrão diagonal 2-D que cruza diagonalmente o pixel visado C.
[000172] Parte A da Figura 8 ilustra regras de classificação para padrões unidimensionais (Regra de classificação para padrões 1-D). Os padrões em parte A da Figura 7 à parte D da Figura 7 estão classificados em cinco categorias como ilustrado em parte A da Figura 8. Um offset é calculado conforme as categorias, e é enviado à unidade de decodificação.
[000173] Se o valor de pixel do pixel visado C for menor do que os valores de pixel de dois pixels vizinhos, o padrão é classificado em categoria 1. Se o valor de pixel do pixel visado C for menor do que o valor de pixel de um pixel vizinho e for igual ao valor de pixel do outro pixel vizinho, o padrão é classificado em categoria 2. Se o valor de pixel do pixel visado C for maior do que o valor de pixel de um pixel vizinho e for igual ao valor de pixel do outro pixel vizinho, o padrão é classificado em categoria 3. Se o valor de pixel do pixel visado C for maior do que os valores de pixel dos dois pixels vizinhos, o padrão é classificado em categoria 4. Caso contrário, o padrão é classificado em categoria 0.
[000174] Parte B da Figura 8 ilustra regras de classificação para padrões bidimensionais (Regra de classificação para padrões 2-D). Os padrões em parte E da Figura 7 e parte F da Figura 7 estão classificados em sete categorias como ilustrado em parte B da Figura 8. Um offset é enviado ao lado de decodificador conforme as categorias.
[000175] Se o valor de pixel do pixel visado C for menor do que os valores de pixel de quatro pixels vizinhos, o padrão é classificado em categoria 1. Se o valor de pixel do pixel visado C for menor do que os valores de pixel de três pixels vizinhos e for igual ao valor de pixel do quarto pixel vizinho, o padrão é classificado em categoria 2. Se o valor de pixel do pixel visado C for menor do que o pixel valores de três pixels vizinhos e for maior do que o valor de pixel do quarto pixel vizinho, o padrão é classificado em categoria 3.
[000176] Se o valor de pixel do pixel visado C for maior do que os valores de pixel de três pixels vizinhos e for menor do que o valor de pixel do quarto pixel vizinho, o padrão é classificado em categoria 4. Se o valor de pixel do pixel visado C for maior do que o pixel valores de três pixels vizinhos e for igual ao valor de pixel do quarto pixel vizinho, o padrão é classificado em categoria 5. Se o valor de pixel do pixel visado C for maior do que os valores de pixel dos quatro pixels vizinhos, o padrão é classificado em categoria 6. Caso contrário, o padrão é classificado em categoria 0.
[000177] Como descrito acima, em offset de borda, padrões unidimensionais requerem uma quantidade menor de computação porque uma comparação é feita somente entre dois pixels vizinhos. Note que em uma condição de alta eficiência de codificação, um valor de offset de 1 bit é feito mais preciso do que em uma baixa condição de codificação de atraso e é enviado ao lado de decodificador.
[000178] O processo de offset adaptável descrito acima é um processo executado no esquema de HEVC para cada uma das determinadas regiões na estrutura de 'quad-tree'. Quer dizer, no processo de offset adaptável, é necessário definir exclusivamente regiões para o filtro de offset adaptável, chamada uma estrutura de 'quad-tree'.
[000179] Além disso, os parâmetros do filtro de offset adaptável estão coletivamente definidos em sao_param ( ), que está colocado antes dos dados (informação de vídeo), em grupos de um quadro. No lado de codificador, portanto, é necessário conter dados para um quadro em um buffer até a conclusão do processo de filtro de offset adaptável, a determinação dos coeficientes do filtro de offset adaptável, e a criação de sao_param ( ).
[000180] Levando em conta o antecedente, em algumas concretizações, como descrito na seção posterior com referência à Figura 9, filtragem de offset adaptável é executada em unidades de uma LCU, que é a unidade de codificação maior, correspondentemente ao processamento de LCU por LCU de filtro de malha adaptável, que foi proposto em NPL 2.
3. Primeira Concretização Panorama da tecnologia presente
[000181] No exemplo da Figura 9, uma imagem que está dividida em LCU 111 a LCU 117 é ilustrada. O filtro de offset adaptável 41 no lado de codificador determina o tipo e coeficiente (valor de offset) de filtro de offset adaptável em unidades de uma LCU, que é a unidade de codificação maior, e envia o tipo e coeficiente para o lado de decodificador na temporização do começo de cada LCU. Neste caso, se o coeficiente casar com quaisquer dos coeficientes que já foram transmitidos e foram armazenados no buffer, o filtro de offset adaptável 81 no lado de decodificador usa uma cópia do coeficiente no buffer.
[000182] Por exemplo, o tipo E0 da LCU 111 (o offset de borda de categoria 0) e seu coeficiente são determinados no lado de codificador, e o tipo e o coeficiente da LCU 111 são enviados para o lado de decodificador no começo da LCU 111. O tipo B1 da LCU 112 (o offset de faixa de categoria 1) e seu coeficiente são determinados no lado de codificador, e o tipo e o coeficiente da LCU 111 são enviados para o lado de decodificador no começo da LCU 112. O tipo E1 da LCU 113 (o offset de borda de categoria 1) e seu coeficiente são determinados no lado de codificador, e o tipo e o coeficiente da LCU 111 são enviados para o lado de decodificador no começo da LCU 113. O tipo B2 da LCU 114 (o offset de faixa de categoria 2) e seu coeficiente são determinados no lado de codificador, e o tipo e o coeficiente da LCU 111 são enviados para o lado de decodificador no começo da LCU 114.
[000183] No lado de decodificador, o filtro de offset adaptável 81 tem um buffer de EO (offset de borda) 121 e um buffer de BO (offset de faixa) 122, e executa um processo de filtro em unidades de uma LCU. Além disso, os coeficientes transmitidos são armazenados.
[000184] Aqui, o tipo E0 da LCU 115 (o offset de borda de categoria 0) e seu coeficiente são determinados no lado de codificador. O coeficiente do tipo E0 já foi enviado para o lado de decodificador na hora da LCU 111, e foi armazenado no buffer de EO (offset de borda) 121 incluída no filtro de offset adaptável 81 no lado de decodificador.
[000185] Para a LCU 115, portanto, uma cópia do coeficiente do tipo E0 no buffer de EA 121 é usada no lado de decodificador sem o envio do coeficiente do tipo E0. Note que, para a LCU 116, nenhum offset adaptável (fora) é determinado no lado de codificador, e assim nenhum coeficiente é usado.
[000186] Além disso, o tipo E0 da LCU 117 (o offset de borda de categoria 0) e seu coeficiente são determinados no lado de codificador. O coeficiente do tipo E0 já foi enviado para o lado de decodificador na hora da LCU 111, e foi armazenado no buffer de EO (offset de borda) 121 incluída no filtro de offset adaptável 81 no lado de decodificador.
[000187] Para a LCU 117, então, uma cópia do coeficiente do tipo E0 no buffer de EA 121 é usada no lado de decodificador sem o envio do coeficiente do tipo E0.
[000188] Como descrito acima, os parâmetros do filtro de offset adaptável, que são transmitidos em um lote ao começo de um quadro na técnica relacionada, são enviados sequencialmente ao começo de cada LCU. Assim, enquanto um buffer com uma capacidade correspondendo a um quadro é requerida na técnica relacionada, um buffer com uma capacidade reduzida correspondendo a uma LCU pode ser usada.
[000189] Além disso, um coeficiente que já foi usado não é enviado, assim reduzindo o aumento no número de coeficientes enviados, que é feito enviando um coeficiente para cada LCU.
[000190] Figura 10 ilustra exemplos de divisão do filtro de offset adaptável. A parte esquerda da Figura 10 ilustra um exemplo de divisão baseada em 'quad-tree' da técnica relacionada, e a parte direita da Figura 10 ilustra um exemplo de divisão baseada em LCU da tecnologia presente.
[000191] No caso de uma estrutura de 'quad-tree', como ilustrado na parte direita da Figura 10, uma imagem só pode ser dividida em regiões quadradas. Em contraste, no filtro baseado em LCU, como ilustrado na parte direita da Figura 10, uma imagem pode ser dividida em regiões em forma convexa ou regiões em forma côncava.
[000192] Na realidade, como indicado por uma linha pontilhada, uma região de forma convexa está composta de, por exemplo, uma LCU de 8x8 e uma LCU de 16x16, onde o mesmo tipo e o uso do mesmo coeficiente são descritos. Semelhantemente, como indicado por uma linha pontilhada, uma região de forma côncava está composta de, por exemplo, três LCUs de 8x8, onde o mesmo tipo e o uso do mesmo coeficiente são descritos.
[000193] Como descrito acima, uma região é dividida em unidades de uma LCU, assim aumentando flexibilidade em divisão, comparada àquela baseada em uma estrutura de 'quad-tree' na técnica relacionada. Filtragem de offset adaptável pode ser executada conforme as características de uma imagem de entrada.
[000194] Além disso, a unidade de processamento do filtro de offset adaptável e a unidade de processamento do filtro de malha adaptável são feitas casarem, permitindo ambos processos de filtro serem executados simultaneamente, em paralelo, de modo de oleoduto, ou similar. Por conseguinte, eficiência de processamento pode ser aumentada.
Exemplo de sintaxe
[000195] Figura 11 é um diagrama ilustrando um exemplo da sintaxe de sao_param ( ) gerada pelo dispositivo de codificação de imagem 11. Os numerais aparecendo ao lado esquerdo das filas respectivas são números de fila dados para o propósito de descrição.
[000196] No exemplo da Figura 11, sample_adaptive_offset_flag na oitava fila é um indicador de se ou não executar filtragem de offset adaptável. sao_flag_cb na décima fila indica a aplicação do filtro de offset adaptável de cb quando é igual a 1. sao_flag_cr na décima segunda fila indica a aplicação do filtro de offset adaptável de cr quando é igual a 1. Note que sample_adaptive_offset_flag, sao_flag_cb, e sao_flag_cr não são descritos aqui em particular.
[000197] sao_type_idx na décima oitava fila se refere a um tipo de offset. copy_flag na vigésima fila especifica se ou não copiar sao_type_idx (tipo) e sao_offset (coeficiente) da LCU precedente. Quer dizer, copy_flag são dados de identificação identificando os parâmetros (tipo e offset) de uma LCU precedente na qual filtragem de offset adaptável foi executada pela LCU atual sendo processada como sendo igual aos parâmetros da LCU atual. Em outras palavras, além disso, copy_flag são dados de identificação identificando se usar os parâmetros da LCU precedente como os parâmetros da LCU atual. Em outras palavras, além disso, copy_flag são dados de identificação identificando se usar uma cópia dos parâmetros da LCU precedente como os parâmetros da LCU atual.
[000198] copy_idx na vigésima segunda fila se refere a sao_type_idx (tipo) e sao_offset (coeficiente) prévios (processado) que são para serem copiados. Quer dizer, copy_idx são dados de identificação especificando a mesma LCU (a ser copiada) como a LCU atual em termos de parâmetros de dentro de LCUs prévias.
[000199] sao_offset na vigésima quinta fila se refere ao offset (coeficiente) de cada categoria.
Exemplo de índice de tipo
[000200] Figura 12 é um diagrama descrevendo sao_type_idx. No exemplo da Figura 12, sao_type_idx, NumSaoCategory e tipo de Borda ou Faixa são dados em sequência da esquerda à direita.
[000201] sao_type_idx é um índice indicando um tipo de filtro de offset adaptável. NumSaoCategory é informação indicando o número de categorias para o índice. Tipo de Borda ou Faixa é informação indicando a qual tipo de borda (ou faixa) o índice corresponde. Note que, aproximadamente, sao_type_idx é Offset de Borda (EO) quando o valor de sao_type_idx está na gama de 1 a 4, e sao_type_idx é Offset de Faixa (BO) quando o valor de sao_type_idx está na gama de 5 e 6.
[000202] Quer dizer, se o valor de sao_type_idx for 0, NumSaoCategoriy (o número de categorias) é 0 e um processo de offset adaptável não é executado.
[000203] Se o valor de sao_type_idx for 1, NumSaoCategoriy (o número de categorias) é 4 e o tipo de borda é a borda de 0 grau 1D ilustrada em parte A da Figura 7. Se o valor de sao_type_idx for 2, NumSaoCategoriy (o número de categorias) é 4 e o tipo de borda é a borda de 90 graus 1D ilustrada em parte B da Figura 7. Se o valor de sao_type_idx for 3, NumSaoCategoriy (o número de categorias) é 4 e o tipo de borda é a borda de 135 graus 1D ilustrada em parte C da Figura 7. Se o valor de sao_type_idx for 4, NumSaoCategoriy (o número de categorias) é 4 e o tipo de borda é a borda de 45 graus 1D ilustrada em parte D da Figura 7.
[000204] Se o valor de sao_type_idx for 5, NumSaoCategoriy (o número de categorias) é 16 e o tipo de faixa é Faixa de Centro (o primeiro grupo na Figura 6). Se o valor de sao_type_idx for 6, NumSaoCategoriy (o número de categorias) é 16 e o tipo de faixa é Faixa Lateral (o segundo grupo na Figura 6).
[000205] Note que enquanto padrões bidimensionais de offset de borda não são ilustrados no exemplo da Figura 7, um padrão bidimensional de offset de borda também pode ser operado aumentando o valor de sao_type_idx.
Configuração de exemplo de filtro de offset adaptável
[000206] Figura 13 é um diagrama de bloco ilustrando uma configuração de exemplo do filtro de offset adaptável e da unidade de codificação sem perda no dispositivo de codificação de imagem da Figura 1.
[000207] No exemplo da Figura 13, o filtro de offset adaptável 41 está construído para incluir uma unidade de determinação de tipo e offset 211, uma unidade de processamento de offset 212, um buffer de imagem 213, uma unidade de leitura de coeficiente 214, e um buffer de offset 215. O filtro de offset adaptável 41 é construído para Adicionalmente incluir uma unidade de fixação de parâmetro 216 e uma unidade de escrita de coeficiente 217.
[000208] A unidade de codificação sem perda 26 é construída para incluir pelo menos uma unidade de escrita de sintaxe 221.
[000209] Um valor de pixel desbloqueado enviado do filtro de deblocagem 31 é entrado à unidade de determinação de tipo e offset 211 e à unidade de processamento de offset 212. A unidade de determinação de tipo e offset 211 determina um tipo de filtro de offset adaptável e o offset do tipo em unidades de uma LCU. Neste caso, por meio de exemplo, uma função de custo é computada em unidades de uma LCU, e o tipo e offset que são ótimos para cada LCU, onde a função de custo é mínima, são determinados. A unidade de determinação de tipo e offset 211 provê um índice de tipo (sao_type_idx) indicando o tipo e o offset (sao_offset) determinados para a unidade de processamento de offset 212 e a unidade de leitura de coeficiente 214.
[000210] Note que o offset (coeficiente) é um coeficiente de 5 para offset de borda, e um coeficiente de 9 para offset de faixa.
[000211] A unidade de processamento de offset 212 executa um processo de filtro de offset adaptável em valores de pixel desbloqueado enviados do filtro de deblocagem 31, para cada LCU usando o tipo e offset indicados pelo índice de tipo enviado da unidade de determinação de tipo e offset 211. A unidade de processamento de offset 212 provê os valores de pixel que foram sujeitos ao processo de offset à buffer de imagem 213.
[000212] O buffer de imagem 213 armazena temporariamente os valores de pixel que foram sujeitos ao processo de offset pela unidade de processamento de offset 212, e provê os valores de pixel para o filtro de malha adaptável 42 na temporização certa.
[000213] A unidade de leitura de coeficiente 214 pesquisa o buffer de offset 215 por um offset que casa com o offset enviado da unidade de determinação de tipo e offset 211. Note que a unidade de leitura de coeficiente 214 verifica o buffer do tipo (buffer de offset de borda ou buffer de offset de faixa) indicado pelo índice de tipo enviado do buffer de offset 215.
[000214] Se houver qualquer coeficiente de casamento, a unidade de leitura de coeficiente 214 provê um índice de cópia (copy_idx) indicando a posição à qual o coeficiente de casamento está armazenado no buffer de offset 215 para a unidade de fixação de parâmetro 216 junto com o índice de tipo. Se não houver nenhum coeficiente de casamento, a unidade de leitura de coeficiente 214 provê o offset e o índice de tipo à unidade de fixação de parâmetro 216.
[000215] O buffer de offset 215 tem um buffer para armazenar offsets para offset de borda, e um buffer para armazenar offsets para offset de faixa. O buffer de offset 215 é construída, por exemplo, em um FIFO.
[000216] Se o índice de cópia for provido junto com o índice de tipo, a unidade de fixação de parâmetro 216 fixa o indicador de cópia (copy_flag) para verdadeira. A unidade de fixação de parâmetro 216 provê o indicador de cópia, o índice de tipo, e o índice de cópia à unidade de escrita de sintaxe 221 como parâmetros de offset adaptáveis.
[000217] Se o índice de cópia for provido à unidade de fixação de parâmetro 216 junto com o offset, a unidade de fixação de parâmetro 216 fixa o indicador de cópia (copy_flag) a falsa. A unidade de fixação de parâmetro 216 provê o indicador de cópia, o índice de tipo, e o offset para a unidade de escrita de sintaxe 221 como parâmetros de offset adaptáveis. Neste caso, a unidade de fixação de parâmetro 216 também provê o índice de tipo e o offset para a unidade de escrita de coeficiente 217, e faz o offset a ser escrito a uma região disponível no buffer de offset 215.
[000218] A unidade de escrita de coeficiente 217 escreve o offset enviado da unidade de fixação de parâmetro 216 a uma região disponível que está perto do começo entre regiões disponíveis no buffer do tipo indicado pelo índice de tipo enviado da unidade de fixação de parâmetro 216 dentro do buffer de offset 215. Note que a região disponível que está perto do começo é uma região disponível tendo o índice mais baixo.
[000219] A unidade de escrita de sintaxe 221 escreve os parâmetros de offset adaptáveis enviados da unidade de fixação de parâmetro 216 à parte de cabeçalho (sao_param) do fluxo codificado em unidades de uma LCU, como descrito acima com referência, por exemplo, à Figura 11.
Processo de filtro de offset adaptável em lado de codificador
[000220] A seguir, um processo de filtro de offset adaptável executado pelo filtro de offset adaptável 41 da Figura 13 será descrito com referência a um fluxograma da Figura 14. Note que este processo de filtro de offset adaptável é o processo na etapa S23 da Figura 2.
[000221] Um valor de pixel desbloqueado enviado do filtro de deblocagem 31 é entrado à unidade de determinação de tipo e offset 211 e à unidade de processamento de offset 212. Na etapa S211, a unidade de determinação de tipo e offset 211 determina um tipo de filtro de offset adaptável e o offset do tipo em unidades de uma LCU. A unidade de determinação de tipo e offset 211 provê um índice de tipo (sao_type_idx) indicando o tipo e o offset determinados (sao_offset) para a unidade de leitura de coeficiente 214.
[000222] A unidade de leitura de coeficiente 214 pesquisa o buffer de offset 215 por um offset que casa com o offset enviado da unidade de determinação de tipo e offset 211. Na etapa S212, a unidade de leitura de coeficiente 214 determina se ou não há um offset de casamento no buffer de offset 215. Note que a unidade de leitura de coeficiente 214 verifica o buffer do tipo (buffer de offset de borda ou buffer de offset de faixa) indicado pelo índice de tipo enviado do buffer de offset 215.
[000223] Se for determinado na etapa S212 que não há nenhum offset de casamento, a unidade de leitura de coeficiente 214 provê o offset e o índice de tipo à unidade de fixação de parâmetro 216.
[000224] Em resposta a isto, na etapa S213, a unidade de fixação de parâmetro 216 fixa o indicador de cópia (copy_flag) a falsa.
[000225] A unidade de fixação de parâmetro 216 também provê o índice de tipo e o offset para a unidade de escrita de coeficiente 217, e, na etapa S214, faz um processo de escrita de coeficiente (offset) ser executado. Este processo de escrita de coeficiente será descrito abaixo com referência à Figura 15.
[000226] Na etapa S217, a unidade de fixação de parâmetro 216 provê o indicador de cópia, o índice de tipo, e o offset para a unidade de escrita de sintaxe 221 como parâmetros de offset adaptáveis, e faz os parâmetros de offset adaptáveis serem codificados.
[000227] Em resposta a isto, na etapa S26 da Figura 2 descrita acima, a unidade de escrita de sintaxe 221 escreve os parâmetros de offset adaptáveis enviados da unidade de fixação de parâmetro 216 à parte de cabeçalho (sao_param) do fluxo codificado em unidades de uma LCU.
[000228] Por outro lado, se for determinado na etapa S212 que há um offset de casamento, o processo procede à etapa S215.
[000229] Na etapa S215, a unidade de leitura de coeficiente 214 fixa um índice de cópia (copy_idx) indicando a posição à qual o coeficiente de casamento está armazenado no buffer de offset 215, e provê o índice de cópia (copy_idx) para a unidade de fixação de parâmetro 216 junto com o índice de tipo.
[000230] Em resposta a isto, na etapa S216, a unidade de fixação de parâmetro 216 fixa o indicador de cópia (copy_flag) a verdadeira.
[000231] Então, a unidade de fixação de parâmetro 216 provê o indicador de cópia, o índice de tipo, e o índice de cópia à unidade de escrita de sintaxe 221 como parâmetros de offset adaptáveis, e faz os parâmetros de offset adaptáveis serem codificados.
[000232] Em resposta a isto, na etapa S26 da Figura 2 descrita acima, a unidade de escrita de sintaxe 221 escreve os parâmetros de offset adaptáveis enviados da unidade de fixação de parâmetro 216 à parte de cabeçalho (sao_param) do fluxo codificado em unidades de uma LCU.
[000233] Enquanto isso, o índice de tipo (sao_type_idx) e offset (sao_offset) determinados na etapa S211 também são providos à unidade de processamento de offset 212.
[000234] Na etapa S218, a unidade de processamento de offset 212 executa um processo de offset. Quer dizer, a unidade de processamento de offset 212 executa um processo de filtro de offset adaptável em valores de pixel desbloqueado enviados do filtro de deblocagem 31, para cada LCU usando o tipo e offset indicados pelo índice de tipo enviado da unidade de determinação de tipo e offset 211. Os valores de pixel que foram sujeitos ao filtro de offset adaptável são armazenados no buffer de imagem 213, e são providos ao filtro de malha adaptável 42 na temporização certa.
Processo de escrita de coeficiente
[000235] A seguir, o processo de escrita de coeficiente na etapa S214 da Figura 14 será descrito com referência a um fluxograma da Figura 15. Note que Figura 16 é referida à descrição do processo de escrita de coeficiente.
[000236] Como ilustrado na Figura 16, o buffer de offset 215 inclui duas buffers, quer dizer, um buffer de EA 215-1 na qual coeficientes para offset de borda são armazenados, e um buffer de A 215-2 na qual coeficientes para offset de faixa são armazenados.
[000237] O buffer de EA 215-1 e o buffer de BO 215-2 armazenam coeficientes, a partir da posição que está perto do começo (lado esquerdo). No buffer de EA 215-1 e no buffer de BA 215-2, uma posição marcada com índice de cópia (idx) é uma região onde um coeficiente já foi escrito, e uma posição marcada com "vazia" é uma região disponível.
[000238] Quer dizer, no buffer de EO 215-1, coeficientes já foram escritos à posição marcada com índice de cópia (idx) = 1, à posição marcada com índice de cópia = 2, à posição marcada com índice de cópia = 3, e à posição marcada com índice de cópia = 4.
[000239] Por exemplo, no buffer de BO 215-2, coeficientes já foram escritos à posição marcada com índice de cópia (idx) = 1 e à posição marcada com índice de cópia = 2.
[000240] Na etapa S231 da Figura 15, a unidade de escrita de coeficiente 217 determina se ou não o índice de tipo enviado da unidade de fixação de parâmetro 216 é EO (offset de borda).
[000241] Se for determinado na etapa S231 que o índice de tipo é EO (offset de borda), na etapa S232, a unidade de escrita de coeficiente 217 seleciona o buffer de EO 215-1.
[000242] Se for determinado na etapa S231 que o índice de tipo não é EO (offset de borda), quer dizer, o índice de tipo é offset de faixa, na etapa S233, a unidade de escrita de coeficiente 217 seleciona o buffer de BO 215-2.
[000243] Na etapa S234, a unidade de escrita de coeficiente 217 escreve sao_offset (offset) à região disponível que está perto do começo no buffer selecionada.
[000244] Por exemplo, como ilustrado na Figura 16, se o índice de tipo (sao_type_idx) for 5, o índice de tipo indica offset de faixa. Assim, na etapa S233, o buffer de BO 215-2 é selecionada. Então, na etapa S234, sao_offset (offset) com um índice de tipo de 5 é escrito à posição logo adjacente à posição marcada com índice de cópia = 2. Quer dizer, a posição logo adjacente à posição marcada com índice de cópia = 2 é a região que está perto do começo entre regiões disponíveis. Configuração de exemplo de filtro de offset adaptável
[000245] Figura 17 é um diagrama de bloco ilustrando uma configuração de exemplo da unidade de decodificação sem perda e do filtro de offset adaptável no dispositivo de decodificação de imagem da Figura 3.
[000246] No exemplo da Figura 17, a unidade de decodificação sem perda 62 é construída para incluir pelo menos uma unidade de leitura de sintaxe 251.
[000247] O filtro de offset adaptável 81 é construído para incluir uma unidade receptora de parâmetro 261, uma unidade de leitura de coeficiente 262, um buffer de offset 263, uma unidade de escrita de coeficiente 264, uma unidade de processamento de offset 265 e um buffer de imagem 266.
[000248] A unidade de leitura de sintaxe 251 lê sintaxe da porção de cabeçalho do fluxo codificado, e provê parâmetros de offset adaptáveis na sintaxe para a unidade receptora de parâmetro 261.
[000249] Note que, como também descrito acima com referência ao lado de codificador, se o indicador de cópia for verdadeira, os parâmetros de offset adaptáveis incluem um indicador de cópia, um índice de tipo, e um índice de cópia. Se o indicador de cópia for falsa, os parâmetros de offset adaptáveis incluem um indicador de cópia, um índice de tipo e um offset.
[000250] A unidade receptora de parâmetro 261 recebe parâmetros de offset adaptáveis providos da unidade de leitura de sintaxe 251, e provê os parâmetros de offset adaptáveis para a unidade de leitura de coeficiente 262.
[000251] A unidade de leitura de coeficiente 262 determina se ou não o índice de tipo é 0. Se o índice de tipo for 0, a unidade de leitura de coeficiente 262 não faz a unidade de processamento de offset 265 executar filtragem de offset adaptável.
[000252] Se o indicador de cópia for verdadeira, a unidade de leitura de coeficiente 262 lê o offset da posição indicada pelo índice de cópia do buffer do tipo indicado pelo índice de tipo. A unidade de leitura de coeficiente 262 provê o offset e índice de tipo lidos para a unidade de processamento de offset 265.
[000253] Se o indicador de cópia for falsa, a unidade de leitura de coeficiente 262 provê o offset e o índice de tipo à unidade de processamento de offset 265. Neste caso, a unidade de leitura de coeficiente 262 também provê o offset e o índice de tipo à unidade de escrita de coeficiente 264, e faz o offset ser escrito à buffer de offset 263.
[000254] O buffer de offset 263 tem uma configuração semelhante àquela do buffer de offset 215 da Figura 13. Quer dizer, o buffer de offset 263 tem um buffer para armazenar offsets para offset de borda, e um buffer para armazenar offsets para offset de faixa. O buffer de offset 263 é construída, por exemplo, em um FIFO.
[000255] A unidade de escrita de coeficiente 264 tem uma configuração basicamente semelhante àquela da unidade de escrita de coeficiente 217 da Figura 13. Quer dizer, a unidade de escrita de coeficiente 264 escreve o offset enviado da unidade de leitura de coeficiente 262 a uma região disponível que está perto do começo entre regiões disponíveis no buffer do tipo indicado pelo índice de tipo enviado da unidade de leitura de coeficiente 262 dentro do buffer de offset 263.
[000256] A unidade de processamento de offset 265 tem uma configuração basicamente semelhante àquela da unidade de processamento de offset 212 da Figura 13. Quer dizer, a unidade de processamento de offset 265 executa um processo de filtro de offset adaptável em valores de pixel desbloqueado enviados do filtro de deblocagem 66, para cada LCU usando o tipo e offset indicados pelo índice de tipo enviado da unidade de leitura de coeficiente 262. A unidade de processamento de offset 265 provê os valores de pixel que foram sujeitos ao processo de offset à buffer de imagem 266.
[000257] Note que se o índice de tipo for 0, a unidade de processamento de offset 265 provê os pixels filtrados enviados do filtro de deblocagem 66 para o buffer de imagem 266 como eles estão. Quer dizer, neste caso, um processo de filtro de offset adaptável não é executado.
[000258] O buffer de imagem 266 tem uma configuração basicamente semelhante àquela da imagem buffer 213 da Figura 13. Quer dizer, o buffer de imagem 266 armazena temporariamente os valores de pixel que foram sujeitos ao processo de offset pela unidade de processamento de offset 265, e provê os valores de pixel para o filtro de malha adaptável 82 na temporização certa. Processo de filtro de offset adaptável em lado de decodificador
[000259] A seguir, o processo de filtro de offset adaptável executado pelo filtro de offset adaptável 81 da Figura 17 será descrito com referência a um fluxograma da Figura 18. Note que este processo de filtro de offset adaptável é o processo na etapa S59 da Figura 4.
[000260] Na etapa S52 da Figura 4, quando um fluxo codificado é para ser decodificado, a unidade de leitura de sintaxe 251 lê sintaxe da porção de cabeçalho do fluxo codificado, e provê parâmetros de offset adaptáveis na sintaxe para a unidade receptora de parâmetro 261.
[000261] Na etapa S251, a unidade receptora de parâmetro 261 recebe os parâmetros de offset adaptáveis providos da unidade de leitura de sintaxe 251, e provê os parâmetros de offset adaptáveis para a unidade de leitura de coeficiente 262.
[000262] Na etapa S252, a unidade de leitura de coeficiente 262 determina se ou não o índice de tipo (sao_type_idx) é 0.
[000263] Se for determinado na etapa S252 que o índice de tipo é 0, o processo de filtro offset adaptável termina. Quer dizer, neste caso, um processo de filtro de offset adaptável não é executado, e a unidade de processamento de offset 265 provê os pixels filtrados enviados do filtro de deblocagem 66 para o buffer de imagem 266 como eles estão.
[000264] Se for determinado na etapa S252 que o índice de tipo não é 0, na etapa S253, a unidade de leitura de coeficiente 262 determina se ou não o indicador de cópia (copy_flag) é verdadeira.
[000265] Se for determinado na etapa S253 que o indicador de cópia é verdadeira, na etapa S254, a unidade de leitura de coeficiente 262 executa um processo de leitura de coeficiente (offset). Este processo de leitura de coeficiente será descrito abaixo com referência à Figura 19.
[000266] Pelo processo descrito acima, o offset é lido da posição indicada pelo índice de cópia do buffer do tipo indicado pelo índice de tipo. A unidade de leitura de coeficiente 262 provê o offset lido e o índice de tipo à unidade de processamento de offset 265.
[000267] Por outro lado, se for determinado na etapa S253 que o indicador de cópia não é verdadeira, a unidade de leitura de coeficiente 262 provê o offset e índice de tipo enviados da unidade receptora de parâmetro 261 para a unidade de processamento de offset 265.
[000268] Então, na etapa S255, a unidade de leitura de coeficiente 262 também provê o offset e índice de tipo enviados da unidade receptora de parâmetro 261 para a unidade de escrita de coeficiente 264, e faz um processo de escrita de coeficiente para o buffer de offset 263 ser executado. Este processo de escrita de coeficiente é basicamente o mesmo processo como o processo de escrita de coeficiente descrito acima com referência à Figura 15, e uma descrição disso é assim omitida.
[000269] Na etapa S256, a unidade de processamento de offset 265 executa um processo de filtro de offset adaptável em valores de pixel desbloqueado enviados do filtro de deblocagem 66, para cada LCU usando o tipo e offset indicados pelo índice de tipo enviado da unidade de leitura de coeficiente 262. A unidade de processamento de offset 265 provê os valores de pixel que foram sujeitos ao processo de offset à buffer de imagem 266.
Processo de leitura de coeficiente
[000270] A seguir, o processo de leitura de coeficiente na etapa S254 da Figura 18 será descrito com referência a um fluxograma da Figura 19. Note que Figura 20 é referida para a descrição do processo de leitura de coeficiente.
[000271] Como ilustrado na Figura 20, o buffer de offset 263 inclui duas buffers, quer dizer, um buffer de EO 263-1 na qual coeficientes para offset de borda são armazenados, e um buffer de BO 263-2 na qual coeficientes para offset de faixa são armazenados.
[000272] O buffer de EO 263-1 e o buffer de BO 263-2 armazenam coeficientes, a partir da posição que está perto do começo (lado esquerdo). No buffer de EO 263-1 e no buffer de BO 263-2, uma posição marcada com índice de cópia (idx) é uma região onde um coeficiente já foi escrito, e as outras posições são regiões disponíveis.
[000273] Quer dizer, no buffer de EO 263-1, coeficientes já foram escritos à posição marcada com índice de cópia (idx) = 1, à posição marcada com índice de cópia = 2, à posição marcada com índice de cópia = 3, e à posição marcada com índice de cópia = 4.
[000274] Por exemplo, no buffer de BO 263-2, coeficientes já foram escritos à posição marcada com índice de cópia (idx) = 1, à posição marcada com índice de cópia = 2, à posição marcada com índice de cópia = 3, e à posição marcada com índice de cópia = 4.
[000275] Na etapa S271 da Figura 19, a unidade de leitura de coeficiente 262 determina se ou não o índice de tipo enviado da unidade receptora de parâmetro 261 é EO (offset de borda).
[000276] Se for determinado na etapa S271 que o índice de tipo é EO (offset de borda), na etapa S272, a unidade de leitura de coeficiente 262 seleciona o buffer de EO 263-1.
[000277] Se for determinado na etapa S271 que o índice de tipo não é EO (offset de borda), quer dizer, o índice de tipo é offset de faixa, na etapa S273, a unidade de leitura de coeficiente 262 seleciona o buffer de BO 263-2.
[000278] Na etapa S274, a unidade de leitura de coeficiente 262 lê sao_offset (offset) da posição indicada pelo índice de cópia (copy_idx) no buffer selecionada.
[000279] Por exemplo, como ilustrado na Figura 20, se o índice de tipo (sao_type_idx) for 5, o índice de tipo indica offset de faixa. Assim, na etapa S273, o buffer de BO 263-2 é selecionada. Então, na etapa S274, sao_offset (offset) é lido da posição marcada com índice de cópia = 3.
[000280] Como descrito acima, filtragem de offset adaptável é executada em unidades de uma LCU, que é a unidade de codificação maior e os parâmetros do filtro de offset adaptável que são transmitidos em um grupo no começo de uma quadro na técnica relacionada são enviados sequencialmente no começo de cada LCU. Assim, enquanto um buffer com uma capacidade correspondendo a um quadro é requerida na técnica relacionada, um buffer com uma capacidade reduzida correspondendo a uma LCU pode ser usada.
[000281] Além disso, o indicador de cópia e o índice de cópia são enviados ao lado de decodificador, e um coeficiente que já foi usado não é enviado, assim reduzindo o aumento no número de coeficientes enviados, que é causado enviando um coeficiente para cada LCU.
[000282] Adicionalmente, filtragem de offset adaptável e filtragem de malha adaptável podem ser executadas em unidades da mesma LCU. Por conseguinte, eficiência de processamento pode ser melhorada.
[000283] Além disso, uma região é dividida em unidades de uma LCU, assim aumentando flexibilidade em divisão, comparada àquela baseada em uma estrutura de 'quad-tree' na técnica relacionada. Filtragem de offset adaptável pode ser executada conforme as características de uma imagem de entrada.
[000284] Note que na descrição precedente, o buffer de offset 215 e o buffer de offset 263 são construídas em um FIFO, por meio de exemplo. Porém, um FIFO não é dado em um sentido limitante. Quer dizer, a configuração do buffer de offset 215 e do buffer de offset 263 pode ser qualquer outra configuração de buffer contanto que a mesma configuração seja usada no lado de codificador e no lado de decodificador.
[000285] No antecedente, o esquema de HEVC é usado basicamente como um esquema de codificação. Porém, a descrição presente não está limitada a isso, e qualquer outro esquema de codificação/esquema de decodificação incluindo pelo menos filtragem de offset adaptável como filtragem em malha pode ser aplicado. Note que a descrição presente pode ser aplicada a um dispositivo de codificação de imagem e um dispositivo de decodificação de imagem que são usados para receber informação de imagem (fluxo de bits) comprimida usando uma transformada ortogonal tal como um transformada de co-seno discreta e compensação de movimento, por exemplo, como o esquema de HEVC ou similar, por uma mídia de rede tal como difusão por satélite, televisão a cabo, a Internet, ou um telefone móvel. A descrição presente pode Adicionalmente ser aplicada a um dispositivo de codificação de imagem e um dispositivo de decodificação de imagem para uso em processamento em uma mídia de armazenamento tal como um disco óptico, um disco magnético e uma memória flash.
4. Segunda Concretização Aplicação à codificação de imagem de multivisão/decodificação de imagem de multivisão
[000286] A série de processos descrita acima pode ser aplicada à codificação de imagem de multivisão e decodificação de imagem de multivisão. Figura 21 ilustra um exemplo de um esquema de codificação de imagem de multivisão.
[000287] Como ilustrado na Figura 21, imagens de multivisão incluem imagens a uma pluralidade de visões, e uma imagem a uma certa da pluralidade de visões é designada como uma imagem de uma visão básica. As imagens diferentes de a imagem da visão básica são operadas como imagens de visões não básica.
[000288] Em um caso onde codificação de imagem de multivisão como na Figura 21 é executada, parâmetros de filtro de offset adaptável (um indicador de cópia, um índice de cópia, etc.) podem ser fixados em cada visão (a mesma visão). Além disso, em cada visão (visões diferentes), parâmetros de filtro de offset adaptável em outra visão também pode ser compartilhados.
[000289] Neste caso, parâmetros de filtro de offset adaptável fixados na visão básica são usados em pelo menos uma visão não básica. Alternativamente, por exemplo, parâmetros de filtro de offset adaptável fixados em uma visão não básica (view_id = i) são usados em pelo menos uma da visão básica e visão não básica (view_id = j).
[000290] Por conseguinte, eficiência de processamento pode ser melhorada. Dispositivo de codificação de imagem de multivisão
[000291] Figura 22 é um diagrama ilustrando um dispositivo de codificação de imagem de multivisão para executar a operação de codificação de imagem de multivisão descrita acima. Como ilustrado na Figura 22, um dispositivo de codificação de imagem de multivisão 600 inclui uma unidade de codificação 601, uma unidade de codificação 602 e uma unidade de multiplexação 603.
[000292] A unidade de codificação 601 codifica uma imagem de uma visão básica para gerar um fluxo de imagem de visão básica codificada. A unidade de codificação 602 codifica uma imagem de uma visão não básica para gerar um fluxo de imagem de visão não básica codificada. A unidade de multiplexação 603 multiplexa o fluxo de imagem de visão básica codificada gerada pela unidade de codificação 601 e o fluxo de imagem de visão não básica codificada gerada pela unidade de codificação 602 para gerar um fluxo de imagem de multivisão codificada.
[000293] O dispositivo de codificação de imagem 11 (Figura 1) pode ser usado para cada uma da unidade de codificação 601 e da unidade de codificação 602 do dispositivo de codificação de imagem de multivisão 600. Neste caso, o dispositivo de codificação de imagem de multivisão 600 fixa os parâmetros de filtro de offset adaptável pela unidade de codificação 601 e os parâmetros de filtro de offset adaptável pela unidade de codificação 602, e transmite os parâmetros de filtro de offset adaptável.
[000294] Note que, como descrito acima, parâmetros de filtro de offset adaptável fixados pela unidade de codificação 601 podem ser fixados para serem compartilhados e usados pela unidade de codificação 601 e a unidade de codificação 602, e podem ser transmitidos. Reciprocamente, parâmetros de filtro de offset adaptáveis fixados coletivamente pela unidade de codificação 602 podem ser fixados para serem compartilhados e usados pela unidade de codificação 601 e a unidade de codificação 602, e podem ser transmitidos. Dispositivo de decodificação de imagem de multivisão
[000295] Figura 23 é um diagrama ilustrando um dispositivo de decodificação de imagem de multivisão para executar a operação de decodificação de imagem de multivisão descrita acima. Como ilustrado na Figura 23, um dispositivo de decodificação de imagem de multivisão 610 inclui uma unidade de desmultiplexação 611, uma unidade de decodificação 612 e uma unidade de decodificação 613.
[000296] A unidade de desmultiplexação 611 desmultiplexa um fluxo de imagem de multivisão codificada no qual um fluxo de imagem de visão básica codificada e um fluxo de imagem de visão não básica codificada foram multiplexados, e extrai o fluxo de imagem de visão básica codificada e o fluxo de imagem de visão não básica codificada. A unidade de decodificação 612 decodifica o fluxo de imagem de visão básica codificada extraído pela unidade de desmultiplexação 611 para obter uma imagem de uma visão básica. A unidade de decodificação 613 decodifica o fluxo de imagem de visão não básica codificada extraído pela unidade de desmultiplexação 611 para obter uma imagem de uma visão não básica.
[000297] O dispositivo de decodificação de imagem 51 (Figura 3) pode ser usado para cada uma da unidade de decodificação 612 e da unidade de decodificação 613 do dispositivo de decodificação de imagem de multivisão 610. Neste caso, o dispositivo de decodificação de imagem de multivisão 610 executa processamento usando os parâmetros de filtro de offset adaptável fixados pela unidade de codificação 601 e decodificados pela unidade de decodificação 612 e os parâmetros de filtro de offset adaptável fixados pela unidade de codificação 602 e decodificados pela unidade de decodificação 613.
[000298] Note que, como descrito acima, em alguns casos, parâmetros de filtro de offset adaptável fixados pela unidade de codificação 601 (ou a unidade de codificação 602) podem ser fixados para serem compartilhados e usados pela unidade de codificação 601 e a unidade de codificação 602, e podem ser transmitidos. Em tais casos, no dispositivo de decodificação de imagem de multivisão 610, processamento é executado usando parâmetros de filtro de offset adaptável pela unidade de codificação 601 (ou a unidade de codificação 602) e decodificados pela unidade de decodificação 612 (ou a unidade de decodificação 613).
5. Terceira Concretização Aplicação à codificação de imagem em camadas/decodificação de imagem em camadas
[000299] A série de processos descrita acima pode ser aplicada à codificação de imagem em camadas e decodificação de imagem em camadas. Figura 24 ilustra um exemplo de um esquema de codificação de imagem em camadas.
[000300] Como ilustrado na Figura 24, imagens em camadas incluem imagens de uma pluralidade de camadas (resoluções), e uma imagem de uma certa da pluralidade de resoluções é designada como uma imagem de uma camada básica. As imagens diferentes de a imagem da camada básica são operadas como imagens de camadas não básica (também chamadas camadas de aprimoramento).
[000301] Em um caso onde codificação de imagem em camadas (capacidade de graduação espacial) como na Figura 24 é executada, parâmetros de filtro de offset adaptáveis podem ser fixados em cada camada (a mesma camada). Além disso, em cada camada (camadas diferentes), parâmetros de filtro de offset adaptável fixados em outra camada também podem ser compartilhados.
[000302] Neste caso, parâmetros de filtro de offset adaptável na camada básica são usados em pelo menos uma camada não básica. Por exemplo, alternativamente parâmetros de filtro de offset adaptável em uma camada não básica (layer_id = i) são usados em pelo menos um da camada básica e camada não básica (layer_id = j).
[000303] Por conseguinte, eficiência de processamento pode ser melhorada. Dispositivo de codificação de imagem em camadas
[000304] Figura 25 é um diagrama ilustrando um dispositivo de codificação de imagem em camadas para executar a operação de codificação de imagem em camadas descrita acima. Como ilustrado na Figura 25, um dispositivo de codificação de imagem em camadas 620 inclui uma unidade de codificação 621, uma unidade de codificação 622 e uma unidade de multiplexação 623.
[000305] A unidade de codificação 621 codifica uma imagem de uma camada básica para gerar um fluxo de imagem de camada básica codificada. A unidade de codificação 622 codifica uma imagem de uma camada não básica para gerar um fluxo de imagem de camada não básica codificada. A unidade de multiplexação 623 multiplexa o fluxo de imagem de camada básica codificada gerada pela unidade de codificação 621 e o fluxo de imagem de camada não básica codificado gerado pela unidade de codificação 622 para gerar um fluxo de imagem em camadas codificada.
[000306] O dispositivo de codificação de imagem 11 (Figura 1) pode ser usado para cada uma da unidade de codificação 621 e da unidade de codificação 622 do dispositivo de codificação de imagem em camadas 620. Neste caso, o dispositivo de codificação de imagem em camadas 620 fixa os parâmetros de filtro de offset adaptável fixados pela unidade de codificação 621 e os parâmetros de filtro de offset adaptável fixados pela unidade de codificação 602, e transmite os parâmetros de filtro de offset adaptáveis fixados.
[000307] Note que, como descrito acima, parâmetros filtro offset adaptável fixados pela unidade de codificação 621 podem ser fixados para serem compartilhados e usados pela unidade de codificação 621 e pela unidade de codificação 622, e podem ser transmitidos. Reciprocamente, parâmetros de filtro de offset adaptável fixados pela unidade de codificação 622 podem ser fixados para serem compartilhados e usados pela unidade de codificação 621 e a unidade de codificação 622, e podem ser transmitidos. Dispositivo de codificação de imagem em camadas
[000308] Figura 26 é um diagrama ilustrando um dispositivo de codificação de imagem em camadas para executar a operação de decodificação de imagem em camadas descrita acima. Como ilustrado na Figura 26, um dispositivo de codificação de imagem em camadas 630 inclui uma unidade de desmultiplexação 631, uma unidade de decodificação 632 e uma unidade de decodificação 633.
[000309] A unidade de desmultiplexação 631 desmultiplexa um fluxo de imagem em camadas codificado no qual um fluxo de imagem de camada básica codificado e um fluxo de imagem de camada não básica codificada foram multiplexados, e extrai o fluxo de imagem de camada básica codificada e o fluxo de imagem de camada não básica codificada. A unidade de decodificação 632 decodifica o fluxo de imagem de camada básica codificada extraído pela unidade de desmultiplexação 631 para obter uma imagem de uma camada básica. A unidade de decodificação 633 decodifica o fluxo de imagem de camada não básica codificada extraído pela unidade de desmultiplexação 631 para obter uma imagem de uma camada não básica.
[000310] O dispositivo de decodificação de imagem 51 (Figura 3) pode ser usado para cada uma da unidade de decodificação 632 e da unidade de decodificação 633 do dispositivo de codificação de imagem em camadas 630. Neste caso, o dispositivo de codificação de imagem em camadas 630 executa processamento usando os parâmetros de filtro de offset adaptável pela unidade de codificação 621 e decodificados pela unidade de decodificação 632 e os parâmetros de filtro de offset adaptável fixados pela unidade de codificação 622 e decodificados pela unidade de decodificação 633.
[000311] Note que, como descrito acima, em alguns casos, parâmetros de filtro de offset adaptável fixados pela unidade de codificação 621 (ou a unidade de codificação 622) podem ser fixados para serem compartilhados e usados pela unidade de codificação 621 e a unidade de codificação 622, e podem ser transmitidos. Neste caso, no dispositivo de decodificação de imagem em camadas 630, processamento é executado usando parâmetros de filtro de offset adaptável pela unidade de codificação 621 (ou a unidade de codificação 622) e decodificados pela unidade de decodificação 632 (ou a unidade de decodificação 633).
6. Quarta Concretização Configuração de exemplo de computador
[000312] A série de processos descrita acima pode ser executada através de hardware ou pode ser executada através de software. Se a série de processos for para ser executada através de software, um programa constituindo o software é instalado em um computador. Aqui, exemplos do computador incluem um computador incorporado em hardware dedicado, e um computador capaz de executar várias funções pela instalação de vários programas, por exemplo, um computador pessoal de propósito geral.
[000313] Figura 27 é um diagrama de bloco ilustrando uma configuração de exemplo de hardware de um computador que executa a série de processos descrita acima conforme um programa.
[000314] Em um computador 800, uma CPU (Unidade de Processamento Central) 801, uma ROM (Memória Só de Leitura) 802 e uma RAM (Memória de Acesso Aleatório) 803 estão conectadas entre si por um barramento 804.
[000315] Uma interface de entrada/saída 805 está Adicionalmente conectada ao barramento 804. Uma unidade de entrada 806, uma unidade de saída 807, uma unidade de armazenamento 808, uma unidade de comunicação 809 e uma unidade de disco 810 estão conectadas à interface de entrada/saída 805.
[000316] A unidade de entrada 806 inclui um teclado, um mouse, um microfone, e assim sucessivamente. A unidade de saída 807 inclui um visor, um alto-falante, e assim sucessivamente. A unidade de armazenamento 808 inclui um disco rígido, uma memória não volátil, e assim sucessivamente. A unidade de comunicação 809 inclui uma interface de rede e assim sucessivamente. A unidade de disco 810 aciona uma mídia removível 811 tal como um disco magnético, um disco óptico, um disco magneto-óptico, ou uma memória de semicondutor.
[000317] No computador tendo a configuração descrita acima, a CPU 801 carrega um programa armazenado, por exemplo, na unidade de armazenamento 808 na RAM 803 pela interface de entrada/saída 805 e o barramento 804, e executa o programa. Por conseguinte, a série de processos descrita acima é executada.
[000318] O programa executado pelo computador 800 (CPU 801) pode ser provido na forma de ser gravado na mídia removível 811, por exemplo, uma mídia de pacote. Além disso, o programa também pode ser provido por uma mídia de transmissão por fios ou sem fio tal como uma rede local, a Internet, ou difusão de satélite digital.
[000319] No computador, a mídia removível 811 é colocado na unidade de disco 810, por esse meio permitindo ao programa ser instalado na unidade de armazenamento 808 pela interface de entrada/saída 805. Além disso, o programa pode ser recebido pela unidade de comunicação 809 por uma mídia de transmissão por fios ou sem fio, e pode ser instalado na unidade de armazenamento 808. Alternativamente, o programa pode ser instalado com antecedência na ROM 802 ou na unidade de armazenamento 808.
[000320] Note que o programa que o computador executa pode ser um programa no qual operações de processamento são executadas de uma maneira em série de tempo na ordem declarada aqui, ou pode ser um programa no qual operações de processamento são executadas em paralelo ou na temporização necessária, tal como quando chamado.
[000321] Além disso, etapas descrevendo um programa armazenado em uma mídia de gravação, como usado aqui, incluem, certamente, operações de processamento executadas de uma maneira em série de tempo na ordem declarada, e operações de processamento executadas em paralelo ou individualmente, mas não necessariamente executadas de uma maneira em série de tempo.
[000322] Além disso, o termo "sistema", como usado aqui, se refere a um aparelho global incluindo uma pluralidade de dispositivos (aparelhos).
[000323] Além disso, uma configuração descrita acima como um único dispositivo (ou unidade de processamento) pode ser dividido em uma pluralidade de dispositivos (ou unidades de processamento). Reciprocamente, uma configuração descrita acima como uma pluralidade de dispositivos (ou unidades de processamento) pode ser combinado em um único dispositivo (ou unidade de processamento). Adicionalmente, certamente, uma configuração diferente daquela descrita acima pode ser adicionada à configuração de cada dispositivo (ou cada unidade de processamento). Além disso, parte da configuração de um certo dispositivo (ou unidade de processamento) pode ser incluída na configuração de outro dispositivo (ou outra unidade de processamento) se os dispositivos (ou unidades de processamento) tiverem substancialmente a mesma configuração e/ou operação em termos de um sistema inteiro. Em outras palavras, concretizações da tecnologia presente não estão limitadas às concretizações precedentes, e uma variedade de modificações pode ser feita sem partir da extensão da tecnologia presente.
[000324] O dispositivo de codificação de imagem e o dispositivo de decodificação de imagem de acordo com as concretizações precedentes podem ser aplicados a vários pedaços de equipamento eletrônico tais como um transmissor ou um receptor usados para entregar dados por difusão de satélite, difusão por fios tal como TV a cabo, ou a Internet ou usados para entregar dados para ou de terminais por comunicação celular, um aparelho de gravação para gravar imagens em mídias tais como um disco óptico, um disco magnético, e uma memória flash, e um aparelho reprodutor para reproduzir imagens de tais mídias de armazenamento. Quatro aplicações exemplares serão descritas doravante.
7. Aplicações exemplares Primeira aplicação exemplar: receptor de televisão
[000325] Figura 28 ilustra um exemplo de uma configuração esquemática de um aparelho de televisão ao qual as concretizações precedentes são aplicadas. Um aparelho de televisão 900 inclui uma antena 901, um sintonizador 902, um desmultiplexador 903, um decodificador 904, um unidade de processamento de sinal de vídeo 905, uma unidade de exibição 906, uma unidade de processamento de sinal de áudio 907, um alto-falante 908, uma interface externa 909, uma unidade de controle 910, uma interface de usuário 911 e um barramento 912.
[000326] O sintonizador 902 extrai um sinal em um canal desejado de um sinal difundido recebido pela antena 901, e demodula o sinal extraído. Então, o sintonizador 902 produz um fluxo de bits codificado obtido por demodulação ao desmultiplexador 903. Em outras palavras, o sintonizador 902 funciona como uma mídia de transmissão no aparelho de televisão 900 para receber um fluxo codificado incluindo imagens codificadas.
[000327] O desmultiplexador 903 desmultiplexa, do fluxo de bits codificado, um fluxo de vídeo e um fluxo de áudio de um programa a ser visto, e produz os fluxos desmultiplexados para o decodificador 904. Adicionalmente, o desmultiplexador 903 extrai dados auxiliares tal como EPG (Guia de Programa Eletrônico) do fluxo de bits codificado, e provê os dados extraídos para a unidade de controle 910. Note que o desmultiplexador 903 também pode desembaralhar o fluxo de bits codificado se o fluxo de bits codificado foi embaralhado.
[000328] O decodificador 904 decodifica o fluxo de vídeo e fluxo de áudio entrados do desmultiplexador 903. Então, o decodificador 904 produz dados de vídeo obtidos por um processo de decodificação à unidade de processamento de sinal de vídeo 905. O decodificador 904 Adicionalmente produz dados de áudio gerados por um processo de decodificação à unidade de processamento de sinal de áudio 907.
[000329] A unidade de processamento de sinal de vídeo 905 reproduz os dados de vídeo entrados do decodificador 904, e faz vídeo ser exibido na unidade de exibição 906. A unidade de processamento de sinal de vídeo 905 também pode fazer uma tela de aplicativo provida por uma rede ser exibida na unidade de exibição 906. A unidade de processamento de sinal de vídeo 905 pode Adicionalmente executar processamento adicional, tal como remoção de ruído, nos dados de vídeo conforme as colocações. Além disso, a unidade de processamento de sinal de vídeo 905 também pode gerar uma imagem de GUI (Interface Gráfica de Usuário) tal como um menu, um botão, ou um cursor, e sobrepor a imagem gerada sobre uma imagem de saída.
[000330] A unidade de exibição 906 é acionada por um sinal de acionamento provido da unidade de processamento de sinal de vídeo 905, e exibe vídeo ou uma imagem sobre uma superfície de vídeo de um dispositivo de exibição (tal como um visor de cristal líquido, uma visor de plasma, ou um OELD (Visor Eletroluminescente Orgânico) (Visor EL orgânico)).
[000331] A unidade de processamento de sinal de áudio 907 executa um processo de reprodução incluindo conversão D/A, amplificação, e assim sucessivamente nos dados de áudio entrados do decodificador 904, e faz áudio ser produzido do alto-falante 908. A unidade de processamento de sinal de áudio 907 pode Adicionalmente executar processamento adicional, tal como remoção de ruído, nos dados de áudio.
[000332] A interface externa 909 é uma interface para conectar o aparelho de televisão 900 a um dispositivo externo ou uma rede. Por exemplo, um fluxo de vídeo ou fluxo de áudio recebido pela interface externa 909 pode ser decodificado pelo decodificador 904. Em outras palavras, a interface externa 909 também funciona como uma mídia de transmissão no aparelho de televisão 900 para receber um fluxo codificado incluindo imagens codificadas.
[000333] A unidade de controle 910 inclui um processador tal como uma CPU, e memórias tais como uma RAM e uma ROM. As memórias armazenam um programa a ser executado pela CPU, dados de programa, dados de EPG, dados adquiridos por uma rede, e assim sucessivamente. O programa armazenado nas memórias é lido e executado pela CPU quando, por exemplo, o aparelho de televisão 900 é iniciado. A CPU executa o programa para controlar a operação do aparelho de televisão 900 conforme, por exemplo, um sinal de operação entrado da interface de usuário 911.
[000334] A interface de usuário 911 está conectada à unidade de controle 910. A interface de usuário 911 inclui, por exemplo, botões e teclas para permitir ao usuário operar o aparelho de televisão 900, uma unidade de recepção para um sinal de controle remoto, e assim sucessivamente. A interface de usuário 911 detecta uma operação do usuário pelos componentes acima descritos para gerar um sinal de operação, e produz o sinal de operação gerado para a unidade de controle 910.
[000335] O barramento 912 serve para conectar o sintonizador 902, o desmultiplexador 903, o decodificador 904, a unidade de processamento de sinal de vídeo 905, a unidade de processamento de sinal de áudio 907, a interface externa 909 e a unidade de controle 910 entre si.
[000336] No aparelho de televisão 900 tendo a configuração descrita acima, o decodificador 904 tem a função do dispositivo de decodificação de imagem de acordo com as concretizações precedentes. Por conseguinte, eficiência de processamento pode ser melhorada quando o aparelho de televisão 900 decodifica uma imagem. Segunda aplicação exemplar: telefone móvel
[000337] Figura 29 ilustra um exemplo de uma configuração esquemática de um telefone móvel ao qual as concretizações precedentes são aplicadas. Um telefone móvel 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, uma unidade de processamento de imagem 927, uma unidade de multiplexação/desmultiplexação 928, uma unidade de gravação/reprodução 929, uma unidade de exibição 930, uma unidade de controle 931, uma unidade de operação 932 e um barramento 933.
[000338] A antena 921 está conectada à unidade de comunicação 922. O alto-falante 924 e o microfone 925 estão conectados ao codec de áudio 923. A unidade de operação 932 está conectada à unidade de controle 931. O barramento 933 serve para conectar a unidade de comunicação 922, o codec de áudio 923, a unidade de câmera 926, a unidade de processamento de imagem 927, a unidade de multiplexação/desmultiplexação 928, a unidade de gravação/reprodução 929, a unidade de exibição 930 e a unidade de controle 931 entre si.
[000339] O telefone móvel 920 executa operações, tais como transmitir e receber um sinal de áudio, transmitir e receber um correio eletrônico ou dados de imagem, capturar uma imagem, e gravar dados, em vários modos de operação incluindo um modo de chamada de voz, um modo de comunicação de dados, um modo de captura de imagem, e um modo de videofone.
[000340] No modo de chamada de voz, um sinal de áudio analógico gerado pelo microfone 925 é provido ao codec de áudio 923. O codec de áudio 923 converte o sinal de áudio analógico em dados de áudio, e executa conversão A/D e compressão nos dados de áudio convertidos. O codec de áudio 923 então produz os dados de áudio comprimidos para a unidade de comunicação 922. A unidade de comunicação 922 codifica e modula os dados de áudio, e gera um sinal de transmissão. A unidade de comunicação 922 então transmite o sinal de transmissão gerado para uma estação base (não ilustrada) pela antena 921. Adicionalmente, a unidade de comunicação 922 amplifica um sinal de rádio recebido pela antena 921, e executa conversão de frequência no sinal amplificado para adquirir um sinal de recepção. Então, a unidade de comunicação 922 demodula e decodifica o sinal de recepção para gerar dados de áudio, e produz os dados de áudio gerados para o codec de áudio 923. O codec de áudio 923 expande os dados de áudio, e executa conversão D/A para gerar um sinal de áudio analógico. O codec de áudio 923 então provê o sinal de áudio gerado para o alto-falante 924 para fazer áudio ser produzido.
[000341] Além disso, no modo de comunicação de dados, por exemplo, a unidade de controle 931 gera dados de texto que formam um correio eletrônico conforme uma operação do usuário pela unidade de operação 932. Adicionalmente, a unidade de controle 931 faz texto ser exibido na unidade de exibição 930. A unidade de controle 931 Adicionalmente gera dados de correio eletrônico conforme uma instrução de transmissão dada do usuário pela unidade de operação 932, e produz 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 de transmissão. Então, a unidade de comunicação 922 transmite o sinal de transmissão gerado à estação base (não ilustrada) pela antena 921. Adicionalmente, a unidade de comunicação 922 amplifica um sinal de rádio recebido pela antena 921, e executa conversão de frequência no sinal amplificado para adquirir um sinal de recepção. Então, a unidade de comunicação 922 demodula e decodifica o sinal de recepção para restaurar dados de correio eletrônico, e produz os dados de correio eletrônico restaurados para a unidade de controle 931. A unidade de controle 931 faz o conteúdo do correio eletrônico ser exibido na unidade de exibição 930, e também faz os dados de correio eletrônico serem armazenados em uma mídia de armazenamento da unidade de gravação/reprodução 929.
[000342] A unidade de gravação/reprodução 929 inclui uma mídia de armazenamento legível/gravável desejado. A mídia de armazenamento pode ser, por exemplo, uma mídia de armazenamento embutido tal como uma RAM ou uma memória flash, ou uma mídia de armazenamento externo tal como um disco rígido, um disco magnético, um disco magneto-óptico, um disco óptico, uma memória de USB (Mapa de Bits Espacial Não Alocado), ou um cartão de memória.
[000343] Além disso, no modo de captura de imagem, por exemplo, a unidade de câmera 926 captura uma imagem de um objeto para gerar dados de imagem, e produz os dados de imagem gerados para a unidade de processamento de imagem 927. A unidade de processamento de imagem 927 codifica os dados de imagem entrados da unidade de câmera 926, e faz um fluxo codificado ser armazenado na mídia de armazenamento da unidade de gravação/reprodução 929.
[000344] Além disso, no modo de videofone, por exemplo, a unidade de multiplexação/desmultiplexação 928 multiplexa o fluxo de vídeo codificado pela unidade de processamento de imagem 927 e o fluxo de áudio entrado do codec de áudio 923, e produz um fluxo multiplexado para a unidade de comunicação 922. A unidade de comunicação 922 codifica e modula o fluxo para gerar um sinal de transmissão. Então, a unidade de comunicação 922 transmite o sinal de transmissão gerado para uma estação base (não ilustrada) pela antena 921. Adicionalmente, a unidade de comunicação 922 amplifica um sinal de rádio recebido pela antena 921, e executa conversão de frequência no sinal amplificado para adquirir um sinal de recepção. O sinal de transmissão e o sinal de recepção podem incluir um fluxo de bits codificado. Então, a unidade de comunicação 922 demodula e decodifica o sinal de recepção para restaurar um fluxo, e produz o fluxo restaurado para a unidade de multiplexação/desmultiplexação 928. A unidade de multiplexação/desmultiplexação 928 desmultiplexa, do fluxo de entrada, um fluxo de vídeo e um fluxo de áudio, e produz o fluxo de vídeo e o fluxo de áudio para a unidade de processamento de imagem 927 e o codec de áudio 923, respectivamente. A unidade de processamento de imagem 927 decodifica o fluxo de vídeo para gerar dados de vídeo. Os dados de vídeo são providos à unidade de exibição 930, e uma série de imagens são exibidas pela unidade de exibição 930. O codec de áudio 923 amplifica o fluxo de áudio, e executa conversão D/A para gerar um sinal de áudio analógico. O codec de áudio 923 então provê o sinal de áudio gerado para o alto-falante 924 para fazer áudio ser produzido.
[000345] No telefone móvel 920 tendo a configuração descrita acima, a unidade de processamento de imagem 927 tem a função do dispositivo de codificação de imagem e do dispositivo de decodificação de imagem de acordo com as concretizações precedentes. Por conseguinte, eficiência de processamento pode ser melhorada quando o telefone móvel 920 codifica e decodifica uma imagem.
Terceira aplicação exemplar: aparelho de gravação/reprodução
[000346] Figura 30 ilustra um exemplo de uma configuração esquemática de um aparelho de gravação/reprodução ao qual as concretizações precedentes são aplicadas. Um aparelho de gravação/reprodução 940 codifica, por exemplo, dados de áudio e dados de vídeo de um programa difundido recebido, e grava os dados de áudio codificados e dados de vídeo em uma mídia de gravação. Além disso, o aparelho de gravação/reprodução 940 também pode codificar dados de áudio e dados de vídeo adquiridos de, por exemplo, outro aparelho, e gravar os dados de áudio codificados e dados de vídeo em uma mídia de gravação. Além disso, o aparelho de gravação/reprodução 940 reproduz dados gravados em uma mídia de gravação usando um monitor e um alto-falante conforme, por exemplo, uma instrução dada de um usuário. Neste caso, o aparelho de gravação/reprodução 940 decodifica dados de áudio e dados de vídeo.
[000347] O aparelho de gravação/reprodução 940 inclui um sintonizador 941, uma interface externa 942, um codificador 943, um HDD (Unidade de Disco Rígido) 944, uma unidade de disco 945, um seletor 946, um decodificador 947, uma OSD (Visor na Tela) 948, uma unidade de controle 949 e uma interface de usuário 950.
[000348] O sintonizador 941 extrai um sinal em um canal desejado de um sinal difundido recebido por uma antena (não ilustrada), e demodula o sinal extraído. O sintonizador 941 então produz um fluxo de bits codificado obtido por demodulação ao seletor 946. Em outras palavras, o sintonizador 941 funciona como uma mídia de transmissão no aparelho de gravação/reprodução 940.
[000349] A interface externa 942 é uma interface para conectar o aparelho de gravação/reprodução 940 a um dispositivo externo ou uma rede. A interface externa 942 pode ser, por exemplo, um interface de IEEE 1394, uma interface de rede, uma interface de USB, uma interface de memória flash, ou similar. Por exemplo, dados de vídeo e dados de áudio recebidos pela interface externa 942 são entrados ao codificador 943. Em outras palavras, a interface externa 942 funciona como uma mídia de transmissão no aparelho de gravação/reprodução 940.
[000350] O codificador 943 codifica dados de vídeo e dados de áudio entrados da interface externa 942 se os dados vídeos e dados de áudio não foram codificados. O codificador 943 então produz um fluxo de bits codificado para o seletor 946.
[000351] O HDD 944 grava um fluxo de bits codificado incluindo dados de conteúdo comprimidos tais como vídeo e áudio, vários programas, e outros dados em um disco rígido interno. Adicionalmente, o HDD 944 lê os dados descritos acima do disco rígido ao reproduzir vídeo e áudio.
[000352] A unidade de disco 945 grava e lê dados no e de uma mídia de gravação colocada nela. A mídia de gravação colocada na unidade de disco 945 pode ser, por exemplo, um disco de DVD (tal como DVD-Vídeo, DVD- RAM, DVD-R, DVD-RW, DVD+R, ou DVD+RW), um disco Blu-ray (marca registrada), ou similar.
[000353] O seletor 946 seleciona um fluxo de bits codificado entrado do sintonizador 941 ou do codificador 943 ao gravar vídeo e áudio, e produz o fluxo de bits codificado selecionado para o HDD 944 ou a unidade de disco 945. Ao reproduzir vídeo e áudio, o seletor 946 produz uma entrada de fluxo de bits codificada do HDD 944 ou da unidade de disco 945 para o decodificador 947.
[000354] O decodificador 947 decodifica o fluxo de bits codificado para gerar dados de vídeo e dados de áudio. O decodificador 947 então produz os dados de vídeo gerados para o OSD 948. O decodificador 904 Adicionalmente produz os dados de áudio gerados para um alto-falante externo.
[000355] O OSD 948 reproduz os dados de vídeo entrados do decodificador 947, e exibe vídeo. Além disso, o OSD 948 também pode sobrepor uma imagem de GUI tal como um menu, um botão, ou um cursor no vídeo a ser exibido.
[000356] A unidade de controle 949 inclui um processador tal como uma CPU, e memórias tais como uma RAM e uma ROM. As memórias armazenam um programa a ser executado pela CPU, dados de programa, e assim sucessivamente. O programa armazenado nas memórias é lido e executado pela CPU quando, por exemplo, o aparelho de gravação/reprodução 940 é iniciado. A CPU executa o programa para controlar a operação do aparelho de gravação/reprodução 940 conforme, por exemplo, uma sinal de operação entrado da interface de usuário 950.
[000357] A interface de usuário 950 está conectada à unidade de controle 949. A interface de usuário 950 inclui, por exemplo, botões e teclas para permitir ao usuário operar o aparelho de gravação/reprodução 940, uma unidade de recepção para um sinal de controle remoto, e assim sucessivamente. A interface de usuário 950 detecta uma operação do usuário pelos componentes acima descritos para gerar um sinal de operação, e produz o sinal de operação gerado para a unidade de controle 949.
[000358] No aparelho de gravação/reprodução 940 tendo a configuração descrita acima, o codificador 943 tem a função do dispositivo de codificação de imagem de acordo com as concretizações precedentes. Adicionalmente, o decodificador 947 tem a função do dispositivo de decodificação de imagem de acordo com as concretizações precedentes. Por conseguinte, eficiência de processamento pode ser melhorada quando o aparelho de gravação/reprodução 940 codifica e decodifica uma imagem.
Quarta aplicação exemplar: aparelho de formação de imagem
[000359] Figura 31 ilustra um exemplo de uma configuração esquemática de um aparelho de formação de imagem ao qual as concretizações precedentes são aplicadas. Um aparelho de formação de imagem 960 captura uma imagem de um objeto para gerar dados de imagem, codifica os dados de imagem, e grava os dados de imagem codificados em uma mídia de gravação.
[000360] O aparelho de formação de imagem 960 inclui um bloco óptico 961, uma unidade de formação de imagem 962, uma unidade de processamento de sinal 963, uma unidade de processamento de imagem 964, uma unidade de exibição 965, uma interface externa 966, uma memória 967, um unidade de mídia 968, uma OSD 969, uma unidade de controle 970, uma interface de usuário 971 e um barramento 972.
[000361] O bloco óptico 961 está conectado à unidade de formação de imagem 962. A unidade de formação de imagem 962 está conectada à unidade de processamento de sinal 963. A unidade de exibição 965 está conectada à unidade de processamento de imagem 964. A interface de usuário 971 está conectada à unidade de controle 970. O barramento 972 serve para conectar a unidade de processamento de imagem 964, a interface externa 966, a memória 967, o unidade de mídia 968, a OSD 969 e a unidade de controle 970 entre si.
[000362] O bloco óptico 961 inclui uma lente de foco, um mecanismo de abertura, e assim sucessivamente. O bloco óptico 961 forma uma imagem óptica do objeto sobre uma superfície de formação de imagem da unidade de formação de imagem 962. A unidade de formação de imagem 962 inclui um sensor de imagem tal como um CCD (Dispositivo Acoplado por Carga) ou sensor de imagem de CMOS (Semicondutor de Óxido de Metal Complementar), e converte a imagem óptica formada na superfície de formação de imagem em um sinal de imagem servindo como um sinal elétrico executando conversão fotoelétrica. A unidade de formação de imagem 962 então produz o sinal de imagem para a unidade de processamento de sinal 963.
[000363] A unidade de processamento de sinal 963 executa várias operações de processamento de sinal de câmera, tais como correção de joelho, correção de gama, e correção de cor, no sinal de imagem entrado da unidade de formação de imagem 962. A unidade de processamento de sinal 963 produz os dados de imagem sujeitos às operações de processamento de sinal de câmera à unidade de processamento de imagem 964.
[000364] A unidade de processamento de imagem 964 codifica os dados de imagem entrados da unidade de processamento de sinal 963 para gerar dados codificados. A unidade de processamento de imagem 964 então produz os dados codificados gerados para a interface externa 966 ou a unidade de mídia 968. Adicionalmente, a unidade de processamento de imagem 964 decodifica os dados codificados entrados da interface externa 966 ou do unidade de mídia 968 para gerar dados de imagem. A unidade de processamento de imagem 964 então produz os dados de imagem gerados para a unidade de exibição 965. Além disso, a unidade de processamento de imagem 964 também pode produzir os dados de imagem entrados da unidade de processamento de sinal 963 para a unidade de exibição 965 para fazer uma imagem ser exibida. Além disso, a unidade de processamento de imagem 964 também pode sobrepor dados de exibição adquiridos da OSD 969 na imagem a ser produzida à unidade de exibição 965.
[000365] A OSD 969 gera uma imagem de GUI tal como um menu, um botão, ou um cursor, e produz a imagem gerada para a unidade de processamento de imagem 964.
[000366] A interface externa 966 é formada como, por exemplo, um terminal de entrada/saída de USB. A interface externa 966 conecta, por exemplo, o aparelho de formação de imagem 960 a uma impressora ao imprimir uma imagem. Uma unidade de disco está conectada Adicionalmente à interface externa 966, se necessário. Uma mídia removível tal como um disco magnético ou um disco óptico é colocado na unidade de disco, e um programa lido da mídia removível pode ser instalado no aparelho de formação de imagem 960. Além disso, a interface externa 966 também pode ser formada como uma interface de rede a ser conectada a uma rede tal como uma LAN ou a Internet. Em outras palavras, a interface externa 966 funciona como uma mídia de transmissão no aparelho de formação de imagem 960.
[000367] A mídia de gravação a ser colocada na unidade de mídia 968 pode ser, por exemplo, qualquer mídia removível legível/gravável tal como um disco magnético, um disco magneto-óptico, um disco óptico, ou uma memória de semicondutor. Alternativamente, uma mídia de gravação pode ser colocado fixamente à unidade de mídia 968, e pode formar uma unidade de disco rígido embutida ou uma unidade de armazenamento não portátil tal como uma SSD (Unidade de Estado de Sólido).
[000368] A unidade de controle 970 inclui um processador tal como uma CPU, e memórias tais como uma RAM e uma ROM. As memórias armazenam um programa a ser executado pela CPU, dados de programa, e assim sucessivamente. O programa armazenado nas memórias é lido e executado pela CPU quando, por exemplo, o aparelho de formação de imagem 960 é iniciado. A CPU executa o programa para controlar a operação do aparelho de formação de imagem 960 conforme, por exemplo, um sinal de operação entrado da interface de usuário 971.
[000369] A interface de usuário 971 está conectada à unidade de controle 970. Por exemplo, a interface de usuário 971 inclui botões, teclas, e assim sucessivamente para permitir ao usuário operar o aparelho de formação de imagem 960. A interface de usuário 971 detecta uma operação do usuário pelos componentes acima descritos para gerar um sinal de operação, e produz o sinal de operação gerado para a unidade de controle 970.
[000370] No aparelho de formação de imagem 960 tendo a configuração descrita acima, a unidade de processamento de imagem 964 tem a função do dispositivo de codificação de imagem e do dispositivo de decodificação de imagem de acordo com as concretizações precedentes. Por conseguinte, eficiência de processamento pode ser melhorada quando o aparelho de formação de imagem 960 codifica e decodifica uma imagem.
8. Aplicações exemplares de Codificação Graduável Primeiro sistema
[000371] A seguir, um exemplo específico de uso de dados codificados graduáveis que foram codificados de modo graduável (codificados hierarquicamente) descritos acima com referência à Figura 24 à Figura 26 será descrito. Codificação graduável é usada, por exemplo, para a seleção de dados a serem transmitidos, tal como em um exemplo ilustrado na Figura 32.
[000372] Em um sistema de transmissão de dados 1000 ilustrado na Figura 32, um servidor de distribuição 1002 lê dados codificados graduáveis armazenados em uma unidade de memória de dados graduáveis codificados 1001, e distribui os dados codificados graduáveis a dispositivos terminais, tal como um computador pessoal 1004, um dispositivo de AV 1005, uma dispositivo de tablete 1006 e um telefone móvel 1007, por uma rede 1003.
[000373] Neste caso, o servidor de distribuição 1002 seleciona dados codificados tendo qualidade desejada conforme o desempenho do dispositivo terminal, o ambiente de comunicação, e similar, e transmite os dados codificados selecionados. Até mesmo se o servidor de distribuição 1002 transmitir dados tendo qualidade mais alta que necessário, o dispositivo terminal pode não ser capaz de sempre obter uma imagem de alta qualidade, e atraso ou transbordamento pode ser causado. Além disso, tais dados podem ocupar a largura de banda de comunicação mais que necessário, ou podem aumentar a carga no dispositivo terminal mais que necessário. Reciprocamente, até mesmo se o servidor de distribuição 1002 transmitir dados tendo qualidade mais baixa que necessário, o dispositivo terminal pode não ser capaz de obter uma imagem com uma qualidade suficiente. Assim, o servidor de distribuição 1002 lê os dados graduáveis codificados armazenados na unidade de memória de dados graduáveis codificados 1001, se necessário, como dados codificados tendo qualidade apropriada para o desempenho do dispositivo terminal, ambiente de comunicação, e similar, e transmite os dados codificados lidos.
[000374] Por exemplo, é assumido que a unidade de memória de dados graduáveis codificados 1001 armazena dados codificados graduáveis (BL+EL) 1011 que foram codificados de modo graduável. Os dados codificados graduáveis (BL+EL) 1011 são dados codificados incluindo uma camada básica e uma camada de aprimoramento, e são dados que são decodificados para obter ambas uma imagem da camada básica e uma imagem da camada de aprimoramento.
[000375] O servidor de distribuição 1002 seleciona uma camada apropriada conforme o desempenho de um dispositivo terminal que transmite dados, o ambiente de comunicação, e similar, e lê os dados da camada. Por exemplo, o servidor de distribuição 1002 lê dados codificados graduáveis de alta qualidade (BL+EL) 1011 da unidade de armazenamento de dados codificados graduáveis 1001, e transmite os dados codificados graduáveis lidos (BL+EL) 1011 para dispositivos tendo altas capacidades de processamento, isto é, o computador pessoal 1004 ou o dispositivo de tablete 1006, como estão. Em contraste, por exemplo, o servidor de distribuição 1002 extrai os dados da camada básica dos dados codificados graduáveis (BL+EL) 1011, e transmite os dados extraídos da camada básica para dispositivos tendo baixas capacidades de processamento, isto é, o dispositivo de AV 1005 e o telefone móvel 1007, como dados codificados graduáveis (BL) 1012 tendo o mesmo conteúdo como os dados codificados graduáveis (BL+EL) 1011, mas tendo qualidade mais baixa do que os dados codificados graduáveis (BL+EL) 1011.
[000376] O uso de dados codificados graduáveis desta maneira facilita o ajuste da quantidade de dados, por esse meio suprimindo a ocorrência de atraso ou transbordamento e suprimindo um aumento desnecessário na carga em um dispositivo terminal ou uma mídia de comunicação. Além disso, os dados codificados graduáveis (BL+EL) 1011 reduziram redundância entre camadas, e portanto têm uma quantidade menor de dados do que dados tendo dados codificados individualmente das camadas respectivas. Por conseguinte, a área de armazenamento da unidade de memória de dados codificados graduáveis 1001 pode ser utilizada mais eficientemente.
[000377] Note que desde que vários dispositivos tais como o computador pessoal 1004, o dispositivo de AV 1005, a dispositivo de tablete 1006, e o telefone móvel 1007 são aplicáveis como dispositivos terminais, o desempenho de hardware de dispositivos terminais difere de dispositivo para dispositivo. Além disso, desde que vários aplicativos podem ser executados através de dispositivos terminais, as capacidades de software dos aplicativos podem variar. Além disso, a rede 1003 servindo como uma mídia de comunicação pode ser implementada como qualquer rede de linha de comunicação que pode ser por fios, sem fio, ou ambos, tal como a Internet e uma LAN (Rede Local), e capacidades de transmissão de dados variam. Tal desempenho e capacidades podem variar dependendo de outra comunicação e similar.
[000378] Por conseguinte, antes do começo de transmissão de dados, o servidor de distribuição 1002 pode se comunicar com um dispositivo terminal para qual os dados são para serem transmitidos, e pode obter informação relativa às capacidades do dispositivo terminal, tal como o desempenho de hardware do dispositivo terminal ou o desempenho de aplicativo (software) executado pelo dispositivo terminal, e também informação relativa ao ambiente de comunicação, tal como a largura de banda disponível da rede 1003. Além disso, o servidor de distribuição 1002 pode selecionar uma camada apropriada na base da informação obtida.
[000379] Note que uma camada pode ser extraída por um dispositivo terminal. Por exemplo, o computador pessoal 1004 pode decodificar os dados codificados graduáveis transmitidos (BL+EL) 1011, e exibir uma imagem de uma camada básica ou uma imagem de uma camada de aprimoramento. Alternativamente, por exemplo, o computador pessoal 1004 pode extrair os dados codificados graduáveis (BL) 1012 da camada básica dos dados codificados graduáveis transmitidos (BL+EL) 1011, armazenar os dados codificados graduáveis extraídos (BL) 1012, transferir os dados codificados graduáveis extraídos (BL) 1012 para outro dispositivo, ou decodificar os dados codificados graduáveis extraídos (BL) 1012 para exibir uma imagem da camada básica.
[000380] Como de costume, o número de unidades de armazenamento de dados codificados graduáveis 1001, o número de servidores de distribuição 1002, o número de redes 1003, e o número de dispositivos terminais pode ser arbitrário. Além disso, enquanto uma descrição foi dada de um exemplo no qual o servidor de distribuição 1002 transmite dados para um dispositivo terminal, exemplos de uso não estão limitados a isso. O sistema de transmissão de dados 1000 pode ser usado em qualquer sistema que seleciona e transmite uma camada apropriada, ao transmitir dados codificados que foram codificados de modo graduável a um dispositivo terminal, conforme as capacidades do dispositivo terminal, o ambiente de comunicação, e similar.
[000381] Além disso, a tecnologia presente também pode ser aplicada ao sistema de transmissão de dados 1000 ilustrado na Figura 32 como descrito acima de um modo semelhante para aplicação à codificação hierárquica e decodificação hierárquica descrita acima com referência à Figura 24 à Figura 26, por esse meio alcançando vantagens semelhantes às vantagens descritas acima com referência à Figura 24 à Figura 26.
Segundo sistema
[000382] Codificação graduável também é usado, por exemplo, como em um exemplo ilustrado na Figura 33, para transmissão por uma pluralidade de mídias de comunicação.
[000383] Em um sistema de transmissão de dados 1100 ilustrado na Figura 33, uma estação de difusão 1101 transmite dados codificados graduáveis (BL) 1121 de uma camada básica por difusão terrestre 1111. A estação de difusão 1101 Adicionalmente transmite (por exemplo, empacota e transmite) dados codificados graduáveis (EL) 1122 de uma camada de aprimoramento por uma rede desejada 1112 formada de uma rede de comunicação que pode ser por fios, sem fio, ou ambos.
[000384] Um dispositivo terminal 1102 tem uma função para receber a difusão terrestre 1111 da estação de difusão 1101, e recebe os dados codificados graduáveis (BL) 1121 da camada básica transmitidos pela difusão terrestre 1111. O dispositivo terminal 1102 Adicionalmente tem uma função de comunicação para executar comunicação pela rede 1112, e recebe os dados codificados graduáveis (EL) 1122 da camada de aprimoramento transmitidos pela rede 1112.
[000385] O dispositivo terminal 1102 decodifica os dados codificados graduáveis (BL) 1121 da camada básica adquiridos pela difusão terrestre 1111 conforme, por exemplo, uma instrução de usuário ou similar para obter uma imagem da camada básica, armazena os dados codificados graduáveis (BL) 1121, ou transfere os dados codificados graduáveis (BL) 1121 para outro dispositivo.
[000386] Adicionalmente, o dispositivo terminal 1102 combina os dados codificados graduáveis (BL) 1121 da camada básica adquiridos pela difusão terrestre 1111 com os dados codificados graduáveis (EL) 1122 da camada de aprimoramento adquirida pela rede 1112 conforme, por exemplo, uma instrução de usuário ou similar para obter dados codificados graduáveis (BL+EL), e decodifica os dados codificados graduáveis (BL+EL) para obter uma imagem da camada de aprimoramento, armazena os dados codificados graduáveis (BL+EL), ou transfere os dados codificados graduáveis (BL+EL) para outro dispositivo.
[000387] Como descrito acima, dados codificados graduáveis podem ser transmitidos, por exemplo, por uma mídia de comunicação que é diferente de uma camada para outra. Assim, a carga pode ser distribuída, e atraso ou transbordamento pode ser suprimido de ocorrer.
[000388] Adicionalmente, uma mídia de comunicação a ser usado para transmissão pode ser feito selecionável para cada camada conforme a situação. Por exemplo, os dados codificados graduáveis (BL) 1121 da camada básica tendo uma quantidade relativamente grande de dados podem ser transmitidos por uma mídia de comunicação tendo uma grande largura de banda, e os dados codificados graduáveis (EL) 1122 da camada de aprimoramento tendo uma quantidade relativamente pequena de dados podem ser transmitidos por uma mídia de comunicação tendo uma largura de banda estreita. Alternativamente, por exemplo, a mídia de comunicação pelo qual os dados codificados graduáveis (EL) 1122 da camada de aprimoramento são para serem transmitidos pode ser trocado entre a rede 1112 e a difusão terrestre 1111 conforme a largura de banda disponível da rede 1112. Como de costume, o anterior semelhantemente se aplica a dados de uma camada arbitrária.
[000389] Controle da maneira descrita acima pode Adicionalmente suprimir um aumento na carga de transmissão de dados.
[000390] Como de costume, o número de camadas é arbitrário, e o número de mídias de comunicação a ser usado para transmissão também é arbitrário. Além disso, o número de dispositivos terminais 1102 aos quais dados são para serem distribuídos também é arbitrário. Além disso, enquanto uma descrição foi dada no contexto de difundir da estação de difusão 1101 por meio de exemplo, exemplos de uso não estão limitados a isso. O sistema de transmissão de dados 1100 pode ser aplicado a qualquer sistema que divide dados codificados que foram sujeitos à codificação graduável em uma pluralidade de segmentos em unidades de camadas e que transmite os segmentos de dados por uma pluralidade de linhas.
[000391] Além disso, a tecnologia presente também pode ser aplicada ao sistema de transmissão de dados 1100 ilustrado na Figura 33 como descrito acima de um modo semelhante para aplicação à codificação hierárquica e decodificação hierárquica descrita acima com referência à Figura 24 à Figura 26, por esse meio alcançando vantagens semelhantes às vantagens descritas acima com referência à Figura 24 à Figura 26.
Terceiro sistema
[000392] Codificação graduável também é usado para, por exemplo, como em um exemplo ilustrado na Figura 34, para o armazenamento de dados codificados.
[000393] Em um sistema de formação de imagem 1200 ilustrado na Figura 34, um aparelho de formação de imagem 1201 executa codificação graduável em dados de imagem obtidos capturando uma imagem de um objeto 1211, e provê os dados resultantes para um dispositivo de armazenamento de dados codificados graduáveis 1202 como dados codificados graduáveis (BL+EL) 1221.
[000394] O dispositivo de armazenamento de dados codificados graduáveis 1202 armazena os dados codificados graduáveis (BL+EL) 1221 providos do aparelho de formação de imagem 1201 na qualidade correspondendo à situação. Por exemplo, em tempo normal, o dispositivo de armazenamento de dados codificados graduáveis 1202 extrai dados de uma camada básica do dados codificados graduáveis (BL+EL) 1221, e armazena os dados extraídos da camada básica como dados codificados graduáveis (BL) 1222 da camada básica tendo uma baixa qualidade e uma quantidade pequena de dados. Em contraste, por exemplo, na hora de atenção, o dispositivo de armazenamento de dados codificados graduáveis 1202 armazena os dados codificados graduáveis (BL+EL) 1221 tendo ma qualidade alta e uma quantidade grande de dados, como estão.
[000395] Por conseguinte, o dispositivo de armazenamento de dados codificados graduáveis 1202 só pode salvar uma imagem à alta qualidade quando necessário. Isto pode suprimir um aumento na quantidade de dados enquanto suprimindo uma redução no valor da imagem devido a uma redução em qualidade, e pode melhorar eficiência de uso da área de armazenamento.
[000396] Por exemplo, é assumido que o aparelho de formação de imagem 1201 é uma câmera de segurança. Se um objeto sendo monitorado (por exemplo, intruso) não aparecer em uma imagem capturada (tempo normal), pode ser provável que a imagem capturada não tem conteúdo importante. Assim, uma redução na quantidade de dados é priorizada, e os dados de imagem (dados codificados graduáveis) da imagem são armazenados à baixa qualidade. Em contraste, se um objeto a ser monitorado aparecer como o objeto 1211 em uma imagem capturada (tempo de atenção), pode ser provável que a imagem capturada tenha conteúdo importante. Assim, qualidade de imagem é priorizada, e os dados de imagem (dados codificados graduáveis) da imagem são armazenados à alta qualidade.
[000397] Note que tanto o tempo normal ou o tempo de atenção pode ser determinado, por exemplo, pelo dispositivo de armazenamento de dados codificados graduáveis 1202 analisando uma imagem. Alternativamente, o aparelho de formação de imagem 1201 pode determinar o tempo normal ou o tempo de atenção, e pode transmitir o resultado de determinação ao dispositivo de armazenamento de dados codificados graduáveis 1202.
[000398] Note que a determinação tanto do tempo normal ou do tempo de atenção pode estar baseada em um padrão arbitrário, e uma imagem na qual a determinação é baseada pode ter qualquer conteúdo. Como de costume, condições diferentes de o conteúdo de uma imagem podem ser usadas como o padrão de determinação. O estado pode ser mudado conforme, por exemplo, a magnitude, forma de onda, ou similar de áudio gravado, ou pode ser mudado a intervalos de um período de tempo predeterminado. Alternativamente, o estado pode ser mudado conforme uma instrução externa tal como uma instrução de usuário.
[000399] Além disso, enquanto uma descrição foi dada de um exemplo de mudar entre dois estados, isto é, tempo normal e tempo de atenção, o número de estados é arbitrário, e a mudança de estado pode ser feita entre mais de dois estados, tais como tempo normal, tempo de menos atenção, tempo de atenção, e tempo altamente de atenção. Note que o número de limite superior de estados a serem mudados depende do número de camadas de dados codificados graduáveis.
[000400] Além disso, o aparelho de formação de imagem 1201 pode ser configurado para determinar o número de camadas de codificação graduável conforme o estado. Por exemplo, em tempo normal, o aparelho de formação de imagem 1201 pode gerar dados codificados graduáveis (BL) 1222 da camada básica tendo uma baixa qualidade e uma quantidade pequena de dados, e provar os dados graduáveis codificados gerados (BL) 1222 para o dispositivo de armazenamento de dados codificados graduáveis 1202. Adicionalmente, por exemplo, em tempo de atenção, o aparelho de formação de imagem 1201 pode gerar dados codificados graduáveis (BL+EL) 1221 da camada básica tendo uma qualidade alta e uma quantidade grande de dados, e provar os dados graduáveis codificados gerados (BL+EL) 1221 para o dispositivo de armazenamento de dados codificados graduáveis 1202.
[000401] Enquanto uma câmera de segurança foi descrita como um exemplo, o sistema de formação de imagem 1200 pode ser usado em qualquer aplicação, e a aplicação não está limitada a uma câmera de segurança.
[000402] Além disso, a tecnologia presente também pode ser aplicada ao sistema de formação de imagem 1200 ilustrado na Figura 34 como descrito acima de um modo semelhante para aplicação à codificação hierárquica e decodificação hierárquica descritas acima com referência à Figura 24 à Figura 26, por esse meio alcançando vantagens semelhantes às vantagens descritas acima com referência à Figura 24 à Figura 26.
[000403] Note que um exemplo no qual vários pedaços de informação tais como os parâmetros do filtro de offset adaptável são multiplexados em um fluxo codificado e são transmitidos do lado de codificador para o lado de decodificador foi descrito aqui. Porém, a técnica para transmitir tais pedaços de informação não está limitada a este exemplo. Por exemplo, estes pedaços de informação podem ser transmitidos ou gravados como dados separados associados com o fluxo de bits codificado sem serem multiplexados no fluxo de bits codificado. O termo "associar", como usado aqui, significa permitir uma imagem (que pode fazer parte de uma imagem, tal como um pedaço ou bloco) incluída em fluxo de bits ser ligada à informação correspondendo à imagem quando a imagem é decodificada. Quer dizer, a informação pode ser transmitida em um caminho de transmissão diferente daquele para a imagem (ou fluxo de bits). Adicionalmente, a informação pode ser gravada em uma mídia de gravação diferente daquele para a imagem (ou fluxo de bits) (ou gravada em uma área de gravação diferente da mesma mídia de gravação). Além disso, a informação e a imagem (ou fluxo de bits) podem ser associadas entre si em unidades arbitrárias tal como uma pluralidade de quadros, um quadro, ou uma porção em um quadro.
[000404] Enquanto concretizações preferidas da descrição presente foram descritas em detalhes com referência aos desenhos acompanhantes, a descrição presente não está limitada a tais exemplos. É aparente que qualquer pessoa tendo conhecimento ordinário no campo da técnica à qual a descrição presente pertence poderia alcançar várias mudanças ou modificações dentro da extensão da idéia técnica como definida nas REIVINDICAÇÕES, e é para ser entendido que tais mudanças ou modificações também podem cair dentro da extensão técnica da descrição presente.
[000405] Note que a tecnologia presente também pode prover as configurações seguintes.
[000406] (1) Um dispositivo de processamento de imagem incluindo: uma unidade de aquisição que adquire parâmetros de um filtro de offset adaptável em unidades de uma unidade de codificação maior de um fluxo codificado no qual os parâmetros do filtro de offset adaptável são fixados usando a unidade de codificação maior como uma unidade de transmissão; uma unidade de decodificação que executa um processo de decodificação no fluxo codificado e que gera uma imagem; e uma unidade de filtro de offset adaptável que executa filtragem de offset adaptável na imagem gerada pela unidade de decodificação, em unidades de uma unidade de codificação maior usando os parâmetros adquiridos pela unidade de aquisição.
[000407] (2) O dispositivo de processamento de imagem de acordo com (1) acima, em que: os parâmetros do filtro de offset adaptável incluem um tipo do filtro de offset adaptável e um valor de offset.
[000408] (3) O dispositivo de processamento de imagem de acordo com (1) ou (2) acima, Adicionalmente incluindo: uma unidade de filtro de deblocagem que executa filtragem de deblocagem na imagem gerada pela unidade de decodificação, em que a unidade de filtro de offset adaptável executa filtragem de offset adaptável em uma imagem na qual a unidade de filtro de deblocagem executou filtragem de deblocagem.
[000409] (4) O dispositivo de processamento de imagem de acordo com qualquer de (1) por (3) acima, em que: a unidade de aquisição adquire, do fluxo codificado, dados de identificação identificando um parâmetro de uma unidade de codificação maior prévia na qual filtragem de offset adaptável foi executada antes de uma unidade de codificação maior atual como sendo igual a um parâmetro da unidade de codificação maior atual, e a unidade de filtro de offset adaptável executa filtragem de offset adaptável na imagem gerada pela unidade de decodificação, em unidades de uma unidade de codificação maior usando os dados de identificação adquiridos pela unidade de aquisição.
[000410] (5) O dispositivo de processamento de imagem de acordo com qualquer de (1) por (3) acima, em que: a unidade de aquisição adquire, do fluxo codificado, dados de identificação identificando se ou não usar um parâmetro de uma unidade de codificação maior prévia na qual filtragem de offset adaptável foi executada antes de uma unidade de codificação maior atual, e a unidade de filtro de offset adaptável executa filtragem de offset adaptável na imagem gerada pela unidade de decodificação, em unidades de uma unidade de codificação maior usando os dados de identificação adquiridos pela unidade de aquisição.
[000411] (6) O dispositivo de processamento de imagem de acordo com qualquer de (1) por (3) acima, em que: a unidade de aquisição adquire, do fluxo codificado, dados de identificação identificando se ou não usar uma cópia de um parâmetro de uma unidade de codificação maior prévia na qual filtragem de offset adaptável foi executada por uma unidade de codificação maior atual, e a unidade de filtro de offset adaptável executa filtragem de offset adaptável na imagem gerada pela unidade de decodificação, em unidades de uma unidade de codificação maior usando os dados de identificação adquiridos pela unidade de aquisição.
[000412] (7) O dispositivo de processamento de imagem de acordo com qualquer de (1) por (3) acima, em que: a unidade de aquisição adquire, do fluxo codificado, dados de identificação especificando uma unidade de codificação maior que é idêntica a uma unidade de codificação maior atual em termos de um parâmetro, de dentro de unidades de codificação maiores prévias nas quais filtragem de offset adaptável foi executada antes da unidade de codificação maior atual, e a unidade de filtro de offset adaptável executa filtragem de offset adaptável na imagem gerada pela unidade de decodificação, em unidades de uma unidade de codificação maior usando os dados de identificação adquiridos pela unidade de aquisição.
[000413] (8) O dispositivo de processamento de imagem de acordo com qualquer de (1) por (7) acima, em que: os parâmetros do filtro de offset adaptável são transmitidos na temporização do começo de uma unidade de codificação maior.
[000414] (9) O dispositivo de processamento de imagem de acordo com qualquer de (1) por (8) acima, em que: a unidade de decodificação executa um processo de decodificação em unidades cada uma tendo uma estrutura hierárquica.
[000415] (10) Um método de processamento de imagem incluindo: adquirir parâmetros de um filtro de offset adaptável em unidades de uma unidade de codificação maior de um fluxo codificado no qual os parâmetros do filtro de offset adaptável são fixados usando a unidade de codificação maior como uma unidade de transmissão; executar um processo de decodificação no fluxo codificado para gerar uma imagem; e executar filtragem de offset adaptável na imagem gerada em unidades de uma unidade de codificação maior usando os parâmetros adquiridos, em que o método de processamento de imagem é executado por um dispositivo de processamento de imagem.
[000416] (11) Um dispositivo de processamento de imagem incluindo: uma unidade de fixação que fixa parâmetros de um filtro de offset adaptável usando uma unidade de codificação maior como uma unidade de transmissão; uma unidade de filtro de offset adaptável que executa filtragem de offset adaptável em uma imagem que foi sujeita a um processo de decodificação local em um caso onde uma imagem é codificada, em unidades de uma unidade de codificação maior usando os parâmetros fixados pela unidade de fixação; uma unidade de codificação que executa um processo de codificação em uma imagem na qual a unidade de filtro de offset adaptável executou filtragem de offset adaptável, e que gera um fluxo codificado usando a imagem; e uma unidade de transmissão que transmite os parâmetros fixados pela unidade de fixação e o fluxo codificado gerado pela unidade de codificação.
[000417] (12) O dispositivo de processamento de imagem de acordo com (11) acima, em que: os parâmetros do filtro de offset adaptável incluem um tipo do filtro de offset adaptável e um valor de offset.
[000418] (13) O dispositivo de processamento de imagem de acordo com (11) ou (12) acima, Adicionalmente incluindo: uma unidade de filtro de deblocagem que executa filtragem de deblocagem em uma imagem decodificada localmente, em que a unidade de filtro de offset adaptável executa filtragem de offset adaptável em uma imagem na qual a unidade de filtro de deblocagem executou filtragem de deblocagem.
[000419] (14) O dispositivo de processamento de imagem de acordo com qualquer de (11) por (13) acima, em que: a unidade de fixação fixa dados de identificação identificando um parâmetro de uma unidade de codificação maior prévia na qual filtragem de offset adaptável foi executada antes de uma unidade de codificação maior atual como sendo igual a um parâmetro da unidade de codificação maior atual, e a unidade de transmissão transmite os dados de identificação fixados pela unidade de fixação e o fluxo codificado gerado pela unidade de codificação.
[000420] (15) O dispositivo de processamento de imagem de acordo com qualquer de (11) por (13) acima, em que: a unidade de fixação fixa dados de identificação identificando se ou não usar um parâmetro de uma unidade de codificação maior prévia na qual filtragem de offset adaptável foi executada antes de uma unidade de codificação maior atual, e a unidade de transmissão transmite os dados de identificação fixados pela unidade de fixação e o fluxo codificado gerado pela unidade de codificação.
[000421] (16) O dispositivo de processamento de imagem de acordo com qualquer de (11) por (13) acima, em que: a unidade de fixação fixa dados de identificação identificando se ou não usar uma cópia de um parâmetro de uma unidade de codificação maior prévia na qual filtragem de offset adaptável foi executada antes de uma unidade de codificação maior atual, e a unidade de transmissão transmite os dados de identificação fixados pela unidade de fixação e o fluxo codificado gerado pela unidade de codificação.
[000422] (17) O dispositivo de processamento de imagem de acordo com qualquer de (11) por (13) acima, em que: a unidade de fixação fixa dados de identificação especificando uma unidade de codificação maior que é idêntica a uma unidade de codificação maior atual em termos de um parâmetro, de dentro de unidades de codificação maiores prévias nas quais filtragem de offset adaptável foi executada pela unidade de codificação maior atual, e a unidade de transmissão transmite os dados de identificação fixados pela unidade de fixação e o fluxo codificado gerado pela unidade de codificação.
[000423] (18) O dispositivo de processamento de imagem de acordo com qualquer de (11) por (17) acima, em que: a unidade de transmissão transmite os parâmetros do filtro de offset adaptável fixados pela unidade de fixação na temporização do começo de uma unidade de codificação maior.
[000424] (19) O dispositivo de processamento de imagem de acordo com qualquer de (11) por (18) acima, em que: a unidade de codificação executa um processo de codificação em unidades cada uma tendo uma estrutura hierárquica.
[000425] (20) Um método de processamento de imagem incluindo: fixar parâmetros de um filtro de offset adaptável usando uma unidade de codificação maior como uma unidade de transmissão; executar filtragem de offset adaptável em uma imagem que foi sujeita a um processo de decodificação local em um caso onde uma imagem é codificada, em unidades de uma unidade de codificação maior usando os parâmetros fixados; executar um processo de codificação em uma imagem na qual filtragem de offset adaptável foi executada, para gerar um fluxo codificado usando a imagem; e transmitir os parâmetros fixados e o fluxo codificado gerado, em que o método de processamento de imagem é executado por um dispositivo de processamento de imagem. Lista de Sinais de Referência
[000426] 11 - dispositivo de codificação de imagem, 26 - unidade de codificação sem perda, 31 - filtro de deblocagem, 41 - filtro de offset adaptável, 42 - filtro de malha adaptável, 51 - dispositivo de decodificação de imagem, 62 - unidade de decodificação sem perda, 66 - filtro de deblocagem, 81 - filtro de offset adaptável, 82 - filtro de malha adaptável, 211 - unidade de determinação tipo e offset, 212 - unidade de processamento de offset, 213 - buffer de imagem, 214 - unidade de leitura de coeficiente, 215 - buffer de offset, 215-1 buffer de EO, 215-2 - buffer de BO, 216 - unidade de fixação de parâmetro, 217 - unidade de escrita de coeficiente, 221 - unidade de escrita de sintaxe, 251 - unidade de leitura de sintaxe, 261 - unidade receptora de parâmetro, 262 - unidade de leitura de coeficiente, 263 - buffer de offset, 2631 - buffer de EO, 263-2 - buffer de BO, 264 - unidade de escrita de coeficiente, 265 - unidade de processamento de offset, 266 - buffer de imagem.

Claims (11)

1. Dispositivo de processamento de imagem, caracterizado pelo fato de que compreende: uma unidade de decodificação (62) que realiza um processo de decodificação em uma corrente codificada para gerar uma imagem, a corrente codificada sendo arranjada em unidades de codificação maiores, LCUs, em que parâmetros de um filtro de offset adaptável aplicáveis a cada LCU são lidos do começo da LCU correspondente; e uma unidade de filtro de offset adaptável (81) que executa filtragem de offset adaptável em porções da imagem que correspondem as LCUs usando os parâmetros do filtro de offset adaptável lidos do começo de cada respectiva unidade de codificação maior.
2. Dispositivo de processamento de imagem de acordo com a reivindicação 1, caracterizado pelo fato de que: os parâmetros de filtro do filtro de offset adaptável incluem um tipo do filtro de offset adaptável e um valor de offset.
3. Dispositivo de processamento de imagem de acordo com a reivindicação 1 ou 2, caracterizado pelo fato de compreender adicionalmente: uma unidade de filtro de deblocagem (66) para realizar filtragem de deblocagem na imagem gerada pela unidade de decodificação, em que a unidade de filtro de offset adaptável (81) executa filtragem de offset adaptável em uma imagem na qual a unidade de filtro de deblocagem executou filtragem de deblocagem.
4. Dispositivo de processamento de imagem de acordo com qualquer uma das reivindicações 1 a 3, caracterizado pelo fato de que: a unidade de filtro de offset adaptável (81) é configurada para executar filtragem de offset adaptável na imagem gerada pela unidade de decodificação em unidades de uma unidade de codificação maior usando dados de identificação identificando: i) um parâmetro de uma unidade de codificação maior prévia na qual filtragem de offset adaptável foi executada antes de uma unidade de codificação maior atual como sendo igual a um parâmetro da unidade de codificação maior atual, ii) se ou não usar um parâmetro de uma unidade de codificação maior prévia na qual filtragem de offset adaptável foi executada antes de uma unidade de codificação maior atual, or iii) se ou não usar uma cópia de um parâmetro de uma unidade de codificação maior prévia na qual filtragem de offset adaptável foi executada antes de uma unidade de codificação maior atual.
5. Dispositivo de processamento de imagem de acordo com qualquer uma das reivindicações 1 a 3, caracterizado pelo fato de que: a unidade de filtro de offset adaptável é configurada para executar filtragem de offset adaptável na imagem gerada pela unidade de decodificação em unidades de uma unidade de codificação maior usando dados de identificação especificando uma unidade de codificação maior que é idêntica a uma unidade de codificação maior atual em termos de um parâmetro, de dentro de unidades de codificação maiores prévias nas quais filtragem de offset adaptável foi executada antes da unidade de codificação maior atual.
6. Dispositivo de processamento de imagem de acordo com qualquer uma das reivindicações 1 a 5, caracterizado pelo fato de que: a unidade de decodificação (62) é configurada para executar um processo de decodificação em unidades cada uma tendo uma estrutura hierárquica.
7. Método de processamento de imagem, caracterizado pelo fato de que compreende: realizar um processo de decodificação numa corrente codificada para gerar uma imagem, dita corrente codificada sendo arranjada em unidades de codificação maiores, parâmetros de filtragem aplicáveis a cada unidade de codificação maior que são fixados em uma porção de começo dentro de cada unidade de codificação maior; e realizar, mediante um dispositivo de processamento de imagem, filtragem de offset adaptável em porções da imagem que correspondem àquelas unidades de codificação maiores usando os parâmetros de filtragem fixados nas porções de começo de cada unidade de codificação maior, incluindo, para uma unidade de codificação maior atual, em que realizar aquela filtragem de offset adaptável compreende adicionalmente determinar um tipo de filtro de offset adaptável (41) e um offset em unidades da unidade de codificação maior; determinar se há um offset correspondente armazenado num buffer de offset (215), um tipo de buffer sendo um buffer de offset de borda (215-1) ou um buffer de offset de banda (215-2) com base no tipo de filtro de offset adaptável; executar um processo de escrita de coeficiente em resposta a uma determinação de que não há offset correspondente armazenado no buffer de offset, em que realizar o processo de escrita de coeficiente inclui determinar se o índice de tipo é offset de borda ou offset de banda; selecionar o buffer determinado; e escrever o offset numa região disponível que fica mais próxima a um começo do buffer selecionado; fixar um índice de cópia indicativo de uma posição na qual um coeficiente correspondente é armazenado no buffer de offset em resposta a uma determinação de que há o offset correspondente armazenado no buffer de offset; escrever parâmetros de offset adaptáveis numa porção de cabeçalho da corrente codificada em unidades de uma unidade de codificação maior, os parâmetros de offset adaptáveis incluindo o tipo de buffer e o índice de cópia; e executar a filtragem de offset adaptável em valores de pixel desbloqueados para cada unidade de codificação maior usando o tipo de filtro de offset adaptável e o offset; quando um primeiro parâmetro de parâmetros de filtragem atuais fixados em uma porção de começo dentro da unidade de codificação maior atual indicar que uma configuração de filtro para a unidade de codificação maior atual é provida em uma unidade de codificação maior processada anteriormente que não precede imediatamente a unidade de codificação maior atual em tempo, selecionar a partir da memória uma configuração de filtro de uma pluralidade de configurações de filtro armazenadas para unidades de codificação maiores processadas anteriormente identificadas por um segundo parâmetro daqueles parâmetros de filtragem atuais como a configuração de filtro para a unidade de codificação maior atual, e quando o primeiro parâmetro dos parâmetros de filtragem atuais indicar que a configuração de filtro para a unidade de codificação maior atual é provida nos parâmetros de filtragem atuais, obter a partir dos parâmetros de filtragem atuais a configuração de filtro para a unidade de codificação maior atual.
8. Método, de acordo com a reivindicação 7, caracterizado pelo fato de que compreende ainda: armazenar, na memória, uma pluralidade de configurações de filtro usadas para realizar filtragem de offset adaptável em porções da imagem que correspondem a cada uma de uma pluralidade de unidades de codificação maiores.
9. Método, de acordo com a reivindicação 8, caracterizado pelo fato de que compreende ainda: identificar que o primeiro parâmetro dos parâmetros de filtragem atuais fixados na porção de começo no interior da unidade de codificação maior atual indica que a configuração de filtro para tal unidade de codificação maior atual é provida em uma daquelas unidades de codificação maiores processadas anteriormente que não precede imediatamente a unidade de codificação maior atual no tempo.
10. Método, de acordo com a reivindicação 9, caracterizado pelo fato de que compreende ainda: recuperar, da memória, a configuração de filtro da pluralidade de configurações de filtro armazenadas para aquelas unidades de codificação maiores processadas anteriormente identificadas pelo segundo parâmetro dos parâmetros de filtragem atuais como a configuração de filtro para a unidade de codificação maior atual.
11. Método, de acordo com a reivindicação 10, caracterizado pelo fato de que compreende ainda: realizar filtragem de offset adaptável em porções da imagem que correspondem à unidade de codificação maior atual com base na configuração de filtro recuperada.
BR112014016116-0A 2012-01-06 2012-12-21 Dispositivo e método de processamento de imagem BR112014016116B1 (pt)

Priority Applications (1)

Application Number Priority Date Filing Date Title
BR122015001060-8A BR122015001060B1 (pt) 2012-01-06 2012-12-21 Dispositivo e método de processamento de imagem

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
JP2012-001559 2012-01-06
JP2012001559 2012-01-06
JP2012-146416 2012-06-29
JP2012146416A JP2014197723A (ja) 2012-01-06 2012-06-29 画像処理装置および方法
PCT/JP2012/083285 WO2013103101A1 (ja) 2012-01-06 2012-12-21 画像処理装置および方法

Publications (3)

Publication Number Publication Date
BR112014016116A2 BR112014016116A2 (pt) 2017-06-13
BR112014016116A8 BR112014016116A8 (pt) 2017-07-04
BR112014016116B1 true BR112014016116B1 (pt) 2022-04-19

Family

ID=48745163

Family Applications (2)

Application Number Title Priority Date Filing Date
BR122015001060-8A BR122015001060B1 (pt) 2012-01-06 2012-12-21 Dispositivo e método de processamento de imagem
BR112014016116-0A BR112014016116B1 (pt) 2012-01-06 2012-12-21 Dispositivo e método de processamento de imagem

Family Applications Before (1)

Application Number Title Priority Date Filing Date
BR122015001060-8A BR122015001060B1 (pt) 2012-01-06 2012-12-21 Dispositivo e método de processamento de imagem

Country Status (14)

Country Link
US (3) US10567805B2 (pt)
EP (2) EP3595310B1 (pt)
JP (5) JP2014197723A (pt)
KR (2) KR102111175B1 (pt)
CN (2) CN104025597B (pt)
AU (1) AU2012364058B2 (pt)
BR (2) BR122015001060B1 (pt)
CA (2) CA3128226C (pt)
IN (1) IN2015DN02942A (pt)
MX (3) MX368338B (pt)
MY (2) MY193388A (pt)
RU (2) RU2600537C1 (pt)
TW (3) TWI592009B (pt)
WO (1) WO2013103101A1 (pt)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014197723A (ja) 2012-01-06 2014-10-16 ソニー株式会社 画像処理装置および方法
TWI618404B (zh) 2012-06-27 2018-03-11 Sony Corp Image processing device and method
US20140348222A1 (en) * 2013-05-23 2014-11-27 Mediatek Inc. Method of Sample Adaptive Offset Processing for Video Coding and Inter-Layer Scalable Coding
CN117640949A (zh) 2018-05-23 2024-03-01 松下电器(美国)知识产权公司 解码装置和编码装置
CN108765341B (zh) * 2018-05-29 2022-06-21 郑州云海信息技术有限公司 一种图像处理的方法及其装置
US10284432B1 (en) * 2018-07-03 2019-05-07 Kabushiki Kaisha Ubitus Method for enhancing quality of media transmitted via network
WO2020007489A1 (en) * 2018-07-06 2020-01-09 Huawei Technologies Co., Ltd. A picture encoder, a picture decoder and corresponding methods
CN112422969A (zh) * 2020-10-20 2021-02-26 西安万像电子科技有限公司 一种图像编解码方法及装置

Family Cites Families (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2003047262A2 (en) * 2001-11-29 2003-06-05 Matsushita Electric Industrial Co., Ltd. Coding distortion removal method and video encoding end decoding methods
US7751484B2 (en) * 2005-04-27 2010-07-06 Lsi Corporation Method for composite video artifacts reduction
CN100438629C (zh) * 2005-09-19 2008-11-26 华为技术有限公司 图像编码处理中的环路滤波方法
WO2009001793A1 (ja) * 2007-06-26 2008-12-31 Kabushiki Kaisha Toshiba 画像符号化と画像復号化の方法及び装置
TW200948092A (en) * 2008-03-07 2009-11-16 Toshiba Kk Dynamic image encoding/decoding method and device
US9143803B2 (en) * 2009-01-15 2015-09-22 Qualcomm Incorporated Filter prediction based on activity metrics in video coding
EP2262267A1 (en) * 2009-06-10 2010-12-15 Panasonic Corporation Filter coefficient coding scheme for video coding
KR20110017719A (ko) * 2009-08-14 2011-02-22 삼성전자주식회사 비디오 부호화 방법 및 장치, 비디오 복호화 방법 및 장치
JP5436695B2 (ja) * 2010-01-14 2014-03-05 ドルビー ラボラトリーズ ライセンシング コーポレイション ビデオ適応フィルタリングのための方法、システム、ビデオエンコーダ、ビデオデコーダ、コンピュータ装置、集積回路(ic)装置、及びコンピュータ読取可能な記録媒体
US8660174B2 (en) * 2010-06-15 2014-02-25 Mediatek Inc. Apparatus and method of adaptive offset for video coding
HUE047906T2 (hu) 2010-06-04 2020-05-28 Sony Corp QP és delta QP kódolása egy minimális méretnél nagyobb képblokkoknál
US9819966B2 (en) * 2010-09-01 2017-11-14 Qualcomm Incorporated Filter description signaling for multi-filter adaptive filtering
US20120134425A1 (en) * 2010-11-29 2012-05-31 Faouzi Kossentini Method and System for Adaptive Interpolation in Digital Video Coding
US9161041B2 (en) * 2011-01-09 2015-10-13 Mediatek Inc. Apparatus and method of efficient sample adaptive offset
US9001883B2 (en) * 2011-02-16 2015-04-07 Mediatek Inc Method and apparatus for slice common information sharing
WO2012117744A1 (en) * 2011-03-03 2012-09-07 Panasonic Corporation Method of encoding an image into a coded image, method of decoding a coded image, and apparatuses thereof
DK3220641T3 (en) * 2011-04-21 2019-03-25 Hfi Innovation Inc METHOD AND DEVICE FOR IMPROVED IN-LOOP FILTERING
US9008170B2 (en) * 2011-05-10 2015-04-14 Qualcomm Incorporated Offset type and coefficients signaling method for sample adaptive offset
EP2708027B1 (en) * 2011-05-10 2019-12-25 MediaTek Inc. Method and apparatus for reduction of in-loop filter buffer
US20120294353A1 (en) * 2011-05-16 2012-11-22 Mediatek Inc. Apparatus and Method of Sample Adaptive Offset for Luma and Chroma Components
US9277228B2 (en) * 2011-07-18 2016-03-01 Qualcomm Incorporated Adaptation parameter sets for video coding
US9641866B2 (en) * 2011-08-18 2017-05-02 Qualcomm Incorporated Applying partition-based filters
US10070152B2 (en) * 2011-08-24 2018-09-04 Texas Instruments Incorporated Sample adaptive offset (SAO) parameter signaling
US9344743B2 (en) * 2011-08-24 2016-05-17 Texas Instruments Incorporated Flexible region based sample adaptive offset (SAO) and adaptive loop filter (ALF)
EP2769550A4 (en) * 2011-10-14 2016-03-09 Mediatek Inc METHOD AND APPARATUS FOR LOOP FILTRATION
WO2013053324A1 (en) * 2011-10-14 2013-04-18 Mediatek Inc. Method and apparatus for loop filtering
US9386305B2 (en) * 2011-11-28 2016-07-05 Qualcomm Incorporated Largest coding unit (LCU) or partition-based syntax for adaptive loop filter and sample adaptive offset in video coding
MX354305B (es) * 2011-12-22 2018-02-23 Samsung Electronics Co Ltd Método de codificación usando ajuste de desplazamiento de acuerdo con clasificación de pixeles por unidades de codificación máximas y aparato del mismo, y método de decodificación de video y aparato del mismo.
JP2014197723A (ja) 2012-01-06 2014-10-16 ソニー株式会社 画像処理装置および方法
EP3442227B1 (en) * 2012-02-29 2020-04-22 LG Electronics Inc. Inter-layer prediction method and apparatus
JP5965958B2 (ja) 2014-10-21 2016-08-10 株式会社三共 遊技機および遊技枠

Also Published As

Publication number Publication date
KR20170128609A (ko) 2017-11-22
KR102117147B1 (ko) 2020-05-29
BR122015001060A2 (pt) 2019-08-20
US10567805B2 (en) 2020-02-18
JP6282237B2 (ja) 2018-02-21
MY168575A (en) 2018-11-14
CN104025597A (zh) 2014-09-03
JP2019198123A (ja) 2019-11-14
MX2014007974A (es) 2014-08-21
KR102111175B1 (ko) 2020-05-14
CA3128226C (en) 2023-01-17
US20200077121A1 (en) 2020-03-05
AU2012364058A1 (en) 2014-06-26
JP2014197723A (ja) 2014-10-16
JP2015122788A (ja) 2015-07-02
JP6282117B2 (ja) 2018-02-21
TWI629893B (zh) 2018-07-11
RU2015101983A (ru) 2015-05-10
RU2604339C2 (ru) 2016-12-10
JPWO2013103101A1 (ja) 2015-05-11
CA2857237A1 (en) 2013-07-11
CN104539964B (zh) 2018-08-21
US20230055659A1 (en) 2023-02-23
TW201724851A (zh) 2017-07-01
JP6624462B2 (ja) 2019-12-25
MY193388A (en) 2022-10-11
IN2015DN02942A (pt) 2015-09-18
US11601685B2 (en) 2023-03-07
BR112014016116A2 (pt) 2017-06-13
TWI536808B (zh) 2016-06-01
RU2600537C1 (ru) 2016-10-20
TWI592009B (zh) 2017-07-11
BR112014016116A8 (pt) 2017-07-04
US20140314159A1 (en) 2014-10-23
KR20140117367A (ko) 2014-10-07
EP2802145A4 (en) 2015-12-16
MX346508B (es) 2017-03-23
MX346282B (es) 2017-03-14
TW201342923A (zh) 2013-10-16
CN104025597B (zh) 2019-07-26
EP2802145B1 (en) 2019-11-27
EP2802145A1 (en) 2014-11-12
TW201635789A (zh) 2016-10-01
EP3595310A1 (en) 2020-01-15
JP2017127008A (ja) 2017-07-20
CA3128226A1 (en) 2013-07-11
MX368338B (es) 2019-09-30
CA2857237C (en) 2021-10-12
AU2012364058B2 (en) 2017-03-02
CN104539964A (zh) 2015-04-22
EP3595310B1 (en) 2021-07-28
WO2013103101A1 (ja) 2013-07-11
BR122015001060B1 (pt) 2022-04-26

Similar Documents

Publication Publication Date Title
US11601685B2 (en) Image processing device and method using adaptive offset filter in units of largest coding unit
BR112014020801B1 (pt) dispositivo e método de processamento de imagem, e, mídia de armazenamento legível por computador
BR112014032225B1 (pt) Dispositivo e método de processamento de imagem
BR112014024270B1 (pt) Dispositivo e método de decodificação
BR122014030189B1 (pt) Aparelho e método de processamento de imagem
BR112014024265B1 (pt) dispositivo e método para processamento de imagem, e, mídia de armazenamento legível por computador
AU2017201996B2 (en) Image Processing Device and Method
BR122015004025B1 (pt) dispositivo e método de processamento de imagem

Legal Events

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

Ipc: H04N 7/00 (2011.01)

B06F Objections, documents and/or translations needed after an examination request according [chapter 6.6 patent gazette]
B06U Preliminary requirement: requests with searches performed by other patent offices: procedure suspended [chapter 6.21 patent gazette]
B350 Update of information on the portal [chapter 15.35 patent gazette]
B15K Others concerning applications: alteration of classification

Free format text: A CLASSIFICACAO ANTERIOR ERA: H04N 7/00

Ipc: H04N 19/46 (2006.01), H04N 19/82 (2006.01), H04N 1

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 21/12/2012, OBSERVADAS AS CONDICOES LEGAIS.