BR112012017408B1 - Aparelho para codificar um vetor de movimento, e método para decodificar um vetor de movimento - Google Patents

Aparelho para codificar um vetor de movimento, e método para decodificar um vetor de movimento Download PDF

Info

Publication number
BR112012017408B1
BR112012017408B1 BR112012017408-8A BR112012017408A BR112012017408B1 BR 112012017408 B1 BR112012017408 B1 BR 112012017408B1 BR 112012017408 A BR112012017408 A BR 112012017408A BR 112012017408 B1 BR112012017408 B1 BR 112012017408B1
Authority
BR
Brazil
Prior art keywords
motion vector
current block
encoding
vector predictor
image
Prior art date
Application number
BR112012017408-8A
Other languages
English (en)
Other versions
BR112012017408A2 (pt
Inventor
Tammy Lee
Woo-jin Han
Jung-hye MIN
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 BR122015021367A priority Critical patent/BR122015021367A2/pt
Priority to BR122015021366A priority patent/BR122015021366A2/pt
Priority to BR122015021369-0A priority patent/BR122015021369B1/pt
Priority to BR122015021370-3A priority patent/BR122015021370B1/pt
Priority to BR122013020551-9A priority patent/BR122013020551B1/pt
Publication of BR112012017408A2 publication Critical patent/BR112012017408A2/pt
Publication of BR112012017408B1 publication Critical patent/BR112012017408B1/pt

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/30Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
    • H04N19/33Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability in the spatial domain
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/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/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/91Entropy coding, e.g. variable length coding [VLC] or arithmetic coding
    • 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
    • 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/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/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/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/146Data rate or code amount at the encoder output
    • H04N19/147Data rate or code amount at the encoder output according to rate distortion criteria
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

MÉTODO PARA CODIFICAR UM VETOR DE MOVIMENTO, APARELHO PARA CODIFICAR UM VETOR DE MOVIMENTO, MÉTODO PARA DECODIFICAR UM VETOR DE MOVIMENTO, APARELHO PARA DECODIFICAR UM VETOR DE MOVIMENTO, E MÍDIA DE GRAVAÇÃO LEGÍVEL POR COMPUTADOR São fornecidos métodos e aparelhos para codificar e decodificar um vetor de movimento. O método para codificar um vetor de movimento inclui: seleção de um modo dentre um primeiro modo, no qual informações, indicando um preditor do vetor de movimento de pelo menos um preditor do vetor de movimento, são codificadas, e um segundo modo, no qual informações, indicando geração de um preditor do vetor de movimento com base em pixels incluídos numa área previamente codificada adjacente a um bloco atual, são codificadas; determinação de um preditor do vetor de movimento do bloco atual, de acordo com o modo selecionado, e codificação das informações sobre o preditor do vetor de movimento do bloco atual; e codificação de um vetor de diferença entre um vetor de movimento do bloco atual e o preditor do vetor de movimento do bloco atual.

Description

Campo Técnico
[0001] Aparelhos e métodos compatíveis com formas de realização exemplares dizem respeito à codificação e decodificação de um vetor de movimento e, mais particularmente, à codificação e decodificação de um vetor de movimento predizendo um vetor de movimento de um bloco atual.
Fundamentos
[0002] Um codec, tal como Moving Pictures Experts Group (MPEG) - 4H.264/MPEG-4 Advanced Video Coding (AVC), usa vetores de movimento de blocos previamente codificados adjacentes a um bloco atual para predizer um vetor de movimento do bloco atual. Isto é, uma mediana de vetores de movimento de blocos previamente codificados, adjacentes aos lados esquerdo, superior e superior direito de um bloco atual, pode ser utilizada como um preditor do vetor de movimento do bloco atual.
Divulgação da Invenção Solução do Problema
[0003] Um ou mais formas de realização exemplares proporcionam um método e aparelho para codificar e decodificar um vetor de movimento, e uma mídia de gravação legível por computador tendo, nela gravado, um programa de computador para executar o método.
Efeitos Vantajosos da Invenção
[0004] De acordo com a presente invenção, um vetor de movimento do bloco atual pode ser precisamente predito e codificado com base na predição.
Breve Descrição dos Desenhos
[0005] Os aspectos anteriores e outros mais se tornarão mais perceptíveis, descrevendo em detalhes formas de realização exemplares, com referência aos desenhos anexos, nos quais: a FIG. 1 é um diagrama de blocos de um aparelho para codificar uma imagem, de acordo com uma forma de realização exemplar; a FIG. 2 é um diagrama de blocos de um aparelho para decodificar uma imagem, de acordo com uma forma de realização exemplar; a FIG. 3 ilustra uma unidade de codificação hierárquica, de acordo com uma forma de realização exemplar; a FIG. 4 é um diagrama de blocos de um codificador de imagens com base em uma unidade de codificação, de acordo com uma forma de realização exemplar; a FIG. 5 é um diagrama de blocos de um decodificador de imagens com base em uma unidade de codificação, de acordo com uma forma de realização exemplar; a FIG. 6 ilustra uma unidade de codificação máxima, uma sub-unidade de codificação, e uma unidade de predição, de acordo com uma forma de realização exemplar; a FIG. 7 ilustra uma unidade de codificação e uma unidade de transformação, de acordo com uma forma de realização exemplar; as Figs. 8A a 8D ilustram formas de divisão de uma unidade de codificação, uma unidade de predição, e uma unidade de transformação, de acordo com uma forma de realização exemplar; a FIG. 9 é um diagrama de blocos de um aparelho para codificar um vetor de movimento, de acordo com uma forma de realização exemplar; as Figs. 10A e 10B ilustram os candidatos a preditor do vetor de movimento, de um modo explícito, de acordo com uma forma de realização exemplar; as Figs. 10C a 10E ilustram blocos com vários tamanhos, que são adjacentes a um bloco atual, de acordo com uma forma de realização exemplar; as Figs. 11A a 11C ilustram candidatos a preditor do vetor de movimento, de um modo explícito, de acordo com outra forma de realização exemplar; a FIG. 12A ilustra um método para gerar um preditor do vetor de movimento, de um modo implícito, de acordo com uma forma de realização exemplar; a FIG. 12B ilustra um método de busca de um preditor do vetor de movimento, de um modo implícito, de acordo com uma forma de realização exemplar; as Figs. 12C e 12D ilustram modelos utilizados para gerar preditores do vetor de movimento, de acordo com uma forma de realização exemplar; a FIG. 13 é um diagrama de blocos de um aparelho para decodificar um vetor de movimento, de acordo com uma forma de realização exemplar; a FIG. 14 é um fluxograma de um método para codificar um vetor de movimento, de acordo com uma forma de realização exemplar; e a FIG. 15 é um fluxograma de um método para decodificar um vetor de movimento, de acordo com uma forma de realização exemplar.
Melhor Modo para Realizar o Invento
[0006] De acordo com um aspecto de uma forma de realização exemplar, é proporcionado um método para codificar um vetor de movimento, o método incluindo: seleção, dentre um primeiro modo e um segundo modo, do primeiro modo, no qual informações, indicando um preditor do vetor de movimento de pelo menos um preditor do vetor de movimento, são codificadas, ou de um segundo modo, no qual informações, indicando a geração de um preditor do vetor de movimento baseado em pixels incluídos numa área previamente codificada adjacente a um bloco atual, são codificadas; determinação de um preditor do vetor de movimento do bloco atual, de acordo com o modo selecionado, e codificação de informações sobre o preditor do vetor de movimento do bloco atual; e codificação de um vetor de diferença entre um vetor de movimento do bloco atual e o preditor do vetor de movimento do bloco atual, em que o segundo modo é um modo, em que informações, indicando a geração do preditor do vetor de movimento por definição de um intervalo, no qual o preditor do vetor de movimento deve ser buscado com base em pelo menos um preditor do vetor de movimento, e por busca dentro do intervalo de busca utilizando pixels incluídos na área previamente codificada, são codificadas.
[0007] A seleção do primeiro modo ou do segundo modo pode incluir a seleção do primeiro modo ou do segundo modo, baseado em uma profundidade, indicando um grau de diminuição de um tamanho de uma unidade de codificação máxima de uma imagem ou fatia atual para um tamanho do bloco atual.
[0008] A seleção do primeiro modo ou do segundo modo pode incluir a seleção do primeiro modo ou do segundo modo em uma unidade de uma imagem ou fatia atual incluindo o bloco atual.
[0009] A seleção do primeiro modo ou do segundo modo pode incluir a seleção do primeiro modo ou do segundo modo, com base no fato do bloco atual ser codificado num modo de avanço.
[00010] Pelo menos um preditor do vetor de movimento pode incluir um primeiro vetor de movimento de um bloco adjacente a um lado esquerdo do bloco atual, um segundo vetor de movimento de um bloco adjacente a um lado superior do bloco atual, e um terceiro vetor de movimento de um bloco adjacente a um lado superior direito do bloco atual.
[00011] Pelo menos um preditor do vetor de movimento pode ainda incluir um valor médio do primeiro vetor de movimento, do segundo vetor de movimento, e do terceiro vetor de movimento.
[00012] Pelo menos um preditor do vetor de movimento pode ainda incluir um preditor do vetor de movimento gerado com base em um vetor de movimento de um bloco co-localizado com o bloco atual em uma imagem de referência e uma distância temporal entre a imagem de referência e uma imagem atual.
[00013] A codificação das informações sobre o preditor do vetor de movimento do bloco atual pode incluir informações de codificação, indicando se o bloco co-localizado com o bloco atual é um bloco de uma imagem temporalmente anterior à imagem atual ou um bloco de uma imagem temporalmente seguinte à imagem atual.
[00014] Informações, indicando se o bloco co-localizado com o bloco atual é o bloco da imagem temporalmente anterior à imagem atual ou o bloco da imagem temporalmente seguinte à imagem atual, podem ser inseridas num cabeçalho de uma fatia, em que o bloco atual está incluído.
[00015] De acordo com um aspecto de outro modo de realização exemplar, é proporcionado um aparelho para codificar um vetor de movimento, o aparelho incluindo: uma unidade de predição que seleciona, dentre um primeiro modo e um segundo modo, o primeiro modo, no qual informações, indicando pelo menos pelo um preditor do vetor de movimento, são codificadas, ou o segundo modo, no qual informações, indicando a geração de um preditor do vetor de movimento baseado em pixels incluídos numa área previamente codificada adjacente a um bloco atual, são codificadas; um primeiro codificador, que determina um preditor do vetor de movimento do bloco atual, de acordo com o modo selecionado, e codifica informações sobre o preditor do vetor de movimento do bloco atual; e um segundo codificador, que codifica um vetor de diferença entre um vetor de movimento do bloco atual e o preditor do vetor de movimento do bloco atual, em que o segundo modo é um modo, no qual informações, indicando a geração do preditor do vetor de movimento, definindo um intervalo, no qual o preditor do vetor de movimento deve ser buscado com base em pelo menos um preditor do vetor de movimento, e buscando dentro do intervalo de busca, utilizando pixels incluídos na área anteriormente codificada, são codificadas.
[00016] De acordo com um aspecto de outro modo de realização exemplar, é proporcionado um método para decodificar um vetor de movimento, o método incluindo: decodificação de informações sobre um preditor do vetor de movimento de um bloco atual codificado, de acordo com um modo selecionado dentre um primeiro modo e um segundo modo; decodificação de um vetor de diferença entre um vetor de movimento 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 decodificadas sobre o preditor do vetor de movimento do bloco atual; e restauração do vetor de movimento do bloco atual com base no preditor do vetor de movimento gerado e no vetor de diferença decodificado, em que o primeiro modo é um modo, no qual as informações, indicando pelo menos um preditor do vetor de movimento, são codificadas, e o segundo modo é um modo, em que informações, indicando a geração do preditor do vetor de movimento, definindo um intervalo, no qual o preditor do vetor de movimento deve ser buscado com base em pelo menos um preditor do vetor de movimento, e buscando dentro do intervalo de busca, utilizando pixels incluídos numa área previamente codificada adjacente ao bloco atual, são codificadas.
[00017] De acordo com um aspecto de outro modo de realização exemplar, é proporcionado um aparelho para decodificar um vetor de movimento, aparelho incluindo: um primeiro decodificador, que decodifica informações sobre um preditor do vetor de movimento de um bloco atual codificado de acordo com um modo selecionado dentre um primeiro modo e um segundo modo; um segundo decodificador, o qual decodifica um vetor de diferença entre um vetor de movimento do bloco atual e o preditor do vetor de movimento do bloco atual; uma unidade de predição, que gera o preditor do vetor de movimento do bloco atual com base nas informações decodificadas sobre o preditor do vetor de movimento do bloco atual; e um restaurador do vetor de movimento, que restaura o vetor de movimento do bloco atual com base no preditor do vetor de movimento gerado e no vetor de diferença decodificado, em que o primeiro modo é um modo, no qual as informações, indicando pelo menos um preditor do vetor de movimento, são codificadas, e o segundo modo é um modo, no qual as informações, indicando a geração do preditor do vetor de movimento, definindo um intervalo, no qual o preditor do vetor de movimento deve ser buscado com base em pelo menos um preditor do vetor de movimento e buscando dentro do intervalo de busca utilizando pixels incluídos numa área previamente codificada adjacente ao bloco atual, são codificadas.
[00018] De acordo com um aspecto de outro modo de realização exemplar, é proporcionada uma mídia de gravação legível por computador tendo, nela gravado, um programa de computador para executar o método para codificar um vetor de movimento e o método para decodificar um vetor de movimento.
[00019] De acordo com um aspecto de outro modo de realização exemplar, é proporcionado um método para codificar um vetor de movimento, o método incluindo: seleção, dentre um primeiro modo e um segundo modo, do primeiro modo, no qual informações, indicando um preditor do vetor de movimento de pelo menos um preditor do vetor de movimento, são codificadas, ou do segundo modo, no qual informações, indicando a geração de um preditor do vetor de movimento baseado em pixels incluídos numa área previamente codificada adjacente a um bloco atual, são codificadas; determinação de um preditor do vetor de movimento do bloco atual, de acordo com o modo selecionado e codificação de informações sobre o preditor do vetor de movimento do bloco atual; e codificação de um vetor de diferença entre um vetor de movimento do bloco atual e o preditor do vetor de movimento do bloco atual.
Modo de Realização da Invenção
[00020] Certas formas de realização exemplares são abaixo descritas em maiores detalhes com referência aos desenhos que o acompanham. Expressões, como "pelo menos um", quando precederem uma lista de elementos, modificam toda a lista de elementos e não modificam os elementos individuais da lista. No presente relatório descritivo, uma "imagem" pode denotar uma imagem parada para um vídeo ou uma imagem em movimento, isto é, o próprio vídeo.
[00021] Na descrição seguinte, números de referência semelhantes são utilizados para elementos semelhantes, mesmo em desenhos diferentes. As matérias definidas na descrição, como a construção e elementos detalhados, são fornecidas para ajudar numa compreensão abrangente de formas de realização exemplares. No entanto, formas de realização exemplares podem ser praticadas sem essas questões especificamente definidas.
[00022] A FIG. 1 é um diagrama de blocos de um aparelho de codificação de imagens 100 para codificar uma imagem, de acordo com uma forma de realização exemplar. O aparelho de codificação de imagens 100 pode ser implementado como um aparelho de hardware, tal como, por exemplo, um processador de um computador ou de um sistema de computador. O aparelho de codificação de imagens 100, ou um ou mais de seus componentes, pode também ser implementado como um módulo de software residente no sistema de computador.
[00023] Referindo-se à Fig. 1, o aparelho de codificação de imagens 100 inclui um divisor da unidade de codificação máxima 110, um determinador da profundidade de codificação 120, um codificador de dados de imagem 130, e um codificador de informações de codificação 140, que podem ser implementados, por exemplo, como módulos de software ou hardware integrados ao aparelho de codificação de imagens 100, ou separadamente do aparelho de codificação de imagens 100.
[00024] O divisor da unidade de codificação máxima 110 pode dividir um quadro ou fatia atual com base em uma unidade de codificação máxima, que é uma unidade de codificação do maior tamanho. Isto é, o divisor da unidade de codificação máxima 110 pode dividir o quadro ou fatia atual em pelo menos uma unidade de codificação máxima.
[00025] De acordo com uma forma de realização exemplar, uma unidade de codificação pode ser representada, através de uma unidade de codificação máxima e uma profundidade. Como acima descrito, a unidade de codificação máxima indica uma unidade de codificação tendo o maior tamanho dentre as unidades de codificação do quadro atual, e a profundidade indica um grau de diminuição hierárquica da unidade de codificação. Quando uma profundidade aumenta, uma unidade de codificação pode diminuir a partir de uma unidade de codificação máxima em uma unidade de codificação mínima, em que uma profundidade da unidade de codificação máxima é definida como uma profundidade mínima, e uma profundidade da unidade de codificação mínima é definida como uma profundidade máxima. Uma vez que o tamanho de uma unidade de codificação diminui a partir de uma unidade de codificação máxima, quando uma profundidade aumenta, uma sub- unidade de codificação de uma ka profundidade pode incluir uma pluralidade de sub-unidades codificadoras de uma (k+n)a profundidade (em que k e n são números inteiros iguais ou maiores do que 1).
[00026] De acordo com um aumento do tamanho de um quadro a ser codificado, a codificação de uma imagem em uma maior unidade de codificação pode causar uma maior taxa de compressão de imagem. No entanto, se uma maior unidade de codificação for fixa, uma imagem pode não ser eficientemente codificada, refletindo constantemente as características variáveis da imagem.
[00027] Por exemplo, quando uma área lisa, tal como o mar ou o céu, é codificada, quanto maior for uma unidade de codificação, mais uma taxa de compressão pode aumentar. No entanto, quando uma área complexa, como pessoas ou edifícios, é codificada, quanto menor for a unidade de codificação, mais uma taxa de compressão pode aumentar.
[00028] Assim, em uma forma de realização exemplar, uma unidade de codificação de imagem máxima diferente e uma profundidade máxima diferente são definidas para cada quadro ou fatia. Uma vez que uma profundidade máxima indica o número máximo de vezes, através da qual uma unidade de codificação pode diminuir, o tamanho de cada unidade de codificação mínima incluída numa unidade de codificação de imagem máxima pode ser variavelmente definida, de acordo com uma profundidade máxima. A profundidade máxima pode ser determinada de maneira diferente para cada quadro ou fatia, ou para cada unidade de codificação máxima.
[00029] O determinador da profundidade de codificação 120 determina uma forma de divisão da unidade de codificação máxima. A forma de divisão pode ser determinada com base no cálculo dos custos da taxa de distorção (RD). A forma de divisão determinada da unidade de codificação máxima é fornecida para o codificador de informações de codificação 140, e dados de imagem, de acordo com unidades de codificação máximas, são fornecidos para o codificador de dados de imagem 130.
[00030] Uma unidade de codificação máxima pode ser dividida em sub-unidades de codificação tendo diferentes tamanhos, de acordo com diferentes profundidades, e as sub-unidades de codificação com tamanhos diferentes, que são incluídas na unidade de codificação máxima, podem ser preditas ou transformadas em freqüência com base em unidades de processamento com diferentes tamanhos. Em outras palavras, o aparelho de codificação de imagens 100 pode realizar uma pluralidade de operações de processamento para codificação de imagens com base em unidades de processamento com vários tamanhos e formas. Para codificar dados de imagem, operações de processamento, tais como predição, transformação, e codificação de entropia, são executadas, em que unidades de processamento com o mesmo tamanho ou tamanhos diferentes podem ser utilizadas para cada operação.
[00031] Por exemplo, o aparelho de codificação de imagens 100 pode selecionar uma unidade de processamento, que é diferente de uma unidade de codificação para predizer a unidade de codificação.
[00032] Quando o tamanho de uma unidade de codificação for 2N x 2N (onde N é um número inteiro positivo), unidades de processamento para predição podem ser 2N x 2N, 2N x N, N x 2N, e N x N. Em outras palavras, a predição de movimento pode ser realizada com base em uma unidade de processamento, que tem uma forma, em que pelo menos uma altura e uma largura de uma unidade de codificação são igualmente divididas por dois. Daqui em diante, uma unidade de processamento, que é a base da predição, é definida como uma unidade de predição.
[00033] Um modo de predição pode ser pelo menos um dentre um modo intra, um modo inter, e um modo de avanço, e um modo de predição específico pode ser realizado para apenas uma unidade de predição tendo um tamanho específico ou uma forma específica. Por exemplo, o modo intra pode ser realizado somente para unidades de predição com os tamanhos de 2N x 2N e N x N, que têm a forma de um quadrado. Além disso, o modo de avanço pode ser realizado por apenas uma unidade de predição tendo o tamanho de 2N x 2N. Se uma pluralidade de unidades de predição existir em uma unidade de codificação, o modo de predição com os menores erros de codificação pode ser selecionado após a realização de predição para cada unidade de predição.
[00034] Alternativamente, o aparelho de codificação de imagens 100 pode realizar transformação de freqüência em dados de imagem com base em uma unidade de processamento tendo um tamanho diferente a partir de uma unidade de codificação. Para a transformação de frequência na unidade de codificação, a transformação de frequência pode ser realizada com base em uma unidade de processamento tendo um tamanho igual ou menor do que aquele da unidade de codificação. Daqui em diante, uma unidade de processamento, que é a base da transformação de frequência, é definida como uma unidade de transformação. A transformação de frequência pode ser transformada discreta de cosseno (DCT) ou transformada de Karhunen-Loeve (KLT).
[00035] O determinador da profundidade de codificação 120 pode determinar sub-unidades de codificação incluídas numa unidade de codificação máxima, usando otimização RD baseado em um multiplicador de Lagrange. Em outras palavras, o determinador da profundidade de codificação 120 pode determinar qual a forma de uma pluralidade de sub-unidades de codificação, dividida a partir da unidade de codificação máxima, em que a pluralidade de sub-unidades de codificação tem tamanhos diferentes, de acordo com as profundidades das sub-unidades de codificação. O codificador de dados de imagem 130 transmite um fluxo de bits por codificação da unidade de codificação máxima, baseado nas formas de divisão determinadas pelo determinador da profundidade de codificação 120.
[00036] O codificador das informações de codificação 140 codifica informações sobre um modo de codificação da unidade de codificação máxima, determinadas pelo determinador da profundidade de codificação 120. Em outras palavras, o codificador das informações de codificação 140 transmite um fluxo de bits por codificação de informações sobre uma forma de divisão da unidade de codificação máxima, informações sobre a profundidade máxima, e informações sobre um modo de codificação de uma sub-unidade de codificação para cada profundidade. As informações sobre o modo de codificação da sub-unidade de codificação podem incluir informações sobre uma unidade de predição da sub-unidade de codificação, informações sobre um modo de predição para cada unidade de predição, e informações sobre uma unidade de transformação da sub-unidade de codificação.
[00037] As informações sobre a forma de divisão da unidade de codificação máxima podem ser informações de sinalizador, indicando se cada unidade de codificação foi dividida. Por exemplo, quando a unidade de codificação máxima é dividida e codificada, informações, indicando se a unidade de codificação máxima foi dividida, são codificadas. Além disso, quando uma sub-unidade de codificação, dividida a partir da unidade de codificação máxima, é dividida e codificada, informações, indicando se a sub-unidade de codificação foi dividida, são codificadas.
[00038] Visto que sub-unidades de codificação com tamanhos diferentes existem para cada unidade de codificação máxima e informações sobre um modo de codificação são determinadas para cada sub-unidade de codificação, informações sobre, pelo menos, um modo de codificação podem ser determinadas para uma unidade de codificação máxima.
[00039] O aparelho de codificação de imagens 100 pode gerar sub-unidades de codificação, dividindo por igual a altura e largura de uma unidade de codificação máxima por dois, de acordo com um aumento da profundidade. Isto é, quando o tamanho de uma unidade de codificação de uma ka profundidade for 2N x 2N, o tamanho de uma unidade de codificação de uma (k +1)a profundidade é N x N.
[00040] Por conseguinte, o aparelho de codificação de imagens 100 pode determinar uma forma de divisão ideal para cada unidade de codificação máxima, baseado em tamanhos de unidades de codificação máximas e uma profundidade máxima em consideração às características da imagem. Através do ajuste variável do tamanho de uma unidade de codificação máxima, levando em consideração as características da imagem, e codificação de uma imagem através da divisão de uma unidade de codificação máxima em sub-unidades de codificação de diferentes profundidades, imagens com diferentes resoluções podem ser mais eficientemente codificadas.
[00041] A FIG. 2 é um diagrama de blocos de um aparelho de decodificação de imagens 200 para decodificar uma imagem, de acordo com uma forma de realização exemplar. O aparelho de decodificação de imagens 200 pode ser implementado como um aparelho de hardware, tal como, por exemplo, um processador de um computador, ou um sistema de computador. O aparelho de decodificação de imagens 200, ou um ou mais de seus componentes, pode ser também implementado como um módulo de software residente no sistema de computador.
[00042] Referindo-se à Fig. 2, o aparelho de decodificação de imagens 200 inclui uma unidade de aquisição de dados de imagem 210, um extrator de informações de codificação 220, e um decodificador de dados de imagem 230, que podem ser implementados, por exemplo, como módulos de software ou hardware integrados ao aparelho de decodificação de imagens 200, ou separadamente do aparelho de codificação de imagens 200.
[00043] A unidade de aquisição de dados de imagem 210 adquire dados de imagem, de acordo com unidades de codificação máximas, por análise de um fluxo de bits recebido pelo aparelho de decodificação de imagens 200, e transmite os dados de imagem para o decodificador de dados de imagem 230. A unidade de aquisição de dados de imagem 210 pode extrair informações sobre uma unidade de codificação máxima de um quadro ou fatia atual, a partir de um cabeçalho do quadro ou fatia atual. Em outras palavras, a unidade de aquisição de dados de imagem 210 divide o fluxo de bits na unidade de codificação máxima, de modo a que o decodificador de dados imagem 230 possa decodificar os dados de imagem, de acordo com unidades de codificação máximas.
[00044] O extrator de informações de codificação 220 extrai informações sobre uma unidade de codificação máxima, uma profundidade máxima, uma forma de divisão da unidade de codificação máxima, e um modo de codificação de sub-unidades de codificação, a partir do cabeçalho do quadro atual, ao analisar o fluxo de bits recebido pelo aparelho de decodificação de imagens 200. As informações sobre uma forma de divisão e as informações sobre um modo de codificação são fornecidas para o decodificador de dados de imagem 230.
[00045] As informações sobre uma forma de divisão da unidade de codificação máxima podem incluir informações sobre sub- unidades de codificação tendo diferentes tamanhos, de acordo com profundidades e incluídas na unidade de codificação máxima, e podem ser informações de sinalizador, indicando se cada unidade de codificação foi dividida.
[00046] As informações sobre um modo de codificação podem incluir informações sobre uma unidade de predição, de acordo com sub-unidades de codificação, informações sobre um modo de predição, e informações sobre uma unidade de transformação.
[00047] O decodificador de dados de imagem 230 restaura o quadro atual por decodificação dos dados de imagem de cada unidade de codificação máxima com base nas informações extraídas pelo extrator de informações de codificação 220.
[00048] O decodificador de dados de imagem 230 pode decodificar sub-unidades de codificação incluídas numa unidade de codificação máxima, baseado nas informações sobre uma forma de divisão da unidade de codificação máxima. Um processo de decodificação pode incluir um processo de predição, incluindo predição intra e compensação de movimento e um processo de transformação inversa.
[00049] O decodificador de dados de imagem 230 pode realizar predição intra ou predição inter, baseado nas informações sobre uma unidade de predição e nas informações sobre um modo de predição, para predizer uma unidade de predição. O decodificador de dados de imagem 230 pode também executar transformação inversa para cada sub-unidade de codificação, baseado nas informações sobre uma unidade de transformação de uma sub-unidade de codificação.
[00050] A FIG. 3 ilustra unidades hierárquicas de codificação, de acordo com uma forma de realização exemplar.
[00051] Referindo-se à Fig. 3, as unidades hierárquicas de codificação podem incluir unidades de codificação, cujas larguras e alturas são de 64 x 64, 32 x 32, 16 x 16, 8 x 8 e 4 x 4. Além dessas unidades de codificação tendo perfeitas formas quadradas, unidades de codificação, cujas larguras e alturas são de 64 x 32, 32 x 64, 32 x 16, 16 x 32, 16 x 8, 8 x 16, 8 x 4, e 4 x 8, também podem existir.
[00052] Referindo-se à Fig. 3, para o conjunto de dados de imagem 310, cuja resolução é 1920 x 1080, o tamanho de uma unidade de codificação máxima é definido como 64 x 64, e uma profundidade máxima é definida como 2.
[00053] Para o conjunto de dados de imagem 320, cuja resolução é 1920 x 1080, o tamanho de uma unidade de codificação máxima é definido como 64 x 64, e uma profundidade máxima é definida como 3. Para o conjunto de dados de imagem 330, cuja resolução é 352 x 288, o tamanho de uma unidade de codificação máxima é definido como 16 x 16, e uma profundidade máxima é definida como 1.
[00054] Quando a resolução é elevada ou a quantidade de dados é grande, um tamanho máximo de uma unidade de codificação pode ser definido de modo relativamente grande, para aumentar uma taxa de compressão e refletir características de imagem com mais precisão. Por conseguinte, para os conjuntos de dados de imagem 310 e 320 tendo maior resolução do que o conjunto de dados de imagem 330, 64 x 64 pode ser selecionado como o tamanho de uma unidade de codificação máxima.
[00055] Uma profundidade máxima indica o número total de camadas nas unidades hierárquicas de codificação. Uma vez que a profundidade máxima do conjunto de dados de imagem 310 é 2, uma unidade de codificação 315 do conjunto de dados de imagem 310 pode incluir uma unidade de codificação máxima, cujo tamanho de eixo maior é 64, e sub-unidades de codificação, cujos tamanhos de eixo maior são 32 e 16, de acordo com um aumento de uma profundidade.
[00056] Por outro lado, uma vez que a profundidade máxima do conjunto de dados de imagem 330 é 1, uma unidade de codificação 335 do conjunto de dados de imagem 330 pode incluir uma unidade de codificação máxima, cujo tamanho de eixo maior é 16, e unidades de codificação, cujos tamanhos de eixo maior são 8, de acordo com um aumento de uma profundidade.
[00057] No entanto, uma vez que a profundidade máxima dos dados de imagem 320 é 3, uma unidade de codificação 325 do conjunto de dados de imagem 320 pode incluir uma unidade de codificação máxima, cujo tamanho de eixo maior é 64, e sub- unidades de codificação, cujos tamanhos de eixo maior são 32, 16, 8 e 4, de acordo com um aumento de uma profundidade. Uma vez que uma imagem é codificada com base em uma menor sub- unidade de codificação, quando uma profundidade aumenta, formas de realização exemplares são adequadas para codificar uma imagem, incluindo cenas mais pequenas.
[00058] A FIG. 4 é um diagrama de blocos de um codificador de imagens 400 com base em uma unidade de codificação, de acordo com uma forma de realização exemplar. O codificador de imagens 400, ou um ou mais de seus componentes, pode ser implementado como um dispositivo de hardware, tal como, por exemplo, um processador de um computador, ou como um módulo de software residente no sistema de computador.
[00059] Um preditor intra 410 executa predição intra em unidades de predição do modo intra em um quadro atual 405, e um estimador de movimento 420 e um compensador de movimento 425 realizam predição inter e compensação de movimento em unidades de predição do modo inter, utilizando o quadro atual 405 e um quadro de referência 495. O preditor intra 410, o estimador de movimento 420, o compensador de movimento 425, e o quadro de referência 495 podem ser implementados, por exemplo, como módulos de software ou hardware integrados ao codificador de imagens 400, ou separadamente do codificador de imagens 400.
[00060] Valores residuais são gerados, com base nas unidades de predição transmitidas a partir do preditor intra 410, do estimador de movimento 420, e do compensador de movimento 425. Os valores residuais gerados são transmitidos como coeficientes de transformada quantizados, por passagem através de um transformador 430 e um quantizador 440.
[00061] Os coeficientes de transformada quantizados são restaurados em valores residuais, por passagem através de um quantizador inverso 460 e um transformador inverso 470, e os valores residuais restaurados são pós-processados, por passagem através de uma unidade de desbloqueio 480 e uma unidade de filtragem de circuito 490, e transmitidos como quadro de referência 495. Os coeficientes de transformada quantizados podem ser de transmitidos como um fluxo de bits 455, por passagem através de um codificador de entropia 450.
[00062] Para executar a codificação baseado em um método para codificar, acordo com uma forma de realização exemplar, o preditor intra 410, o estimador de movimento 420, o 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 do codificador de imagens 400 executam os processos de codificação de imagem, baseado em uma unidade de codificação máxima, uma sub-unidade de codificação, de acordo com profundidades, uma unidade de predição, e uma unidade de transformação.
[00063] A FIG. 5 é um diagrama de blocos de um decodificador de imagens 500, com base numa unidade de codificação, de acordo com uma forma de realização exemplar. O decodificador de imagens 500, ou um ou mais de seus componentes, pode ser implementado como um dispositivo de hardware, tal como, por exemplo, um processador de um computador, ou como um módulo de software residente no sistema de computador.
[00064] Um fluxo de bits 505 passa através de um analisador 510, de modo que os dados de imagem codificados sejam decodificados, e informações de codificação utilizadas para decodificação sejam analisadas. Os dados de imagem codificados são transmitidos como dados quantizados inversos por passagem através de um decodificador de entropia 520 e um quantizador inverso 530, e restaurados em valores residuais por passagem através de um transformador inverso 540. Os valores residuais são restaurados, de acordo com unidades de codificação, por serem adicionados a um resultado de predição intra de um preditor intra 550, ou um resultado de compensação de movimento de um compensador de movimento 560. As unidades de codificação restauradas são utilizadas para predição de próximas unidades de codificação ou de um próximo quadro por passagem através de uma unidade de desbloqueio 570 e uma unidade de filtragem de circuito 580. O analisador 510, o decodificador de entropia 520, o quantizador inverso 530, o transformador inverso 540, o preditor intra 550, o compensador 560, a unidade de desbloqueio 570, e a unidade de filtragem de circuito 580 podem ser implementados, por exemplo, como módulos de software ou hardware integrados ao decodificador de imagens 500 ou separadamente do decodificador de imagens 500.
[00065] Para realizar a decodificação com base em um método para decodificar, de acordo com uma forma de realização exemplar, 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 circuito 580 do decodificador de imagens 500 executam processos de decodificação de imagem, com base em de uma unidade de codificação máxima, uma sub-unidade de codificação, de acordo com profundidades, uma unidade de predição, e uma unidade de transformação.
[00066] Em particular, o preditor intra 550 e o compensador de movimento 560 determinam uma unidade de predição e um modo de predição numa sub-unidade de codificação, considerando uma unidade de codificação máxima e uma profundidade, e o transformador inverso 540 executa transformação inversa, considerando o tamanho de uma unidade de transformação.
[00067] A FIG. 6 ilustra uma unidade de codificação máxima, uma sub-unidade de codificação, e uma unidade de predição, de acordo com uma forma de realização exemplar.
[00068] O aparelho de codificação de imagens 100 ilustrado na FIG. 1 e o aparelho de decodificação de imagens 200 ilustrado na FIG. 2 usam unidades de codificação hierárquicas para executar codificação e decodificação, levando em consideração às características da imagem. Uma unidade de codificação máxima e uma profundidade máxima podem ser adaptativamente definidas, de acordo com as características da imagem ou definidas de modo variável, de acordo com requisitos de um utilizador.
[00069] Na FIG. 6, uma estrutura da unidade hierárquica de codificação 600 tem uma unidade de codifica máxima 610, que é uma unidade de codificação máxima, cuja altura e largura são 64, e a profundidade máxima é 4. Uma profundidade aumenta ao longo de um eixo vertical da estrutura da unidade hierárquica de codificação 600, e quando uma profundidade aumenta, alturas e larguras de sub-unidades de codificação 620 a 650 diminuem. Unidades de predição da unidade de codificação máxima 610 e das sub-unidades de codificação 620 a 650 são mostradas ao longo de um eixo horizontal da estrutura hierárquica da unidade de codificação 600.
[00070] A unidade de codificação máxima 610 tem uma profundidade de 0 e o tamanho de uma unidade de codificação, ou uma altura e uma largura, de 64 x 64. Uma profundidade aumenta ao longo do eixo vertical, e existe uma primeira sub-unidade de codificação 620, cujo tamanho é de 32 x 32 e a profundidade é 1, uma segunda sub-unidade de codificação 630, cujo tamanho é de 16 x 16 e a profundidade é de 2, uma terceira sub-unidade de codificação 640, cuja dimensão é de 8 x 8 e profundidade é de 3, e uma unidade de codificação mínima 650, cujo tamanho é de 4 x 4 e profundidade é de 4. A unidade de codificação mínima 650, cujo tamanho é de 4 x 4 e profundidade é 4, é uma unidade de codificação mínima, e a unidade de codificação mínima pode ser de dividida em unidades de predição, cada uma delas sendo menor do que a unidade de codificação mínima.
[00071] Referindo-se à Fig. 6, exemplos de unidades de predição são apresentados ao longo do eixo horizontal, de acordo com cada profundidade. Isto é, uma unidade de predição da unidade de codificação máxima 610, cuja profundidade é 0, pode ser uma unidade de predição, cujo tamanho é igual ao tamanho 64 x 64 da unidade de codificação máxima, ou uma unidade de predição 612, cuja dimensão é de 64 x 32, uma unidade de predição 614, cuja dimensão é de 32 x 64, ou uma unidade de predição 616, cuja dimensão é de 32 x 32, que tem um tamanho menor do que aquele da unidade de codificação máxima, cujo tamanho é de 64 x 64.
[00072] Uma unidade de predição da primeira sub-unidade de codificação 620, cuja profundidade é de 1 e tamanho é de 32 x 32, pode ser uma unidade de predição, cujo tamanho é igual ao tamanho 32 x 32 da primeira sub-unidade de codificação, ou uma unidade de predição 622, cuja dimensão é de 32 x 16, uma unidade de predição 624, cuja dimensão é de 16 x 32, ou uma unidade de predição 626, cuja dimensão é de 16 x 16, que tem um tamanho menor do que aquele da primeira unidade de codificação 620, sub cujo tamanho é de 32 x 32.
[00073] Uma unidade de predição da segunda unidade de codificação 630, cuja profundidade é de 2 e tamanho é de 16 x 16, pode ser uma unidade de predição, cujo tamanho é igual ao tamanho 16x16 da segunda sub-unidade de codificação 630, ou uma unidade de predição 632, cuja dimensão é de 16 x 8, uma unidade de predição 634, cuja dimensão é de 8 x 16, ou uma unidade de predição 636, cuja dimensão é de 8 x 8, que tem um tamanho menor do que aquele da segunda unidade de codificação 630, cujo tamanho é de 16 x 16.
[00074] Uma unidade de predição da terceira sub-unidade codificação 640, cuja profundidade é de 3 e tamanho é de 8 x 8, pode ser uma unidade de predição, cujo tamanho é igual ao tamanho 8 x 8 da terceira sub-unidade de codificação 640, ou uma unidade de predição 642, cuja dimensão é de 8 x 4, uma unidade de predição 644, cujo tamanho é de 4 x 8, ou uma unidade de predição 64 6, cujo tamanho é de 4 x 4, que tem um tamanho menor do aquele da terceira sub-unidade de codificação 640, cujo tamanho é de 8 x 8.
[00075] A unidade de codificação mínima 650, cuja profundidade é 4 e tamanho é 4 x 4, é uma unidade de codificação mínima e uma unidade de codificação de uma profundidade máxima. Uma unidade de predição da unidade de codificação mínima 650 pode ser uma unidade de predição 650, cujo tamanho é de 4 x 4, uma unidade de predição 652 tendo um tamanho de 4 x 2, uma unidade de predição 654 tendo um tamanho de 2 x 4, ou uma unidade de predição 656 tendo um tamanho de 2 x 2.
[00076] A FIG. 7 ilustra uma unidade de codificação e uma unidade de transformação, de acordo com uma forma de realização exemplar.
[00077] O aparelho de codificação de imagens 100 ilustrado na FIG. 1 e o aparelho de decodificação de imagens 200 ilustrado na FIG. 2 executam codificação e decodificação com uma própria unidade de codificação máxima, ou com sub-unidades de codificação, que são iguais ou menores do que a unidade de codificação máxima, divididas a partir da unidade de codificação máxima. No processo de codificação e decodificação, o tamanho de uma unidade de transformação para transformação de frequência é selecionado para não ser maior do aquele de uma unidade de codificação correspondente. Por exemplo, se uma unidade de codificação atual 710 tiver o tamanho de 64 x 64, a transformação de frequência pode ser realizada, utilizando uma unidade de transformação 720 tendo o tamanho de 32 x 32.
[00078] As Figs. 8A, 8B, 8C, 8D ilustram formas de divisão de uma unidade de codificação 810, uma unidade de predição 860, e uma unidade de transformação 870, de acordo com uma forma de realização exemplar.
[00079] As Figs. 8A e 8B ilustram uma unidade de codificação 810 e uma unidade de predição 860, de acordo com uma forma de realização exemplar.
[00080] A FIG. 8A mostra uma forma de divisão selecionada pelo aparelho de codificação de imagens 100 ilustrado na FIG. 1, para codificar uma unidade de codificação máxima 810. O aparelho de codificação de imagens 100 divide a unidade de codificação máxima 810 em várias formas, realiza a codificação, e seleciona uma forma de divisão ideal, por comparação dos resultados de codificação de várias formas de divisão, uns com os outros, com base nos custos de RD. Quando for ideal que a unidade de codificação máxima 810 seja codificada no estado em que ela se encontra, a unidade de codificação máxima 810 pode ser codificada, sem dividir a unidade de codificação máxima 810, como ilustrado nas Figs. 8A a 8D.
[00081] Referindo-se à Fig. 8A, a unidade de codificação máxima 810, cuja profundidade é 0, é codificada por sua divisão em sub-unidades de codificação, cujas profundidades são iguais ou superiores a 1. Isto é, a unidade de codificação máxima 810 é dividida em 4 sub-unidades de codificação, cujas profundidades são 1, e todas ou algumas das sub-unidades de codificação, cujas profundidades são 1, são divididas em sub- unidades de codificação 814, 816, 818, 828, 850 e 852, cujas profundidades são 2.
[00082] Uma sub-unidade de codificação localizada em um lado superior direito e uma sub-unidade de codificação localizada num lado inferior esquerdo entre as sub-unidades de codificação, cujas profundidades são 1, são divididas em sub- unidades de codificação, cujas profundidades são iguais ou superiores a 2. Algumas das sub-unidades de codificação, cujas profundidades são iguais ou superiores a 2, podem ser divididas em sub-unidades de codificação 820, 822 824, 826, 830, 832, 840, 842, 844, 846, e 848, cujas profundidades são iguais ou maiores do que 3.
[00083] A FIG. 8B mostra uma forma de divisão de uma unidade de predição 860 para a unidade de codificação máxima 810.
[00084] Referindo-se à Fig. 8B, uma unidade de predição 860 para a unidade de codificação máxima 810 pode ser dividida de modo diferente, a partir da unidade de codificação máxima 810. Em outras palavras, uma unidade de predição para cada uma das sub-unidades de codificação pode ser menor do que uma sub- unidade de codificação correspondente.
[00085] Por exemplo, uma unidade de predição para uma sub- unidade de codificação 854 localizada num lado inferior direito entre as sub-unidades de codificação 812, 854, cujas profundidades são 1, pode ser menor do que a sub-unidade de codificação 854. Além disso, as unidades de predição para sub- unidades de codificação 814, 816, 850 e 852 de sub-unidades de codificação 814, 816, 818, 828, 850 e 852, cujas profundidades são 2, podem ser menores do que as sub-unidades de codificação 814, 816, 850, e 852, respectivamente.
[00086] Além disso, as unidades de predição para sub-unidades de codificação 822, 832, e 848, cujas profundidades são 3, podem ser menores do que as sub-unidades de codificação 822, 832, e 848, respectivamente. As unidades de predição podem ter uma forma, pela qual respectivas sub-unidades de codificação são igualmente divididas por dois, em uma direção da altura ou largura, ou ter uma forma, pela qual respectivas sub-unidades de codificação são igualmente divididas por quatro em direções de altura e largura.
[00087] As Figs. 8C e 8D ilustram uma unidade de predição 860 e uma unidade de transformação 870, de acordo com uma forma de realização exemplar.
[00088] A FIG. 8C mostra uma forma de divisão de uma unidade de predição 860 para a unidade de codificação máxima 810 mostrada na FIG. 8B, e a FIG. 8D mostra uma forma de divisão de uma unidade de transformação 870 da unidade de codificação máxima 810.
[00089] Referindo à Fig. 8D, uma forma de divisão de uma unidade de transformação 870 pode ser fixada de forma diferente da unidade de predição 860.
[00090] Por exemplo, apesar de uma unidade de predição para a sub-unidade de codificação 854, cuja profundidade é 1, ser selecionada com uma forma, pela qual a altura da sub-unidade de codificação 854 é dividida igualmente por dois, uma unidade de transformação pode ser selecionada com o tamanho original da sub-unidade de codificação 854. Da mesma forma, embora as unidades de predição para sub-unidades de codificação 814 e 850, cujas profundidades são 2, sejam selecionadas com uma forma, pela qual a altura de cada uma das sub-unidades de codificação 814 e 850 é dividida igualmente por dois, uma unidade de transformação pode ser selecionada com o mesmo tamanho, que o tamanho original de cada uma das sub-unidades de codificação 814 e 850.
[00091] Uma unidade de transformação pode ser selecionada com um menor tamanho do que uma unidade de predição. Por exemplo, quando uma unidade de predição para uma sub-unidade de codificação 852, cuja profundidade é 2, for selecionada com uma forma, pela qual a largura da sub-unidade de codificação 852 é dividida igualmente por dois, uma unidade de transformação pode ser selecionada com uma forma, em que a sub-unidade de codificação 852 é dividida igualmente por quatro em direções de altura e largura, que têm um menor tamanho do que a forma da unidade de predição.
[00092] A FIG. 9 é um diagrama de blocos de um aparelho 900 para codificar um vetor de movimento, de acordo com uma forma de realização exemplar.
[00093] O aparelho 900 para codificar um vetor de movimento pode ser incluído no aparelho 100 acima descrito em associação com a FIG. 1, ou no decodificador de imagens 400 acima descrito em associação com a FIG. 4. Referindo-se à Fig. 9, um aparelho de codificação do vetor de movimento 900, de acordo com uma forma de realização exemplar, inclui uma unidade de predição 910, um primeiro codificador 920, e um segundo codificador 930.
[00094] A fim de decodificar um bloco codificado utilizando predição inter, isto é, predição de imagem inter, informações sobre um vetor de movimento, indicando uma diferença de posição entre um bloco atual e um bloco semelhante em uma imagem de referência, são usadas. Assim, informações sobre vetores de movimento são codificadas e inseridas em um fluxo de bits, em um processo de codificação de imagem. No entanto, se as informações sobre vetores de movimento forem codificadas e inseridas no seu estado, uma sobrecarga para codificar as informações sobre os vetores de movimento aumenta, diminuindo assim uma relação de compressão dos dados de imagem.
[00095] Portanto, em um processo de codificação de imagem, informações sobre um vetor de movimento são comprimidas por predição de um vetor de movimento de um bloco atual, codificando apenas um vetor diferencial entre um preditor do vetor de movimento gerado como resultado da predição e um vetor de movimento original, e inserindo o vetor diferencial codificado em um fluxo de bits. A FIG. 9 mostra um aparelho 900 para codificar um vetor de movimento, que utiliza tal preditor do vetor de movimento.
[00096] Referindo-se à Fig. 9, a unidade de predição 910 determina se um vetor de movimento de um bloco tem sua predição codificada, com base em um modo explícito ou um modo implícito.
[00097] Como acima descrito, tal codec, como MPEG-4 H.264/MPEG-4 AVC, utiliza vetores de movimento de blocos previamente codificados adjacentes a um bloco atual para predizer um vetor de movimento do bloco atual. Por exemplo, uma mediana dos vetores de movimento de blocos previamente codificados, adjacentes aos lados esquerdo, superior, e superior direito do bloco atual, pode ser utilizada como um preditor do vetor de movimento do bloco atual. Uma vez que vetores de movimento de todos os blocos codificados usando predição inter são preditos, utilizando o mesmo método, informações sobre um preditor do vetor de movimento não precisam ser codificadas separadamente. No entanto, o aparelho 100, ou decodificador de imagens 400, de acordo com uma forma de realização exemplar, utiliza um modo, em que informações sobre um preditor do vetor de movimento não são codificadas separadamente, e um modo, em que informações sobre um preditor do vetor de movimento são codificadas, a fim de predizer mais exatamente um vetor de movimento, que será agora descrito em detalhes.
(1) Modo explícito
[00098] Um dos métodos de codificação de um preditor do vetor de movimento, que pode ser selecionado pela unidade de predição 910, pode ser um modo de codificar explicitamente informações sobre um preditor do vetor de movimento de um bloco atual. O modo explícito é um modo de codificar separadamente informações, indicando que o preditor do vetor de movimento dentre, pelo menos, um candidato a preditor do vetor de movimento é utilizado para predizer um vetor de movimento de um bloco atual. Candidatos a preditor do vetor de movimento, de acordo com uma forma de realização exemplar, serão descritos com referência às Figs. 10A, 10B, 11A a 11C.
[00099] As Figs. 10A e 10B ilustram candidatos a preditor do vetor de movimento de um modo explícito, de acordo com uma forma de realização exemplar.
[000100] Referindo-se à Fig. 10A, um método de predição do vetor de movimento, de acordo com uma forma de realização exemplar, pode usar um dos vetores de movimento de blocos previamente codificados adjacentes a um bloco atual, como um preditor do vetor de movimento do bloco atual. Um bloco a0 mais à esquerda entre os blocos adjacentes a um lado superior do bloco atual, um bloco b0 na parte mais superior entre os blocos adjacentes a um lado esquerdo do mesmo, um bloco c adjacente a um lado superior direito do mesmo, um bloco d adjacente a um lado superior esquerdo do mesmo, e um bloco e adjacente a um lado inferior esquerdo do mesmo, podem ser usados como preditores do vetor de movimento do bloco atual.
[000101] Em um método para codificar uma imagem, e um método para decodificar uma imagem, de acordo com formas de realização exemplares, uma imagem é codificada e decodificada, baseado em unidades de codificação tendo diferentes tamanhos diferenciados, de acordo com profundidades. Assim, um vetor de movimento do bloco adjacente ao lado inferior esquerdo do bloco atual pode ser também utilizado como um preditor do vetor de movimento do bloco atual.
[000102] Referindo-se à Fig. 8A, se um bloco atual for uma unidade de codificação 820, uma unidade de codificação 814 adjacente a um lado superior esquerdo do bloco atual, uma unidade de codificação 816 em um bloco mais à esquerda entre os blocos adjacentes a um lado superior do bloco atual, uma unidade de codificação 818 em um bloco mais superior entre os blocos adjacentes a um lado esquerdo do mesmo, uma unidade de codificação 822 adjacente a um lado superior direito do mesmo, e uma unidade de codificação 824 adjacente a um lado inferior esquerdo do mesmo, são codificadas antes do bloco atual. Assim, um vetor de movimento de um bloco adjacente ao lado inferior esquerdo do bloco atual pode ser utilizado como um preditor do vetor de movimento do bloco atual.
[000103] Referindo-se à Fig. 10B, vetores de movimento de todos os blocos adjacentes a um bloco atual podem ser utilizados como preditores do vetor de movimento do bloco atual. Em outras palavras, vetores de movimento, não só de um bloco a0 mais à esquerda entre os blocos adjacentes a um lado superior do bloco atual, mas também todos os blocos a0 a um adjacente ao lado superior do mesmo, podem ser utilizados como preditores do vetor de movimento do bloco atual, e vetores de movimento, não somente de um bloco b0 na parte mais superior entre os blocos adjacentes a um lado esquerdo do mesmo, mas também todos os blocos b0 a bn adjacentes ao lado esquerdo do mesmo, podem ser utilizados como preditores do vetor de movimento do bloco atual.
[000104] Alternativamente, um valor mediano dos vetores de movimento de blocos adjacentes pode ser usado como um preditor do vetor de movimento. Em outras palavras, median(mv_a0, mv_b0, mv_c) pode ser usado como um preditor do vetor de movimento do bloco atual, em que mv_a0 denota um vetor de movimento do bloco a0, mv_b0 denota um vetor de movimento do bloco b0, e mv_c denota um vetor de movimento do bloco c.
[000105] Candidatos a preditor do vetor de movimento do bloco atual podem ser limitados, de acordo com o tamanho do bloco atual e tamanhos de blocos adjacentes ao bloco atual. Isto será descrito em pormenores com referência às Figs. 10C a 10E.
[000106] As Figs. 10C a 10E ilustram blocos com vários tamanhos adjacentes a um bloco atual, de acordo com uma forma de realização exemplar.
[000107] Como acima descrito, no método para codificar uma imagem, e no método para decodificar uma imagem, de acordo com formas de realização exemplares, a imagem é codificada, utilizando unidades de codificação com vários tamanhos e unidades de predição com tamanhos diferentes, que são determinadas de acordo com profundidades. Assim, os tamanhos dos blocos adjacentes ao bloco atual podem variar. Assim, se o tamanho do bloco atual diferir consideravelmente dos tamanhos de alguns blocos adjacentes ao bloco atual, vetores de movimento de um ou mais blocos com dimensões diferentes adjacentes ao bloco atual não podem ser utilizados como preditores do vetor de movimento do bloco atual.
[000108] Referindo-se à Fig. 10C, blocos 1014 a 1018 adjacentes ao lado superior de um bloco atual 1010 são blocos com dimensões menores do que o tamanho do bloco atual 1010. Uma vez que pode haver uma grande possibilidade de que o vetor de movimento de um bloco 1012, que é adjacente ao bloco atual 1010 e tem o mesmo tamanho que aquele do bloco atual 1010, possa ser o mesmo ou semelhante ao vetor de movimento do bloco atual 1010, a unidade de predição 910 pode usar apenas o vetor de movimento do bloco 1012, que é adjacente ao bloco atual 1010 e tem o mesmo tamanho que aquele do bloco atual 1010, como um preditor do vetor de movimento.
[000109] Mesmo que o tamanho do bloco 1012 não seja o mesmo que o tamanho do bloco atual 1010, apenas vetores de movimento de blocos, que são adjacentes ao bloco atual 1010 e têm tamanhos predeterminados, podem ser utilizados como preditores do vetor de movimento. Por exemplo, apenas vetores de movimento de blocos 1012 e 1018 possuindo tamanhos, que são iguais ou superiores a 1/4 da dimensão do bloco atual 1010, podem ser utilizados como preditores do vetor de movimento.
[000110] Referindo-se à Fig. 10D, o tamanho de um bloco 1022 adjacente ao lado esquerdo de um bloco atual 1020 é 16 vezes superior ao tamanho do bloco atual 1020, e há uma grande diferença entre os mesmos. Devido a esta grande diferença, pode haver uma baixa possibilidade de que o vetor de movimento do bloco 1022 adjacente ao lado esquerdo do bloco atual 1020 possa ser o mesmo ou semelhante ao vetor de movimento do bloco atual 1020. Assim, o vetor de movimento do bloco 1022 adjacente ao lado esquerdo do bloco atual 1020 pode não ser utilizado como um preditor do vetor de movimento do bloco atual 1020, e apenas um vetor de movimento de um bloco 1024 adjacente ao lado superior do bloco atual 1020 e um vetor de movimento de um bloco 1026 adjacente ao lado superior esquerdo do bloco atual 1020 podem ser utilizados como preditores do vetor de movimento do bloco atual 1020.
[000111] Referindo-se à Fig. 10E, o tamanho de um bloco atual 1030 é maior do que os tamanhos de todos os blocos 1031 a 1037 adjacentes ao bloco atual 1030. Neste caso, se vetores de movimento de todos os blocos 1031 a 1037 adjacentes ao bloco atual 1030 forem utilizados como preditores do vetor de movimento do bloco atual 1030, o número de candidatos a preditor do vetor de movimento do bloco atual 1030 pode ser muito grande. Quando uma diferença entre o tamanho do bloco atual 1030 e os tamanhos dos blocos 1031 a 1037 adjacentes ao bloco atual 1030 for aumentada, o número de candidatos a preditor do vetor de movimento é aumentado. Assim, a unidade de predição 910 ilustrada na FIG. 9 não utiliza vetores de movimento de um ou mais blocos adjacentes ao bloco atual 1030, como preditores do vetor de movimento do bloco atual 1030.
[000112] Por exemplo, na forma de realização exemplar da FIG. 10E, um vetor de movimento do bloco 1031 adjacente ao lado inferior esquerdo do bloco atual 1030 e um vetor de movimento do bloco 1037 adjacente ao lado superior direito do bloco atual 1030 podem não ser utilizados como preditores do vetor de movimento do bloco atual 1030.
[000113] Assim, se o tamanho do bloco atual 1030 for igual ou maior do que um tamanho predeterminado, vetores de movimento de blocos adjacentes ao bloco atual 1030 em direções predeterminadas não podem ser utilizados como preditores do vetor de movimento do bloco atual 1030.
[000114] As Figs. 11A a 11C ilustram candidatos a preditor do vetor de movimento de um modo explícito, de acordo com outra forma de realização exemplar.
[000115] A FIG. 11A ilustra um método para calcular um preditor do vetor de movimento de uma Imagem Preditiva Bidirecional (referida como 'imagem B'), de acordo com uma forma de realização exemplar. Quando uma imagem atual, incluindo um bloco atual, for uma imagem B, em que predição bidirecional é realizada, um vetor de movimento gerado com base em uma distância temporal pode ser um preditor do vetor de movimento.
[000116] Um preditor do vetor de movimento mv_temporal de um bloco atual 1100 de uma imagem atual 1110 pode ser gerado, usando um vetor de movimento de um bloco 1120 numa posição co- localizada de uma imagem temporalmente anterior 1112. Por exemplo, se um vetor de movimento mv_colA do bloco 1120, numa posição co-localizada com o bloco atual 1100, for gerado para um bloco buscado 1122 de uma imagem temporalmente seguinte 1114 da imagem atual 1110, candidatos a preditor do vetor de movimento mv_L0A e mv_L1A do bloco atual 1100 podem ser gerados, de acordo com as seguintes equações:
Figure img0001
onde mv_L0A denota um preditor do vetor de movimento do bloco atual 1100 para a imagem temporalmente anterior 1112, e mv_L1A denota um preditor do vetor de movimento do bloco atual 1100 para a imagem temporalmente seguinte 1114.
[000117] Na forma de realização exemplar da FIG. 11A, a imagem atual 1110, que é uma imagem B, existe entre a imagem temporalmente precedente 1112 e a imagem temporalmente seguinte 1114. Neste caso, se o vetor de movimento mv_colA do bloco 1120 numa posição co-localizada com o bloco atual 1100 for gerado a partir da imagem temporalmente seguinte 1114, o vetor de movimento do bloco atual 1100 pode ser mais precisamente predito com base em mv_L1A. Em outras palavras, em comparação com um caso, quando mv_colA é um vetor de movimento tendo uma direção oposta a uma direção ilustrado na FIG. 11A, isto é, um caso em que mv_colA é gerado a partir de outra imagem antes da imagem temporalmente anterior 1112, quando mv_colA é um vetor de movimento na direção da FIG. 11A, o vetor de movimento do bloco atual 1100 pode ser predito com mais precisão.
[000118] Assim, se uma direção a partir do bloco atual 1100 para o bloco 1120 numa posição co-localizada com o bloco atual 1100 for uma direção List0, o vetor de movimento mv_colA do bloco 1120 numa posição co-localizada com o bloco atual 1100 deve estar numa direção List1, de modo a que uma possibilidade de que a imagem atual 1110 possa existir entre a imagem temporalmente anterior 1112 e a imagem temporalmente seguinte 1114, conforme ilustrado na FIG. 11A, pode aumentar, e o vetor de movimento do bloco atual 1100 pode ser mais precisamente predito com base em mv_colA.
[000119] Além disso, uma vez que as imagens 1110 a 1114 ilustradas na FIG. 11A estão dispostas numa sequência temporal, um preditor do vetor de movimento mv_temporal do bloco atual 1100 pode ser gerado, com base na contagem da ordem de imagens (POC). Uma vez que uma imagem referida pelo bloco atual 1100 pode ser uma imagem, que é diferente das imagens 1112 e 1114 ilustradas na FIG. 11A, o preditor do vetor de movimento mv_temporal do bloco atual 1100 é gerado com base na POC.
[000120] Por exemplo, se uma POC de uma imagem atual for CurrPOC, e uma POC de uma imagem referida pela imagem atual for CurrRefPOC, o preditor do vetor de movimento mv_temporal do bloco atual 1100 pode ser gerado, de acordo com as seguintes equações:
Figure img0002
onde ColPOC é uma POC da imagem temporalmente anterior 1112, na qual um bloco 1120 numa posição co-localizada com o bloco atual 1100 é incluído, e ColRefPOC é uma POC da imagem temporalmente seguinte 1114, na qual um bloco 1122, referido pelo bloco 1120 numa posição co-localizada com o bloco atual 1100, é incluído.
[000121] A FIG. 11B ilustra um método para gerar um preditor do vetor de movimento de uma imagem B, de acordo com outra forma de realização exemplar. Comparado ao método ilustrado na FIG. 11A, um bloco numa posição co-localizada com o bloco atual 1100 existe na imagem temporalmente seguinte 1114.
[000122] Referindo-se à Fig. 11B, um preditor do vetor de movimento do bloco atual 1100 da imagem atual 1110 pode ser gerado, usando um vetor de movimento de um bloco 1130 numa posição co-localizada da imagem temporalmente seguinte 1114. Por exemplo, se um vetor de movimento mv_colB do bloco 1130, numa posição co-localizada com o bloco atual 1100, for gerado para um bloco buscado 1132 da imagem temporalmente anterior 1112 da imagem atual 1110, candidatos a preditor do vetor de movimento mv_L0B e mv_L1B do bloco atual 1100 podem ser gerados, de acordo com as seguintes equações:
Figure img0003
onde mv_L0B denota um preditor do vetor de movimento do bloco atual 1100 para a imagem temporalmente anterior 1112, e mv_L1B denota um preditor do vetor de movimento do bloco atual 1100 para a imagem temporalmente seguinte 1114.
[000123] Semelhante à FIG. 11A na forma de realização exemplar da FIG. 11B, a imagem atual 1110, que é uma imagem B, existe entre a imagem temporalmente precedente 1112 e a imagem temporalmente seguinte 1114. Assim, se o vetor de movimento mv_colB do bloco 1130, numa posição co-localizada com o bloco atual 1100, for gerado para a imagem temporalmente anterior 1112, um vetor de movimento do bloco atual 1100 pode ser mais precisamente predito com base em mv_L0B. Em outras palavras, em comparação com um caso, quando mv_colB é um vetor de movimento tendo uma direção oposta a uma direção ilustrada na FIG. 11B, isto é, um caso em que mv_colB é gerado a partir de outra imagem após a imagem temporalmente seguinte 1114, quando mv_colB for um vetor de movimento na direção da FIG. 11B, o vetor de movimento do bloco atual 1100 pode ser predito com mais precisão.
[000124] Assim, se uma direção a partir do bloco atual 1100 para o bloco 1130, numa posição co-localizada com o bloco atual 1100, for uma direção List1, o vetor de movimento mv_colB,do bloco 1130, numa posição co-localizada com o bloco atual 1100, deve estar na direção List0, de modo que uma possibilidade, de que a imagem atual 1110 possa existir entre a imagem temporalmente anterior 1112 e a imagem temporalmente seguinte 1114, conforme ilustrado na FIG. 11B, pode aumentar e o vetor de movimento do bloco atual 1100 pode ser predito mais precisamente com base em mv_colB.
[000125] Além disso, uma vez que uma imagem referida pelo bloco atual 1100 pode ser uma imagem diferente das imagens 1112 e 1114 ilustradas na FIG. 11B, um preditor do vetor de movimento do bloco atual 1100 pode ser gerado com base na POC.
[000126] Por exemplo, se uma POC de uma imagem atual for CurrPOC, e uma POC de uma imagem referida pela imagem atual for CurrRefPOC, o preditor do vetor de movimento do bloco atual 1100 pode ser gerado, de acordo com as seguintes equações:
Figure img0004
onde ColPOC é uma POC da imagem temporalmente seguinte 1114, na qual um bloco 1130, numa posição co- localizada com o bloco atual 1100, é incluído, e ColRefPOC é uma POC da imagem temporalmente anterior 1112, na qual um bloco 1132, referido pelo bloco 1130 numa posição co-localizada com o bloco atual 1100, é incluído.
[000127] Na geração de um vetor de movimento do bloco atual 1100 de uma imagem B, usando a unidade de predição 910, um dos métodos ilustrados nas Figs. 11A e 11B pode ser usado. Em outras palavras, uma vez que um preditor do vetor de movimento é gerado, utilizando um vetor de movimento e uma distância temporal do bloco 1120 ou 1130 numa posição co-localizada com o bloco atual 1100, preditores do vetor de movimento podem ser gerados, utilizando os métodos ilustrados nas Figs. 11A e 11B, somente se existirem vetores de movimento dos blocos 1120 e 1130 na posição co-localizada. Assim, a unidade de predição 910, de acordo com uma forma de realização exemplar, gera um preditor do vetor de movimento do bloco atual 1100, utilizando apenas um bloco tendo um vetor de movimento entre os blocos 1120 e 1130 na posição co-localizada.
[000128] Por exemplo, quando o bloco 1120, numa posição co- localizada da imagem temporalmente anterior 1112, for codificado utilizando predição intra, em vez de predição inter, um vetor de movimento do bloco 1120 não existe e, assim, um preditor do vetor de movimento do bloco atual 1100 não pode ser gerado, usando o método para gerar um preditor do vetor de movimento, conforme ilustrado na FIG. 11A.
[000129] O bloco 1120 numa posição co-localizada da imagem temporalmente anterior 1112 e o bloco 1130 numa posição co- localizada da imagem temporalmente seguinte 1114 podem ser usados para gerar o preditor do vetor de movimento da imagem atual 1110 da imagem B, usando a unidade de predição 910, conforme ilustrado nas Figs. 11A e 11B. Assim, um preditor do vetor de movimento do bloco atual 1100 pode ser decodificado, apenas se o aparelho 900 para codificar um vetor de movimento souber qual dos blocos 1120 e 1130, numa posição co-localizada com o bloco atual 1100, é usado para gerar o preditor do vetor de movimento mv_temporal.
[000130] Para este fim, o aparelho 900 para codificar um vetor de movimento pode codificar informações, para especificar qual dos blocos 1120 e 1130, numa posição co-localizada com o bloco atual 1100, é usado para gerar o preditor do vetor de movimento mv_temporal, e pode inserir informações codificadas em um cabeçalho de bloco ou um cabeçalho de fatia.
[000131] A FIG. 11C ilustra um método para gerar um preditor do vetor de movimento de uma imagem P, de acordo com uma forma de realização exemplar.
[000132] Referindo-se à Fig. 11C, um preditor do vetor de movimento do bloco atual 1100 da imagem atual 1110 pode ser gerado, usando um vetor de movimento de um bloco 1140 numa posição co-localizada da imagem temporalmente anterior 1112. Por exemplo, se um vetor de movimento mv_colC do bloco 1140, numa posição co-localizada com o bloco atual 1100, for gerado para um bloco buscado 1142 de outra imagem temporalmente anterior 1116, um candidato a preditor do vetor de movimento mv_L0C do bloco atual 1100 pode ser gerado, de acordo com a equação abaixo:
Figure img0005
[000133] Como acima descrito em associação com as Figs. 11 e 11B, mv_L0C também pode ser gerado com base na POC. Com base na POC da imagem atual 1110, a POC da imagem referida pela imagem atual 1110, a POC da imagem temporalmente precedente 1112, e a POC de outra imagem temporalmente precedente 1116, mv_LOC pode ser gerado.
[000134] Uma vez que a imagem atual 1110 é uma imagem P, o número de preditores do vetor de movimento do bloco atual 1100 é 1, ao contrário da Figs. 11A e 11B.
[000135] Em resumo, um conjunto C de candidatos a preditor do vetor de movimento, de acordo com as Figs. 10A, 10B, 11A a 11C, pode ser gerado, de acordo com a equação abaixo: C = {median(mv_a0, mv_b0, mv_c), mv_a0, mv_a1 ..., mv_aN, mv_b0, mv_b1, ... , Mv_bN, mv_c, mv_d, mv_e, mv_temporal}.
[000136] Alternativamente, o conjunto C pode ser gerado, através da redução do número de candidatos a preditor do vetor de movimento, de acordo com a equação abaixo: C = {median(mv_a', mv_b', mv_c'), mv_a', mv_b', mv_c', mv_temporal}.
[000137] Aqui, mv_x denota o vetor de movimento de um bloco x, median() denota um valor de mediana, e mv_temporal denota candidatos a preditor do vetor de movimento gerados, usando uma distância temporal acima descrita em associação com as FIGS. 11A a 11C.
[000138] Além disso, mv_a’ denota um primeiro vetor de movimento válido entre mv_a0, mv_a1 ..., mv_aN. Por exemplo, quando um bloco a0 tiver sido codificado, utilizando predição intra, ou se referir a uma imagem diferente de uma imagem referida pelo bloco atual, um vetor de movimento mv_a0 do bloco a0 não é válido e, assim, mv_a' = mv_a1, e se um vetor de movimento de um bloco a1 também não for válido, mv_a'= mv_a2.
[000139] Da mesma forma, mv_b' denota o primeiro vetor de movimento válido entre mv_b0, mv_b1 ..., mv_bN, e mv_c' denota o primeiro vetor de movimento válido entre mv_c, mv_d e mv_e.
[000140] Um vetor de movimento de um bloco, que se refere a uma imagem diferente de uma imagem referida pelo bloco atual, dentre os vetores de movimento de blocos adjacentes ao bloco atual, não pode predizer, de forma eficiente, um vetor de movimento do bloco atual. Assim, o vetor de movimento do bloco, que se refere a uma imagem diferente de uma imagem referida pelo bloco atual, pode ser excluído do conjunto C de candidatos a preditor do vetor de movimento.
[000141] O modo explícito é um modo de codificar informações, indicando qual vetor de movimento foi utilizado como um preditor do vetor de movimento de um bloco atual. Por exemplo, quando um vetor de movimento é codificado no modo explícito, um número binário pode ser atribuído a cada um dos elementos do conjunto C, isto é, candidatos a preditor do vetor de movimento, e se um deles for utilizado como um preditor do vetor de movimento de um bloco atual, um número binário correspondente pode ser transmitido.
[000142] Uma vez que um número binário correspondente é atribuído a cada candidato a preditor do vetor de movimento, de modo a especificar um dos elementos do conjunto C, e é transmitido, quando o número de elementos do conjunto C diminuir, os elementos do conjunto C podem ser especificados como números binários com partes menores.
[000143] Assim, se uma sobreposição de candidato a preditor do vetor de movimento estiver presente no conjunto C, a sobreposição de candidato a preditor do vetor de movimento pode ser excluída do conjunto C, e os números binários são atribuídos aos candidatos a preditor do vetor de movimento. Por exemplo, quando o conjunto C = {median(mv_a', mv_b', mv_c’), mv_a', mv_b’, mv_c', mv_temporal}, tal como acima descrito, se mv_a’, mv_b', e mv_c’ forem todos iguais, o conjunto C pode ser determinado como três elementos, como em C = {median(mv_a’, mv_b', mv_c’), mv_a', mv_temporal}, e os números binários são atribuídos. Se os elementos do conjunto C puderem ser especificados usando 3 bits, antes da sobreposição de candidato a preditor do vetor de movimento ser excluída do conjunto C, os elementos do conjunto C podem ser especificados, usando 2 bits após a sobreposição de candidato a preditor do vetor de movimento ser excluída do conjunto C.
[000144] Em vez de excluir a sobreposição de candidato a preditor do vetor de movimento do conjunto C, um peso predeterminado pode ser adicionado, de modo a aumentar a probabilidade de que a sobreposição de candidato a preditor do vetor de movimento possa ser determinada como o preditor do vetor de movimento do bloco atual. Uma vez que, no exemplo acima descrito, mv_a’, mv_b', e mv_c’ são todos iguais e apenas mv_a' é incluído no conjunto C, uma probabilidade de que mv_a’ possa ser determinado como o preditor do vetor de movimento do bloco atual pode ser aumentada pela adição de um peso predeterminado para mv_a’.
[000145] Além disso, quando houver apenas um candidato a preditor do vetor de movimento, apesar do modo explícito, números binários para a especificação de um movimento de candidatos a preditor do vetor não podem ser codificados. Por exemplo, quando o conjunto C = median{(mv_a0, mv_b0, mv_c), mv_a0, mv_a1 ..., mv_aN, mv_b0, mv_b1, ... , Mv_bN, mv_c, mv_d, mv_e, mv_temporal} e se os blocos a0 a aN, blocos b0 a bN, um bloco c, um bloco d, e um bloco e forem blocos preditos intra, o conjunto C = {} mv_temporal e, portanto, inclui substancialmente um elemento. Assim, neste caso, o aparelho 900 para codificar um vetor de movimento não pode codificar números binários para especificar um candidato a preditor do vetor de movimento dentre uma pluralidade de candidatos a preditor do vetor de movimento, apesar do modo explícito.
[000146] Será facilmente entendido por aqueles com conhecimentos correntes na arte, que outros candidatos a preditor do vetor de movimento, além daqueles acima descritos em associação com o modo explícito, podem ser usados.
(2) Modo implícito
[000147] Outro método para codificar um preditor do vetor de movimento, que pode ser selecionado pela unidade de predição 910, é um modo de codificar apenas informações, indicando que um preditor do vetor de movimento de um bloco atual foi gerado com base em blocos ou pixels incluídos numa área anteriormente codificada, adjacente ao bloco atual. Ao contrário do modo explícito, o modo implícito é um modo de codificar informações, indicando geração de um preditor do vetor de movimento no modo implícito, sem codificar informações para especificação de um preditor do vetor de movimento.
[000148] Como acima descrito, tal codec, como MPEG-4 H.264/MPEG-4 AVC, utiliza vetores de movimento de blocos previamente codificados, adjacentes a um bloco atual, para predizer um vetor de movimento do bloco atual. Isto é, uma mediana de vetores de movimento de blocos previamente codificados, adjacentes aos lados esquerdo, superior e superior direito do bloco atual, é usada como um preditor do vetor de movimento do bloco atual. Neste caso, ao contrário do modo explícito, as informações para selecionar um dos candidatos a preditor do vetor de movimento não precisam ser codificadas.
[000149] Em outras palavras, se apenas informações, indicando que um preditor do vetor de movimento de um bloco atual foi codificado no modo implícito, são codificadas em um processo de codificação de imagem, um valor mediano de vetores de movimento de blocos previamente codificados, adjacentes aos lados esquerdo, superior e superior direito do bloco atual, podem ser utilizadas como um preditor do vetor de movimento do bloco atual em um processo de decodificação de imagens.
[000150] Além disso, um método para codificar imagens, de acordo com uma forma de realização exemplar, fornece um novo modo implícito para gerar um preditor do vetor de movimento, usando os valores de pixel previamente codificados, adjacentes ao bloco atual, como um modelo. Isto será descrito em pormenores com referência à FIG. 12A.
[000151] A FIG. 12A ilustra um método para gerar um preditor do vetor de movimento no modo explícito, de acordo com uma forma de realização exemplar.
[000152] Referindo-se à Fig. 12A, pixels 1222 incluídos numa área previamente codificada 1220, adjacente a um bloco atual 1200 de uma imagem atual 1210, são utilizados para gerar um preditor do vetor de movimento do bloco atual 1200. Pixels correspondentes 1224 são determinados, através de busca de uma imagem de referência 1212, utilizando os pixels adjacentes 1222. Os pixels correspondentes 1224 podem ser determinados por cálculo de uma soma das diferenças absolutas (SAD). Quando os pixels correspondentes 1224 são determinados, um vetor de movimento mv_template dos pixels adjacentes 1222 é gerado, e o vetor de movimento mv_template pode ser usado como um preditor do vetor de movimento do bloco atual 1200.
[000153] Um conjunto C de candidatos a preditor do vetor de movimento pode ser usado para buscar mv_template, a partir da imagem de referência 1212. Isto será agora descrito em pormenores com referência à FIG. 12B.
[000154] A FIG. 12B ilustra um método de busca de um preditor do vetor de movimento de um modo implícito, de acordo com uma forma de realização exemplar.
[000155] Referindo-se à Fig. 12B, quando a unidade de predição 910 busca a imagem de referência 1212, usando os pixels 1222 adjacentes ao bloco atual 1200, um intervalo de busca predeterminado 1226 pode ser definido, e pixels correspondentes 1224 podem ser buscados apenas dentro do intervalo de busca predeterminado 1226.
[000156] O intervalo de busca 1226 pode ser definido com base nos candidatos a preditor de vetor de movimento acima descritos. O centro do intervalo de busca 1226 pode ser determinado, baseado nos candidatos a preditor do vetor de movimento, e uma área incluída em um intervalo de pixels predeterminado pode ser definida como o intervalo de busca 1226, a partir do centro do intervalo determinado de busca. Como pode haver uma pluralidade de candidatos a preditor do vetor de movimento, uma pluralidade de intervalos de busca 1226 pode ser definida, e os intervalos de busca 1226 podem ser definidos em diferentes imagens.
[000157] Os pixels correspondentes 1224 tendo a menor SAD são determinados através de busca da pluralidade de intervalos de busca 1226, e mv_template é gerado com base na determinação. Tamanhos e formas dos pixels 1222 adjacentes ao bloco atual 1200 podem variar. Assim, isto será agora descrito em pormenores com referência à FIG. 12C.
[000158] A FIG. 12C ilustra um modelo utilizado para gerar preditores do vetor de movimento, de acordo com uma forma de realização exemplar.
[000159] Referindo-se à Fig. 12C, os pixels 1222 adjacentes ao bloco atual 1200, que são usados para gerar o preditor do vetor de movimento do bloco atual 1200 usando a unidade de predição 910, como ilustrado na FIG. 12A, podem ter diferentes tamanhos e formas.
[000160] Por exemplo, quando o tamanho do bloco atual 1200 for 4 x 4, os pixels 1222 adjacentes ao bloco atual 1220 podem ser definidos, para incluir apenas nove pixels, como ilustrado na FIG. 12C, e os pixels 1228 adjacentes ao bloco atual 1220 podem ser definidos, para incluir nove ou mais pixels. Além disso, os pixels 1222 podem ser definidos para ter uma forma diferente da forma ’ p', como ilustrado nas Figs. 12A a 12C.
[000161] A FIG. 12D ilustra um modelo utilizado para gerar preditores do vetor de movimento, de acordo com outra forma de realização exemplar.
[000162] No cálculo de uma SAD, nem todos os pixels adjacentes ao bloco atual 1200 são utilizados, e apenas alguns dos pixels 1222 adjacentes ao bloco atual 1200 podem ser usados. Por exemplo, uma SAD pode ser calculada, utilizando apenas três, cinco ou sete pixels dentre os nove pixels 1222 tendo o tamanho de 4 x 4 adjacente ao bloco atual 1200. A FIG. 12D ilustra um modelo para o cálculo de uma SAD, usando apenas um pixel adjacente ao lado superior esquerdo do bloco atual, um pixel no lado mais à direita entre pixels adjacentes ao lado superior do mesmo, e um pixel no lado mais inferior entre os pixels adjacentes ao lado esquerdo do mesmo.
[000163] Informações sobre diferentes tamanhos e formas dos modelos acima descritos com referência às Figs. 12B a 12D podem ser codificadas em separado de um vetor de movimento, podem ser codificadas como parâmetros de fatia e inseridas num cabeçalho de fatia, ou podem ser codificadas como parâmetros de sequência e inseridas num fluxo de bits.
[000164] Se um modo de utilização de uma mediana dos vetores de movimento de blocos adjacentes, quando um preditor do vetor de movimento for definido como 'implicit mode_1', e se um modo de geração de um preditor do vetor de movimento, utilizando pixels adjacentes a um bloco atual, for definido como 'implicit mode_2', um preditor do vetor de movimento pode ser gerado, usando um dos dois modos implícitos implicit mode_1 e implicit mode_2, por codificação de informações sobre um dos dois modos implícitos em um processo de codificação de imagens e referindo-se às informações sobre um modo em um processo de decodificação de imagens.
(3) Seleção de modo
[000165] Pode haver vários critérios para a unidade de predição 910 selecionar um dentre o modo explícito e o modo implícito.
[000166] Uma vez que um da pluralidade de candidatos a preditor do vetor de movimento é selecionado no modo explícito, um preditor do vetor de movimento mais semelhante a um vetor de movimento de um bloco atual pode ser selecionado. Em vez disso, uma vez que as informações, indicando um da pluralidade de candidatos a preditor do vetor de movimento, são codificadas, pode ocorrer uma maior sobrecarga do que nos modos implícitos. Assim, para uma unidade de codificação tendo um grande tamanho, é adequado codificar um vetor de movimento no modo explícito, porque uma probabilidade de aumentar um erro, que ocorre quando um vetor de movimento é erroneamente predito, é maior para uma unidade de codificação tendo um grande tamanho, do que uma unidade de codificação tendo um pequeno tamanho, e quando o tamanho de uma unidade de codificação é grande, a frequência de ocorrência de sobrecarga diminui para cada imagem.
[000167] Por exemplo, quando uma imagem igualmente dividida em m unidades de codificação possuindo o tamanho de 64 x 64 é codificada no modo explícito, o número de vezes de ocorrência de sobrecarga é m. No entanto, quando uma imagem, que tem o mesmo tamanho, igualmente dividida em 4m unidades de codificação tendo o tamanho de 32 x 32, é codificada no modo explícito, o número de vezes de ocorrência de sobrecarga é 4m.
[000168] Por conseguinte, a unidade de predição 910, de acordo com uma forma de realização exemplar, pode selecionar um dentre o modo explícito e o modo implícito com base no tamanho de uma unidade de codificação, quando um vetor de movimento de um bloco atual for codificado.
[000169] Uma vez que o tamanho de uma unidade de codificação no método para codificar imagens e no método para decodificar imagens, de acordo com formas de realização exemplares acima descritas em associação com as Figs. 1 a 8, é representado usando uma profundidade, o preditor 910 seleciona, com base em uma profundidade de um bloco atual, se um vetor de movimento do bloco atual foi codificado no modo explícito ou no modo implícito. Por exemplo, quando as unidades de codificação, cujas profundidades são 0 e 1, forem de predição inter, vetores de movimento das unidades de codificação são codificados no modo explícito, e quando as unidades de codificação, cujas profundidades são iguais ou superiores a 2, forem de predição inter, vetores de movimento das unidades de codificação são codificados no modo implícito.
[000170] De acordo com outra forma de realização exemplar, a unidade de predição 910 pode selecionar o modo explícito ou o modo implícito para cada unidade de imagem ou de fatia. Uma vez que as características da imagem são diferentes para cada unidade de imagem ou de fatia, o modo explícito ou o modo implícito pode ser selecionado para cada unidade de imagem ou de fatia, considerando estas características da imagem. Vetores de movimento de unidades de codificação incluídos numa imagem ou fatia atual podem ser codificados por predição, selecionando um modo ideal dentre o modo explícito e o modo implícito, em consideração ao custo RD.
[000171] Por exemplo, se vetores de movimento das unidades de codificação incluídos em uma imagem ou fatia puderem ser exatamente preditos sem utilizar o modo explícito, vetores de movimento de todas as unidades de codificação incluídas na imagem ou fatia podem ser codificadas por predição no modo implícito.
[000172] De acordo com outra forma de realização exemplar, a unidade de predição 910 pode selecionar o modo explícito ou o modo implícito, baseado em se um bloco atual foi codificado no modo de avanço. O modo de avanço é um modo de codificação, em que somente informações de sinalizador, indicando que um bloco atual foi codificado no modo de avanço, são codificadas, sem codificar um valor de pixel.
[000173] O modo de avanço é um modo, em que um valor de pixel de um bloco atual não é codificado, se um bloco de predição gerado através da realização de compensação de movimento, utilizando um preditor do vetor de movimento como um vetor de movimento do bloco atual, for semelhante ao bloco atual. Assim, como um preditor do vetor de movimento é gerado de maneira mais semelhante a um vetor de movimento de um bloco atual, é maior a probabilidade de codificar o bloco atual no modo de avanço. Por conseguinte, um bloco codificado no modo de avanço pode ser codificado no modo explícito.
[000174] Reportando-nos novamente à FIG. 9, quando a unidade de predição 910 seleciona um dos modos explícito e implícito, e determina um preditor do vetor de movimento, de acordo com o modo selecionado, o primeiro codificador 920 e o segundo codificador 930 codificam informações sobre um modo de codificação e um vetor de movimento.
[000175] O primeiro codificador 920 codifica as informações sobre um preditor do vetor de movimento de um bloco atual. Em mais detalhes, quando a unidade de predição 910 selecionar que um vetor de movimento do bloco atual foi codificado no modo explícito, o primeiro codificador 920 codifica as informações, indicando que um preditor do vetor de movimento foi gerado no modo explícito, e informações, indicando que o candidato a preditor do vetor de movimento foi usado como preditor do vetor de movimento do bloco atual.
[000176] Além disso, se uma pluralidade de candidatos a preditor do vetor de movimento incluir mv_temporal acima descrito com referência às Figs. 11A a 11C, as informações, indicando se um bloco 1200 ou 1300 numa posição co-localizada com o bloco atual, que é uma base para a geração de mv_temporal, é um bloco de uma imagem temporalmente anterior, ou um bloco de uma imagem temporalmente seguinte, são também codificadas.
[000177] Pelo contrário, quando a unidade de predição 910 selecionar que o vetor de movimento do bloco atual foi codificado no modo implícito, o primeiro codificador 920 codifica as informações, indicando que o preditor do vetor de movimento do bloco atual foi gerado no modo implícito. Em outras palavras, o primeiro codificador 920 codifica as informações, indicando que o preditor do vetor de movimento do bloco atual foi gerado, utilizando blocos ou pixels adjacentes ao bloco atual. Se dois ou mais modos implícitos forem usados, o primeiro codificador 920 pode ainda codificar as informações, indicando qual modo implícito foi utilizado para gerar o preditor do vetor de movimento do bloco atual.
[000178] O modo implícito pode ser um modo, em que um preditor do vetor de movimento de um bloco atual foi gerado, definindo um intervalo de busca baseado em candidatos a preditor do vetor de movimento do bloco atual, e buscando dentro de um intervalo de busca definido com base nos pixels de uma área previamente codificada, adjacente ao bloco atual, como ilustrado na FIG. 12C.
[000179] O segundo codificador 930 codifica um vetor de movimento de um bloco atual com base em um preditor do vetor de movimento determinado pela unidade de predição 910. Alternativamente, o segundo codificador 930 gera um vetor de diferença, subtraindo o preditor do vetor de movimento gerado pela unidade de predição 910, do vetor de movimento do bloco atual gerado como um resultado de compensação de movimento, e codifica as informações sobre o vetor de diferença.
[000180] A FIG. 13 é um diagrama de blocos de um aparelho 1300 para decodificar um vetor de movimento, de acordo com uma forma de realização exemplar.
[000181] Um aparelho 1300 para decodificar um vetor de movimento, que pode ser incluído no aparelho de decodificação de imagens 200 acima descrito em associação com a FIG. 2, ou no decodificador de imagens 500 acima descrito em associação com a FIG. 5, será agora descrito em detalhes. Referindo-se à Fig. 13, um aparelho para decodificar o vetor de movimento 1300 inclui um primeiro decodificador 1310, um segundo decodificador 1320, uma unidade de predição 1330, e um restaurador do vetor de movimento 1340.
[000182] O primeiro decodificador 1310 decodifica as informações sobre um preditor do vetor de movimento de um bloco atual, que está incluído em um fluxo de bits. Em detalhes, o primeiro decodificador 1310 decodifica as informações, indicando se o preditor do vetor de movimento do bloco atual foi codificado no modo explícito, ou no modo implícito.
[000183] Quando o preditor do vetor de movimento do bloco atual for codificado no modo explícito, o primeiro decodificador 1310 decodifica informações adicionais, indicando um preditor do vetor de movimento usado como o preditor do vetor de movimento do bloco atual entre uma pluralidade de preditores do vetor de movimento.
[000184] Além disso, se uma pluralidade de candidatos a preditor do vetor de movimento incluir mv_temporal acima descrito com referência às Figs. 11A a 11C, as informações, indicando se um bloco 1200 ou 1300 numa posição co-localizada com o bloco atual, que é uma base para a geração de mv_temporal, é um bloco de uma imagem temporalmente anterior ou um bloco de uma imagem temporalmente seguinte, são também decodificadas.
[000185] Quando o preditor do vetor de movimento do bloco atual for codificado no modo implícito, o primeiro decodificador 1310 pode ainda decodificar as informações, indicando se um da pluralidade de modos implícitos foi utilizado para codificar o preditor do vetor de movimento do bloco atual.
[000186] O modo implícito pode ser um modo, em que um preditor do vetor de movimento de um bloco atual é gerado, definindo um intervalo de busca baseado em candidatos a preditor do vetor de movimento do bloco atual e buscando dentro de um intervalo de busca definido com base em pixels de uma área previamente codificada, adjacente ao bloco atual, como ilustrado na FIG. 12C.
[000187] O segundo decodificador 1320 decodifica um vetor de diferença entre um preditor do vetor de movimento e o vetor de movimento do bloco atual incluídos no fluxo de bits.
[000188] A unidade de predição 1330 gera um preditor do vetor de movimento do bloco atual com base nas informações sobre o preditor do vetor de movimento do bloco atual, que foi decodificado pelo primeiro decodificador 1310.
[000189] Quando as informações sobre o preditor do vetor de movimento do bloco atual, que foram codificadas no modo explícito, são decodificadas, a unidade de predição 1330 gera um preditor do vetor de movimento entre os candidatos a preditor do vetor de movimento acima descrito em associação com as Figs. 10A, 10B, 11A a 11C, e o utiliza como preditor do vetor de movimento do bloco atual.
[000190] Quando as informações sobre o preditor do vetor de movimento do bloco atual, que foram codificadas no modo implícito, são decodificadas, a unidade de predição 1330 gera o preditor do vetor de movimento do bloco atual, utilizando blocos ou pixels incluídos numa área previamente codificada, adjacente ao bloco atual. Em mais detalhes, a unidade de predição 1330 gera um valor mediano de vetores de movimento de blocos adjacentes ao bloco atual para o preditor do vetor de movimento do bloco atual, ou gera o preditor do vetor de movimento do bloco atual através de busca de uma imagem de referência, usando pixels adjacentes ao bloco atual.
[000191] O restaurador do vetor de movimento 1340 restaura um vetor de movimento do bloco atual, através da soma do preditor do vetor de movimento gerado pela unidade de predição 1330 com o vetor de diferença decodificado pelo segundo decodificador 1320. O vetor de movimento restaurado é utilizado para compensação de movimento do bloco atual.
[000192] A FIG. 14 é um fluxograma de um método para codificar um vetor de movimento, de acordo com uma forma de realização exemplar.
[000193] Referindo-se à Fig. 14, um aparelho para codificar vetor de movimento, de acordo com uma forma de realização exemplar, seleciona um dentre o modo explícito e o modo implícito como um modo de codificar informações sobre um preditor do vetor de movimento na operação 1410.
[000194] O modo explícito é um modo de codificar informações, indicando um candidato a preditor do vetor de movimento entre pelo menos um candidato a preditor do vetor de movimento, como informações sobre um preditor do vetor de movimento, e o modo implícito é um modo de codificar informações, indicando que um preditor do vetor de movimento foi gerado com base em blocos ou pixels incluídos numa área previamente codificada, adjacente a um bloco atual, como as informações sobre o preditor do vetor de movimento. As descrições detalhadas do mesmo foram acima citadas em associação com as Figs. 10A a 10E, 11A a 11C, e 12A a 12C.
[000195] Um modo pode ser selecionado, com base no tamanho de um bloco atual, isto é, uma profundidade do bloco atual, ou selecionado em uma unidade de uma imagem ou fatia atual, em que o bloco atual é incluído. Alternativamente, um modo pode ser selecionado, de acordo com o fato de o bloco atual ter sido codificado no modo de avanço.
[000196] Na operação 1420, o aparelho de codificação do vetor de movimento determina um preditor do vetor de movimento, de acordo com o modo selecionado na operação 1410. Em detalhes, o aparelho de codificação do vetor de movimento determina um preditor do vetor de movimento do bloco atual, com base no modo explícito ou no modo implícito selecionado na operação 1410. Em mais detalhes, o aparelho de codificação do vetor de movimento determina um candidato a preditor do vetor de movimento entre, pelo menos, um candidato a preditor do vetor de movimento como o preditor do vetor de movimento do bloco atual no modo explícito, ou determina o preditor do vetor de movimento do bloco atual com base em blocos ou pixels adjacentes ao bloco atual no modo implícito.
[000197] Na operação 1430, o aparelho de codificação do vetor de movimento codifica as informações sobre o preditor do vetor de movimento determinadas na operação 1420.
[000198] No caso do modo explícito, o aparelho de codificação do vetor de movimento codifica as informações, indicando um candidato a preditor do vetor de movimento entre, pelo menos, um candidato a preditor do vetor de movimento, e informações, indicando que as informações sobre o preditor do vetor de movimento do bloco atual foram codificadas no modo explícito.
[000199] Além disso, se uma pluralidade de candidatos a preditor do vetor de movimento incluir mv_temporal, acima descrito com referência às Figs. 11A a 11C, as informações, indicando se um bloco 1200 ou 1300 numa posição co-localizada com o bloco atual, que é uma base para a geração de mv_temporal, é um bloco de uma imagem temporalmente anterior ou um bloco de uma imagem temporalmente seguinte, são também codificadas.
[000200] No caso do modo implícito, o aparelho de codificação do vetor de movimento codifica as informações, indicando que o preditor do vetor de movimento do bloco atual foi gerado com base em blocos ou pixels incluídos numa área previamente codificada, adjacente ao bloco atual. No caso de uma pluralidade de modos implícitos, o aparelho de codificação do vetor de movimento pode codificar informações adicionais, indicando uma da pluralidade de modos implícitos.
[000201] O modo implícito pode ser um modo, em que um preditor do vetor de movimento de um bloco atual é gerado, definindo um intervalo de busca baseado em candidatos a preditor do vetor de movimento do bloco atual e buscando dentro de um intervalo de busca definido com base nos pixels de uma área previamente codificada, adjacente ao bloco atual, como ilustrado na FIG. 12C.
[000202] Na operação 1440, o aparelho de codificação do vetor de movimento codifica um vetor de diferença gerado pela subtração do preditor do vetor de movimento determinado na operação 1420, de um vetor de movimento do bloco atual.
[000203] A FIG. 15 é um fluxograma de um método para decodificar um vetor de movimento, de acordo com uma forma de realização exemplar.
[000204] Referindo-se à Fig. 15, um aparelho para decodificar o vetor de movimento, de acordo com uma forma de realização exemplar, decodifica informações sobre um preditor do vetor de movimento de um bloco atual, que está incluído em um fluxo de bits, na operação 1510. Em detalhes, o aparelho para decodificar o vetor de movimento decodifica informações sobre um modo usado para codificar o preditor do vetor de movimento do bloco atual, dentre o modo explícito ou o modo implícito.
[000205] No caso do modo explícito, o aparelho para decodificar o vetor de movimento decodifica informações, indicando que o preditor do vetor de movimento do bloco atual foi codificado no modo explícito, e informações sobre um candidato a preditor do vetor de movimento entre, pelo menos, um candidato a preditor do vetor de movimento.
[000206] Além disso, se uma pluralidade de candidatos a preditor do vetor de movimento incluir mv_temporal, acima descrito com referência às Figs. 11A a 11C, as informações, indicando se um bloco 1200 ou 1300 numa posição co-localizada com o bloco atual, que é uma base para a geração de mv_temporal, é um bloco de uma imagem temporalmente anterior ou um bloco de uma imagem temporalmente seguinte, são também decodificadas.
[000207] No caso do modo implícito, o aparelho para decodificar o vetor de movimento decodifica informações, indicando que o preditor do vetor de movimento do bloco atual foi gerado com base em blocos ou pixels incluídos numa área anteriormente decodificada, adjacente ao bloco atual. No caso de uma pluralidade de modos implícitos, o aparelho para decodificar o vetor de movimento pode ainda decodificar as informações, indicando um da pluralidade de modos implícitos.
[000208] O modo implícito pode ser um modo, em que um preditor do vetor de movimento de um bloco atual é gerado, definindo um intervalo de busca baseado em candidatos a preditor do vetor de movimento do bloco atual e buscando dentro de um intervalo de busca definido com base nos pixels de uma área previamente codificada, adjacente ao bloco atual, como ilustrado na FIG. 12C.
[000209] Na operação 1520, o aparelho para decodificar o vetor de movimento decodifica informações sobre um vetor de diferença. O vetor de diferença é um vetor de uma diferença entre o preditor do vetor de movimento do bloco atual e um vetor de movimento do bloco atual.
[000210] Na operação 1530, o aparelho para decodificar o vetor de movimento gera o preditor do vetor de movimento do bloco atual com base nas informações sobre o preditor do vetor de movimento, que foi decodificado na operação 1510. Em detalhes, o aparelho para decodificar o vetor de movimento gera o preditor do vetor de movimento do bloco atual, de acordo com o modo explícito ou o modo implícito. Em mais detalhes, o aparelho para decodificar o vetor de movimento gera o preditor do vetor de movimento do bloco atual, selecionando um candidato a preditor do vetor de movimento entre, pelo menos, um candidato a preditor do vetor de movimento, ou o uso de blocos ou pixels incluídos numa área anteriormente decodificada, adjacente ao bloco atual.
[000211] Na operação 1540, o aparelho para decodificar o vetor de movimento restaura o vetor de movimento do bloco atual, através da soma do vetor de diferença decodificado na operação 1520, com o preditor do vetor de movimento gerado na operação 1530.
[000212] Como acima descrito, de acordo com formas de realização exemplares, um vetor de movimento pode ser mais precisamente predito, utilizando um modo, em que as informações sobre um vetor de movimento não são separadamente codificadas, e um modo, em que as informações sobre um preditor do vetor de movimento são codificadas.
[000213] Embora formas de realização exemplares tenham sido particularmente acima ilustradas e descritas, será entendido por um perito na arte, que várias alterações na forma e nos detalhes podem ser feitas, sem se afastar do espírito e do âmbito do conceito inventivo, tal como definido pelas reivindicações e suas equivalentes a seguir. Além disso, uma forma de realização exemplar pode ser realizada, como códigos legíveis por computador, sobre uma mídia de gravação legível por computador.
[000214] Por exemplo, o aparelho codificador ou decodificador de imagens, ou codificador ou decodificador de imagens, o aparelho para codificar um vetor de movimento e o aparelho para decodificar um vetor de movimento, ilustrados nas Figs. 1, 2, 4, 5, 9 e 13, podem incluir um barramento acoplado a cada unidade do aparelho ou codificador, pelo menos, um processador que está ligado ao barramento e é para execução de comandos, e memória ligada ao barramento para armazenar os comandos, mensagens recebidas e mensagens geradas.
[000215] A mídia de gravação legível por computador é qualquer dispositivo de armazenamento de dados, que pode armazenar dados, que podem ser posteriormente lidos por um sistema de computador. Exemplos da mídia de gravação legível por computador incluem memória só de leitura (ROM), memória de acesso aleatório (RAM), CD-ROMs, fitas magnéticas, disquetes e dispositivos óticos de armazenamento de dados. A mídia de gravação legível por computador pode ser também distribuída por sistemas de computação ligados em rede, para que o código legível por computador seja armazenado e executado de forma distribuída.

Claims (2)

1. APARELHO PARA CODIFICAR UM VETOR DE MOVIMENTO, o aparelho caracterizado por compreender: um preditor (910)que obtém candidatos a preditor do vetor de movimento de um bloco atual usando um bloco co- localizado com o bloco atual numa imagem de referência temporal na direção List0 ou List1 quando o modo de predição do bloco atual é de inter-predição, e obtém um preditor do vetor de movimento do bloco atual em meio aos candidatos a preditor do vetor de movimento obtidos; um primeiro codificador (920) que codifica informação acerca do preditor do vetor de movimento do bloco atual; e um segundo codificador (930) que codifica um vetor diferencial entre um preditor do vetor de movimento do bloco atual e um vetor de movimento do bloco atual; em que o preditor (910) seleciona um vetor de movimento do bloco co-localizado com o bloco atual na imagem de referência temporal com base numa primeira distância temporal e uma segunda distância temporal, a primeira distância temporal indicando uma distância temporal entre uma imagem de referência referenciada pelo bloco co-localizado com o bloco atual na imagem de referência temporal e a imagem de referência temporal, e a segunda distância temporal indicando uma distância temporal entre uma imagem atual e uma imagem de referência referenciada pelo bloco atual, em que uma imagem é dividida numa pluralidade de unidades de codificação máxima de acordo com uma informação com respeito ao tamanho máximo da unidade de codificação, a unidade de codificação máxima é hierarquicamente dividida numa ou mais unidades de codificação de profundidades incluindo pelo menos uma de uma profundidade atual e uma profundidade inferior, e a unidade de codificação atual da profundidade atual é uma das unidades de dados retangulares divididas a partir de uma unidade de codificação de uma profundidade superior.
2. MÉTODO PARA DECODIFICAR UM VETOR DE MOVIMENTO, o método caracterizado por compreender: obter (1510) informação do modo de predição a partir de um fluxo contínuo de dados; obter candidatos a preditor do vetor de movimento do bloco atual usando um bloco co-localizado com bloco atual numa imagem de referência temporal na direção List0 ou List1 quando o modo de predição do bloco atual é de inter-predição; obter (1530) um preditor do vetor de movimento do bloco atual em meio aos candidatos a preditor do vetor de movimento obtidos com base numa informação indicativa de um preditor do vetor de movimento usado para o bloco atual; e obter (1540) um vetor de movimento do bloco atual com base no preditor do vetor de movimento obtido e um vetor diferencial obtido a partir do fluxo contínuo de dados, em que os candidatos a preditor do vetor de movimento obtidos do bloco atual adicionalmente compreendem: selecionar um vetor de movimento do bloco co-localizado com o bloco atual na imagem de referência temporal com base numa primeira distância temporal e numa segunda distância temporal, a primeira distância temporal indicando uma distância temporal entre uma imagem de referência referenciada pelo bloco co-localizado com o bloco atual na imagem de referência temporal e a imagem de referência temporal, e a segunda distância temporal indicando uma distância temporal entre uma imagem atual e uma imagem de referência referenciada pelo bloco atual, em que uma imagem é dividida numa pluralidade de unidades de codificação máxima de acordo com uma informação com respeito ao tamanho máximo da unidade de codificação, a unidade de codificação máxima é hierarquicamente dividida numa ou mais unidades de codificação de profundidades incluindo pelo menos uma de uma profundidade atual e uma profundidade inferior, e a unidade de codificação atual da profundidade atual é uma das unidades de dados retangulares divididas a partir de uma unidade de codificação de uma profundidade superior.
BR112012017408-8A 2010-01-14 2011-01-14 Aparelho para codificar um vetor de movimento, e método para decodificar um vetor de movimento BR112012017408B1 (pt)

Priority Applications (5)

Application Number Priority Date Filing Date Title
BR122015021367A BR122015021367A2 (pt) 2010-01-14 2011-01-14 aparelho para decodificar uma imagem
BR122015021366A BR122015021366A2 (pt) 2010-01-14 2011-01-14 método de decodificar uma imagem
BR122015021369-0A BR122015021369B1 (pt) 2010-01-14 2011-01-14 Aparelho para decodificar um vetor de movimento
BR122015021370-3A BR122015021370B1 (pt) 2010-01-14 2011-01-14 Aparelho para decodificação de vetor de movimento
BR122013020551-9A BR122013020551B1 (pt) 2010-01-14 2011-01-14 Método para decodificar um vetor de movimento

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
KR10-2010-0003554 2010-01-14
KR1020100003554A KR101522850B1 (ko) 2010-01-14 2010-01-14 움직임 벡터를 부호화, 복호화하는 방법 및 장치
PCT/KR2011/000301 WO2011087321A2 (en) 2010-01-14 2011-01-14 Method and apparatus for encoding and decoding motion vector

Publications (2)

Publication Number Publication Date
BR112012017408A2 BR112012017408A2 (pt) 2018-05-29
BR112012017408B1 true BR112012017408B1 (pt) 2022-04-19

Family

ID=44258489

Family Applications (6)

Application Number Title Priority Date Filing Date
BR112012017408-8A BR112012017408B1 (pt) 2010-01-14 2011-01-14 Aparelho para codificar um vetor de movimento, e método para decodificar um vetor de movimento
BR122015021369-0A BR122015021369B1 (pt) 2010-01-14 2011-01-14 Aparelho para decodificar um vetor de movimento
BR122015021370-3A BR122015021370B1 (pt) 2010-01-14 2011-01-14 Aparelho para decodificação de vetor de movimento
BR122015021367A BR122015021367A2 (pt) 2010-01-14 2011-01-14 aparelho para decodificar uma imagem
BR122013020551-9A BR122013020551B1 (pt) 2010-01-14 2011-01-14 Método para decodificar um vetor de movimento
BR122015021366A BR122015021366A2 (pt) 2010-01-14 2011-01-14 método de decodificar uma imagem

Family Applications After (5)

Application Number Title Priority Date Filing Date
BR122015021369-0A BR122015021369B1 (pt) 2010-01-14 2011-01-14 Aparelho para decodificar um vetor de movimento
BR122015021370-3A BR122015021370B1 (pt) 2010-01-14 2011-01-14 Aparelho para decodificação de vetor de movimento
BR122015021367A BR122015021367A2 (pt) 2010-01-14 2011-01-14 aparelho para decodificar uma imagem
BR122013020551-9A BR122013020551B1 (pt) 2010-01-14 2011-01-14 Método para decodificar um vetor de movimento
BR122015021366A BR122015021366A2 (pt) 2010-01-14 2011-01-14 método de decodificar uma imagem

Country Status (14)

Country Link
US (9) US8995529B2 (pt)
EP (5) EP2928194A3 (pt)
JP (5) JP5882228B2 (pt)
KR (1) KR101522850B1 (pt)
CN (7) CN104994380B (pt)
AU (1) AU2011205896A1 (pt)
BR (6) BR112012017408B1 (pt)
CA (5) CA2828001C (pt)
MX (1) MX2012008229A (pt)
MY (5) MY172478A (pt)
RU (7) RU2530252C1 (pt)
SG (6) SG10201500917WA (pt)
WO (1) WO2011087321A2 (pt)
ZA (5) ZA201205735B (pt)

Families Citing this family (109)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7519096B2 (en) 2003-06-06 2009-04-14 The General Hospital Corporation Process and apparatus for a wavelength tuning source
EP2293031B8 (en) 2003-10-27 2024-03-20 The General Hospital Corporation Method and apparatus for performing optical imaging using frequency-domain interferometry
US7447408B2 (en) 2004-07-02 2008-11-04 The General Hospital Corproation Imaging system and related techniques
WO2006024015A1 (en) 2004-08-24 2006-03-02 The General Hospital Corporation Method and apparatus for imaging of vessel segments
WO2007084903A2 (en) 2006-01-19 2007-07-26 The General Hospital Corporation Apparatus for obtaining information for a structure using spectrally-encoded endoscopy techniques and method for producing one or more optical arrangements
PL1973466T3 (pl) 2006-01-19 2021-07-05 The General Hospital Corporation Balonowy cewnik do obrazowania
JP5524487B2 (ja) 2006-02-01 2014-06-18 ザ ジェネラル ホスピタル コーポレイション コンフォーマルレーザ治療手順を用いてサンプルの少なくとも一部分に電磁放射を放射する方法及びシステム。
WO2007092911A2 (en) 2006-02-08 2007-08-16 The General Hospital Corporation Methods, arrangements and systems for obtaining information associated with an anatomical sample using optical microscopy
JP2009527770A (ja) 2006-02-24 2009-07-30 ザ ジェネラル ホスピタル コーポレイション 角度分解型のフーリエドメイン光干渉断層撮影法を遂行する方法及びシステム
EP2517616A3 (en) 2006-05-10 2013-03-06 The General Hospital Corporation Processes, arrangements and systems for providing frequency domain imaging of a sample
WO2008121844A1 (en) 2007-03-30 2008-10-09 The General Hospital Corporation System and method providing intracoronary laser speckle imaging for the detection of vulnerable plaque
WO2008153262A1 (en) 2007-06-15 2008-12-18 Sungkyunkwan University Foundation For Corporate Collaboration Bi-prediction coding method and apparatus, bi-prediction decoding method and apparatus, and recording midium
US8526499B2 (en) * 2007-06-15 2013-09-03 Sungkyunkwan University Foundation For Corporate Collaboration Bi-prediction coding method and apparatus, bi-prediction decoding method and apparatus, and recording medium
WO2010009136A2 (en) 2008-07-14 2010-01-21 The General Hospital Corporation Apparatus and methods for color endoscopy
EP2389093A4 (en) 2009-01-20 2013-07-31 Gen Hospital Corp APPARATUS, SYSTEM AND METHOD FOR ENDOSCOPIC BIOPSY
WO2011008822A2 (en) 2009-07-14 2011-01-20 The General Hospital Corporation Apparatus, systems and methods for measuring flow and pressure within a vessel
KR101522850B1 (ko) * 2010-01-14 2015-05-26 삼성전자주식회사 움직임 벡터를 부호화, 복호화하는 방법 및 장치
KR101495724B1 (ko) 2010-02-02 2015-02-25 삼성전자주식회사 계층적 데이터 단위의 스캔 순서에 기반한 비디오 부호화 방법과 그 장치, 및 비디오 복호화 방법과 그 장치
WO2011109828A2 (en) 2010-03-05 2011-09-09 The General Hospital Corporation Systems, methods and computer-accessible medium which provide microscopic images of at least one anatomical structure at a particular resolution
JP5368631B2 (ja) 2010-04-08 2013-12-18 株式会社東芝 画像符号化方法、装置、及びプログラム
JP5649701B2 (ja) * 2010-04-08 2015-01-07 株式会社東芝 画像復号化方法、装置、及びプログラム
RU2538284C2 (ru) * 2010-04-22 2015-01-10 Медиатэк, Инк. Способ предсказания движения
US9069130B2 (en) 2010-05-03 2015-06-30 The General Hospital Corporation Apparatus, method and system for generating optical radiation from biological gain media
WO2011146451A1 (en) 2010-05-20 2011-11-24 Thomson Licensing Methods and apparatus for adaptive motion vector candidate ordering for video encoding and decoding
WO2011149972A2 (en) 2010-05-25 2011-12-01 The General Hospital Corporation Systems, devices, methods, apparatus and computer-accessible media for providing optical imaging of structures and compositions
EP2575598A2 (en) 2010-05-25 2013-04-10 The General Hospital Corporation Apparatus, systems, methods and computer-accessible medium for spectral analysis of optical coherence tomography images
US10285568B2 (en) 2010-06-03 2019-05-14 The General Hospital Corporation Apparatus and method for devices for imaging structures in or at one or more luminal organs
KR102221331B1 (ko) 2010-11-24 2021-03-03 벨로스 미디어 인터내셔널 리미티드 움직임 벡터 산출 방법, 화상 부호화 방법, 화상 복호 방법, 움직임 벡터 산출 장치 및 화상 부호화 복호 장치
JP2014501091A (ja) 2010-12-17 2014-01-16 エレクトロニクス アンド テレコミュニケーションズ リサーチ インスチチュート インター予測方法及びその装置
GB2487197B (en) * 2011-01-11 2015-06-17 Canon Kk Video encoding and decoding with improved error resilience
CN106878742B (zh) 2011-01-12 2020-01-07 太阳专利托管公司 动态图像编解码装置
CA2825730C (en) * 2011-02-10 2018-01-16 Panasonic Corporation Moving picture coding method, moving picture coding apparatus, moving picture decoding method, moving picture decoding apparatus, and moving picture coding and decoding apparatus
JP6108309B2 (ja) * 2011-02-22 2017-04-05 サン パテント トラスト 動画像符号化方法、動画像符号化装置、動画像復号方法、および、動画像復号装置
JP5358746B2 (ja) 2011-03-03 2013-12-04 パナソニック株式会社 動画像符号化方法、動画像符号化装置及びプログラム
GB2488815C (en) * 2011-03-09 2018-03-28 Canon Kk Video decoding
WO2012128540A2 (ko) * 2011-03-21 2012-09-27 엘지전자 주식회사 움직임 벡터 예측자 선택 방법 및 이를 이용하는 장치
JP5872676B2 (ja) * 2011-06-15 2016-03-01 メディアテック インコーポレイテッド 3dビデオコーディングにおけるテクスチャーイメージ圧縮方法および装置
WO2013006386A1 (en) * 2011-07-01 2013-01-10 General Instrument Corporation Motion vector prediction design simplification
US10241028B2 (en) 2011-08-25 2019-03-26 The General Hospital Corporation Methods, systems, arrangements and computer-accessible medium for providing micro-optical coherence tomography procedures
AU2016216724B2 (en) * 2011-09-09 2018-10-25 Kt Corporation Method for deriving a temporal predictive motion vector, and apparatus using the method
BR112013022641B1 (pt) 2011-09-09 2022-07-12 Kt Corporation Método para derivar um vetor de predição de movimento candidato
KR101391829B1 (ko) * 2011-09-09 2014-05-07 주식회사 케이티 시간적 후보 움직임 벡터 유도 방법 및 이러한 방법을 사용하는 장치
US9736489B2 (en) 2011-09-17 2017-08-15 Qualcomm Incorporated Motion vector determination for video coding
BR112014010193B1 (pt) 2011-10-28 2022-09-20 Samsung Electronics Co., Ltd Método para previsão inter, método para compensação de movimento, aparelho para previsão inter, aparelho para compensação de movimento, e mídia de gravação legível por computador
US9571833B2 (en) 2011-11-04 2017-02-14 Nokia Technologies Oy Method for coding and an apparatus
EP2777258B1 (en) * 2011-11-04 2017-01-11 Huawei Technologies Co., Ltd. Binarization of prediction residuals for lossless video coding
US9185428B2 (en) 2011-11-04 2015-11-10 Google Technology Holdings LLC Motion vector scaling for non-uniform motion vector grid
US9020294B2 (en) * 2012-01-18 2015-04-28 Dolby Laboratories Licensing Corporation Spatiotemporal metrics for rate distortion optimization
KR102030205B1 (ko) * 2012-01-20 2019-10-08 선 페이턴트 트러스트 시간 움직임 벡터 예측을 사용하여 비디오를 부호화 및 복호하는 방법 및 장치
CN107396101B (zh) 2012-02-03 2019-12-20 太阳专利托管公司 图像编码方法及图像编码装置
CA2866121C (en) 2012-03-06 2018-04-24 Panasonic Intellectual Property Corporation Of America Moving picture coding method, moving picture decoding method, moving picture coding apparatus, moving picture decoding apparatus, and moving picture coding and decoding apparatus
EP2833776A4 (en) 2012-03-30 2015-12-09 Gen Hospital Corp IMAGING SYSTEM, METHOD AND DISTAL FIXATION FOR MULTIDIRECTIONAL FIELD ENDOSCOPY
EP2839660B1 (en) * 2012-04-16 2020-10-07 Nokia Technologies Oy An apparatus, a method and a computer program for video coding and decoding
WO2013177154A1 (en) 2012-05-21 2013-11-28 The General Hospital Corporation Apparatus, device and method for capsule microscopy
US9172970B1 (en) 2012-05-29 2015-10-27 Google Inc. Inter frame candidate selection for a video encoder
US11317101B2 (en) 2012-06-12 2022-04-26 Google Inc. Inter frame candidate selection for a video encoder
US9503746B2 (en) 2012-10-08 2016-11-22 Google Inc. Determine reference motion vectors
US9485515B2 (en) 2013-08-23 2016-11-01 Google Inc. Video coding using reference motion vectors
EP2948758B1 (en) 2013-01-28 2024-03-13 The General Hospital Corporation Apparatus for providing diffuse spectroscopy co-registered with optical frequency domain imaging
US10893806B2 (en) 2013-01-29 2021-01-19 The General Hospital Corporation Apparatus, systems and methods for providing information regarding the aortic valve
JP6378311B2 (ja) 2013-03-15 2018-08-22 ザ ジェネラル ホスピタル コーポレイション 物体を特徴付ける方法とシステム
US9784681B2 (en) 2013-05-13 2017-10-10 The General Hospital Corporation System and method for efficient detection of the phase and amplitude of a periodic modulation associated with self-interfering fluorescence
JP5571229B2 (ja) * 2013-06-03 2014-08-13 株式会社東芝 画像符号化方法及び画像復号化方法
US10117576B2 (en) 2013-07-19 2018-11-06 The General Hospital Corporation System, method and computer accessible medium for determining eye motion by imaging retina and providing feedback for acquisition of signals from the retina
WO2015009932A1 (en) 2013-07-19 2015-01-22 The General Hospital Corporation Imaging apparatus and method which utilizes multidirectional field of view endoscopy
EP3025173B1 (en) 2013-07-26 2021-07-07 The General Hospital Corporation Apparatus with a laser arrangement utilizing optical dispersion for applications in fourier-domain optical coherence tomography
WO2015105870A1 (en) 2014-01-08 2015-07-16 The General Hospital Corporation Method and apparatus for microscopic imaging
JP5571262B2 (ja) * 2014-01-23 2014-08-13 株式会社東芝 画像符号化方法及び画像復号化方法
JP2014131295A (ja) * 2014-01-23 2014-07-10 Toshiba Corp 画像符号化方法及び画像復号化方法
JP2014131293A (ja) * 2014-01-23 2014-07-10 Toshiba Corp 画像符号化方法及び画像復号化方法
JP5509398B1 (ja) * 2014-01-23 2014-06-04 株式会社東芝 画像符号化方法及び画像復号化方法
CN104811584B (zh) * 2014-01-29 2018-03-27 晨星半导体股份有限公司 影像处理电路与方法
WO2015116986A2 (en) 2014-01-31 2015-08-06 The General Hospital Corporation System and method for facilitating manual and/or automatic volumetric imaging with real-time tension or force feedback using a tethered imaging device
JP6731574B2 (ja) * 2014-03-06 2020-07-29 パナソニックIpマネジメント株式会社 動画像符号化装置および動画像符号化方法
US9769498B2 (en) 2014-03-28 2017-09-19 University-Industry Cooperation Group Of Kyung Hee University Method and apparatus for encoding of video using depth information
WO2015153982A1 (en) 2014-04-04 2015-10-08 The General Hospital Corporation Apparatus and method for controlling propagation and/or transmission of electromagnetic radiation in flexible waveguide(s)
CN110278437B (zh) * 2014-06-20 2022-03-08 寰发股份有限公司 一种视频数据块的编码方法
EP3171766B1 (en) 2014-07-25 2021-12-29 The General Hospital Corporation Apparatus for in vivo imaging and diagnosis
JP5659314B1 (ja) * 2014-10-01 2015-01-28 株式会社東芝 画像符号化方法及び画像復号化方法
JP2015053729A (ja) * 2014-11-17 2015-03-19 株式会社東芝 画像符号化方法及び画像復号化方法
FR3029055B1 (fr) * 2014-11-24 2017-01-13 Ateme Procede d'encodage d'image et equipement pour la mise en oeuvre du procede
FR3029333A1 (fr) * 2014-11-27 2016-06-03 Orange Procede de codage et decodage d'images, dispositif de codage et decodage et programmes d'ordinateur correspondants
KR20180081716A (ko) * 2015-11-13 2018-07-17 엘지전자 주식회사 영상 코딩 시스템에서 임계값을 이용한 적응적 영상 예측 방법 및 장치
JP6196341B2 (ja) * 2016-02-17 2017-09-13 株式会社東芝 画像符号化方法及び画像復号化方法
US10271062B2 (en) * 2016-03-18 2019-04-23 Google Llc Motion vector prediction through scaling
KR20230101932A (ko) * 2016-04-29 2023-07-06 인텔렉추얼디스커버리 주식회사 영상 신호 부호화/복호화 방법 및 장치
EP3469794B1 (en) * 2016-06-09 2022-04-27 INTEL Corporation Method and system of motion estimation with neighbor block pattern for video coding
JP6271694B2 (ja) * 2016-12-16 2018-01-31 株式会社東芝 画像符号化方法及び画像復号化方法
US11394976B2 (en) * 2017-01-03 2022-07-19 Lg Electronics Inc. Inter-prediction method and apparatus in image coding system
CN108495130B (zh) * 2017-03-21 2021-04-20 腾讯科技(深圳)有限公司 视频编码、解码方法和装置、终端、服务器和存储介质
JP6370977B2 (ja) * 2017-08-31 2018-08-08 株式会社東芝 画像符号化方法及び画像復号化方法
JP6367452B2 (ja) * 2017-11-13 2018-08-01 株式会社東芝 画像符号化方法及び画像復号化方法
WO2019147067A1 (ko) * 2018-01-26 2019-08-01 한국전자통신연구원 시간적 움직임 정보를 이용하는 영상 부호화 및 영상 복호화를 위한 방법 및 장치
US11425390B2 (en) * 2018-01-26 2022-08-23 Electronics And Telecommunications Research Institute Method and apparatus for image encoding and image decoding using temporal motion information
EP3554082A1 (en) * 2018-04-11 2019-10-16 InterDigital VC Holdings, Inc. A method and device for coding the geometry of a point cloud
US11277612B2 (en) * 2018-06-25 2022-03-15 Electronics And Telecommunications Research Institute Method and apparatus for encoding/decoding image using quantization parameter, and recording medium storing bitstream
JP6609004B2 (ja) * 2018-07-02 2019-11-20 株式会社東芝 画像符号化方法及び画像復号化方法
KR102658887B1 (ko) * 2018-10-10 2024-04-18 삼성전자주식회사 움직임 벡터 차분값을 이용한 비디오 부호화 및 복호화 방법, 및 움직임 정보의 부호화 및 복호화 장치
EP3878183A1 (en) * 2018-11-05 2021-09-15 InterDigital VC Holdings, Inc. Simplifications of coding modes based on neighboring samples dependent parametric models
GB2580084B (en) * 2018-12-20 2022-12-28 Canon Kk Video coding and decoding
US10694189B1 (en) * 2019-03-18 2020-06-23 Amazon Technologies, Inc. Adaptive use of search modes based on bandwidth availability
US10798380B1 (en) * 2019-03-18 2020-10-06 Amazon Technologies, Inc. Adaptive use of search modes based on neighboring blocks
US11375243B2 (en) * 2019-07-17 2022-06-28 Tencent America LLC Method and apparatus for video coding
JP6980889B2 (ja) * 2019-10-21 2021-12-15 株式会社東芝 画像符号化方法及び画像復号化方法
JP6795666B2 (ja) * 2019-10-21 2020-12-02 株式会社東芝 画像符号化方法及び画像復号化方法
JP6961781B2 (ja) * 2019-10-21 2021-11-05 株式会社東芝 画像符号化方法及び画像復号化方法
JP7242811B2 (ja) 2019-10-21 2023-03-20 株式会社東芝 画像符号化方法及び画像復号化方法
KR102297479B1 (ko) 2020-04-10 2021-09-03 삼성전자주식회사 움직임 벡터의 부호화 장치 및 방법, 및 움직임 벡터의 복호화 장치 및 방법
CN113808157B (zh) * 2021-11-18 2022-02-22 腾讯科技(深圳)有限公司 图像处理方法、装置、及计算机设备

Family Cites Families (56)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3263807B2 (ja) * 1996-09-09 2002-03-11 ソニー株式会社 画像符号化装置および画像符号化方法
JPH10178639A (ja) 1996-12-19 1998-06-30 Matsushita Electric Ind Co Ltd 画像コーデック部および画像データ符号化方法
US6212237B1 (en) * 1997-06-17 2001-04-03 Nippon Telegraph And Telephone Corporation Motion vector search methods, motion vector search apparatus, and storage media storing a motion vector search program
JPH11146367A (ja) 1997-11-06 1999-05-28 Matsushita Electric Ind Co Ltd モバイルビデオフォン
RU2182727C2 (ru) * 2000-07-20 2002-05-20 Дворкович Александр Викторович Способ поиска векторов движения деталей в динамических изображениях
KR101033398B1 (ko) 2001-11-21 2011-05-09 제너럴 인스트루먼트 코포레이션 디지털 비디오 콘텐트를 위한 매크로블록 레벨 적응성프레임/필드 코딩
US6980596B2 (en) 2001-11-27 2005-12-27 General Instrument Corporation Macroblock level adaptive frame/field coding for digital video content
PT3525464T (pt) * 2002-04-19 2021-04-06 Panasonic Ip Corp America Método e sistema de codificação e descodificação de imagem
JP2004208258A (ja) * 2002-04-19 2004-07-22 Matsushita Electric Ind Co Ltd 動きベクトル計算方法
JP4130783B2 (ja) * 2002-04-23 2008-08-06 松下電器産業株式会社 動きベクトル符号化方法および動きベクトル復号化方法
KR100491530B1 (ko) * 2002-05-03 2005-05-27 엘지전자 주식회사 모션 벡터 결정 방법
JP2004023458A (ja) * 2002-06-17 2004-01-22 Toshiba Corp 動画像符号化/復号化方法及び装置
KR100774296B1 (ko) * 2002-07-16 2007-11-08 삼성전자주식회사 움직임 벡터 부호화 방법, 복호화 방법 및 그 장치
KR100865034B1 (ko) * 2002-07-18 2008-10-23 엘지전자 주식회사 모션 벡터 예측 방법
US7154952B2 (en) 2002-07-19 2006-12-26 Microsoft Corporation Timestamp-independent motion vector prediction for predictive (P) and bidirectionally predictive (B) pictures
KR100506864B1 (ko) * 2002-10-04 2005-08-05 엘지전자 주식회사 모션벡터 결정방법
GB0228281D0 (en) 2002-12-04 2003-01-08 Imec Inter Uni Micro Electr Coding of motion vectors produced by wavelet-domain motion estimation
JP4536325B2 (ja) 2003-02-04 2010-09-01 ソニー株式会社 画像処理装置および方法、記録媒体、並びにプログラム
CN1194544C (zh) * 2003-04-25 2005-03-23 北京工业大学 基于时空域相关性运动矢量预测的视频编码方法
KR101050828B1 (ko) * 2003-08-26 2011-07-21 톰슨 라이센싱 하이브리드 인트라-인터 코딩된 블록을 디코딩하기 위한 방법 및 장치
KR100597397B1 (ko) * 2003-11-06 2006-07-07 삼성전자주식회사 고속 움직임추정 알고리즘을 갖는 동영상 코딩방법 및 장치
JP4591657B2 (ja) * 2003-12-22 2010-12-01 キヤノン株式会社 動画像符号化装置及びその制御方法、プログラム
US7899117B2 (en) * 2004-05-26 2011-03-01 Panasonic Corporation Apparatus and method for encoding motion vector, and program and medium therefor
US7978770B2 (en) 2004-07-20 2011-07-12 Qualcomm, Incorporated Method and apparatus for motion vector prediction in temporal video compression
WO2006049412A1 (en) 2004-11-01 2006-05-11 Electronics And Telecommunications Research Institute Method for encoding/decoding a video sequence based on hierarchical b-picture using adaptively-adjusted gop structure
US20060120612A1 (en) 2004-12-08 2006-06-08 Sharath Manjunath Motion estimation techniques for video encoding
TWI274509B (en) * 2005-02-22 2007-02-21 Sunplus Technology Co Ltd Method and system for dynamically adjusting motion estimation
JP4519723B2 (ja) 2005-06-27 2010-08-04 富士通セミコンダクター株式会社 動きベクトルを利用する動画像データの符号化または復号化装置
US8761259B2 (en) * 2005-09-22 2014-06-24 Qualcomm Incorporated Multi-dimensional neighboring block prediction for video encoding
WO2007034918A1 (ja) 2005-09-26 2007-03-29 Mitsubishi Electric Corporation 動画像符号化装置及び動画像復号装置
WO2007074543A1 (ja) * 2005-12-27 2007-07-05 Sharp Kabushiki Kaisha 動画像復号装置および動画像符号化装置
EP1809041A1 (en) * 2006-01-11 2007-07-18 Mitsubishi Electric Information Technology Centre Europe B.V. Error concealement for scalable video coding
KR101370919B1 (ko) * 2006-07-12 2014-03-11 엘지전자 주식회사 신호처리방법 및 장치
EP2055108B1 (en) 2006-08-25 2011-04-20 Thomson Licensing Methods and apparatus for reduced resolution partitioning
CN101573982B (zh) * 2006-11-03 2011-08-03 三星电子株式会社 利用运动矢量跟踪编码/解码图像的方法和装置
KR101356734B1 (ko) * 2007-01-03 2014-02-05 삼성전자주식회사 움직임 벡터 트랙킹을 이용한 영상의 부호화, 복호화 방법및 장치
CN101536530B (zh) 2006-11-07 2011-06-08 三星电子株式会社 基于运动估计进行视频编码和解码的方法和设备
KR101383540B1 (ko) 2007-01-03 2014-04-09 삼성전자주식회사 복수의 움직임 벡터 프리딕터들을 사용하여 움직임 벡터를추정하는 방법, 장치, 인코더, 디코더 및 복호화 방법
KR101365574B1 (ko) * 2007-01-29 2014-02-20 삼성전자주식회사 영상 부호화 방법 및 장치, 복호화 방법 및 장치
US20090003449A1 (en) * 2007-06-28 2009-01-01 Mitsubishi Electric Corporation Image encoding device, image decoding device, image encoding method and image decoding method
CN101415122B (zh) * 2007-10-15 2011-11-16 华为技术有限公司 一种帧间预测编解码方法及装置
EP2210421A4 (en) * 2007-10-16 2013-12-04 Lg Electronics Inc METHOD AND APPARATUS FOR PROCESSING A VIDEO SIGNAL
CN101198064A (zh) * 2007-12-10 2008-06-11 武汉大学 一种分辨率分层技术中的运动矢量预测方法
US20100278236A1 (en) * 2008-01-17 2010-11-04 Hua Yang Reduced video flicker
KR101505195B1 (ko) * 2008-02-20 2015-03-24 삼성전자주식회사 직접 모드 부호화 및 복호화 방법
KR20090097689A (ko) 2008-03-12 2009-09-16 삼성전자주식회사 영상의 인트라 예측 부호화/복호화 방법 및 장치
KR101431545B1 (ko) * 2008-03-17 2014-08-20 삼성전자주식회사 영상의 부호화, 복호화 방법 및 장치
WO2009126260A1 (en) * 2008-04-11 2009-10-15 Thomson Licensing Methods and apparatus for template matching prediction (tmp) in video encoding and decoding
KR20090129926A (ko) * 2008-06-13 2009-12-17 삼성전자주식회사 영상 부호화 방법 및 그 장치, 영상 복호화 방법 및 그 장치
KR101517768B1 (ko) * 2008-07-02 2015-05-06 삼성전자주식회사 영상의 부호화 방법 및 장치, 그 복호화 방법 및 장치
JP5401071B2 (ja) * 2008-10-09 2014-01-29 株式会社Nttドコモ 動画像符号化装置、動画像復号装置、動画像符号化方法、動画像復号方法、動画像符号化プログラム、動画像復号プログラム、動画像処理システムおよび動画像処理方法
KR101452859B1 (ko) * 2009-08-13 2014-10-23 삼성전자주식회사 움직임 벡터를 부호화 및 복호화하는 방법 및 장치
JPWO2011034148A1 (ja) 2009-09-18 2013-02-14 シャープ株式会社 符号化装置、復号装置、動画像符号化装置、動画像復号装置、および符号化データ
WO2011048903A1 (ja) 2009-10-20 2011-04-28 シャープ株式会社 動画像符号化装置、動画像復号装置、および、データ構造
KR101522850B1 (ko) 2010-01-14 2015-05-26 삼성전자주식회사 움직임 벡터를 부호화, 복호화하는 방법 및 장치
US9386309B2 (en) * 2011-11-18 2016-07-05 Google Technology Holdings LLC Explicit way for signaling a collocated picture for high efficiency video coding (HEVC) using a single reference list

Also Published As

Publication number Publication date
MY165841A (en) 2018-05-17
CN104994380A (zh) 2015-10-21
KR20110083365A (ko) 2011-07-20
JP2013258752A (ja) 2013-12-26
EP2645718A2 (en) 2013-10-02
CA2880256A1 (en) 2011-07-21
CA2880465A1 (en) 2011-07-21
EP2930929A2 (en) 2015-10-14
MY183996A (en) 2021-03-17
CA2828001C (en) 2014-07-08
JP5882228B2 (ja) 2016-03-09
US20140126649A1 (en) 2014-05-08
CN104811724B (zh) 2018-02-02
KR101522850B1 (ko) 2015-05-26
MY166200A (en) 2018-06-14
CN104811724A (zh) 2015-07-29
US20150049816A1 (en) 2015-02-19
US20140126636A1 (en) 2014-05-08
RU2604997C2 (ru) 2016-12-20
BR122013020551B1 (pt) 2022-08-16
BR122015021369B1 (pt) 2022-04-19
MY172478A (en) 2019-11-26
RU2012134634A (ru) 2014-02-27
US8861609B2 (en) 2014-10-14
US20140126648A1 (en) 2014-05-08
SG10201500923SA (en) 2015-04-29
CA2828001A1 (en) 2011-07-21
CN104994380B (zh) 2018-11-06
RU2513707C1 (ru) 2014-04-20
BR122015021370B1 (pt) 2022-08-16
MY184910A (en) 2021-04-30
RU2013158636A (ru) 2015-07-10
CA2880472C (en) 2016-10-18
SG192511A1 (en) 2013-08-30
RU2514929C2 (ru) 2014-05-10
JP2015165695A (ja) 2015-09-17
CN104869422A (zh) 2015-08-26
SG182491A1 (en) 2012-08-30
CN102792697A (zh) 2012-11-21
CN103220518A (zh) 2013-07-24
US20110170602A1 (en) 2011-07-14
ZA201501191B (en) 2015-07-29
ZA201408373B (en) 2015-01-28
JP2013517669A (ja) 2013-05-16
WO2011087321A2 (en) 2011-07-21
CN104869422B (zh) 2017-05-03
BR122015021369A2 (pt) 2019-08-27
RU2605362C2 (ru) 2016-12-20
BR122015021370A2 (pt) 2019-08-27
EP2524507A2 (en) 2012-11-21
ZA201408374B (en) 2015-01-28
US8995529B2 (en) 2015-03-31
EP2524507A4 (en) 2014-04-09
WO2011087321A3 (en) 2011-12-01
JP6073405B2 (ja) 2017-02-01
CN104469362B (zh) 2016-08-31
CA2787006C (en) 2016-03-01
RU2013158838A (ru) 2014-09-27
JP5937717B2 (ja) 2016-06-22
SG10201500917WA (en) 2015-04-29
BR112012017408A2 (pt) 2018-05-29
US8861610B2 (en) 2014-10-14
CA2787006A1 (en) 2011-07-21
JP6073404B2 (ja) 2017-02-01
JP2015165694A (ja) 2015-09-17
BR122013020551A2 (pt) 2019-08-06
RU2604996C2 (ru) 2016-12-20
EP2645718A3 (en) 2014-04-09
RU2530252C1 (ru) 2014-10-10
EP2928194A2 (en) 2015-10-07
EP2928194A3 (en) 2016-01-13
CN102792697B (zh) 2016-11-02
US20130044815A1 (en) 2013-02-21
US8630351B2 (en) 2014-01-14
BR122015021366A2 (pt) 2018-09-25
CA2880256C (en) 2017-02-21
US20150071358A1 (en) 2015-03-12
US20120155542A1 (en) 2012-06-21
RU2013158843A (ru) 2015-07-10
RU2013158760A (ru) 2015-07-10
CN103220518B (zh) 2016-06-08
BR122015021367A2 (pt) 2019-08-27
MX2012008229A (es) 2012-08-17
US8867621B2 (en) 2014-10-21
AU2011205896A1 (en) 2012-08-30
JP5620555B2 (ja) 2014-11-05
SG192512A1 (en) 2013-08-30
EP2930933A3 (en) 2016-01-13
CA2880465C (en) 2015-07-21
CN104980735A (zh) 2015-10-14
JP2015165696A (ja) 2015-09-17
US20140126646A1 (en) 2014-05-08
US9106924B2 (en) 2015-08-11
CN104980735B (zh) 2018-11-02
EP2930933A2 (en) 2015-10-14
SG10201500920VA (en) 2015-04-29
ZA201304982B (en) 2013-09-25
ZA201205735B (en) 2016-01-27
CA2880472A1 (en) 2011-07-21
US8861608B2 (en) 2014-10-14
RU2013158853A (ru) 2015-07-10
US8295355B2 (en) 2012-10-23
EP2930929A3 (en) 2016-01-13
US9131237B2 (en) 2015-09-08
RU2604998C2 (ru) 2016-12-20
CN104469362A (zh) 2015-03-25

Similar Documents

Publication Publication Date Title
BR112012017408B1 (pt) Aparelho para codificar um vetor de movimento, e método para decodificar um vetor de movimento
ES2751973T3 (es) Procedimiento de decodificación de vectores de movimiento
BR122015013885B1 (pt) Aparelho para decodificar uma imagem
JP2016154395A (ja) 以前ブロックの動きベクトルを現在ブロックの動きベクトルとして用いる映像符号化/復号化方法及び装置
JP2013517733A (ja) 以前ブロックの動きベクトルを現在ブロックの動きベクトルとして用いる映像符号化/復号化方法及び装置

Legal Events

Date Code Title Description
B06F Objections, documents and/or translations needed after an examination request according [chapter 6.6 patent gazette]
B15K Others concerning applications: alteration of classification

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

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

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

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