BR122020014528B1 - Método e aparelho de decodificação para decodificar uma imagem de um fluxo de bits - Google Patents

Método e aparelho de decodificação para decodificar uma imagem de um fluxo de bits Download PDF

Info

Publication number
BR122020014528B1
BR122020014528B1 BR122020014528-5A BR122020014528A BR122020014528B1 BR 122020014528 B1 BR122020014528 B1 BR 122020014528B1 BR 122020014528 A BR122020014528 A BR 122020014528A BR 122020014528 B1 BR122020014528 B1 BR 122020014528B1
Authority
BR
Brazil
Prior art keywords
motion vector
unit
adjacent
candidate
processing
Prior art date
Application number
BR122020014528-5A
Other languages
English (en)
Inventor
Toshiyasu Sugio
Takahiro Nishi
Youji Shibahara
Kyoko Tanikawa
Hisao Sasai
Toru Matsunobu
Kengo Terada
Original Assignee
Tagivan Ii Llc
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
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=48191681&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=BR122020014528(B1) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by Tagivan Ii Llc filed Critical Tagivan Ii Llc
Publication of BR122020014528B1 publication Critical patent/BR122020014528B1/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/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/56Motion estimation with initialisation of the vector search, e.g. estimating a good candidate to initiate a search
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • H04N19/517Processing of motion vectors by encoding
    • H04N19/52Processing of motion vectors by encoding by predictive encoding
    • 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/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/117Filters, e.g. for pre-processing or post-processing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/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/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/423Methods 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 characterised by memory arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/573Motion compensation with multiple frame prediction using two or more reference frames in a given prediction direction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/577Motion compensation with bidirectional frame interpolation, i.e. using B-pictures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards

Abstract

A presente invenção refere-se a obtenção de um ou mais candidatos de prognosticadores de vetores de movimento inclui: (a1) gerar um candidato de prognosticador de vetor de movimento, com base em vetores de movimento de blocos adjacentes primários, adjacentes a um bloco a ser processado em uma primeira direção; e (a2) gerar um candidato de prognosticador de vetor de movimento, com base em vetores de movimento de blocos adjacentes secundários, adjacentes ao bloco a ser processado, em uma segunda direção, e a etapa (a2) inclui: (S520) determinar se os blocos adjacentes primários incluem um bloco interprevisto; e (S530) buscar por um vetor de movimento, no qual o processamento de escalamento pode ser feito, de entre os vetores de movimento dos blocos adjacentes secundários, quando se determinar que os blocos adjacentes primários não incluem um bloco interprevisto, e executar, quando o vetor de movimento, no qual o processamento de escalamento pode ser feito, é obtido na busca, o processamento de escalamento no vetor de movimento obtido na busca.

Description

CAMPO TÉCNICO
[001] A presente invenção refere-se a um método de codificação de imagem em movimento, um aparelho de codificação de imagem em movimento, um método de decodificação de imagem em movimento e um aparelho de decodificação de imagem em movimento.
ANTECEDENTES
[002] Em processamento de codificação de imagem em movimento, em geral, a quantidade de informações é reduzida por utilização de redundância na direção espacial e direção temporal, que as imagens em movimento têm. Neste caso, em geral, a transformação em um domínio de frequência é usada como um método que utiliza redundância na direção temporal. Ainda mais, o procedimento de codificação de previsão entre imagens (a seguir, referida como "interprevisão") é usado como um método que utiliza redundância na direção temporal. No processamento de codificação de interprevisão, quando uma imagem é codificada, uma imagem codificada, que aparece antes ou depois de uma imagem atual, a ser codificada na ordem de tempo do monitor, é usada como uma imagem de referência. Um vetor de movimento é gerado por execução de detecção de movimento na imagem atual, em relação à imagem de referência. Depois, a redundância na direção temporal é eliminada por cálculo de uma diferença entre os dados de imagem da imagem atual e os dados de imagem previstos, obtidos por compensação de movimento baseada no vetor de movimento gerado.
[LISTA DE CITAÇÕES]
[003] [Literatura diferente de patente]
[004] [NPL 1] ITU-T H.264 "8.4.1 Derivation process for motion vector compo-nents and reference indices", março de 2010, Expressions (8-174) and (8-175).
[005] [NPL 2] JCTVC-F803_d2 "WD4: Working Draft 4 of High- Efficiency Video Coding", Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11 6th Meeting, Torino, IT, 14 a 22 de julho de 2011.
SUMÁRIO DA INVENÇÃO PROBLEMA TÉCNICO
[006] Há uma demanda, no entanto, para a técnica convencional mencionada acima para atingir um aumento na velocidade de processamento em codificação e decodificação de uma interrupção usando interprevisão.
[007] Em vista disto, um objeto da presente invenção é proporcionar um método de codificação de imagem em movimento e um método de decodificação de imagem em movimento, para propiciar um aumento na velocidade de processamento de codificação e decodificação de uma imagem em movimento por uso de interprevisão.
SOLUÇÃO PARA O PROBLEMA
[008] Um método de codificação de imagem em movimento, de acordo com um aspecto da presente invenção, é um método de codificação de imagem em movimento para decodificar um bloco atual incluído em um fluxo de bits, por uso de um preditor de vetor de movimento, usado quando da decodificação de um vetor de movimento do bloco atual, o método incluindo: (a) obter um ou mais candidatos de preditores de vetores de movimento, que sejam os candidatos para o preditor de vetor de movimento; (b) decodificar um índice codificado para identificar um ou mais dos candidatos de preditores de vetores de movimento, o índice codificado sendo incorporado ao fluxo de bits; e (c) selecionar, com base no índice decodificado, o preditor de vetor de movimento a ser usado para a decodificação do bloco atual, de entre o um ou mais candidatos de preditores de vetores de movimento, em que a etapa (a) inclui: (a1) gerar um candidato de preditor de vetor de movimento, com base nos vários vetores de movimento de vários blocos adjacentes primários adjacentes ao bloco atual, em uma primeira direção; e (a2) gerar um candidato de preditor de vetor de movimento, com base nos vários vetores de movimento de vários blocos adjacentes secundários adjacentes ao bloco atual, em uma segunda direção, e a etapa (a2) inclui: (i) determinar se os vários blocos adjacentes primários incluem um ou mais blocos interprevistos; e (ii) buscar um vetor de movimento para que fique disponível para processamento de escalamento de entre os vários vetores de movimento dos vários blocos adjacentes secundários, quando se determina, na etapa (i), que os vários blocos adjacentes primários adjacentes não incluem um bloco interprevisto, e gerar, quando o vetor de movimento é obtido na busca, um do um ou mais candidatos de preditores de vetores de movimento, por execução de processamento de escalamento no vetor de movimento obtido na busca.
EFEITOS VANTAJOSOS DA INVENÇÃO
[009] Proporcionam-se um método de codificação de imagem em movimento e um método de decodificação de imagem em movimento para propiciar um aumento na velocidade de processamento de codificação e decodificação de uma imagem em movimento por uso de interprevisão.
BREVE DESCRIÇÃO DOS DESENHOS
[0010] A Figura 1 é um diagrama conceitual ilustrando uma relação entre um vetor de movimento, um preditor de vetor de movimento e uma diferença de vetores de movimento, que são usados para gerar uma imagem prevista.
[0011] A Figura 2 é um diagrama de blocos ilustrando um exemplo de uma configuração de um aparelho de codificação de imagem em movimento.
[0012] A Figura 3 é um fluxograma ilustrando um exemplo de um método de codificação de imagem em movimento.
[0013] A Figura 4A ilustra uma relação entre as unidades de blocos de codificação CU (unidade de codificação) e as unidades de blocos de previsão PU (unidade de previsão).
[0014] A Figura 4B ilustra uma relação entre uma árvore de unidade de codificação e pred_type.
[0015] A Figura 4C ilustra uma tabela de interpretação para valores de pred_type.
[0016] A Figura 5 ilustra uma relação posicional entre um bloco atual, a ser previsto, e blocos adjacentes, adjacentes ao bloco atual.
[0017] A Figura 6A ilustra uma lista de candidatos mvpListL0 de preditores de vetores de movimento.
[0018] A Figura 6B ilustra uma lista de candidatos mvpListL1 de preditores de vetores de movimento.
[0019] A Figura 7 é um diagrama conceitual ilustrando uma relação entre candidatos de preditores de vetores de movimento, incluídos em uma lista de candidatos mvpListLX.
[0020] A Figura 8 é um fluxograma ilustrando um procedimento de criação de uma lista de candidatos mvpListLX, de acordo com o exemplo comparativo.
[0021] A Figura 9A é um fluxograma ilustrando um procedimento de processamento detalhado da etapa S410 na Figura 8.
[0022] A Figura 9B é um fluxograma ilustrando um procedimento de processamento detalhado da etapa S430 na Figura 8.
[0023] A Figura 10A é um fluxograma ilustrando um procedimento de processamento detalhado da etapa S510 na Figura 8.
[0024] A Figura 10B é um fluxograma ilustrando um procedimento de processamento detalhado da etapa S530 na Figura 8.
[0025] A Figura 11 é um fluxograma ilustrando um procedimento de processamento detalhado da etapa S240 na Figura 3.
[0026] A Figura 12 é um fluxograma ilustrando um procedimento de processamento detalhado da etapa S250 na Figura 3.
[0027] A Figura 13 ilustra um problema de processamento de geração de mvpListLX.
[0028] A Figura 14 ilustra um método para gerar mvpListLX, usado por um aparelho de codificação de imagem em movimento de acordo com a concretização 1.
[0029] A Figura 15 é um diagrama de blocos ilustrando uma configuração de um aparelho de decodificação de imagem em movimento de acordo com a concretização 2.
[0030] A Figura 16 é um fluxograma ilustrando um método de codificação de imagem em movimento de acordo com a concretização 2.
[0031] A Figura 17 é um fluxograma ilustrando um procedimento de criação de uma lista de candidatos mvpListLX na concretização 2.
[0032] A Figura 18 ilustra sequencialmente um procedimento de criação da lista de candidatos mvpListLX na concretização 2.
[0033] A Figura 19 ilustra um resultado de determinação obtido nas etapas S620 e S820, quando um bloco atual, a ser previsto, é PU0.
[0034] A Figura 20 ilustra um resultado de determinação obtido nas etapas S620 e S820, quando um bloco atual, a ser previsto, é PU1.
[0035] A Figura 21 é um fluxograma parcial ilustrando um procedimento de criação da lista de candidatos mvpListLX na variação 1.
[0036] A Figura 22 é um fluxograma ilustrando um procedimento de criação da lista de candidatos mvpListLX na variação 2.
[0037] A Figura 23 ilustra sequencialmente um procedimento de criação da lista de candidatos mvpListLX na variação 2.
[0038] A Figura 24 mostra uma configuração global de um sistema provedor de conteúdo, para implementar serviços de distribuição de conteúdo.
[0039] A Figura 25 mostra uma configuração global de um sistema de difusão digital.
[0040] A Figura 26 mostra um diagrama de blocos ilustrando um exemplo de uma configuração de uma televisão.
[0041] A Figura 27 mostra um diagrama de blocos ilustrando um exemplo de uma configuração de uma unidade de reprodução / gravação de informações, que lê e escreve informações de, e em, um meio de gravação, que é um disco óptico.
[0042] A Figura 28 mostra um exemplo de configuração de um meio de gravação, que é um disco óptico.
[0043] A Figura 29A mostra um exemplo de um telefone celular.
[0044] A Figura 29B é um diagrama de blocos, mostrando um exemplo de uma configuração de um telefone celular.
[0045] A Figura 30 ilustra uma estrutura de dados multiplexados.
[0046] A Figura 31 mostra esquematicamente como cada fluxo é multiplexado em dados multiplexados.
[0047] A Figura 32 mostra como um fluxo de vídeo é armazenado em um fluxo de pacotes PES, em mais detalhes.
[0048] A Figura 33 mostra uma estrutura de pacotes TS e pacotes- fontes nos dados multiplexados.
[0049] A Figura 34 mostra uma estrutura de um PMT.
[0050] A Figura 35 mostra uma estrutura interna de informações de dados multiplexados.
[0051] A Figura 36 mostra uma estrutura interna de informações de atributos de fluxos.
[0052] A Figura 37 mostra as etapas para identificação de dados de vídeo.
[0053] A Figura 38 mostra um exemplo de uma configuração de um circuito integrado, para implementar o método de codificação de imagem em movimento e o método de decodificação de imagem em movimento, de acordo com cada uma das concretizações.
[0054] A Figura 39 mostra uma configuração para comutação entre as frequências de excitação.
[0055] A Figura 40 mostra as etapas para identificação de dados e vídeo e comutação entre as frequências de excitação.
[0056] A Figura 41 mostra um exemplo de uma tabela de consulta, na qual os padrões de dados de vídeo são associados com as frequências de excitação.
[0057] A Figura 42A é um diagrama mostrando um exemplo de uma configuração para compartilhar um módulo de uma unidade de processamento de sinais.
[0058] A Figura 42B é um diagrama mostrando outro exemplo de uma configuração para compartilhar um módulo de uma unidade de processamento de sinais.
DESCRIÇÃO DAS CONCRETIZAÇÕES (Base de formação de conhecimento associado da presente invenção)
[0059] Em H.264, três tipos de imagem, isto é, a imagem I, a imagem P e a imagem B, são usados para comprimir a quantidade de informações.
[0060] Uma imagem I não é codificada por um processamento de codificação de interprevisão. Especificamente, uma imagem I é codificada por processamento de codificação de interprevisão (a seguir referido como interprevisão). Uma imagem P é codificada por codificação de interprevisão em um código já codificado, que aparece antes ou depois de uma imagem atual, a ser codificada na ordem de tempo do monitor. Uma imagem B é codificada por codificação de interprevisão, por referência a duas imagens já codificadas, que aparecem antes (por exemplo, na direção de previsão 0), ou depois (por exemplo, em uma direção de previsão 1) da imagem atual na ordem de tempo do monitor.
[0061] Várias considerações vão ser feitas relativas a um método de geração de vetor de movimento, usado para processamento de codificação de interprevisão em uma imagem em movimento. Os exemplos do método de geração de vetor de movimento incluem os métodos apresentados abaixo.
[0062] O primeiro método de geração de vetor de movimento é um modo direto H.264, para gerar diretamente um vetor de detecção de movimento (vetor de movimento) de dados codificados (decodificados), sem obter informações de uma sequência de códigos.
[0063] O segundo método de geração de vetor de movimento é um método para gerar um vetor de movimento v (vetor de movimento), que vai ser usado para interprevisão por adição de uma diferença de vetores de movimento d, obtida de uma sequência de códigos, a um preditor de vetor de movimento p (ver as expressões (8-174) e (8-175) em NPL, por exemplo). Deve-se notar que a diferença de vetores de movimento d é um vetor de diferença entre o vetor de movimento v e o preditor de vetor de movimento p.
[0064] No presente relatório descritivo, a Figura 1 é um diagrama conceitual ilustrando uma relação entre o vetor de movimento v (mvLX), o preditor de vetor de movimento p (mvpLX), e a diferença de vetores de movimento d (mvdLX) no segundo método de geração de vetor de movimento H.264. Deve-se notar que o cálculo é feito separadamente para os componentes primários (por exemplo, os componentes horizontais) e os componentes secundários (por exemplo, os componentes verticais) no exemplo ilustrado na Figura 1.
[0065] No momento da decodificação, o vetor de movimento mvLX é reconstruído por execução do cálculo das expressões 1 e 2 abaixo para os respectivos componentes. Para um primeiro componente: mvLX [0] = mvpLX [0] + mvdLX [0] ... (Expressão 1) Para um segundo componente: mvLX [1] = mvpLX [1] + mvdLX [1] ... (Expressão 2)
[0066] Quando da codificação, primeiro, um vetor de movimento mvdLX (mvdLX [0], mvdLX [1]) é determinado por busca considerando a eficiência de codificação (e também refIdxLX para identificar uma imagem de referência). Além do mais, os cálculos representados pelas expressões 3 e 4, apresentadas abaixo, são conduzidos para obter uma diferença de vetores de movimento mvdLX, que são as informações necessárias para reconstruir o vetor de detecção de movimento mvLX. Para um primeiro componente: mvdLX [0] = mvLX [0] - mvpdLX [0] ... (Expressão 3) Para um segundo componente: mvdX [1] = mvpLX [1] - mvpLX [1] ... (Expressão 4)
[0067] Quando da codificação, a diferença de vetores de movimento bidimensional mvdLX (mvdLX [0], mvdLX [1]), obtida pelos cálculos apresentados acima, é codificada.
[0068] Descreve-se a seguir um método de codificação de imagem em movimento e um aparelho de codificação de imagem em movimento, de acordo com o exemplo comparativo, com base nas Figuras 2 a 5.
[Exemplo 1: Configuração de aparelho de codificação de imagem em movimento de acordo com o exemplo comparativo]
[0069] A Figura 2 é um diagrama de blocos ilustrando um exemplo de uma configuração do aparelho de codificação de imagem em movimento, de acordo com o exemplo comparativo.
[0070] Como ilustrado na Figura 2, um aparelho de codificação de imagem em movimento 100 inclui uma unidade de diferença 101, uma unidade de transformação 102, uma unidade de quantização 103, uma unidade de codificação de entropia 110, uma unidade de quantização inversa 104, uma unidade de transformação inversa 105, uma unidade de adição 106, uma memória 109, uma unidade de intra/interprevisão 107, e uma unidade de controle de codificação 108.
[0071] A unidade de diferença 101 gera um sinal residual por subtração de um sinal de imagem prevista, de um sinal de imagem de entrada para cada bloco. A unidade de diferença 101 transmite o sinal residual para a unidade de transformação 102.
[0072] A unidade de transformação 102 transforma o sinal residual de um domínio de imagem a um domínio de frequência. A unidade de quantização 103 executa o processamento de quantização no segmento de apoio, que foi transformado no domínio de frequência. A unidade de quantização 103 transmite o sinal residual quantizado, que é um sinal residual no qual o processamento de quantização foi executado na unidade de quantização inversa 104 e na parte de codificação de entropia 110.
[0073] A unidade de codificação de entropia 110 executa processamento de codificação de entropia no sinal residual quantizado, em um sinal de controle de decodificação e assemelhados, para gerar um fluxo de bits codificado. Um sinal de controle de decodificação inclui uma indicação de direção de previsão, informações de tipo de imagem, um parâmetro de controle, tal como, por exemplo, uma diferença de vetores de movimento d.
[0074] A unidade de quantização inversa 104 executa processamento de quantização inversa no sinal residual quantizado, no qual o processamento de quantização foi feito pela unidade de quantização 103. A unidade de transformação inversa 105 transforma o sinal residual quantizado (sinal residual), no qual o processamento de quantização inversa foi feito, do domínio de frequência ao domínio de imagem, e transmite um sinal residual reconstruído.
[0075] A unidade de adição 106 adiciona um sinal residual reconstruído e um sinal de imagem prevista para cada bloco a ser codificado, gerando, desse modo, um sinal de imagem reconstruída.
[0076] Um sinal de imagem reconstruída é armazenado em uma base quadro a quadro na memória 109.
[0077] A unidade de intra/interprevisão 107 armazena um sinal de imagem reconstruída em uma memória, em unidades predeterminadas, tais como unidades de quadros e unidades de blocos. Além disso, a unidade de intra/interprevisão 107 gera um sinal de imagem prevista (um valor de pixel obtido com base em um sinal de imagem reconstruída e um vetor de movimento), com base em uma instrução da unidade de controle de codificação 108 descrita abaixo. A unidade de intra/interprevisão 107 transmite o sinal de imagem prevista gerado para a unidade de diferença 101 e a unidade de adição 106.
[0078] A unidade de controle de codificação 108 determina que parâmetro de controle vai ser usado para codificar uma imagem (sinal de imagem de entrada), após a execução de testes. A unidade de controle de codificação 108 transmite, de entre os vários parâmetros de controle, um parâmetro de controle (informações de controle de codificação) necessário para codificação para a unidade de intra/interprevisão 107. Mais especificamente, por exemplo, como mostrado pelas linhas pontilhadas na Figura 1, a unidade de controle de codificação 108 obtém um fluxo de bits codificado, determina os vários parâmetros de controle (por exemplo, para distinguir entre interprevisão e intraprevisão, etc.), de modo que o comprimento dos bits do fluxo de bits codificado obtido seja diminuído.
[0079] Além disso, a unidade de controle de codificação 108 extrai um parâmetro de controle (informações de controle de decodificação) necessário para decodificação dos vários parâmetros de controle, e transmite o parâmetro extraído para a unidade de codificação de entropia 110. Os exemplos de informações de controle de decodificação incluem pred_type, mvp_idx_lx, mvdLX E assemelhados. Para cada unidade de bloco de codificação, o pred_type é estabelecido, e especifica um modo de previsão (para distinguir entre interprevisão e intraprevisão), a forma dividida de uma unidade de bloco codificação CU (tipo de divisão). Os detalhes do pred_type são descritos abaixo. Um índice de preditor de vetor de movimento, para indicar um candidato a ser usado como um preditor de vetor de movimento, de uma lista de candidatos, é indicado por mvp_idx_lx. Uma diferença de vetores de movimento é indicada por mvdLX, como mencionado acima.
[Exemplo 2: Operação de processamento de aparelho de codificação de imagem em movimento de acordo com o exemplo comparativo]
[0080] Descreve-se a seguir um método de codificação de imagem em movimento, executado pelo aparelho de codificação de imagem em movimento 100, descrito acima, com base nas Figuras 3 e 4A.
[0081] A Figura 3 é um fluxograma mostrando um procedimento de processamento de um método para gerar uma imagem prevista por codificação de interprevisão (método de codificação de imagem em movimento), executada pelo aparelho de codificação de imagem em movimento 100 descrito acima.
[0082] Deve-se notar que uma imagem prevista é gerada por unidade de bloco de previsão PU. No presente relatório descritivo, uma descrição é apresentada do caso no qual, por exemplo, o tamanho de uma unidade de bloco de previsão PU é menor do que uma unidade de bloco de codificação CU.
[0083] A Figura 4A ilustra uma relação entre a unidade de bloco de previsão PU e a unidade de bloco de codificação CU. Na Figura 4A, o quadro de linha sólida indica a unidade de bloco de codificação CU, e o quadro de linha tracejada indica a unidade de bloco de previsão PU. O tipo de fatia (imagem) é B. Uma fatia é dividida em quatro blocos, tendo o mesmo tamanho que na Figura 4A. Além do mais, o bloco direito superior é dividido ainda em quatro. Esses blocos são as unidades de blocos de codificação CU.
[0084] Além do mais, na Figura 4A, as unidades de blocos de codificação CU são numeradas na ordem 0, 1, 2 e assim por diante, para cada nível de profundidade de uma hierarquia de árvore, chamada "árvore de codificação". Os números correspondem à ordem de processamento de codificação. Especificamente, CU0, CU10 a CU13, CU2 e CU3 são apresentados no bloco esquerdo superior, nos blocos direitos superiores, no bloco esquerdo de fundo e no bloco direito de fundo, respectivamente.
[0085] A Figura 4B ilustra uma relação entre pred_type e uma árvore de unidade de codificação, obtida de uma sequência de códigos com base na sintaxe de árvore de codificação, com relação às unidades de blocos de codificação CU ilustradas na Figura 4A. O que o pred_type indica pode ser determinado de acordo com, por exemplo, a tabela ilustrada na Figura 4C.
[0086] A Figura 4C é uma tabela de interpretação mostrando os valores de pred_type. Por exemplo, se o tipo de fatia é P ou B, e o valor de pred_type é 2, o modo de previsão da unidade de bloco de codificação CU é MODE_INTER, e a forma dividida da unidade de bloco de codificação CU é N x 2N. A unidade de bloco de codificação CU12, na Figura 4A, corresponde, por exemplo, a essa unidade. Além disso, por exemplo, se o tipo de fatia é P ou B, e o valor de pred_type é 8, o modo de previsão da unidade de bloco de codificação CU é MODE_INTRA, e a forma dividida da unidade de bloco de codificação CU é 2N x 2N. A unidade de bloco de codificação CU0, na Figura 4A, corresponde, por exemplo, a essa unidade.
[0087] Descreve-se a seguir o caso no qual um bloco atual, a ser codificado, é CU12, como um exemplo. Como mencionado acima, o modo de previsão do bloco atual CU12 é MODE_INTER, e o bloco atual CU12 inclui duas unidades de blocos de previsão PU, isto é, PU0 e PU1 (N x 2N). Deve-se notar que, na Figura 4B, a área encerrada pela linha tracejada de um ponto é uma área tendo informações, que já estão "disponíveis" no momento da decodificação da unidade de bloco de previsão PU0 do bloco atual CU12. Como ilustrado na Figura 4B, no exemplo comparativo, as unidades de blocos de codificação CU2 e CU3 não estão "disponíveis" no momento da codificação do bloco atual CU12.
[0088] Referindo-se então à Figura 3, na etapa S200, a unidade de controle de codificação 108 gerar um vetor de movimento mvLX de um bloco atual, a ser previsto por detecção de modo.
[0089] Na etapa S210, a unidade de controle de codificação 108 gera uma lista de candidatos de preditores de vetores de movimento (mvpListLX), para cada unidade de bloco de previsão (unidade PU), incluída em um bloco atual a ser codificado (Curr_Blk) (etapa de geração mvpListLX). Deve-se notar que a lista de candidatos mvpListLX é gerada para cada unidade de bloco de previsão PU. Além disso, duas listas de candidatos, isto é, uma lista de candidatos mvpListL0, correspondente à direção de previsão 0, e uma lista de candidatos mvpListLX1, correspondente à direção de previsão 1, são geradas para cada unidade de bloco de previsão PU.
[0090] A Figura 5 ilustra a relação posicional de um bloco atual a ser previsto (currentPU, unidade de bloco de previsão PU) e de blocos adjacentes. Na Figura 5, vários blocos adjacentes são divididos em dois grupos de blocos A e B (a seguir, referidos como "grupo A" "grupo B", em resumo nos desenhos, se adequado). O grupo de blocos A inclui um bloco adjacente A0, à esquerda do bloco atual, e um bloco adjacente A1, à esquerda no fundo do bloco atual. O grupo de blocos B inclui um bloco adjacente B2, no lado esquerdo superior do bloco atual, um bloco adjacente B1, no lado superior do bloco atual, e um bloco adjacente B0, no lado direito superior do bloco atual.
[0091] Deve-se notar que, na Figura 4A, quando a unidade de bloco de previsão PU0, incluída na unidade de bloco de codificação CU12, é um bloco atual a ser previsto, um bloco correspondente ao bloco adjacente A1 é a unidade de bloco de previsão PU#, incluída na unidade de bloco de codificação CU0, e o bloco correspondente ao bloco adjacente A0 é a unidade de bloco de previsão PU, incluída na unidade de bloco de codificação CU2.
[0092] Uma descrição é apresentada das listas de candidatos de preditores de vetores de movimento pela unidade de controle de codificação 108, com referência às Figuras 6A e 6B. A Figura 6A ilustra a lista de candidatos mvpListL0 para os preditores de vetores de movimento de codificação, na direção de previsão 0. A Figura 6B ilustra a lista de candidatos mvpListL1 para os preditores de vetores de movimento de codificação, na direção de previsão 1. N é um índice indicativo de um grupo de blocos.
[0093] As Figuras 6A e 6B mostram o caso no qual o tamanho das listas de candidatos é 2, e um candidato é originado de cada um dos grupos de blocos A e B, ilustrados na Figura 5. Deve-se notar que no caso no qual nenhum candidato é originado dos grupos de blocos A e B, não há intenção de exclui-los. Uma descrição detalhada de um método para originar as listas de candidatos vai ser apresentada abaixo.
[0094] Então, com referência de volta à Figura 3, na etapa S230, a unidade de controle de codificação 108 executa processamento de atualização na mvpListLX (etapa de atualização). A unidade de controle de codificação 108 adiciona uma entrada, duplica um candidato incluído em uma lista, elimina um candidato, e assemelhados, como, por exemplo, o processamento de atualização. A regra para o processamento de atualização é compartilhada entre o aparelho de codificação de imagem em movimento 100 e um aparelho de decodificação de imagem em movimento 300, descritos abaixo.
[0095] Na etapa S240, a unidade de controle de codificação 108 determina as informações de controle de codificação, incluindo o valor de mvp_idx_lx para cada unidade de bloco de previsão PU (etapa de determinação).
[0096] "mvp_idx_lx" é um índice de preditor de vetor de movimento, que indica um candidato de preditor de vetor de movimento para codificar um vetor de movimento, na direção de previsão X. No presente relatório descritivo, a Figura 7 ilustra uma relação entre cada candidato na lista de candidatos de preditores de vetores de movimento mvpListLX, o vetor de movimento mvLX e a diferença de vetores de movimento mvdLX. Deve-se notar que a Figura 7 mostra mvpListLX [n_mvp_idx], que não é determinada para ser o preditor de vetor de movimento mvpLX, para referência. O vetor de movimento mvLX é um vetor de movimento originário por detecção de movimento pela unidade de controle de codificação 108, na etapa S200. Na presente concretização, a unidade de controle de codificação 108 determina, como um preditor de vetor de movimento, um de dois candidatos de preditores de vetores de movimento, que tem a menor diferença do vetor de movimento mvLX. O valor de mvp_idx de mvpListLX [mvp_idx] é determinado como sendo um valor de índice mvp_idx_1X.
[0097] Na etapa S250, a unidade de intra/interprevisão 107 executa a intra/intercodificação em cada unidade de bloco de previsão PU, com base nas informações de controle de codificação (etapa de previsão).
[Exemplo 2-1: Método para gerar lista de candidatos mvpListLX de acordo com o exemplo comparativo]
[0098] Apresenta-se a seguir uma descrição detalhada de um método para a geração de uma lista de candidatos de preditores de vetores de movimento mvpListLX, com referência às Figuras 8 a 10B.
[0099] A Figura 8 é um fluxograma mostrando um procedimento de processamento detalhado da etapa de geração de mvpListLX S210. A unidade de controle de codificação 108 inicializa os sinalizadores (availableLXA, isScaled, availableLXB, e assemelhados) a 0, antes do processamento apresentado abaixo.
[00100] Primeiro, a unidade de controle de codificação 108 executa o processamento de geração de um primeiro candidato para a mvpListLX (S400). Na etapa S400, a unidade de controle de codificação 108 executa o processamento para gerar um candidato dos blocos A0 e A1, incluídos no grupo de blocos A. Deve-se notar que pode haver o caso no qual um candidato não possa ser gerado do grupo de blocos A, se a intraprevisão for usada para ambos os blocos A0 e A1, por exemplo.
[00101] Na etapa S410, a unidade de controle de codificação 108 busca o grupo de blocos A, para um bloco tendo um vetor de movimento, que está disponível sem processamento de escalamento (escalamento). Uma descrição dele é apresentada abaixo. A busca é feita na ordem A0 e A1. A unidade de controle de codificação 108 estabelece o sinalizador availableLXA como 1, se a busca for bem- sucedida. Além disso, a unidade de controle de codificação 108 adiciona um vetor de movimento do bloco, obtido na busca, à lista de candidatos mvpListLX.
[00102] Na etapa S420, a unidade de controle de codificação 108 determina se availableLXA é 0 (se a busca falhou).
[00103] Se a busca falhar (verdadeiro em S420), a unidade de controle de codificação 108 busca o grupo de blocos A (A0, A1) para um bloco tendo um vetor de movimento disponível. A busca é executada na ordem A0 e A1. Se a busca tiver sido bem-sucedida, a unidade de controle de codificação 108 executa o processamento de escalamento no vetor de movimento do bloco obtido na busca, e adiciona o vetor de movimento, no qual o procedimento de escalamento foi executado, à lista de candidatos mvpListLX. Além do mais, a unidade de controle de codificação 108 estabelece o sinalizador isScaled como 1. O sinalizador isScaled é um sinalizador indicativo de se o procedimento de escalamento foi executado no grupo de blocos A. O processamento de escalamento é o processamento de aumento e diminuição da grandeza de um vetor de movimento. Deve-se notar que as expressões 8-130 a 8-134 (consultar a Figura 23(A)) em NPL2 podem ser utilizadas para processamento de escalamento.
[00104] A seguir, a unidade de controle de codificação 108 executa o processamento de geração do segundo candidato para mvpListLX (S500). Na etapa S500, a unidade de controle de codificação 108 executa o processamento para geração de um candidato do grupo de blocos B (B0, B1, B2). Deve-se notar que um candidato pode não ser capaz de ser gerado do grupo de blocos B, se, por exemplo, intraprevisão for usada para todos os blocos B0, B1 e B2.
[00105] Especificamente, na etapa S510, a unidade de controle de codificação 108 busca o grupo de blocos B, para um bloco tendo um vetor de movimento, que é disponível sem escalamento. A busca é feita na ordem B0, B1 e B2. A unidade de controle de codificação 108 estabelece o sinalizador availableFlagLXB como sendo 1, se a busca for bem-sucedida. A unidade de controle de codificação 108 adiciona o vetor de movimento do bloco obtido na busca à lista de candidatos mvpListLX.
[00106] Na etapa S420, a unidade de controle de codificação 108 determina se availableLXA == 0, availableLXB == 0, e, além do mais, isScaled == 0.
[00107] Se o resultado de determina da etapa S420 for "verdadeiro", a unidade de controle de codificação 108 busca o grupo de blocos B (B0, B1, B2) para um bloco tendo um vetor de movimento disponível. A busca é feita na ordem BO, B1 e B2. Se a busca for bem- sucedida, a unidade de controle de codificação 108 executa o processamento de escalamento no vetor de movimento do bloco obtido na busca, e adiciona o vetor de movimento, no qual o processamento de escalamento foi feito, à lista de candidatos mvpListLX. Deve-se notar, por exemplo, que as expressões 8-135 a 8139 (consultar a Figura 23(b)) em NPL2 podem ser utilizadas para o processamento de escalamento.
[00108] Deve-se notar que se determina se, na etapa S420, o processamento de escalamento já foi feito no grupo de blocos A (isScaled == 0). Isso é para reduzir o número de vezes em que o processamento de escalamento é feito. É preferível reduzir o número de vezes nas quais o processamento de escalamento é feito, porque o processamento de escalamento requer uma grande carga. No presente relatório descritivo, o número de vezes nas quais o processamento de escalamento é feito é estabelecido como sendo 1. Se o processamento de escalamento for feito no grupo de blocos A, um candidato disponível já tinha sido adicionado às listas de candidatos, e, desse modo, o processamento de escalamento não vai ser feito no grupo de blocos B. <Grupo de blocos A (A0, A1)>
[00109] Apresenta-se primeiro uma descrição da etapa S410 na Figura 8 (etapa de busca do grupo de blocos A para um bloco tendo um vetor de movimento, que está disponível sem processamento de escalamento), com base na Figura 9A. A Figura 9A é um fluxograma mostrando o procedimento detalhado da etapa S410 na Figura 8.
[00110] Na Figura 9A, A[k] (k = 0, 1) é um valor indicativo de um bloco incluído no grupo de blocos A. Especificamente, A[0] indica o bloco A0, e A[1] indica o bloco A1. Na Figura 9A, o processamento da etapa S412 para a etapa S415 é executado para os blocos A0 e A1 (etapas S411 e S416).
[00111] Na etapa S412, a unidade de controle de codificação 108 determina se um vetor de movimento, na direção de previsão 0 de uma unidade de bloco de previsão PU, que inclui A[k], é um vetor de movimento que está disponível sem processamento de escalamento.
[00112] Especificamente, a unidade de controle de codificação 108 determina se uma unidade de bloco de previsão PU, que inclui A[k], satisfaz todos os seguintes: (i) a unidade de bloco de previsão PU está "disponível"; (ii) o seu modo de previsão não é MODE_INTRA; (iii) o seu predFlagL0 é 1; e (iv) o seu refIdx é igual ao refIdx de PU de um bloco atual.
[00113] No presente relatório descritivo, "disponível" em (i) indica que a unidade de bloco de previsão PU, correspondente ao A[k], pode ser utilizada. Deve-se notar que "não disponível" indica que a unidade de bloco de previsão PU, correspondente ao A[k], não pode ser utilizada. No presente relatório descritivo, o caso no qual "não disponível" é indicado é o caso no qual a unidade de bloco de previsão PU não tem informações, tal como uma vetor de movimento, cujos exemplos incluem o caso no qual a unidade de bloco de previsão PU é um bloco localizado, por exemplo, fora dos limites de uma imagem ou uma fatia, e o caso no qual a unidade de bloco de previsão PU é um bloco, que ainda não tinha sido codificado, e assemelhados. "MODE_INTRA" em (ii) indica que a intraprevisão é usada. NO caso de intraprevisão, a unidade de bloco de previsão PU não pode ser utilizada como um candidato para um preditor de vetor de movimento. "predFlagL0" em (iii) é um sinalizador indicativo de se um preditor de vetor de movimento, na direção de previsão 0, vai ser usado, e indica que um preditor de vetor de movimento, na direção de previsão 0, vai ser usado no caso de "1". A determinação em (iv) é, em outras palavras, uma determinação de se uma imagem em movimento da unidade de bloco de previsão PU, correspondente ao A[k], é igual a uma imagem em movimento de um bloco atual a ser codificado (decodificado). Isso é equivalente à determinação de se o bloco tem um vetor de movimento, que está disponível sem execução de escalamento.
[00114] Se o resultado de determina da etapa S412 não for verdadeiro (no caso de "diferente"), a determinação na etapa S413 é feita.
[00115] Na etapa S413, a unidade de controle de codificação 108 determina se um vetor de movimento, na direção de previsão 1 de uma unidade de bloco de previsão PU, que inclui A[k], é um vetor de movimento, que está disponível sem processamento de escalamento. Isso significa se uma determina feita para os dados de movimentação do bloco A[k], na direção de previsão 0 (um vetor de movimento e um índice de referência, que também se aplica a seguir), é também feita para os dados de movimentação de A[k], na direção de previsão 1.
[00116] Se o resultado de determinação da etapa S412 ou o resultado de determinação da etapa S413 for verdadeiro, ou, em outras palavras, se um vetor de movimento, que está disponível sem processamento de escalamento, é obtido na busca, a unidade de controle de codificação 108 estabelece availableFlagLXA como 1, na etapa S414, e, na etapa A307, adiciona, à lista de candidatos mvpListLX, o valor de mvLX do bloco A[k], como se estivesse em a execução de processamento de escalamento. Após isso, o processamento da unidade de controle de codificação 108 segue para a etapa S416.
[00117] Se o resultado de determinação da etapa S413 não for verdadeiro (se os resultados de determinação das etapas S412 e S413 são ambos "diferentes"), ou, em outras palavras, se um vetor de movimento, que está disponível sem processamento de escalamento, não é obtido na busca, o processamento da unidade de controle de codificação 108 segue para a etapa S416.
[00118] Na etapa S416, se availableFlagLXA == 1 ou k == 1, a unidade de controle de codificação 108 termina o processamento da etapa S410.
[00119] Descreve-se a seguir um procedimento de processamento da etapa S430 (etapa de execução de processamento de escalamento em um vetor de movimento do grupo de blocos A) na Figura 8, com base na Figura 9B. A Figura 9B é um fluxograma mostrando um procedimento de processamento detalhado da etapa S430 na Figura 8. Na Figura 9B, o processamento das etapas S432 a S437 é executado nos blocos A0 e A1 (etapas S431 e S438).
[00120] Na etapa S432, a unidade de controle de codificação 108 determina se um vetor de movimento, na direção de previsão 0 da unidade de bloco de previsão PU, que inclui A[k], é um vetor de movimento no qual o processamento de escalamento pode ser feito.
[00121] Mais especificamente, a unidade de controle de codificação 108 faz as determinações (i) a (iii) das determinações (i) a (iv) da etapa S412. Esse procedimento é o processamento de escalamento, e, desse modo, a condição (iv) não é necessário. Portanto, a unidade de controle de codificação 108 determina se a unidade de bloco de previsão PU, que inclui A[k], está "disponível" (i), o seu modo de previsão não é MODE_INTRA (ii), e preFlagL0 é 1 (iii).
[00122] Se o resultado de determinação da etapa s432 não for verdadeiro (no caso de "diferente"), a determinação da etapa S433 é feita.
[00123] Na etapa S433, a unidade de controle de codificação 108 determina ser um vetor de movimento, na direção de previsão 1 de um unidade de bloco de previsão PU, que inclui A[k], é um vetor de movimento no qual o processamento de escalamento pode ser feito. Na etapa S433, a determinação feita nos dados de movimento, na etapa S432, é também feita nos dados de movimento de A[k] na direção de previsão 1.
[00124] Se o resultado de determinação da etapa S432 ou o resultado de determinação da etapa S433 for verdadeiro, ou, em outras palavras, se um vetor de movimento, no qual o processamento de escalamento pode ser feito, for obtido na busca, a unidade de controle de codificação 108 obtém informações para gerar uma relação de escalamento (tais como refIdx e List) (S434). Além do mais, a unidade de controle de codificação 108 estabelece mvLXA como o valor de um vetor de movimento mvLX de A[k], e ajusta refIdxLX no índice de imagem de referência de A[k].
[00125] Na etapa S435, a unidade de controle de codificação 108 gera uma relação de escalamento, e executa o processamento de escalamento. Na etapa S436, a unidade de controle de codificação 108 ajusta o sinalizador isScaled a 1, o que indica que o processamento de escalamento foi executado no processamento do grupo de blocos A. Na etapa S437, a unidade de controle de codificação 108 ajusta availableFlagLXA a 1. Após isso, o processamento da unidade de controle de codificação 108 segue para a etapa S438.
[00126] Por outro lado, se o resultado de determinação da etapa S433 não for verdadeiro (se os resultados de determinação das etapas S432 e S433 são ambos diferentes), ou, em outras palavras, se um vetor de movimento, no qual o processamento de escalamento pode ser feito, não for obtido na busca, o processamento da unidade de controle de codificação 108 segue para a etapa S438.
[00127] Na etapa S438, se availableFlagLXA == 1 ou k == 1, a unidade de controle de codificação 108 termina o processamento da etapa S430. <Grupo de blocos B (B0, B1, B2)>
[00128] Descreve-se primeiro a etapa S510 na Figura 8 (uma etapa de busca do grupo de blocos B para um bloco tendo um vetor de movimento, que está disponível sem processamento de escalamento), com base na Figura 10A. A Figura 10A é um fluxograma mostrando um procedimento detalhado da etapa S510 na Figura 8.
[00129] Deve-se notar que o processamento mostrado na Figura 9A e o processamento mostrado na Figura 10A são iguais, exceto no ponto em que os blocos a serem processados são diferentes. Os blocos que vão ser processados são A0 e A1 na Figura 9A, enquanto que os blocos a serem processados são BO, B1 e B2 na Figura 10A. As etapas S512 a S515 na Figura 10A correspondem às etapas S412 a S415 na Figura 9A, respectivamente.
[00130] Descreve-se a seguir um procedimento de processamento da etapa S530 na Figura 8 (etapa de execução de processamento de escalamento em um vetor de movimento do grupo de blocos B), com base na Figura 10B. A Figura 10B é um fluxograma mostrando um procedimento de processamento da etapa S530 na Figura 8.
[00131] Deve-se notar que o processamento mostrado na Figura 9B e o processamento mostrado na Figura 10A são iguais, exceto no ponto em que os blocos a serem processados são diferentes, e no ponto no qual o sinalizador isScaled não é gravado na etapa S436. Os blocos a serem processados são A0 e A1 na Figura 9B, enquanto que os blocos a serem processados são B0, B1 e B2 na Figura 10B. As etapas S542 a S536, na Figura 10B, correspondem às etapas S432 a S435 e S437, na Figura 9B, respectivamente.
[Ex, 2-2: Determinação de informações de controle de codificação]
[00132] A Figura 11 é um fluxograma mostrando um procedimento de processamento detalhado da etapa S240, na Figura 3, que é uma etapa de determinação de informações de controle de codificação. Na etapa S240, na Figura 3, a unidade de controle de codificação 108 calcula a eficiência de codificação obtida por uso de cada candidato de preditor de vetor de movimento, determina um candidato de preditor de vetor de movimento, com o qual a eficiência de codificação é alta, como um vetor de movimento a ser usado para interprevisão. Consequentemente, um valor de mvp_idx_I0, usado para interprevisão, e um valor de mvp_idx_I1 são determinados.
[00133] Especificamente, na etapa S301, a unidade de controle de codificação 108 estabelece mvp_idx_I0 como sendo 0. Além do mais, a unidade de controle de codificação 108 incrementa mvp_idx_I0 por 1, após execução das etapas S302 a S308 descritas abaixo. A unidade de controle de codificação 108 executa repetidamente as etapas S302 a S308.
[00134] Na etapa S302, a unidade de controle de codificação 108 determina se availableFlagL0 [mvp_idx_I0] é 1.
[00135] Se availableFlagL0 [mvp_idx_I0] não for 1 na etapa S302 (falso na S302), o processamento da unidade de controle de codificação 108 segue para a etapa S309.
[00136] Se availableFlagL0 [mvp_idx_I0] é 1 na etapa S302 (verdadeiro em S302), o processamento da unidade de controle de codificação 108 segue para a etapa S303.
[00137] Na etapa S303, a unidade de controle de codificação 108 ajusta mvp_idx_I1 a 0. Além do mais, a unidade de controle de codificação 108 incremente mvp_idx_I1 por 1, após executar as etapas S304 e S305 descritas abaixo. A unidade de controle de codificação 108 executa repetidamente as etapas S304 e S305.
[00138] Na etapa S304, a unidade de controle de codificação 108 determina se availableFlagL0 [mvp_idx_I1] é 1.
[00139] Se availableFlagL0 [mvp_idx_I1] não for 1 na etapa S304 (falso na S304), o processamento da unidade de controle de codificação 108 segue para a etapa S308.
[00140] Se availableFlagL0 [mvp_idx_I1] for 1 na etapa 304 (verdadeiro na S304), o processamento da unidade de controle de codificação 108 segue para a etapa S305.
[00141] Na etapa S305, a unidade de controle de codificação 108 executa, como um teste, intercodificação, usando um conjunto de candidatos de preditores de vetores de movimento (mvpListL0 [mvp_idx_l0], mvpListL1 [mvp_idx_l1]), indicado por um conjunto de índices de preditores de vetores de movimento atuais (mvp_idx_l0, mvp_idx_l1) (a seguir, referido como "um conjunto de candidatos de preditores de vetores de movimento atuais", se necessário).
[00142] Na etapa S306, a unidade de controle de codificação 108 compara a eficiência de codificação, obtida por uso de um conjunto de candidatos de preditores de vetores de movimento, indicados pelos valores de um conjunto de índices de preditores de vetores de movimento como mvp_idx_lx (mvpListL0 [mvp_idx_l0], mvpListL1 [mvp_idx_l1]) (a seguir, referido como "um conjunto de conjuntos temporários de candidatos de preditores de vetores de movimento, se necessário) com a eficiência de codificação obtida por uso de um conjunto de candidatos de preditores de vetores de movimento atuais.
[00143] Na etapa S306, se a eficiência de codificação, obtida por uso do conjunto de conjuntos temporários de candidatos de preditores de vetores de movimento for mais alta do que a eficiência de codificação usando o conjunto de candidatos de preditores de vetores de movimento atuais (N na S306), o processamento da unidade de controle de codificação 108 segue para a etapa S308.
[00144] Na etapa S306, se a eficiência de codificação, obtida por uso do conjunto de conjuntos temporários de candidatos de preditores de vetores de movimento for mais alta do que a eficiência de codificação usando o conjunto de candidatos de preditores de vetores de movimento atuais (Y na S306), o processamento da unidade de controle de codificação 108 segue para a etapa S307, e a unidade de controle de codificação 108 ajusta o conjunto de índices de preditores de vetores de movimento mvp_idx_lx (mvp_idx_l0, mvp_idx_l1) aos valores do conjunto atual (mvp_idx_l0, mvp_idx_l1). Deve-se notar que se nenhum valor for ajustado no conjunto mvp_idx_lx dos índices de preditores de vetores de movimento (mvp_idx_l0, mvp_idx_l1), a unidade de controle de codificação 108 ajusta mvp_idx_lx aos valores do conjunto atual (mvp_idx_l0, mvp_idx_l1).
[00145] Na etapa S308, a unidade de controle de codificação 108 determina se mvpListL1 [mvp_idx_lx] é o último candidato da lista de candidatos (Figura 11 mostra "Processamento para mvp_idx_l1 está completo?). Por exemplo, no caso da lista de candidatos mvpListL1, ilustrada na Figura 6B, o tamanho da lista de candidatos é 2, e, desse modo, determina-se que mvpListL1 [mvp_idx_l1] é o último candidato, se mvp_idx_l1 == 1 (= tamanho da lista de candidatos - 1). Se for determinado que mvpListL1 [mvp_idx_l1] não é o último candidato da lista de candidatos, o processamento da unidade de controle de codificação 108 retorna para a etapa S303, e a unidade de controle de codificação 108 incrementa mvp_idx_l1 por 1 (S303).
[00146] Se for determinado na etapa S308 que mvpListL1 [mvp_idx_l1] é o último candidato da lista de candidatos, o processamento da unidade de controle de codificação 108 segue para a etapa S309.
[00147] Na etapa S309, a unidade de controle de codificação 108 determina se mvpListL0 [mvp_idx_l0] é o último candidato da lista de candidatos ("Processamento para mvp_idx_l0 está completo?). Por exemplo, no caso da lista de candidatos mvpListL0, ilustrada na Figura 6A, o tamanho da lista de candidatos é 2, e, desse modo, se mvp_idx_l0 == 1 (= tamanho da lista de candidatos - 1), a unidade de controle de codificação 108 determina que mvpListL0 [mvp_idx_l0] é o último candidato. Se a unidade de controle de codificação 108 determinar que mvpListL0 [mvp_idx_l0] não é o último candidato da lista de candidatos, o processamento da unidade de controle de codificação 108 retorna para a etapa S301, e a unidade de controle de codificação 108 incrementa mvp_idx_l0 por 1 (S301).
[00148] Na etapa S309, se a unidade de controle de codificação 108 determinar que mvpListL0 [mvp_idx_l0] é o último candidato da lista de candidatos, o seu processamento prossegue para a etapa S310.
[00149] Na etapa S310, a unidade de controle de codificação 108 determina mvp_idx_lx (mvp_idx_l0, mvp_idx_l1) como um conjunto de índices de preditores de vetores de movimento.
[00150] Apresenta-se a seguir uma breve descrição do caso das Figuras 6A e 6B.
[00151] A unidade de controle de codificação 108 ajusta mvp_idx_l0 a 0, quando a etapa S301 é executada no primeiro ciclo. Na etapa S302, como ilustrado na Figura 6A, a unidade de controle de codificação 108 determina que availableFlagLXA é 1, e o seu processamento segue para a etapa S303.
[00152] A unidade de controle de codificação 108 ajusta mvp_idx_l1 a 0, quando a etapa S303 é executada no primeiro ciclo. Na etapa S304, o processamento da unidade de controle de codificação 108 segue para a etapa S305, uma vez que availableFlagLXA seja 1, como ilustrado na Figura 6B.
[00153] Na etapa S305, a unidade de controle de codificação 108 executa, como um teste, intercodificação usando um conjunto atual (mvpListL0 [1], mvpListL0 [0]). Na etapa S306, a unidade de controle de codificação 108 não teve a intercodificação como um teste antes, e, desse modo, o seu processamento segue para a etapa S307, e a unidade de controle de codificação 108 ajusta mvp_idx_lx to (0, 0).
[00154] Na etapa S308, o processamento da unidade de controle de codificação 108 segue para a etapa S309, uma vez que há apenas um mvp_idx_l1, como ilustrado na Figura 6B, e, desse modo, o processamento é completado. Na etapa S309 no primeiro ciclo, a unidade de controle de codificação 108 determina que o processamento não está completo, uma vez que mvp_idx_l0 assume dois valores, isto é, 0 e 1, como ilustrado na Figura 6A. O processamento da unidade de controle de codificação 108 retorna para a etapa S301, e a unidade de controle de codificação 108 ajusta mvp_idx_l0 a 1 inicia o segundo ciclo.
[00155] Quando a etapa S301 é executada no segundo ciclo, a unidade de controle de codificação 108 ajusta mvp_idx_l0 a 1. Na etapa S302, como ilustrado na Figura 6A, a unidade de controle de codificação 108 determina que availableFlagLXB é 1, e o seu processamento segue para a etapa S303.
[00156] Quando a etapa S303, que é a primeira etapa no segundo ciclo, é executada, a unidade de controle de codificação 108 ajusta mvp_idx_l1 a 0. Na etapa S304, o processamento da unidade de controle de codificação 108 segue para a etapa S305, desde que availableFlagLXB seja 1, como ilustrado na Figura 6B.
[00157] Na etapa S305, a unidade de controle de codificação 108 executa intercodificação como um teste, usando um conjunto atual (mvpListL0 [1], mvpListL0 [0]). Na etapa S306, a unidade de controle de codificação 108 compara a eficiência de codificação obtida por uso de (mvpListL0 [0], mvpListL0 [0]), que tinha sido usado para executar intercodificação, como um teste antes, com a eficiência de codificação obtida usando o conjunto (mvpListL0 [1], mvpListL0 [0]). Neste caso, se a eficiência de codificação obtida usando (mvpListL0 [0], mvpListL0 [0]) usado antes for mais alta, o processamento da unidade de controle de codificação 108 segue para a etapa S308.
[00158] Na etapa S308, o processamento da unidade de controle de codificação 108 segue para a etapa S309, uma vez que há apenas um mvp_idx_I1, como ilustrado na Figura 6B, e, desse modo, o processamento é completado. Na etapa S309 no segundo ciclo, mvp_idx_I0 assume dois valores, isto é, 0 e 1, como ilustrado na Figura 6A, e o processamento foi executado para cada um deles, a unidade de controle de codificação 108 determina que o processamento está completo, e o seu processamento segue para a etapa S310.
[00159] Na etapa S310, a unidade de controle de codificação 108 determina (0, 0) qual mvp_idx_Ix é ajustada, como um conjunto de valores de mvp_idx_Ix.
[Exemplo 2-3: Intra/intercodificação
[00160] A Figura 12 é um fluxograma ilustrando um procedimento de processamento detalhado da etapa S250 na Figura 3. Na etapa S250 na Figura 3, a intra/intercodificação é executada em uma imagem em movimento, indicada por um sinal de imagem introduzido, usando informações de controle de codificação, informações de controle de decodificação, e assemelhados, obtidos pela unidade de controle de codificação 108.
[00161] Especificamente, na etapa S252, a unidade de intra/interprevisão 107 gera uma imagem prevista de um bloco atual a ser codificado, com base em um vetor de movimento mvLX, e transmite um sinal de imagem prevista indicando a imagem prevista gerada. A unidade de diferença 101 subtrai o sinal de imagem prevista de um sinal de imagem de entrada, para gerar um sinal residual. A unidade de transformação 102 converte o sinal residual de um domínio de imagem em um domínio de frequência, e a unidade de quantização 103 quantiza o sinal residual convertido no domínio de frequência, para gerar um sinal residual quantizado. A unidade de codificação de entropia 110 codifica o sinal residual quantizado.
[00162] Na etapa S254, a unidade de codificação de entropia 110 codifica um conjunto de índices de preditores de vetores de movimento mvp_idx_lx (mvp_idx_l0, mvp_idx_l1). A unidade de codificação de entropia 110 codifica, por exemplo, mvp_idx_lx (0, 0) no caso das Figuras 6A e 6B, descritas no Exemplo 2-2.
[00163] Na etapa S256, a unidade de codificação de entropia 110 codifica uma diferença de vetores de movimento mvdLX.
[00164] A unidade de codificação de entropia 110 gera e transmite um fluxo de bits codificado, que inclui o sinal residual quantizado, o conjunto mvp_idx_lx de índices de preditores de vetores de movimento (mvp_idx_l0, mvp_idx_l1), e a diferença de vetores de movimento mvdLX, que tenha sido codificada.
[00165] A Figura 13 ilustra um problema de processamento de geração de mvpListLX (consultar as Figuras 8 a 10B, e Exemplo 2-1) no exemplo comparativo.
[00166] Na Figura 13, a linha dupla horizontal é um símbolo representando processamento paralelo, e o processamento entre as linhas duplas horizontais é processamento paralelo.
[00167] No exemplo comparativo mencionado acima, como ilustrado na Figura 13, é possível diminuir um período de tempo de por execução de processamento de obtenção de um candidato de preditor de vetor de movimento do grupo de blocos A (etapa S400 na Figura 8) e processamento de obtenção de um candidato de preditor de vetor de movimento do grupo de blocos B (etapa S500 na Figura 8) em paralelo.
[00168] No presente relatório descritivo, no exemplo comparativo mencionado acima, como ilustrado na Figura 13, se o processamento de escalamento tiver sido executado no grupo de blocos A na etapa S436, na etapa S430 é uma condição de determinação na etapa S520.
[00169] Isso é para impedir que o processamento de escalamento seja executado no grupo de blocos B, se o processamento de escalamento já tiver sido executado no grupo de blocos A, para que o processamento de escalamento, que necessite de uma grande carga de processamento, seja executado uma vez, como mencionado acima.
[00170] Consequentemente, no exemplo comparativo mencionado acima, a etapa S500, que é o processamento no grupo de blocos B, tem um problema que é necessário aguardar pelo completamento da etapa S400, que é o processamento no grupo de blocos A (em particular, S436), para executar o processamento da etapa S520.
[00171] Em vista disso, 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 em movimento, para decodificar um bloco atual incluído em um fluxo de bits, usando um preditor de vetor de movimento usando quando da decodificação de um vetor de movimento do bloco atual, o método incluindo: (a) obter um ou mais candidatos de preditores de vetores de movimento, que são candidatos para o preditor de vetor de movimento; (b) decodificar um índice codificado para identificar um do um ou mais candidatos de preditores de vetores de movimento, o índice codificado sendo adicionado ao fluxo de bits; e (c) selecionar, com base no índice decodificado, o preditor de vetor de movimento a ser usado para decodificação do bloco atual de entre o um ou mais candidatos de preditores de vetores de movimento, em que a etapa (a) inclui: (a1) gerar um candidato de preditor de vetor de movimento, com base em vários vetores de movimento de vários blocos adjacentes primários adjacentes ao bloco atual, em uma primeira direção; e (a2) gerar um candidato de preditor de vetor de movimento, com base em vários vetores de movimento de vários blocos adjacentes secundários adjacentes ao bloco atual, em uma segunda direção; e a etapa (a2) inclui: (i) determinar se os vários blocos adjacentes primários incluem um ou mais blocos interprevistos; e (ii) buscar por um vetor de movimento, para que fique disponível, por processamento de escalamento de entre os vários vetores de movimento dos vários blocos adjacentes secundários, quando se determina na etapa (i) que os vários blocos adjacentes primários não incluem um bloco interprevisto, e gerar, quando o vetor de movimento é obtido na busca, um ou mais dos candidatos de preditores de vetores de movimento, por execução de processamento de escalamento no vetor de movimento obtido na busca.
[00172] Além disso, por exemplo, na etapa (a2), quando se determina na etapa (i) que os vários blocos adjacentes primários incluem um ou mais blocos interprevistos, pode-se determinar se o um ou mais dos vários blocos adjacentes primários, determinados como sendo blocos interprevistos, são blocos, todos localizados em um limite de imagem ou um limite de fatia, e a etapa (ii) pode ser executada quando o um ou mais dos vários blocos adjacentes primários, determinados como sendo blocos interprevistos, são blocos todos localizados no limite de imagem ou limite de fatia.
[00173] Além disso, por exemplo, a etapa (a2) pode incluir ainda (iii) busca por um vetor de movimento, disponível sem processamento de escalamento, de entre os vários vetores de movimento dos vários blocos adjacentes secundários, e determinar, quando um vetor de movimento, disponível sem processamento de escalamento, é obtido na busca, o vetor de movimento obtido na busca como um ou mais candidatos de preditores de vetores de movimento, e a etapa (i) pode ser executada quando um vetor de movimento, disponível sem processamento de escalamento, não é obtido na busca.
[00174] Além disso, por exemplo, na etapa (iii), pode-se determinar se uma imagem de referência do bloco atual é igual a uma imagem de referência de cada um dos vários blocos adjacentes secundários, e entre os vários blocos adjacentes secundários, um segundo bloco adjacente, determinado como tendo a mesma imagem de referência, pode ser obtido na busca, como um vetor de movimento disponível sem processamento de escalamento.
[00175] Além disso, por exemplo, a etapa (a1) pode incluir: (i) busca para um vetor de movimento disponível sem processamento de escalamento de entre os vários vetores de movimento dos blocos adjacentes primários, e determinar, quando um vetor de movimento disponível sem processamento de escalamento é obtido na busca, o vetor de movimento obtido na busca como um do um ou mais candidatos de preditores de vetores de movimento; (ii) determinar se um vetor de movimento disponível sem processamento de escalamento é obtido na busca dos vários blocos adjacentes primários; e (iii) buscar, quando se determina que um vetor de movimento disponível sem processamento de escalamento não é obtido na busca dos vários blocos adjacentes primários, por um vetor de movimento que fique disponível por processamento de escalamento de entre os vários vetores de movimento dos vários blocos adjacentes primários, e gerar, quando o vetor de movimento é obtido na busca, um do um ou mais dos candidatos de preditores de vetores de movimento, por execução de processamento de escalamento no vetor de movimento obtido na busca.
[00176] Além disso, por exemplo, as etapas (a1) e (a2) podem ser executadas em paralelo.
[00177] Um método de codificação de imagem, de acordo com um aspecto da presente invenção, é um método de codificação de imagem em movimento para codificar um bloco atual, para gerar um fluxo de bits, usando um preditor de vetor de movimento, usado quando da codificação de um vetor de movimento do bloco atual, o método incluindo: (a) obter um ou mais candidatos de preditores de vetores de movimento, que são candidatos para o preditor de vetor de movimento; (b) selecionar o preditor de vetor de movimento, a ser usado para codificação do vetor de movimento do bloco atual de entre o um ou mais candidatos de preditores de vetores de movimento; e (c) codificar um índice para identificar o preditor de vetor de movimento selecionado, e adicionar o índice codificado ao fluxo de bits, em que a etapa (a) inclui: (a1) gerar um candidato de preditor de vetor de movimento, com base em vários vetores de movimento dos vários blocos adjacentes primários adjacentes ao bloco atual, em uma primeira adição; e (a2) gerar um candidato de preditor de vetor de movimento, com base em vários vetores de movimento de vários blocos adjacentes secundários adjacentes ao bloco atual, em uma segunda direção, e a etapa (a2) inclui: (i) determinar se os vários blocos adjacentes primários incluem um ou mais blocos interprevistos; e (ii) buscar por um vetor de movimento, para que fique disponível, por processamento de escalamento de entre os vários vetores de movimento dos vários blocos adjacentes secundários, quando se determina na etapa (i) que os vários blocos adjacentes primários não incluem um bloco interprevisto, e gerar, quando o vetor de movimento é obtido na busca, um ou mais dos candidatos de preditores de vetores de movimento, por execução de processamento de escalamento no vetor de movimento obtido na busca.
[00178] Além disso, por exemplo, na etapa (a2), quando se determina na etapa (i) que os vários blocos adjacentes primários incluem um ou mais blocos interprevistos, pode-se determinar se o um ou mais dos vários blocos adjacentes primários, determinados como sendo blocos interprevistos, são blocos, todos localizados em um limite de imagem ou um limite de fatia, e a etapa (ii) pode ser executada quando o um ou mais dos vários blocos adjacentes primários, determinados como sendo blocos interprevistos, são blocos todos localizados no limite de imagem ou limite de fatia.
[00179] Além disso, por exemplo, a etapa (a2) pode incluir ainda (iii) busca por um vetor de movimento, disponível sem processamento de escalamento, de entre os vários vetores de movimento dos vários blocos adjacentes secundários, e determinar, quando um vetor de movimento, disponível sem processamento de escalamento, é obtido na busca, o vetor de movimento obtido na busca como um ou mais candidatos de preditores de vetores de movimento, e a etapa (i) pode ser executada quando um vetor de movimento, disponível sem processamento de escalamento, não é obtido na busca.
[00180] Além disso, por exemplo, na etapa (iii), pode-se determinar se uma imagem de referência do bloco atual é igual a uma imagem de referência de cada um dos vários blocos adjacentes secundários, e entre os vários blocos adjacentes secundários, um segundo bloco adjacente, determinado como tendo a mesma imagem de referência, pode ser obtido na busca, como um vetor de movimento disponível sem processamento de escalamento.
[00181] Além disso, por exemplo, a etapa (a1) pode incluir: (i) busca para um vetor de movimento disponível sem processamento de escalamento de entre os vários vetores de movimento dos blocos adjacentes primários, e determinar, quando um vetor de movimento disponível sem processamento de escalamento é obtido na busca, o vetor de movimento obtido na busca como um do um ou mais candidatos de preditores de vetores de movimento; (ii) determinar se um vetor de movimento disponível sem processamento de escalamento é obtido na busca dos vários blocos adjacentes primários; e (iii) buscar, quando se determina que um vetor de movimento disponível sem processamento de escalamento não é obtido na busca dos vários blocos adjacentes primários, por um vetor de movimento que fique disponível por processamento de escalamento de entre os vários vetores de movimento dos vários blocos adjacentes primários, e gerar, quando o vetor de movimento é obtido na busca, um do um ou mais dos candidatos de preditores de vetores de movimento, por execução de processamento de escalamento no vetor de movimento obtido na busca.
[00182] Além disso, por exemplo, as etapas (a1) e (a2) podem ser executadas em paralelo.
[00183] Um aparelho de decodificação de imagem, de acordo com um aspecto da presente invenção, é um aparelho de decodificação de imagem em movimento, que decodifica um bloco atual incluído em um fluxo de bits, usando um preditor de vetor de movimento usado quando da decodificação de um vetor de movimento do bloco atual, o aparelho incluindo: uma unidade de obtenção de candidato de preditor de vetor de movimento, configurada para obter um ou mais candidatos de preditores de vetores de movimento, que são candidatos para decodificar um índice codificado para identificar um ou mais dos candidatos de preditores de vetores de movimento, o índice codificado sendo adicionado ao fluxo de bits; e uma unidade de seleção configurada para selecionar, com base no índice decodificado, o preditor de vetor de movimento, a ser usado para decodificação do bloco atual de entre o um ou mais candidatos de preditores de vetores de movimento, em que a unidade de obtenção de candidato de preditor de vetor de movimento é configurada para executar: um primeiro processamento de geração de candidato de gerar um candidato de preditor de vetor de movimento, com base nos vários vetores de movimento de vários blocos adjacentes primários adjacentes ao bloco atual, em uma primeira direção; e um segundo processamento de geração de candidato de gerar um candidato de preditor de vetor de movimento, com base nos vários vetores de movimento de vários blocos adjacentes secundários adjacentes ao bloco atual, em uma segunda direção, e no segundo processamento de geração de candidato, a unidade de obtenção de candidato de preditor de vetor de movimento é configurada para: determinar se os vários blocos adjacentes primários incluem um ou mais blocos interprevistos; e buscar por um vetor de movimento, para que fique disponível, por processamento de escalamento de entre os vários vetores de movimento dos vários blocos adjacentes secundários, quando a unidade de obtenção de candidato de preditor de vetor de movimento determina que os vários blocos adjacentes primários não incluem um bloco interprevisto, e gerar, quando a unidade de obtenção de candidato de preditor de vetor de movimento obtém o vetor de movimento na busca, um ou mais dos candidatos de preditores de vetores de movimento, por execução de processamento de escalamento no vetor de movimento obtido na busca.
[00184] Um aparelho de codificação de imagem, de acordo com um aspecto da presente invenção, é um aparelho de codificação de imagem em movimento, que codifica um bloco atual para gerar um fluxo de bits, usando um preditor de vetor de movimento, quando da codificação de um vetor de movimento do bloco atual, o aparelho incluindo: uma unidade de obtenção de candidato de preditor de vetor de movimento, configurada para obter um ou mais candidatos de preditores de vetores de movimento, que são candidatos para o preditor de vetor de movimento; uma unidade de seleção configurada para selecionar o preditor de vetor de movimento, a ser usado para codificação do vetor de movimento do bloco atual de entre o um ou mais candidatos de preditores de vetores de movimento; e uma unidade de codificação configurada para codificar um índice, para identificar o preditor de vetor de movimento selecionado, e adicionar o índice codificado ao fluxo de bits, em que a unidade de obtenção de candidato de preditor de vetor de movimento é configurada para executar: um primeiro processamento de geração de candidato de gerar um candidato de preditor de vetor de movimento, com base nos vários vetores de movimento de vários blocos adjacentes primários adjacentes ao bloco atual, em uma primeira direção; e um segundo processamento de geração de candidato de gerar um candidato de preditor de vetor de movimento, com base nos vários vetores de movimento de vários blocos adjacentes secundários adjacentes ao bloco atual, em uma segunda direção, e no segundo processamento de geração de candidato, a unidade de obtenção de candidato de preditor de vetor de movimento é configurada para: determinar se os vários blocos adjacentes primários incluem um ou mais blocos interprevistos; e buscar por um vetor de movimento, para que fique disponível, por processamento de escalamento de entre os vários vetores de movimento dos vários blocos adjacentes secundários, quando a unidade de obtenção de candidato de preditor de vetor de movimento determina que os vários blocos adjacentes primários não incluem um bloco interprevisto, e gerar, quando a unidade de obtenção de candidato de preditor de vetor de movimento obtém o vetor de movimento na busca, um ou mais dos candidatos de preditores de vetores de movimento, por execução de processamento de escalamento no vetor de movimento obtido na busca.
[00185] Um aparelho de codificação e decodificação de imagem, de acordo com um aspecto da presente invenção, inclui o aparelho de decodificação de imagem em movimento e o aparelho de codificação de imagem em movimento mencionados acima.
[00186] Deve-se entender que esses aspectos gerais e específicos podem ser implementados usando um sistema, um método, um circuito integrado, um programa de computador, um meio de gravação legível por computador, tal como um CD-ROM, ou qualquer combinação de sistemas, métodos, circuitos integrados, programas de computador ou meios de gravação.
[00187] Apresenta-se a seguir uma descrição específica de um aparelho de codificação de imagem em movimento e de um aparelho de decodificação de imagem em movimento, de acordo com um aspecto da presente invenção, com referência aos desenhos.
[00188] Cada uma das concretizações exemplificativas, descritas abaixo, apresenta um exemplo específico da presente invenção. Os valores numéricos, as formas, o material, os elementos constituintes, as posições dispostas e a configuração de conexão dos elementos constituintes, etapas, ordem das etapas, e assim por diante, descritos nas concretizações apresentadas a seguir, são meros exemplos, e não são intencionados para limitarem a presente invenção. Portanto, entre os elementos constituintes nas concretizações exemplificativas apresentadas a seguir, os elementos constituintes, não indicados em qualquer uma das reivindicações independentes, são descritos como elementos constituintes arbitrários.
[Concretização 1]
[00189] Uma descrição é apresentada de um aparelho de codificação de imagem em movimento e de um método de codificação de imagem em movimento, de acordo com a presente concretização, com base na Figura 14.
[00190] Deve-se notar que a configuração do aparelho de codificação de imagem em movimento, de acordo com a presente concretização, é igual à configuração do aparelho de codificação de imagem em movimento 100, de acordo com o exemplo comparativo ilustrado na Figura 2.
[00191] Além disso, a presente concretização descreve o caso usando um exemplo no qual a relação entre uma unidade de bloco de codificação CU e uma unidade de bloco de previsão PU é igual à relação entre a unidade de bloco de codificação CU e a unidade de bloco de previsão PU no exemplo comparativo ilustrado na Figura 4A, para facilitar a descrição. [1-1: Método de codificação de imagem em movimento de acordo com a concretização 1 ]
[00192] Apresenta-se uma descrição de uma operação de processamento (método de codificação de imagem em movimento) do aparelho de codificação de imagem em movimento 100, de acordo com a presente concretização, com base na Figura 14. A Figura 6 ilustra um procedimento de processamento do aparelho de codificação de imagem em movimento 100, de acordo com a presente concretização.
[00193] Deve-se notar que na Figura 14, o processamento das etapas S410 e S430, em um grupo de blocos A, e o das etapas S510 e S530, em um grupo de blocos B, são iguais ao processamento no exemplo comparativo ilustrado acima (consultar as Figuras 8 a 10B).
[00194] Deve-se notar que, na presente concretização, uma imagem prevista é gerada por uma unidade de bloco de previsão PU, do mesmo modo que no exemplo comparativo. Além disso, a presente concretização descreve o caso como um exemplo no qual o tamanho da unidade de bloco de previsão PU é menor do que aquele da unidade de bloco de codificação CU, do mesmo modo que com o exemplo comparativo. Além disso, a relação entre a unidade de bloco de codificação CU e a unidade de bloco de previsão PU, na presente concretização, é igual à relação entre a unidade de bloco de codificação CU e a unidade de bloco de previsão PU no exemplo comparativo, ilustrado nas Figuras 4A a 4C.
[00195] No método de codificação de imagem em movimento de acordo com a presente invenção, ilustrado na Figura 14, o processamento de determinação da etapa S620 é executado, em vez do processamento de determina da etapa S520, em comparação com o exemplo comparativo ilustrado na Figura 13.
[00196] Especificamente, como ilustrado na Figura 14, na etapa S400, uma unidade de controle de codificação 108 executa o processamento de busca do grupo de blocos A para um vetor de movimento, que está disponível sem processamento de escalamento (S410), e executa processamento de escalamento (S430) em um bloco incluído no grupo de blocos A, se um vetor de movimento, que está disponível sem processamento de escalamento, não é obtido na busca (verdadeira na S420).
[00197] Além do mais, a unidade de controle de codificação 108 executa a etapa S600 em paralelo com a etapa S400 descrita acima, como ilustrado na Figura 14. Na etapa S600, primeiro, a unidade de controle de codificação 108 executa o processamento de busca do grupo de blocos B para um vetor de movimento, que está disponível sem processamento de escalamento (S510).
[00198] Na etapa S620, a unidade de controle de codificação 108 determina: (1) se availableFlavLXB == 0 (não mostrado na Figura 14); e (2) se "qualquer bloco no grupo de blocos A (AO, A1) é um bloco INTER". Em outras palavras, na etapa S620, quando (1) availableFlavLXB == 0, e além do mais um bloco cujo modo de previsão é MODE_INTER está incluído no grupo de blocos A, o resultado é determinado como sendo verdadeiro.
[00199] Se (1) availableFlavLXB == 0, e além do mais o modo de previsão de A0 (bloco à esquerda no fundo da Figura 5) ou A1 (bloco à esquerda na Figura 5) é MODE_INTER, como um resultado da determinação (verdadeiro na S620), a unidade de controle de codificação 108 termina a etapa S600 sem executar o processamento da S530 (processamento de escalamento no grupo de blocos B).
[00200] Isso é baseado em uma consideração que "se o modo de previsão de qualquer grupo de blocos A, adjacente à esquerda de um bloco atual a ser previsto, é MODE_INTER, uma possibilidade de que o processamento de escalamento seja usado é alta", e, desse modo, o processamento de escalamento não vai ser executado no grupo de blocos B se o modo de previsão de qualquer bloco, no grupo de blocos A, for MODE_INTER.
[00201] Desse modo, o resultado de processamento da etapa S400 não é usado na etapa S620. Em outras palavras, as etapas S400 e S600 não dependem uma da outra. Consequentemente, o aparelho de codificação de imagem em movimento 100 pode executar, em paralelo, a etapa S400, que é o processamento no grupo de blocos A, e a etapa S600, que é o processamento no grupo de blocos B, e aumentar a velocidade de processamento sem aumentar a carga de processamento (sem aumentar o número de vezes em que o processamento de escalamento é executado).
[Concretização 2]
[00202] Uma descrição é apresentada de um aparelho de decodificação de imagem em movimento e de um método de decodificação de imagem em movimento, com base na Figura 15. O aparelho de decodificação de imagem em movimento, de acordo com a presente concretização, aceita um fluxo de bits codificado do aparelho de codificação de imagem em movimento 100, de acordo com a concretização 1, gera sinais de imagens decodificados por decodificação de um fluxo de bits codificado, e transmite os sinais na ordem de exibição. [2-1: Configuração de aparelho de decodificação de imagem em movimento de acordo com a concretização 2]
[00203] Uma descrição é apresentada de uma configuração de um aparelho de decodificação de imagem em movimento 300, de acordo com a presente concretização, com base na Figura 15. A Figura 15 é um diagrama de blocos ilustrando a configuração do aparelho de decodificação de imagem em movimento 300.
[00204] Como ilustrado na Figura 15, o aparelho de decodificação de imagem em movimento 300 inclui uma unidade de codificação de entropia 301, uma unidade de quantização inversa 302, uma unidade de transformação inversa 303, uma unidade de adição 304, uma unidade de intra/interprevisão 305, uma unidade de controle de decodificação 306 e uma memória 307.
[00205] A unidade de codificação de entropia 301 executa um processamento de decodificação de comprimento variável em um fluxo de bits codificado introduzido, e, desse modo, gera um sinal residual quantizado (coeficiente de quantização), informações de tipo de imagem, um sinalizador de direção de previsão e uma diferença de vetores de movimento mvdLX. A unidade de codificação de entropia 301 executa um processamento de decodificação de comprimento variável em um índice de preditor de vetor de movimento. Além do mais, a unidade de codificação de entropia 301 transmite informações de controle de decodificação para a unidade de controle de decodificação 306, descrita abaixo. No presente relatório descritivo, as informações de controle de decodificação incluem um índice de preditor de vetor de movimento mvp_idx_lx (mvp_idx_l0, mvp_idx_l1) e uma diferença de vetores de movimento mvdLX (mvdL0, mvdL1).
[00206] A unidade de quantização inversa 302 executa o processamento de quantização inversa em um coeficiente de quantização (sinal residual quantizado), obtido por um processamento de decodificação de comprimento variável. A unidade de transformação inversa 303 transmite um sinal residual reconstruído (dados de erro de previsão) por conversão de um coeficiente de transformação, obtido por processamento de quantização inversa, de um domínio de frequência em um domínio de imagem.
[00207] Na memória 307, os dados de imagem decodificados, indicados pelos sinais de imagem decodificados, transmitidos da unidade de adição 304, descrita abaixo, são armazenados em uma base bloco a bloco e uma base quadro a quadro.
[00208] A unidade de intra/interprevisão 305 executa interprevisão usando dados de imagem decodificados em uma unidade de quadro armazenada na memória 307, ou usando dados de imagem decodificados em uma unidade de bloco, gerando, desse modo, um sinal de imagem prevista de um bloco atual a ser decodificado.
[00209] A unidade de controle de decodificação 306 gera as listas de candidatos de preditores de vetores de movimento mvpListL0 e mvpListL1, e seleciona, das listas de candidatos de preditores de vetores de movimento originadas, um preditor de vetor de movimento mvLX, que vai ser usado para interprevisão, com base no índice de preditor de vetor de movimento (mvp_idx_l0, mvp_idx_l1). Além do mais, a unidade de controle de decodificação 306 calcula o vetor de movimento mvLX de um bloco atual a ser decodificado, usando o preditor de vetor de movimento mvpLX e a diferença de vetores de movimento mvdLX (mvdL0, mvdL1). Depois, no modo de previsão de um bloco atual, a ser previsto, for MODE_INTER, a unidade de controle de decodificação 306 faz com que a unidade de intra/interprevisão 305 gere uma imagem interprevista usando o vetor de movimento calculado mvLX.
[00210] Finalmente, a unidade de adição 304 gera um sinal de imagem decodificado por adição de um sinal residual reconstruído e um sinal de imagem prevista.
[2.2: Método de decodificação de imagem em movimento de acordo com a concretização 2]
[00211] Uma descrição é apresentada da operação de processamento (método de decodificação de imagem em movimento) do aparelho de decodificação de imagem em movimento 300, de acordo com a presente concretização, com base na Figura 16. A Figura 16 é um fluxograma mostrando um procedimento de processamento do método de decodificação de imagem em movimento de acordo com a presente concretização.
[00212] Deve-se notar que, na presente concretização, uma imagem prevista é gerada pela unidade de bloco de previsão PU, do mesmo modo que com a concretização 1. A presente concretização descreve o caso como um exemplo no qual o tamanho de uma unidade de bloco de previsão PU é menor do que de uma unidade de bloco de codificação CU, como com a concretização 1. Além disso, a relação entre a unidade de bloco de codificação CU e a unidade de bloco de previsão PU, na presente concretização, é igual como no exemplo comparativo ilustrado na Figura 4A.
[00213] Descreve-se a seguir o caso no qual um bloco atual a ser decodificado é CU12, como um exemplo. Como ilustrado nas Figuras 4B e 4C, o modo de previsão do bloco atual CU12 é MODE_INTER, e o bloco atual CU12 inclui duas unidades de blocos de previsão PU, isto é, PU0 e PU1 (N x 2N). Deve-se notar que, como descrito no exemplo comparativo, na Figura 4B, a área encerrada pela linha tracejada de um ponto é uma área tendo informações, que já estão "disponíveis" no momento da codificação da unidade de bloco de previsão PU do bloco atual CU12. Como ilustrado na Figura 4B, no exemplo comparativo, as unidades de blocos de codificação CU2 e CU3 não estão "disponíveis" no momento da codificação do bloco atual CU12.
[00214] Com referência à Figura 16, na etapa S1010, a unidade de controle de decodificação 306 executa o processamento de geração de uma lista de candidatos mvpListLX de preditores de vetores de movimento. Esse processamento corresponde ao processamento de geração de mvpListLX da etapa S210, ilustrada na Figura 3, executado pelo aparelho de codificação de imagem em movimento 100, de acordo com a concretização (Exemplo Comparativo 1). Mais especificamente, a unidade de controle de decodificação 306 executa o mesmo processamento que o processamento ilustrado na Figura 14, executado pelo aparelho de codificação de imagem em movimento 100, que vai ser descrito em detalhes abaixo.
[00215] Na etapa S1020, a unidade de controle de decodificação 306 executa processamento de atualização em mvpListLX (etapa de atualização). Esse processamento corresponde ao procedimento de atualização da etapa S230, ilustrada na Figura 3, executado pelo aparelho de codificação de imagem em movimento 100 de acordo com a concretização 1 (Exemplo Comparativo 1).
[00216] Na etapa S1030, a unidade de codificação de entropia 301 extrai um índice de preditor de vetor de movimento mvp_idx_lx de um fluxo de bits codificado.
[00217] Na etapa S1040, a unidade de codificação de entropia 301 extrai uma diferença de vetores de movimento mvdLX do fluxo de bits codificado.
[00218] Na etapa S1050, a unidade de controle de decodificação 306 reconstrói um vetor de movimento na direção de previsão X. Especificamente, a unidade de controle de decodificação 306 identifica um preditor de vetor de movimento mvpListLX [mvp_idx_lx] da lista de candidatos mvpListLX de preditores de vetores de movimento gerados na etapa S1020, usando o índice de preditor de vetor de movimento mvp_idx_lx, extraído pela unidade de codificação de entropia 301. Como indicado pela expressão 1, a unidade de controle de decodificação 306 adiciona a diferença de vetores de movimento mvdLX e o preditor de vetor de movimento mvpListLX [mvp_idx_lx], obtendo, desse modo, o vetor de movimento mvLX. mvLX = mvpListLX [mvp_idx_lx] + mvdLX ... (Expressão 1)
[00219] Na etapa S1060, o aparelho de decodificação de imagem em movimento 300 gera um sinal de imagem prevista usando o vetor de movimento mvLX, reconstruído pela unidade de intra/interprevisão 305, e gera um sinal de imagem decodificado pela unidade de adição 304, adicionando um sinal residual reconstruído e um sinal de imagem prevista.
[00220] A Figura 17 é um fluxograma ilustrando um procedimento de processamento da etapa de criação de mvpListLX, que é a etapa S1010 na Figura 16.
[00221] Na etapa S400, a unidade de controle de decodificação 306 cria uma entrada de um grupo de blocos A (A0, A1). Especificamente, na etapa S401, a unidade de controle de decodificação 306 busca o grupo de blocos A (A0, A1) para um vetor de movimento, que está disponível sem processamento de escalamento. Se um vetor de movimento, que esteja disponível sem processamento de escalamento, não for obtido na busca (verdadeiro na S420), a unidade de controle de decodificação 306 busca um vetor de movimento disponível, e executa o processamento de escalamento no vetor de movimento obtido na busca (S430). Deve-se notar que o processamento da etapa S400 é igual ao processamento da etapa S400, executado pela unidade de controle de codificação 108 do aparelho de codificação de imagem em movimento 100.
[00222] Na etapa S800, a unidade de controle de decodificação 306 cria uma entrada do grupo de blocos B (B0, B1, B2).
[00223] Especificamente, na etapa S510, a unidade de controle de decodificação 306 busca no grupo de blocos B (B0, B1, B2) por um vetor de movimento, que esteja disponível sem processamento de escalamento. O processamento da etapa S510 é igual ao processamento da etapa S510, executado pela unidade de controle de codificação 108 do aparelho de codificação de imagem em movimento 100.
[00224] Na etapa S820, a unidade de controle de decodificação 306 determina se availableFlavLXB == 0, e, além do mais, o modo de previsão de qualquer bloco no grupo de blocos A é MODE_INTER. Mais especificamente, se a unidade de controle de decodificação 306 executar as etapas S400 e S800 em paralelo (sequencialmente), a unidade de controle de decodificação 306 determina na etapa S510 se availableFlag não está estabelecida (availableFlag está ainda estabelecida em 0), e, além do mais, se "o modo de previsão de quaisquer dos blocos A0, A1, e assim por diante no grupo de blocos A é MODE_INTER" retorna para verdadeiro, que é uma condição de determinação usada em vez da determinação isScaled.
[00225] Se availableFlavLXB == 0, e, além do mais, o modo de previsão de qualquer um dos blocos no grupo de blocos A for MODE_INTER (verdadeiro na S820), a unidade de controle de decodificação 306 termina a etapa de criação de mvpListLX, sem executar o processamento de escalamento.
[00226] Se availableFlavLXB == 0, e, além do mais, o modo de previsão de nenhum dos blocos no grupo de blocos A for MODE_INTER (falso na S820), a unidade de controle de decodificação 306 busca um vetor de movimento disponível, e executa processamento de escalamento no vetor de movimento obtido na busca (S530). O processamento da etapa S530 é igual ao processamento da etapa S530, executada pela unidade de controle de codificação 108 do aparelho de codificação de imagem em movimento 100.
[00227] A Figura 18 ilustra sequencialmente a etapa de criação de mvpListLX, que é a etapa S1010. Deve-se notar que as etapas na Figura 18 (S410, S420, S430, S510, S820, S530) são iguais às etapas na FIG. 17 (S410, S420, S430, S510, S820, S530).
[00228] Como é claro da Figura 18, no aparelho de decodificação de imagem em movimento 300, de acordo com a presente concretização, o que se determina na etapa S820, executada no processamento do grupo de blocos B, não depende do resultado do processamento da etapa S1010 no grupo de blocos A. Desse modo, é possível executar, em paralelo, as seguintes etapas: - S400: geração de uma entrada com base no grupo de blocos A (A0, A1); e - S800: geração de uma entrada com base no grupo de blocos B (A0, A1).
[Exemplo 1 de determinação (pontos comuns do aparelho de codificação de imagem em movimento 100 e do método de decodificação de imagem em movimento 300)]
[00229] A Figura 19 ilustra os resultados de determinação da etapa S620 na Figura 14 e da etapa S820 na Figura 18, obtidos quando um bloco atual a ser previsto (um bloco atual a ser codificado, um bloco atual a ser decodificado) é PU0 (consultar a Figura 4A). Como descrito acima, determina-se na etapa S620 na Figura 14 e na etapa S820 na Figura 18 se quaisquer dos blocos A0 e A1, no grupo de blocos A, é um bloco INTER.
[00230] No caso da Figura 19, um bloco adjacente A0 não está disponível, e o seu modo de previsão não é MODE_INTER. Além disso, embora um bloco adjacente A1 esteja disponível, o seu modo de previsão é MODE_INTRA e não MODE_INTER.
[00231] Portanto, na etapa de determinação mencionada acima, o resultado é determinado como sendo falso, uma vez que o modo de previsão de ambos os blocos adjacentes A0 e A0 não é MODE_INTER, no caso da Figura 19.
[Exemplo 2 de determinação (pontos comuns do aparelho de codificação de imagem em movimento 100 e do método de decodificação de imagem em movimento 300)]
[00232] A Figura 20 ilustra os resultados de determinação da etapa S620 na Figura 14 e etapa S820 na Figura 18, obtidos quando um bloco atual a ser previsto é PU1.
[00233] No caso da Figura 20, em relação ao bloco adjacente A0, CU3 ainda não está disponível. Além disso, o modo de previsão do bloco adjacente A1 é MODE_INTER.
[00234] Portanto, na etapa de determinação mencionada acima, o resultado é determinado como sendo verdadeiro, uma vez que o modo de previsão do bloco adjacente A1 é MODE_INTER, no caso da Figura 20.
(Efeitos e outros)
[00235] De acordo com o método de codificação de imagem em movimento e o aparelho de codificação de imagem em movimento, de acordo com a concretização 1, e o método de decodificação de imagem em movimento e o aparelho de decodificação de imagem em movimento, de acordo com a concretização 2, quando da geração de mvpListLX (etapa S620 na Figura 14, etapa S820 na Figura 18), a determinação de se o cálculo de escalamento foi feito no grupo de blocos A pode ser omitida na determinação de se o processamento de escalamento vai ser executado no grupo de blocos B. Em outras palavras, a unidade de controle de codificação 108 e a unidade de controle de decodificação 306 podem determinar se executar processamento de escalamento no grupo de blocos B, sem usar o resultado de processamento do grupo de blocos A.
[00236] Além disso, antes de criar a lista de candidatos mvpListLX, se uma determinação é apenas feita de se o grupo de blocos A inclui um bloco INTER, os candidatos de preditores de vetores de movimento podem ser calculados dos grupos de blocos A e B em paralelo (Figuras 14 e 18).
[00237] Deve-se notar que embora seja determinado nas etapas S620 e S820 se o modo de previsão de quaisquer dos blocos A0 e A1, no grupo de blocos A, é MODE_INTER, as concretizações não são limitadas a isso. Nas etapas S620 e S820, por exemplo, uma determinação pode ser feita de se nenhum dos seguintes são satisfeitos: (1) o modo de previsão de um bloco é MODE_INTRA; (2) um bloco está em um limite de fatia ou imagem; e (3) um bloco é um bloco não processado (bloco não codificado ou bloco não decodificado).
[00238] Além disso, nas concretizações 1 e 2, embora as etapas S620 e S820 sejam executadas após a etapa S510, as concretizações não são limitadas a isso. As etapas S620 e S820 podem ser executadas, como a etapa S840, antes da execução do processamento em paralelo, ou, especificamente, antes da execução das etapas S410 e S510, como ilustrado na Figura 21, por exemplo. Deve-se notar que a ordem de determinação (ordem de uma operação AND e uma operação OR) não é limitada às concretizações 1 e 2, mencionadas acima, e a ordem de operação lógica, de acordo com a qual o resultado de determinação é igual, é incluída na presente invenção.
[00239] Como descrito acima, de acordo com o método de codificação de imagem em movimento, de acordo com a concretização 1, e o método de decodificação de imagem em movimento, de acordo com a concretização 2, nas etapas S620 e S820, o processamento no grupo de blocos B pode ser executado sem usar o resultado de processamento do grupo de blocos A, e o processamento no grupo de blocos A e o processamento no grupo de blocos B podem ser executados em paralelo.
[Concretização 3]
[00240] A Figura 23 é um fluxograma ilustrando outra concretização do método de codificação de imagem em movimento, de acordo com a concretização 1, e o método de decodificação de imagem em movimento, de acordo com a concretização 2.
[00241] Embora nas concretizações 1 e 2, determine-se se o processamento de escalamento vai ser permitido no processamento do grupo de blocos B, com base no resultado de determinação de se qualquer um dos blocos (A0, A1) no grupo de blocos A é um bloco INTER, o processamento de escalamento no grupo de blocos B é completamente inibido na presente concretização.
[00242] Desse modo, é também possível resolver a dependência por não execução das etapas S620, S820 e S530.
[Concretização 4]
[00243] O processamento descrito em cada uma das concretizações pode ser simplesmente implementado em um sistema computadorizado independente, por gravação, em um meio de gravação, de um programa para implementar as configurações do método de codificação de imagem em movimento (método de codificação de imagem) e o método de decodificação de imagem em movimento (método de decodificação de imagem), descritos nas concretizações. O meio de gravação pode ser quaisquer meios de gravação, desde que o programa possa ser gravado, tal como um disco magnético, um disco óptico, um disco optomagnético, um cartão IC e uma memória semicondutora.
[00244] A seguir, as aplicações para o método de codificação de imagem em movimento (método de codificação de imagem) e para o método de decodificação de imagem em movimento (método de decodificação de imagem), descritos nas concretizações e nos sistemas usando os mesmos, vão ser descritas. 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, usando o método de codificação de imagem, e um aparelho de decodificação de imagem, usando o método de decodificação de imagem. Outras configurações no sistema podem ser alteradas, como adequado, dependendo dos casos.
[00245] A Figura 24 ilustra uma configuração global de um sistema provedor de conteúdo ex100, para implementar serviços de distribuição de conteúdo. A área para proporcionar serviços de comunicação é dividida em células de tamanho desejado, e as estações de base ex106, ex107, ex108, ex109 e ex110, que são estações sem fio fixas, são colocadas em todas as células.
[00246] O sistema provedor de conteúdo ex100 é conectado a dispositivos, tal como um computador ex111, um assistente digital pessoal (PDA) ex112, uma câmera ex113, um telefone celular ex114 e uma máquina de jogos ex115, por meio 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.
[00247] No entanto, a configuração do sistema provedor de conteúdo ex100 não é limitada à configuração mostrada na Figura 24, e uma combinação na qual quaisquer dos elementos são conectados é aceitável. Além disso, cada dispositivo pode ser diretamente conectado à rede telefônica ex104, em vez de pelas estações de base ex106 a ex110, que são as estações sem fio fixas. Além do mais, os dispositivos podem ser interligados entre si por meio de uma comunicação sem fio de distância curta e outras.
[00248] A câmera ex113, tal como uma câmera de vídeo digital, é capaz de capturar vídeo. Uma câmera ex116, tal como uma câmera digital, é capaz de capturar ambas as imagens e vídeo. Além do mais, o telefone celular ex114 pode ser um que satisfaça quaisquer dos padrões como o Sistema Global para Comunicações Móveis (GSM) (marca comercial registrada), Acesso Múltiplo por Divisão de Código (CDMA), Acesso Múltiplo por Divisão de Código em Banda Larga (W- CDMA), Evolução de Longo Prazo (LTE), e Acesso de Pacote em Alta Velocidade (HSPA). Alternativamente, o telefone celular ex114 pode ser um Sistema Telefônico Portátil Pessoal (PHS).
[00249] No sistema provedor de conteúdo ex100, um servidor de fluxo contínuo ex103 é conectado à câmera ex113, e outros, por meio da rede telefônica ex104 e da estação de base ex109, o que propicia a distribuição de imagens de um espetáculo ao vivo e outros. Nessa distribuição, um conteúdo (por exemplo, vídeo de espetáculo musical ao vivo), capturado pelo usuário usando a câmera ex113, é codificado como descrito acima em cada uma das concretizações (isto é, a câmera funciona como o aparelho de codificação de imagem, de acordo com um aspecto da presente invenção), e o conteúdo codificado é transmitido para o servidor de fluxo contínuo ex103. Por outro lado, o servidor de fluxo contínuo ex103 conduz a distribuição de fluxo dados de conteúdo transmitidos para os clientes mediante pedidos deles. Os clientes incluem o computador ex111, o PDA ex112, a câmera ex113, o telefone celular ex114 e a máquina de jogos ex115, que são capazes de decodificar os dados codificados mencionados acima. Todos os dispositivos, que receberam os dados distribuídos, decodificam e reproduzem os dados codificados (isto é, funciona como o aparelho de decodificação de imagem, de acordo com um aspecto da presente invenção).
[00250] Os dados capturados podem ser codificados pela câmera ex113 ou pelo servidor de fluxo contínuo ex103, que transmitem os dados, ou os métodos de codificação podem ser compartilhados entre a câmera ex113 e o servidor de fluxo contínuo ex103. De modo similar, os dados distribuídos podem ser decodificados pelos clientes ou pelo servidor de fluxo contínuo ex103, ou os métodos de decodificação podem ser compartilhados entre os clientes e o servidor de fluxo contínuo ex103. Além do mais, os dados das imagens paradas e o vídeo capturado, não apenas pela câmera ex113, mas também pela câmera ex116, podem ser transmitidos para o servidor de fluxo contínuo ex103 pelo computador ex111. Os métodos de codificação podem ser executados pela câmera ex116, computador ex111 ou servidor de fluxo contínuo ex103, ou compartilhados entre eles.
[00251] Além do mais, os métodos de codificação e decodificação podem ser executados por um LSI ex500, incluído geralmente em cada um dos computador ex111 e dispositivos. O LSI ex500 pode ser configurado de um único chip ou de vários chips. O software para codificação e decodificação de vídeo pode ser integrado em algum tipo de um meio de gravação (tal como um CD-ROM, um disco flexível e um disco rígido), que é legível pelo computador ex111 e outros, e os métodos de codificação e decodificação podem ser executados usando o software. Além do mais, quando o telefone 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 pelo LSI ex500, incluído no telefone celular ex114.
[00252] Além do mais, o servidor de fluxo contínuo ex103 pode ser composto de servidores e computadores, e pode descentralizar os dados e processar os dados descentralizados, gravar, ou distribuir os dados.
[00253] Como descrito acima, os clientes podem receber e reproduzir os dados codificados no sistema provedor de conteúdo ex100. Em outras palavras, os clientes podem receber e decodificar as informações transmitidas pelo usuário, e reproduzir os dados decodificados em tempo real no sistema provedor de conteúdo ex100, de modo que o usuário, que não tem qualquer direito e equipamento particulares possa implementar difusão pessoal.
[00254] À parte do exemplo do sistema provedor de conteúdo ex100, pelo menos um do aparelho de codificação de imagem em movimento (aparelho codificador de imagem) e do aparelho de decodificação de imagem em movimento (aparelho de decodificação de imagem), descritos nas concretizações, podem implementado em um sistema de difusão digital ex200, ilustrado na Figura 25. Mais especificamente, uma estação de difusão ex201 se comunica ou transmite, via ondas de rádio, a um satélite de difusão ex202, dados multiplexados obtidos por multiplexação de dados e outros em dados de vídeo. Os dados de vídeo são dados codificados pelo método de codificação de imagem em movimento, descrito nas concretizações (isto é, os dados codificados pelo aparelho de codificação de imagem em movimento, de acordo com um aspecto da presente invenção). Ao receber os dados multiplexados, o satélite de difusão ex202 transmite as ondas de rádio para difusão. Depois, uma antena doméstica ex204, com uma função de recepção de difusão por satélite, recebe as ondas de rádio. A seguir, um dispositivo, tal como uma televisão (receptor) ex300 e uma caixa de sinais de frequência (STB) ex217 decodifica os dados multiplexados recebidos, e reproduz os dados decodificados (isto é, funciona como o aparelho de decodificação de imagem em movimento, de acordo com um aspecto da presente invenção).
[00255] Além do mais, um leitor / gravador ex218 (i) lê e decodifica os dados multiplexados gravados em um meio de gravação ex215, tal como um DVD e um BD, ou (i) codifica sinais de vídeo no meio de gravação ex215, e, em alguns casos, escreve os dados obtidos por multiplexação de um sinal de áudio nos dados codificados. O leitor / gravador ex218 pode incluir o aparelho de decodificação de imagem em movimento ou o aparelho de codificação de imagem em movimento, como mostrados em nas concretizações. Neste caso, os sinais de vídeo reproduzidos são exibidos no monitor ex219, e podem ser reproduzidos por outro dispositivo ou sistema, usando o meio de gravação ex215, no qual os dados multiplexados são gravados. É também possível implementar o aparelho de decodificação de imagem em movimento na caixa de sinais de frequência ex217, conectada ao cabo ex203 por um cabo de televisão, ou à antena ex204, para difusão via satélite e/ou terrestre, de modo a exibir os sinais de vídeo no monitor ex219 da televisão ex300. O aparelho de decodificação de imagem em movimento pode ser implementado não na caixa de sinais de frequência, mas na televisão ex300.
[00256] A Figura 26 ilustra a televisão (receptor) ex300, que usa o método de codificação de imagem em movimento e o método de decodificação de imagem em movimento descritos nas concretizações. A televisão ex300 inclui: um sintonizador ex301, que obtém ou proporciona dados multiplexados, obtidos por multiplexação de dados de áudio em dados de vídeo, pela antena ex204 ou pelo cabo ex203, etc., que recebe uma difusão; uma unidade de modulação / desmodulação ex302, que desmodula os dados multiplexados recebidos, ou modula os dados em dados multiplexados, que vão ser fornecidos no exterior; e uma unidade de multiplexação / desmultiplexação ex303, que desmultiplexa os dados multiplexados modulados em dados de vídeo e dados de áudio, ou multiplexa dados de vídeo e dados de áudio, codificados por uma unidade de processamento de sinais ex306 em dados.
[00257] A televisão ex300 inclui ainda: uma unidade de processamento de sinais ex306, que inclui uma unidade de processamento de sinais de áudio ex304 e uma unidade de processamento de sinais 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, que inclui um alto-falante ex307, que proporciona o sinal de áudio decodificado, e uma unidade de exibição ex308, que exibe o sinal de vídeo decodificado, tal como um monitor. Além do mais, a televisão ex300 inclui uma unidade de interface ex317, que inclui uma unidade de entrada em operação ex312, que recebe uma entrada de uma operação de usuário. Além do mais, a televisão ex300 inclui uma unidade de controle ex310, que controla completamente todos os elementos constituintes da televisão ex300, e uma unidade de circuito de fonte de energia ex311, que fornece energia a todos os elementos. Além da unidade de entrada em operação ex312, a unidade de interface ex317 pode incluir: uma ponte ex313, que é conectada a um dispositivo externo, tal como um leitor / gravador ex218; uma unidade de encaixe ex314 para propiciar fixação do meio de gravação ex216, tal como um cartão SD; uma unidade ex315 a ser conectada a um meio de gravação externo, tal como um disco rígido; e um modem ex316, a ser conectado a uma rede telefônica. Neste caso, o meio de gravação ex216 pode gravar eletricamente informações usando um elemento de memória semicondutora não volátil / volátil, para armazenamento. Os elementos constituintes da televisão ex300 são conectados entre si por um barramento síncrono.
[00258] Primeiro, a configuração na qual a televisão ex300 decodifica os dados multiplexados de fora, pela antena ex204 e outros, e reproduz os dados decodificados, vai ser descrita. Na televisão ex300, mediante uma operação de usuário por meio de um controle remoto ex220 e outros, a unidade de multiplexação / desmultiplexação ex303 desmultiplexa os dados multiplexados, desmodulados pela unidade de modulação / desmodulação ex302, sob controle da unidade de controle ex310, incluindo uma CPU. Além do mais, a unidade de processamento de sinais de áudio ex304 decodifica os dados de áudio desmultiplexados, e a unidade de processamento de sinais de vídeo ex305 decodifica os dados de vídeo desmultiplexados, usando o método de decodificação descrito nas concretizações, na televisão ex300. A unidade de saída ex309 proporciona o sinal de vídeo e o sinal de áudio fora, respectivamente. Quando a unidade de saída ex309 proporciona o sinal de vídeo e o sinal de áudio, os sinais podem ser armazenados temporariamente nos armazenamentos temporários ("buffers") ex318 e ex319, e outros, de modo que os sinais sejam reproduzidos em sincronização entre si. Além do mais, a televisão ex300 pode ler os dados multiplexados, não por meio de uma difusão e outros, mas dos meios de gravação ex215 e ex216, tais como um disco magnético, um disco óptico e um cartão SD. A seguir, uma configuração na qual a televisão ex300 codifica um sinal de áudio e um sinal de vídeo, e transmite os dados para fora e escreve os dados em um meio de gravação, vai ser descrita. Na televisão ex300, mediante uma operação de usuário pelo controle remoto ex200 e outros, a unidade de processamento de sinais de áudio ex304 codifica um sinal de áudio, e a unidade de processamento de sinais de vídeo ex305 codifica um sinal de vídeo, sob controle da unidade de controle ex310, usando o método de codificação descrito nas concretizações. A unidade de multiplexação / desmultiplexação ex303 multiplexa o sinal de vídeo e o sinal de áudio codificados, e proporciona o sinal resultante para fora. Quando a unidade de multiplexação / desmultiplexação ex310 multiplexa o sinal de vídeo e o sinal de áudio, os sinais podem ser armazenados temporariamente nos armazenamentos temporários ex320 e ex321, e outros, de modo que os sinais são reproduzidos em sincronização entre si. Neste caso, os armazenamentos temporários ex318, ex319, ex320 e ex321 podem ser plurais, como ilustrado, ou pelo menos um armazenamento temporário pode ser compartilhado na televisão ex300. Além do mais, os dados podem ser armazenados em um armazenamento temporário, de modo que os estouro e estouro negativo podem ser evitados, por exemplo, entre a unidade de modulação / desmodulação ex302 e a unidade de multiplexação / desmultiplexação ex303.
[00259] Além do mais, a televisão ex300 pode incluir uma configuração para receber uma entrada AV, de um microfone ou de uma câmera, diferente de uma configuração para obter dados de áudio e vídeo de uma difusão ou um meio de gravação, e pode codificar os dados obtidos. Embora a televisão ex300 possa codificar, multiplexar e proporcionar dados de fora na descrição, pode ser capaz de apenas receber, decodificar e proporcionar dados de fora, mas não codificação, multiplexação e proporcionar dados de fora.
[00260] Além do mais, quando o leitor / gravador ex218 lê ou escreve dados multiplexados de ou em um meio de gravação, um da televisão ex300 e do leitor / gravador ex218 pode decodificar ou codificar os dados multiplexados, e a televisão ex300 e o leitor / gravador ex218 podem compartilhar a decodificação ou codificação.
[00261] Como um exemplo, a Figura 27 ilustra uma configuração de uma unidade de reprodução / gravação de informações ex400, quando dados são lidos ou escritos de ou em um disco óptico. A unidade de reprodução / gravação de informações ex400 inclui os elementos constituintes ex401, ex402, ex403, ex404, ex405, ex406 e ex407, que vão ser descritos abaixo. A cabeça óptica ex401 irradia um ponto de laser em uma superfície de gravação do meio de gravação ex215, que é um disco óptico para escrever 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 de modulação ex402 aciona eletricamente 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 desmodulação de reprodução ex403 amplifica um sinal de reprodução, obtido por detecção elétrica da luz refletida da superfície de gravação, usando um fotodetector incluído na cabeça óptica ex401, e desmodula o sinal de reprodução por separação de um componente de sinal gravado no meio de gravação ex215, para reproduzir as informações necessárias. O armazenamento temporário ex404 retém temporariamente as informações que vão ser 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 servocontrole ex406 movimenta a cabeça óptica ex410 a uma trilha de informações predeterminadas, enquanto controla o acionamento de rotação do motor do disco ex405, de modo a seguir o ponto de laser. A unidade de controle de sistema ex407 controla inteiramente a unidade de reprodução / gravação de informações ex400. Os métodos de leitura e escrita podem ser implementados pela unidade de controle de sistema ex407, usando várias informações armazenadas no armazenamento temporário ex404, e gerando e adicionando novas informações, se necessário, e por meio das unidade de gravação de modulação ex402, unidade de desmodulação de reprodução ex403 e unidade de servocontrole ex406, que gravam e reproduzem informações pela cabeça óptica ex401, enquanto são operadas em uma maneira coordenada. A unidade de controle de sistema ex407 inclui, por exemplo, um microprocessador, e executa o processamento fazendo com que um computador execute um programa para ler e escrever.
[00262] Embora a cabeça óptica ex401 irradie um ponto de laser na descrição, pode executar gravação em alta densidade, usando luz de campo próximo.
[00263] A Figura 28 ilustra o meio de gravação ex215, que é o disco óptico. Na superfície de gravação do meio de gravação ex215, ranhuras de guia são formadas espiralmente, e uma trilha de informações ex230 grava, de antemão, informações de endereço indicativas de uma posição absoluta no disco, de acordo com uma variação em foram das ranhuras de guia. As informações de endereço incluem informações para determinar as posições de blocos de gravação ex231, que são uma unidade para gravação de dados. A reprodução da trilha de informações ex230 e a leitura das informações de endereço, em um aparelho que grava e reproduz dados, pode provocar a determinação das posições dos blocos de gravação. Além do mais, 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 de 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, são, respectivamente, para uso específico, exceto para gravação de dados de usuário. A unidade de reprodução / gravação de informações 400 lê e escreve dados de áudio codificados, dados de vídeo codificados, ou dados multiplexados obtidos por multiplexação dos dados de áudio e dados de vídeo codificados, da e na área de gravação de dados ex233 do meio de gravação ex215.
[00264] Embora um disco óptico tendo uma camada, tal como um DVD e um BD, seja descrito como um exemplo na descrição, o disco óptico não é assim limitado, e pode ser um disco óptico tendo uma estrutura de multicamada e capaz de ser gravado em uma parte diferente da superfície. Além do mais, o disco óptico pode ter uma estrutura para gravação / reprodução multidimensional, tal como gravação de informações usando luzes de cores com diferentes comprimentos de onda na mesma parte do disco óptico, e para gravação de informações tendo diferentes camadas de vários ângulos.
[00265] Além do mais, um carro ex210 tendo uma antena ex205 pode receber dados do satélite ex202 e de outros, e reproduzir vídeo em um dispositivo de exibição, tal como um sistema de navegação de carro ex211, colocado no carro ex210, no sistema de difusão digital ex200. Neste caso, uma configuração do sistema de navegação de carro ex211 vai ser, por exemplo, uma configuração inclui uma unidade receptora de GPS da configuração ilustrada na Figura 26. O mesmo vai ser verdade para a configuração dos computador ex111, telefone celular ex114 e outros.
[00266] A Figura 29 ilustra o telefone celular ex114, que usa o método de codificação de imagem em movimento e o método de decodificação de imagem em movimento descritos nas concretizações. O telefone celular ex114 inclui: uma antena ex350 para transmitir e receber ondas de rádio pela estação de base ex110; uma unidade de câmera ex365 capaz de capturar imagens em movimento e paradas; e uma unidade de exibição ex358, tal como um visor de cristal líquido, para exibir os dados, tal como o vídeo decodificado capturado pela unidade de câmera ex365, ou recebido pela antena ex350. O telefone celular ex114 inclui ainda: uma unidade de corpo principal incluindo uma unidade de chave de operação ex366; uma unidade de saída de áudio ex357, tal como um alto-falante, para saída de áudio; uma unidade de entrada de áudio ex356, tal como um microfone, para entrada de áudio; uma unidade de memória ex367 para armazenar vídeo ou imagens paradas capturadas, áudio gravado, dados codificados ou decodificados do vídeo recebido, das imagens paradas, de e-mails ou outros; e uma unidade de encaixe ex364, que é uma unidade de interface para um meio de gravação, que armazena dados da mesma maneira que na unidade de memória ex367.
[00267] A seguir, um exemplo de uma configuração do telefone celular ex114 vai ser descrito com referência à Figura 29B. No telefone celular ex114, uma unidade de controle principal ex360, projetada para controlar inteiramente cada unidade do corpo principal, incluindo a unidade de exibição ex358, bem como a unidade de chave de operação ex366, são conectadas mutuamente, por meio de um barramento síncrono ex370, a uma unidade de circuito de fonte de energia ex361, uma unidade de controle de entrada em operação ex362, uma unidade de processamento de sinais de vídeo ex355, uma unidade de interface de câmera ex363, uma unidade de controle de visor de cristal líquido (LCD) ex359, uma unidade de modulação / desmodulação ex352, uma unidade de multiplexação / desmultiplexação ex353, uma unidade de processamento de sinais de áudio ex354, uma unidade de encaixe ex364 e a unidade de memória ex367.
[00268] Quando uma chave de término de chamada ou uma chave de energia é ligada por uma operação de usuário, a unidade de circuito de fonte de energia ex361 fornece às respectivas unidades energia de um conjunto de baterias, de modo a ativar o telefone celular ex114.
[00269] No telefone celular ex114, a unidade de processamento de sinais de áudio ex354 converte os sinais de áudio, coletados pela unidade de entrada de áudio ex356, em 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. Depois, a unidade de modulação / desmodulação ex352 executa um processamento de espectro disperso nos sinais de áudio digitais, e a unidade de transmissão e recebimento ex351 executa conversão de analógico em digital e a conversão de frequência nos dados, de modo a transmitir os dados pela antena ex350. Também, no telefone celular ex114, a unidade de transmissão e recebimento ex351 amplifica os dados recebidos pela antena ex350, em modo de conversação por voz, e executa a conversão de frequência e a conversão de analógico em digital nos dados. Depois, a unidade de modulação / desmodulação ex352 executa processamento de espectro disperso inverso nos dados, e a unidade de processamento de sinais de áudio ex354 converte os mesmos em sinais de áudio analógicos, de modo a transmiti-los pela unidade de saída de áudio ex357.
[00270] Além do mais, quando um e-mail, em modo de comunicação por dados, é transmitido, os dados de texto do e-mail, introduzidos por operação da unidade de chave de operação ex366 e outros do corpo principal, são enviados para a unidade de controle principal ex360 por meio da unidade de controle de entrada em operação ex362. A unidade de controle principal ex360 faz com que a unidade de modulação / desmodulação ex352 execute processamento de espectro disperso nos dados de texto, e a unidade de transmissão e recebimento ex351 executa a conversão de digital em analógico e a conversão de frequência nos dados resultantes, para transmitir os dados para a estação de base ex110 pela antena ex350. Quando um e-mail é recebido, o processamento, que é aproximadamente inverso ao processamento para transmissão de um e-mail, é executado nos dados recebidos, e os dados resultantes são proporcionados na unidade de exibição ex358.
[00271] Quando vídeo, imagens paradas, ou vídeo e áudio em modo de comunicação por dados é ou são transmitidos, a unidade de processamento de sinais de vídeo ex355 comprime e codifica os sinais de vídeo, fornecidos da unidade de câmera ex365, usando o método de codificação de imagem em movimento mostrado nas concretizações (isto é, funciona como o aparelho de codificação de imagem em movimento de acordo com o aspecto da presente invenção), e transmite os dados de vídeo codificados para a unidade de multiplexação / desmultiplexação ex353. Em comparação, durante quando a unidade de câmera ex365 captura vídeo, imagens paradas e outros, a unidade de processamento de sinais de áudio ex354 codifica os sinais de áudio, coletados pela unidade de entrada de áudio ex356, e transmite os dados de áudio codificados para a unidade de multiplexação / desmultiplexação ex353.
[00272] A unidade de multiplexação / desmultiplexação ex353 multiplexa os dados de vídeo codificados, fornecidos da unidade de processamento de sinais de vídeo ex355, e os dados de áudio, fornecidos pela unidade de processamento de sinais de áudio ex354, usando um método predeterminado. Depois, a unidade de modulação / desmodulação (unidade de circuito de modulação / desmodulação) ex352 executa processamento de espectro disperso nos dados multiplexados, e a unidade de transmissão e recepção ex351 executa conversão de digital em analógico e a conversão de frequência nos dados, de modo a transmitir os dados resultantes pela antena ex350.
[00273] Quando do recebimento de dados de um arquivo de vídeo, que é ligado a uma página da rede e outros, em modo de comunicação por dados, ou quando do recebimento de um e-mail com vídeo e/ou áudio anexado(s), para decodificar os dados multiplexados recebidos pela antena ex350, a unidade de multiplexação / desmultiplexação ex353 desmultiplexa os dados multiplexados em um fluxo de bits de dados de vídeo e um fluxo de bits de dados de áudio, e fornece à unidade de processamento de sinais de vídeo ex355 dados de vídeo codificados e à unidade de processamento de sinais de áudio ex354 dados de vídeo codificados, pelo barramento síncrono ex370. A unidade de processamento de sinais de vídeo ex355 decodifica o sinal de vídeo usando um método de decodificação de imagem em movimento, correspondente ao método de codificação de imagem em movimento mostrado nas concretizações (isto é, funciona como o aparelho de decodificação de imagem em movimento de acordo com o aspecto da presente invenção), e, depois, a unidade de exibição ex358 exibe, por exemplo, o vídeo e as imagens paradas incluídos no arquivo de vídeo ligado à página da rede pela unidade de controle de LCD ex359. Além do mais, a unidade de processamento de sinais de áudio ex354 decodifica o sinal de áudio, e a unidade de saída de áudio ex357 proporciona o áudio.
[00274] Além do mais, de modo similar à televisão ex300, um terminal, tal como o telefone celular ex114, tem, provavelmente, três tipos de configurações de implementação incluindo não apenas (i) um terminal de transmissão e recepção incluindo ambos um aparelho de codificação e 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 difusão digital ex200 receba e transmita os dados multiplexados, obtidos por multiplexação de dados de áudio em dados de vídeo na descrição, os dados multiplexados podem ser dados obtidos por multiplexação não de dados de áudio, mas de dados de caracteres relacionados ao vídeo em dados de vídeo, e podem não ser dados multiplexados, mas os próprios dados de vídeo.
[00275] Como tal, o método de codificação de imagem em movimento e o método de decodificação de imagem em movimento, nas concretizações, podem ser usados em quaisquer dos dispositivos e sistemas descritos. Desse modo, as vantagens descritas nas concretizações podem ser obtidas.
[00276] Além do mais, a presente invenção não é limitada às concretizações mencionadas acima, e várias modificações e revisões são possíveis sem que se afaste do âmbito da presente invenção.
[Concretização 5]
[00277] Os dados de vídeo podem ser gerados por comutação, se necessário, entre (i) o método de codificação de imagem em movimento ou o aparelho de codificação de imagem em movimento, mostrados nas concretizações, e (ii) um método de codificação de imagem em movimento ou um aparelho de codificação de imagem em movimento, em conformidade com um diferente padrão, tais como MPEG-2, MPEG-4 AVC e VC-1.
[00278] Neste caso, quando vários dados de vídeo, que se conformam com os diferentes padrões, são gerados e são depois decodificados, os métodos de decodificação precisam ser selecionado para se conformarem aos diferentes padrões. No entanto, uma vez que o padrão de todos dos vários dados de vídeo não podem ser detectados, há um problema de que um método de decodificação adequado não pode ser selecionado.
[00279] Para solucionar o problema, os dados multiplexados, obtidos por multiplexação de dados de áudio e outros em dados de vídeo, têm uma estrutura incluindo informações de identificação indicativas de que a que padrão os dados de vídeo se conformam. A estrutura específica dos dados multiplexados, incluindo os dados de vídeo gerados no método de codificação de imagem em movimento e pelo aparelho de codificação de imagem em movimento, mostrados nas concretizações, vai ser descrita abaixo. Os dados multiplexados são um fluxo digital no formato de fluxo de transporte MPEG-2.
[00280] A Figura 30 ilustra uma estrutura dos dados multiplexados. Como ilustrado na Figura 30, os dados multiplexados podem ser obtidos por multiplexação de pelo menos um de um fluxo de vídeo, um fluxo de áudio, um fluxo de gráficos de apresentação (PG) e um fluxo de gráficos interativos. O fluxo de vídeo representa vídeo primário e vídeo secundário de um filme, o fluxo de áudio (IG) representa uma parte de áudio primário, e uma parte de áudio secundário, que vai ser misturada com a parte de áudio primário, e o fluxo de gráficos de apresentação representa as legendas do filme. Neste caso, 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 do mais, o fluxo de gráficos interativos representa uma tela interativa, que vai ser gerada por disposição de componentes GUI em uma tela. O fluxo de vídeo é codificado no método de codificação de imagem em movimento ou pelo aparelho de codificação de imagem em movimento, mostrados nas concretizações, ou em um método de codificação de imagem em movimento ou por um aparelho de codificação de imagem em movimento, em conformidade com um padrão convencional, tais como MPEG-2, MPEG-4 AVC e VC-1. O fluxo de áudio é codificado de acordo com um padrão, tais como Dolby-AC-3, Dolby Digital Plus, MLP, DTS, DTS-HD, e PCM linear.
[00281] Cada fluxo incluído nos dados multiplexados é identificado por PID. Por exemplo, 0x1011 é alocado no fluxo de vídeo, para ser usado para vídeo de um filme, 0x1100 a 0x111F são alocados aos fluxos de áudio, 0x1200 a 0x121F são alocados aos fluxos de gráficos de apresentação, 0x1400 a 0x141F são alocados aos fluxos de gráficos interativos, 0x1B00 a 0xB1F são alocados aos fluxos de vídeo, que vão ser usados para vídeo secundário do filme, e 0xA00 a 0xA1F são alocados aos fluxos de áudio, que vão ser usados para o áudio secundário, a ser misturado com o áudio primário.
[00282] A Figura 31 ilustra esquematicamente como os dados são multiplexados. Primeiro, um fluxo de vídeo ex235, composto de quadros de vídeo, e um fluxo de áudio ex238, composto de 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. De modo similar, os dados de um fluxo de gráficos de apresentação ex241 e dos dados de um fluxo de gráficos interativos 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. Esses pacotes TS são multiplexados em um fluxo para obter os dados multiplexados ex247.
[00283] A Figura 32 ilustra como um fluxo de vídeo é armazenado em um fluxo de pacotes PES em mais detalhes. A primeira barra na Figura 32 mostra um fluxo de quadros de vídeo em um fluxo de vídeo. A segunda barra mostra o fluxo de pacotes PES. Como indicado pelas setas indicadas como yy1, yy2, yy3 e yy4 na FIG. 32, o fluxo de vídeo é dividido em imagens como imagens I, imagens B e imagens P, todas sendo uma unidade de apresentação de vídeo, e as imagens são armazenadas em uma carga útil de todos os pacotes PES. Todos os pacotes PES têm um cabeçalho PES, e o cabeçalho PES armazena um Período de Tempo de Apresentação (PTS), indicando um tempo de exibição da imagem, e um Período de Tempo de Decodificação (DTS), indicando um tempo de decodificação da imagem.
[00284] A Figura 33 ilustra um formato de pacotes TS, que vão ser escritos finalmente 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, tal como um PID, para identificar um fluxo e uma carga útil TS de 184 bytes para armazenamento de dados. Os pacotes PES são divididos e armazenados nas cargas úteis TS, respectivamente. Quando um BC ROM é usado, cada um dos pacotes TS recebe um TP_Extra_Header de 4 bytes, resultando, desse modo, em pacotes-fontes de 192 bytes. Os pacotes-fontes são escritos nos dados multiplexados. O TP_Extra_Header armazena informações, tais como um Período de Tempo de Chegada (ATS). O ATS mostra um tempo de início de transferência, no qual cada um dos pacotes TS vai ser transferido para um filtro PID. Os pacotes-fontes são dispostos nos dados multiplexados, como mostrado no fundo da Figura 33. Os números, que são incrementados a partir da cabeça dos dados multiplexados, são chamados números de pacotes-fontes (SPNs).
[00285] Cada um dos pacotes TS, incluído nos dados multiplexados, inclui não apenas fluxos de áudio, vídeo, legendas e outros, mas também uma Tabela de Associação de Programas (PAT), uma Tabela de Mapas de Programas (PMT) e uma Referência de Horários de Programas (PCR). A PAT mostra o que um PID na PMT, usado nos dados multiplexados, indica, e um PID da própria PAT é registrado como zero. A PMT armazena PIDs dos fluxos de vídeo, áudio, legendas e outros, incluídos nos dados multiplexados, e informações de atributos dos fluxos correspondentes aos PIDs. A PMT tem também vários descritores, relativos aos dados multiplexados. Os descritores têm informações, tais como informações de controle de cópias, mostrando se a cópia dos dados multiplexados é ou não permitida. A PCR armazena informações de tempo STC, correspondentes a um ATS mostrando quando o pacote PCR é transferido a um decodificador, para obter sincronização entre um Relógio de Tempo de Chegada (ATC), que um eixo de tempo dos ATSs, e um Relógio de Tempo do Sistema (STC), que é um eixo de tempo de PTSs e DTSs.
[00286] A Figura 34 ilustra a estrutura de dados da PMT em detalhes. Um cabeçalho da PMT é disposto na parte de topo da PMT. O cabeçalho da PMT descreve o comprimento dos dados incluídos na PMT e outros. Vários descritores relativos aos dados multiplexados são dispostos após o cabeçalho da PMT. Informações, tais como as informações de controle de cópia, são descritas nos descritores. Após os descritores, vários pedaços de informações de fluxos, relativas aos fluxos incluídos nos dados multiplexados, são dispostos. Cada pedaço de informações fluxos incluem descritores de fluxos, todos descrevendo informações, tal como um tipo de fluxo, para identificar um codec (codificador / decodificador) de um fluxo, um PID de fluxo e informações de atributos de fluxos (tal como uma taxa de quadros ou uma relação de aspecto). Os descritores de fluxo são iguais em número ao número de fluxos nos dados multiplexados.
[00287] Quando os dados multiplexados são gravados em um meio de gravação e outros, são gravados conjuntamente com arquivos de informações de dados multiplexados.
[00288] Todos os arquivos de informações de dados multiplexados são informações de gerenciamento dos dados multiplexados, como mostrado na Figura 35. Os arquivos de informações de dados multiplexados estão em uma correspondência um a um com os dados multiplexados, e cada um dos arquivos inclui informações de dados multiplexados, informações de atributos de fluxos, e um mapa de entrada.
[00289] Como ilustrado na Figura 35, as informações de dados multiplexados incluem uma velocidade do sistema, um tempo de início de reprodução e um tempo de final de reprodução. A velocidade do sistema indica a taxa de transferência máxima, na qual um decodificador de alvo do sistema, a ser descrito abaixo, transfere os dados multiplexados a um filtro PID. Os intervalos dos ATSs, incluídos nos dados multiplexados, são ajustados para que não sejam maiores do que uma velocidade do sistema. O tempo de início de 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, no final dos dados multiplexados, e o PTS é ajustado com o tempo de fim de reprodução.
[00290] Como mostrado na Figura 36, um pedaço de informações de atributos é registrado nas informações de atributos de fluxos, para cada PID de cada corrente incluída nos dados multiplexados. Cada pedaço de informações de atributos tem diferentes informações, dependendo de se o fluxo correspondente é um fluxo de vídeo, um fluxo de áudio, um fluxo de gráficos de apresentação ou um fluxo de gráficos interativos. Cada pedaço de informações de atributos de fluxos de vídeo conduz informações, incluindo que tipo de codec de compressão é usado para compressão do fluxo de vídeo, e as resoluções, relação de aspecto e taxa de quadros dos pedaços de dados de imagem, que são incluídos no fluxo de vídeo. Cada pedaço de informações de atributos de fluxos de áudio conduz informações, incluindo que tipo de codec de compressão é usado para compressão do fluxo de áudio, quantos canais são incluídos no fluxo de áudio, que linguagem o fluxo de áudio suporta, e quão alta é a frequência de amostragem. As informações de atributos de fluxos de vídeo e as informações de atributos de fluxos de áudio são usadas para inicialização de um decodificador, antes que o aparelho reproduza as informações.
[00291] Na presente concretização, os dados multiplexados, que vão ser usados, são de um tipo de corrente incluído na PMT. Além do mais, quando os dados multiplexados são gravados em um meio de gravação, as informações de atributos de fluxos de vídeo, incluídas nas informações de dados multiplexados, são usadas. Mais especificamente, o método de codificação de imagem em movimento ou o aparelho de codificação de imagem em movimento, descritos nas concretizações, inclui uma etapa de uma etapa ou uma unidade para alocar informações únicas indicativas de dados de vídeo gerados pelo método de codificação de imagem em movimento ou aparelho de codificação de imagem em movimento, nas concretizações, do tipo de fluxo incluído na PMT ou das informações de atributos de fluxos de vídeo. Com a configuração, os dados de vídeo gerados pelo método de codificação de imagem em movimento ou aparelho de codificação de imagem em movimento, nas concretizações, podem ser distinguidos dos dados de vídeo que se conformam com outro padrão.
[00292] Além do mais, a Figura 37 ilustra as etapas do método de decodificação de imagem em movimento, de acordo com a presente concretização. Na etapa exS100, o tipo de fluxo, incluído na PMT, ou as informações de atributos de fluxos de vídeo, incluídas nas informações de dados multiplexados, são obtidos dos dados multiplexados. A seguir, na etapa exS101, determina-se se ou não o tipo de fluxo das informações de atributos de fluxos de vídeo indica que os dados multiplexados são gerados pelo método de codificação de imagem em movimento ou aparelho de codificação de imagem em movimento, nas concretizações. Quando se determina que o tipo de fluxo ou as informações de atributos de fluxos de vídeo indicam que os dados multiplexados são gerados pelo método de codificação de imagem em movimento ou aparelho de codificação de imagem em movimento, nas concretizações, na etapa exS102, a decodificação é feita pelo método de decodificação de imagem em movimento, nas concretizações. Além do mais, quando o tipo de fluxo ou as informações de atributos de fluxos de vídeo indicam conformidade com os padrões convencionais, tais como MPEG-2, MPEG-4 AVC e VC-1, na etapa exS103, a decodificação é feita por um método de decodificação de imagem em movimento, em conformidade com os padrões convencionais.
[00293] Como tal, a alocação de um valor único novo, para o tipo de fluxo ou as informações de atributos de fluxos de vídeo, propicia a determinação de se ou não o método de decodificação de imagem em movimento ou aparelho de decodificação de imagem em movimento, nas concretizações, podem executar a decodificação. Mesmo quando dados multiplexados, que se conformam com um diferente padrão, são introduzidos, um método ou aparelho de decodificação adequado pode ser selecionado. Desse modo, fica possível decodificar as informações sem qualquer erro. Além do mais, o método ou aparelho de codificação de imagem em movimento, ou o método ou aparelho de decodificação de imagem em movimento, na presente concretização, podem ser usados nos dispositivos e sistemas descritos acima.
[Concretização 6]
[00294] Todos do método de codificação de imagem em movimento, aparelho de codificação de imagem em movimento, método de decodificação de imagem em movimento e aparelho de decodificação de imagem em movimento, nas concretizações, são obtidos, tipicamente, na forma de um circuito integrado ou um circuito Integrado em Grande Escala (LSI). Como um exemplo do LSI, a Figura 38 ilustra uma configuração do LSI ex500, que é feita em um chip. O LSI ex500 inclui os elementos ex501, ex502, ex503, ex504, ex505, ex506, ex507, ex508 e ex509, que vão ser descritos abaixo, e os elementos são conectados entre si por meio de um barramento ex510. A unidade de circuito de fonte de energia ex505 é ativada por suprimento de energia a cada um dos elementos, quando a unidade de circuito de fonte de energia ex505 é ligada.
[00295] Por exemplo, quando a codificação é feita, o LSI ex500 recebe um sinal AV de um microfone ex117, uma câmera ex113 e outros, por meio de um AV IO ex509, sob o controle de uma unidade de controle ex501, incluindo uma CPU ex504, e uma unidade de controle de frequência de excitação ex512. O sinal AV recebido é armazenado temporariamente em uma memória externa ex511, tal como uma SDRAM. Sob o controle da unidade de controle ex501, os dados armazenados são segmentados em partes de dados, de acordo com o grau e a velocidade de processamento a serem transmitidos a uma unidade de processamento de sinais ex507. Depois, a unidade de processamento de sinais ex507 codifica um sinal de áudio e/ou um sinal de vídeo. Neste caso, a codificação do sinal de vídeo é a codificação descrita nas concretizações. Além do mais, a unidade de processamento de sinais ex507 algumas vezes multiplexa os dados de áudio codificados e os dados de vídeo codificados, e um fluxo IO ex506 proporciona os dados multiplexados fora. Os dados multiplexados proporcionados são transmitidos à estação de base ex107, ou escritos no meio de gravação ex215. Quando conjuntos de dados são multiplexados, os dados devem ser temporariamente armazenados no armazenamento temporário ex508, de modo que os conjuntos de dados sejam armazenados temporariamente no armazenamento temporário ex508, de modo que os conjuntos de dados sejam sincronizados entre si.
[00296] Embora a memória ex511 seja um elemento fora do LSI ex500, pode ser incluída no LSI ex500. O armazenamento temporário ex508 não é limitado a um armazenamento temporário, mas pode ser composto de armazenamentos temporários. Além do mais, o LSI ex500 pode ser feito em um chip ou em vários chips.
[00297] Além do mais, 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 excitação ex512 e a configuração da unidade de controle ex501, não é limitada a esses. Por exemplo, a unidade de processamento de sinais ex507 pode incluir ainda uma CPU. A inclusão de uma outra CPU na unidade de processamento de sinais ex507 pode aperfeiçoar a velocidade de processamento. Além do mais, como um outro exemplo, a CPU ex502 pode servir como a, ou ser uma parte da, unidade de processamento de sinais ex507, e pode incluir, por exemplo, uma unidade de processamento de sinais de áudio. Nesse caso, a unidade de controle ex501 inclui a unidade de processamento de sinais ex507 ou a CPU ex502, incluindo uma parte da unidade de processamento de sinais ex507.
[00298] O nome usado neste caso é LSI, mas pode ser também chamado IC, LSI de sistema, super LSI, ou ultra LSI, dependendo do grau de integração.
[00299] Além disso, os modos para obter integração não são limitados ao LSI, e um circuito especial ou um processador multipropósito, e assim por diante, também podem obter a integração. Um Arranjo de Circuitos Programáveis no Campo (FGPA), que pode ser programado após manufatura de LSIs, ou um processador reconfigurável, que propicia reconfiguração da conexão ou configuração de um LSI, pode ser usado para o mesmo fim.
[00300] No futuro, com o avanço na tecnologia de semicondutores, uma nova tecnologia registrada pode substituir o LSI. Os blocos funcionais podem ser integrados usando essa tecnologia. A possibilidade é que a presente invenção seja aplicada à biotecnologia. [Concretização 7]
[00301] Quando dados de vídeo são gerados no método de codificação de imagem em movimento, ou pelo aparelho de codificação de imagem em movimento, descritos nas concretizações, são decodificados, comparados com quando os dados de vídeo, que se conformam com um padrão convencional, tais como MPEG-2, MPEG-4 AVC e VC-1, são decodificados, o grau de processamento provavelmente aumenta. Desse modo, o LSI ex500 precisa ser ajustado a uma frequência de excitação superior àquela da CPU ex502, que vai ser usada quando os dados de vídeo, em conformidade com o padrão convencional, são decodificados. No entanto, quando a frequência de excitação é ajustada mais alta, há um problema de que o consumo de energia aumenta.
[00302] Para solucionar o problema, o aparelho de decodificação de imagem em movimento, tal como a televisão ex300 e o LSI ex500 é configurado, para determinar com que padrão os dados de vídeo se conformam, e comuta entre as frequências de excitação, de acordo com o padrão determinado. A Figura 39 ilustra uma configuração ex800 na presente concretização. Uma unidade de comutação de frequência de excitação ex803 ajusta uma frequência de excitação a uma frequência de excitação mais alta, quando os dados de vídeo são gerados pelo método de codificação de imagem em movimento ou aparelho de codificação de imagem em movimento, descritos nas concretizações. Depois, a unidade de comutação de frequência de excitação ex803 instrui uma unidade de processamento de decodificação ex801, que executa o método de decodificação de imagem em movimento, descrito nas concretizações, para decodificar os dados de vídeo. Quando os dados de vídeo se conformam com o padrão convencional, a unidade de comutação de frequência de excitação ex803 ajusta uma frequência de excitação a uma frequência de excitação mais baixa do que aquela dos dados de vídeo, gerados pelo método de codificação de imagem em movimento ou aparelho de codificação de imagem em movimento, descritos nas concretizações. Depois, a unidade de comutação de frequência de excitação ex803 instrui a unidade de processamento de decodificação ex802, que se conforma com o padrão convencional, para decodificar os dados de vídeo.
[00303] Mais especificamente, a unidade de comutação de frequência de excitação ex803 inclui a CPU ex502 e a unidade de controle de frequência de excitação ex512 na Figura 38. Neste caso, ambas a unidade de processamento de decodificação ex801, que executa o método de decodificação de imagem em movimento, descrito nas concretizações, e a unidade de processamento de decodificação ex802, que se conforma com o padrão convencional, correspondem à unidade de processamento de sinais ex507, na Figura 38. A CPU ex502 determina a que padrão os dados de vídeo se conformam. Depois, a unidade de controle de frequência de excitação ex512 determina uma frequência de excitação, com base em um sinal da CPU ex502. Além do mais, a unidade de processamento de sinais ex507 decodifica os dados de vídeo, com base no sinal da CPU ex502. Por exemplo, as informações de identificação, descritas na concretização 5, são, provavelmente, usadas para identificar os dados de vídeo. As informações de identificação não são limitadas àquela descrita na concretização 5, mas podem ser quaisquer informações, desde que estas indiquem a qual padrão os dados de vídeo se conformam. Por exemplo, quando a qual padrão os dados de vídeo se conformam pode ser determinado, com base em um sinal externo, para determinar que os dados de vídeo são usados para uma televisão ou um disco, etc., a determinação pode ser feita com base nesse sinal externo. Além do mais, a CPU ex502 seleciona uma frequência de excitação, com base em, por exemplo, uma tabela de consulta, na qual os padrões dos dados de vídeo são associados com as frequências de excitação, como mostrado na Figura 127. A frequência de excitação pode ser selecionada por armazenamento da tabela de consulta no armazenamento temporário ex508 e em uma memória interna de um LSI, e com referência à tabela de consulta pela CPU ex502.
[00304] A Figura 40 ilustra as etapas para execução de um método na presente concretização. Primeiro, na etapa exS200, a unidade de processamento de sinais ex507 obtém informações de identificação dos dados multiplexados. A seguir, 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, descritos nas concretizações, com base nas informações de identificação. Quando os dados de vídeo são gerados pelos método de codificação de imagem em movimento e aparelho de codificação de imagem em movimento, descritos nas concretizações, na etapa exS202, a CPU ex502 transmite um sinal para ajustar a frequência de excitação a uma frequência de excitação mais alta para a unidade de controle de frequência de excitação ex512. Depois, a unidade de controle de frequência de excitação ex512 ajusta a frequência de excitação à frequência de excitação mais alta. Por outro lado, quando as informações de identificação indicam que os dados de vídeo se conformam com o padrão convencional, tais como MPEG-2, MPEG-4 AVC e VC-1, na etapa exS203, a CPU ex502 transmite um sinal para ajustar a frequência de excitação a uma frequência de excitação mais baixa para a unidade de controle de frequência de excitação ex512. Depois, a unidade de controle de frequência de excitação ex512 ajusta a frequência de excitação para a frequência de excitação mais baixa do que no caso em que os dados de vídeo são gerados pelos método de codificação de imagem em movimento e aparelho de codificação de imagem em movimento, descritos nas concretizações.
[00305] Além do mais, juntamente com a comutação das frequências de excitação, o efeito de conservação de energia pode ser aperfeiçoado por variação da voltagem, a ser aplicada ao LSI ex500 ou a um aparelho incluindo o LSI ex500. Por exemplo, quando a frequência de excitação é ajustada mais baixa, a voltagem, a ser aplicada ao LSI ex500 ou a um aparelho incluindo o LSI ex500, é provavelmente ajustada a uma voltagem mais baixa\ do que aquela no caso no qual a frequência de excitação é ajustada mais alta.
[00306] Além do mais, quando o grau de processamento para decodificação é maior, a frequência de excitação pode ser ajustada mais alta, e quando o grau de processamento para decodificação é menor, a frequência de excitação pode ser ajustada mais baixa, de acordo com o método para ajuste da frequência de excitação. Desse modo, o método de ajuste não é limitado àqueles descritos acima. Por exemplo, quando o grau de processamento para decodificação de dados de vídeo, em conformidade com o padrão MPEG-4 AVC, é maior do que o grau de processamento para decodificação de dados de vídeo, gerados pelos método de codificação de imagem em movimento e aparelho de codificação de imagem em movimento, descritos nas concretizações, a frequência de excitação é provavelmente ajustada em ordem inversa ao ajuste descrito acima.
[00307] Além do mais, o método para ajustar a frequência de excitação não é limitado ao método para ajustar a frequência de excitação mais baixa. Por exemplo, quando as informações de identificação indicam que os dados de vídeo são gerados pelos métodos de codificação de imagem em movimento 1 aparelho de codificação de imagem em movimento, descritos nas concretizações, a voltagem, a ser aplicada ao LSI ex500 ou a um aparelho incluindo o LSI ex500, é provavelmente ajustada mais alta. Quando as informações de identificação indicam que os dados de vídeo se conformam com o padrão convencional, tais como MPEG-2, MPEG-4 AVC e VC-1, a voltagem, a ser aplicada ao LSI ex500 ou a um aparelho incluindo o LSI ex500, é provavelmente ajustada mais baixa. Como um outro exemplo, quando as informações de identificação indicam que os dados de vídeo são gerados pelos método de codificação de imagem em movimento 1 aparelho de codificação de imagem em movimento, descritos nas concretizações, a excitação da CPU ex502 não precisa provavelmente ser suspensa. Quando as informações de identificação indicam que os dados de vídeo se conformam com o padrão convencional, tais como MPEG-2, MPEG-4 AVC e VC-1, a excitação da CPU ex502 é provavelmente suspensa em um determinado momento, porque a CPU ex502 tem uma capacidade de processamento extra. Mesmo quando as informações de identificação indicam que os dados de vídeo são gerados pelos método de codificação de imagem em movimento e aparelho de codificação de imagem em movimento, descritos nas concretizações, no caso em que a CPU ex502 tem uma capacidade de processamento extra, a excitação da CPU ex502 é provavelmente suspensa em um determinado momento. Neste caso, o tempo de suspensão é provavelmente ajustado para ser mais curto do que no caso quando as informações de identificação indicam que os dados de vídeo se conformam com o padrão convencional, tais como MPEG-2, MPEG-4 AVC e VC-1.
[00308] Consequentemente, o efeito de conservação de energia pode ser aperfeiçoado por comutação entre as frequências de excitação, de acordo com o padrão ao qual os dados de vídeo se conformam. Além do mais, quando o LSI ex500 ou o aparelho incluindo o LSI ex500 é acionado, por uso de uma bateria, o tempo de vida útil da bateria pode ser estendido com o efeito de conservação de energia.
[Concretização 8]
[00309] Há casos nos quais vários dados de vídeo, que se conformam a diferentes padrões, são proporcionados aos dispositivos e sistemas, tais como uma televisão e um telefone celular. Para que seja possível decodificar os vários dados de vídeo, que se conformam com diferentes padrões, a unidade de processamento de sinais ex507 do LSI ex500 precisa se conformar aos diferentes padrões. No entanto, os problemas de aumento na escala do circuito do LSI ex500 e de aumento no custo aparecem com o uso individual das unidades de processamento de sinais ex507, que se conformam com os respectivos padrões.
[00310] Para solucionar o problema, o que se imagina é uma configuração na qual a unidade de processamento de decodificação, para implementar o método de decodificação de imagem em movimento, descrito nas concretizações, e a unidade de processamento de decodificação, que se conforma com o padrão convencional, tais como MPEG-2, MPEG-4 AVC e VC-1, são compartilhadas parcialmente. Ex900 na Figura 42A mostra um exemplo da configuração. Por exemplo, o método de decodificação de imagem em movimento, descrito nas concretizações, e o método de decodificação de imagem em movimento, que se conforma com o padrão MPEG-4 AVC, têm, parcialmente em comum, os detalhes de processamento, tais como codificação de entropia, quantização inversa, filtragem de desbloqueio e previsão compensada por movimento. Os detalhes de processamento, que vão ser compartilhados, incluem provavelmente o uso de uma unidade de processamento de decodificação ex902, que se conforma com o padrão MPEG-4 AVC. Em comparação, uma unidade de processamento de decodificação dedicada ex901 é provavelmente usada para um outro processamento único a um aspecto da presente invenção. A unidade de processamento de decodificação, para implementar o método de decodificação de imagem em movimento, descrito nas concretizações, pode ser compartilhada para que o processamento possa ser compartilhado, e uma unidade de processamento de decodificação dedicada pode ser usada para o processamento àquele do padrão MPEG-4 AVC.
[00311] Além do mais, ex1000 na Figura 42B mostra um outro exemplo, no qual o processamento é compartilhado parcialmente. Este exemplo usa uma configuração incluindo uma unidade de processamento de decodificação dedicada ex1001, que suporta o processamento único a um aspecto da presente invenção, uma unidade de processamento de decodificação dedicada ex1002, que suporta ao processamento único para um outro padrão convencional, e uma unidade de processamento de decodificação ex1003, que suporta o processamento a ser compartilhado entre o método de decodificação de imagem em movimento, de acordo com o aspecto da presente invenção, e o método de decodificação de imagem em movimento convencional. Neste caso, 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 capazes de implementar um processamento geral. Além do mais, a configuração da presente concretização pode ser implementada pelo LSI ex500.
[00312] Como tal, a redução da escala do circuito de um LSI e a redução do custo são possíveis por compartilhamento da unidade de processamento de decodificação, para que o processamento seja compartilhado entre o método de decodificação de imagem em movimento, de acordo com o aspecto da presente invenção, e o método de decodificação de imagem em movimento em conformidade com o padrão convencional.
[Aplicabilidade industrial]
[00313] Os métodos de codificação de imagem em movimento e método de decodificação de imagem em movimento, de acordo com a presente invenção, são aplicáveis a quaisquer dados multimídia, e podem aumentar a velocidade de processamento de codificação e decodificação de imagens em movimento, sem aumentar a carga de processamento. O método de codificação de imagem em movimento e o método de decodificação de imagem em movimento, de acordo com a presente invenção, são úteis como um método de codificação de imagem em movimento e um método de decodificação de imagem em movimento em armazenamento, transmissão, comunicação e assemelhados, usando, por exemplo, telefones móveis, dispositivos de DVD, computadores pessoais e assemelhados. [Lista de sinais de referência] 100 - aparelho de codificação de imagem em movimento 101 - unidade de diferença 102 - unidade de transformação 103 - unidade de quantização 104 - unidade de quantização inversa 105 - unidade de transformação inversa 106 - unidade de adição 107 - unidade de intra/interprevisão 108 - unidade de controle de codificação 109 - memória 110 - unidade de codificação de entropia 300 - aparelho de decodificação de imagem em movimento 301 - unidade de decodificação de entropia 302 - unidade de quantização inversa 303 - unidade de transformação inversa 304 - unidade de adição 305 - unidade de intra/interprevisão 306 - unidade de controle de decodificação 307 - memória

Claims (8)

1. Método de decodificação para decodificar uma imagem de um fluxo de bits, o método de decodificação compreendendo as etapas de: gerar (S1010) um ou mais candidatos para um preditor de vetor de movimento usado para decodificar um vetor de movimento de um bloco atual na imagem; selecionar (S1050) o preditor de vetor de movimento dentre um ou mais candidatos usando um índice incluído no fluxo de bits; decodificar (S1050) o vetor de movimento do bloco atual usando o preditor de vetor de movimento selecionado; e decodificar (S1060) o bloco atual usando o vetor de movimento decodificado, em que a geração (S1010) inclui: gerar (S400) um primeiro candidato para o preditor de vetor de movimento a partir de um primeiro vetor de movimento pertencente a um dos um ou mais primeiros blocos adjacentes, sendo os primeiros blocos adjacentes espacialmente adjacentes ao bloco atual em uma direção à esquerda; e gerar (S800) um segundo candidato para o preditor de vetor de movimento a partir de um segundo vetor de movimento pertencente a um dos um ou mais segundos blocos adjacentes, os segundos blocos adjacentes sendo espacialmente adjacentes ao bloco atual em uma segunda direção diferente da primeira direção, caracterizado pelo fato de que a primeira direção é uma direção para a esquerda, e a geração (S800) do segundo candidato inclui: determinar (S820) se deve ou não escalar o segundo vetor de movimento de acordo com um resultado da determinação, para cada um dos primeiros blocos adjacentes, se o primeiro bloco adjacente é ou não inter-previsto; e quando é determinado escalar o segundo vetor de movimento, dimensionar (S530) o segundo vetor de movimento para gerar o segundo candidato, o escalamento sendo realizado usando uma taxa de escalamento, e em que o segundo vetor de movimento é escalado quando é determinado que cada um dos primeiros blocos adjacentes não é inter-previsto e o segundo vetor de movimento não é escalado quando é determinado que pelo menos um dos primeiros blocos adjacentes é inter-previsto.
2. Método de decodificação, de acordo com a reivindicação 1, caracterizado pelo fato de que a geração (S800) do segundo candidato inclui ainda: determinar, quando o primeiro bloco adjacente está determinado a ser inter-previsto, se o primeiro bloco adjacente determinado a ser inter-previsto está localizado ou não em um limite de imagem ou em um limite de fatia, e em que o segundo vetor de movimento é escalado quando todos os primeiros blocos adjacentes determinados a serem inter- previstos estão localizados no limite da imagem ou no limite da fatia.
3. Método de decodificação, de acordo com a reivindicação 1, caracterizado pelo fato de que a geração (S800) do segundo candidato inclui ainda: procurar (S510) um vetor de movimento disponível sem escalar dentre os vetores de movimento dos segundos blocos adjacentes; e quando o vetor de movimento disponível sem escalar for encontrado, determinar o vetor de movimento disponível sem escalar como o segundo candidato, e em que a determinação (S820) de escalar ou não o segundo vetor de movimento e o dimensionamento (S530) do segundo vetor de movimento não são executados quando o vetor de movimento disponível sem escalar é encontrado.
4. Método de decodificação, de acordo com a reivindicação 3, caracterizado pelo fato de que a procura (S510) inclui ainda: determinar se uma imagem de referência do bloco atual é igual a uma imagem de referência de cada um dos segundos blocos adjacentes; e determinar, entre os segundos blocos adjacentes, um segundo bloco adjacente determinado a ter a mesma imagem de referência que o vetor de movimento disponível sem escalar.
5. Método de decodificação, de acordo com a reivindicação 1, caracterizado pelo fato de que gerar (S400) o primeiro candidato inclui ainda: procurar (S410) um vetor de movimento disponível sem escalar dentre os vetores de movimento dos primeiros blocos adjacentes; quando o vetor de movimento disponível sem escalar for encontrado, determinar o vetor de movimento disponível sem escalar como o primeiro candidato; quando o vetor de movimento disponível sem escalar não for encontrado, gerar o primeiro candidato por meio de dimensionar (S430) um vetor de movimento dentre os vetores de movimento dos primeiros blocos adjacentes.
6. Método de decodificação, de acordo com a reivindicação 1, caracterizado pelo fato de que a geração (S400) do primeiro candidato e a geração (S800) do segundo candidato são executadas em paralelo.
7. Aparelho de decodificação para decodificar uma imagem de um fluxo de bits, o aparelho de decodificação compreende: uma unidade de geração (306) configurada para gerar um ou mais candidatos a um preditor de vetor de movimento usado para decodificar um vetor de movimento de um bloco atual na imagem; uma unidade de seleção (306) configurada para selecionar o preditor de vetor de movimento dentre um ou mais candidatos usando um índice incluído no fluxo de bits; e uma unidade de decodificação (305) configurada para decodificar o vetor de movimento do bloco atual usando o preditor de vetor de movimento selecionado e decodificar o bloco atual usando o vetor de movimento decodificado, em que a unidade de geração (306) inclui: uma primeira unidade de geração (306) de candidatos configurada para gerar um primeiro candidato ao preditor de vetor de movimento a partir de um primeiro vetor de movimento pertencente a um dos um ou mais primeiros blocos adjacentes, os primeiros blocos adjacentes sendo espacialmente adjacentes ao bloco atual em uma primeira direção; e uma segunda unidade de geração (306) de candidatos configurada para gerar um segundo candidato ao preditor de vetor de movimento a partir de um segundo vetor de movimento pertencente a um de um ou mais segundos blocos adjacentes, os segundos blocos adjacentes sendo espacialmente adjacentes ao bloco atual em uma segunda direção que é diferente da primeira direção, caracterizado pelo fato de que a primeira direção é uma direção para a esquerda, e a segunda unidade de geração (306) de candidatos inclui: uma unidade de determinação (306) configurada para determinar se deve ou não escalar o segundo vetor de movimento de acordo com um resultado da determinação, para cada um dos primeiros blocos adjacentes, se o primeiro bloco adjacente é inter- previsto ou não; e uma unidade de escalamento (306) configurada para, quando é determinado escalar o segundo vetor de movimento, escalar o segundo vetor de movimento para gerar o segundo candidato, o escalamento sendo realizado usando uma taxa de escalamento e em que a unidade de escalamento (306) escala o segundo vetor de movimento quando é determinado que cada um dos primeiros blocos adjacentes não é inter-previsto e a unidade de escalamento (306) não dimensiona o segundo vetor de movimento quando é determinado que pelo menos um dos primeiros blocos adjacentes é inter-previsto.
8. Método de decodificação, de acordo com a reivindicação 1, caracterizado pelo fato de que: se deve ou não escalar o segundo vetor de movimento é determinado de acordo com o resultado de determinar, para cada um dos um ou mais primeiros blocos adjacentes, (i) se o primeiro bloco adjacente está ou não disponível para ser usado para previsão do bloco atual com base em um sinalizador de disponibilidade do primeiro bloco adjacente e (ii) se o primeiro bloco adjacente é inter-previsto ou não; e em que o segundo vetor de movimento é escalado quando é determinado que cada um dos primeiros blocos adjacentes está disponível para ser usado e não é inter-previsto, e o segundo vetor de movimento não é escalado quando é determinado que pelo menos um dos primeiros blocos adjacentes é inter-previsto e disponível para ser usado.
BR122020014528-5A 2011-11-02 2012-11-01 Método e aparelho de decodificação para decodificar uma imagem de um fluxo de bits BR122020014528B1 (pt)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201161554598P 2011-11-02 2011-11-02
US61/554,598 2011-11-02
PCT/JP2012/007006 WO2013065308A1 (ja) 2011-11-02 2012-11-01 動画像符号化方法、動画像符号化装置、動画像復号方法、動画像復号装置、および、動画像符号化復号装置

Publications (1)

Publication Number Publication Date
BR122020014528B1 true BR122020014528B1 (pt) 2022-09-13

Family

ID=48191681

Family Applications (5)

Application Number Title Priority Date Filing Date
BR122020014548-0A BR122020014548B1 (pt) 2011-11-02 2012-11-01 Método e aparelho de decodificação para decodificar uma imagem de um fluxo de bits
BR112013018949A BR112013018949B8 (pt) 2011-11-02 2012-11-01 Método e aparelho de codificação para codificar uma imagem em um fluxo de bits
BR122020014549-8A BR122020014549B1 (pt) 2011-11-02 2012-11-01 Método e aparelho de codificação para codificar uma imagem em um fluxo de bits
BR122020014537-4A BR122020014537B1 (pt) 2011-11-02 2012-11-01 Método e aparelho de codificação para codificar uma imagem em um fluxo de bits
BR122020014528-5A BR122020014528B1 (pt) 2011-11-02 2012-11-01 Método e aparelho de decodificação para decodificar uma imagem de um fluxo de bits

Family Applications Before (4)

Application Number Title Priority Date Filing Date
BR122020014548-0A BR122020014548B1 (pt) 2011-11-02 2012-11-01 Método e aparelho de decodificação para decodificar uma imagem de um fluxo de bits
BR112013018949A BR112013018949B8 (pt) 2011-11-02 2012-11-01 Método e aparelho de codificação para codificar uma imagem em um fluxo de bits
BR122020014549-8A BR122020014549B1 (pt) 2011-11-02 2012-11-01 Método e aparelho de codificação para codificar uma imagem em um fluxo de bits
BR122020014537-4A BR122020014537B1 (pt) 2011-11-02 2012-11-01 Método e aparelho de codificação para codificar uma imagem em um fluxo de bits

Country Status (15)

Country Link
US (9) US8942288B2 (pt)
EP (5) EP3174299B1 (pt)
JP (6) JPWO2013065308A1 (pt)
KR (5) KR102148904B1 (pt)
CN (4) CN103339941B (pt)
BR (5) BR122020014548B1 (pt)
CA (5) CA3148063C (pt)
ES (5) ES2698560T3 (pt)
HU (3) HUE064456T2 (pt)
LT (4) LT3174298T (pt)
MX (1) MX2013008533A (pt)
MY (1) MY165702A (pt)
PL (5) PL3174299T3 (pt)
TW (1) TWI559734B (pt)
WO (1) WO2013065308A1 (pt)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
HUE061249T2 (hu) * 2009-03-23 2023-06-28 Ntt Docomo Inc Kép prediktív kódoló eszköz, kép prediktív kódolási eljárás, kép prediktív kódoló program, kép prediktív dekódoló eszköz, kép prediktív dekódolási eljárás, kép prediktív dekódoló program
CN103339941B (zh) 2011-11-02 2016-10-19 太格文-Ii有限责任公司 动态图像编码方法、动态图像编码装置、动态图像解码方法、动态图像解码装置和动态图像编码解码装置
US9392268B2 (en) * 2012-09-28 2016-07-12 Qualcomm Incorporated Using base layer motion information
JP5983430B2 (ja) * 2013-01-25 2016-08-31 富士通株式会社 動画像符号化装置、動画像符号化方法及び動画像復号装置ならびに動画像復号方法
US10904551B2 (en) 2013-04-05 2021-01-26 Texas Instruments Incorporated Video coding using intra block copy
US20150271514A1 (en) * 2014-03-18 2015-09-24 Panasonic Intellectual Property Management Co., Ltd. Prediction image generation method, image coding method, image decoding method, and prediction image generation apparatus
JP6986721B2 (ja) 2014-03-18 2021-12-22 パナソニックIpマネジメント株式会社 復号装置及び符号化装置
CN110099281B (zh) 2014-05-06 2021-06-25 寰发股份有限公司 用于块内复制模式编码的块向量预测方法
TWI565302B (zh) * 2014-10-01 2017-01-01 財團法人工業技術研究院 解碼器、編碼器、解碼方法、編碼方法與編解碼系統
JP6918661B2 (ja) * 2017-09-22 2021-08-11 キヤノン株式会社 符号化装置、符号化方法及びプログラム
CN116886902A (zh) * 2017-09-26 2023-10-13 松下电器(美国)知识产权公司 解码装置、编码装置、解码方法和编码方法
CN111279388A (zh) * 2017-10-25 2020-06-12 株式会社索思未来 动态图像处理装置、动态图像处理系统、以及动态图像处理方法
CN116915986A (zh) 2017-12-12 2023-10-20 华为技术有限公司 视频数据的帧间预测方法和装置
JP7211373B2 (ja) * 2018-01-04 2023-01-24 株式会社ソシオネクスト 動画像解析装置、動画像解析システム、動画像解析方法、及びプログラム
CN112055967B (zh) * 2018-04-02 2024-03-26 Lg电子株式会社 基于运动矢量的图像编码方法及其设备
WO2019209026A1 (ko) * 2018-04-24 2019-10-31 엘지전자 주식회사 비디오 코딩 시스템에서 인터 예측 방법 및 장치
US10701384B2 (en) 2018-08-01 2020-06-30 Tencent America LLC Method and apparatus for improvement on decoder side motion derivation and refinement
CN112565753B (zh) * 2020-12-06 2022-08-16 浙江大华技术股份有限公司 运动矢量差的确定方法和装置、存储介质及电子装置

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3681341A (en) 1970-12-23 1972-08-01 Hoffmann La Roche Process for preparing 1-lower alkyl-1,4-benzodiazepin-2-ones
JPS5531150A (en) 1978-08-28 1980-03-05 Natl Res Inst For Metals Manufacture of molybdenum-coated material having corrosion resistance at high temperature
US6438254B1 (en) * 1999-03-17 2002-08-20 Matsushita Electric Industrial Co., Ltd. Motion vector detection method, motion vector detection apparatus, and data storage media
US20020057739A1 (en) * 2000-10-19 2002-05-16 Takumi Hasebe Method and apparatus for encoding video
CN101431681B (zh) * 2002-03-04 2011-03-30 松下电器产业株式会社 图像解码方法及图像解码装置
KR101031423B1 (ko) * 2002-04-19 2011-04-26 파나소닉 주식회사 움직임 벡터 계산방법
HUE054106T2 (hu) * 2002-04-19 2021-08-30 Panasonic Ip Corp America Kép dekódoló eljárás és berendezés
US8064520B2 (en) 2003-09-07 2011-11-22 Microsoft Corporation Advanced bi-directional predictive coding of interlaced video
JP4166781B2 (ja) * 2005-12-09 2008-10-15 松下電器産業株式会社 動きベクトル検出装置および動きベクトル検出方法
TWI314820B (en) * 2006-05-26 2009-09-11 Ind Tech Res Inst Pattern-search based method for context-adaptive variable length coding/decoding
CN100576919C (zh) * 2006-08-08 2009-12-30 佳能株式会社 运动矢量检测设备及运动矢量检测方法
AU2007202789B9 (en) * 2007-06-15 2011-08-18 Canon Kabushiki Kaisha High-fidelity motion summarisation method
KR101742992B1 (ko) * 2009-05-12 2017-06-02 엘지전자 주식회사 비디오 신호 처리 방법 및 장치
WO2010131903A2 (en) * 2009-05-12 2010-11-18 Lg Electronics Inc. Method and apparatus for processing a video signal
JP2009290889A (ja) 2009-08-07 2009-12-10 Ntt Docomo Inc 動画像符号化装置、動画像復号化装置、動画像符号化方法、動画像復号化方法、動画像符号化プログラム及び動画像復号化プログラム
US8462848B2 (en) * 2009-12-17 2013-06-11 Broadcom Corporation Method and system for intra-mode selection without using reconstructed data
US9420308B2 (en) 2009-12-18 2016-08-16 Vixs Systems, Inc. Scaled motion search section with parallel processing and method for use therewith
US20110242427A1 (en) * 2010-04-01 2011-10-06 Timothy Ramsdale Method and System for Providing 1080P Video With 32-Bit Mobile DDR Memory
US9300970B2 (en) * 2010-07-09 2016-03-29 Samsung Electronics Co., Ltd. Methods and apparatuses for encoding and decoding motion vector
US8711940B2 (en) * 2010-11-29 2014-04-29 Mediatek Inc. Method and apparatus of motion vector prediction with extended motion vector predictor
CN106851306B (zh) * 2011-01-12 2020-08-04 太阳专利托管公司 动态图像解码方法和动态图像解码装置
CN103339941B (zh) 2011-11-02 2016-10-19 太格文-Ii有限责任公司 动态图像编码方法、动态图像编码装置、动态图像解码方法、动态图像解码装置和动态图像编码解码装置

Also Published As

Publication number Publication date
WO2013065308A1 (ja) 2013-05-10
US10499080B2 (en) 2019-12-03
BR122020014549B1 (pt) 2022-09-13
BR112013018949B1 (pt) 2022-09-13
US9066109B2 (en) 2015-06-23
PL3174298T3 (pl) 2019-02-28
TWI559734B (zh) 2016-11-21
CA2825761C (en) 2020-01-14
BR122020014537B1 (pt) 2022-09-13
EP2775717B1 (en) 2017-07-26
CA3056869C (en) 2022-05-17
ES2641952T3 (es) 2017-11-14
BR112013018949B8 (pt) 2022-10-11
EP3416387B1 (en) 2023-10-18
PL3416387T3 (pl) 2024-03-11
LT3174299T (lt) 2018-11-12
KR102049308B1 (ko) 2020-01-08
CN107071462A (zh) 2017-08-18
CA3148063C (en) 2023-08-29
PL3174299T3 (pl) 2019-07-31
EP3416387A1 (en) 2018-12-19
CA3148065A1 (en) 2013-05-10
JPWO2013065308A1 (ja) 2015-04-02
JP5405690B2 (ja) 2014-02-05
JP2014003707A (ja) 2014-01-09
JP2014003709A (ja) 2014-01-09
EP3174298B1 (en) 2018-09-12
MX2013008533A (es) 2013-08-12
BR122020014548B1 (pt) 2022-09-13
ES2698560T3 (es) 2019-02-05
US20200404322A1 (en) 2020-12-24
TW201332369A (zh) 2013-08-01
US20190230378A1 (en) 2019-07-25
HUE040062T2 (hu) 2019-02-28
ES2967129T3 (es) 2024-04-26
BR112013018949A2 (pt) 2017-09-12
CN107071463B (zh) 2019-11-19
US10798411B2 (en) 2020-10-06
HUE064456T2 (hu) 2024-03-28
EP2775717A1 (en) 2014-09-10
KR20190133279A (ko) 2019-12-02
EP3174299A1 (en) 2017-05-31
US20140079130A1 (en) 2014-03-20
MY165702A (en) 2018-04-20
CN103339941B (zh) 2016-10-19
LT3416387T (lt) 2024-01-10
CA3056874C (en) 2022-05-17
JP2014017854A (ja) 2014-01-30
JP6346346B2 (ja) 2018-06-20
US11570469B2 (en) 2023-01-31
US8942288B2 (en) 2015-01-27
JP6158649B2 (ja) 2017-07-05
ES2965240T3 (es) 2024-04-11
KR102148904B1 (ko) 2020-08-28
US11812055B2 (en) 2023-11-07
CA3148063A1 (en) 2013-05-10
CN107071467B (zh) 2020-03-27
EP2775717A4 (en) 2015-04-29
LT3174298T (lt) 2018-11-12
US20200068219A1 (en) 2020-02-27
EP3174298A1 (en) 2017-05-31
EP3174299B1 (en) 2018-09-12
KR102478864B1 (ko) 2022-12-19
CN107071463A (zh) 2017-08-18
EP3413567B1 (en) 2023-10-11
EP3413567A1 (en) 2018-12-12
US20180332302A1 (en) 2018-11-15
US20130156106A1 (en) 2013-06-20
PL3413567T3 (pl) 2024-03-11
CN107071467A (zh) 2017-08-18
JP2014003708A (ja) 2014-01-09
US10291933B2 (en) 2019-05-14
US20140079131A1 (en) 2014-03-20
US20210218988A1 (en) 2021-07-15
JP5531150B2 (ja) 2014-06-25
CA3056874A1 (en) 2013-05-10
US10992953B2 (en) 2021-04-27
KR20220025247A (ko) 2022-03-03
US10063879B2 (en) 2018-08-28
CN107071462B (zh) 2019-11-19
CN103339941A (zh) 2013-10-02
KR20210062737A (ko) 2021-05-31
LT3413567T (lt) 2024-01-10
KR102257961B1 (ko) 2021-05-28
CA3148065C (en) 2023-08-29
KR20140092756A (ko) 2014-07-24
KR102365524B1 (ko) 2022-02-23
ES2698559T3 (es) 2019-02-05
KR20200103121A (ko) 2020-09-01
JP2017184276A (ja) 2017-10-05
PL2775717T3 (pl) 2017-12-29
CA3056869A1 (en) 2013-05-10
HUE040069T2 (hu) 2019-02-28
JP5521101B2 (ja) 2014-06-11
CA2825761A1 (en) 2013-05-10
US20230133884A1 (en) 2023-05-04

Similar Documents

Publication Publication Date Title
JP6346346B2 (ja) 動画像復号装置及び動画像復号方法
KR101900986B1 (ko) 화상 복호 방법, 화상 부호화 방법, 화상 복호 장치, 화상 부호화 장치, 및, 화상 부호화 복호 장치

Legal Events

Date Code Title Description
B350 Update of information on the portal [chapter 15.35 patent gazette]
B06A Patent application procedure suspended [chapter 6.1 patent gazette]
B09A Decision: intention to grant [chapter 9.1 patent gazette]
B16A Patent or certificate of addition of invention granted [chapter 16.1 patent gazette]

Free format text: PRAZO DE VALIDADE: 20 (VINTE) ANOS CONTADOS A PARTIR DE 01/11/2012, OBSERVADAS AS CONDICOES LEGAIS