BR122015021366A2 - método de decodificar uma imagem - Google Patents

método de decodificar uma imagem Download PDF

Info

Publication number
BR122015021366A2
BR122015021366A2 BR122015021366A BR122015021366A BR122015021366A2 BR 122015021366 A2 BR122015021366 A2 BR 122015021366A2 BR 122015021366 A BR122015021366 A BR 122015021366A BR 122015021366 A BR122015021366 A BR 122015021366A BR 122015021366 A2 BR122015021366 A2 BR 122015021366A2
Authority
BR
Brazil
Prior art keywords
motion vector
current block
mode
image
predictor
Prior art date
Application number
BR122015021366A
Other languages
English (en)
Inventor
Min Jung-Hye
Lee Tammy
Han Woo-Jin
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
Publication of BR122015021366A2 publication Critical patent/BR122015021366A2/pt

Links

Classifications

    • 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
    • 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/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
    • 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

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)

Description

(54) Título: MÉTODO DE DECODIFICAR UMA IMAGEM (51) Int. Cl.: H04N 7/00 (30) Prioridade Unionista: 14/01/2010 KR 102010-0003554 (73) Titular(es): SAMSUNG ELECTRONICS CO., LTD.
(72) Inventor(es): TAMMY LEE; WOO-JIN HAN; JUNG-HYE MIN (85) Data do Início da Fase Nacional:
02/09/2015
Figure BR122015021366A2_D0001
1/65
MÉTODO PARA DECODIFICAR UMA IMAGEM
Dividido do Pedido n° BR 11 2012 017408-8 de 14.01.2011
Campo Técnico
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
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
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
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.
2/65
Breve Descrição dos Desenhos
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
3/65 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 explicito, 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
4/65 de realização exemplar.
Melhor Modo para Realizar o Invento
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.
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.
5/65
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.
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. movimento pode
Pelo menos um preditor do vetor de
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.
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.
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.
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.
Informações, indicando se o bloco co-localizado com
6/65 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.
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.
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:
Ί/65 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.
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
8/65
* 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.
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.
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 pred.i tor 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
9/65 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
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.
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.
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
10/65 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.
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 .
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.
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
11/65 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).
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.
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.
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
12/65 determinada de maneira diferente para cada quadro ou fatia, ou para cada unidade de codificação máxima.
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.
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 frequê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.
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
13/65 unidade de codificação.
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 χ 2N, 2N χ N, N χ 2N, e N χ 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.
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 χ 2N e N * 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 χ 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.
Alternativamente, o aparelho de codificação de imagens 100 pode realizar transformação de frequê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
14/65 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).
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.
O codificador das informações de codificação 140 codifica informações sobre um modo unidade de codificação máxima, 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 da determinadas pelo
15/65 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 subunidade 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.
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.
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.
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 2W χ 2N, o tamanho de uma unidade de codificação de uma (k + l)a profundidade é N χ N.
Por conseguinte, o aparelho de codificação de
16/65 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 efícíentemente codificadas.
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. 0 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.
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.
A unidade de aquisição de dados de imagem 210 adquire dados de imagem, de acordo com unidades de
17/65 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.
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 subunidades 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.
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.
As informações sobre um modo de codificação podem
18/65 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.
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.
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.
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.
A FIG. 3 ilustra unidades hierárquicas de codificação, de acordo com uma forma de realização exemplar.
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 χ 64, 32 x 32, 16 χ 16, 8 χ 8
19/65 e 4 χ 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 χ 64, 32 χ 16, 16 χ 32, 16 * 8, 8 * 16, 8 χ 4, e 4 χ 8, também podem existir.
Referindo-se à Fig. 3, para o conjunto de dados de imagem 310, cuja resolução é 1920 χ 1080, o tamanho de uma unidade de codificação máxima é definido como 64 χ 64, e uma profundidade máxima é definida como 2.
Para o conjunto de dados de imagem 320, cuja resolução é 1920 χ 1080, o tamanho de uma unidade de codificação máxima é definido como 64 χ 64, e uma profundidade máxima é definida como 3. Para o conjunto de dados de imagem 330, cuja resolução é 352 χ 288, o tamanho de uma unidade de codificação máxima é definido como 16 χ 16, e uma profundidade máxima é definida como 1.
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, de compressão e refletir 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 χ 64 pode ser selecionado como o tamanho de uma unidade de codificação máxima.
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 para aumentar características
ser definido
uma taxa i
de imagem
os conj untos
20/65 codificação, cujos tamanhos de eixo maior são 32 e 16, de acordo com um aumento de uma profundidade.
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.
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 subunidades 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.
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. 0 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.
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
21/65 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.
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.
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.
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
22/65 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.
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. 0 decodif icador 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.
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
23/65 uma unidade de desbloqueio 570 e uma unidade de filtragem de circuito 580. 0 analisador 510, o decodificador de entropia 520, o quantizador inverso 530, o transformador inverso 540, o preditor íntra 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 .
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.
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.
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.
24/65 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.
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.
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 χ 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 χ 16 e a profundidade é de 2, uma terceira sub-unidade de codificação 640, cuja dimensão é de 8 χ 8 e profundidade é de 3, e uma unidade de
25/65 codificação mínima 650, cujo tamanho é de 4 χ 4 e profundidade é de 4. A unidade de codificação mínima 650, cujo tamanho é de 4 χ 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.
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 χ 32, uma unidade de predição 614, cuja dimensão é de 32 χ 64, ou uma unidade de predição 616, cuja dimensão é de 32 χ 32, que tem um tamanho menor do que aquele da unidade de codificação máxima, cujo tamanho é de 64 χ 64.
Uma unidade de predição da primeira sub-unidade de codificação 620, cuja profundidade é de 1 e tamanho é de 32 χ 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 χ 16, uma unidade de predição 624, cuja dimensão é de 16 χ 32, ou uma unidade de predição 626, cuja dimensão é de 16 χ 16, que tem um tamanho menor do que aquele da primeira unidade de codificação 620, sub cujo tamanho é de 32 χ 32.
Uma unidade de predição da segunda unidade de codificação 630, cuja profundidade é de 2 e tamanho é de 16
26/65 χ 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 χ 8, uma unidade de predição 634 , cuja dimensão é de 8 * 16, ou uma unidade de predição 636, cuja dimensão é de 8 * 8, que tem um tamanho menor do que aquele da segunda unidade de codificação 630, cujo tamanho é de 16 x 16.
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 χ 8, ou uma unidade de predição 646, cujo tamanho é de 4 χ 4, que tem um tamanho menor do aquele da terceira sub-unidade de codificação 640, cujo tamanho é de 8 x 8.
A unidade de codificação mínima 650, cuja profundidade é 4 e tamanho é 4 χ 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 χ 4, uma unidade de predição 652 tendo um tamanho de 4 χ 2, uma unidade de predição 654 tendo um tamanho de 2 χ 4, ou uma unidade de predição 656 tendo um tamanho de 2 χ 2.
A FIG. Ί ilustra uma unidade de codificação e uma unidade de transformação, de acordo com uma forma de realização exemplar.
aparelho de codificação de imagens 100 ilustrado
27/65 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 subunidades 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 χ 64, a transformação de frequência pode ser realizada, utilizando uma unidade de transformação 720 tendo o tamanho de 32 x 32.
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.
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.
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
28/65 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.
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.
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.
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.
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
29/65 menor do que uma sub-unidade de codificação correspondente.
Por exemplo, uma unidade de predição para uma subunidade 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 subunidade 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.
Além disso, as unidades de predição para subunidades de codificação
822, 832, e 848, cujas
ser menores do que as sub-
832, e 8 4 8, respectivamente.
.em 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.
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.
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.
Referindo à Fig. 8D, uma forma de divisão de uma
30/65 unidade de transformação 870 pode ser fixada de forma diferente da unidade de predição 860.
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 subunidade 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 subunidades 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.
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 subunidade de codificação 852, cuja profundidade é 2, for selecionada com uma forma, pela qual a largura da subunidade 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.
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.
O aparelho 900 para codificar um vetor de movimento
31/65 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.
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.
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.
Referindo-se à Fig. 9, a unidade de predição 910 determina se um vetor de movimento de um bloco tem sua
3)
32/65 predição codificada, com base em um modo explícito ou um modo implícito.
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
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. 0 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
33/65 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.
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.
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 aO mais à esquerda entre os blocos adjacentes a um lado superior do bloco atual, um bloco bO 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.
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 diferenciados, de acordo com 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.
Referindo-se à Fig. 8A, se um bloco atual for uma diferentes tamanhos profundidades. Assim,
34/65 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.
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 aO mais à esquerda entre os blocos adjacentes a um lado superior do bloco atual, mas também todos os blocos aO 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 bO na parte mais superior entre os blocos adjacentes a um lado esquerdo do mesmo, mas também todos os blocos bO a bn adjacentes ao lado esquerdo do mesmo, podem ser utilizados como preditores do vetor de movimento do bloco atual.
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 aO, mv bO, mv c) pode ser usado como um preditor
35/65 do vetor de movimento do bloco atual, em que mv_aO denota um vetor de movimento do bloco aO, mv_bO denota um vetor de movimento do bloco bO, e mv_c denota um vetor de movimento do bloco c.
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.
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.
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.
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 é
36/65 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.
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.
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
37/65 podem ser utilizados como preditores do vetor de movimento do bloco atual 1020.
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.
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.
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.
As Figs. 11A a 11C ilustram candidatos a preditor do vetor de movimento de um modo explicito, de acordo com
38/65 outra forma de realização exemplar.
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 bi-direcional é realizada, um vetor de movimento gerado com base em uma distância temporal pode ser um preditor do vetor de movimento.
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_LlA do bloco atual 1100 podem ser gerados, de acordo com as seguintes equações:
mv_L!A = (tl/t2) x mv_colA mvLOA - mvLlA-mv_colA onde mv_L0A denota um preditor do vetor de movimento do bloco atual 1100 para a imagem temporalmente anterior 1112, e mv_LlA denota um preditor do vetor de movimento do bloco atual 1100 para a imagem temporalmente seguinte 1114.
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
39/65 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_LlA. 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.
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 ListO, o vetor de movimento mv_colA do bloco 1120 numa posição co-localizada com o bloco atual 1100 deve estar numa direção Listl, de modo a que uma possibilidade de que a imagem atual 1110 possa existir entre a irr.agem 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.
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
40/65 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.
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:
Scale = (CurrPOC-CurrRefPOC)/ (ColPOC-ColRefPOC) mv_temporal = Scale*mv_colA onde ColPOC é uma POC da imagem temporalmente anterior 1112, na qual um bloco 1120 numa posição colocalizada 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 colocalizada com o bloco atual 1100, é incluído.
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 .
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,
41/65 candidatos a preditor do vetor de movimento mv_L0B e mv_LlB do bloco atual 1100 podem ser gerados, de acordo com as seguintes equações:
mv_L0B = (t3/t4) * mv_colB mv_LlB = mv_L0B-mv_coiB onde mv_L0B denota um preditor do vetor de movimento do bloco atual 1100 para a imagem temporalmente anterior 1112, e mv_LlB denota um preditor do vetor de movimento do bloco atual 1100 para a imagem temporalmente seguinte 1114.
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.
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 Listl, o vetor de movimento mv colB,do bloco 1130, numa posição co-localizada com o
42/65 bloco atual 1100, deve estar na direção ListO, 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.
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.
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:
Scale = (CurrPOC-CurrRefPOC)/ (ColPOC-ColRefPOC) mv_temporal = Scale*mv_colB onde ColPOC é uma POC da imagem temporalmente seguinte 1114, na qual um bloco 1130, numa posição colocalizada 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 colocalizada com o bloco atual 1100, é incluído.
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
43/65 distância temporal do bloco 1120 ou 1130 numa posição colocalizada 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 colocalizada. 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.
Por exemplo, quando o bloco 1120, numa posição colocalizada 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.
bloco 1120 numa posição co-localizada da imagem temporalmente anterior 1112 e o bloco 1130 numa posição colocalizada 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.
Para este fim, o aparelho 900 para codificar um
44/65 vetor de movimento pode codificar informações, para especificar qual dos blocos 1120 e 1130, numa posição colocalizada 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.
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.
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_co!C 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_L3C do bloco atual 1100 pode ser gerado, de acordo com a equação abaixo:
mv_L0C = (t6/t5) χ mv_colC.
Como acima descrito em associação com as Figs. 11 e 11B, mv LOC 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_L0C pode ser gerado.
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.
Em resumo, um conjunto C de candidatos a preditor
45/65 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_aO, mv_bO, mv_c), mv_aO, mv_al . .., mv_aN, mv_bO, mv_bl, ... , Mv_bN, mv_c, mv_d, mv_e, mv_temporal}.
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_a', mv_b', mv_c', mv__temporal} .
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.
Além disso, mv_a' denota um primeiro vetor de movimento válido entre mv_aO, mv_al . .., mv_aN. Por exemplo, quando um bloco aO 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_aO do bloco aO não é válido e, assim, mv_a' = mv al, e se um vetor de movimento de um bloco al também não for válido, mv_a'= mv_a2.
Da mesma forma, mv_b' denota o primeiro vetor de movimento válido entre mv_bO, mv_bl . .., mv_bN, e mv_c’ denota o primeiro vetor de movimento válido entre mv_c, mv_d e mv_e.
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
46/65 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.
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.
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.
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_temporai}, 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_b1, mv_c'}, mv_a1, mv_temporal} , e
47/65 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.
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'.
Além disso, quando houver apenas um candidato a preditor do vetor de movimento, apesar do modo explicito, 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_aO, mv_bO, mv_c), mv_aO, mv_al ..., mv_aN, mv_bO, mv_bl, ... , Mv_bN, mv_c, mv_d, mv_e, mv_temporal} e se os blocos aO a aW, blocos bO 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
48/65 candidato a preditor do vetor de movimento dentre uma pluralidade de candidatos a preditor do vetor de movimento, apesar do modo explícito.
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
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.
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
49/65 precisam ser codificadas.
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.
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.
A FIG. 12A ilustra um método para gerar um preditor do vetor de movimento no modo explicito, de acordo com uma forma de realização exemplar.
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 por cálculo de uma soma das (SAD). Quando podem ser determinados diferenças absolutas correspondentes 1224 são determinados, os pixels um vetor de movimento mv template dos pixels adjacentes 1222 é gerado,
50/65 e o vetor de movimento mv_template pode ser usado como um preditor do vetor de movimento do bloco atual 1200.
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.
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.
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.
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 incervalo 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.
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
51/65 adjacentes ao bloco atual 1200 podem variar. Assim, isto será agora descrito em pormenores com referência à FIG. 12C.
A FIG. 12C ilustra um modelo utilizado para gerar preditores do vetor de movimento, de acordo com uma forma de realização exemplar.
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.
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 ' f-1 , como ilustrado nas Figs. 12A a 12C.
A FIG. 12D ilustra um modelo utilizado para gerar preditores do vetor de movimento, de acordo com outra forma de realização exemplar.
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
52/65 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.
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.
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_l', 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_l 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
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.
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
53/65 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.
Por exemplo, quando uma imagem igualmente dividida em m unidades de codificação possuindo o tamanho de 64 χ 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 χ 32, é codificada no modo explícito, o número de vezes de ocorrência de sobrecarga é 4m.
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.
Uma vez que o tamanho de urna 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
54/65
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.
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.
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.
De acordo com outra forma de realização exemplar, a unidade de predição 910 pode selecionar o modo explícito ou
55/65 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,
0 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.
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.
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
56/65 foi usado como preditor do vetor de movimento do bloco atual.
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 colocalizada 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.
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.
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.
57/65 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.
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.
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.
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.
Quando o preditor do vetor de movimento do bloco
58/65 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.
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 colocalizada 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.
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.
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,
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.
A unidade de predição 1330 gera um preditor do
59/65 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.
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.
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.
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.
A FIG. 14 é um fluxograma de um método para codificar um vetor de movimento, de acordo com uma forma de
60/65 realização exemplar.
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.
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.
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.
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
61/65 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.
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.
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.
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 colocalizada 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.
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
62/65 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.
modo implícito pode ser um modo, em que uni 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.
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.
A FIG. 15 é um fluxograma de um método para decodificar um vetor de movimento, de acordo com uma forma de realização exemplar.
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.
No caso do modo explícito, o aparelho para
63/65 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.
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 colocalizada 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.
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.
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.
Na operação 1520, o aparelho para decodificar o
64/65 vetor de movimento decodifica informações sobre um vetor de diferença. 0 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.
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.
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.
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.
Embora formas de realização exemplares tenham sido
65/65 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.
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.
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.
1/2 pelo menos codificadas,

Claims (5)

  1. - REIVINDICAÇÕES 1. MÉTODO DE DECODIFICAR UMA IMAGEM, caracterizado pelo fato do método compreender:
    obter informação de modo de predição de um bloco corrente a partir de um fluxo de bits;
    determinar um bloco co-localizado com o bloco corrente a partir de entre um primeiro bloco co-localizado com o bloco corrente em uma figura precedente temporariamente e um segundo 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 um preditor do vetor de movimento, são ou do segundo modo, em que informações, indicando 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 informações de codificação 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, 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 previamente codificada, são codificadas.
  2. 2. MÉTODO, de acordo com a reivindicação 1, caracterizado pelo fato da seleção do primeiro modo, ou do segundo modo, compreender a seleção do primeiro modo ou do segundo modo, baseado em uma profundidade, indicando um
    2/2 grau de diminuição, a partir de um tamanho de uma unidade de codificação máxima de uma imagem ou fatia atual, para um tamanho do bloco atual.
  3. 3. MÉTODO, de acordo com a reivindicação 1, caracterizado pelo fato da seleção do primeiro modo, ou do segundo modo, compreender a seleção do primeiro modo, ou do segundo modo, em uma unidade de uma imagem atual compreendendo o bloco atual, ou em uma unidade de uma fatia compreendendo o bloco atual.
  4. 4. MÉTODO, de acordo com a reivindicação 1, caracterizado pelo fato da seleção do primeiro modo, ou do segundo modo, compreender a seleção do primeiro modo, ou do segundo modo, com base em se o bloco atual é codificado num modo de avanço.
  5. 5. MÉTODO, de acordo com a reivindicação 1, caracterizado pelo fato de pelo menos um preditor do vetor de movimento compreender 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.
    1/13
BR122015021366A 2010-01-14 2011-01-14 método de decodificar uma imagem BR122015021366A2 (pt)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020100003554A KR101522850B1 (ko) 2010-01-14 2010-01-14 움직임 벡터를 부호화, 복호화하는 방법 및 장치
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

Publications (1)

Publication Number Publication Date
BR122015021366A2 true BR122015021366A2 (pt) 2018-09-25

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
BR122015021370-3A BR122015021370B1 (pt) 2010-01-14 2011-01-14 Aparelho para decodificação de vetor de movimento
BR122015021369-0A BR122015021369B1 (pt) 2010-01-14 2011-01-14 Aparelho para decodificar um vetor de movimento
BR122015021366A BR122015021366A2 (pt) 2010-01-14 2011-01-14 método de decodificar uma imagem
BR122013020551-9A BR122013020551B1 (pt) 2010-01-14 2011-01-14 Método para decodificar um vetor de movimento
BR122015021367A BR122015021367A2 (pt) 2010-01-14 2011-01-14 aparelho para decodificar uma imagem

Family Applications Before (3)

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
BR122015021370-3A BR122015021370B1 (pt) 2010-01-14 2011-01-14 Aparelho para decodificação de vetor de movimento
BR122015021369-0A BR122015021369B1 (pt) 2010-01-14 2011-01-14 Aparelho para decodificar um vetor de movimento

Family Applications After (2)

Application Number Title Priority Date Filing Date
BR122013020551-9A BR122013020551B1 (pt) 2010-01-14 2011-01-14 Método para decodificar um vetor de movimento
BR122015021367A BR122015021367A2 (pt) 2010-01-14 2011-01-14 aparelho para decodificar uma imagem

Country Status (14)

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

Families Citing this family (110)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2030562A3 (en) 2003-06-06 2009-03-25 The General Hospital Corporation Process and apparatus for a wavelength tuning source
CN103181753B (zh) 2003-10-27 2016-12-28 通用医疗公司 用于使用频域干涉测量法进行光学成像的方法和设备
EP1771755B1 (en) 2004-07-02 2016-09-21 The General Hospital Corporation Endoscopic imaging probe comprising dual clad fibre
EP2272421A1 (en) 2004-08-24 2011-01-12 The General Hospital Corporation Method and apparatus for imaging of vessel segments
CN104257348A (zh) 2006-01-19 2015-01-07 通用医疗公司 通过上皮内腔器官束扫描对上皮内腔器官进行光学成像的方法和系统
US8145018B2 (en) 2006-01-19 2012-03-27 The General Hospital Corporation Apparatus for obtaining information for a structure using spectrally-encoded endoscopy techniques and methods for producing one or more optical arrangements
JP5524487B2 (ja) 2006-02-01 2014-06-18 ザ ジェネラル ホスピタル コーポレイション コンフォーマルレーザ治療手順を用いてサンプルの少なくとも一部分に電磁放射を放射する方法及びシステム。
EP3143926B1 (en) 2006-02-08 2020-07-01 The General Hospital Corporation Methods, arrangements and systems for obtaining information associated with an anatomical sample using optical microscopy
EP2309221A1 (en) 2006-02-24 2011-04-13 The General Hospital Corporation Methods and systems for performing angle-resolved fourier-domain optical coherence tomography
WO2007133961A2 (en) 2006-05-10 2007-11-22 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
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
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
EP2309923B1 (en) 2008-07-14 2020-11-25 The General Hospital Corporation Apparatus and methods for color endoscopy
JP2012515576A (ja) 2009-01-20 2012-07-12 ザ ジェネラル ホスピタル コーポレイション 内視鏡生検装置、システム、及び方法
EP2453791B1 (en) 2009-07-14 2023-09-06 The General Hospital Corporation Apparatus for measuring flow and pressure within a vessel
KR101522850B1 (ko) 2010-01-14 2015-05-26 삼성전자주식회사 움직임 벡터를 부호화, 복호화하는 방법 및 장치
KR101495724B1 (ko) 2010-02-02 2015-02-25 삼성전자주식회사 계층적 데이터 단위의 스캔 순서에 기반한 비디오 부호화 방법과 그 장치, 및 비디오 복호화 방법과 그 장치
WO2011109835A2 (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
JP5649701B2 (ja) * 2010-04-08 2015-01-07 株式会社東芝 画像復号化方法、装置、及びプログラム
WO2011125211A1 (ja) 2010-04-08 2011-10-13 株式会社 東芝 画像符号化方法及び画像復号化方法
EP3285490B1 (en) * 2010-04-22 2021-03-10 HFI Innovation Inc. Motion prediction method
US9069130B2 (en) 2010-05-03 2015-06-30 The General Hospital Corporation Apparatus, method and system for generating optical radiation from biological gain media
US9510009B2 (en) 2010-05-20 2016-11-29 Thomson Licensing Methods and apparatus for adaptive motion vector candidate ordering for video encoding and decoding
EP2575597B1 (en) 2010-05-25 2022-05-04 The General Hospital Corporation Apparatus for providing optical imaging of structures and compositions
US9795301B2 (en) 2010-05-25 2017-10-24 The General Hospital Corporation Apparatus, systems, methods and computer-accessible medium for spectral analysis of optical coherence tomography images
JP6066901B2 (ja) 2010-06-03 2017-01-25 ザ ジェネラル ホスピタル コーポレイション 1つまたは複数の管腔器官内または管腔器官にある構造を撮像するための装置およびデバイスのための方法
KR101950419B1 (ko) 2010-11-24 2019-02-21 벨로스 미디어 인터내셔널 리미티드 움직임 벡터 산출 방법, 화상 부호화 방법, 화상 복호 방법, 움직임 벡터 산출 장치 및 화상 부호화 복호 장치
KR20120068743A (ko) 2010-12-17 2012-06-27 한국전자통신연구원 인터 예측 방법 및 그 장치
GB2487197B (en) * 2011-01-11 2015-06-17 Canon Kk Video encoding and decoding with improved error resilience
CN106851306B (zh) 2011-01-12 2020-08-04 太阳专利托管公司 动态图像解码方法和动态图像解码装置
CN107277542B (zh) * 2011-02-10 2019-12-10 太阳专利托管公司 动态图像解码方法、动态图像解码装置
JP6108309B2 (ja) * 2011-02-22 2017-04-05 サン パテント トラスト 動画像符号化方法、動画像符号化装置、動画像復号方法、および、動画像復号装置
MX2013009864A (es) 2011-03-03 2013-10-25 Panasonic Corp Metodo de codificacion de imagenes en movimiento, metodo de decodificacion de imagenes en movimiento, aparato de codificacion de imagenes en movimiento, aparato de decodificacion de imagenes en movimiento y aparato de codificacion y decodificacion de imagenes en movimiento.
GB2488815C (en) * 2011-03-09 2018-03-28 Canon Kk Video decoding
ES2900107T3 (es) * 2011-03-21 2022-03-15 Lg Electronics Inc Método para seleccionar un predictor de vector de movimiento
KR20140004209A (ko) * 2011-06-15 2014-01-10 미디어텍 인크. 3d 비디오 코딩에서의 텍스처 이미지 압축 방법 및 장치
JP2014523708A (ja) * 2011-07-01 2014-09-11 モトローラ モビリティ エルエルシー 動きベクトル予測設計の簡易化
EP3835718B1 (en) 2011-08-25 2023-07-26 The General Hospital Corporation Apparatus for providing micro-optical coherence tomography inside a respiratory system
CN107483925B (zh) 2011-09-09 2020-06-19 株式会社Kt 用于解码视频信号的方法
AU2016216719B2 (en) * 2011-09-09 2018-10-25 Kt Corporation Method for deriving a temporal predictive motion vector, and apparatus using the method
KR101391829B1 (ko) * 2011-09-09 2014-05-07 주식회사 케이티 시간적 후보 움직임 벡터 유도 방법 및 이러한 방법을 사용하는 장치
US9736489B2 (en) 2011-09-17 2017-08-15 Qualcomm Incorporated Motion vector determination for video coding
BR122021007881B1 (pt) 2011-10-28 2023-03-21 Samsung Electronics Co., Ltd Método de decodificação de vídeo, e método de codificação de vídeo
WO2013067440A1 (en) 2011-11-04 2013-05-10 General Instrument Corporation Motion vector scaling for non-uniform motion vector grid
US9503750B2 (en) * 2011-11-04 2016-11-22 Futurewei Technologies, Inc. Binarization of prediction residuals for lossless video coding
US9571833B2 (en) * 2011-11-04 2017-02-14 Nokia Technologies Oy Method for coding and an apparatus
US9020294B2 (en) * 2012-01-18 2015-04-28 Dolby Laboratories Licensing Corporation Spatiotemporal metrics for rate distortion optimization
US9591328B2 (en) 2012-01-20 2017-03-07 Sun Patent Trust Methods and apparatuses for encoding and decoding video using temporal motion vector prediction
EP2811743B1 (en) 2012-02-03 2021-03-03 Sun Patent Trust Image encoding method, image decoding method, image encoding device, image decoding device, and image encoding/decoding device
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
US9629528B2 (en) 2012-03-30 2017-04-25 The General Hospital Corporation Imaging system, method and distal attachment for multidirectional field of view endoscopy
CN104396244B (zh) * 2012-04-16 2019-08-09 诺基亚技术有限公司 用于视频编码和解码的装置、方法和计算机可读存储介质
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
US9485515B2 (en) 2013-08-23 2016-11-01 Google Inc. Video coding using reference motion vectors
US9503746B2 (en) 2012-10-08 2016-11-22 Google Inc. Determine reference motion vectors
JP6560126B2 (ja) 2013-01-28 2019-08-14 ザ ジェネラル ホスピタル コーポレイション 光周波数ドメインイメージングに重ね合わせされる拡散分光法を提供するための装置および方法
WO2014120791A1 (en) 2013-01-29 2014-08-07 The General Hospital Corporation Apparatus, systems and methods for providing information regarding the aortic valve
JP6378311B2 (ja) 2013-03-15 2018-08-22 ザ ジェネラル ホスピタル コーポレイション 物体を特徴付ける方法とシステム
WO2014186353A1 (en) 2013-05-13 2014-11-20 The General Hospital Corporation Detecting self-interefering fluorescence phase and amplitude
JP5571229B2 (ja) * 2013-06-03 2014-08-13 株式会社東芝 画像符号化方法及び画像復号化方法
WO2015009932A1 (en) 2013-07-19 2015-01-22 The General Hospital Corporation Imaging apparatus and method which utilizes multidirectional field of view endoscopy
EP3021735A4 (en) 2013-07-19 2017-04-19 The General Hospital Corporation Determining eye motion by imaging retina. with feedback
US9668652B2 (en) 2013-07-26 2017-06-06 The General Hospital Corporation System, apparatus and method for utilizing optical dispersion for fourier-domain optical coherence tomography
WO2015105870A1 (en) 2014-01-08 2015-07-16 The General Hospital Corporation Method and apparatus for microscopic imaging
JP2014131293A (ja) * 2014-01-23 2014-07-10 Toshiba Corp 画像符号化方法及び画像復号化方法
JP5571262B2 (ja) * 2014-01-23 2014-08-13 株式会社東芝 画像符号化方法及び画像復号化方法
JP2014131295A (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 晨星半导体股份有限公司 影像处理电路与方法
US10736494B2 (en) 2014-01-31 2020-08-11 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)
CN106716999B (zh) * 2014-06-20 2019-08-09 寰发股份有限公司 用于视频编码的调色板预测器信令的方法
ES2907287T3 (es) 2014-07-25 2022-04-22 Massachusetts Gen Hospital Aparato para imagenología y diagnóstico in vivo
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
CN114584764A (zh) * 2016-04-29 2022-06-03 英迪股份有限公司 解码和编码视频的方法以及传送比特流的方法
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 株式会社東芝 画像符号化方法及び画像復号化方法
CN118632013A (zh) * 2017-09-19 2024-09-10 三星电子株式会社 对运动信息进行编码和解码的方法以及设备
JP6367452B2 (ja) * 2017-11-13 2018-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
WO2019147067A1 (ko) * 2018-01-26 2019-08-01 한국전자통신연구원 시간적 움직임 정보를 이용하는 영상 부호화 및 영상 복호화를 위한 방법 및 장치
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 株式会社東芝 画像符号化方法及び画像復号化方法
KR20240055147A (ko) * 2018-10-10 2024-04-26 삼성전자주식회사 움직임 벡터 차분값을 이용한 비디오 부호화 및 복호화 방법, 및 움직임 정보의 부호화 및 복호화 장치
KR20210083353A (ko) * 2018-11-05 2021-07-06 인터디지털 브이씨 홀딩스 인코포레이티드 이웃 샘플 의존 파라메트릭 모델에 기초한 코딩 모드의 단순화
GB2580084B (en) * 2018-12-20 2022-12-28 Canon Kk Video coding and decoding
US10798380B1 (en) * 2019-03-18 2020-10-06 Amazon Technologies, Inc. Adaptive use of search modes based on neighboring blocks
US10694189B1 (en) * 2019-03-18 2020-06-23 Amazon Technologies, Inc. Adaptive use of search modes based on bandwidth availability
US11375243B2 (en) * 2019-07-17 2022-06-28 Tencent America LLC Method and apparatus for video coding
JP6961781B2 (ja) * 2019-10-21 2021-11-05 株式会社東芝 画像符号化方法及び画像復号化方法
JP6980889B2 (ja) * 2019-10-21 2021-12-15 株式会社東芝 画像符号化方法及び画像復号化方法
JP6795666B2 (ja) * 2019-10-21 2020-12-02 株式会社東芝 画像符号化方法及び画像復号化方法
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 Дворкович Александр Викторович Способ поиска векторов движения деталей в динамических изображениях
EP1449385B1 (en) 2001-11-21 2015-07-22 Google Technology Holdings LLC Macroblock level adaptive frame/field coding for digital video content
US6980596B2 (en) * 2001-11-27 2005-12-27 General Instrument Corporation Macroblock level adaptive frame/field coding for digital video content
ES2745058T3 (es) * 2002-04-19 2020-02-27 Panasonic Ip Corp America Método de cálculo de vectores de movimiento
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 北京工业大学 基于时空域相关性运动矢量预测的视频编码方法
BRPI0413988A (pt) * 2003-08-26 2006-11-07 Thomson Licensing método e aparelho para decodificar blocos intra-inter codificador hìbridos
KR100597397B1 (ko) * 2003-11-06 2006-07-07 삼성전자주식회사 고속 움직임추정 알고리즘을 갖는 동영상 코딩방법 및 장치
JP4591657B2 (ja) 2003-12-22 2010-12-01 キヤノン株式会社 動画像符号化装置及びその制御方法、プログラム
KR100800772B1 (ko) 2004-05-26 2008-02-01 마츠시타 덴끼 산교 가부시키가이샤 움직임 벡터 부호화 장치, 방법, 프로그램 및 매체
KR100907847B1 (ko) * 2004-07-20 2009-07-14 퀄컴 인코포레이티드 순간적 비디오 압축으로 이동 벡터 예측을 위한 방법 및장치
KR100786132B1 (ko) * 2004-11-01 2007-12-21 한국전자통신연구원 적응적으로 세분화된 gop 구조를 이용한 계층적b픽쳐-기반 동영상 부호화 및 복호화 방법
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
CN101848391B (zh) * 2005-09-26 2014-11-26 三菱电机株式会社 运动图像编码装置以及运动图像译码装置
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
CN101491096B (zh) * 2006-07-12 2012-05-30 Lg电子株式会社 信号处理方法及其装置
KR101382101B1 (ko) 2006-08-25 2014-04-07 톰슨 라이센싱 감소된 해상도의 파티셔닝을 위한 방법 및 장치
CN101573982B (zh) * 2006-11-03 2011-08-03 三星电子株式会社 利用运动矢量跟踪编码/解码图像的方法和装置
KR101356734B1 (ko) * 2007-01-03 2014-02-05 삼성전자주식회사 움직임 벡터 트랙킹을 이용한 영상의 부호화, 복호화 방법및 장치
US8275039B2 (en) 2006-11-07 2012-09-25 Samsung Electronics Co., Ltd. Method of and apparatus for video encoding and decoding based on motion estimation
KR101383540B1 (ko) 2007-01-03 2014-04-09 삼성전자주식회사 복수의 움직임 벡터 프리딕터들을 사용하여 움직임 벡터를추정하는 방법, 장치, 인코더, 디코더 및 복호화 방법
KR101365574B1 (ko) * 2007-01-29 2014-02-20 삼성전자주식회사 영상 부호화 방법 및 장치, 복호화 방법 및 장치
US8139875B2 (en) * 2007-06-28 2012-03-20 Mitsubishi Electric Corporation Image encoding device, image decoding device, image encoding method and image decoding method
CN101415122B (zh) * 2007-10-15 2011-11-16 华为技术有限公司 一种帧间预测编解码方法及装置
KR102139535B1 (ko) * 2007-10-16 2020-07-30 엘지전자 주식회사 비디오 신호 처리 방법 및 장치
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 삼성전자주식회사 영상의 부호화, 복호화 방법 및 장치
KR101691199B1 (ko) * 2008-04-11 2016-12-30 톰슨 라이센싱 비디오 부호화 및 복호화에서의 템플릿 매칭 예측을 위한 방법 및 장치
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 삼성전자주식회사 움직임 벡터를 부호화 및 복호화하는 방법 및 장치
WO2011034148A1 (ja) 2009-09-18 2011-03-24 シャープ株式会社 符号化装置、復号装置、動画像符号化装置、動画像復号装置、および符号化データ
US20120213288A1 (en) 2009-10-20 2012-08-23 Yoshihiro Kitaura Video encoding device, video decoding device, and data structure
KR101522850B1 (ko) 2010-01-14 2015-05-26 삼성전자주식회사 움직임 벡터를 부호화, 복호화하는 방법 및 장치
BR112014012006A2 (pt) * 2011-11-18 2017-05-30 Motorola Mobility Llc uma forma explícita para sinalizar uma imagem colocalizada para codificação de vídeo de alta eficiência (hevc)

Also Published As

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

Similar Documents

Publication Publication Date Title
BR122015021366A2 (pt) método de decodificar uma imagem
ES2751973T3 (es) Procedimiento de decodificación de vectores de movimiento
US20110176615A1 (en) Method and apparatus for encoding and decoding motion vector based on reduced motion vector predictor candidates
BR122015013885B1 (pt) Aparelho para decodificar uma imagem
BR112013017208B1 (pt) Método de codificação preditiva e dispositivo de codificação preditiva de vetor de movimento, e método de decodificação preditiva e dispositivo de decodificação preditivade vetor de movimento
JP2016154395A (ja) 以前ブロックの動きベクトルを現在ブロックの動きベクトルとして用いる映像符号化/復号化方法及び装置
BR112016014080B1 (pt) Método de codificação de múltiplas hipóteses direta de um bloco de imagem, método de decodificação de múltiplas hipóteses direta de um bloco de imagem, aparelho de codificação de duas hipóteses direta de um bloco de imagem, e aparelho de decodificação de duas hipóteses direta de um bloco de imagem
JP2013517733A (ja) 以前ブロックの動きベクトルを現在ブロックの動きベクトルとして用いる映像符号化/復号化方法及び装置

Legal Events

Date Code Title Description
B08F Application dismissed because of non-payment of annual fees [chapter 8.6 patent gazette]
B08H Application fees: decision cancelled [chapter 8.8 patent gazette]

Free format text: ANULADA A PUBLICACAO CODIGO 8.6 NA RPI NO 2480 DE 17/07/2018 POR TER SIDO INDEVIDA.

B03A Publication of a patent application or of a certificate of addition of invention [chapter 3.1 patent gazette]
B10A Cessation: cessation confirmed

Free format text: HOMOLOGADA A DESISTENCIA DO PEDIDO SOLICITADA ATRAVES DA PETICAO NO 020150016689 DE 29/10/2015.