BR122015021080A2 - método para decodificar um vídeo - Google Patents

método para decodificar um vídeo Download PDF

Info

Publication number
BR122015021080A2
BR122015021080A2 BR122015021080A BR122015021080A BR122015021080A2 BR 122015021080 A2 BR122015021080 A2 BR 122015021080A2 BR 122015021080 A BR122015021080 A BR 122015021080A BR 122015021080 A BR122015021080 A BR 122015021080A BR 122015021080 A2 BR122015021080 A2 BR 122015021080A2
Authority
BR
Brazil
Prior art keywords
unit
frame
coding
depth
encoding
Prior art date
Application number
BR122015021080A
Other languages
English (en)
Inventor
Kim Chan-Yul
Yang Hee-Chul
Choi Kwang-Pyo
Park Young-O
Original Assignee
Samsung Electronics Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Samsung Electronics Co Ltd filed Critical Samsung Electronics Co Ltd
Priority claimed from BR112013033902A external-priority patent/BR112013033902A2/pt
Publication of BR122015021080A2 publication Critical patent/BR122015021080A2/pt

Links

Landscapes

  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

método para decodificar um vídeo trata-se de um método e aparelho para mul tiplexar e demultiplexar dados de vídeo. o método para multiplexar dados de vídeo envolve a sintaxe para um cabeçalho de dados da unidade de transmissão, que é usada para mul tiplexar um quadro limpo de acesso aleatório (cra) usado em um acesso aleatório, em que a sintaxe predeterminada indica um estado de reprodução do quadro cra, ou seja, reprodução normal ou reprodução de acordo com um acesso aleatório.

Description

MÉTODO PARA DECODIFICAR UM VÍDEO
Dividido do pedido N° BR11 2013 0339020 de 02.07.2012
Domínio Técnico [001]
A presente invenção refere-se a um método e aparelho para codificar e decodificar vídeo e, mais particularmente, a um método vídeo, e aparelho para multiplexar e demultiplexar dados de identificar se um a fim estado de reprodução de de um quadro intra, que é reproduzido em um lado de decodificação, um estado de reprodução de acesso aleatório, ou um estado de reprodução normal.
Fundamentos da Técnica [002]
Um codec de vídeo, incluindo ITU-T
H.
261, ISO/IEC
MPEG-1 Visual, ITU-T H.262(ISO/IEC MPEG-2 Visual),
ISO/IEC MPEG-4 Visual e ITU-T H.264(ISO/IEC MPEG-4
ITU-T H.264, , executa codificação por previsão em um macrobloco via previsão inter ou previsão intra, gera um fluxo de bits que contém dados de imagem codificados, de acordo com um formato predeterminado, definido por cada codec de vídeo, e emite o fluxo de bits.
Descrição Detalhada da Invenção
Problema Técnico [003] A presente invenção define um novo tipo de um quadro intra para reprodução de acesso aleatório, e fornece um método e aparelho para identificar um estado de reprodução normal e um estado de reprodução de acesso aleatório por hardware ou software relacionado a um aparelho de decodificação.
Solução Técnica [004] De acordo com formas de realização da presente invenção, um estado de reprodução de um quadro intra pode ser identificado através de sintaxe incluída nos dados de transmissão predeterminados.
2/64
Efeitos Vantajosos
[005] De acordo com formas de realização da presente
invenção, um estado de reprodução normal e um estado de
reprodução de acesso aleatório podem ser identificados por
hardware ou software relacionados a um aparelho de
decodificação, para que seja possível poupar i um recurso do
sistema, que é usado pa ra decodificar quadros, que não são
necessários ser decodificados.
Descrição dos Desenhos
[006] A Fig. 1 é um diagrama de blocos de um aparelho para
codificar um vídeo, de acordo com uma forma de realização da
presente invenção.
[007] A Fig. 2 é um diagrama de blocos de um aparelho para
decodificar um vídeo, de acordo com uma forma de realização da
presente invenção.
[008] A Fig. 3 é um diagrama para descrever um conceito de unidades de codificação, de acordo com uma forma de realização da presente invenção.
[009] A Fig. 4 é um diagrama de blocos de um codificador de imagens com base em unidades de codificação, de acordo com uma forma de realização da presente invenção.
[0010] A Fig. 5 é um diagrama de blocos de um decodifiçador de imagens, baseado em unidades de codificação, de acordo com uma forma de realização da presente invenção.
[0011] A Fig. 6 é um diagrama ilustrando unidades de codificação mais profundas, de acordo com profundidades e partições, de acordo com uma forma de realização da presente invenção.
[0012] A Fig. 7 é um diagrama para descrever uma relação entre uma unidade de codificação e unidades de transformação, de acordo com uma forma de realização da presente invenção.
3/64 [0013] A Fig. 8 é um diagrama para descrever informações de codificação de unidades de codificação, que correspondem a uma profundidade codificada, de acordo com uma forma de realização da presente invenção.
[0014] A Fig. 9 é um diagrama das unidades de codificação mais profundas, de acordo com profundidades, de acordo com uma forma de realização da presente invenção.
[0015] As Figs. 10 a 12 são diagramas para descrever uma relação entre unidades de codificação, unidades de previsão e unidades de transformação, de acordo com uma forma de realização da presente invenção.
[0016] A Fig. 13 é um diagrama para descrever uma relação entre uma unidade de codificação, uma unidade de previsão ou uma partição, e uma unidade de transformação, de acordo com as informações sobre modo de codificação da Tabela 1.
[0017] As Figs. 14A e 14B ilustram um processo de decodificação de um quadro de acesso limpo aleatório (CRA) em reprodução normal e um acesso aleatório, de acordo com uma forma de realização da presente invenção.
[0018] A Fig. 15 ilustra uma estrutura de um aparelho de multiplexação de dados de vídeo, de acordo com uma forma de realização da presente invenção.
[0019] A Fig. 16 ilustra uma estrutura de uma unidade de camada de abstração de rede (NAL) , de acordo com uma forma de realização da presente invenção.
[0020] As Figs. 17A e 17B ilustram um processo de decodificação de um quadro CRA em reprodução normal e um acesso aleatório, de acordo com outra forma de realização da presente invenção.
[0021] A Fig. 18 é um fluxograma de um método de multiplexação de dados de vídeo, de acordo com uma forma de realização da presente invenção.
4/64 [0022] A Fig. 19 ilustra uma estrutura de um aparelho de multiplexação inversa de dados de vídeo 1900, de acordo com uma forma de realização da presente invenção.
[0023] A Fig. 20 é um fluxograma de um método de multiplexação inversa de dados de vídeo, de acordo com uma forma de realização da presente invenção.
Melhor Modo [0024]
De acordo com um aspecto da presente invenção, é fornecido um método de multiplexação de dados de vídeo, a fim de identificar um estado de reprodução dos dados de vídeo, o método incluindo operações de codificação de quadros formando os dados de video com base em unidades de dados com uma estrutura hierárquica; em resposta a um pedido de transmissão de dados codificados, a partir de um aparelho de decodificação, determinar se o pedido de transmissão é de acordo com a reprodução normal, ou é para um acesso aleatório; e adicionar sintaxe predeterminada para dados da unidade de transmissão, para multiplexar um quadro intra usado no acesso aleatório e tendo quadros à esquerda que precedem o quadro intra em uma ordem de exibição, mas são codificados depois do quadro intra em uma ordem de codificação, de acordo com um resultado do determinação, no qual a sintaxe predeterminada indica qual pedido dentre um pedido via reprodução normal e um pedido através do acesso aleatório, está relacionado ao quadro intra.
[0025] De acordo com outro aspecto da presente invenção, é fornecido um aparelho para multiplexar dados de vídeo, a fim de identificar um estado de reprodução dos dados de vídeo, o aparelho incluindo um codificador de vídeo para codificar quadros formando os dados de vídeo com base em unidades de dados com uma estrutura hierárquica; um identificador do estado de reprodução para, em resposta a um pedido de transmissão de dados
5/64 codificados a partir de um aparelho de decodificação, determinar se o pedido de transmissão é de acordo com a reprodução normal, ou é para um acesso aleatório; e um multiplexador para adicionar sintaxe predeterminada a dados da unidade de transmissão, para multiplexar um quadro intra usado no acesso aleatório e tendo quadros à esquerda, que precedem o quadro intra em uma ordem de exibição, mas são codificados depois do quadro intra em uma ordem de codificação, de acordo com um resultado da determinação, no qual a sintaxe predeterminada indica qual pedido, dentre um pedido via reprodução normal e um pedido através do acesso aleatório, está relacionado ao quadro intra.
[0026] De acordo com outro aspecto da presente invenção, é fornecido um método para demultiplexar dados de vídeo, a fim de identificar um estado de reprodução dos dados de vídeo, o método incluindo operações de recebimento de dados da unidade de transmissão utilizados para multiplexar um fluxo de bits gerado por codificação de quadros formando os dados de vídeo, com base em unidades de dados de estrutura hierárquica; obter sintaxe predeterminada dentre os dados da unidade de transmissão, para multiplexar um quadro intra usado em um acesso aleatório e tendo quadros à esquerda, que precedem o quadro intra em uma ordem de exibição, mas são codificados depois do quadro intra em uma ordem decodificadora, no qual a sintaxe predeterminada indica se o quadro intra é decodificado, de acordo com um estado de reprodução normal ou um estado de acesso aleatório; e identificar se o quadro intra é reproduzido de acordo com reprodução normal ou um acesso aleatório, com base na sintaxe predeterminada obtida.
[0027] De acordo com outro aspecto da presente invenção, é fornecido um aparelho para demultiplexar dados de vídeo, a fim de identificar um estado de reprodução dos dados do vídeo, o aparelho incluindo um multiplexador inverso para receber dados
6/64 da unidade de transmissão utilizados para multiplexar um fluxo de bits gerado por codificação de quadros formando os dados de video, com base em unidades de dados de estrutura hierárquica, obter sintaxe predeterminada dentre os dados da unidade de transmissão para multiplexar um quadro intra usado em um acesso aleatório e tendo quadros à esquerda que precedem o quadro intra em uma ordem de exibição, mas são codificados depois do quadro intra em uma ordem de decodif icação, em que a sintaxe predeterminada indica se o quadro intra é decodificado, de acordo com um estado de reprodução normal ou um estado de acesso aleatório; e um identificador de estado de reprodução para identificar, se o quadro intra foi reproduzido de acordo com reprodução normal ou um acesso aleatório, baseado na sintaxe predeterminada obtida.
Modo da Invenção [0028] Adiante, a presente invenção será descrita em detalhes, explicando formas de realização exemplares da invenção tendo como referência os desenhos anexos. Em todo o relatório descritivo, uma imagem pode incluir uma imagem estática e uma imagem em movimento, e pode ser referida como video. Além disso, em todo o relatório descritivo, uma moldura de imagem pode ser referida como um quadro.
[0029] A Fig. 1 é um diagrama de blocos de um aparelho para codificar video 100, de acordo com uma forma de realização da presente invenção.
[0030] 0 aparelho para codificar video 100 inclui um divisor da unidade de codificação máxima 110, um determinador da unidade de codificação 120, e uma unidade de saida 130.
[0031] 0 divisor da unidade de codificação máxima 110 pode dividir um quadro atual, com base em uma unidade de codificação máxima para o quadro atual de uma imagem. Se o quadro atual for
Ί/64 maior que a unidade de codificação máxima, dados de imagem do quadro atual podem ser divididos em pelo menos uma unidade de codificação máxima. A unidade de codificação máxima, de acordo com uma forma de realização da presente invenção, pode ser uma unidade de dados tendo um tamanho de 32x32, 64x64, 128x128, 256x256 etc., em que um formato da unidade de dados é um quadrado tendo uma largura e um comprimento, que são, cada qual, um múltiplo de 2 ou maior que 9. Os dados de imagem podem ser emitidos para o determinador da unidade de codificação 120, de acordo com pelo menos uma unidade de codificação máxima.
[0032] Uma unidade de codificação, de acordo com uma forma de realização da presente invenção, pode ser caracterizada por um tamanho máximo e uma profundidade. A profundidade denota o número de vezes, que a unidade de codificação é dividida espacialmente a partir da unidade de codificação máxima e, conforme a profundidade aumenta, unidades de codificação mais profundas, de acordo com profundidades, podem ser divididas, a partir da unidade de codificação máxima até uma unidade de codificação mínima. Uma profundidade da unidade de codificação máxima é uma profundidade mais superior, e uma profundidade da unidade de codificação mínima é uma profundidade mais inferior. Visto que um tamanho de uma unidade de codificação correspondente a cada profundidade diminui, à medida que a profundidade da unidade de codificação máxima aumenta, uma unidade de codificação correspondente a uma profundidade superior pode incluir uma pluralidade de unidades de codificação correspondentes a menores profundidades.
[0033] Conforme acima descrito, os dados de imagem do quadro atual são divididos nas unidades de codificação máxima, de acordo com um tamanho máximo da unidade de codificação, e cada uma das unidades de codificação máxima pode incluir unidades de codificação mais profundas, que são divididas de acordo com
8/64 profundidades. Uma vez que a unidade de codificação máxima, de acordo com uma forma de realização da presente invenção, é dividida de acordo com profundidades, os dados de imagem de um domínio espacial incluído na unidade de codificação máxima podem ser classificados hierarquicamente, de acordo com profundidades.
[0034] Uma profundidade máxima e um tamanho máximo de uma unidade de codificação, que limitam o número total de vezes que uma altura e uma largura da unidade de codificação máxima são divididas hierarquicamente, podem ser predeterminados.
[0035] O determinador da unidade de codificação 120 codifica pelo menos uma região de divisão obtida, dividindo-se uma região da unidade de codificação máxima, de acordo com profundidades, e determina uma profundidade para emitir dados de imagem finalmente codificados, de acordo com pelo menos uma região de divisão. Em outras palavras, o determinador da unidade de codificação 120 determina uma profundidade codificada, por codificação dos dados de imagem nas unidades de codificação mais profundas, de acordo com profundidades, de acordo com a unidade de codificação máxima do quadro atual, e seleção de uma profundidade tendo o menor erro de codificação. Assim, os dados de imagem codificados da unidade de codificação correspondente à profundidade codificada determinada são finalmente emitidos. Além disso, as unidades de codificação correspondentes à profundidade codificada podem ser consideradas como unidades de codificação codificadas.
[0036] A profundidade codificada determinada e os dados de imagem codificados, de acordo com a profundidade codificada determinada, são emitidos para a unidade de saída 130.
[0037] Os dados de imagem na unidade de codificação máxima são codificados, com base nas unidades de codificação mais profundas correspondentes a pelo menos uma profundidade igual ou inferior à profundidade máxima, e resultados de codificação dos dados de
9/64 imagem são comparados, com base em cada uma das unidades de codificação mais profundas. Uma profundidade tendo o menor erro de codificação pode ser selecionada, depois de comparar erros de codificação das unidades de codificação mais profundas. Pelo menos uma profundidade codificada pode ser selecionada para cada unidade de codificação máxima.
[0038] 0 tamanho da unidade de codificação máxima é dividido, quando uma unidade de codificação é dividida hierarquicamente, de acordo com profundidades, e quando o número de unidades de codificação aumenta. Além disso, mesmo se unidades de codificação corresponderem à mesma profundidade em uma unidade de codificação máxima, é determinada a necessidade de se dividir cada uma das unidades de codificação correspondentes à mesma profundidade em uma menor profundidade, medindo-se um erro de codificação dos dados de imagem de cada unidade da codificação, em separado. Nesse sentido, mesmo quando dados de imagem forem incluídos em uma unidade de codificação máxima, os dados de imagem são divididos em regiões, de acordo com as profundidades, e os erros de codificação podem diferir, de acordo com regiões na unidade de codificação máxima e, assim, as profundidades codificadas podem diferir, de acordo com regiões nos dados de imagem. Assim, uma ou mais profundidades codificadas podem ser determinadas em uma unidade de codificação máxima, e os dados de imagem da unidade de codificação máxima podem ser divididos, de acordo com unidades de codificação de pelo menos uma profundidade codificada.
[0039] Nesse sentido, o determinador da unidade de codificação 120 pode determinar unidades de codificação tendo uma estrutura em árvore incluída na unidade de codificação máxima. As 'unidades de codificação tendo uma estrutura em árvore', de acordo com uma forma de realização da presente invenção, incluem unidades de codificação, que correspondem a uma profundidade
10/64 determinada como sendo a profundidade codificada, dentre todas as unidades de codificação mais profundas incluídas na unidade de codificação máxima. Uma unidade de codificação de uma profundidade codificada pode ser hierarquicamente determinada, de acordo com profundidades na mesma região da unidade de codificação máxima, e pode ser determinada, de forma independente, em diferentes regiões. Da mesma forma, uma profundidade codificada em uma região atual pode ser determinada independentemente, a partir de uma profundidade codificada em outra região.
[0040] Uma profundidade máxima, de acordo com uma forma de realização da presente invenção, é um índice relacionado ao número de vezes de divisão, a partir de uma unidade de codificação máxima até uma unidade de codificação mínima. Uma primeira profundidade máxima, de acordo com uma forma de realização da presente invenção, pode denotar o número total de vezes de divisão, a partir da unidade de codificação máxima até a unidade de codificação mínima. Uma segunda profundidade máxima, de acordo com uma forma de realização da presente invenção, pode denotar o número total de níveis de profundidade, a partir da unidade de codificação máxima até a unidade de codificação mínima. Por exemplo, quando uma profundidade da unidade de codificação máxima for 0, uma profundidade de uma unidade de codificação, em que a unidade de codificação máxima é dividida uma vez, pode ser definida como 1, e uma profundidade de uma unidade de codificação, em que a unidade de codificação máxima é dividida duas vezes, pode ser definida como 2. Aqui, se a unidade de codificação mínima for uma unidade de codificação, em que a unidade de codificação máxima é dividida quatro vezes, 5 níveis de profundidade das profundidades 0, 1, 2, 3 e 4 existem e, portanto, a primeira profundidade máxima pode ser
11/64 definida como 4, e a segunda profundidade máxima pode ser definida como 5.
[0041] Codificação por previsão e transformação podem ser realizadas, de acordo com a unidade de codificação máxima. A codificação por previsão e a transformação são, além disso, executadas com base nas unidades de codificação mais profundas, de acordo com uma profundidade igual, ou profundidades menores, que a profundidade máxima, de acordo com a unidade de codificação máxima. Transformação pode ser realizada, de acordo com o método de transformação ortogonal ou transformação de número inteiro.
[0042] Uma vez que o número de unidades de codificação mais profundas aumenta, sempre que a unidade de codificação máxima é dividida de acordo com profundidades, codificação, incluindo a codificação por previsão e a transformação, é realizada em todas as unidades de codificação mais profundas geradas, quando a profundidade aumenta. Para conveniência de descrição, a codificação por previsão e a transformação serão agora descritas, com base em uma unidade de codificação de uma profundidade atual, em uma unidade de codificação máxima.
[0043] O aparelho para codificar vídeo 100 pode selecionar, de forma variável, um tamanho ou formato de uma unidade de dados para codificar os dados de imagem. Para codificar os dados de imagem, operações, tais como codificação por previsão, transformação, e codificação por entropia, são executadas e, nesta ocasião, a mesma unidade de dados pode ser usada para todas as operações, ou diferentes unidades de dados podem ser utilizadas para cada operação.
[0044] Por exemplo, o aparelho para codificar vídeo 100 pode selecionar, não só uma unidade de codificação para codificar os dados de imagem, mas também uma unidade de dados diferente da
12/64 unidade de codificação, a fim de realizar a codificação por previsão nos dados de imagem na unidade de codificação.
[0045] Para realizar codificação por previsão na unidade de codificação máxima, a codificação por previsão pode ser realizada com base em uma unidade de codificação correspondente a uma profundidade codificada, ou seja, com base em uma unidade de codificação, que não é mais dividida em unidades de codificação correspondentes a uma menor profundidade. A seguir, a unidade de codificação, que não é mais dividida e se torna uma unidade básica para codificação por previsão, será agora referida como uma 'unidade de previsão'. Uma partição obtida, dividindo-se a unidade de previsão, pode incluir uma unidade de previsão ou uma unidade de dados obtida, dividindo-se pelo menos uma dentre a altura e largura da unidade de previsão.
[0046] Por exemplo, quando uma unidade de codificação de 2Nx2N (onde N é um número inteiro positivo) não é mais dividida, e se torna uma unidade de previsão de 2Nx2N, e um tamanho de uma partição pode ser 2Nx2N, 2NxN, Nx2N ou NxN. Exemplos de um tipo de partição incluem partições simétricas, que são obtidas, dividindo-se simetricamente uma altura ou largura da unidade de previsão, partições obtidas, dividindo-se assimetricamente a altura ou largura da unidade de previsão, como 1: n ou n:l, partições que são obtidas, dividindo-se geometricamente a unidade de previsão, e partições tendo formatos arbitrários.
[0047] Um modo de previsão da unidade de previsão pode ser pelo menos aquele dentre um modo intra, um modo inter, e um modo ignorar. Por exemplo, o modo intra ou o modo inter pode ser executado na partição de 2Nx2N, 2NxN, Nx2N ou NxN. Além disso, o modo ignorar pode ser realizado somente na partição de 2Nx2N. A codificação é realizada independentemente em uma unidade de previsão, em uma unidade de codificação, selecionando, assim, um modo de previsão tendo um menor erro de codificação.
13/64 [0048] O aparelho para codificar vídeo 100 pode, além disso, executar a transformação nos dados de imagem em uma unidade de codificação, baseado não apenas na unidade de codificação para codificar os dados de imagem, mas também com base em uma unidade de dados que é diferente da unidade de codificação. Para realizar a transformação na unidade de codificação, a transformação pode ser realizada com base em uma unidade de transformação tendo um tamanho menor ou igual à unidade de codificação. Por exemplo, a unidade de transformação pode incluir uma unidade de dados para o modo intra e uma unidade de dados para o modo inter.
[0049] Uma unidade de dados usada como base da transformação será agora referida como uma 'unidade de transformação'. Uma profundidade de transformação, indicando o número de vezes de divisão para alcançar a unidade de transformação, dividindo-se a altura e largura da unidade de codificação, pode ser também definida na unidade de transformação. Por exemplo, em uma unidade de codificação atual da 2Nx2N, uma profundidade de transformação pode ser 0, quando o tamanho de uma unidade de transformação for também 2Nx2N, pode ser 1, quando cada uma dentre a altura e largura da unidade de codificação atual for dividida em duas partes iguais, totalmente divididas em 4 Λ 1 unidades de transformação, e o tamanho da unidade de transformação é, portanto, NxN, e pode ser 2, quando cada uma dentre a altura e largura da unidade de codificação atual for dividida em quatro partes iguais, totalmente divididas em 4 Λ 2 unidades de transformação e o tamanho da unidade de transformação é, assim, N/2xN/2. Por exemplo, a unidade de transformação pode ser definida, de acordo com uma estrutura em árvore hierárquica, em que uma unidade de transformação de uma profundidade de transformação superior é dividida em quatro unidades de transformação de uma menor profundidade de
14/64 transformação, de acordo com as caracter!sticas hierárquicas de uma profundidade de transformação.
[0050] Da mesma forma que para a unidade de codificação, a unidade de transformação na unidade de codificação pode ser recursivamente dividida em unidades de transformação com menores tamanhos, para que a unidade de transformação possa ser determinada de modo independente em unidades de regiões. Assim, dados residuais na unidade de codificação podem ser divididos, de acordo com a transformação tendo a estrutura em árvore, de acordo com profundidades de transformação.
[0051] Informações de codificação, de acordo com unidades de codificação correspondentes a uma profundidade codificada, requerem não só informações sobre a profundidade codificada, mas também informações relacionadas à codificação por previsão e transformação. Nesse sentido, o determinador da unidade de codificação 120, não só determina uma profundidade codificada tendo um menor erro de codificação, mas também determina um tipo de partição em uma unidade de previsão, um modo de previsão de acordo com unidades de previsão, e um tamanho de uma unidade de transformação para transformação.
[0052] Unidades de codificação, de acordo com uma estrutura em árvore em uma unidade de codificação máxima, e um método para determinar uma partição, de acordo com formas de realização da presente invenção, serão descritos em detalhes mais tarde, com referência às Figs. 3 a 12.
[0053] O determinador da unidade de codificação 120 pode medir um erro de codificação das unidades de codificação mais profundas, de acordo com profundidades, usando otimização de taxa-distorção baseado em multiplicadores de Lagrange.
[0054] A unidade de saida 130 emite os dados de imagem da unidade de codificação máxima, que são codificados com base em pelo menos uma profundidade codificada, determinada pelo
15/64 determinador da unidade de codificação 120, e informações sobre o modo de codificação, de acordo com a profundidade codificada, em fluxos de bits.
[0055] Os dados de imagem codificados podem ser obtidos por codificação de dados residuais de uma imagem.
[0056] As informações sobre o modo de codificação, de acordo com profundidades codificadas, podem incluir informações sobre a profundidade codificada, sobre o tipo de partição na unidade de previsão, o modo de previsão, e o tamanho da unidade de transformação.
[0057] As informações sobre a profundidade codificada podem ser definidas, usando informações de divisão de acordo com profundidades, que indicam se a codificação foi executada em unidades de codificação de uma menor profundidade, em vez de uma profundidade atual. Se a profundidade atual da unidade de codificação atual for a profundidade codificada, dados de imagem na unidade de codificação atual são codificados e emitidos e, portanto, as informações de divisão podem ser definidas para não de codificação atual em menor profundidade.
dividir a unidade
Alternativamente, se a profundidade atual da unidade de codificação atual não for a profundidade codificada, a codificação realizada na unidade de codificação da menor profundidade e, portanto, as informações de divisão podem ser definidas para dividir a unidade de codificação atual, para obter as unidades de codificação da menor profundidade.
[0058] Se a profundidade atual não for a profundidade codificada, codificação é realizada na unidade de codificação, que é dividida na unidade de codificação da menor profundidade. Uma vez que pelo menos uma unidade de codificação da menor profundidade existe em uma unidade de codificação da profundidade atual, a codificação é executada repetidamente em cada unidade de codificação da menor profundidade e, portanto, a
16/64 codificação pode ser recursivamente realizada para as unidades de codificação tendo a mesma profundidade.
[0059] Uma vez que as unidades de codificação tendo uma estrutura em árvore são determinadas para uma unidade de codificação máxima, e informações sobre pelo menos um modo de codificação são determinadas para uma unidade de codificação de uma profundidade codificada, informações sobre pelo menos um modo de codificação podem ser determinadas para uma unidade de codificação máxima. Além disso, uma profundidade codificada dos dados de imagem da unidade de codificação máxima pode ser diferente, de acordo com posições, uma vez que os dados de imagem são hierarquicamente divididos de acordo com profundidades e, portanto, informações sobre a profundidade codificada e o modo de codificação podem ser definidas para os dados de imagem.
[0060] Por conseguinte, a unidade de saída 130 pode atribuir informações de codificação sobre uma profundidade codificada correspondente e um modo de codificação para pelo menos uma dentre a unidade de codificação, a unidade de previsão, e uma unidade mínima, incluída na unidade de codificação máxima.
[0061] A unidade mínima, de acordo com uma forma de realização da presente invenção, pode ser uma unidade de dados retangulares obtida, dividindo-se a unidade de codificação mínima, que constitui a profundidade mais inferior por 4, e pode ser uma unidade máxima de dados retangulares, que pode ser incluída em todas as unidades de codificação, unidades de previsão, unidades de partição, e unidades de transformação, incluídas na unidade de codificação máxima.
[0062] Por exemplo, as informações de codificação emitidas pela unidade de saída 130 podem ser classificadas em informações de codificação, de acordo com unidades de codificação, e informações de codificação, de acordo com unidades de previsão.
17/64
As informações de codificação, de acordo com as unidades de codificação, podem incluir as informações sobre o modo de previsão e sobre o tamanho das partições. As informações de codificação, de acordo com as unidades de previsão, podem incluir informações sobre uma direção estimada de um modo inter, sobre um índice de imagens de referência do modo inter, sobre um vetor de movimento, sobre um componente de crominância de um modo intra, e sobre um método de interpolação do modo intra. Além disso, informações sobre um tamanho máximo da unidade de codificação, definidas de acordo com quadros, fatias, ou grupos de quadros (GOPs) , e informações sobre uma profundidade máxima podem ser inseridas em um cabeçalho de um fluxo de bits.
[0063] O divisor da unidade de codificação máxima 110 e o determinador da unidade de codificação 120 correspondem às camadas de codificação de vídeo que determinam uma moldura de referência de cada uma das molduras de imagem, formando uma sequência de imagens por meio de estimativa de movimento e compensação de movimento em cada moldura de imagem da sequência de imagens, de acordo com unidades de codificação, e codificam cada moldura de imagem usando a moldura de referência determinada.
[0064] Além disso, conforme será descrito mais tarde, a unidade de saída 130 mapeia sintaxe (max_dec_frame buffering) por uma unidade de uma camada de abstração de rede (NAL) e, portanto, gera um fluxo de bits, em que a sintaxe indica um tamanho máximo de um buffer necessário para um decodifiçador decodificar as molduras de imagem, sintaxe (num_reorder_frames) indicando o número de molduras de imagem necessário a ser reordenado, e sintaxe (max_latency_increase) indicando informações de latência de uma moldura de imagem, que tem a maior diferença entre uma ordem de codificação e uma ordem de
18/64 exibição, e que está entre as molduras de imagem formando a sequência de imagens.
[0065] No aparelho para codificar vídeo 100, a unidade de codificação mais profunda pode ser uma unidade de codificação obtida, dividindo-se uma altura ou largura de uma unidade de codificação de uma profundidade superior, que está uma camada acima, por dois. Em outras palavras, quando o tamanho da unidade de codificação da profundidade atual for 2Nx2N, o tamanho da unidade de codificação da menor profundidade é NxN. Além disso, a unidade de codificação da profundidade atual tendo o tamanho de 2Nx2N pode incluir no máximo 4 da unidade de codificação da menor profundidade.
[0066] Nesse sentido, o aparelho para codificar vídeo 100 pode formar as unidades de codificação tendo a estrutura em árvore, determinando unidades de codificação tendo um formato ideal e um tamanho ideal para cada unidade de codificação máxima, baseado no tamanho da unidade de codificação máxima e na profundidade máxima determinada, tendo em conta as características do quadro atual. Além disso, uma vez que codificação pode ser realizada em cada unidade de codificação máxima, usando qualquer um dos vários modos de previsão e transformações, um modo de codificação ideal pode ser determinado, tendo em consideração as características da unidade de codificação de vários tamanhos de imagem.
[0067] Assim, se uma imagem, tendo uma alta resolução ou grande quantidade de dados, for codificada em um macrobloco convencional, um número de macroblocos por quadro aumenta excessivamente. Por conseguinte, um número de segmentos de informações compactadas geradas para cada macrobloco aumenta e, assim, é difícil transmitir as informações comprimidas, e a eficiência de compressão de dados diminui. No entanto, usando o aparelho para codificar vídeo 100, a eficiência de compressão de
19/64 imagem pode ser aumentada, uma vez que uma unidade de codificação ajustada, enquanto que considerando características de uma imagem, aumentando ao mesmo tempo um tamanho máximo da unidade de codificação, ao considerar um tamanho da imagem.
[0068]
A Fig. 2 é um diagrama de blocos de um aparelho para decodificar vídeo 200, de acordo com uma forma de realização da presente invenção.
[0069] O aparelho para decodificar vídeo 200 inclui um receptor 210, um extrator de informações de codificação e dados de imagem 220, e um decodif içador de dados de imagem 230. Definições de vários termos, tais como uma unidade de codificação, uma profundidade, uma unidade de previsão, uma unidade de transformação, e informações sobre vários modos de codificação, para diversas operações do aparelho para decodificar vídeo 200, são idênticas às descritas com referência à Fig. 1 e ao aparelho para codificar vídeo 100.
[0070] O receptor 210 recebe e analisa um fluxo de bits de um vídeo codificado. O extrator de informações de codificação e dados de imagem 220 extrai dados de imagem codificados para cada unidade de codificação do fluxo de bits analisado, no qual as unidades de codificação têm uma estrutura em árvore, de acordo com cada unidade de codificação máxima, e emite os dados de imagem extraídos para o decodifiçador de dados de imagem 230. O extrator de informações de codificação e dados de imagem 220 pode extrair informações sobre um tamanho máximo de uma unidade de codificação de um quadro atual, a partir de um cabeçalho sobre o quadro atual, ou um SPS.
[0071] Além disso, o extrator de informações de codificação e dados de imagem 220 extrai informações sobre uma profundidade codificada e um modo de codificação para as unidades de codificação tendo uma estrutura em árvore, de acordo com cada
20/64 unidade de codificação máxima, a partir do fluxo de bits analisado. As informações extraídas sobre a profundidade codificada e o modo de codificação são emitidas para o decodificador de dados de imagem 230. Em outras palavras, os dados de imagem em um fluxo de bits são divididos na unidade de codificação máxima, para que o decodificador de dados de imagem 230 decodifique os dados de imagem para cada unidade de codificação máxima.
[0072] As informações sobre a profundidade codificada e o modo de codificação, de acordo com as unidades de codificação máxima, podem ser definidas para obter informações sobre pelo menos uma unidade de codificação correspondente à profundidade codificada, e informações sobre um modo de codificação podem incluir informações sobre um tipo de partição de uma unidade de codificação correspondente à profundidade codificada, sobre um modo de previsão, e um tamanho de uma unidade de transformação. Além disso, informações de divisão, de acordo com profundidades, podem ser extraídas como as informações sobre a profundidade codificada.
[0073] As informações sobre a profundidade codificada e o modo de codificação, de acordo com cada unidade de codificação máxima extraída pelo extrator de informações de codificação e dados de imagem 220, são informações sobre uma profundidade codificada e um modo de codificação determinadas para gerar um menor erro de codificação, quando um codificador, tal como o aparelho para codificar vídeo 100, executa repetidamente codificação para cada unidade de codificação mais profunda, de acordo com profundidades, de acordo com cada unidade de codificação máxima. Por conseguinte, o aparelho para decodificar vídeo 200 pode restaurar uma imagem por decodificação dos dados de imagem, de acordo com uma profundidade codificada e um modo de codificação, que gere o menor erro de codificação.
21/64 [0074] Uma vez que informações de codificação sobre a profundidade codificada e o modo de codificação podem ser atribuídas a uma unidade de dados predeterminada dentre uma unidade de codificação correspondente, uma unidade de previsão, e uma unidade mínima, o extrator de informações de codificação e dados de imagem 220 pode extrair as informações sobre a profundidade codificada e o modo de codificação, de acordo com as unidades de dados predeterminadas. As unidades de dados predeterminadas, às quais forem atribuídas as mesmas informações sobre a profundidade codificada e o modo de codificação, podem ser inferidas como sendo as unidades de dados incluídas na mesma unidade de codificação máxima.
[0075] O decodifiçador de dados de imagem 230 restaura o quadro atual, por decodificação dos dados de imagem em cada unidade de codificação máxima, com base nas informações sobre a profundidade codificada e o modo de codificação, de acordo com as unidades de codificação máxima. Em outras palavras, o decodifiçador de dados de imagem 230 pode decodificar os dados de imagem codificados, com base nas informações extraídas sobre o tipo de partição, o modo de previsão, e a unidade de transformação para cada unidade de codificação dentre as unidades de codificação tendo a estrutura em árvore incluída em cada unidade de codificação máxima. Um processo de decodificação pode incluir previsão, incluindo previsão intra e compensação de movimento, e uma transformação inversa. Transformação inversa pode ser realizada, de acordo com o método de transformação ortogonal inversa ou transformação inversa de números inteiros.
[0076] O decodifiçador de dados de imagem 230 pode realizar previsão intra ou compensação de movimento, de acordo com uma partição e um modo de previsão de cada unidade de codificação, com base nas informações sobre o tipo de partição e o modo de
22/64 previsão da unidade de previsão da unidade de codificação, de acordo com profundidades codificadas.
[0077] Além disso, o decodificador de dados de imagem 230 pode realizar transformação inversa, com base em cada unidade de transformação na unidade de codificação, de acordo com as informações sobre o tamanho da unidade de transformação da unidade de codificação, de acordo com profundidades codificadas, a fim de executar a transformação inversa, de acordo com as unidades de codificação máxima.
[0078] O decodificador de dados de imagem 230 pode determinar pelo menos uma profundidade codificada de uma unidade de codificação máxima atual, usando informações de divisão, de acordo com profundidades. Se as informações de divisão indicarem que dados de imagem não são mais divididos na profundidade atual, a profundidade atual é uma profundidade codificada. Por conseguinte, o decodificador de dados de imagem 230 pode decodificar dados codificados de pelo menos uma unidade de codificação correspondente a cada profundidade codificada na unidade de codificação máxima atual, usando as informações sobre o tipo de partição da unidade de previsão, o modo de previsão, e o tamanho da unidade de transformação para cada unidade de codificação correspondente à profundidade codificada, e emitir os dados de imagem da unidade de codificação máxima atual.
[0079] Ou seja, unidades de dados contendo as informações de codificação, incluindo as mesmas informações de divisão, podem ser reunidas, observando o conjunto de informações de codificação atribuído para a unidade de dados predeterminada dentre a unidade de codificação, a unidade de previsão e a unidade mínima, e as unidades de dados reunidas podem ser consideradas uma unidade de dados sendo decodificada pelo decodif icador de dados de imagem 230 no mesmo modo de codificação.
23/64 [0080]
Além disso, o receptor 210 e o extrator de informações de codificação e dados de imagem 220 executam um processo de decodificação
NAL, no qual sintaxe (max dec frame buffering) indicando um tamanho máximo de um buffer necessário para um decodifiçador decodificar molduras de imagem, sintaxe (num_reorder_frames) indicando o número de molduras de imagem necessárias a ser reordenadas, e sintaxe (max_latency_increase) indicando informações de latência de uma moldura de imagem, que tem a maior diferença entre uma ordem de de exibição e que está entre as molduras codificação e uma ordem de imagem formando uma sequência de imagens, são obtidos a partir de um fluxo de bits e são emitidos para o decodifiçador de dados de imagem 230.
[0081] O aparelho para decodificar vídeo 200 pode obter informações sobre pelo menos uma unidade de codificação, que gere o menor erro de codificação, quando codificação for recursivamente executada para cada unidade de codificação máxima, e pode usar as informações para decodificar o quadro atual. Em outras palavras, as unidades de codificação, tendo a estrutura em árvore determinada como sendo as unidades de codificação ideais em cada unidade de codificação máxima, podem ser decodificadas. Além disso, o tamanho máximo da unidade de codificação é determinado, considerando a resolução e uma quantidade de dados de imagem.
[0082] Nesse sentido, mesmo se dados de imagem tiverem alta resolução e uma grande quantidade de dados, os dados de imagem podem ser eficientemente decodificados e restaurados, usando um tamanho de uma unidade de codificação e um modo de codificação, que são adaptavelmente determinados, de acordo com características dos dados de imagem, por meio de informações sobre um modo de codificação ideal recebidas de um codificador.
[0083] Um método para determinar unidades de codificação com uma estrutura em árvore, uma unidade de previsão e uma unidade
24/64 de transformação, de acordo com uma forma de realização da presente invenção, será agora descrito com referência às Figuras a 13.
[0084] A Fig. 3 é um diagrama para descrever um conceito de unidades de codificação, de acordo com uma forma de realização da presente invenção.
[0085] Um tamanho de uma unidade de codificação pode ser expresso em largura x altura, e pode incluir 64 x 64, 32 x 32, 16 x 16 e 8 x 8. Uma unidade de codificação de 64 x 64 pode ser dividida em partições de 64 x 64, 64 x 32, 32 x 64 ou 32 x 32, e uma unidade de codificação de 32 x 32 pode ser dividida em partições de 32 x 32, 32 x 16, 16 x 32 ou 16 x 16, uma unidade de codificação de 16 x 16 pode ser dividida em partições de 16 x 16, 16 x 8, 8 x 16 ou 8 x 8, e uma unidade de codificação de 8 x 8 pode ser dividida em partições de 8x8, 8x4, 4x8ou4x .
[0086] Nos dados de video 310, uma resolução é de 1920 x 1080, um tamanho máximo de uma unidade de codificação é de 64, e uma profundidade máxima é de 2. Nos dados de video 320, uma resolução é de 1920 x 1080, um tamanho máximo de uma unidade de codificação é 64, e uma profundidade máxima é de 3. Nos dados de video 330, uma resolução é de 352 x 288, um tamanho máximo de uma unidade de codificação é 16, e uma profundidade máxima é de 1. A profundidade máxima mostrada na Fig. 3 indica um número total de divisões, a partir de uma unidade de codificação máxima até uma unidade de decodificação mínima.
[0087] Se uma resolução for alta ou uma quantidade de dados for grande, um tamanho máximo de uma unidade de codificação pode ser grande, de modo a não só aumentar a eficiência de codificação, mas também para refletir com precisão características de uma imagem. Consequentemente, o tamanho
25/64 máximo da unidade de codificação dos dados de video 310 e 320, tendo maior resolução que os dados de vídeo 330, pode ser 64.
[0088] Uma vez que a profundidade máxima dos dados de vídeo 310 é 2, unidades de codificação 315 dos dados de vídeo 310 podem incluir uma unidade de codificação máxima tendo um tamanho de eixo longo de 64, e unidades de codificação com tamanhos de eixo longo de 32 e 16, uma vez que profundidades são aumentadas em duas camadas, dividindo-se duas vezes a unidade de codificação máxima. Enquanto isso, uma vez que a profundidade máxima dos dados de vídeo 330 é 1, unidades de codificação 335 dos dados de vídeo 330 podem incluir uma unidade de codificação máxima tendo um tamanho de eixo longo de 16, e unidades de codificação com um tamanho de eixo longo de 8, uma vez que profundidades são aumentadas em uma camada, dividindo-se uma vez a unidade de codificação máxima.
[0089] Uma vez que a profundidade máxima dos dados de vídeo 320 é 3, unidades de codificação 325 dos dados de vídeo 320 podem incluir uma unidade de codificação máxima tendo um tamanho de eixo longo de 64, e unidades de codificação tendo tamanhos de eixo longo de 8, 16 e 32, uma vez que as profundidades são aumentadas em 3 camadas, dividindo-se três vezes a unidade de codificação máxima. Quando uma profundidade aumenta, informações detalhadas podem ser precisamente expressas.
[0090] A Fig. 4 é um diagrama de blocos de um codificador de imagens 400 com base em unidades de codificação, de acordo com uma forma de realização da presente invenção.
[0091] O codificador de imagens 400 executa operações do determinador da unidade de codificação 120 do aparelho para codificar vídeo 100, para codificar dados de imagem. Em outras palavras, um previsor intra 410 executa previsão intra nas unidades de codificação em um modo intra, dentre uma moldura atual 405, e um estimador de movimento 420 e um compensador de
26/64 movimento 425 realiza estimativa inter e compensação de movimento nas unidades de codificação em um modo inter dentre a moldura atual 405, usando a moldura atual 405 e uma moldura de referência 495.
[0092] Dados emitidos pelo previsor intra 410, o estimador de movimento 420, e o compensador de movimento 425 são emitidos como um coeficiente de transformação quantizada, através de um transformador 430 e um quantizador 440. O coeficiente de transformação quantizada é restaurado como dados em um domínio espacial, através de um quantizador inverso 460 e um transformador inverso 470, e os dados restaurados no domínio espacial são emitidos como a moldura de referência 495, após serem pós-processados, através de uma unidade de desbloqueio 480 e uma unidade de filtragem de circuito 490. O coeficiente de transformação quantizada pode ser emitido como um fluxo de bits 455, através de um codificador por entropia 450. Em particular, o codificador por entropia 450 pode mapear sintaxe máxima de buffer de moldura decodificada (max_dec_frame buffering) por uma unidade de um NAL e, assim, pode gerar um fluxo de bits, onde a sintaxe máxima de buffer de moldura decodificada (max_dec_frame buffering) indica um tamanho máximo de um buffer necessário para um decodifiçador decodificar molduras de imagem, sintaxe do número para reordenar molduras (num_reorder_frames) indicando o número de molduras de imagem que devem ser reordenadas, sintaxe da moldura de latência máxima (MaxLatencyFrame) indicando um valor máximo de um valor de diferença entre uma ordem de codificação e uma ordem de exibição das molduras de imagem formando uma sequência de imagens, ou sintaxe do aumento de latência máxima (max_latency_increase) para determinar a sintaxe da moldura de latência máxima (MaxLatencyFrame). Em particular, o codificador por entropia 450, de acordo com a presente forma de realização, inclui a sintaxe máxima de buffering da moldura
27/64 decodificada (max_dec_frame buffering) indicando um tamanho máximo de um buffer necessário para um decodifiçador decodificar molduras de imagem, a sintaxe do número para reordenar molduras (num_reorder_frames) indicando o número de molduras de imagem necessárias para serem reordenadas, e a sintaxe de aumento da latência máxima (max_latency_increase) para determinar a sintaxe de moldura da latência máxima (MaxLatencyFrame), como elementos essenciais, em um conjunto de parâmetros de sequência (SPS), que são informações de cabeçalho incluindo informações relacionadas à codificação de toda a sequência de imagens.
[0093] A fim de que o codificador de imagens 400 seja aplicado no aparelho para codificar video 100, todos os elementos do codificador de imagem 400, ou seja, o previsor intra 410, o estimador de movimento 420, o compensador de movimento 425, o transformador 430, o quantizador 440, o codificador por entropia 450, o quantizador inverso 460, o transformador inverso 470, a unidade de desbloqueio 480, e a unidade de filtragem de circuito 490, executam operações com base em cada unidade de codificação, dentre unidades de codificação tendo uma estrutura em árvore, enquanto que considerando a profundidade máxima de cada unidade de codificação máxima.
[0094] Especificamente, o previsor intra 410, o estimador de movimento 420, e o compensador de movimento 425 determinam partições e um modo de previsão de cada unidade de codificação, dentre unidades de codificação tendo uma estrutura em árvore, enquanto que considerando o tamanho máximo e a profundidade máxima de uma unidade de codificação máxima atual, e o transformador 430 determina o tamanho da unidade de transformação em cada unidade de codificação dentre as unidades de codificação tendo uma estrutura em árvore.
28/64 [0095] A Fig. 5 é um diagrama de blocos de um decodificador de imagens 500 com base em unidades de codificação, de acordo com uma forma de realização da presente invenção.
[0096] Um analisador 510 analisa informações sobre codificação necessária para decodificação de um fluxo de bits 505 e dados de imagem codificados a serem decodificados. Em particular, o analisador 510 obtém sintaxe máxima de buffer de moldura decodificada (max_dec_frame buffering), indicando um tamanho máximo de um buffer necessário para decodificar molduras de imagem incluídas como um elemento essencial de um SPS, sintaxe do número para reordenar molduras (num_reorder_frames), indicando o número das molduras de imagem necessárias a serem reordenadas, e sintaxe do aumento da latência máxima (max_latency_increase), para determinar uma sintaxe da moldura de latência máxima (MaxLatencyFrame) a partir de um fluxo de bits e emiti-los para um decodificador por entropia 520. Na Fig. 5, o analisador 510 e o decodificador por entropia 520 são elementos separados. No entanto, a obtenção dos dados de imagem e a obtenção de cada item das informações de sintaxe relacionada aos dados de imagem codificados, que são executados pelo analisador 510, podem ser implementadas para ser executadas pelo decodificador por entropia 520.
[0097] Os dados de imagem codificados são emitidos como dados quantizados inversos, através de um decodificador por entropia 520 e um quantizador inverso 530, e os dados quantizados inversos são restaurados para dados de imagem em um domínio espacial, através de um transformador inverso 540.
[0098] Um previsor intra 550 executa previsão intra nas unidades de codificação em um modo intra em relação aos dados de imagem no domínio espacial, e um compensador de movimento 560 executa compensação de movimento em unidades de codificação em um modo inter usando uma moldura de referência 585.
29/64 [0099] As molduras de imagem, que são restauradas enquanto passam pelo previsor intra 550 e o compensador de movimento 560, podem ser pós-processadas através da unidade de desbloqueio 570 e podem ser emitidas para um buffer de quadros decodificados (DPB) 580. O DPB 580 armazena uma moldura de referência, altera uma ordem de exibição das molduras de imagem, e armazena as molduras de imagem restauradas, a fim de emitir as molduras de imagem. O DPB 580 armazena as molduras de imagem restauradas, e define um tamanho máximo de um buffer necessário para decodificar normalmente a sequência de imagens, usando a sintaxe máxima de buffer de moldura decodificada (max_dec_frame buffering), indicando o tamanho máximo do buffer necessário para decodificar as molduras de imagem, que são emitidas pelo analisador 510 ou o decodificador por entropia 520.
[00100] Além disso, o DPB 580 pode determinar se deve ou não emitir uma moldura de imagem de referência, que foi previamente decodificada e armazenada, usando a sintaxe do número para reordenar molduras (num_reorder_frames) indicando o número das molduras de imagem necessárias a serem reordenadas, e a sintaxe de aumento da latência máxima (max_latency_increase) para determinar a sintaxe de molduras de latência máxima (MaxLatencyFrame). Um processo para emitir a moldura de imagem de referência armazenada no DPB 580 será descrito em detalhes mais tarde.
[00101] Para decodificar os dados de imagem no decodificador de dados de imagem 230 do aparelho para decodificar vídeo 200, o decodificador de imagens 500 pode executar operações, que são executadas após o analisador 510.
[00102] A fim de que o decodif icador de imagens 500 seja aplicado ao aparelho para decodificar vídeo 200, todos os elementos do decodificador de imagem 500, ou seja, o analisador 510, o decodificador por entropia 520, o quantizador inverso
30/64
530, o transformador inverso 540, o previsor intra 550, o compensador de movimento 560, a unidade de desbloqueio 570, e a unidade de filtragem de circuito 580, podem executar operações de decodificação com base em unidades de codificação com uma estrutura em árvore para cada unidade de codificação máxima.
Especificamente, o previsor intra 550 compensador de movimento
560 podem determinar partições um modo de previsão para cada uma das unidades de codificação tendo uma estrutura em árvore, e o transformador inverso 540 pode determinar um tamanho de uma unidade de transformação para cada unidade de codificação.
[00103] A
Fig.
é um diagrama ilustrando unidades de codificação mais profundas, de acordo com profundidades partições, de acordo com uma forma de realização da presente invenção.
[00104] O aparelho para codificar vídeo 100 e o aparelho para decodificar vídeo 200 usam unidades de codificação hierárquicas, a fim de considerar características de uma imagem. Uma altura máxima, uma largura máxima, e uma profundidade máxima das unidades de codificação podem ser adaptavelmente determinadas, de acordo com as características da imagem, ou podem ser definidas de forma diferente por um usuário.
Tamanhos das unidades de codificação mais profundas, de acordo com profundidades, podem ser determinados, de acordo com o tamanho máximo predeterminado da unidade de codificação.
[00105] Em uma estrutura hierárquica 600 de unidades de codificação, de acordo com uma forma de realização da presente invenção, a altura máxima largura máxima das unidades de codificação são, cada qual, de
64, e a profundidade máxima é de
4. Uma vez que uma profundidade aumenta ao longo de um eixo vertical da estrutura hierárquica
600, uma altura e uma largura da unidade de codificação mais profunda são, cada qual,
31/64 divididas. Além disso, uma unidade de previsão e partições, que são as bases para codificação por previsão de cada unidade de codificação mais profunda, são mostradas ao longo de um eixo horizontal da estrutura hierárquica 600.
[00106] Em outras palavras, uma unidade de codificação 610 é uma unidade de codificação máxima na estrutura hierárquica 600, onde uma profundidade é 0 e um tamanho, ou seja, uma altura pela largura, é 64 x 64. A profundidade aumenta ao longo do eixo vertical, existindo uma unidade de codificação 620 tendo um tamanho de 32 x 32 e uma profundidade de 1, uma unidade de codificação 630 tendo um tamanho de 16 x 16 e uma profundidade de 2, uma unidade de codificação 640 tendo um tamanho de 8 x 8 e uma profundidade de 3, e uma unidade de codificação 650 tendo um tamanho de 4 x 4 e uma profundidade de 4. A unidade de codificação 650, tendo o tamanho de 4 x 4 e a profundidade de 4, é uma unidade de codificação mínima.
[00107] A unidade de previsão e as partições de uma unidade de codificação são dispostas ao longo do eixo horizontal, de acordo com cada profundidade. Em outras palavras, se a unidade de codificação 610, tendo o tamanho de 64x64 e a profundidade de 0, for uma unidade de previsão, a unidade de previsão pode ser dividida em partições incluídas na unidade de codificação 610, ou seja, uma partição 610 tendo um tamanho de 64 x 64, partições 612 tendo um tamanho de 64 x 32, partições 614 tendo um tamanho de 32 x 64, ou partições 616 tendo o tamanho de 32 x 32.
[00108] Da mesma forma, uma unidade de previsão da unidade de codificação 620, tendo o tamanho de 32 x 32 e a profundidade de 1, pode ser dividida em partições incluídas na unidade de codificação 620, ou seja, uma partição 620 tendo o tamanho de 32 x 32, partições 622 tendo um tamanho de 32 x 16, partições 624 tendo um tamanho de 16 x 32, e partições 626 tendo o tamanho de 16 x 16.
32/64 [00109] Da mesma forma, uma unidade de previsão da unidade de codificação 630, tendo o tamanho de 16 x 16 e a profundidade de 2, pode ser dividida em partições incluídas na unidade de codificação 630, ou seja, uma partição tendo um tamanho de 16 x 16, incluída na unidade de codificação 630, partições 632 tendo um tamanho de 16 x 8, partições 634 tendo um tamanho de 8 x 16, e partições 636 tendo um tamanho de 8 x 8.
[00110] Da mesma forma, uma unidade de previsão da unidade de codificação 640, tendo o tamanho de 8 x 8 e a profundidade de 3, pode ser dividida em partições incluídas na unidade de codificação 640, ou seja, uma partição tendo um tamanho de 8 x 8
incluída na unidade de codificação 640 , partições 642 tendo um
tamanho de 8 x 4, partições 644 tendo um tamanho de 4 x 8 , θ
partições 646 tendo um tamanho de 4 x 4.
[00111] A unidade de codificação 650, tendo o tamanho de 4 x 4
e a profundidade de 4, é a unidade de codificação mínima e uma
unidade de codificação da profundidade mais inferior. Uma unidade de previsão da unidade de codificação 650 só é atribuída a uma partição tendo um tamanho de 4 x 4.
[00112] A fim de determinar pelo menos uma profundidade codificada das unidades de codificação constituindo a unidade de codificação máxima 610, o determinador da unidade de codificação 120 do aparelho para codificar vídeo 100 executa codificação para unidades de codificação correspondentes a cada profundidade incluída na unidade de codificação máxima 610.
[00113] Um número de unidades de codificação mais profundas, de acordo com profundidades incluindo dados na mesma faixa e do mesmo tamanho, aumenta, à medida que a profundidade aumenta. Por exemplo, quatro unidades de codificação correspondentes a uma profundidade de 2 são necessárias para dar cobertura a dados, que estão incluídos em uma unidade de codificação correspondente a uma profundidade de 1. Nesse sentido, a fim de comparar
33/64 resultados de codificação dos mesmos dados, de acordo com profundidades, unidade profundidade de de codificação correspondente à unidades de codificação quatro correspondentes à profundidade de 2 são, cada qual, codificadas.
[00114] Para realizar codificação para uma profundidade atual dentre as profundidades, um menor erro de codificação pode ser atual, executando codificação nas unidades de codificação selecionado para a para cada unidade profundidade de previsão correspondentes profundidade atual, ao longo do eixo horizontal da menor erro de estrutura hierárquica 600. Como codificação pode ser procurado, alternativa, o comparando os menores erros de codificação de acordo com profundidades, através da realização de codificação para cada profundidade, a profundidade aumenta ao longo do eixo vertical da enquanto estrutura hierárquica 600.
menor erro de codificação
Uma profundidade e uma partição com o na unidade de codificação 610 podem profundidade codificada e um tipo de unidade de codificação 610.
ser selecionadas, como a partição da [00115] A uma unidade
Fig. 7 é um diagrama para descrever uma relação entre de codificação 710 e unidades de transformação 720, de acordo com uma forma de realização da presente invenção.
[00116] O aparelho para codificar video 100 ou o aparelho para decodificar video 200 codifica ou decodifica uma imagem, de acordo com unidades de codificação com tamanhos menores ou iguais a uma unidade de codificação máxima para cada unidade de codificação máxima. Tamanhos de unidades de transformação para transformação durante a codificação podem ser selecionados, com base em unidades de dados, que não são maiores do que uma unidade de codificação correspondente.
[00117] Por exemplo, no aparelho para codificar video 100 ou no aparelho para decodificar video 200, se um tamanho da unidade de codificação 710 for 64 x 64, transformação pode ser realizada
34/64 usando as unidades de transformação 720 tendo um tamanho de 32 x 32.
[00118] Além disso, dados da unidade de codificação 710 tendo o tamanho de 64 x 64 podem ser codificados por meio de transformação em cada uma das unidades de transformação tendo os tamanhos de 32 x 32, 16 x 16, 8x8, e 4 x 4, que são menores do que 64 x 64 e, então, uma unidade de transformação tendo o menor erro de codificação pode ser selecionada.
[00119] A Fig. 8 é um diagrama para descrever informações de codificação, de acordo com uma profundidade codificada, de acordo com uma forma de realização da presente invenção.
[00120] A unidade de saída 130 do aparelho para codificar vídeo 100 pode codificar e transmitir informações 800 sobre um tipo de partição, informações 810 sobre um modo de previsão, e informações 820 sobre um tamanho de uma unidade de transformação para cada unidade de codificação correspondente a uma profundidade codificada, como informações sobre um modo de codificação.
[00121] As informações 800 indicam informações sobre um formato de uma partição obtida, dividindo-se uma unidade de previsão de uma unidade de codificação atual, em que a partição é uma unidade de dados para codificação por previsão da unidade de codificação atual. Por exemplo, uma unidade de codificação atual CU_0 tendo um tamanho de 2Nx2N pode ser dividida em qualquer uma dentre a partição 802 tendo um tamanho de 2Nx2N, uma partição 804 tendo um tamanho de 2NxN, uma partição 806 tendo um tamanho de Nx2N, e uma partição 808 tendo um tamanho de NxN. Aqui, as informações 800 sobre um tipo de partição são definidas para indicar uma dentre a partição 804 tendo um tamanho de 2NxN, a partição 806 tendo um tamanho de Nx2N, e a partição 808 tendo um tamanho de NxN.
35/64 [00122] As informações 810 indicam um modo de previsão de cada partição. Por exemplo, as informações 810 podem indicar um modo de codificação por previsão realizado em uma partição indicada pelas informações 800, ou seja, um modo intra 812, um modo inter 814, ou um modo ignorar 816.
[00123] As informações 820 indicam uma unidade de transformação a ser baseada, quando transformação for realizada em uma unidade de codificação atual. Por exemplo, a unidade de transformação pode ser uma primeira unidade de transformação intra 822, uma segunda unidade de transformação intra 824, uma primeira unidade de transformação inter 826, ou uma segunda unidade de transformação intra 828.
[00124] O extrator de informações de codificação e dados de imagem 220 do aparelho para decodificar vídeo 200 pode extrair e usar as informações 800, 810 e 820 para decodificação, de acordo com cada unidade de codificação mais profunda.
[00125] A Fig. 9 é um diagrama das unidades de codificação mais profundas, de acordo com profundidades, de acordo com uma forma de realização da presente invenção.
[00126] Informações de divisão podem ser usadas para indicar uma mudança de uma profundidade. As informações de divisão indicam, se uma unidade de codificação de uma profundidade atual foi dividida em unidades de codificação de menor profundidade.
[00127] Uma unidade de previsão 910 para codificar por previsão uma unidade de codificação 900, tendo uma profundidade de 0 e um tamanho de 2N_0x2N_0, pode incluir partições de um tipo de partição 912 tendo um tamanho de 2N_0x2N_0, um tipo de partição 914 tendo um tamanho de 2N_0xN_0, um tipo de partição 916 tendo um tamanho de N_0x2N_0, e um tipo de partição 918 tendo um tamanho de N_0xN_0. A Fig. 9 só ilustra os tipos de partição 912 a 918 obtidos, dividindo-se simetricamente a unidade de previsão 910, mas um tipo de partição não é por este aspecto limitado, e
36/64 as partições da unidade de previsão 910 podem incluir partições assimétricas, partições tendo um formato predeterminado, e partições tendo um formato geométrico.
[00128] Codificação por previsão é executada repetidamente em uma partição tendo um tamanho de 2N_0x2N_0, duas partições tendo um tamanho de 2N_0xN_0, duas partições tendo um tamanho de N_0x2N_0, e quatro partições tendo um tamanho de N_0xN_0, de acordo com cada tipo de partição. A codificação por previsão em um modo intra e um modo inter pode ser efetuada nas partições tendo os tamanhos de 2N_0x2N_0, N_0x2N_0, 2N_0xN_0, e N_0xN_0. A codificação por previsão em um modo ignorar é realizada somente na partição com o tamanho de 2N_0x2N_0.
[00129] Erros de codificação incluindo a codificação por previsão nos tipos de partição 912 a 918 são comparados, e o menor erro de codificação é determinado dentre os tipos de partição. Se um erro de codificação for o menor deles em um dos tipos de partição 912 a 916, a unidade de previsão 910 não pode ser dividida em uma menor profundidade.
[00130] Se o erro de codificação for o menor deles no tipo de partição 918, uma profundidade é alterada de 0 para 1, para dividir o tipo de partição 918 na operação 920, e codificação é executada repetidamente nas unidades de codificação 930, tendo uma profundidade de 2 e um tamanho de N_0xN_0, para procurar um menor erro de codificação.
[00131] Uma unidade de previsão 940 para codificação por previsão da unidade de codificação 930, tendo tamanho de 2N_lx2N_l (= N_0xN_0) e uma profundidade de 1, pode incluir partições de um tipo de partição 942 tendo um tamanho de 2N_lx2N_l, um tipo de partição 944 tendo um tamanho de 2N_lxN_l, um tipo de partição 94 6 tendo um tamanho de N_lx2N_l, e um tipo de partição 948 tendo um tamanho de N_lxN_l.
37/64 [00132] Se um erro de codificação for o menor deles no tipo de partição 948, uma profundidade é alterada de 1 para 2, para dividir o tipo de partição 948 na operação 950, e codificação é executada repetidamente nas unidades de codificação 960, tendo uma profundidade de 2 e um tamanho de N_2xN_2, para procurar um menor erro de codificação.
[00133] Quando uma profundidade máxima for d, uma operação de divisão, de acordo com cada profundidade, pode ser realizada, até quando uma profundidade se torne d-1, e informações de divisão podem ser codificadas, até quando uma profundidade for uma de 0 a d-2. Em outras palavras, quando codificação for realizada, até quando a profundidade for de d-1, depois de uma unidade de codificação correspondente a uma profundidade de d-2 ser dividida na operação 970, uma unidade de previsão 990 para codificar por previsão uma unidade de previsão 980, tendo uma profundidade de d-1 e um tamanho de 2N_(d-1) x2N_ (d-1) , pode incluir partições de um tipo de partição 992 tendo um tamanho de 2N_(d-l)x2N_(d-l), um tipo de partição 994 tendo um tamanho de 2N_(d-l)xN_(d-l), um tipo de partição 996 tendo um tamanho de N_(d-1)x2N_(d-l), e um tipo de partição 998 tendo um tamanho de N_(d-l)xN_(d-l).
[00134] Codificação por previsão pode ser executada repetidamente em uma partição tendo um tamanho de 2N_(dl)x2N_(d-l), duas partições tendo um tamanho de 2N_(d-1)xN_(d1), duas partições tendo um tamanho de N_(d-1)x2N_(d-1), quatro partições tendo um tamanho de N__ (d-1) xN_ (d-1) dentre os tipos de partição 992 a 998, para procurar um tipo de partição tendo um menor erro de codificação.
[00135] Mesmo quando o tipo de partição 998 tiver o menor erro de codificação, uma vez que a profundidade máxima é d, uma unidade de codificação CU_(d-l) tendo uma profundidade de d-1 não é mais dividida em uma menor profundidade, e uma
38/64 profundidade codificada para as unidades de codificação constituindo uma unidade de codificação máxima atual 900 é determinada como sendo d-1, e um tipo de partição da unidade de codificação máxima atual 900 pode ser determinada como sendo N_(d-1)xN_(d-1). Além disso, uma vez que a profundidade máxima é d e uma unidade de codificação mínima 980 tendo uma profundidade mais inferior de d-1 não é mais dividida em uma menor profundidade, informações de divisão para a unidade de codificação mínima 980 não são definidas.
[00136] Uma unidade de dados 999 pode ser uma 'unidade mínima' para a unidade de codificação máxima atual. Uma unidade mínima, de acordo com uma forma de realização da presente invenção, pode ser uma unidade de dados retangulares obtida, dividindo-se uma unidade de codificação mínima 980 por 4. Ao realizar a codificação repetidamente, o aparelho para codificar vídeo 100 pode selecionar uma profundidade tendo o menor erro de codificação, comparando erros de codificação, de acordo com profundidades da unidade de codificação 900, para determinar uma profundidade codificada, e definir um tipo de partição e um modo de previsão correspondente, como um modo de codificação da profundidade codificada.
[00137] Assim sendo, os menores erros de codificação, de acordo com profundidades, são comparados em todas as profundidades de 1 a d, e uma profundidade tendo o menor erro de codificação pode ser determinada como uma profundidade codificada. A profundidade codificada, o tipo de partição da unidade de previsão, e o modo de previsão, podem ser codificados e transmitidos como informações sobre um modo de codificação. Além disso, visto que uma unidade de codificação é dividida, a partir de uma profundidade de 0 em uma profundidade codificada, só informações de divisão da profundidade codificada são definidas como 0, e
39/64 informações de divisão das profundidades, excluindo a profundidade codificada, são definidas como 1.
[00138] O extrator de informações de codificação e dados de imagem 220 do aparelho para decodificar vídeo 200 pode extrair e usar as informações sobre a profundidade codificada e a unidade de previsão da unidade de codificação 900, para decodificar a partição 912. O aparelho para decodificar vídeo 200 pode determinar uma profundidade, em que informações de divisão são 0, como uma profundidade codificada, usando informações de divisão de acordo com profundidades, e usar informações sobre um modo de codificação da profundidade correspondente para decodificação.
[00139] As Figs. 10 a 12 são diagramas para descrever uma relação entre unidades de codificação 1010, unidades de previsão 1060, e unidades de transformação 1070, de acordo com uma forma de realização da presente invenção.
[00140] As unidades de codificação 1010 são unidades de codificação tendo uma estrutura em árvore, correspondentes às profundidades codificadas determinadas pelo aparelho para codificar vídeo 100, em uma unidade de codificação máxima. As unidades de previsão 1060 são partições de unidades de previsão de cada uma das unidades de codificação 1010, e as unidades de transformação 1070 são unidades de transformação de cada uma das unidades de codificação 1010.
[00141] Quando uma profundidade de uma unidade de codificação máxima for 0 nas unidades de codificação 1010, profundidades das unidades de codificação 1012 e 1054 são 1, profundidades das unidades de codificação 1014, 1016, 1018, 1028, 1050 e 1052 são 2, profundidades das unidades de codificação 1020, 1022, 1024, 1026, 1030, 1032 e 1048 são 3, e profundidades das unidades de codificação 1040, 1042, 1044 e 1046 são 4.
40/64 [00142] Nas unidades de previsão 1060, algumas unidades de codificação 1014, 1016, 1022, 1032, 1048, 1050, 1052 e 1054 são obtidas por divisão das unidades de codificação nas unidades de codificação 1010. Em outras palavras, os tipos de partição nas unidades de codificação 1014, 1022, 1050 e 1054 têm um tamanho de 2NxN, tipos de partição nas unidades de codificação 1016, 1048 e 1052 têm um tamanho de Nx2N, e um tipo de partição da unidade de codificação 1032 tem um tamanho de NxN. Unidades de previsão e partições das unidades de codificação 1010 são menores ou iguais a cada unidade de codificação.
[00143] Transformação ou transformação inversa é realizada em dados de imagem da unidade de codificação 1052, nas unidades de transformação 1070 em uma unidade de dados, que é menor do que a unidade de codificação
1052.
Além disso, as unidades de codificação
1014, 1016,
1022,
1032,
1048, 1050 e 1052 nas unidades de transformação 1070 são diferentes daquelas nas unidades de previsão 1060 em termos de tamanhos e formatos.
Em outras palavras, os aparelhos para codificar e decodificar vídeo
100 e 200 podem executar previsão intra, estimativa de movimento, compensação de movimento, transformação transformação inversa individualmente em uma unidade de dados na mesma unidade de codificação.
[00144] Nesse sentido, codificação é recursivamente executada em cada uma das unidades de codificação tendo uma estrutura hierárquica em cada região de uma unidade de codificação máxima, para determinar uma unidade de codificação ideal e, assim, unidades de codificação tendo uma estrutura em árvore recursiva podem ser obtidas. Informações de codificação podem incluir informações de divisão sobre uma unidade de codificação, informações sobre um tipo de partição, informações sobre um modo de previsão, e informações sobre um tamanho de uma unidade de transformação. A Tabela 1 mostra as informações de codificação,
41/64 que podem ser definidas pelos aparelhos para codificar e decodificar vídeo 100 e 200.
42/64 [Tabela 1]
Informações de divisão 0 (Codificação em unidade de codificação tendo tamanho de 2Nx2N e profundidade atual de d) Informações de divisão 1
Modo de previsão Tipo de partição Tamanho da unidade de transformação Codificar repetidamente unidades de codificação tendo menor profundidade de d + 1
Intra Inter Ignorar (apenas 2Nx2N) Tipo de partição simétrico Tipo de partição assimétrico Informações de divisão 0 da unidade de transformação Informações de divisão 1 da unidade de transformação
2Nx2N 2NxN Nx2N NxN 2NxnU 2NxnD nLx2N nRx2N 2Nx2N NxN (Tipo simétrico) N/2xN/2 (Tipo assimétrico)
[00145] A unidade de saída 130 do aparelho para codificar vídeo 100 pode emitir as informações de codificação sobre as unidades de codificação tendo uma estrutura em árvore, e o extrator de informações de codificação e dados de imagem 220 do aparelho para decodificar vídeo 200 pode extrair as informações de codificação sobre as unidades de codificação tendo uma estrutura em árvore, a partir de um fluxo de bits recebido.
[00146] Informações de divisão indicam se uma unidade de codificação atual foi dividida em unidades de codificação de menor profundidade. Se informações de divisão de uma profundidade atual d forem 0, uma profundidade, em que uma unidade de codificação atual não é mais dividida em uma menor profundidade, é uma profundidade codificada e, assim, informações sobre um tipo de partição, um modo de previsão, e um tamanho de uma unidade de transformação, podem ser definidas para a profundidade codificada. Se a unidade de codificação atual for ainda dividida, de acordo com as informações de divisão, codificação é independentemente realizada em quatro unidades de codificação divididas de uma menor profundidade.
43/64 [00147] Um modo de previsão pode ser de um modo intra, um modo inter, e um modo ignorar. O modo intra e modo inter podem ser definidos em todos os tipos de partição, e o modo ignorar é definido apenas em um tipo de partição tendo um tamanho de 2Nx2N.
[00148] As informações sobre um tipo de partição podem indicar tipos de partição simétricos tendo tamanhos de 2Nx2N, 2NxN, Nx2N e NxN, que são obtidos, dividindo-se simetricamente uma altura ou largura de uma unidade de previsão, e tipos de partição assimétricos tendo tamanhos de 2NxnU, 2NxnD, nLx2N e nRx2N, que são obtidos, dividindo-se assimetricamente a altura ou largura da unidade de previsão. Os tipos de partição assimétricos, tendo os tamanhos de 2NxnU e 2NxnD, podem ser obtidos respectivamente, dividindo-se a altura da unidade de previsão em 1:3 e 3:1, e os tipos de partição assimétricos, tendo os tamanhos de nLx2N e nRx2N, podem ser obtidos respectivamente, dividindo-se a largura da unidade de previsão em 1:3 e 3:1.
[00149]
O tamanho da unidade de transformação pode ser definido, para ser de dois tipos no modo intra e de dois tipos no modo inter. Em outras palavras, se informações de divisão da
unidade de transformação forem 0, o tamanho da unidade de
transformação pode ser 2Nx2N, que é o tamanho da unidade de
codificação atual. Se informações de divisão da unidade de
transformação forem 1, as unidades de transformação podem ser
obtidas, dividindo-se a unidade de codificação atual.
Além disso, se um tipo de partição da unidade de codificação atual tendo o tamanho de 2Nx2N for um tipo de partição simétrico, um tamanho de uma unidade de transformação pode ser NxN, e se o tipo de partição da unidade de codificação atual for um tipo de partição assimétrico, o tamanho da unidade de transformação pode ser N/2xN/2.
44/64 [00150] As informações de codificação sobre unidades de codificação tendo uma estrutura em árvore podem incluir pelo menos uma dentre a unidade de codificação correspondente a uma profundidade codificada, uma unidade de previsão, e uma unidade mínima. A unidade de codificação correspondente à profundidade codificada pode incluir pelo menos uma dentre a unidade de previsão e uma unidade mínima, que contém as mesmas informações de codificação.
[00151] Nesse sentido, é determinado se unidades de dados adjacentes foram incluídas na mesma unidade de codificação correspondente à profundidade codificada, comparando as informações de codificação das unidades de dados adjacentes. Além disso, uma unidade de codificação correspondente a uma profundidade codificada é determinada, usando as informações de codificação de uma unidade de dados e, portanto, uma distribuição de profundidades codificadas em uma unidade de codificação máxima pode ser determinada.
[00152] Nesse sentido, se uma unidade de codificação atual for prevista com base em informações de codificação de unidades de dados adjacentes, informações de codificação das unidades de dados em unidades de codificação mais profundas adjacentes à unidade de codificação atual podem ser diretamente referidas e usadas.
[00153] Como alternativa, se uma unidade de codificação atual for prevista com base em informações de codificação de unidades de dados adjacentes, unidades de dados adjacentes à unidade de codificação atual são pesquisadas usando informações codificadas das unidades de dados, e as unidades de codificação adjacentes pesquisadas podem ser referidas para prever a unidade de codificação atual.
[00154] A Fig. 13 é um diagrama para descrever uma relação entre uma unidade de codificação, uma unidade de previsão ou uma
45/64 partição, e uma unidade de transformação, de acordo com informações sobre modo de codificação da Tabela 1.
[00155] Uma unidade de codificação máxima 1300 inclui unidades de codificação 1302, 1304, 1306, 1312, 1314, 1316 e 1318 de profundidades codificadas. Aqui, uma vez que a unidade de codificação 1318 é uma unidade de codificação de uma profundidade codificada, informações de divisão podem ser definidas como 0. Informações sobre um tipo de partição da unidade de codificação 1318 tendo um tamanho de 2Nx2N podem ser definidas para ser uma de um tipo de partição 1322 tendo um tamanho de 2Nx2N, um tipo de partição 1324 tendo um tamanho de 2NxN, um tipo de partição 1326 tendo um tamanho de Nx2N, um tipo de partição 1328 tendo um tamanho de NxN, um tipo de uma partição 1332 tendo um tamanho de 2NxnU, um tipo de partição 1334 tendo um tamanho de 2NxnD, um tipo de partição 1336 tendo um tamanho de nLx2N, e um tipo de partição 1338 tendo um tamanho de nRx2N.
[00156] Quando o tipo partição for definido para ser simétrico, ou seja, o tipo de partição 1322, 1324, 1326, ou 1328, uma unidade de transformação 1342 tendo um tamanho de 2Nx2N é definida, se as informações de divisão (sinalizador de tamanho da TU) de uma unidade de transformação forem 0, e uma unidade de transformação 1344 tendo um tamanho de NxN é definida, se um sinalizador de tamanho da TU for 1.
[00157] Quando o tipo de partição for definido para ser assimétrico, ou seja, o tipo de partição 1332, 1334, 1336, ou 1338, uma unidade de transformação 1352 tendo um tamanho de 2Nx2N é definida, se um sinalizador de tamanho da TU for 0, e uma unidade de transformação 1354 tendo um tamanho de N/2xN/2 é definida, se um sinalizador de tamanho da TU for 1.
[00158] Conforme acima descrito, o aparelho para codificar vídeo 100 e o aparelho para decodificar vídeo 200, de acordo com
46/64 as formas de realização da presente invenção, executam codificação e decodificação, dividindo-se uma unidade de codificação máxima usando uma unidade de codificação igual ou menor que a unidade de codificação máxima. Os dados codificados no aparelho para codificar vídeo 100 são multiplexados, usando uma unidade de dados de transmissão apropriada para um protocolo ou um formato de um canal de comunicação, uma mídia de armazenamento, um sistema de edição de vídeo, uma estrutura de mídia, ou semelhante, e a unidade de transmissão de dados é transmitida para o aparelho para decodificar vídeo 200.
[00159] Em um caso de reprodução de dados de vídeo, o aparelho para decodificar vídeo 200 restaura os dados de vídeo, de acordo com uma maneira de reprodução inteligente e um modo de reprodução normal, e reproduz os dados de vídeo. A forma de reprodução inteligente inclui um modo de reprodução normal, uma forma de avanço rápido ou uma forma de recuo rápido, e uma forma de acesso aleatório. De acordo com o modo de reprodução normal, todos os quadros incluídos nos dados de vídeo são sequencialmente processados e reproduzidos. De acordo com o modo de avanço rápido ou o modo de recuo rápido, um quadro de referência, ou seja, um quadro I em cada período predeterminado é selecionado e reproduzido em uma maneira para frente ou para trás, de acordo com uma velocidade de reprodução. De acordo com a forma de acesso aleatório, reprodução é realizada com um salto para um quadro básico, ou seja, um quadro I em uma posição predeterminada. De acordo com o padrão H.264, o um quadro de atualização instantânea do decodifiçador (IDR) é usado como o quadro básico para o modo de acesso aleatório. 0 quadro IDR é um quadro intra para atualizar um aparelho de decodificação, quando um quadro correspondente é decodificado. Mais detalhadamente, quando o quadro IDR é decodificado, um DPB marca um quadro, que não seja o quadro IDR, que foi previamente decodificado, como um
47/64 quadro sem referência, e uma contagem de ordem de quadros (POC) é, além disso, inicializada. Além disso, um quadro, que é decodificado depois que o quadro IDR, pode sempre estar atrás do quadro IDR em uma ordem de exibição, e pode ser decodificado, enquanto não se referir a um quadro antes do quadro IDR.
[00160] De acordo com a presente forma de realização, além do quadro IDR, um quadro de acesso limpo aleatório (CRA) é usado como o quadro básico para o modo de acesso aleatório. O quadro CRA pode ser referido como um quadro de atualização de decodificação limpa (CDR), ou um quadro de atualização de decodificação adiada (DDR). O quadro CRA é um quadro intra com quadros que precedem na ordem de exibição, mas são codificados (ou decodificados) depois do quadro CRA em uma ordem de codificação (ou decodificação). Adiante, um quadro, que está no mesmo grupo de quadros (GOP) como o quadro CRA e que precede o quadro CRA na ordem de exibição, mas é codificado (ou decodificado) após o quadro CRA na ordem de codificação (ou decodificação), é definido como um quadro à esquerda.
[00161] O quadro IDR e o quadro CRA são comuns, em que eles são quadros básicos para o modo de acesso aleatório e são quadros intra a serem codificados (ou decodificados), sem referência a outro quadro. No que diz respeito ao quadro IDR, um quadro que segue o quadro IDR na ordem de codificação (ou decodificação) não precede o quadro IDR na ordem de exibição. No entanto, conforme acima descrito, no que diz respeito ao quadro CRA, o quadro à esquerda segue o quadro CRA na ordem de codificação (ou decodificação) , mas precede o quadro CRA na ordem de exibição. A ordem de decodificação e a ordem de codificação indicam ordens em um decodif icador e um codificador, pelo qual quadros são processados, e uma ordem de codificação de quadros é igual a uma ordem de decodificação dos quadros. Nesse sentido, em todo relatório descritivo, a ordem de codificação pode significar a
48/64 ordem de decodificação, ou a ordem de decodificação pode significar a ordem de codificação.
[00162] As Figs. 14A e 14B ilustram um processo de decodificação de um quadro CRA em reprodução normal e um acesso aleatório, de acordo com uma forma de realização da presente invenção.
[00163] Nas Figs. 14A e 14B, Bi e bi são quadros Bi-previsivos, que são previstos por meio de previsão L0 e previsão Ll, em que i indica uma ordem de exibição, ou seja, um POC. Além disso, Bi, tendo uma letra maiúscula 'B', indica um quadro que é usado como um quadro de referência de outro quadro, e bi, tendo uma letra minúscula 'b', indica um quadro que não é usado como um quadro de referência de outro quadro.
[00164] Referindo-se à Fig. 14A, na reprodução normal, ou seja, quando todos os quadros são decodificados e reproduzidos, quadros à esquerda 1420, que são decodificados após um quadro CRA24 1410, podem ser normalmente decodificados, referindo-se a um quadro de referência, que foi anteriormente decodificado. Por exemplo, quando um quadro B22 1421 for bidirecionalmente previsto usando a previsão L0, que se refere a um quadro Bi8 1401, e a previsão Ll, que se refere ao quadro CRA24 1410, na reprodução normal, o quadro B22 1421 pode ser normalmente decodificado por referência ao quadro CRA24 1410, e o quadro Bie 1401, que são anteriormente decodificados e armazenados em um DPB 1430.
[00165] Referindo-se à Fig. 14B, em um caso onde o quadro CRA24 1410 é decodificado através do acesso aleatório, após um quadro B6 1402 ser decodificado, a previsão de L0 para previsão do quadro B22 1421 determina um quadro de referência, de acordo com um índice de quadros de referência numa direção da previsão de L0. Neste caso, o quadro Bê 1402, anteriormente decodificado e armazenado em um DPB 1440, pode ser determinado como o quadro de referência para a previsão L0 do quadro B22 1421. Neste caso, o
49/64 quadro de referência para a previsão de LO do quadro B22 1421 tem que ser o quadro Bi8 1401, mas, devido ao acesso aleatório, um quadro, que se refere aos quadros de referência entre o quadro B6 1402 e o quadro CRA24 1410, não pode ser normalmente decodificado.
[00166] Além disso, referindo-se de volta à Fig. 14A, devido ao fato dos quadros à esquerda 1420 precederem o quadro CRA24 1410 em uma ordem de exibição, depois do quadro CRA24 1410 ser decodificado e exibido através do acesso aleatório, os quadros à esquerda 1420 não são exibidos e, portanto, sua decodificação não é necessária.
[00167] No entanto, o aparelho para decodificar video 200 decodifica e emite, de maneira simples e sequencial, uma pluralidade de segmentos de dados de video de entrada e, assim, não consegue reconhecer se os quadros à esquerda 1420 são quadros, que são decodificados após o quadro CRA24 1410 na reprodução normal ou através do acesso aleatório. Em outras palavras, o aparelho para decodificar video 200 não consegue reconhecer, se o quadro CRA24 1410 é um quadro, que foi decodificado através do acesso aleatório, ou foi decodificado na reprodução normal.
[00168] Assim, as formas de realização da presente invenção fornecem métodos para multiplexação e demultiplexação, pelos quais sintaxe para a identificação de um estado de reprodução de um quadro do CRA é adicionada aos dados em uma unidade de transmissão predeterminada, no qual os dados são obtidos por multiplexação do quadro CRA, que é codificado para ser identificado, se o quadro do CRA foi codificado, de acordo com um acesso aleatório, ou foi codificado, de acordo com a reprodução normal.
[00169] Em primeiro lugar, um aparelho multiplexador de dados de vídeo e seu método serão descritos.
50/64 [00170] A Fig. 15 ilustra uma estrutura de um aparelho multiplexador de dados de vídeo 1500, de acordo com uma forma de realização da presente invenção.
[00171] Referindo-se à Fig. 15, o aparelho multiplexador de dados de vídeo 1500 inclui um codificador de vídeo 1510, um multiplexador 1520, e um identificador de estado de reprodução 1530.
[00172] O codificador de vídeo 1510 corresponde ao aparelho para codificar vídeo 100 da Fig. 1, e codifica dados de vídeo com base na unidade de codificação hierárquica em uma camada de codificação de vídeo, em que a codificação dos dados do vídeo é processada. O multiplexador 1520 multiplexa os dados de vídeo usando uma unidade de dados de transmissão apropriada para um protocolo ou um formato de um canal de comunicação, uma mídia de armazenamento, um sistema de edição de vídeo, uma estrutura de mídia, ou similares. Como será descrito mais tarde, o multiplexador 1520 pode multiplexar os dados de vídeo usando uma unidade NAL, que é uma unidade de transmissão em um NAL.
[00173] Quando houver um pedido de transmissão para os dados de vídeo codificados de um cliente conectado através do canal de comunicação, um aparelho gerenciando os meios de armazenamento, o sistema de edição de vídeo, e a estrutura de mídia (doravante, coletivamente referido como um aparelho de decodificação) , o identificador do estado de reprodução 1530 identifica se o pedido de transmissão é para reprodução sequencial dos dados de vídeo, de acordo com reprodução normal, ou é para transmissão dos dados de vídeo, de acordo com um acesso aleatório. O identificador do estado de reprodução 1530 pode comparar um tempo de exposição de um quadro solicitado pelo aparelho de decodificação com um tempo de exposição de um quadro exibido no momento por um aparelho de decodificação atual e, então, pode
51/64 identificar que o pedido de transmissão dos dados de vídeo ocorre de acordo com o acesso aleatório.
[00174] O multiplexador 1520 adiciona sintaxe predeterminada à unidade NAL, incluindo informações sobre um quadro CRA, que é um quadro básico para o acesso aleatório, com base no resultado de identificação pelo identificador do estado de reprodução 1530, no qual a sintaxe predeterminada indica qual pedido dentre um pedido via reprodução normal, e um pedido através do acesso aleatório, está relacionado ao quadro do CRA.
[00175] A Fig. 16 ilustra uma estrutura de uma unidade NAL 1600, de acordo com uma forma de realização da presente invenção.
[00176] Referindo-se à Fig. 16, a unidade NAL 1600 é formada de um cabeçalho NAL 1610 e uma carga de sequência de bytes (RBSP) 1620. Um bit de enchimento RBSP 1630 é um bit de ajuste de comprimento anexado a uma ponta do RBSP 1620, a fim de expressar um comprimento do RBSP 1620 como um múltiplo de 8 bits. O bit de enchimento RBSP 1630 tem um padrão como '100...', que começa com '1' e continua com '0' sequencial determinado, de acordo com o comprimento do RBSP 1620. A este respeito, procurando por '1', que é um valor de bit inicial, uma posição de um último bit do RBSP 1620, que fica imediatamente antes do valor de bit inicial, pode ser determinada.
[00177] O cabeçalho de NAL 1610 inclui um forbidden_zero_bit 1611 tendo um valor de 0, um sinalizador nal_ref_idc, indicando se a unidade NAL 1600 inclui uma fatia para ser um quadro de referência, e similares. Em particular, o cabeçalho NAL 1610, de acordo com a presente forma de realização, inclui a sintaxe de identificação de estado 1612, indicando qual pedido dentre um pedido via reprodução normal e um pedido através de um acesso aleatório está relacionado a um quadro do CRA, que é adicionado à unidade NAL 1600, incluindo informações sobre o quadro do CRA.
52/64 [00178] A sintaxe de identificação de estado 1612 para identificar um estado de reprodução do quadro CRA pode ser incluida em um identificador (tipo de unidade NAL), indicando um tipo da unidade NAL 1600. Ou seja, uma unidade NAL, que é usada para decodificar um quadro CRA fornecido de acordo com um pedido via reprodução normal, pode ter um identificador (tipo de unidade NAL) , que é um tipo diferente de um identificador (tipo de unidade NAL) de uma unidade NAL, que é usada para decodificar um quadro CRA fornecido de acordo com um pedido através de um acesso aleatório.
[00179] A Tabela 2 mostra tipos da unidade NAL 1600, de acordo com valores de um identificador (tipo de unidade NAL).
53/64 [Tabela 2]
nal unit type Tipos de unidade NAL
0 Não especificado.
1 Fatia de quadro, diferente dos quadros RAP, TFD, TLA
2 Fatia de quadro TFD
3 Fatia de quadro TLA diferente de TFD
4,5 Fatia de quadro CRA
6,7 Fatia de quadro BLA
8 Fatia de quadro IDR
9-24 Reservado para extensão futura
25 VPS
26 SPS
27 PPS
28 APS
29 Delimitador da unidade de acesso (UA)
30 Dados de enchimento
31 Informações suplementares do realce (SEI)
32-47 Reservado para extensão futura
48-63 Não especificado.
[00180] O multiplexador 1520 aloca valores diferentes de 4 e 5 na Tabela 2 acima, como um identificador (tipo de unidade NAL), à unidade NAL, que é usada para decodificar o quadro CRA fornecido de acordo com o pedido através da reprodução normal, e à unidade NAL, que é usada para decodificar o quadro CRA fornecido de acordo com o pedido através do acesso aleatório. Ao fazer isto, o multiplexador 1520 pode sinalizar que uma unidade NAL, incluindo informações sobre um quadro do CRA, é aquela dentre um quadro CRA fornecido de acordo com reprodução normal e um quadro CRA fornecido de acordo com um acesso aleatório.
54/64 [00181] Além disso, o multiplexador 1520 pode usar um sinalizador como sintaxe adicionada a um cabeçalho da unidade NAL, em que o sinalizador é definido para ter um dos valores diferentes de 0 e 1, no que diz respeito à unidade NAL usada para decodificar o quadro CRA fornecido de acordo com o pedido através da reprodução normal, e a unidade NAL usada para decodificar o quadro CRA fornecido de acordo com o pedido através do acesso aleatório.
[00182] As Fig. 17A e 17B ilustram um processo de decodificação de um quadro CRA em reprodução normal e um acesso aleatório, de acordo com outra forma de realização da presente invenção.
[00183] De acordo com a forma de realização atual, o multiplexador 1520 adiciona informações de tipo, que indicam diretamente o estado de reprodução do quadro CRA, para a unidade NAL. Em outra forma de realização, o multiplexador 1520 não pode sinalizar diretamente um tipo do estado de reprodução do quadro CRA, mas pode identificar se o quadro CRA foi reproduzido de acordo com a reprodução normal, ou foi reproduzido de acordo com o acesso aleatório, usando um contador de quadros básicos, que são decodificados antes do quadro CRA, e por meio de informações sobre um POC de um quadro, que é usado como um quadro de referência de quadros à esquerda.
[00184] Referindo-se às Figs. 17A e 17B, um quadro B38 1710 e um quadro B4o 1720 são quadros, que são decodifiçados antes de um quadro CRA44, e que são referidos pelos quadros b4i, B42 e b43, que são quadros à esquerda. O quadro B38 1710 é referido pelo quadro B42, que é o quadro à esquerda, e o quadro B4o 1720 é referido pelo quadro B41 que é o quadro à esquerda. O quadro B38 1710 e o quadro B4o 1720, que precedem um quadro do CRA em uma ordem de decodificação e são utilizados como quadros de referência dos quadros à esquerda, são definidos como um quadro irmão. A razão do quadro ser definido, é que é possível identificar se o quadro
55/64 do CRA foi reproduzido de acordo com reprodução normal, ou foi reproduzido de acordo com um acesso aleatório, usando um POC do quadro irmão.
[00185] Por exemplo, referindo-se à Fig. 17A, enquanto quadros são decodificados sequencialmente em um estado de reprodução normal, quando o quadro CRA44 é decodificado, o quadro B38 1710 e o quadro B40 1720, que foram anteriormente decodificados, são armazenados em um DPB 1740. Se um valor POC de 38 do quadro B38 1710, e um valor POC de 40 do quadro B40 1720, que são quadros irmãos, forem adicionados a um cabeçalho de fatia do quadro CRA44, um decodif içador pode comparar um POC de quadros, que foram anteriormente decodificados e armazenados no DPB 1740 em um momento de decodificação do quadro CRA44, com o POC dos quadros irmãos incluídos no cabeçalho de fatia do quadro CRA44 e, portanto, podem identificar se o quadro CRA44 foi reproduzido, de acordo com o acesso aleatório, ou foi reproduzido, de acordo com a reprodução normal. Uma vez que uma ordem de reprodução, ou seja, uma ordem de decodificação, salta para o quadro CRA44 na reprodução, de acordo com o acesso aleatório, se o POC dos quadros, que foram anteriormente decodificados e armazenados no DPB 1740 em um momento de decodificação do quadro CRA44 não coincidirem com o POC dos quadros irmãos, há uma grande possibilidade que o quadro CRA44 seja reproduzido, de acordo com o acesso aleatório.
[00186] No entanto, existe, além disso, a possibilidade que o quadro CRA44 possa ser identificado incorretamente para saber se o quadro CRA44 foi reproduzido de acordo com o acesso aleatório, ou foi reproduzido de acordo com a reprodução normal, usando apenas informações sobre o POC dos quadros irmãos.
[00187] Por exemplo, referindo-se à Fig. 17B, em um caso onde o quadro CRA44 é decodificado de acordo com o acesso aleatório, após um quadro B4q 1745 ser decodificado, quando o quadro CRA44
56/64 for decodificado, um valor POC de 40 do quadro B40 1745 é armazenado em um DPB 1780, e um valor POC de um quadro irmão armazenado no cabeçalho de fatia do quadro CRA44 é igual ao valor de POC de um quadro anterior armazenado no DPB 1780, assim que um decodifiçador pode identificar incorretamente que o quadro CRA44 foi reproduzido de acordo com a reprodução normal. Conforme acima descrito, um estado de reprodução de um quadro CRA não pode ser corretamente identificado, usando apenas informações sobre um POC de um quadro irmão. Isto ocorre porque, cada vez que um quadro IDR é decodificado, um POC é redefinido, para que um quadro de referência, que é diferente de um quadro de referência real, a ser referido pelos quadros irmãos em um acesso aleatório, possa ter o mesmo POC que um POC dos quadros irmãos.
[00188] Assim, o multiplexador 1520 adiciona informações de POC de um quadro irmão à sintaxe dos dados da unidade de transmissão de um quadro do CRA, obtém uma contagem de um contador de descontinuidade POC (PDC), que é um contador tendo um valor aumentando em 1, sempre que um POC for restaurado ou quadro do CRA for codificado, enquanto quadros antes do quadro CRA são codificados, e adiciona a contagem do PDC à sintaxe.
[00189] Referindo-se de volta à Fig. 17A, conforme acima descrito, o multiplexador 1520 aumenta a contagem do PDC em 1, sempre que o POC for redefinido ou o quadro do CRA for codificado, enquanto os quadros são codificados. Uma vez que o POC é redefinido, quando os quadros IDR são codificados, um valor do PDC aumenta em 1, sempre que o quadro do IDR for codificado, e o valor da contagem do PDC aumenta em 1, quando um quadro CRA anterior, exceto o quadro CRA44, for codificado. O multiplexador 1520 adiciona o valor do PDC, com o POC dos quadros irmãos, a um cabeçalho 1730 dos dados da unidade de transmissão do quadro CRA. O decodifiçador, da mesma maneira que
57/64 um codificador, aumenta a contagem do PDC em 1, sempre que o POC for redefinido, enquanto os dados da unidade de transmissão de entrada são decodificados, ou seja, sempre que o quadro do IDR for decodificado, ou o quadro do CRA for decodificado. Conforme ilustrado na Fig. 17A, em um caso de reprodução normal, quando o quadro CRA44 é decodificado, um valor PDC incluído no cabeçalho 1730 dos dados da unidade de transmissão utilizado para multiplexar o quadro CRA44, e um valor PDC 1745 contado, enquanto quadros são decodificados pelo decodificador, são todos 3.
[00190] Referindo-se de volta à Fig. 17B, em um caso de um acesso aleatório, um quadro IDR e um quadro CRA, que são decodificados antes do quadro CRA44 existir, para que, quando o quadro CRA44 for decodificado de acordo com o acesso aleatório, um valor PDC 1785 seja 2, que é diferente de um valor PDC tendo 3 e incluído em um cabeçalho 1770 de dados da unidade de transmissão, que são usados para multiplexar o quadro CRA44. Assim, com base na incompatibilidade entre os valores do PDC, o decodificador pode determinar que um quadro atual do CRA foi reproduzido de acordo com o acesso aleatório.
[00191] A Fig. 18 é um fluxograma de um método para multiplexar dados de vídeo, de acordo com uma forma de realização da presente invenção.
[00192] Referindo-se à Fig. 18, na operação 1810, o codificador de vídeo 1510 codifica quadros formando dados de vídeo com base em unidades de dados com uma estrutura hierárquica. Conforme acima descrito, o codificador de vídeo 1510 determina unidades de codificação com estrutura em árvore, incluindo unidades de codificação com profundidades de codificação dentre unidades de codificação mais profundas, de acordo com profundidades que são hierarquicamente formadas de acordo com profundidades indicando uma contagem de divisão espacial de pelo menos uma unidade de codificação máxima obtida, dividindo-se um vídeo formador de
58/64 quadros usando uma unidade de codificação de tamanho máximo, determina uma partição para codificação por previsão para cada uma das unidades de codificação com profundidades de codificação, executa transformação com base em unidades de transformação de estrutura hierárquica e, em seguida, determina unidades de transformação com estrutura em árvore. Na determinação de uma unidade de dados hierárquicos, uma estrutura de uma unidade de dados hierárquicos ideal pode ser determinada com base em um custo de distorção de taxa (RD).
[00193] Na operação 1820, em resposta a um pedido de transmissão para dados codificados de um aparelho de decodificação, o identificador do estado de reprodução 1530 determina se o pedido de transmissão está de acordo com a reprodução normal, ou é para um acesso aleatório. Conforme acima descrito, o aparelho de decodificação pode indicar coletivamente aparelhos para armazenar, reproduzir, e editar dados de vídeo codificados, e pode incluir um cliente conectado através de um canal de comunicação, um aparelho gerenciando uma mídia de armazenamento, um sistema de edição de vídeo, uma estrutura de mídia e afins.
[00194] Na operação 1830, o multiplexador 1520 adiciona sintaxe predeterminada a dados da unidade de transmissão utilizados para multiplexar um quadro CRA, que é um quadro intra tendo quadros à esquerda, de acordo com o resultado da determinação na operação 1820, onde a sintaxe predeterminada indica qual pedido dentre um pedido através da reprodução normal e um pedido do acesso aleatório está relacionado ao quadro do CRA. Conforme acima descrito, o quadro à esquerda significa um quadro que precede o quadro do CRA em uma ordem de exibição, mas é codificado depois do quadro do CRA em uma ordem de codificação. Além disso, os dados da unidade de transmissão podem ser dados NAL. Além disso, o multiplexador 1520 pode adicionar um identificador (tipo de
59/64 unidade NAL) , indicando um tipo de uma unidade NAL para um cabeçalho da unidade NAL, para que uma unidade NAL, que é usada para multiplexar um quadro CRA fornecido de acordo com o pedido através da reprodução normal, possa ter um identificador (tipo de unidade NAL), que é diferente de um identificador (tipo de unidade NAL) de uma unidade NAL, que é usada para multiplexar um quadro CRA fornecido de acordo com um pedido através do acesso aleatório. Além disso, o multiplexador 1520 pode adicionar um sinalizador ao cabeçalho da unidade NAL, em que o sinalizador tem um valor de 0 ou 1, de acordo com a unidade NAL utilizada para multiplexar o quadro CRA fornecido de acordo com o pedido através da reprodução normal, e a unidade NAL utilizada para multiplexar o quadro CRA fornecido de acordo com o pedido através do acesso aleatório. Além disso, o multiplexador 1520 pode obter uma contagem de um PDC que aumenta em 1, sempre que um POC for redefinido, ou o quadro do CRA for codificado, enquanto quadros são multiplexados, e pode adicionar informações de POC de um quadro irmão do quadro CRA, e a contagem do PDC ao cabeçalho da unidade NAL.
[00195] A Fig. 19 ilustra uma estrutura de um aparelho para multiplexação inversa de dados de video 1900, de acordo com uma forma de realização da presente invenção.
[00196] Referindo-se à Fig. 19, o aparelho para multiplexação inversa de dados de video 1900 inclui um decodifiçador de video 1910, um multiplexador inverso 1920, e um identificador de estado de reprodução 1930.
[00197] 0 multiplexador inverso 1920 recebe dados da unidade de transmissão, ou seja, dados da unidade NAL transmitidos pelo aparelho para multiplexação de dados de vídeo 1500 da Fig. 15, e obtém a sintaxe indicando se um quadro do CRA foi decodificado, de acordo com um estado de reprodução normal ou um estado de
60/64 acesso aleatório, a partir dos dados da unidade NAL que são utilizados para multiplexar o quadro do CRA.
[00198] O identificador do estado de reprodução 1930 determina se o quadro do CRA foi reproduzido de acordo com a reprodução normal ou um acesso aleatório, usando a sintaxe obtida.
[00199] Conforme acima descrito, quando uma unidade NAL, que é usada para multiplexar um quadro CRA fornecido de acordo com o pedido através da reprodução normal, é definida para ter um identificador (tipo de unidade
NAL) diferente de um identificador (tipo de unidade NAL) de uma unidade NAL, que usada para multiplexar um quadro CRA fornecido de acordo com um pedido através do acesso aleatório, o identificador do estado de reprodução 1930 pode reconhecer um estado de decodificação de um quadro atual do CRA, referindo-se aos valores dos identificadores (tipo de unidade NAL).
Se um cabeçalho da unidade NAL tiver a ele adicionado um sinalizador que possui um valor de 0 ou 1, de acordo com a unidade NAL utilizada para multiplexar o quadro
CRA fornecido de acordo com o pedido através da reprodução normal, e a unidade NAL utilizada para multiplexar o quadro
CRA fornecido de acordo com o pedido através do acesso aleatório, o identificador do estado de reprodução
1930 pode reconhecer o estado de decodificação do quadro atual CRA, referindo-se às informações sobre sinalizador.
[00200] Além disso, quando o cabeçalho da unidade NAL incluir uma contagem de um PDC e informações de
POC de um quadro irmão, o identificador do estado de reprodução
1930 aumenta a contagem do PDC, sempre que um quadro IDR ou um quadro do CRA for decodifiçado, enquanto quadros anteriores são decodificados, e determina uma correspondência entre a contagem do PDC, que é obtido através do cabeçalho da unidade NAL por ocasião da decodificação do quadro atual do CRA, e um PDC que conta em um
61/64 processo de decodificação. Além disso, o identificador do estado de reprodução 1930 determina uma correspondência entre um valor POC do quadro irmão do quadro CRA, que está incluído no cabeçalho da unidade NAL, e um valor POC de quadros anteriores armazenados em um DPB por ocasião da decodificação do quadro atual do CRA. Se qualquer um dentre a contagem do PDC ou o valor POC não coincidir, o identificador do estado de reprodução 1930 determina que o quadro atual do CRA foi reproduzido, de acordo com o acesso aleatório, e se a contagem de PDC e o valor POC coincidirem, o identificador do estado de reprodução 1930 determina que o quadro atual do CRA foi reproduzido de acordo com a reprodução normal. Se o quadro atual do CRA for reproduzido de acordo com o acesso aleatório, não é necessário decodificar quadros à esquerda do CRA atual, para que o identificador do estado de reprodução 1930 notifique o decodificador de vídeo 1910, que os quadros à esquerda do CRA atual não são necessários ser decodificados.
[00201] O decodificador de vídeo 1910 corresponde ao aparelho para decodificar vídeo 200 da Fig. 2, ou ao decodificador de imagens 500 da Fig. 5. O decodificador de vídeo 1910 obtém dados de imagem codificados e informações de divisão, informações de tipo de partição, informações sobre modo de previsão, informações sobre tamanho da unidade de transformação, e informações sobre definição de parâmetros, relacionadas a um processo de codificação, que são sobre unidades de codificação usadas para gerar os dados de imagem codificados, a partir de uma unidade NAL, e executa decodificação.
[00202] A Fig. 20 é um fluxograma de um método de multiplexação inversa de dados de vídeo, de acordo com uma forma de realização da presente invenção.
[00203] Referindo-se à Fig. 20, na operação 2010, o multiplexador inverso 1920 recebe dados da unidade de
62/64 transmissão utilizados para multiplexar um fluxo de bits gerado pela codificação de quadros formando os dados de vídeo com base em unidades de dados de estrutura hierárquica. Conforme acima descrito, os dados da unidade de transmissão podem ser dados da unidade NAL.
[00204] Na operação 2020, o multiplexador inverso 1920 obtém sintaxe, indicando se um quadro do CRA foi decodificado, de acordo com um estado de reprodução normal, ou um estado de acesso aleatório, a partir de dados da unidade NAL, que são utilizados para multiplexar o quadro do CRA.
[00205] Na operação 2030, o identificador do estado de reprodução 1930 identifica se o quadro do CRA foi reproduzido, de acordo com a reprodução normal, ou um acesso aleatório, com base na sintaxe obtida. Conforme acima descrito, quando um cabeçalho de uma unidade NAL sinalizar um estado de decodificação do quadro CRA, usando um identificador (tipo de unidade NAL), o identificador do estado de reprodução 1930 pode reconhecer um estado de decodificação de um quadro atual do CRA, referindo-se a um valor do identificador (tipo de unidade NAL) . Se um sinalizador com um valor de 0 ou 1 for adicionado ao cabeçalho da unidade NAL, o identificador do estado de reprodução 1930 pode reconhecer o estado de decodificação do quadro atual do CRA, referindo-se às informações do sinalizador. Além disso, quando informações POC e PDC de um quadro irmão forem incluídas no cabeçalho da unidade NAL, o identificador do estado de reprodução 1930 pode reconhecer o estado de decodificação do quadro atual do CRA, determinando uma correspondência entre um PDC obtido em um processo de decodificação e o PDC incluído no cabeçalho da unidade NAL, e uma correspondência entre um valor POC de quadros anteriores armazenados em um DPB e um valor POC do quadro irmão.
63/64 [00206] Quando for determinado que o quadro do CRA foi reproduzido de acordo com o acesso aleatório, quadros à esquerda do quadro CRA não são exibidos e, portanto, não são necessários ser decodificados. De acordo com as formas de realização da presente invenção, o quadro do CRA, que é reproduzido de acordo com o acesso aleatório, pode ser identificado, para que as quadros à esquerda do quadro CRA não possam ser decodificadas e, assim, um recurso de sistema do aparelho de decodificação possa ser poupado.
[00207] A invenção pode ser também incorporada como códigos legíveis por computador em uma mídia de gravação legível por computador. A mídia de gravação legível por computador é qualquer aparelho de armazenamento de dados, que pode armazenar dados, que podem ser, em seguida, lidos por um sistema de computador. Exemplos da mídia de gravação legível por computador incluem memória somente de leitura (ROM), memória de acesso aleatório (RAM), CD-ROMs, fitas magnéticas, discos flexíveis, dispositivos de armazenamento de dados ópticos etc.. A mídia de gravação legível por computador pode ser também distribuída sobre sistemas de computador ligados em rede, para que o código legível por computador seja armazenado e executado de forma distribuída.
[00208] Embora essa invenção tenha sido particularmente mostrada e descrita com referência a suas formas de realização preferenciais, deve ficar claro para as pessoas com habilidade comum na arte, que várias alterações na forma e nos detalhes podem ser feitas, sem se desviar do espírito e âmbito da invenção, como definidos pelas reivindicações acrescentadas. As formas preferenciais de realização devem ser consideradas somente no sentido descritivo, e não para fins de limitação. Portanto, o âmbito da invenção é definido, não pela descrição detalhada da invenção, mas pelas reivindicações acrescentadas, e
64/64 todas as diferenças dentro do âmbito devem ser interpretadas como estando incluídas na presente invenção.

Claims (2)

  1. - REIVINDICAÇÕES -
    1. MÉTODO PARA DECODIFICAR UM VÍDEO, o método sendo caracterizado pelo fato dele compreender:
    receber dados de unidade de transmissão contendo um cabeçalho;
    obter, a partir do cabeçalho, informação de tipo que indica um tipo de um quadro atual e está contido no dado de unidade de transmissão; e identificar se a imagem atual é um quadro CRA(Acesso Limpo Aleatório) para um acesso aleatório baseado na informação de tipo;
    decodificar o quadro CRA identificado.
  2. 2. MÉTODO, de acordo com a reivindicação 1, caracterizado pelo fato dos dados da unidade de transmissão estarem em uma unidade da camada de abstração de rede (NAL).
BR122015021080A 2011-07-02 2012-07-02 método para decodificar um vídeo BR122015021080A2 (pt)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201161504178P 2011-07-02 2011-07-02
US201161552549P 2011-10-28 2011-10-28
US201161552449P 2011-10-28 2011-10-28
BR112013033902A BR112013033902A2 (pt) 2011-07-02 2012-07-02 método para multiplexar dados de vídeo, a fim de identificar um estado de reprodução dos dados de vídeo, aparelho para multiplexar dados de vídeo, a fim de identificar um estado de reprodução dos dados de vídeo, método para demultiplexar dados de vídeo, a fim de identificar um estado de reprodução dos dados de vídeo, e aparelho para demultiplexar dados de vídeo, a fim de identificar um estado de reprodução dos dados de vídeo

Publications (1)

Publication Number Publication Date
BR122015021080A2 true BR122015021080A2 (pt) 2019-08-27

Family

ID=67688632

Family Applications (1)

Application Number Title Priority Date Filing Date
BR122015021080A BR122015021080A2 (pt) 2011-07-02 2012-07-02 método para decodificar um vídeo

Country Status (1)

Country Link
BR (1) BR122015021080A2 (pt)

Similar Documents

Publication Publication Date Title
KR102221101B1 (ko) 복호화기의 버퍼 관리를 위한 영상 부호화 방법 및 장치, 그 영상 복호화 방법 및 장치
KR101997039B1 (ko) 비디오 데이터의 재생 상태 식별을 위한 비디오 데이터의 다중화 방법 및 장치, 역다중화 방법 및 장치
BR112012025407B1 (pt) Método de decodificação de vídeo baseado em unidades de codificação determinadas de acordo com uma estrutura de árvore
BR122015021080A2 (pt) método para decodificar um vídeo

Legal Events

Date Code Title Description
B06F Objections, documents and/or translations needed after an examination request according art. 34 industrial property law
B03A Publication of an application: publication of a patent application or of a certificate of addition of invention
B06U Preliminary requirement: requests with searches performed by other patent offices: suspension of the patent application procedure
B11B Dismissal acc. art. 36, par 1 of ipl - no reply within 90 days to fullfil the necessary requirements