BR112013000559B1 - Método para decodificar um vetor de movimento - Google Patents

Método para decodificar um vetor de movimento Download PDF

Info

Publication number
BR112013000559B1
BR112013000559B1 BR112013000559-9A BR112013000559A BR112013000559B1 BR 112013000559 B1 BR112013000559 B1 BR 112013000559B1 BR 112013000559 A BR112013000559 A BR 112013000559A BR 112013000559 B1 BR112013000559 B1 BR 112013000559B1
Authority
BR
Brazil
Prior art keywords
motion vector
block
current block
unit
encoding
Prior art date
Application number
BR112013000559-9A
Other languages
English (en)
Other versions
BR112013000559A2 (pt
Inventor
Tammy Lee
Vadim SEREGIN
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 to BR122015013885-0A priority Critical patent/BR122015013885B1/pt
Priority to BR122015013889-2A priority patent/BR122015013889B1/pt
Priority to BR122015013871-0A priority patent/BR122015013871B1/pt
Priority to BR122015013887-6A priority patent/BR122015013887B1/pt
Publication of BR112013000559A2 publication Critical patent/BR112013000559A2/pt
Publication of BR112013000559B1 publication Critical patent/BR112013000559B1/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/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
    • H04N19/139Analysis of motion vectors, e.g. their magnitude, direction, variance or reliability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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/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/129Scanning of coding units, e.g. zig-zag scan of transform coefficients or flexible macroblock ordering [FMO]
    • 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/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/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • H04N19/517Processing of motion vectors by encoding
    • H04N19/52Processing of motion vectors by encoding by predictive encoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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/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

método para codificar um vetor de movimento, método para decodificar um vetor de movimento, aparelho decodificador de um vetor de movimento trata-se de codificar e decodificar um vetor de movimento usando um vetor de movimento de um bloco atual de um quadro atual, que indica uma região correspondente ao quadro atual em um primeiro quadro de referência, e uma região para gerar um preditor do vetor de movimento, a partir de um vetor de movimento do boco adjacente tendo um vetor de movimento referente ao primeiro quadro de referência dentre blocos adjacentes codificados antes do quadro atual, e"um vetor de movimento de um bloco adjacente referente a um segundo quadro de referência diferente do primeiro quadro"de referência.

Description

Domínio Técnico
Formas de realização exemplares referem-se a métodos e aparelhos para codificar e decodificar uma imagem 5 estática e uma imagem em movimento e, mais particularmente, a métodos e aparelhos para codificar e decodificar um vetor de movimento de um bloco atual, por predição do vetor de movimento.
Arte Anterior
Em Codec, como codificação avançada de vídeo (AVC) MPEG-4 ou MPEG-4 H.264, vetores de movimento de blocos pré- codificados adjacentes a um bloco atual são usados parapredizer um vetor de movimento do bloco atual. Aqui, umamediana de vetores de movimento de blocos previamentecodificados, adjacentes ao lado esquerdo, superior esuperior direito de um bloco atual, é usada como um preditor do vetor de movimento do bloco atual.
Divulgação da Invenção Problema Técnico
É necessário fornecer um método distinto para gerar um preditor do vetor de movimento do bloco atual.
Solução para o Problema
Formas de realização exemplares fornecem métodos e aparelhos para codificar e decodificar um vetor de movimento.
Efeitos Vantajosos da Invenção
De acordo com formas de realização exemplares, vários preditores do vetor de movimento podem ser fornecidos, e a eficiência de compressão de imagem pode ser melhorada.
Breve Descrição dos Desenhos
A Fig. 1 é um diagrama de blocos de um aparelho para codificar um vídeo, de acordo com uma forma de realização exemplar;a Fig. 2 é um diagrama de blocos de um aparelho 15 para decodificar um video, de acordo com uma forma de realização exemplar;a Fig. 3 é um diagrama para descrever um conceito de unidades de codificação, de acordo com uma forma de realização exemplar;a Fig. 4 é um diagrama de blocos de um codificadorde imagens com base em unidades de codificação, de acordo com uma forma de realização exemplar;a Fig. 5 é um diagrama de blocos de umdecodificador de imagens com base em unidades de codificação, de acordo com uma forma de realização exemplar;a Fig. 6 é um diagrama, ilustrando unidades de codificação mais profundas, de acordo com profundidades, e partições, de acordo com uma forma de realização exemplar;a Fig. 7 é um diagrama para descrever uma relação entre uma unidade de codificação e unidades de transformação, de acordo com uma forma de realização exemplar;a Fig. 8 é um diagrama para descrever informações de codificação de unidades de codificação correspondentes a uma profundidade codificada, de acordo com uma forma de realização exemplar;a Fig. 9 é um diagrama de unidades de codificação mais profundas, de acordo com a profundidades, de acordo com uma forma de realização exemplar;as Figs. 10 a 12 são diagramas para descrever 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. 13 é um diagrama para descrever 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 informações do modo de codificação da Tabela 1;a Fig. 14 é um diagrama de blocos de um aparelho para codificar um vetor de movimento, de acordo com uma as Figs. 15A e 15B são diagramas de candidatos a preditor do vetor de movimento, segundo formas de realização exemplares;as Figs. 15C a 15E são diagramas de blocos tendo vários tamanhos, que são adjacentes a um bloco atual, de acordo com formas de realização exemplares;a Fig. 16 é um fluxograma, que ilustra um método para codificar um vetor de movimento, de acordo com uma forma de realização exemplar;a Fig. 17 é um fluxograma, ilustrando a geração de um preditor do vetor de movimento, de acordo com uma forma de realização exemplar;as Figs. 18A a 18C são diagramas de referência para descrever a determinação de um preditor do vetor de movimento, segundo formas de realização exemplares;as Figs. 19A a 19C são diagramas de referência para descrever a geração de candidatos a preditor do vetor de movimento, segundo formas de realização exemplares;a Fig. 20 é um diagrama para descrever um método para gerar um preditor do vetor de movimento em um modo implicito, de acordo com uma forma de realização exemplar;a Fig. 21 é um diagrama de blocos de um aparelho para decodificar um vetor de movimento, de acordo com uma forma de realização exemplar; ea Fig. 22 é um fluxograma, que ilustra um método para decodificar um vetor de movimento, de acordo com uma forma de realização exemplar.
Melhor Modo para Realizar a Invenção
De acordo com um aspecto das formas de realização exemplares, é fornecido um método para codificar um vetor 5 de movimento, o método composto por: realização de estimativa de movimento em um bloco atual de um quadro atual e geração de um vetor de movimento do bloco atual, o vetor de movimento do bloco atual indicando uma região em um primeiro quadro de referência, que corresponde ao bloco 10 atual, baseado no bloco atual de movimento estimado; determinação se um bloco adjacente, tendo um vetor de movimento referente ao primeiro quadro de referência, existe entre os blocos adjacentes codificados antes do bloco atual; uma dentre geração de um preditor do vetor de 15 movimento usando o vetor de movimento determinado do bloco adjacente referente ao primeiro quadro de referência, em resposta à determinação da existência do bloco adjacente tendo o vetor de movimento referente ao primeiro quadro de referência, e geração do preditor do vetor de movimento, 20 usando um vetor de movimento de um bloco adjacente referente a um segundo quadro de referência diferente do primeiro quadro de referência, em resposta à determinação que o bloco adjacente, tendo o vetor de movimento referente ao primeiro quadro de referência, não existe; e codificação 25 de uma diferença entre o preditor do vetor de movimento e o vetor de movimento do bloco atual, como informações do vetor de movimento do bloco atual.
De acordo com outro aspecto das formas de realização exemplares, é fornecido um método para 5 decodificar um. vetor de movimento, o método composto por: decodificação de informações sobre preditor do vetor de movimento do fluxo de bits, que indicam um preditor do vetor de movimento de um bloco atual do fluxo de bits; decodificação de uma diferença entre um vetor de movimento 10 do bloco atual e o preditor do vetor de movimento do bloco atual; geração do preditor do vetor de movimento do bloco atual com base nas informações sobre preditor do vetor de movimento decodificado; e restauração do vetor de movimento do bloco atual baseado no preditor do vetor de movimento e 15 na diferença decodificada, em que o preditor do vetor de movimento é um preditor do vetor de movimento gerado a partir de um dentre um vetor de movimento de um bloco adjacente referente a um primeiro quadro de referência, se existir um bloco com um vetor de movimento referente ao 20 primeiro quadro de referência idêntico ao primeiro bloco entre blocos adjacentes do bloco atual, e um vetor de movimento de um bloco adjacente referente a um segundo quadro de referência diferente do primeiro quadro de referência, se o bloco tendo o vetor de movimento referente 25 ao primeiro quadro de referência não existir entre os blocos adjacentes.
De acordo com outro aspecto das formas de realização exemplares, é fornecido um aparelho para codificar um vetor de movimento, o aparelho compreendendo: um estimador de movimento, que realiza estimativa de movimento de um bloco atual de um quadro atual e gera um vetor de movimento de um bloco atual, o vetor de movimento do bloco atual indicando uma região em um primeiro quadro de referência, que corresponde ao bloco atual, baseado no bloco atual de movimento estimado; e um codificador do vetor de movimento, que determina se existe um bloco adjacente tendo um vetor de movimento referente ao primeiro quadro de referência dentre blocos adjacentes codificados antes do bloco atual, um dentre gerar um preditor do vetor de movimento usando o vetor de movimento do bloco adjacente referente ao primeiro quadro de referência, em resposta à determinação de que o bloco adjacente tendo o vetor de movimento referente ao primeiro quadro de referência existe, e gerar o preditor do vetor de movimento usando um vetor de movimento de um bloco adjacente referente a um segundo quadro de referência diferente do primeiro quadro de referência, em resposta à determinação que o bloco adjacente, tendo o vetor de movimento referente ao primeiro quadro de referência, não existe, e codifica uma diferença entre o preditor do vetor de movimento e o vetor de movimento do bloco atual, como informações do vetor de movimento do bloco atual.
De acordo com outro aspecto das formas de realização exemplares, é fornecido um aparelho para decodificar um vetor de movimento, o aparelho compreendendo: um decodificador do vetor de movimento, que 5 decodifica, a partir de um fluxo de bits, informações sobre preditor do vetor de movimento, que indicam um preditor do vetor de movimento de um bloco atual do fluxo de bits, e decodifica uma diferença entre um vetor de movimento do bloco atual e o preditor do vetor de movimento do bloco 10 atual; e um compensador de movimento, que gera o preditor do vetor de movimento do bloco atual baseado nas informações decodificadas sobre preditor do vetor de movimento, e restaura o vetor de movimento do bloco atual baseado no preditor do vetor de movimento e na diferença 15 decodificada, em que o preditor do vetor de movimento é um preditor do vetor de movimento gerado a partir de um dentre um vetor de movimento de um bloco adjacente referente a um primeiro quadro de referência, se um bloco com um vetor de movimento referente ao primeiro quadro de referência 20 idêntico ao primeiro bloco existir entre os blocos adjacentes do bloco atual, e um vetor de movimento de um bloco adjacente referente a um segundo quadro de referência diferente do primeiro quadro de referência, se o bloco com o vetor de movimento referente ao primeiro quadro de 25 referência não existir entre o bloco adjacente.
Modo de Realização da Invenção
Doravante, as formas de realização exemplares serão descritas mais plenamente, tendo como referência os desenhos anexos, em que as formas de realização exemplares são mostradas.
A Fig. 1 é um diagrama de blocos de um aparelho codificador de video 100, de acordo com uma forma de realização exemplar.
O aparelho codificador de video 100 inclui um divisor da unidade de codificação máxima 110, um determinador da unidade de codificação 120 e uma unidade transmissora 130.
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 o 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, de acordo com uma forma de realização exemplar, pode ser uma unidade de dados tendo um tamanho de 32 x 32, 64 x 64, 128 x 128, 256 x 256 etc., onde um formato da unidade de dados é um quadrado com uma largura e comprimento em quadrados de 2, que é superior a 8. Os dados de imagem podem ser transmitidos para o determinador da unidade de codificação 120, de acordo com pelo menos uma unidade de codificação máxima.
Uma unidade de codificação, de acordo com uma forma de realização exemplar, pode ser caracterizada por um tamanho e profundidade máximos. A profundidade indica o número de vezes, que a unidade de codificação foi dividida 5 espacialmente a partir da unidade de codificação máxima, e conforme a profundidade aumenta, unidades de codificação mais profundas, de acordo com profundidades, podem ser divididas, a partir da unidade de codificação máxima em uma unidade de codificação minima. Uma profundidade da unidade 10 de codificação máxima é uma profundidade mais superior e uma profundidade da unidade de codificação minima é uma profundidade mais inferior. Uma vez que um tamanho de uma unidade de codificação correspondente a cada profundidade diminui, à medida que a profundidade da unidade de 15 codificação máxima aumenta, uma unidade de codificação correspondente a uma profundidade superior pode incluir uma pluralidade de unidades de codificação correspondentes a profundidades mais baixas.
Conforme acima descrito, os dados de imagem do 20 quadro atual são divididos nas unidades de codificação máximas, de acordo com um tamanho máximo da unidade de codificação, e cada uma das unidades de codificação máximas pode incluir unidades de codificação mais profundas, que são divididas de acordo com profundidades. Uma vez que a 25 unidade de codificação máxima, de acordo com uma forma de realização exemplar, é dividida de acordo com profundidades, os dados de imagem de um dominio espacial incluido na unidade de codificação máxima podem ser classificados hierarquicamente, de acordo com profundidades.
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.
O determinador da unidade de codificação 120 codifica pelo menos uma região dividida, obtida, dividindoseuma região da unidade de codificação máxima, de acordo com profundidades, e determina uma profundidade para transmitir 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. A profundidade codificada determinada e os dados de imagem codificados, de acordo com a profundidade determinada codificada, são transmitidos para a unidade emissora 130.
Os dados de imagem da unidade de codificação máxima são codificados, com base nas unidades de codificação maisprofundas 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 5 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.
O tamanho da unidade de codificação máxima é dividido, quando uma unidade de codificação é hierarquicamente dividida, de acordo com profundidades, e quando o número de unidades de codificação aumenta. Além disso, mesmo se as unidades de codificação corresponderem à mesma profundidade em uma unidade de codificação máxima, a 15 necessidade da divisão de cada uma das unidades de codificação correspondentes à mesma profundidade em uma menor profundidade é determinada, 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 incluidos em uma unidade de codificação máxima, os dados de imagem são divididos em regiões, de acordo com as profundidades, e os erros de codificação podem ser diferentes, de acordo com regiões em uma 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 daunidade de codificação máxima podem ser divididos, de acordo com unidades de codificação de pelo menos uma 5 profundidade codificada.
Nesse sentido, o determinador da unidade de codificação 120 pode determinar unidades de codificação tendo uma estrutura em árvore incluida na unidade de codificação máxima. As unidades de codificação tendo uma 10 estrutura em árvore, de acordo com uma forma de realização exemplar, 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 15 unidade de codificação de uma 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.Uma profundidade máxima, de acordo com uma forma de realização exemplar, é um índice relacionado ao número de 25 divisões, a partir de uma unidade de codificação máxima em profundidade máxima, de acordo com uma forma de realização • exemplar, pode denotar o número total de divisões, a partir da unidade de codificação máxima na unidade de codificação minima. Uma segunda profundidade máxima, de acordo com uma 5 forma de realização exemplar, pode denotar o número total de níveis de profundidade, a partir da unidade de codificação máxima até a unidade de codificação mínima. Por exemplo, quando a profundidade da unidade de codificação máxima for 0, uma profundidade de uma unidade de 10 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 em duas vezes, pode ser definida como 2. Aqui, se a unidade de codificação 15 mínima for uma unidade de codificação, em que a unidade de codificação máxima é dividida quatro vezes, 5 níveis de profundidade das profundidades 0, 1, 2, 3 e 4 existem e, assim, a primeira profundidade máxima pode ser definida• como 4, e a segunda profundidade máxima pode ser definida como 5.
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 25 profundas, de acordo com uma profundidade igual, ou profundidades menores que a profundidade máxima, com a unidade de codificação máxima.
Uma vez que o número de unidades de codificação mais profundas aumenta, sempre que a unidade de codificação máxima é dividida, de acordo com profundidades, codificação 5 incluindo a codificação de predição e a transformação é realizada em todas as unidades de codificação mais profundas geradas, conforme 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 10 de codificação de uma profundidade atual, em uma unidade de codificação máxima.
O aparelho codificador de video 100 pode selecionar um tamanho ou formato de uma unidade de dados para codificar os dados de imagem. Para codificar os dados de 15 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.
Por exemplo, o aparelho codificador de video 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 para realizar a codificação de predição nos dados de imagem, na unidade de codificação.
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 5 em unidades de codificação correspondentes a uma menor profundidade. Doravante, a unidade de codificação, que não " é mais dividida e se torna uma unidade básica para codificação de predição, será agora designada como uma unidade de predição. Uma partição obtida, dividindo-se a 10 unidade de predição, pode incluir uma unidade de predição, ou uma unidade de dados obtida, dividindo-se pelo menos uma „ altura ou largura da unidade de predição.
Por exemplo, quando uma unidade de codificação de 2Nx2N (onde N é um n°. inteiro positivo) não é mais 15 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, dividindo-se simetricamente - uma altura ou largura da unidade de predição, partições obtidas, dividindo-se assimetricamente a altura ou largura da unidade de predição, como l:n ou n:l, partições, que são obtidas, dividindo-se geometricamente a unidade de predição, e partições tendo formatos arbitrários.
Um modo de predição da unidade de predição pode ser 25 pelo menos um de um 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 é realizada, de modo independente, na unidade de predição em uma em uma unidade 5 de codificação, selecionando, assim, um modo de predição tendo um menor erro de codificação.
O aparelho codificador de vídeo 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 10 codificação para codificar os dados de imagem, mas também com base em uma unidade de dados, que é diferente da unidade de codificação.
Para realizar a transformação na unidade de codificação, a transformação pode ser realizada com base em 15 uma unidade de dados tendo um tamanho menor ou igual à unidade de codificação. Por exemplo, a unidade de dados para a transformação pode incluir uma unidade de dados para um modo intra e uma unidade de dados para um modo inter.
Uma unidade de dados usada como base da transformação será agora referida como uma unidade de transformação. Da mesma forma que para a unidade de codificação, a unidade de transformação na unidade de codificação pode ser recursivamente dividida em regiões com menores tamanhos, para que a unidade de transformação possa 25 ser determinada independentemente em unidades de regiões.
Assim, dados residuais na unidade de codificação podem ser divididos, de acordo com a unidade de transformação tendo a estrutura em árvore, de acordo com profundidades de transformação.
Uma profundidade de transformação, indicando o número de divisões 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 for também 2Nx2N, uma profundidade de transformação pode ser 1, quando o tamanho da unidade de transformação for, assim, NxN, e uma profundidade de transformação pode ser 2, quando o tamanho da unidade de transformação for, assim, N/2xN/2. Em outras palavras, as unidades de transformação, tendo a estrutura em árvore, podem ser definidas, de acordo com as profundidades da transformação.
Informações de codificação, de acordo com unidades de codificação correspondentes a uma profundidade codificada, requerem não só informações sobre a profundidade codificada, mas também informações 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.
Unidades de codificação, de acordo com uma estrutura em árvore em uma unidade de codificação máxima, e 5 um método para determinar uma partição, de acordo com formas de realização exemplares, serão descritos mais tarde em detalhes com referência às Figs. 3 a 12.
O determinador da unidade de codificação 120 pode medir um erro de codificação das unidades de codificação 10 mais profundas, de acordo com profundidades, usando Otimização de Taxa-distorção, baseado em multiplicadores de Lagrange.
A unidade emissora 130 transmite os dados de imagem da unidade de codificação máxima, que são codificados, 15 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.
Os dados de imagem codificados podem ser obtidos, 20 pela codificação dos dados residuais de uma imagem.
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 25 tamanho da unidade de transformação.
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 5 da unidade de codificação atual for a profundidade codificada, dados de imagem na unidade de codificação atual são codificados e transmitidos 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 menor profundidade e, assim, as informações de divisão podem ser definidas, para dividir a unidade de codificação atual, 15 para obter as unidades de codificação da menor profundidade.
Se a profundidade atual não for a profundidade codificada, codificação é realizada na unidade de codificação, que é dividida na unidade de codificação da 20 menor profundidade. Uma vez que pelo menos uma unidade de codificação da menor profundidade existe em uma unidade de codificação da profundidade atual, a codificação é executada repetidamente em cada unidade de codificação da menor profundidade e, portanto, a codificação pode ser 25 recursivamente realizada para as unidades de codificação tendo a mesma profundidade.
Uma vez que as unidades de codificação tendo uma estrutura em árvore são determinadas para uma unidade de codificação máxima, e informações sobre pelo menos um modo de codificação são determinadas para uma unidade de 5 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 10 com localizações, uma vez 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.
Assim, a unidade emissora 130 pode atribuir 15 informações sobre codificação de uma profundidade codificada e um modo de codificação correspondente para pelo menos uma dentre a unidade de codificação, a unidade de predição, e uma unidade minima incluida na unidade de codificação máxima.
A unidade minima, de acordo com uma forma de realização exemplar, é uma unidade de dados retangulares obtida, dividindo-se a unidade de codificação minima, que constitui a menor profundidade, por 4. Alternativamente, a unidade minima pode ser uma unidade máxima de dados 25 retangulares, que pode ser incluida em todas as unidades de codificação, unidades de predição, unidades de partição, e unidades de transformação incluídas na unidade decodificação máxima.
Por exemplo, as informações de codificação transmitidas através da unidade emissora 130 podem ser 5 classificadas em informações de codificação, de acordo com unidades de codificação, e informações de codificação, de acordo com unidades de predição. As informações de codificação, de acordo com as unidades de codificação, podem incluir as informações sobre o modo de predição e 10 sobre o tamanho das partições. As informações de codificação, de acordo com as unidades de predição, podem incluir informações sobre uma direção estimada de um modo inter, sobre um índice de imagens de referência do modo inter, sobre um vetor de movimento, sobre um componente de 15 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 num cabeçalho de um 20 fluxo de bits.
No aparelho codificador de vídeo 100, a unidade de codificação mais profunda pode ser uma unidade de codificação obtida, dividindo-se uma altura ou largura de uma unidade de codificação de uma profundidade superior, 25 que é uma camada acima, por dois. Em outras palavras, quando o tamanho da unidade de codificação da profundidade atual for 2Nx2N, o tamanho da unidade de codificação da menor profundidade é NxN. Além disso, a unidade de codificação da profundidade atual tendo o tamanho de 2Nx2N pode incluir no máximo 4 da unidade de codificação da menor 5 profundidade.
Nesse sentido, o aparelho codificador de video 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 10 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, uma vez que a codificação pode ser realizada em cada unidade de codificação máxima usando qualquer um dos vários 15 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.
Assim, se uma imagem de alta resolução ou grande quantidade de dados for codificada em um macrobloco 20 convencional, um número de macroblocos por quadro aumenta excessivamente. Assim, um número de segmentos de informações compactadas, geradas para cada macrobloco aumenta e, assim, é difícil transmitir as informações compactadas, e a eficiência da compressão de dados diminui. 25 No entanto, utilizando o aparelho codificador de video 100,a eficiência da compressão de imagem pode ser aumentada, uma vez que uma unidade de codificação é ajustada, considerando ao mesmo tempo as caracteristicas de uma imagem, enquanto que aumentando um tamanho máximo de uma unidade de codificação, considerando um tamanho da imagem.
A Fig. 2 é um diagrama de blocos de um aparelho decodif icador de video 200, de acordo com uma forma de realização exemplar.
O aparelho decodificador de video 200 inclui um receptor 210, extrator de informações sobre codificação e 10 dados de imagem 220, e um decodificador de dados de imagem 230. 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 os vários modos de codificação, para diversas operações do aparelho 15 decodificador de video 200, são semelhantes aos descritos com referência à Fig. 1 e ao aparelho codificador de video.
O receptor 210 recebe e analisa um fluxo de bits de um video codificado. O extrator de informações sobre codificação e dados de imagem 220 extrai dados de imagem 20 codificados para cada unidade de codificação do fluxo de bits analisado, onde as unidades de codificação têm uma estrutura em árvore, de acordo com cada unidade de codificação máxima, e envia os dados de imagem extraidos para o decodificador de dados de imagem 230, O extrator de 25 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, de um cabeçalho sobre o quadro atual.
Além disso, o extrator de informações sobre codificação e dados de imagem 220 extrai informações sobre 5 uma profundidade codificada e um modo de codificação para as unidades de codificação tendo uma estruturam em árvore, de acordo com cada unidade 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 10 transmitidas 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.
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 obter informações sobre pelo menos uma unidade de codificação correspondente à profundidade codificada, e informações sobre um modo de 20 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 de divisão, de acordo com 25 profundidades, podem ser extraídas como as informações sobre a profundidade codificada.
As informações sobre a profundidade codificada e o modo de codificação, de acordo com cada unidade 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, tal como o aparelho codificador de vídeo 100, executa repetidamente a codificação para cada unidade de codificação mais profunda, de acordo com profundidades, de acordo com cada unidade de codificação máxima. Nesse sentido, o aparelho decodificador de vídeo 200 pode restaurar uma imagem, por decodificação dos dados de imagem, de acordo com uma profundidade codificada e um modo de codificação, que gera o erro mínimo de codificação.
Uma vez que informações de codificação sobre a profundidade codificada e o modo de codificação podem ser atribuídas a uma unidade de dados predeterminada dentre uma unidade de codificação correspondente, uma unidade de 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 as unidades de dados incluídas na mesma unidade de codificação máxima.
O decodificador de dados de imagem 230 restaura o quadro atual, por decodificação dos dados de imagem em cada unidade 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áximas. Em outras palavras, o decodificador de dados de imagem 230 pode decodificar os dados de imagem codificados, com base nas informações extraídas sobre o tipo de partição, o modo de 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.
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.
Além disso, o decodificador de dados de imagem 230 pode realizar transformação inversa, de acordo com cada unidade de transformação na unidade de codificação, com informações sobre o tamanho da unidade de transformação da unidade de codificação, de acordo com profundidades codificadas, de forma c i executar a transformação inversa, de acordo com unidades de codificação máximas.
O decodificador de dados de imagem 230 pode determinar pelo menos uma profundidade codificada de uma unidade de codificação máxima atual, usando informações de divisão de acordo com profundidades. Se as informações de divisão indicarem, que os dados de imagem não são mais divididos na profundidade atual, a profundidade atual é uma profundidade codificada. Nesse sentido, o decodificador de . dados de imagem 230 pode decodificar dados codificados de pelo menos uma unidade de codificação correspondente a cada profundidade codificada na unidade de codificação máxima 15 atual, 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.
Em outras palavras, unidades de predição contendo as informações de codificação, incluindo as mesmas informações de divisão, podem ser obtidas, observando as informações de codificação definidas, atribuídas para a I1 unidade de dados predeterminada dentre a unidade de codificação, a unidade de predição, e a unidade mínima, e 25 as unidades de dados obtidas podem ser consideradas como uma unidade de dados a ser decodificada pelo decodificador de dados de imagem 230 no mesmo modo de codificação.
O aparelho decodificador de vídeo 200 pode obter informações sobre pelo menos uma unidade de codificação, que gera o erro mínimo de codificação, quando codificação é 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.
Assim, mesmo se dados de imagem tiverem alta resolução e uma grande quantidade de dados, os dados de imagem podem ser eficientemente decodificados e restaurados, usando um tamanho de uma unidade de codificação e um modo de codificação, que são adaptavelmente determinados, de acordo com características dos dados de imagem, por meio de informações sobre um modo de codificação ideal recebidas de um codificador.
Um método para determinar unidades de codificação com 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. 3 a 13.
A Fig. 3 é um diagrama para descrever um conceito de unidades de codificação, de acordo com uma forma de realização exemplar.
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 10 partições de 8 x 8, 8x4, 4 x 8 ou 4 x 4.
Nos dados de video 310, uma resolução é de 1920 x 1080, um tamanho máximo de uma unidade de codificação é 64, e uma profundidade máxima é de 2. Nos dados de video 320, uma resolução é de 192 0 x 1080, um tamanho máximo de uma 15 unidade de codificação é 64, e uma profundidade máxima é de3. Nos dados de video 330, uma resolução é de 352 x 288, um tamanho máximo de uma unidade de codificação é 16, e uma profundidade máxima é de 1. A profundidade máxima mostrada na Fig. 3 denota um número total de divisões, a partir de 20 uma unidade de codificação máxima em uma unidade minima deI decodificação.
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 25 eficiência de codificação, mas também refletir com precisão as características de uma imagem. Assim, o tamanho máximo da unidade de codificação dos dados de video 310 e 320, tendo a maior resolução do que os dados de video 330, pode ser 64.
Uma vez que a profundidade máxima dos dados de 5 video 310 é 2, unidades de codificação 315 dos dados de video 310 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 32 e 16, uma vez que profundidades são aumentadas em duas camadas, por 10 divisão da unidade de codificação máxima em duas vezes.
Entretanto, uma vez que a profundidade máxima dos dados de video 330 é 1, unidades de codificação 335 dos dados de video 330 podem incluir uma unidade de codificação máxima tendo um tamanho de eixo longo de 16, e unidades de 15 codificação tendo um tamanho de eixo longo de 8, visto que profundidades são aumentadas em uma camada, dividindo-se a unidade de codificação máxima por uma vez.
Uma vez que a profundidade máxima dos dados de video 320 é 3, unidades de codificação 325 dos dados de 20 video 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 camadas, dividindo-se a unidade de codificação máxima por três 25 vezes. Quando uma profundidade aumenta, informações detalhadas podem ser precisamente expressas.
A Fig. 4 é um diagrama de blocos de um codificador de imagens 400 com base nas unidades de codificação, de acordo com uma forma de realização exemplar.
O codificador de imagens 400 executa operações do 5 determinador da unidade de codificação 120 do aparelho codificador de video 100, para codificar dados de imagem. Em outras palavras, um preditor intra 410 executa predição intra nas unidades de codificação em um modo intra dentre uma moldura atual 405, e um estimador de movimento 420, e 10 um compensador de movimento 425 executa estimativa inter e compensação de movimento nas unidades de codificação em um modo inter dentre a moldura atual 405, usando a moldura atual 405 e uma moldura de referência 495.
Dados transmitidos pelo preditor intra 410, o 15 estimador de movimento 420, e o compensador de movimento 425, são transmitidos 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 dominio espacial, por meio de um 20 quantizador inverso 460 e um transformador inverso 470, e os dados restaurados no dominio espacial são transmitidos como a moldura de referência 4 95, após serem pós- processados através uma unidade de desbloqueio 480 e uma unidade de filtragem de circuito 490. O coeficiente de 25 transformação quantizada pode ser transmitido como um fluxo de bits 455, através de um codificador de entropia 450.
A fim de que o codificador de imagens 400 seja aplicado no aparelho codificador de video 100, todos os elementos do codificador de imagens 400, ou seja, o preditor intra 410, o estimador de movimento 420, o 5 compensador de movimento 425, o 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 10 de codificação dentre unidades tendo uma estrutura em árvore, ao considerar a profundidade máxima de cada unidade de codificação máxima.
Especificamente, o preditor intra 410, o estimador de movimento 420, e o compensador de movimento 425 15 determinam partições e um modo de predição de cada unidade de codificação entre 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 de codificação máxima atual, e o transformador 430 determina o tamanho da unidade 2.0 de transformação em cada unidade de codificação entre as unidades de codificação tendo uma estrutura em árvore.
A Fig. 5 é um diagrama de blocos de um decodificador de imagens 500 com base em unidades de codificação, de acordo com uma forma de realização 25 exemplar. ■
Um analisador 510 analisa dados de imagem codificados, a serem decodifiçados, e informações sobre codificação necessária para decodificação, a partir de um fluxo de bits 505. Os dados de imagem codificados são transmitidos 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 para dados de imagem em um dominio espacial, através de um transformador inverso 540.
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 dominio espacial, e um compensador de movimento 560 executa compensação de movimento nas unidades de codificação em um modo inter, usando uma moldura de referência 585.
Os dados de imagem no dominio espacial, que passaram pelo preditor intra 550 e o compensador de movimento 560, podem ser transmitidos como uma moldura restaurada 595, após serem pós-processados através de uma unidade de desbloqueio 570 e uma unidade de filtragem de circuito. 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 transmitidos como a moldura de referência 585.
Para decodificar os dados de imagem no decodificador de dados de imagem 230 do aparelho decodificador de video 200, o decodificador de imagens 500 pode realizar operações, que são executadas após o analisador 510.
A fim de que o decodificador de imagens 500 seja aplicado no aparelho decodificador de video 200, todos os 5 elementos do decodificador de imagens 500, ou seja, o analisador 510, o decodificador de entropia 520, o quantizador inverso 530, o transformador inverso 540, o preditor intra 550, o compensador de movimento 560, a unidade de desbloqueio 570, e a unidade de filtragem de 10 circuito 580, executam operações com base nas unidades de codificação com uma estrutura em árvore para cada unidade de codificação máxima.
Especificamente, a predição intra 550 e o compensador de movimento 560 realizam operações com base em 15 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.
A Fig. 6 é um diagrama, ilustrando unidades de codificação mais profundas, de acordo com profundidades, e partições, de acordo com uma forma de realização exemplar.
O aparelho codificador de video 100 e o aparelho decodificador de video 200 usam unidades de codificação 25 hierárquicas, para considerar as características de uma imagem. Uma altura máxima, uma largura máxima, profundidade máxima das unidades de codificação podem ser determinadas, de forma 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 5 codificação mais profundas, de acordo com profundidades, podem ser determinados, de acordo com o tamanho máximo predeterminado da unidade de codificação.
Em uma estrutura hierárquica 600 das unidades de codificação, de acordo com uma forma de realização 10 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 4. Visto que uma profundidade aumenta ao longo de um eixo vertical da estrutura hierárquica 600, uma altura e uma largura da unidade de codificação mais profunda são, 15 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.
Em outras palavras, uma unidade de codificação 610 20 é uma unidade de codificação máxima na estrutura hierárquica 600, onde a 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 25 profundidade de 1, uma unidade de codificação 630 tendo um tamanho de 16 x 16 e uma profundidade de 2, uma unidade de codificação 640 tendo um tamanho de 8 x 8 e uma profundidade de 3, e uma unidade de codificação 650 tendo um tamanho de 4 x 4 e uma profundidade de 4, existem. A unidade de codificação 650, tendo o tamanho de 4 x 4 e a 5 profundidade de 4, é uma unidade de codificação minima.
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 cada profundidade. Em outras palavras, se a unidade de codificação 610, tendo o tamanho de 64 x 64 e a 10 profundidade de 0, for uma unidade de predição, a unidade de predição pode ser dividida em partições incluídas na unidade de codificação 610, ou seja, uma partição 610 tendo um tamanho de 64 x 64, partições 612 tendo o tamanho de 64 x 32, e partições 614 tendo o tamanho de 32 x 64, ou 15 partições 616 tendo o tamanho de 32 x 32.
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 20 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.
Da mesma forma, uma unidade de predição da unidade de codificação 630 tendo o tamanho de 16 x 16 e a 25 profundidade de 2 pode ser dividida em partições constants da 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.
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 constantes da 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, 10 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.
A unidade de codificação 650 tendo o tamanho de 4 x 4 e a profundidade de 4 é a unidade de codificação mínima e 15 uma unidade de codificação da menor profundidade. Uma unidade de predição da unidade de codificação 650 só é atribuída a uma partição tendo um tamanho de 4 x 4.
Para determinar pelo menos uma profundidade codificada das unidades de codificação, que constituem a 20 unidade de codificação máxima 610, o determinador da unidade de codificação 120 do aparelho codificador de vídeo 100 executa codificação para unidades de codificação correspondentes a cada profundidade incluída na unidade de codificação máxima 610.
Um número de unidades de codificação mais profundas, de acordo com profundidades incluindo dados na mesma faixa e no 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 estão incluidos em uma 5 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 à 10 profundidade de 2 são, cada qual, codificadas.
Para realizar codificação para uma profundidade atual entre as profundidades, um menor erro de codificação pode ser escolhido para a profundidade atual, através da realização de codificação para cada unidade de predição nas 15 unidades de codificação correspondentes à profundidade atual, ao longo do eixo horizontal da estrutura hierárquica 600. Como alternativa, o erro minimo de codificação pode ser procurado, comparando os erros minimos de codificação, de acordo com profundidades, através da realização de 20 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 minimo de codificação na unidade de codificação 610 podem ser selecionadas, conforme a profundidade codificada e um tipo 25 de partição da unidade de codificação 610.
A Fig. 7 é um diagrama para descrever 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.
O aparelho codificador de vídeo 100, ou o aparelho decodificador de vídeo 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 10 podem ser selecionados, com base em unidades de dados, que não são maiores do que uma unidade de codificação correspondente.
Por exemplo, no aparelho codificador de vídeo 100, ou no aparelho decodificador de vídeo 200, se um tamanho da 15 unidade de codificação 710 for 64 x 64, transformação pode ser executada, usando as unidades de transformação 720 tendo um tamanho de 32 x 32.
Além disso, dados da unidade de codificação 710 tendo o tamanho de 64 x 64 podem ser codificados, por meio 20 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 codificação pode ser selecionada.
A Fig. 8 é um diagrama para descrever informações de codificação de unidades de codificação correspondentes a uma profundidade codificada, de acordo com uma forma de realização exemplar.
A unidade emissora 130 do aparelho codificador de video 100 pode codificar e transmitir informações 800 sobre 5 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.
As informações 800 indicam informações sobre um formato de uma partição obtida, dividindo-se 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. Por exemplo, uma 15 unidade de codificação atual CU_0 tendo um tamanho de 2Nx2N pode ser dividida em qualquer uma de uma partição 802 tendo um tamanho de 2Nx2N, uma partição 804 tendo um tamanho de 2NxN, uma partição 806 tendo um tamanho de Nx2N, e uma partição 808 tendo um tamanho de NxN. Aqui, as informações 20 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.
As informações 810 indicam um modo de predição de 25 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.
As informações 820 indicam uma unidade de transformação a ser baseada, quando transformação for 5 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 de unidade de transformação intra 828.
O extrator de informações sobre codificação e dados de imagem 220 do aparelho decodificador de video 200 pode extrair e usar as informações 800, 810, e 820 para decodificação, de acordo com cada unidade de codificação 15 mais profunda.
A Fig. 9 é um diagrama das unidades de codificação mais profundas, de acordo com profundidades, de acordo com uma forma de realização exemplar.
Informações de divisão podem ser usadas para 20 indicar uma mudança de profundidade. As informações de divisão indicam se uma unidade de codificação de profundidade atual foi dividida em unidades de codificação de menor profundidade.
Uma unidade de predição 910 para codificar por 25 predição uma unidade de codificação 900, tendo uma profundidade de 0 e um tamanho de 2N_0x2N_0, pode incluir partições de um tipo de partição 912 tendo um tamanho de 2N_0x2N_0, um tipo de partição 914 tendo um tamanho de 2N_0xN_0, um tipo de partição 916 tendo um tamanho de N_0x2N_0, e um tipo de partição 918 tendo um tamanho de 5 N_0xN_0. A Fig. 9 ilustra apenas os tipos de partição 912 a 918 obtidos, dividindo-se simetricamente a 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 10 formato predeterminado, e partições tendo um formato geométrico.
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 15 tendo um tamanho de N_0x2N_0, e quatro partições tendo um tamanho de N_0xN_0, de acordo com cada tipo de partição. A codificação 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 20 predição em um modo de ignorar é realizada somente na partição com o tamanho de 2N_0x2N_0.
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.
Se o erro de codificação for o menor deles no tipo de partição 918, uma profundidade é alterada de 0 para 1, paradividir o tipo de partição 918 na operação 920, e codificação é executada repetidamente nas unidades de codificação 930 tendo uma profundidade de 2 e um tamanho de N_0xN_0, para procurar um erro minimo de codificação.
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_lx2N_l (= N_0xN_0) , pode incluir partições de um tipo de partição 942 tendo um tamanho de 2N_lx2N_l, um tipo de partição 944 tendo um 10 tamanho de 2N_lxN_l, um tipo de partição 94 6 tendo um tamanho de N_lx2N_l, e um tipo de partição 948 tendo um tamanho de N_lxN_l.
Se um erro de codificação for o menor deles no tipo de partição 948, uma profundidade é alterada de 1 para 2, 15 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.
Quando uma profundidade máxima for d, a operação de 20 divisão, de acordo com cada profundidade, 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 uma dentre 0 a d-2. Em outras palavras, quando a codificação for realizada, até quando a 25 profundidade for d-1, depois de uma unidade de codificação correspondente a uma profundidade de d-2 ser dividida na operação 970, uma unidade de 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 5 tamanho de 2N_(d-l)x2N_(d-l), 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).
Codificação de predição pode ser realizada 10 repetidamente em uma partição tendo um tamanho de 2N_(d- l)x2N_(d-l), duas partições tendo um tamanho de 2N_(d- l)xN_(d-l), duas partições tendo um tamanho de N_(d- l)x2N_(d-l), quatro partições tendo um tamanho de N_(d- l)xN_(d-l), dentre os tipos de partição 992 a 998, para 15 procurar um tipo de partição tendo um erro minimo de codificação.
Mesmo quando o tipo de partição 998 tiver o erro minimo de codificação, uma vez que uma profundidade máxima é d, uma unidade de codificação CU_(d-l) tendo uma 20 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 de codificação máxima atual 900, é determinada como d-1, e um tipo de partição da unidade de codificação máxima atual 900 25 pode ser determinado como N_(d-1)xN_(d-1). Além disso, uma vez que a profundidade máxima é de d e uma unidade minima de codificação 980, tendo uma menor profundidade limite de d-1, não é mais dividida em uma menor profundidade, informações de divisão para a unidade minima de codificação 980 não são definidas.
Uma unidade de dados 999 pode ser uma unidade minima para a unidade de codificação máxima atual. Uma unidade minima, de acordo com uma forma de realização exemplar, pode ser uma unidade de dados retangulares obtida, dividindo-se uma unidade de codificação minima 980 por 4. Realizando repetidamente a codificação, o aparelho codificador de video 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 correspondente e um modo de predição como um modo de codificação da profundidade codificada.
Assim, os erros minimos de codificação, de acordo com profundidades, são comparados em todas as profundidades 20 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 25 de codificação. Além disso, uma vez que uma unidade de codificação é dividida a partir de uma profundidade de 0 em 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.
O extrator de informações sobre codificação e dados de imagem 220 do aparelho decodificador de video 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 10 aparelho decodificador de video 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 15 decodificação.
As Figs. 10 a 12 são diagramas para descrever 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.
As unidades de codificação 1010 são unidades de codificação tendo uma estrutura em árvore, correspondentes às profundidades codificadas determinadas pelo aparelho codificador de video 100, em uma unidade de codificação máxima. As unidades de predição 1060 são partições de 25 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.
Quando uma profundidade de uma unidade de codificação máxima for 0 nas unidades de codificação 1010, 5 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, 10 1044 e 1046 são 4.
Nas unidades de predição 1060, algumas unidades de codificação 1014, 1016, 1022, 1032, 1048, 1050, 1052 e 1054 ‘ são obtidas, dividindo-se as unidades de codificação nas unidades de codificação 1010. Em outras palavras, tipos de 15 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 20 unidades de codificação 1010 são menores ou iguais a cada unidade de codificação.
Transformação ou transformação inversa é realizada sobre dados de imagem da unidade de codificação 1052 nas unidades de transformação 1070 em uma unidade de dados, que 25 é menor do que a unidade de codificação 1052. Além disso,as unidades de codificação 1014, 1016, 1022, 1032, 1048, 1050 e 1052 nas unidades de transformação 1070 são diferentes daquelas nas unidades de predição 1060, em termos de tamanhos e formatos. Em outras palavras, os aparelhos codificadores e decodificadores de video 100 e 5 200 podem efetuar, individualmente, predição intra,estimativa de movimento, compensação de movimento, transformação, e transformação inversa em uma unidade de dados, na mesma unidade de codificação.
Nesse sentido, codificação é recursivamente 10 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. 15 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 1 mostra as informações de 20 codificação, que podem ser definidas pelos aparelhos codificadores e decodificadores de video 100 e 200.
Figure img0001
1 A unidade emissora 130 do aparelho codificador de video 100 pode transmitir as informações de codificação sobre as unidades de codificação tendo uma estrutura em 5 árvore, e o extrator de informações sobre codificação e dados de imagem 220 do aparelho decodificador de video 200 pode extrair as informações de codificação sobre as unidades de codificação tendo uma estrutura em árvore, a partir de um fluxo de bits recebido.
Informações de divisão indicam se uma unidade de codificação atual foi dividida em unidades de codificação de uma menor profundidade. Se informações de divisão de profundidade atual d forem 0, uma profundidade, em que uma unidade de codificação atual não é mais dividida em uma menor profundidade, é uma profundidade codificada. 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 5 informações de divisão, codificação é independentemente realizada em quatro unidades de codificação de divisão de uma menor profundidade.
Um modo de predição pode ser aquele dentre um modo intra, um modo inter, e um modo de ignorar. 0 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.
As informações sobre o tipo de partição podem indicar tipos simétricos de partição tendo tamanhos de 2Nx2N, 2NxN, Nx2N e NxN, que são obtidos, dividindo-se simetricamente uma altura ou largura de uma unidade de predição, e tipos assimétricos de partição tendo tamanhos de 2NxnU, 2NxnD, nLx2N e nRx2N, que são obtidos dividindoseassimetricamente a altura ou largura da unidade de predição. Os tipos assimétricos de partição, tendo os tamanhos de 2NxnU e 2NxnD, podem ser obtidos respectivamente, dividindo-se a altura da unidade de predição em 1:3 e 3:1, e os tipos assimétricos de partição, tendo os tamanhos de nLx2N e nRx2N, podem ser obtidos respectivamente, dividindo-se a largura da unidade de predição em 1:3 e 3:1
O tamanho da unidade de transformação pode ser definido, como sendo dois tipos no modo intra e dois tipos no modo inter. Em outras palavras, se informações sobre divisão da unidade de transformação forem 0, o tamanho da 5 unidade de transformação pode ser 2Nx2N, que é o tamanho da unidade de codificação atual. Se informações de divisão da unidade de transformação forem 1, as unidades de transformação podem ser obtidas, dividindo-se a unidade de codificação atual. Além disso, se um tipo de partição da 10 unidade de codificação corrente, tendo o tamanho de 2Nx2N, for um tipo simétrico de partição, 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 assimétrico de partição, o tamanho da unidade de transformação pode ser N/2xN/2.
As informações de codificação sobre unidades de codificação tendo uma estrutura em árvore podem incluir pelo menos uma dentre uma unidade de codificação correspondente a uma profundidade codificada, uma unidade 20 de predição, e uma unidade mínima. A unidade de codificação correspondente à profundidade codificada pode incluir pelo menos uma dentre uma unidade de predição e uma unidade mínima que contém as mesmas informações de codificação.
Nesse sentido, é determinado se unidades de dados 25 adjacentes são incluídas na mesma unidade de codificação correspondente à profundidade codificada, comparando as informações de codificação das unidades de dados adjacentes. Além disso, uma unidade de codificação correspondente, correspondendo a uma profundidade codificada, é determinada usando informações de codificação 5 de uma unidade de dados e, assim, uma distribuição de profundidades codificadas em uma unidade de codificação máxima pode ser determinada.
Assim, se uma unidade de codificação atual for predita com base em informações de codificação das unidades 10 de dados adjacentes, informações de codificação das unidades de dados em unidades de codificação mais profundas adjacentes à unidade de codificação atual podem ser t'* diretamente referidas e usadas.
Como alternativa, se uma unidade de codificação 15 atual for predita com base em informações de codificação das unidades de dados adjacentes, unidades de dados adjacentes à unidade de codificação atual são pesquisadas, usando informações de codificação das unidades de dados, e as unidades de codificação adjacentes pesquisadas podem ser 20 referidas para predizer a unidade de codificação atual.
A Fig. 13 é um diagrama para descrever 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 informações do modo de codificação da Tabela 1.
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 de divisão podem ser definidas como 0. Informações sobre um tipo de partição 5 da unidade de codificação 1318 tendo um tamanho de 2Nx2N podem ser definidas para serem uma dentre um t ipo de partição 1322 tendo um tamanho de 2Nx2N, um tipo de partição 1324 tendo um tamanho de 2NxN, uma tipo de partição 1326 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.
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 é definida, se informações de divisão (sinalizador de tamanho TU) de uma unidade de transformação forem 0, e uma unidade de transformação 1344 tendo um tamanho de NxN é definida, se um sinalizador de tamanho TU for 1.
Quando o tipo de partição for definido para ser assimétrico, ou seja, o tipo de partição 1332, 1334, 1336 ou 1338, uma unidade de transformação 1352 tendo um tamanho 25 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.
A estimativa e compensação de movimento realizada pelo estimador de movimento 420 e o compensador de movimento 425 do aparelho codificador de video 100 da Fig. 5 4 e o compensador de movimento 560 do aparelho decodificador de video 200 da Fig. 5 serão agora descritas em detalhes. Doravante, a unidade de predição acima descrita será designada como um bloco.
A Fig. 14 é um diagrama de blocos de um aparelho 10 1400 para codificar de um vetor de movimento, de acordo com uma forma de realização exemplar. O aparelho 1400 inclui elementos relacionados à codificação de um vetor de movimento, como o estimador de movimento 420 e o codificador de entropia 450 da Fig. 4, em que o codificador 15 de entropia 450 pode executar operações executadas por um codificador do vetor de movimento 1420 da Fig. 14.
Com referência à Fig. 14, o aparelho 1400, de acordo com a forma de realização exemplar atual, inclui um estimador de movimento 1410 e o codificador do vetor de 20 movimento 1420.
O estimador de movimento 1410 gera um vetor de movimento de um bloco atual, que indica uma região correspondente ao bloco atual em um primeiro quadro de referência, através da realização de estimativa de 25 movimento no bloco atual.
Geralmente, um vetor de movimento de um bloco está intimamente relacionado a um vetor de movimento de um bloco adjacente. Assim, um vetor de movimento de um bloco atual é estimado a partir de um vetor de movimento de um bloco adjacente, e apenas o vetor de movimento do bloco adjacente 5 e um vetor de diferença do bloco atual são codificados para reduzir uma quantidade de bits a serem codificados. Assim, o codificador do vetor de movimento 1420 gera um preditor do vetor de movimento, usando informações do vetor de movimento dos blocos adjacentes para codificar informações 10 do vetor de movimento de um bloco atual, e codifica apenas uma diferença entre o preditor do vetor de movimento e o vetor de movimento do bloco atual como as informações do vetor de movimento do bloco atual. Em detalhes, o codificador do vetor de movimento 1420 gera o preditor do 15 vetor de movimento, usando um vetor de movimento de um bloco adjacente, referente ao primeiro quadro de referência, quando um bloco com um vetor de movimento referente ao primeiro quadro de referência, que é referido pelo bloco atual, existir entre blocos adjacentes 20 codificados antes do bloco atual, ou usando um vetor de movimento de um bloco de referência, referente a um quadro de referência diferente do primeiro quadro de referência, quando o bloco tendo o vetor de movimento referente ao primeiro quadro de referência não existir entre os blocos 25 adjacentes e, em seguida, codifica a diferença entre o preditor do vetor de movimento gerado e o vetor de movimento do bloco atual como as informações do vetor de movimento do bloco atual. Conforme acima descrito, um aparelho convencional codificador de imagens usa uma mediana de vetores de movimento dos blocos adjacentes à 5 esquerda, superior e superior direito do bloco atual como um vetor de movimento do bloco atual. No entanto, o aparelho 1400 gera um grupo de candidatos a preditor do vetor de movimento a partir dos blocos adjacentes, através de um dos vários métodos, e usa um preditor do vetor de 10 movimento selecionado dentre o grupo de candidatos a preditor do vetor de movimento, além de uma mediana, para codificar o vetor de movimento do bloco atual, aumentando assim a eficiência de compressão de imagens, de acordo com características de imagem.
A geração do preditor do vetor de movimento realizada pelo codificador do vetor de movimento 1420 será agora descrita em detalhes.
As Figs. 15A e 15B são diagramas de candidatos a preditor do vetor de movimento, segundo formas de 20 realização exemplares.
Referente à FIG. 15A, o codificador do vetor de movimento 1420 pode usar um dos vetores de movimento dos blocos adjacentes codificados antes do bloco atual, como o preditor do vetor de movimento do bloco atual. Qualquer um 25 dos vetores de movimento de um bloco limite esquerdo a0 1501, um bloco limite superior esquerdo bO 1502, bloco superior direito c 1503, bloco superior esquerdo d 1505, e um bloco inferior esquerdo e 1504 dentre os blocos adjacentes do bloco atual, pode ser usado como o preditor do vetor de movimento do bloco atual. Uma vez que métodos 5 codificadores e decodificadores de video são executados, com base em unidades de codificação tendo vários tamanhos, que são classificados de acordo com profundidades, o vetor de movimento do bloco inferior esquerdo e 1504 pode ser também usado como o preditor do vetor de movimento do bloco 10 atual. Referente novamente à Fig. 10, se o bloco atual for a unidade de codificação 1020, as unidades de codificação 1014, 1016 e 1018, e 1022 no lado superior, superior esquerdo, superior direito, esquerdo, e inferior esquerdo do bloco atual 1020 são codificadas antes do bloco atual 1020. Em outras palavras, uma vez que a unidade de codificação 1018 é codificada antes da unidade de codificação 1020 incluindo o bloco atual, um vetor de movimento do bloco adjacente ao lado inferior esquerdo de um bloco atual pode ser também usado como um preditor do 20 vetor de movimento do bloco atual, considerando que a unidade de codificação 1018 foi codificada em uma unidade de codificação tendo uma maior profundidade.
Referente à FIG. 15B, vetores de movimento de todos os blocos adjacentes do bloco atual podem ser usados como o 25 preditor do vetor de movimento do bloco atual. Em outras palavras, não apenas um vetor de movimento de um bloco limite esquerdo aO dentre blocos 1510 adjacentes ao lado superior do bloco atual, mas também vetores de movimento de todos os blocos aO a aN adjacentes ao lado superior do bloco atual podem ser utilizados como o preditor do vetor 5 de movimento do bloco atual, e não apenas um vetor de movimento de um bloco superior limite bO dentre blocos 1520 adjacentes ao lado esquerdo do bloco atual, mas também vetores de movimento de todos os blocos bO a bN adjacentes ao lado esquerdo do bloco atual podem ser utilizados como 10 preditor do vetor de movimento do bloco atual.
Alternativamente, medianas de vetores de movimento dos blocos adjacentes podem ser usadas como o preditor do vetor de movimento. Em outras palavras, medianas mv_a0, mv_b0, mv_c podem ser usadas como o preditor do vetor de 15 movimento do bloco atual. Aqui, a mediana mv_a0 é o vetor de movimento do bloco aO, a mediana mv_b0 é o vetor de movimento do bloco bO, e a mediana mv_c é o vetor de movimento do bloco c.
No entanto, candidatos a preditor do vetor de 20 movimento podem ser limitados, de acordo com um tamanho do bloco atual e tamanhos dos blocos adjacentes, que serão descritos em detalhes com referência às Figs. 15 a 15E.
As Figs. 15C a 15E são diagramas de blocos tendo vários tamanhos, que são adjacentes a um bloco atual, de 25 acordo com formas de realização exemplares.
Conforme acima descrito, os métodos codificadores e decodificadores de imagem codificam e decodificam uma imagem, usando unidades de codificação e unidades de predição tendo vários tamanhos, que são determinados de acordo com profundidades. Assim, tamanhos dos blocos 5 adjacentes do bloco atual podem variar, e se o tamanho do bloco atual e os tamanhos de alguns blocos adjacentes forem amplamente diferentes, vetores de movimento de alguns blocos adjacentes não podem ser usados como o preditor do vetor de movimento do bloco atual.
Referente à Fig. 15, blocos adjacentes 1014 a 1018 no topo de um bloco atual 1010 têm tamanhos menores que o bloco atual 1010. Visto que um vetor de movimento de bloco adjacente 1012, tendo o mesmo tamanho que o bloco atual 1010, é altamente susceptível a ser idêntico ou semelhante 15 a um vetor de movimento do bloco atual 1010, o codificador do vetor de movimento 1420 pode usar apenas o vetor de movimento do adjacente bloco 1012 como o preditor do vetor de movimento.
Mesmo se tamanhos não forem os mesmos, vetores de 20 movimento dos blocos adjacentes, tendo um tamanho predeterminado ou superior, podem ser usados como o preditor do vetor de movimento. Por exemplo, os blocos adjacentes 1012 e 1018 tendo tamanhos de 1/4 ou mais, em comparação com o bloco atual 1010, podem ser utilizados 25 como o preditor do vetor de movimento.
Referente à Fig. 15D, um tamanho de um bloco adjacente 1022, adjacente ao lado esquerdo de um bloco atual 1020, é 16 vezes superior a um tamanho do bloco atual 1020 e, assim, há uma notável diferença de tamanho. Devido à notável diferença de tamanho, um vetor de movimento do 5 bloco adjacente 1022 não é susceptível a ser idêntico ou semelhante a um vetor de movimento do bloco atual 1020. Nesse sentido, o vetor de movimento do bloco adjacente 1022 não é usado como o preditor do vetor de movimento do bloco atual 1020, e vetores de movimento de um bloco adjacente 10 1024 no lado superior do bloco atual 1020, e de um bloco adjacente 1026 no lado superior direito do bloco atual 1020, podem ser utilizados.
Referente à FIG. 15E, um tamanho de um bloco atual 1030 é maior do que os tamanhos de todos os blocos 15 adjacentes 1031 a 1037. Aqui, se vetores de movimento dos blocos adjacentes 1031 a 1037 forem usados como o preditor do vetor de movimento do bloco atual 1030, um número de candidatos a preditor do vetor de movimento do bloco atual 1030 pode ser demais. Conforme uma diferença entre tamanhos 20 do bloco atual 1030 e dos blocos adjacentes 1031 a 1037 aumenta, o número de candidatos a preditor do vetor de movimento também aumenta. Nesse sentido, o codificador do vetor de movimento 1420 não usa vetores de movimento de alguns blocos adjacentes como o preditor do vetor de 25 movimento do bloco atual.
Por exemplo, na Fig. 15E, os vetores de movimento do bloco adjacente 1031, adjacente à parte inferior esquerda do bloco atual 1030, e o vetor de movimento do bloco adjacente 1037, adjacente à parte superior direita do bloco atual 1030, não podem ser usados como o preditor do 5 vetor de movimento do bloco atual 1030. Em outras palavras, se o tamanho do bloco atual 1030 for igual ou superior a um tamanho predeterminado, vetores de movimento dos blocos adjacentes em uma direção predeterminada não podem ser usados como o preditor do vetor de movimento do bloco atual 10 1030.
Alternativamente, em vez de gerar os candidatos a preditor do vetor de movimento, limitando os candidatos a preditor do vetor de movimento, de acordo com o tamanho de bloco atual e os tamanhos dos blocos adjacentes, o 15 codificador do vetor de movimento 1420 pode gerar o preditor do vetor de movimento a partir dos blocos adjacentes, baseado no fato de um quadro de referência idêntico ao primeiro quadro de referência, que é referido no bloco atual, ser usado, se um quadro de referência 20 situado na mesma direção de lista que o primeiro quadro de referência for usado, e se um quadro de referência localizado em uma direção de lista diferente do primeiro quadro de referência for usado.
A Fig. 16 é um fluxograma, que ilustra um método 25 para codificar um vetor de movimento, de acordo com uma forma de realização exemplar. Ao gerar os candidatos a preditor do vetor de movimento, o codificador do vetor de movimento 1420 pode gerar os candidatos a preditor do vetor de movimento, usando um vetor de movimento de um bloco adjacente, usando um quadro de referência idêntico ao 5 primeiro quadro de referência, que é referido no bloco atual, um vetor de movimento de um bloco adjacente usando outro quadro de referência localizado na mesma direção que o primeiro quadro de referência, se o quadro de referência usando o quadro de referência idêntico ao primeiro quadro 10 de referência não existir, e um vetor de movimento de um bloco de movimento referente a outro quadro de referência, localizado em uma direção de lista diferente ao primeiro quadro de referência, se não existir o bloco adjacente, referente ao outro quadro de referência localizado na mesma 15 direção que o primeiro quadro de referência.
Referente à Fig. 16, o estimador de movimento 1410 gera o vetor de movimento do bloco atual, que indica a região correspondente ao bloco atual no primeiro quadro de referência, através da realização de estimativa de 20 movimento do bloco atual, na operação 1610.
Se um bloco com um vetor de movimento, referente ao primeiro quadro de referência, existir entre os blocos adjacentes codificados antes do bloco atual, o codificador do vetor de movimento 1420 gera o preditor do vetor de 25 movimento, usando o vetor de movimento do bloco adjacent ao primeiro quadro de referência na operação 1620, e se o bloco com o vetor de movimento referente ao , primeiro quadro de referência não existir entre os blocos. adjacentes, o codificador do vetor de movimento 1420 gera o preditor do vetor de movimento, usando o vetor de movimento 5 do bloco adjacente referente ao quadro de referência diferente do primeiro quadro de referência na operação 1630.
Na operação 1640, o codificador do vetor de movimento 1420 codifica uma diferença entre o preditor do 10 vetor de movimento e o vetor de movimento do bloco atual como as informações do vetor de movimento do bloco atual.• A Fig. 17 é um fluxograma, que ilustra* detalhadamente a geração do preditor do vetor de movimento, de acordo com uma forma de realização exemplar.
Referente à Fig. 17, o codificador do vetor de movimento 1420 extrai informações de movimento de um bloco adjacente de um bloco atual, de acordo com uma ordem de digitalização predeterminada, na operação 1710. As informações sobre movimento do bloco adjacente incluem informações sobre quadros de referência ref index_N, . referidas no bloco adjacente, e informações sobre vetor de movimento do bloco adjacente. O codificador do vetor de « movimento 1420 seleciona um primeiro preditor do vetor de movimento, a partir de um bloco adjacente ao lado esquerdo 25 do bloco atual, um segundo preditor do vetor de movimento,a partir de um bloco adjacente ao lado superior do bloco atual, e um terceiro preditor do vetor de movimento, a partir de um bloco localizado no canto do bloco atual. Para selecionar os primeiro a terceiro preditores do vetor de movimento, um quadro de referência de cada bloco, 5 localizado no lado superior, esquerdo e canto do bloco atual, é comparado com informações sobre quadros de referência referidas no bloco atual. Referente novamente à FIG. 15B, a ordem de digitalização predeterminada é de cima para baixo nos blocos 1520, ou seja, do bloco bO para o 10 bloco bn, e da esquerda para a direita nos blocos 1510, ou seja, do bloco aO ao bloco an.Os blocos c, e, e d 1531, 1532 e 1533 podem ser digitalizados em uma ordem do bloco c 1531, bloco d 1533, e bloco e 1532. No entanto, a ordem de digitalização predeterminada pode diferir.
Na operação 1720, o codificador do vetor de movimento 1420 compara informações sobre quadros de referência ref index_Cur referidas no bloco atual e as informações sobre quadros de referência ref index_N do bloco adjacente, para determinar se um quadro de referência do bloco adjacente é idêntico a um quadro de referência, isto é, ao primeiro quadro de referência, referido no bloco atual. Quando for determinado que o quadro de referência do bloco adjacente é idêntico ao primeiro quadro de referência na operação 1720, o vetor de movimento do bloco adjacente é determinado como sendo o preditor do vetor de movimento na operação 1730. As operações 1720 e 1730 são executadas, de acordo com grupos dos blocos 1510 localizados no lado superior do bloco atual, dos blocos 1520 localizados à esquerda do bloco atual, e dos blocos 1531 a 1533 localizados no canto do bloco atual, para gerar os primeiro 5 a terceiro preditores do vetor de movimento.
Na operação 1740, é determinado se a operação 1720 é executada em todos os blocos adjacentes, de acordo com os grupos de blocos 1510, blocos 1520, e blocos 1531 a 1533. Se qualquer um dos grupos de blocos 1510, blocos 1520, e 10 blocos 1531 a 1533 não incluir um bloco adjacente referente ao quadro de referência idêntico ao primeiro quadro de referência, é determinado se um bloco adjacente, referente a outro quadro de referência que não é idêntico ao primeiro quadro de referência, mas localizado em uma direção de 15 lista do bloco atual, existe na operação 1750. Aqui, a direção de lista denota uma direção L0 referente a um quadro anterior antes do quadro atual, e uma direção LI referente a um quadro seguinte após o quadro atual.
Se for determinado que o bloco adjacente se refere 20 a outro quadro de referência na operação 1750, um vetor de movimento do bloco adjacente é determinado como sendo o preditor do vetor de movimento na operação 1760. Na operação 1770, é determinado se a operação 1750 é executada em todos os blocos adjacentes, isto é, os blocos 1510, 25 blocos 1520, e os blocos 1531 a 1533. Se qualquer um dos grupos de blocos 1510, blocos 1520, e blocos 1531 a 1533 não incluir o bloco adjacente referente a outro quadro de referência, que não é idêntico ao primeiro quadro de referência, mas localizado na direção de lista do bloco atual, um vetor de movimento de um bloco adjacente referente a outro quadro de referência, que está situado em uma direção de lista diferente do primeiro quadro de referência, é determinado como sendo o preditor do vetor de movimento do bloco atual na operação 1780.
Em outras palavras, o método e aparelho para codificar um vetor de movimento, de acordo com uma forma de realização exemplar, gera o primeiro preditor do vetor de movimento a partir dos blocos adjacentes localizados na parte esquerda do bloco atual, o segundo preditor do vetor de movimento a partir dos blocos adjacentes localizados no lado superior do bloco atual, e o terceiro preditor do vetor de movimento a partir dos blocos adjacentes localizados no canto do bloco atual e, neste momento, os blocos adjacentes são digitalizados em uma ordem do vetor de movimento do bloco adjacente referente ao primeiro quadro de referência, do vetor de movimento do bloco adjacente referente ao outro quadro de referência diferente do primeiro quadro de referência, mas existente na mesma direção de lista do bloco atual, e o vetor de movimento do bloco adjacente referente ao outro quadro de referência na direção de lista diferente a partir do bloco atual, para determinar os candidatos a preditor do vetor de movimento do bloco atual.
As Figs. 18A a 18C são diagramas de referência para . descrever em detalhes a determinação do preditor do vetor de movimento, segundo formas de realização exemplares.
A Fig. 18A é um diagrama para descrever a geração do preditor do vetor de movimento, se existir um bloco adjacente referente a um primeiro quadro de referência 1810 referido no bloco atual.
Referente à FIG. 18A, o codificador do vetor de 10 movimento 1420 gera um primeiro preditor do vetor de movimento, a partir dos blocos adjacentes 184 e 185 - localizados na parte esquerda de um bloco atual 180, um segundo preditor do vetor de movimento, a partir dos blocos adjacentes 181 a 183 localizados na parte superior do bloco 15 atual 180, e um terceiro preditor do vetor de movimento, a partir dos blocos (não mostrados) localizados no canto do bloco atual 180. A geração do segundo preditor do vetor de movimento, a partir dos blocos 181 a 183, será agora descrita em detalhes como um exemplo. A geração do segundo < 20 preditor do vetor de movimento será da mesma forma. aplicada, ao gerar os primeiro e terceiro preditores do vetor do movimento.
Quando o primeiro quadro de referência 1810 é referido no bloco atual 180 de um quadro atual 1800, o 25 codificador do vetor de movimento 1420 examina os blocos adjacentes 181 a 183 em uma ordem da esquerda para a direita, para determinar se um quadro de referência referido nos blocos adjacentes 181 a 183 é idêntico ao primeiro quadro de referência 1810. Na Fig. 18A, presume-se que o bloco adjacente 181 se refira a uma região 1831 de um 5 quadro de referência 1830 após o quadro atual 1800, o bloco adjacente 182 seja um bloco adjacente em movimento predito através de uma região 1816 do primeiro quadro de referência 1810 idêntico ao bloco atual 180, e o bloco 183 seja um bloco intra predito. Aqui, o codificador do vetor de 10 movimento 1420 determina um vetor de movimento mv_182 do bloco adjacente 182, que é inicialmente efetivo e referente ao primeiro quadro de referência 1810, como o segundo preditor do vetor de movimento. Como tal, quando o bloco adjacente 182 fizer referência ao primeiro quadro de 15 referência 1810 idêntico ao quadro atual 1800, o vetor de movimento mv_182 do bloco adjacente 182 não pode ser separadamente dimensionado, visto que uma distância temporal do vetor de movimento mv_182 é idêntica àquela de um vetor de movimento mv_cur do bloco atual 180 através da 20 região 1815. No entanto, o codificador do vetor de movimento 1420 não pode selecionar o vetor de movimento mv_182 do bloco adjacente 182 como o segundo preditor do vetor de movimento, se um tamanho do bloco adjacente 182 for inferior ou igual a um valor limite predeterminado, em 25 comparação com o bloco atual 180, como acima descrito com referência às Figs. 15C a 15E. Se o bloco adjacente 182 referente ao primeiro quadro de referência 1810 não existir, como mostrado na Fig. 18A, a geração do preditor do vetor de movimento, descrita com referência à Fig. 18B, é executada.
A Fig. 18B é um diagrama para descrever a geração do preditor do vetor de movimento, quando o bloco adjacente, referente ao primeiro quadro de referência 1810, não existir, mas um bloco adjacente, referente a outro quadro de referência localizado na mesma direção de lista 10 que o primeiro quadro de referência 1810, existir.
Referente à FIG. 18B, supõe-se que os blocos adjacentes 181 e 182 se refiram às regiões 1832, 1833 do quadro de referência 1830 após o quadro atual 1800, e o bloco adjacente 183 seja um bloco de movimento predito 15 através de uma região 1821 do quadro de referência 1820, que não é o primeiro quadro de referência 1810, mas na mesma direção de lista que o primeiro quadro de referência 1810, ou seja, tempestivamente antes do quadro atual 1800. Aqui, o codificador do vetor de movimento 1420 determina um 20 vetor de movimento mv_183 do bloco adjacente 183, que é inicialmente efetivo e referente ao quadro de referência 1820 na mesma direção de lista que o primeiro quadro de referência 1810, como o segundo preditor do vetor de movimento. Como tal, quando o bloco adjacente 183 se 25 referir ao quadro de referência 1820, visto que distâncias temporais do primeiro quadro de referência 1810 e do quadro de referência 1820 são diferentes entre si, o vetor de movimento mv_183 do bloco adjacente 183 é dimensionado, levando em conta uma distância temporal tl entre o quadro atual 1800 e o primeiro quadro de referência 1810, e uma 5 distância temporal t2 entre o quadro atual 1800 e o quadro de referência 1820. Em detalhes, o codificador do vetor de movimento 1420 executa a classificação, multiplicando o vetor de movimento mv_183 por um valor de (tl/t2), determinando, assim, mv_183 x (tl/t2) como o segundo 10 preditor do vetor de movimento. Em outras palavras, quando CurrPOC denotar uma contagem de pedidos de quadros (POC) do quadro atual 1800, CurrRefPOC denotar um POC de um quadro de referência referido no bloco atual 180, e NeighRefPOC denotar um POC de um quadro de referência referido por um 15 bloco adjacente, um valor de classificação é calculado através de uma equação: Scale=(CurrPOC-CurrRefPOC)/ (CurrPOC-NeighRefPOC), e a classificação é realizada, multiplicando-se o vetor de movimento determinado pelo valor de classificação.
Se até mesmo o bloco adjacente, referente ao outro quadro de referência localizado na mesma direção de lista que o primeiro quadro de referência 1810, não existir, o preditor do vetor de movimento pode ser gerado, como será descrito com referência à Fig. 18C.
A Fig. 18C é um diagrama para descrever a geração do preditor do vetor de movimento, quando o bloco adjacente^ referente ao outro quadro de referência Localizado na mesma direção de lista, que o primeiro quadro de referência 1810, não existir.
Referente à Fig. 18C, supõe-se que o bloco atual 180 se refira ao primeiro quadro de referência 1830 através da região 1834 após o quadro atual 1800, os blocos adjacentes 181 sejam um bloco intra predito, o bloco adjacente 182 se refira ao quadro de referência 1810 através da região 1816 antes do quadro atual 1800, e o bloco adjacente 183 seja um bloco de movimento referente ao quadro de referência 1820, através da região 1822 antes do quadro atual 1800. Em outras palavras, na Fig. 18C, um bloco adjacente, referente ao primeiro quadro de referência 1830, referido pelo bloco atual 180, não existe dentre os blocos superiores do bloco atual 180, e um bloco adjacente usando um quadro após o quadro atual de 1800 como um quadro de referência, também não existe. Aqui, o codificador do vetor de movimento 1420 determina o vetor de movimento mv_182 do bloco adjacente 182, que é inicialmente efetivo e referente ao quadro de referência 1810 na direção de lista diferente do primeiro quadro de referência 1830, isto é, antes do atual quadro 1800, como o segundo preditor do vetor de movimento. Quando o bloco adjacente 182 se referir ao quadro de referência 1810 na direção de lista diferente, em vez do primeiro quadro de referência 1830, visto que distâncias temporais do primeiro quadro de referência 1830 e do quadro de referência 1810 são diferentes entre si, o vetor de movimento mv_182 do bloco adjacente 182 é dimensionado, levando em conta uma distância temporal t3 entre o quadro atual 1800 e o primeiro quadro de referência 5 1830, uma distância temporal t4 entre o quadro atual 1800 e o quadro de referência 1810, e a direção de lista. Em detalhes, o codificador do vetor de movimento 1420 executa a classificação, multiplicando-se o vetor de movimento mv_182 do bloco adjacente 182 por um valor de -(t3/t4), e 10 se determina -(mv_182 x (t3/t4)) como o segundo preditor do vetor de movimento.
O codificador do vetor de movimento 1420 determina os primeiro e terceiro preditores do vetor de movimento, realizando os processos descritos com referência às Figs. 18A a 18C, de acordo com grupos de blocos à esquerda e no canto do bloco atual 180. Quando os primeiro a terceiro preditores do vetor de movimento são determinados, o codificador do vetor de movimento 1420 pode ainda incluir medianas dos primeiro a terceiro preditores do vetor de 20 movimento, como os candidatos a preditor do vetor de movimento. Se nenhum dos primeiro a terceiro preditores do vetor de movimento existir, o codificador do vetor de movimento 1420 define um vetor 0 como uma mediana. Se apenas um dos primeiro a terceiro preditores do vetor de 25 movimento existir, o codificador do vetor de movimento 1420 define um preditor do vetor de movimento existente como uma 74 mediana. Se apenas dois dos primeiro a terceiro preditores do vetor de movimento existirem, o codificador do vetor de movimento 1420 pode definir um preditor do vetor de movimento não existente, como um vetor de 0, e calcular uma 5 mediana, de acordo com componentes dos eixos x e y, e incluir a mediana calculada nos candidatos a preditor do vetor de movimento.
Ao mesmo tempo, ao determinar as medianas dos vetores de movimento dos blocos adjacentes, o codificador 10 do vetor de movimento 1420 pode calcular uma mediana, usando apenas vetores de movimento do mesmo tipo. Em outras palavras, o codificador do vetor de movimento 1420 pode determinar os primeiro a terceiro preditores do vetor de movimento, usando apenas vetores de movimento referentes ao 15 primeiro quadro de referência idêntico ao bloco atual, dentre os vetores de movimento dos blocos adjacentes do bloco atual, e incluir as medianas dos primeiro a terceiro preditores do vetor de movimento no candidato a preditor vetor de movimento do bloco atual.
Como alternativa, conforme acima descrito, o codificador do vetor de movimento 1420 pode determinar os primeiro a terceiro preditores do vetor de movimento, usando o vetor de movimento do bloco adjacente referente a outro quadro de referência, na mesma direção de lista que o 25 primeiro quadro de referência, ou o vetor do movimento do direção de lista diferente do primeiro quadro de referência, e incluir as medianas dos primeiro a terceiro preditores do vetor de movimento nos candidatos a preditor do vetor de movimento do bloco atual. Aqui, o codificador 5 do vetor de movimento 1420 pode incluir as medianas dos primeiro a terceiro preditores do vetor de movimento nos candidatos a preditor do vetor de movimento, apenas quando todos os primeiro a terceiro preditores a vetor de movimento determinados nos blocos adjacentes se referirem a 10 outros quadros de referência diferentes do bloco atual.
As Figs. 19A a 19C são diagramas de referência para descrever a geração dos candidatos a preditor do vetor de movimento, segundo formas de realização exemplares.
A Fig. 19A é um diagrama para descrever um método 15 de cálculo de um preditor do vetor de movimento de um quadro preditivo bidirecional (quadro B), de acordo com uma forma de realização exemplar. No quadro B> onde um quadro atual 1910, incluindo um bloco atual 1900, realiza predição bidirecional, um vetor de movimento gerado com base em uma 20 distância temporal pode ser um candidato a preditor do vetor de movimento.
Um preditor do vetor de movimento mv_temporal do bloco atual 1900 do quadro atual 1910 pode ser gerado, usando um vetor de movimento de um bloco co-localizado 1920 25 de um quadro temporalmente anterior 1912. Por exemplo, quando um vetor de movimento mv_colA do bloco co-localizado 1920 for gerado em relação a um bloco 1922 de um quadro temporalmente posterior 1914 do quadro atual 1910, uma distância temporal t5 entre o quadro atual 1900 e o quadro 1914, e uma distância temporal t6 entre quadros 1912 e 5 1914, candidatos a preditor do vetor de movimento mv_L0A emv_LlA do bloco atual 1900 podem ser gerados da seguinte maneira:mv_LlA = (t5/t6) x mv_colAmv_L0A = mv_LlA - mv_colA
Aqui, mv_L0A denota um preditor do vetor de movimento do bloco atual 1900, com respeito ao quadro temporalmente anterior 1912, e mv_L!A denota um preditor do vetor de movimento do bloco atual 1900, com relação ao quadro temporalmente posterior 1914.
Na Fig. 19A, o quadro atual 1910, que constitui o quadro B, existe entre o quadro temporalmente anterior 1912 e o quadro temporalmente posterior 1914. Aqui, quando o vetor de movimento mv_colA do bloco co-localizado 1920 for gerado em relação ao quadro temporalmente posterior 1914, o 20 vetor de movimento do bloco atual 1900 pode ser predito com mais precisão, baseado no preditor do vetor de movimento mv_LlA. Em outras palavras, o vetor de movimento do bloco atual 1900 pode ser predito com mais precisão, quando o vetor de movimento mv_colA estiver numa direção mostrada na
Fig. 19A, do que quando o vetor de movimento mv_colA estiver numa direção oposta à direção mostrada na Fig. 19A isto é, quando o vetor de movimento mv_colA for gerado com relação a outro quadro, antes do quadro temporalmente anterior 1912.
Assim, quando uma direção do bloco atual 1900 ao 5 bloco co-localizado 1920 for uma direção ListO, o vetor de movimento mv_colA do bloco co-localizado 1920 deve ser numa direção Listl, para que o quadro atual 1910 exista entre o quadro temporalmente anterior 1912 e o quadro temporalmente posterior 1914, como mostrado na Fig. 19A, predizendo, 10 assim, com precisão o vetor de movimento do bloco atual 1900 com base no vetor de movimento mv_colA.
Além disso, uma vez que o quadro atual 1910, o quadro temporalmente anterior 1912, e o quadro temporalmente posterior 1914 da Fig. 19A são dispostos em 15 uma ordem de tempo, o preditor do vetor de movimento mv_temporal do bloco atual 1900 pode ser gerado com base em um POC. Uma vez que um quadro referido no bloco atual 1900 não pode ser um dentre o quadro atual 1910, o quadro temporalmente anterior 1912, e o quadro temporalmente 20 posterior 1914, o preditor do vetor de movimento mv_temporal do bloco atual 1900 é gerado com base no POC.
Por exemplo, quando CurrPOC denotar um POC de um quadro atual e CurrRefPOC denotar um POC de um quadro, referido pelo quadro atual, um preditor do vetor de 25 movimento de um bloco atual pode ser gerado da seguinte forma: Scale = (CurrPOC-CurrRefPOC)/(ColPOC-ColRefPOC) mv_temporal = Scale * mv_colA
Aqui, ColPOC denota urn POC do quadro temporalmente anterior 1912 incluído no bloco co-localizado 1920, e 5 ColRefPOC denota um POC do quadro temporalmente posterior, incluindo o bloco de 1922 referido no bloco co-localizado 1920.
A Fig. 19B é um diagrama para descrever um método para gerar um preditor do vetor de movimento de um quadro 10 B, de acordo com outra forma de realização exemplar. Comparando-se o método da Fig. 19A e o método da Fig. 19B, o quadro temporalmente posterior 1914 inclui um bloco 1930 no mesmo local que o bloco atual 1900 do quadro atual 1910.
Referente à FIG. 19B, o preditor do vetor de 15 movimento do bloco atual 1900 do quadro atual 1910 pode ser gerado, usando um vetor de movimento de um bloco co- localizado 1930 do quadro temporalmente posterior 1914. Por exemplo, quando um vetor de movimento mv_colB do bloco co- localizado 1930 for gerado em relação a um bloco 1932 do 20 quadro temporalmente anterior 1912, uma distância temporal t7 entre o quadro atual 1910 e o quadro 1912, e uma distância temporal t8 entre os quadros 1912 e 1914, candidatos a preditor do vetor de movimento mv_L0B e mv_LlB do bloco atual 1900 podem ser gerados da seguinte maneira: mv_L0B = (t7/t8) x mv_colB mv_LlB = mv_L0B - mv_colB
Aqui, mv_LOB denota o preditor do vetor de movimento do quadro atual 1910 com respeito ao quadro temporalmente anterior 1912, e mv_LlB denota o preditor do vetor de movimento do bloco atual 1900 com relação ao 5 quadro temporalmente posterior 1914.
Como na Fig. 19A, o quadro atual 1910, constituindo o quadro B, existe entre o quadro temporalmente anterior 1912 e o quadro temporalmente posterior 1914 na Fig. 19B. Assim, quando o vetor de movimento mv_colB do bloco co- 10 localizado 1930 for gerado em relação ao quadro temporalmente anterior 1912, o vetor de movimento do bloco atual 1900 pode ser predito com mais precisão, baseado no vetor de movimento mv_L0B. Em outras palavras, o vetor de movimento do bloco atual 1900 pode ser predito com 15 precisão, quando o vetor de movimento mv_colB estiver no sentido mostrado na Fig. 19B, do que quando o vetor de movimento mv_colB estiver no sentido oposto ao sentido mostrado na Fig. 19B, ou seja, quando o vetor de movimento mv_colB for gerado em relação a outro quadro após o quadro 20 temporalmente posterior 1914.
Assim, quando uma direção do bloco atual 1900 ao bloco co-localizado 1930 for uma direção Listl, o vetor de movimento mv_colB do bloco co-localizado 1930 deve ser numa direção ListO, para que o quadro atual 1910 exista entre o 25 quadro temporalmente anterior 1912 e o quadro temporalmente posterior 1914, como mostrado na Fig. 19B, predizendo, assim com precisão o vetor de movimento do bloco atual 1900 com base no vetor de movimento mv_colB.
Além disso, uma vez que um quadro referido no bloco atual 1900 não pode ser um dentre o quadro temporalmente 5 anterior 1912 e o quadro temporalmente posterior 1914, o preditor do vetor de movimento do bloco atual 1900 é gerado com base no POC. Por exemplo, quando CurrPOC denotar um POC de um quadro atual e CurrRefPOC denotar um POC de um quadro, referido pelo quadro atual, um preditor do vetor de 10 movimento de um bloco atual pode ser gerado da seguinte forma: Scale = (CurrPOC-CurrRefPOC) /(ColPOC-ColRefPOC) mv_temporal = Scale * mv_colB
Aqui, ColPOC denota um POC do quadro temporalmente 15 posterior 1914, incluindo o bloco co-localizado 1930, e ColRefPOC denota um POC do quadro temporalmente anterior 1912, incluindo o bloco 1932 referido no bloco co- localizado 1930.
O codificador do vetor de movimento 1420 pode usar 20 qualquer um dos métodos das Figs. 19A e 19B, ao gerar o preditor do vetor de movimento do bloco atual 1900 do quadro B. Em outras palavras, uma vez que o codificador do vetor de movimento 1420 gera o preditor do vetor de movimento, usando o vetor de movimento e a distância 25 temporal do bloco co-localizado 1920 ou 1930, o preditor do vetor de movimento é gerado, usando um dos métodos das
Figs. 19A e 19B, somente quando existir o vetor de movimento do bloco co-localizado 1920 ou 1930. Assim, o codificador do vetor de movimento 1420 gera o preditor do vetor de movimento do bloco atual 1900, usando apenas um 5 bloco com um vetor de movimento dentre os blocos co- localizados 1920 e 1930.
Por exemplo, quando o bloco co-localizado 1920 do quadro temporalmente anterior 1912 for codificado, usando predição intra, em vez de inter predição, o vetor de 10 movimento do bloco co-localizado 1920 não existe e, assim, o preditor do vetor de movimento do bloco atual 1900 não pode ser gerado usando o método da Fig. 19A.
Quando o codificador do vetor de movimento 1420 gerar o preditor do vetor de movimento do bloco atual 1900 15 do quadro B, conforme mostrado nas Figs. 19A e 19B, o bloco co-localizado 1920 do quadro temporalmente anterior 1912 e o bloco co-localizado 1930 do quadro temporalmente posterior 1914 podem ser usados. Nesse sentido, um decodificador para decodificar um vetor de movimento deve 20 determinar, qual bloco é usado para gerar o preditor do vetor de movimento dentre os blocos co-localizados 1920 e 1930, para decodificar o preditor do vetor de movimento.
Assim, o codificador do vetor de movimento 1420 pode codificar informações para especificar qual bloco é 25 usado, e inserir as informações codificadas em um cabeçalho de bloco, ou em um cabeçalho de fatia.
A Fig. 19C é um diagrama para descrever um método para gerar um preditor do vetor de movimento de um quadro preditivo (quadro P), de acordo com uma forma de realização exemplar.
Referente à Fig. 19C, o preditor do vetor de movimento do bloco atual 1900 do quadro atual 1910 pode ser gerado, usando um vetor de movimento de um bloco co- localizado 1940 do quadro temporalmente anterior 1912. Por exemplo, quando um vetor de movimento mv_colC do bloco co- 10 localizado 1940 for gerado em relação a um bloco 1942 de outro quadro temporalmente anterior 1916, uma distância temporal t9 entre os quadros 1912 e 1916, e uma distância temporal tlO entre os quadros 1910 e 1916, um preditor do vetor de movimento mv_L0C do bloco atual 1900 pode ser 15 gerado da seguinte maneira: mv_L0C = (tl0/t9) x mv_colC
O vetor de movimento mv_L0C pode ser gerado, com base em um POC, conforme acima descrito com referência às Figs. 19A e 19B. 0 vetor de movimento mv_L0C pode ser 20 gerado com base em um POC do quadro atual 1910, um POC de um quadro referido no quadro atual 1910, um POC do quadro temporalmente anterior 1912, ou um POC do outro quadro I temporalmente anterior 1916.
Uma vez que o quadro atual 1910 é um quadro P, 25 apenas um candidato a preditor do vetor de movimento do bloco atual 1900 é gerado na Fig. 19, ao contrário das Figs. 19A e 19B.
Em resumo, um grupo C de candidatos a preditor do vetor de movimento gerado pelo codificador do vetor de movimento 1420 pode ser da seguinte maneira. C = {median(mv_a', mv_b', mv_c'), mv_a', mv_b', mv_c', mv_temporal}
Aqui, como acima descrito com referência às Figs.16 a 18, mv_a’ denota um preditor do primeiro vetor de movimento, que constitui um vetor de movimento de um bloco adjacente inicialmente eficaz, a partir de um bloco à esquerda de um bloco atual, mv_b' denota um preditor do segundo vetor de movimento, que constitui um vetor de movimento de um bloco adjacente inicialmente eficaz, a partir de um bloco superior do bloco atual, e mv_c' denota um terceiro preditor do vetor de movimento, constituindo um vetor de movimento de um bloco adjacente eficaz, a partir de blocos localizados nos cantos do bloco atual. Aqui, sobre a eficácia de um bloco adjacente, as ocorrências de i) um bloco adjacente se referir a um primeiro quadro de referência referido em um bloco atual, ii) um bloco adjacente se referir a um quadro de referência diferente do primeiro quadro de referência, que existe na mesma direção de lista que o primeiro quadro de referência, e iii) um bloco adjacente se referir a um quadro de referência existente em uma direção de lista diferente do primeiro quadro de referência, são sequencialmente determinadas, e um vetor de movimento de um bloco adjacente inicialmente digitalizado, que satisfaz a condição acima, é determinado como um candidato a preditor do vetor de movimento. Além 5 disso, medianO denota uma mediana e mv_temporal denota candidatos a preditor do vetor de movimento gerados, utilizando a distância temporal acima descrita com referência às Figs. 19A a 19C. Conforme acima descrito, o codificador do vetor de movimento 1420 pode calcular uma 10 mediana, apenas usando vetores de movimento no mesmo tipo, ao determinar medianas de vetores de movimento dos blocos adjacentes, como candidatos a preditor do vetor de movimento. Em outras palavras, o codificador do vetor de movimento 1420 pode determinar os primeiro a terceiro 15 preditores do vetor de movimento, usando apenas vetores de movimento referentes ao primeiro quadro de referência, dentre os vetores de movimento dos blocos adjacentes do bloco atual, e incluir medianas dos primeiro a terceiro preditores do vetor de movimento nos candidatos a preditor 20 do vetor de movimento do bloco atual. Como alternativa, conforme acima descrito, o codificador do vetor de movimento 1420 pode determinar os primeiro a terceiro preditores do vetor de movimento, usando o vetor de movimento do bloco adjacente referente ao quadro de 25 referência na mesma direção de lista que o primeiro quadro de referência, ou o vetor do movimento do bloco adjacente referente ao quadro de referência na direção de lista diferente do primeiro quadro de referência, e incluir as medianas dos primeiro a terceiro preditores do vetor de movimento nos candidatos a preditor do vetor de movimento do bloco atual. Aqui, o codificador do vetor de movimento 1420 pode incluir as medianas dos primeiro a terceiro preditores do vetor de movimento nos candidatos a preditor Ido vetor de movimento, apenas quando todos os primeiro a terceiro preditores do vetor de movimento se referirem ao quadro de referência diferente do primeiro quadro de referência.
O codificador do vetor de movimento 1420 pode adicionar informações sobre qual preditor do vetor de movimento dentre elementos do grupo C de candidatos a 15 preditor do vetor de movimento é usado a um fluxo de bits, como informações sobre um preditor do vetor de movimento. Em detalhes, para especificar um elemento no grupo C, o codificador do vetor de movimento 1420 pode atribuir um indice para cada candidato a preditor do vetor de 20 movimento, e adicionar informações sobre índice de um preditor do vetor de movimento realmente usado para codificar um vetor de movimento a um fluxo de bits.
Além disso, quando o grupo C é gerado, o codificador do vetor de movimento 1420 pode priorizar 25 preditores do vetor de movimento utilizável para usar os preditores do vetor de movimento utilizável, de acordo com a prioridade durante a codificação do vetor de movimento. Por exemplo, o codificador do vetor de movimento 1420 prioriza median(mv_a', mv_b1, mv_c'), mv_a', mv_b', mv_c' e mv_temporal na ordem indicada, para determinar um preditor 5 do vetor de movimento a ser usado para codificar o vetor de movimento.
O perito na arte irá entender que candidatos a preditor do vetor de movimento, que não sejam os candidatos a preditor do vetor de movimento acima descritos, podem ser 10 utilizados. •
Alternativamente, o codificador do vetor de movimento 1420 pode classificar os blocos adjacentes em N (N é um n°. inteiro) grupos adjacentes e determinar N preditores do vetor de movimento para respectivos N grupos 15 adjacentes, utilizando o vetor de movimento do bloco adjacente referente a outro quadro de referência, na mesma direção de lista que o primeiro quadro de referência, ou o vetor do movimento do bloco adjacente referente a outro quadro de referência na direção de lista diferente do 20 primeiro quadro de referência, e incluir as medianas dos primeiro a terceiro preditores do vetor de movimento nos candidatos a preditor do vetor de movimento do bloco atual. Por exemplo, referente novamente à FIG. 15B, o codificador do vetor de movimento 1420 pode agrupar os blocos 25 adjacentes em dois grupos. Aqui, um grupo inclui o bloco 1510 aO a an adjacente ao lado superior do bloco atual e o 87 bloco superior direito c 1531. Outro grupo inclui o bloco 1520 bO a bn adjacente ao lado esquerdo do bloco atual e um bloco inferior esquerdo e 1532. Depois de agrupar os blocos adjacentes do bloco atual em dois grupos, o codificador do 5 vetor de movimento 1420 determina dois preditores do vetor de movimento para os respectivos dois grupos, conforme acima descrito. Além disso, o codificador do vetor de movimento 1420 pode classificar os blocos adjacentes nos N grupos adjacentes, de acordo com a localização dos blocos 10 adjacentes, e determinar N preditores do vetor de movimento para os respectivos N grupos adjacentes.
Enquanto isso, o codificador do vetor de movimento 1420 só pode codificar informações, indicando que o preditor do vetor de movimento do bloco atual foi 15 codificado, com base em um bloco ou pixel incluído em uma região adjacente codificada antes do bloco atual. Em outras palavras, o codificador do vetor de movimento 1420 não pode codificar as informações para especificar o preditor do vetor de movimento, e pode codificar apenas as informações, 20 indicando que o preditor do vetor de movimento foi gerado.
Geralmente, no Codec, como o MPEG-4 H.264 ou MPEG-4 AVC, vetores de movimento dos blocos adjacentes, codificados antes de um bloco atual, são usados para predizer um vetor de movimento do bloco atual. Quando medianas de vetores de 25 movimento dos blocos adjacentes anteriormente codificados,localizados na parte esquerda, superior, e superior direita do bloco atual, são determinadas, para serem usadas como preditores do vetor de movimento do bloco atual, informações para selecionar um dos candidatos a preditor do vetor de movimento não podem ser codificadas separadamente.
Em outras palavras, quando informações, indicando que o preditor do vetor de movimento do bloco atual foi codificado em um modo implícito, forem codificadas durante um processo de codificação, as medianas dos vetores de movimento dos blocos adjacentes no lado esquerdo, superior, 10 e superior direito do bloco atual podem ser usadas como preditores do vetor de movimento do bloco atual durante o processo de decodificação. Especificamente, um método e aparelho para codificar um vetor de movimento, de acordo com outra forma de realização exemplar, podem gerar um 15 preditor do vetor de movimento, usando valores de pixel adjacentes, codificados antes de um bloco atual como modelos. Isso será descrito detalhadamente com referência à Fig. 20.
A Fig. 20 é um diagrama para descrever um método 20 para gerar um preditor do vetor de movimento em um modo implicito, de acordo com uma forma de realização exemplar.
Referente à Fig. 20, um preditor do vetor de movimento de um bloco atual 2000 de um quadro atual 2010 é gerado, usando pixels 2022 incluídos em uma região 25 adjacente 2020 codificada antes do bloco atual 2000. Pixels 2024 correspondentes aos pixels 2022 são determinados, pela busca de um quadro de referência 2012, usando os pixels 2022. Os pixels 2024 podem ser determinados, calculando-se um custo, como uma soma de diferença absoluta (SAD). Quando os pixels 2024 são determinados, vetores de movimento 5 mv_template dos pixels 2022 são determinados, e os vetores de movimento mv_template podem ser usados como preditores do vetor de movimento do bloco atual 2000. Quando os vetores de movimento mv_template são procurados no quadro de referência 2012, o grupo C dos candidatos a preditor do 10 vetor de movimento acima descrito pode ser usado.
A Fig. 21 é um diagrama de blocos de um aparelho 2100 para decodificar um vetor de movimento, de acordo com uma forma de realização exemplar.
O aparelho 2100 da Fig. 21 inclui elementos 15 relacionados com a codificação de um vetor de movimento, como o compensador de movimento 560 e o decodificador de entropia 520 da Fig. 5, em que o decodificador de entropia 520 da Fig. 5 pode realizar operações executadas por um decodificador do vetor de movimento 2110 da Fig. 21.
Referente à Fig. 21, o aparelho 2100 inclui o decodificador do vetor de movimento 2110 e um compensador de movimento 2120.
O decodificador do vetor de movimento 2110 decodifica informações sobre um preditor do vetor de 25 movimento de um bloco atual, que é decodificado a partir de um fluxo de bits, e uma diferença entre um vetor de movimento do bloco atual e o preditor do vetor de movimento do bloco atual. Em detalhes, o decodificador do vetor de movimento 2110 decodifica informações sobre índice, indicando um preditor do vetor de movimento dentre 5 candidatos a preditor do vetor de movimento acima descritos, que é usado como um preditor do vetor de movimento do bloco atual a ser decodificado. Se os candidatos a preditor do vetor de movimento incluírem mv_temporal acima descrito com referência às Figs. 19A a 10 19C, informações sobre se um bloco co-localizado, usado para gerar mv_temporal, é um bloco de um quadro temporalmente anterior ou um quadro temporalmente posterior do quadro atual, também são decodificadas. Se um preditor do vetor de movimento de um bloco atual for codificado em 15 um modo implícito, como mostrado na Fig. 20, informações sobre modo, indicando o modo implícito, são decodificadas.
O compensador de movimento 2120 gera o preditor do vetor de movimento do bloco atual, com base nas informações sobre o preditor do vetor de movimento do bloco atual. Em 20 outras palavras, o compensador de movimento 2120 determina qual preditor do vetor de movimento é usado como o preditor do vetor de movimento do bloco atual, a partir das informações sobre o preditor do vetor de movimento, e restaura um vetor de movimento do bloco atual, adicionando 25 o preditor do vetor de movimento determinado e uma diferença decodificada. No preditor do vetor de movimento codificado, conforme acima descrito com referência às Figs. 16 a 18, quando um bloco tendo um vetor de movimento referente ao primeiro quadro de referência, como o bloco atual, não existir entre blocos adjacentes, o preditor do 5 vetor de movimento pode ser determinado, usando um vetor de movimento de um bloco adjacente, referente a um quadro de referência diferente do primeiro quadro de referência.
A Fig. 22 é um fluxograma, que ilustra um método para decodificar um vetor de movimento, de acordo com uma 10 forma de realização exemplar.
Referente à FIG. 22, o decodificador do vetor de movimento 2110 decodifica informações sobre um preditor do vetor de movimento de um bloco atual decodificado a partir de um fluxo de bits, e decodifica uma diferença entre um 15 vetor de movimento do bloco atual e o preditor do vetor de movimento do bloco atual, respectivamente nas operações 2210 e 2220. Conforme acima descrito, o decodificador do vetor de movimento 2110 decodifica informações sobre indice, indicando um preditor do vetor de movimento dentre 20 candidatos a preditor do vetor de movimento, que é usado como um preditor do vetor de movimento do bloco atual a ser decodificado. Se os candidatos a preditor do vetor de movimento incluírem mv_temporal acima descrito com referência à Figs. 19A a 19C, informações sobre se um bloco 25 co-localizado, usado para gerar mv_temporal, é um bloco de um quadro temporalmente anterior ou um quadro temporalmente posterior ao quadro atual, também são decodificadas. Se um preditor do vetor de movimento de um bloco atual for codificado em um modo implicito, como mostrado na Fig. 20, informações sobre modo, indicando o modo implicito, são 5 decodificadas.
O compensador de movimento 2120 gera o preditor do vetor de movimento do bloco atual, com base nas informações sobre o preditor do vetor de movimento, na operação 2230, e restaura o vetor de movimento do bloco atual, adicionando o 10 preditor do vetor de movimento e a diferença. Como descrito anteriormente, no preditor do vetor de movimento, codificado conforme acima descrito com referência às Figs. 16 a 18, quando um bloco tendo um vetor de movimento referente ao primeiro quadro de referência, como o bloco 15 atual, não existir entre blocos adjacentes, o preditor do vetor de movimento pode ser determinado, usando um vetor de movimento de um bloco adjacente referente a um quadro de referência diferente do primeiro quadro de referência.
As formas de realização exemplares também podem ser 20 incorporadas, como códigos legíveis por computador em uma midia de gravação legivel por computador. A midia de gravação legivel por computador é qualquer dispositivo de armazenamento de dados, que pode armazenar dados, que podem ser lidos posteriormente por um sistema de computador.
Exemplos da midia de gravação legivel por computador incluem memória somente de leitura (ROM), memória de acesso aleatório (RAM), CD-ROMs, fitas magnéticas, discos flexíveis, dispositivos de armazenamento de dados ópticos etc. . A midia de gravação legivel por computador pode ser também distribuída ao longo de sistemas de computador 5 ligados em rede, para que o código legível por computador seja armazenado e executado de forma distribuída. Alternativamente, as formas de realização exemplares podem ser incorporadas como mídias de transmissão legíveis por computador, tais como ondas de portadora, para transmissão 10 em uma rede, como a Internet.
Os aparelhos, codificadores e decodificadores das formas de realização exemplares podem incluir um barramento ligado a cada unidade do aparelho, pelo menos um processador (por exemplo, unidade central de processamento, 15 microprocessador etc.), que é conectado ao barramento para controlar as operações dos aparelhos, para implementar as funções acima descritas e executar comandos, e uma memória conectada ao barramento para armazenar os comandos, mensagens recebidas, e mensagens geradas.
Embora aspectos do Pedido tenham sido particularmente mostrados e descritos com referência a suas formas de realização exemplares, deve ser compreendido pelos peritos na arte, que várias alterações na forma e detalhes podem ser feitas, sem se afastar do espírito e 25 âmbito da invenção, como definidos pelas reivindicações
As formas de realização exemplares devem ser consideradas somente no sentido descritivo, e não para fins de limitação. Portanto, o âmbito da invenção é definido, não pela descrição detalhada, mas pelas reivindicações anexas, e todas as diferenças dentro do âmbito devem ser 5 interpretadas, como estando incluidas na presente invenção.

Claims (3)

1. MÉTODO PARA DECODIFICAR UMA IMAGEM, o método caracterizado por compreender:obter um modo de predição de um bloco atual a partir de um fluxo de bits;quando o modo de predição do bloco atual é de inter- predição, obter candidatos preditores do vetor de movimento do bloco atual usando pelo menos um vetor de movimento de blocos vizinhos adjacentes ao bloco atual;obter um preditor de vetor de movimento do bloco atual entre os candidatos preditores de vetor de movimento com base nas informações do preditor de vetor de movimento obtidas a partir do fluxo de bits; erestaurar um vetor de movimento do bloco atual com base no preditor do vetor de movimento e num vetor de movimento da diferença,em que o pelo menos um vetor de movimento de blocos vizinhos é obtido mediante busca de um vetor de movimento em meio aos blocos adjacentes até um lado esquerdo do bloco atual a partir de uma primeira ordem de digitalização, e mediante busca quanto a um vetor de movimento desde os blocos vizinhos adjacentes até um lado superior do bloco atual de acordo com uma segunda ordem de digitalização,em que os blocos vizinhos, adjacentes ao lado esquerdo do bloco atual compreendem um bloco inferior esquerdo e um bloco superior alocados ao lado superior do bloco inferior esquerdo,em que a primeira ordem de digitalização indica uma ordem de digitalização que escaneia os blocos vizinhos adjacentes ao lado esquerdo do bloco atual desde o bloco inferior esquerdo até o bloco superior, e em que a segunda ordem de digitalização indica uma ordem de digitalização que escaneia os blocos vizinhos adjacentes ao lado superior do bloco atual desde o lado direito até os lado esquerdo.
2. MÉTODO, de acordo com a reivindicação 1, caracterizado por o primeiro preditor de vetor de movimento e o segundo preditor de vetor de movimento serem vetores de movimento de blocos de movimento identificados primeiramente entre vetores de movimento dos blocos vizinhos de acordo com a primeira ordem e a segunda ordem, respectivamente.
3. Aparelho que codifica uma imagem, o aparelho caracterizado por compreender:um estimador de movimento que realiza a estimativa de movimento em um bloco atual de uma imagem atual e obtém um vetor de movimento de um bloco atual, o vetor de movimento do bloco atual indicando uma região numa imagem de referência que corresponde ao bloco atual, com base na estimativa de movimento; eum codificador de vetor de movimento que gera candidatos preditores de vetor de movimento do bloco atual usando pelo menos um vetor de movimento de blocos vizinhos adjacentes ao bloco atual, obtém um preditor de vetor de movimento do bloco atual entre candidatos preditores de vetor de movimento e codifica uma diferença entre o preditor de vetor de movimento e o vetor de movimento do bloco atual como informação de vetor de movimento do bloco atual,em que o pelo menos um vetor de movimento de blocos vizinhos é obtido mediante busca de um vetor de movimento disponível desde os blocos vizinhos adjacentes até um lado esquerdo do bloco atual de acordo com uma primeira ordem de digitalização, e mediante busca de um vetor de movimento disponível desde os blocos vizinhos adjacentes até um lado superior do bloco atual, de acordo com uma segunda ordem de digitalização;em que os blocos vizinhos adjacentes ao lado esquerdo do bloco atual compreendem um bloco inferior esquerdo e um bloco superior situado no lado superior do bloco inferior esquerdo,em que a primeira ordem de digitalização indica uma ordem de digitalização que escaneia os blocos vizinhos adjacentes ao lado esquerdo do bloco atual desde o bloco inferior esquerdo até o bloco superior, eem que a segunda ordem de digitalização indica uma ordem de digitalização que digitaliza os blocos vizinhos adjacentes ao lado superior do bloco atual desde o lado direito até o lado esquerdo.
BR112013000559-9A 2010-07-09 2011-07-08 Método para decodificar um vetor de movimento BR112013000559B1 (pt)

Priority Applications (4)

Application Number Priority Date Filing Date Title
BR122015013885-0A BR122015013885B1 (pt) 2010-07-09 2011-07-08 Aparelho para decodificar uma imagem
BR122015013889-2A BR122015013889B1 (pt) 2010-07-09 2011-07-08 Aparelho para decodificar uma imagem
BR122015013871-0A BR122015013871B1 (pt) 2010-07-09 2011-07-08 Método para decodificar uma imagem
BR122015013887-6A BR122015013887B1 (pt) 2010-07-09 2011-07-08 Método para decodificar uma imagem

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US36280910P 2010-07-09 2010-07-09
US61/362,809 2010-07-09
KR10-2011-0019100 2011-03-03
KR1020110019100A KR101456499B1 (ko) 2010-07-09 2011-03-03 움직임 벡터의 부호화 방법 및 장치, 그 복호화 방법 및 장치
PCT/KR2011/005032 WO2012005549A2 (en) 2010-07-09 2011-07-08 Methods and apparatuses for encoding and decoding motion vector

Publications (2)

Publication Number Publication Date
BR112013000559A2 BR112013000559A2 (pt) 2020-10-06
BR112013000559B1 true BR112013000559B1 (pt) 2021-08-10

Family

ID=45611874

Family Applications (5)

Application Number Title Priority Date Filing Date
BR122015013887-6A BR122015013887B1 (pt) 2010-07-09 2011-07-08 Método para decodificar uma imagem
BR122015013889-2A BR122015013889B1 (pt) 2010-07-09 2011-07-08 Aparelho para decodificar uma imagem
BR122015013885-0A BR122015013885B1 (pt) 2010-07-09 2011-07-08 Aparelho para decodificar uma imagem
BR112013000559-9A BR112013000559B1 (pt) 2010-07-09 2011-07-08 Método para decodificar um vetor de movimento
BR122015013871-0A BR122015013871B1 (pt) 2010-07-09 2011-07-08 Método para decodificar uma imagem

Family Applications Before (3)

Application Number Title Priority Date Filing Date
BR122015013887-6A BR122015013887B1 (pt) 2010-07-09 2011-07-08 Método para decodificar uma imagem
BR122015013889-2A BR122015013889B1 (pt) 2010-07-09 2011-07-08 Aparelho para decodificar uma imagem
BR122015013885-0A BR122015013885B1 (pt) 2010-07-09 2011-07-08 Aparelho para decodificar uma imagem

Family Applications After (1)

Application Number Title Priority Date Filing Date
BR122015013871-0A BR122015013871B1 (pt) 2010-07-09 2011-07-08 Método para decodificar uma imagem

Country Status (9)

Country Link
EP (5) EP2988508A1 (pt)
JP (1) JP2013530660A (pt)
KR (6) KR101456499B1 (pt)
CN (6) CN104918053B (pt)
BR (5) BR122015013887B1 (pt)
MY (5) MY160838A (pt)
PH (4) PH12015500256A1 (pt)
SG (6) SG186978A1 (pt)
WO (1) WO2012005549A2 (pt)

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FI3985979T3 (fi) 2010-12-13 2024-04-23 Electronics & Telecommunications Res Inst Menetelmä vertailuyksikön määrittämiseksi
US9288501B2 (en) 2011-03-08 2016-03-15 Qualcomm Incorporated Motion vector predictors (MVPs) for bi-predictive inter mode in video coding
EP3937497B1 (en) 2011-03-21 2023-02-22 LG Electronics, Inc. Motion vector predictor selection
CN110809157B (zh) 2012-01-18 2023-05-02 韩国电子通信研究院 视频解码装置、视频编码装置和传输比特流的方法
KR102070431B1 (ko) * 2012-01-19 2020-01-28 삼성전자주식회사 쌍방향 예측 및 블록 병합을 제한하는 비디오 부호화 방법 및 장치, 비디오 복호화 방법 및 장치
RU2593264C2 (ru) 2012-04-16 2016-08-10 Самсунг Электроникс Ко., Лтд. Способ и устройство для определения набора опорных картинок
EP2941867A4 (en) * 2013-01-07 2016-07-06 Mediatek Inc METHOD AND DEVICE FOR DERIVING A PREDICTION OF SPATIAL MOTION VECTORS FOR DIRECT AND SKIP MODES IN A THREE-DIMENSIONAL VIDEO-CORDING
WO2014163458A1 (ko) * 2013-04-05 2014-10-09 삼성전자주식회사 인터 레이어 복호화 및 부호화 방법 및 장치를 위한 인터 예측 후보 결정 방법
EP3021584A4 (en) * 2013-07-12 2017-03-15 Samsung Electronics Co., Ltd. Method and apparatus for inter-layer decoding video using depth-based disparity vector, and method and apparatus for inter-layer encoding video using depth-based disparity vector
KR20170128390A (ko) * 2015-03-19 2017-11-22 엘지전자 주식회사 비디오 신호의 처리 방법 및 이를 위한 장치
CN115278230A (zh) * 2015-11-11 2022-11-01 三星电子株式会社 对视频进行解码的设备和对视频进行编码的设备
CN109587479B (zh) * 2017-09-29 2023-11-10 华为技术有限公司 视频图像的帧间预测方法、装置及编解码器
JP7477495B2 (ja) * 2018-04-01 2024-05-01 エルジー エレクトロニクス インコーポレイティド インター予測モードに基づいた映像処理方法及びそのための装置
CN110662074B (zh) * 2018-06-28 2021-11-23 杭州海康威视数字技术股份有限公司 一种运动矢量确定方法和设备
CN110662033B (zh) * 2018-06-28 2021-11-23 杭州海康威视数字技术股份有限公司 一种解码、编码方法及其设备
WO2020003280A1 (en) * 2018-06-29 2020-01-02 Beijing Bytedance Network Technology Co., Ltd. Which lut to be updated or no updating
CN109068140B (zh) * 2018-10-18 2021-06-22 北京奇艺世纪科技有限公司 视频编码中运动向量的确定方法、装置及视频编解码设备
SG11202112518SA (en) 2019-05-13 2021-12-30 Beijing Bytedance Network Technology Co Ltd Block dimension settings of transform skip mode
CN117354528A (zh) 2019-05-22 2024-01-05 北京字节跳动网络技术有限公司 基于子块使用变换跳过模式
CN112565789B (zh) * 2019-11-13 2021-09-17 腾讯科技(深圳)有限公司 视频解码及编码方法、装置、计算机可读介质及电子设备
CN114079787A (zh) * 2020-08-10 2022-02-22 腾讯科技(深圳)有限公司 视频解码方法、视频编码方法、装置、设备和存储介质

Family Cites Families (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
BE1007681A3 (nl) * 1993-10-29 1995-09-12 Philips Electronics Nv Inrichting voor het overdragen van televisiebeelden en inrichting voor het ontvangen daarvan.
KR0171145B1 (ko) * 1995-03-20 1999-03-20 배순훈 이미지 부호화 시스템용 움직임 보상 장치
KR100266161B1 (ko) * 1997-11-01 2000-09-15 구자홍 디지털 영상을 위한 움직임 추정방법(Method of Predicting Motion for Digital Image)
US6332002B1 (en) * 1997-11-01 2001-12-18 Lg Electronics Inc. Motion prediction apparatus and method
FI116819B (fi) * 2000-01-21 2006-02-28 Nokia Corp Menetelmä kuvien lähettämiseksi ja kuvakooderi
US6980596B2 (en) * 2001-11-27 2005-12-27 General Instrument Corporation Macroblock level adaptive frame/field coding for digital video content
JP4114859B2 (ja) * 2002-01-09 2008-07-09 松下電器産業株式会社 動きベクトル符号化方法および動きベクトル復号化方法
JP4130783B2 (ja) * 2002-04-23 2008-08-06 松下電器産業株式会社 動きベクトル符号化方法および動きベクトル復号化方法
KR100865034B1 (ko) * 2002-07-18 2008-10-23 엘지전자 주식회사 모션 벡터 예측 방법
US7039247B2 (en) * 2003-01-31 2006-05-02 Sony Corporation Graphic codec for network transmission
JP4373702B2 (ja) * 2003-05-07 2009-11-25 株式会社エヌ・ティ・ティ・ドコモ 動画像符号化装置、動画像復号化装置、動画像符号化方法、動画像復号化方法、動画像符号化プログラム及び動画像復号化プログラム
US7653133B2 (en) * 2003-06-10 2010-01-26 Rensselaer Polytechnic Institute (Rpi) Overlapped block motion compression for variable size blocks in the context of MCTF scalable video coders
US7400681B2 (en) * 2003-11-28 2008-07-15 Scientific-Atlanta, Inc. Low-complexity motion vector prediction for video codec with two lists of reference pictures
JP4504230B2 (ja) * 2005-03-02 2010-07-14 株式会社東芝 動画像処理装置、動画像処理方法、及び動画像処理プログラム
CN1658673A (zh) * 2005-03-23 2005-08-24 南京大学 视频压缩编解码方法
CN101422047B (zh) * 2006-04-14 2011-01-12 Nxp股份有限公司 图像边界处的运动估计方法及显示设备
CN101573985B (zh) * 2006-11-03 2012-07-04 三星电子株式会社 用于视频预测编码的方法和装置以及用于视频预测解码的方法和装置
KR101383540B1 (ko) * 2007-01-03 2014-04-09 삼성전자주식회사 복수의 움직임 벡터 프리딕터들을 사용하여 움직임 벡터를추정하는 방법, 장치, 인코더, 디코더 및 복호화 방법
KR101366241B1 (ko) * 2007-03-28 2014-02-21 삼성전자주식회사 영상 부호화, 복호화 방법 및 장치
CN100544442C (zh) * 2007-08-07 2009-09-23 华亚微电子(上海)有限公司 一种适用于运动估计的片内存储的方法
US8462853B2 (en) * 2007-10-16 2013-06-11 Lg Electronics Inc. Method and an apparatus for processing a video signal
CN101291436B (zh) * 2008-06-18 2011-02-16 北京中星微电子有限公司 视频编/解码方法和视频编/解码装置
CN101621685B (zh) * 2008-07-04 2011-06-15 株式会社日立制作所 编码装置和编码方法
KR101377527B1 (ko) * 2008-10-14 2014-03-25 에스케이 텔레콤주식회사 복수 개의 참조 픽처의 움직임 벡터 부호화/복호화 방법 및장치와 그를 이용한 영상 부호화/복호화 장치 및 방법
KR101279573B1 (ko) * 2008-10-31 2013-06-27 에스케이텔레콤 주식회사 움직임 벡터 부호화 방법 및 장치와 그를 이용한 영상 부호화/복호화 방법 및 장치
CN101605262B (zh) * 2009-07-09 2011-11-09 杭州士兰微电子股份有限公司 可变块尺寸运动预测方法和装置
CN101600109A (zh) * 2009-07-13 2009-12-09 北京工业大学 基于纹理和运动特征的h.264降尺寸转码方法
RU2538284C2 (ru) * 2010-04-22 2015-01-10 Медиатэк, Инк. Способ предсказания движения
KR101803886B1 (ko) * 2011-01-07 2017-12-04 가부시키가이샤 엔.티.티.도코모 움직임 벡터의 예측 부호화 방법, 예측 부호화 장치, 및 예측 부호화 프로그램, 그리고 움직임 벡터의 예측 복호 방법, 예측 복호 장치, 및 예측 복호 프로그램

Also Published As

Publication number Publication date
CN106851312B (zh) 2019-09-13
WO2012005549A2 (en) 2012-01-12
MY160838A (en) 2017-03-31
BR122015013887A2 (pt) 2020-10-27
EP2591604A2 (en) 2013-05-15
BR122015013885A2 (pt) 2020-10-27
PH12015500255B1 (en) 2015-07-06
BR122015013871A2 (pt) 2020-10-27
SG10201503795RA (en) 2015-06-29
EP2988506A1 (en) 2016-02-24
MY179893A (en) 2020-11-18
SG10201503798SA (en) 2015-06-29
PH12015500256B1 (en) 2015-07-06
KR20140096008A (ko) 2014-08-04
PH12015500255A1 (en) 2015-07-06
CN104796722A (zh) 2015-07-22
CN106851312A (zh) 2017-06-13
EP2988507A1 (en) 2016-02-24
CN104980760B (zh) 2019-01-11
KR20140067995A (ko) 2014-06-05
MY179897A (en) 2020-11-18
SG10201503797QA (en) 2015-06-29
SG10201503796PA (en) 2015-06-29
SG186978A1 (en) 2013-02-28
KR20140136409A (ko) 2014-11-28
KR101507811B1 (ko) 2015-04-07
EP2988508A1 (en) 2016-02-24
KR20140136416A (ko) 2014-11-28
PH12015500254B1 (en) 2015-07-06
BR122015013887B1 (pt) 2021-08-10
JP2013530660A (ja) 2013-07-25
SG195593A1 (en) 2013-12-30
MY179892A (en) 2020-11-18
PH12015500257B1 (en) 2015-07-06
KR20120005934A (ko) 2012-01-17
KR20150042772A (ko) 2015-04-21
KR101607309B1 (ko) 2016-03-29
PH12015500256A1 (en) 2015-07-06
CN103098467B (zh) 2017-04-12
WO2012005549A3 (en) 2012-04-26
KR101608066B1 (ko) 2016-03-31
KR101639333B1 (ko) 2016-07-13
BR112013000559A2 (pt) 2020-10-06
CN103098467A (zh) 2013-05-08
KR101639334B1 (ko) 2016-07-13
EP2934013A1 (en) 2015-10-21
MY179895A (en) 2020-11-18
BR122015013871B1 (pt) 2021-08-10
BR122015013885B1 (pt) 2022-04-19
CN104918053A (zh) 2015-09-16
BR122015013889A2 (pt) 2020-10-27
PH12015500254A1 (en) 2015-07-06
KR101456499B1 (ko) 2014-11-03
CN104980761B (zh) 2019-01-11
CN104980761A (zh) 2015-10-14
CN104796722B (zh) 2016-11-23
EP2591604A4 (en) 2015-07-08
PH12015500257A1 (en) 2015-07-06
BR122015013889B1 (pt) 2021-08-10
CN104918053B (zh) 2018-08-07
CN104980760A (zh) 2015-10-14

Similar Documents

Publication Publication Date Title
BR112013000559B1 (pt) Método para decodificar um vetor de movimento
ES2951321T3 (es) Procedimiento y aparato para codificar información de movimiento, y procedimiento y aparato para decodificar la misma
BR122020014007B1 (pt) Método para decodificar um vídeo
BR112012001514B1 (pt) Método de codificação de uma imagem
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
BR112013018993B1 (pt) Método de derivação de candidato de mesclagem
BR112012002244B1 (pt) Método de decodificação de vídeo, método de codificação de um vídeo, aparelho para decodificação de vídeo, aparelho para codificar um vídeo, e meio de gravação legível por computador
SG195596A1 (en) Method and apparatus for encoding and decoding image through intra prediction
BR112014018115B1 (pt) Método de decodificar um vídeo
JP6935553B2 (ja) 縮小された予測動きベクトルの候補に基づいて、動きベクトルを符号化/復号化する方法及び装置
AU2015203854B2 (en) Method and apparatus for encoding and decoding motion vector based on reduced motion vector predictor candidates
BR122020001936B1 (pt) método de decodificar um vídeo

Legal Events

Date Code Title Description
B06U Preliminary requirement: requests with searches performed by other patent offices: procedure suspended [chapter 6.21 patent gazette]
B15K Others concerning applications: alteration of classification

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

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

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 08/07/2011, OBSERVADAS AS CONDICOES LEGAIS. PATENTE CONCEDIDA CONFORME ADI 5.529/DF, QUE DETERMINA A ALTERACAO DO PRAZO DE CONCESSAO.