BR122020014021A2 - Aparelho para decodificar um vídeo, método para decodificar um vídeo, aparelho para codificar um vídeo, método para codificar um vídeo, aparelho para codificação um vídeo, e aparelho - Google Patents

Aparelho para decodificar um vídeo, método para decodificar um vídeo, aparelho para codificar um vídeo, método para codificar um vídeo, aparelho para codificação um vídeo, e aparelho Download PDF

Info

Publication number
BR122020014021A2
BR122020014021A2 BR122020014021-6A BR122020014021A BR122020014021A2 BR 122020014021 A2 BR122020014021 A2 BR 122020014021A2 BR 122020014021 A BR122020014021 A BR 122020014021A BR 122020014021 A2 BR122020014021 A2 BR 122020014021A2
Authority
BR
Brazil
Prior art keywords
unit
partition
coding unit
current depth
prediction
Prior art date
Application number
BR122020014021-6A
Other languages
English (en)
Other versions
BR122020014021B1 (pt
Inventor
Tammy Lee
Woo-jin Han
Il-koo KIM
Sun-Il Lee
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 PCT/KR2011/004969 external-priority patent/WO2012005520A2/en
Publication of BR122020014021A2 publication Critical patent/BR122020014021A2/pt
Publication of BR122020014021B1 publication Critical patent/BR122020014021B1/pt

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/119Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • H04N19/137Motion inside a coding unit, e.g. average field, frame or block difference
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • H04N19/14Coding unit complexity, e.g. amount of activity or edge presence estimation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • H04N19/159Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/174Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a slice, e.g. a line of blocks or a group of blocks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/189Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
    • H04N19/196Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding being specially adapted for the computation of encoding parameters, e.g. by averaging previously computed encoding parameters
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • H04N19/463Embedding additional information in the video signal during the compression process by compressing encoding parameters before transmission
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • H04N19/517Processing of motion vectors by encoding
    • H04N19/52Processing of motion vectors by encoding by predictive encoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/56Motion estimation with initialisation of the vector search, e.g. estimating a good candidate to initiate a search
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/96Tree coding, e.g. quad-tree coding

Abstract

o método para codificar inclui: determinar um modo de codificação, indicando uma unidade atual de dados para codificação de um quadro e um método de codificação incluindo codificação de predição realizada para a unidade atual de dados; determinar uma ocorrência de mesclagem com pelo menos uma unidade vizinha de dados, baseado em pelo menos um dentre o modo de codificação e o modo de predição; e determinar informações do modo de predição, informações relacionadas à mesclagem, e informações relacionadas à predição, e determinar informações de codificação da unidade de dados, incluindo as informações do modo de predição, as informações relacionadas à mesclagem, e as informações relacionadas à predição.

Description

APARELHO PARA DECODIFICAR UM VÍDEO, MÉTODO PARA DECODIFICAR UM VÍDEO, APARELHO PARA CODIFICAR UM VÍDEO, MÉTODO PARA CODIFICAR UM VÍDEO, APARELHO PARA CODIFICAÇÃO UM VÍDEO, E APARELHO Domínio Técnico
[0001] Aparelhos e métodos compatíveis com formas de realização exemplares referem-se à codificação e decodificação de um vídeo, usando mesclagem de blocos para codificação de predição.
Fundamentos da Técnica
[0002] Para codificar blocos em uma imagem atual, tecnologias de compressão de vídeo geralmente usam um método de estimativa/ compensação de movimento, que usa informações de predição de um bloco mais semelhante entre os blocos vizinhos, e um método de compressão que reduz a um tamanho dos dados de vídeo, removendo dados redundantes pela codificação de um sinal diferencial entre uma imagem anterior e uma imagem atual por meio de uma transformada discreta de cosseno (DCT).
[0003] Conforme hardware para reprodução e armazenamento de conteúdo de vídeo de alta resolução ou de alta qualidade é desenvolvido e fornecido, aumenta a procura por um codec de vídeo para codificar ou decodificar efetivamente o conteúdo de vídeo de alta resolução ou de alta qualidade. Em um codec de vídeo da arte relaciona, um vídeo é codificado, de acordo com um método para codificar limitado, com base em um macrobloco tendo um tamanho predeterminado. Além disso, o codec de vídeo da arte relacionada codifica e decodifica dados de vídeo, por meio de transformação e transformação inversa de macroblocos usando blocos, cada qual tendo o mesmo tamanho.
Divulgação da Invenção Problema Técnico
[0004] São fornecidos um método e aparelho para codificar um vídeo usando mesclagem de blocos, e um método e aparelho para decodificar um vídeo usando mesclagem de blocos.
Solução para o Problema
[0005] De acordo com um aspecto de uma forma de realização exemplar, é fornecido um método para codificar um vídeo usando mesclagem da unidade de dados, o método incluindo: determinar um modo de codificação, indicando uma unidade de dados para a codificação de um quadro, e um método para codificar incluindo codificação de predição, que é executado para cada unidade de dados; determinar a ocorrência de mesclagem com pelo menos uma unidade vizinha de dados, baseado em pelo menos um dentre o modo de predição e o modo de codificação, de acordo com as unidades de dados; e determinar informações sobre modo de predição, informações relacionadas à mesclagem, e informações relacionadas à predição com base na ocorrência de mesclagem com pelo menos uma unidade vizinha de dados, de acordo com as unidades de dados, e determinar as informações sobre codificação da unidade de dados, incluindo as informações sobre modo de predição, informações relacionadas à mesclagem, e informações relacionadas à predição.
Breve Descrição dos Desenhos
[0006] A Fig. 1 é um diagrama de blocos de um aparelho para codificar um vídeo, usando mesclagem da unidade de dados, de acordo com uma forma de realização exemplar;
a Fig. 2 é um diagrama de blocos de um aparelho para decodificar um vídeo, usando mesclagem da unidade de dados, de acordo com uma forma de realização exemplar;
a Fig. 3 é um diagrama ilustrando blocos vizinhos, que podem ser mesclados com um macrobloco atual, de acordo com uma arte relacionada;
as Figs. 4 e 5 são diagramas para explicar métodos para selecionar uma unidade de dados a ser mesclada com uma unidade atual de dados, dentre unidades vizinhas de dados da unidade atual de dados, de acordo com uma arte relacionada e uma forma de realização exemplar, respectivamente;
as Figs. 6 e 7 são diagramas de blocos para explicar ordens para codificar e decodificar informações sobre modo de predição, informações relacionadas à mesclagem, e informações relacionadas à predição, de acordo com formas de realização exemplares;
as Fig. 8 e 9 são diagramas para explicar métodos para selecionar uma unidade de dados a ser mesclada com uma unidade atual de dados, dentre unidades de dados estendidas vizinhas da unidade atual de dados, de acordo com uma arte relacionada e uma forma de realização exemplar, respectivamente;
as Fig. 10, 11 e 12 são diagramas de blocos para explicar ordens para codificar e decodificar informações sobre modo de predição, informações relacionadas à mesclagem, e informações relacionadas à predição, de acordo com vários formatos de realização exemplares;
a Fig. 13 é um diagrama, ilustrando unidades vizinhas de dados, que não são mescladas com uma partição atual, de acordo com uma forma de realização exemplar;
a Fig. 14 é um diagrama, ilustrando uma unidade candidata de dados, que varia de acordo com um formato e uma posição de uma partição atual, de acordo com uma forma de realização exemplar;
a Fig. 15 é um diagrama ilustrando unidades vizinhas de dados, que não podem ser mescladas com uma partição atual, que é uma partição tendo um formato geométrico, de acordo com uma forma de realização exemplar;
a Fig. 16 é um diagrama ilustrando um exemplo, onde é usada uma unidade vizinha de dados, determinada a ser mesclada com uma unidade atual de dados, de acordo com uma forma de realização exemplar;
a Fig. 17 é um fluxograma ilustrando um método para codificar um vídeo, usando mesclagem da unidade de dados, de acordo com uma forma de realização exemplar;
a Fig. 18 é um fluxograma ilustrando um método para decodificar um vídeo, usando mesclagem da unidade de dados, segundo uma forma de realização exemplar;
a Fig. 19 é um diagrama de blocos de um aparelho para codificar um vídeo, usando a mesclagem da unidade de dados com base em unidades de codificação com uma estrutura em árvore, de acordo com uma forma de realização exemplar;
a Fig. 20 é um diagrama de blocos de um aparelho para decodificar um vídeo, usando mesclagem da unidade de dados com base nas unidades de codificação com uma estrutura em árvore, de acordo com uma forma de realização exemplar;
a Fig. 21 é um diagrama para explicar um conceito de unidades de codificação, de acordo com uma forma de realização exemplar;
a Fig. 22 é um diagrama de blocos de uma unidade codificadora de imagens, com base em unidades de codificação, de acordo com uma forma de realização exemplar;
a Fig. 23 é um diagrama de blocos de um decodificador de imagens, com base em unidades de codificação, de acordo com uma forma de realização exemplar;
a Fig. 24 é um diagrama ilustrando unidades de codificação, de acordo com profundidades e partições, de acordo com uma forma de realização exemplar;
a Fig. 25 é um diagrama para explicar uma relação entre uma unidade de codificação e unidades de transformação, de acordo com uma forma de realização exemplar;
a Fig. 26 é um diagrama para explicar informações sobre codificação de unidades de codificação correspondentes a uma profundidade codificada, de acordo com uma forma de realização exemplar;
a Fig. 27 é um diagrama ilustrando unidades de codificação, de acordo com profundidades, de acordo com uma forma de realização exemplar;
as Figs. 28 a 30 são diagramas para explicar uma relação entre unidades de codificação, unidades de predição, e unidades de transformação, de acordo com uma forma de realização exemplar;
a Fig. 31 é um diagrama para explicar uma relação entre uma unidade de codificação, uma unidade de predição, e uma unidade de transformação, de acordo com informações sobre modo de codificação da Tabela 2;
a Fig. 32 é um fluxograma ilustrando um método para codificar um vídeo, usando mesclagem da unidade de dados, com base nas unidades de codificação com uma estrutura em árvore, de acordo com uma forma de realização exemplar; e
a Fig. 33 é um fluxograma ilustrando um método para decodificar um vídeo, usando mesclagem da unidade de dados, com base nas unidades de codificação com uma estrutura em árvore, de acordo com uma forma de realização exemplar.
Melhor Modo para Realizar a Invenção
[0007] De acordo com um aspecto de uma forma de realização exemplar, é fornecido um método para codificar um vídeo usando mesclagem da unidade de dados, o método incluindo: determinar um modo de codificação, indicando uma unidade de dados para codificação de um quadro, e um método para codificar incluindo codificação de predição, que é executada para cada unidade de dados; determinar a ocorrência de mesclagem com pelo menos uma unidade vizinha de dados, baseado em pelo menos um dentre o modo de predição e o modo de codificação, de acordo com as unidades de dados; e determinar informações sobre modo de predição, informações relacionadas à mesclagem, e informações relacionadas à predição com base na ocorrência de mesclagem com pelo menos uma unidade vizinha de dados, de acordo com as unidades de dados, e determinar informações sobre codificação da unidade de dados, incluindo as informações sobre modo de predição, informações relacionadas à mesclagem, e informações relacionadas à predição.
[0008] A determinação das informações sobre codificação pode incluir: determinar informações sobre modo de ignorar, indicando se um modo de predição da unidade de dados é um modelo de ignorar, e determinar se informações sobre mesclagem, indicando se a unidade de dados e pelo menos uma unidade vizinha de dados são mescladas entre si, são codificadas com base nas informações sobre modo de ignorar.
[0009] De acordo com um aspecto de outra forma de realização exemplar, é fornecido um método para decodificar um vídeo usando mesclagem da unidade de dados, o método incluindo: análise de um fluxo de bits recebido para extrair dados de vídeo codificados e informações sobre codificação, e extrair informações sobre modo de predição, informações relacionadas à mesclagem, e informações relacionadas à predição nas informações sobre codificação; e análise da ocorrência de mesclagem com pelo menos uma unidade vizinha de dados, baseado em pelo menos um dentre o modo de predição e um modo de codificação, de acordo com unidades de dados com base nas informações sobre modo de predição e nas informações relacionadas à mesclagem, e realizar predição inter e compensação de movimento por meio de informações relacionadas à predição de pelo menos uma unidade vizinha de dados em uma unidade de dados mesclada com pelo menos uma unidade vizinha de dados, para decodificar os dados de vídeo codificados, de acordo com as unidades de dados determinadas com base nas informações sobre codificação.
[00010] A extração e leitura podem incluir: extração e leitura das informações sobre modo de ignorar indicando se um modo de predição da unidade de dados é um modo de ignorar; e determinar se informações sobre mesclagem, indicando se a unidade de dados e pelo menos uma unidade vizinha de dados são mescladas entre si, são extraídas com base nas informações sobre modo a ignorar.
[00011] De acordo com um aspecto de outra forma de realização exemplar, é fornecido um aparelho para codificar um vídeo usando mesclagem da unidade de dados, o aparelho incluindo: um determinador do modo de codificação que determina um modo de codificação, indicando uma unidade de dados para codificar um quadro e um método para codificar, incluindo codificação de predição para cada unidade de dados; um determinador de mesclagem da unidade de dados que determina a ocorrência de mesclagem com pelo menos uma unidade vizinha de dados, baseado em pelo menos um dentre o modo de predição e o modo de codificação, de acordo com as unidades de dados; e um determinador das informações sobre codificação, que determina as informações sobre modo de predição, informações relacionadas à mesclagem, e informações relacionadas à predição com base na ocorrência de mesclagem com a unidade vizinha de dados, de acordo com as unidades de dados, e determina informações sobre codificação da unidade de dados, incluindo as informações sobre modo de predição, as informações relacionadas à mesclagem, e as informações relacionadas à predição.
[00012] De acordo com um aspecto de outra forma de realização exemplar, é fornecido um aparelho para decodificar um vídeo usando mesclagem da unidade de dados, o aparelho incluindo: um analisador e extrator, que analisa um fluxo de bits recebido para extrair dados de vídeo codificados e informações sobre codificação, e para extrair informações sobre modo de predição, informações relacionadas à mesclagem, e informações relacionadas à predição nas informações sobre codificação; e um mesclador e decodificador da unidade de dados, que analisa uma ocorrência de mesclagem com pelo menos uma unidade vizinha de dados, baseado em pelo menos um dentre o modo de predição e um modo de codificação, de acordo com as unidades de dados, com base nas informações sobre modo de predição e nas informações relacionadas à mesclagem, e executa predição inter e compensação de movimento por meio de informações relacionadas à predição de pelo menos uma unidade vizinha de dados em uma unidade de dados mesclada com a unidade vizinha de dados, para decodificar os dados de vídeo codificados, de acordo com as unidades de dados determinadas com base nas informações sobre codificação.
[00013] De acordo com um aspecto de outra forma de realização exemplar, é fornecida uma mídia de gravação legível por computador tendo nela incorporado um programa para executar o método para codificar vídeo.
[00014] De acordo com um aspecto de outra forma de realização exemplar, é fornecida uma mídia de gravação legível por computador tendo nela incorporado um programa para executar o método para decodificar o vídeo.
Modo para a Invenção
[00015] Daqui em diante, 'uma imagem' pode se referir não apenas uma imagem estática, mas também a uma imagem em movimento, como um vídeo. Além disso, 'uma unidade de dados' se refere a um grupo de dados em um intervalo predeterminado entre os dados que constituem um vídeo. Além disso, doravante, expressões tais como "pelo menos um dos", quando precedendo uma lista de elementos, modificam toda a lista de elementos e não modificam os elementos individuais da lista.
[00016] Codificação e decodificação de um vídeo usando mesclagem da unidade de dados, de acordo com uma ou mais formas de realização exemplares, serão abaixo explicadas com referência às Figs. 1 a 18. Codificação e decodificação de um vídeo usando mesclagem da unidade de dados, com base em unidades de codificação com uma estrutura em árvore, de acordo com uma ou mais formas de realização exemplares, serão explicadas abaixo como referência às Figs. 19 a 33.
[00017] Um aparelho para codificar um vídeo, um aparelho para decodificar um vídeo, um método para codificar um vídeo, e um método para decodificar um vídeo, usando mesclagem da unidade de dados, de acordo com uma ou mais formas de realização exemplares, serão explicados abaixo tendo como referência as Figs. 1 a 18.
[00018] A Fig. 1 é um diagrama de blocos de um aparelho 10 para codificar um vídeo, usando mesclagem da unidade de dados, de acordo com uma forma de realização exemplar.
[00019] O aparelho 10 inclui um determinador do modo de codificação 11, um determinador de mesclagem da unidade de dados 13, e um determinador das informações sobre codificação 15. Para conveniência de explicação, o aparelho 10 para codificar um vídeo usando mesclagem da unidade de dados é referido como um aparelho 10 para codificar um vídeo.
[00020] O aparelho 10 recebe dados de vídeo, codifica os dados de vídeo realizando predição inter entre quadros, predição intra em um quadro, transformação, quantização, e codificação de entropia para quadros do vídeo, e emite informações sobre codificação, incluindo informações sobre dados de vídeo codificados e um modo de codificação.
[00021] O determinador de modo de codificação 11 pode determinar uma unidade de dados para codificação de um quadro, e pode determinar um método para codificar a ser executado para cada unidade de dados. Em um método para codificar por compressão de vídeo, a fim de reduzir um tamanho de dados removendo uma parte redundante de dados de vídeo, um método para codificar predição usando dados vizinhos é executado. O determinador do modo de codificação 11 pode determinar um bloco quadrado regular ou uma partição em um bloco quadrado regular como uma unidade de dados para codificação de predição.
[00022] O determinador do modo codificação 11 pode determinar um modo de predição, indicando um método para codificar predição, como um modo inter, um modo intra, um modo de ignorar, ou um modo direto, para cada unidade de dados. Além disso, o determinador do modo de codificação 11 pode determinar itens adicionais, tais como uma direção de predição ou um índice de referência útil para a codificação de predição, de acordo com o modo de predição da unidade de dados.
[00023] O determinador do modo de codificação 11 pode determinar vários modos de codificação, incluindo o modo de predição para codificação de predição e itens adicionais relacionados, e consequentemente pode codificar os dados de vídeo.
[00024] O determinador de mesclagem da unidade de dados 13 pode determinar se, não só uma unidade de dados, cujo modo de predição é um modo inter, mas também uma unidade de dados, cujo modo de predição é um modo de ignorar ou um direto entre unidades de dados determinadas pelo determinador do modo de codificação 11, é mesclado com pelo menos uma unidade vizinha de dados.
[00025] Se uma unidade atual de dados for mesclada com uma unidade vizinha de dados, a unidade atual de dados pode compartilhar informações sobre vetor de movimento da unidade vizinha de dados. Embora informações sobre movimento vetorial diferencial da unidade atual de dados sejam independentemente codificadas, uma vez que informações auxiliares sobre predição da unidade atual de dados podem ser obtidas, seguindo ou se referindo às informações auxiliares sobre predição da unidade vizinha de dados mesclada com a unidade atual de dados, as informações auxiliares sobre predição da unidade atual de dados não são codificadas separadamente.
[00026] O determinador de mesclagem da unidade de dados 13 pode determinar pelo menos um grupo de unidades candidatas de dados incluindo uma unidade de dados, que pode ser mesclada com a unidade atual de dados nas regiões vizinhas da unidade atual de dados. O determinador de mesclagem da unidade de dados 13 pode procurar uma unidade de dados a ser mesclada com a unidade atual de dados em pelo menos um grupo de unidades candidatas de dados. Neste caso, um grupo de unidades candidatas, incluindo uma unidade de dados que pode ser mesclada com a unidade atual de dados, pode ser determinado em cada região.
[00027] De acordo com uma regra predeterminada, predefinida entre sistemas de codificação e decodificação, um método para determinar um grupo de unidades candidatas de dados em pelo menos uma região vizinha de uma unidade atual de dados e um método para determinar uma unidade de dados na unidade candidata de dados, podem ser definidos.
[00028] Além disso, o aparelho 10 pode codificar e emitir pelo menos uma das informações sobre o método para determinar o grupo de unidades candidatas de dados em pelo menos uma região vizinha à unidade atual de dados e informações sobre o método para determinar uma unidade de dados do grupo de unidades candidatas de dados.
[00029] Por exemplo, o determinador de mesclagem da unidade de dados 13 pode procurar uma unidade de dados tendo o mesmo índice de referência que a unidade atual de dados no grupo de unidades candidatas de dados, e pode selecionar a unidade de dados como uma unidade candidata de dados a ser mesclada com a unidade atual de dados.
[00030] Alternativamente, o determinador de mesclagem da unidade de dados 13 pode procurar uma unidade de dados, cujo modo de predição é um modo inter no grupo de unidades candidatas de dados, e pode selecionar a unidade de dados como uma unidade candidata de dados a ser mesclada com a unidade atual de dados. Uma unidade de dados pode ser determinada finalmente entre unidades candidatas de dados, selecionada desta forma como uma unidade candidata de dados para ser mesclada com a unidade atual de dados.
[00031] O determinador de mesclagem da unidade de dados 13 pode determinar uma unidade candidata de dados a ser mesclada com a unidade atual de dados, usando um método geral de uma predição do vetor de movimento no modo inter. Em detalhes, de acordo com o método geral de uma predição do vetor de movimento no modo inter, uma pluralidade de vetores candidatos a ser predita com um vetor de movimento da unidade atual de dados é determinada entre unidades vizinhas de dados entrando em contato com todos os limites da unidade atual de dados. Ou seja, uma entre as unidades vizinhas de dados entrando em contato com um limite à esquerda da unidade atual de dados, uma entre as unidades vizinhas de dados entrando em contato com um limite superior da unidade atual de dados, e uma entre as unidades vizinhas de dados entrando em contato com cantos da unidade atual de dados, são selecionadas, e um dos vetores de movimento das três unidades de dados é determinado como um vetor candidato.
[00032] De acordo com o método geral de uma predição do vetor de movimento no modo inter, o determinador de mesclagem da unidade de dados 13 pode pesquisar e determinar uma unidade de dados a ser mesclada com a unidade atual de dados em um grupo de unidades candidatas de dados à esquerda, incluindo todas de uma pluralidade de unidades vizinhas de dados entrando em contato com um limite esquerdo da unidade atual de dados, e em um grupo de unidades candidatas superiores de dados, incluindo todas de uma pluralidade de unidades vizinhas de dados entrando em contato com um limite superior da unidade atual de dados.
[00033] Além disso, o determinador de mesclagem da unidade de dados 13 pode pesquisar e determinar uma unidade de dados a ser mesclada com a unidade atual de dados em um grupo de unidades candidatas de dados de canto, incluindo uma unidade superior esquerda vizinha de dados, uma unidade superior direita vizinha de dados e uma unidade inferior esquerda vizinha de dados contatando cantos da unidade atual de dados, além do grupo de unidades candidatas de dados à esquerda e do grupo de unidades candidatas superiores de dados da unidade atual de dados.
[00034] Neste caso, um método para determinar uma unidade candidata de dados no grupo de unidades candidatas de dados à esquerda, um método para determinar uma unidade candidata de dados no grupo de unidades candidatas superiores de dados, e um método para determinar uma unidade candidata de dados no grupo de unidades candidatas de dados de canto, podem ser predefinidos. Visto que cada método para determinar uma unidade candidata de dados dentre um grupo correspondente de unidades candidatas de dados pode ser predefinido, o método pode ser implicitamente sinalizado.
[00035] Além disso, um método para determinar finalmente uma unidade vizinha de dados a ser mesclada com a unidade atual de dados entre uma unidade candidata de dados determinada no grupo de unidades candidatas de dados à esquerda, uma unidade candidata de dados determinada no grupo de unidades candidatas superiores de dados, e uma unidade candidata de dados determinada no grupo de unidades candidatas de dados de canto, ou seja, três unidades candidatas de dados, podem ser predefinidas. Ou seja, visto que cada método para determinar a unidade vizinha de dados a ser mesclada com a unidade candidata de dados pode ser predefinido, o método pode ser implicitamente sinalizado.
[00036] Por exemplo, o determinador de mesclagem da unidade de dados 13 pode procurar uma unidade de dados, cujo modo de predição é um modo inter entre unidades candidatas de dados, e pode selecionar a unidade de dados como uma unidade candidata de dados a ser mesclada com a unidade atual de dados. Alternativamente, o determinador de mesclagem da unidade de dados 13 pode procurar uma unidade de dados tendo o mesmo índice de referência que a unidade atual de dados entre unidades candidatas de dados, e selecionar a unidade de dados como uma unidade candidata de dados a ser mesclada com a unidade atual de dados.
[00037] Embora partições sejam divididas com o propósito de uma predição inter mais precisa de uma unidade de dados vizinha da outra, as partições não podem ser mescladas entre si.
[00038] Como unidades de dados acessíveis entre unidades vizinhas de dados a uma partição atual podem variar, de acordo com um formato e uma posição da partição atual, um grupo de candidatas à mesclagem, incluindo unidades vizinhas de dados que podem ser mescladas, pode ser alterado. Nesse sentido, o determinador de mesclagem da unidade de dados 13 pode procurar uma unidade vizinha de dados, que pode ser mesclada com base em um formato e uma posição de uma partição atual.
[00039] O determinador de informações sobre codificação 15 pode determinar informações sobre modo de predição, informações relacionadas à mesclagem, e informações relacionadas à predição, de acordo com unidades de dados. O determinador de informações sobre codificação 15 pode atualizar as informações relacionadas à predição em informações sobre codificação determinadas pelo determinador do modo de codificação 11, de acordo com a mesclagem da unidade de dados do determinador de mesclagem da unidade de dados 13. O determinador de informações sobre codificação 15 pode codificar as informações sobre codificação, para incluir as informações relacionadas à mesclagem, de acordo com a mesclagem da unidade de dados do determinador de mesclagem da unidade de dados 13. O determinador de informações sobre codificação 15 pode emitir os dados de vídeo codificados pelo determinador do modo de codificação 11 e as informações sobre codificação.
[00040] As informações sobre modo de predição nas informações relacionadas à predição são informações indicando se um modo de predição de uma unidade atual de dados é um modo inter, um modo intra, um modo de ignorar, ou um modo direto. Por exemplo, as informações sobre modo de predição podem incluir informações sobre modo de ignorar, indicando se o modo de predição da unidade atual de dados é um modo de ignorar, e informações sobre modo direto, indicando se o modo de predição da unidade atual de dados é um modo direto.
[00041] As informações relacionadas à mesclagem incluem informações usadas para realizar a mesclagem da unidade de dados, ou para determinar se a mesclagem da unidade de dados foi executada. Por exemplo, as informações relacionadas à mesclagem podem incluir informações sobre mesclagem, indicando se uma unidade atual de dados deve ser mesclada com uma unidade vizinha de dados e informações sobre índice de mesclagem, indicando uma unidade de dados a ser mesclada. O determinador de informações sobre codificação 15 pode codificar as informações sobre mesclagem, através de modelagem de contexto em relação a uma combinação de um 'modo de predição e um tipo de partição de uma unidade vizinha de dados' e em relação a 'se uma unidade atual de dados e uma unidade vizinha de dados foram mescladas'.
[00042] As informações relacionadas à predição podem ainda incluir informações auxiliares sobre predição e informações sobre movimento usadas para codificação de predição de uma unidade de dados. Por exemplo, como descrito acima, as informações relacionadas à predição podem incluir informações auxiliares sobre predição, referindo-se às informações adicionais relacionadas à codificação de predição, incluindo um índice de referência, indicando uma unidade de dados a ser referida e afins, e informações sobre movimento vetorial ou movimento vetorial diferencial.
[00043] O determinador de informações sobre codificação 15 pode determinar se as informações relacionadas à mesclagem foram definidas, de acordo com as informações sobre modo de predição com base em uma relação estreita entre um modo de predição de uma unidade de dados e uma possibilidade de que a unidade de dados seja mesclada.
[00044] Em uma primeira forma de realização exemplar, onde mesclagem da unidade de dados pode ser executada em uma unidade de dados diferente de um modo de ignorar, o determinador de informações sobre codificação 15 pode codificar informações sobre modo de ignorar, indicando se um modo de predição de uma unidade atual de dados é um modo de ignorar, e pode determinar se informações sobre mesclagem, indicando se a unidade atual de dados e uma unidade vizinha de dados foram mescladas entre si com base em informações sobre modo a ignorar.
[00045] Em detalhes, na primeira forma de realização exemplar, se um modo de predição da unidade atual de dados for um modo de ignorar, o determinador de informações sobre codificação 15 pode definir informações sobre modo de ignorar, para indicar que o modo de predição da unidade atual de dados é um modo de ignorar, e não pode codificar as informações sobre mesclagem da unidade atual de dados.
[00046] Se um modo de predição da unidade atual de dados não for um modo de ignorar, o determinador de informações sobre codificação 15 pode definir informações sobre modo de ignorar, para indicar que o modo de predição da unidade atual de dados não é um modo de ignorar, e pode codificar informações sobre mesclagem da unidade atual de dados.
[00047] O determinador de informações sobre codificação 15 pode codificar informações sobre movimento vetorial diferencial de uma unidade de dados com base nas informações sobre mesclagem, e pode determinar se informações auxiliares sobre predição da unidade de dados foram codificadas.
[00048] Ou seja, se uma unidade atual de dados for mesclada com uma unidade vizinha de dados, o determinador de informações sobre codificação 15 pode definir informações sobre mesclagem da unidade atual de dados, para indicar que a unidade atual de dados foi mesclada com a unidade vizinha de dados, e não pode codificar informações auxiliares sobre predição da unidade atual de dados. Por outro lado, se a unidade atual de dados não for mesclada com a unidade vizinha de dados, o determinador de informações sobre codificação 15 pode definir informações sobre mesclagem da unidade atual de dados, para indicar que a unidade atual de dados não foi mesclada com a unidade vizinha de dados, e pode codificar informações auxiliares sobre predição da unidade atual de dados.
[00049] A despeito do fato da unidade atual de dados ser ou não mesclada com a unidade vizinha de dados, o determinador de informações sobre codificação 15 pode codificar informações sobre movimento vetorial diferencial da unidade atual de dados.
[00050] Além disso, em uma segunda forma de realização exemplar, onde é determinado se a mesclagem da unidade de dados foi executada em uma unidade de dados diferente de um modo de ignorar e um modo direto, o determinador de informações sobre codificação 15 pode codificar informações relacionadas à mesclagem, para indicar se a mesclagem da unidade de dados foi executada em uma unidade de dados, cujo modo de predição é um modo direto.
[00051] Em detalhes, na segunda forma de realização exemplar, o determinador de informações sobre codificação 15 pode definir informações sobre modo de ignorar, para indicar que o modo de predição de uma unidade de dados não é um modo de ignorar, e pode codificar informações sobre modo direto. Além disso, o determinador de informações sobre codificação 15 pode determinar, se informações sobre mesclagem foram codificadas, com base nas informações sobre modo direto. Ou seja, se um modo de predição de uma unidade atual de dados for um modo direto, o determinador de informações sobre codificação 15 pode definir informações sobre modo direto, para indicar que um modo de predição da unidade atual de dados é um modo direto, e não pode codificar informações sobre mesclagem da unidade atual de dados. Se um modo de predição de uma unidade atual de dados não for um modo direto, o determinador de informações sobre codificação 15 pode definir informações sobre modo direto, para indicar que um modo de predição da unidade atual de dados não é um modo direto, e pode codificar informações sobre mesclagem da unidade atual de dados.
[00052] Se informações de mesclagem forem codificadas, é determinado se informações auxiliares sobre predição da unidade atual de dados foram codificadas com base nas informações sobre mesclagem, e informações sobre movimento vetorial diferencial da unidade atual de dados foram codificadas, como acima descrito na primeira forma de realização exemplar.
[00053] Uma unidade de dados, obtida por divisão de um quadro, pode incluir 'uma unidade de codificação', que é uma unidade de dados para a codificação de um quadro, 'uma unidade de predição' para codificação de predição, e 'uma partição' para predição inter. O determinador de mesclagem da unidade de dados 13 pode determinar, se mesclagem com uma unidade vizinha de dados foi executada para cada unidade de codificação, e o determinador de informações sobre codificação 15 pode determinar informações sobre modo de ignorar e informações sobre mesclagem para cada unidade de codificação. Além disso, o determinador de mesclagem da unidade de dados 13 pode determinar, se mesclagem com uma unidade vizinha de dados foi executada para cada unidade de predição, e o determinador de informações sobre codificação 105 pode determinar informações sobre modo de ignorar e informações sobre mesclagem para cada unidade de predição.
[00054] Se ambas as informações sobre modo de ignorar e informações sobre mesclagem forem usadas, visto que informações exclusivas sobre predição de uma unidade atual de dados não são codificadas, no caso de um modo de ignorar e mesclagem de dados, o aparelho 10 pode distinguir um método de predição, de acordo com um modo de ignorar, de um método de predição, de acordo com a mesclagem de dados. Por exemplo, um índice de referência e uma direção de referência de uma unidade de dados, tendo um modo de ignorar, podem ser determinados, de acordo com uma regra predefinida, e uma unidade de dados mesclada com uma unidade vizinha de dados pode seguir um índice de referência e uma direção de referência das informações sobre movimento da unidade vizinha de dados. Uma vez que a regra, para determinar um índice de referência e uma direção de referência de uma unidade de dados tendo um modo de ignorar, pode ser predefinida, a regra pode ser implicitamente sinalizada.
[00055] O determinador de informações sobre codificação 15 pode codificar informações sobre modo de ignorar para cada modo de predição, e pode codificar informações relacionadas à mesclagem para cada partição. Além disso, o determinador de informações sobre codificação 15 pode codificar ambos as informações relacionadas à mesclagem e informações sobre modo de ignorar para cada unidade de dados. Alternativamente, o determinador de informações sobre codificação 15 pode definir informações relacionadas à mesclagem a serem codificadas apenas para uma unidade de dados tendo um predeterminado modo de predição predefinido.
[00056] O aparelho 10 pode determinar a mesclagem da unidade de dados entre unidades de codificação, ou determinar a mesclagem da unidade de dados entre unidades de predição. Além disso, o aparelho 10 pode seletivamente codificar informações sobre modo de ignorar e informações sobre modo direto. Assim, se um modo de predição de uma unidade de dados não for um modo de ignorar com base em informações sobre modo de ignorar da unidade de dados, o determinador de informações sobre codificação 15 pode codificar pelo menos uma das informações sobre codificação de modo de ignorar/ direto, indicando se informações sobre modo direto da unidade de dados foram codificadas, informações determinadoras sobre mesclagem da unidade de codificação, indicando se uma ocorrência de mesclagem entre unidades de codificação foi determinada, informações determinadoras sobre mesclagem da unidade de predição, indicando se uma ocorrência de mesclagem entre unidades de predição foi determinada.
[00057] A Fig. 2 é um diagrama de blocos de um aparelho 20 para decodificar um vídeo, usando mesclagem da unidade de dados, de acordo com uma forma de realização exemplar.
[00058] O aparelho 20 inclui um analisador/ extrator 21 e mesclador/ decodificador da unidade de dados 23. Para conveniência de explicação, o aparelho 20 para decodificar um vídeo usando mesclagem da unidade de dados é referido como ’um aparelho 20 para decodificar um vídeo'.
[00059] O aparelho 20 recebe um fluxo de bits dos dados codificados de vídeo, extrai informações sobre codificação, incluindo informações sobre um método para codificar e os dados de vídeo codificados, e executa decodificação através da decodificação de entropia, quantização inversa, transformação inversa, e predição inter/ compensação entre quadros para restaurar os dados de vídeo.
[00060] O analisador/ extrator 21 analisa o fluxo de bits recebido para extrair os dados de vídeo codificados e as informações sobre codificação, e extrair informações sobre modo de predição, informações relacionadas à mesclagem, e informações relacionadas à predição nas informações sobre codificação. O analisador/ extrator 21 pode extrair informações sobre modo de ignorar, informações sobre modo direto e semelhantes, como as informações sobre modo de predição. O analisador/ extrator 21 pode extrair informações auxiliares sobre predição, incluindo uma direção de referência e um índice de referência, e informações sobre movimento vetorial diferencial, como as informações relacionadas à predição.
[00061] O analisador/ extrator 21 pode extrair informações sobre mesclagem, informações sobre índice de mesclagem e semelhantes, como as informações relacionadas à mesclagem. O analisador/ extrator 21 pode ler informações sobre mesclagem codificadas através de modelagem de contexto sobre uma combinação de um 'modo de predição e um tipo de partição de uma unidade vizinha de dados' e 'se uma unidade atual de dados e a unidade vizinha de dados foram mescladas entre si', e pode analisar o modo de predição e o tipo de partição da unidade vizinha de dados mesclada com a unidade atual de dados.
[00062] Em primeiro lugar, em uma primeira forma de realização exemplar, onde o fato de mesclagem da unidade de dados ser realizada em uma unidade de dados diferente de um modo de ignorar, ser determinado, o analisador/ extrator 21 pode extrair e ler informações sobre modo de ignorar da unidade de dados a partir de um fluxo de bits recebido, e pode determinar se informações sobre mesclagem da unidade de dados foram extraídas com base nas informações sobre modo a ignorar. Ou seja, se for lido que um modo de predição de uma unidade atual de dados não é um modo de ignorar baseado em informações sobre modo de ignorar, o analisador/ extrator 21 pode extrair informações sobre mesclagem da unidade atual de dados do fluxo de bits recebido.
[00063] O analisador/ extrator 21 pode extrair informações sobre movimento vetorial diferencial de uma unidade de dados, baseado nas informações de mesclagem, e pode determinar se informações sobre predição inter auxiliar da unidade de dados foram extraídas. Ou seja, se for lido que uma unidade atual de dados não é mesclada com uma unidade vizinha de dados, baseado em informações sobre mesclagem, o analisador/ extrator 21 pode extrair informações sobre movimento vetorial diferencial de um fluxo de bits recebido, e pode extrair informações auxiliares sobre predição da unidade atual de dados. Por outro lado, se for lido que uma unidade atual de dados foi mesclada com uma unidade vizinha de dados, baseado em informações sobre mesclagem, o analisador/ extrator 21 pode extrair informações sobre movimento vetorial diferencial de um fluxo de bits recebido, e não pode extrair informações auxiliares sobre predição da unidade atual de dados.
[00064] Em seguida, em uma segunda forma de realização exemplar, onde se mesclagem da unidade de dados for realizada em uma unidade de dados diferente de um modo de ignorar, e um modo direto for determinado, se um modo de predição de uma unidade de dados não for um modo de ignorar, o analisador/ extrator 21 pode extrair informações sobre modo direto da unidade de dados, e pode determinar se informações sobre mesclagem foram extraídas com base nas informações sobre modo direto.
[00065] Ou seja, se for lido que um modo de predição de uma unidade atual de dados é um modo direto, de acordo com informações sobre modo direto, o analisador/ extrator 21 não pode extrair informações sobre mesclagem de um fluxo de bits recebido. Por outro lado, se for lido que um modo de predição de uma unidade atual de dados não é um modo direto, de acordo com informações sobre modo direto, o analisador/ extrator 21 pode extrair informações sobre mesclagem de um fluxo de bits recebido.
[00066] O analisador/ extrator 21 pode extrair informações sobre movimento vetorial diferencial de uma unidade de dados, com base nas informações sobre mesclagem, e pode determinar se informações auxiliares sobre predição foram extraídas, como descrito acima na primeira forma de realização.
[00067] O mesclador/ decodificador da unidade de dados 23 analisa, se mesclagem com pelo menos uma unidade vizinha de dados foi realizada, com base em pelo menos um dentre o modo de predição e um modo de codificação, de acordo com unidades de dados, com base em informações sobre modo de predição e informações relacionadas à mesclagem. O mesclador/ decodificador da unidade de dados 23 pode determinar uma unidade de dados, com base em informações sobre codificação, e decodificar os dados de vídeo codificados, de acordo com a unidade de dados determinada, para restaurar um quadro.
[00068] Por exemplo, a mesclador/ decodificador da unidade de dados 23 pode realizar predição inter e compensação de movimento, por meio de informações relacionadas à predição de uma unidade vizinha de dados, em uma unidade de dados mesclada com a unidade vizinha de dados, para decodificar dados de vídeo com base em informações sobre codificação.
[00069] O analisador/ extrator 21 pode extrair e ler informações sobre modo de ignorar e informações sobre mesclagem para cada unidade de codificação, e o mesclador/ decodificador da unidade de dados 23 pode determinar, se a mesclagem com uma unidade vizinha de dados foi realizada, com base em informações sobre mesclagem para cada unidade de codificação.
[00070] Além disso, o analisador/ extrator 21 pode extrair e ler informações sobre modo de ignorar e informações sobre mesclagem para cada unidade de predição, e o mesclador/ decodificador da unidade de dados 23 pode determinar, se mesclagem com uma unidade vizinha de dados foi gerada com base em informações sobre mesclagem para cada unidade de predição.
[00071] O mesclador/ decodificador da unidade de dados 23 pode ler, se uma unidade atual de dados foi mesclada com uma unidade vizinha de dados, baseado em informações relacionadas à mesclagem extraídas pelo analisador/ extrator 21, e pode procurar uma unidade de dados a ser mesclada dentre unidades vizinhas de dados.
[00072] Em primeiro lugar, o mesclador/ decodificador da unidade de dados 23 pode analisar, se uma unidade atual de dados foi mesclada com uma unidade vizinha de dados, baseado em informações sobre mesclagem, em informações relacionadas à mesclagem. Se for lido que a unidade atual de dados foi mesclada com a unidade vizinha de dados, o mesclador/ decodificador da unidade de dados 23 pode determinar pelo menos um grupo de unidades candidatas de dados, incluindo uma unidade de dados que pode ser mesclada com a unidade atual de dados nas regiões vizinhas à unidade atual de dados, com base nas informações sobre índice de mesclagem, em informações relacionadas à mesclagem. O mesclador/ decodificador da unidade de dados 23 pode determinar uma unidade de dados a ser mesclada com a unidade atual de dados em pelo menos um grupo de unidades candidatas de dados. Um grupo de unidades candidatas de dados para mesclagem da unidade atual de dados pode ser determinado para cada uma de pelo menos uma região vizinha da unidade atual de dados.
[00073] Visto que cada método para determinar a unidade vizinha de dados a ser mesclada com a unidade candidata de dados pode ser predefinido, o método pode ser implicitamente sinalizado. O mesclador/ decodificador da unidade de dados 23 pode determinar uma unidade de dados a ser mesclada com a unidade atual de dados, baseado em pelo menos um dentre o método para determinar um grupo de unidades candidatas de dados, que é predefinido, de acordo com uma regra predeterminada entre sistemas de codificação/ decodificação e um método para determinar uma unidade de dados no grupo de unidades candidatas de dados.
[00074] O analisador/ extrator 21 pode extrair pelo menos uma das informações sobre um método para determinar um grupo de unidades candidatas de dados entre pelo menos uma região vizinha da unidade atual de dados e informações sobre um método para determinar uma unidade de dados no grupo de unidades candidatas de dados. O mesclador/ decodificador da unidade de dados 23 pode determinar uma unidade de dados a ser mesclada com a unidade atual de dados, com base em pelo menos uma das informações sobre um método para determinar um grupo extraído de unidades candidatas de dados, e informações sobre um método para determinar uma unidade de dados no grupo de unidades candidatas de dados.
[00075] Por exemplo, se o mesclador/ decodificador da unidade de dados 23 definir uma primeira unidade candidata de dados, uma segunda unidade candidata de dados, ou uma terceira unidade candidata de dados, de acordo com o método predefinido, o mesclador/ decodificador da unidade de dados 23 pode procurar por uma unidade vizinha de dados tendo o mesmo índice de referência que a unidade atual de dados em um grupo de unidades vizinhas de dados de nível superior, candidatas à mesclagem, e pode determinar a unidade vizinha de dados, como unidade de dados a ser mesclada.
[00076] Alternativamente, se o mesclador/ decodificador da unidade de dados 23 determinar uma primeira unidade candidata de dados, uma segunda unidade candidata de dados, ou uma terceira unidade candidata de dados, de acordo com o método predefinido, o mesclador/ decodificador da unidade de dados 23 pode procurar por uma unidade vizinha de dados, cujo modo de predição é um modo inter em um grupo de unidades vizinhas de dados de nível superior, candidatas à mesclagem, e pode determinar a unidade vizinha de dados, como uma unidade de dados a ser mesclada com a unidade atual de dados.
[00077] Visto que cada método para determinar uma unidade candidata de dados dentre um grupo de unidades candidatas de dados correspondentes pode ser predefinido, o método pode ser implicitamente sinalizado.
[00078] O mesclador/ decodificador da unidade de dados 23 pode determinar uma unidade candidata de dados a ser mesclada com a unidade atual de dados, usando o método geral de uma predição do vetor de movimento no modo inter. Em detalhes, o mesclador/ decodificador da unidade de dados 23 pode determinar uma unidade de dados a ser mesclada com a unidade atual de dados em um grupo de unidades candidatas de dados à esquerda, incluindo todas de uma pluralidade de unidades vizinhas de dados à esquerda entrando em contato com um limite esquerdo da unidade atual de dados, e um grupo de unidades candidatas superiores de dados incluindo todas de uma pluralidade de unidades vizinhas de dados superiores entrando em contato com um limite superior, baseado em informações sobre índice de mesclagem, em informações relacionadas à mesclagem.
[00079] Além disso, o mesclador/ decodificador da unidade de dados 23 pode determinar uma unidade de dados a ser mesclada com a unidade atual de dados, com base em informações sobre índice de mesclagem em um grupo de canto das unidades candidatas de dados, incluindo uma unidade vizinha superior esquerda de dados, uma unidade vizinha superior direita de dados, e uma unidade vizinha inferior esquerda de dados contatando cantos da unidade atual de dados, além do grupo de unidades candidatas à esquerda de dados e o grupo de unidades candidatas superiores de dados da unidade atual de dados.
[00080] Em detalhes, o mesclador/ decodificador da unidade de dados 23 pode ler informações sobre índice de mesclagem, e pode determinar uma primeira unidade candidata de dados, que é uma dentre o grupo de unidades candidatas à esquerda de dados, uma segunda unidade candidata de dados, que é uma dentre o grupo de unidades candidatas superiores de dados, ou uma terceira unidade candidata de dados, que é uma dentre o grupo de unidades candidatas de dados de canto, como uma unidade vizinha de dados a ser mesclada com a unidade atual de dados.
[00081] Além disso, o mesclador/ decodificador da unidade de dados 23 pode pesquisar e determinar uma dentre as unidades vizinhas à esquerda de dados, se a primeira unidade candidata de dados for determinada, uma dentre as unidades superiores vizinhas de dados, se a segunda unidade candidata de dados for determinada, e uma dentre as unidades vizinhas de dados contatando os cantos, se a terceira unidade candidata de dados for determinada como uma unidade de dados a ser mesclada com a unidade atual de dados.
[00082] Neste caso, um método para buscar e determinar uma unidade de dados a ser mesclada com a unidade atual de dados dentre as unidades vizinhas à esquerda de dados, as unidades superiores vizinhas de dados, e as unidades vizinhas de dados contatando os cantos, pode ser predefinido. Por exemplo, de acordo com um método predefinido, o mesclador/ decodificador da unidade de dados 23 pode procurar uma unidade vizinha de dados, cujo modo de predição seja um modo inter dentre as unidades candidatas de dados, e pode determinar a unidade vizinha de dados, como unidade de dados a ser mesclada com a unidade atual de dados.
[00083] Como alternativa, de acordo com um método predefinido, o mesclador/ decodificador da unidade de dados 23 pode procurar uma unidade vizinha de dados tendo o mesmo índice de referência que a unidade atual de dados, dentre unidades candidatas de dados, e pode determinar a unidade vizinha de dados, como uma unidade de dados a ser mesclada.
[00084] Visto que cada método para determinar a unidade vizinha de dados a ser mesclada com a unidade candidata de dados pode ser predefinido, o método pode ser implicitamente sinalizado.
[00085] O mesclador/ decodificador da unidade de dados 23 não pode executar mesclagem mútua entre partições em uma unidade de dados.
[00086] O mesclador/ decodificador da unidade de dados 23 pode determinar uma unidade de dados a ser mesclada com a unidade atual de dados em um grupo candidato à mesclagem de unidades vizinhas de dados, que variam de acordo com um formato e uma posição de uma partição atual.
[00087] O analisador/ extrator 21 pode extrair informações sobre modo de ignorar para cada unidade de predição, e pode extrair informações relacionadas à mesclagem para cada partição. Alternativamente, o analisador/ extrator 21 pode extrair informações relacionadas à mesclagem e informações sobre modo de ignorar para cada unidade de dados. Além disso, o analisador/ extrator 21 pode extrair informações relacionadas à mesclagem somente para uma unidade de dados tendo um modo predeterminado de predição.
[00088] O analisador/ extrator 21 pode sequencialmente extrair informações sobre modo de ignorar, informações sobre a unidade de predição, informações sobre partição, e informações sobre mesclagem de uma unidade de predição. As informações sobre partição podem incluir informações sobre se a unidade de predição foi dividida em partições e informações sobre um tipo de partição.
[00089] O aparelho 20 pode decodificar dados de vídeo, realizando a mesclagem da unidade de dados entre unidades de codificação, ou entre unidades de predição. Além disso, o aparelho 20 pode seletivamente decodificar dados de vídeo, de acordo com informações codificadas sobre modo de ignorar e modo direto.
[00090] Assim, se um modo de predição de uma unidade de dados não for um modo de ignorar, com base em informações sobre modo de ignorar da unidade de dados, o analisador/ extrator 21 pode extrair pelo menos uma das informações sobre codificação do modo de ignorar/ direto, indicando se informações sobre modo direto da unidade de dados foram codificadas, informações determinadoras de mesclagem da unidade de codificação, indicando se uma ocorrência de mesclagem das unidades de codificação foi determinada, informações determinadoras de mesclagem da unidade de predição, indicando se uma ocorrência de mesclagem entre unidades de predição foi determinada. Além disso, o mesclador/ decodificador da unidade de dados 23 pode realizar a decodificação, usando um modo de ignorar e um modo direto, com base nas informações extraídas, ou pode decodificar dados de vídeo submetidos à mesclagem da unidade de dados, com base em uma unidade de codificação ou uma unidade de predição.
[00091] O mesclador/ decodificador da unidade de dados 23 pode decodificar dados de vídeo, por determinação de um índice de referência e uma direção de referência de uma unidade de dados tendo um modo de ignorar, de acordo com uma regra predefinida, e seguindo um índice de referência e uma direção de referência das informações sobre movimento de uma unidade vizinha de dados para a unidade de dados mesclada com a unidade vizinha de dados. Uma vez que a regra de determinação de um índice de referência e uma direção de referência de uma unidade de dados tendo um modo de ignorar pode ser predefinida, a regra pode ser implicitamente sinalizada.
[00092] Quando uma resolução de vídeo aumenta, a quantidade de dados aumenta rapidamente, e um tamanho de uma unidade de dados aumenta, dados redundantes aumentam e, portanto, uma unidade de dados tendo um modo de ignorar ou um modo direto aumenta. No entanto, visto que um método mesclador de macrobloco prévio determina se apenas um macrobloco, cujo modo de predição é um modo inter diferente de um modo de ignorar e um modo direto, foi mesclado, e mescla o macrobloco com um macrobloco vizinho tendo um tamanho fixo e uma posição fixa, o método mesclador de macrobloco prévio é aplicado a áreas limitadas.
[00093] O aparelho 10 e o aparelho 20 podem realizar mesclagem da unidade de dados em unidades de dados tendo vários tamanhos, vários formatos, e vários modos de predição, e pode mesclar unidades de dados com unidades vizinhas de dados tendo várias posições. Nesse sentido, já que várias unidades de dados compartilham informações relacionadas à predição das mais diversas unidades vizinhas de dados, dados redundantes podem ser removidos, fazendo referência às informações periféricas em uma escala mais larga, melhorando assim a eficiência da codificação de vídeo.
[00094] A Fig. 3 é um diagrama ilustrando blocos vizinhos, que podem ser mesclados com um macrobloco atual, de acordo com uma arte relacionada.
[00095] De acordo com um método de mesclagem de blocos, segundo uma técnica relacionada, um bloco vizinho, incluído em um grupo candidato à mesclagem de blocos vizinhos a serem mesclados com o macrobloco atual, deve ser um bloco vizinho que tem um modo inter e é codificado antes do macrobloco atual. Assim, apenas os blocos vizinhos a um limite superior e a um limite direito do macrobloco atual podem ser incluídos em um grupo candidato à mesclagem.
[00096] Blocos mesclados podem constituir uma região, e informações sobre codificação e informações relacionadas à mesclagem podem ser codificadas, de acordo com regiões de blocos mesclados. Por exemplo, informações sobre mesclagem sobre se a mesclagem de blocos foi realizada, e no caso da mesclagem de blocos ter sido realizada, informações sobre posição do bloco de mesclagem, indicando qual bloco foi mesclado entre um bloco vizinho superior e um bloco vizinho esquerdo do macrobloco atual, podem ser codificadas.
[00097] De acordo com o método de mesclagem de blocos, segundo uma técnica relacionada, apesar de uma pluralidade de blocos entrar em contato com limites do macrobloco atual, apenas um bloco vizinho entrando em contato com uma amostra superior esquerda do bloco atual pode ser selecionado para ser mesclado com o macrobloco atual.
[00098] Ou seja, um dentre o primeiro bloco vizinho superior 32, vizinho a um limite superior de um primeiro macrobloco atual 31 e entrando em contato com uma amostra esquerda superior do primeiro macrobloco atual 31, e um segundo vizinho esquerdo 33, vizinho a um limite à esquerda do primeiro macrobloco atual 31 e entrando em contato com a amostra superior esquerda do primeiro macrobloco 31, pode ser selecionado para ser mesclado com o primeiro macrobloco atual 31.
[00099] Da mesma forma, um dentre o segundo bloco vizinho superior 36 e um segundo bloco vizinho esquerdo 37 contatando uma amostra superior esquerda de um segundo macrobloco atual 35 pode ser seletivamente mesclado com o segundo macrobloco atual 35.
[000100] As Fig. 4 e 5 são diagramas para explicar os métodos de seleção de uma unidade de dados a ser mesclada com uma unidade atual de dados dentre as unidades vizinhas de dados da unidade atual de dados, de acordo, respectivamente, com uma arte relacionada e uma forma de realização exemplar.
[000101] Referindo-se à Fig. 4, de acordo com um método de mesclagem da unidade de dados, segundo uma técnica relacionada, embora unidades vizinhas de dados 42, 43 e 44 contatem um limite superior de uma unidade atual de dados 41, e unidades vizinhas de dados 45, 46, 47 e 48 contatem um limite à esquerda da unidade atual de dados 41, uma unidade de dados a ser mesclada com a unidade atual de dados 41 é limitada à unidade de dados 42 como uma unidade de dados vizinha superior, ou a unidade de dados 45 como uma unidade vizinha esquerda de dados. Além disso, devido ao fato de ser possível apenas uma mesclagem com uma unidade vizinha de dados, cujo modo de predição é um modo inter, se modos de predição das unidades vizinhas de dados 42 e 44 forem modos de ignorar ou modos diretos, as unidades vizinhas de dados 42 e 44 não são consideradas como unidades de dados a serem mescladas.
[000102] De acordo com um método de mesclagem da unidade de dados do aparelho 10 e do aparelho 20 da Fig. 5, um grupo de unidades vizinhas de dados, candidatas à mesclagem, que podem ser mescladas com a unidade atual de dados 41, pode incluir todas as unidades vizinhas superiores de dados 42, 43 e 44 e as unidades vizinhas esquerdas de dados 45, 46, 47 e 48. Nesse caso, mesmo quando um modo de predição da unidade atual de dados 41 for um modo de ignorar ou um modo direto, bem como um modo inter, pode ser determinado se a unidade atual de dados 41 foi mesclada com uma unidade vizinha de dados.
[000103] Por exemplo, um dentre o grupo superior de candidatos a mesclagem 52, incluindo as unidades vizinhas superiores de dados, 42, 43 e 44 da unidade atual de dados 41, pode ser determinado como um candidato superior a mesclagem A’. Da mesma forma, um dentre o grupo de candidatos esquerdos à mesclagem 55, incluindo as unidades vizinhas esquerdas de dados 45, 46, 47 e 48 da unidade atual de dados 41, pode ser determinado como um candidato esquerdo à mesclagem L’. Um dentre o candidato superior à mesclagem A’ e o candidato esquerdo à mesclagem L’ pode ser finalmente determinado, como sendo uma unidade vizinha de dados a ser mesclada com a unidade atual de dados 41.
[000104] O aparelho 10 e o aparelho 20 podem determinar um método para determinar um dentre o grupo de candidatos superiores à mesclagem 52, como o candidato superior à mesclagem A’ e um método para determinar um dentre o grupo de candidatos esquerdos à mesclagem 55, como o candidato esquerdo à mesclagem L’, de acordo com um método predefinido. As informações sobre o método atual podem ser implicitamente sinalizadas. Embora informações sobre o método presente não sejam codificadas separadamente para procurar o candidato superior à mesclagem A’ no grupo de candidatos à mesclagem 52, ou procurar o candidato esquerdo à mesclagem L’ no grupo de candidatos esquerdos à mesclagem 55, o aparelho 10 e o aparelho 20 podem perceber o método predefinido, no qual o candidato superior à mesclagem A’ e o candidato esquerdo à mesclagem L’ são procurados.
[000105] Por exemplo, unidades vizinhas de dados tendo as mesmas informações sobre índice de referência que a unidade atual de dados 41 no grupo de candidatos superiores à mesclagem 52 e no grupo de candidatos esquerdos à mesclagem 55, podem ser determinadas como o candidato superior à mesclagem A’ e o candidato esquerdo à mesclagem L’. Alternativamente, as unidades vizinhas de dados mais próximas de uma amostra esquerda superior da unidade atual de dados 41, cujo modo de predição é um modo inter no grupo de candidatos superiores à mesclagem 52 e no grupo de candidatos esquerdos à mesclagem 55, podem ser determinadas como o candidato superior à mesclagem A’ e o candidato esquerdo à mesclagem L’.
[000106] Da mesma forma, o aparelho 10 e o aparelho 20 podem finalmente determinar um dentre o candidato superior à mesclagem A’ e o candidato esquerdo à mesclagem L’, como uma unidade vizinha de dados a ser mesclada com a unidade atual de dados 41, de acordo com um método predefinido.
[000107] As Figs. 6 e 7 são diagramas de blocos para explicar ordens para codificar e decodificar informações sobre modo de predição, informações relacionadas à mesclagem, e informações relacionadas à predição, de acordo com formas de realização exemplares.
[000108] Em primeiro lugar, a Fig. 6 é um diagrama de blocos para explicar um método para codificar e decodificar informações sobre modo de predição, informações relacionadas à mesclagem, e informações relacionadas à predição, de acordo com uma primeira forma de realização exemplar, em que uma ocorrência de mesclagem da unidade de dados é determinada, levando em consideração se um modo de predição de uma unidade atual de dados é um modo de ignorar.
[000109] Na operação 61, o aparelho 10 codifica informações sobre modo de ignorar 'skip_flag' de uma unidade atual de dados. Se um modo de predição da unidade atual de dados for um modo de ignorar, as informações sobre modo de ignorar 'skip_flag' podem ser definidas como 1, e se um modo de predição da unidade atual de dados não for um modo de ignorar, as informações sobre modo de ignorar 'skip_flag' podem ser definidas como 0.
[000110] Se for determinado na operação 61, que o modo de predição da unidade atual de dados é um modo de ignorar, o método avança para a operação 62. Na operação 62, informações sobre mesclagem 'merging_flag' não podem ser codificadas. Se for determinado na operação 61, que o modo de predição da unidade atual de dados não é um modo de ignorar, o método avança para a operação 63. Na operação 63, as informações sobre mesclagem 'merging_flag' são codificadas. Informações sobre direção de predição e índice de referência da unidade atual de dados, cujo modo de predição é um modo de ignorar, podem ser determinadas, de acordo com uma regra predefinida. Para que informações sobre direção de predição e índice de referência da unidade atual de dados sejam mescladas com uma unidade vizinha de dados, um índice de referência e uma direção de referência de um vetor de movimento da unidade vizinha de dados podem ser seguidos ou referidos.
[000111] Por exemplo, se uma regra for predefinida em que, se uma fatia atual for uma fatia P, uma direção de predição de uma unidade de dados, cujo modo de predição é um modo de ignorar, é definida como uma direção List0, se uma fatia atual for uma fatia B, um modo de predição é definido como uma direção Bi, e um índice de referência da unidade de dados, cujo modo de predição é um modo de ignorar, é definido como 0, codificação de predição da unidade de dados, cujo modo de predição é um modo de ignorar, pode ser possível, de acordo com a regra.
[000112] Se a unidade atual de dados for mesclada com uma unidade vizinha de dados, as informações sobre mesclagem 'merging_flag' da unidade atual de dados podem ser definidas como 1, e se a unidade atual de dados não for mesclada com uma unidade vizinha de dados, as informações sobre mesclagem 'merging_flag' da unidade atual de dados podem ser definida como 0. Na operação 64, se a unidade atual de dados for mesclada com uma unidade vizinha de dados, visto que informações auxiliares sobre predição para codificação de predição da unidade atual de dados podem ser seguidas ou derivadas de informações sobre a unidade vizinha de dados, informações sobre direção de predição e índice de referência ’Inter direction/ Ref index’ da unidade atual de dados não podem ser codificadas. Na operação 65, embora a unidade atual de dados seja mesclada com a unidade vizinha de dados, informações sobre movimento vetorial diferencial ’mvd’ são codificadas.
[000113] Na operação 66, se a unidade atual de dados não for mesclada com uma unidade vizinha de dados, as informações sobre direção de predição e índice de referência ’Inter direction/ Ref index’ da unidade atual de dados podem ser codificadas e, na operação 67, as informações sobre movimento vetorial diferencial ’mvd’ podem ser codificadas. Por exemplo, uma direção de predição da unidade atual de dados pode incluir uma direção list0, uma direção Listl, e uma direção Bi.
[000114] O aparelho 20 pode extrair e ler informações sobre modo de ignorar de uma unidade atual de dados, e pode extrair e ler informações sobre mesclagem e informações relacionadas à predição, com base nas informações sobre modo de ignorar, como no método das operações 61 a 67.
[000115] A Fig. 7 é um diagrama de blocos para explicar um método para codificar e decodificar informações sobre modo de predição, informações relacionadas à mesclagem, e informações relacionadas à predição, de acordo com uma segunda forma de realização exemplar, em que uma ocorrência de mesclagem da unidade de dados é determinada, levando em consideração se um modo de predição de uma unidade atual de dados é um modo de ignorar e um modo direto.
[000116] Na operação 71, o aparelho 10 codifica informações sobre modo de ignorar ’skip_flag’ da unidade atual de dados. Se for determinado, na operação 71, que um modo de predição da unidade atual de dados é um modo de ignorar, o método avança para a operação 72. Na operação 72, informações sobre mesclagem 'merging_flag' não podem ser codificadas.
[000117] Se for determinado, na operação 71, que o modo de predição da unidade atual de dados não é um modo de ignorar, o método avança para a operação 73. Na operação 73, o modo direto 'direct_flag' é codificado. Se o modo de predição da unidade atual de dados for um modo direto, as informações sobre modo direto 'direct_flag' da unidade atual de dados podem ser definidas como 1, e se o modo de predição da unidade atual de dados não for um modo direto, as informações sobre modo direto 'direct_flag' da unidade atual de dados podem ser definidas como 0. Se for determinado, na operação 73, que o modo de predição da unidade atual de dados é um modo direto, o método avança para a operação 74. Na operação 74, as informações sobre mesclagem 'merging_flag' não podem ser codificadas.
[000118] Se for determinado, na operação 73, que o modo de predição da unidade atual de dados não é um modo direto, o método avança para a operação 75. Na operação 75, as informações sobre mesclagem 'merging_flag' são codificadas. Na operação 76, se a unidade atual de dados for mesclada com uma unidade vizinha de dados, informações sobre direção de predição e índice de referência ’Inter direction/ Ref index’ da unidade atual de dados não podem ser codificadas e, na operação 77, informações sobre movimento vetorial diferencial 'mvd' são codificadas. Nas operações 78 e 79, se a unidade atual de dados não for mesclada com uma unidade vizinha de dados, informações sobre direção de predição e índice de referência ’Inter direction/ Ref index’ da unidade atual de dados e informações sobre movimento vetorial diferencial ’mvd’ podem ser codificadas.
[000119] O aparelho 20 pode extrair e ler informações sobre modo de ignorar ou informações sobre modo direto de uma unidade atual de dados, e pode extrair e ler informações sobre mesclagem e informações relacionadas à predição, com base em informações sobre modo de ignorar ou informações sobre modo direto, como no método das operações 71 a 79.
[000120] As Figs. 8 e 9 são diagramas para explicar métodos de seleção de uma unidade de dados a ser mesclada com uma unidade atual de dados dentre unidades estendidas vizinhas de dados da unidade atual de dados, de acordo, respectivamente, com um método da arte relacionada e uma forma de realização exemplar.
[000121] De acordo com um método de mesclagem da unidade de dados da arte relacionada da Fig. 8, objetos a serem mesclados com uma unidade atual de dados 81 são limitados a uma unidade superior vizinha de dados 82 e a uma unidade esquerda vizinha de dados 85, entrando em contato com uma amostra superior esquerda da unidade atual de dados 81. Ou seja, unidades vizinhas de dados 89, 91 e 93 contatando um canto superior esquerdo, um canto superior direito, e um canto inferior esquerdo da unidade atual de dados 81 não estão incluídas em um grupo de candidatos à mesclagem da unidade atual de dados 81.
[000122] Um método para mesclagem da unidade de dados da Fig. 9 é semelhante a um método para predição do vetor de movimento de um modo inter. Na Fig. 9, um grupo de candidatos à mesclagem de unidades vizinhas de dados, que podem ser mescladas com a unidade atual de dados 81, pode incluir não só unidades superiores vizinhas de dados 82, 83 e 84 e unidades esquerdas vizinhas de dados 85, 86, 87 e 88, mas também unidades vizinhas de dados 89, 91 e 93 entrando em contato com um canto superior esquerdo, um canto superior direito, e um canto inferior esquerdo da unidade atual de dados 81.
[000123] Por exemplo, um dentre o grupo de candidatos superiores à mesclagem 92, incluindo as unidades superiores vizinhas de dados 82, 83 e 84 da unidade atual de dados 81, pode ser determinado como um candidato superior à mesclagem A’ , e um dentre um grupo de candidatos esquerdos à mesclagem 95, incluindo as unidades esquerdas vizinhas de dados 85, 86, 87 e 88, pode ser determinado como um candidato esquerdo à mesclagem L’. Além disso, um dentre o grupo de candidatos de canto à mesclagem 96, incluindo as unidades vizinhas de dados 89, 91 e 93 entrando em contato com o canto superior esquerdo, o canto superior direito, e o canto inferior esquerdo da unidade atual de dados 81, pode ser determinado como um candidato de canto à mesclagem C’. Um dentre o candidato superior à mesclagem A’, o candidato esquerdo à mesclagem L’, e o candidato de canto à mesclagem C’ pode ser finalmente determinado como uma unidade vizinha de dados a ser mesclada com a unidade atual de dados 81.
[000124] Um método para determinar um dentre o grupo de candidatos à mesclagem superior 92, como o candidato superior à mesclagem A’ , um método para determinar um dentre o grupo de candidatos esquerdos à mesclagem 95, como o candidato esquerdo à mesclagem L’, um método para determinar um dentre o grupo de candidatos de canto à mesclagem 96, como o candidato de canto à mesclagem C', e um método para finalmente determinar um dentre o candidato superior à mesclagem A’, o candidato esquerdo à mesclagem L’, e o candidato de canto à mesclagem C’, podem seguir uma regra predefinida, como descrito em função da Fig. 5.
[000125] Na Fig. 9, visto que direções das unidades candidatas de dados, que podem ser mescladas com a unidade atual de dados 81, incluem informações sobre posições de mesclagem superior, inferior, e de canto, elas podem ser expressas como um índice de mesclagem, e não como um tipo de sinalizador 0 ou 1.
[000126] As Figs. 10, 11 e 12 são diagramas de blocos para explicar ordens para codificar e decodificar informações sobre modo de predição, informações relacionadas à mesclagem, e informações relacionadas à predição, de acordo com vários formatos de realização exemplares.
[000127] Referindo-se à Fig. 10, o aparelho 10 pode codificar informações sobre modo de ignorar e informações sobre mesclagem para cada unidade de predição, que é uma unidade de dados para codificação de predição.
[000128] Na operação 101, o aparelho 10 pode codificar informações sobre o modo de ignorar 'skip_flag' de uma unidade de predição e, na operação 102, o aparelho 10 pode codificar informações sobre mesclagem 'merging_flag' de uma unidade de predição diferente de um modo de ignorar. Nas operações 103 e 104, o aparelho 10 pode codificar informações sobre modo único de predição 'Prediction info' e informações sobre partição 'Partition info' de uma unidade de predição, cujo modo de predição não é um modo de ignorar, e que não é mesclada com uma unidade vizinha de dados.
[000129] Assim, o aparelho 20 pode extrair e ler informações sobre modo de ignorar e informações sobre mesclagem para cada unidade de predição. O aparelho 20 pode extrair informações exclusivas sobre modo de predição e informações sobre partição de uma unidade de predição, cujo modo de predição não é um modo de ignorar, e que não é mesclada com uma unidade vizinha de dados.
[000130] Referindo-se à Fig. 11, o aparelho 10 pode codificar informações sobre modo de ignorar para cada unidade de predição, e pode codificar informações sobre mesclagem de cada partição obtida por divisão de uma unidade de predição, para efeitos de codificação de predição mais precisa.
[000131] Na operação 111, o aparelho 10 pode codificar informações sobre modo de ignorar 'skip_flag' de uma unidade de predição, na operação 112, o aparelho 10 pode codificar informações sobre modo de predição 'Prediction info' de uma unidade de predição, cujo modo de predição não é um modo de ignorar e, na operação 113, o aparelho 10 pode codificar informações sobre partição ’Partition info'.
[000132] Na operação 114, o aparelho 10 pode codificar informações sobre mesclagem ’merging_flag’ para cada partição da unidade predição, cujo modo de predição não é um modo de ignorar. Na operação 115, o aparelho 10 pode codificar informações sobre movimento original ’Motion info’ de uma partição, que não foi mesclada com uma unidade vizinha de dados entre partições da unidade de predição, cujo modo de predição não é um modo de ignorar.
[000133] Nesse sentido, o aparelho 20 pode extrair e ler informações sobre modo de ignorar para cada unidade de predição, e pode extrair e ler informações sobre mesclagem para cada partição. O aparelho 20 pode extrair informações sobre movimento original de uma partição, cujo modo de predição não é um modo de ignorar e que não foi mesclada com uma unidade vizinha.
[000134] Referindo-se à Fig. 12, o aparelho 10 pode codificar informações sobre modo de ignorar para cada unidade de predição, e pode codificar informações sobre mesclagem para cada partição, quando uma condição predeterminada for satisfeita.
[000135] Na operação 121, o aparelho 10 pode codificar informações sobre modo de ignorar ’skip_flag’ de uma unidade de predição, na operação 122, o aparelho 10 pode codificar informações sobre modo de predição 'Prediction info' de uma unidade de predição, cujo modo de predição não é um modo de ignorar e, na operação 123, o aparelho pode codificar informações sobre partição ’Partition info'.
[000136] Na operação 124, o aparelho 10 determina se uma condição predeterminada foi satisfeita para cada partição da unidade de predição. Na operação 125, informações sobre mesclagem ’merging_flag’ de apenas uma unidade de dados satisfazendo a condição predeterminada dentre partições da unidade de predição, cujo modo de predição não é um modo de ignorar, podem ser codificadas. Na operação 126, o aparelho 10 codifica informações sobre movimento original ’Motion info’ de uma partição, que satisfaça a condição predeterminada e não é mesclada com uma unidade vizinha de dados, e uma partição, que não satisfaça a condição predeterminada das partições da unidade de predição, cujo modo de predição não é um modo de ignorar.
[000137] Uma condição predeterminada de uma partição para codificar informações sobre mesclagem pode incluir um caso, onde um modo de predição de uma partição é um modo de predição predeterminado. Por exemplo, informações sobre mesclagem de uma partição podem ser codificadas, de acordo com uma condição de que um modo de predição não seja um modo de ignorar, mas um modo inter (modo de não-ignorar), uma condição de que um modo de predição não seja um modo de ignorar e um modo direto, mas um modo inter (modo inter de não-ignorar e modo inter não-direto), ou uma condição de que um modo de predição seja um modo inter, que não é dividido por uma partição (modo inter não-particionado).
[000138] Em detalhes, na operação 124, se a mesclagem da unidade de dados for realizada em uma unidade de dados, cujo modo de predição não é um modo de ignorar e um modo direto, mas um modo inter, o aparelho 10 pode determinar, se modos de predição de partições de uma unidade de predição diferente de um modo de ignorar não são modos diretos, mas modos inter. Na operação 125, informações sobre mesclagem 'merging_flag' de uma partição, cujo modo de predição não é um modo direto, podem ser codificadas. Na operação 126, informações sobre movimento original ’Motion info’ de uma partição, cujo modo de predição não é um modo direto e que não é mesclada com uma unidade vizinha de dados, e uma partição, cujo modo de predição é um modo direto, podem ser codificadas.
[000139] Nesse sentido, o aparelho 20 pode extrair e ler informações sobre modo de ignorar para cada modo de predição, e pode extrair e ler informações sobre mesclagem para cada partição. O aparelho 20 pode extrair e ler informações sobre movimento original de uma partição, cujo modo de predição não é um modo de ignorar e que satisfaça uma condição predeterminada, mas não seja mesclada com uma unidade vizinha de dados, e uma partição, que não satisfaça a condição predeterminada.
[000140] A Fig. 13 é um diagrama ilustrando unidades vizinhas de dados, que não são mescladas com uma partição atual, de acordo com uma forma de realização exemplar.
[000141] Uma unidade de dados para codificação de predição, ou seja, uma unidade de predição, pode ser dividida em duas ou mais partições para codificação de predição mais precisa. Por exemplo, uma largura de uma primeira unidade de predição 131 pode ser dividida em uma primeira partição 132 e uma segunda partição 133.
[000142] Visto que a primeira partição 132 e a segunda partição 133 têm características diferentes de movimento, mesmo que a primeira partição 132 e a segunda partição 133 sejam incluídas na primeira unidade de predição 131, a mesclagem da unidade de dados não pode ser realizada entre a primeira partição 132 e a segunda partição 133. Nesse sentido, o aparelho 10 não pode determinar, se a mesclagem da unidade de dados foi executada entre a primeira partição 132 e a segunda partição 133 na mesma primeira unidade de predição 131. Além disso, informações sobre índice de mesclagem para a segunda partição 133 não podem incluir um índice, indicando uma unidade vizinha esquerda de dados.
[000143] Mesmo quando uma altura de uma segunda unidade de predição 135 for dividida em uma terceira partição 136 e em uma quarta partição 137, visto que a mesclagem da unidade de dados não deve ser realizada entre a terceira partição, 136 e a quarta partição 137, o aparelho 10 não pode determinar, se a mesclagem da unidade de dados foi executada entre a terceira partição 136 e a quarta partição 137. Além disso, informações sobre índice de mesclagem para a quarta partição 137 não podem incluir um índice indicando uma unidade superior vizinha de dados.
[000144] A Fig. 14 é um diagrama ilustrando uma unidade candidata de dados, que varia de acordo com um formato e uma posição de uma partição atual, de acordo com uma forma de realização exemplar.
[000145] De acordo com um formato e uma posição de uma partição, uma posição da unidade vizinha de dados a ser mesclada pode variar. Por exemplo, se uma unidade de predição 141 for dividida em partições esquerda e direita 142 e 143, candidatos de unidades vizinhas de dados, que podem ser mesclados com a partição esquerda 142, podem ser uma unidade de dados 144 vizinha a um limite superior da partição esquerda 142, uma unidade de dados 145 vizinha a um limite esquerdo da partição esquerda 142, e uma unidade de dados 146 vizinha a um canto superior direito da partição esquerda 142.
[000146] Embora a partição direita 153 entre em contato com a partição esquerda 142 em um limite esquerdo, visto que a partição esquerda 142 e a partição direita 143 são partições da mesma unidade de predição 141, a mesclagem não pode ser realizada entre a partição esquerda 142 e a partição direita 143. Nesse sentido, candidatos vizinhos a unidades de dados, que podem ser mesclados com a partição direita 143, podem ser uma unidade de dados 146 vizinha a um limite superior da partição direita 143 e uma unidade de dados 147 vizinha a um canto superior direito da partição direita 143. Além disso, informações sobre índice de mesclagem para a partição direita 143 não podem incluir um índice, indicando uma unidade superior esquerda vizinha de dados. A Fig. 15 é um diagrama ilustrando unidades vizinhas de dados, que não podem ser mescladas com uma partição atual, que é uma partição tendo um formato geométrico, de acordo com uma forma de realização exemplar.
[000147] Na codificação de predição do aparelho 10, uma unidade de predição pode ser fracionada, não apenas em uma direção vertical ou horizontal, mas também em uma direção arbitrária, em partições tendo geometricamente vários formatos. As unidades de predição 148, 152, 156 e 160 obtidas por meio de divisão em direções arbitrárias são ilustradas na Fig. 15.
[000148] Partições tendo formatos geométricos não podem ser mescladas com unidades vizinhas de dados, entrando em contato com limites superiores e limites esquerdos das partições, de acordo com posições e formatos das partições. Por exemplo, entre duas partições 149 e 150 da unidade de predição 148, a partição 150 pode ser mesclada com uma unidade vizinha de dados 151, entrando em contato com um limite esquerdo. No entanto, como uma unidade vizinha de dados entrando em contato com um limite superior é a partição 149 incluída na mesma unidade de predição 158, a partição 150 não pode ser mesclada com a unidade vizinha superior de dados. Neste caso, informações sobre índice de mesclagem da partição 150 não podem incluir um índice, que indica a partição 149, que é a unidade superior vizinha de dados.
[000149] Da mesma forma, entre duas partições 153 e 154 da unidade de predição 152, a partição 164 pode ser mesclada com uma unidade esquerda vizinha de dados 155. No entanto, visto que uma unidade superior vizinha de dados é a partição 153 incluída na mesma unidade de predição 152, a partição 154 não pode ser mesclada com a unidade vizinha superior de dados.
[000150] Da mesma forma, entre duas partições 157 e 158 da unidade de predição 156, a partição 158 pode ser mesclada com uma unidade superior vizinha de dados 159. No entanto, como uma unidade vizinha esquerda de dados é a partição 157 incluída na mesma unidade de predição 156, a partição 158 não pode ser mesclada com a unidade vizinha esquerda de dados.
[000151] Da mesma forma, entre duas partições 161 e 162 da unidade de predição 160, visto que a partição 161 incluída na mesma unidade de predição 160 é uma unidade vizinha superior de dados e uma unidade vizinha esquerda de dados da partição 162, a partição 162 não pode ser mesclada com a unidade vizinha superior de dados e a unidade vizinha esquerda de dados.
[000152] Conforme descrito com referência às figuras 13, 14 e 15, se uma unidade vizinha de dados, que não pode ser mesclada, for gerada de acordo com um formato ou uma posição de uma unidade de dados, informações sobre índice de mesclagem não podem incluir um índice, que indica a unidade vizinha de dados, que não pode ser mesclada.
[000153] Além disso, o aparelho 10 não pode executar mesclagem da unidade de dados para estender uma unidade atual de dados e para sobrepor a unidade atual de dados a outra unidade de dados anteriormente existente.
[000154] Por exemplo, se uma unidade de predição for dividida em duas partições e uma unidade candidata de dados predeterminada da segunda partição tiver as mesmas informações sobre movimento que a primeira partição, a mesclagem entre a segunda partição e a unidade candidata de dados predeterminada não pode ser permitida.
[000155] Por exemplo, entre a primeira partição 132 e a segunda partição 133 da primeira unidade de predição 131 da Fig. 13, se uma unidade de predição superior da segunda partição 133 tiver as mesmas informações sobre movimento que a primeira partição 132, unidades superiores de predição da primeira partição 132 e da segunda partição 133 podem ser excluídas de um grupo de unidades candidatas de dados da segunda partição 133. Isso ocorre, porque se a mesclagem da unidade de dados for executada, de forma que a segunda partição 133 se refira às informações sobre movimento de uma unidade de predição superior, este é o mesmo como um caso, onde informações sobre movimento da primeira partição 132 são referidas.
[000156] Informações sobre mesclagem, em conjunto com o fato da mesclagem da unidade de dados ser executada, podem ser definidas por meio de modelagem de contexto, considerando um modo de predição e um tipo de partição de uma unidade vizinha de dados. Um índice de um modelo de contexto pode ser expresso como informações sobre mesclagem, analisando uma combinação de um modo de predição e um tipo de partição de uma unidade vizinha de dados de uma unidade atual de dados e um caso, onde a unidade atual de dados e a unidade vizinha de dados são mescladas entre si como um modelo de contexto.
[000157] A Tabela 1 mostra informações sobre mesclagem através da modelagem de contexto, de acordo com uma forma de realização exemplar. Para conveniência de explicação, objetos a serem mesclados com uma unidade atual de dados são limitados a uma unidade vizinha esquerda de dados e uma unidade superior vizinha de dados.
Tabela 1
Figure img0001
[000158] Pode haver partições seletivamente incluídas tendo formas arbitrárias, como tipos de partição simétrica 2Nx2N, 2NxN, Nx2N e NxN obtidos por divisão de uma altura ou uma largura de uma unidade de predição, de acordo com uma relação simétrica, tipos de partição assimétrica 2NxnU, 2NxnD, nLx2N e nRx2N obtidos por divisão de uma altura ou uma largura de uma unidade de predição, de acordo com uma relação assimétrica, como 1:n ou n:1, ou tipos de partição geométrica obtidos por divisão de uma altura ou uma largura de uma unidade de predição em vários formatos geométricas. Os tipos de partição assimétrica 2NxnU e 2NxnD são obtidos por divisão de uma altura de uma unidade de predição, de acordo com proporções de 1:3 e 3:1, respectivamente, e os tipos de partição assimétrica nLx2N e nRx2N são obtidos por divisão de uma largura de uma unidade de predição, de acordo com proporções de 1:3 e 3:1, respectivamente.
[000159] De acordo com a Tabela 1, visto que a mesclagem da unidade de dados não é executada, quando modos de predição de uma unidade vizinha esquerda de dados e uma unidade superior vizinha de dados de uma unidade atual de dados forem modos intra, informações sobre mesclagem da unidade atual de dados são atribuídas a um índice 0, sem a necessidade de distinguir modelos de contexto, de acordo com tipos de partição.
[000160] Além disso, supondo que modos de predição de uma unidade vizinha esquerda de dados e uma unidade superior vizinha de dados são modos inter, e não modos de ignorar ou modos diretos, quando somente uma dentre a unidade vizinha esquerda de dados e a unidade superior vizinha de dados for mesclada com uma unidade atual de dados, e quando a unidade vizinha esquerda de dados e a unidade vizinha superior de dados forem mescladas com a unidade atual de dados, um modelo de contexto das informações sobre mesclagem pode ser definido, de acordo com uma combinação de se a mesclagem da unidade de dados foi executada, de acordo com tipos de partição de unidades vizinhas de dados. Neste caso, cada uma das informações sobre mesclagem pode ser atribuída a um dos índices de modelo do contexto 1 a 6, de acordo com a Tabela 1.
[000161] Além disso, supondo que modos de predição sejam um modo de ignorar e um modo direto, quando pelo menos um dentre uma unidade vizinha esquerda de dados e uma unidade superior vizinha de dados for um modo de ignorar ou um direto, um modo de contexto de informações sobre mesclagem pode ser definido, de acordo com tipos de partição de unidades vizinhas de dados, e cada uma das informações sobre mesclagem pode ser atribuída a um dos índices do modelo de contexto 7 a 9, de acordo com a Tabela 1.
[000162] Assim, o aparelho 20 pode ler informações sobre mesclagem, de acordo com modelagem de contexto, e pode analisar se mesclagem foi realizada entre uma unidade atual de dados e uma unidade vizinha de dados, e um modo de predição e um tipo de partição da unidade vizinha de dados.
[000163] O aparelho 20 pode inferir informações sobre movimento de uma unidade atual de dados, usando informações sobre movimento de uma unidade vizinha de dados, que é mesclada com a unidade atual de dados.
[000164] Além disso, o aparelho 10 e o aparelho 20 podem executar transformação em uma unidade mesclada de dados, se um formato da unidade mesclada de dados, formada por mesclagem da unidade de dados, for um quadrado regular.
[000165] Além disso, no aparelho 10 e aparelho 20, uma unidade vizinha de dados mesclada com uma unidade atual de dados pode compartilhar informações sobre uma direção de predição intra. Informações sobre uma direção de predição para uma unidade mesclada de dados, formada por mesclagem da unidade de dados, não podem ser codificadas ou decodificadas, de acordo com unidades de dados, mas podem ser codificadas ou decodificadas apenas uma vez para a unidade mesclada de dados.
[000166] A Fig. 16 é um diagrama, que ilustra um exemplo onde uma unidade vizinha de dados, determinada a ser mesclada com uma unidade atual de dados, é usada, de acordo com uma forma de realização exemplar.
[000167] O aparelho 10 e o aparelho 20 podem estender um limite de uma unidade vizinha de dados a ser mesclada com uma unidade atual de dados 163, e podem usar o limite estendido, para dividir uma partição da unidade atual de dados 164. Por exemplo, se a unidade atual de dados 163 for mesclada com unidades esquerdas vizinhas de dados 164, 165 e 166, os limites das unidades esquerdas vizinhas de dados 164, 165 e 166 podem ser estendidos para alcançar a unidade atual de dados 163. A unidade atual de dados 163 pode ser dividida em partições 167, 168 e 169, de acordo com os limites estendidos das unidades esquerdas vizinhas de dados, 165, 165 e 166.
[000168] A Fig. 17 é um fluxograma, que ilustra um método para codificar um vídeo, usando mesclagem da unidade de dados, de acordo com uma forma de realização exemplar.
[000169] Na operação 171, um modo de codificação, indicando que uma unidade de dados para a codificação de um quadro e um método para codificar, incluindo codificação de predição realizada para cada unidade de dados, é determinado.
[000170] Na operação 172, uma ocorrência de mesclagem com pelo menos uma unidade vizinha de dados é determinada com base em pelo menos um dentre o modo de predição e o modo de codificação, de acordo com as unidades de dados. Uma unidade de dados pode incluir uma unidade de predição para codificação de predição e uma partição para codificação de predição precisa da unidade de predição.
[000171] Dentre uma pluralidade de unidades vizinhas superiores de dados entrando em contato com um limite superior e uma pluralidade de unidades vizinhas esquerdas de dados entrando em contato com um limite à esquerda de uma unidade atual de dados, uma unidade de dados a ser mesclada com a unidade atual de dados pode ser procurada. Além disso, dentre as unidades vizinhas de dados entrando em contato com um canto superior esquerdo, um canto superior direito, e um canto inferior esquerdo da unidade atual de dados, uma unidade de dados a ser mesclada com a unidade atual de dados pode ser procurada.
[000172] Na operação 173, informações sobre modo de predição, informações relacionadas à mesclagem, e informações relacionadas à predição são determinadas com base na ocorrência de mesclagem com a unidade vizinha de dados, de acordo com as unidades de dados, e informações sobre codificação, incluindo as informações sobre modo de predição, as informações relacionadas à mesclagem, e as informações relacionadas à predição, são codificadas.
[000173] Informações relacionadas à mesclagem de uma unidade de dados, cujo modo de predição é um modo de ignorar e um modo direto, podem ser codificadas. Nesse sentido, informações relacionadas à mesclagem de uma unidade de dados, que é determinada a ser mesclada com uma unidade vizinha de dados predeterminada, podem ser codificadas, depois das informações sobre modo de ignorar ou informações sobre modo direto serem codificadas. Informações relacionadas à mesclagem podem incluir informações sobre mesclagem, indicando se a mesclagem foi executada entre uma unidade atual de dados e uma unidade vizinha de dados, e informações sobre índice de mesclagem indicando a unidade vizinha de dados.
[000174] Se as informações sobre modo de ignorar e informações relacionadas à mesclagem de uma unidade de predição forem codificadas, informações sobre modo de predição e informações sobre tipo de partição da unidade de predição podem ser codificadas, após as informações sobre modo de ignorar e as informações relacionadas à mesclagem serem codificadas.
[000175] Se informações sobre modo de ignorar de uma unidade de predição forem codificadas e informações relacionadas à mesclagem de uma partição forem codificadas, informações relacionadas à mesclagem podem ser codificadas, de acordo com partições, após as informações sobre modo de ignorar, informações sobre modo de predição, e informações sobre tipo de partição da unidade de predição serem codificadas.
[000176] A Fig. 18 é um fluxograma, que ilustra um método para decodificar um vídeo usando mesclagem da unidade de dados, de acordo com uma forma de realização exemplar.
[000177] Na operação 181, um fluxo de bits recebido é analisado, informações sobre codificação e dados de vídeo codificados são extraídas do fluxo de bits, e informações sobre modo de predição, informações relacionadas à mesclagem, e informações relacionadas à predição são extraídas das informações sobre codificação.
[000178] As informações relacionadas à mesclagem podem ser extraídas com base no resultado da leitura das informações sobre modo de ignorar ou das informações sobre modo direto de uma unidade atual de dados. Por exemplo, informações relacionadas à mesclagem de uma unidade de dados, cujo modo de predição não é um modo de ignorar, podem ser extraídas. Alternativamente, informações relacionadas à mesclagem de uma unidade de dados, cujo modo de predição é um modo inter, e não um modo de ignorar e um modo direto, podem ser extraídas. Informações sobre mesclagem, indicando se a mesclagem foi realizada entre uma unidade atual de dados e uma unidade vizinha de dados, e informações sobre índice de mesclagem indicando a unidade vizinha de dados podem ser lidas a partir das informações relacionadas à mesclagem.
[000179] Se a informações sobre modo de ignorar e as informações relacionadas à mesclagem forem extraídas para cada unidade de predição, as informações sobre modo de predição e informações sobre tipo de partição da unidade de predição podem ser extraídas, após as informações sobre modo de ignorar e as informações relacionadas à mesclagem serem extraídas.
[000180] Se informações sobre modo de ignorar forem extraídas em um nível de unidade de predição e informações relacionadas à mesclagem forem extraídas em um nível de partição, informações relacionadas à mesclagem podem ser extraídas, de acordo com partições, após informações sobre modo de ignorar, informações sobre modo de predição, e as informações sobre tipo de partição da unidade de predição serem extraídas.
[000181] Na operação 182, uma ocorrência de mesclagem com pelo menos uma unidade vizinha de dados é analisada com base em pelo menos um dentre o modo de predição e um modo de codificação, de acordo com unidades de dados com base nas informações sobre modo de predição e nas informações relacionadas à mesclagem. Predição inter e compensação de movimento são realizadas em uma unidade de dados mesclada com uma unidade vizinha de dados, por meio de informações relacionadas à predição da unidade vizinha de dados, e os dados de vídeo codificados são decodificados, de acordo com determinadas unidades de dados com base nas informações sobre codificação.
[000182] Dentre uma pluralidade de unidades vizinhas superiores de dados entrando em contato com um limite superior e uma pluralidade de unidades vizinhas esquerdas de dados entrando em contato com um limite à esquerda, uma unidade de dados a ser mesclada com uma unidade atual de dados pode ser determinada, com base nas informações sobre mesclagem e informações sobre índice de mesclagem. Além disso, entre as unidades vizinhas de dados entrando em contato com um canto superior esquerdo, um canto superior direito, e um canto inferior esquerdo da unidade atual de dados, uma unidade de dados a ser mesclada com a unidade atual de dados pode ser determinada.
[000183] Informações relacionada a movimento de uma unidade atual de dados podem ser reconstruídas, usando informações relacionadas a movimento de uma unidade de dados mesclada com a unidade atual de dados. A unidade atual de dados pode ser restaurada, e um quadro pode ser restaurado por meio de compensação de movimento executada na unidade atual de dados usando as informações relacionadas a movimento.
[000184] Um aparelho e método para codificar um vídeo e um aparelho e método para decodificar um vídeo, usando mesclagem da unidade de dados com base nas unidades de codificação com uma estrutura em árvore, de acordo com uma ou mais formas de realização exemplares, serão agora explicados com referência às Figs. 19 a 33.
[000185] A Fig. 19 é um diagrama de blocos de um aparelho 100 para codificar um vídeo, usando mesclagem da unidade de dados com base em unidades de codificação com uma estrutura em árvore, de acordo com uma forma de realização exemplar.
[000186] O aparelho 100 inclui um divisor máximo da unidade de codificação 110, um determinador da unidade de codificação 120, e uma unidade emissora 130. Para conveniência de explicação, o aparelho 100 para codificar um vídeo usando mesclagem da unidade de dados com base em unidades de codificação com uma estrutura em árvore é referido como 'aparelho 100 para codificar um vídeo'.
[000187] O 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 um quadro atual de uma imagem. Se o quadro atual for 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 pode ser uma unidade de dados tendo um tamanho de 32 x 32, 64 x 64, 128 x 128, 256 x 256 etc., em que um formato da unidade de dados é um quadrado com uma largura e comprimento em quadrados de 2. 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.
[000188] Uma unidade de codificação pode ser caracterizada por um tamanho e uma profundidade máxima. A profundidade indica um 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 separadas da unidade de codificação máxima, formando uma unidade de codificação mínima. Uma profundidade da unidade de codificação máxima é uma profundidade superior limite, e uma profundidade da unidade de codificação mínima é uma profundidade inferior limite. 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 às profundidades inferiores.
[000189] 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 as profundidades. Visto que a unidade de codificação máxima é 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.
[000190] 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 largura da unidade de codificação máxima são divididas hierarquicamente, podem ser predeterminados.
[000191] O determinador da unidade de codificação 120 codifica pelo menos uma região dividida, obtida por divisão de 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 dividida. Em outras palavras, o determinador da unidade de codificação 120 determina uma profundidade codificada, codificando os 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 selecionando uma profundidade tendo o menor erro de codificação. Assim, os dados de imagem codificados da unidade de codificação correspondente à determinada profundidade codificada são finalmente emitidos. Além disso, as unidades de codificação correspondentes à profundidade codificada podem ser consideradas como unidades de codificação codificadas. A profundidade codificada determinada e os dados de imagem codificados, de acordo com a profundidade codificada determinada, são emitidos para a unidade emissora 130.
[000192] 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 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 os erros de codificação das unidades de codificação mais profundas. Pelo menos uma profundidade codificada pode ser escolhida para cada unidade de codificação máxima.
[000193] O tamanho da unidade de codificação máxima é dividido, quando uma unidade de codificação for hierarquicamente dividida, 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, cada uma das unidades de codificação correspondentes à mesma profundidade pode ser fraccionada em uma profundidade inferior, medindo-se um erro de codificação dos dados de imagem de cada unidade da codificação, separadamente. Nesse sentido, mesmo quando dados de imagem forem incluídos em uma unidade de codificação máxima, os dados de imagem sendo divididos em regiões, de acordo com as profundidades, os erros de codificação podem ser diferentes, de acordo com regiões naquela 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.
[000194] 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’ incluem unidades de codificação correspondentes a uma profundidade 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 profundidade codificada pode ser determinada hierarquicamente, 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 de uma profundidade codificada em outra região.
[000195] Uma profundidade máxima é um índice relacionado ao número de vezes de divisão, a partir de uma unidade de codificação máxima para uma unidade de codificação mínima. Uma primeira profundidade máxima pode denotar o número total de vezes de divisão, a partir da unidade de codificação máxima para a unidade de codificação mínima. Uma segunda profundidade máxima pode denotar o número total de níveis de profundidade, a partir da unidade de codificação máxima para 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 de profundidades 0, 1, 2, 3 e 4 existem e, assim, a primeira profundidade máxima pode ser definida como 4, e a segunda profundidade máxima pode ser definida como 5.
[000196] Codificação de predição e transformação podem ser efetuadas, de acordo com a unidade de codificação máxima. A codificação de predição e a transformação também são executadas com base nas unidades de codificação mais profundas, de acordo com uma profundidade igual ou menor que a profundidade máxima, de acordo com a unidade de codificação máxima. Transformação executada para codificar um vídeo pode incluir transformação de frequência, transformação ortogonal, transformação de inteiros e assim por diante.
[000197] Visto 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 de prediçã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 de prediçã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.
[000198] O aparelho 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 de predição, transformação, e codificação de entropia, são executadas e, neste momento, 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.
[000199] Por exemplo, o aparelho 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 unidade de codificação, a fim de realizar a codificação de predição nos dados de imagem na unidade de codificação.
[000200] Para realizar codificação de predição na unidade de codificação máxima, a codificação de predição pode ser realizada com base em uma unidade de codificação correspondente a uma profundidade codificada, isto é, 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 base para codificação de predição, será agora referida como uma ’unidade de predição’. Uma partição obtida por divisão da unidade de predição pode incluir uma unidade de dados obtida por divisão de pelo menos uma dentre a altura e largura da unidade de predição.
[000201] Por exemplo, quando uma unidade de codificação de 2Nx2N (onde N é um n°. inteiro positivo) não é mais dividida e se torna uma unidade de prediçã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 por divisão simétrica de uma altura ou largura da unidade de predição, partições obtidas por divisão assimétrica da altura ou largura da unidade de predição, como 1:n ou n:1, partições que são obtidas por divisão geométrica da unidade de predição, e partições tendo formas arbitrárias.
[000202] Um modo de predição da unidade de predição pode ser pelo menos um dentre o modo intra, um modo inter, e um modo de 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 de ignorar pode ser realizado somente na partição de 2Nx2N. A codificação é independentemente realizada numa unidade de predição em uma unidade de codificação, selecionando, assim, um modo de predição tendo um menor erro de codificação.
[000203] O aparelho 100 também pode efetuar 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.
[000204] 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 um modo intra e uma unidade de transformação para um modo inter.
[000205] Da mesma forma que para as unidades de codificação tendo uma estrutura em árvore, a unidade de transformação na unidade de codificação pode ser recursivamente dividida em regiões com menores tamanhos, para que a unidade de transformação possa ser determinada independentemente 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.
[000206] 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 por divisão da altura e largura da unidade de codificação, também pode ser definida na unidade de transformação. Por exemplo, em uma unidade de codificação atual de 2Nx2N, uma profundidade de transformação pode ser 0, quando o tamanho de uma unidade de transformação também for 2Nx2N, pode ser 1, quando cada uma da altura e largura da unidade de codificação atual for dividida em duas partes iguais, totalmente dividida em 4 Λ 1 unidades de transformação, e o tamanho da unidade de transformação for, assim, NxN, e pode ser 2, quando cada uma da altura e largura da unidade de codificação atual for dividida em quatro partes iguais, totalmente dividida em 4 Λ 2 unidades de transformação e o tamanho da unidade de transformação for, 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 transformação, de acordo com as características hierárquicas de uma profundidade de transformação.
[000207] Informações sobre 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 sobre codificação de predição e transformação. Nesse sentido, o determinador da unidade de codificação 120, não só determina uma profundidade codificada com um menor erro de codificação, mas também determina um tipo de partição em uma unidade de predição, um modo de predição de acordo com unidades de predição, e um tamanho de uma unidade de transformação para transformação.
[000208] Unidades de codificação 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 exemplares, serão descritos em detalhes mais tarde com referência às figs. 21 a 31.
[000209] 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 em Taxa-distorção baseado em multiplicadores de Lagrange.
[000210] A unidade emissora 130 emite os dados de imagem da unidade de codificação máxima, que são codificados baseado em pelo menos uma profundidade codificada determinada pelo 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.
[000211] Os dados de imagem codificados podem ser obtidos pela codificação dos dados residuais de uma imagem.
[000212] As informações sobre o modo de codificação, de acordo com a profundidade codificada, podem incluir informações sobre a profundidade codificada, sobre o tipo de partição na unidade de predição, o modo de predição, e o tamanho da unidade de transformação.
[000213] 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 menor profundidade, em vez de uma profundidade atual. Se a profundidade atual da unidade de codificação atual for uma 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 dividir a unidade de codificação atual em uma menor profundidade. 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 profundidade inferior e, assim, 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 profundidade inferior.
[000214] Se a profundidade atual não for a profundidade codificada, codificação é realizada na unidade de codificação, que foi dividida na unidade de codificação da profundidade inferior. Visto que pelo menos uma unidade de codificação da profundidade inferior existe em uma unidade de codificação da profundidade atual, a codificação é executada repetidamente em cada unidade de codificação da profundidade inferior e, portanto, a codificação pode ser recursivamente realizada para as unidades de codificação tendo a mesma profundidade.
[000215] Visto 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 o 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 os locais, visto que os dados de imagem são divididos hierarquicamente, de acordo com profundidades, e, assim, informações sobre a profundidade codificada e o modo de codificação podem ser definidas para os dados de imagem.
[000216] Assim, a unidade emissora 130 pode atribuir informações sobre 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 predição, e uma unidade mínima incluída na unidade de codificação máxima.
[000217] A unidade mínima é uma unidade retangular de dados obtida por divisão da unidade de codificação mínima, que constitui a profundidade inferior limite por 4. Alternativamente, a unidade mínima pode ser uma unidade máxima de dados retangulares, que pode ser incluída em todas as unidades de codificação, unidades de predição, unidades de partição, e unidades de transformação incluídas na unidade de codificação máxima.
[000218] Por exemplo, as informações sobre codificação emitidas através da unidade emissora 130 podem ser classificadas em informações sobre codificação, de acordo com unidades de codificação, e informações sobre codificação, de acordo com unidades de predição. As informações sobre codificação, de acordo com as unidades de codificação, podem incluir as informações sobre o modo de predição e sobre o tamanho das partições. As informações sobre codificação, de acordo com as unidades de predição, podem incluir informações sobre uma direção estimativa de um modo inter, sobre um índice de imagens de referência do modo inter, sobre um vetor de movimento, sobre um componente de croma 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 definida, de acordo com quadros, fatias, ou GOPs, e informações sobre uma profundidade máxima, podem ser inseridas na SPS (conjunto de parâmetros de sequência) ou um cabeçalho de um fluxo de bits.
[000219] No aparelho 100, a unidade de codificação mais profunda pode ser uma unidade de codificação obtida por divisão de uma altura ou largura de uma unidade de codificação de uma profundidade superior 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 profundidade inferior é 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 profundidade inferior.
[000220] Nesse sentido, o aparelho 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, com base no tamanho da unidade de codificação máxima e na profundidade máxima determinada, levando em conta as características do quadro atual. Além disso, visto que a codificação pode ser realizada em cada unidade de codificação máxima, usando qualquer um dos vários modos de predição e transformações, um modo de codificação ideal pode ser determinado, considerando as características da unidade de codificação de vários tamanhos de imagem.
[000221] O aparelho 100 pode, além disso, executar um método para mesclar unidades de dados, para compartilhar informações relacionadas à predição entre as unidades de dados adjacentes entre si e tendo informações relacionadas à predição semelhantes. O determinador da unidade de codificação 120 do aparelho 100 pode incluir o determinador da unidade de codificação 11 e o determinador da mesclagem de dados 13 do aparelho 10, e a unidade emissora 130 do aparelho 100 pode incluir o determinador de informações sobre codificação 15 do aparelho 10.
[000222] Nesse sentido, determinador da unidade de codificação 120 do aparelho 100 pode determinar, se mesclagem da unidade de dados entre unidades vizinhas de dados foi executada nas unidades de codificação, unidades de predição, e partições tendo uma estrutura em árvore, e a unidade emissora 130 pode executar codificação, incluindo informações relacionadas à mesclagem nas informações sobre codificação, sobre uma unidade de codificação.
[000223] A unidade emissora 130 pode inserir as informações relacionadas à mesclagem com as informações sobre codificação sobre uma unidade de codificação e as informações sobre um tamanho máximo de uma unidade de codificação de um quadro atual, num cabeçalho sobre o quadro atual, PPS ou SPS.
[000224] O determinador da unidade de codificação 120 pode analisar a possibilidade de mesclagem da unidade de dados para partilha de informações relacionadas à predição com uma unidade vizinha de dados, mesmo se um modo de predição de uma unidade atual de predição, ou uma partição atual de unidades de codificação com uma estrutura em árvore, for um modo de ignorar ou um modo direto.
[000225] O determinador da unidade de codificação 120 pode incluir todas de uma pluralidade de unidades vizinhas esquerdas de dados, vizinhas a um limite esquerdo de uma unidade atual de predição ou uma partição atual, e todas de uma pluralidade de unidades vizinhas superiores de dados, vizinhas a um limite superior em um grupo de candidatos de unidades vizinhas de dados a serem mesclados com a unidade atual de dados ou a partição atual.
[000226] Uma unidade vizinha esquerda inferior de dados, vizinha a um canto inferior esquerdo da unidade atual de predição, ou da partição atual, também pode ser referida, de acordo com uma ordem de digitalização ou uma ordem de decodificação, baseado nas unidades de codificação tendo a estrutura em árvore. Nesse sentido, o determinador da unidade de codificação 120 pode ainda incluir unidades de dados vizinhas a um canto superior esquerdo, um canto superior direito, e um canto inferior esquerdo, além de todas de uma pluralidade das unidades vizinhas esquerdas de dados e as unidades superiores vizinhas de dados no grupo de candidatos à mesclagem da unidade atual de predição ou da partição atual.
[000227] Além disso, uma vez que a possibilidade de mesclagem da unidade de dados é determinada com base em um modo de predição da unidade atual de predição ou da partição atual, codificações de informações sobre modo de predição e de informações sobre mesclagem estão intimamente relacionadas. Por exemplo, a unidade emissora 130 pode codificar informações sobre codificação, de modo que informações relacionadas à mesclagem sejam definidas com base em informações sobre ignorar ou informações sobre direção para a unidade atual de predição ou a partição atual das unidades de codificação tendo a estrutura em árvore.
[000228] Visto que unidades de codificação tendo uma estrutura em árvore constituída pelo aparelho 100 incluem unidades de predição e partições tendo vários modos de predição e vários formatos, unidades de predição ou partições tendo vários modos de predição e vários formatos podem contatar um limite superior e um limite esquerdo da unidade atual de predição ou da partição atual. O determinador da unidade de codificação 120 pode procurar por uma possibilidade de que mesclagem da unidade de dados seja executada entre uma unidade atual de dados e uma pluralidade de diversas unidades vizinhas de predição ou partições vizinhas contatando um limite superior e um limite esquerdo da unidade atual de predição ou da partição atual, e pode determinar um objeto a ser mesclado.
[000229] Assim, visto que uma unidade atual de predição ou uma partição atual compartilha informações relacionadas à predição com unidades vizinhas de dados tendo vários tamanhos, formatos e posições com base nas unidades de codificação com uma estrutura em árvore, dados redundantes podem ser removidos, usando informações periféricas em uma escala mais larga, e a eficiência de codificar vídeo pode ser melhorada.
[000230] A Fig. 20 é um diagrama de blocos de um aparelho 200 para decodificar um vídeo usando mesclagem da unidade de dados com base em unidades de codificação com uma estrutura em árvore, de acordo com uma forma de realização exemplar.
[000231] O aparelho 200 inclui um receptor 210, um extrator de informações sobre codificação e dados de imagem 220, e um decodificador de dados de imagem 230. Para conveniência de explicação, o aparelho 200 para decodificar um vídeo usando mesclagem da unidade de dados com base em unidades de codificação com uma estrutura em árvore é referido como 'aparelho 200 para decodificar um vídeo'.
[000232] Definições de vários termos, como uma unidade de codificação, uma profundidade, uma unidade de predição, uma unidade de transformação, e informações sobre vários modos de codificação, para diversas operações do aparelho 200 são idênticas às descritas com referência à Fig. 19 e ao aparelho 100.
[000233] O receptor 210 recebe e analisa um fluxo de bits de um vídeo codificado. O extrator de informações sobre codificação e dados de imagem 220 extrai dados de imagem codificados para cada unidade de codificação a partir do fluxo de bits analisado, em que as unidades de codificação têm uma estrutura em árvore, de acordo com unidades de codificação máxima, e envia os dados de imagem extraídos para o decodificador de dados de imagem 230. O extrator de informações sobre 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, PPS ou SPS.
[000234] Além disso, o extrator de informações sobre 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 unidades de codificação máxima, 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.
[000235] As informações sobre a profundidade codificada e o modo de codificação, de acordo com a unidade de codificação máxima, podem ser definidas para 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, correspondendo à profundidade codificada, sobre um modo de predição, e um tamanho de uma unidade de transformação. Além disso, informações sobre codificação sobre uma profundidade codificada e um modo de codificação podem ainda incluir informações relacionadas à mesclagem sobre uma unidade atual de predição ou uma partição atual.
[000236] As informações sobre a profundidade codificada e o modo de codificação, de acordo com unidades de codificação máxima extraídas pelo extrator de informações sobre codificação e dados de imagem 220, são informações sobre uma profundidade codificada e um modo de codificação determinado para gerar um erro mínimo de codificação, quando um codificador, como o aparelho 100, executa repetidamente codificação para cada unidade de codificação mais profunda, de acordo com profundidades, de acordo com unidades de codificação máxima. Nesse sentido, o aparelho 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 gera o erro mínimo de codificação.
[000237] Visto que informações sobre 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 predição, e uma unidade mínima, o extrator de informações sobre 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 as mesmas informações sobre a profundidade codificada e o modo de codificação são atribuídas, podem ser deduzidas como sendo as unidades de dados incluídas na mesma unidade de codificação máxima.
[000238] O decodificador 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 decodificador de dados de imagem 230 pode decodificar os dados codificados de imagem, com base nas informações extraídas sobre o tipo de partição, o modo de prediçã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 uma predição, incluindo predição intra e compensação de movimento, e uma transformação inversa.
[000239] O decodificador de dados de imagem 230 pode realizar predição intra ou compensação de movimento, de acordo com uma partição e um modo de predição de cada unidade de codificação, com base nas informações sobre o tipo de partição e o modo de predição da unidade de predição da unidade de codificação, de acordo com profundidades codificadas.
[000240] Além disso, para realizar a transformação inversa, de acordo com unidades de codificação máxima, o decodificador de dados de imagem 230 pode realizar transformação inversa, baseado em uma unidade de transformação para cada unidade de codificação, por leitura das unidades de transformação tendo uma estrutura em árvore, incluindo informações sobre tamanhos das unidades de transformação de unidades de codificação, de acordo com profundidades codificadas.
[000241] O decodificador de dados de imagem 230 pode determinar pelo menos uma profundidade codificada de uma unidade atual de codificação máxima, 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. Assim, 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 atual de codificação máxima, usando as informações sobre o tipo de partição da unidade de predição, o modo de prediçã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 atual de codificação máxima.
[000242] Em outras palavras, unidades de dados contendo as informações sobre codificação, incluindo as mesmas informações de divisão, podem ser obtidas, observando as informações sobre codificação definidas, atribuídas à unidade de dados predeterminada dentre a unidade de codificação, a unidade de predição, e a unidade mínima, e as unidades de dados coletadas podem ser consideradas uma unidade de dados a ser decodificada pelo decodificador de dados de imagem 230 no mesmo modo de codificação.
[000243] Além disso, o aparelho 200 pode restaurar uma unidade atual de predição ou uma partição atual, usando informações relacionadas à predição de uma unidade periférica de dados da unidade atual de predição ou da partição atual, usando um método de mesclagem da unidade de dados. Para tal, o receptor 210 e o extrator de informações sobre codificação e dados de imagem 220 do aparelho 200 podem incluir o analisador/ extrator 21 do aparelho 20, e o decodificador de dados de imagem 230 do aparelho 200 pode incluir o determinador de mesclagem da unidade de dados 23 do aparelho 20.
[000244] O extrator de informações sobre codificação e dados de imagem 220 pode extrair informações sobre modo de predição e informações relacionadas à mesclagem das informações sobre um modo de codificação. O extrator de informações sobre codificação e dados de imagem 220 pode determinar a possibilidade de extrair e ler as informações relacionadas à mesclagem, de acordo com as informações sobre modo de predição, em informações sobre um modo de codificação, com base em uma estreita relação entre as informações sobre modo de predição e as informações relacionadas à mesclagem. Por exemplo, o extrator de informações sobre codificação e dados de imagem 220 pode extrair as informações relacionadas à mesclagem com base em informações sobre modo de ignorar ou informações diretas para uma unidade atual de predição ou uma partição atual de unidades de codificação com uma estrutura em árvore. Além disso, informações sobre mesclagem e informações sobre índice de mesclagem podem ser extraídas como as informações relacionadas à mesclagem.
[000245] O decodificador de dados de imagem 230 do aparelho 200 pode formar unidades de codificação com uma estrutura em árvore, com base em informações sobre um modo de codificação e uma profundidade codificada, e cada unidade de codificação dentre as unidades de codificação tendo a estrutura em árvore inclui unidades de predição e partições tendo vários modos de predição e vários formatos.
[000246] O decodificador de dados de imagem 230 do aparelho 200 pode procurar, se mesclagem pode ser realizada entre uma unidade atual de dados e vários unidades vizinhas de predição ou partições vizinhas contatando um limite superior e um limite à esquerda de uma unidade atual de predição ou uma partição atual, e pode determinar um objeto a ser mesclado. Informações relacionadas à predição da unidade atual de predição ou da partição atual podem ser determinadas ou inferidas, referindo-se às informações relacionadas à predição da partição ou unidade vizinha de predição mesclada.
[000247] O aparelho 200 pode obter informações sobre codificação sobre pelo menos uma unidade de codificação, que gera o erro mínimo 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, determinadas como as unidades de codificação ideal em cada unidade de codificação máxima, podem ser decodificadas.
[000248] Dados codificados por partilha das informações relacionadas à predição de unidades vizinhas de dados com vários tamanhos e formatos, com base nas unidades de codificação, de acordo com uma estrutura em árvore, podem ser decodificados com precisão, referindo-se às informações relacionadas à predição de uma unidade vizinha de dados, com base em informações relacionadas à predição e informações sobre mesclagem, definidas com base em uma estreita relação.
[000249] Um método para determinar unidades de codificação tendo uma estrutura em árvore, uma unidade de predição, e uma unidade de transformação, de acordo com uma forma de realização exemplar, será agora descrito com referência às figs. 21 a 31.
[000250] A Fig. 21 é um diagrama para explicar um conceito de unidades de codificação, de acordo com uma forma de realização exemplar.
[000251] Um tamanho de uma unidade de codificação pode ser expresso em largura x altura, e pode ser de 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 8 x 8, 8 x 4, 4 x 8 ou 4 x 4.
[000252] Nos dados de vídeo 310, uma resolução é 1920 x 1080, um tamanho máximo de uma unidade de codificação é 64, e uma profundidade máxima é de 2. Nos dados de vídeo 320, uma resolução é 1920 x 1080, um tamanho máximo de uma unidade de codificação é 64, e uma profundidade máxima é de 3. Nos dados de vídeo 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. 11, indica um número total de divisões de uma unidade de codificação máxima para uma unidade de codificação mínima.
[000253] 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 as características de uma imagem. Da mesma forma, o tamanho máximo da unidade de codificação dos dados de vídeo 310 e 320, tendo a maior resolução que os dados de vídeo 330, pode ser 64.
[000254] Visto 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, visto que profundidades são aumentadas em dois níveis por dupla divisão da unidade de codificação máxima. Entretanto, visto 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, visto que profundidades são aumentadas a uma nível, por uma divisão da unidade de codificação máxima.
[000255] Visto 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, visto que as profundidades são aumentadas em 3 níveis, por divisão tripla da unidade de codificação máxima. Quando uma profundidade aumenta, informações detalhadas podem ser precisamente expressas. A Fig. 22 é 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 exemplar.
[000256] O codificador de imagens 400 executa operações do determinador da unidade de codificação 120 do aparelho 100, para codificar dados de imagem. Em outras palavras, um preditor intra 410 executa predição intra em unidades de codificação em um modo intra dentre uma moldura atual 405, e um estimador de movimento 420 e um compensador de movimento 425 executa estimativa inter e compensação de movimento em 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.
[000257] Dados emitidos pelo preditor 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, por meio 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 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 de entropia 450.
[000258] A fim de que o codificador de imagens 400 seja aplicado no aparelho 100, todos os elementos do codificador de imagens 400, ou seja, o preditor intra 410, o estimador de movimento 420, o compensador de movimento 425, transformador 430, o quantizador 440, o codificador de 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, levando em conta a profundidade máxima de cada unidade de codificação máxima.
[000259] Especificamente, o preditor intra 410, o estimador de movimento 420, e o compensador de movimento 425 determinam partições e um modo de predição de cada unidade de codificação, dentre as unidades de codificação tendo uma estrutura em árvore, levando em conta o tamanho máximo e a profundidade máxima de uma unidade atual de codificação máxima, e o transformador 430 determina o tamanho da unidade de transformação em cada unidade de codificação entre as unidades de codificação tendo uma estrutura em árvore.
[000260] A Fig. 23 é 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 exemplar.
[000261] Um analisador 510 analisa dados codificados de imagem a serem decodificados e informações sobre codificação necessárias para decodificação de um fluxo de bits 505. Os dados codificados de imagem serão emitidos como dados quantizados inversos através de um decodificador de entropia 520 e um quantizador inverso 530, e os dados quantizados inversos são restaurados em dados de imagem, em um domínio espacial, através de um transformador inverso 540.
[000262] Um preditor intra 550 realiza predição intra nas unidades de codificação em um modo intra com 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.
[000263] Os dados de imagem no domínio espacial, que atravessaram o preditor intra 550 e o compensador de movimento 560, podem ser emitidos como uma moldura restaurada 595, após serem pós-processados através uma unidade de desbloqueio 570 e uma unidade de filtragem de circuito 580. Além disso, os dados de imagem, que são pós-processados através da unidade de desbloqueio 570 e da unidade de filtragem de circuito 580, podem ser emitidos como a moldura de referência 585.
[000264] Para decodificar os dados de imagem no decodificador de dados de imagem 230 do aparelho 200, o decodificador de imagens 500 pode realizar operações, que são executadas após o analisador 510.
[000265] A fim de que o decodificador de imagens 500 seja aplicado no aparelho 200, todos os elementos do decodificador de imagens 500, ou seja, o analisador 510, decodificador de entropia 520, quantizador inverso 530, transformador inverso 540, preditor de intra 550, compensador de movimento 560, unidade de desbloqueio 570, e a unidade de filtragem de circuito 580, executam operações com base nas unidades de codificação tendo uma estrutura em árvore para cada unidade de codificação máxima.
[000266] Especificamente, a predição intra 550 e o compensador de movimento 560 realizam operações com base em partições e um modo de predição para cada uma das unidades de codificação tendo uma estrutura em árvore, e o transformador inverso 540 executa operações com base em um tamanho de uma unidade de transformação para cada unidade de codificação.
[000267] A Fig. 24 é um diagrama ilustrando unidades de codificação mais profundas, de acordo com profundidades, e partições, de acordo com uma forma de realização exemplar.
[000268] O aparelho 100 e o aparelho 200 usam unidades de codificação hierárquicas, de modo a considerar características de uma imagem. Uma altura máxima, largura máxima, e profundidade máxima de unidades de codificação podem ser determinadas, de modo adaptável, 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.
[000269] Em uma estrutura hierárquica 600 de unidades de codificação, de acordo com uma forma de realização exemplar, a altura máxima e a largura máxima das unidades de codificação são, cada qual, 64, e a profundidade máxima é de 3. Neste caso, uma profundidade máxima denota um número total de divisões, a partir de uma unidade de codificação máxima em uma unidade de codificação mínima. Visto que uma profundidade aumenta ao longo de um eixo vertical da estrutura hierárquica 600, uma altura e largura da unidade de codificação mais profunda são, cada qual, divididas. Além disso, uma unidade de predição e partições, que são as bases para codificação de predição de cada unidade de codificação mais profunda, são mostradas ao longo de um eixo horizontal da estrutura hierárquica 600.
[000270] 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 por largura, é 64 x 64. A profundidade aumenta ao longo do eixo vertical, e 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, e uma unidade de codificação 640 tendo um tamanho de 8 x 8 e uma profundidade de 3, existem. A unidade de codificação 640 tendo o tamanho de 8 x 8 e a profundidade de 3 é uma unidade de codificação mínima.
[000271] A unidade de predição e as partições de uma unidade de codificação são organizadas ao longo do eixo horizontal, de acordo com profundidades. Em outras palavras, se a unidade de codificação 610 tendo o tamanho de 64 x 64 e a profundidade de 0 for uma unidade de predição, a unidade de predição pode ser dividida em partições incluídas na unidade a codificação 610, ou seja, uma partição 610 tendo um tamanho de 64 x 64, partições 612 tendo o tamanho de 64 x 32, partições 614 tendo o tamanho de 32 x 64, ou partições 616 tendo o tamanho de 32 x 32.
[000272] Da mesma forma, uma unidade de prediçã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 um 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 um tamanho de 16 x 16.
[000273] Da mesma forma, uma unidade de prediçã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ído 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.
[000274] Da mesma forma, uma unidade de prediçã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, e partições 646 tendo um tamanho de 4 x 4.
[000275] Para 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 100 executa a codificação para unidades de codificação correspondentes a cada profundidade incluída na unidade de codificação máxima 610.
[000276] Um número de unidades de codificação mais profundas, de acordo com profundidades incluindo dados na mesma faixa e de 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 abranger dados, que são incluídos em uma unidade de codificação correspondente a uma profundidade de 1. Nesse sentido, a fim de comparar resultados de codificação dos mesmos dados, de acordo com profundidades, a unidade de codificação correspondente à profundidade de 1 e quatro unidades de codificação correspondentes à profundidade de 2 são, cada qual, codificadas.
[000277] Para realizar codificação para uma profundidade atual dentre a profundidade, um menor erro de codificação pode ser escolhido para a profundidade atual, por meio de codificação para cada unidade de predição nas unidades de codificação correspondentes à profundidade atual, ao longo do eixo horizontal da estrutura hierárquica 600. Como alternativa, o erro mínimo de codificação pode ser procurado, comparando os menores erros de codificação, acordo com profundidades, através da realização de codificação para cada profundidade, conforme a profundidade aumenta ao longo do eixo vertical da estrutura hierárquica 600. Uma profundidade e uma partição com o erro mínimo de codificação na unidade de codificação 610 podem ser selecionadas como a profundidade codificada e um tipo de partição da unidade de codificação 610.
[000278] A Fig. 25 é um diagrama para explicar uma relação entre uma unidade de codificação 710 e unidades de transformação 720, de acordo com uma forma de realização exemplar.
[000279] O aparelho 100 ou 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 que a unidade de codificação correspondente.
[000280] Por exemplo, no aparelho 100 ou 200, se um tamanho da unidade de codificação 710 for 64 x 64, a transformação pode ser executada, usando as unidades de transformação 720 tendo um tamanho de 32 x 32.
[000281] 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 o tamanho de 32 x 32, 16 x 16, 8 x 8, e 4 x 4, que são menores do que 64 x 64 e, em seguida, uma unidade de transformação tendo o menor erro de codificação pode ser selecionada.
[000282] A Fig. 26 é um diagrama para explicar informações de codificação das unidades de codificação correspondentes a uma profundidade codificada, de acordo com uma forma de realização exemplar.
[000283] A unidade emissora 130 do aparelho 100 pode codificar e transmitir informações 800 sobre um tipo de partição, informações 810 sobre um modo de prediçã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.
[000284] As informações 800 indicam informações sobre um formato de uma partição obtida por divisão de uma unidade de predição de uma unidade de codificação atual, em que a partição é uma unidade de dados para codificação de predição da unidade de codificação atual de codificação. 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 Nx2Nm 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.
[000285] As informações 810 indicam um modo de predição de cada partição. Por exemplo, as informações 810 podem indicar um modo de codificação de predição realizado em uma partição indicada pelas informações 800, ou seja, um modo intra 812, um modo inter 814, ou um modo de ignorar 816.
[000286] As informações 820 indicam uma unidade de transformação para basear-se, quando a transformação é 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.
[000287] O extrator de informações sobre codificação e dados de imagem 220 do aparelho 200 pode extrair e utilizar as informações 800, 810 e 820 para decodificação.
[000288] Embora não mostrado na Fig. 26, informações sobre um modo de codificação podem incluir informações relacionadas à mesclagem, e as informações relacionadas à mesclagem podem ser definidas com base nas informações 810 sobre o modo de predição, como um modo inter, um modo intra, um modo de ignorar, ou um modo direto. Por exemplo, se as informações 810 sobre o modo de predição forem informações sobre um modo de ignorar, informações relacionadas à mesclagem podem ser seletivamente definidas. Somente quando as informações 810 sobre o modo de predição forem informações sobre um modo inter, e não um modo de ignorar e um modo direto, informações relacionadas à mesclagem podem ser definidas.
[000289] A Fig. 27 é um diagrama ilustrando unidades de codificação mais profundas, de acordo com profundidades, de acordo com uma forma de realização exemplar.
[000290] Informações sobre divisão podem ser usadas para indicar uma mudança de profundidade. As informações sobre divisão indicam se uma unidade de codificação de uma profundidade atual foi dividida em unidades de codificação de menor profundidade.
[000291] Uma unidade de predição 910 para codificação de predição de uma unidade de codificação 900 tendo uma profundidade 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 uma 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 ilustra apenas os tipos de partição 912 a 918 obtidos por divisão simétrica da unidade de predição 910, mas um tipo de partição não é por este aspecto limitado, e as partições da unidade de predição 910 podem incluir partições assimétricas, partições tendo um formato predeterminado, e partições tendo um formato geométrico.
[000292] Codificação de prediçã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 os tipos de partição. A codificação de predição em um modo intra e um modo inter pode ser efetuada nas partições com os tamanhos de 2N_0x2N_0, N_0x2N_0, 2N_0xN_0 e N_0xN_0. A codificação de predição em um modo de ignorar é realizada somente na partição com o tamanho de 2N_0x2N_0.
[000293] Erros de codificação, incluindo a codificação de predição nos tipos de partição 912 a 918, são comparados, e o menor erro de codificação é determinado entre 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 predição 910 não pode ser dividida em uma menor profundidade.
[000294] 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 1 e um tamanho de N_0xN_0, para procurar um erro mínimo de codificação.
[000295] Uma unidade de predição 940 para codificação de predição da unidade de codificação 930, tendo uma profundidade de 1 e um tamanho de 2N_1x2N_1 (= N_0xN_0) , pode incluir partições de um tipo de partição 942 tendo um tamanho de 2N_1x2N_1, um tipo de partição 944 tendo um tamanho de 2N_1xN_1, um tipo de partição 946 tendo um tamanho de N_1x2N_1, e um tipo de partição 948 tendo um tamanho de N_1xN_1.
[000296] 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, que têm uma profundidade de 2 e um tamanho de N_2xN_2, para procurar um erro mínimo de codificação.
[000297] Quando uma profundidade máxima for d-1, a operação de divisão, de acordo com profundidades, pode ser realizada até quando uma profundidade se tornar d-1, e informações de divisão podem ser codificadas até quando uma profundidade for de 0 a d-2. Em outras palavras, quando a codificação for realizada até quando a profundidade for de d-1, após uma unidade de codificação correspondente a uma profundidade de d-2 ser dividida na operação 970, uma unidade de predição 990 para codificação de predição de uma unidade de codificaçã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-1)x2N_(d-1), um tipo de partição 994 tendo um tamanho de 2N_(d-1)xN_(d-1), um tipo de partição 996 tendo um tamanho de N_(d-1)x2N_(d-1), e um tipo de partição 998 tendo um tamanho de N_(d-1)xN_(d-1).
[000298] Codificação de predição pode ser realizada repetidamente em uma partição tendo um tamanho de 2N_(d-1)x2N_(d-1), duas partições tendo um tamanho de 2N_(d-1)xN_(d-1), 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 erro mínimo de codificação.
[000299] Mesmo quando o tipo de partição 998 tiver o erro mínimo de codificação, visto que uma profundidade máxima é d-1, uma unidade de codificação CU_(d-1) tendo uma profundidade de d-1 não é mais dividida em uma menor profundidade, e uma profundidade codificada para as unidades de codificação, constituindo uma unidade atual de codificação máxima 900, é determinada como d-1, e um tipo de partição da unidade de codificação 900 pode ser determinado como N_(d-1)xN_(d-1). Além disso, visto que a profundidade máxima é de d-1 e uma unidade de codificação mínima 980 tendo uma profundidade inferior limite de d-1 não é mais dividida em uma menor profundidade, informações de divisão para uma unidade de codificação 980 não são definidas.
[000300] Uma unidade de dados 999 pode ser uma ’unidade mínima’ para a unidade de codificação máxima atual. Uma unidade mínima pode ser uma unidade retangular de dados, obtida por divisão de uma unidade de codificação mínima 980 por 4. Ao realizar a codificação repetidamente, o aparelho 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 predição correspondente, como um modo de codificação da profundidade codificada.
[000301] Assim, os erros mínimos 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 predição, e o modo de predição podem ser codificados e transmitidos como informações sobre um modo de codificação. Além disso, uma vez que uma unidade de codificação foi dividida de uma profundidade de 0 a uma profundidade codificada, somente informações de divisão da profundidade codificada são definidas como 0, e informações de divisão de profundidades excluindo a profundidade codificada são definidas como 1.
[000302] O extrator de informações sobre codificação e dados de imagem 220 do aparelho 200 pode extrair e usar as informações sobre a profundidade codificada e a unidade de predição da unidade de codificação 900, para decodificar a partição 912. O aparelho 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.
[000303] As Figs. 28 a 30 são diagramas para explicar uma relação entre unidades de codificação 1010, unidades de predição 1060, e unidades de transformação 1070, de acordo com uma forma de realização exemplar.
[000304] As unidades de codificação 1010 são unidades de codificação tendo uma estrutura em árvore, correspondentes às profundidades codificadas determinadas pelo aparelho 100, em uma unidade de codificação máxima. As unidades de predição 1060 são partições de unidades de prediçã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.
[000305] Quando uma profundidade de uma unidade de codificação máxima for 0 nas unidades de codificação 1010, profundidades de unidades de codificação 1012 e 1054 são 1, profundidades de unidades de codificação 1014, 1016 1018, 1028, 1050 e 1052 são 2, profundidades de unidades de codificação 1020, 1022, 1024, 1026, 1030, 1032 e 1048 são 3, e profundidades de unidades de codificação 1040, 1042, 1044 e 1046 são 4.
[000306] Nas unidades de predição 1060, algumas unidades de codificação 1014, 1016, 1022, 1032, 1048, 1050, 1052 e 1054 são divididas em partições para codificação de predição. Em outras palavras, 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 predição e partições das unidades de codificação 1010 são menores ou iguais a cada unidade de codificação.
[000307] 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 a predição 1060, em termos de tamanhos e formatos. Em outras palavras, os aparelhos 100 e 200 podem efetuar predição intra, estimativa de movimento, compensação de movimento, transformação, e transformação inversa, individualmente em uma unidade de dados na mesma unidade de codificação.
[000308] Nesse sentido, a 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 ideal de codificação e, assim, unidades de codificação tendo uma estrutura em árvore recursiva podem ser obtidas. Informações sobre 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 predição, e informações sobre um tamanho de uma unidade de transformação. A Tabela 2 mostra as informações sobre codificação, que podem ser definidas pelos aparelhos 100 e 200.
Tabela 2
Figure img0002
[000309] A unidade emissora 130 do aparelho 100 pode emitir as informações sobre codificação das unidades de codificação tendo uma estrutura em árvore, e o extrator de informações sobre codificação e dados de imagem 220 do aparelho 200 pode extrair as informações sobre codificação sobre as unidades de codificação tendo uma estrutura em árvore de um fluxo de bits recebido.
[000310] Informações de divisão indicam se uma unidade atual de codificação 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 atual de codificação não é mais dividida em uma menor profundidade, é uma profundidade codificada e, assim, informações sobre um tipo de partição, modo de prediçã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 de divisão de uma menor profundidade.
[000311] Um modo de predição pode ser de um modo intra, um modo inter, e um modo de ignorar. O modo intra e o modo inter podem ser definidos em todos os tipos de partição, e o modo de ignorar é definido apenas em um tipo de partição tendo um tamanho de 2Nx2N.
[000312] As informações sobre o tipo de partição podem indicar tipos de partição simétricos tendo tamanhos de 2Nx2N, 2NxN, Nx2N e NxN, que são obtidos por divisão simétrica de uma altura ou largura de uma unidade de predição, e tipos de partição assimétricos tendo tamanhos de 2NxnU, 2NxnD, nLx2N e nRx2N, que são obtidos por divisão assimétrica da altura ou largura da unidade de predição. Os tipos de partição assimétricos tendo os tamanhos de 2NxnU e 2NxnD podem ser obtidos respectivamente por divisão da altura da unidade de prediçã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 por divisão da largura da unidade de predição em 1:3 e 3:1
[000313] O tamanho da unidade de transformação pode ser definido, como sendo 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 por divisão da 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.
[000314] As informações sobre codificação sobre unidades de codificação tendo uma estrutura em árvore incluem pelo menos uma dentre a unidade de codificação correspondente a uma profundidade codificada, uma unidade de predição, e uma unidade mínima. A unidade de codificação correspondente à profundidade codificada pode incluir pelo menos uma dentre a unidade de predição e uma unidade mínima, que contém as mesmas informações sobre codificação.
[000315] Nesse sentido, é determinado se unidades de dados adjacentes são incluídas na mesma unidade de codificação correspondente à profundidade codificada, comparando as informações sobre codificação das unidades de dados adjacentes. Além disso, uma unidade de codificação correspondente, correspondendo a uma profundidade codificada, é determinada usando informações sobre codificação de uma unidade de dados e, assim, uma distribuição de profundidades codificadas em uma unidade de codificação máxima pode ser determinada.
[000316] Assim, se uma unidade de codificação atual for predita com base em informações sobre codificação das unidades de dados adjacentes, informações sobre 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.
[000317] Como alternativa, se uma unidade de codificação atual for predita com base em informações sobre codificação das 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 predizer a unidade de codificação atual.
[000318] A Fig. 31 é um diagrama para explicar uma relação entre uma unidade de codificação, uma unidade de predição ou uma partição, e uma unidade de transformação, de acordo com as informações sobre modo de codificação da Tabela 2.
[000319] 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, visto que a unidade de codificação 1318 é uma unidade de codificação de uma profundidade codificada, informações sobre 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 configuradas para serem uma dentre o 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 132 6 tendo um tamanho de Nx2N, um tipo de partição 1328 tendo um tamanho de NxN, um tipo de 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.
[000320] Informações sobre divisão (sinalizador de tamanho TU) de uma unidade de transformação são um índice de transformação e, assim, um tamanho da unidade de transformação correspondente ao índice de transformação pode variar, de acordo com um tipo de unidade de predição, ou um tipo de partição de uma unidade de codificação.
[000321] Por exemplo, quando o tipo de 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 é definido, se um sinalizador de tamanho TU for 0, e uma unidade de transformação 1344 tendo um tamanho de NxN é definida, se um sinalizador de tamanho TU for 1.
[000322] Por outro lado, quando o tipo de partição for definido como 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 TU for 0, e uma unidade de transformação 1354 tendo um tamanho de N/2xN/2 é definida, se um sinalizador de tamanho TU for 1.
[000323] Referindo-se à Fig. 18, o sinalizador de tamanho TU é um sinalizador tendo um valor 0 ou 1, mas o sinalizador de tamanho TU não é limitado a 1 bit, e uma unidade de transformação pode ser dividida hierarquicamente tendo uma estrutura em árvore, enquanto o sinalizador de tamanho TU aumenta a partir de 0. O sinalizador de tamanho TU pode ser usado como um exemplo de um índice de transformação.
[000324] Neste caso, um tamanho de uma unidade de transformação, que foi realmente usado, pode ser expresso por meio de um sinalizador de tamanho TU de uma unidade de transformação junto com um tamanho máximo e um tamanho mínimo da unidade de transformação. O aparelho 100 pode codificar informações sobre tamanho da unidade de transformação máxima, informações sobre tamanho da unidade de transformação mínima, e um sinalizador de tamanho máximo do TU. O resultado de codificação das informações sobre tamanho da unidade de transformação máxima, das informações sobre tamanho da unidade de transformação mínima, e do sinalizador de tamanho máximo TU pode ser inserido numa SPS. O aparelho 200 pode decodificar um vídeo, usando as informações sobre tamanho da unidade de transformação, as informações sobre tamanho da unidade de transformação mínima, e o sinalizador de tamanho máximo do TU.
[000325] Por exemplo, se um tamanho de uma unidade de codificação atual for de 64 x 64 e um tamanho da unidade de transformação máxima for de 32 x 32, então um tamanho de uma unidade de transformação pode ser 32 x 32, quando um sinalizador de tamanho TU for 0, pode ser 16 x 16, quando o sinalizador de tamanho TU for 1, e pode ser 8 x 8, quando o sinalizador de tamanho TU for 2.
[000326] Como outro exemplo, se um tamanho de uma unidade de codificação atual for de 32 x 32 e um tamanho de unidade de transformação mínima for de 32 x 32, então um tamanho de uma unidade de transformação pode ser 32 x 32, quando o sinalizador de tamanho TU for 0. Aqui, o sinalizador de tamanho TU não pode ser definido como um valor diferente de 0, visto que o tamanho da unidade de transformação não pode ser menor que 32 x 32.
[000327] Como outro exemplo, se um tamanho de uma unidade de codificação atual for de 64 x 64 e um sinalizador de tamanho máximo TU for 1, então o sinalizador de tamanho TU pode ser 0 ou 1. Aqui, o sinalizador de tamanho TU não pode ser definido como um valor diferente de 0 ou 1.
[000328] Assim, se for definido que o sinalizador de tamanho máximo TU é 'MaxTransformSizeIndex', um tamanho de unidade de transformação mínima é 'MinTransformSize', e um tamanho de unidade de transformação é 'RootTuSize', quando o sinalizador de tamanho TU for 0, então, um tamanho da unidade de transformação mínima atual 'CurrMinTuSize', que pode ser determinado em uma unidade de codificação atual, pode ser definido pela Equação (1): CurrMinTuSize = max (MinTransformSize, RootTuSize/ (2AMaxTransformSizeIndex))... (1)
[000329] Em comparação com o tamanho da unidade de transformação mínima atual 'CurrMinTuSize', que pode ser determinado na unidade atual de codificação, um tamanho da unidade de transformação 'RootTuSize', quando o sinalizador de tamanho TU for 0, pode denotar um tamanho da unidade de transformação máxima, que pode ser selecionado no sistema. Na Equação (1), 'RootTuSize/(2AMaxTransformSizeIndex)' denota um tamanho da unidade de transformação, quando o tamanho da unidade de transformação 'RootTuSize', quando o sinalizador de tamanho TU for 0, é dividido por um número de vezes correspondente ao sinalizador de tamanho máximo TU, e 'MinTransformSize' denota um tamanho de transformação mínima. Assim, um menor valor entre 'RootTuSize/ (2AMaxTransformSizeIndex)' e 'MinTransformSize' pode ser o tamanho da unidade de transformação mínima atual 'CurrMinTuSize', que pode ser determinado na unidade de codificação atual.
[000330] O tamanho da unidade de transformação máxima RootTuSize pode variar, de acordo com o tipo de um modo de predição.
[000331] Por exemplo, se um modo de predição atual for um modo inter, então 'RootTuSize' pode ser determinado, usando a Equação (2) abaixo. Na Equação (2), 'MaxTransformSize' denota um tamanho da unidade de transformação máxima, e 'PUSize' denota um tamanho da unidade de predição atual.
RootTuSize = min(MaxTransformSize, PUSize)... (2)
[000332] Ou seja, se o modo de predição atual for o modo inter, o tamanho da unidade de transformação 'RootTuSize', quando o sinalizador de tamanho TU for 0, pode ser um menor valor entre o tamanho da unidade de transformação máxima e o tamanho da unidade de predição atual.
[000333] Se um modo de predição de uma unidade de partição atual for um modo intra, 'RootTuSize' pode ser determinado, usando a Equação (3) abaixo. Na Equação (3), 'PartitionSize' denota o tamanho da unidade de partição atual.
RootTuSize = min (MaxTransformSize, PartitionSize)...(3)
[000334] Ou seja, se o modo de predição atual for o modo intra, o tamanho da unidade de transformação 'RootTuSize', quando o sinalizador de tamanho TU for 0, pode ser um menor valor entre o tamanho da unidade de transformação máxima e o tamanho da unidade de partição atual.
[000335] No entanto, o tamanho da unidade máxima de transformação atual 'RootTuSize', que varia de acordo com o tipo de um modo de predição em uma unidade de partição, é apenas um exemplo, não sendo por ele limitado.
[000336] A Fig. 32 é um fluxograma, que ilustra um método para codificar um vídeo usando mesclagem da unidade de dados com base nas unidades de codificação com uma estrutura em árvore, de acordo com uma forma de realização exemplar.
[000337] Na operação 1210, um quadro atual de um vídeo é dividido em unidades de codificação máxima. Na operação 1220, dados de imagem podem ser codificados como unidades de codificação, de acordo com profundidades para cada unidade de codificação máxima do quadro atual, uma profundidade gerando o menor erro de codificação pode ser selecionada e determinada, de acordo com uma profundidade codificada, e unidades de codificação, tendo uma estrutura em árvore composta por unidades de codificação da profundidade, determinada como sendo a profundidade codificada, podem ser determinadas. Dados de imagem, de acordo com unidades de codificação máxima, codificadas de acordo com a unidade de codificação determinada, podem ser emitidos.
[000338] Na operação 1230, pode ser determinado, se mesclagem da unidade de dados entre unidades vizinhas de dados foi executada em unidades de predição, ou partições de unidades de codificação com uma estrutura em árvore. Informações relacionadas à predição podem ser compartilhadas entre as unidades de dados mescladas. A necessidade de mesclagem da unidade de dados para compartilhar informações relacionadas à predição com uma unidade vizinha de dados pode ser analisada, embora um modo de predição de uma unidade de predição atual ou uma partição atual de unidades de codificação com uma estrutura em árvore seja um modo de ignorar ou um modo direto.
[000339] Na operação 1230, informações sobre um modo de codificação das unidades de codificação tendo a estrutura em árvore podem ser codificadas para incluir informações relacionadas à mesclagem, incluindo informações sobre mesclagem e informações sobre índice de mesclagem. Informações sobre o modo de codificação e os dados de imagem da unidade de codificação máxima codificada com base nas unidades de codificação tendo a estrutura em árvore, podem ser emitidas em fluxos de bits.
[000340] A Fig. 33 é um fluxograma, que ilustra um método para decodificar um vídeo usando mesclagem da unidade de dados com base nas unidades de codificação com uma estrutura em árvore, de acordo com uma forma de realização exemplar.
[000341] Na operação 1310, um fluxo de bits de um vídeo codificado é recebido e analisado. Na operação 1320, dados de imagem codificados de dados de imagem de quadro atual codificados para cada unidade de codificação, de acordo com unidades de codificação com uma estrutura em árvore, são extraídos do fluxo de bits analisado, de acordo com unidades de codificação máxima, e informações sobre uma profundidade codificada e um modo de codificação são extraídas. A partir das informações sobre a profundidade codificada e o modo de codificação, informações relacionadas à mesclagem podem ser extraídas. A possibilidade de extrair e ler as informações relacionadas à mesclagem pode ser determinada com base em informações sobre modo de predição. Por exemplo, as informações relacionadas à mesclagem podem ser extraídas com base nas informações sobre modo de ignorar ou informações diretas para uma unidade atual de predição ou uma partição atual das unidades de codificação tendo a estrutura em árvore. Além disso, informações sobre mesclagem e informações sobre índice de mesclagem podem ser extraídas como as informações relacionadas à mesclagem.
[000342] Na operação 1330, informações sobre um tipo de partição, um modo de predição, e uma unidade de transformação de uma unidade de predição das unidades de codificação tendo a estrutura em árvore, podem ser lidas com base nas informações sobre o modo de codificação e a profundidade codificada da unidade de codificação máxima, em podem ser usadas para decodificar dados de imagem da unidade de codificação máxima.
[000343] Além disso, um objeto a ser mesclado pode ser procurado dentre uma pluralidade de unidades vizinhas de dados, vizinhas de uma unidade atual de dados, e mesclagem da unidade de dados pode ser determinada com base nas informações relacionadas à mesclagem. Estimativa de movimento e compensação da unidade atual de predição ou uma partição atual podem ser realizadas, por inferir a informações relacionadas à predição da unidade atual de predição ou a partição atual por compartilhamento ou referindo-se às informações relacionadas à predição de uma partição ou unidade vizinha de predição mesclada. Dados de imagem da unidade de codificação máxima podem ser restaurados e um quadro atual pode ser restaurado por meio de decodificação incluindo estimativa de movimento e compensação, de acordo com as unidades de codificação tendo a estrutura em árvore.
[000344] No aparelho 100 e no aparelho 200, visto que a possibilidade da mesclagem da unidade de dados para partilha mútua das informações relacionadas à predição pode ser efetuada em modos de predição, e partições tendo vários modos de predição, vários tamanhos e formatos, de acordo com uma estrutura em árvore, serem examinadas, mesclagem é realizada entre unidades vizinhas de dados tendo várias posições, tornando possível compartilhar informações relacionadas à predição. Nesse sentido, uma vez que dados redundantes podem ser removidos usando informações periféricas em uma escala mais larga, a eficiência de codificação dos dados de imagem pode ser melhorada.
[000345] Além disso, visto que informações sobre modo de predição e informações relacionadas à mesclagem são codificadas e decodificadas hierarquicamente e continuamente, levando em conta uma estreita relação entre a possibilidade de mesclagem e vários modos de predição, a eficiência das informações sobre codificação pode ser melhorada.
[000346] Uma ou mais formas de realização exemplares podem ser gravadas como programas de computador, e podem ser implementadas em computadores digitais de uso geral, que executam os programas usando uma mídia de gravação legível por computador. Suportes magnéticos (p. ex., ROM, disquetes, discos rígidos etc.) e mídia de gravação ótica (por exemplo, CD-ROMs ou DVDs) são exemplos de mídias de gravação legíveis por computador.
[000347] Embora formas de realização exemplares tenham sido acima particularmente mostradas e descritas, deverá ser compreendido por aqueles de habilidade comum na arte, que várias alterações na forma e detalhes podem ser feitas, sem abandonar o espírito e o escopo do conceito inventivo, como definido pelas reivindicações acrescentadas. As formas de realização exemplares devem ser consideradas somente em um sentido descritivo, e não para fins de limitação. Portanto, o escopo do conceito inventivo é definido, não pela descrição detalhada de formas de realização exemplares, mas pelas reivindicações acrescentadas, e todas as diferenças dentro do escopo deverão ser interpretadas, como sendo incluídas na presente invenção.

Claims (12)

  1. APARELHO PARA DECODIFICAR UM VÍDEO, o aparelho caracterizado por compreender:
    um obtentor configurado para obter, a partir de um fluxo de bits, informações de divisão para uma unidade de codificação, e
    um decodificador configurado para determinar uma ou mais partições da unidade de codificação,
    em que:
    quando as informações de divisão indicam uma não divisão para a unidade de codificação, o obtentor obtém, do fluxo de bits, um sinalizador de salto para a unidade de codificação que indica se um modo de predição para a unidade de codificação é um modo de salto,
    quando o sinalizador de salto indica o modo de salto, o obtentor obtém do fluxo de bits um índice de mesclagem da unidade de codificação, o índice de mesclagem da unidade de codificação indicando um bloco entre um grupo de blocos candidatos da unidade de codificação, o grupo de blocos candidatos da unidade de codificação, incluindo um ou mais blocos entre três ou mais blocos vizinhos da unidade de codificação,
    quando o sinalizador de salto indica um modo de sem salto, o obtentor obtém, do fluxo de bits, um tipo de partição e informações de mesclagem de uma partição,
    quando o tipo de partição é obtido a partir do fluxo de bits, o decodificador determina uma ou mais partições, incluindo a partição, da unidade de codificação com base no tipo de partição,
    quando as informações de mesclagem para a partição indicam um modo de mesclagem, o obtentor obtém um índice de mesclagem para a partição, o índice de mesclagem para a partição indicando um bloco entre um grupo de blocos candidatos da partição do fluxo de bits, as informações de mesclagem da partição indicando se a partição entre uma ou mais partições está decodificada no modo de mesclagem e executa compensação de movimento na partição usando informações de movimento com base no índice de mesclagem obtido,
    quando as informações de divisão indicam uma divisão para uma profundidade atual, a unidade de codificação da profundidade atual é dividida em quatro unidades de codificação retangulares de profundidade inferior, independentemente das unidades de codificação vizinhas, e
    quando as informações de divisão indicam uma não divisão da profundidade atual, a uma ou mais partições são obtidas da unidade de codificação da profundidade atual e a uma ou mais unidades de transformação são obtidas a partir da unidade de codificação da profundidade atual, e
    quando uma partição esquerda e uma partição direita são determinadas como as partições da unidade de codificação e a partição é a partição direita, o grupo de blocos candidatos da partição não inclui a partição esquerda.
  2. Aparelho, de acordo com a reivindicação 1, caracterizado por o grupo de blocos candidatos compreender unidades de dados que são candidatos a mesclagem com uma unidade de dados atual em regiões vizinhas da unidade de dados atual com base na informação do índice de mesclagem, e
    uma unidade de dados ser mesclada com a unidade de dados atual dentre as unidades de dados no determinado grupo de blocos candidatos.
  3. MÉTODO PARA CODIFICAR UM VÍDEO, o método caracterizado por compreender:
    gerar uma informação de divisão quanto a uma unidade de codificação para indicar se a unidade de codificação de uma profundidade atual está dividida em unidades de codificação de uma profundidade inferior;
    quando a unidade de codificação da profundidade atual não está dividida nas unidades de codificação de uma profundidade inferior, gerar um sinalizador de salto para a unidade de codificação de uma profundidade atual para indicar se um modo de predição para a unidade de codificação da profundidade atual é um modo de salto;
    quando o modo de predição para a unidade de codificação da profundidade atual é o modo de salto, gerar um índice de mesclagem indicando um bloco entre um grupo de blocos candidatos e informações diferenciais do vetor de movimento, em que a informação diferencial do vetor de movimento indica a diferença entre um vetor de movimento da unidade de codificação da profundidade atual e um vetor de movimento do um bloco indicado pelo índice de mesclagem; e
    quando o modo de predição para a unidade de codificação da profundidade atual é um modo de não salto, gerar um tipo de partição e informação de mesclagem de uma partição,
    em que:
    o grupo de blocos candidatos inclui três ou mais blocos entre os blocos vizinhos da unidade de codificação da profundidade atual, os blocos vizinhos compreendendo:
    um bloco inferior esquerdo localizado no lado esquerdo de um bloco mais à esquerda entre os blocos inferiores diretamente abaixo da borda inferior de uma unidade de predição na unidade de codificação, o bloco inferior esquerdo sendo localizado abaixo de um bloco mais baixo entre os blocos esquerdos adjacentes a uma borda esquerda da unidade de predição,
    um bloco superior esquerdo localizado no lado esquerdo de um bloco mais à esquerda entre os blocos superiores diretamente acima de uma borda superior da unidade de predição, o bloco superior esquerdo sendo localizado acima de um bloco superior entre os blocos esquerdos adjacentes à borda esquerda da unidade de predição, e
    um bloco superior direito localizado no lado direito de um bloco mais à direita entre os blocos superiores diretamente acima da borda superior da unidade de predição,
    quando o tipo de partição indica particionamento da unidade de codificação da profundidade atual numa ou mais partições, incluindo a partição, as informações de mesclagem da partição, entre uma ou mais partições, indicam se a predição é executada na partição no modo de mesclagem mediante uso da partição,
    quando a unidade de codificação da profundidade atual está dividida em quatro unidades de codificação retangulares da profundidade inferior, independentemente das unidades de codificação vizinhas, e
    quando a unidade de codificação da profundidade atual não está dividida em quatro unidades de codificação retangulares da profundidade inferior:
    a uma ou mais partições são obtidas a partir da unidade de codificação da profundidade atual para executar a predição na unidade de codificação da profundidade atual quando o modo de predição para a unidade de codificação da profundidade atual é um modo de não salto, e
    uma ou mais unidades de transformação são obtidas a partir da unidade de codificação da profundidade atual para realizar a transformação na unidade de codificação da profundidade atual.
  4. APARELHO PARA CODIFICAR UM VÍDEO, implementado por pelo menos um processador, o aparelho caracterizado por compreender:
    um divisor da unidade de codificação configurado para gerar uma informação de divisão quanto a uma unidade de codificação para indicar se a unidade de codificação de uma profundidade atual está dividida em unidades de codificação de uma profundidade inferior; e
    um preditor configurado para:
    quando a unidade de codificação da profundidade atual não está dividida nas unidades de codificação de uma profundidade inferior, gerar um sinalizador de salto para a unidade de codificação de uma profundidade atual para indicar se um modo de predição para a unidade de codificação da profundidade atual é um modo de salto,
    quando o modo de predição para a unidade de codificação da profundidade atual é o modo de salto, gerar um índice de mesclagem indicando um bloco entre um grupo de blocos candidatos e informações diferenciais do vetor de movimento, em que a informação diferencial do vetor de movimento indica a diferença entre um vetor de movimento da unidade de codificação da profundidade atual e um vetor de movimento do um bloco indicado pelo índice de mesclagem, e
    quando o modo de predição para a unidade de codificação da profundidade atual é um modo de não salto, gerar um tipo de partição e informações de mesclagem de uma partição,
    em que:
    o grupo de blocos candidatos inclui três ou mais blocos entre os blocos vizinhos da unidade de codificação, os blocos vizinhos compreendendo:
    um bloco inferior esquerdo localizado no lado esquerdo de um bloco mais à esquerda entre os blocos inferiores diretamente abaixo da borda inferior de uma unidade de predição na unidade de codificação, o bloco inferior esquerdo sendo localizado abaixo de um bloco mais baixo entre os blocos esquerdos adjacentes a uma borda esquerda da unidade de predição,
    um bloco superior esquerdo localizado no lado esquerdo de um bloco mais à esquerda entre os blocos superiores diretamente acima de uma borda superior da unidade de predição, o bloco superior esquerdo sendo localizado acima de um bloco superior entre os blocos esquerdos adjacentes à borda esquerda da unidade de predição, e
    um bloco superior direito localizado no lado direito de um bloco mais à direita entre os blocos superiores diretamente acima da borda superior da unidade de predição;
    quando o tipo de partição indica o particionamento da unidade de codificação da profundidade atual em uma ou mais partições, incluindo a partição,
    as informações de mesclagem da partição, entre a uma ou mais partições, indicam se a predição é executada na partição no modo de mesclagem usando a partição,
    quando a unidade de codificação da profundidade atual está dividida em quatro unidades de codificação retangulares da profundidade inferior, independentemente das unidades de codificação vizinhas, e
    quando a unidade de codificação da profundidade atual não está dividida em quatro unidades de codificação retangulares da profundidade inferior:
    a uma ou mais partições são obtidas a partir da unidade de codificação da profundidade atual para executar a predição na unidade de codificação da profundidade atual quando o modo de predição para a unidade de codificação da profundidade atual é um modo de não salto, e
    uma ou mais unidades de transformação são obtidas a partir da unidade de codificação da profundidade atual para realizar a transformação na unidade de codificação da profundidade atual.
  5. MÉTODO PARA CODIFICAR UM VÍDEO, o método caracterizado por compreender:
    gerar uma informação de divisão quanto a uma unidade de codificação para indicar se a unidade de codificação de uma profundidade atual está dividida em unidades de codificação de uma profundidade inferior;
    quando a unidade de codificação da profundidade atual não está dividida nas unidades de codificação de uma profundidade inferior, gerar um sinalizador de salto para a unidade de codificação de uma profundidade atual para indicar se um modo de predição para a unidade de codificação da profundidade atual é um modo de salto;
    quando o modo de predição para a unidade de codificação da profundidade atual é o modo de salto, gerar um índice de mesclagem indicando um bloco entre um grupo de blocos candidatos e informações diferenciais do vetor de movimento, em que a informação diferencial do vetor de movimento indica a diferença entre um vetor de movimento da unidade de codificação da profundidade atual e um vetor de movimento do um bloco indicado pelo índice de mesclagem; e
    quando o modo de predição para a unidade de codificação da profundidade atual é um modo de não salto, gerar um tipo de partição e informação de mesclagem de uma partição, as informações de mesclagem da partição indicando se a predição para a partição é realizada num modo de mesclagem, em que:
    quando o tipo de partição indica particionamento da unidade de codificação da profundidade atual numa ou mais partições, incluindo a partição, as informações de mesclagem da partição, entre uma ou mais partições, indicam se a predição é executada na partição no modo de mesclagem mediante uso da partição,
    quando a predição é executada no modo de mesclagem usando a partição, um índice de mesclagem é gerado para indicar um bloco entre um grupo de blocos candidatos da partição e o grupo de blocos candidatos da partição, incluindo um ou mais blocos entre três ou mais blocos vizinhos da partição,
    quando a unidade de codificação da profundidade atual está dividida em quatro unidades de codificação retangulares da profundidade inferior, independentemente das unidades de codificação vizinhas, e
    quando a unidade de codificação da profundidade atual não está dividida em quatro unidades de codificação retangulares da profundidade inferior:
    a uma ou mais partições são obtidas a partir da unidade de codificação da profundidade atual para executar a predição na unidade de codificação da profundidade atual quando o modo de predição para a unidade de codificação da profundidade atual é um modo de não salto, e
    a uma ou mais unidades de transformação são obtidas a partir da unidade de codificação da profundidade atual para realizar a transformação na unidade de codificação da profundidade atual, e
    quando a uma ou mais partições da unidade de codificação incluem uma partição esquerda e uma partição direita e a partição é a partição direita, o grupo de blocos candidatos da partição não inclui a partição esquerda.
  6. APARELHO PARA CODIFICAÇÃO DE UM VÍDEO, implementado por pelo menos um processador, o aparelho caracterizado por compreender:
    um divisor da unidade de codificação configurado para:
    gerar uma informação de divisão quanto a uma unidade de codificação para indicar se a unidade de codificação de uma profundidade atual está dividida em unidades de codificação de uma profundidade inferior;
    quando a unidade de codificação da profundidade atual não está dividida nas unidades de codificação de uma profundidade inferior, gerar um sinalizador de salto para a unidade de codificação de uma profundidade atual para indicar se um modo de predição para a unidade de codificação da profundidade atual é um modo de salto,
    quando o modo de predição para a unidade de codificação da profundidade atual é o modo de salto, gerar um índice de mesclagem indicando um bloco entre um grupo de blocos candidatos e informações diferenciais do vetor de movimento, em que a informação diferencial do vetor de movimento indica a diferença entre um vetor de movimento da unidade de codificação da profundidade atual e um vetor de movimento do um bloco indicado pelo índice de mesclagem, e
    quando o modo de predição para a unidade de codificação da profundidade atual é um modo de não salto, gerar um tipo de partição e informações de mesclagem de uma partição, as informações de mesclagem da partição indicando se a predição para a partição é realizada num modo de mesclagem,
    em que:
    o tipo de partição indica particionamento da unidade de codificação da profundidade atual numa ou mais partições, incluindo a partição, as informações de mesclagem da partição, entre uma ou mais partições, indicam se a predição é executada na partição no modo de mesclagem mediante uso da partição,
    quando a predição é executada no modo de mesclagem usando a partição, um índice de mesclagem é gerado para indicar um bloco entre um grupo de blocos candidatos da partição e o grupo de blocos candidatos da partição, incluindo um ou mais blocos entre três ou mais blocos vizinhos da partição,
    quando a unidade de codificação da profundidade atual está dividida em quatro unidades de codificação retangulares da profundidade inferior, independentemente das unidades de codificação vizinhas, e
    quando a unidade de codificação da profundidade atual não está dividida em quatro unidades de codificação retangulares da profundidade inferior:
    a uma ou mais partições são obtidas a partir da unidade de codificação da profundidade atual para executar a predição na unidade de codificação da profundidade atual quando o modo de predição para a unidade de codificação da profundidade atual é um modo de não salto, e
    a uma ou mais unidades de transformação são obtidas a partir da unidade de codificação da profundidade atual para realizar a transformação na unidade de codificação da profundidade atual, e
    quando a uma ou mais partições da unidade de codificação incluem uma partição esquerda e uma partição direita e a partição é a partição direita, o grupo de blocos candidatos da partição não inclui a partição esquerda.
  7. MÉTODO PARA CODIFICAR UM VÍDEO, o método caracterizado por compreender:
    gerar uma informação de divisão quanto a uma unidade de codificação para indicar se a unidade de codificação de uma profundidade atual está dividida em unidades de codificação de uma profundidade inferior;
    quando a unidade de codificação da profundidade atual não está dividida nas unidades de codificação de uma profundidade inferior, gerar um sinalizador de salto para a unidade de codificação de uma profundidade atual para indicar se um modo de predição para a unidade de codificação da profundidade atual é um modo de salto;
    quando o modo de predição para a unidade de codificação da profundidade atual é o modo de salto, gerar um índice de mesclagem indicando um bloco entre um grupo de blocos candidatos e informações diferenciais do vetor de movimento, em que a informação diferencial do vetor de movimento indica a diferença entre um vetor de movimento da unidade de codificação da profundidade atual e um vetor de movimento do um bloco indicado pelo índice de mesclagem; e
    quando o modo de predição para a unidade de
    codificação da profundidade atual é um modo de não salto, gerar um tipo de partição e informação de mesclagem de uma partição,
    em que:
    o grupo de blocos candidatos inclui três ou mais blocos entre os blocos vizinhos da unidade de codificação da profundidade atual, os blocos vizinhos compreendendo:
    um bloco inferior esquerdo localizado no lado esquerdo de um bloco mais à esquerda entre os blocos inferiores diretamente abaixo da borda inferior de uma unidade de predição na unidade de codificação, o bloco inferior esquerdo sendo localizado abaixo de um bloco mais baixo entre os blocos esquerdos adjacentes a uma borda esquerda da unidade de predição,
    um bloco superior esquerdo localizado no lado esquerdo de um bloco mais à esquerda entre os blocos superiores diretamente acima de uma borda superior da unidade de predição, o bloco superior esquerdo sendo localizado acima de um bloco superior entre os blocos esquerdos adjacentes à borda esquerda da unidade de predição, e
    um bloco superior direito localizado no lado direito de um bloco mais à direita entre os blocos superiores diretamente acima da borda superior da unidade de predição,
    quando o tipo de partição indica particionamento da unidade de codificação da profundidade atual numa ou mais partições, incluindo a partição, as informações de mesclagem da partição, entre uma ou mais partições, indicam se a predição é executada na partição no modo de mesclagem mediante uso da partição,
    uma imagem é dividida em uma pluralidade de unidades de codificação máximas de acordo com um tamanho máximo da unidade de codificação,
    uma unidade de codificação máxima, da pluralidade de unidades de codificação máximas, é hierarquicamente dividida em uma ou mais unidades de codificação de profundidades incluindo pelo menos uma das profundidades atual e inferior;
    quando a unidade de codificação da profundidade atual está dividida em quatro unidades de codificação retangulares da profundidade inferior, independentemente das unidades de codificação vizinhas, e
    quando a unidade de codificação da profundidade atual não está dividida em quatro unidades de codificação retangulares da profundidade inferior:
    a uma ou mais partições são obtidas a partir da unidade de codificação da profundidade atual para executar a predição na unidade de codificação da profundidade atual quando o modo de predição para a unidade de codificação da profundidade atual é um modo de não salto, e
    a uma ou mais unidades de transformação são obtidas da unidade de codificação da profundidade atual para realizar a transformação na unidade de codificação da profundidade atual.
  8. APARELHO, caracterizado por compreender um meio de armazenamento não transitório legível por computador que armazena um fluxo de bits, o fluxo de bits compreendendo:
    uma informação de divisão quanto a uma unidade de codificação para indicar se a unidade de codificação de uma profundidade atual está dividida em unidades de codificação de profundidade inferior,
    em que:
    quando a informação de divisão indica que a unidade de codificação da profundidade atual não está dividida nas unidades de codificação de uma profundidade inferior, o fluxo de bits adicionalmente compreende um sinalizador para a unidade de codificação de uma profundidade atual para indicar se um modo de predição para a unidade de codificação da profundidade atual é um modo de salto,
    quando o sinalizador de salto para a unidade de codificação de uma profundidade atual indica que o modo de predição para a unidade de codificação da profundidade atual é o modo de salto, o fluxo de bits compreende ainda um índice de mesclagem que indica um bloco entre um grupo de blocos candidatos e informações diferenciais do vetor de movimento, em que o índice de mesclagem e as informações diferenciais do vetor de movimento e as informações diferenciais do vetor de movimento indicam a diferença entre um vetor de movimento da unidade de codificação da profundidade atual e um vetor de movimento do bloco indicado pelo índice de mesclagem,
    quando o sinalizador de salto para a unidade de codificação de uma profundidade atual indica que o modo de predição para a unidade de codificação da profundidade atual é um modo de não salto, o fluxo de bits compreende ainda um tipo de partição e informações de mesclagem de uma partição,
    o grupo de blocos candidatos inclui três ou mais blocos entre os blocos vizinhos da unidade de codificação da profundidade atual, os blocos vizinhos compreendendo:
    um bloco inferior esquerdo localizado no lado esquerdo de um bloco mais à esquerda entre os blocos inferiores diretamente abaixo da borda inferior de uma unidade de predição na unidade de codificação, o bloco inferior esquerdo sendo localizado abaixo de um bloco mais baixo entre os blocos esquerdos adjacentes a uma borda esquerda da unidade de predição,
    um bloco superior esquerdo localizado no lado esquerdo de um bloco mais à esquerda entre os blocos superiores diretamente acima de uma borda superior da unidade de predição, o bloco superior esquerdo sendo localizado acima de um bloco superior entre os blocos esquerdos adjacentes à borda esquerda da unidade de predição, e
    um bloco superior direito localizado no lado direito de um bloco mais à direita entre os blocos superiores diretamente acima da borda superior da unidade de predição,
    quando o tipo de partição indica particionamento da unidade de codificação da profundidade atual numa ou mais partições, incluindo a partição, as informações de mesclagem da partição, entre uma ou mais partições, indicam se a predição é executada na partição no modo de mesclagem mediante uso da partição,
    quando a unidade de codificação da profundidade atual está dividida em quatro unidades de codificação retangulares da profundidade inferior, independentemente das unidades de codificação vizinhas, e
    quando a unidade de codificação da profundidade atual não está dividida em quatro unidades de codificação retangulares da profundidade inferior:
    a uma ou mais partições são obtidas a partir da unidade de codificação da profundidade atual para executar a predição na unidade de codificação da profundidade atual quando o modo de predição para a unidade de codificação da profundidade atual é um modo de não salto, e
    uma ou mais unidades de transformação são obtidas a partir da unidade de codificação da profundidade atual para realizar a transformação na unidade de codificação da profundidade atual.
  9. APARELHO, caracterizado por compreender um meio não transitório de armazenamento legível por computador que armazena um fluxo de bits, o fluxo de bits compreendendo:
    uma informação de divisão quanto a uma unidade de codificação para indicar se a unidade de codificação de uma profundidade atual está dividida em unidades de codificação de uma profundidade inferior,
    em que:
    quando a informação de divisão indica que a unidade de codificação da profundidade atual não está dividida nas unidades de codificação de uma profundidade inferior, o fluxo de bits compreende ainda um sinalizador para a unidade de codificação de uma profundidade atual para indicar se um modo de predição para a unidade de codificação de a profundidade atual é um modo de salto,
    quando o sinalizador de salto para a unidade de codificação de uma profundidade atual indica que o modo de predição para a unidade de codificação da profundidade atual é o modo de salto, o fluxo de bits compreende ainda um índice de mesclagem que indica um bloco entre um grupo de blocos candidatos e informações diferenciais do vetor de movimento , em que o índice de mesclagem e as informações diferenciais do vetor de movimento e as informações diferenciais do vetor de movimento indicam a diferença entre um vetor de movimento da unidade de codificação da profundidade atual e um vetor de movimento do bloco indicado pelo índice de mesclagem,
    quando o sinalizador de salto para a unidade de codificação de uma profundidade atual indica que o modo de predição para a unidade de codificação da profundidade atual é um modo de não salto, o fluxo de bits compreende ainda um tipo de partição e informações de mesclagem de uma partição,
    o tipo de partição indica o particionamento da unidade de codificação da profundidade atual em uma ou mais partições, incluindo a partição,
    as informações de mesclagem da partição, entre uma ou mais partições, indicam se a predição é executada no modo de mesclagem usando a partição,
    quando a informação de mesclagem da partição indica que a predição é realizada no modo de mesclagem usando a partição, o fluxo de bits compreende ainda um índice de mesclagem da partição para indicar um bloco entre um grupo de blocos candidatos da partição, o grupo de blocos candidatos da partição incluindo um ou mais blocos entre três ou mais blocos vizinhos da partição,
    quando a unidade de codificação da profundidade atual está dividida em quatro unidades de codificação retangulares da profundidade inferior, independentemente das unidades de codificação vizinhas, e
    quando a unidade de codificação da profundidade atual não está dividida em quatro unidades de codificação retangulares da profundidade inferior:
    a uma ou mais partições são obtidas a partir da unidade de codificação da profundidade atual para executar a predição na unidade de codificação da profundidade atual quando o modo de predição para a unidade de codificação da profundidade atual é um modo de não salto, e
    uma ou mais unidades de transformação são obtidas a partir da unidade de codificação da profundidade atual para realizar a transformação na unidade de codificação da profundidade atual, e
    quando a uma ou mais partições da unidade de codificação incluem uma partição esquerda e uma partição direita e a partição é a partição direita, o grupo de blocos candidatos da partição não inclui a partição esquerda.
  10. APARELHO, caracterizado por compreender um meio de armazenamento não transitório legível por computador que armazena um fluxo de bits, o fluxo de bits compreendendo:
    uma informação de divisão quanto a uma unidade de codificação para indicar se a unidade de codificação de uma profundidade atual está dividida em unidades de codificação de profundidade inferior,
    em que:
    quando a informação de divisão indica que a unidade de codificação da profundidade atual não está dividida nas unidades de codificação de uma profundidade inferior, o fluxo de bits compreende ainda um sinalizador para a unidade de codificação de uma profundidade atual para indicar se um modo de predição para a unidade de codificação de a profundidade atual é um modo de salto, predição para a unidade de codificação da profundidade atual é o modo de salto, o fluxo de bits compreende ainda um índice de mesclagem que indica um bloco entre um grupo de blocos candidatos e informações diferenciais do vetor de movimento, em que o índice de mesclagem e as informações diferenciais do vetor de movimento e as informações diferenciais do vetor de movimento indicam a diferença entre um vetor de movimento da unidade de codificação da profundidade atual e um vetor de movimento do bloco indicado pelo índice de mesclagem,
    quando o sinalizador de salto para a unidade de codificação de uma profundidade atual indica que o modo de predição para a unidade de codificação da profundidade atual é um modo de não salto, o fluxo de bits compreende ainda um tipo de partição e informações de mesclagem de uma partição,
    o grupo de blocos candidatos inclui três ou mais blocos entre os blocos vizinhos da unidade de codificação da profundidade atual, os blocos vizinhos compreendendo:
    um bloco inferior esquerdo localizado no lado esquerdo de um bloco mais à esquerda entre os blocos inferiores diretamente abaixo da borda inferior de uma unidade de predição na unidade de codificação, o bloco inferior esquerdo sendo localizado abaixo de um bloco mais baixo entre os blocos esquerdos adjacentes a uma borda esquerda da unidade de predição,
    um bloco superior esquerdo localizado no lado esquerdo de um bloco mais à esquerda entre os blocos superiores diretamente acima de uma borda superior da unidade de predição, o bloco superior esquerdo sendo localizado acima de um bloco superior entre os blocos esquerdos adjacentes à borda esquerda da unidade de predição, e
    um bloco superior direito localizado no lado direito de um bloco mais à direita entre os blocos superiores diretamente acima da borda superior da unidade de predição;
    quando o tipo de partição indica o particionamento da unidade de codificação da profundidade atual em uma ou mais partições, incluindo a partição,
    as informações de mesclagem da partição, entre a uma ou mais partições, indicam se a predição é executada na partição no modo de mesclagem usando a partição,
    uma imagem é dividida em uma pluralidade de unidades de codificação máximas de acordo com um tamanho máximo da unidade de codificação,
    uma unidade de codificação máxima, da pluralidade de unidades de codificação máximas, é hierarquicamente dividida em uma ou mais unidades de codificação de profundidades, incluindo pelo menos uma das profundidades atual e inferior;
    quando a unidade de codificação da profundidade atual está dividida em quatro unidades de codificação retangulares da profundidade inferior, independentemente das unidades de codificação vizinhas, e
    quando a unidade de codificação da profundidade atual não está dividida em quatro unidades de codificação retangulares da profundidade inferior:
    a uma ou mais partições são obtidas a partir da unidade de codificação da profundidade atual para executar a predição na unidade de codificação da profundidade atual quando o modo de predição para a unidade de codificação da profundidade atual é um modo de não salto, e
    uma ou mais unidades de transformação são obtidas a partir da unidade de codificação da profundidade atual para realizar a transformação na unidade de codificação da profundidade atual.
  11. APARELHO, caracterizado por compreender um meio de armazenamento não transitório legível por computador que armazena um fluxo de bits, o fluxo de bits compreendendo:
    uma informação de divisão quanto a uma unidade de codificação para indicar se a unidade de codificação de uma profundidade atual está dividida em unidades de codificação com profundidade inferior,
    em que:
    quando a informação de divisão indica que a unidade de codificação da profundidade atual não está dividida nas unidades de codificação de uma profundidade inferior, o fluxo de bits compreende ainda um sinalizador para a unidade de codificação de uma profundidade atual para indicar se um modo de predição para a unidade de codificação de a profundidade atual é um modo de salto,
    quando o sinalizador de salto para a unidade de codificação de uma profundidade atual indica que o modo de predição para a unidade de codificação da profundidade atual é o modo de salto, o fluxo de bits compreende ainda um índice de mesclagem que indica um bloco entre um grupo de blocos candidatos e informações diferenciais do vetor de movimento, em que o índice de mesclagem e as informações diferenciais do vetor de movimento e as informações diferenciais do vetor de movimento indicam a diferença entre um vetor de movimento da unidade de codificação da profundidade atual e um vetor de movimento do bloco indicado pelo índice de mesclagem,
    o grupo de blocos candidatos inclui três ou mais blocos entre os blocos vizinhos da unidade de codificação da profundidade atual, os blocos vizinhos compreendendo:
    um bloco inferior esquerdo localizado no lado esquerdo de um bloco mais à esquerda entre os blocos inferiores diretamente abaixo da borda inferior de uma unidade de predição na unidade de codificação, o bloco inferior esquerdo sendo localizado abaixo de um bloco mais baixo entre os blocos esquerdos adjacentes a uma borda esquerda da unidade de predição,
    um bloco superior esquerdo localizado no lado esquerdo de um bloco mais à esquerda entre os blocos superiores diretamente acima de uma borda superior da unidade de predição, o bloco superior esquerdo sendo localizado acima de um bloco superior entre os blocos esquerdos adjacentes à borda esquerda da unidade de predição, e
    um bloco superior direito localizado no lado direito de um bloco mais à direita entre os blocos superiores diretamente acima da borda superior da unidade de predição, e
    quando o sinalizador de salto para a unidade de codificação de uma profundidade atual indica que o modo de predição para a unidade de codificação da profundidade atual é um modo de não salto, o fluxo de bits compreende ainda um tipo de partição e informações de mesclagem de uma partição,
    as informações de mesclagem da partição, entre uma ou mais partições, indicam se a predição é executada no modo de mesclagem usando a partição,
    quando as informações de mesclagem da partição indicam que a predição é realizada no modo de mesclagem usando a partição, o fluxo de bits compreende ainda um índice de mesclagem da partição para indicar um bloco entre um grupo de blocos candidatos da partição, o grupo de blocos candidatos do partição incluindo um ou mais blocos entre três ou mais blocos vizinhos da partição,
    quando o tipo de partição indica o particionamento da unidade de codificação da profundidade atual em uma ou mais partições, incluindo a partição,
    as informações de mesclagem da partição, entre a uma ou mais partições, indicam se a predição é executada na partição no modo de mesclagem usando a partição,
    quando a unidade de codificação da profundidade atual está dividida em quatro unidades de codificação retangulares da profundidade inferior, independentemente das unidades de codificação vizinhas, e
    quando a unidade de codificação da profundidade atual não está dividida em quatro unidades de codificação retangulares da profundidade inferior:
    a uma ou mais partições são obtidas a partir da unidade de codificação da profundidade atual para executar a predição na unidade de codificação da profundidade atual quando o modo de predição para a unidade de codificação da profundidade atual é um modo de não salto, e
    uma ou mais unidades de transformação são obtidas a partir da unidade de codificação da profundidade atual para realizar a transformação na unidade de codificação da profundidade atual.
  12. APARELHO, caracterizado por compreender um meio de armazenamento não transitório legível por computador que armazena um fluxo de bits, o fluxo de bits compreendendo:
    uma informação de divisão quanto a uma unidade de codificação para indicar se a unidade de codificação de uma profundidade atual está dividida em unidades de codificação de profundidade inferior,
    em que:
    quando a informação de divisão indica que a unidade de codificação da profundidade atual não está dividida nas unidades de codificação de uma profundidade inferior, o fluxo de bits compreende ainda um sinalizador para a unidade de codificação de uma profundidade atual para indicar se um modo de predição para a unidade de codificação de a profundidade atual é um modo de salto,
    quando o sinalizador de salto para a unidade de codificação de uma profundidade atual indica que o modo de predição para a unidade de codificação da profundidade atual é o modo de salto, o fluxo de bits compreende ainda um índice de mesclagem que indica um bloco entre um grupo de blocos candidatos e informações diferenciais do vetor de movimento, em que o índice de mesclagem e as informações diferenciais do vetor de movimento e as informações diferenciais do vetor de movimento indicam a diferença entre um vetor de movimento da unidade de codificação da profundidade atual e um vetor de movimento do bloco indicado pelo índice de mesclagem,
    quando o sinalizador de salto para a unidade de codificação de uma profundidade atual indica que o modo de predição para a unidade de codificação da profundidade atual é um modo de não salto, o fluxo de bits compreende ainda um tipo de partição e informações de mesclagem de uma partição,
    o grupo de blocos candidatos inclui três ou mais blocos entre os blocos vizinhos da unidade de codificação da profundidade atual, os blocos vizinhos compreendendo:
    um bloco inferior esquerdo localizado no lado esquerdo de um bloco mais à esquerda entre os blocos inferiores diretamente abaixo da borda inferior de uma unidade de predição na unidade de codificação, o bloco inferior esquerdo sendo localizado abaixo de um bloco mais baixo entre os blocos esquerdos adjacentes a uma borda esquerda da unidade de predição,
    um bloco superior esquerdo localizado no lado esquerdo de um bloco mais à esquerda entre os blocos superiores diretamente acima de uma borda superior da unidade de predição, o bloco superior esquerdo sendo localizado acima de um bloco superior entre os blocos esquerdos adjacentes à borda esquerda da unidade de predição, e
    um bloco superior direito localizado no lado direito de um bloco mais à direita entre os blocos superiores diretamente acima da borda superior da unidade de predição;
    quando o tipo de partição indica o particionamento da unidade de codificação da profundidade atual em uma ou mais partições, incluindo a partição,
    as informações de mesclagem da partição, entre a uma ou mais partições, indicam se a predição é executada na partição no modo de mesclagem usando a partição,
    quando a unidade de codificação da profundidade atual está dividida em quatro unidades de codificação retangulares da profundidade inferior, independentemente das unidades de codificação vizinhas, e
    quando a unidade de codificação da profundidade atual não está dividida em quatro unidades de codificação retangulares da profundidade inferior:
    a uma ou mais partições são obtidas a partir da unidade de codificação da profundidade atual para executar a predição na unidade de codificação da profundidade atual quando o modo de predição para a unidade de codificação da profundidade atual é um modo de não salto, e
    uma ou mais unidades de transformação são obtidas a partir da unidade de codificação da profundidade atual para realizar a transformação na unidade de codificação da profundidade atual, e
    quando a uma ou mais partições da unidade de codificação incluem uma partição esquerda e uma partição direita e a partição é a partição direita, o grupo de blocos candidatos da partição não inclui a partição esquerda.
BR122020014021-6A 2010-07-09 2011-07-07 Aparelho para decodificar um vídeo BR122020014021B1 (pt)

Applications Claiming Priority (9)

Application Number Priority Date Filing Date Title
US36282910P 2010-07-09 2010-07-09
US61/362,829 2010-07-09
US36795210P 2010-07-27 2010-07-27
US61/367,952 2010-07-27
KR10-2011-0006486 2011-01-21
KR20110006486A KR101484281B1 (ko) 2010-07-09 2011-01-21 블록 병합을 이용한 비디오 부호화 방법 및 그 장치, 블록 병합을 이용한 비디오 복호화 방법 및 그 장치
BR112013000555-6 2011-07-07
BR112013000555-6A BR112013000555B1 (pt) 2010-07-09 2011-07-07 Método para decodificar um vídeo
PCT/KR2011/004969 WO2012005520A2 (en) 2010-07-09 2011-07-07 Method and apparatus for encoding video by using block merging, and method and apparatus for decoding video by using block merging

Publications (2)

Publication Number Publication Date
BR122020014021A2 true BR122020014021A2 (pt) 2020-10-20
BR122020014021B1 BR122020014021B1 (pt) 2022-05-31

Family

ID=45611872

Family Applications (5)

Application Number Title Priority Date Filing Date
BR122020014021-6A BR122020014021B1 (pt) 2010-07-09 2011-07-07 Aparelho para decodificar um vídeo
BR122020014018-6A BR122020014018B1 (pt) 2010-07-09 2011-07-07 Método para decodificar um vídeo
BR122020014015-1A BR122020014015B1 (pt) 2010-07-09 2011-07-07 Aparelho para decodificar um vídeo
BR122020014007-0A BR122020014007B1 (pt) 2010-07-09 2011-07-07 Método para decodificar um vídeo
BR112013000555-6A BR112013000555B1 (pt) 2010-07-09 2011-07-07 Método para decodificar um vídeo

Family Applications After (4)

Application Number Title Priority Date Filing Date
BR122020014018-6A BR122020014018B1 (pt) 2010-07-09 2011-07-07 Método para decodificar um vídeo
BR122020014015-1A BR122020014015B1 (pt) 2010-07-09 2011-07-07 Aparelho para decodificar um vídeo
BR122020014007-0A BR122020014007B1 (pt) 2010-07-09 2011-07-07 Método para decodificar um vídeo
BR112013000555-6A BR112013000555B1 (pt) 2010-07-09 2011-07-07 Método para decodificar um vídeo

Country Status (24)

Country Link
EP (2) EP2924996B1 (pt)
JP (5) JP5738991B2 (pt)
KR (7) KR101484281B1 (pt)
CN (6) CN104869405B (pt)
AU (1) AU2011274722B2 (pt)
BR (5) BR122020014021B1 (pt)
CA (5) CA2886724C (pt)
CY (1) CY1118484T1 (pt)
DK (1) DK2580912T3 (pt)
ES (5) ES2631031T3 (pt)
HR (5) HRP20170129T1 (pt)
HU (5) HUE041270T2 (pt)
LT (5) LT2858366T (pt)
MX (1) MX2013000345A (pt)
MY (5) MY156223A (pt)
PH (4) PH12015500918B1 (pt)
PL (4) PL2580912T3 (pt)
PT (5) PT2897365T (pt)
RS (4) RS55668B1 (pt)
RU (6) RU2013105501A (pt)
SG (6) SG10201503383PA (pt)
SI (4) SI2897365T1 (pt)
TR (1) TR201813132T4 (pt)
ZA (1) ZA201300578B (pt)

Families Citing this family (56)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
PL3567855T3 (pl) 2009-03-23 2023-03-13 Ntt Docomo, Inc. Urządzenie do predykcyjnego kodowania wideo, sposób predykcyjnego kodowania wideo, program do predykcyjnego kodowania wideo, urządzenie do predykcyjnego dekodowania wideo, sposób predykcyjnego dekodowania wideo i program do predykcyjnego dekodowania wideo
KR101484281B1 (ko) * 2010-07-09 2015-01-21 삼성전자주식회사 블록 병합을 이용한 비디오 부호화 방법 및 그 장치, 블록 병합을 이용한 비디오 복호화 방법 및 그 장치
RS57809B1 (sr) 2010-07-09 2018-12-31 Samsung Electronics Co Ltd Metod za dekodiranje video zapisa korišćenjem objedinjavanja blokova
ES2785606T3 (es) * 2010-07-20 2020-10-07 Ntt Docomo Inc Dispositivo de decodificación predictiva de imágenes, método de decodificación predictiva de imágenes
CN107071490B (zh) * 2010-11-04 2020-07-14 Ge视频压缩有限责任公司 解码装置和方法、编码装置和方法、存储和传输图像方法
US11284081B2 (en) 2010-11-25 2022-03-22 Lg Electronics Inc. Method for signaling image information, and method for decoding image information using same
SI3595303T1 (sl) 2010-11-25 2022-01-31 Lg Electronics Inc. Postopek za dekodiranje informacije o sliki, naprava za dekodiranje, postopek za kodiranje informacije o sliki, naprava za kodiranje in pomnilniški medij
JP2012209911A (ja) * 2010-12-20 2012-10-25 Sony Corp 画像処理装置および方法
US10171813B2 (en) 2011-02-24 2019-01-01 Qualcomm Incorporated Hierarchy of motion prediction video blocks
MX343471B (es) * 2011-08-29 2016-11-07 Ibex Pt Holdings Co Ltd Metodo para generar un bloque de prediccion en modo de prediccion de vector de movimiento avanzada (amvp).
WO2013109124A1 (ko) * 2012-01-19 2013-07-25 삼성전자 주식회사 쌍방향 예측 및 블록 병합을 제한하는 비디오 부호화 방법 및 장치, 비디오 복호화 방법 및 장치
AU2012200345B2 (en) * 2012-01-20 2014-05-01 Canon Kabushiki Kaisha Method, apparatus and system for encoding and decoding the significance map residual coefficients of a transform unit
KR101895389B1 (ko) * 2012-11-27 2018-10-18 연세대학교 산학협력단 영상 부호화 방법 및 장치
CN104104964B (zh) * 2013-04-09 2019-03-12 乐金电子(中国)研究开发中心有限公司 一种深度图像帧间编码、解码方法、编码器及解码器
US9497485B2 (en) 2013-04-12 2016-11-15 Intel Corporation Coding unit size dependent simplified depth coding for 3D video coding
AU2013403224B2 (en) 2013-10-14 2018-10-18 Microsoft Technology Licensing, Llc Features of intra block copy prediction mode for video and image coding and decoding
JP6336058B2 (ja) 2013-10-14 2018-06-06 マイクロソフト テクノロジー ライセンシング,エルエルシー ビデオ及び画像符号化及び復号のためのベースカラーインデックスマップモードの機能
EP3058736B1 (en) * 2013-10-14 2019-02-27 Microsoft Technology Licensing, LLC Encoder-side options for intra block copy prediction mode for video and image coding
US10390034B2 (en) 2014-01-03 2019-08-20 Microsoft Technology Licensing, Llc Innovations in block vector prediction and estimation of reconstructed sample values within an overlap area
KR102258427B1 (ko) 2014-01-03 2021-06-01 마이크로소프트 테크놀로지 라이센싱, 엘엘씨 비디오 및 이미지 코딩/디코딩에서의 블록 벡터 예측
US11284103B2 (en) 2014-01-17 2022-03-22 Microsoft Technology Licensing, Llc Intra block copy prediction with asymmetric partitions and encoder-side search patterns, search ranges and approaches to partitioning
US10542274B2 (en) 2014-02-21 2020-01-21 Microsoft Technology Licensing, Llc Dictionary encoding and decoding of screen content
US10368091B2 (en) 2014-03-04 2019-07-30 Microsoft Technology Licensing, Llc Block flipping and skip mode in intra block copy prediction
CN106031170B (zh) * 2014-04-01 2019-04-26 联发科技股份有限公司 运动信息编码的方法
EP4354856A2 (en) 2014-06-19 2024-04-17 Microsoft Technology Licensing, LLC Unified intra block copy and inter prediction modes
US20160029022A1 (en) * 2014-07-25 2016-01-28 Mediatek Inc. Video processing apparatus with adaptive coding unit splitting/merging and related video processing method
RU2679201C2 (ru) 2014-09-30 2019-02-06 МАЙКРОСОФТ ТЕКНОЛОДЖИ ЛАЙСЕНСИНГ, ЭлЭлСи Правила для режимов внутрикадрового прогнозирования, когда активируется волновая параллельная обработка данных
MX2017005651A (es) * 2014-10-31 2017-06-29 Samsung Electronics Co Ltd Dispositivo de codificacion de video y dispositivo de decodificacion de video que usa la codificacion de salto de alta precision y metodo del mismo.
US9591325B2 (en) 2015-01-27 2017-03-07 Microsoft Technology Licensing, Llc Special case handling for merged chroma blocks in intra block copy prediction mode
WO2016178485A1 (ko) * 2015-05-05 2016-11-10 엘지전자 주식회사 영상 코딩 시스템에서 코딩 유닛 처리 방법 및 장치
EP3308540B1 (en) 2015-06-09 2020-04-15 Microsoft Technology Licensing, LLC Robust encoding/decoding of escape-coded pixels in palette mode
JP2018535607A (ja) * 2015-11-24 2018-11-29 サムスン エレクトロニクス カンパニー リミテッド 映像を符号化/復号する方法、及びその装置
KR102471208B1 (ko) 2016-09-20 2022-11-25 주식회사 케이티 비디오 신호 처리 방법 및 장치
US11575885B2 (en) 2016-10-11 2023-02-07 Electronics And Telecommunications Research Institute Image encoding/decoding method and apparatus and recording medium for storing bitstream
KR20180045530A (ko) 2016-10-26 2018-05-04 디지털인사이트 주식회사 임의의 블록 분할을 사용하는 비디오 코딩 방법 및 장치
US20190335170A1 (en) * 2017-01-03 2019-10-31 Lg Electronics Inc. Method and apparatus for processing video signal by means of affine prediction
CN116866552A (zh) 2017-01-16 2023-10-10 世宗大学校产学协力团 影像信号解码/编码方法以及传送比特流的方法
KR102390413B1 (ko) * 2017-03-03 2022-04-25 에스케이텔레콤 주식회사 영상 부호화 또는 복호화하기 위한 장치 및 방법
CN117014604A (zh) 2017-09-28 2023-11-07 三星电子株式会社 编码方法和装置以及解码方法和装置
US10986349B2 (en) 2017-12-29 2021-04-20 Microsoft Technology Licensing, Llc Constraints on locations of reference blocks for intra block copy prediction
WO2020009419A1 (ko) * 2018-07-02 2020-01-09 인텔렉추얼디스커버리 주식회사 병합 후보를 사용하는 비디오 코딩 방법 및 장치
WO2020076097A1 (ko) * 2018-10-10 2020-04-16 삼성전자주식회사 움직임 벡터 차분값을 이용한 비디오 부호화 및 복호화 방법, 및 움직임 정보의 부호화 및 복호화 장치
CN111083484A (zh) 2018-10-22 2020-04-28 北京字节跳动网络技术有限公司 基于子块的预测
CN111083491A (zh) 2018-10-22 2020-04-28 北京字节跳动网络技术有限公司 细化运动矢量的利用
WO2020085953A1 (en) * 2018-10-25 2020-04-30 Huawei Technologies Co., Ltd. An encoder, a decoder and corresponding methods for inter prediction
EP3857879A4 (en) 2018-11-12 2022-03-16 Beijing Bytedance Network Technology Co., Ltd. SIMPLIFICATION OF COMBINED INTER-INTRA PREDICTION
EP3861742A4 (en) 2018-11-20 2022-04-13 Beijing Bytedance Network Technology Co., Ltd. DIFFERENCE CALCULATION BASED ON SPATIAL POSITION
WO2020103877A1 (en) * 2018-11-20 2020-05-28 Beijing Bytedance Network Technology Co., Ltd. Coding and decoding of video coding modes
US20200169757A1 (en) * 2018-11-23 2020-05-28 Mediatek Inc. Signaling For Multi-Reference Line Prediction And Multi-Hypothesis Prediction
GB2580084B (en) * 2018-12-20 2022-12-28 Canon Kk Video coding and decoding
CN111355958B (zh) * 2018-12-21 2022-07-29 华为技术有限公司 视频解码方法及装置
WO2020177756A1 (en) 2019-03-06 2020-09-10 Beijing Bytedance Network Technology Co., Ltd. Size dependent inter coding
KR20230169434A (ko) 2019-04-02 2023-12-15 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 디코더 측 움직임 벡터 유도
US11616966B2 (en) * 2019-04-03 2023-03-28 Mediatek Inc. Interaction between core transform and secondary transform
JP6931038B2 (ja) * 2019-12-26 2021-09-01 Kddi株式会社 画像復号装置、画像復号方法及びプログラム
CN115955565B (zh) * 2023-03-15 2023-07-04 深圳传音控股股份有限公司 处理方法、处理设备及存储介质

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5608458A (en) * 1994-10-13 1997-03-04 Lucent Technologies Inc. Method and apparatus for a region-based approach to coding a sequence of video images
KR100223170B1 (ko) * 1996-07-22 1999-10-15 윤종용 영역기반 동영상부호화시스템의 영역분할 및움직임추정을 동시에최적화하기 위한 방법 및 장치
US6043846A (en) * 1996-11-15 2000-03-28 Matsushita Electric Industrial Co., Ltd. Prediction apparatus and method for improving coding efficiency in scalable video coding
KR100510208B1 (ko) * 1996-12-18 2005-08-26 톰슨 콘슈머 일렉트로닉스, 인코포레이티드 다중 포맷의 비디오 신호 처리 시스템 및 신호 처리 방법
JP2004208259A (ja) * 2002-04-19 2004-07-22 Matsushita Electric Ind Co Ltd 動きベクトル計算方法
US7720154B2 (en) * 2004-11-12 2010-05-18 Industrial Technology Research Institute System and method for fast variable-size motion estimation
KR100772873B1 (ko) * 2006-01-12 2007-11-02 삼성전자주식회사 스무딩 예측을 이용한 다계층 기반의 비디오 인코딩 방법,디코딩 방법, 비디오 인코더 및 비디오 디코더
JP4763549B2 (ja) * 2006-08-18 2011-08-31 富士通セミコンダクター株式会社 フレーム間予測処理装置、画像符号化装置、及び画像復号化装置
EP2106666B1 (en) * 2007-01-08 2019-06-12 Nokia Technologies Oy Improved inter-layer prediction for extended spatial scalability in video coding
TWI355205B (en) * 2007-01-24 2011-12-21 Lg Electronics Inc A method and an apparatus for processing a video s
EP2129135B1 (en) * 2007-02-23 2012-08-15 Nippon Telegraph and Telephone Corporation Video coding intra prediction method and decoding method, their device, their program and program-recorded medium
BRPI0809512A2 (pt) * 2007-04-12 2016-03-15 Thomson Licensing método e aparelho para mesclagem dependente de contexto para modos salto-direto para codificação e decodificação de vídeo
EP2160900A1 (en) * 2007-06-12 2010-03-10 Thomson Licensing Methods and apparatus supporting multi-pass video syntax structure for slice data
KR101946376B1 (ko) * 2007-10-16 2019-02-11 엘지전자 주식회사 비디오 신호 처리 방법 및 장치
JP2009239852A (ja) * 2008-03-28 2009-10-15 Fujifilm Corp 画像処理装置及び画像処理方法
WO2010041856A2 (en) * 2008-10-06 2010-04-15 Lg Electronics Inc. A method and an apparatus for processing a video signal
KR100930744B1 (ko) * 2009-03-04 2009-12-09 엘지전자 주식회사 모션 벡터 예측 방법
WO2011125211A1 (ja) * 2010-04-08 2011-10-13 株式会社 東芝 画像符号化方法及び画像復号化方法
DK2559246T3 (en) * 2010-04-13 2016-09-19 Ge Video Compression Llc Fusion of sample areas
KR101484281B1 (ko) * 2010-07-09 2015-01-21 삼성전자주식회사 블록 병합을 이용한 비디오 부호화 방법 및 그 장치, 블록 병합을 이용한 비디오 복호화 방법 및 그 장치

Also Published As

Publication number Publication date
BR112013000555A2 (pt) 2020-09-24
CN103155563A (zh) 2013-06-12
RU2586035C2 (ru) 2016-06-10
SI2858366T1 (sl) 2017-03-31
KR20120005932A (ko) 2012-01-17
CA2886721A1 (en) 2012-01-12
SG186970A1 (en) 2013-02-28
JP5873196B2 (ja) 2016-03-01
RU2575983C1 (ru) 2016-02-27
EP3442230A1 (en) 2019-02-13
TR201813132T4 (tr) 2018-09-21
PL2897365T3 (pl) 2017-04-28
PL2580912T3 (pl) 2017-06-30
CN104869404A (zh) 2015-08-26
PH12015500917A1 (en) 2015-06-29
BR122020014015A2 (pt) 2020-10-13
CN104869408B (zh) 2019-12-10
MY189716A (en) 2022-02-28
CN104869406B (zh) 2017-10-17
PH12015500919A1 (en) 2015-06-29
PH12015500918A1 (en) 2015-06-29
SG10201503383PA (en) 2015-06-29
KR20140099855A (ko) 2014-08-13
AU2011274722A1 (en) 2013-01-31
PH12015500916B1 (en) 2015-06-29
ZA201300578B (en) 2015-11-25
ES2613610T3 (es) 2017-05-24
KR101653274B1 (ko) 2016-09-01
CA2886960A1 (en) 2012-01-12
BR122020014021B1 (pt) 2022-05-31
JP2013530658A (ja) 2013-07-25
KR101559876B1 (ko) 2015-10-13
KR20140100929A (ko) 2014-08-18
BR122020014007B1 (pt) 2022-02-01
RS55677B1 (sr) 2017-06-30
CN104869405B (zh) 2018-04-27
SI2924996T1 (sl) 2018-10-30
HUE031789T2 (en) 2017-07-28
CA2886721C (en) 2016-10-18
CN104869405A (zh) 2015-08-26
MY178325A (en) 2020-10-08
KR20140101327A (ko) 2014-08-19
CY1118484T1 (el) 2017-07-12
CA2886724C (en) 2016-05-03
HUE041270T2 (hu) 2019-05-28
RU2013105501A (ru) 2014-10-20
RU2575982C1 (ru) 2016-02-27
JP2015100136A (ja) 2015-05-28
HRP20170129T1 (hr) 2017-03-24
RU2014119390A (ru) 2015-11-20
HUE041712T2 (hu) 2019-05-28
PT2924996T (pt) 2018-10-24
PL2924996T3 (pl) 2018-12-31
DK2580912T3 (da) 2017-02-13
MX2013000345A (es) 2013-03-20
KR20140066146A (ko) 2014-05-30
RS57674B1 (sr) 2018-11-30
KR101559875B1 (ko) 2015-10-13
CA2886964C (en) 2016-10-25
RS55668B1 (sr) 2017-06-30
JP2015136146A (ja) 2015-07-27
SG10201503381WA (en) 2015-06-29
KR101524643B1 (ko) 2015-06-03
PL2858366T3 (pl) 2017-04-28
PT2858366T (pt) 2017-02-13
PH12015500917B1 (en) 2015-06-29
ES2614203T3 (es) 2017-05-30
EP2924996A1 (en) 2015-09-30
MY156223A (en) 2016-01-29
KR20140100928A (ko) 2014-08-18
SI2897365T1 (sl) 2017-03-31
SI2580912T1 (sl) 2017-03-31
MY178329A (en) 2020-10-08
CN104869406A (zh) 2015-08-26
ES2688031T3 (es) 2018-10-30
KR101484281B1 (ko) 2015-01-21
SG196797A1 (en) 2014-02-13
PT2924995T (pt) 2018-10-19
SG10201503379SA (en) 2015-06-29
HRP20181468T1 (hr) 2018-11-16
CN104869404B (zh) 2017-06-23
RU2577182C1 (ru) 2016-03-10
JP5738991B2 (ja) 2015-06-24
BR122020014007A2 (pt) 2020-10-13
JP2015136145A (ja) 2015-07-27
KR101529995B1 (ko) 2015-06-19
CA2886960C (en) 2017-05-02
JP5945021B2 (ja) 2016-07-05
BR122020014018A2 (pt) 2020-10-13
CN104869408A (zh) 2015-08-26
RS55650B1 (sr) 2017-06-30
CA2886724A1 (en) 2012-01-12
CN104869407B (zh) 2017-04-12
BR112013000555B1 (pt) 2022-02-15
AU2011274722B2 (en) 2015-05-21
CN103155563B (zh) 2016-09-21
BR122020014015B1 (pt) 2022-02-01
MY178332A (en) 2020-10-08
CA2886964A1 (en) 2012-01-12
HRP20170169T1 (hr) 2017-03-24
PT2897365T (pt) 2017-02-13
JP5873195B2 (ja) 2016-03-01
LT2924996T (lt) 2018-10-10
PT2580912T (pt) 2017-02-06
CA2804780C (en) 2018-01-09
LT2897365T (lt) 2017-02-27
RU2575990C1 (ru) 2016-02-27
KR20140101713A (ko) 2014-08-20
LT2580912T (lt) 2017-02-10
KR101529996B1 (ko) 2015-06-19
LT2858366T (lt) 2017-02-27
SG10201503378VA (en) 2015-06-29
JP5945022B2 (ja) 2016-07-05
ES2631031T3 (es) 2017-08-25
PH12015500916A1 (en) 2015-06-29
EP3442230B1 (en) 2021-04-21
EP2924996B1 (en) 2018-09-12
HRP20181469T1 (hr) 2018-11-16
HRP20170168T1 (hr) 2017-03-24
PH12015500918B1 (en) 2015-06-29
PH12015500919B1 (en) 2015-06-29
JP2015100137A (ja) 2015-05-28
HUE033265T2 (en) 2017-11-28
BR122020014018B1 (pt) 2022-02-01
LT2924995T (lt) 2018-10-10
HUE033266T2 (en) 2017-11-28
ES2688033T3 (es) 2018-10-30
CA2804780A1 (en) 2012-01-12
CN104869407A (zh) 2015-08-26

Similar Documents

Publication Publication Date Title
BR122020014021A2 (pt) Aparelho para decodificar um vídeo, método para decodificar um vídeo, aparelho para codificar um vídeo, método para codificar um vídeo, aparelho para codificação um vídeo, e aparelho
BR122021004152B1 (pt) Aparelho para decodificar vídeo
BR122020013760B1 (pt) Método para decodificar um vídeo através filtração em malha com base nas unidades de codificação, e aparelho de decodificação de vídeo para decodificar um vídeo através filtração em malha com base em unidades de codificação
BR122015013871A2 (pt) método para decodificar uma imagem
BR112013033706B1 (pt) Método para decodificar um vetor de movimento
BR122013019952A2 (pt) Aparelho de decodificar um vídeo
BR112012025407B1 (pt) Método de decodificação de vídeo baseado em unidades de codificação determinadas de acordo com uma estrutura de árvore
BR112013033906B1 (pt) Método para decodificar vídeo
BR122021004622B1 (pt) Método para decodificar um vídeo
BR122020009702B1 (pt) Aparelho para decodificar um vídeo
BR122021004598B1 (pt) Aparelho para decodificar uma imagem
BR112012025308B1 (pt) Método de codificar um vídeo, método de decodificar um vídeo codificado, equipamento de codificação de vídeo incluindo um processador, equipamento de decodificação de vídeo incluindo um processador, e meio de gravação legível por computador
BR112013017395B1 (pt) Método decodificador de vídeo, e método codificador de vídeo
BR112012017407B1 (pt) Método para de codificar um fluxo de bits de vídeo compreendendo dados de vídeo codificados
BR122020013763B1 (pt) Aparelho de decodificação de vídeo
BR122021013575B1 (pt) Método de decodificação de vídeo, e aparelho de decodificação de vídeo

Legal Events

Date Code Title Description
B03A Publication of a patent application or of a certificate of addition of invention [chapter 3.1 patent gazette]
B15K Others concerning applications: alteration of classification

Free format text: AS CLASSIFICACOES ANTERIORES ERAM: H04N 7/32 , H04N 7/36 , H04N 7/26

Ipc: H04N 19/105 (2014.01), H04N 19/14 (2014.01), H04N

B06A Patent application procedure suspended [chapter 6.1 patent gazette]
B07A Application suspended after technical examination (opinion) [chapter 7.1 patent gazette]
B09A Decision: intention to grant [chapter 9.1 patent gazette]
B16A Patent or certificate of addition of invention granted [chapter 16.1 patent gazette]

Free format text: PRAZO DE VALIDADE: 20 (VINTE) ANOS CONTADOS A PARTIR DE 07/07/2011, OBSERVADAS AS CONDICOES LEGAIS. PATENTE CONCEDIDA CONFORME ADI 5.529/DF, QUE DETERMINA A ALTERACAO DO PRAZO DE CONCESSAO.