BR112015004216B1 - Método de decodificação de imagem, método de codificação de imagem, aparelho de decodificação de imagem e aparelho de codificação de imagem - Google Patents

Método de decodificação de imagem, método de codificação de imagem, aparelho de decodificação de imagem e aparelho de codificação de imagem Download PDF

Info

Publication number
BR112015004216B1
BR112015004216B1 BR112015004216-3A BR112015004216A BR112015004216B1 BR 112015004216 B1 BR112015004216 B1 BR 112015004216B1 BR 112015004216 A BR112015004216 A BR 112015004216A BR 112015004216 B1 BR112015004216 B1 BR 112015004216B1
Authority
BR
Brazil
Prior art keywords
cut
dependent
block
slice
decoding
Prior art date
Application number
BR112015004216-3A
Other languages
English (en)
Other versions
BR112015004216A2 (pt
BR112015004216A8 (pt
Inventor
Semih ESENLIK
Matthias Narroschke
Thomas Wedi
Original Assignee
Sun Patent Trust
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 Sun Patent Trust filed Critical Sun Patent Trust
Publication of BR112015004216A2 publication Critical patent/BR112015004216A2/pt
Publication of BR112015004216A8 publication Critical patent/BR112015004216A8/pt
Publication of BR112015004216B1 publication Critical patent/BR112015004216B1/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/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/10Processing, recording or transmission of stereoscopic or multi-view image signals
    • H04N13/189Recording image signals; Reproducing recorded image signals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/119Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/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/167Position within a video image, e.g. region of interest [ROI]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/189Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
    • H04N19/192Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding the adaptation method, adaptation tool or adaptation type being iterative or recursive
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/436Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation using parallelised computational arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/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/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with 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/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
    • H04N19/11Selection of coding mode or of prediction mode among a plurality of spatial predictive coding modes
    • 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/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/174Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a slice, e.g. a line of blocks or a group of blocks

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

MÉTODO DE DECODIFICAÇÃO DE IMAGEM, MÉTODO DE CODIFICAÇÃO DE IMAGEM, APARELHO DE DECODIFICAÇÃO DE IMAGEM E APARELHO DE CODIFICAÇÃO DE IMAGEM. A presente invenção refere-se a um método de decodificação de imagem para decodificar um fluxo contínuo de bits incluindo um sinal codificado (191,201) resultante dos blocos de codificação e cortes nos quais uma imagem é dividida, o método incluindo decodificar o sinal codificado (191,201), em que cada um dos cortes é ou um corte normal tendo, em um cabeçalho (320,380), as informações utilizadas para outro corte ou um corte dependente que é decodificado utilizando as informações incluídas em um cabeçalho de corte (320,380) de outro corte, e quando o corte normal inicia de uma posição que não seja um começo de um primeiro bloco, um segundo bloco codificado próximo ao primeiro bloco não inicia do corte dependente.

Description

Campo Técnico
[001] A presente invenção refere-se a um método de codificação de imagem e um método de decodificação de imagem.
Antecedentes da Técnica
[002] Atualmente, a maioria dos algoritmos padronizados de codificação de vídeo está baseada na codificação de vídeo combinada. Métodos de codificação de vídeo combinada normalmente combinam vários esquemas diferentes de compressão com e sem perdas para alcançar o ganho de compressão desejado. A codificação de vídeo combinada é também a base para padrões ITU-T (padrões H.26x, como H.261 e H.263) bem como padrões ISO/IEC (padrões MPEG-X, como MPEG-1, MPEG-2, e MPEG-4).
[003] O mais recente e avançado padrão de codificação de vídeo é atualmente o padrão indicado como codificação de vídeo avançada (AVC) H.264/MPEG-4 que é um resultado de esforços de padronização pela Equipe de Vídeo Conjunta (JVT), uma equipe conjunta de grupos ITU-T e ISO/IEC MPEG.
[004] Um padrão de codificação de vídeo referido como Codificação de Vídeo de Alta Eficiência (HEVC) é também examinado pela Equipe Colaborativa Conjunta de Codificação de Vídeo (JCT-VC) coma finalidade de melhorar a eficiência em relação à codificação de vídeo de alta resolução. Lista de Citação Literatura de Não Patente Literatura de Não Patente 1: "Processamento Paralelo de Frente de Onda para Codificação e Decodificação HEVC" por C. Gor don et al., n° JCTVC-F274-v2, a partir da reunião em Torino, em Julho de 2011.
[005] Literatura de Não Patente 2: "Blocos" por A. Fuldseth et al., n° JCTVC-F355-v1, a partir da reunião em Torino, em Julho de 2011.
[006] Literatura de Não Patente 3: JCTVC-J1003_d7, "Projeto de especificação de texto da Codificação de Vídeo de Alta Eficiência (HEVC) 8" de Julho de 2012.
Sumário da Invenção Problema Técnico
[007] Há um desejo de melhora, em métodos de codificação de imagem e em métodos de decodificação de imagem, eficiência em uma situação onde tanto o processamento quanto pedaços dependentes são utilizados.
[008] A presente invenção pretende fornecer um método de codificação de imagem e um método de decodificação de imagem que torna possível melhorar a eficiência quando tanto o processamento do bloco paralelo quanto os corte dependentes são utilizados.
Solução para o Problema
[009] Um método de decodificação de imagem de acordo com um aspecto da presente invenção é um método de decodificação de imagem para decodificar um fluxo contínuo de bits incluindo um sinal codificado resultando de blocos e cortes de codificação às quais uma imagem é repartida, o método compreendendo decodificar o sinal codificado, em que cada um dos cortes é um corte normal tendo, em um cabeçalho, informações utilizadas por outro corte ou um corte dependente que é decodificado utilizando informações inclusas em um cabeçalho do corte de outro corte, e quando o corte normal começa a partir de uma posição que não um início de um primeiro bloco, um segundo bloco codificado ao lado do primeiro bloco não começa do corte de-pendente.
[0010] Os aspectos gerais e específicos podem ser implementados utilizando um sistema, um método, um circuito integrado, um programa de computador, ou um meio de gravação legível por computador, como um CD-ROM, ou qualquer combinação de sistemas, métodos, circuitos integrados, programas de computador, ou meios de gravação legíveis por computador.
Efeitos Vantajosos da Invenção
[0011] A presente invenção fornece de maneira bem-sucedida um método de codificação de imagem e um método de decodificação de imagem que torna possível melhorar a eficiência quando tanto o processamento do bloco paralelo quanto os cortes dependentes são utilizados.
Breve Descrição dos Desenhos
[0012] A FIGURA 1 é um diagrama de bloco mostrando um aparelho de codificação de imagem, de acordo com as modalidades.
[0013] A FIGURA 2 é um diagrama de bloco mostrando um aparelho de decodificação de imagem, de acordo com as modalidades.
[0014] A FIGURA 3A é um diagrama esquemático para ilustrar WPP, de acordo com as modalidades.
[0015] A FIGURA 3B é um diagrama esquemático para ilustrar cortes dependentes em WPP, de acordo com as modalidades.
[0016] A FIGURA 4A é um diagrama esquemático para ilustrar cortes dependentes quando WPP não é aplicado, de acordo com as modalidades.
[0017] A FIGURA 4B é um diagrama esquemático para ilustrar cortes dependentes quando WPP é aplicado, de acordo com as modalidades.
[0018] A FIGURA 5 é um diagrama mostrando um cabeçalho do corte de um corte por entropia ou de um corte dependente, de acordo com as modalidades.
[0019] A FIGURA 6 é um diagrama mostrando uma estrutura de corte exemplar permitida quando WPP é aplicado, de acordo com as modalidades.
[0020] A FIGURA 7 é um diagrama mostrando uma estrutura de corte exemplar permitida quando WPP é aplicado, de acordo com as modalidades.
[0021] A FIGURA 8 é um diagrama esquemático mostrando um processo de inicialização de CABAC, de acordo com as modalidades.
[0022] A FIGURA 9 é um gráfico de fluxo para um processo de determinação em um método de inicialização de CABAC para um corte dependente dependendo das características de um corte anterior, de acordo com as modalidades.
[0023] A FIGURA 10 é um diagrama mostrando uma estrutura de corte exemplar, de acordo com as modalidades.
[0024] A FIGURA 11 é um diagrama mostrando uma estrutura de corte exemplar, de acordo com as modalidades.
[0025] A FIGURA 12 é um diagrama mostrando uma sintaxe exemplar de um cabeçalho do corte, de acordo com a Modalidade 1.
[0026] A FIGURA 13 é um gráfico de fluxo para um processo de determinação em um método de inicialização de CABAC para um corte dependente, de acordo com a Modalidade 1.
[0027] A FIGURA 14 é um diagrama mostrando um quadro exemplar repartido em cortes, de acordo com a Modalidade 2.
[0028] A FIGURA 15 é um gráfico de fluxo para um processo de determinação em um método de inicialização de CABAC, de acordo com a Modalidade 2.
[0029] A FIGURA 16 é um diagrama mostrando um quadro exemplar repartido em cortes, de acordo com a Modalidade 2.
[0030] A FIGURA 17 é um diagrama mostrando um quadro exemplar repartido em cortes, de acordo com a Modalidade 2.
[0031] A FIGURA 18 é um diagrama mostrando um quadro exemplar repartido em cortes, de acordo com a Modalidade 3.
[0032] A FIGURA 19 é um diagrama mostrando um cabeçalho do corte, de acordo com a Modalidade 4.
[0033] A FIGURA 20 é um diagrama mostrando um quadro exemplar repartido em blocos, de acordo com a Modalidade 4.
[0034] A FIGURA 21A é um diagrama mostrando uma ordem de varredura, de acordo com a Modalidade 4.
[0035] A FIGURA 21B é um diagrama mostrando uma ordem de varredura, de acordo com a Modalidade 4.
[0036] A FIGURA 22A é um diagrama mostrando uma relação entre um bloco e um corte, de acordo com a Modalidade 4.
[0037] A FIGURA 22B é um diagrama mostrando uma relação entre um bloco e um corte, de acordo com a Modalidade 4.
[0038] A FIGURA 22C é um diagrama mostrando uma relação entre um bloco e um corte, de acordo com a Modalidade 4.
[0039] A FIGURA 23 é um exemplo da repartição de um quadro em blocos e cortes, de acordo com a Modalidade 4.
[0040] A FIGURA 24 é um diagrama mostrando uma ordem de de- codificação para um quadro repartido em blocos, de acordo com a Modalidade 4.
[0041] A FIGURA 25A é um diagrama mostrando uma estrutura de corte não permitida exemplar, de acordo com a Modalidade 4.
[0042] A FIGURA 25B é um diagrama mostrando uma estrutura de corte permitida exemplar, de acordo com a Modalidade 4.
[0043] A FIGURA 25C é um diagrama mostrando uma estrutura de corte permitida exemplar, de acordo com a Modalidade 4.
[0044] A FIGURA 26A é um diagrama mostrando uma estrutura de corte não permitida exemplar, de acordo com a Modalidade 4.
[0045] A FIGURA 26B é um diagrama mostrando uma estrutura de corte permitida exemplar, de acordo com a Modalidade 4.
[0046] A FIGURA 27A é um diagrama mostrando uma estrutura de corte não permitida exemplar, de acordo com a Modalidade 4.
[0047] A FIGURA 27B é um diagrama mostrando uma estrutura de corte permitida exemplar, de acordo com a Modalidade 4.
[0048] A FIGURA 28 mostra uma configuração geral de um conteúdo fornecendo um sistema para implementar serviços de distribuição de conteúdo.
[0049] A FIGURA 29 mostra uma configuração geral de um sistema de transmissão digital.
[0050] A FIGURA 30 mostra um diagrama de bloco ilustrando um exemplo de uma configuração de uma televisão.
[0051] A FIGURA 31 mostra um diagrama de bloco ilustrando um exemplo de uma configuração de uma unidade de reprodução/ gravação de informações que lê e escreve informações a partir e sobre um meio de gravação que é um disco óptico.
[0052] A FIGURA 32 mostra um exemplo de uma configuração de um meio de gravação que é um disco óptico.
[0053] A FIGURA 33A mostra um exemplo de um telefone celular.
[0054] A FIGURA 33B mostra um diagrama de bloco ilustrando um exemplo de uma configuração de um telefone celular.
[0055] A FIGURA 34 ilustra uma estrutura de dados múltiplos.
[0056] A FIGURA 35 mostra esquematicamente como cada fluxo é multiplexado em dados múltiplos.
[0057] A FIGURA 36 mostra como um fluxo de vídeo é armazenado em um fluxo de pacotes PES em mais detalhes.
[0058] A FIGURA 37 mostra uma estrutura de pacotes TS e pacotes de fonte nos dados múltiplos.
[0059] A FIGURA 38 mostra uma estrutura de dados de um PMT.
[0060] A FIGURA 39 mostra uma estrutura interna de informações de dados multiplexas.
[0061] A FIGURA 40 mostra uma estrutura interna de informações de atributos de fluxo.
[0062] A FIGURA 41 mostra etapas para identificação de dados de vídeo.
[0063] A FIGURA 42 mostra um exemplo de uma configuração de um circuito integrado para implementar o método de codificação de quadro de movimento e o método de decodificação de quadro de movimento de acordo com cada uma das modalidades.
[0064] A FIGURA 43 mostra uma configuração para alteração entre frequências de acionamento.
[0065] A FIGURA 44 mostra etapas para identificar dados de vídeo e alterações entre frequências de acionamento.
[0066] A FIGURA 45 mostra o exemplo de uma tabela de linearização na qual os padrões de dados de vídeo estão associados às frequências de acionamento.
[0067] A FIGURA 46A é um diagrama mostrando um exemplo de uma configuração para compartilhar um módulo da unidade de processamento de sinal.
[0068] A FIGURA 46B é um diagrama mostrando outro exemplo de uma configuração para compartilhar um módulo da unidade de processamento de sinal.
Descrição de Modalidades
[0069] Base de Formação de Conhecimento Subjacente da Presente Invenção
[0070] Em relação ao método de codificação de imagem e ao método de decodificação de imagem, revelados na seção "Antecedentes da Técnica", os inventores encontraram os seguintes problemas.
[0071] Primeiro, um aparelho de codificação de imagem e um aparelho de decodificação de imagem em HEVC são descritos.
[0072] Uma entrada de sinal de vídeo para um aparelho de codificação de imagem inclui imagens referidas como um quadro (imagem). Cada quadro inclui pixels dispostos em uma matriz bidimensional. Em todos os padrões mencionados acima baseados na codificação de vídeo combinada, cada quadro individual é repartido em blocos, cada um incluindo pixels. O tamanho dos blocos pode variar, por exemplo, em conformidade com o conteúdo de uma imagem. Um método de codificação diferente pode ser utilizado em uma base por blocos. Por exemplo, o maior tamanho dos blocos é de 64 x 64 pixels em HEVC. Esse tamanho maior é referido como a maior unidade de codificação (LCU). A LCU pode ser recursivamente dividida em quatro unidades de codificação (UCs).
[0073] Em AVC H.264/MPEG-4, a codificação é realizada em uma base por macroblocos (geralmente blocos de 16 x 16-pixel). Há um caso onde o macrobloco é dividido em sub-blocos.
[0074] Normalmente, uma etapa de codificação na codificação de vídeo combinada inclui previsão espacial e/ou temporal. Em resumo, cada bloco atual a ser codificado é previsto utilizando blocos espacialmente ou temporariamente adjacentes ao bloco atual, ou seja, quadros de vídeo codificados. Então, um bloco residual, que é uma diferença entre o bloco atual e o resultado de previsão, é calculado. Logo, o bloco residual é transformado de domínio espacial (pixel) para domínio de frequência. A transformação tem como objetivo reduzir a correlação de um bloco de entrada.
[0075] Então, um coeficiente de transformação resultando da transformação é quantizado. Essa quantização é de compressão com perdas. Compressão sem perdas é realizada sobre o coeficiente de quantização, assim obtido, utilizando codificação por entropia. Além disso, a informação adicional necessária para reconstruir o sinal de vídeo codificado é codificada e retirada com o sinal de vídeo codifica- do. Essa informação é, por exemplo, informação sobre previsão espacial, previsão temporal, e/ou quantização.
[0076] A FIGURA 1 é um diagrama de bloco mostrando um aparelho de codificação de imagem exemplar 100 em conformidade com a AVC e/ou HEVC H.264/MPEG-4.
[0077] Um subtrator 105 calcula o sinal residual 106 (bloco residual) que é uma diferença entre um bloco atual a ser codificado de um sinal de imagem de entrada 101 e um sinal de previsão correspondente 181 (bloco de previsão). O sinal de previsão 181 é gerado pela previsão temporal ou previsão espacial por uma unidade de previsão 180. Um tipo da previsão pode ser alterado em uma base de quadro ou bloco. Um bloco e/ou um quadro previsto utilizando a previsão temporal é referido como sendo intercodificado, e um bloco e/ou um quadro previsto utilizando a previsão espacial é referido como sendo intracodifi- cado.
[0078] Um sinal de previsão utilizando para a previsão temporal é derivado utilizando uma imagem codificada ou decodificada armazenada em uma memória. Um sinal de previsão utilizando para a previsão especial é derivado utilizando valores de pixel limite de blocos codificados e decodificados adjacentes armazenados na memória. Além disso, o número de direções de intraprevisão é determinado de acordo com o tamanho das unidades de codificação.
[0079] O sinal residual 106 é também referido como um erro de previsão ou um resíduo de previsão. Uma unidade de transformação 110 transforma o sinal residual 106 para gerar um coeficiente de transformação 111. Uma unidade de quantização 120 quantifica o coeficiente de transformação 111 para gerar um coeficiente de quantização 121. Uma unidade de codificação por entropia 190 realiza a codificação por entropia sobre o coeficiente de quantização 121, com a função de reduzir ainda mais uma quantidade de dados a ser armazenada e a transmissão sem perdas. Por exemplo, a codificação por entropia é uma codificação de extensão variável. Além disso, um comprimento de uma palavra de código é determinado baseado em uma probabilidade de ocorrência de um código.
[0080] Um sinal de código 191 (fluxo contínuo de bits codificado) é gerado através do processamento acima.
[0081] O aparelho de codificação de imagem 100 inclui uma unidade de decodificação para obter um sinal de imagem decodificado (sinal de imagem reconstruído). Especificamente, uma unidade de transformação inversa 130 realiza a quantização inversa e a transformação inversa sobre o coeficiente de quantização 121 para gerar um sinal residual 131. Esse sinal residual 131 é rigorosamente diferente a partir do sinal residual original 106 devido a um erro de quantização também referido como um ruído de quantização.
[0082] Logo, um somador 140 adiciona o sinal residual 131 e o sinal de previsão 181 para gerar um sinal de imagem decodificado 141. Conforme referido anteriormente, para manter a compatibilidade entre o aparelho de codificação de imagem e o aparelho de decodifi- cação de imagem, cada um deles gera um sinal de previsão 181 utilizando os sinais de imagem codificado e decodificado.
[0083] Com a quantização, o ruído de quantização é sobreposto sobre o sinal de imagem decodificado 141. O ruído sobreposto geralmente difere de cada um dos blocos devido à codificação realizada sobre uma base de bloco. Com isso, quando uma quantização especialmente forte é realizada, limites de bloco do sinal de imagem decodificado se tornam salientes. Tal ruído de bloqueio faz com que a qualidade da imagem pareça degradada no reconhecimento visual humano. Para reduzir o ruído de bloqueio, um filtro de desbloqueio 150 realiza um processamento de filtro de desbloqueio sobre o sinal de imagem decodificado 141.
[0084] Por exemplo, no processamento de filtro de desbloqueio na AVC H.264/MPEG-4, o processamento de filtro adequado para cada uma das regiões é selecionado para cada região. Por exemplo, quando o ruído de bloqueio é grande, um filtro passa baixo forte (banda estreita) é utilizando, e quando o ruído de bloqueio é pequeno, um filtro passa baixo fraco (banda larga) é utilizado. A intensidade do filtro passa baixo é determinada de acordo com o sinal de previsão 181 e o sinal residual 131. O processamento de filtro de desbloqueio suaviza as bordas dos blocos. Com isso, a qualidade subjetiva da imagem do sinal de imagem decodificado é aperfeiçoada. Uma imagem na qual o processamento de filtro foi realizado para previsão de compensação de movimento da próxima imagem. Consequentemente, esse processamento de filtro reduz um erro de previsão, aumentando, assim, a codificação eficientemente.
[0085] Um filtro de circuito adaptativo 160 realiza um processamento de compensação adaptativo de amostra e/ou processamento de filtro de circuito adaptativo sobre um sinal de imagem decodificado 151 após o processamento de filtro de desbloqueio, para gerar um sinal de imagem decodificado 161. Conforme citado acima, um processamento de filtro de desbloqueio aumenta a qualidade subjetiva da imagem. Por outro lado, processamento de compensação adaptativo de amostra (SAO) e o processamento de filtro de circuito adaptativo (ALF) têm como objetivo aumentar a confiabilidade sobre uma base por pixel (qualidade objetiva).
[0086] O SAO é um processamento para adicionar um valor de compensação a um pixel de acordo com os pixels adjacentes. O ALF é utilizado para compensar a distorção de imagem causada pela compressão. Por exemplo, o ALF é um filtro Wiener tendo um coeficiente de filtro determinado de uma maneira que um erro médio quadrático (MSE) entre o sinal de imagem decodificado 151 e o sinal de imagem de entrada 101 é minimizado. Por exemplo, um coeficiente do ALF é calculado e transmitido em uma base por quadro. Além disso, o ALF pode ser aplicado a um quadro inteiro (imagem) ou uma região local (bloco). Além disso, a informação adicional indicando uma região sobre a qual o processamento de filtro deve ser realizado pode ser transmitida sobre uma base de bloco, base de quadro, ou base quadtree.
[0087] Para decodificar um bloco intercodificado, é necessário armazenar, em um buffer de quadro de referência 170, corte de uma imagem codificada e decodificada. O buffer de quadro de referência 170 mantem o sinal de imagem decodificado 161 como um sinal de imagem decodificado 171. A unidade de previsão 180 realiza uma in- terprevisão utilizando a previsão de compensação de movimento. Especificamente, um primeiro estimador de movimento procura blocos inclusos em um quadro de vídeo codificado e decodificado para um bloco muito similar a um bloco atual. Esse bloco similar é utilizado como o sinal de previsão 181. Um deslocamento relativo (movimento) entre o bloco atual e o bloco similar é transmitido como dados de movimento para o aparelho de decodificação de imagens. Esses dados de movimento são, por exemplo, vetores de movimento tridimensionais inclusos na informação adicional fornecida com dados de vídeo codificados. Aqui, a expressão "tridimensional" inclui bidimensão espacial e dimensão unidimensional.
[0088] Deve-se observar que para otimizar a precisão da previsão, um vetor de movimento tendo uma resolução de subpixel espacial como uma resolução de meio pixel e uma resolução de um quarto de pixel pode ser utilizado. O vetor de movimento tendo a resolução de subpixel especial indica um local especial em um quadro decodificado onde nenhum valor de pixel existe, ou seja, um local de um subpixel. Assim, é necessário interpolar um valor de pixel para realizar uma pre- visão de compensação de movimento. Essa interpolação é realizada por um filtro de interpolação (incluído na unidade de previsão 180 mostrada na FIGURA 1), por exemplo.
[0089] Tanto no modo de intracodificação como no modo de inter- codificação, o coeficiente de quantização 121 é formado transformando e quantificando o sinal residual 106 que é a diferença entre o sinal de imagem de entrada 101 e o sinal de previsão 181. Em geral, a unidade de transmissão 110 utiliza, para essa transformação, a transformada de cosseno discreta (DCT) bidimensional ou transformação ortogonal que é uma versão de um número inteiro da DCT. Isso reduz a correção de vídeo natural eficientemente. Além disso, um componente de baixa frequência é em geral mais importante para a qualidade da imagem do que um componente de alta frequência, e, assim, mais bits são utilizados para o componente de baixa frequência do que para o componente de alta frequência.
[0090] A unidade de codificação por entropia 190 transforma uma variedade bidimensional do coeficiente de quantização 121 em uma variedade unidimensional. Normalmente, a também chamada varredura em ziguezague é utilizada para essa transformação. Na varredura em ziguezague, uma variedade bidimensional é varrida em uma ordem predeterminada a partir de um coeficiente CC no canto superior esquerdo da variedade bidimensional até um coeficiente CA no canto superior direito da mesma. A energia normalmente se concentra em coeficientes no corte superior esquerdo da variedade bidimensional que corresponde a uma baixa frequência, e, assim, quando a varredura em ziguezague é realizada, os últimos valores tendem a ser zero. Com isso, é possível alcançar a codificação eficiente utilizando a de- codificação de comprimento de percurso como parte de um pré- processamento da codificação por entropia.
[0091] Na AVC e HEVC H.264/MPEG-4, vários tipos de codifica- ção por entropia são utilizandos. Embora a codificação de comprimento fixo seja realizada sobre alguns elementos de sintaxe, a codificação de comprimento variável é realizada sobre a maioria dos elementos de sintaxe. Em particular, a codificação de comprimento variável adaptati- va ao contexto é realizada sobre um resíduo de previsão, e vários outros tipos de codificação de número inteiro são realizadas sobre outros elementos de sintaxe. Além disso, há também uma caixa onde a codi-ficação aritmética binária adaptativa ao contexto (CABAC) é utilizada.
[0092] A codificação de comprimento variável permite compressão sem perdas de um fluxo de dados codificado. Entretanto, palavras de código são de comprimento variável, e, assim, é necessário decodificá-las continuamente. Em outras palavras, antes de uma palavra de código precedente ser codificada ou decodificada, uma seguinte palavra de código não pode ser codificada ou decodificada sem reiniciar (inicializar) a codificação por entropia ou sem indicar separadamente um local da primeira palavra de código (ponto de entrada) quando a decodificação é realizada.
[0093] Uma sequência de bit é codificada em uma palavra de código pela codificação aritmética baseada em um modelo de probabilidade predeterminado. O modelo de probabilidade predeterminado é determinado baseado no conteúdo de uma sequência de vídeo no caso da CABAC. Assim, a codificação aritmética e a CABAC são realizadas mais eficientemente conforme um comprimento de um fluxo contínuo de bits a ser codificado é maior. Em outras palavras, a CABAC aplicada à sequência de bit é mais eficiente em um bloco maior. A CABAC é reiniciada no início de cada sequência. De maneira diferente, o modelo de probabilidade é inicializado no início de cada sequência de vídeo com um valor determinado ou um valor predeterminado.
[0094] A H.264/MPEG-4, a AVC H.264/MPEG-4 e a HEVC incluem duas camadas funcionais, a camada de codificação de vídeo (VCL) e a camada de abstração de rede (NAL). A camada de codificação de vídeo fornece uma função de codificação. A NAL encapsula elementos de informação em unidades padrão, referidas como unidades NAL, dependendo de um uso, como transmissão sobre um canal ou armazenamento em um dispositivo de armazenamento. Os elementos de informação são, por exemplo, sinais de erro de previsão codificados ou informações necessárias para decodificar um sinal de vídeo. A informação necessária para decodificar um sinal se vídeo é um tipo de previsão, um parâmetro de quantização, um vetor de movimento, e assim por diante.
[0095] Cada uma das unidades da NAL pode ser classificada em: uma unidade de NAL VCL incluindo dados de vídeo comprimidos e informações relacionadas; uma unidade não VCL encapsulando dados adicionais, como um conjunto de parâmetros se relacionando a uma sequência de vídeo inteira; e informações de reforço suplementar (SEI) para fornecer informações adicionais úteis para aumentar a precisão de decodificação.
[0096] Por exemplo, a unidade não VCL inclui um conjunto de parâmetros. O conjunto se se refere a um conjunto de parâmetros relacionados à codificação e decodificação de certa sequência de vídeo. Exemplos do conjunto de parâmetros incluem um conjunto de parâmetros de sequência (SPS) incluindo parâmetros relacionados à codificação e decodificação de uma sequência de vídeo inteira (sequência de imagem).
[0097] O conjunto de parâmetro de sequência tem uma estrutura de sintaxe incluindo elementos de sintaxe. Um conjunto de parâmetros de imagem (PPS) é especificado por pic_parameter_set_id, um elemento de sintaxe incluso em cada cabeçalho do corte. Além disso, um SPS é especificado por seq_parameter_set_id, um elemento de sintaxe incluso no PPS. Conforme mencionado acima, os elementos de sin- taxe inclusos no SPS são aplicados a toda a sequência de vídeo codificada.
[0098] O PPS é um conjunto de parâmetros que define parâmetros aplicados à codificação e decodificação de uma imagem inclusa em uma sequência de vídeo. O PPS tem uma estrutura de sintaxe incluindo elementos de sintaxe. O conjunto de parâmetros de imagem (PPS) é especificado por pic_parameter_set_id, um elemento de sintaxe incluso em cada cabeçalho do corte. Conforme mencionado acima, os elementos de sintaxe inclusos no SPS são aplicados a toda a imagem codificada.
[0099] Portanto, é mais fácil rastrear o SPS do que o PPS. Isso ocorre devido às alterações do PPS para cada imagem, enquanto o SPS permanece constante para toda a sequência de vídeo que pode durar por vários minutos ou várias horas.
[00100] Um VPS é parâmetros na camada mais alta, e incluí informações relacionadas às sequências de vídeo. A informação inclusa nas VPS é uma taxa de bit, uma estrutura temporal_layering das sequências de vídeo, e assim por diante. Além disso, a VPS inclui informações sobre uma dependência entre camadas (dependência entre sequência de vídeos diferentes). Como um resultado, a VPS pode ser considerada como informação sobre as sequências de vídeo, e um esboço de cada uma das sequências de vídeo pode ser obtido baseado nos VPS.
[00101] A FIGURA 2 é um diagrama de bloco mostrando um aparelho de decodificação de imagem exemplar 200 em conformidade com o padrão de codificação de vídeo AVC ou HEVC H.264/MPEG-4.
[00102] Um sinal codificado 201 (fluxo contínuo de bits) inserido no aparelho de decodificação de imagem 200 é transferido a uma unidade de decodificação por entropia 290. A unidade de decodificação por entropia 290 decodifica o sinal codificado 201 para obter um coeficiente de quantização e elementos de informação necessários para a decodi- ficação, como dados de movimento, e um modo de previsão. Além disso, a unidade de decodificação por entropia 290 varre inversamente o coeficiente de quantização obtido com a finalidade de obter uma variedade bidimensional, para gerar um coeficiente de quantização 291, e retira o coeficiente de quantização 291 para uma unidade de transformação inversa 230.
[00103] A unidade de transformação inversa 230 quantifica e transforma inversamente o coeficiente de quantização 291 para gerar um sinal residual 231. O sinal residual 231 corresponde a uma diferença obtida subtraindo um sinal de previsão do sinal de imagem de entrada que não tem ruído e erro de quantização e é inserido a um aparelho de codificação de imagem.
[00104] Uma unidade de previsão 280 gera um sinal de previsão 281 utilizando previsão temporal ou previsão espacial. Normalmente, elementos de informação decodificados incluem ainda informações, como um tipo de previsão, no caso da intraprevisão, ou informações necessárias para a previsão, como dados de movimento, no caso da previsão de compensação de movimento.
[00105] Um somador 240 adiciona o sinal residual 231 em um domínio especial e o sinal de previsão 281 gerado pela unidade de previsão 280, para gerar um sinal de imagem decodificado 241. Um filtro de desbloqueio 250 realiza um processamento de filtro de desbloqueio sobre o sinal de imagem decodificado 241 para gerar um sinal de imagem decodificado 251. Um filtro de circuito adaptativo 260 realiza o processamento de compensação adaptativo de amostra e o processamento de filtro de circuito adaptativo sobre o sinal de imagem decodificado 251, para gerar um sinal de imagem decodificado 261. O sinal de imagem decodificado 261 é retirado como uma imagem de exibição e armazenado como um sinal de imagem decodificado 271 em um buf fer de quadro de referência 270. O sinal de imagem decodificado 271 é utilizado para um bloco subsequente ou previsão temporal ou espacial de uma imagem.
[00106] Comparada à AVC H.264/MPEG-4, a HEVC tem uma função de auxiliar o processamento paralelo avançado da codificação e da decodificação. Como com a AVC H.264/MPEG-4, a HEVC permite a repartição de um quadro em cortes. Aqui, cada um dos cortes inclui LCUs consecutivos em uma ordem de varredura. Na AVC H.264/MPEG-4, cada corte é decodificável, e a previsão especial não é realizada entre os cortes. Assim, é possível realizar o processamento paralelo sobre uma base por corte.
[00107] Entretanto, o corte tem um cabeçalho consideravelmente maior, e não há dependência entre os cortes, diminuindo assim a eficiência de compressão. Além disso, quando a CABAC é realizada sobre um bloco de dados pequeno, a eficiência da CABAC diminui.
[00108] Em resposta a isso, o processamento paralelo de frente de onda (WPP) foi proposto para permitir um processamento paralelo mais eficiente. No WPP, um modelo de probabilidade após a segunda LCU em uma fileira anterior é processado e é utilizado como um modelo de probabilidade de CABAC para reiniciar a primeira LCU (lead LCU) em cada uma das fileiras da LCU (a seguir, simplesmente também referido como "fileiras") de uma imagem. Isso mantém a dependência entre os blocos. Assim, é possível decodificar as fileiras de LCU em paralelo. Além disso, o processamento de cada fileira é atrasado por duas LCUs relativas à primeira fileira.
[00109] Informações indicando um ponto de entrada, uma posição na qual a decodificação de uma fileira de LCU é iniciada, são sinalizadas em um cabeçalho do corte. Deve ser observado que na Literatura de Não Patente (NPL) 1 descreve os detalhes de um WPP.
[00110] Um método para utilizar um bloco está disponível como ou- tra abordagem para aumentar a paralelização. Um quadro (imagem) é repartido em blocos. Cada um dos blocos é retangular e inclui LCUs. Os limites entre as blocos são estabelecidos para repartir uma imagem em matrizes. Além disso, os blocos são processados em uma varredura de quadro.
[00111] Todas as dependências são perdidas no limite de cada bloco. A codificação por entropia, como a CABAC, é reiniciada no início de cada bloco. Deve ser observado que somente o processamento de filtro de desbloqueio e o processamento de compensação adaptativo de amostra são aplicados sobre os limites entre os blocos. Assim, é possível codificar ou decodificar os blocos em paralelo. Deve ser observado que a Literatura de Não Patente (NPL) 2 e a Literatura de Não Patente (NPL) 3 descreve os detalhes dos blocos.
[00112] Além disso, os conceitos do corte dependente e do corte por entropia foram propostos para tornar o conceito do corte adequado, mais para paralelização do que para resistência de erros, com a finalidade original de cortes nas AVC H.264/MPEG-4. Em outras palavras, os seguintes três tipos de cortes são utilizados em HEVC: um corte normal, um corte dependente, e um corte por entropia.
[00113] O corte normal é um corte já conhecido a partir da AVC H.264/MPEG-4. A previsão espacial não pode ser realizada entre cortes normais. Resumindo, a previsão não pode ser realizada sobre os limites entre os cortes. Em outras palavras, o corte normal é codificado sem se referir a outro corte. A CABAC é reiniciada no início de cada corte para permitir a decodificação separada de cada corte.
[00114] O corte normal é utilizado para o início de um quadro. Dito de outra forma, cada quadro deve iniciar a partir do corte normal. O corte normal tem um cabeçalho incluindo parâmetros necessários para decodificar dados de corte.
[00115] O corte por entropia é um corte que permite a previsão es- pacial entre um corte pai e o corte por entropia, por exemplo. Aqui, um corte pai é um corte normal precedendo o corte por entropia. O corte pai e o corte por entropia são analisados independentemente.
[00116] Os dados de corte são analisados independentemente do corte pai e do corte por entropia exceto elementos de sintaxe de um cabeçalho do corte. Em outras palavras, a decodificação da CABAC do corte por entropia exige elementos de sintaxe inclusos em um cabeçalho do corte do corte pai. Por exemplo, os elementos de sintaxe incluem informações de mudança indicando se os dados do corte incluem parâmetros de filtragem. Quando os dados de corte incluem parâmetros de filtragem, uma unidade de decodificação da CABAC extrai as informações de mudança. Caso contrário, a unidade de decodifica- ção da CABAC não assume dados de filtragem. Em outras palavras, após analisar um cabeçalho do corte do corte normal, a unidade de decodificação da CABAC é capaz de processar o corte pai e o corte por entropia em paralelo.
[00117] Entretanto, o corte pai pode ser, por exemplo, o corte normal, e é exigida para reconstruir valores de pixel do corte por entropia. Além disso, a CABAC é reiniciada no início do corte para permitir a análise independente do corte por entropia.
[00118] Um cabeçalho do corte mais curto que o cabeçalho do corte do corte normal pode ser utilizado para a corte por entropia. O cabeçalho do corte inclui um subconjunto de parâmetros de codificação considerando informações transmitidas dentro do cabeçalho do corte do corte normal. Informações não inclusas no cabeçalho do corte do corte por entropia são copiadas a partir do cabeçalho do corte do corte pai.
[00119] O corte dependente é similar a um corte por entropia para a qual a CABAC não é iniciada. A reinicialização da CABAC inclui um processo de inicialização no qual a tabela de contexto (tabela de probabilidade) é inicializada para um valor predefinido, e um processo de terminação (processo de término) na codificação aritmética ou na de- codificação aritmética.
[00120] O cabeçalho do corte é utilizado para analisar e/ou decodificar o corte dependente. Visto que o corte dependente não pode ser analisado sem o corte pai, quando o corte pai não é obtido, o corte dependente não pode ser decodificado. O corte pai é geralmente uma corte precedente ao corte dependente na ordem de codificação e incluindo um cabeçalho do corte completo. O mesmo se aplica para o corte pai do corte por entropia.
[00121] Em geral, o corte por entropia pode ser considerado como dependente dos parâmetros do cabeçalho de outro corte, e, assim a presente invenção pode ser aplicada tanto para o corte dependente quanto para o corte por entropia.
[00122] Conforme descrito acima, o corte dependente e o corte por entropia utilizam o cabeçalho do corte (a informação não inclusa no cabeçalho da corte da corte dependente) do corte precedente na ordem de codificação dos cortes. Essa regra é recursivamente aplicada. Nota-se que o corte pai sobre o qual um corte dependente alvo depende é atribuível. Considerar inclui utilizar a previsão especial entre cortes, um estado comum da CABAC, e assim por diante. O corte dependente utiliza uma tabela de contexto da CABAC gerada na extremidade do corte precedente. Desse modo, o corte dependente utiliza continuamente a tabela gerada sem iniciar uma tabela da CABAC para um valor predefinido. A NPL 3 descreve o corte por entropia e o corte dependente (veja "dependent_slice_flag" na página 73, por exemplo).
[00123] No caso de utilizar o WPP, quando o corte dependente começa no início de uma fileira de LCU e um corte incluindo um LCU localizado no corte superior direito do início da fileira de LCU é indicado como sendo atribuível, o corte dependente utiliza a tabela de contexto da CABAC do LCU.
[00124] A HEVC apresenta vários perfis. Um perfil inclui configurações de um aparelho de codificação de imagem e um aparelho de de- codificação de imagem adequado para uma aplicação específica. Por exemplo, um "perfil principal" inclui somente cortes normais e cortes dependentes, mas não cortes por entropia.
[00125] Como citado anteriormente, um corte codificado é encapsulada em uma unidade de NAL, encapsulada, por exemplo, em um protocolo de tempo real (RTP), e finalmente encapsulada em um pacote de protocolo de Internet (IP). Esse empilhamento de protocolo ou outro empilhamento de protocolo permite a transmissão de vídeo codificado na Internet ou uma rede orientada por pacote, como uma rede de propriedade.
[00126] Normalmente, uma rede inclui pelo menos um roteador, e o roteador inclui um hardware dedicado que opera em velocidade ultraalta. O roteador recebe pacotes de IP, analisa seus cabeçalhos, e envia apropriadamente os pacotes de IP aos seus respectivos destinos. O roteador é exigido para processar a comunicação a partir de muitas fontes, e, assim, pacotes que controlam a lógica devem ser o mais simples possível. O roteador precisa pelo menos verificar campos de endereços de destino inclusos nos cabeçalhos de IP, para determinar caminhos pelos quais os pacotes de IP são enviados. Um roteador inteligente (media-aware) verifica adicionalmente campos dedicados em cabeçalhos de protocolo de rede, como os cabeçalhos de IP, cabeçalhos de RTP, e cabeçalhos de NALU, para posteriormente fornecer suporte para a qualidade do serviço (QoS).
[00127] Como fica claro a partir da descrição acima da codificação de vídeo, os diferentes tipos de cortes definidas para o processamento paralelo, como o corte dependente e o corte por entropia, diferem significativamente para a degradação da imagem, quando dados são perdidos. O corte dependente não pode ser analisado e decodificada sem o corte pai. Isso ocorre porque uma unidade de codificação por entropia não pode ser reiniciada no início do corte dependente. Assim, o corte pai pode ser dito como a mais importante na reconstrução de uma imagem ou vídeo do que o corte pai.
[00128] Na HEVC, o corte dependente e o corte por entropia têm uma dependência entre os cortes (dependência dentro e um quadro) conforme um aspecto adicional da dependência. Essa dependência não é a única dependência dentro do quadro.
[00129] Visto que o processamento paralelo dos cortes é realizado para cada bloco, contextos de uma unidade de codificação aritmética e de uma unidade de decodificação aritmética são determinados pelas configurações predefinidas ou pelos cortes codificadas ou decodificadas. Entretanto, uma dependência de um cabeçalho e uma dependência de inicialização de codificação aritmética são diferentes uma da outra, e, assim, há a possibilidade de atraso ou ainda a complexidade na contradição das finalidades do processamento paralelo e de um mecanismo do corte dependente.
[00130] O corte dependente pode ser utilizado juntamente com uma ferramenta de processamento paralelo, como o WPP e os blocos. Além disso, uma frente de onda (subfluxo) que torna possível reduzir o atraso de transmissão sem causar perda de codificação pode ser gerada utilizando o corte dependente.
[00131] A CABAC não é reiniciada para o corte dependente, e, assim, o corte dependente pode ser utilizado como um ponto de entrada de um subfluxo da CABAC. Além disso, para indicar um ponto de entrada para análise independente, a informação indicando o ponto de entrada pode ser assinalada em um fluxo contínuo de bits. Em particular, quando dois ou mais subfluxos da CABAC são encapsulados em um corte normal ou em um corte dependente, um ponto de entrada é assinalado explicitamente utilizando o número de bytes para cada sub- fluxo. Aqui, o subfluxo indica um corte de um fluxo analisado separadamente baseado no ponto de entrada. Além disso, cada corte dependente exige um cabeçalho de uma unidade de NAL, e, assim, o corte dependente pode ser utilizado como uma "criadora" de um ponto de entrada. Resumindo, o ponto de entrada correspondente a tal "criadora" pode ser assinalado.
[00132] É possível utilizar simultaneamente um método para assinalar explicitamente um ponto de entrada e um método para criar um ponto de entrada através do corte dependente. Aqui, há a necessidade de identificar um ponto de entrada para cada unidade de NAL (início de cada cabeçalho de NAL). Deve ser observado que qualquer método pode ser utilizado para o método de identificação. Por exemplo, os dois métodos seguintes podem ser utilizados.
[00133] O primeiro método está inserindo um código de início de 3 bytes no início de cada cabeçalho de NAL, por exemplo. O segundo método é a embalagem de cada unidade de NAL em um pacote diferente. Além disso, o tamanho de um cabeçalho do corte pode ser reduzido devido à dependência do corte.
[00134] Esses métodos permitem a análise paralela da CABAC de um corte por entropia. Isso ocorre porque a CABAC é sempre reiniciada no início do corte por entropia. No processamento paralelo da CA- BAC, um estrangulamento pode ser superado pela análise paralela da CABAC após o processamento consecutivo da reconstrução de pixel. Especificamente, com uma ferramenta de paralelização do WPP, a decodificação de cada fileira de LCU pode ser alcançada por um núcleo de processamento. É para ser observado que fileiras de LCU diferentes podem ser atribuídas aos respectivos núcleos. Por exemplo, duas fileiras podem ser atribuídas a um núcleo, ou uma fileira pode ser atribuída a dois núcleos.
[00135] A FIGURA 3A é um diagrama mostrando uma imagem 300 repartida em fileiras. Cada uma das fileiras inclui unidades de codificação maiores (LCUs). A fileira 301 (Frente de onda 1) e a fileira 302 (Frente de onda 2) são processadas em paralelo. Conforme mostrado por uma seta dos estados da CABAC na FIGURA 3A, após as primeiras duas LCUs serem codificadas na fileira 301, o processamento da fileira 302 é iniciado. Além disso, os estados da CABAC após as primeiras duas LCUs da fileira 301 serem codificadas ou decodificadas são utilizadas para a inicialização da CABAC da fileira 302. Assim, o processamento da fileira 302 pode ser iniciado após o processamento das primeiras duas LCUs da fileira 301 ser finalizado. Em resumo, o atraso das duas LCUs existe entre os dois núcleos de processamento.
[00136] A FIGURA 3B é um diagrama mostrando um exemplo de uso dos cortes dependentes para o WPP. Uma imagem 310 mostrada na FIGURA 3B inclui fileiras 311 a 314. Aqui, a fileira 311 (Frente de onda 1), a fileira 312 (frente de onda 2), e a fileira 313 (Frente de onda 3) são processadas utilizando núcleos separados.
[00137] Os cortes dependentes permitem que o WPP seja capaz de reduzir atraso. Os cortes dependentes não um tem cabeçalho do corte completo. Além disso, quando os pontos de entrada (os pontos de entrada dos cortes dependentes que são conhecidos para a regra acima) são conhecidos, os cortes dependentes podem ser decodificados independentemente de outros cortes. Mais ainda, os cortes dependentes permitem o WPP adequado para aplicações de atraso baixo sem causar perda de codificação.
[00138] Em um caso normal onde um subfluxo (fileira de LCU) é encapsulado em um corte, é necessário inserir um ponto de entrada claro a um cabeçalho do corte para realizar certamente a codificação por entropia e decodificação por entropia em paralelo. Por essa razão, a transmissão do corte pode ser preparada somente após o último subfluxo do corte seja completamente codificado. Além disso, o cabe- çalho do corte está complete somente após todos os subfluxos no corte estarem finalizados. Em outras palavras, a transmissão do início do corte não pode ser iniciada através da fragmentação de pacote na camada RTP/IP até que o processamento do corte inteira esteja finalizado.
[00139] Entretanto, quando um corte dependente é utilizado, o corte dependente pode ser utilizado como uma criadora de ponto de entrada, e, assim, não é necessário realizar a notificação utilizando um sinal explícito de um ponto de entrada. Consequentemente, é possível separar um corte normal em muitos cortes dependentes sem perda de codificação. Além disso, os cortes podem ser transmitidos imediatamente após a codificação do subfluxo encapsulado ter sido finalizada (ou antes da codificação, no caso da fragmentação de pacote).
[00140] Os cortes dependentes não diminuem uma dependência de previsão espacial. Além disso, os cortes dependentes não diminuem uma dependência de análise. Isso ocorre porque a análise de um corte dependente alvo normalmente exige estados da CABAC de um corte precedente.
[00141] Quando o corte dependente não é permitido, cada fileira de LCU pode ser utilizada como um corte. Embora tal configuração reduza o atraso de transmissão, perda de codificação significante é causada simultaneamente conforme dito acima.
[00142] A seguir, assume-se um caso onde um quadro inteiro (imagem) é encapsulado em um corte. Nesse caso, para tornar a análise paralela possível, é necessário sinalizar, em um cabeçalho de corte, um ponto de entrada de um subfluxo (fileira de LCU). Isso causa um atraso de transmissão em um nível de quadro. Em outras palavras, é necessário modificar o cabeçalho após o quadro inteiro ser codificado. A encapsulação da imagem inteira em um corte não piora o atraso de transmissão. Por exemplo, a transmissão de corte do corte pode ser iniciada antes da codificação ser completamente finalizada. Entretanto, quando o WPP é utilizado, é necessário modificar o cabeçalho do corte depois de indicar o ponto de entrada. Assim, é necessário atrasar a transmissão do corte inteira.
[00143] Conforme dito acima, o uso do corte dependente torna possível reduzir o atraso. Conforme mostrado na FIGURA 3B, a imagem 310 é repartida na fileira 311, um corte normal, e as fileiras 312, 313, e 314, cortes dependentes. Quando cada fileira está em um corte dependente, é possível atrasar a transmissão de uma fileira sem perda de codificação. Isso ocorre porque o corte dependente não diminui a dependência de previsão espacial e reinicia o motor da CABAC.
[00144] A FIGURA 4A e a FIGURA 4B são um diagrama mostrando outro exemplo da inicialização da CABAC. A FIGURA 4A mostra a inicialização da CABAC quando o WPP não é utilizado. O WPP e os blocos são ambos inutilizados. O uso dos cortes normais e dos cortes dependentes juntas é permitido.
[00145] Um corte dependente (3) copia o cabeçalho de um corte normal (2). Em resumo, o corte normal (2) é um corte pai da corte dependente (3). O corte dependente (3) utiliza uma tabela de contexto gerada na extremidade da corte normal (2). O corte dependente (3) não dependente de um corte normal (1), mas depende do corte normal (2). Em síntese, a previsão especial não existe entre o corte normal (1) e o corte dependente (3).
[00146] A FIGURA 4B é um diagrama mostrando a inicialização da CABAC quando o WPP é utilizado. O uso dos cortes normais, dos cortes dependentes, e do WPP junto é permitido.
[00147] Um corte dependente (3) copia o cabeçalho de um corte normal (2). Espera-se que corte dependente (3) utilize uma tabela de contexto gerada na extremidade da segunda LCU do corte normal (1). Entretanto, visto que o corte (2) é um corte normal, é indicado que a segunda LCU do corte (1) não pode ser referida. Em resumo, o corte (1) não é referido, pois o corte (1) não é um corte imediatamente precedente de um corte dependente na ordem de codificação.
[00148] Entretanto, o corte (2) é utilizado como um corte de referência para o corte (3) e um corte (4). Em outras palavras, quando a decodificação do corte (3) é iniciada, é necessário inicializar os estados da CABAC para um valor predefinido (indicado por uma seta tracejada na FIGURA 4B). O corte dependente (4) utiliza estados da CA- BAC (seta sólida) após a segunda LCU superior direita que está conforme as condições do WPP mencionadas acima.
[00149] A FIGURA 5 é um diagrama mostrando uma sintaxe exemplar de um cabeçalho do corte em conformidade com o modelo de referência da HEVC atual (HM 8.0). Um cabeçalho do corte 320 inclui um elemento de sintaxe dependent_slice_flag que indica se um corte- alvo é um corte dependente ou um corte normal.
[00150] Como está claro a partir da fileira 321 na FIGURA 5, quando o dependent_slice_flag é igual a 0, o cabeçalho inclui as informações do cabeçalho da corte. Em resumo, o corte tem um cabeçalho completo. Caso contrário, o cabeçalho não inclui as informações do cabeçalho do corte. Em outras palavras, como acima, o corte dependente e um corte por entropia não tem cabeçalhos do corte completos, e se referem ao cabeçalho de um corte normal precedente.
[00151] Pontos de entrada são assinalados mais tarde para dar suporte ao processamento paralelo. Mesmo quando a unidade de codificação por entropia ou a unidade de decodificação por entropia não é reiniciada, é possível realizar independentemente a decodificação paralela de corte de um fluxo de vídeo (subfluxo) entre os pontos de entrada, utilizando os pontos de entrada. Conforme citado acima, pontos de entrada são marcados para o corte dependente, o corte normal, e o corte por entropia.
[00152] Na HEVC, várias ferramentas de processamento paralelo estão disponíveis. Conforme mencionado acima, as ferramentas incluem o WPP, o corte dependente, o corte por entropia, e o bloco. Entretanto, visto que essas ferramentas não são compatíveis uma com a outra, há um limite para o uso combinado das ferramentas. O uso do bloco do corte junto é geralmente permitido.
[00153] Entretanto, há uma restrição de que em um perfil principal, um corte precisa ser subdividido em um número inteiro de blocos maior ou igual a 1, e um bloco precisa ser subdividido em um número inteiro de cortes maior que ou igual a 1. Essa restrição é normalmente aplicada a um perfil específico (ou a um nível específico de um perfil). A finalidade da restrição é reduzir a complexidade da implementação de hardware.
[00154] Quando o entropy_coding_sync_enabled_flag de um PPS é igual a 1 (por exemplo, o WPP é utilizado), e o primeiro bloco de codificação em um corte não é o primeiro bloco de codificação do primeiro bloco de codificação em árvore em uma fileira de blocos de codificação em árvore em um bloco, uma condição sob a qual um fluxo contínuo de bits atende aos padrões é que o último bloco de codificação no corte pertence à mesma fileira dos blocos de codificação em árvore como o primeiro bloco de codificação no corte. Uma árvore de codificação indica uma estrutura de uma LCU e ainda a subdivisão recursiva de cada LCU em quatro blocos. Diferentemente do que foi dito, quando o WPP pode ser utilizado, e o corte não inicia no início de uma fileira de LCU alvo, o corte tem que terminar na, ou antes, extremidade da fileira LCU alvo. A NPL 3 descreve detalhes em relação não somente aos meios de processamento paralelo, mas também à sintaxe da HEVC.
[00155] A seguir está a descrição dessa restrição com relação à FIGURA 6. A imagem 330 mostrada na FIGURA 6 inclui os cortes 331, 332, e 333, cortes normais. Os cortes 331 e 332 estão inclusos em uma fileira de LCU. O corte 333 é um corte não permitido, porque o corte 333 se estende sobre as fileiras da LCU (três fileiras nesse exemplo). O corte 333 tem que terminar na extremidade da primeira fileira de LCU em conformidade com a restrição a cima.
[00156] A FIGURA 7 é um diagrama mostrando uma imagem 340 tendo uma estrutura de corte permitida quando o WPP é utilizado. A imagem 340 inclui os cortes 341, 342, e 343, cortes normais, e um corte 344, um corte dependente. Os cortes 341, 342, e 343 estão inclusas na primeira fileira de LCU. O corte 344 inclui duas fileiras subsequentes.
[00157] A inicialização da CABAC do corte 344 depende de outros cortes 341, 342, e/ou 343, pois o corte 344 é o corte dependente. Quando quaisquer dos cortes 342 e 343 é um corte normal, como mostrado na FIGURA 7, o corte 344 é inicializado aos estados da CA- BAC predefinidos. Caso contrário, uma tabela do WPP é utilizada. Em outras palavras, os estados da CABAC após a segunda LCU em uma fileira de LCU acima de uma fileira-alvo ser processada são utilizados para a inicialização.
[00158] Nesse exemplo, conforme descrito na FIGURA 4B e afirmado na descrição relacionada à inicialização de CABAC, o corte dependente 344 é inicializado utilizando estados da CABAC predeterminados padrão.
[00159] Assim, a inicialização da CABAC é baseada nos cortes precedentes. Dessa forma, o processamento, especialmente a análise, de um corte-alvo depende de outros cortes. Especificamente, é determinado se um contexto da CABAC é inicializado com um valor predefini- do ou um valor do WPP dependendo de um tipo de cortes precedentes ao corte-alvo. Dessa forma, é verificado se os cortes precedentes podem ou não ser utilizados, e um método de inicialização para ser apli- cado ao corte-alvo é determinado. Em resumo, o processamento tendo uma ordem bastante complicada é exigido. O que segue descreve tal processamento.
[00160] O primeiro corte 341 tem pelo menos duas LCUs, e, assim, os estados da CABAC, após as duas primeiras LCUs serem codificadas ou decodificadas, podem ser referidos.
[00161] Quando o corte 342 ou o corte 343 é perdido, o corte 344 não pode ser precisamente decodificado. Isso ocorre porque a inicialização da CABAC não pode ser realizada devido a um tipo desconhecido do corte 342 ou do corte 343. Em outras palavras, devido ao fato da inicialização da CABAC não poder ser realizada sobre o corte 344 mesmo quando somente informação sobre os dois cortes precedentes está ausente e o corte 344 foi corretamente obtido, os dados do corte corretamente obtido 344 são descartados. Assim, é necessário realizar a ocultação do erro sobre o corte 344. Por essa razão, há a possibili-dade de que a degradação da imagem resulte da distorção, devido a uma ocultação de erro incompleta.
[00162] Aqui, em um cabeçalho de corte, a maioria dos elementos de sintaxe (esses são, principalmente, de mudança de controle, como uma operação de filtragem específica) precisa ser determinada para todos os cortes inclusos em um quadro. Além disso, embora alguns dos elementos de sintaxe possam ser alterados sobre uma base de corte, todos os parâmetros de controle determinados para um quadro inteiro são mantidos na maioria dos processos por um aparelho de codificação de imagem. Assim, o seguinte método pode ser utilizado como um método de ocultação de erro. Esse método exige somente informações indicando se um corte perdido é um corte dependente ou um corte normal.
[00163] Quando pacotes chegam fora de ordem, um atraso de de- codificação aumenta. Em outras palavras, quando o reordenamento do pacote é esperado, há uma possibilidade de aumento do atraso de de- codificação. Isso contradiz com o fornecimento de um atraso ultrabaixo utilizando um corte dependente, o objetivo fundamental do WPP.
[00164] A FIGURA 8 é um diagrama mostrando outro exemplo do processo de inicialização da CABAC. Na FIGURA 8, a estrutura dos cortes mostradas na FIGURA 7 é atribuída. Uma imagem 350 mostrada na FIGURA 8 inclui um corte 351 e um corte 354. O corte 351 é um corte normal e o primeiro corte em um quadro, e inclui quatro LCUs. A CABAC é inicializada a um valor de estado predefinido (estado zero) no início do quadro, ou seja, no início do corte 351. Deve ser observado que estados predefinidos podem ser apresentados, e nesse caso, um dos estados predefinidos é selecionado. Aqui, o estado predefinido se refere a um valor predeterminado em um modelo de probabilidade de codificação aritmética.
[00165] Quando os dados do corte 342 e do corte 343 estão ausentes devido à falta ou a um erro, embora os dados pertencentes a um corte dependente 354 sejam obtidos, o corte dependente 354 não pode ser decodificado. Isso ocorre, pois, conforme dito acima, o motor da CABAC não pode ser inicializado sem os dados dos cortes 342 e 343.
[00166] A FIGURA 9 é um gráfico de fluxo para um processo de determinação em um método de inicialização que é realizado quando o corte dependente 354 é obtido. Em outras palavras, esse gráfico de fluxo mostra um método de dependência em dois ou mais cortes na inicialização da CABAC.
[00167] Assume-se que as seguintes condições são estabelecidas para um corte (4) (corte dependente 354). O WPP pode ser utilizado. O dependent_slice_enabled_flag de um SPS é estabelecido a 1. A posição da corte (4) satisfaz a equação 1.
[00168] O slice_address % numLCUinRow = 0 (Equação 1)
[00169] Aqui, "%" representa uma operação de módulo (restante da divisão de inteiro). O parâmetro numLCUinRow representa o número de LCUs por fileira da imagem 350. Assim, a condição da Equação 1 é satisfeita no início da fileira. O parâmetro numLCUinRow pode ser derivado das configurações do SPS.
[00170] Primeiro, é determinado se o corte (4) é um corte dependente (S101) ou não. Quando o corte (4) não é o corte dependente (Não em S101), uma inicialização predefinida é realizada.
[00171] Conforme mostrado na FIGURA 8, quando o corte (4) é o corte dependente (sim em S101), i é definido como 3 (S102). Em resumo, o corte (3) precedendo o corte (4) é definido como um corte i.
[00172] Logo, é determinado se o corte i inicia da fileira acima de uma fileira do corte (4) (S103) ou não. Aqui, visto que i é definido como 3, o corte i é o corte (3) precedendo um corte dependente a ser processado (corte (4)).
[00173] Quando o corte i não inicia a partir da fileira acima da fileira do corte (4) (Não em S103), a inicialização do WPP (inicialização utilizando uma tabela do WPP) é realizada (S107).
[00174] Em contrapartida, quando o corte i inicia da fileira acima de uma fileira do corte (4) (Sim em S103), ou seja, o caso mostrado na FIGURA 8, é determinado se o corte i é um corte dependente (S104) ou não.
[00175] Quando o corte i não é o corte dependente (Não em S104), uma posição inicial do corte i é então analisada. Especificamente, é determinado se o slice_address% numLCUinRow é menor que 2 (S106). Em resumo, é determinado se a posição inicial do corte i é a primeira LCU ou a segunda LCU na fileira.
[00176] Quando o slice_address% numLCUinRow é menor que 2 (sim em S106), a inicialização do WPP é realizada (S107). Em contrapartida, quando o slice_address% numLCUinRow é maior que ou igual a 2 (não em S106), a inicialização predefinida é realizada (S108).
[00177] Além disso, quando o corte i é o corte dependente (sim em S104), a posição inicial do corte i é analisada. Especificamente, é determinado se o slice_address% numLCUinRow é menor que 3 (S105). Em resumo, é determinado se o corte de início do corte i é a primeira LCU, a segunda LCU, ou a terceira LCU na fileira.
[00178] Quando o slice_address% numLCUinRow é menor que 3 (sim em S105), a inicialização do WPP é realizada (S107). Em contrapartida, quando o slice_address% numLCUinRow é maior que ou igual a 3 (não em S105), a inicialização não é realizada, e o índice i é diminuído em 1 (S109). Em resumo, nesse exemplo, o corte (2) precedente ao corte-alvo (corte (4)) por duas cortes é definida como o corte i. Então, os processos subsequentes à etapa S103 são realizados sobre o corte (2). Além disso, quando a mesma determinação é feita para o corte (2), o corte (1) é então definido como o corte i.
[00179] A FIGURA 10 é um diagrama mostrando uma imagem 360. A imagem 360 inclui cinco cortes de 361 a 365. O corte 361 é um corte normal e inclui a primeira fileira inteira. O corte 362 é um corte dependente e inclui a segunda fileira inteira. A terceira fileira inclui o corte dependente 363 e o corte 364. O corte 365 é um corte dependente e inclui a quarta fileira inteira.
[00180] A seguir se discutem os casos onde o corte 364 é o corte dependente e onde o corte 364 é o corte normal quando a corte 364 é perdida ou atrasada. Além disso, aqui, o corte 363 tem pelo menos duas LCUs.
[00181] Quando o corte 364 é perdido, um aparelho de decodifica- ção de imagem pode determinar um tipo do corte 364. Quando o corte perdido 364 é o corte dependente, é possível continuar decodificando o corte 365 e os subsequentes cortes com uma margem de erro pequena no processamento de reconstrução. Isso é porque, conforme descrito com relação às Figuras 8 e 9, o corte 365 utiliza estados da CABAC da segunda LCU do corte 363. Assim, o processamento da inicialização da CABAC não causa erros. Entretanto, visto que o corte 365 utiliza previsão especial a partir do corte 364, há uma possibilidade de que o processamento de reconstrução de pixel cause um erro.
[00182] Em contraste, quando o corte perdido 364 é o corte normal, o corte 365 não pode ser decodificado. Isso ocorre porque alguns dos elementos de sintaxe podem utilizar informação de um cabeçalho do corte do corte perdido 364. De outra forma, isso ocorre porque o corte normal 364 é um corte pai do corte dependente 365, e a informação do corte pai é exigida para analisar e decodificar o corte dependente 365.
[00183] Quando o tipo do corte perdida 364 é desconhecido, o aparelho de decodificação de imagem descarta o corte decodificável 365 para evitar a decodificação errada que é possível ocorrer quando o corte perdido 364 é o corte normal. Isso é ineficiente porque o corte 365 é descartado mesmo quando os dados do corte 365 são corretamente obtidos. Além disso, é necessário descartar todos os cortes dependentes subsequentes ao corte 365.
[00184] Quando o corte 364 é o corte normal, um motor da CABAC é inicializado para um valor da CABAC predefinida (consulte o caso de Não em S101 na FIGURA 9) para decodificar o corte 365. Assim, o corte 365 não depende do corte 363. Além disso, a previsão especial entre o corte 363 e a corte 365 não é realizada. Conforme dito acima, a CABAC é inicializada ao valor predefinido na posição inicial do corte 365, e, assim, o corte dependente 365 se torna similar ao corte normal.
[00185] Entretanto, o corte normal tem um cabeçalho do corte completa. Em contrapartida, o corte 365 tem somente um cabeçalho do corte curto e depende dos parâmetros estabelecidos por um cabeçalho do corte de um corte normal precedente. Em outras palavras, quando o corte 365 é o corte dependente, embora haja a vantagem de que o tamanho do cabeçalho pode ser reduzido, a vantagem não é tão boa. Em contraste, quando o corte 365 é o corte normal, o corte 365 pode ser decodificado. Conforme acaba de ser descrito, nos casos acima, a vantagem é considerada por ser melhor quando o corte 365 é estabelecido como um corte normal do que quando o corte 365 é estabelecido como o corte dependente.
[00186] Entretanto, no WPP, o corte dependente é desenhado para não garantir robustez contra perda, mas para permitir a operação do WPP com um atraso ultrabaixo. Por outro lado, no caso de uma aplicação de atraso ultrabaixo sobre uma rede, como uma aplicação em tempo real, a perda do pacote e o reordenamento do pacote são esperados. Nesse tipo de caso, quando o corte 364 pode ser finalmente obtido, o corte 365 pode ser decodificado. Entretanto, pelo menos um atraso aumentado e uma perda de pacote são causados. Assim, o WPP é realizado não em um estado ideal em um ambiente com perdas.
[00187] A FIGURA 11 é um diagrama mostrando outro problema associado à inicialização da CABAC quando o WPP é utilizado, e mostrando uma imagem 370. A imagem 370 inclui quatro cortes 371 a 374.
[00188] O corte 371 é um corte normal, e o corte 372 é um corte dependente. Aqui, o corte 371 tem pelo menos dois LCUs. A primeira fileira da imagem 370 inclui os cortes 371 e 372. A segunda fileira da imagem 370 inclui os cortes 373 e 374, cortes dependentes.
[00189] Nesse caso, um aparelho de codificação de imagem é assumido para utilizar pelo menos dois núcleos de processador. Em outras palavras, quando o WPP é utilizado, o aparelho de codificação de imagem codifica e analisa duas fileiras de LCU em paralelo. Assim, o corte 373 se torna disponível muito antes do corte 372 se tornar disponível.
[00190] Entretanto, visto que a inicialização da CABAC para o corte 373 depende do corte 372, a decodificação do corte 373 não pode ser iniciada. Assim, não é possível fazer um atraso de inicialização de codificação e decodificação entre fileiras menores que a fileira LCU inteira. Isso se contradiz com a finalidade do WPP de diminuir o atraso em até duas LCUs.
[00191] A seguir o processamento paralelo de codificação e transmissão de um corte é descrito, como mostrado na FIGURA 11. Duas unidades de processamento, como núcleos de processador e processadores, simultaneamente codificam os primeiros cortes (corte 371 e corte 373) de fileiras respectivas. Quando a codificação termina, os cortes codificados 371 e 373 são encapsuladas em pacotes tendo números de pacote (packet_id) de 0 e 4, respectivamente. Aqui, o número de pacote de 4 é selecionado para reservar um número pequeno para o corte 372 e possivelmente para outro NALU.
[00192] Quando a codificação do corte 372 está completa, o corte 372 é encapsulado em um pacote tendo um número de pacote de 1 e é transmitida. Além disso, duas unidades de NAL tendo números de pacotes correspondentes de 2 e 3 e dados fictícios (preenchedores) são geradas para evitar a determinação de números de pacote de perda de 2 e 3 conforma a perda de pacote.
[00193] Na HEVC, isso é alcançado utilizando uma mensagem de SEI filler_data ou um tipo de unidade de NAL predeterminado reservado para dados de preenchimento. Conforme mencionado acima, quando um ID de pacote precisa ser aumentado em 1 para cada unidade de NAL, um tipo de filtro NALU é utilizado para preencher o espaço.
[00194] A inicialização de uma fileira-alvo depende do segundo LCU em uma fileira acima da fileira-alvo. Além disso, quando um corte é inserido após o segundo LCU, a inserção é problemática em termos de influenciar a determinação da inicialização da CABAC. A presente invenção fornece um método para derivar uma relação mais eficiente entre o WPP e o uso de um corte dependente, baseado nessa análise e problema. Uma situação deveria ser evitada onde a inicialização da CABAC para uma fileira depende de outra fileira para manter a eficiência do WPP.
[00195] Além disso, o mesmo problema como o descrito acima ocorre quando o bloco é utilizado ao invés do WPP.
[00196] De acordo com uma modalidade exemplar discutida aqui, um método de decodificação para decodificar um fluxo contínuo de bits incluindo um sinal codificado resultante de blocos e cortes de codificação nos quais uma imagem é repartida, o método compreendendo decodificar o sinal codificado, em que cada uma dos cortes é um corte normal tendo, em um cabeçalho, informações utilizadas para outro corte ou um corte dependente que é decodificado utilizando informações inclusas em um cabeçalho do corte de outro corte, e quando o corte normal inicia a partir de outra posição que não o início de um primeiro bloco, um segundo bloco codificado ao lado do primeiro bloco não ini-cia a partir do corte dependente.
[00197] Com isso, é possível prevenir uma ocorrência de um caso onde um corte no início do segundo bloco se refere a um corte em outra posição que não o início do primeiro bloco, aumentando, assim, a eficiência quando o processamento de bloco paralelo e os cortes dependentes são utilizados juntos.
[00198] Por exemplo, na decodificação, o primeiro bloco e o segundo bloco podem ser decodificados em paralelo, e quando a decodifica- ção do segundo bloco é iniciada, o segundo bloco pode ser decodificado sem se referir à informação de repartição indicando uma estrutura de corte do primeiro bloco.
[00199] Por exemplo, quando um corte no início de um terceiro bloco é o corte dependente, o corte dependente pode incluir o terceiro bloco todo.
[00200] Por exemplo, quando o primeiro bloco inclui um corte iniciando a partir de outra posição que não o início do primeiro bloco, o segundo bloco pode não iniciar a partir do corte depende.
[00201] Por exemplo, o método de decodificação de imagem pode incluir ainda obter, a partir de um cabeçalho do corte de um corte, informações indicando se o corte é o corte normal ou o corte dependente.
[00202] Por exemplo, um corte no início da imagem pode ser o corte normal, e cada uma de outros cortes pode ser um corte dependente.
[00203] Por exemplo, o método de decodificação pode incluir ainda obter, a partir do fluxo de dados, um indicador de restrição indicando que a repartição de uma figura é restrita.
[00204] Por exemplo, o método de decodificação de imagem pode ainda incluir obter, a partir do fluxo contínuo de bits, um indicador indicando se um corte pai cujo cabeçalho do corte é utilizado para o corte dependente se inicia ou não a partir do início de um bloco.
[00205] De acordo com uma modalidade exemplar revelada aqui, um método de decodificação de imagem para codificar blocos e cortes no qual uma imagem é repartida, para gerar um fluxo contínuo de bits, o método compreendendo: repartir a imagem em blocos e cortes; e codificar os blocos e cortes resultantes da repartição, em que cada uma dos cortes é ou um corte normal tendo, em um cabeçalho, informações utilizadas para outro corte, ou um corte dependente que é decodificada utilizando informações inclusas em um cabeçalho do corte de outro corte, e na repartição, quando o corte normal se inicia a partir de uma posição que não um início de um primeiro bloco, a imagem é repartida em blocos e cortes para prevenir que um segundo bloco codificado ao lado do primeiro bloco se inicie a partir do corte dependente.
[00206] Com isso, é possível prevenir uma ocorrência de um caso onde um corte no início do segundo bloco se refere a um corte em uma posição que não o início do primeiro bloco, aumentando, dessa forma, a eficiência quando o processamento do bloco paralelo e os cortes dependentes são utilizados juntos.
[00207] Por exemplo, na repartição, no caso onde um aparelho de decodificação de imagem decodifica o primeiro bloco e o segundo bloco em paralelo, a imagem pode ser repartida em blocos e cortes para permitir a decodificação do segundo bloco sem considerar as informações de repartição quando o aparelho de decodificação de imagem inicia a decodificação do segundo bloco, a informação de repartição considerando uma estrutura de corte do primeiro bloco.
[00208] Por exemplo, na divisão, quando um corte em um começo de um terceiro bloco é o corte dependente, a imagem pode ser dividida em blocos e cortes para fazer com que o corte dependente inclua to incluir todo o terceiro bloco.
[00209] Por exemplo, na divisão, quando o primeiro bloco inclui um corte que começa de uma posição que não seja o começo do primeiro bloco, a imagem pode ser dividida em blocos e cortes para impedir que o segundo bloco inicie do corte dependente.
[00210] Por exemplo, o método de codificação de imagem pode ainda incluir incorporar, em um cabeçalho de corte de um corte, informações que indicam se o corte é tanto o corte normal quanto o corte dependente.
[00211] Por exemplo, um corte em um começo da imagem pode ser o corte normal, e cada um de todos os outros cortes pode ser o corte dependente.
[00212] Por exemplo, o método de codificação de imagem pode ainda incluir incorporar, ao fluxo contínuo de bits, um indicador de restrição que indica que a divisão de uma figura é restrita.
[00213] Por exemplo, o método de codificação de imagem pode ainda incluir incorporar, ao fluxo contínuo de bits, um indicador que indica se ou não um corte pai cujo cabeçalho de corte é utilizado para o corte dependente inicia de um começo de um bloco.
[00214] De acordo com uma modalidade exemplar revelada neste documento, um aparelho de decodificação de imagem que decodifica um fluxo contínuo de bits incluindo um sinal codificado resultante dos blocos de codificação e cortes nos quais uma imagem é dividida, o aparelho compreendendo uma unidade de decodificação configurada para decodificar o sinal codificado, em que cada um dos cortes é ou um corte normal tendo, em um cabeçalho, informações utilizadas para outro corte ou um corte dependente que é decodificado utilizando informações incluídas em um cabeçalho de corte de outro corte, e quando o corte normal inicia de uma posição que não seja um começo de um primeiro bloco, um segundo bloco codificado próximo ao primeiro bloco não inicia do corte dependente.
[00215] Com isso, é possível impedir uma ocorrência de um caso onde um corte no começo do segundo bloco se refere a um corte em uma posição que não seja o começo do primeiro bloco, assim aumentando a eficiência quando o processamento do bloco paralelo e cortes dependentes são utilizados juntos.
[00216] De acordo com uma modalidade exemplar revelada neste documento, um aparelho de codificação de imagem que codifica os blocos e cortes em que uma imagem é dividida, para gerar um fluxo contínuo de bits, o aparelho compreendendo: uma unidade de divisão configurada para dividir a imagem em blocos e cortes; e uma unidade de codificação configurada para codificar os blocos e cortes resultantes da divisão, em que cada um dos cortes é ou um corte normal tendo, em um cabeçalho, informações utilizadas para outro corte ou um corte dependente que é decodificado utilizando informações incluídas em um cabeçalho de corte de outro corte, e a unidade de divisão con- figurada para, quando o corte normal inicia de uma posição que não seja um começo de um primeiro bloco, divide a imagem em blocos e cortes para impedir um segundo bloco codificado próximo ao primeiro bloco de iniciar do corte dependente.
[00217] Com isso, é possível impedir uma ocorrência de um caso onde um corte no começo do segundo bloco se refere a um corte em uma posição que não seja o começo do primeiro bloco, assim aumentando a eficiência quando o processamento do bloco paralelo e cortes dependentes são utilizados juntos.
[00218] De acordo com uma modalidade exemplar revelada neste documento, um aparelho de codificação e decodificação de imagem pode incluir o aparelho de codificação de imagem e o aparelho de de- codificação de imagem.
[00219] Cada uma das modalidades exemplares descritas abaixo mostra um exemplo geral e específico. Os valores numéricos, formas, materiais, elementos estruturais, a disposição e conexão dos elementos estruturais, etapas, e a ordem de processamento das etapas etc. mostradas nas seguintes modalidades exemplares são meros exemplos, e assim, não limitam o escopo das reivindicações anexas e equivalentes. Assim, entre os elementos estruturais nas seguintes modalidades exemplares, os elementos estruturais não citados em qualquer uma das reivindicações independentes que mostram os conceitos mais genéricos são descritos como elementos estruturais arbitrários.
[00220] Modalidade 1
[00221] Em um método de codificação de imagem e um método de decodificação de imagem de acordo com a Modalidade 1, um indicador é adicionado especificando claramente a inicialização de CABAC.
[00222] A FIGURA 12 é um diagrama que mostra a sintaxe de um cabeçalho de corte de acordo com a Modalidade 1. Um cabeçalho de corte 380 inclui uma linha 381 tendo um novo elemento de sintaxe "en- tropy_default_initialization_flag".
[00223] Este entropy_deafult_inicialização_flag é um indicador que indica, quando definido em um valor predeterminado, que CABAC de um corte é inicializado com um valor padrão de CABAC (predeterminado). O sinalizador é um indicador tendo o primeiro valor como "1" que indica que um corte é inicializado com um valor de CABAC e o segundo valor como "0" que indica que a inicialização é realizada por outro método. É observado que as atribuições dos valores de "1" e "0" podem ser alternadas.
[00224] O "outro método" para determinar a inicialização pode ser um método predeterminado como inicialização com base em um valor de um corte precedente. Entretanto, o "outro método" pode incluir outro fluxo de determinação semelhante ao fluxo mostrado na FIGURA 9, assim possivelmente derivando um método de inicialização utilizando um valor padrão de CABAC.
[00225] Um aparelho de decodificação de imagem de acordo com esta modalidade decodifica um fluxo contínuo de bits de uma sequência de vídeo codificada incluindo cortes de imagem pelo menos parcialmente codificada pela codificação aritmética. O aparelho de decodifi- cação de imagem inclui: uma unidade de análise que extrai, dos dados do fluxo contínuo de bits de um corte, um indicador de inicialização que indica se ou não um modelo de probabilidade de decodificação aritmética do corte é inicializado com um valor predeterminado; uma unidade de controle que controla se ou não o modelo de probabilidade de decodificação aritmética é inicializado com o valor predeterminado, de acordo com o indicador de inicialização; uma unidade de decodifi- cação aritmética que decodifica o corte.
[00226] Por exemplo, a codificação aritmética pode ser codificação aritmética adaptativa de contexto conforme definido em HEVC. Entretanto, a presente invenção não está limitada a isso.
[00227] O valor predeterminado é um valor padrão notificado a um aparelho de codificação de imagem e o aparelho de decodificação de imagem, e não mudam com o conteúdo codificado.
[00228] O indicador de inicialização preferivelmente se refere a um sinalizador de 1 bit com "1" que indica que um modelo de probabilidade de decodificação aritmética é inicializado com o valor predeterminado e "0" que indica que um modelo de probabilidade de decodifica- ção aritmética é inicializado por outro método.
[00229] Apenas quando um corte-alvo é um corte dependente, o indicador precisa estar presente. Isso é porque quando o corte-alvo é um corte normal, o valor padrão de CABAC é utilizado para a inicialização (refere-se ao caso de No em S101 na FIGURA 9). Assim, é primeiro analisado se ou não o corte-alvo é o corte dependente pela verificação de uma condição dependent_slice_flag ==1.
[00230] Além disso, quando o processamento paralelo de um corte e outro corte é realizado, o indicador de inicialização (sinalizador) é vantajoso. Por exemplo, o processamento paralelo pode ser o WPP. Assim, apenas quando uma condição entropy_coding_sync_enabled_flag ==1 é verdadeira, a sintaxe do cabeçalho de corte mostrado na FIGURA 12 inclui um indicador de inicialização entropy_default_initialization_flag.
[00231] Além disso, apenas quando o corte inicia no começo de uma linha LCU, o indicador de inicialização é apropriado. Isso é porque a inicialização imediata de CABAC é apenas então necessária para permitir o processamento paralelo. Isso é indicado por uma condição slice_address% PicWidthInCtbsY == 0 na sintaxe mostrada na FIGURA 12.
[00232] Conforme declarado acima, um elemento de sintaxe "sli- ce_address" indica um início do corte com uma compensação incluída no fluxo contínuo de bits. "PicWidthInCtbsY" indica uma largura de um quadro com o número de unidades dos blocos de codificação em árvo- re (LCUs).
[00233] Conforme mostrado na linha 381, um produto lógico das codificações em árvore é utilizado para determinação. Em outras palavras, apenas quando a Equação 2 abaixo é verdadeira, entro- py_default_initialization_flag é transmitido para claramente sinalizar o método de inicialização.
[00234] dependent_slice_flag == 1 && entro- py_coding_sync_enabled_flag == 1 & slice_address% PicWidthInCtibsY == 0 (Equação 2)
[00235] Quando a Equação 2 não é verdadeira, a inicialização é realizada com base em um método normal, isso é, regras de WPP.
[00236] Para explicar de outra forma, o método de codificação de imagem e o método de decodificação de imagem de acordo com esta modalidade incluem: subdividir um corte de uma imagem em unidades de codificação correspondentes aos blocos de pixel da imagem; e extrair, pela unidade de análise, um indicador de inicialização dos dados do cabeçalho, apenas quando o corte é um corte dependente. Uma unidade de decodificação aritmética dos cortes dependentes é iniciali- zada com base em um contexto de uma unidade de decodificação aritmética de cortes pais correspondentes aos respectivos cortes dependentes.
[00237] Além disso, apenas quando a decodificação paralela de uma linha composta pelas unidades de codificação é permitida, a unidade de análise pode extrair o indicador de inicialização dos dados do cabeçalho.
[00238] Declarado de forma diferente, de acordo com esta modalidade, o corte da imagem é subdivido nas unidades de codificação correspondentes aos blocos de pixel da imagem, e o indicador de inicialização dos dados do cabeçalho é extraído pela unidade de análise apenas quando o corte inicia do começo da linha composta pelos blo- cos da unidade de codificação da imagem.
[00239] A FIGURA 13 é um fluxograma para um método de determinação da inicialização de CABAC para um corte de acordo com esta modalidade. A FIGURA 13 assume um caso da figura 350 mostrada na FIGURA 8. Assumindo que o corte (4) (corte 354) e o corte (1) (corte 351) são analisados em paralelo, a seguinte determinação é feita.
[00240] Primeiro, é determinado se ou não o corte (4) é um corte dependente (S111). Quando o corte (4) é o corte dependente e outras condições (processamento paralelo de linhas é realizado e um corte inicia no começo de uma linha LCU) são satisfatórias (Sim em S111), um indicador de inicialização "entropy_default_initialization_flag" é verificado para determinar um método de execução de inicialização (S112).
[00241] Quando entropy_default_initialization_flag indica a aplicação da inicialização padrão (Não em S112), a inicialização padrão é aplicada (S114). Ao contrário, quando entropy_default_initialization_flag não indica a aplicação da inicialização padrão (Sim em S112), inicialização de WPP é aplicada na qual um corte precedente é referido a (S113).
[00242] Deve-se observar que esta modalidade não é limitada à sinalização do indicador de inicialização no cabeçalho de corte. O mesmo indicador pode ser incorporado em outra estrutura de dados, por exemplo, uma mensagem de informações de melhoria complementares.
Modalidade 2
[00243] A Modalidade 1 torna possível atingir o processamento da linha LCU paralelo eficiente como o WPP e o corte dependente. Por outro lado, um novo elemento de sintaxe é incorporado em um cabeçalho de corte. Em resposta, a independência da inicialização de CA- BAC para os cortes durante o processamento paralelo pode ser obtida pela modificação das regras de inicialização, para evitar a adição do novo elemento de sintaxe.
[00244] Na Modalidade 2, a definição do corte dependente e operações para o corte dependente por um aparelho de codificação de imagem e um aparelho de decodificação de imagem são modificados. Isso pode ser obtido adicionando restrições aos padrões do fluxo contínuo de bits.
[00245] Em outras palavras, o aparelho de decodificação de imagem de acordo com esta modalidade decodifica um fluxo contínuo de bits de uma sequência de vídeo codificada incluindo cortes de imagem subdividida em unidades de codificação e pelo menos parcialmente codificada pela codificação aritmética. O aparelho de decodificação de imagem inclui uma unidade de análise que extrai, de um fluxo contínuo de bits, uma primeira linha de unidades de codificação e uma segunda linha de unidades de codificação, em que as unidades de codificação da primeira linha e da segunda linha são atribuídas aos cortes para evitar a referência à informação de divisão de um primeiro corte na primeira linha quando uma unidade de decodificação aritmética para um segundo corte na segunda linha é inicializada. Uma posição inicial do primeiro corte na primeira linha está atrás do segundo corte na segunda linha por um número predeterminado de unidades de codificação. O aparelho de decodificação de imagem ainda inclui a unidade de decodificação aritmética que realiza a decodificação aritmética do primeiro corte e do segundo corte pelo menos parcialmente em paralelo, para decodificar cada um dos cortes.
[00246] A FIGURA 14 é um diagrama para descrever a função desta modalidade, e mostrar uma FIGURA 390 dividida em cortes. A FIGURA 390 inclui quatro cortes que são um corte normal 391, um corte normal 392, um corte dependente 393, e um corte normal 394.
[00247] Os três cortes 391, 392, e 393 são incluídos na primeira linha de unidades de codificação (LCUs). O corte 394 inclui todas as segunda e terceira linhas.
[00248] A primeira restrição exemplar aplicada ao corte e processamento paralelo em uma base de linha é que "quando entro- py_code_sync_enabled_flag e dependent_slice_enabled_flag são iguais a 1, um corte normal pode iniciar apenas no começo de uma linha de blocos de codificação em árvore". Além disso, ambos os sinalizadores, entropy_code_sync_enabled_flag e dependent_slice_enabled_flag, são incluídos em um conjunto de parâmetros da FIGURA. Deve-se observar que um bloco de codificação em árvore (CTB) e uma unidade de codificação maior (LCU) se refere à mesma unidade. O CTB é utilizado em um texto padrão (referência à NPL 3). Além disso, embora a LCU seja utilizada em um texto padrão da versão prévia, o CTB é utilizado em um texto padrão da versão atual.
[00249] Quando o corte normal inicia apenas no começo de uma linha de unidades de codificação, um corte dependente em outra linha que é subsequente ao corte normal pode sempre se referir aos estados de CABAC do corte normal. Aqui, os estados de CABAC são estados de CABAC após a primeira LCU ou as duas primeiras LCUs serem processadas pelo WPP. Além disso, visto que um cabeçalho do corte dependente depende de um cabeçalho do corte normal precedente ao corte dependente, quando o corte normal 394 é perdido, é necessário descartar o corte dependente.
[00250] A primeira restrição exemplar não precisa ser restrita. É apenas necessário fazer pelo menos uma ou duas LCUs do corte normal em uma linha precedente disponível ao corte dependente, para permitir a aplicação da inicialização de WPP.
[00251] De modo alternativo, a segunda restrição exemplar pode ser aplicada como outra restrição (regra). Na segunda restrição exemplar, um corte normal não inicia após o segundo bloco de codificação em árvore em uma linha de blocos de codificação em árvore. O corte normal tem que iniciar no começo de uma linha LCU, e assim, por exemplo, não é aceitável definir o segundo corte 392 como o corte normal conforme mostrado na FIGURA 14.
[00252] Deve-se observar que o primeiro corte pode ter uma posição inicial não mais através do que a segunda unidade de codificação na primeira linha. Além disso, o primeiro corte pode ser um corte normal, e o segundo corte pode ser um corte dependente utilizando um cabeçalho de corte do corte normal. Além disso, a posição inicial do primeiro corte pode ser o começo da primeira linha.
[00253] A FIGURA 15 é um fluxograma para um processo de determinação em um método de inicialização de CABAC quando as regras acima são definidas. O seguinte descreve o processo de determinação utilizando o exemplo mostrado na FIGURA 8.
[00254] Primeiro, é determinado se ou não o corte (4) é um corte dependente (S111). Quando o corte (4) é o corte dependente (Sim em S111), a inicialização de WWP é realizada (S113). Ao contrário, quando o corte (4) não é o corte dependente (Não em S111), a inicialização padrão é realizada (S114).
[00255] Conforme descrito acima, uma unidade de codificação por entropia adaptativa de contexto é utilizada em um método de codificação de imagem de acordo com esta modalidade. O método de codificação de imagem é aplicado em um quadro da figura dividido em pelo menos duas partes. Pelo menos duas partes são uma primeira parte e uma segunda parte que podem ser pelo menos parcialmente codificadas e decodificadas em paralelo.
[00256] De acordo com esta modalidade, a inicialização de uma tabela de contexto da segunda parte de um fluxo é determinada, quando a primeira parte de um subfluxo é subdividida em cortes, por um método que não depende da subdivisão da primeira parte. Por exemplo, o WPP é realizado para cada linha (cada linha LCU), e assim uma parte do fluxo pode corresponder à linha LCU.
[00257] Deve-se observar que a presente invenção não é limitada às restrições exemplares acima. As restrições exemplares podem ser formuladas de forma diferente. O seguinte descreve outras restrições exemplares.
[00258] Quando um corte normal satisfaz uma condição de Equação 3, um corte que inicia no começo de uma linha LCU subsequente não é um corte dependente.
[00259] slice_address% PicLarguraInCtbsY > 1 (Equação 3)
[00260] Para esclarecimento, a condição pode ser representada pela Equação 4.
[00261] slice_address% PicLarguraInCtbsY ! = 0 (Equação 4)
[00262] Aqui, "! =" indica desigualdade. Quando entro- py_coding_sync_habilitado_flag é igual a 1, isso é, processamento paralelo de uma linha LCU é permitida, estas restrições são aplicáveis. Além disso, "slice_address" indica uma posição de um corte que inicia em um fluxo contínuo de bits, e o parâmetro "PicLarguraInCtbsY" indica uma largura de uma FIGURA (quadro) em uma LCU (bloco de codificação em árvore).
[00263] Para explicar de outra forma, quando o corte normal não inicia no começo da linha, um corte que inicia em uma linha imediatamente subsequente não é um corte dependente (terceira restrição exemplar). Esta condição elimina a necessidade de aguardar a decodi- ficação de um corte na segunda linha até um corte normal em uma posição na primeira linha ser analisado (decodificado).
[00264] O seguinte descreve a influência da terceira restrição exemplar com referência à FIGURA 16. A FIGURA 400 mostrada na FIGURA 16 inclui três cortes 401 a 403 incluídos na primeira linha. Entre os três cortes, os primeiros dois cortes 401 e 402 são cortes normais, e o terceiro corte 403 é um corte dependente.
[00265] Esta condição não permite definir o quarto corte 404 como o corte dependente. Isso é indicado na FIGURA 16 marcando uma cruz no corte 404.
[00266] Assim, o fluxo contínuo de bits pode incluir cortes normais e cortes dependentes, e a decodificação dos cortes normais e dos cortes dependentes é com base nos parâmetros sinalizados nos cabeçalhos de corte dos cortes normais. Quando um corte normal inicia em uma posição após o começo de uma linha LCU, a próxima linha LCU não inicia com um corte dependente.
[00267] O seguinte descreve a quarta restrição exemplar com referência à FIGURA 17. Quando entropy_coding_sync_habilitado_flag e dependent_slice_habilitado_flag são iguais a 1, nenhum corte normal que não seja o primeiro corte em um quadro é permitido (quarta restrição exemplar).
[00268] Declarado de forma diferente, quando processamento paralelo é permitido e os cortes dependentes são habilitados, um corte normal é permitido apenas como o primeiro corte no quadro. Em resumo, todos os cortes no quadro são os cortes dependentes exceto o primeiro corte.
[00269] A FIGURA 410 mostrada na FIGURA 17 inclui cinco cortes 411 a 415. Os cortes 411, 412, e 415 são cortes normais, e os cortes 413 e 414 são cortes dependentes. Os cortes normais 412 a 415 não são permitidos exceto o primeiro corte normal 411 de acordo com a quarta restrição exemplar. Em resumo, os cortes 412 e 415 devem ser cortes dependentes.
[00270] Deve-se observar que a utilização da quarta restrição exemplar causa um demérito referente à robustez contra a perda de pacote. Os cortes normais são geralmente utilizados para reduzir uma dependência ou propagação de erro em um ambiente sem perdas. Um quadro onde apenas o primeiro corte é o corte normal assume um ris co que todos os cortes não podem ser decodificados quando o primeiro corte não pode ser decodificado.
[00271] Além disso, a seguinte restrição pode ser utilizada como outra restrição. Quando um corte (corte dependente ou normal) inicia no meio de uma linha LCU (ou seja, uma posição diferente do começo da linha), a próxima linha de unidades de codificação não inicia com um corte dependente (quinta restrição exemplar).
[00272] Deve-se observar que como é claro a um técnico no assunto, é possível combinar arbitrariamente as restrições descritas acima. Em outras palavras, da primeira a quinta restrições exemplares podem ser aplicadas em combinação.
[00273] O seguinte ainda descreve outra restrição exemplar. Quando entropy_coding_sync_enabled_flag é igual a 1, uma linha LCU não pode ser subdividia em cortes (sexta restrição exemplar). Quando esta restrição é aplicada, os cortes 412 e 413 não são permitidos na estrutura de corte mostrada na FIGURA 17. Para explicar de outra forma, quando o processamento paralelo de linhas de unidades de codificação é permitido, um corte é permitido apenas para incluir uma linha de unidades de codificação total ou todas as linhas de unidades de codificação.
[00274] Conforme declarado acima, o fluxo contínuo de bits inclui os cortes normais e os cortes dependentes. A decodificação dos cortes normais e dos cortes dependentes é baseada nos parâmetros sinalizados nos cabeçalhos de corte dos cortes normais. Após ser determinado que apenas o primeiro corte em uma imagem seria um corte normal e cortes remanescentes seriam cortes dependentes, a imagem é dividida em cortes.
[00275] Cada um dos cortes inclui todo o número m de linhas de unidades de codificação. Aqui, m é um número inteiro maior ou igual a 1.
[00276] Quando os cortes dependentes são permitidos e um do WPP e do bloco é habilitado além de ou ao invés da aplicação da restrição, um indicador que indica a restrição pode ser incorporado no fluxo contínuo de bits. Por exemplo, este indicador é incorporado em um SPS ou a PPS. Deve-se observar que o indicador pode ser incorporado em outra mensagem como uma mensagem SEI ou em qualquer mensagem de informações de usabilidade de vídeo (VU).
[00277] O aparelho de decodificação de imagem identifica a restrição a ser aplicada, com base no indicador. Por exemplo, esta restrição é que um corte normal é permitido apenas no começo de uma linha LCU (WPP) ou um bloco. Deve-se observar que esta é meramente uma restrição exemplar, e qualquer uma das restrições mencionadas acima, uma combinação das restrições, ou uma restrição adicional não explicitamente descrita pode ser aplicada.
[00278] Por exemplo, o indicador pode ser um sinalizador de 1 bit que indica, para uma restrição predeterminada, se ou não a restrição deve ser aplicada. As restrições selecionáveis podem ser disponíveis, e as informações que indicam uma restrição selecionada são sinalizadas no fluxo contínuo de bits ao aparelho de decodificação de imagem. Declarado de forma diferente, ao invés de explicitamente limitar a utilização conforme descrito nos exemplos acima, o aparelho de codificação de imagem pode notificar o aparelho de decodificação de imagem que estas restrições são utilizadas. Assim, qualquer um dos exemplos referentes às restrições pode ser aplicado.
[00279] Deve-se observar que não é necessário determinar se ou não adicionar o indicador dependendo se ou não o WPP ou bloco é habilitado.
[00280] Conforme descrito acima, esta modalidade torna possível impedir o processamento do corte dependente de ser atrasado por pelo menos duas ou pelo menos três unidades de codificação, pela ini- cialização de CABAC em vista dos cortes precedentes no processamento paralelo. Com isso, o processamento paralelo de codificação, decodificação, e análise das linhas pode ser eficientemente realizado.
[00281] Deve-se observar que a presente invenção não é limitada por esta modalidade na qual o método de corte é limitado. Além disso, a restrição pode se referir a um corte do qual um contexto de CABAC pode ser obtido.
Modalidade 3
[00282] Na Modalidade 3, um método de inicialização de CABAC para um corte dependente em um período de WPP é mudado. Especificamente, a regra de atribuição do corte pai para o corte dependente é mudada.
[00283] Por exemplo, uma regra é determinada na qual um corte dependente sempre obtém um cabeçalho de corte e um contexto de CABAC do mesmo corte independente da subdivisão de uma linha LCU em cortes (e/ou um tipo de corte subsequente).
[00284] A FIGURA 420 mostrada na FIGURA 18 inclui cortes 421 a 424. No HEVC atual, o corte 422 é um corte pai do corte dependente 424. Em outras palavras, um cabeçalho de corte do corte dependente 424 é obtido do corte 422, um corte normal precedente mais próximo.
[00285] Conforme descrito com referência à FIGURA 9, é um caso onde a inicialização de CABAC é realizada no corte dependente utilizando um corte normal no começo de uma linha precedente LCU. Entretanto, quando o corte 422 é perdido, embora a inicialização de CA- BAC possa ser realizada no corte 424, o corte 424 não pode ser decodificado devido à ausência de informações do cabeçalho de corte.
[00286] Em vista disso, nesta modalidade, o corte dependente tem, como o corte pai, um corte normal mais próximo que inicia da mesma linha que o corte dependente ou uma linha precedente da linha do corte dependente. Nesta modalidade, conforme mostrado na FIGURA 19, o corte pai do corte 424 é definido como o corte 421 de acordo com esta regra. A inicialização de CABAC é realizada no corte dependente 424 utilizando um cabeçalho de corte do corte 421 bem como os estados de CABAC do corte 421.
[00287] Além disso, uma unidade de codificação aritmética de cada corte dependente define uma dependência do corte para realizar a inicialização com base em um contexto de uma unidade de decodifica- ção aritmética do corte pai.
[00288] Deve-se observar que as informações que indicam uma Tabela de contexto de CABAC utilizada para inicialização de corte pode ser explicitamente sinalizada em uma Mensagem SEI. Em resumo, todos os valores de inicialização considerados ser utilizados para a inicialização do motor de CABAC podem ser explicitamente sinalizados na Mensagem SEI.
Modalidade 4
[00289] A Modalidade 4 descreve um caso onde não o WPP, mas os blocos são utilizados.
[00290] O problema descrito acima para WPP também ocorre neste caso. Entretanto, a inicialização a Tabela de contexto de CABAC denota o ajuste de uma Tabela de contexto de CABAC tanto para um valor inicial padrão quanto um valor previamente armazenado. No caso de um bloco, (mesmo quando o bloco inicia com um corte dependente) a Tabela de contexto de CABAC é inicializada em um valor padrão no começo do bloco.
[00291] Entretanto, quando um corte normal é presente no meio do bloco, alguns dos elementos de sintaxe incluídos em um cabeçalho de corte do corte normal precisam ser modificados. Um dos elementos de sintaxe é um sinalizador que indica LIGA/DESLIGA do processamento de compensação adaptativa da amostra, por exemplo. Quando o sinalizador indica "LIGA," um motor de CABAC filtra os parâmetros en- quanto os dados de corte de análise. Conforme observado acima, isso se refere ao estado de controle do Motor de CABAC. O seguinte descreve o controle do estado em detalhes abaixo.
[00292] A FIGURA 19 é um diagrama que mostra a sintaxe de um cabeçalho de corte de acordo com esta modalidade. Este cabeçalho de corte inclui dependent_slice_flag, um indicador referente a uma dependência.
[00293] A FIGURA 20 é um diagrama que mostra a figura 500 dividida em dois blocos 501 e 502. Conforme mostrado na FIGURA 20, os blocos diferem dos cortes na divisão de uma figura com uma linha vertical. A figura pode ser normalmente dividida em blocos. A informação de divisão de cada um dos blocos é sinalizada em um conjunto de parâmetros da figura (PPS) referente à figura.
[00294] Conforme declarado acima, o bloco é uma das ferramentas que permite o processamento paralelo. Em resumo, os blocos podem ser decodificados em paralelo. Deve-se observar que o processamento de filtro de circuito é geralmente realizado por último nos limites do bloco após a reconstrução do bloco.
[00295] O conjunto de parâmetros da figura inclui informações sobre o número e posições dos blocos em uma figura. Os blocos são similares aos cortes em que a previsão espacial entre os blocos não é permitida. Aqui, a "previsão espacial" denota a intraprevisão, previsão do vetor de movimento, ou referente a um parâmetro. Aqui, o parâmetro se refere ao parâmetro de compensação adaptativo de amostra, outro parâmetro referente a uma figura, ou um parâmetro referente a outro bloco.
[00296] Uma unidade de codificação por entropia e uma unidade de decodificação por entropia são reiniciadas no começo de cada bloco.
[00297] A FIGURA 21A é um diagrama que mostra uma ordem de processamento das unidades de codificação como blocos de codifica- ção em árvore e maiores unidades de codificação. Esta ordem é também referida como varredura Z ou varredura de rasteio. A FIGURA 21A mostra um caso onde nenhum bloco é habilitado. Em outras palavras, a FIGURA 21A mostra um caso onde um bloco é definido por FIGURA. Deve-se observar que o WPP pode ser habilitado.
[00298] A FIGURA 21B é um diagrama que mostra um quadro incluindo dois blocos 511 e 512 resultantes da divisão do quadro com um limite 513. Uma ordem de processamento quando dois ou mais blocos estão presentes em um quadro é determinada como segue.
[00299] Primeiro, uma ordem de todos os blocos é determinada por uma ordem normal de varredura de rasteio descrita acima para as LCUs. Esta ordem inicia do bloco 511 e termina no título 512 conforme mostrado na FIGURA 21B.
[00300] Depois, uma ordem de LCUs em cada bloco é determinada utilizando a ordem normal de varredura de rasteio conforme mostrado pelas linhas na FIGURA 21B. Finalmente, a última LCU em cada título é conectada à primeira LCU em um título subsequente. Dessa forma, a ordem mostrada na FIGURA 21B é determinada. Deve-se observar que, por exemplo, NPL 3 descreve os detalhes da ordem de processamento.
[00301] Uma ordem de scan de LCU é utilizada para os cortes. Assim, quando um corte A precede um corte B na ordem de codificação, todas as LCUs no corte A precedem todas as LCUs no corte B.
[00302] Por outro lado, quando os blocos são utilizados, as unidades de codificação são varridas em uma ordem diferente da ordem aplicada quando apenas os cortes são utilizados (nenhum bloco é utilizado). Especificamente, quando apenas os cortes são utilizados, as unidades de codificação na figura são varridas pela chamada varredura Z. A varredura Z inicia da unidade de codificação esquerda superior na figura, continua ao longo da primeira linha para a direita, e inicia da unidade de codificação na extremidade esquerda da segunda linha à unidade de codificação na extremidade direita da segunda linha após a extremidade direita da primeira linha ser varrida. O scan continua à última unidade de codificação na última linha nesta ordem.
[00303] Quando os cortes são utilizados como unidades de codificação consecutivas na ordem de varredura Z, esta utilização é eficiente. Entretanto, quando os blocos são utilizados como os mesmos, a ordem de codificação ou de codificação das unidades de codificação é mudada da ordem da varredura Z. Especificamente, a varredura é realizada em cada bloco na ordem da varredura Z. Em resumo, a varredura na ordem da varredura Z nunca é realizada sobre os blocos. Assim, a codificação ou decodificação das unidades de codificação no bloco inicia da unidade de codificação esquerda superior no bloco e termina unidade de codificação direita inferior na mesma. Além disso, os blocos na figura são organizados na ordem da varredura Z conforme acima.
[00304] No padrão atual HEVC, uma restrição referente à utilização de blocos e cortes em combinação é colocada. Especificamente, um corte é apenas permitido incluir um número inteiro de blocos completos. Além disso, um bloco é apenas permitido para incluir um número inteiro de cortes completos.
[00305] Um elemento de sintaxe tiles_enabled_flag é incluído como parte de um ajuste do parâmetro de sequência (SPS) na sintaxe de um fluxo contínuo de bits. A definição deste elemento de sintaxe em um valor lógico "1" permite a utilização de blocos.
[00306] Quando os blocos são utilizados, o WPP não pode ser utilizado. Assim, quando os blocos são utilizados, um elemento de sintaxe entropy_codificating_sync_enabled_flag do SPS para controlar a utilização do WPP é definido como um valor lógico "0."
[00307] Cada uma da FIGURA 22A à FIGURA 22C é um diagrama para ilustrar uma restrição quando os blocos e cortes são utilizados simultaneamente. Conforme mostrado na FIGURA 22A, um corte é permitido ser subdividido em dois blocos. Neste exemplo, um corte (1) inclui toda a figura e é subdividido em dois blocos tendo o mesmo tamanho.
[00308] Em um exemplo mostrado na FIGURA 22B, uma figura é dividida em dois blocos. Além disso, cada um dos blocos é subdividido em dois cortes. Especificamente, a figura é dividida em um bloco 1 e um bloco 2. O bloco 1 e o bloco 2 incluem a metade esquerda e a metade direita da figura, respectivamente. O título 1 é subdividido em dois cortes, um corte 1 e um corte 2, e o bloco 2 é subdividido em dois cortes, um corte 3 e um corte 4.
[00309] A FIGURA 22C é um diagrama que mostra um corte não permitido e estrutura do bloco. Neste exemplo, um corte 1 é incluído tanto em um bloco 1 quanto um bloco 2. Ao contrário, um corte 2 é presente apenas no bloco 2. Assim, nem o bloco 1 nem o bloco 2 inclui um número inteiro de blocos completos. Semelhantemente, nem corte 1 nem o corte 2 inclui um número inteiro de blocos completos.
[00310] Estas regras são aplicadas na utilização simultânea de cortes e blocos. Entretanto, um caso de utilização dos cortes de diferentes tipos não é considerado nas regras. Para explicar de outra forma, não é considerado se um corte é um corte normal ou um corte dependente.
[00311] A FIGURA 23 é um diagrama que mostra um exemplo de divisão a figura em blocos e cortes. Esta divisão é permitida de acordo com as restrições acima. A divisão corresponde ao exemplo mostrado na FIGURA 22B. Os cortes 521 e 522 incluídos em um bloco 1 são cortes normais. Os cortes 523 e 524 incluídos em um bloco 2 são cortes dependentes.
[00312] A FIGURA 24 é um diagrama que mostra uma ordem de varredura quando um único núcleo é utilizado para processar as unidades de codificação em uma figura, especialmente para decodificar ou codificar as unidades de codificação. Conforme mostrado na FIGURA 24, quando a subdivisão do bloco não é realizada, o único núcleo decodifica as unidades de codificação na ordem da varredura Z.
[00313] Entretanto, um Motor de CABAC é reinicializado de acordo com a definição de blocos, isso é, limites do bloco. Declarado de forma diferente, estados de CABAC nos limites do bloco precisam ser armazenados para inicialização posterior. Assim, uma ordem de decodifica- ção de único núcleo exige saltar no fluxo contínuo de bits. Isso é porque a subdivisão do bloco muda a ordem de codificação das unidades de codificação.
[00314] Além disso, quando os cortes dependentes são habilitados, a decodificação de núcleo único é mais complicada. O seguinte exemplifica a decodificação da figura dividida conforme mostrado na FIGURA 23.
[00315] Na primeira etapa, a primeira linha da unidade de codificação do corte 521 é decodificada. Na segunda etapa, um endereço do corte do corte 522 é decodificado. O endereço do corte é sinalizado em um cabeçalho de corte do corte 522. O endereço do corte é expresso no número de LCUs e indica uma posição em um fluxo contínuo de bits no qual um corte inicia. Além disso, o endereço do corte é diferente da primeira unidade de codificação no bloco 2.
[00316] Na terceira etapa, o corte 523 é decodificado. Um endereço do corte deste corte está correto, mas o corte é um corte dependente. Assim, o corte 523 utiliza o cabeçalho de corte do corte 522 no bloco 1. Por esta razão, o processo de decodificação salta de volta ao corte 522, e o cabeçalho do corte 522 é decodificado. Então, o processo de decodificação para frente para retornar à decodificação do corte 523. Subsequentemente, a decodificação do corte 523 é iniciada.
[00317] Como é claro a partir deste breve exemplo, um aparelho de decodificação de imagem precisa saltar para frente e para trás no fluxo contínuo de bits, e realizar uma verificação adicional quando a decodi- ficação do bloco 2 é iniciada. Isso é por causa da utilização dos cortes dependentes causados por uma dependência entre os blocos.
[00318] Em resposta, esta modalidade atinge um método para permitir a aplicação efetiva dos cortes dependentes e blocos. Especificamente, esta modalidade torna possível realizar seguramente a codificação e decodificação apropriadas em uma ordem normal, colocando uma restrição referente à divisão de uma figura em cortes e blocos.
[00319] O aparelho de decodificação de imagem de acordo com esta modalidade decodifica um fluxo contínuo de bits de uma sequência de vídeo codificada incluindo quadros, cada um incluindo cortes de imagem e blocos de imagem. Cada um dos cortes de imagem e dos blocos de imagem inclui unidades de codificação. O aparelho de deco- dificação de imagem inclui uma unidade de análise que extrai (analisa), de um fluxo contínuo de bits, um bloco 1 e um bloco 2 codificado próximo ao bloco 1. Cada um dos quadros é dividido em cortes e blocos para eliminar a necessidade pela informação de divisão do bloco 1 na decodificação do bloco 2 por uma unidade de decodificação aritmé-tica.
[00320] O aparelho de decodificação de imagem ainda inclui a unidade de decodificação aritmética que decodifica um corte realizando a decodificação aritmética no bloco 1 e no bloco 2 pelo menos parcialmente em paralelo.
[00321] Além disso, um aparelho de codificação de imagem de acordo com esta modalidade codifica, em um fluxo contínuo de bits, um video incluindo cortes de imagem cada um subdivido em unidades de codificação, utilizando pelo menos parcialmente a codificação aritmética.
[00322] O aparelho de codificação de imagem inclui: uma unidade de geração de fluxo contínuo de bits que incorpora um primeiro bloco e um segundo bloco codificado próximo ao primeiro bloco ao fluxo contínuo de bits; e uma unidade de codificação aritmética que divides cada um dos quadros em cortes e blocos para eliminar a necessidade pela informação de divisão do primeiro bloco quando uma unidade de de- codificação aritmética decodifica o segundo bloco, e que codifica cada um dos cortes realizando a codificação aritmética no primeiro bloco e no segundo bloco pelo menos parcialmente em paralelo.
[00323] Na primeira restrição exemplar desta modalidade, quando os blocos são habilitados e ao mesmo tempo os cortes dependentes podem ser utilizados, o corte normal inicia apenas no começo do bloco. Em resumo, quando tiles_enabled_flag é igual a 1 e ao mesmo tempo dependent_slices_enabled_flag é igual a 1, cada corte normal deve iniciar na posição inicial de um bloco.
[00324] Aqui, tanto entropy_code_sync_enabled_flag quanto de- pendent_slice_enabled_flag são incluídos em um conjunto de parâmetros da figura.
[00325] Deve-se observar que quando dependent_slices_enabled_flag é igual a 0, apenas os cortes normais são utilizados. Com isso, o problema acima é evitado. Isso corresponde ao caso onde todos os cortes são os cortes normais na figura mostrada na FIGURA 22B.
[00326] Conforme declarado acima, na primeira restrição exemplar, o corte (corte normal) cujo cabeçalho é utilizado para outro corte sempre inicia no começo do bloco. Em outras palavras, o corte no começo de uma imagem é o corte normal, e os outros cortes são os cortes dependentes. Em resumo, o corte normal é apenas permitido como o corte no começo da imagem. Além disso, cortes que não sejam o corte no começo da imagem são sempre os cortes dependentes. Por exemplo, uma figura mostrada na FIGURA 25C é permitida, mas uma figura mostrada na FIGURA 25B não é permitida.
[00327] Na segunda restrição exemplar desta modalidade, quando os blocos são habilitados e o corte normal inicia na posição que não seja a posição inicial do bloco, o bloco a ser codificado depois não inicia com o corte dependente. Para explicar de outra forma, quando ti- les_enabled_flag é igual a 1 e slice_address é igual a um endereço inicial de um bloco, o próximo bloco não inicia com o corte dependente.
[00328] Assim, conforme descrito com referência à FIGURA 23, o processo de saltar de volta ao cabeçalho de corte do corte normal 522 não ocorre quando o corte dependente 523 é decodificado. Em resumo, o corte 523 não é permitido como corte dependente. Isso é porque o corte normal 522 inicia não na posição inicial do bloco, mas no bloco.
[00329] Consequentemente, nesta modalidade, quando o corte (corte normal) cujo cabeçalho é utilizado para outro corte que não inicia no começo do bloco, o bloco codificado próximo ao bloco não inicia de um corte (corte dependente) que é decodificado utilizando um cabeçalho de outro corte.
[00330] Assim, na segunda restrição exemplar, quando o corte normal inicia na posição que não seja o começo do primeiro bloco, o segundo bloco codificado próximo ao primeiro bloco não inicia com o corte dependente. Declarado de forma diferente, quando pelo menos um do segundo corte e um corte subsequente do primeiro bloco é o corte normal, o corte no começo do segundo bloco é o corte normal.
[00331] Por exemplo, conforme mostrado na FIGURA 25A, quando um corte (3) em um bloco 1 é presente, um corte (4) no começo de um bloco 2 não pode ser definido como um corte dependente. Além disso, quando pelo menos um de um corte (2) e o corte (3) é um corte normal, o corte (4) não pode ser definido como o corte dependente. Como um resultado, conforme mostrado na FIGURA 25B, o corte (4) precisa ser definido como o corte normal. Além disso, na segunda restrição exemplar, a figura mostrada na FIGURA 25C é também permitida.
[00332] Na terceira restrição exemplar desta modalidade, quando o bloco inicia com o corte dependente, um bloco completo é incluído no corte dependente. Em outras palavras, quando o bloco inicia do corte que é decodificado utilizando a cabeçalho de outro corte, todo o bloco é incluído no corte.
[00333] Assim, na terceira restrição exemplar, quando o corte no começo do terceiro bloco é o corte dependente, o corte dependente inclui todo o terceiro bloco. Para explicar de outra forma, o terceiro bloco inclui apenas um corte dependente. Por exemplo, conforme mostrado na FIGURA 26A, quando um bloco 2 inicia de um corte dependente (4), o bloco 2 não é permitido incluir cortes. Assim, conforme mostrado na FIGURA 26B, o bloco 2 precisa incluir apenas um corte dependente (4).
[00334] Na quarta restrição exemplar desta modalidade, quando tiles_enabled_flag é igual a 1 e o corte (corte dependente ou normal) inicia no meio do bloco, o bloco a ser codificado depois não inicia do corte dependente. Deve-se observar que a frase "no meio do bloco" denota não o meio real, mas que o primeiro CTB de um corte não é o primeiro CTB de um bloco. Em resumo, a frase "no meio do bloco" denota dentro de um bloco.
[00335] Isso significa que quando um corte não inicia no começo de um bloco, um bloco a ser codificado depois não inicia de um corte que utiliza um cabeçalho de outro corte. Para explicar de outra forma, quando o primeiro bloco inclui um corte que inicia em uma posição que não seja o começo do primeiro bloco (primeiro bloco inclui cortes), o segundo bloco não inicia de um corte dependente. Por exemplo, conforme mostrado na FIGURA 27A, quando um bloco 1 inclui blocos, um corte (4) no começo de um bloco 2 não é permitido ser definido como o corte dependente. Como um resultado, conforme mostrado na FIGURA 27B, o corte (4) no começo do bloco 2 precisa ser definido como um corte normal.
[00336] Deve-se observar que esta modalidade referente aos blocos e a outras modalidades pode ser combinada, e regras particulares e restrições também podem ser combinadas.
[00337] Em outra restrição exemplar desta modalidade, quando ti- les_enabled_flag é igual a 1, o corte dependente não é permitido. Declarado de forma diferente, os cortes dependentes são permitidos a ser utilizados com o WPP, mas não com os blocos. Com isso, um problema adicional quando os blocos são utilizados pode ser evitado. Em resumo, quando os blocos são utilizados, o corte não utiliza um cabeçalho de outro corte para decodificar.
[00338] Quando os cortes dependentes são habilitados e um de WPP e bloco é habilitado além ou ao invés da aplicação da restrição, um indicador que indica a restrição pode ser incorporado no fluxo contínuo de bits. Por exemplo, este indicador é incorporado em um SPS ou um PPS. Deve-se observar que o indicador pode ser incorporado em outra mensagem como uma Mensagem SEI ou em qualquer mensagem de informações de usabilidade de vídeo (VU).
[00339] O aparelho de decodificação de imagem identifica uma restrição a ser aplicada, com base no indicador. Por exemplo, esta restrição é que um corte normal pode iniciar apenas no começo de um bloco (começo de uma linha LCU no caso do WPP). Deve-se observar que esta é meramente uma restrição exemplar, e qualquer uma das restrições mencionadas acima, uma combinação das restrições, ou uma restrição adicional não descrita explicitamente pode ser aplicada.
[00340] Por exemplo, o indicador pode ser um sinalizador de 1 bit que indica, para uma restrição predeterminada, se ou não a restrição não deve ser aplicada. As restrições selecionáveis podem estar dispo- níveis, e as informações que indicam uma restrição selecionada são sinalizadas no fluxo contínuo de bits ao aparelho de decodificação de imagem. Declarado de forma diferente, ao invés de explicitamente limitar a utilização conforme descrito nos exemplos acima, o aparelho de codificação de imagem pode notificar o aparelho de decodificação de imagem de modo que as restrições sejam utilizadas. Assim, qualquer um dos exemplos referentes às restrições pode ser aplicado.
[00341] De acordo com uma modalidade exemplar revelada neste documento, um método de decodificação de imagem inclui obter, de um fluxo contínuo de bits, um indicador de restrição que indica que a divisão de uma figura é restrita. De acordo com uma modalidade exemplar revelada neste documento, um método de codificação de imagem inclui incorporar, em um fluxo contínuo de bits, um indicador de restrição que indica que a divisão de uma figura é restrita.
[00342] Deve-se observar que não é necessário determinar se ou não adicionar o indicador dependendo se ou não o WPP ou bloco é habilitado. Além disso, quando o indicador é adicionado, o corte dependente não precisa ser habilitado. Em resumo, o indicador pode ser adicionado independente se ou não a utilização do corte dependente é habilitada.
[00343] Além disso, um indicador que indica que um corte pai de um corte-alvo inicia no começo de um bloco pode ser adicionado em um fluxo contínuo de bits. Em outras palavras, de acordo com uma modalidade exemplar revelada neste documento, um método de deco- dificação de imagem inclui obter, de um fluxo contínuo de bits, um indicador que indica se ou não um corte pai cujo cabeçalho de corte é utilizado para um corte dependente inicia no começo de um bloco. De acordo com uma modalidade exemplar revelada neste documento, um método de decodificação de imagem inclui incorporar, em um fluxo contínuo de bits, um indicador que indica se ou não um corte pai cujo cabeçalho de corte é utilizado para um corte dependente inicia no começo de um bloco.
[00344] Além disso, um indicador que indica que todos os cortes em uma figura utilizam o mesmo cabeçalho de corte pode ser adicionado em um fluxo contínuo de bits. Em outras palavras, este indicador indica que todos os elementos de sintaxe que estão presentes em um cabeçalho de um corte normal e ausente de um cabeçalho de um corte dependente são os mesmos para todos os cortes na figura.
[00345] Assim, um indicador de restrição que indica que a divisão de uma figura é restrita por uma regra predeterminada pode ser incluída em um fluxo contínuo de bits.
[00346] Além disso, um indicador que indica se ou não um corte pai de um corte-alvo inicia no começo de um bloco pode ser incorporado em um fluxo contínuo de bits. Aqui, um cabeçalho do corte pai é utilizado para o corte-alvo.
[00347] De acordo com uma modalidade exemplar revelada neste documento, um método de decodificação de imagem é um método de decodificação de imagem para decodificar um fluxo contínuo de bits incluindo um sinal codificado resultante dos blocos de codificação e cortes em que uma imagem é dividida, o método incluindo decodifica- ção do sinal codificado. De acordo com uma modalidade exemplar revelada neste documento, um método de codificação de imagem é um método de codificação de imagem para gerar um fluxo contínuo de bits por blocos de codificação e cortes nos quais uma imagem é dividida, o método incluindo: divisão de uma imagem em blocos e cortes; e codificação dos blocos e dos cortes resultantes da divisão.
[00348] Cada um dos cortes é tanto um corte normal quanto um corte dependente. O corte normal é um corte tendo, em um cabeçalho de corte, informações a ser utilizadas para outro corte. O corte dependente é um corte que é decodificado utilizando informações incluídas em um cabeçalho de corte de outro corte. Aqui, o outro corte é, por exemplo, um corte normal precedente e estando mais próximo ao corte dependente.
[00349] Na divisão, a imagem é dividida em blocos e cortes para satisfazer uma ou mais das restrições mencionadas acima.
[00350] Na decodificação, um primeiro bloco e um segundo bloco pode ser decodificado em paralelo, e quando a decodificação do segundo bloco é iniciada, o segundo bloco pode ser decodificado sem referência à informação de divisão que indica uma estrutura de corte do primeiro bloco. Além disso, na divisão, quando um aparelho de de- codificação de imagem decodifica um primeiro bloco e um segundo bloco em paralelo, e quando o aparelho de decodificação de imagem inicia a decodificação o segundo bloco, a imagem pode ser dividida em blocos e cortes para permitir a decodificação do segundo bloco sem referência à informação de divisão que indica uma estrutura de corte do primeiro bloco.
[00351] Aqui, a informação de divisão é, por exemplo, informações que indicam uma posição do corte (posição inicial) ou uma posição de um cabeçalho de corte. O aparelho de decodificação de imagem salva do bloco alvo referindo à informação de divisão.
[00352] Conforme declarado acima, o cabeçalho de corte inclui as informações (dependent_slice_flag) que indicam se o corte é o corte normal ou o corte dependente. Em outras palavras, o método de de- codificação de imagem inclui obter, de um cabeçalho de corte, informações que indicam se um corte é um corte normal ou um corte dependente. Além disso, o método de codificação de imagem inclui incorporar, em um cabeçalho de corte, informações que indica se um corte é um corte normal ou um corte dependente.
[00353] O mesmo problema descrito para o WPP também ocorre para os blocos. Assim, a solução acima pode ser aplicada aos blocos. Quando os blocos são habilitados ao invés do WPP, parte na qual o processamento paralelo é realizado, não é uma linha LCU, mas um bloco composto por LCUs. Para explicar de outra forma, a solução pode ser diretamente aplicada ao bloco substituindo a linha LCU com o bloco.
[00354] Conforme declarado acima, o fluxo contínuo de bits pode incluir os cortes normais e os cortes dependentes, e a decodificação dos cortes normais e dos cortes dependentes é com base nos parâmetros sinalizados nos cabeçalhos de corte dos cortes normais.
[00355] De acordo com uma modalidade exemplar revelada neste documento, quando um corte normal não inicia em uma posição inicial de um bloco, uma restrição que um corte dependente dependente do corte normal não pode seguir o corte normal é aplicada.
[00356] De acordo com uma modalidade exemplar revelada neste documento, uma restrição que uma imagem é dividida em cortes é aplicada para fazer com que apenas o primeiro corte na imagem seja um corte normal e os cortes remanescentes sejam cortes dependentes.
[00357] A dependência do corte é causada pela unidade de decodi- ficação aritmética de cada corte dependente utilizando um cabeçalho de corte de um corte pai.
[00358] De acordo com uma modalidade exemplar revelada neste documento, quando um corte dependente é aplicável, um indicador de restrição é incorporado em um fluxo contínuo de bits. O corte dependente é um corte que inclui dados da imagem codificada e utiliza parâmetros de um cabeçalho de outro corte.
[00359] A restrição pode ser qualquer uma das restrições acima, uma combinação destas restrições, ou uma restrição que não sejam as restrições exemplares.
[00360] De acordo com uma modalidade exemplar revelada neste documento, um aparelho é um aparelho que decodifica um fluxo contínuo de bits de uma sequência de vídeo codificada incluindo cortes de imagem e blocos de imagem que são pelo menos parcialmente codificados pela codificação aritmética, o aparelho incluindo: uma unidade de análise que extrai, dos dados para um corte do fluxo contínuo de bits, um indicador de inicialização que indica se ou não um modelo de probabilidade de decodificação aritmética do corte é inicializado com um valor predeterminado; uma unidade de controle que controla se ou não o modelo de probabilidade de decodificação aritmética é inicializa- do com o valor predeterminado; e uma unidade de decodificação aritmética que decodifica o corte pela decodificação aritmética.
[00361] De acordo com uma modalidade exemplar revelada neste documento, um aparelho é um aparelho que pelo menos parcialmente codifica uma sequência de vídeo incluindo cortes de imagem pela codificação aritmética, para gerar um fluxo contínuo de bits, o aparelho incluindo: uma unidade de geração de fluxo contínuo de bits que incorpora, nos dados para um corte do fluxo contínuo de bits, um indicador de inicialização que indica se ou não um modelo de probabilidade de codificação aritmética do corte é inicializado com um valor predeterminado; uma unidade de controle que controla se ou não o modelo de probabilidade de codificação aritmética é inicializado com o valor predeterminado; e uma unidade de codificação aritmética que codifica o corte.
[00362] Por exemplo, o indicador de inicialização é incorporado aos dados do cabeçalho do corte.
[00363] Por exemplo, o indicador de inicialização é um sinalizador de 1 bit. No sinalizador de 1 bit, "1" indica que o modo de probabilidade de decodificação aritmética é inicializado com o valor predeterminado, e "0" indica que o modo de probabilidade de decodificação aritmética é inicializado por outro método.
[00364] Por exemplo, um corte de uma imagem pode ser subdividido em unidades de codificação correspondentes aos blocos de pixel da imagem, e apenas quando o corte é um corte dependente que é um corte utilizando parâmetros de um cabeçalho de outro corte, a unidade de análise pode extrair um indicador de inicialização de dados do cabeçalho.
[00365] Por exemplo, apenas quando a decodificação paralela de blocos é permitida, a unidade de análise pode extrair o indicador de inicialização dos dados do cabeçalho. De modo alternativo, apenas quando um corte inicia no começo de um bloco, a unidade de análise pode extrair o indicador de inicialização dos dados do cabeçalho.
[00366] Por exemplo, o indicador de inicialização é incorporado em uma Mensagem SEI fora de um cabeçalho de corte.
[00367] Deve-se observar que o termo "corte (corte dependente ou normal)" utilizado na descrição acima é às vezes referido como um "segmento de corte (segmento de corte normal ou segmento de corte dependente)". Neste caso, uma unidade incluindo um ou mais segmentos de corte consecutivos é referido como um "corte." Especificamente, um corte inclui um segmento de corte normal e um ou mais segmentos de corte dependente consecutivos seguindo o segmento de corte normal. Declarado de forma diferente, quando um segmento de corte normal segue imediatamente outro segmento de corte normal, um corte inclui apenas o segmento de corte normal. Além disso, quan-do um ou mais segmentos de corte dependente seguem imediatamente um segmento de corte normal, um corte inclui o segmento de corte normal e um ou mais segmentos de corte dependente. Em uma palavra, um corte varia de um segmento de corte normal a um ou mais cortes dependentes imediatamente precedentes ao próximo segmento de corte normal.
[00368] Quando esta definição é utilizada, as restrições menciona- das acima para os blocos e cortes correspondente às seguintes definições.
[00369] Uma ou ambas as seguintes condições devem ser cumpridas para cada corte e bloco. (1) Todas as unidades de codificação em árvore em um corte pertencem ao mesmo bloco. (2) Todas as unidades de codificação em árvore em um bloco pertencem ao mesmo corte.
[00370] Aqui, as unidades de codificação em árvore são as mesmas que as LCUs mencionadas acima e os blocos de codificação em árvore mencionados acima.
[00371] Além disso, uma ou ambas as seguintes condições devem ser cumpridas para cada segmento de corte e bloco. (1) Todas as unidades de codificação em árvore em um segmento de corte pertencem ao mesmo bloco. (2) Todas as unidades de codificação em árvore em um bloco pertencem ao mesmo segmento de corte.
[00372] Embora o método de codificação de imagem e o método de decodificação de imagem de acordo com as modalidades foramdescri- tos até o momento, a presente invenção não é limitada às modalidades.
[00373] O método de codificação de imagem e o método de decodi- ficação de imagem são realizados pelo aparelho de codificação de imagem e pelo aparelho de decodificação de imagem, respectivamente. O aparelho de codificação de imagem e o aparelho de decodifica- ção de imagem têm as mesmas estruturas que, por exemplo, as mostradas na FIGURA 1 e na FIGURA 2, respectivamente, e etapas características incluídas no método de codificação de imagem e no método de decodificação de imagem são executadas por qualquer uma das respectivas unidades de processamento mostradas na FIGURA 1 e na FIGURA 2 ou unidades de processamento não mostradas.
[00374] Além disso, as respectivas unidades de processamento in- cluídas no aparelho de codificação de imagem e no aparelho de deco- dificação de imagem de acordo com as modalidades são tipicamente implementadas como uma LSI que é um circuito integrado. Estas unidades de processamento podem ser individualmente configuradas como chips únicos ou podem ser configuradas de modo que uma parte ou todas as unidades de processamento sejam incluídas em um único chip.
[00375] Além disso, o método de integração de circuito não é limitado às LSIs, e implementação através de um circuito dedicado ou um processador de finalidade geral também é possível. Uma Matriz de Porta de Campo Programável (FPGA) que permite programar após a fabricação de LSI ou um processador reconfigurável que permite a reconfiguração das conexões e ajustes das células de circuito dentro da LSI também pode ser utilizado.
[00376] Nas respectivas modalidades, os respectivos elementos constituintes são configurados utilizando hardware dedicado, mas também podem ser implementados pela execução de programas de software adequados para os respectivos elementos constituintes. Os respectivos elementos constituintes podem ser implementados através da leitura e execução de um programa de software gravado em um meio de gravação como um disco rígido ou memória do semicondutor por uma unidade de execução de programa como uma CPU e um processador.
[00377] Em outras palavras, cada um do aparelho de codificação de imagem e do aparelho de decodificação de imagem inclui circuito de controle e armazenamento eletricamente conectado ao circuito de controle (acessível do circuito de controle). O circuito de controle inclui pelo menos um do hardware dedicado e da unidade de execução de programa. Além disso, quando o circuito de controle inclui a unidade de execução de programa, o armazenamento armazena um programa de software executado pela unidade de execução de programa.
[00378] Além disso, a presente invenção pode ser o programa de software, ou um meio de gravação legível por computador não transitório no qual o programa é gravado. Além disso, é evidente que o programa pode ser distribuído através de um meio de transmissão como a Internet.
[00379] Além disso, todas as figuras numéricas utilizadas na seguinte descrição são meramente exemplificadas para descrever a presente invenção em termos específicos, e assim a presente invenção não é limitada às figuras numéricas exemplificadas.
[00380] Além disso, a separação dos blocos de função nos diagramas em blocos é meramente um exemplo, e vários blocos de função podem ser implementados como um único bloco de função, um único bloco de função pode ser separado em vários blocos de função, ou parte das funções de um bloco de função pode ser transferida a outro bloco de função. Além disso, as funções dos blocos de função tendo funções semelhantes podem ser processadas, em paralelo ou por compartilhamento de tempo, por hardware ou software único.
[00381] Além disso, a sequência na qual as etapas incluídas no método de codificação de imagem e no método de decodificação de imagem são executadas é dada como um exemplo para descrever a presente invenção em termos específicos, e assim, outras sequências são possíveis. Além disso, parte das etapas pode ser executada simultaneamente (em paralelo) com outra etapa.
[00382] O assunto descrito neste documento deve ser considerado descritivo e ilustrativo apenas, e as reivindicações anexas são de um escopo direcionado para abranger não apenas as modalidades particulares reveladas, mas também as estruturas, métodos, e/ou usos equivalentes. Várias modificações às modalidades que podem ser concebidas pelos técnicos no assunto, e formas configuradas combi- nando os elementos constituintes em diferentes modalidades sem sair dos ensinamentos da presente invenção são incluídas no escopo de um ou mais aspectos da presente invenção.
[00383] Modalidade 5
[00384] O processamento descrito em cada uma das modalidades pode ser simplesmente implementado em um sistema de computador independente, por gravação, em um meio de gravação, um programa para implementar as configurações do método de codificação da figura móvel (método de codificação de imagem) e do método de decodifica- ção da figura móvel (método de decodificação de imagem) descrito em cada uma das modalidades. Os meios de gravação podem ser qualquer meio de gravação desde que o programa possa ser gravado, como um disco magnético, um disco óptico, um disco magnético óptico, um cartão IC, e uma memória semicondutora.
[00385] A seguir, as aplicações ao método de codificação da figura móvel (método de codificação de imagem) e ao método de decodifica- ção da figura móvel (método de decodificação de imagem) descritas em cada uma das modalidades e sistemas utilizados serão descritos. O sistema tem uma característica de ter um aparelho de codificação e decodificação de imagem que inclui um aparelho de codificação de imagem utilizando o método de codificação de imagem e um aparelho de decodificação de imagem utilizando o método de decodificação de imagem. Outras configurações no sistema podem ser mudadas conforme apropriado dependendo dos casos.
[00386] A FIGURA 28 ilustra uma configuração geral de um sistema que fornece conteúdo ex100 para implementar os serviços de distribuição de conteúdo. A área para fornecer serviços de comunicação é dividida em células de tamanho desejado, e estações base ex106, ex107, ex108, ex109, e ex110 que são estações sem fio fixadas colocadas em cada uma das células.
[00387] O sistema que fornece conteúdo ex100 é conectado aos dispositivos, como um computador ex111, um assistente digital pessoal (PDA) ex112, uma câmera ex113, um celular ex114 e uma máquina de jogos ex115, através da Internet ex101, um Provedor de serviço de Internet ex102, uma rede telefônica ex104, bem como as estações de base ex106 a ex110, respectivamente.
[00388] Entretanto, a configuração do sistema que fornece conteúdo ex100 não é limitada à configuração mostrada na FIGURA 28, e uma combinação em que qualquer um dos elementos são conectados é aceitável. Além disso, cada dispositivo pode ser diretamente conectado à rede telefônica ex104, ao invés das estações base ex106 a ex110 que são as estações de base fixadas. Além disso, os dispositivos podem ser interconectados entre si através de uma comunicação sem fio de curta distância e outros.
[00389] A câmera ex113, como uma câmera de vídeo digital, pode capturar vídeo. Uma câmera ex116, como uma câmera digital, pode capturar tanto as imagens quanto o vídeo. Além disso, o celular ex114 pode ser um que cumpre com os padrões como Global System for Mobile Communications (GSM) (marca registrada), Code Division Multiple Access (CDMA), Wideband-Code Division Multiple Access (W- CDMA), Long termo Evolution (LTE), e High Speed Packet Access (HSPA). De modo alternativo, o celular ex114 pode ser um Personal Handyphone System (PHS).
[00390] No sistema que fornece conteúdo ex100, um servidor de fluxo ex103 é conectado à câmera ex113 e outro através da rede telefônica ex104 e a estação base ex109, que permite a distribuição de imagens de um show ao vivo e outros. Nesta distribuição, um conteúdo (por exemplo, vídeo de um show ao vivo) capturado pelo usuário utilizando a câmera ex113 é codificado conforme descrito acima em cada uma das modalidades (ou seja, as funções da câmera como o aparelho de codificação de imagem de acordo com um aspecto da presente invenção), e o conteúdo codificado é transmitido ao servidor de fluxo ex103. Por outro lado, o servidor de fluxo ex103 realiza a distribuição de fluxo dos dados de conteúdo transmitido aos clientes sob suas solicitações. Os clientes incluem o computador ex111, o PDA ex112, a câmera ex113, o celular ex114, e a máquina de jogos ex115 que podem decodificar os dados codificados mencionados acima. Cada um dos dispositivos que receberam os dados distribuídos decodifica e reproduz os dados codificados (ou seja, funciona como o aparelho de decodificação de imagem de acordo com um aspecto da presente invenção).
[00391] Os dados capturados podem ser codificados pela câmera ex113 ou pelo servidor de fluxo ex103 que transmite os dados, ou os processos de codificação podem ser compartilhados entre a câmera ex113 e o servidor de fluxo ex103. Semelhantemente, os dados distribuídos podem ser decodificados pelos clientes ou pelo servidor de fluxo ex103, ou os processos de decodificação podem ser compartilhados entre os clientes e o servidor de fluxo ex103. Além disso, os dados das imagens paradas e vídeos capturados não apenas pela câmera ex113, mas também pela câmera ex116 podem ser transmitidos ao servidor de fluxo ex103 através do computador ex111. Os processos de codificação podem ser realizados pela câmera ex116, o computador ex111, ou o servidor de fluxo ex103, ou compartilhados entre eles.
[00392] Além disso, os processos de codificação e decodificação podem ser realizados por um LSI ex500 geralmente incluído em cada um do computador ex111 e dos dispositivos. A LSI ex500 pode ser configurada de um único chip ou uma pluralidade de chips. Software para codificação e decodificação de vídeo pode ser integrado em algum tipo de um meio de gravação (como um CD-ROM, um disco flexível, e um disco rígido) que é legível pelo computador ex111 e outros, e os processos de codificação e decodificação podem ser realizados utilizando o software. Além disso, quando o celular ex114 é equipado com uma câmera, os dados de vídeo obtidos pela câmera podem ser transmitidos. Os dados de vídeo são dados codificados pela LSI ex500 incluída no celular ex114.
[00393] Além disso, o servidor de fluxo ex103 pode ser composto por servidores e computadores, e pode decentralizar os dados e processar os dados decentralizados, gravar e distribuí-los.
[00394] Conforme descrito acima, os clientes podem receber e reproduzir os dados codificados no sistema que fornece conteúdo ex100. Em outras palavras, os clientes podem receber e decodificar as informações transmitidas pelo usuário, e reproduzem os dados decodificados em tempo real no sistema que fornece conteúdo ex100, de modo que o usuário que não tem qualquer equipamento possa implementar a transmissão pessoal.
[00395] Além do exemplo do sistema que fornece conteúdo ex100, pelo menos um do aparelho de codificação de figura móvel (aparelho de codificação de imagem) e o aparelho de decodificação de figura móvel (aparelho de decodificação de imagem) descritos em cada uma das modalidades podem ser implementados em um sistema de transmissão digital ex200 ilustrado na FIGURA 29. Mais especificamente, uma estação de transmissão ex201 se comunica ou transmite, através de ondas de rádio a um satélite de transmissão ex202, dados multiplicados obtidos pela multiplexação de dados de áudio e outros nos dados de vídeo. Os dados de vídeo são dados codificados pelo método de codificação da figura móvel descrito em cada uma das modalidades (ou seja, dados codificados pelo aparelho de codificação de imagem de acordo com um aspecto da presente invenção). No recebimento dos dados multiplexados, o satélite de transmissão ex202 transmite ondas de rádio para transmissão. Então, uma antena de uso residen- cial ex204 com uma função de recepção de transmissão de satélite recebe as ondas de rádio. Depois, um dispositivo como uma televisão (receptor) ex300 e um descodificador (STB) ex217 decodifica os dados multiplexados recebidos, e reproduz os dados decodificados (ou seja, funções como o aparelho de decodificação de imagem de acordo com um aspecto da presente invenção).
[00396] Além disso, um leitor/gravador ex218 (i) lê e decodifica os dados multiplexados gravados em um meio de gravação ex215, como um DVD e um BD, ou (i) codifica sinais de vídeo no meio de gravação ex215, e em alguns casos, grava os dados obtidos pela multiplexação de um sinal de áudio nos dados codificados. O leitor/gravador ex218 pode incluir o aparelho de decodificação de figura móvel ou o aparelho de codificação de figura móvel conforme mostrado em cada uma das modalidades. Neste caso, os sinais de vídeo reproduzidos são exibidos no monitor ex219, e podem ser reproduzidos por outro dispositivo ou sistema utilizando o meio de gravação ex215 no qual os dados mul- tiplexados são gravados. Ainda é possível implementar o aparelho de decodificação de figura móvel no descodificador ex217 conectado ao cabo ex203 para uma televisão a cabo à antena ex204 para transmissão por satélite e/ou terrestre, para exibir os sinais de vídeo no monitor ex219 da televisão ex300. O aparelho de decodificação da figura móvel não pode ser implementado no descodificador, mas na televisão ex300.
[00397] A FIGURA 30 ilustra a televisão (receptor) ex300 que utiliza o método de codificação da FIGURA móvel e o método de decodifica- ção da figura móvel descrito em cada uma das modalidades. A televisão ex300 inclui: um sintonizador ex301 que obtém ou fornece dados multiplexados obtidos pela multiplexação de dados de áudio de vídeo, através da antena ex204 ou do cabo ex203, etc. que recebe uma transmissão; uma unidade de modulação/demodulação ex302 que demodula os dados multiplexados recebidos ou modula os dados em dados multiplexados para ser fornecidos fora; e uma unidade de multi- plexação/demultiplexação ex303 que demultiplexa os dados multiple- xados modulados em dados de vídeo e dados de áudio, ou multiplexa os dados de vídeo e dados de áudio codificados por uma unidade de processamento de sinal ex306 em dados.
[00398] A televisão ex300 ainda inclui: uma unidade de processamento de sinal ex306 incluindo uma unidade de processamento do sinal de áudio ex304 e uma unidade de processamento de sinal de vídeo ex305 que decodificam os dados de áudio e os dados de vídeo e codificam os dados de áudio e os dados de vídeo, respectivamente (que funcionam como o aparelho de codificação de imagem e o aparelho de decodificação de imagem de acordo com os aspectos da presente invenção); e uma unidade de saída ex309 incluindo um alto- falante ex307 que fornece o sinal de áudio decodificado, e uma unidade de exibição ex308 que exibe o sinal de vídeo decodificado, como uma tela. Além disso, a televisão ex300 inclui uma unidade da interface ex317 incluindo uma unidade da entrada operacional ex312 que recebe uma entrada de uma operação do usuário. Além disso, a televisão ex300 inclui uma unidade de controle ex310 que controla total cada elemento constituinte da televisão ex300, e uma unidade de circuito da fonte de alimentação ex311 que fornece energia a cada um dos elementos. Outra unidade da entrada operacional ex312, a unidade da interface ex317 pode incluir: uma ponte ex313 que é conectada a um dispositivo externo, como o leitor/gravador ex218; uma unidade de compartimento ex314 para permitir a fixação do meio de gravação ex216, como um cartão SD; um driver ex315 a ser conectado a um meio de gravação externo, como um disco rígido; e um modem ex316 a ser conectado a uma rede telefônica. Aqui, o meio de gravação ex216 pode eletricamente gravar informações utilizando um elemento da memória do semicondutor não volátil/volátil para armazenamento. Os elementos constituintes da televisão ex300 são conectados entre si através de um barramento sincronizado.
[00399] Primeiro, a configuração na qual a televisão ex300 decodifica os dados multiplexados obtidos fora através da antena ex204 e outros e reproduz os dados decodificados serão descritos. Na televisão ex300, em uma operação do usuário através de um controlador remoto ex220 e outros, a unidade de multiplexação/demultiplexação ex303 demultiplexa os dados multiplexados demodulados pela unidade de modulação/demodulação ex302, sob controle da unidade de controle ex310 incluindo uma CPU. Além disso, a unidade de processamento do sinal de áudio ex304 decodifica os dados de áudio demultiplexados, e a unidade de processamento de sinal de vídeo ex305 decodifica os dados demultiplexados de vídeo, utilizando o método de decodificação descrito em cada uma das modalidades, na televisão ex300. A unidade de saída ex309 fornece o sinal de vídeo decodificado e sinal de áudio externo, respectivamente. Quando a unidade de saída ex309 fornece o sinal de áudio e o sinal de áudio, os sinais podem ser temporariamente armazenados em buffers ex318 e ex319, e outros de modo que os sinais sejam reproduzidos em sincronização entre si. Além disso, a televisão ex300 pode ler dados multiplexados não através de uma transmissão e outros, mas do meio de gravação ex215 e ex216, como um disco magnético, um disco óptico, e um cartão SD. Depois, uma configuração na qual a televisão ex300 codifica um sinal de áudio e um sinal de áudio, e transmite os dados externos ou grava os dados em um meio de gravação será descrita. Na televisão ex300, em uma operação do usuário através do controlador remoto ex220 e outros, a unidade de processamento do sinal de áudio ex304 codifica um sinal de áudio, e a unidade de processamento de sinal de vídeo ex305 codifica um sinal de áudio, sob controle da unidade de controle ex310 utili- zando o método de codificação descrito em cada uma das modalidades. A unidade de multiplexação/demultiplexação ex303 multiplexa o sinal de áudio codificado e o sinal de áudio, e fornece o sinal signal externo resultante. Quando a unidade de multiplexação/ demultiplexa- ção ex303 multiplexa o sinal de áudio e o sinal de áudio, os sinais podem ser temporariamente armazenados nos buffers ex320 e ex321, e outros de modo que os sinais sejam reproduzidos em sincronização entre si. Aqui, os buffers ex318, ex319, ex320, e ex321 podem ser vários conforme ilustrado, ou pelo menos um buffer pode ser compartilhado na televisão ex300. Além disso, os dados podem ser armazenados em um buffer de modo que o sobrefluxo e sobfluxo do sistema possa ser evitado entre a unidade de modulação/demodulação ex302 e a unidade de multiplexação/demultiplexação ex303, por exemplo.
[00400] Além disso, a televisão ex300 pode incluir uma configuração para receber uma entrada AV de um microfone ou uma câmera que não seja a configuração para obter dados de áudio e vídeo de uma transmissão ou um meio de gravação, e pode codificar os dados obtidos. Embora a televisão ex300 possa codificar, multiplexação, e fornecer dados externos na descrição, pode ser capaz de apenas receber, decodificar, e fornecer os dados externos, mas não codificar, multiplexar, e fornecer dados externos.
[00401] Além disso, quando o leitor/gravador ex218 lê ou grava os dados multiplexados de um meio de gravação, um da televisão ex300 e do leitor/gravador ex218 pode decodificar ou codificar os dados mul- tiplexados, e a televisão ex300 e o leitor/gravador ex218 pode compartilhar a decodificação ou codificação.
[00402] Como um exemplo, a FIGURA 31 ilustra uma configuração de uma unidade de reprodução/gravação de informações ex400 quando dados são lidos ou gravados de ou em um disco óptico. A unidade de reprodução/gravação de informações ex400 inclui elementos cons- tituintes ex401, ex402, ex403, ex404, ex405, ex406, e ex407 para ser descritos a seguir. A cabeça óptica ex401 irradia um ponto a laser em uma superfície de gravação do meio de gravação ex215 que é um disco óptico para gravar as informações, e detecta a luz refletida da superfície de gravação do meio de gravação ex215 para ler as informações. A unidade de gravação por modulação ex402 eletricamente aciona um laser semicondutor incluído na cabeça óptica ex401, e modula a luz de laser de acordo com os dados gravados. A unidade de demo- dulação da reprodução ex403 amplifica um sinal de reprodução obtido pela detecção elétrica da luz refletida da superfície de gravação utilizando um detector de foto incluído na cabeça óptica ex401, e demodu- la o sinal de reprodução separando um componente do sinal gravado no meio de gravação ex215 para reproduzir as informações necessárias. O buffer ex404 mantém temporariamente as informações a serem gravadas no meio de gravação ex215 e as informações reproduzidas do meio de gravação ex215. O motor do disco ex405 gira o meio de gravação ex215. A unidade de servo controle ex406 move a cabeça óptica ex401 para uma faixa de informações predeterminadas enquanto controla o acionamento de rotação do motor do disco ex405 para seguir o ponto a laser. A unidade de controle do sistema ex407 controla toda a unidade de reprodução/gravação de informações ex400. Os processos de leitura e gravação podem ser implementados pela unidade de controle do sistema ex407 utilizando várias informações armazenadas no buffer ex404 e gerar e adicionar novas informações conforme necessário, e pela unidade de gravação por modulação ex402, a unidade de demodulação da reprodução ex403, e a unidade de servo controle ex406 que gravam e reproduzem as informações através da cabeça óptica ex401 enquanto são operadas em uma forma coordenada. A unidade de controle do sistema ex407 inclui, por exemplo, um microprocessador, e executa o processamento fazendo com que um computador execute um programa para ler e gravar.
[00403] Embora a cabeça óptica ex401 irradia um ponto a laser na descrição, ela pode realizar a gravação de alta densidade utilizando luz de campo próximo.
[00404] A FIGURA 32 ilustra o meio de gravação ex215 que é o disco óptico. Na superfície de gravação do meio de gravação ex215, as ranhuras-guia são formadas em espiral, e uma faixa de informações ex230 grava, com antecedência, as informações de endereço que indicam uma posição absoluta no disco de acordo com a mudança em uma forma das ranhuras guia. As informações de endereço incluem informações para determinar as posições dos blocos de gravação ex231 que são uma unidade para gravar dados. A reprodução da faixa de informações ex230 e leitura das informações de endereço em um aparelho que grava e reproduz os dados pode levar à determinação das posições dos blocos de gravação. Além disso, o meio de gravação ex215 inclui uma área de gravação de dados ex233, uma área de circunferência interna ex232, e uma área de circunferência externa ex234. A área de gravação de dados ex233 é uma área para uso na gravação de dados do usuário. A área de circunferência interna ex232 e a área de circunferência externa ex234 que estão dentro e fora da área de gravação de dados ex233, respectivamente são para uso específico exceto para gravar os dados do usuário. A unidade de repro- dução/gravação de informações 400 lê e grava o áudio codificado, dados de vídeo codificados, ou dados multiplexados obtidos pela multi- plexação dos dados de áudio e vídeo codificados, de e na área de gravação de dados ex233 do meio de gravação ex215.
[00405] Embora um disco óptico tendo uma camada, como um DVD e um BD seja descrito como um exemplo na descrição, o disco óptico não é limitado a isso, e pode ser um disco óptico tendo uma estrutura multicamada e capaz de ser gravado em uma parte que não seja a su- perfície. Além disso, o disco óptico pode ter uma estrutura para repro- dução/gravação multidimensional, como gravação de informações utilizando luz de cores com diferentes comprimentos de onda na mesma parte do disco óptico e para gravar as informações tendo diferentes camadas de vários ângulos.
[00406] Além disso, um carro ex210 tendo uma antena ex205 pode receber dados do satélite ex202 e outros, e reproduzir vídeo em um dispositivo de exibição como um sistema de navegação por carro ex211 definido no carro ex210, no sistema de transmissão digital ex200. Aqui, uma configuração do sistema de navegação por carro ex211 será uma configuração, por exemplo, incluindo uma unidade de recebimento de GPS da configuração ilustrada na FIGURA 30. O mesmo será verdadeiro para a configuração do computador ex111, do celular ex114, e outros.
[00407] A FIGURA 33A ilustra o celular ex114 que utiliza o método de codificação da figura móvel e o método de decodificação da figura móvel descrito nas modalidades. O celular ex114 inclui: uma antena ex350 para transmitir e receber ondas de rádio através da estação base ex110; uma unidade da câmera ex365 capaz de capturar imagens móveis e estáveis; e uma unidade de exibição ex358 como uma tela de cristal líquido para exibir os dados como vídeo decodificado capturado pela unidade da câmera ex365 ou recebido pela antena ex350. O celular ex114 ainda inclui: uma unidade do corpo principal incluindo uma unidade principal operacional ex366; uma unidade de saída de áudio ex357 como um alto-falante para saída de áudio; uma unidade de entrada de áudio ex356 como um microfone para entrada de um áudio; uma unidade da memória ex367 para armazenar o vídeo capturado ou figuras estáveis, áudio gravado, dados codificados ou decodificados do vídeo recebido, as figuras imóveis, e-mails, ou outros; e uma unidade de compartimento ex364 que é uma unidade da interface para um meio de gravação que armazena os dados da mesma forma que a unidade da memória ex367.
[00408] Depois, um exemplo de uma configuração do celular ex114 será descrito com referência à FIGURA 33B. No celular ex114, uma unidade de controle principal ex360 desenhada para controlar cada unidade do corpo principal incluindo a unidade de exibição ex358 bem como a unidade principal operacional ex366 é conectada mutualmente, através de um barramento sincronizado ex370, em uma unidade de circuito da fonte de alimentação ex361, uma unidade de controle de entrada de operação ex362, uma unidade de processamento de sinal de vídeo ex355, uma unidade da interface da câmera ex363, uma unidade de controle da tela de cristal líquido (LCD) ex359, uma unidade de modulação/demodulação ex352, uma unidade de multiplexa- ção/demultiplexação ex353, uma unidade de processamento do sinal de áudio ex354, a unidade de compartimento ex364, e a unidade da memória ex367.
[00409] Quando uma tecla para terminar ou uma tecla para ligar é acionada por uma operação do usuário, a unidade de circuito da fonte de alimentação ex361 fornece as respectivas unidades com energia de um pacote de bateria para ativar o celular ex114.
[00410] No celular ex114, a unidade de processamento do sinal de áudio ex354 converte os sinais de áudio coletados pela unidade de entrada de áudio ex356 no modo de conversação por voz em sinais de áudio digitais sob o controle da unidade de controle principal ex360 incluindo uma CPU, ROM, e RAM. Então, a unidade de modula- ção/demodulação ex352 realiza o processamento de espectro disperso nos sinais de áudio digital, e a unidade de transmissão e recepção ex351 realiza a conversão digital-em-analógico e a conversão de frequência de dados, para transmitir os dados resultantes através da antena ex350. Ainda, no celular ex114, a unidade de transmissão e re- cepção ex351 amplifica os dados recebidos pela antena ex350 no modo de conversação de voz e realiza a conversão de frequência e a conversão analógico-em-digital dos dados. Então, a unidade de modu- lação/demodulação ex352 realiza o processamento de espectro disperso inverso nos dados, e a unidade de processamento do sinal de áudio ex354 converte em sinais de áudio analógicos, para emiti-los através da unidade de saída de áudio ex357.
[00411] Além disso, quando um e-mail no modo de comunicação de dados é transmitido, dados de texto do e-mail emitido pela operação da unidade principal operacional ex366 e outros do corpo principal é enviado à unidade de controle principal ex360 através da unidade de controle de entrada de operação ex362. A unidade de controle principal ex360 faz com que a unidade de modulação/demodulação ex352 realize o processamento de espectro disperso nos dados de texto, e a unidade de transmissão e recepção ex351 realiza a conversão digital- em-analógico e a conversão de frequência dos dados resultantes para transmitir os dados à estação base ex110 através da antena ex350. Quando um e-mail é recebido, o processamento que é aproximadamente inverso ao processamento para transmitir um e-mail é realizado nos dados recebidos, e os dados resultantes são fornecidos à unidade de exibição ex358.
[00412] Quando o vídeo, imagens estáveis, ou vídeo e áudio no modo de comunicação de dados é ou são transmitidos, a unidade de processamento de sinal de vídeo ex355 comprime e codifica os sinais de vídeo fornecidos da unidade da câmera ex365 utilizando o método de codificação da FIGURA móvel mostrado em cada uma das modalidades (ou seja, funções como o aparelho de codificação de imagem de acordo com o aspecto da presente invenção), e transmite a codificado dos dados de vídeo à unidade de multiplexação/demultiplexação ex353. Ao contrário, durante quando a unidade da câmera ex365 cap- tura o vídeo, imagens estáveis, e outros, a unidade de processamento do sinal de áudio ex354 codifica sinais de áudio coletados pela unidade de entrada de áudio ex356, e transmite os dados de áudio codificado à unidade de multiplexação/demultiplexação ex353.
[00413] A unidade de multiplexação/demultiplexação ex353 multi- plexa os dados de vídeo codificado fornecidos da unidade de processamento de sinal de vídeo ex355 e os dados de áudio codificado fornecido da unidade de processamento do sinal de áudio ex354, utilizando um método predeterminado. Então, a unidade de modula- ção/demodulação (unidade de circuito de modulação/demodulação) ex352 realiza o processamento de espectro disperso nos dados multi- plexados, e a unidade de transmissão e recepção ex351 realiza a conversão digital-em-analógico e a conversão de frequência dos dados para transmitir os dados resultantes através da antena ex350.
[00414] Ao receber os dados de um arquivo de vídeo que é ligado a uma página da Web e outros no modo de comunicação de dados ou ao receber um e-mail com vídeo e/ou áudio anexo, a fim de decodificar os dados multiplexados recebidos através da antena ex350, a unidade de multiplexação/demultiplexação ex353 demultiplexa os dados multi- plexados em um fluxo de bit de dados de vídeo e um fluxo de bit de dados de áudio, e fornece a unidade de processamento de sinal de vídeo ex355 com os dados de vídeo codificado e a unidade de processamento do sinal de áudio ex354 com os dados de áudio codificado, através do barramento sincronizado ex370. A unidade de processamento de sinal de vídeo ex355 decodifica o sinal de áudio utilizando um método de decodificação da figura móvel correspondente ao método de codificação da figura móvel mostrado em cada uma das modali-dades (ou seja, funções como o aparelho de decodificação de imagem de acordo com o aspecto da presente invenção), e então a unidade de exibição ex358 exibe, por exemplo, o vídeo e imagens estáveis incluí- dos no arquivo de vídeo ligado à página da Web através da unidade de controle LCD ex359. Além disso, a unidade de processamento do sinal de áudio ex354 decodifica o sinal de áudio, e a unidade de saída de áudio ex357 fornece o áudio.
[00415] Além disso, semelhantemente à televisão ex300, um terminal como o celular ex114 provavelmente tem 3 tipos de configurações de implementação incluindo não apenas (i) um terminal de transmissão e recepção incluindo tanto um aparelho de codificação quanto um aparelho de decodificação, mas também (ii) um terminal de transmissão incluindo apenas um aparelho de codificação e (iii) um terminal de recepção incluindo apenas um aparelho de decodificação. Embora o sistema de transmissão digital ex200 recebe e transmite os dados mul- tiplexados obtidos pela multiplexação dos dados de áudio em dados de vídeo na descrição, os dados multiplexados podem ser dados obtidos pela multiplexação não apenas de dados de áudio, mas dados do caractere relacionados ao vídeo nos dados de vídeo, e pode não ser dados multiplexados, mas os próprios dados de vídeo.
[00416] Assim, o método de codificação da FIGURA móvel e o método de decodificação da FIGURA móvel em cada uma das modalidades podem ser utilizados em qualquer um dos dispositivos e sistemas descritos. Assim, as vantagens descritas em cada uma das modalidades podem ser obtidas.
[00417] Além disso, várias modificações e revisões podem ser feitas em qualquer uma das modalidades na presente invenção.
Modalidade 6
[00418] Dados de vídeo podem ser gerados pela comutação, conforme necessário, entre (i) o método de codificação da figura móvel ou o aparelho de codificação de figura móvel mostrado em cada uma das modalidades e (ii) um método de codificação da figura móvel ou um aparelho de codificação de figura móvel em conformidade com um pa- drão diferente, como MPEG-2, MPEG-4 AVC, e VC-1.
[00419] Aqui, quando uma pluralidade de dados de vídeo que está em conformidade com os diferentes padrões é gerada e é então decodificada, os métodos de codificação precisam ser selecionados para entrar em conformidade com diferentes padrões. Entretanto, visto que o padrão de cada um da pluralidade de dados de vídeo a ser decodificados conforme não pode ser detectado, um método de decodificação apropriado não pode ser selecionado.
[00420] Em vista disso, dados multiplexados obtidos pela multiple- xação de dados de áudio e outros nos dados de vídeo têm uma estrutura incluindo informações de identificação que indicam em qual padrão os dados de vídeo se adaptam. A estrutura específica dos dados multiplexados incluindo os dados de vídeo gerados no método de codificação da figura móvel e pelo aparelho de codificação de figura móvel mostrado em cada uma das modalidades será descrito a seguir. Os dados multiplexados são um fluxo digital no formato de Fluxo de Transporte MPEG-2.
[00421] A FIGURA 34 ilustra uma estrutura dos dados multiplexa- dos. Conforme ilustrado na FIGURA 34, os dados multiplexados podem ser obtidos pela multiplexação de pelo menos um de um fluxo de vídeo, um fluxo de áudio, um fluxo de gráfico de apresentação (PG), e um fluxo de gráfico interativo. O fluxo de vídeo representa o vídeo primário e secundário de um filme, o fluxo de áudio (IG) representa uma parte do áudio primário e uma parte do áudio secundário a ser misturados com a parte do áudio primário, e um fluxo de gráfico de apresentação representa os subtítulos do filme. Aqui, o vídeo primário é vídeo normal a ser exibido em uma tela, e o vídeo secundário é vídeo a ser exibido em uma janela menor no vídeo primário. Além disso, o fluxo de gráfico interativo representa uma tela interativa a ser gerada pela dis-posição dos componentes GUI em uma tela. O fluxo de vídeo é codifi- cado no método de codificação da figura móvel ou pelo aparelho de codificação de figura móvel mostrado em cada uma das modalidades, ou em um método de codificação da figura móvel ou por um aparelho de codificação da figura móvel em conformidade com o padrão convencional, como MPEG-2, MPEG-4 AVC, e VC-1. O fluxo de áudio é codificado de acordo com um padrão, como Dolby-AC-3, Dolby Digital Plus, MLP, DTS, DTS-HD, e PCM linear.
[00422] Cada fluxo incluído nos dados multiplexados é identificado por PID. Por exemplo, 0x1011 é alocado ao fluxo de vídeo a ser utilizado para vídeo de um filme, 0x1100 a 0x111F são alocados aos fluxos de áudio, 0x1200 a 0x121F são alocados a um fluxo de gráfico de apresentação, 0x1400 a 0x141F são alocados ao fluxo de gráfico interativo, 0x1B00 a 0x1B1F são alocados ao fluxo de vídeo a ser utilizado para o vídeo secundário do filme, e 0x1A00 a 0x1A1F são alocados aos fluxos de áudio a ser utilizados para o áudio secundário a ser misturado com o áudio primário.
[00423] A FIGURA 35 esquematicamente ilustra como os dados são multiplexados. Primeiro, um fluxo de vídeo ex235 composto por quadros de vídeo e um fluxo de áudio ex238 composto por quadros de áudio são transformados em um fluxo de pacotes PES ex236 e um fluxo de pacotes PES ex239, e ainda em pacotes TS ex237 e pacotes TS ex240, respectivamente. Semelhantemente, os dados de um fluxo de gráfico de apresentação ex241 e dados de um fluxo de gráfico interativo ex244 são transformados em um fluxo de pacotes PES ex242 e um fluxo de pacotes PES ex245, e ainda em pacotes TS ex243 e pacotes TS ex246, respectivamente. Estes pacotes TS são multiplexados em um fluxo para obter os dados multiplexados ex247.
[00424] A FIGURA 36 ilustra como um fluxo de vídeo é armazenado em um fluxo de pacotes PES em mais detalhes. A primeira barra na FIGURA 36 mostra um fluxo do quadro de vídeo em um fluxo de vídeo. A segunda barra mostra o fluxo de pacotes PES. Conforme indicado pelas linhas denotadas como yy1, yy2, yy3, e yy4 na FIGURA 36, o fluxo de vídeo é dividido em figuras como figuras l, figuras B, e figuras P cada uma sendo uma unidade de apresentação de vídeo, e as figuras são armazenadas em uma carga útil de cada um dos pacotes PES. Cada um dos pacotes PES tem um cabeçalho PES, e o cabeçalho PES armazena uma Marcação Horária da Apresentação (PTS) que indica um horário de exibição da figura, e uma Marcação Horária da Decodificação (DTS) que indica um horário de decodificação da figura.
[00425] A FIGURA 37 ilustra um formato de pacotes TS a ser finalmente gravados nos dados multiplexados. Cada um dos pacotes TS é um pacote de comprimento fixo de 188-bytes incluindo um cabeçalho TS de 4 bytes tendo informações, como um PID para identificar um fluxo e uma carga útil de 184-bytes TS para armazenar dados. Os pacotes PES são divididos, e armazenados nas cargas úteis TS, respectivamente. Quando uma BD ROM é utilizada, cada um dos pacotes TS é dado um 4-byte TP_Extra_Header, assim resultando em pacotes fonte de 192-bytes. Os pacotes fonte são gravados nos dados multi- plexados. O TP_Extra_Header armazena informações como um Arri- val_Time_Stamp (ATS). O ATS mostra uma hora inicial da transferência na qual cada um dos pacotes TS deve ser transferido em um filtro PID. Os pacotes fonte são dispostos nos dados multiplexados conforme mostrado na base da FIGURA 37. Os números que aumentam da cabeça dos dados multiplexados são chamados números do pacote fonte (SPNs).
[00426] Cada um dos pacotes TS incluídos nos dados multiplexa- dos inclui não apenas fluxos de áudio, vídeo, subtítulos e outros, mas também uma Tabela de Associação do Programa (PAT), uma Tabela do Mapa do Programa (PMT), e uma Referência de Horário do Programa (PCR). O PAT mostra o que um PID em um PMT utilizado nos dados multiplexados indica, e um PID do próprio PAT é registrado como zero. O PMT armazena PIDs dos fluxos de vídeo, áudio, subtítulos e outros incluídos nos dados multiplexados, e atribuem informações dos fluxos correspondentes aos PIDs. O PMT ainda tem vários descritores referentes aos dados multiplexados. Os descritores têm informações como informações de controle de cópia que mostram se copiar os dados multiplexados é permitido ou não. O PCR armazena as informações de tempo de STC correspondentes a um ATS que mostra quando o pacote PCR é transferido a um decodificador, a fim de atingir a sincronização entre um Hora de Chegada (ATC) que pe um eixo de tempo de ATSs, e uma Hora do Sistema (STC) que é um eixo do tempo de PTSs e DTSs.
[00427] A FIGURA 38 ilustra a estrutura de dados do PMT em detalhes. Um cabeçalho PMT é disposto no topo do PMT. O cabeçalho PMT descreve o comprimento dos dados incluídos no PMT e outros. Uma pluralidade de descritores referentes aos dados multiplexados é disposta após o cabeçalho PMT. As informações como as informações de controle de cópia são descritas nos descritores. Após os descritores, uma pluralidade de peças de informações de fluxo referentes aos fluxos incluídos nos dados multiplexados é disposta. Cada peça de informações de fluxo inclui descritores de fluxo cada um descrevendo informações, como um tipo de fluxo para identificar um codec de compressão de um fluxo, um fluxo PID, e informações de atribuição de flu-xo (como uma taxa de quadro ou um índice de aspecto). Os descritores de fluxo são iguais no número ao número de fluxos nos dados mul- tiplexados.
[00428] Quando os dados multiplexados são gravados em um meio de gravação e outros, são gravados juntos com os arquivos de informações de dados multiplexados.
[00429] Cada um dos arquivos de informações dos dados multiple- xados são informações de gestão dos dados multiplexados conforme mostrado na FIGURA 39. Os arquivos de informações dos dados mul- tiplexados são correspondentes aos dados multiplexados, e cada um dos arquivos inclui informações de dados multiplexados, informações de atribuição de fluxo, e um mapa de entrada.
[00430] Conforme ilustrado na FIGURA 39, as informações dos dados multiplexados incluem uma taxa do sistema, uma hora inicial de reprodução, e uma hora final de reprodução. A taxa do sistema indica a taxa de transferência máxima na qual um decodificador alvo do sistema a ser descrito posteriormente transfere os dados multiplexados a um filtro PID. Os intervalos de ATSs incluídos nos dados multiplexados são definidos como não mais altos do que uma taxa do sistema. A hora inicial da reprodução indica um PTS em um quadro de vídeo na cabeça dos dados multiplexados. Um intervalo de um quadro é adicionado a um PTS em um quadro de vídeo na extremidade dos dados mul- tiplexados, e o PTS é definido na hora final da reprodução.
[00431] Conforme mostrado na FIGURA 40, uma peça de informações de atribuição é registrada nas informações de atribuição de fluxo, para cada PID de cada fluxo incluído nos dados multiplexados. Cada peça de informações de atribuição tem diferentes informações dependendo se o fluxo correspondente é um fluxo de vídeo, um fluxo de áudio, um fluxo de gráfico de apresentação, ou um fluxo de gráfico interativo. Cada peça de informações de atribuição do fluxo de vídeo carrega informações incluindo qual tipo de codec de compressão é utilizado para comprimir o fluxo de vídeo, e a resolução, índice do aspecto e taxa de quadro das peças dos dados da figura que são incluídos no fluxo de vídeo. Cada peça das informações de atribuição do fluxo de áudio carrega informações incluindo qual tipo de codec de compressão é utilizado para comprimir o fluxo de áudio, quantos canais são incluídos no fluxo de áudio, qual idioma o fluxo de áudio suporta, e quão alta é a frequência de amostragem. As informações de atribuição do fluxo de vídeo e as informações de atribuição do fluxo de áudio são utilizadas para inicialização de um decodificador antes do player reproduzir as informações.
[00432] Na presente modalidade, os dados multiplexados a ser utilizados são de um tipo de fluxo incluído no PMT. Além disso, quando os dados multiplexados são gravados em um meio de gravação, as informações de atribuição do fluxo de vídeo incluídas nas informações dos dados multiplexados são utilizadas. Mais especificamente, o método de codificação da figura móvel ou o aparelho de codificação de figura móvel descrito em cada uma das modalidades inclui uma etapa ou uma unidade para alocar as informações únicas que indicam os dados de vídeo gerados pelo método de codificação da figura móvel ou o aparelho de codificação de figura móvel em cada uma das modalidades, ao tipo de fluxo incluído no PMT ou as informações de atribuição do fluxo de vídeo. Com a configuração, os dados de vídeo gerados pelo método de codificação da figura móvel ou o aparelho de codificação de figura móvel descrito em cada uma das modalidades podem ser distinguidos dos dados de vídeo que se adaptam a outro padrão.
[00433] Além disso, a FIGURA 41 ilustra etapas do método de de- codificação da figura móvel de acordo com a presente modalidade. Na etapa exS100, o tipo de fluxo incluído no PMT ou as informações de atributo de fluxo de vídeo incluídas nas informações de dados multi- plexados são obtidos dos dados multiplexados. Depois, na etapa exS101, é determinado se ou não o tipo de fluxo ou as informações de atributo de fluxo de vídeo indicam que os dados multiplexados são gerados pelo método de codificação da figura móvel ou pelo aparelho de codificação de figura móvel em cada uma das modalidades. Quando é determinado que o tipo de fluxo ou as informações de atributo de fluxo de vídeo indicam que os dados multiplexados são gerados pelo méto- do de codificação da figura móvel ou pelo aparelho de codificação de figura móvel em cada uma das modalidades, na etapa exS102, a de- codificação é realizada pelo método de decodificação da figura móvel em cada uma das modalidades. Além disso, quando o tipo de fluxo ou as informações de atributo de fluxo de vídeo indicam conformidade com os padrões convencionais, como MPEG-2, MPEG-4 AVC, e VC-1, na etapa exS103, a decodificação é realizada por um método de de- codificação da figura móvel em conformidade com os padrões convencionais.
[00434] Como tal, alocar um novo valor único ao tipo de fluxo ou as informações de atributo de fluxo de vídeo permite determinar se ou não o método de decodificação da figura móvel ou o aparelho de de- codificação de figura móvel que é descrito em cada uma das modalidades pode realizar a decodificação. Mesmo quando dados multiple- xados que estão em conformidade com um padrão diferente é inserido, um método de decodificação apropriado ou aparelho pode ser selecionado. Assim, torna-se possível decodificar informações sem quaisquer erros. Além disso, o método de codificação da figura móvel ou aparelho, ou o método de decodificação da figura móvel ou aparelho na presente modalidade podem ser utilizados nos dispositivos e sistemas descritos acima.
Modalidade 7
[00435] Cada método de codificação da figura móvel, aparelho de codificação de figura móvel, método de decodificação da figura móvel, e aparelho de decodificação de figura móvel em cada uma das modalidades é tipicamente alcançado na forma de um circuito integrado ou um circuito Integrado em Larga Escala (LSI). Como um exemplo do LSI, a FIGURA 42 ilustra uma configuração do LSI ex500 que é efetuada em um chip. O LSI ex500 inclui elementos ex501, ex502, ex503, ex504, ex505, ex506, ex507, ex508, e ex509 que devem ser descritos abaixo, e os elementos são conectados um ao outro através de um barramento ex510. A unidade de circuito da fonte de alimentação ex505 é ativada fornecendo energia para cada um dos elementos quando a unidade de circuito da fonte de alimentação ex505 é ligada.
[00436] Por exemplo, quando a codificação é realizada, o LSI ex500 recebe um sinal AV de um microfone ex117, uma câmera ex113, e outros através de um AV IO ex509 sob o controle de uma unidade de controle ex501 incluindo uma CPU ex502, um controlador de memória ex503, um controlador de fluxo ex504, e uma unidade de controle de frequência de acionamento ex512. O sinal AV recebido é armazenado temporariamente em uma memória externa ex511, como um SDRAM. Sob o controle da unidade de controle ex501, os dados armazanados são segmentados em partes de dados de acordo com a quantidade de processamento e a velocidade a serem transmitidas a uma unidade de processamento de sinal ex507. Então, a unidade de processamento de sinal ex507 codifica um sinal de áudio e/ou um sinal de áudio. Aqui, a codificação do sinal de áudio é a codificação descrita em cada uma das modalidades. Além disso, a unidade de processamento de sinal ex507 às vezes multiplexa a codificado dados de áudio e a codificado dados de vídeo, e um fluxo IO ex506 fornece os dados multiplexados externos. Os dados multiplexados fornecidos são transmitidos à estação base ex107, ou escritos sobre o meio de gravação ex215. Quando os conjuntos de dados são multiplexados, os dados devem ser temporariamente armazenados no buffer ex508 de modo que os conjuntos de dados sejam sincronizados entre si.
[00437] Embora a memória ex511 seja um elemento fora do LSI ex500, ela pode ser incluída no LSI ex500. O buffer ex508 não é limitado a um buffer, mas pode ser composto de buffers. Além disso, o LSI ex500 pode ser efetuado em um chip ou em uma pluralidade de chips.
[00438] Além disso, embora a unidade de controle ex501 inclua a CPU ex502, o controlador de memória ex503, o controlador de fluxo ex504, a unidade de controle de frequência de acionamento ex512, a configuração da unidade de controle ex501 não é limitada a tal. Por exemplo, a unidade de processamento de sinal ex507 pode ainda incluir uma CPU. A inclusão de outra CPU na unidade de processamento de sinal ex507 pode melhorar a velocidade de processamento. Além disso, como outro exemplo, a CPU ex502 pode servir como ou ser uma parte da unidade de processamento de sinal ex507, e, por exemplo, pode incluir uma unidade de processamento do sinal de áudio. Nesse tipo de caso, a unidade de controle ex501 inclui a unidade de processamento de sinal ex507 ou a CPU ex502 incluindo uma parte da unidade de processamento de sinal ex507.
[00439] O nome utilizado aqui é LSI, mas também pode ser chamado de IC, sistema LSI, super LSI, ou ultra LSI dependendo do grau de integração.
[00440] Além disso, os meios para alcançar a integração não são limitados ao LSI, e um circuito especial ou um processador de objetivos gerais, e assim por diante, podem também alcançar a integração. A Matriz de Porta de Campo Programável (FPGA) que pode ser programada após a fabricação do LSIs ou um processador reconfigurável que permite a reconfiguração da conexão ou configuração de um LSI podem ser utilizados para o mesmo propósito. Tal dispositivo lógico programável pode tipicamente executar o método de codificação da figura móvel e o método de decodificação da figura móvel descrito em cada uma das modalidades, carregando ou lendo, de uma memória, um programa incluído no software ou firmware.
[00441] No futuro, com o avanço na tecnologia de semicondutores, uma tecnologia inteiramente nova pode substituir o LSI. Os blocos funcionais podem ser integrados utilizando tal tecnologia. A possibilidade é que uma presente invenção seja aplicada à biotecnologia.
[00442] Modalidade 8
[00443] Quando dados de vídeo gerados no método de codificação da figura móvel ou pelo aparelho de codificação de figura móvel descrito em cada uma das modalidades é decodificado, comparado a quando os dados de vídeo que estão em conformidade com um padrão convencional, como MPEG-2, MPEG-4 AVC, e VC-1 são decodificados, a quantidade de processamento provavelmente aumenta. Assim, o LSI ex500 precisa ser definido para uma frequência de acionamento mais alta que a da CPU ex502 para ser utilizado quando os dados de vídeo em conformidade com o padrão convencional são decodificados. Entretanto, quando a frequência de acionamento é definida como mais alta, o consumo de energia aumenta.
[00444] Em vista disso, o aparelho de decodificação de figura móvel, como a televisão ex300 e o LSI ex500, é configurado para determinar com qual padrão os dados de vídeo está em conformidade, e altera entre as frequências de dados de acordo com o padrão determinado. A FIGURA 43 ilustra uma configuração ex800 na presente modalidade. Uma unidade de alteração da frequência de acionamento ex803 define uma frequência de acionamento a uma frequência de acionamento mais alta quando dados de vídeo são gerados pelo método de codificação da figura móvel ou pelo aparelho de codificação de figura móvel descrito em cada uma das modalidades. Então, a unidade de alteração da frequência de acionamento ex803 instrui uma unidade de processamento de decodificação ex801 que executa o método de decodificação da figura móvel descrito em cada uma das modalidades para decodificar os dados de vídeo. Quando os dados de vídeo estão em conformidade com o padrão convencional, a unidade de alteração da frequência de acionamento ex803 define uma frequência de acionamento a uma frequência de acionamento inferior àquelas dos dados de vídeo gerados pelo método de codificação da figura móvel ou pelo aparelho de codificação de figura móvel descrito em cada uma das modalidades. Então, a unidade de alteração da frequência de acionamento ex803 instrui a unidade de processamento de decodificação ex802 que está em conformidade com o padrão convencional para decodificar os dados de vídeo.
[00445] Mais especificamente, a unidade de alteração da frequência de acionamento ex803 inclui a CPU ex502 e a unidade de controle de frequência de acionamento ex512 na FIGURA 42. Aqui, cada uma das unidades de processamento de decodificação ex801 que executa o método de decodificação da figura móvel descrito em cada uma das modalidades e a unidade de processamento de decodificação ex802 que está em conformidade com o padrão convencional corresponde à unidade de processamento de sinal ex507 na FIGURA 42. A CPU ex502 determina com qual padrão os dados de vídeo estão em conformidade. Então, a unidade de controle de frequência de acionamento ex512 determina uma frequência de acionamento com base em um sinal da CPU ex502. Além disso, a unidade de processamento de sinal ex507 decodifica os dados de vídeo com base no sinal da CPU ex502. Por exemplo, as informações de identificação descritas na Modalidade 6 são provavelmente utilizadas para identificar os dados de vídeo. As informações de identificação não são limitadas àquela descrita na Modalidade 6, mas pode ser qualquer informação desde que as informações indiquem com qual padrão de dados de vídeo estão em conformidade. Por exemplo, quando qual padrão de dados de vídeo está em conformidade pode ser determinado com base em um sinal externo para determinar que os dados de vídeo sejam utilizados para uma televisão ou um disco, etc., a determinação pode ser feita com base em tal sinal externo. Além disso, a CPU ex502 selecionada uma frequência de acionamento com base, por exemplo, em uma tabela de consulta em que os padrões dos dados de vídeo são associados às frequên- cias de acionamento, conforme mostrado na FIGURA 45. A frequência de acionamento pode ser selecionada armazenando a tabela de consulta no buffer ex508 e em uma memória interna de um LSI, e com referência à tabela de consulta pela CPU ex502.
[00446] A FIGURA 44 ilustra etapas para executar um método em uma presente modalidade. Primeiro, na etapa exS200, a unidade de processamento de sinal ex507 obtém informações de identificação dos dados multiplexados. Depois, na etapa exS201, a CPU ex502 determina se ou não os dados de vídeo são gerados pelo método de codificação e o aparelho de codificação descrito em cada uma das modalidades, com base nas informações de identificação. Quando os dados de vídeo são gerados pelo método de codificação da figura móvel e pelo aparelho de codificação de figura móvel descrito em cada uma das modalidades, na etapa exS202, a CPU ex502 transmite um sinal para definir a frequência de acionamento a uma frequência de acionamento mais alta à unidade de controle de frequência de acionamento ex512. Então, a unidade de controle da frequência de acionamento ex512 de-fine a frequência de acionamento a uma frequência de acionamento mais alta. Por outro lado, quando as informações de identificação indicam que os dados de vídeo estão em conformidade com os padrões convencionais, como MPEG-2, MPEG-4 AVC, e VC-1, na etapa exS203, a CPU ex502 transmite um sinal para definir a frequência de acionamento a uma frequência de acionamento mais baixa à unidade de controle de frequência de acionamento ex512. Então, a unidade de controle de frequência de acionamento ex512 define a frequência de acionamento a uma frequência de acionamento mais baixa do que no caso onde os dados de vídeo são gerados pelo método de codificação da figura móvel e pelo aparelho de codificação de figura móvel descrito em cada uma das modalidades.
[00447] Além disso, juntamente com a alteração das frequências de acionamento, o efeito de conservação de energia pode ser melhorado alterando a voltagem a ser aplicada ao LSI ex500 ou a um aparelho incluindo o LSI ex500. Por exemplo, quando a frequência de acionamento é definida como mais baixa, a voltagem a ser aplicada ao LSI ex500 ou ao aparelho incluindo o LSI ex500 é provavelmente definida como uma voltagem mais baixa que aquela no caso onde a frequência de acionamento é definida como mais alta.
[00448] Além disso, quando a quantidade de processamento para decodificar é maior, a frequência de acionamento pode ser definida como mais alta, e quando a quantidade de processamento para decodificar é menor, a frequência de acionamento pode ser definida como mais baixa, como o método para a definição da frequência de acionamento. Assim, o método de definição não é limitado aos descrito acima. Por exemplo, quando a quantidade de processamento para decodificar dados de vídeo em conformidade com MPEG-4 AVC é maior que a quantidade de processamento para decodificar dados de vídeo gerados pelo método de codificação da figura móvel e pelo aparelho de codificação de figura móvel descrito em cada uma das modalidades, a frequência de acionamento é provavelmente definida na ordem inversa à definição descrita acima.
[00449] Além disso, o método para definição da frequência de acionamento não é limitado ao método para definição da frequência de acionamento mais baixa. Por exemplo, quando as informações de identificação indicam que os dados de vídeo são gerados pelo método de codificação da figura móvel e pelo aparelho de codificação de figura móvel descrito em cada uma das modalidades, a voltagem a ser aplicada ao LSI ex500 ou ao aparelho incluindo o LSI ex500 é provavelmente definida como mais alta. Quando as informações de identificação indicam que os dados de vídeo estão em conformidade com os padrões convencionais, como MPEG-2, MPEG-4 AVC, e VC-1, a vol- tagem a ser aplicada ao LSI ex500 ou ao aparelho incluindo o LSI ex500 é provavelmente definida como mais baixa. Como outro exemplo, quando as informações de identificação indicam que os dados de vídeo são gerados pelo método de codificação da figura móvel e pelo aparelho de codificação de figura móvel descrito em cada uma das modalidades, o acionamento da CPU ex502 provavelmente não tem que ser suspendido. Quando as informações de identificação indicam que os dados de vídeo estão em conformidade com o padrão convencional, como MPEG-2, MPEG-4 AVC, e VC-1, o acionamento da CPU ex502 é provavelmente suspendido em um dado tempo, pois a CPU ex502 tem uma capacidade extra de processamento. Mesmo quando as informações de identificação indicam que os dados de vídeo são gerados pelo método de codificação da figura móvel e pelo aparelho de codificação de figura móvel descrito em cada uma das modalidades, no caso onde a CPU ex502 tem uma capacidade extra de processamento, o acionamento da CPU ex502 é provavelmente suspendido em um dado tempo. Nesse caso, o tempo de suspensão é provavelmente definido como mais curto que aquele no caso onde quando as informações de identificação indicam que os dados de vídeo estão em conformidade com o padrão convencional, como MPEG-2, MPEG- 4 AVC, e VC-1.
[00450] Em conformidade, o efeito de conservação de energia pode ser melhorado pela alteração entre as frequências de acionamento em conformidade com o padrão ao qual os dados de vídeo estão em con-formidade. Além disso, quando o LSI ex500 ou o aparelho incluindo o LSI ex500 é acionado utilizando uma bateria, a vida útil da bateria pode ser estendida com o efeito de conservação de energia.
Modalidade 9
[00451] Há casos onde uma pluralidade de dados de vídeo que estão em conformidade com padrões diferentes é fornecida aos disposi- tivos e sistemas, como uma televisão e um celular. Para permitir a de- codificação da pluralidade de dados de vídeo que estão em conformidade com padrões diferentes, a unidade de processamento de sinal ex507 do LSI ex500 precisa estar em conformidade com os diferentes padrões. Entretanto, o aumento na escala do circuito do LSI ex500 e o aumento no curto surgem com o uso individual das unidades de processamento de sinal ex507 que estão em conformidade com os respectivos padrões.
[00452] Em vista disso, o que é concebido é uma configuração na qual a unidade de processamento de decodificação para implementar o método de decodificação da figura móvel descrito em cada uma das modalidades e a unidade de processamento de decodificação em conformidade com o padrão convencional, como MPEG-2, MPEG-4 AVC, e VC-1, são parcialmente compartilhadas. Ex900 na FIGURA 46A mostra um exemplo da configuração. Por exemplo, o método de deco- dificação da figura móvel descrito em cada uma das modalidades e o método de decodificação da figura móvel que está em conformidade com MPEG-4 AVC tem, parcialmente em comum, os detalhes do processamento, como codificação de entropia, quantização inversa, filtro de desbloqueio, e previsão compensada de movimento. Os detalhes do processamento a ser compartilhado provavelmente inclui o uso de uma unidade de processamento de decodificação ex902 que está em conformidade com MPEG-4 AVC. Ao contrário, uma unidade de pro-cessamento de decodificação dedicada ex901 é provavelmente utilizada para outro processamento que é único a um aspecto da presente invenção e não está em conformidade com MPEG-4 AVC. Visto que o aspecto da presente invenção é caracterizado pela divisão de uma figura em particular, por exemplo, a unidade de processamento de de- codificação dedicada ex901 é utilizada para a divisão de uma figura. Caso contrário, a unidade de processamento de decodificação é pro- vavelmente compartilhada para um dos processamentos, como quan- tização inversa, decodificação de entropia, filtro de desbloqueio, e compensação de movimento, ou todos os processamentos. A unidade de processamento de decodificação para implementar o método de decodificação da figura móvel descrito em cada uma das modalidades pode ser compartilhado para o processamento a ser compartilhado, e a unidade de processamento de decodificação dedicada pode ser utilizada para processamento único daquele do MPEG-4 AVC.
[00453] Além disso, o ex1000 na FIGURA 46B mostra outro exemplo no qual o processamento é parcialmente compartilhado. Esse exemplo utiliza uma configuração incluindo uma unidade de processamento de decodificação dedicada ex1001 que suporta o processamento único para um aspecto da presente invenção, uma unidade de processamento de decodificação dedicada ex1002 que suporta processamento único para outro padrão convencional, e uma unidade de processamento de decodificação dedicada ex1003 que suporta o processamento para ser compartilhado entre o método de decodificação da figura móvel de acordo com o aspecto da presente invenção e o método de decodificação convencional da figura móvel. Aqui, as unidades de processamento de decodificação dedicadas ex1001 e ex1002 não são necessariamente especializadas para o processamento de acordo com o aspecto da presente invenção e para o processamento do padrão convencional, respectivamente, e podem ser as únicas capazes por implementar um processamento geral. Além disso, a configuração de uma presente modalidade pode ser implementada pelo LSI ex500.
[00454] Como tal, reduzir a escala do circuito de um LSI e reduzir o custo é possível compartilhando a unidade de processamento de de- codificação dedicada para o processamento a ser compartilhado entre o método de decodificação da figura móvel de acordo com o aspecto da presente invenção e para o método de decodificação da figura móvel em conformidade com o padrão convencional.
[00455] Aplicabilidade Industrial
[00456] A presente invenção pode ser aplicada a um método de co-dificação de imagem, um método de decodificação de imagem, um aparelho de codificação de imagem, e um método de decodificação de imagem. Além disso, a presente invenção pode ser utilizada para dis-positivos de exibição de informações de alta resolução e dispositivos de captura de imagem que incluem os aparelhos de codificação de imagem, como uma televisão, um gravador de vídeo digital, um sistema de navegação por veículo, um celular, uma câmera imóvel digital, e uma câmera de vídeo digital. Lista dos sinais de referência 100 Aparelho de codificação de imagem 101 Sinal de imagem de entrada 105 Subtrator 106 Sinal residual 110 Unidade de transformação 111 Coeficiente de transformação 120 Unidade de quantização 121, 291 Coeficiente de quantização 130, 230 Unidade de transformação inversa 131, 231 Sinal residual 140, 240 Somador 141, 151, 161, 171, 241, 251, 261, 271 Sinal decodificado da imagem 150, 250 Filtro de desbloqueio 160, 260 Filtro de circuito adaptativo 170, 270 Buffer de quadro de referência 180, 280 Unidade de previsão 181, 281 Sinal de previsão 190 Unidade de codificação por entropia 191, 201 Sinal codificado 200 Aparelho de decodificação de imagem 290 Unidade de decodificação por entropia 300, 310, 330, 340, 350, 360, 370, 390, 400, 410, 420, 500 FIGURA 301, 302, 311, 312, 313, 314, 321, 381 Linha 320, 380 Cabeçalho de corte 331, 332, 333, 341, 342, 343, 344, 351, 354, 361, 362, 363, 364, 365, 371, 372, 373, 374, 391, 392, 393, 394, 401, 402, 403, 404, 411, 412, 413, 414, 415, 421, 422, 423, 424, 521, 522, 523, 524 Corte 501, 502, 511, 512 Bloco 513 Limite

Claims (4)

1. Método de decodificação de imagem para decodificar um fluxo contínuo de bits incluindo um sinal codificado (191,201) resultante dos blocos de codificação e cortes nos quais uma imagem é dividida, o método caracterizado pelo fato de que compreende decodificar o sinal codificado (191,201), em que cada um dos cortes é ou um corte normal tendo, em um cabeçalho (320,380), as informações utilizadas para outro corte ou um corte dependente que é decodificado utilizando informações incluídas em um cabeçalho de corte (320,380) de outro corte, e quando o corte normal começa de uma posição que não seja um começo de um primeiro bloco, um segundo bloco codificado próximo ao primeiro bloco não começa do corte dependente, em que quando um corte em um começo de um terceiro bloco é o corte dependente, o corte dependente inclui todo o terceiro bloco.
2. Aparelho de decodificação de imagem (200) que decodifica um fluxo contínuo de bits incluindo um sinal codificado (191, 201) resultante dos blocos de codificação e cortes nos quais uma imagem é dividida, o aparelho caracterizado pelo fato de que compreende: uma unidade de decodificação (290) configurada para decodificar o sinal codificado (191,201), em que cada um dos cortes é ou um corte normal tendo, em um cabeçalho (320,380), informações utilizadas para outro corte ou um corte dependente que é decodificado utilizando as informações incluídas em um cabeçalho de corte (320,380) de outro corte, e quando o corte normal inicia de uma posição que não seja um começo de um primeiro bloco, um segundo bloco codificado próximo ao primeiro bloco não começa do corte dependente, quando um corte em um começo de um terceiro bloco é o corte dependente, o corte dependente inclui todo o terceiro bloco.
3. Método de codificação de imagem para blocos de codificação e cortes nos quais uma imagem é dividida, para gerar um fluxo contínuo de bits caracterizado pelo fato de que compreende as etapas de: dividir a imagem nos blocos e nos cortes; e codificar os blocos e cortes resultantes da divisão, em que cada um dos cortes é ou um corte normal tendo, em um cabeçalho (320,380), informações utilizadas para um outro corte ou um corte dependente que é decodificado utilizando informações incluídas em um cabeçalho de corte (320,380) de outro corte, e na divisão, quando o corte normal começa de uma posição que não seja um começo de um primeiro bloco, a imagem é dividida nos blocos e nos cortes para impedir um segundo bloco codificado próximo ao primeiro bloco de iníciar do corte dependente, e quando um corte em um começo de um terceiro bloco é o corte dependente, o corte dependente inclui todo o terceiro bloco.
4. Aparelho de codificação de imagem (100) que codifica os blocos e cortes nos quais uma imagem é dividida, para gerar um fluxo contínuo de bits, o aparelho caracterizado pelo fato de que inclui um processador, o processador executando operações compreendendo: dividir a imagem em blocos e cortes; e codificar os blocos e cortes resultantes da divisão, em que cada um dos cortes é ou um corte normal tendo, em um cabeçalho (320,380), informações utilizadas para outro corte ou um corte dependente que é decodificado utilizando as informações incluídas em um cabeçalho de corte (320,380) de outro corte, e na divisão, quando o corte normal inicia de uma posição que não seja um começo de um primeiro bloco, a imagem é dividida nos blocos e cortes para impedir um segundo bloco codificado próximo ao primeiro bloco de iniciar do corte dependente, e quando um corte em um começo de um terceiro bloco é o corte dependente, o corte dependente inclui todo o terceiro bloco.
BR112015004216-3A 2012-09-26 2013-09-05 Método de decodificação de imagem, método de codificação de imagem, aparelho de decodificação de imagem e aparelho de codificação de imagem BR112015004216B1 (pt)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201261705891P 2012-09-26 2012-09-26
US61/705,891 2012-09-26
PCT/JP2013/005269 WO2014049980A1 (ja) 2012-09-26 2013-09-05 画像復号方法、画像符号化方法、画像復号装置、画像符号化装置及び画像符号化復号装置

Publications (3)

Publication Number Publication Date
BR112015004216A2 BR112015004216A2 (pt) 2017-07-04
BR112015004216A8 BR112015004216A8 (pt) 2017-07-11
BR112015004216B1 true BR112015004216B1 (pt) 2023-01-17

Family

ID=50338836

Family Applications (1)

Application Number Title Priority Date Filing Date
BR112015004216-3A BR112015004216B1 (pt) 2012-09-26 2013-09-05 Método de decodificação de imagem, método de codificação de imagem, aparelho de decodificação de imagem e aparelho de codificação de imagem

Country Status (17)

Country Link
US (9) US9036697B2 (pt)
EP (3) EP4224858A1 (pt)
JP (2) JP5608839B2 (pt)
KR (1) KR101918808B1 (pt)
CN (2) CN104584555B (pt)
AR (1) AR092660A1 (pt)
AU (1) AU2013322041B2 (pt)
BR (1) BR112015004216B1 (pt)
CA (1) CA2882731C (pt)
ES (2) ES2962366T3 (pt)
MX (1) MX345003B (pt)
MY (1) MY182530A (pt)
PL (2) PL2903270T3 (pt)
RU (1) RU2639679C2 (pt)
SG (1) SG11201501400QA (pt)
TW (1) TWI580255B (pt)
WO (1) WO2014049980A1 (pt)

Families Citing this family (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100798188B1 (ko) * 2002-04-16 2008-01-24 도요 세이칸 가부시키가이샤 커버용 밀봉재 및 이를 사용한 커버의 제조방법
US9621905B2 (en) * 2012-06-29 2017-04-11 Qualcomm Incorporated Tiles and wavefront parallel processing
PH12017501838A1 (en) * 2012-09-26 2018-07-02 Velos Media Int Ltd Image coding method, image decoding method, image coding apparatus, image decoding apparatus, and image coding and decoding apparatus
SG11201501400QA (en) * 2012-09-26 2015-04-29 Panasonic Ip Corp America Image decoding method, image coding method, image decoding apparatus, image coding apparatus, and image coding and decoding apparatus
GB2519745B (en) * 2013-10-22 2018-04-18 Canon Kk Method of processing disordered frame portion data units
CN106210729A (zh) * 2015-05-06 2016-12-07 扬智科技股份有限公司 视频流解码***及视频流解码方法
US10027989B2 (en) * 2015-05-06 2018-07-17 Integrated Device Technology, Inc. Method and apparatus for parallel decoding
CN106331722B (zh) * 2015-07-03 2019-04-26 华为技术有限公司 图像预测方法和相关设备
US20170105010A1 (en) * 2015-10-09 2017-04-13 Microsoft Technology Licensing, Llc Receiver-side modifications for reduced video latency
CN107301621B (zh) * 2017-06-13 2020-06-16 东南大学 一种提高数字图像分辨率的方法
KR20190024212A (ko) * 2017-08-31 2019-03-08 세종대학교산학협력단 타일 구조의 구성 방법 및 이의 장치
EP3744103B1 (en) 2018-01-25 2024-03-27 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Efficient sub-picture extraction
JP6982253B2 (ja) * 2018-10-31 2021-12-17 日本電信電話株式会社 復号装置、符号化装置、復号方法、符号化方法、及びプログラム
BR112021005443A2 (pt) * 2018-12-07 2021-06-15 Panasonic Intellectual Property Corporation Of America codificador, decodificador, método de codificação, e método de decodificação
WO2020135317A1 (en) * 2018-12-28 2020-07-02 Huawei Technologies Co., Ltd. Devices and methods for coding a picture by partitioning it into slices comprising tiles
KR20210130764A (ko) * 2019-03-21 2021-11-01 가온미디어 주식회사 픽쳐 분할을 처리하는 영상 부호화 방법, 영상 복호화 방법 및 그 장치
WO2020235659A1 (ja) * 2019-05-21 2020-11-26 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 符号化装置、復号装置、符号化方法および復号方法
US20220368946A1 (en) * 2019-11-07 2022-11-17 Intel Corporation Heterogeneous real-time streaming and decoding of ultra-high resolution video content
JP7425878B2 (ja) 2019-12-26 2024-01-31 バイトダンス インコーポレイテッド レイヤ化されたビデオにおける復号ピクチャバッファパラメータのシグナリング
WO2021134011A1 (en) 2019-12-26 2021-07-01 Bytedance Inc. Signaling of slice type and video layers
EP4066386A4 (en) 2019-12-27 2023-01-25 ByteDance Inc. SIGNALING SUBPICTURES IN VIDEO ENCODING
JP7451723B2 (ja) * 2020-01-09 2024-03-18 バイトダンス インコーポレイテッド ビデオビットストリームにおける値範囲に対する制約
US20230139792A1 (en) * 2020-03-20 2023-05-04 Hfi Innovation Inc. Method and Apparatus for Signaling Tile and Slice Partition Information in Image and Video Coding
CN111726626B (zh) * 2020-06-18 2022-05-03 格兰菲智能科技有限公司 集成电路及用于视频解码的概率表存储方法
US20220180567A1 (en) * 2020-12-04 2022-06-09 Tencent America LLC Method and apparatus for point cloud coding
US11611775B2 (en) * 2021-01-19 2023-03-21 Tencent America LLC Method and apparatus for point cloud coding

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US12016A (en) * 1854-11-28 Improvement in machinery for making rope and cordage
JP4015934B2 (ja) * 2002-04-18 2007-11-28 株式会社東芝 動画像符号化方法及び装置
JP5234586B2 (ja) * 2006-01-05 2013-07-10 日本電信電話株式会社 映像符号化方法及び復号方法、それらの装置、及びそれらのプログラム並びにプログラムを記録した記憶媒体
JP2010527216A (ja) * 2007-05-16 2010-08-05 トムソン ライセンシング マルチビュー・ビデオ符号化(mvc)情報の符号化においてスライス群を使用する方法及び装置
US8705879B2 (en) * 2009-04-01 2014-04-22 Microsoft Corporation Image compression acceleration using multiple processors
US8344917B2 (en) * 2010-09-30 2013-01-01 Sharp Laboratories Of America, Inc. Methods and systems for context initialization in video coding and decoding
US9525884B2 (en) * 2010-11-02 2016-12-20 Hfi Innovation Inc. Method and apparatus of slice boundary filtering for high efficiency video coding
US9060174B2 (en) * 2010-12-28 2015-06-16 Fish Dive, Inc. Method and system for selectively breaking prediction in video coding
US9300976B2 (en) * 2011-01-14 2016-03-29 Cisco Technology, Inc. Video encoder/decoder, method and computer program product that process tiles of video data
GB2488830B (en) * 2011-03-10 2015-07-29 Canon Kk Method and device for encoding image data and method and device for decoding image data
US9325999B2 (en) * 2011-03-10 2016-04-26 Sharp Kabushiki Kaisha Video decoder for slices
US20120230399A1 (en) * 2011-03-10 2012-09-13 Christopher Andrew Segall Video decoder parallelization including a bitstream signal
US8995523B2 (en) * 2011-06-03 2015-03-31 Qualcomm Incorporated Memory efficient context modeling
JP2013098735A (ja) * 2011-10-31 2013-05-20 Canon Inc 画像符号化装置、画像符号化方法及びプログラム、画像復号装置、画像復号方法及びプログラム
US9077998B2 (en) 2011-11-04 2015-07-07 Qualcomm Incorporated Padding of segments in coded slice NAL units
US9124895B2 (en) * 2011-11-04 2015-09-01 Qualcomm Incorporated Video coding with network abstraction layer units that include multiple encoded picture partitions
KR101673021B1 (ko) * 2012-01-30 2016-11-04 삼성전자 주식회사 공간 서브영역별로 비디오를 부호화하는 방법 및 그 장치, 공간 서브영역별로 비디오를 복호화하는 방법 및 그 장치
KR102545727B1 (ko) * 2012-06-26 2023-06-20 엘지전자 주식회사 비디오 인코딩 방법, 비디오 디코딩 방법 및 이를 이용하는 장치
SG11201501400QA (en) * 2012-09-26 2015-04-29 Panasonic Ip Corp America Image decoding method, image coding method, image decoding apparatus, image coding apparatus, and image coding and decoding apparatus

Also Published As

Publication number Publication date
KR20150060676A (ko) 2015-06-03
BR112015004216A2 (pt) 2017-07-04
CN108881921A (zh) 2018-11-23
JP5608839B2 (ja) 2014-10-15
TW201419870A (zh) 2014-05-16
CN108881921B (zh) 2021-01-12
US9602825B2 (en) 2017-03-21
JP2015005997A (ja) 2015-01-08
PL2903270T3 (pl) 2022-08-29
US20190335188A1 (en) 2019-10-31
US20210211702A1 (en) 2021-07-08
CN104584555A (zh) 2015-04-29
US20150215628A1 (en) 2015-07-30
JP6191920B2 (ja) 2017-09-06
MY182530A (en) 2021-01-25
US20170111648A1 (en) 2017-04-20
US10992944B2 (en) 2021-04-27
KR101918808B1 (ko) 2018-11-14
US20180199049A1 (en) 2018-07-12
RU2639679C2 (ru) 2017-12-21
AU2013322041A1 (en) 2015-03-05
EP2903270A4 (en) 2015-10-28
US20160142724A1 (en) 2016-05-19
US9948942B2 (en) 2018-04-17
EP4224858A1 (en) 2023-08-09
SG11201501400QA (en) 2015-04-29
PL4033764T3 (pl) 2023-12-27
JPWO2014049980A1 (ja) 2016-08-22
EP4033764A1 (en) 2022-07-27
EP4033764B1 (en) 2023-07-19
EP2903270A1 (en) 2015-08-05
ES2915051T3 (es) 2022-06-20
CA2882731C (en) 2018-10-09
CA2882731A1 (en) 2014-04-03
US9036697B2 (en) 2015-05-19
US20140086305A1 (en) 2014-03-27
CN104584555B (zh) 2018-07-17
EP2903270B1 (en) 2022-04-27
RU2015106415A (ru) 2016-11-20
MX345003B (es) 2017-01-13
AR092660A1 (es) 2015-04-29
US10397593B2 (en) 2019-08-27
US9277229B2 (en) 2016-03-01
US20240089480A1 (en) 2024-03-14
WO2014049980A1 (ja) 2014-04-03
MX2015002891A (es) 2015-06-03
ES2962366T3 (es) 2024-03-18
TWI580255B (zh) 2017-04-21
US11871019B2 (en) 2024-01-09
AU2013322041B2 (en) 2017-03-09
US20160142719A1 (en) 2016-05-19
US9414077B2 (en) 2016-08-09
BR112015004216A8 (pt) 2017-07-11

Similar Documents

Publication Publication Date Title
AU2013322041B2 (en) Image decoding method, image coding method, image decoding apparatus, image coding apparatus, and image coding and decoding apparatus
CA2882792C (en) Image decoding method, image coding method, image decoding apparatus, image coding apparatus, and image coding and decoding apparatus
KR102072832B1 (ko) 화상 부호화 방법, 화상 복호 방법, 화상 부호화 장치, 화상 복호 장치, 및, 화상 부호화 복호 장치
KR20140120253A (ko) 화상 부호화 방법, 화상 복호 방법, 화상 부호화 장치, 화상 복호 장치, 화상 부호화 복호 장치
BR112014026177B1 (pt) Método de codificação de imagem, método de decodificação de imagem, aparelho de codificação de imagem, aparelho de decodificação de imagem, e aparelho de codificação e decodificação de imagem
JP6483028B2 (ja) 画像符号化方法及び画像符号化装置
JP2019092202A (ja) 画像符号化方法及び画像復号装置
BR112013033365B1 (pt) Método de codificação de imagem e método de decodificação de imagem

Legal Events

Date Code Title Description
B25A Requested transfer of rights approved

Owner name: SUN PATENT TRUST (US)

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

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

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

B06U Preliminary requirement: requests with searches performed by other patent offices: procedure suspended [chapter 6.21 patent gazette]
B09A Decision: intention to grant [chapter 9.1 patent gazette]
B16A Patent or certificate of addition of invention granted [chapter 16.1 patent gazette]

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