BR112014031555B1 - Dispositivos e métodos de codificação de vídeo e de decodificação de vídeo - Google Patents

Dispositivos e métodos de codificação de vídeo e de decodificação de vídeo Download PDF

Info

Publication number
BR112014031555B1
BR112014031555B1 BR112014031555-8A BR112014031555A BR112014031555B1 BR 112014031555 B1 BR112014031555 B1 BR 112014031555B1 BR 112014031555 A BR112014031555 A BR 112014031555A BR 112014031555 B1 BR112014031555 B1 BR 112014031555B1
Authority
BR
Brazil
Prior art keywords
basic
hierarchical layer
frame
unit
video
Prior art date
Application number
BR112014031555-8A
Other languages
English (en)
Other versions
BR112014031555A2 (pt
Inventor
Yoshimi Moriya
Kazuo Sugimoto
Akira Minezawa
Shunichi Sekiguchi
Norimichi Hiwasa
Yusuke Itani
Ryoji Hattori
Original Assignee
Mitsubishi Electric 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 Mitsubishi Electric Corporation filed Critical Mitsubishi Electric Corporation
Publication of BR112014031555A2 publication Critical patent/BR112014031555A2/pt
Publication of BR112014031555B1 publication Critical patent/BR112014031555B1/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/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/91Entropy coding, e.g. variable length coding [VLC] or arithmetic coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/12Selection from among a plurality of transforms or standards, e.g. selection between discrete cosine transform [DCT] and sub-band transform or selection between H.263 and H.264
    • H04N19/122Selection of transform size, e.g. 8x8 or 2x4x8 DCT; Selection of sub-band transforms of varying structure or type
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/124Quantisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • 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/186Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a colour or a chrominance component
    • 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/188Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a video data packet, e.g. a network abstraction layer [NAL] unit
    • 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/1883Methods 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 relating to sub-band structure, e.g. hierarchical level, directional tree, e.g. low-high [LH], high-low [HL], high-high [HH]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/30Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
    • 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
    • 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
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/845Structuring of content, e.g. decomposing content into time segments
    • H04N21/8451Structuring of content, e.g. decomposing content into time segments using Advanced Video Coding [AVC]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/30Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
    • H04N19/31Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability in the temporal domain
    • 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/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/573Motion compensation with multiple frame prediction using two or more reference frames in a given prediction direction
    • 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/597Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding specially adapted for multi-view video sequence encoding
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • Discrete Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

DISPOSITIVOS E MÉTODOS DE CODIFICAÇÃO DE VÍDEO E DE DECODIFICAÇÃO DE VÍDEO. Houve um problema que desde que dados de vídeo sujeitos à codificação hierárquica em tempo devem incluir dados de vídeo em um quadro hierárquico básico e assim dados de vídeo que ao gerados codificando só quadros pertencendo a hierarquias de nível superior não podem ser gerados, o quadro hierárquico básico deve sempre ser incluído até mesmo quando só alguns quadros são processados, e assim os dados de vídeo que são gerados codificando só os quadros pertencendo às hierarquias de nível superior não podem ser processados independentemente. Esta invenção é provida com uma unidade de codificação de comprimento variável para codificar uma bandeira de presença/ausência de hierarquia básica indicando se a hierarquia básica está incluída ou não em uma sequência em uma base de sequência por sequência.

Description

Campo Técnico
[001] A presente invenção relaciona-se a um dispositivo de codificação de vídeo e um método de codificação de vídeo de codificar uma imagem em movimento com um alto grau de eficiência, e um dispositivo de decodificação de vídeo e um método de decodificação de vídeo de decodificar uma imagem em movimento codificada com um alto grau de eficiência.
Fundamento da Técnica
[002] Codificação graduável é uma tecnologia na qual uma imagem é codificada hierarquicamente, isto é, informação grossa por informação fina. Aqui, quando dados codificados de uma camada hierárquica básica configurada com a informação mais grossa são decodificados, um vídeo decodificado tendo a qualidade mais baixa é obtido; quando dados codificados da camada hierárquica básica e uma primeira camada hierárquica são decodificados, um vídeo decodificado tendo uma qualidade mediana é obtido; e, quando dados codificados de uma segunda camada hierárquica também são decodificados, um vídeo decodificado tendo uma qualidade alta é obtido. A codificação graduável é um método de codificação em que qualidade de um vídeo decodificado aumenta quando o número de camadas decodificadas hierárquicas aumenta.
[003] O SVC (veja Documento Não Patente 1) é um método de codificação graduável que foi padronizado como um método estendido do método de codificação de MPEG-4 AVC/H.264, e suporta capacidade de graduação temporal (doravante, chamada "codificação hierárquica temporal"), capacidade de graduação espacial e capacidade de graduação de SNR.
[004] A Figura 24 mostra um exemplo de dados de vídeo que estão codificados hierarquicamente em tempo. Na Figura 24, quadros indicados por setas mostram aqueles sendo referidos à codificação de predição interquadro. Um quadro (I0) a ser decodificado primeiro é um quadro que é predito usando só valores de pixel do quadro, e não se refere a outros quadros. Um quadro (P1) a ser decodificado a seguir gera uma imagem de predição se referindo ao quadro I0 já decodificado, e mostra que uma imagem de diferença contra a imagem de predição gerada está codificada. Um quadro (B2) a ser decodificado a seguir gera uma imagem de predição se referindo aos dois quadros já decodificados, isto é, quadro I0 e quadro P1, e mostra que uma imagem de diferença contra a imagem de predição gerada está codificada. E, o mesmo continua.
[005] Na Figura 24, se os quadros I0 e P1 forem chamados como quadros de camada hierárquicas básicas (T0), o quadro B2 como um primeiro quadro de camada hierárquica, os quadros B3 e B4 como segundos quadros de camada hierárquicas, e os quadros B5, B6, B7 e B8 como terceiros quadros de camada hierárquicas, o quadro de camada hierárquica básica é decodificado se referindo só a um quadro pertencendo à camada hierárquica de seu próprio quadro, o primeiro quadro de camada hierárquica é decodificado se referindo só a quadros pertencendo à camada hierárquica de seu próprio quadro e ao quadro de camada hierárquica básica, e o mesmo continua, isto é, decodificação é executada se referindo só a quadros pertencendo à camada hierárquica de seu próprio quadro e a quadros de camada hierárquica inferior.
[006] Enquanto todos os quadros em dados de vídeo podem ser decodificados decodificando quadros de todas as camadas hierárquicas, se o quadro pertencendo ao quadro de camada hierárquica básica só for decodificado, um oitavo do quadro inteiro é decodificado, e, se os quadros pertencendo à camada hierárquica básica e à primeira camada hierárquica forem decodificados, um quarto do quadro inteiro é decodificado. Quer dizer, codificação é executada de tal maneira que uma imagem se movendo mais fluentemente seja decodificada quando o número de camadas hierárquicas a ser decodificado é aumentado.
[007] Desde que os dados de vídeo que são codificados hierarquicamente em tempo como descrito acima são configurados de forma que parte de quadros disso possa ser extraída para ser decodificada, os dados de vídeo podem ser decodificados corretamente até mesmo se um dispositivo de decodificação não for compatível com codificação graduável.
[008] Codificando, em um conjunto de parâmetros de um cabeçalho superior adicionado ao topo de dados de vídeo, o número máximo de camadas hierárquicas quando os dados de vídeo são codificados hierarquicamente e uma bandeira mostrando se um quadro pertencendo a cada camada hierárquica usa ou não, como uma imagem de referência, um quadro pertencendo a camadas hierárquicas superiores, um dispositivo de decodificação compatível com codificação graduável pode determinar se os dados de vídeo estão configurados de uma maneira graduável ou não e quanta aspereza pode ser esperada em decodificação quando os dados estão configurados da maneira graduável.
[009] Por exemplo, no Documento Não Patente 2, um conjunto de parâmetros (conjunto de parâmetros de vídeo) para codificar o número máximo de camadas hierárquicas de dados de vídeo que são codificados hierarquicamente em tempo e uma bandeira que mostra uma relação de referência entre camadas hierárquicas, é codificado em um nível mais alto que um conjunto de parâmetros de um nível de sequência.
[0010] A Figura 25 é um diagrama de bloco mostrando uma configuração de um dispositivo de codificação de vídeo convencional para gerar dados de vídeo que estão codificados hierarquicamente em tempo.
[0011] Uma unidade de codificação de conjunto de parâmetros de vídeo 101 codifica o número máximo de camadas hierárquicas de dados de vídeo e uma bandeira que mostra se um quadro pertencendo a cada camada hierárquica usa ou não, como uma imagem de referência, um quadro pertencendo a camadas hierárquicas superiores.
[0012] Uma unidade codificação de conjunto de parâmetros de sequência 102 codifica um número de identificação mostrando qual conjunto de parâmetros de vídeo está referido por uma sequência e parâmetros (resolução de dados de vídeo, etc.) sobre uma sequência inteira dos dados de vídeo.
[0013] Uma unidade de codificação de quadro de camada hierárquica básica 103 codifica um número de identificação de um conjunto de parâmetros de sequência a ser referido e um quadro pertencendo a uma camada hierárquica básica.
[0014] Semelhante à unidade de codificação de quadro de camada hierárquica básica 103, uma unidade de codificação de quadro de camada hierárquica superior 104 codifica quadros pertencendo a camadas hierárquicas superiores.
Documentos da Técnica Anterior Documentos Não Patente
[0015] Documento Não Patente 1: "Overview of the scalable video coding extension of the H.264/AVC standard", 'IEEE Transactions on Circuits and Systems for Video Technology', Vol. 17, no. 9, setembro de 2007.
[0016] Documento Não Patente 2: "Parameter sets modifications for temporal scalability and extension hooks", Documento JCT-VC JCTVC- I0230, abril de 2012, Genebra, CH.
Sumário da Invenção Problema que a ser Resolvido pela Invenção
[0017] Desde que um dispositivo de codificação de vídeo convencional para gerar dados de vídeo codificados hierarquicamente em tempo está configurado como descrito acima, os dados de vídeo codificados hierarquicamente em tempo precisam incluir dados de vídeo de uma camada hierárquica básica, e dados de vídeo nos quais só um quadro pertencendo a uma camada hierárquica superior está codificado não podem ser gerados. Portanto, até mesmo em um caso no qual só uma parte de quadros é processada, um quadro de camada hierárquica básica precisa ser incluído, e assim, houve um problema que os dados de vídeo nos quais só o quadro pertencendo à camada hierárquica superior está codificado não podem ser processados separadamente.
[0018] A presente invenção foi feita a fim de resolver o problema descrito acima, e um objetivo dela é obter um dispositivo de codificação de vídeo, um dispositivo de decodificação de vídeo, um método de codificação de vídeo, e um método de decodificação de vídeo em que decodificação graduável pode ser executada em um dispositivo de decodificação até mesmo se um método de codificação hierárquica for empregado.
Meios para Resolver o Problema
[0019] Na presente invenção, uma unidade de codificação de comprimento variável está disposta que codifica, para cada sequência, uma bandeira de existência de camada hierárquica básica mostrando se uma camada hierárquica básica está incluída na sequência ou não.
Efeitos Vantajosos da Invenção
[0020] Conforme a presente invenção, desde que uma unidade de codificação de comprimento variável está disposta que codifica, para cada sequência, uma bandeira de existência de camada hierárquica básica mostrando se uma camada hierárquica básica está incluída na sequência ou não, um efeito vantajoso é obtido no qual processos para codificação e decodificação graduável podem ser executados.
Breve Descrição dos Desenhos
[0021] A Figura 1 é um diagrama de bloco mostrando um dispositivo de codificação de vídeo conforme a Modalidade 1 da presente invenção.
[0022] A Figura 2 é um desenho explicativo mostrando um exemplo de uma configuração de usar uma pluralidade de processos de filtragem de malha em uma unidade de filtro em malha do dispositivo de codificação de vídeo conforme a Modalidade 1 da presente invenção.
[0023] A Figura 3 é um desenho explicativo mostrando um exemplo de um fluxo de bits codificado na Modalidade 1 da presente invenção.
[0024] A Figura 4 é um desenho explicativo mostrando uma configuração de uma unidade de NAL na Modalidade 1 da presente invenção.
[0025] A Figura 5 é um fluxograma mostrando processamento (método de codificação de vídeo) executado pelo dispositivo de codificação de vídeo conforme a Modalidade 1 da presente invenção.
[0026] A Figura 6 é um diagrama de bloco mostrando um dispositivo de decodificação de vídeo conforme a Modalidade 1 da presente invenção.
[0027] A Figura 7 é um desenho explicativo mostrando um exemplo de uma configuração de usar uma pluralidade de processos de filtragem de malha em uma unidade de filtro em malha do dispositivo de decodificação de vídeo conforme a Modalidade 1 da presente invenção.
[0028] A Figura 8 é um fluxograma mostrando processamento (método de decodificação de vídeo) executado pelo dispositivo de decodificação de vídeo conforme a Modalidade 1 da presente invenção.
[0029] A Figura 9 é um desenho explicativo mostrando um exemplo no qual cada bloco de codificação maior está dividido hierarquicamente em uma pluralidade de blocos de codificação.
[0030] A Figura 10(a) é um desenho explicativo mostrando uma distribuição de blocos de codificação e blocos de predição depois de divisão, e Figura 10(b) é um desenho explicativo mostrando um estado no qual um modo de codificação m(Bn) é nomeado por divisão de camada hierárquica.
[0031] A Figura 11 é um desenho explicativo mostrando um exemplo de dados de vídeo codificados hierarquicamente em tempo na Modalidade 1 da presente invenção.
[0032] A Figura 12 é um desenho explicativo mostrando um exemplo de outro fluxo de bits codificado na Modalidade 1 da presente invenção.
[0033] A Figura 13 é um desenho explicativo mostrando outro exemplo de dados de vídeo codificados hierarquicamente em tempo na Modalidade 1 da presente invenção.
[0034] A Figura 14 é um desenho explicativo mostrando um exemplo de outro fluxo de bits codificado na Modalidade 1 da presente invenção.
[0035] A Figura 15 é um desenho explicativo mostrando outro exemplo de dados de vídeo codificados hierarquicamente em tempo na Modalidade 1 da presente invenção.
[0036] A Figura 16 é um desenho explicativo mostrando outro exemplo de dados de vídeo codificados hierarquicamente em tempo na Modalidade 1 da presente invenção.
[0037] A Figura 17 é um desenho explicativo mostrando outro exemplo de dados de vídeo codificados hierarquicamente em tempo na Modalidade 1 da presente invenção.
[0038] A Figura 18 é um desenho explicativo mostrando um exemplo de parâmetros de intrapredição (modos de intrapredição) que podem ser selecionados para cada bloco de predição Pin em um bloco de codificação Bn.
[0039] A Figura 19 é um desenho explicativo mostrando um exemplo de pixels que são usados ao gerar um valor predito de cada pixel em um bloco de predição Pin em um caso de lin = min = 4.
[0040] A Figura 20 é um desenho explicativo mostrando uma configuração de um dispositivo gerador de subfluxo de bit na Modalidade 2 da presente invenção.
[0041] A Figura 21 é um desenho explicativo mostrando um exemplo de um subfluxo de bit na Modalidade 2 da presente invenção.
[0042] A Figura 22 é um desenho explicativo mostrando um exemplo de outro subfluxo de bit na Modalidade 2 da presente invenção.
[0043] A Figura 23 é um desenho explicativo mostrando um exemplo de outro subfluxo de bit na Modalidade 2 da presente invenção.
[0044] A Figura 24 é um desenho explicativo mostrando um exemplo de dados de vídeo convencionais que estão codificados hierarquicamente em tempo.
[0045] A Figura 25 é um diagrama de bloco mostrando uma configuração de um dispositivo de codificação de vídeo convencional para gerar dados de vídeo que estão codificados hierarquicamente em tempo.
Modo para Executar a Invenção Modalidade 1
[0046] A Figura 1 é um diagrama de bloco mostrando um dispositivo de codificação de vídeo conforme a Modalidade 1 da presente invenção.
[0047] Se referindo à Figura 1, ao receber um sinal de vídeo como uma imagem introduzida, uma unidade de divisão de pedaço 14 executa um processo de dividir a imagem introduzida em uma ou mais imagens parciais que são chamadas "pedaços", de acordo com informação de divisão de pedaço determinada por uma unidade de controle de codificação 2. Uma unidade para divisão de pedaço pode ser feita mais fina tão pequena quanto uma unidade para codificar bloco, que será descrito depois. A unidade de divisão de pedaço 14 constitui um meio de divisão de pedaço.
[0048] Uma unidade de divisão de bloco 1 executa um processo de, sempre ao receber um pedaço dividido pela unidade de divisão de pedaço 14, dividir o pedaço em blocos de codificação maiores que são blocos de codificação cada um tendo um tamanho maior determinado pela unidade de controle de codificação 2, e também dividir hierarquicamente cada um dos blocos de codificação maiores em blocos de codificação até que o número de camadas hierárquicas alcance um limite superior determinado pela unidade de controle de codificação 2.
[0049] Mais especificamente, a unidade de divisão de bloco 1 executa um processo de dividir o pedaço em blocos de codificação de acordo com partição determinada pela unidade de controle de codificação 2, e produzir os blocos de codificação. Cada um dos blocos de codificação é dividido ademais em um ou mais blocos de predição, cada um dos quais serve como uma unidade para processo de predição.
[0050] A unidade de divisão de bloco 1 constitui um meio de divisão de bloco.
[0051] A unidade de controle de codificação 2 executa um processo de determinar o tamanho maior do bloco de codificação servindo como uma unidade para processamento quando um processo de codificação é executado, e também determinar o tamanho de cada bloco de codificação determinando o limite superior no número de camadas hierárquicas quando cada bloco de codificação tendo o tamanho maior é dividido hierarquicamente.
[0052] A unidade de controle de codificação 2 também executa um processo de selecionar um modo de codificação a ser aplicado a um bloco de codificação produzido da unidade de divisão de bloco 1, dentre um ou mais modos de codificação selecionáveis (um ou mais modos de intracodificação em que o tamanho, etc., de um bloco de predição que mostra uma unidade para processo de predição difere, e um ou mais modos de intercodificação em que o tamanho, etc., de um bloco de predição difere). Como um exemplo de métodos de seleção, há um método de selecionar um modo de codificação que provê o grau mais alto de eficiência de codificação para um bloco de codificação produzido da unidade de divisão de bloco 1, dentre o um ou mais modos de codificação selecionáveis.
[0053] A unidade de controle de codificação 2 também executa um processo de, quando um modo de codificação tendo o grau mais alto de eficiência de codificação é o modo de intracodificação, determinar um parâmetro de intrapredição, a ser usado ao executar um processo de intrapredição em um bloco de codificação no modo de intracodificação, para cada bloco de predição servindo como uma unidade para processo de predição mostrado pelo modo de intracodificação supracitado, e, quando um modo de codificação tendo o grau mais alto de eficiência de codificação é o modo de intercodificação, determinar um parâmetro de interpredição, a ser usado ao executar um processo de interpredição em um bloco de codificação no modo de intercodificação, para cada bloco de predição servindo como uma unidade para processo de predição mostrada pelo modo de intercodificação supracitado.
[0054] A unidade de controle de codificação 2 ademais executa um processo de determinar parâmetros de codificação de diferença de predição a serem providos a uma unidade de transformação/quantização 7 e uma unidade de quantização inversa/transformação inversa 8. Os parâmetros de codificação de diferença de predição incluem informação de divisão de bloco de transformação ortogonal mostrando informação de divisão sobre blocos de transformação ortogonal cada um servindo como uma unidade para processo de transformação ortogonal em um bloco de codificação e um parâmetro de quantização definindo um tamanho de passo de quantização ao executar quantização em coeficientes de transformada, etc.
[0055] A unidade de controle de codificação 2 constitui um meio de controle de codificação.
[0056] Um comutador de seleção 3 executa um processo de, quando um modo de codificação determinado pela unidade de controle de codificação 2 é o modo de intracodificação, produzir o bloco de codificação, produzido da unidade de divisão de bloco 1, para uma unidade de intrapredição 4, e, quando um modo de codificação determinado pela unidade de controle de codificação 2 é o modo de intercodificação, produzir o bloco de codificação, produzido da unidade de divisão de bloco 1, para uma unidade de predição compensada em movimento 5.
[0057] A unidade de intrapredição 4 executa, quando o modo de intracodificação está selecionado pela unidade de controle de codificação 2 como um modo de codificação correspondendo ao bloco de codificação produzido do comutador de seleção 3, um processo de intrapredição (processo de predição intraquadro) em cada bloco de predição servindo como uma unidade para processo de predição ao executar o processo de predição no bloco de codificação, usando o parâmetro de intrapredição determinado pela unidade de controle de codificação 2 enquanto se referindo a uma imagem de decodificação local armazenada em uma memória 10 para intrapredição, para executar um processo de gerar uma imagem de intrapredição.
[0058] A unidade de predição compensada em movimento 5 compara, quando o modo de intercodificação está selecionado pela unidade de controle de codificação 2 como um modo de codificação correspondendo ao bloco de codificação produzido do comutador de seleção 3, o bloco de codificação com um ou mais quadros de imagem de decodificação local armazenados em uma memória de quadro de predição compensada em movimento 12, para cada bloco de predição servindo como uma unidade para processo de predição, procurar por um vetor de movimento, e executa um processo de interpredição (processo de predição compensado em movimento), para cada bloco de predição, no bloco de codificação usando o vetor de movimento e o parâmetro de interpredição, tal como um número de quadro a ser referido, determinado pela unidade de controle de codificação 2, para executar um processo de gerar uma imagem de interpredição.
[0059] A unidade de intrapredição 4, a memória 10 para intrapredição, a unidade de predição compensada em movimento 5, e a memória de quadro de predição compensada em movimento 12 constituem um meio de predição.
[0060] Uma unidade de subtração 6 executa um processo de subtrair a imagem de intrapredição gerada pela unidade de intrapredição 4 ou a imagem de interpredição gerada pela unidade de predição compensada em movimento 5 do bloco de codificação produzido da unidade de divisão de bloco 1, e produzir um sinal de diferença de predição mostrando uma imagem de diferença que é o resultado da subtração, para a unidade de transformação/quantização 7. A unidade de subtração 6 constitui um meio gerador de imagem de diferença.
[0061] A unidade de transformação/quantização 7 executa um processo de transformação ortogonal (por exemplo, processo de transformação ortogonal, tal como DCT (transformada de cosseno discreta), DST (transformada de seno discreta), e transformada de KL, em que bases são designadas para sequência de aprendizagem específica com antecedência), para cada bloco de transformação ortogonal, no sinal de diferença de predição produzido da unidade de subtração 6 se referindo à informação de divisão de bloco de transformação ortogonal incluída nos parâmetros de codificação de diferença de predição determinados pela unidade de controle de codificação 2, para calcular coeficientes de transformada, e também executa um processo de quantizar os coeficientes de transformada de cada bloco de transformação ortogonal se referindo ao parâmetro de quantização incluído nos parâmetros de codificação de diferença de predição e então produzir dados comprimidos que são os coeficientes de transformada quantizados por esse meio, para a unidade de quantização inversa/transformação inversa 8 e uma unidade de codificação de comprimento variável 13.
[0062] A unidade de transformação/quantização 7 constitui um meio de compressão de imagem.
[0063] Ao quantizar os coeficientes de transformada, a unidade de transformação/quantização 7 pode executar um processo de quantizar os coeficientes de transformada usando uma matriz de quantização para graduação, para cada um dos coeficientes de transformada, o tamanho de passo de quantização calculado do parâmetro de quantização descrito acima.
[0064] Como para a matriz de quantização, uma matriz que é independente para cada sinal de cor e modo de codificação (intracodificação ou intercodificação) em cada tamanho de transformação ortogonal pode ser usada, e cada matriz pode ser selecionada dentre uma matriz de quantização preparada com antecedência, como um valor inicial, geralmente em um dispositivo de codificação de vídeo e um dispositivo de decodificação de vídeo, uma matriz de quantização já codificada, e uma nova matriz de quantização.
[0065] Assim, a unidade de transformação/quantização 7 fixa, em um parâmetro de matriz de quantização a ser codificado, informação de bandeira mostrando se usar ou não uma nova matriz de quantização para cada sinal de cor e modo de codificação em cada tamanho de transformação ortogonal.
[0066] A unidade de transformação/quantização 7 produz o parâmetro de matriz de quantização que é fixado, para a unidade de codificação de comprimento variável 13 como uma parte de um conjunto de parâmetros adaptáveis.
[0067] A unidade de transformação inversa/quantização inversa 8 executa um processo de quantizar inversamente os dados comprimidos, para cada bloco de transformação ortogonal, produzidos da unidade de transformação/quantização 7, se referindo ao parâmetro de quantização e à informação de divisão de bloco de transformação ortogonal incluída nos parâmetros de codificação de diferença de predição determinados pela unidade de controle de codificação 2, e também transformar inversamente ortogonal os coeficientes de transformada que são os dados comprimidos quantizados inversamente por esse meio, para calcular um sinal de diferença de predição de decodificação local correspondendo ao sinal de diferença de predição produzido da unidade de subtração 6. Quando a unidade de transformação/quantização 7 executa um processo de quantização usando uma matriz de quantização, um processo de quantização inversa correspondente é executado, se referindo à matriz de quantização, também no processo de quantização inversa.
[0068] Uma unidade somadora 9 executa um processo de adicionar o sinal de diferença de predição de decodificação local calculado pela unidade de quantização inversa/transformação inversa 8 e a imagem de intrapredição gerada pela unidade de intrapredição 4 ou a imagem de interpredição gerada pela unidade de predição compensada em movimento 5, para calcular uma imagem de decodificação local correspondendo ao bloco de codificação produzido da unidade de divisão de bloco 1.
[0069] A unidade de quantização inversa/transformação inversa 8 e a unidade somadora 9 constituem um meio gerador de imagem de decodificação local.
[0070] A memória 10 para intrapredição é um meio de gravação para armazenar a imagem de decodificação local calculada pela unidade somadora 9.
[0071] Uma unidade de filtro em malha 11 executa um processo de filtragem predeterminado na imagem de decodificação local calculada pela unidade somadora 9, e executa um processo de produzir a imagem de decodificação local processada em filtragem por esse meio.
[0072] Concretamente, a unidade de filtro em malha executa um processo de filtragem (filtragem de 'desbloqueio') de reduzir distorção ocorrendo a um limite entre blocos de transformação ortogonal e a um limite entre blocos de predição, um processo (processo de deslocamento adaptável de pixel) de adicionar adaptavelmente um deslocamento em uma base por pixel, um processo de filtragem adaptável de comutar adaptavelmente entre filtros lineares, tais como filtros de Wiener, para executar o processo de filtragem, e assim por diante.
[0073] A unidade de filtro em malha 11 determina se executar ou não cada um do processo de filtragem de 'desbloqueio', processo de deslocamento adaptável de pixel, e processo de filtragem adaptável supracitado, e produz uma bandeira válida de cada processo, como uma parte do conjunto de parâmetros adaptáveis e uma parte de um cabeçalho de nível de pedaço que são para serem codificados, para a unidade de codificação de comprimento variável 13. Quando uma pluralidade de processos de filtragem supracitados é usada, os processos de filtragem são executados sequencialmente. Figura 2 mostra um exemplo de uma configuração da unidade de filtro em malha 11 quando a pluralidade de processos de filtragem é usada.
[0074] Em geral, embora a qualidade de imagem melhore com o aumento no número de tipos de processos de filtragem a ser usado, a carga de processamento aumenta por outro lado. Mais especificamente, há um compromisso entre a qualidade de imagem e a carga de processamento. Também, um efeito de melhora de qualidade de imagem de cada processo de filtragem difere dependendo de características de imagens sujeitas ao processo de filtragem. Assim, o processo de filtragem a ser usado pode ser determinado de acordo com a carga de processamento aceitável para o dispositivo de codificação de vídeo e as características de imagens sujeitas ao processo de codificação.
[0075] A unidade de filtro em malha 11 constitui um meio de filtragem.
[0076] No processo de filtragem de 'desbloqueio', vários parâmetros a serem usados para selecionar a intensidade do filtro aplicado a um limite de bloco podem ser mudados de valores iniciais. Quando a mudança é feita, o parâmetro interessado é produzido, como uma parte do conjunto de parâmetros adaptáveis a ser codificado, para a unidade de codificação de comprimento variável 13.
[0077] No processo de deslocamento adaptável de pixel, uma imagem é dividida em uma pluralidade de blocos primeiro. Um caso de não executar o processo de deslocamento está definido como um de métodos de classificação de classe, e um método de classificação de classe é selecionado, para cada um dos blocos, dentre uma pluralidade de métodos de classificação de classe que estão preparados com antecedência.
[0078] A seguir, usando o método de classificação de classe selecionado, cada pixel incluído no bloco é classificado em uma de classes, e um valor de deslocamento para compensar distorção é calculado para cada uma das classes.
[0079] Finalmente, um processo de adicionar o deslocamento a um valor de luminância da imagem de decodificação local é executado, por esse meio melhorando a qualidade de imagem da imagem de decodificação local.
[0080] Portanto, no processo de deslocamento adaptável de pixel, informação de divisão de bloco, um índice indicando o método de classificação de classe para cada um dos blocos, e informação de deslocamento para identificar o valor de deslocamento para cada classe de cada um dos blocos são produzidos, como uma parte do conjunto de parâmetros adaptáveis a ser codificado, para a unidade de codificação de comprimento variável 13.
[0081] Note que, no processo de deslocamento adaptável de pixel, uma imagem pode ser sempre dividida em blocos de tamanho fixo, por exemplo o bloco de codificação maior, um método de classificação de classe pode ser selecionado para cada um dos blocos, e um processo de deslocamento adaptável para cada uma das classes pode ser executado. Neste caso, desde que a informação de divisão de bloco descrita acima não é necessária, uma quantidade de código pode ser reduzida por uma quantidade precisada para a informação de divisão de bloco.
[0082] No processo de filtragem adaptável, uma imagem de decodificação local é classificada em classe usando um método predeterminado, um filtro para compensar distorção levada nisso é projetado para uma região (imagem de decodificação local) pertencendo a cada uma de classes, e um processo de filtragem é executado na imagem de decodificação local usando o filtro.
[0083] Filtros projetados para as classes respectivas são produzidos, como uma parte do conjunto de parâmetros adaptáveis a ser codificado, para a unidade de codificação de comprimento variável 13.
[0084] Sobre o método de classificação de classe, há um método simplificado de separar espacialmente uma imagem com um intervalo igual, e um método de classificar em uma base por bloco de acordo com características locais (espalhamento, etc.) de uma imagem.
[0085] Como para o número de classes usadas no processo de filtragem adaptável, um valor pode ser fixado com antecedência geralmente para um dispositivo de codificação de vídeo e um dispositivo de decodificação de vídeo, ou pode ser fixado em uma parte do conjunto de parâmetros adaptáveis a ser codificado.
[0086] Comparado com o anterior, o posterior pode fixar livremente o número de classes a ser usado, por esse meio aumentando um efeito de melhora de qualidade de imagem. Por outro lado, desde que o posterior codifica o número de classes, uma quantidade de código aumenta por uma quantidade precisada para isso.
[0087] No processo de filtragem adaptável, a classificação de classe e processo de projeto/filtragem de filtro podem ser executados em cada bloco de tamanho fixo, por exemplo o bloco de codificação maior, em vez de ser executado em uma imagem inteira.
[0088] Quer dizer, um bloco de tamanho fixo pode ser classificado em classe, de acordo com características locais (espalhamento, etc.) de uma imagem, para cada um de uma pluralidade de blocos pequenos divididos, projeto de filtro e um processo de filtragem podem ser executados para cada classe, e assim um filtro de cada classe pode ser codificado, para cada bloco de tamanho fixo, como uma parte do conjunto de parâmetros adaptáveis.
[0089] Empregando deste modo, um processo de filtragem com precisão mais alta de acordo com as características locais pode ser realizado, comparado a um caso no qual a classificação de classe e processo de projeto/filtragem de filtro são executados em uma imagem inteira.
[0090] Porque um sinal de vídeo é necessário ser referido pela unidade de filtro em malha 11 ao executar o processo de deslocamento adaptável de pixel e o processo de filtragem adaptável, o dispositivo de codificação de vídeo mostrado na Figura 1 precisa ser modificado de forma que o sinal de vídeo seja introduzido à unidade de filtro em malha 11.
[0091] A memória de quadro de predição compensada em movimento 12 é um meio de gravação para armazenar a imagem de decodificação local na qual o processo de filtragem é executado pela unidade de filtro em malha 11.
[0092] A unidade de codificação de comprimento variável 13 codifica em comprimento variável os dados comprimidos produzidos da unidade de transformação/quantização 7, o sinal de saída da unidade de controle de codificação 2 (informação de divisão de bloco dentro de cada bloco de codificação maior, modo de codificação, parâmetros de codificação de diferença de predição, e parâmetro de intrapredição ou parâmetro de interpredição), e o vetor de movimento produzido da unidade de predição compensada em movimento 5 (quando o modo de codificação é modo de intercodificação), para gerar dados codificados.
[0093] Como exemplificado na Figura 3, a unidade de codificação de comprimento variável 13 codifica um conjunto de parâmetros de vídeo, um cabeçalho de nível de sequência, um cabeçalho de nível de quadro, e um conjunto de parâmetros adaptáveis como informação de cabeçalho de um fluxo de bit codificado, e gera um fluxo de bit codificado junto com dados de quadro.
[0094] A unidade de codificação de comprimento variável 13 constitui um meio de codificação de comprimento variável.
[0095] Os dados de quadro estão configurados com um ou mais pedaços de dados de pedaço, e cada dado de pedaço é adquirido agregando o cabeçalho de nível pedaço e os dados codificados descritos acima contidos no pedaço.
[0096] O cabeçalho de nível de sequência é adquirido agregando informação de cabeçalho que é geralmente comum uma base por sequência, tal como um tamanho de imagem, um formato de sinal de cor, profundidade de bit de valores de sinal de um sinal de luminância e uma sinal de diferença de cor, informação de bandeira válida de cada processo de filtragem (processo de filtragem adaptável, pixel processo de deslocamento adaptável, e processo de filtragem de 'desbloqueio') na unidade de filtro em malha 11 em uma base por sequência, e informação de bandeira válida de uma matriz de quantização.
[0097] O cabeçalho de nível de quadro é adquirido agregando informação de cabeçalho que é fixada em uma base por quadro, tal como um índice do cabeçalho de nível de sequência a ser referido, o número de quadros de referência na compensação de movimento, e uma bandeira de iniciação de uma tabela de probabilidade de codificação de entropia.
[0098] A cabeçalho de nível de pedaço é adquirido agregando parâmetros de cada pedaço, tal como informação posicional mostrando uma posição da pedaço em um quadro, um índice mostrando um cabeçalho nível de quadro a ser referido, um tipo de codificação do pedaço (toda a intracodificação, intercodificação, etc.), um índice de um conjunto de parâmetros adaptáveis a ser usado na pedaço, e informação de bandeira mostrando se executar ou não cada processo de filtragem (processo de filtragem adaptável, processo de deslocamento adaptável de pixel, e processo de filtragem de 'desbloqueio') na unidade de filtro em malha 11 usando o conjunto de parâmetros adaptáveis indicado pelo índice descrito acima.
[0099] Cada conjunto de parâmetros adaptáveis tem bandeiras cada uma mostrando se existe ou não cada um de parâmetros (parâmetros de filtro) sobre o processo de filtragem adaptável, o processo de deslocamento de adaptável de pixel, e o processo de filtragem de 'desbloqueio', e se existe ou não um parâmetro (parâmetro de matriz de quantização) sobre a matriz de quantização, e é um conjunto de parâmetros só tendo cada parâmetro cuja bandeira correspondente é "válida". No conjunto de parâmetros adaptáveis, também existe um índice (aps_id) para identificar uma pluralidade de conjuntos de parâmetros adaptáveis multiplexados no fluxo de bits codificado.
[00100] O conjunto de parâmetros de vídeo é adquirido agregando informação, sobre quadros pertencendo a camadas hierárquicas diferentes, tais como parâmetros sobre capacidade de graduação temporal e outros parâmetros sobre codificação graduável e sobre codificação de multivisão. No conjunto de parâmetros de vídeo, também existe um índice (video_parameteter_set_id) para identificar uma pluralidade de conjuntos de parâmetros de vídeo multiplexados no fluxo de bits codificado.
[00101] Cada dado codificado tal como o conjunto de parâmetros de vídeo, o cabeçalho de nível de sequência, o cabeçalho de nível de quadro, o conjunto de parâmetros adaptáveis, e um ou mais dados de pedaço configurando os dados de quadro, constitui um fluxo de bits codificado em uma base por unidade chamada uma unidade de NAL (Camada de Abstração de Rede).
[00102] A Figura 4 mostra uma configuração da unidade de NAL. A unidade de NAL está configurada com uma seção de cabeçalho e uma seção de dados de carga útil. A seção de cabeçalho inclui informação de tipo, etc., para indicar um tipo de dados codificados na seção de dados de carga útil, isto é, dados codificados de qualquer um do conjunto de parâmetros de vídeo, cabeçalho de nível de sequência, cabeçalho de nível de quadro, conjunto de parâmetros adaptáveis, ou dados de pedaço. Dados codificados tendo um tipo indicado pela informação de tipo estão incluídos na seção de dados de carga útil. Uma bandeira de referência, um número de identificação de camada hierárquica, e similar, além da informação de tipo estão incluídos na seção de cabeçalho. A bandeira de referência é uma bandeira para mostrar, quando dados codificados incluídos em dados de carga útil são dados de pedaço, se um quadro adquirido decodificando os dados de pedaço é um quadro que está referido por outros quadros ou não. O número de identificação de camada hierárquica é um número para mostrar, quando dados de vídeo são codificados hierarquicamente em tempo, à qual camada hierárquica os dados codificados se relacionam. Quando, por exemplo, dados codificados são dados de pedaço e seu pedaço são dados de pedaço de um quadro pertencendo a uma camada hierárquica básica, os dados codificados se relacionam à camada hierárquica básica e assim "0" que mostra que a camada hierárquica básica é nomeada ao número de identificação de camada hierárquica ao codificar.
[00103] No exemplo mostrado na Figura 1, a unidade de divisão de bloco 1, a unidade de controle de codificação 2, o comutador de seleção 3, a unidade de intrapredição 4, a unidade de predição compensada em movimento 5, a unidade de subtração 6, a unidade de transformação/quantização 7, a unidade de quantização inversa/transformação inversa 8, a unidade somadora 9, a memória 10 para intrapredição, a unidade de filtro em malha 11, a memória de quadro de predição compensada em movimento 12, e a unidade de codificação de comprimento variável 13, que são os componentes do dispositivo de codificação de vídeo, cada uma é assumida estar configurada com pedaços de hardware para uso exclusivo (por exemplo, circuitos integrados de semicondutor em cada um dos quais uma CPU está montada, microcomputadores de um chip, ou similar). Como uma alternativa, quando o dispositivo de codificação de vídeo está configurado com um computador, um programa no qual os processos executados pela unidade de divisão de bloco 1, a unidade de controle de codificação 2, o comutador de seleção 3, a unidade de intrapredição 4, a unidade de predição compensada em movimento 5, a unidade de subtração 6, a unidade de transformação/quantização 7, a unidade de quantização inversa/transformação inversa 8, a unidade somadora 9, a unidade de filtro em malha 11, e a unidade de codificação de comprimento variável 13 são descritas pode ser armazenado em uma memória do computador e uma CPU do computador pode executar o programa armazenado na memória.
[00104] A Figura 5 é um fluxograma mostrando o processamento (método de codificação de vídeo) executado pelo dispositivo de codificação de vídeo conforme a Modalidade 1 da presente invenção.
[00105] A Figura 6 é um diagrama de bloco mostrando um dispositivo de decodificação de vídeo conforme a Modalidade 1 da presente invenção.
[00106] Se referindo à Figura 6, ao receber um fluxo de bits codificado gerado pelo dispositivo de codificação de vídeo mostrado na Figura 1, uma unidade de decodificação de comprimento variável 31 decodifica, do fluxo de bits em uma base por unidade de NAL, informação de cabeçalho tal como o conjunto de parâmetros de vídeo, cabeçalho de nível de sequência, cabeçalho de nível de quadro, conjunto de parâmetros adaptáveis, e cabeçalho de nível de pedaço, e também decodifica em comprimento variável, do fluxo de bits, a informação de divisão de bloco indicando um estado de divisão de cada bloco de codificação dividido hierarquicamente.
[00107] Nesse momento, uma matriz de quantização do conjunto de parâmetros adaptáveis é especificada do parâmetro de matriz de quantização no conjunto de parâmetros adaptáveis que é decodificado em comprimento variável pela unidade de decodificação de comprimento variável 31. Concretamente, para cada sinal de cor e modo de codificação em cada tamanho de transformação ortogonal, quando o parâmetro de matriz de quantização mostra que uma matriz de quantização preparada, como um valor inicial, com antecedência geralmente no dispositivo de codificação de vídeo e no dispositivo de decodificação de vídeo, ou uma matriz de quantização já decodificada (não matriz de quantização nova) é para ser usada, uma matriz de quantização é especificada se referindo à informação de índice para especificar uma matriz de quantização nas matrizes incluídas no conjunto de parâmetros adaptáveis descrito acima. Quando o parâmetro de matriz de quantização mostra que uma nova matriz de quantização é para ser usada, uma matriz de quantização incluída no parâmetro de matriz de quantização é especificada como uma matriz de quantização a ser usada.
[00108] A unidade de decodificação de comprimento variável 31 também executa um processo de se referir à informação de cabeçalho para especificar cada bloco de decodificação maior (bloco correspondendo a "bloco de codificação maior" em dispositivo de codificação de vídeo mostrado na Figura 1) incluído em dados de pedaço, se referindo à informação de divisão de bloco para especificar cada bloco de decodificação (bloco correspondendo a "bloco de codificação" em dispositivo de codificação de vídeo mostrado na Figura 1) servindo como uma unidade quando cada bloco de decodificação maior é dividido hierarquicamente e um processo de decodificação é executado, e decodificar em comprimento variável os dados comprimidos, o modo de codificação, o parâmetro de intrapredição (quando o modo de codificação é modo de intracodificação), o parâmetro de interpredição (quando o modo de codificação é modo de intercodificação), os parâmetros de codificação de diferença de predição, e o vetor de movimento (quando o modo de codificação é modo de intercodificação), que estão associados com cada bloco de decodificação. A unidade de decodificação de comprimento variável 31 constitui um meio de decodificação de comprimento variável.
[00109] Uma unidade de quantização inversa/transformação inversa 32 se refere ao parâmetro de quantização e à informação de divisão de bloco de transformação ortogonal que estão incluídas nos parâmetros de codificação de diferença de predição decodificados em comprimento variável pela unidade de decodificação de comprimento variável 31, quantizar inversamente, para cada bloco de transformação ortogonal, os dados comprimidos decodificados em comprimento variável pela unidade de decodificação de comprimento variável 31, executa um processo de transformação ortogonal inversa nos coeficientes de transformada que são os dados comprimidos quantizados inversamente por esse meio, e então executa um processo de calcular um sinal de diferença de predição de decodificação que é igual ao sinal de diferença de predição de decodificação local produzido da unidade de quantização inversa/transformação inversa 8 mostrada na Figura 1. A unidade de quantização inversa/transformação inversa 32 constitui um meio gerador de imagem de diferença.
[00110] Quando informação de cabeçalho decodificada em comprimento variável pela unidade de decodificação de comprimento variável 31 mostra que um processo de quantização inversa é executado no pedaço usando uma matriz de quantização, um processo de quantização inversa é executado usando uma matriz de quantização.
[00111] Concretamente, um processo de quantização inversa é executado usando uma matriz de quantização de um conjunto de parâmetros adaptáveis que é especificado pela informação de cabeçalho e é referido pelo pedaço.
[00112] Um comutador de seleção 33 executa um processo de, quando o modo de codificação decodificado em comprimento variável pela unidade de decodificação de comprimento variável 31 é o modo de intracodificação, produzir o parâmetro de intrapredição que é decodificado em comprimento variável pela unidade de decodificação de comprimento variável 31, para uma unidade de intrapredição 34, e, quando o modo de codificação decodificado em comprimento variável pela unidade de decodificação de comprimento variável 31 é o modo de intercodificação, produzir o parâmetro de interpredição e o vetor de movimento que são decodificados em comprimento variável pela unidade de decodificação de comprimento variável 31, para uma unidade de compensação de movimento 35.
[00113] A unidade de intrapredição 34 executa, quando o modo de codificação associado com o bloco de decodificação especificado pela informação de divisão de bloco decodificado em comprimento variável pela unidade de decodificação de comprimento variável 31 é o modo de intracodificação, um processo de intrapredição (processo de predição intraquadro) usando o parâmetro de intrapredição produzido do comutador de seleção 33 em cada bloco de predição servindo como uma unidade para processo de predição ao executar o processo de predição no bloco de decodificação, enquanto se referindo a uma imagem decodificada armazenada em uma memória 37 para intrapredição, e executa um processo de gerar uma imagem de intrapredição.
[00114] A unidade de compensação de movimento 35 executa, quando o modo de codificação associado com o bloco de decodificação especificado pela informação de divisão de bloco decodificado em comprimento variável pela unidade de decodificação de comprimento variável 31 é o modo de intercodificação, um processo de interpredição (processo de predição compensado em movimento) usando o vetor de movimento e o parâmetro de interpredição que são produzidos do comutador de seleção 33 em cada bloco de predição servindo como uma unidade para processo de predição ao executar o processo de predição no bloco de decodificação supracitado, enquanto se referindo a uma imagem decodificada armazenada em uma memória de quadro de predição compensada em movimento 39, e executa um processo de gerar uma imagem de interpredição.
[00115] A unidade de intrapredição 34, a memória 37 para intrapredição, a unidade de compensação de movimento 35, e a memória de quadro de predição compensada em movimento 39 constitui um meio de predição.
[00116] Uma unidade somadora 36 executa um processo de adicionar o sinal de diferença de predição de decodificação calculado pela unidade de quantização inversa/transformação inversa 32 e a imagem de intrapredição gerada pela unidade de intrapredição 34 ou a imagem de interpredição gerada pela unidade de compensação de movimento 35, calcular uma imagem decodificada que é igual à imagem de decodificação local produzida da unidade somadora 9 mostrada na Figura 1. A unidade somadora 36 constitui um meio gerador de imagem decodificada.
[00117] A memória 37 para intrapredição é um meio de gravação para armazenar a imagem decodificada calculada pela unidade somadora 36.
[00118] Uma unidade de filtro em malha 38 executa um processo de filtragem predeterminado na imagem decodificada calculada pela unidade somadora 36, e executa um processo de produzir a imagem decodificada processada por filtragem por esse meio.
[00119] Concretamente, a unidade de filtro em malha executa um processo de filtragem (filtragem de 'desbloqueio') de reduzir distorção ocorrendo a um limite entre blocos de transformação ortogonal e a um limite entre blocos de predição, um processo (processo de deslocamento adaptável de pixel) de adicionar adaptavelmente um deslocamento em uma base por pixel, um processo de filtragem adaptável de comutar adaptavelmente entre filtros lineares, tais como filtros de Wiener, para executar o processo de filtragem, e assim por diante.
[00120] Em cada um do processo de filtragem de 'desbloqueio' descrito acima, processo de deslocamento adaptável de pixel, e processo de filtragem adaptável, a unidade de filtro em malha 38 especifica se executar ou não cada processo no pedaço se referindo à informação de cabeçalho decodificada em comprimento variável pela unidade de decodificação de comprimento variável 31.
[00121] No dispositivo de codificação de vídeo mostrado na Figura 1, não quando um parâmetro de filtro usado na unidade de filtro em malha 38 é codificado como uma parte de um conjunto de parâmetros adaptáveis que é uma da informação de cabeçalho, mas quando cada parâmetro de pedaço usado em uma base por pedaço é codificado diretamente por dados de pedaço, a unidade de decodificação de comprimento variável 31 decodifica um parâmetro de filtro, dos dados de pedaço, que são usados na unidade de filtro em malha 38.
[00122] Nesse momento, quando dois ou mais processos de filtragem são executados, se a unidade de filtro em malha 11 do dispositivo de codificação de vídeo tiver a configuração mostrada na Figura 2, a unidade de filtro em malha 38 tem a configuração mostrada na Figura 7.
[00123] A unidade de filtro em malha 38 constitui um meio de filtragem.
[00124] No processo de filtragem de 'desbloqueio', um conjunto de parâmetros adaptáveis que é referido pelo pedaço é referido, e, quando existe informação indicando que vários parâmetros a serem usados para selecionar a intensidade do filtro aplicado a um limite de bloco dos valores iniciais, um processo de filtragem de 'desbloqueio' é executado na base da informação de mudança. Se não existir nenhuma informação de mudança, o processo é executado de acordo com um método predeterminado.
[00125] No processo de deslocamento adaptável de pixel, um conjunto de parâmetros adaptáveis que é referido pelo pedaço é referido, uma imagem decodificada é dividida na base de informação de divisão de bloco incluída no conjunto de parâmetros adaptáveis, e um índice que está incluído no conjunto de parâmetros adaptáveis e que indica um método de classificação de classe para cada um dos blocos é referido para cada bloco. Quando o índice não é um índice mostrando "não executar processo de deslocamento", cada pixel no bloco é classificado em classe em uma base por bloco de acordo com o método de classificação de classe indicado pelo índice supracitado.
[00126] Como um candidato para o método de classificação de classe, um método mesmo como um candidato para o método de classificação de classe para o processo de deslocamento adaptável de pixel na unidade de filtro em malha 11 está preparado com antecedência.
[00127] Um processo no qual um deslocamento é adicionado a um valor de luminância da imagem decodificada é executado se referindo à informação de deslocamento (informação de deslocamento incluída em conjunto de parâmetros adaptáveis) para especificar um valor de deslocamento de cada classe em uma base por bloco.
[00128] Quando um procedimento é empregado, em um processo de deslocamento adaptável de pixel na unidade de filtro em malha 11 do dispositivo de codificação de vídeo, em que informação de divisão de bloco não está codificada, uma imagem é sempre dividida em blocos cada um tendo um tamanho fixo (por exemplo, em uma base por bloco de codificação maior), um método de classificação de classe é selecionado para cada um dos blocos, e um processo de deslocamento adaptável é executado em uma base por classe, um processo de deslocamento adaptável de pixel também é executado na unidade de filtro em malha 38 para cada bloco tendo um tamanho fixo mesmo como aquele na unidade de filtro em malha 11.
[00129] No processo de filtragem adaptável, um conjunto de parâmetros adaptáveis que é referido pelo pedaço é referido, uma classificação de classe é executada, usando um filtro para cada classe incluída no conjunto de parâmetros adaptáveis, com um método mesmo como aquele no dispositivo de codificação de vídeo mostrado na Figura 1, e então um processo de filtragem é executado na base da informação de classificação de classe.
[00130] Quando um procedimento é empregado, em um processo de filtragem adaptável na unidade de filtro em malha 11 do dispositivo de codificação de vídeo, em que a classificação de classe descrita acima e processo de projeto/filtragem de filtro não é executado em uma imagem inteira mas, por exemplo, para cada bloco tendo um tamanho fixo tal como um bloco de codificação maior, a classificação de classe e processo de filtragem descritos acima são executados, decodificando filtros usados em cada classe, também na unidade de filtro em malha 38 para cada bloco tendo um tamanho fixo mesmo como aquele na unidade de filtro em malha 11.
[00131] A memória de quadro de predição compensada em movimento 39 é um meio de gravação para armazenar a imagem decodificada na qual o processo de filtragem é executado pela unidade de filtro em malha 38.
[00132] No exemplo mostrado na Figura 6, a unidade de decodificação de comprimento variável 31, a unidade de quantização inversa/transformação inversa 32, o comutador de seleção 33, a unidade de intrapredição 34, a unidade de compensação de movimento 35, a unidade somadora 36, a memória 37 para intrapredição, a unidade de filtro em malha 38, e a memória de quadro de predição compensada em movimento 39, que são os componentes do dispositivo de decodificação de vídeo, cada uma é assumida estar configurada com pedaços de hardware para uso exclusivo (por exemplo, circuitos integrados de semicondutor em cada um dos quais uma CPU está montada, é microcomputadores em um chip, ou similar). Como uma alternativa, quando o dispositivo de decodificação de vídeo está configurado com um computador, um programa no qual os processos executados pela unidade de decodificação de comprimento variável 31, a unidade de quantização inversa/transformação inversa 32, o comutador de seleção 33, a unidade de intrapredição 34, a unidade de compensação de movimento 35, a unidade somadora 36, e a unidade de filtro em malha 38 são descritas pode ser armazenado em uma memória do computador e uma CPU do computador pode executar o programa armazenado na memória.
[00133] A Figura 8 é um fluxograma mostrando o processamento (método de decodificação de vídeo) executado pelo dispositivo de decodificação de vídeo conforme a Modalidade 1 da presente invenção.
[00134] A seguir, operações serão explicadas.
[00135] Na Modalidade 1, o caso seguinte será explicado. Quer dizer, o dispositivo de codificação de vídeo recebe cada quadro de um vídeo como uma imagem de entrada, executa uma intrapredição na base de pixels vizinhos já codificados ou uma predição compensada em movimento entre quadros adjacentes, executa um processo de compressão com transformação ortogonal e quantização em um sinal de diferença de predição adquirido, e depois disso, executa codificação de comprimento variável para gerar um fluxo de bits codificado, e o dispositivo de decodificação de vídeo decodifica o fluxo de bits codificado produzido do dispositivo de codificação de vídeo.
[00136] O dispositivo de codificação de vídeo mostrado na Figura 1 é caracterizado pelo fato de que o dispositivo está adaptado a mudanças locais de um sinal de vídeo em uma direção espacial e em uma direção temporal, divide o sinal de vídeo em blocos tendo vários tamanhos, e executa codificação adaptável intraquadro e interquadro.
[00137] Em geral, sinais de vídeo têm suas características da sua complexidade variando localmente em espaço e tempo. Pode haver um caso em que, do ponto de vista de espaço, um padrão tendo uma característica de sinal uniforme em uma região de imagem relativamente grande, tal como uma imagem de céu ou uma imagem de parede, e um padrão tendo um padrão de textura complicada em uma região de imagem pequena, tal como uma imagem de pessoa ou uma pintura incluindo uma textura fina, coexistem em um certo quadro de vídeo, por exemplo.
[00138] Também do ponto de vista de tempo, enquanto uma imagem de céu e uma imagem de parede têm uma mudança local pequena em uma direção de tempo nos seus padrões, uma imagem de uma pessoa em movimento ou um objeto tem uma mudança temporal grande porque seu contorno se move como um corpo rígido/não rígido em relação a tempo.
[00139] Embora um processo de gerar um sinal de diferença de predição tendo potência de sinal pequena e entropia pequena usando uma predição temporal e espacial, por esse meio reduzindo a quantidade de código inteira, é executado no processo de codificação, a quantidade de código de parâmetros usada para a predição pode ser reduzida se os parâmetros puderem ser aplicados uniformemente uma região de sinal de imagem tão grande quanto possível.
[00140] Por outro lado, porque a quantidade de erros ocorrendo na predição aumenta quando o mesmo parâmetro de predição é aplicado a uma região de imagem grande em um padrão de sinal de imagem tendo uma mudança grande em tempo e espaço, a quantidade de código do sinal de diferença de predição aumenta.
[00141] Portanto, é desejável que, para uma região de imagem tendo uma mudança grande em tempo e espaço, o tamanho de um bloco sujeito ao processo de predição ao qual o mesmo parâmetro de predição é aplicado é reduzido, por esse meio aumentando o volume de dados do parâmetro que é usado para a predição e reduzindo a energia elétrica e entropia do sinal de diferença de predição.
[00142] Na Modalidade 1, a fim de para executar codificação que está adaptada para as características gerais descritas acima de um sinal de vídeo, uma configuração é empregada na qual o processo de predição e assim por diante primeiro começa de um tamanho de bloco maior predeterminado, a região do sinal de vídeo é dividida hierarquicamente, e os processos de predição e os processos de codificação da diferença de predição são adaptados a cada uma das regiões divididas.
[00143] Um formato de um sinal de vídeo a ser processado pelo dispositivo de codificação de vídeo mostrado na Figura 1 é assumido ser um sinal de vídeo arbitrário no qual cada quadro de vídeo consiste em uma série de amostras digitais (pixels) em duas dimensões, horizontal e vertical, incluindo uma sinal de vídeo de cor em espaço de cor arbitrário tal como um sinal de YUV que consiste em um sinal de luminância e dois sinais de diferença de cor e um sinal de RGB produzido de um sensor de imagem digital, um sinal de imagem monocromático, um sinal de imagem de infravermelho, e assim por diante.
[00144] A gradação de cada pixel pode ser uma de 8 bits, 10 bits, ou 12 bits.
[00145] Na explicação seguinte, por causa de conveniência, o sinal de vídeo da imagem introduzida é assumido ser, a menos que caso contrário especificado, um sinal de YUV e um caso de operar sinais tendo um formato 4:2:0 no qual dois componentes de diferença de cor U e V são subamostrados em relação ao componente de luminância Y, será descrito.
[00146] Ademais, uma unidade de dados a ser processada que corresponde a cada quadro do sinal de vídeo é chamada um "quadro".
[00147] Na Modalidade 1, embora uma explicação será feita na qual um "quadro" é um sinal de quadro de vídeo no qual varredura progressiva é executada, um "quadro" pode ser alternativamente um sinal de imagem de campo que é uma unidade constituindo um quadro de vídeo quando o sinal de vídeo é um sinal entrelaçado.
[00148] O processamento executado pelo dispositivo de codificação de vídeo mostrado na Figura 1 será explicado primeiro.
[00149] Primeiro, a unidade de controle de codificação 2 determina uma estrutura de GOP (Grupo de Quadro) tal como um tipo de quadro, uma ordem de codificação, e uma relação de referência de quadros usados em uma predição, sobre quadros em uma sequência. Processamento de codificação será explicado tomando um caso como um exemplo, em que capacidade de graduação temporal é empregada na estrutura de GOP mostrada na Figura 24.
[00150] Na unidade de controle de codificação 2, o tipo de quadro de um primeiro quadro é fixado como um quadro I (quadro I0), e o tipo de quadro de um quadro a ser codificado a seguir é fixado como um quadro P (quadro P1). O quadro P1 é codificado por predição só se referindo ao quadro I0. O quadro I0 e o quadro P1 são assumidos serem quadros pertencendo a uma camada hierárquica básica (T0).
[00151] O tipo de quadro de um quadro a ser codificado depois que o quadro P1 é fixado como um quadro B (quadro B2), e o quadro B2 é assumido ser um quadro pertencendo a uma primeira camada hierárquica (T1). O quadro B2 é codificado por predição se referindo a um quadro pertencendo à camada hierárquica básica ou à primeira camada hierárquica. No exemplo mostrado na Figura 24, codificação de predição é executada se referindo ao quadro I0 e ao quadro P1.
[00152] O tipo de quadro de um quadro a ser codificado depois que o quadro B2 é fixado como um quadro B (quadro B3), e o quadro B3 é assumido ser um quadro pertencendo a uma segunda camada hierárquica (T2). Um quadro a ser codificado depois do quadro B3 (quadro B4) é assumido também estar pertencendo à segunda camada hierárquica (T2).
[00153] Um quadro pertencendo à segunda camada hierárquica (T2) é codificado por predição se referindo a quadros pertencendo à camada hierárquica básica pela segunda camada hierárquica.
[00154] Depois de codificar o quadro B4, um quadro B5, um quadro B6, um quadro B7 e um quadro B8 são codificados nesta ordem. O quadro B5 pelo quadro B8 são assumidos serem quadros pertencendo a uma terceira camada hierárquica (T3), e são codificados por predição se referindo a quadros pertencendo à camada hierárquica básica pela terceira camada hierárquica.
[00155] Subsequentemente, quadros pertencendo à camada hierárquica básica são fixados todos nove quadros e oito quadros entre duas camadas hierárquicas básicas são codificados com dividi-los em três camadas hierárquicas, isto é, a segunda camada hierárquica pela quarta camada hierárquica.
[00156] Quando a capacidade de graduação temporal é empregada na estrutura de GOP descrita acima, quadros só pertencendo à camada hierárquica básica podem ser decodificados corretamente pelo dispositivo de decodificação de vídeo. Semelhantemente, pode haver um caso em que quadros só pertencendo à camada hierárquica básica e quadros só pertencendo à segundo camada hierárquica podem ser decodificados corretamente. Quer dizer, o dispositivo de decodificação de vídeo pode executar decodificação de uma maneira graduável. A unidade de controle de codificação 2 fixa um valor (por exemplo 1), indicando que a capacidade de graduação temporal é empregada, a uma bandeira indicando se a capacidade de graduação temporal é empregada ou não, e produz o valor para a unidade de codificação de comprimento variável. Quando a capacidade de graduação temporal não é empregada na estrutura de GOP, a unidade de controle de codificação fixa um valor (por exemplo 0), indicando que a capacidade de graduação temporal não é empregada, à bandeira indicando se a capacidade de graduação temporal é empregada ou não, e produz o valor para a unidade de codificação de comprimento variável.
[00157] Então, a unidade de controle de codificação 2 produz, para a unidade de codificação de comprimento variável, informação tal como o número máximo de camadas hierárquicas e um tamanho de memória temporária de quadro necessário para cada camada hierárquica. No exemplo mostrado na Figura 24, o número máximo de camadas hierárquicas é quatro, e o tamanho de memória temporária de quadro necessário para cada camada hierárquica é determinado pelo número de quadros a serem referidos e o número de quadros memorizados necessário para ordenar os quadros pertencendo a cada uma das camadas hierárquicas na sua ordem de exibição.
[00158] A seguir, a unidade de controle de codificação 2 determina um estado de divisão de pedaço de um quadro (quadro atual), que é o objetivo a ser codificado, um tamanho de cada bloco de codificação maior usado para a codificação do quadro, e um limite superior no número de camadas hierárquicas nas quais cada bloco de codificação maior é dividido hierarquicamente (etapa ST1 na Figura 5).
[00159] Como um método de determinar o tamanho de cada bloco de codificação maior, por exemplo, pode haver um método de empregar o mesmo tamanho para todos os quadros de acordo com a resolução do sinal de vídeo da imagem introduzida, e um método de quantificar uma variação na complexidade de um movimento local do sinal de vídeo da imagem introduzida como um parâmetro e então empregar um tamanho pequeno para um quadro tendo um movimento vigoroso enquanto empregando um tamanho grande para um quadro tendo um movimento pequeno.
[00160] Como um método de determinar o limite superior no número de camadas hierárquicas divididas, por exemplo, pode haver um método de empregar o mesmo número de camadas hierárquicas para todos os quadros de acordo com a resolução do sinal de vídeo da imagem introduzida, e um método de empregar um número aumentado de camadas hierárquicas para o sinal de vídeo da imagem introduzida tendo um movimento vigoroso de forma que um movimento mais fino possa ser detectado, enquanto empregando um número diminuído de camadas hierárquicas para o sinal de vídeo da imagem introduzida tendo um movimento pequeno.
[00161] O tamanho descrito acima de cada bloco de codificação maior e o limite superior no número de camadas hierárquicas nas quais cada bloco de codificação maior é dividido hierarquicamente pode ser codificado no cabeçalho de nível de sequência, ou pode não ser codificado e o mesmo processo de decisão também pode ser executado pelo dispositivo de decodificação de vídeo. No caso anterior, a quantidade de código da informação de cabeçalho aumenta. Porém, porque o dispositivo de decodificação de vídeo não tem nenhuma necessidade para executar o processo de decisão descrito acima, a carga de processamento do dispositivo de decodificação de vídeo pode ser diminuída e, além disso, um valor ótimo é procurado e enviado pelo dispositivo de codificação de vídeo. No caso posterior, por outro lado, enquanto a carga de processamento do dispositivo de decodificação de vídeo aumenta desde que o processo de decisão descrito acima é executado pelo dispositivo de decodificação de vídeo, a quantidade de código da informação de cabeçalho não aumenta.
[00162] A unidade de controle de codificação 2 também seleciona um modo de codificação correspondendo a cada um dos blocos de codificação a ser dividido hierarquicamente, dentre um ou mais modos de codificação disponíveis (etapa ST2).
[00163] Mais especificamente, a unidade de controle de codificação 2 divide cada região de imagem tendo o tamanho de bloco de codificação maior em blocos de codificação cada um tendo um tamanho de bloco de codificação hierárquica até que o limite superior no número de camadas hierárquicas dividida que é determinado com antecedência seja alcançado, e determina um modo de codificação para cada um dos blocos de codificação.
[00164] Sobre o modo de codificação, há um ou mais modos de intracodificação (genericamente chamado "INTRA") e um ou mais modos de intercodificação (genericamente chamado "INTER"), e a unidade de controle de codificação 2 seleciona um modo de codificação correspondendo a cada um dos blocos de codificação dentre todos os modos de codificação disponíveis no quadro atual ou um subconjunto destes modos de codificação.
[00165] Cada um dos blocos de codificação a ser dividido hierarquicamente pela unidade de divisão de bloco 1, que será mencionada depois, é ademais dividido em um ou mais blocos de predição cada um servindo como uma unidade na qual um processo de predição é executado, e um estado de divisão de bloco de predição também está incluído como informação no modo de codificação. Mais especificamente, o modo de codificação, que é qualquer um do modo de intra ou intercodificação, é um índice para identificar qual tipo de blocos de predição divididos estão incluídos.
[00166] Embora uma explicação detalhada de um método de selecionar um modo de codificação pela unidade de controle de codificação 2 será omitida porque é uma tecnologia conhecida publicamente, há um método de executar um processo de codificação em cada bloco de codificação usando modos de codificação disponíveis arbitrários para examinar a eficiência de codificação, e selecionar um modo de codificação tendo o grau mais alto de eficiência de codificação dentre a pluralidade de modos de codificação disponíveis, por exemplo.
[00167] A unidade de controle de codificação 2 ademais determina um parâmetro de quantização e um estado de divisão de bloco de transformação ortogonal, que é usado quando uma imagem de diferença está comprimida, para cada bloco de codificação, e também determina um parâmetro de predição (parâmetro de intrapredição ou parâmetro de interpredição) que é usado quando um processo de predição é executado.
[00168] Quando cada bloco de codificação é dividido ademais em blocos de predição em cada um dos quais o processo de predição é executado, um parâmetro de predição (parâmetro de intrapredição ou parâmetro de interpredição) pode ser selecionado para cada um dos blocos de predição.
[00169] Além disso, em um bloco de codificação cujo modo de codificação é o modo de intracodificação, quando um processo de intrapredição é executado, pixels já codificados adjacentes ao bloco de predição são usados, que será descrito depois em detalhes, e assim, é necessário executar codificação em uma base por bloco de predição. Portanto, tamanhos de bloco de transformação selecionáveis estão limitados ao tamanho do bloco de predição ou menor.
[00170] A unidade de controle de codificação 2 produz parâmetros de codificação de diferença de predição incluindo o parâmetro de quantização e o tamanho blocos de transformação, para a unidade de transformação/quantização 7, a unidade de quantização inversa/transformação inversa 8, e a unidade de codificação de comprimento variável 13.
[00171] A unidade de controle de codificação 2 também produz o parâmetro de intrapredição para a unidade de intrapredição 4, como precisado.
[00172] A unidade de controle de codificação 2 produz ademais o parâmetro de interpredição para a unidade de predição compensada em movimento 5, como precisado.
[00173] Ao receber um sinal de vídeo como uma imagem introduzida, a unidade de divisão de pedaço 14 divide a imagem introduzida em um ou mais pedaços que são imagens parciais, de acordo com a informação de divisão de pedaço determinada pela unidade de controle de codificação 2.
[00174] Ao receber cada pedaço da unidade de divisão de pedaço 14, a unidade de divisão de bloco 1 divide a pedaço introduzido em blocos de codificação cada um tendo o tamanho de bloco de codificação maior determinado pela unidade de controle de codificação 2, e ademais divide hierarquicamente cada um dos blocos de codificação maiores divididos em blocos de codificação determinados pela unidade de controle de codificação 2, e produz os blocos de codificação.
[00175] A Figura 9 é um desenho explicativo mostrando um exemplo no qual cada bloco de codificação maior está dividido hierarquicamente em uma pluralidade de blocos de codificação.
[00176] Se referindo à Figura 9, cada bloco de codificação maior é um bloco de codificação na "0-ésima camada hierárquica", cujo componente de luminância tem um tamanho (L0, M0).
[00177] Executando a divisão hierárquica, de acordo com uma estrutura de 'quadtree', com cada bloco de codificação maior sendo fixado como um ponto de partida até que a profundidade alcance um valor predeterminado que é fixado separadamente, os blocos de codificação podem ser adquiridos.
[00178] Na profundidade de n, cada bloco de codificação é uma região de imagem que tem um tamanho de (Ln, Mn).
[00179] Embora Ln possa ser igual a ou diferir de Mn, um caso de Ln=Mn é mostrado na Figura 9.
[00180] Daqui por diante, o tamanho de bloco de codificação determinado pela unidade de controle de codificação 2 está definido como o tamanho de (Ln, Mn) no componente de luminância de cada bloco de codificação.
[00181] Porque divisão de 'quadtree' é executada, (Ln+1, Mn+1) = (Ln/2, Mn/2) é sempre estabelecido.
[00182] Em um caso de um sinal de imagem de vídeo a cores (formato 4:4:4) em que todos os componentes de cor têm o mesmo número de amostra, tal como um sinal de RGB, todos os componentes de cor têm o tamanho de (Ln, Mn). Em um caso de operar um formato 4:2:0, um componente de diferença de cor correspondente tem um tamanho de bloco de codificação (Ln/2, Mn/2).
[00183] Daqui por diante, cada bloco de codificação na n-ésima camada hierárquica é expresso como Bn, e um modo de codificação selecionável para cada bloco de codificação Bn é expresso como m(Bn).
[00184] Em um caso de uma cor sinal de vídeo que consiste em uma pluralidade de componentes de cor, o modo de codificação m(Bn) pode ser configurado para usar um modo individual para cada componente de cor, ou usar um modo comum para todos os componentes de cor. Daqui por diante, explicações serão feitas assumindo que o modo de codificação indica um para o componente de luminância de um bloco de codificação de um sinal de YUV tendo um formato 4:2:0, a menos que caso contrário especificado.
[00185] Como mostrado na Figura 9, cada bloco de codificação Bn está dividido em um ou mais blocos de predição, cada um mostrando uma unidade para processo de predição, pela unidade de divisão de bloco 1.
[00186] Daqui por diante, cada bloco de predição pertencendo a cada bloco de codificação Bn é expresso como Pin (i mostra número de bloco de predição na n-ésima camada hierárquica). Exemplos de P00 e P10 são mostrados na Figura 9.
[00187] Como a divisão de bloco de predição é executada em cada bloco de codificação Bn está incluída como informação no modo de codificação m(Bn).
[00188] Enquanto um processo de predição é executado em cada um de todos os blocos de predição Pin de acordo com o modo de codificação m(Bn), um parâmetro de predição individual (parâmetro de intrapredição ou parâmetro de interpredição) pode ser selecionado para cada bloco de predição Pin.
[00189] A unidade de controle de codificação 2 gera um estado de divisão de bloco tal como o mostrado na Figura 10 para cada bloco de codificação maior, e então especifica blocos de codificação.
[00190] Cada retângulo incluído por uma linha pontilhada na Figura 10(a) mostra um bloco de codificação, e cada bloco cheio com linhas hachuradas em cada bloco de codificação mostra o estado de divisão de cada bloco de predição.
[00191] A Figura 10(b) mostra, usando um gráfico de 'quadtree', uma situação para qual um modo de codificação m(Bn) é nomeado pela divisão de camada hierárquica no exemplo mostrado na Figura 10(a). Cada nó incluído rqt □ pc Hkiwtc 32*d+ fi wo p„ *dnqeq fg eqfkfiec>«q+ cq swcn wo oqfq fg codificação m(Bn) está nomeado.
[00192] Informação sobre este gráfico de 'quadtree' é produzida, junto com o modo de codificação m(Bn), da unidade de controle de codificação 2 à unidade de codificação de comprimento variável 13, e é multiplexada em um fluxo de bits.
[00193] Quando o modo de codificação m(Bn) determinado pela unidade de controle de codificação 2 é o modo de intracodificação (em um caso de m(Bn) INTRA), o comutador de seleção 3 produz o bloco de codificação Bn, produzido da unidade de divisão de bloco 1, para a unidade de intrapredição 4.
[00194] Em contraste, quando o modo de codificação m(Bn) determinado pela unidade de controle de codificação 2 é o modo de intercodificação (em um caso de m(Bn) INTER), o comutador de seleção produz o bloco de codificação Bn, produzido da unidade de divisão de bloco 1, para a unidade de predição compensada em movimento 5.
[00195] Quando o modo de codificação m(Bn) determinado pela unidade de controle de codificação 2 é o modo de intracodificação (em um caso de m(Bn) INTRA), ao receber o bloco de codificação Bn do comutador de seleção 3 (etapa ST3), a unidade de intrapredição 4 executa o processo de intrapredição em cada bloco de predição Pin no bloco de codificação Bn usando o parâmetro de intrapredição determinado pela unidade de controle de codificação 2 enquanto se referindo à imagem de decodificação local armazenada na memória 10 para intrapredição, para gerar uma imagem de intrapredição PINTRAin (etapa ST4).
[00196] Porque o dispositivo de decodificação de vídeo precisa gerar uma imagem de intrapredição que é completamente igual à imagem de intrapredição PINTRAin, o parâmetro de intrapredição usado para gerar a imagem de intrapredição PINTRAin é produzido da unidade de controle de codificação 2 à unidade de codificação de comprimento variável 13, e é multiplexado no fluxo de bits.
[00197] Os detalhes do processamento executado pela unidade de intrapredição 4 serão mencionados mais tarde.
[00198] Quando o modo de codificação m(Bn) determinado pela unidade de controle de codificação 2 é o modo de intercodificação (em um caso de m(Bn) INTER), ao receber o bloco de codificação Bn do comutador de seleção 3 (etapa ST3), a unidade de predição compensada em movimento 5 compara cada bloco de predição Pin no bloco de codificação Bn com a imagem de decodificação local que está armazenada na memória de quadro de predição compensada em movimento 12 e em que o processo de filtragem é executado, para procurar um vetor de movimento, e executa o processo de interpredição em cada bloco de predição Pin no bloco de codificação Bn usando o vetor de movimento e o parâmetro de interpredição determinado pela unidade de controle de codificação 2, para gerar um imagem de interpredição PINTERin (etapa ST5).
[00199] Porque o dispositivo de decodificação de vídeo precisa gerar uma imagem de interpredição que é igual completamente a imagem de interpredição PINTERin, o parâmetro de interpredição usado para gerar a imagem de interpredição PINTERin é produzido da unidade de controle de codificação 2 à unidade de codificação de comprimento variável 13, e é multiplexado no fluxo de bits.
[00200] O vetor de movimento que é procurado pela unidade de predição compensada em movimento 5 também é produzido à unidade de codificação de comprimento variável 13, e é multiplexado no fluxo de bits.
[00201] Ao receber o bloco de codificação Bn da unidade de divisão de bloco 1, a unidade de subtração 6 subtrai qualquer uma da imagem de intrapredição PINTRAin gerada pela unidade de intrapredição 4 ou da imagem de interpredição PINTERin gerada pela unidade de predição compensada em movimento 5, do bloco de predição Pin no bloco de codificação Bn, e produz um sinal de diferença de predição ein mostrando uma imagem de diferença que é o resultado da subtração, para a unidade de transformação/quantização 7 (etapa ST6). Ao receber o sinal de diferença de predição ein da unidade de subtração 6, a unidade de transformação/quantização 7 se refere à informação de divisão de bloco de transformação ortogonal incluída nos parâmetros de codificação de diferença de predição determinados pela unidade de controle de codificação 2, e executa um processo de transformação ortogonal (por exemplo, processo de transformação ortogonal, tal como DCT (transformada de cosseno discreta), DST (transformada de seno discreta), e transformada de KL, em que bases são projetadas para sequência de aprendizagem específica com antecedência) no sinal de diferença de predição ein em uma base por bloco de transformação ortogonal, para calcular coeficientes de transformada.
[00202] A unidade de transformação/quantização 7 também se refere ao parâmetro de quantização incluído nos parâmetros de codificação de diferença de predição, para quantizar os coeficientes de transformada de cada bloco de transformação ortogonal, e produz dados comprimidos que são os coeficientes quantizados de transformada por esse meio, para a unidade de quantização inversa/transformação inversa 8 e a unidade de codificação de comprimento variável 13 (etapa ST7). Nesse momento, o processo de quantização pode ser executado usando uma matriz de quantização para graduação, para cada um dos coeficientes de transformada, o tamanho de etapa de quantização calculado do parâmetro de quantização descrito acima.
[00203] Ao receber os dados comprimidos da unidade de transformação/quantização 7, a unidade de quantização inversa/transformação inversa 8 se refere ao parâmetro de quantização e à informação de divisão de bloco de transformação ortogonal que estão incluídas nos parâmetros de codificação de diferença de predição determinados pela unidade de controle de codificação 2, para quantizar inversamente os dados comprimidos em uma base por bloco de transformação ortogonal.
[00204] Quando a unidade de transformação/quantização 7 executa um processo de quantização usando uma matriz de quantização, um processo de quantização inversa correspondente é executado, se referindo à matriz de quantização, também no processo de quantização inversa. A unidade de quantização inversa/transformação inversa 8 executa um processo de transformação ortogonal inversa (por exemplo, DCT inversa, DST inversa, transformada de KL inversa, ou similar) nos coeficientes de transformada que são os dados comprimidos quantizados inversamente por esse meio em uma base por bloco de transformação ortogonal, e calcula um sinal de diferença de predição de decodificação local correspondendo ao sinal de diferença de predição ein produzido da unidade de subtração 6, a ser produzido à unidade somadora 9 (etapa ST8).
[00205] Ao receber o sinal de diferença de predição de decodificação local da unidade de quantização inversa/transformação inversa 8, a unidade somadora 9 adiciona o sinal de diferença de predição de decodificação local e qualquer uma da imagem de intrapredição PINTRAin gerada pela unidade de intrapredição 4 ou da imagem de interpredição PINTERin gerada pela unidade de predição compensada em movimento 5, e assim calcula uma imagem de decodificação local (etapa ST9).
[00206] A unidade somadora 9 produz a imagem de decodificação local para a unidade de filtro em malha 11, enquanto armazenando a imagem de decodificação local na memória 10 para intrapredição.
[00207] Esta imagem de decodificação local será empregada como um sinal de imagem já codificada que é usado em processos de intrapredição subsequentes.
[00208] Ao receber a imagem de decodificação local da unidade somadora 9, a unidade de filtro em malha 11 executa o processo de filtragem predeterminado na imagem de decodificação local, e armazena a imagem de decodificação local processada por filtragem por esse meio na memória de quadro de predição compensada em movimento 12 (etapa ST10).
[00209] Concretamente, a unidade de filtro em malha executa um processo de filtragem (filtragem de 'desbloqueio') de reduzir distorção ocorrendo a um limite entre blocos de transformação ortogonal e a um limite entre blocos de predição, um processo (processo de deslocamento adaptável de pixel) de adicionar adaptavelmente um deslocamento em uma base por pixel, um processo de filtragem adaptável de comutar adaptavelmente entre filtros lineares, tais como filtros de Wiener, para executar o processo de filtragem, e assim por diante.
[00210] A unidade de filtro em malha 11 determina se executar ou não cada um do processo de filtragem de 'desbloqueio' supracitado, processo de deslocamento adaptável de pixel, e processo de filtragem adaptável, e produz uma bandeira válida de cada processo, como uma parte do conjunto de parâmetros adaptáveis e uma parte de um cabeçalho de nível de pedaço que são para serem codificados, para a unidade de codificação de comprimento variável 13. Quando uma pluralidade de processos de filtragem supracitados é usada, os processos de filtragem são executados sequencialmente. Figura 2 mostra um exemplo de uma configuração da unidade de filtro em malha 11 quando a pluralidade de processos de filtragem é usada.
[00211] Em geral, embora a qualidade de imagem melhore com o aumento no número de tipos de processos de filtragem a serem usados, a carga de processamento aumenta por outro lado. Mais especificamente, há um compromisso entre a qualidade de imagem e a carga de processamento. Também, um efeito de melhora de qualidade de imagem de cada processo de filtragem difere dependendo de características de imagens sujeitas ao processo de filtragem. Assim, o processo de filtragem a ser usado pode ser determinado de acordo com a carga de processamento aceitável para o dispositivo de codificação de vídeo e as características de imagens sujeitas ao processo de codificação.
[00212] Os processos das etapas ST3 por ST9 são executados repetidamente até que o processamento em todos os blocos de codificação Bn que são divididos hierarquicamente seja completado, e, ao completar o processamento em todo bloco de codificação Bn, troca a um processo da etapa ST13 (etapas ST11 e ST12).
[00213] A unidade de codificação de comprimento variável 13 codifica em comprimento variável os dados comprimidos que são produzidos da unidade de transformação/quantização 7, a informação de divisão de bloco de cada bloco de codificação maior (informação de 'quadtree' mostrada na Figura 10(b) como um exemplo) e o modo de codificação m(Bn) e os parâmetros de codificação de diferença predição que são produzidos da unidade de controle de codificação 2, o parâmetro de intrapredição (quando o modo de codificação é o modo de intracodificação) ou o parâmetro de interpredição (quando o modo de codificação é modo de intercodificação) que é produzido da unidade de controle de codificação 2, e o vetor de movimento que é produzido da unidade de predição compensada em movimento 5 (quando o modo de codificação é modo de intercodificação), e gera dados de codificação mostrando esses resultados codificados (etapa ST13).
[00214] Como exemplificado na Figura 3, a unidade de codificação de comprimento variável 13 codifica o conjunto de parâmetros de vídeo, cabeçalho de nível de sequência, cabeçalho de nível de quadro, e conjunto de parâmetros adaptáveis como a informação de cabeçalho do fluxo de bits codificado, e gera o fluxo de bits codificado junto com os dados de quadro.
[00215] Os dados de quadro estão configurados com um ou mais pedaços de dados de pedaço, e cada dado de pedaço é adquirido agregando o cabeçalho de nível de pedaço e os dados codificados descritos acima contidos no pedaço.
[00216] O cabeçalho de nível de sequência é adquirido agregando informação de cabeçalho que é geralmente comum em uma base por sequência, tal como um tamanho de imagem, um formato de sinal de cor, uma profundidade de bit de valores sinal de um sinal de luminância e um sinal de diferença de cor, informação de bandeira válida de cada processo de filtragem (processo de filtragem adaptável, processo de deslocamento adaptável de pixel, e processo de filtragem de 'desbloqueio') na unidade de filtro em malha 11 em uma base por sequência, e informação de bandeira válida de uma matriz de quantização.
[00217] O cabeçalho de nível de quadro é adquirido agregando informação de cabeçalho que é fixada em uma base por quadro, tal como um índice do cabeçalho de nível de sequência a ser referido, o número de quadros de referência na compensação de movimento, e uma bandeira de iniciação de uma tabela de probabilidade de codificação de entropia.
[00218] A cabeçalho de nível de pedaço é adquirido agregando parâmetros de cada pedaço, tal como informação posicional mostrando uma posição do pedaço em um quadro, um índice mostrando um cabeçalho de nível de quadro a ser referido, um tipo de codificação de um pedaço (toda intracodificação, intercodificação, etc.), um índice de um conjunto de parâmetros adaptáveis a ser usado no pedaço, e informação de bandeira mostrando se executar ou não cada processo de filtragem (processo de filtragem adaptável, processo de deslocamento adaptável de pixel, e processo de filtragem de 'desbloqueio') na unidade de filtro em malha 11 usando o conjunto de parâmetros adaptáveis indicado pelo índice descrito acima.
[00219] O conjunto de parâmetros adaptáveis é um conjunto de parâmetros tendo parâmetros (parâmetros de filtro) sobre o processo de filtragem adaptável, processo de deslocamento adaptável de pixel, e processo de filtragem de 'desbloqueio', e tendo um parâmetro (parâmetro de matriz de quantização) sobre a matriz de quantização. Cada conjunto de parâmetros adaptáveis tem um índice (aps_id) para identificar uma pluralidade de conjuntos de parâmetros adaptáveis multiplexados no fluxo de bits codificado.
[00220] Cada conjunto de parâmetros adaptáveis tem bandeiras (present_flag), cada uma mostrando se existe ou não cada um de parâmetros de filtro sobre o processo de filtragem adaptável, processo de deslocamento adaptável de pixel, e processo de filtragem de 'desbloqueio', e se existe ou não o parâmetro de matriz de quantização, e, se cada bandeira de existência é "válida", cada conjunto de parâmetros adaptáveis tem o parâmetro correspondente.
[00221] Portanto, se existe ou não cada parâmetro pode ser fixado livremente no conjunto de parâmetros adaptáveis.
[00222] Cada pedaço tem, em seu cabeçalho de nível de pedaço, pelo menos um ou mais índices (aps_id) do conjunto de parâmetros adaptáveis a serem referidos a um processo de decodificação do pedaço, e um processo de quantização, um processo de quantização inversa, e um processo de filtro em malha são executados se referindo ao conjunto de parâmetros adaptáveis correspondente.
[00223] Quando um conjunto de parâmetros adaptáveis é codificado e é multiplexado em um fluxo de bits codificado, se já existe, no fluxo de bits codificado, um conjunto de parâmetros adaptáveis tendo o mesmo índice (aps_id), o conjunto de parâmetros adaptáveis tendo o mesmo índice é substituído pelo conjunto de parâmetros adaptáveis descrito acima a ser codificado.
[00224] Portanto, ao codificar um novo conjunto de parâmetros adaptáveis, se um conjunto de parâmetros adaptáveis já codificado não for necessário, a codificação é executada pelo índice do conjunto de parâmetros adaptáveis desnecessário. Isto habilita uma atualização de sobrescrita do conjunto de parâmetros adaptáveis e evita o aumento do número de conjuntos de parâmetros adaptáveis a ser armazenado, e assim reduz a capacidade de memórias a serem usadas.
[00225] A seguir, o conjunto de parâmetros de vídeo será explicado.
[00226] No conjunto de parâmetros de vídeo, são codificadas uma bandeira mostrando se capacidade de graduação temporal é empregada ou não, o número máximo de camadas hierárquicas, e o tamanho de memória temporária de quadro de cada camada hierárquica, que são produzidas da unidade de controle de codificação 2.
[00227] No conjunto de parâmetros de vídeo, também é codificada uma "bandeira de existência de camada hierárquica básica" mostrando se uma camada hierárquica básica está incluída ou não em quadros que se referem ao conjunto de parâmetros de vídeo.
[00228] No exemplo mostrado nas Figuras 3 e 11, o conjunto de parâmetros de vídeo está codificado só na cabeça da sequência, a sequência mostrada nas Figuras 3 e 11 está configurada com quadros na camada hierárquica básica e na primeira camada hierárquica, e os quadros na camada hierárquica básica e na primeira camada hierárquica estão codificados se referindo ao conjunto de parâmetros de vídeo 1. Neste caso, desde que os quadros que se referem ao conjunto de parâmetros de vídeo incluem a camada hierárquica básica, uma camada de existência bandeira hierárquica básica mostrando se a camada hierárquica básica está incluída ou não nos quadros que se referem ao conjunto de parâmetros de vídeo, é fixado a um valor (por exemplo 1) para mostrar que a camada hierárquica básica está incluída.
[00229] No exemplo mostrado nas Figuras 12 e 13, a sequência está configurada para cada uma das camadas hierárquicas, o conjunto de parâmetros de vídeo está codificado só na cabeça da sequência está codificado para cada uma das camadas hierárquicas, e os quadros na camada hierárquica básica estão codificados se referindo ao conjunto de parâmetros de vídeo 1. Neste caso, desde que os quadros que se referem ao conjunto de parâmetros de vídeo 1 incluem a camada hierárquica básica, uma bandeira de existência de camada hierárquica básica mostrando se a camada hierárquica básica está incluída ou não nos quadros que se referem ao conjunto de parâmetros de vídeo 1, é fixada a um valor (por exemplo 1) para mostrar que a camada hierárquica básica está incluída. Por outro lado, desde que os quadros que se referem ao conjunto de parâmetros de vídeo 2 não incluem a camada hierárquica básica, uma bandeira de existência de camada hierárquica básica mostrando se a camada hierárquica básica está incluída ou não nos quadros que se referem ao conjunto de parâmetros de vídeo 2, é fixada a um valor (por exemplo 0) para mostrar que a camada hierárquica básica não está incluída.
[00230] Quando a bandeira de existência de camada hierárquica básica mostra que a camada hierárquica básica não está incluída, o número máximo de camadas hierárquicas pode ser restringido de modo a ter um valor de mais que um, porque a sequência precisa ser configurada com quadros da camada hierárquica básica e uma ou mais camadas hierárquicas.
[00231] Como outro exemplo, quando o número máximo de camadas hierárquicas é mais que um, a bandeira de existência de camada hierárquica básica pode ser codificada no conjunto de parâmetros de vídeo.
[00232] No conjunto de parâmetros de vídeo, um índice (video_parameteter_set_id) para identificar uma pluralidade de conjuntos de parâmetros de vídeo que estão multiplexados no fluxo de bits codificado também é codificado.
[00233] No exemplo mostrado na Figura 12, codificação pode ser executada de forma que o índice de identificação (video_parameteter_set_id) para o conjunto de parâmetros de vídeo 1 tenha um mesmo valor como aquele para o conjunto de parâmetros de vídeo 2. Quer dizer, codificação é executada de forma que o índice de identificação para o conjunto de parâmetros de vídeo referido pelos quadros que são codificados hierarquicamente em tempo na mesma sequência tenha o mesmo valor.
[00234] Sobre valores de parâmetros (número máximo de camadas hierárquicas, tamanho de memória temporária de quadro de cada camada hierárquica, e índice de identificação) para o conjunto de parâmetros de vídeo referido pelos quadros que são codificados hierarquicamente em tempo na mesma sequência, diferente da bandeira de existência de camada hierárquica básica mostrando se a camada hierárquica básica está incluída ou não, codificação pode ser executada de forma que os parâmetros tenham o mesmo valor, ou pode ser executada de forma que cada um dos parâmetros tenha um valor diferente.
[00235] A seguir, um exemplo será explicado no qual o fluxo de bits codificado mostrado nas Figuras 12 e 13 é transmitido usando uma linha diferente para cada uma das camadas hierárquicas. Os dados codificados sobre os quadros da camada hierárquica básica que se refere ao conjunto de parâmetros de vídeo 1 é transmitido, por exemplo, usando a onda de rádio, e os dados codificados sobre os quadros da primeira camada hierárquica e assim por diante que se referem ao conjunto de parâmetros de vídeo 2 são transmitidos, por exemplo, usando a rede de IP.
[00236] Em um dispositivo de decodificação que recebe só a onda de rádio e executa decodificação, só os quadros na camada hierárquica básica podem ser decodificados normalmente.
[00237] Em um dispositivo de decodificação que recebe dados por ambas a onda de rádio e a rede de IP e executa decodificação, ao receber, pela onda de rádio, os dados codificados sobre os quadros que se referem ao conjunto de parâmetros de vídeo 1, a bandeira de existência de camada hierárquica básica indica que a camada hierárquica básica está incluída, e assim os quadros na camada hierárquica básica podem ser decodificados normalmente. Depois disso, ao receber, pela rede de IP, os dados codificados sobre o quadro que se refere ao conjunto de parâmetros de vídeo 2, a bandeira de existência de camada hierárquica básica indica que a camada hierárquica básica não está incluída. Porém, desde que os quadros na camada hierárquica básica já foram decodificados, quadros na primeira camada hierárquica e assim por diante podem ser decodificados normalmente. Ao receber, pela rede de IP, os dados codificados sobre o quadro que se refere ao conjunto de parâmetros de vídeo 2, antes de receber, pela onda de rádio, os dados codificados sobre os quadros que se referem ao conjunto de parâmetros de vídeo 1, é determinado, na base do valor de bandeira de existência de camada hierárquica básica decodificado do conjunto de parâmetros de vídeo 2, que os quadros na camada hierárquica básica não estão incluídos nos dados codificados, recebidos pela rede de IP, sobre os quadros que se referem ao conjunto de parâmetros de vídeo 2, e, porque decodificação dos dados codificados, recebidos pela onda de rádio, sobre os quadros que se referem ao conjunto de parâmetros de vídeo 1 não foram completados, também é determinado que decodificação precisa ser começada depois da conclusão da decodificação supracitada. Enquanto um caso é explicado no exemplo mostrado na Figura 13 em que a bandeira de existência de camada hierárquica básica está fixada nos conjuntos de parâmetros de vídeo sobre a camada hierárquica básica e a primeira camada hierárquica, quando a bandeira de existência de camada hierárquica básica mesma como aquela na primeira camada hierárquica está fixada, por exemplo, no conjunto de parâmetros de vídeo 3 sobre a segunda camada hierárquica e os dados codificados sobre o quadro que se refere ao conjunto de parâmetros de vídeo 3 é recebida primeiro, é determinado que decodificação precisa ser começada depois da conclusão da decodificação dos dados codificados sobre os quadros que se referem ao conjunto de parâmetros de vídeo 1 e dos dados codificados sobre os quadros que se referem ao conjunto de parâmetros de vídeo 2.
[00238] O conjunto de parâmetros de vídeo é codificado à frente do cabeçalho de nível de sequência, e um índice de identificação (video_parameteter_set_id) de um parâmetro vídeo a ser referido é codificado no cabeçalho de nível de sequência.
[00239] Em um dispositivo de codificação/decodificação convencional que não tem nenhuma bandeira de existência de camada hierárquica básica, um caso não é previsto no qual, por exemplo, o conjunto de parâmetros de vídeo 2 é recebido pela rede de IP antes de receber o conjunto de parâmetros de vídeo 1 pela onda de rádio. Portanto, desde que decodificação começa ao receber uma sequência, uma situação na qual os dados de vídeo do quadro de camada hierárquica básica estão incluídos é indispensável para executar a decodificação. Por outro lado, no dispositivo de codificação/decodificação na presente invenção, até mesmo em um caso no qual o dispositivo de decodificação não recebe sempre o fluxo de bits codificado na ordem de camadas hierárquicas, por exemplo o fluxo de bits codificado é transmitido usando uma linha diferente para cada uma das camadas hierárquicas, a bandeira de existência de camada hierárquica básica é codificada como um conjunto de parâmetros de vídeo, a bandeira mostrando se a camada hierárquica básica está incluída ou não nos quadros que se referem ao conjunto de parâmetros de vídeo, e assim o dispositivo de decodificação pode determinar se os quadros na camada hierárquica básica estão incluídos ou não. Portanto, desde que um processo pode ser executado em que, quando os quadros na camada hierárquica básica estão incluídos, os quadros na camada hierárquica básica são decodificados imediatamente, e em que, quando os quadros na camada hierárquica básica não estão incluídos, decodificação é executada depois que os quadros na camada hierárquica básica são decodificados, um processo de codificação e decodificando graduável pode ser executado de tal modo que os dados de vídeo nos quais só o quadro pertencendo à camada hierárquica superior é codificada podem ser processados separadamente.
[00240] Não só na capacidade de graduação temporal, mas também em outros métodos de codificação graduável e um método de codificação de multivisão, a bandeira de existência de camada hierárquica básica pode ser uma bandeira mostrando se quadros em uma camada hierárquica básica ou uma visão básica estão incluídos ou não em quadros a serem referidos.
[00241] Como outro exemplo de um conjunto de parâmetros de vídeo, pode ser codificada uma bandeira de referência de camada hierárquica inferior mostrando que um quadro (quadro interessado) de uma camada hierárquica que se refere ao conjunto de parâmetros de vídeo não se refere, em uma predição, a quadros de uma camada hierárquica inferior que aquela sua própria (quadro interessado). Como mostrado nas Figuras 14 e 15, quando o capacidade de graduação temporal é empregada e quando a bandeira de referência de camada hierárquica inferior está fixada a um valor (por exemplo 1) mostrando que quadros de uma camada hierárquica inferior que aquela do quadro interessado não estão referidos em uma predição, quadros de referência que podem ser usados na predição estão limitados a quadros pertencendo a uma camada hierárquica mesma como aquela do quadro interessado, e assim uma unidade de quadro (subfluxo de bis) que se refere ao conjunto de parâmetros de vídeo pode ser fixada indiferente se existe ou não uma camada hierárquica inferior que aquela do quadro interessado. Enquanto isso, quando não é mostrado que quadros de uma camada hierárquica inferior que aquela do quadro interessado não estão referidos em uma predição, a bandeira de referência de camada hierárquica inferior é fixada a 0, por exemplo.
[00242] Por exemplo, quando os dados codificados sobre quadros da camada hierárquica básica que se referem ao conjunto de parâmetros de vídeo 1 são transmitidos usando, por exemplo, a onda de rádio, e quando os dados codificados sobre quadros da primeira e segunda camadas hierárquicas que se referem ao conjunto de parâmetros de vídeo 2 e os dados codificados sobre quadros da terceira camada hierárquica que se referem ao conjunto de parâmetros de vídeo 3 são transmitidos usando, por exemplo, a rede de IP, se a bandeira de referência de camada hierárquica inferior de quaisquer dos conjuntos de parâmetro de vídeo for fixada a um valor mostrando que quadros de uma camada hierárquica inferior que aquela do quadro interessado não estão referidos na predição, como mostrado na Figura 15, o dispositivo de decodificação que recebe os dados (subfluxos de bits 1 e 2) transmitidos usando a rede de IP pode decodificar imediatamente os dados recebidos, indiferente se os quadros da camada hierárquica inferior que aquela do quadro interessado já estão recebidos ou não.
[00243] No dispositivo de codificação/decodificação convencional que não tem nenhuma bandeira de referência de camada hierárquica inferior, desde quadros de uma camada hierárquica inferior que aquela do quadro interessado são sempre referidos em uma predição, só um subfluxo de bits tendo a camada hierárquica básica pode ser definido. Por outro lado, no dispositivo de codificação/decodificação na presente invenção, a bandeira de referência de camada hierárquica inferior é codificada como um conjunto de parâmetros de vídeo, a bandeira mostrando que um quadro de uma camada hierárquica que se refere ao conjunto de parâmetros de vídeo não se refere, em uma predição, a quadros de uma camada hierárquica inferior que aquela do quadro interessado. Assim, uma unidade de quadro (subfluxo de bits) que se refere ao conjunto de parâmetros de vídeo pode ser fixada indiferente se existe ou não uma camada hierárquica inferior que aquela do quadro interessado, e, ao receber um tal subfluxo de bits, o dispositivo de decodificação pode decodificar imediatamente os dados recebidos, indiferente de se os quadros da camada hierárquica inferior que aquela do quadro interessado já estão recebidos ou não. Portanto, um dispositivo pode ser obtido no qual um processo de codificação e decodificação graduável pode ser executado de tal modo que os dados de vídeo nos quais só a quadro pertencendo à camada hierárquica superior é codificada podem ser processados separadamente.
[00244] Não só na capacidade de graduação temporal, mas também em outros métodos de codificação graduável e um método de codificação de multivisão, a bandeira de referência de camada hierárquica inferior pode ser uma bandeira mostrando que quadros que podem ser usados na predição estão limitados a quadros pertencendo a uma camada hierárquica ou uma mesma visão como aquela do quadro interessado.
[00245] Enquanto um caso é explicado no qual a bandeira de existência de camada hierárquica básica descrita acima e bandeira de referência de camada hierárquica inferior estão codificadas separadamente como um conjunto de parâmetros de vídeo, a bandeira de existência de camada hierárquica básica e bandeira de referência de camada hierárquica inferior podem ser codificadas de uma maneira combinada. Por exemplo, quando dados de vídeo nos quais só quadros pertencendo as camadas hierárquicas superiores estão codificados é pedido para ser processado separadamente enquanto os dados de vídeo são dados a serem decodificados sem diminuir eficiência de codificação, como mostrado nas Figuras 14 e 16, a bandeira de existência de camada hierárquica básica de cada um de quadros (subfluxos de bits 1 e 2) pertencendo às camadas hierárquicas superiores é fixada a 0 e a bandeira de referência de camada hierárquica inferior de cada um dos quadros é fixada a 1, e assim, ao receber os subfluxos de bits 1 e 2, o dispositivo de decodificação decodifica os subfluxos de bits 1 e 2 depois da conclusão de receber o subfluxo de bits 1. Quando dados de vídeo nos quais só quadros pertencendo a camadas hierárquicas superiores estão codificados é pedido para ser processado separadamente enquanto os dados de vídeo nos quais só os quadros pertencendo às camadas hierárquicas superiores estão codificadas são dados a serem processados sozinhos, como mostrado nas Figuras 14 e 17, a bandeira de existência de camada hierárquica básica de cada um de quadros (subfluxos de bits 1 e 2) pertencendo às camadas hierárquicas superiores é fixada a 0 e a bandeira de referência de camada hierárquica inferior de cada um dos quadros é fixada a 0, e assim, ao receber os subfluxos de bits 1 e 2, o dispositivo de decodificação decodifica os subfluxos de bits 1 e 2 indiferente se existe ou não uma camada hierárquica inferior que aquela do quadro interessado. Deste modo, usando a bandeira de existência de camada hierárquica básica e a bandeira de referência de camada hierárquica inferior de uma maneira combinada, fica possível mudar processamento para cada dado de aplicação tendo pedido diferente.
[00246] Enquanto um caso é explicado na Modalidade 1 em que a bandeira de existência de camada hierárquica básica descrita acima e bandeira de referência de camada hierárquica inferior estão fixadas em um conjunto de parâmetros de vídeo, as bandeiras podem ser fixadas em um cabeçalho de nível de sequência.
[00247] Enquanto um caso é explicado na Modalidade 1 na qual a bandeira de existência de camada hierárquica básica tem um conjunto de modos, isto é, mostrando que a camada hierárquica básica está incluída (por exemplo 1) e mostrando que a camada hierárquica básica não está incluída (por exemplo 0), a bandeira pode ter outro conjunto de modos, isto é, mostrando que a camada hierárquica básica não está incluída (por exemplo 1) e não mostrando que a camada hierárquica básica não está incluída (por exemplo 0).
[00248] Enquanto um caso é explicado na Modalidade 1 no qual a bandeira de referência de camada hierárquica inferior tem um conjunto de modos, isto é, mostrando que um quadro de uma camada hierárquica que se refere ao conjunto de parâmetros de vídeo não se refere, em uma predição, a quadros de uma camada hierárquica inferior que aquela do quadro interessado (por exemplo 1) e não mostrando que um quadro não se refere (por exemplo 0), a bandeira pode ter outro conjunto de modos, isto é, mostrando que um quadro de uma camada hierárquica que se refere ao conjunto de parâmetro vídeo não se refere, em uma predição, a quadros de uma camada hierárquica inferior que aquela do quadro interessado (por exemplo 1) e mostrando que um quadro se refere (por exemplo 0).
[00249] Valores 0 e 1 entre ambas as bandeiras podem ser fixados contrariamente.
[00250] A seguir, codificação de uma unidade de NAL que inclui um conjunto de parâmetros de vídeo como dados codificados será explicada. Como descrito acima, a unidade de NAL está configurada com a seção de cabeçalho e a seção de dados de carga útil, e a informação de tipo e o número de identificação de camada hierárquica, etc., estão incluídas na seção de cabeçalho. Um valor codificado do número de identificação de camada hierárquica quando a informação de tipo indica um conjunto de parâmetros de vídeo será explicado. Como descrito acima, o número de identificação de camada hierárquica é um número para mostrar, quando dados de vídeo estão codificados hierarquicamente em tempo, à qual camada hierárquica os dados codificados se relacionam. Quando dados codificados se relacionam a uma pluralidade de camadas hierárquicas, tal como um conjunto de parâmetros de vídeo, um número mostrando uma relação com a camada hierárquica inferior é codificado. No exemplo mostrado nas Figuras 3 e 11, desde que o conjunto de parâmetros de vídeo está referido pela camada hierárquica básica e primeira camada hierárquica, os dados codificados se relacionam à camada hierárquica básica e primeira camada hierárquica. Neste caso, como o número de identificação de camada hierárquica da unidade de NAL que inclui o conjunto de parâmetros de vídeo, "0" que mostra a camada hierárquica inferior, isto é, a camada hierárquica básica, é codificado. No exemplo mostrado nas Figuras 12 e 13, desde que quadros na camada hierárquica básica estão codificados se referindo ao conjunto de parâmetros de vídeo 1 e quadros na primeira camada hierárquica estão codificados se referindo ao conjunto de parâmetros de vídeo 2, "0" é codificado como o número de identificação de camada hierárquica da unidade de NAL que inclui o conjunto de parâmetros de vídeo 1, e "1" é codificado como o número de identificação de camada hierárquica da unidade de NAL que inclui o conjunto de parâmetros de vídeo 2.
[00251] A seguir, o processo executado pela unidade de intrapredição 4 será explicado em detalhes.
[00252] A Figura 18 é um desenho explicativo mostrando um exemplo de modos de intrapredição cada um dos quais é um parâmetro de intrapredição que pode ser selecionado para cada bloco de predição Pin no bloco de codificação Bn. Aqui, NI mostra o número de modos de intrapredição.
[00253] Na Figura 18, os valores de índice dos modos de intrapredição e vetores de direção de predição representados por cada um dos modos de intrapredição são mostrados. No exemplo mostrado na Figura 18, é designado que um ângulo relativo entre vetores de direção de predição diminui quando o número de modos de intrapredição selecionáveis aumenta.
[00254] A unidade de intrapredição 4 executa, como mencionado acima, o processo de intrapredição em cada bloco de predição Pin se referindo ao parâmetro de intrapredição do bloco de predição Pin, para gerar uma imagem de intrapredição PINTRAin. Aqui, um intraprocesso de gerar um sinal de intrapredição de um bloco de predição Pin em um sinal de luminância será explicado.
[00255] É assumido que o tamanho do bloco de predição Pin é lin x min pixels.
[00256] A Figura 19 é um desenho explicativo mostrando um exemplo de pixels que são usados ao gerar um valor predito de cada pixel no bloco de predição Pin em um caso de lin = min = 4.
[00257] Embora (2 lin x + 1) pixels já codificados localizados acima do bloco de predição Pin e (2 x min) pixels já codificados localizados à esquerda disso são fixados como os pixels usados para predição na Figura 19, um número maior ou menor de pixels que os pixels mostrados na Figura 19 pode ser usado a predição.
[00258] Ademais, embora uma fila ou uma coluna de pixels adjacentes ao bloco de predição Pin seja usada para predição na Figura 19, duas ou mais filas ou colunas de pixels podem ser usadas alternativamente para a predição.
[00259] Quando o valor de índice do modo de intrapredição para o bloco de predição Pin é 0 (predição planar), pixels já codificados adjacentes ao topo do bloco de predição Pin e pixels já codificados adjacentes à esquerda do bloco de predição Pin são usados para gerar uma imagem de predição na qual um valor interpolado de acordo com a distância entre estes pixels e o pixel visado a ser predito no bloco de predição Pin é empregado como um valor predito.
[00260] Ademais, quando o valor de índice do modo de intrapredição para o bloco de predição Pin é 2 (predição de valor médio (CC)), uma imagem de predição é gerada na qual cada valor médio dos pixels já codificados adjacentes ao topo do bloco de predição Pin e os pixels já codificados adjacentes à esquerda do bloco de predição Pin é empregada como um valor predito de cada pixel no bloco de predição Pin.
[00261] Quando o valor de índice do modo de intrapredição é diferente de 0 (predição planar) e 2 (predição de valor médio), um valor predito de cada pixel no bloco de predição Pin é gerado na base de um vetor de direção de predição up = (dx, dy) mostrado pelo valor de índice.
[00262] Como mostrado na Figura 19, quando as coordenadas relativas no bloco de predição Pin são expressas como (x, y) com o pixel no canto esquerdo superior do bloco de predição Pin sendo definido como o ponto de origem, cada pixel de referência que é usado para a predição está localizado a um ponto de interseção L mostrado abaixo e um pixel adjacente;
Figure img0001
onde k é um valor escalar negativo.
[00263] Quando um pixel de referência está a uma posição de pixel inteiro, o valor do pixel inteiro correspondente é determinado como um valor predito do pixel visado a ser predito, enquanto quando um pixel de referência não está a uma posição de pixel inteiro, o valor de um pixel de interpolação gerado dos pixels inteiros que estão adjacentes ao pixel de referência é determinado como um valor predito.
[00264] No exemplo mostrado na Figura 19, porque um pixel de referência não está localizado a uma posição de pixel inteiro, o valor predito é interpolado dos valores de dois pixels adjacentes ao pixel de referência. Não só os dois pixels adjacentes, mas também dois ou mais pixels adjacentes podem ser usados em gerar um pixel de interpolação e o valor deste pixel de interpolação pode ser empregado como um valor predito.
[00265] O aumento no número de pixels usados para o processo de interpolação provê uma vantagem de melhorar a precisão em computação de um pixel de interpolação. Por outro lado, porque também aumenta o grau de complexidade em computações requeridas para o processo de interpolação, é preferível gerar um pixel de interpolação de um número maior de pixels quando o dispositivo de codificação de vídeo requerer qualidade de codificação alta até mesmo se a carga de aritmética for grande.
[00266] Pelo processo descrito acima, pixels de predição para todos os pixels do sinal de luminância no bloco de predição Pin são gerados, e uma imagem de intrapredição PINTRAin é produzida.
[00267] O parâmetro de intrapredição (modo de intrapredição) usado para gerar a imagem de intrapredição PINTRAin é produzida à unidade de codificação de comprimento variável 13, a ser multiplexado no fluxo de bits.
[00268] Semelhante a um processo de alisamento executado em uma imagem de referência a uma intrapredição em um bloco de 8x8 pixels sob o método de codificação de MPEG-4 AVC/H.264 explicado previamente, até mesmo se uma configuração for empregada na unidade de intrapredição 4 em que um pixel já codificado, adjacente ao bloco de predição Pin no qual um processo de alisamento é executado é provido como um pixel de referência ao gerar uma imagem de predição intermediária do bloco de predição Pin, o processo de filtragem, que é igual ao exemplo supracitado, pode ser executado na imagem de predição intermediária.
[00269] Um processo de intrapredição baseado no parâmetro de intrapredição (modo de intrapredição) em cada um dos sinais de diferença de cor do bloco de predição Pin também é executado de acordo com o procedimento mesmo como aquele para o sinal de luminância, e o parâmetro de intrapredição usado para gerar a imagem de intrapredição é produzido à unidade de codificação de comprimento variável 13.
[00270] Porém, parâmetros de intrapredição selecionáveis (modos de intrapredição) para cada um dos sinais de diferença de cor podem diferir daqueles para o sinal de luminância. Por exemplo, em um caso de um sinal de YUV tendo um formato 4:2:0, cada um dos sinais de diferença de cor (sinais U e V) é um sinal cuja resolução é reduzida à metade daquela do sinal de luminância (sinal Y) ambos em uma direção horizontal e uma direção vertical e complexidade de sinal de imagem disso é mais baixa que aquela do sinal de luminância, e consequentemente uma predição pode ser executada facilmente. Portanto, reduzindo o número de parâmetros de intrapredição selecionáveis comparado àquele para o sinal de luminância, a quantidade de código exigida para codificar o parâmetro de intrapredição e a quantidade de computação para o processo de predição podem ser reduzidas.
[00271] A seguir, o processamento executado pelo dispositivo de decodificação de vídeo mostrado na Figura 6 será explicado concretamente.
[00272] Ao receber o fluxo de bits codificado gerado pelo dispositivo de codificação de vídeo mostrado na Figura 1, a unidade de decodificação de comprimento variável 31 executa um processo de decodificação de comprimento variável no fluxo de bits (etapa ST21 na Figura 8) para decodificar o seguinte: informação de cabeçalho (cabeçalho de nível de sequência) para cada sequência configurada com quadros de um ou mais quadros, incluindo informação de tamanho de quadro e informação tal como uma bandeira mostrando se os quadros na sequência codificada como o conjunto de parâmetros de vídeo estão codificados hierarquicamente em tempo ou não, o número máximo de camadas hierárquicas, o tamanho de memória temporária de quadro precisado para cada camada hierárquica, e a bandeira de existência de camada hierárquica básica mostrando se a camada hierárquica básica está incluída ou não nos quadros que se referem ao conjunto de parâmetros de vídeo, etc.; informação de cabeçalho (cabeçalho de nível de quadro) para cada quadro; e o parâmetro de filtro e o parâmetro de matriz de quantização, a serem usados na unidade de filtro em malha 38, codificados como o conjunto de parâmetros adaptáveis.
[00273] Quando a bandeira de referência de camada hierárquica inferior é codificada como o conjunto de parâmetros de vídeo no dispositivo de codificação, a bandeira mostrando se um quadro de uma camada hierárquica que se refere ao conjunto de parâmetros de vídeo se refere ou não, em uma predição, a quadros de uma camada hierárquica inferior que aquela do quadro interessado, a bandeira é decodificada.
[00274] Quando o número máximo de camadas hierárquicas é mais que um e quando a bandeira de existência de camada hierárquica básica está codificada no conjunto de parâmetros de vídeo, a bandeira de existência de camada hierárquica básica é para ser decodificada só quando o número máximo de camadas hierárquicas for mais que um.
[00275] Operações e efeitos quando a bandeira de existência de camada hierárquica básica e a bandeira de referência de camada hierárquica inferior estão decodificadas já estão descritos.
[00276] A unidade de decodificação de comprimento variável 31 também determina o tamanho de bloco de codificação maior e o limite superior no número de camadas hierárquicas divididas que são determinadas pela unidade de controle de codificação 2 do dispositivo de codificação de vídeo mostrado na Figura 1, de acordo com o procedimento mesmo como aquele no dispositivo de codificação de vídeo (etapa ST22).
[00277] Por exemplo, quando o tamanho de bloco de codificação maior e o limite superior no número de camadas hierárquicas divididas são determinados de acordo com a resolução do sinal de vídeo, o tamanho de bloco de codificação maior é determinado na base da informação de tamanho de quadro decodificada, de acordo com o procedimento mesmo como aquele no dispositivo de codificação de vídeo.
[00278] Quando o tamanho de bloco de codificação maior e o limite superior no número de camadas hierárquicas divididas são multiplexados no cabeçalho de nível de sequência ou similar pelo dispositivo de codificação de vídeo, os valores decodificados do cabeçalho são usados.
[00279] Doravante, no dispositivo de decodificação de vídeo, o tamanho de bloco de codificação maior supracitado é chamado um tamanho de bloco de decodificação maior, e o bloco de codificação maior é chamado um bloco de decodificação maior.
[00280] A unidade de decodificação de comprimento variável 31 decodifica o estado de divisão de um bloco de decodificação maior mostrado na Figura 10, para cada dado bloco de decodificação maior. Blocos de decodificação (blocos correspondendo a "blocos de codificação" em dispositivo de codificação de vídeo mostrado na Figura 1) são especificados hierarquicamente na base do estado de divisão decodificado (etapa ST23).
[00281] A unidade de decodificação de comprimento variável 31 então decodifica o modo de codificação nomeado a cada bloco de decodificação. Cada bloco de decodificação é dividido ademais em um ou mais blocos de predição cada um servindo como uma unidade para processo de predição, na base da informação incluída no modo de codificação, que é decodificado, e o parâmetro de predição nomeado a cada bloco de predição é decodificado (etapa ST24).
[00282] Mais especificamente, quando o modo de codificação nomeado a um bloco de decodificação é o modo de intracodificação, a unidade de decodificação de comprimento variável 31 decodifica o parâmetro de intrapredição para cada do um ou mais blocos de predição que estão incluídos no bloco de decodificação e cada um servindo como uma unidade para o processo de predição.
[00283] Em contraste, quando o modo de codificação nomeado a um bloco de decodificação é o modo de intercodificação, a unidade de decodificação de comprimento variável decodifica o parâmetro de interpredição e o vetor de movimento para cada um do um ou mais blocos de predição que estão incluídos no bloco de decodificação e cada um servindo como uma unidade para o processo de predição (etapa ST24).
[00284] A unidade de decodificação de comprimento variável 31 também decodifica os dados comprimidos (coeficientes de transformada transformados e quantizados) para cada bloco de transformação ortogonal na base da informação de divisão de bloco de transformação ortogonal incluída nos parâmetros de codificação de diferença de predição (etapa ST24).
[00285] Quando o modo de codificação m(Bn) decodificado em comprimento variável pela unidade de decodificação de comprimento variável 31 é um modo de intracodificação (quando m(Bn) INTRA), o comutador de seleção 33 produz o parâmetro de intrapredição para cada bloco de predição, que é decodificado em comprimento variável pela unidade de decodificação de comprimento variável 31, para a unidade de intrapredição 34.
[00286] Em contraste, quando o modo de codificação m(Bn) decodificado em comprimento variável pela unidade de decodificação de comprimento variável 31 é o modo de intercodificação (quando m(Bn) INTER), o comutador de seleção produz o parâmetro de interpredição e o vetor de movimento para cada bloco de predição, que são decodificados em comprimento variável pela unidade de decodificação de comprimento variável 31 para a unidade de compensação de movimento 35.
[00287] Quando o modo de codificação m(Bn) decodificado em comprimento variável pela unidade de decodificação de comprimento variável 31 é o modo de intracodificação (m(Bn) INTRA) (etapa ST25), a unidade de intrapredição 34 recebe o parâmetro de intrapredição para cada bloco de predição produzido do comutador de seleção 33, e executa um processo de intrapredição, usando o supracitado parâmetro de intrapredição e de acordo com o procedimento mesmo como aquele na unidade de intrapredição 4 mostrada na Figura 1, em cada bloco de predição Pin no bloco de decodificação Bn enquanto se referindo à imagem decodificada armazenada na memória 37 para intrapredição, para gerar uma imagem de intrapredição PINTRAin (etapa ST26).
[00288] Quando o modo de codificação m(Bn) decodificado em comprimento variável pela unidade de decodificação de comprimento variável 31 é o modo de intercodificação (m(Bn) e INTER) (etapa ST25), a unidade de compensação de movimento 35 recebe o vetor de movimento e o parâmetro de interpredição para cada bloco de predição que são produzidos do comutador de seleção 33, e executa um processo de interpredição, usando o vetor de movimento e o parâmetro de interpredição, em cada bloco de predição Pin no bloco de decodificação Bn enquanto se referindo à imagem decodificada armazenada na memória de quadro de predição compensada em movimento 39 e em que o processo de filtragem é executado, para gerar uma imagem de interpredição PINTERin (etapa ST27).
[00289] Ao receber os dados comprimidos e a parâmetros de codificação de diferença de predição da unidade de decodificação de comprimento variável 31, a unidade de quantização inversa/transformação inversa 32 quantiza inversamente os dados comprimidos para cada bloco de transformação ortogonal se referindo ao parâmetro de quantização e à informação de divisão de bloco de transformação ortogonal que estão incluídas nos parâmetros de codificação de diferença de predição, de acordo com o procedimento mesmo como aquele na unidade de quantização inversa/transformação inversa 8 mostrada na Figura 1.
[00290] Nesse momento, a informação de cabeçalho decodificada em comprimento variável pela unidade de decodificação de comprimento variável 31 é referida, e, quando a informação de cabeçalho mostra que o processo de quantização inversa usando a matriz de quantização é executado no pedaço, o processo de quantização inversa é executado usando a matriz de quantização.
[00291] Nesse momento, se referindo à informação de cabeçalho decodificada em comprimento variável pela unidade de decodificação de comprimento variável 31, a matriz de quantização usada para cada sinal de cor e modo de codificação (intracodificação ou intercodificação) em cada tamanho de transformação ortogonal é especificada.
[00292] Concretamente, uma matriz de quantização do conjunto de parâmetros adaptáveis que é especificada por um cabeçalho de nível de pedaço e que é referida pelo pedaço, é fixada como a matriz de quantização a ser usada no pedaço.
[00293] A unidade de quantização inversa/transformação inversa 32 também executa um processo de transformação ortogonal inversa nos coeficientes de transformada, para cada bloco de transformação ortogonal, que são os dados comprimidos quantizados inversamente, para calcular um sinal de diferença de predição de decodificação que é igual ao sinal de diferença de predição de decodificação local produzido da unidade de quantização inversa/transformação inversa 8 mostrado na Figura 1 (etapa ST28).
[00294] A unidade somadora 36 adiciona o sinal de diferença de predição de decodificação calculado pela unidade de quantização inversa/transformação inversa 32 e qualquer uma da imagem de intrapredição PINTRAin gerada pela unidade de intrapredição 34 ou a imagem de interpredição PINTERin gerada pela unidade de compensação de movimento 35, para calcular uma imagem decodificada e produz a imagem decodificada para a unidade de filtro em malha 38, e também armazena a imagem decodificada na memória 37 para intrapredição (etapa ST29).
[00295] Esta imagem decodificada é um sinal de imagem decodificado a ser usado em processos de intrapredição subsequentes.
[00296] Ao completar os processos das etapas ST23 por ST29 em todos os blocos de decodificação Bn (etapa ST30), a unidade de filtro em malha 38 executa um processo de filtragem predeterminado na imagem decodificada produzida da unidade somadora 36, e armazena a imagem decodificada processada por filtragem por esse meio na memória de quadro de predição compensada em movimento 39 (etapa ST31).
[00297] Concretamente, a unidade de filtro em malha executa um processo de filtragem (filtragem de 'desbloqueio') de reduzir distorção ocorrendo a um limite entre blocos de transformação ortogonal e a um limite entre blocos de predição, um processo (processo de deslocamento adaptável de pixel) de adicionar adaptavelmente um deslocamento a cada pixel, um processo de filtragem adaptável de comutar adaptavelmente entre filtros lineares, tais como filtros de Wiener, e executar o processo de filtragem, e assim por diante.
[00298] A unidade de filtro em malha 38 determina, se referindo à informação de cabeçalho decodificada em comprimento variável pela unidade de decodificação de comprimento variável 31, se executar ou não cada um do supracitado processo de filtragem de 'desbloqueio', processo de deslocamento adaptável de pixel, e processo de filtragem adaptável no pedaço.
[00299] Nesse momento, quando dois ou mais processos de filtragem são executados, se a unidade de filtro em malha 11 no dispositivo de codificação de vídeo tiver a configuração mostrada na Figura 2, a unidade de filtro em malha 38 tem a configuração mostrada na Figura 7.
[00300] No processo de filtragem de 'desbloqueio', um conjunto de parâmetros adaptáveis que é referido pelo pedaço é referido, e, quando existe informação indicando que vários parâmetros a serem usados para selecionar a intensidade do filtro aplicado a um limite de bloco são mudados dos valores iniciais, um processo de filtragem de 'desbloqueio' é executado na base da informação de mudança. Se não existir nenhuma informação de mudança, o processo é executado de acordo com um método predeterminado.
[00301] No processo de deslocamento adaptável de pixel, um conjunto de parâmetros adaptáveis que é referido pelo pedaço é referido, divisão é executada na base de informação de divisão de bloco incluída no conjunto de parâmetros adaptáveis, e um índice que está incluído no conjunto de parâmetros adaptáveis e que indica um método de classificação de classe para cada um dos blocos é referido para cada bloco. Quando o índice não é um índice mostrando "não executando processo de deslocamento", cada pixel no bloco é classificado em classe em uma base por bloco de acordo com a método de classificação de classe indicado pelo índice.
[00302] Como um candidato para métodos de classificação de classe, um mesmo como um candidato de método de classificação de classe para o processo de deslocamento adaptável de pixel na unidade de filtro em malha 11 está preparado com antecedência.
[00303] A unidade de filtro em malha 38 executa, se referindo à informação de deslocamento incluída em um conjunto de parâmetros adaptáveis para especificar um valor de deslocamento de cada classe em uma base por bloco, um processo de adicionar um deslocamento a um valor de luminância da imagem decodificada.
[00304] Em um processo de deslocamento adaptável de pixel na unidade de filtro em malha 11 do dispositivo de codificação de vídeo, quando uma configuração é empregada na qual informação de divisão de bloco não está codificada, uma imagem sempre é dividida em blocos cada um tendo um tamanho fixo (por exemplo, em uma base por bloco de codificação maior), um método de classificação de classe é selecionado para cada um dos blocos, e um processo de deslocamento adaptável é executado em uma base por classe, um processo de deslocamento adaptável de pixel também é executado na unidade de filtro em malha 38 para cada bloco tendo um tamanho fixo mesmo como aquele na unidade de filtro em malha 11.
[00305] No processo de filtragem adaptável, um conjunto de parâmetros adaptáveis que é referido pelo pedaço é referido, uma classificação de classe é executada, usando um filtro para cada classe incluída no conjunto de parâmetros adaptáveis, com um método mesmo como aquele no dispositivo de codificação de vídeo mostrado na Figura 1, e então um processo de filtragem é executado na base da informação de classificação de classe.
[00306] Quando uma configuração é empregada, em um processo de filtragem adaptável na unidade de filtro em malha 11 do dispositivo de codificação de vídeo no qual a classificação de classe descrita acima e processo de filtragem/projeto de filtro são executados não em uma imagem inteira mas, por exemplo, para cada bloco tendo um tamanho fixo tal como um bloco de codificação maior, a classificação de classe descrita acima e processo de filtragem são executados, decodificando filtros usados em cada classe, também na unidade de filtro em malha 38 para cada bloco tendo um tamanho fixo mesmo como aquele na unidade de filtro em malha 11.
[00307] A imagem decodificada na qual o processo de filtragem é executado por esta unidade de filtro em malha 38 é provida como uma imagem de referência para predição compensada em movimento, e é empregada como uma imagem reproduzida.
[00308] Como evidente do anterior, na Modalidade 1, a unidade de codificação de comprimento variável 13 codifica um conjunto de parâmetros de vídeo como informação de cabeçalho de um fluxo de bits codificado; uma bandeira mostrando se capacidade de graduação temporal é empregada ou não, o número máximo de camadas hierárquicas, e o tamanho de memória temporária de quadro de cada camada hierárquica são codificados no conjunto de parâmetros de vídeo; uma bandeira de existência de camada hierárquica básica mostrando se dados codificados de uma camada hierárquica básica estão incluídos ou não em dados codificados de quadros que se referem ao conjunto de parâmetros de vídeo é codificada; e a unidade de decodificação de comprimento variável 31 decodifica a bandeira de existência de camada hierárquica básica. Assim, o dispositivo de decodificação pode determinar se quadros da camada hierárquica básica estão incluídos ou não, e um processo pode ser executado no qual, quando quadros da camada hierárquica básica estão incluídos, os quadros da camada hierárquica básica são decodificados imediatamente e em que, quando quadros da camada hierárquica básica não estão incluídos, decodificação é executada depois que os quadros da camada hierárquica básica são decodificados. Portanto, um processo de codificação e decodificação graduável pode ser executado de tal modo que dados de vídeo nos quais só um quadro pertencendo a uma camada hierárquica superior é codificada possam ser processados separadamente.
[00309] Além disso, como informação de cabeçalho de um fluxo de bits codificado, a unidade de codificação de comprimento variável 13 decodifica, em dados codificados de um quadro que se refere a um conjunto de parâmetros de vídeo, uma bandeira de referência de camada hierárquica inferior mostrando se um quadro de uma camada hierárquica que se refere ao conjunto de parâmetros de vídeo se refere ou não, em uma predição, a quadros de uma camada hierárquica inferior que aquela do quadro interessado. Assim, uma unidade de quadro (subfluxo de bits) que se refere ao conjunto de parâmetros de vídeo pode ser fixada indiferente de se existe ou não uma camada hierárquica inferior que aquela do quadro interessado, e, ao receber um tal subfluxo de bits, o dispositivo de decodificação pode decodificar imediatamente os dados recebidos, indiferente de se quadros de uma camada hierárquica inferior que aquela do quadro interessado já estão recebidos ou não. Portanto, um dispositivo pode ser obtido no qual um processo de codificação e decodificação graduável pode ser executado de tal modo que dados de vídeo nos quais só um quadro pertencendo a uma camada hierárquica superior é possam ser processados codificada separadamente.
Modalidade 2
[00310] Nesta modalidade, um dispositivo gerador de subfluxo de bits será explicado que extrai um subfluxo de bits de um fluxo codificado de bits gerado pelo dispositivo de codificação de vídeo conforme a Modalidade 1.
[00311] A Figura 20 mostra uma configuração do dispositivo gerador de subfluxo de bits.
[00312] Se referindo à Figura 20, uma unidade de análise de cabeçalho de unidade de NAL 51 recebe um fluxo de bits codificado produzido da unidade de codificação de comprimento variável 13 mostrada na Figura 1, analisa uma seção de cabeçalho de uma unidade de NAL que constitui o fluxo de bits codificado, e decodifica informação de cabeçalho tal como informação de tipo, uma bandeira de referência, e um número de identificação de camada hierárquica. Uma unidade de análise de conjunto de parâmetros de vídeo 52 decodifica, quando a informação de tipo indica um conjunto de parâmetros de vídeo, o conjunto de parâmetros de vídeo incluído em uma seção de dados de carga útil da unidade de NAL. Quando uma bandeira, decodificada do conjunto de parâmetros de vídeo, mostra se capacidade de graduação temporal é empregada ou não mostra que o fluxo de bits codificado está codificado hierarquicamente em tempo, o número de camadas hierárquicas de um subfluxo de bits é determinado na base do número máximo de camadas hierárquicas decodificadas do conjunto de parâmetros de vídeo. O número de camadas hierárquicas de um subfluxo de bits pode ser determinado na base de, por exemplo, um tamanho de memória temporária de quadro necessário para decodificar cada camada hierárquica decodificada do conjunto de parâmetros de vídeo. Quando o tamanho de memória temporária de quadro fica grande, atraso de imagem decodificada aumenta. Neste caso, o número de camadas hierárquicas de um subfluxo de bits pode ser determinado na base do atraso máximo permissível no dispositivo de decodificação. Uma unidade de extração de unidade de NAL 53 extrai a unidade de NAL na base do número determinado de camadas hierárquicas do subfluxo de bits. Por exemplo, em um fluxo de bits codificado tendo três ou mais camadas hierárquicas, quando o número de camadas hierárquicas do subfluxo de bits é determinado ser dois, uma unidade de NAL que inclui, como dados de carga útil, dados codificados de quadros pertencendo à camada hierárquica básica e a primeira camada hierárquica são extraídos. Uma unidade de multiplex de unidade de NAL 54 multiplexa a unidade de NAL extraída pela unidade de extração de unidade NAL 53, para gerar um subfluxo de bits.
[00313] A seguir, operações serão explicadas.
[00314] Um caso será explicado como um exemplo no qual um subfluxo de bits é gerado de um fluxo de bits codificado que é produzido do dispositivo de codificação mostrado na Figura 3.
[00315] Primeiro, a unidade de análise de cabeçalho de unidade de NAL 51 analisa uma seção de cabeçalho de uma unidade de NAL que constitui um fluxo de bits codificado. Quando informação de tipo decodificada da seção de cabeçalho da unidade de NAL indica um conjunto de parâmetros de vídeo, a unidade de análise de conjunto de parâmetros de vídeo 52 decodifica um conjunto de parâmetros vídeo incluído em uma seção de dados de carga útil da unidade de NAL. No exemplo mostrado na Figura 3, a unidade de análise de conjunto de parâmetros de vídeo 52 decodifica o conjunto de parâmetros de vídeo 1. Quando uma bandeira, decodificada do conjunto de parâmetros de vídeo 1, que mostra se capacidade de graduação temporal é empregada ou não mostra que o fluxo de bits codificado está codificado hierarquicamente em tempo, o número de camadas hierárquicas de um subfluxo de bits é determinado na base do número máximo de camadas hierárquicas (duas na Figura 3) decodificadas do conjunto de parâmetros de vídeo. Quando o número de camadas hierárquicas do subfluxo de bits é determinado ser um, a unidade de extração de unidade de NAL 53 extrai uma unidade de NAL que inclui, como dados de carga útil, dados codificados de quadros pertencendo à camada hierárquica básica. Quer dizer, cada unidade de NAL cujo número de identificação de camada hierárquica em um cabeçalho de unidade de NAL é zero é só extraído, excluindo cada unidade de NAL cujo número de identificação de camada hierárquica é um ou mais. A unidade de multiplex de unidade de NAL 54 multiplexa a unidade de NAL extraída pela unidade de extração de unidade de NAL 53, para gerar um subfluxo de bits. Mostrado na Figura 21 é um subfluxo de bits configurado extraindo só a unidade de NAL da camada hierárquica básica do fluxo de bits codificado mostrado na Figura 3.
[00316] A seguir, um caso será explicado como um exemplo no qual um subfluxo de bits é gerado extraindo só a primeira camada hierárquica do fluxo de bits codificado mostrado na Figura 3. A unidade de análise de cabeçalho de unidade de NAL 51 executa a operação mesma como aquela ao gerar o subfluxo de bits extraindo só a camada hierárquica básica. A unidade de extração de unidade de NAL 53 extrai uma unidade de NAL que inclui, como dados de carga útil, dados codificados de quadros pertencendo à primeira camada hierárquica. No exemplo mostrado na Figura 3, desde que o conjunto de parâmetros de vídeo 1 e o cabeçalho de nível de sequência 1 são referidos geralmente por quadros da camada hierárquica básica e a primeira camada hierárquica, extração é executada como dados codificados sobre quadros pertencendo à primeira camada hierárquica. Sobre dados de quadro (dados de pedaço), dados de quadro de quadros pertencendo à primeira camada hierárquica podem ser extraídos só extraindo cada unidade de NAL cujo número de identificação de camada hierárquica em um cabeçalho de unidade de NAL é um. Porque um subfluxo de bits gerado extraindo só a primeira camada hierárquica não inclui dados codificados da camada hierárquica básica, um valor de uma bandeira de existência de camada hierárquica básica para o conjunto de parâmetros de vídeo 1 é mudado de um valor (por exemplo 1) mostrando que a camada hierárquica básica está incluída a um valor (por exemplo 0) mostrando que a camada hierárquica básica não está incluída. A unidade de multiplex de unidade de NAL 54 multiplexa um conjunto de parâmetros de vídeo 1A cujo valor de bandeira de existência de camada hierárquica básica foi mudado, o cabeçalho de nível de sequência 1, e o cabeçalho de nível de quadro e os dados de quadro (dados de pedaço) de quadros na primeira camada hierárquica, para gerar um subfluxo de bits (Figura 22).
[00317] A seguir, um caso será explicado como um exemplo no qual um subfluxo de bits é gerado do fluxo de bits codificado mostrado na Figura 12. Desde que uma operação de gerar um subfluxo de bits que inclui a camada hierárquica básica é igual àquela de gerar o subfluxo de bits do fluxo de bits codificado mostrado na Figura 3, um exemplo será explicado no qual um subfluxo de bits é gerado que não inclui a camada hierárquica básica, por exemplo um subfluxo de bits configurado com dados só codificados de quadros pertencendo à primeira camada hierárquica. A unidade de análise de cabeçalho de unidade de NAL 51 executa a operação mesma como aquela ao gerar o subfluxo de bits do fluxo codificado mostrado na Figura 3. A unidade de extração de unidade de NAL 53 extrai uma unidade de NAL que inclui, como dados de carga útil, dados codificados de quadros pertencendo à primeira camada hierárquica. No exemplo mostrado na Figura 12, desde que o conjunto de parâmetros de vídeo está codificado para cada uma das camadas hierárquicas, quadros pertencendo à primeira camada hierárquica são codificados se referindo ao conjunto de parâmetros de vídeo 2. Assim, no exemplo mostrado na Figura 12, só extraindo, como dados codificados sobre quadros pertencendo à primeira camada hierárquica, cada unidade de NAL cujo número de identificação de camada hierárquica em um cabeçalho de unidade de NAL é um, o conjunto de parâmetros de vídeo 2, o cabeçalho de nível de sequência 2, e os dados de quadro de quadros pertencendo à primeira camada hierárquica podem ser extraídos. Desde que uma bandeira de existência de camada hierárquica básica para o conjunto de parâmetros de vídeo 2 tem um valor mostrando que a camada hierárquica básica não está incluída, a unidade de multiplex de unidade de NAL 54 não muda um valor de parâmetro do conjunto de parâmetros de vídeo 2 e multiplexa o conjunto de parâmetros de vídeo 2, o cabeçalho de nível de sequência 2, e o cabeçalho de nível de quadro e os dados de quadro (dados de pedaço) de quadros na primeira camada hierárquica, para gerar um subfluxo de bits (Figura 23).
[00318] Como descrito acima, extraindo dados codificados de subfluxos de bits em uma base por unidade de NAL na base de informação fixada no conjunto de parâmetros de vídeo, vários tipos de subfluxos de bits podem ser gerados, e assim um dispositivo pode ser obtido no qual um processo de codificação e decodificação graduável pode ser executado.
Aplicabilidade Industrial
[00319] Como descrito acima, o dispositivo de codificação de vídeo, dispositivo de decodificação de vídeo, método de codificação de vídeo, e método de decodificação de vídeo conforme a presente invenção são úteis para um dispositivo de codificação de vídeo, um dispositivo de decodificação de vídeo, e similar para executar um processo de codificação e decodificação graduável. Numerais de Referência 1 - unidade de divisão de bloco (meio de divisão de bloco), 2 - unidade de controle de codificação (meio de controle de codificação), 3 - comutador de seleção, 4 - unidade de intrapredição (meio de predição), 5 - unidade de predição compensada em movimento (meio de predição), 6 - unidade de subtração (meio gerador de imagem de diferença), 7 - unidade de transformação/quantização (meio de compressão de imagem), 8 - unidade de quantização inversa/transformação inversa (meio gerador de imagem de decodificação local), 9 - unidade somadora (meio gerador de imagem de decodificação local), 10 - memória para intrapredição (meio de predição), 11 - unidade de filtro em malha (meio de filtragem), 12 - memória de quadro de predição compensada em movimento (meio de predição), 13 - unidade de codificação de comprimento variável (meio de codificação de comprimento variável), 14 - unidade de divisão de pedaço (meio de divisão de pedaço), 31 - unidade de decodificação de comprimento variável (meio de decodificação de comprimento variável), 32 - unidade de quantização inversa/transformação inversa (meio gerador de imagem de diferença), 33 - comutador de seleção, 34 - unidade de intrapredição (meio de predição), 35 - unidade de compensação de movimento (meio de predição), 36 - unidade somadora (meio gerador de imagem decodificada), 37 - memória para intrapredição (meio de predição), 38 - unidade de filtro em malha (meio de filtragem), 39 - memória de quadro de predição compensada em movimento (meio de predição), 51 - unidade de análise de cabeçalho de unidade de NAL, 52 - unidade de análise de conjunto de parâmetros de vídeo, 53 - unidade de extração de unidade de NAL, e 54 - unidade de multiplex de unidade de NAL.

Claims (4)

1. Dispositivo de codificação de vídeo para codificação no tempo hierarquicamente, que estratifica uma pluralidade de quadros de um sinal de vídeo introduzido em uma camada hierárquica básica, que é uma camada hierárquica incluindo apenas um quadro básico a ser referido para predição, e uma camada hierárquica de um quadro diferente do quadro básico da camada hierárquica básica, e que codifica a pluralidade de quadros estratificada para gerar um fluxo de bits, o dispositivo de codificação de vídeo compreendendo: uma unidade de codificação de comprimento variável (13) que codifica uma bandeira de existência de camada hierárquica básica mostrando se o quadro básico da camada hierárquica básica está incluída no fluxo de bits, caracterizado pelo fato de a unidade de codificação de comprimento variável (13), a partir da pluralidade de quadros do sinal de vídeo introduzido, gerar, caso o quadro básico da camada hierárquica básica esteja incluído no fluxo de bits, o fluxo de bits no qual a bandeira de existência de camada hierárquica básica mostra que o quadro básico da camada hierárquica básica está incluído no fluxo de bits, e caso o quadro básico da camada hierárquica básica não esteja incluído no fluxo de bits, o fluxo de bits no qual a bandeira de existência da camada hierárquica básica mostra que o quadro básico da camada hierárquica básica não está incluído no fluxo de bits, em que a unidade de codificação de comprimento variável (13) transmite o fluxo de bits que inclui o quadro básico da camada hierárquica básica por meio sem fio, e transmite o fluxo de bits que não inclui o quadro básico da camada hierárquica básica através de uma linha com fio.
2. Dispositivo de decodificação de vídeo que decodifica um fluxo de bits codificado hierarquicamente no tempo obtido pela estratificação de uma pluralidade de quadros de um vídeo introduzido, em uma camada hierárquica básica, que é uma camada hierárquica incluindo apenas um quadro básico a ser referido para predição, e uma camada hierárquica de um quadro diferente do quadro básico da camada hierárquica básica, e pela codificação da pluralidade de quadros estratificada, o dispositivo de decodificação de vídeo compreendendo: uma unidade de decodificação de comprimento variável (31) que decodifica uma bandeira de existência de camada hierárquica básica mostrando se o quadro básico da camada hierárquica básica está incluído ou não no fluxo de bits, caracterizado pelo fato de a unidade de decodificação de comprimento variável (31) decodificar a pluralidade de quadros usando: o fluxo de bits em que a bandeira de existência da camada hierárquica básica mostra que o quadro básico da camada hierárquica básica está incluído no fluxo de bits no caso de o quadro básico da camada hierárquica básica incluído no fluxo de bits, e o fluxo de bits em que a bandeira de existência da camada hierárquica básica mostra que o quadro básico da camada hierárquica básica não está incluído no fluxo de bits, caso o quadro básico da camada hierárquica básica não esteja incluído no fluxo de bits, em que a unidade de decodificação de comprimento variável (31) recebe o fluxo de bits que inclui o quadro básico da camada hierárquica básica por meio sem fio e recebe o fluxo de bits que não inclui o quadro básico da camada hierárquica básica através de uma linha com fio.
3. Método de codificação de vídeo para codificação no tempo hierarquicamente, que estratifica uma pluralidade de quadros de um sinal de vídeo introduzido em uma camada hierárquica básica, que é uma camada hierárquica incluindo apenas um quadro básico a ser referido para predição, e uma camada hierárquica de um quadro diferente do quadro básico da camada hierárquica básica, e que codifica a pluralidade de quadros estratificada para gerar um fluxo de bits, o método de codificação de vídeo compreendendo: codificar uma bandeira de existência de camada hierárquica básica mostrando se o quadro básico da camada hierárquica básica está incluído ou não no fluxo de dados, caracterizado pelo fato de: gerar, a partir da pluralidade de quadros do sinal de vídeo introduzido, o fluxo de bits em que a bandeira de existência da camada hierárquica básica mostra que o quadro básico da camada hierárquica básica está incluído no fluxo de bits, caso o quadro básico da camada hierárquica básica esteja incluído no fluxo de bits, e o fluxo de bits no qual a bandeira de existência da camada hierárquica básica mostra que o quadro básico da camada hierárquica básica não está incluído no fluxo de bits, caso o quadro básico da camada hierárquica básica não esteja incluído no fluxo de bits, em que o método de codificação de vídeo compreende ainda transmitir o fluxo de bits que inclui o quadro básico da camada hierárquica básica por meio sem fio, e transmitir o fluxo de bits que não inclui o quadro básico da camada hierárquica básica através de uma linha com fio.
4. Método de decodificação de vídeo que decodifica um fluxo de bits codificado hierarquicamente no tempo obtido pela estratificação de uma pluralidade de quadros de vídeo introduzido em uma camada hierárquica básica, que é uma camada hierárquica incluindo apenas um quadro básico a ser referido para predição, e uma camada hierárquica de um quadro diferente do quadro básico da camada hierárquica básica, e pela codificação da pluralidade de quadros estratificada, o método de decodificação de vídeo compreendendo: decodificar uma bandeira de existência de camada hierárquica básica mostrando se o quadro básico da camada hierárquica básica está incluído ou não no fluxo de bits, e caracterizado pelo fato de: decodificar de comprimento variável a pluralidade de quadros usando o fluxo de bits em que a bandeira de existência de camada hierárquica básica mostra que o quadro básico da camada hierárquica básica está incluído no fluxo de bits, caso o quadro básico da camada hierárquica básica esteja incluído no fluxo de bits, e o fluxo de bits em que a bandeira de existência da camada hierárquica básica mostra que o quadro básico da camada hierárquica básica não está incluído no fluxo de bits, caso o quadro básico da camada hierárquica básica não esteja incluído no fluxo de bits, em que o fluxo de bits que inclui o quadro básico da camada hierárquica básica é recebido por meio sem fio, e o fluxo de bits que não inclui o quadro básico da camada hierárquica básica é recebido através de uma linha com fio.
BR112014031555-8A 2012-06-26 2013-05-27 Dispositivos e métodos de codificação de vídeo e de decodificação de vídeo BR112014031555B1 (pt)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2012142607 2012-06-26
JP2012-142607 2012-06-26
PCT/JP2013/003320 WO2014002375A1 (ja) 2012-06-26 2013-05-27 動画像符号化・復号装置及び方法

Publications (2)

Publication Number Publication Date
BR112014031555A2 BR112014031555A2 (pt) 2017-06-27
BR112014031555B1 true BR112014031555B1 (pt) 2023-01-24

Family

ID=49782577

Family Applications (1)

Application Number Title Priority Date Filing Date
BR112014031555-8A BR112014031555B1 (pt) 2012-06-26 2013-05-27 Dispositivos e métodos de codificação de vídeo e de decodificação de vídeo

Country Status (8)

Country Link
US (1) US10264289B2 (pt)
EP (1) EP2866441B1 (pt)
JP (3) JP5984911B2 (pt)
KR (3) KR101752149B1 (pt)
CN (1) CN104412592B (pt)
BR (1) BR112014031555B1 (pt)
HK (1) HK1205392A1 (pt)
WO (1) WO2014002375A1 (pt)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015009108A1 (ko) * 2013-07-18 2015-01-22 삼성전자 주식회사 비디오 포멧 파라미터 전달을 사용하는 비디오 부호화 방법 및 그 장치, 비디오 복호화 방법 및 그 장치
US20150195549A1 (en) 2014-01-08 2015-07-09 Qualcomm Incorporated Support of non-hevc base layer in hevc multi-layer extensions
KR102476207B1 (ko) 2015-11-12 2022-12-08 삼성전자주식회사 반도체 장치의 동작 방법 및 반도체 시스템
CN106851274B (zh) * 2017-03-31 2019-08-06 北京奇艺世纪科技有限公司 差分量化参数的确定方法、确定系统及视频编码器
US10290347B2 (en) * 2017-06-30 2019-05-14 Western Digital Technologies, Inc. Compacting operating parameter groups in solid state memory devices
WO2019061475A1 (en) * 2017-09-30 2019-04-04 SZ DJI Technology Co., Ltd. IMAGE PROCESSING
GB201817783D0 (en) 2018-10-31 2018-12-19 V Nova Int Ltd Methods,apparatuses, computer programs and computer-readable media for processing configuration data
JP2020098986A (ja) * 2018-12-17 2020-06-25 キヤノン株式会社 画像符号化装置及び画像復号装置及びそれらの制御方法及びプログラム
WO2020251279A1 (ko) * 2019-06-11 2020-12-17 엘지전자 주식회사 스케일링 리스트 데이터의 시그널링 기반 비디오 또는 영상 코딩
KR20210149867A (ko) * 2019-06-11 2021-12-09 엘지전자 주식회사 스케일링 리스트 파라미터 기반 비디오 또는 영상 코딩
WO2020251275A1 (ko) * 2019-06-11 2020-12-17 엘지전자 주식회사 스케일링 리스트 기반 비디오 또는 영상 코딩
CN114531952A (zh) * 2019-07-05 2022-05-24 威诺瓦国际有限公司 视频编码中的残差的量化
JP2021052225A (ja) * 2019-09-20 2021-04-01 Kddi株式会社 画像復号装置、画像復号方法及びプログラム
CN110582022B (zh) * 2019-09-27 2022-12-30 腾讯科技(深圳)有限公司 视频编解码方法和装置及存储介质
GB2590634A (en) 2019-12-20 2021-07-07 Canon Kk High Level syntax for video coding and decoding
US11516469B2 (en) * 2020-03-02 2022-11-29 Tencent America LLC Loop filter block flexible partitioning

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5510840A (en) * 1991-12-27 1996-04-23 Sony Corporation Methods and devices for encoding and decoding frame signals and recording medium therefor
FI113124B (fi) * 1999-04-29 2004-02-27 Nokia Corp Tiedonsiirto
US20040125124A1 (en) * 2000-07-24 2004-07-01 Hyeokman Kim Techniques for constructing and browsing a hierarchical video structure
JP2006503517A (ja) * 2002-10-15 2006-01-26 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ Ipネットワークでスケーラブル符号化映像を伝送するシステム及び方法
KR100965881B1 (ko) 2003-10-10 2010-06-24 삼성전자주식회사 비디오 데이터 인코딩 시스템 및 디코딩 시스템
DE102004059978B4 (de) * 2004-10-15 2006-09-07 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Vorrichtung und Verfahren zum Erzeugen einer codierten Videosequenz und zum Decodieren einer codierten Videosequenz unter Verwendung einer Zwischen-Schicht-Restwerte-Prädiktion sowie ein Computerprogramm und ein computerlesbares Medium
WO2006104357A1 (en) * 2005-04-01 2006-10-05 Samsung Electronics Co., Ltd. Method for compressing/decompressing motion vectors of unsynchronized picture and apparatus using the same
KR100763179B1 (ko) * 2005-04-01 2007-10-04 삼성전자주식회사 비동기 픽쳐의 모션 벡터를 압축/복원하는 방법 및 그방법을 이용한 장치
US20060233247A1 (en) * 2005-04-13 2006-10-19 Visharam Mohammed Z Storing SVC streams in the AVC file format
WO2007008286A1 (en) * 2005-07-11 2007-01-18 Thomson Licensing Method and apparatus for macroblock adaptive inter-layer intra texture prediction
CN101341758A (zh) 2005-12-21 2009-01-07 皇家飞利浦电子股份有限公司 视频编码和解码
EP2011341A4 (en) * 2006-11-09 2010-01-13 Lg Electronics Inc METHOD AND DEVICE FOR DECODING / CODING A VIDEO SIGNAL
US7742524B2 (en) 2006-11-17 2010-06-22 Lg Electronics Inc. Method and apparatus for decoding/encoding a video signal using inter-layer prediction
US20100091840A1 (en) * 2007-01-10 2010-04-15 Thomson Licensing Corporation Video encoding method and video decoding method for enabling bit depth scalability
US8767834B2 (en) * 2007-03-09 2014-07-01 Sharp Laboratories Of America, Inc. Methods and systems for scalable-to-non-scalable bit-stream rewriting
KR101366249B1 (ko) * 2007-06-28 2014-02-21 삼성전자주식회사 스케일러블 영상 부호화장치 및 방법과 그 영상 복호화장치및 방법
CN101557510A (zh) * 2008-04-09 2009-10-14 华为技术有限公司 视频编码处理方法、系统及装置
CN101895748B (zh) * 2010-06-21 2014-03-26 华为终端有限公司 一种编解码方法以及编解码装置
EP3944624A1 (en) * 2010-09-30 2022-01-26 Sun Patent Trust Image decoding method, image coding method, image decoding apparatus, image coding apparatus, program, and integrated circuit
US9045967B2 (en) * 2011-07-26 2015-06-02 Schlumberger Technology Corporation System and method for controlling and monitoring a drilling operation using refined solutions from a panistic inversion
US8805098B2 (en) * 2012-01-19 2014-08-12 Sharp Laboratories Of America, Inc. Inter reference picture set signaling and prediction on an electronic device

Also Published As

Publication number Publication date
US10264289B2 (en) 2019-04-16
BR112014031555A2 (pt) 2017-06-27
KR101752149B1 (ko) 2017-07-11
KR20170075802A (ko) 2017-07-03
JP6580185B2 (ja) 2019-09-25
JP5984911B2 (ja) 2016-09-06
HK1205392A1 (en) 2015-12-11
JPWO2014002375A1 (ja) 2016-05-30
KR20150027219A (ko) 2015-03-11
WO2014002375A1 (ja) 2014-01-03
JP2018125877A (ja) 2018-08-09
EP2866441A1 (en) 2015-04-29
KR20170024142A (ko) 2017-03-06
EP2866441B1 (en) 2021-09-01
JP6716836B2 (ja) 2020-07-01
CN104412592A (zh) 2015-03-11
JP2016220227A (ja) 2016-12-22
CN104412592B (zh) 2017-11-14
US20150195582A1 (en) 2015-07-09
EP2866441A4 (en) 2016-03-02

Similar Documents

Publication Publication Date Title
BR112014031555B1 (pt) Dispositivos e métodos de codificação de vídeo e de decodificação de vídeo
JP7055230B2 (ja) 画像符号化装置、画像復号装置、画像符号化方法、画像復号方法及び符号化ビットストリームを記録した記録媒体
JP6147368B2 (ja) 画像符号化装置、画像復号装置、符号化ストリーム変換装置、画像符号化方法、及び画像復号方法
JP6807987B2 (ja) 画像符号化装置、動画像復号装置、動画像符号化データ及び記録媒体
BR112013006501B1 (pt) Dispositivo de decodificação de imagem, e, dispositivo de codificação de imagem
BR112013016961B1 (pt) Dispositivos de codificação e de decodificação de imagem, e, métodos de codificação e de decodificação de imagem
BR112013000516B1 (pt) Dispositivo e método de codificação de imagem em movimento, e, dispositivo e método de decodificação de imagem em movimento
BR112013031133B1 (pt) Dispositivos e métodos de decodificação e de codificação de imagem, e, meio legível por computador não transitório
JPWO2014163200A1 (ja) カラー画像符号化装置、カラー画像復号装置、カラー画像符号化方法及びカラー画像復号方法
JP6373008B2 (ja) 画像符号化装置、画像復号装置、画像符号化方法及び画像復号方法
JP2014204311A (ja) カラー画像符号化装置、カラー画像復号装置、カラー画像符号化方法及びカラー画像復号方法
WO2013108882A1 (ja) 動画像符号化装置、動画像復号装置、動画像符号化方法及び動画像復号方法
JP2013098713A (ja) 動画像符号化装置、動画像復号装置、動画像符号化方法及び動画像復号方法

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]
B15K Others concerning applications: alteration of classification

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

Ipc: H04N 19/31 (2014.01), H04N 19/70 (2014.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 27/05/2013, OBSERVADAS AS CONDICOES LEGAIS