BR112012025307B1 - Método de interpolar uma imagem, equipamento para interpolar uma imagem, e meio de gravação legível por computador - Google Patents

Método de interpolar uma imagem, equipamento para interpolar uma imagem, e meio de gravação legível por computador Download PDF

Info

Publication number
BR112012025307B1
BR112012025307B1 BR112012025307-7A BR112012025307A BR112012025307B1 BR 112012025307 B1 BR112012025307 B1 BR 112012025307B1 BR 112012025307 A BR112012025307 A BR 112012025307A BR 112012025307 B1 BR112012025307 B1 BR 112012025307B1
Authority
BR
Brazil
Prior art keywords
interpolation
filter
pixel
image
unit
Prior art date
Application number
BR112012025307-7A
Other languages
English (en)
Other versions
BR112012025307A2 (pt
Inventor
Elena Alshina
Alexander Alshin
Nikolay Shlyakhov
Byeong-Doo CHOI
Yoon-mi HONG
Woo-jin Han
Tammy Lee
Original Assignee
Samsung Electronics Co., Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Samsung Electronics Co., Ltd filed Critical Samsung Electronics Co., Ltd
Priority to BR122021004645-0A priority Critical patent/BR122021004645B1/pt
Priority to BR122021004646-8A priority patent/BR122021004646B1/pt
Priority to BR122021004637-9A priority patent/BR122021004637B1/pt
Priority to BR122021004640-9A priority patent/BR122021004640B1/pt
Publication of BR112012025307A2 publication Critical patent/BR112012025307A2/pt
Publication of BR112012025307B1 publication Critical patent/BR112012025307B1/pt

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/48Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using compressed domain processing techniques other than decoding, e.g. modification of transform coefficients, variable length coding [VLC] data or run-length data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/40Scaling of whole images or parts thereof, e.g. expanding or contracting
    • G06T3/4007Scaling of whole images or parts thereof, e.g. expanding or contracting based on interpolation, e.g. bilinear interpolation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/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/117Filters, e.g. for pre-processing or post-processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/17Function evaluation by approximation methods, e.g. inter- or extrapolation, smoothing, least mean square method
    • G06F17/175Function evaluation by approximation methods, e.g. inter- or extrapolation, smoothing, least mean square method of multidimensional data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/119Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/12Selection from among a plurality of transforms or standards, e.g. selection between discrete cosine transform [DCT] and sub-band transform or selection between H.263 and H.264
    • H04N19/122Selection of transform size, e.g. 8x8 or 2x4x8 DCT; Selection of sub-band transforms of varying structure or type
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • H04N19/14Coding unit complexity, e.g. amount of activity or edge presence estimation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/154Measured or subjectively estimated visual quality after decoding, e.g. measurement of distortion
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • 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/182Methods 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 a pixel
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • H04N19/517Processing of motion vectors by encoding
    • H04N19/52Processing of motion vectors by encoding by predictive encoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/523Motion estimation or motion compensation with sub-pixel accuracy
    • 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/59Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial sub-sampling or interpolation, e.g. alteration of picture size or resolution
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/80Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/80Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation
    • H04N19/82Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation involving filtering within a prediction loop
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
    • H04N19/86Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving reduction of coding artifacts, e.g. of blockiness
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/96Tree coding, e.g. quad-tree coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/01Conversion of standards, e.g. involving analogue television standards or digital television standards processed at pixel level
    • H04N7/0135Conversion of standards, e.g. involving analogue television standards or digital television standards processed at pixel level involving interpolation processes
    • H04N7/014Conversion of standards, e.g. involving analogue television standards or digital television standards processed at pixel level involving interpolation processes involving the use of motion vectors

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Computational Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Mathematical Physics (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Databases & Information Systems (AREA)
  • Algebra (AREA)
  • Discrete Mathematics (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Image Processing (AREA)
  • Television Systems (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)
  • Editing Of Facsimile Originals (AREA)

Abstract

método de interpolar uma imagem, equipamento para interpolar uma imagem, e meio de gravação legível por computador são providos um método e um equipamento para interpolar uma imagem. o método inclui selecionar um primeiro filtro dentre uma pluralidade de filtros diferentes, para interpolação entre valores de pixel de unidades de pixel de número inteiro, de acordo com um loca de interpolação; gerar ao menos um valor de pixel de ao menos uma unidade de pixel fracionária mediante interpolação entre os valores de pixel das unidades de pixel de número inteiro mediante uso do primeiro filtro selecionado.

Description

CAMPO TÉCNICO
Equipamentos e métodos consistentes com as modalidades exemplares se referem à interpolação de uma imagem, e mais especificamente, à interpolação entre valores de pixel de unidades de pixel de número inteiro.
FUNDAMENTOS DA TÉCNICA
Em um método de codificação e decodificação de imagem da técnica relacionada, uma imagem é dividida em uma pluralidade de macroblocos de modo a codificar uma imagem. Então, cada um dos vários macroblocos é codificado por predição mediante realização de predição inter ou de predição intra nos mesmos.
Predição inter é um método de compactar uma imagem mediante remoção de redundância temporal entre imagens. Um exemplo representativo de predição inter é a codificação de estimação de movimento. Na codificação de estimação de movimento, cada bloco de uma * imagem atual é predito mediante uso de pelo menos uma imagem de referência. Um bloco de referência que é o mais semelhante a um bloco atual é pesquisado em uma faixa de pesquisa predeterminada mediante uso de uma função de avaliação ■predeterminada.
O bloco atual é predito com base no bloco de referência, um bloco residual é obtido mediante subtração de um bloco predito, o qual é o resultado da predição, a partir do bloco atual, e então o bloco residual é codificado. Nesse caso, para predizer com exatidão o bloco atual, os subpixels que são menores do que as unidades de pixel de número inteiro são gerados mediante realização de interpolação em uma faixa de busca da imagem de referência, e predição inter é realizada com base nos subpixels.
REVELAÇÃO DA INVENÇÃO SOLUÇÃO PARA 0 PROBLEMA
Aspectos de uma ou mais modalidades exemplares proporcionam um método e equipamento para gerar valores de pixel de unidades de pixel fracionárias mediante interpolação de valores de pixel de unidades de pixel de número inteiro.
Aspectos de uma ou mais modalidades exemplares também proporcionam um meio de gravação legível por computador tendo gravado no mesmo um programa de computador para executar o método.
EFEITOS VANTAJOSOS DA INVENÇÃO
De acordo com o presente pedido, uma unidade de pixel fracionária pode ser gerada mais exatamente.
BREVE DESCRIÇÃO DOS DESENHOS
As características acima e outras se tornarão mais evidentes mediante descrição em detalhes de modalidades exemplares, com referência aos desenhos anexos, nos quais:
A Figura 1 é um diagrama de blocos de um equipamento para codificar uma imagem, de acordo com uma modalidade exemplar;
A Figura 2 é um diagrama de blocos de um equipamento para decodificar uma imagem, de acordo com uma modalidade exemplar;
A Figura 3 ilustra unidades de codificação hierárquicas de acordo com uma modalidade exemplar;
A Figura 4 é um diagrama de blocos de um codificador de imagem baseado em uma unidade de codificação, de acordo com uma modalidade exemplar;
A Figura 5 é um diagrama de blocos de um decodificador de imagem baseado em uma unidade de codificação, de acordo com uma modalidade exemplar;
A Figura 6 ilustra uma unidade de codificação máxima, uma subunidade de codificação, e uma unidade de predição, de acordo com uma modalidade exemplar;
A Figura 7 ilustra uma unidade de codificação e uma unidade de transformada, de acordo com uma modalidade exemplar;
As Figuras 8A a 8D ilustram formatos de divisão de uma unidade de codificação, de uma unidade de predição, e de uma unidade de transformação, de acordo com uma modalidade exemplar;
A Figura 9 é um diagrama de blocos de um equipamento de interpolação de imagem de acordo com uma modalidade exemplar;
A Figura 10 é um diagrama ilustrando um método de interpolação bidimensional (2D) realizado pelo equipamento de interpolação de imagem da Figura 9, de acordo com uma modalidade exemplar;
A Figura 11 é um diagrama ilustrando uma região de interpolação de acordo com uma modalidade exemplar;
A Figura 12 é um diagrama ilustrando um método de interpolação unidimensional (1D) de acordo com uma modalidade exemplar;
A Figura 13 é um diagrama ilustrando especificamente um método de interpolação 1D realizado pelo equipamento de interpolação de imagem da Figura 9, de acordo com uma modalidade exemplar;
A Figura 14 é um diagrama de blocos de um equipamento de interpolação de imagem de acordo com uma m modalidade exemplar;
A Figura 15 ilustra filtros de interpolação 2D de acordo com uma modalidade exemplar;
As Figuras 16A a 16F ilustram filtros de interpolação 1D de acordo com as modalidades exemplares;
As Figuras 17A a 17Y ilustram filtros de interpolação 1D otimizados de acordo com as modalidades exemplares;
As Figuras 18A e 18B ilustram métodos de interpolar valores de pixel em várias direções mediante uso de um filtro de interpolação 1D, de acordo com as modalidades exemplares;
A Figura 19A ilustra um método de interpolação 2D de acordo com uma modalidade exemplar;
A Figura 19B ilustra um método de interpolação 2D utilizando um filtro de interpolação 1D, de acordo com outra modalidade exemplar;
A Figura 19C ilustra um método de interpolação 2D utilizando um filtro de interpolação 1D, de acordo com outra modalidade exemplar;
A Figura 20 é um fluxograma ilustrando um método de interpolação de imagem de acordo com uma modalidade exemplar;
A Figura 21 é um fluxograma ilustrando um método de interpolação de imagem de acordo com outra modalidade exemplar;
A Figura 22 é um fluxograma ilustrando um método de interpolação de imagem de acordo com outra modalidade exemplar; e
As Figuras 23A a 23E ilustram métodos de realizar escalonamento e arredondamento em relação ao filtro de interpolação 1D, de acordo com modalidades exemplares.
MELHOR MODO PARA REALIZAÇÃO DA INVENÇÃO
De acordo com um aspecto de uma modalidade exemplar, é provido um método de interpolar uma imagem, o método incluindo: selecionar um primeiro filtro, entre uma pluralidade de filtros diferentes, para interpolação entre valores de pixel de unidades de pixel de número inteiro, de acordo com um local de interpolação; e gerar pelo menos um valor de pixel de pelo menos uma unidade de pixel fracionária mediante interpolação entre os valores de pixel das unidades de pixel de número inteiro mediante uso do primeiro filtro selecionado para interpolação entre os valores de pixel das unidades de pixel de número inteiro.
O método pode incluir ainda a seleção de um segundo filtro, dentre uma pluralidade de filtros diferentes, para interpolação entre pelo menos um valor de pixel da pelo menos uma unidade de pixel fracionária, de acordo com um local de interpolação; e interpolação entre o pelo menos um valor de pixel gerado da pelo menos uma unidade de pixel fracionária mediante uso do segundo filtro selecionado para interpolação entre o pelo menos um valor de pixel gerado da pelo menos uma unidade de pixel fracionária.
O primeiro filtro para interpolação entre os valores de pixel das unidades de pixel de número inteiro pode ser um filtro de dominio espacial para transformar os valores de pixel das unidades de pixel de número inteiro mediante uso de uma pluralidade de funções básicas tendo diferentes frequências, e transformação inversa de uma pluralidade de coeficientes, os quais são obtidos pela transformação dos valores de pixel das unidades de pixel de número inteiro, mediante uso da pluralidade de funções básicas, cujas fases são mudadas.
O segundo filtro para interpolação entre o pelo menos um valor de pixel gerado da pelo menos uma unidade de pixel fracionária pode ser um filtro de dominio espacial para transformar o pelo menos um valor de pixel gerado da pelo menos uma unidade de pixel fracionária mediante uso de uma pluralidade de funções básicas tendo diferentes frequências, e transformação inversa de uma pluralidade de coeficientes, os quais são obtidos por intermédio da transformação do pelo menos um valor de pixel gerado da pelo menos uma unidade de pixel fracionária, mediante uso da pluralidade de funções básicas, cujas fases são mudadas.
De acordo com um aspecto de outra modalidade exemplar, é provido um equipamento para interpolar uma imagem, o equipamento incluindo: um seletor de filtro que seleciona um primeiro filtro, dentre uma pluralidade de filtros diferentes, para interpolação entre valores de pixel de unidades de pixel de número inteiro, de acordo com um local de interpolação; e um interpolador que gera pelo menos um valor de pixel da pelo menos uma unidade de pixel fracionária mediante interpolação entre os valores de pixel das unidades de pixel de número inteiro mediante uso do primeiro filtro selecionado para interpolação entre os valores de pixel das unidades de pixel de número inteiro.
O seletor de filtro pode selecionar um Segundo filtro, dentre uma pluralidade de filtros diferentes, para interpolação entre o pelo menos um valor de pixel da pelo menos uma unidade de pixel fracionária, de acordo com um local de interpolação, e o interpolador pode interpolar entre o pelo menos um valor de pixel gerado da pelo menos uma unidade de pixel fracionária mediante uso do segundo filtro selecionado para interpolação entre o pelo menos um valor de pixel gerado da pelo menos uma unidade de pixel fracionária.
De acordo com um aspecto de outra modalidade exemplar, é provido um meio de gravação legível por computador tendo incorporado no mesmo um programa de computador para executar o método descrito acima.
De acordo com um aspecto de outra modalidade exemplar, é provido um método de interpolar uma imagem, o método incluindo: transformar valores de pixel em um domínio espacial mediante uso de uma pluralidade de funções básicas tendo frequências diferentes; mudar as fases das várias funções básicas; e transformação inversa de uma pluralidade de coeficientes, obtida por intermédio da transformação dos valores de pixel, mediante uso da pluralidade de funções básicas de fase mudada.
MODO PARA A INVENÇÃO
Em seguida, uma ou mais modalidades exemplares serão descritas mais completamente com referência aos desenhos anexos. Expressões tais como "ao menos um de", quando precedendo uma lista de elementos, modificam a lista inteira de elementos e não modificam os elementos individuais da lista. No presente relatório descritivo, uma "imagem" pode denotar uma imagem estática para um video ou uma imagem em movimento, isto é, o próprio video.
A Figura 1 é um diagrama de blocos de um equipamento 100 para codificar uma imagem, de acordo com uma modalidade exemplar. Com referência à Figura 1, o equipamento 100 para codificar uma imagem inclui um divisor de unidade de codificação máxima 110, um determinador de profundidade de codificação 120, um codificador de dados de imagem 130, e um codificador de informação de codificação 140.
O divisor de 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 de 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 modalidade exemplar, uma unidade de codificação pode ser representada utilizando-se uma unidade de codificação máxima e uma profundidade. Conforme descrito acima, a unidade de codificação máxima indica uma unidade de codificação que tem 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. À medida que uma profundidade aumenta, a unidade de codificação pode diminuir a partir de uma unidade de codificação máxima para uma unidade de codificação minima, em que uma profundidade da unidade de codificação máxima é definida como uma profundidade minima; e uma profundidade da unidade de codificação minima é definida como uma profundidade máxima. Como o tamanho de uma unidade de codificação diminui a partir de uma unidade de codificação máxima à medida que aumenta a profundidade, uma subunidade de codificação de uma profundidade de ordem k pode incluir uma pluralidade de unidades de codificação de uma profundidade de ordem (k+n) (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 unidade de codificação maior pode causar uma relação de compactação de imagem superior. Contudo, se uma unidade de codificação maior for fixada, uma imagem pode não ser eficientemente codificada por refletir características de imagem que mudam continuamente.
Por exemplo, quando uma área suave tal como o mar ou o céu é codificada, quanto maior for a unidade de codificação, mais pode aumentar uma relação de compactação. Contudo, quando uma área complexa tal como pessoas ou edifícios é codificada, quanto menor for uma unidade de codificação, mais pode aumentar uma relação de compactação.
Consequentemente, em uma modalidade exemplar, uma unidade de codificação de imagem máxima diferente e uma profundidade máxima diferente são estabelecidas para cada quadro ou fatia. Como uma profundidade máxima denota o número máximo de vezes através do qual uma unidade de codificação pode diminuir, o tamanho de cada unidade de codificação máxima incluida em uma unidade de codificação de imagem máxima pode ser estabelecida de forma variável de acordo com uma profundidade máxima. A profundidade máxima pode ser determinada de forma diferente para cada quadro ou fatia ou para cada unidade de codificação máxima.
O determinador de profundidade de codificação 120 determina um formato de divisão da unidade de codificação máxima. O formato de divisão pode ser determinado com base no cálculo de custos de distorção de taxa (RD) . O formato de divisão determinado da unidade de codificação máxima é provido ao codificador de informação de codificação 140, e os dados de imagem de acordo com as unidades de codificação máxima são providos ao codificador de dados de imagem 130.
Uma unidade de codificação máxima pode ser dividida em subunidades de codificação tendo diferentes tamanhos de acordo com diferentes profundidades, e as subunidades de codificação tendo tamanhos diferentes, as quais são incluidas na unidade de codificação máxima, podem ser preditas ou transformadas em frequência com base nas unidades de processamento tendo diferentes tamanhos. Em outras palavras, o equipamento 100 pode realizar uma pluralidade de operações de processamento para codificação de imagem com base nas unidades de processamento tendo diversos tamanhos e diversos formatos. Para codificar os dados de imagem, operações de processamento tal como predição, transformada, e codificação de entropia são realizadas, em que as unidades de processamento tendo o mesmo tamanho ou tamanhos diferentes podem ser usadas para as operações de processamento, respectivamente.
Por exemplo, o equipamento 100 pode selecionar uma unidade de processamento que é diferente de uma unidade de codificação para predizer a unidade de codificação.
Quando o tamanho de uma unidade de codificação é 2Nx2N (onde N é um número inteiro positivo), as unidades de processamento para predição podem ser 2Nx2N, 2NxN, Nx2N, e NxN. Em outras palavras, a predição de movimento pode ser realizada com base em uma unidade de processamento tendo um formato pelo que ao menos uma de altura e largura de uma unidade de codificação é igualmente dividida por dois. Em seguida, uma unidade de processamento que é a base de predição, é definida como uma 'unidade de predição'.
Um modo de predição pode ser ao menos um de um modo intra, um modo inter, e um modo de salto, e um modo de predição especifico pode ser realizado apenas para uma unidade de predição tendo um tamanho especifico ou um formato especifico. Por exemplo, o modo intra pode ser realizado apenas para as unidades de predição tendo os tamanhos de 2Nx2N e NxN que tem o formato de um quadrado. Adicionalmente, o modo de salto pode ser realizado apenas para uma unidade de predição tendo o tamanho de 2Nx2N. Se uma existirem várias unidades de predição em uma unidade de codificação, o modo de predição com menos erros de codificação podem ser selecionados após a realização da predição para cada unidade de predição.
Alternativamente, o equipamento 100 pode realizar uma transformada de frequência nos dados de imagem, com base em uma unidade de processamento que tem um tamanho diferente, a partir de uma unidade de codificação. Para a transformada de frequência na unidade de codificação, a transformada de frequência pode ser realizada com base em uma unidade de processamento tendo um tamanho igual ou menor do que aquele da unidade de codificação. Em seguida, uma unidade de processamento, a qual é a base da transformada de frequência, é definida como uma 'unidade de transformada'. A transformada de frequência pode ser transformada discreta de cosseno (DCT) ou transformada de Karhunen Loeve (KLT) ou qualquer outra transformada espacial de ponto fixo.
O determinador de profundidade de codificação 120 pode determinar as subunidades de codificação incluídas em uma unidade de codificação máxima utilizando otimização RD com base em um multiplicador Lagrangiano. Em outras palavras, o determinador de profundidade de codificação 120 pode determinar qual formato tem as várias subunidades de codificação divididas a partir da unidade de codificação máxima, em que as várias subunidades de codificação têm tamanhos diferentes de acordo com as profundidades das subunidades de codificação. O codificador de dados de imagem 130 produz um fluxo de bits mediante codificação da unidade de codificação máxima com base nos formatos de divisão determinados pelo determinador de profundidade de codificação 120.
O codificador de informação de codificação 140 codifica a informação sobre um modo de codificação da unidade de codificação máxima determinada pelo determinador de profundidade de codificação 120. Em outras palavras, o codificador de informação de codificação 140 produz um fluxo de bits mediante codificação de informação sobre um formato de divisão da unidade de codificação máxima, informação sobre a profundidade máxima, e informação sobre um modo de codificação de uma subunidade de codificação para cada profundidade. A informação sobre o modo de codificação da subunidade de codificação pode incluir informação sobre uma unidade de predição da subunidade de codificação, informação sobre um modo de predição para cada unidade de predição, e informação sobre uma unidade de transformada da subunidade de codificação.
A informação sobre o formato de divisão da unidade de codificação máxima pode ser uma informação, por exemplo, de indicador, indicando se cada unidade de codificação é dividida. Por exemplo, quando a unidade de codificação máxima é dividida e codificada, informação indicando se a unidade de codificação máxima é dividida é codificada. Além disso, quando uma subunidade de codificação dividida a partir da unidade de codificação máxima é dividida e codificada, informação indicando se a subunidade de codificação é dividida é codificada.
Como as subunidades de codificação tendo diferentes tamanhos existem para cada unidade de codificação máxima e informação sobre um modo de codificação é determinada para cada subunidade de codificação, informação sobre ao menos um modo de codificação pode ser determinada para uma unidade de codificação máxima.
O equipamento 100 para codificar uma imagem pode gerar subunidades de codificação mediante divisão igual da altura e largura de uma unidade de codificação máxima por dois de acordo com um aumento de profundidade. Isto é, quando o tamanho de uma unidade de codificação de uma profundidade de ordem k é 2Nx2N, o tamanho de uma unidade de codificação de uma profundidade de ordem (k+1) é NxN.
Consequentemente, o equipamento 100 para codificar uma imagem pode determinar um formato de divisão ótima para cada unidade de codificação máxima com base nos tamanhos das unidades de codificação máxima e uma profundidade máxima em consideração das características de imagem. Mediante ajuste de forma variável do tamanho de uma unidade de codificação máxima considerando as características de imagem e codificando uma imagem através de divisão de uma unidade de codificação máxima em subunidades de codificação de diferentes profundidades, imagens tendo resoluções diversas podem ser codificadas eficientemente.
A Figura 2 é um diagrama de blocos de um equipamento 200 para decodificar uma imagem de acordo com uma modalidade exemplar. Com referência à Figura 2, o equipamento 200 para decodificar uma imagem inclui uma unidade de aquisição de dados de imagem 210, um extrator de informação de codificação 220, e um decodificador de dados de imagem 230.
A unidade de aquisição de dados de imagem 210 adquire dados de imagem de acordo com as unidades de codificação máxima mediante a análise de um fluxo de bits recebido pelo equipamento 200 e produz 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ção 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 imagem 210 divide o fluxo de bits na unidade de codificação máxima de modo que o decodif icador de dados de imagem 230 pode decodificar os dados de imagem de acordo com as unidades de codificação máxima.
O extrator de informação de codificação 220 extrai informação sobre uma unidade de codificação máxima, uma profundidade máxima, um formato de divisão da unidade de codificação máxima, um modo de codificação de subunidades de codificação a partir do cabeçalho do quadro atual mediante análise do fluxo de bits recebido pelo equipamento 200. A informação sobre um formato de divisão e a informação sobre um modo de codificação são providas ao decodificador de dados de imagem 230.
A informação sobre um formato de divisão da unidade de codificação máxima pode incluir informação sobre subunidades de codificação tendo diferentes tamanhos, de acordo com as profundidades; e incluídas na unidade de codificação máxima, e pode ser informação (por exemplo, informação de indicador) indicando se cada unidade de codificação é dividida. A informação sobre um modo de codificação pode incluir informação sobre uma unidade de predição de acordo com as subunidades de codificação, informação sobre um modo de predição, e informação sobre uma unidade de transformada.
O decodificador de dados de imagem 230 restaura o quadro atual mediante decodificação dos dados de imagem de cada unidade de codificação máxima com base na informação extraida pelo extrator de informação de codificação 220.
O decodificador de dados de imagem 230 pode decodificar as subunidades de codificação incluidas em uma unidade de codificação máxima com base na informação sobre um formato 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 transformada inversa.
O decodificador de dados de imagem 230 pode realizar predição intra ou predição inter, com base na informação sobre uma unidade de predição e informação sobre um modo de predição para predizer uma unidade de predição. O decodificador de dados de imagem 230 também pode realizar uma transformada inversa para cada subunidade de codificação com base na informação sobre uma unidade de transformada de uma subunidade de codificação.
A Figura 3 ilustra unidades de codificação hierárquicas de acordo com uma modalidade exemplar. Com referência à Figura 3, as unidades de codificação hierárquicas podem incluir unidades de codificação cujas larguras e alturas são 64x64, 32x32, 16x16, 8x8 e 4x4. Além dessas unidades de codificação tendo formatos quadrados perfeitos, também podem existir unidades de codificação cujas larguras e alturas são 64x32, 32x64, 32x16, 16x32, 16x8, 8x16, 8x4 e 4x8.
Com referência à Figura 3, para o conjunto de dados de imagem 310 cuja resolução é 1920x1080, o tamanho de uma unidade de codificação máxima é ajustado para 64x64, e uma profundidade máxima é ajustada para 2.
Para os dados de imagem 320 cuja resolução é de 1920x1080, o tamanho da unidade de codificação máxima é ajustado para 64x64, e uma profundidade máxima é ajustada para 3. Para o conjunto de dados de imagem 330 cuja resolução é 352x288, o tamanho de uma unidade de codificação máxima é ajustado para 16x16, e uma profundidade máxima é ajustada para 1.
Quando a resolução é alta ou a quantidade de dados é grande, um tamanho máximo de uma unidade de codificação pode ser ajustado relativamente grande para aumentar uma proporção de compactação e refletir com mais precisão às características da imagem. Consequentemente, para os conjuntos de dados de imagem 310 e 320 tendo resolução superior do que o conjunto de dados de imagem 330, 64x64 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 de codificação hierárquicas. Como 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 mais longo é 64 e subunidades de codificação cujos tamanhos de eixo mais longos são 32 e 16, de acordo com um aumento de uma profundidade.
Por outro lado, como 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 mais longo é 16 e unidades de codificação cujos tamanhos de eixo mais longo é 8, de acordo com um aumento de uma profundidade.
Contudo, como 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 mais longo é 64 e subunidades de codificação cujos tamanhos de eixo mais longo são 32, 16, 8 e 4 de acordo com um aumento de uma profundidade. Como uma imagem é codificada com base em uma subunidade de codificação menor à medida que aumenta uma profundidade, modalidades exemplares são adequadas para codificar uma imagem incluindo cenas mais minúsculas.
A Figura 4 é um diagrama de blocos de um codificador de imagem 400 com base em uma unidade de codificação, de acordo com uma modalidade exemplar. Uma unidade de predição intra 410 realiza predição intra nas unidades de predição do modo intra em um quadro atual 405, e um estimador de movimento 420 e um compensador de movimento 425 realizam predição inter e compensação de movimento nas unidades de predição do modo inter utilizando o quadro atual 405 e um quadro de referência 495.
Valores residuais são gerados com base nas unidades de predição produzidas a partir da unidade de predição intra 410, estimador de movimento 420, e compensador de movimento 425. Os valores residuais gerados são produzidos como coeficientes de transformada, quantizados mediante passagem através de um transformador 430 e de um quantizador 440.
Os coeficientes de transformada quantizados são restaurados para valores residuais mediante passagem através de um quantizador inverso 460 e de um transformador de inversão 470, e os valores residuais restaurados são pós-processados mediante passagem através de uma unidade de desblocagem 480 e uma unidade de filtração de rede 490 e emitidos como o quadro de referência 495. Os coeficientes de transformada quantizados podem ser emitidos como um fluxo de bits 455 mediante passagem através de um codificador de entropia 450.
Para realizar a codificação com base em um método de codificação de acordo com uma modalidade exemplar, a unidade de intrapredição 410, o estimador de movimento 420, o compensador de movimento 425, o transformador 430, o quantizador 440, o codificador de entropia 450, o quantizador inverso 460, o transformador de inversão 470, a unidade de desblocagem 480, e a unidade de filtração de rede 490 do codificador de imagem 400 realizam processos de codificação de imagem com base em uma unidade de codificação máxima, uma subunidade de codificação de acordo com as profundidades, uma unidade de predição, e uma unidade de transformada.
A Figura 5 é um diagrama de blocos de um decodif icador de imagem 500 com base em uma unidade de codificação, de acordo com uma modalidade exemplar. Com referência à figura 5 um fluxo de bits 505 é analisado por um analisador 510 para obter os dados codificados de imagem a ser decodificados e informação de codificação necessária para a decodificação. Os dados codificados de imagem são produzidos como dados quantizados inversos mediante passagem através de um decodificador de entropia 520 e de um quantizador inverso 530, e restaurados para valores residuais mediante passagem através de um transformador de inversão 540. Os valores residuais são restaurados de acordo com as unidades de codificação por serem adicionados a um resultado de predição intra de uma unidade de predição intra 550 ou um resultado de compensação de movimento de um compensador de movimento 560. As unidades de codificação restauradas são usadas para predição das próximas unidades de codificação ou de um próximo quadro mediante passagem através de uma unidade de desblocagem 570 e uma unidade de filtração de rede 580.
Para realizar a decodificação com base em um método de decodificação de acordo com uma modalidade exemplar, o analisador 510, o decodificador de entropia 520, o quantizador inverso 530, o transformador de inversão 540, a unidade de predição intra 550, o compensador de movimento 560, a unidade de desblocagem 570, e a unidade de filtração de malha 580 podem realizar processos de decodificação de imagem com base em uma unidade de codificação máxima, subunidades de codificação de acordo com as profundidades, uma unidade de predição e uma unidade de transformada.
Particularmente, a unidade de predição 550 e o compensador de movimento 560 determinam uma unidade de predição e um modo de predição em uma subunidade de codificação mediante consideração de uma unidade de codificação máxima e uma profundidade, e o transformador de inversão 540 realiza uma transformada inversa mediante consideração do tamanho de uma unidade de transformada.
A Figura 6 ilustra uma unidade de codificação máxima, uma subunidade de codificação, e uma unidade de predição, de acordo com uma modalidade exemplar. O equipamento 100 para codificar uma imagem, ilustrado na Figura 1, e o equipamento 200 para decodificar uma imagem, ilustrado na Figura 2, utilizam unidades de codificação hierárquicas para realizar a codificação e decodificação em consideração das características de imagem. Uma unidade de codificação máxima e uma profundidade máxima podem ser ajustadas de forma adaptativa de acordo com as características de imagem ou ajustadas de forma diversa de acordo com as exigências de um usuário.
Na Figura 6, uma estrutura de unidade de codificação hierárquica 600 tem uma unidade de codificação 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 de unidade de codificação hierárquica 600, e à medida que aumenta uma profundidade, diminuem as alturas e as larguras das subunidades de codificação 620 a 650. As unidades de predição da unidade de codificação máxima 610 e as subunidades de codificação 620 a 650 são mostradas ao longo de um eixo horizontal da estrutura de unidade de codificação hierárquica 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 64x64. Uma profundidade aumenta ao longo do eixo vertical, e existe uma primeira subunidade de codificação 620 cujo tamanho é de 32x32 e a profundidade é 1, uma segunda subunidade de codificação 630 cujo tamanho é 16x16 e a profundidade é 2, uma terceira subunidade de codificação 640 cujo tamanho é 8x8 e a profundidade é 3, e uma unidade de codificação mínima 650 cujo tamanho é de 4x4 e a profundidade é 4. A unidade de codificação mínima 650 cujo tamanho é de 4x4 e a profundidade é 4 é uma unidade de codificação mínima, e a unidade de codificação mínima pode ser dividida em unidades de predição, cada uma das quais é menor do que a unidade de codificação mínima.
Com referência à Figura 6, exemplos de unidades de predição são mostrados 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 de 64x64 da unidade de codificação máxima, ou uma unidade de predição 612 cujo tamanho é de 64x32, uma unidade de predição 614 cujo tamanho é de 32x64, ou uma unidade de predição 616 cujo tamanho é de 32x32, o qual tem um tamanho menor do que aquele da unidade de codificação máxima cujo tamanho é de 64x64.
Uma unidade de predição da primeira subunidade de codificação 620 cuja profundidade é 1 e o tamanho de 32x32 pode ser uma unidade de predição cujo tamanho é igual ao tamanho de 32x32 da primeira subunidade de codificação, ou uma unidade de predição de predição 622 cujo tamanho é de 32x16, uma unidade de predição 624 cujo tamanho é de 16x32, ou uma unidade de predição 626 cujo tamanho é de 16x16, o qual tem um tamanho menor do que aquele da primeira subunidade de codificação 620 cujo tamanho é de 32x32.
Uma unidade de predição da segunda subunidade de codificação 630 cuja profundidade é 2 e o tamanho é de 16x16 pode ser uma unidade de predição cujo tamanho é igual ao tamanho de 16x16 da segunda subunidade de codificação 630, ou uma unidade de predição 632 cujo tamanho é de 16x8, uma unidade de predição 634 cujo tamanho é de 8x16, ou uma unidade de predição 636 cujo tamanho é de 8x8, a qual tem um tamanho menor do que aquele da segunda subunidade de codificação 630 cujo tamanho é de 16x16.
Uma unidade de predição da terceira subunidade de codificação 640 cuja profundidade é 3 e o tamanho é de 8x8 pode ser uma unidade de predição cujo tamanho é igual ao tamanho de 8x8 da terceira subunidade de codificação 640 ou uma unidade de predição 642 cujo tamanho é de 8x4, uma unidade de predição 644 cujo tamanho é de 4x8, ou uma unidade de predição64 6 cujo tamanho é de 4x4, que tem um tamanho menor do que aquele da terceira subunidade de codificação 640 cujo tamanho é de 8x8.
Por último, a unidade de codificação minima 650, cuja profundidade é 4, e cujo tamanho é de 4x4 é uma unidade de codificação minima e uma unidade de codificação de uma profundidade máxima. Uma unidade de predição da unidade de codificação minima 650 pode ser uma unidade de predição 650 cujo tamanho é de 4x4, uma unidade de predição 652 tendo um tamanho de 4x2, uma unidade de predição 654 tendo um tamanho de 2x4, ou uma unidade de predição 656 tendo um tamanho de 2x2.
A Figura 7 ilustra uma unidade de codificação e uma unidade de transformada, de acordo com uma modalidade exemplar. O equipamento 100 para codificar uma imagem, ilustrado na Figura 1, e o equipamento 200 ilustrado na
Figura 2 realizam a codificação e decodificação com a própria unidade de codificação máxima ou com subunidades de codificação, as quais são iguais ou menores do que a unidade de codificação máxima, dividida a partir da unidade de codificação máxima. No processo de codificar e decodificar, o tamanho de uma unidade de transformada para transformada de frequência é selecionado para ser maior do que aquele de uma unidade de codificação correspondente. Por exemplo, com referência à figura 7, quando uma unidade de codificação atual 710 tem o tamanho de 64x64, a transformada de frequência pode ser realizada utilizando uma unidade de transformação 720 tendo tamanho de 32x32.
As Figuras 8A a 8D ilustram formatos de divisão de uma unidade de codificação, uma unidade de predição e uma unidade de transformada, de acordo com uma modalidade exemplar. Especificamente, as Figuras 8A e 8B ilustram uma unidade de codificação e uma unidade de predição, de acordo com uma modalidade exemplar.
A Figura 8A mostra um formato de divisão selecionado pelo equipamento 100 ilustrado na Figura 1, para codificar uma unidade de codificação máxima 810. O equipamento 100 divide a unidade de codificação máxima 810 em vários formatos, realizada codificação, e seleciona um formato de divisão ótimo mediante comparação dos resultados de codificação dos vários formatos de divisão entre si com base nos custos de RD. Quando for ótimo que a unidade de codificação máxima 810 seja codificada no estado em que se encontra, a unidade de codificação máxima 810 pode ser codificada sem dividir a unidade de codificação máxima 810, conforme ilustrado nas Figuras 8A a 8D.
Com referência à Figura 8B, a unidade de codificação máxima 810 cuja profundidade é 0 é codificada mediante divisão da mesma em subunidades de codificação cujas profundidades são iguais ou superiores a 1. Isto é, a unidade de codificação máxima 810 é dividida em quatro subunidades de codificação cujas profundidades são 1, e todas ou algumas das subunidades de codificação cujas profundidades são 1 são divididas em subunidades de codificação cujas profundidades são de 2.
Uma subunidade de codificação localizada em um lado direito superior e uma subunidade de codificação localizada em um lado esquerdo inferior dentre as subunidades de codificação cujas profundidades são 1 são divididas em subunidades de codificação cujas profundidades são iguais ou maiores do que 2. Algumas das subunidades de codificação cujas profundidades são iguais ou maiores do que 2 podem ser divididas em subunidades de codificação cujas profundidades são iguais ou maiores do que 3.
A Figura 8B mostra um formato de divisão de uma unidade de predição para a unidade de codificação máxima 810. Com referência à Figura 8B, uma unidade de predição 860 para a unidade de codificação máxima 810 pode ser dividida de forma diferente da unidade de codificação máxima 810. Em outras palavras, uma unidade de predição para cada uma das subunidades de codificação pode ser menor do que uma subunidade de codificação correspondente.
Por exemplo, uma unidade de predição para uma subunidade de codificação 854 localizada em um lado direito inferior dentre as subunidades de codificação cujas profundidades são de 1 pode ser menor do que a subunidade de codificação 854. Além disso, as unidades de predição para as subunidades de codificação 814, 816, 850 e 852 das subunidades de codificação 814, 816, 818, 828, 850 e 852 cujas profundidades são de 2 podem ser menores do que as subunidades de codificação 814, 816, 850 e 852, respectivamente.
Além disso, as unidades de predição para as subunidades de codificação 822, 832 e 848 cujas profundidades são 3 podem ser menores do que as subunidades de codificação 822, 832 e 848, respectivamente. As unidades de predição podem ter um formato pelo que subunidades de codificação respectivas são igualmente divididas por 2 em uma direção da altura ou largura e tem um formato de modo que subunidades de codificação respectivas são igualmente divididas por 4 nas direções de altura e largura.
As Figuras 8C e 8D ilustram uma unidade de predição e uma unidade de transformada, de acordo com uma modalidade exemplar.
A Figura 8C mostra um formato de divisão de uma unidade de predição para a unidade de codificação máxima 810 mostrada na Figura 8B, e a Figura 8D mostra um formato de divisão de uma unidade de transformada da unidade de codificação máxima 810.
Com referência à Figura 8D, um formato de divisão de uma unidade de transformação 870 pode ser ajustado diferentemente da unidade de predição 860.
Por exemplo, embora uma unidade de predição para a subunidade de codificação 854, cuja profundidade é de 1, seja selecionada com um formato pelo que a altura da subunidade de codificação 854 é igualmente dividida por 2, uma unidade de transformada pode ser selecionada com o tamanho original da subunidade de codificação 854. Similarmente, embora as unidades de predição para as subunidades de codificação 814 e 850 cujas profundidades são 2 sejam selecionadas com um formato, pelo que a altura de cada uma das subunidades de codificação, 814 e 850, é igualmente dividida por 2, uma unidade de transformada pode ser selecionada com o mesmo tamanho que o tamanho original de cada uma das subunidades de codificação 814 e 850.
Uma unidade de transformada pode ser selecionada com um tamanho menor do que uma unidade de predição. Por exemplo, quando uma unidade de predição para a subunidade de codificação 852 cuja profundidade é 2 é selecionada com um formato pelo que a largura da subunidade de codificação 852 é igualmente dividida por 2, uma unidade de transformada pode ser selecionada com um formato pelo que a subunidade de codificação 852 é igualmente dividida por 4 nas direções da altura e largura, a qual tem um tamanho menor do que o formato da unidade de predição.
A Figura 9 é um diagrama de blocos de um equipamento de interpolação de imagem 900 de acordo com uma modalidade exemplar. A interpolação de imagem pode ser usada para converter uma imagem tendo uma baixa resolução em uma imagem tendo uma alta resolução. Além disso, a interpolação de imagem pode ser usada para converter uma imagem entrelaçada em uma imagem progressiva ou pode ser usada para amostrar ascendentemente uma imagem tendo uma baixa resolução para uma resolução superior. Quando o codificador de imagem 400 da Figura 4 codifica uma imagem, o estimador de movimento 420 e o compensador de movimento 425 podem realizar predição inter, mediante uso de um quadro de referência interpolado. Isto é, com referência à Figura 4, uma imagem tendo uma alta resolução pode ser gerada mediante interpolação do quadro de referência 495, e estimação e compensação de movimentos podem ser realizadas com base na imagem que tenha alta resolução, desse modo aumentando a precisão de predição inter. Similarmente, quando o decodificador de imagem 500 da Figura 5 decodifica uma imagem, o compensador de movimento 550 pode realizar compensação de movimento mediante uso de um quadro de referência interpolado, desse modo aumentando a precisão de interpredição.
Com referência à Figura 9, o equipamento de interpolação de imagem 900 inclui um transformador 910 e um transformador de inversão 920.
O transformador 910 transforma os valores de pixel mediante uso de uma pluralidade de funções básicas que têm frequências diferentes. A transformada pode ser um de vários processos de transformação de valores de pixel em um domínio espacial em coeficientes de domínio de frequência, e podem ser, por exemplo, DCT como descrito acima. Valores de pixel de uma unidade de pixel de número inteiro são transformados utilizando a pluralidade de funções básicas. Os valores de pixel podem ser valores de pixel de componentes de luminância ou de componentes de croma. O tipo da pluralidade de funções básicas não é limitado, e pode ser um de vários tipos de funções para transformar valores de pixel em um domínio espacial em um valor(es) de domínio de frequência. Por exemplo, as várias funções básicas podem ser funções de cosseno para realizar DCT ou DCT inversa. Além disso, vários tipos de funções básicas; tais como funções básicas de seno ou funções básicas polinomiais, podem ser usadas. Exemplos de DCT podem incluir DCT modificada, e DCT modificada que utiliza j anelamento.
O transformador de inversão 920 muda as fases das várias funções básicas utilizadas para realizar transformada por intermédio do transformador 910, e transforma de modo inverso uma pluralidade de coeficientes, isto é, valores de dominio de frequência, os quais são gerados pelo transformador 910, mediante uso da pluralidade de funções básicas, cujas fases são mudadas. A transformada realizada pelo transformador 910 e a transformada inversa realizada pelo transformador de inversão 920 serão descritas mediante uso de DCT bidimensional (2D) e DCT unidimensional (1D). DCT 2D e DCT inversa 2D
A Figura 10 é um diagrama ilustrando um método de interpolação 2D realizado pelo equipamento de interpolação de imagem 900 da Figura 9, de acordo com uma modalidade exemplar. Com referência à Figura 10, o equipamento de interpolação de imagem 900 gera valores de pixel nos locais X, isto é, locais de interpolação, mediante interpolação entre os valores de pixel de unidades de pixel de número inteiro no dominio espacial, por exemplo, valores de pixel nos locais O em um bloco 1000. Os valores de pixel nos locais X são valores de pixel de unidades de pixel fracionárias, cujos locais de interpolação são determinados por ' ax' e 'ay'. Embora a Figura 10 ilustre um caso onde o bloco 1000 tem um tamanho de 4x4, o tamanho do bloco 1000 não é limitado a 4x4, e seria óbvio para aqueles de conhecimento comum na técnica que valores de pixel de unidades de pixel fracionárias podem ser gerados mediante realização de DCT 2D e DCT inversa 2D em um bloco que é menor ou maior do que o bloco 1000.
Em primeiro lugar, o transformador 910 realiza DCT 2D nos valores de pixel das unidades de pixel de número inteiro. DCT 2D pode ser realizada de acordo com a seguinte equação:
Figure img0001
em que "C" denota um bloco que inclui coeficientes de domínio de frequência obtidos mediante realização de DCT 2D, "REF" denota o bloco 1000 no qual a DCT é realizada, "D(x)" é uma matriz para realizar DCT na direção de eixo X, isto é, a direção horizontal, e "D(y)" denota uma matriz para realizar DCT na direção de eixo Y, isto é, a direção vertical. Aqui, "D(x)" e "D(y)" podem ser definidos pela seguinte equação (2):
Figure img0002
em que "k" e "1" denotam números inteiros individualmente satisfazendo à condição expressa na Equação (2), "Dxi(x)" denota uma fileira de ordem k e uma coluna de ordem 1 de uma matriz quadrada D(x) , e Sx denota os tamanhos horizontais e verticais da matriz quadrada D(x).
Figure img0003
em que "k" e "1" denotam números inteiros satisfazendo individualmente a condição expressa na Equação (3), Dxi(y) denota uma fileira de ordem k e uma coluna de ordem 1 de uma matriz quadrada D(y), e Sy denota os tamanhos horizontais e verticais da matriz quadrada D(y).
O transformador 910 realiza DCT 2D no bloco 1000 mediante cálculo da Equação (1), e o transformador inverso 910 realiza DCT inversa 2D nos coeficientes de dominio de frequência gerados pelo transformador 910 mediante cálculo da seguinte equação:
Figure img0004
em que "P" denota um bloco incluindo valores de pixel em um local de interpolação, isto é, o local X, os quais são obtidos mediante realização de DCT inversa. Em comparação com a Equação (1), a Equação (4) é obtida mediante multiplicação de ambos os lados do bloco C por "W(x)" e "W(y)", respectivamente, de modo a realizar DCT inversa no bloco C. Aqui, "W(x)" denota uma matriz para realizar DCT inversa na direção horizontal, e "W(y)" denota I realização de DCT inversa na direção vertical.
Conforme descrito acima, o transformador de inversão 910 utiliza várias funções básicas, cujas fases são mudadas, de modo a realizar DCT inversa 2D. "W(x)" e "W(y)" podem ser definidos pelas seguintes equações (5) e (6)
Figure img0005
em que "1" e "k" denotam números inteiros satisfazendo individualmente a condição expressa na Equação (5), "Wik(x)" denota uma fileira de ordem 1 e uma coluna de ordem k de uma matriz quadrada W(x) , e Sx denota os tamanhos horizontais e verticais da matriz quadrada W(x). ax denota um local de interpolação horizontal como ilustrado na Figura 10, e pode ser um número fracionário, por exemplo, 1/2, 1/4, 3/4, 1/8, 3/8, 5/8, 7/8, 1/16, ou ... Contudo, o número fracionário não é limitado a estes, e ax pode ser um número real.
Figure img0006
em que "1" e "k" denotam números inteiros individualmente satisfazendo à condição expressa na Equação (6), "Wik(y)" denota uma fileira de ordem 1 e uma coluna de ordem k de uma matriz quadrada W (y) , e Sy denota os tamanhos horizontais e verticais da matriz quadrada W(y). ay denota um local de interpolação vertical como ilustrado na Figura 10, e pode ser um número fracionário, por exemplo, 1/2, 1/4, 3/4, 1/8, 3/8, 5/8, 7/8, 1/16, ou ... Contudo, o número fracionário não é limitado a estes, e ay pode ser um número real.
Em comparação com as Equações (2) e (3), as fases das várias funções básicas usadas pelo transformador de inversão 910, isto é, várias funções de cosseno, são mudadas por 2ax e 2ccy, respectivamente, nas Equações (5) e (6). Se o transformador de inversão 910 realizar DCT inversa 2D com base na pluralidade de funções de cosseno, cujas fases são mudadas, conforme expresso nas Equações (5) e (6), então os valores de pixel dos locais X são gerados.
A Figura 11 é um diagrama ilustrado uma região de interpolação 1110 de acordo com uma modalidade exemplar. Quando o transformador 910 e o transformador de inversão 920 da Figura 9 geram valores de pixel nos locais de interpolação mediante realização de DCT 2D e DCT inversa 2D, respectivamente, uma região 1120 que é maior do que um bloco que deve ser interpolado, isto é, uma região de interpolação 1110, pode ser usada. Em geral, a exatidão da interpolação pode ser diminuída nas bordas da região de interpolação 1110, e assim, a correlação entre os valores de pixel adjacentes a um local de interpolação pode ser considerada para interpolação. O equipamento de interpolação de imagem 900 da Figura 9 realiza DCT 2D nos valores de pixel incluídos na região de interpolação 1110 e então realiza DCT inversa 2D no resultado da realização de DCT 2D, em que a correlação entre os valores de pixel incluídos na região de interpolação 1110 e os valores de pixel fora da região de interpolação 1110 não é considerada.
Assim, o equipamento de interpolação de imagem 900 realiza interpolação na região 1120, a qual é maior do que a região de interpolação 1110 e inclui a região de interpolação 1110 e uma região adjacente à região de interpolação 1110, e utiliza os valores de pixel na região de interpolação 1110 para compensação de movimento.DCT 1D e DCT inversa de 1D
Figura 12 é um diagrama ilustrando um método de interpolação 1D de acordo com uma modalidade exemplar. Com referência à Figura 12, o equipamento de interpolação de imagem 900 da Figura 9 gera um valor de pixel 1200 em um local de interpolação por intermédio de interpolação entre um valor de pixel 1210 e o valor de pixel 1220 de unidades de pixel de número inteiro em um domínio espacial. O valor de pixel 1200 é um valor de pixel de uma unidade de pixel fracionária, cujo local de interpolação é determinado por "a". O método de interpolação 1D de acordo com a modalidade exemplar atual será descrito abaixo em detalhe com referência à Figura 13.
A Figura 13 é um diagrama ilustrando especificamente um método de interpolação 1D realizado pelo equipamento de interpolação de imagem 900 da Figura 9, de acordo com uma modalidade exemplar. Com referência à Figura 13, vários valores de pixel adjacentes 1310 e 1320 que incluem valores de pixel 1210 e 1220 de unidades de pixel de número inteiro, respectivamente, são usados para gerar um valor de pixel 1200 de uma unidade de pixel fracionária mediante interpolação entre os dois valores de pixel 1210 e 1220. Em outras palavras, DCT 1D é realizado em valores de pixel de ordem -(M-1) a M, isto é, valores de pixel 2M, DCT inversa 1D é realizada no resultado da execução de DCT 1D, com base na pluralidade de funções básicas, cujas fases são mudadas, desse modo realizando a interpolação entre o pixel de ordem 0 e um primeiro pixel. A Figura 13 ilustra um caso onde M=6, mas "M" não é limitado a 6 e pode ser qualquer número inteiro positivo maior do que 0.
Além disso, as Figuras 12 e 13 ilustram os casos onde a interpolação é realizada entre os valores de pixel adjacentes na direção horizontal, mas seria óbvio para aqueles de conhecimento comum na técnica que os métodos de interpolação 1D das Figuras 12 e 13 podem ser usados para interpolação entre valores de pixel adjacentes na direção vertical ou em uma direção diagonal (vide Figuras 18A e 18B para mais detalhes).
O transformador 910 realiza DCT 1D nos valores de pixel das unidades de pixel de número inteiro. A DCT ID pode ser realizada mediante cálculo da seguinte equação:
Figure img0007
em que "p(l)" denota os valores de pixel de ordem - (M-l) a M, por exemplo, os valores de pixel de ordem -5 a 6 1310 e 1320 ilustrados na Figura 13, e "Ck" denota uma pluralidade de coeficientes obtidos mediante realização de DCT 1D nos valores de pixel. Aqui, "k" denota um número inteiro positivo satisfazendo à condição expressa na Equação (7) .
Quando o transformador 910 realiza DCT 1D nos valores de pixel 1310 e 1320 mediante cálculo da Equação (7), o transformador de inversão 920 realiza DCT inversa 1D nos coeficientes de dominio de frequência gerados pelo transformador 910 mediante cálculo da seguinte Equação (8).
Figure img0008
em que "a" denota um local de interpolação entre dois valores de pixel conforme descrito acima com referência à Figura 13, e pode ser um de vários números fracionários, por exemplo, 1/2, 1/4, 3/4, 1/8, 3/8, 5/8, 7/8, 1/16, ... Os números fracionários não são limitados, e "a" pode ser um número real. "P(a)" denota o valor de pixel 1200 no local de interpolação gerado mediante realização de DCT inversa ID. Em comparação com a Equação (7), a fase da função de cosseno expressa na Equação (8), a qual é uma função básica usada para realizar DCT inversa 1D, é determinada pelo número fracionário "α" exceto um número inteiro "1", e assim é diferente da fase da função básica usada para realizar DCT 1D.
A Figura 14 é um diagrama de blocos de um equipamento de interpolação de imagem 1400 de acordo com uma modalidade exemplar. Com referência à Figura 14, o equipamento de interpolação de imagem 1400 inclui um seletor de filtro 1410 e um interpolador 1420. O equipamento de interpolação de imagem 900 da Figura 9 transforma uma imagem e transforma inversamente o resultado da transformação com base em uma pluralidade de funções básicas, cujas fases são mudadas. Contudo, se a transformada e a transformada inversa forem realizadas sempre que os valores de pixel forem introduzidos no equipamento de interpolação de imagem 900, a quantidade de cálculo exigida é grande, desse modo aumentando a velocidade de operação de um sistema de processamento de imagem.
Assim, a interpolação de imagem pode ser realizada rapidamente em um dominio espacial sem ter que transformar o dominio espacial em um dominio de frequência mediante cálculo dos coeficientes de filtro para realizar transformada e transformada inversa descritas acima e então filtrar os valores de pixel no dominio espacial, os quais são introduzidos no equipamento de interpolação de imagem 1400, mediante uso dos coeficientes de filtro, calculados.
O seletor de filtro 1410 recebe informação com relação a um local de interpolação e seleciona um filtro a ser usado para interpolação. Conforme descrito acima, o filtro é usado para transformar valores de pixel com base em uma pluralidade de funções básicas tendo diferentes frequências e para transformar inversamente uma pluralidade de coeficientes, os quais são obtidos através da transformada, com base na pluralidade de funções básicas, cujas fases são mudadas. Os coeficientes de filtro podem variar de acordo com um local de interpolação, e o filtro é selecionado de acordo com o local de interpolação.
Conforme descrito acima com referência à Figura 9, os valores de pixel são transformados utilizando as várias funções básicas que têm diferentes frequências, e as fases das várias funções básicas que têm frequências diferentes são mudadas de acordo com o local de interpolação de modo a realizar a transformada inversa. Então, os valores de pixel no local de interpolação podem ser interpolados mediante transformação inversa da pluralidade de coeficientes mediante uso da pluralidade de funções básicas, cujas fases são mudadas. Em outras palavras, se a transformada for realizada com base nos valores de pixel das unidades de pixel de número inteiro e a transformada inversa for realizada com base a pluralidade de funções básicas, cujas fases são mudadas, de acordo com o local de interpolação, então os valores de pixel de pelo menos uma unidade de pixel fracionária podem ser gerados por vários locais de interpolação. Assim, o seletor de filtro 1410 da Figura 14 estabelece previamente uma pluralidade de filtros para realizar transformada e para realizar transformada inversa com base nas diferentes funções básicas, e seleciona um dos filtros preestabelecidos, com base na informação relacionada a um local de interpolação.
O interpolador 1420 realiza interpolação mediante uso do filtro selecionado pelo seletor de filtro 1410. Especificamente, a interpolação é realizada mediante filtração de uma pluralidade de valores de pixel de unidades de pixel de número inteiro com base no filtro selecionado. Como resultado da interpolação, um valor(es) de pixel em um local de interpolação predeterminado, isto é, um valor (es) de pixel de uma unidade de pixel fracionária, é(são) obtido(s). Com referência à Figura 10, se um bloco que inclui vários valores de pixel de unidades de pixel de número inteiro for filtrado com um filtro 2D, então vários valores de pixel nos locais de interpolação, cada um dos quais é determinado por "ocx" θ "αy", são gerados. Com referência à Figura 13, se uma fileira ou coluna incluindo vários valores de pixel de unidades de pixel de número inteiro forem filtrados com um filtro 1D, então vários valores de pixel nas interpolações a são gerados. Os métodos de interpolação realizados utilizando o filtro 2D e o filtro 1D, respectivamente, serão descritos agora, abaixo, com referência aos desenhos anexos.
Filtro 2D
Figure img0009
conforme descrito acima em relação à Equação (4). Essa equação também pode ser expressa como a seguir:
Figure img0010
em que "F(x)" denota um filtro para transformar um bloco REF na direção horizontal e para transformação inversa do resultado da transformação na direção horizontal mediante uso de várias funções básicas, cujas fases são mudadas. "F(y)" denota um filtro para transformar o bloco REF na direção vertical e para transformação inversa do resultado da transformação da direção vertical mediante uso das várias funções básicas, cujas fases são mudadas. Por exemplo, "F(x)" pode denotar um filtro para realizar DCT no bloco REF na direção horizontal, e realizar DCT inversa no resultado da realização na direção horizontal mediante uso de várias funções de cosseno, cujas fases são mudadas. "F(y)" pode denotar um filtro para realizar DCT no bloco REF na direção vertical, e realizar DCT inversa no resultado da realização na direção vertical mediante uso de uma pluralidade de funções de cosseno, cujas fases são mudadas.
De acordo com as Equações (2), (3), (5) e (6), os filtros F(x) e F(y) podem ser definidos pelas seguintes Equações (10) e (11):
Figure img0011
em que "k" e "1" denotam números inteiros satisfazendo individualmente a condição expressa na Equação (10), "Fkl(x)" denota uma fileira de ordem k e uma coluna de ordem 1 de uma matriz F(x), e Sx denota os tamanhos horizontais e verticais das matrizes quadradas W(x) e D(x). Como as matrizes quadradas W(x) e D(x) têm o mesmo tamanho, os seus tamanhos horizontais e verticais também são idênticos. "Wkn(x)" denotam uma fileira de ordem k e uma coluna de ordem n da matriz quadrada W(x) descrita acima em relação à Equação (5). Dni(x) denota uma fileira de ordem n e uma coluna de ordem 1 da matriz quadrada D(x) descrita acima em relação à Equação (2).
Figure img0012
em que "k" e "1" denotam números inteiros satisfazendo individualmente a condição expressa na Equação (11), "Fki(y)" denota uma fileira de ordem k e uma coluna de ordem 1 de uma matriz F(y) e Sy denota os tamanhos horizontais e verticais das matrizes quadradas W(y) e D(y). Como as matrizes quadradas W(y) e D(y) têm o mesmo tamanho, os seus tamanhos horizontais e verticais também são idênticos. "Wni(y)" denota uma fileira de ordem n e uma coluna de ordem 1 da matriz quadrada W(y) descrita acima em relação à Equação (5). "Dkn(y)" denota uma fileira de ordem k e uma coluna de ordem n da matriz quadrada D(y) descrita acima em relação à Equação (2).
Se interpolação for realizada mediante aumento das profundidades - bit dos filtros F(x) e F(y), a precisão da filtração pode ser aperfeiçoada. Assim, de acordo com uma modalidade exemplar, os coeficientes dos filtros F(x) e F(y) são aumentados mediante multiplicação dos mesmos por um valor predeterminado, e uma imagem pode ser interpolada utilizando esses filtros incluindo os coeficientes aumentados. Nesse caso, a Equação (9) pode ser mudada como a seguir:
Figure img0013
em que "F'(x)" denota um filtro escalonado mediante multiplicação dos coeficientes do filtro F(x) por um fator de escalonamento "S" e arredondamento do resultado da multiplicação para um número inteiro, e "F' (y)" denota um filtro obtido mediante multiplicação dos coeficientes do filtro F(y) por "S" e arredondamento do resultado da multiplicação para um número inteiro. Como a interpolação é realizada utilizando o filtro escalonado, os valores de pixel nos locais de interpolação são calculados e são então divididos por "S2" para compensar o efeito de escalonamento.
A Figura 15 ilustra filtros de interpolação 2D de acordo com uma modalidade exemplar. Especificamente, a Figura 15 ilustra os coeficientes de filtro escalonados de acordo com a Equação (2) . Isto é, a Figura 15 ilustra os filtros de interpolação 2D F' (x) quando "ccx" é 1/4, 1/2 e 3/4, em que os filtros de interpolação 2D F'(x) são gerados mediante multiplicação dos coeficientes do filtro de interpolação 2D F(x) por um fator de escalonamento 213. Um filtro de interpolação 2D F' (y) quando "ay" é 1/4, 1/2 e 3/4, pode ser usado para transpor o filtro F' (x) .
Com referência à Figura 14, se o seletor de filtro 1410 selecionar um dos filtros de interpolação 2D da Figura 15 com base em um local de interpolação, o interpolador 1420 gera valores de pixel no local de interpolação mediante cálculo da Equação (9) ou (12) .
Filtro 1D DCT 1D de acordo com a Equação (7) pode ser expressa como a seguinte determinante:
Figure img0014
em que "C" denota uma matriz (2Mxl) para coeficientes 2M descritos acima em relação à Equação (7), e "REF" denota uma matriz (2Mxl) para valores de pixel de unidades de pixel de número inteiro descritas acima em relação à Equação (7) , isto é, P-(m-i),--- até PM. O número total de valores de pixel usados para interpolação, isto é, 2M, denota o número total de derivações de um filtro de interpolação 1D. "D" denota uma matriz quadrada para DCT 1D, que pode ser definido como a seguir.
Figure img0015
em que "k" e "1" denotam números inteiros satisfazendo individualmente a condição expressa na Equação (14), "Dki" denota uma fileira de ordem k e uma coluna de ordem 1 de uma matriz quadrada D para DCT 1D expresso na Equação (13), e "M" foi descrito acima em relação à Equação (13) .
DCT 1D utilizando uma pluralidade de funções básicas, cujas fases são mudadas, de acordo com a Equação (8) pode ser expressa como o seguinte determinante:
Figure img0016
em que "P(a)" é o mesmo que "P(oc)" expresso na Equação (8), e "W(oc)" denota uma matriz (lx2M) área DCT inversa 1D utilizando uma pluralidade de funções básicas, cujas fases são mudadas. "W(a)" pode ser definido como a seguir:
Figure img0017
em que "k" denota um número inteiro satisfazendo à condição expressa na Equação (16), e "Wk(a)" denota uma coluna de ordem k da matriz W(oc) descrita acima em relação à Equação (15) . Um filtro de interpolação ID F(α) para realizar DCT 1D e DCT inversa 1D que utiliza uma pluralidade de funções básicas, cujas fases são mudadas, com base nas Equações (13) e (15), pode ser definida como a seguir:
Figure img0018
em que "k" e "1" denotam números inteiros satisfazendo individualmente a condição expressa na Equação (17), "Ei (a)" denota uma coluna de ordem 1 do filtro F(a), e "W(a)" e "D" são idênticos a "W (a) " e "D" expressos na Equação (13).
A precisão da filtração pode ser aperfeiçoada mediante aumento da profundidade de bits do filtro de interpolação ID F(α) similar a um filtro de interpolação 2D. Uma imagem pode ser interpolada mediante aumento dos coeficientes do filtro de interpolação ID F(α) mediante multiplicação dos mesmos com um valor predeterminado e utilizando o filtro de interpolação 1D F(oc) incluindo os coeficientes aumentados.
Por exemplo, a interpolação pode ser realizada mediante multiplicação do filtro de interpolação 1D F(cc) por um fator de escalonamento ' 2ScalingBlts' . Nesse caso, P (a) = F(a) x REF expresso na Equação (17) pode ser mudado como a seguir:
Figure img0019
em que Fi (α) denota um filtro escalonado mediante multiplicação dos coeficientes do filtro de interpolação 1D F(a) pelo fator de escalonamento ' 2Scal∑ngBlts' e arredondando o resultado da multiplicação para um número inteiro, 'REFi' denota uma coluna de ordem 1 da matriz REF expressa na Equação (17), e > 2ScalirigBlts~1' denota um valor adicionado para arredondar um valor de pixel filtrado. Um valor de pixel em um local de interpolação a é calculado mediante multiplicação do filtro escalonado F'i(oc) por uma matriz para valores de pixel, o resultado do cálculo é arredondado mediante adição do valor ' 2ScalingBlts-1' ao mesmo, e o valor resultante é mudado por um bit "Bits de Escalonamento" de modo a compensar o efeito de escalonamento.
O arredondamento usado nas equações descritas acima é apenas um exemplo de um método de quantificar os coeficientes de filtro. Para generalizar um método de quantificar os coeficientes de filtro para facilidade de entendimento, os coeficientes de filtro podem ser modificados e otimizados conforme expresso nas seguintes Equações (19) e (20):
Figure img0020
em que "Fi(a)" denota um coeficiente de ordem 1 do filtro que não é quantificado, "Fi(oc)" denota um coeficiente de ordem 1 do filtro que é quantificado, e "ε" denota qualquer número real que pode ser selecionado de acordo com um grau de quantização e pode ser, por exemplo, 0.2*Fi(a). De acordo com a Equação (19), quando o coeficiente de ordem 1 Fi (α) que é um número real é calculado de acordo com a Equação (13) a (17), então o coeficiente de ordem 1 Fi(a) é mudado para o coeficiente de ordem 1 f'i(a) satisfazendo à Equação (19), desse modo quantizando o coeficiente de ordem 1 fi (a) .
Quando os coeficientes de filtro são escalonados por um fator de escalonamento predeterminado, a quantização de acordo com a Equação (19) pode ser mudada como a seguir:
Figure img0021
em que "p" denota um fator de escalonamento (o qual pode ser ' 2ScaligBlts' ) , e p*Fi(a) denota um coeficiente de filtro escalonado. De acordo com a Equação (20), "p*F1(oc)" é convertido para "F'i(oc).
As Figuras 16A a 16F ilustram filtros de interpolação 1D de acordo com as modalidades exemplares. Nas Figuras 16A a 16F, os filtros escalonados descritos acima em relação à Equação (18) são ilustrados de acordo com o número de derivações e um local de interpolação. Especificamente, as Figuras 16A a 16F ilustram u filtro de 4 derivações, um filtro de 6 derivações, um filtro de 8 derivações, um filtro de 10 derivações, um filtro de 12 derivações, e um filtro de 14 derivações, respectivamente. Nas Figuras 16A a 16F, um fator de escalonamento para os coeficientes de filtro é ajustado para "256", isto é, um ScalingBits é ajustado para "8".
Nas Figuras 16A a 16F, os coeficientes de filtro incluem coeficientes para componentes de alta frequência, pelo que a precisão da interpolação e predição pode ser aumentada, porém a eficiência da compactação de imagem pode ser degradada devido aos componentes de alta frequência. Contudo, a interpolação é realizada para aumentar a eficiência de compactação de imagem conforme descrito acima com referência à Figura 9. Para resolver esse problema, os coeficientes de filtro ilustrados nas Figuras 16A a 16F podem ser ajustados para aumentar a eficiência de compactação de imagem nesse caso.
Por exemplo, um valor absoluto de cada um dos coeficientes de filtro pode ser reduzido, e cada coeficiente de filtro no ponto médio de cada filtro pode ser multiplicado por um valor ponderado maior do que os valores ponderados atribuídos aos outros coeficientes de filtro. Por exemplo, com referência à Figura 16B, no filtro de 6 derivações para gerar valores de pixel em um local de interpolação de 1/2, os coeficientes de filtro, {11, -43, 160, 160, -43, 11,} são ajustados de tal maneira que os valores absolutos de "11", "-43" e "160" podem ser reduzidos e apenas "160" no ponto médio do filtro de 6 derivações é multiplicado por um valor ponderado.
As Figuras 17A a 17Y ilustram filtros de interpolação 1D otimizados de acordo com modalidades exemplares. Os filtros ilustrados nas Figuras 16A a 16F também podem ser ajustados para facilmente incorporar o filtro mediante hardware. Quando a Equação (17) ou (18) é calculado utilizando-se um computador, os coeficientes de filtro podem ser otimizados para minimizar uma operação aritmética, por exemplo, mudança de bits de números binários e adição.
Nas Figuras 17A e 17B, a quantidade de cálculo necessária para realizar filtração para interpolação de cada filtro é indicada em ambas, unidades de "adição" e de "mudança". Cada um dos filtros das Figuras 17A a 17M inclui coeficientes otimizados para minimizar as unidades de "adição", e de "mudança", em um local de interpolação correspondente.
As Figuras 17A e 17B ilustram um filtro de 6 derivações, e um filtro de 12 derivações, otimizados para interpolar uma imagem com a precisão de 1/4 pixel escalonado por um deslocamento de 8 bits, respectivamente. As Figuras 17C, 17D e 17E ilustram filtros de 8 derivações otimizados para interpolar uma imagem com a precisão de 1/4 pixel escalonado por um deslocamento de 8 bits. Os filtros de 8 derivações das Figuras 17C a 17E são classificados de acordo com pelo menos um de se os coeficientes de filtro devem ser otimizados e um método de otimização dos coeficientes de filtro. As Figuras 17F e 17G ilustram filtros de 8 derivações otimizados para interpolar uma imagem com a precisão de 1/4 pixel escalonado por um deslocamento de 6 bits. Os filtros das Figuras 17F e 17G podem ser classificados de acordo com um método de otimizar os coeficientes de filtro.
A Figura 17H ilustra um filtro de 6 derivações otimizado para interpolar uma imagem com a precisão de 1/8 pixel escalonado por um deslocamento de 6 bits. A Figura 171 ilustra um filtro de 6 derivações otimizado para interpolar uma imagem com a precisão de 1/8 pixel escalonado por um deslocamento de 8 bits.
As Figuras 17J e 17K ilustram filtros de 4 derivações otimizados para interpolar uma imagem com a precisão de 1/8 pixel escalonado por um deslocamento de 5 bits. Os filtros das Figuras 17J e 17K podem ser classificados de acordo com um método de otimização de coeficientes de filtro. As Figuras 17L e 17M ilustram filtros de 4 derivações otimizados para interpolar uma imagem com a precisão de 1/8 pixel escalonado por um deslocamento de 8 bits. Os filtros das Figuras 17L e 17M também podem ser classificados de acordo com um método de otimização de coeficientes de filtro.
As Figuras 17N a 17Y ilustram um filtro de 4 derivações, um filtro de 6 derivações, um filtro de 8 derivações, um filtro de 10 derivações, e um filtro de 12 derivações, otimizados para interpolar uma imagem com a precisão de 1/8 pixel escalonado por um deslocamento de 8 bits, respectivamente. Os filtros das Figuras 17N a 17Y são diferentes dos filtros das Figuras 17A a 17M e que alguns dos coeficientes de filtro são diferentes, porém são os mesmos que os filtros das Figuras 17A a 17M em que um coeficiente de filtro para interpolação de um local de interpolação 1/8 é simétrico com um coeficiente de filtro para interpolação de um local de interpolação de 7/8, um coeficiente de filtro para interpolação de um local de interpolação de 2/8 é simétrico com um coeficiente de filtro para interpolação de um local de interpolação de 6/8, e um coeficiente de filtro para interpolação de um local de interpolação de 3/8 é simétrico com um coeficiente de filtro para interpolar um local de interpolação de 5/8.
As Figuras 23A a 23E ilustram métodos de realizar escalonamento e arredondamento em relação a um filtro de interpolação 1D, de acordo com as modalidades exemplares.
Conforme descrito acima, a filtração de interpolação utiliza DCT e DCT inversa, e o filtro de interpolação 1D desse modo inclui coeficientes de filtro, cujos valores absolutos são menores do que "1". Assim conforme descrito acima em relação à Equação (12), os coeficientes de filtro são escalonados mediante multiplicação dos mesmos por ' 2ScalingBlts' , são arredondados para números inteiros, respectivamente, e são então usados para interpolação.
A Figura 23A ilustra os coeficientes de filtro escalonados por ' 2ScalingBlts' quando os filtros de interpolação 1D são filtros de 12 derivações. Com referência à Figura 23A, os coeficientes de filtro foram escalonados, mas não arredondados para números inteiros.
A Figura 23B ilustra o resultado do arredondamento dos coeficientes de filtro escalonados da Figura 23A para números inteiros mediante arredondamento dos mesmos para o décimo ponto decimal. Com referência à Figura 23B, alguns filtros de interpolação, cuja soma do arredondamento dos coeficientes de filtros escalonados é inferior a '256' dentre os filtros de interpolação 1D. Especificamente, a soma de todos os coeficientes de filtro de cada filtro para interpolação de valores de pixel em um local de interpolação de 1/8, um filtro para interpolação de valores de pixel em um local de interpolação de 3/8, um filtro para interpolação de valores de pixel em um local de interpolação de 5/8, e um filtro para interpolação de valores de pixel e um local de interpolação de 7/8, é menor do que '256'. Isto é, a soma dos coeficientes de filtro de um filtro escalonado por um deslocamento de 8 bits deve ser de '256', mas um erro ocorre durante o arredondamento dos coeficientes de filtro.
O fato de que as somas dos coeficientes de filtro não são idênticas, significa que os valores de pixel podem variar de acordo com um local de interpolação. Para resolver esse problema, um filtro normalizado pode ser gerado mediante ajuste dos coeficientes de filtro. A Figura 23C ilustra um filtro normalizado gerado pelos coeficientes de filtro dos filtros ilustrados na Figura 23B.
Uma comparação das Figuras 23B e 23C revela que as somas de todos os coeficientes de filtro são normalizadas para '256' mediante ajuste de alguns dos coeficientes de filtro do filtro para interpolar os valores de pixel no local de interpolação de 1/8, o filtro para interpolar os valores de pixel no local de interpolação de 3/8, o filtro para interpolar os valores de pixel no local de interpolação de 5/8, e o filtro para interpolar os valores de pixel no local de interpolação de 7/8.
As Figuras 23D e 23E ilustram os filtros de 8 derivações que são escalonados, e o resultado da normalização dos filtros de 8 derivações, respectivamente. Se os filtros de 8 derivações que são escalonados por 2offset são conforme ilustrado na Figura 23D, então o resultado do arredondamento dos coeficientes de filtro dos filtros de 8 derivações da Figura 23D para valor de número inteiro e normalização do resultado do arredondamento em uma tal forma que as somas dos coeficientes de filtro sejam '256' pode ser ilustrado na Figura 23E. Com referência à Figura 23E, alguns dos coeficientes de filtro são diferentes do resultado do arredondamento dos coeficientes de filtro dos filtros de 8 derivações ilustrados na Figura 23D. Isso significa que alguns dos coeficientes de filtro são ajustados de tal modo que as somas de todos os coeficientes de filtro são '256'.
Conforme ilustrado nas Figuras 23B e 23C, pelo menos um dos coeficientes de filtro resultantes obtidos por ao menos um dos coeficientes de filtro de escalonamento e de arredondamento pode ser diferente do resultado de normalização dos coeficientes de filtro resultantes. Assim, seria óbvio para aqueles de conhecimento comum na técnica que um filtro de interpolação 1D, cujo ao menos um dentre os coeficientes de filtro é mudado em uma faixa predeterminada de erro, por exemplo, +-1 ou +-2, a partir dos filtros ilustrados nas Figuras 16A a 16F ou dos filtros ilustrados em 17A a 17M devem ser entendidos como abrangidos pelo escopo das modalidades exemplares.
Se o seletor de filtro 1410 selecionar um dos filtros ilustrados nas Figuras 16A a 16F ou Figuras 17A a 17Y ou Figuras 23A a 23E com base em um local de interpolação, então o interpolador 1420 gera valores de pixel no local de interpolação mediante cálculo da Equação (17) ou (18) . Os outros vários fatores (tal como uma direção de predição inter, um tipo de filtro de malha, uma posição de pixel em um bloco) podem ser adicionalmente considerados para o seletor de filtro 1410 para selecionar um dos filtros. Um tamanho, isto é, um tamanho de derivação, de um filtro que deve ser selecionado pode ser determinado ou pelo tamanho de um bloco que deve ser interpolado ou por uma direção de filtração para interpolação. Por exemplo, um filtro grande pode ser selecionado quando um bloco que deve ser interpolado for grande, e um filtro pequeno pode ser selecionado para minimizar acesso de memória quando a interpolação deve ser realizada na direção vertical.
De acordo com uma modalidade exemplar, informação com relação à seleção de filtro pode ser adicionalmente codificada. Por exemplo, se uma imagem foi interpolada durante a codificação da imagem, um lado de decodificação deve conhecer o tipo de filtro usado para interpolar a imagem de modo a interpolar e decodificar a imagem mediante uso do mesmo filtro usado durante a codificação da imagem.
Com essa finalidade, informação especificando o filtro usado para interpolar a imagem pode ser codificada junto com a imagem. Contudo, quando a seleção de filtro é realizada com base no resultado da codificação anterior de outro bloco, isto é, contexto, a informação com relação à seleção de filtro não precisa ser codificada adicionalmente.
Se um valor de pixel gerado pela realização da interpolação for menor do que um valor de pixel minimo ou for maior do que um valor de pixel máximo, então o valor de pixel é mudado para o valor de pixel minimo ou máximo. Por exemplo, se o valor de pixel gerado for menor do que um valor de pixel minimo de 0, ele é mudado para "0", e se o valor de pixel gerado for maior do que um valor de pixel máximo de 255, ele é mudado para '255',
Quando a interpolação é realizada para executar com precisão a predição inter durante a codificação de uma imagem, informação especificando um filtro de interpolação pode ser codificada em conjunto com a imagem. Em outras palavras, a informação com relação ao tipo do filtro selecionado pelo seletor de filtro 1410 pode ser codificada como um parâmetro de imagem em conjunto com a imagem. Como um tipo diferente de filtro de interpolação pode ser selecionado em unidades de codificação ou em unidades de imagem ou fatia, informação com relação à seleção de filtro também pode ser codificada nas unidades de codificação ou nas unidades de imagem ou fatia, em conjunto com a imagem. Contudo, se a seleção de filtro for realizada consequentemente, como uma regra implícita, a informação com relação à seleção de filtro pode não ser codificada em conjunto com a imagem.
Os métodos de realização de interpolação por intermédio do interpolador 1420 de acordo com as modalidades exemplares serão descritos agora, em detalhe, com referência às Figuras 18A, 18B e 19.
As Figuras 18A e 18B ilustram os métodos de interpolação de valores de pixel em diversas direções mediante uso de um filtro de interpolação ID, de acordo com as modalidades exemplares. Com referência às Figuras 18A e 18B, os valores de pixel nos locais de interpolação em diversas direções podem ser gerados mediante uso de um filtro de interpolação ID que pode realizar DCT 1D nos valores de pixel 1D e realizar DCT inversa de ID no resultado da realização mediante uso de uma pluralidade de funções básicas, cujas fases são mudadas.
Com referência à Figura 18A, um valor de pixel P(cc) 1800 em um local de interpolação α na direção vertical pode ser gerado mediante interpolação entre um valor de pixel Po 1802 e um valor de pixel Pi 1804 que são adjacentes na direção vertical. Em comparação com o método de interpolação ID da Figura 13, a interpolação é realizada utilizado valores de pixel 1810 e 1820 arranjados na direção vertical em vez dos valores de pixel 1310 e 1320 arranjados na direção horizontal, mas o método de interpolação descrito acima em relação às Equações (13) a (18) também pode ser aplicado ao método da Figura 18A.
Similarmente, em comparação com o método de interpolação 1D da Figura 13, no método da Figura 18B, a interpolação é realizada utilizando valores de pixel 1840 e 1850 arranjados em uma direção diagonal em vez dos valores de pixel 1310 e 1320 arranjados na direção horizontal, mas um valor de pixel P(α) 1830 em um local de interpolação oc pode ser gerado mediante interpolação entre dois valores de pixel adjacentes 1832 e 1834 como descrito acima em relação às Equações (13) a (18).
A Figura 19A ilustra um método de interpolação 2D de acordo com uma modalidade exemplar. Com referência à Figura 19A, os valores de pixel 1910 a 1950 das unidades de pixel fracionárias podem ser gerados com base nos valores de pixel 1900 a 1906 das unidades de pixel de número inteiro.
Especificamente, em primeiro lugar, o seletor de filtro 1410 do equipamento de interpolação de imagem 1400 ilustrado na Figura 14 seleciona um filtro de interpolação 1D para gerar valores de pixel 1910, 1920, 1930, e 1940 de unidades de pixel fracionárias que estão presentes entre os valores de pixel 1900 a 1906 das unidades de pixel de número inteiro. Conforme descrito acima com referência à
Figura 14, um filtro diferente pode ser selecionado de acordo com um local de interpolação. Por exemplo, filtros diferentes podem ser selecionados para valores de pixel 1912, 1914, e 1916 de uma unidade de pixel fracionária, respectivamente, de modo a interpolar o valor de pixel 1910 entre dois valores de pixel superiores 1900 e 1902. Por exemplo, um filtro para gerar o valor de pixel 1914 de uma unidade de pixel 1/2 pode ser diferente de um filtro para gerar os valores de pixel 1912 e 1916 da mesma unidade de 1/4 pixel. Além disso, os valores de pixel 1912 e 1916 da mesma unidade de 1/4 pixel podem ser gerados utilizando-se filtros diferentes, respectivamente. Conforme descrito acima com referência à Figura 14, um grau de mudança das fases das funções básicas usadas para realizar DCT inversa varia de acordo com um local de interpolação e, desse modo, um filtro para realizar interpolação é selecionado de acordo com um local de interpolação.
Similarmente, os valores de pixel 1920, 1930 e 1940 de diferentes unidades de pixel fracionárias presentes entre os valores de pixel de 1900 a 1906 de unidades de pixel de número inteiro podem ser geradas com base em um filtro de interpolação 1D selecionado de acordo com um local de interpolação.
Se o seletor de filtro 1410 selecionar um filtro para gerar os valores de pixel 1910, 1920, 1930 e 1940 das unidades de pixel fracionárias presentes entre os valores de pixel 1900 a 1906 de unidades de pixel de números inteiros, então o interpolador 1420 gera os valores de pixel 1910, 1920, 1930 e 1940 das unidades de pixel fracionárias nos locais de interpolação, respectivamente, com base no filtro selecionado. De acordo com uma modalidade exemplar, como um filtro para gerar um valor de pixel em cada um dos locais de interpolação foi calculado previamente, os valores de pixel em todos os locais de interpolação podem ser gerados com base nos valores de pixel dos valores de pixel de número inteiro.
Em outras palavras, como os valores de pixel 1912 e 1916 da unidade de 1/4 pixel podem ser gerados diretamente a partir dos valores de pixel 1900 e 1920 de uma unidade de pixel de número inteiro, não há a necessidade de calcular em primeiro lugar o valor de pixel 1914 de uma unidade de 1/2 pixel e então gerar os valores de pixel 1912 e 1916 da unidade de 1/4 pixel com base nos valores de pixel 1900 e 1902 das unidades de pixel de número inteiro e o valor de pixel 1914 da unidade de 1/2 pixel. Como a interpolação de imagem não precisa ser realizada sequencialmente de acordo com o tamanho de uma unidade de pixel, a interpolação de imagem pode ser realizada em alta velocidade.
De acordo com outra modalidade exemplar, um método de interpolação com base em um local de interpolação de acordo com uma modalidade exemplar pode ser combinado com um método de interpolação relacionado. Por exemplo, um valor de pixel de uma unidade de 1/2 pixel e um valor de pixel, de uma unidade de 1/4 pixel, podem ser gerados diretamente a partir dos valores de pixel 1900 e 1920 da unidade de pixel de número inteiro mediante uso de um filtro de interpolação de acordo com uma modalidade exemplar, e um valor de pixel de uma unidade de 1/8 pixel pode ser gerado partir do valor de pixel da unidade de 1/4 pixel mediante uso de um filtro de interpolação linear relacionado. De outro modo, apenas o valor de pixel da unidade de 1/2 pixel pode ser gerado diretamente a partir dos valores de pixel 1900 e 1920 da unidade de pixel de número inteiro mediante utilização do filtro de interpolação de acordo com uma modalidade exemplar, o valor de pixel da unidade de 1/4 pixel pode ser gerado a partir do valor de pixel da unidade de 1/2 pixel mediante uso do filtro de interpolação linear da técnica relacionada, e o valor de pixel da unidade de 1/8 pixel pode ser gerado a partir do valor de pixel da unidade de 1/4 pixel mediante uso do filtro de interpolação linear da técnica relacionada.
Se todos os valores de pixel 1910, 1920, 1930 e 1940 das unidades de pixel fracionárias presentes entre os valores de pixel 1900 a 1906 das unidades de pixel de número inteiro forem gerados mediante realização de interpolação, então o seletor de filtro 1410 seleciona um filtro de interpolação 1D outra vez para interpolação entre os valores de pixel 1910, 1920, 1930 e 1940 das unidades de pixel fracionárias. Nesse caso, um filtro diferente é selecionado de acordo com um local de interpolação similar a uma forma na qual um filtro é selecionado para interpolar entre os valores de pixel 1900 a 1906 das unidades de pixel de número inteiro.
O interpolador 1420 gera o valor de pixel 1950 de uma unidade de pixel fracionária correspondendo a cada um dos locais de interpolação mediante uso do filtro selecionado pelo seletor de filtro. Isto é, o valor de pixel 1950 das unidades de pixel fracionário entre os valores de pixel 1910, 1920, 1930 e 1940 das unidades de pixel fracionárias é gerado.
A Figura 19B ilustra um método de interpolação 2D utilizando um filtro de interpolação ID, de acordo com outra modalidade exemplar. Com referência à Figura 19B, um valor de pixel em um local de interpolação 2D pode ser gerado mediante realização repetidamente de interpolação nas direções verticais e horizontais utilizando o filtro de interpolação ID.
Especificamente, um valor de pixel Temp(i,j) é gerado mediante interpolação entre um valor de pixel REF(i,j) 1960 e um valor de pixel REF(i,i,j) 1964 de uma unidade de pixel de número inteiro na direção horizontal. Além disso, um valor de pixel Temp(i,j+i) é gerado mediante interpolação entre um valor de pixel REF(i,j+i) 1962 e um valor de pixel REF(i+1,j+i) 1966 na direção horizontal. Então, um valor de pixel P(i,j> em um local de interpolação 2D é gerado mediante interpolação entre um valor de pixel Temp(i,j) e o valor de pixel Temp(i,j+i) na direção vertical.
O filtro de interpolação 1D pode ser um filtro para realizar DCT 1D e realizar DCT inversa 1D com base em uma pluralidade de funções básicas, cujas fases são mudadas. Além disso, o filtro de interpolação 1D pode ser um filtro escalonado como descrito acima em relação à Equação (17) . Quando a interpolação é realizada as direções, horizontal e vertical, com base no filtro escalonado, a interpolação pode ser realizada mediante cálculo da seguinte Equação (21) :
Figure img0022
em que Fi(ocx) e Fi(ay) correspondem a Fi (cc) expresso na Equação (18). Contudo, como um local de interpolação vertical pode ser diferente de um local de interpolação horizontal, um filtro de interpolação 1D diferente pode ser selecionado de acordo comum local de interpolação.
Quando a interpolação horizontal e a interpolação vertical são realizadas, primeira mudança de bit é realizada de acordo com StageBitsl após a interpolação horizontal e segunda mudança de bit é realizada de acordo com StageBits2 após a interpolação vertical. (TotalBits = StageBitsl + StageBits2). Se StageBitsl for ajustado para zero, a primeira mudança de bit não é realizada.
Assim, se um fator de escalonamento para F'i(ocy) for ' 2bltl' e um fator de escalonamento para FxícCx) for ' 2blt2' na Equação (21), então 'TotalBits = 'bitl + bit2' .
A Figura 19C ilustra um método de interpolação 2D utilizando um filtro de interpolação 1D, de acordo com outra modalidade exemplar. Com referência à Figura 19C, um valor de pixel em um local de interpolação 2D pode ser gerado mediante realização repetidamente de interpolação nas direções, vertical e horizontal, mediante uso do filtro de interpolação 1D.
Especificamente, um valor de pixel Temp(izj) é gerado por intermédio da interpolação entre valores de pixel REFji'j) 1960 e um valor de pixel REF(i,j+i) 1962 de uma unidade de pixel de número inteiro na direção vertical. A seguir, um Temp(i+1,j) é gerado mediante interpolação entre um valor de pixel REF(i,j+i; 1964 e um valor de pixel REF(i+i, j+i) 1966 na direção vertical. Então, um valor de pixel P(i,j> θ® um local de interpolação 2D é gerado mediante interpolação entre o valor de pixel Temp(i,j) e o valor de pixel Temp(i+i,j) . Quando a interpolação é realizada nas direções, horizontal e vertical, com base em um filtro escalonado, a interpolação pode ser realizada mediante cálculo da seguinte Equação (22) :
Figure img0023
A Figura 20 é um fluxograma ilustrando um método de interpolação de imagem de acordo com uma modalidade exemplar. Com referência à Figura 20, na operação 2010, o equipamento de interpolação de imagem 900 da Figura 9 transforma os valores de pixel em um dominio espacial mediante uso de uma pluralidade de funções básicas tendo diferentes frequências. Os valores de pixel podem ser vários valores de pixel incluidos em um bloco predeterminado ou podem ser fileiras ou colunas de valores de pixel arranjadas na direção horizontal ou vertical.
Aqui, a transformada pode ser DCT 2D ou DCT 1D descrita acima em relação ao transformador 910 e Equações (D, (2) , (3) e (7).
Na operação 2020, o equipamento de interpolação de imagem 900 muda as fases das várias funções básicas usadas na operação 2010. As fases das várias funções básicas podem ser mudadas de acordo com um local de interpolação 2D determinado por ’ ax' e ' ocy' ou de acordo com um local de interpolação 1D determinado por 'a'.
Na operação 2030, o equipamento de interpolação de imagem 900 transforma inversamente os coeficientes DCT, os quais foram obtidos mediante transformação dos valores de pixel no dominio espacial na operação 2010, mediante uso das várias funções básicas, cujas fases foram mudadas na operação 2020. Isto é, os valores de pixel os locais de interpolação são gerados mediante transformação inversa dos coeficientes DCT obtidos na operação 2010.
Se a transformada realizada na operação 2010 for DCT 2D, então na operação 2030, o equipamento de interpolação de imagem 900 gera valores de pixel nos locais de interpolação 2D mediante realização de DCT inversa 2D nos coeficientes DCT mediante uso de uma pluralidade de funções de cosseno, cujas fases são mudadas.
Se a transformada realizada na operação 2010 for DCT 1D realizada em fileiras ou colunas de valores de pixel, então na operação 2030, o equipamento de interpolação de imagem 900 gera valores de pixel em locais de interpolação 1D mediante realização de DCT inversa 1D nos coeficientes DCT mediante uso de uma pluralidade de funções de cosseno, cujas fases são mudadas.
As várias funções básicas, cujas fases são mudadas, e a transformada inversa com base nas mesmas, foram descritas acima em relação ao transformador inverso 920 e Equações (4), (5), (6) e (8).
A Figura 21 é um fluxograma ilustrando um método de interpolação de imagem de acordo com outra modalidade exemplar. Com referência à Figura 21, na operação 2110, o equipamento de interpolação de imagem 1400 da Figura 14 seleciona um filtro para realizar transformada e realizar a transformada inversa com base em uma pluralidade de funções básicas, cujas fases são mudadas, de acordo com um local de interpolação. Por exemplo, um filtro para realizar DCT e para realizar DCT inversa com base em uma pluralidade de funções de cosseno, cujas fases são mudadas, é selecionado de acordo com um local de interpolação. Se valores de pixel que devem ser interpolados forem incluídos em um bloco predeterminado, então um filtro para realizar DCT 2D e DCT inversa 2D é selecionado com base em ' ocx' e 'ay'. Se os valores de pixel que devem ser interpolados forem fileiras e colunas de valores de pixel, então um filtro para realizar DCT 1D e DCT inversa 1D é selecionado com base em 'a'. Um dos filtros descritos acima com referência à Figura 15, Figuras 16A a 16F, e Figura 17 pode ser selecionado de acordo com um local de interpolação. Contudo, o tamanho de um filtro pode ser determinado pelos vários outros fatores sem considerar um local de interpolação como descrito acima em relação ao seletor de filtro 1410 e com referência à Figura 17.
Na operação 2120, o equipamento de interpolação de imagem 1400 realiza interpolação com base no filtro selecionado na operação 2110. Os valores de pixel em um local de interpolação 2D ou um valor de pixel em um local de interpolação ID podem ser gerados mediante filtração de valores de pixel em um dominio espacial mediante uso do filtro selecionado na operação 2110. A interpolação realizada utilizando a filtração foi descrita acima em relação às Equações (9) a (19).
A Figura 22 é um fluxograma ilustrando um método de interpolação de imagem de acordo com outra modalidade exemplar. Com referência à Figura 22, na operação 2210, o equipamento de interpolação de imagem 1400 da Figura 14 seleciona um filtro diferente para interpolação entre valores de pixel 1900 a 1906 de unidades de pixel de número inteiro, de acordo com um local de interpolação. Na modalidade exemplar atual, valores de pixel 1910, 1920, 1930 e 1940 de pelo menos uma unidade de pixel fracionária podem ser gerados diretamente a partir dos valores de pixel 1900 a 1906 dos valores de pixel de número inteiro. Assim, o equipamento de interpolação de imagem 1400 seleciona os filtros de interpolação correspondendo aos locais de interpolação, respectivamente, na operação 2210.
Na operação 2220, o equipamento de interpolação de imagem 1400 gera os valores de pixel 1910, 1920, 1930 e 1940 da pelo menos uma unidade de pixel fracionária mediante interpolação entre os valores de pixel 1900 a 1906 das unidades de pixel de número inteiro, com base no filtro diferente selecionado de acordo com cada um dos locais de interpolação na operação 2210.
Na operação 2230, o equipamento de interpolação de imagem 1400 seleciona um filtro diferente para interpolação entre os valores de pixel 1910, 1920, 1930 e 1940 da pelo menos uma unidade de pixel fracionária gerada na operação 2220, de acordo com um local de interpolação. Um filtro diferente para gerar os valores de pixel 1950 de outra unidade de pixel fracionária ilustrada na Figura 19, os quais estão presentes entre os valores de pixel 1910, 1920, 1930 e 1940 da pelo menos uma unidade de pixel fracionária, é selecionado de acordo com um local de interpolação.
Na operação 2240, o equipamento de interpolação de imagem 1400 gera os valores de pixel 1950 de outra unidade de pixel fracionária mediante interpolação dos valores de pixel 1910, 1920, 1930 e 1940 da pelo menos uma unidade de pixel fracionária, com base no filtro selecionado na operação 2230.
Embora modalidades exemplares tenham sido particularmente mostradas e descritas acima, será entendido por aqueles de conhecimento comum na técnica que diversas alterações em forma e detalhes podem ser feitas nas mesmas sem se afastar da essência e escopo do conceito inventivo conforme definido pelas reivindicações anexas e seus equivalentes. Além disso, um sistema de acordo com uma modalidade exemplar pode ser incorporado como código legivel por computador em um meio de gravação legivel por computador.
Por exemplo, cada um de um equipamento para codificar uma imagem, um equipamento para decodificar uma imagem, um codificador de imagem, e um decodificador de imagem; de acordo com modalidades exemplares, conforme ilustrado nas Figuras 1, 2, 4, 5, 9 e 14; podem incluir um barramento acoplado às suas unidades, pelo menos um processador conectado ao barramento, e memória que é conectada ao barramento para armazenar um comando ou uma mensagem recebida ou gerada e é acoplada a pelo menos um processador para executar o comando.
O meio de gravação legivel por computador pode ser qualquer dispositivo de armazenamento de dados que possa armazenar os dados para serem lidos por um sistema de computador. Exemplos do meio de gravação legivel por computador incluem memória de leitura (ROM), memória de acesso aleatório (RAM), disco a laser (CD-ROM), fitas magnéticas, disquetes, e dispositivos óticos de armazenamento de dados. 0 meio de gravação legivel por computador também pode ser distribuído através de sistemas de computador acoplados à rede de modo que o código legivel por computador pode ser armazenado e executado de uma forma distribuída.

Claims (1)

1. MÉTODO DE INTERPOLAR UMA IMAGEM PARA A INTER PREDIÇÃO, o método caracterizado por compreender: selecionar coeficientes de filtro de um primeiro filtro de interpolação, para interpolar de acordo com um primeiro local de interpolação incluindo pelo menos um dentre localização 2/4 pixel, localização 1/4 pixel e localização 3/4 pixel; gerar pelo menos um valor de pixel de uma unidade de 1/4 de pixel mediante aplicar o primeiro filtro de interpolação a um primeiro conjunto de valores de pixel de uma unidade de pixel de número inteiro de uma primeira imagem de referência mediante uso dos selecionados coeficientes de filtro do primeiro filtro de interpolação; selecionar coeficientes de filtro de um segundo filtro de interpolação, para interpolação de acordo com um segundo local de interpolação incluindo pelo menos um de localização 1/8 pixel, localização 3/8 pixel e localização 4/8 pixel; e gerar pelo menos um valor de pixel de uma unidade 1/8 pixel mediante aplicar o segundo filtro de interpolação a um segundo conjunto de valores de pixel de uma unidade pixel de número inteiro de uma segunda imagem de referência mediante uso dos selecionados coeficientes de filtro do segundo filtro de interpolação, em que, quando a primeira localização de interpolação é a localização 2/4 pixel, o primeiro filtro de interpolação é um filtro de instalação de 8-derivações compreendendo oito coeficientes de filtro: {-1, 4, -11, 40, 40, -11, 4, -1}, quando a primeira localização de interpolação é uma localização 1/4 pixel ou uma localização 3/4 pixel, o pelo menos um valor de pixel é gerado mediante aplicar o primeiro filtro de interpolação ao primeiro conjunto de valores de pixel das unidades de pixel de número inteiro, sem usar o valor de pixel gerado da localização 2/4 pixel, e quando a segunda localização de interpolação é a localização 4/8 pixel, o segundo filtro de interpolação é um filtro de interpolação de 4-derivações compreendendo quatro coeficientes de filtro: {-4, 36, 36, -4}.
BR112012025307-7A 2010-04-05 2011-04-05 Método de interpolar uma imagem, equipamento para interpolar uma imagem, e meio de gravação legível por computador BR112012025307B1 (pt)

Priority Applications (4)

Application Number Priority Date Filing Date Title
BR122021004645-0A BR122021004645B1 (pt) 2010-04-05 2011-04-05 Aparelho para compensação de movimento
BR122021004646-8A BR122021004646B1 (pt) 2010-04-05 2011-04-05 Método de interpolação de uma imagem para inter-predição
BR122021004637-9A BR122021004637B1 (pt) 2010-04-05 2011-04-05 Aparelho para interpolar uma imagem para inter-predição
BR122021004640-9A BR122021004640B1 (pt) 2010-04-05 2011-04-05 Método de compensação de movimento

Applications Claiming Priority (7)

Application Number Priority Date Filing Date Title
US32084710P 2010-04-05 2010-04-05
US61/320,847 2010-04-05
US36749810P 2010-07-26 2010-07-26
US61/367,498 2010-07-26
KR10-2010-0095956 2010-10-01
KR1020100095956A KR101682147B1 (ko) 2010-04-05 2010-10-01 변환 및 역변환에 기초한 보간 방법 및 장치
PCT/KR2011/002388 WO2011126287A2 (en) 2010-04-05 2011-04-05 Method and apparatus for performing interpolation based on transform and inverse transform

Publications (2)

Publication Number Publication Date
BR112012025307A2 BR112012025307A2 (pt) 2017-09-12
BR112012025307B1 true BR112012025307B1 (pt) 2022-01-11

Family

ID=45028064

Family Applications (1)

Application Number Title Priority Date Filing Date
BR112012025307-7A BR112012025307B1 (pt) 2010-04-05 2011-04-05 Método de interpolar uma imagem, equipamento para interpolar uma imagem, e meio de gravação legível por computador

Country Status (13)

Country Link
US (6) US8676000B2 (pt)
EP (1) EP2556675A4 (pt)
JP (2) JP2013524678A (pt)
KR (6) KR101682147B1 (pt)
CN (5) CN105955933B (pt)
AU (1) AU2011239142B2 (pt)
BR (1) BR112012025307B1 (pt)
CA (5) CA2795626C (pt)
MX (1) MX2012011646A (pt)
MY (1) MY153844A (pt)
RU (5) RU2580057C2 (pt)
WO (1) WO2011126287A2 (pt)
ZA (5) ZA201208292B (pt)

Families Citing this family (49)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101682147B1 (ko) 2010-04-05 2016-12-05 삼성전자주식회사 변환 및 역변환에 기초한 보간 방법 및 장치
US9317896B2 (en) * 2010-07-09 2016-04-19 Samsung Electronics Co., Ltd. Image interpolation method and apparatus
US8855188B2 (en) * 2010-07-15 2014-10-07 Sharp Laboratories Of America, Inc. Method of parallel video coding based on mapping
US8873617B2 (en) * 2010-07-15 2014-10-28 Sharp Laboratories Of America, Inc. Method of parallel video coding based on same sized blocks
US8848779B2 (en) * 2010-07-15 2014-09-30 Sharp Laboratories Of America, Inc. Method of parallel video coding based on block size
US9172972B2 (en) 2011-01-05 2015-10-27 Qualcomm Incorporated Low complexity interpolation filtering with adaptive tap size
CN103503458B (zh) 2011-01-07 2017-09-22 诺基亚技术有限公司 视频编码中的运动预测
US9049454B2 (en) 2011-01-19 2015-06-02 Google Technology Holdings Llc. High efficiency low complexity interpolation filters
US20120224639A1 (en) * 2011-03-03 2012-09-06 General Instrument Corporation Method for interpolating half pixels and quarter pixels
US9313519B2 (en) 2011-03-11 2016-04-12 Google Technology Holdings LLC Interpolation filter selection using prediction unit (PU) size
US9264725B2 (en) 2011-06-24 2016-02-16 Google Inc. Selection of phase offsets for interpolation filters for motion compensation
CN103650506B (zh) * 2011-07-01 2017-08-15 谷歌技术控股有限责任公司 用于时间预测的联合亚像素插值滤波器
US8948248B2 (en) * 2011-07-21 2015-02-03 Luca Rossato Tiered signal decoding and signal reconstruction
FR2980068A1 (fr) * 2011-09-13 2013-03-15 Thomson Licensing Procede de codage et de reconstruction d'un bloc de pixels et dispositifs correspondants
AU2012200345B2 (en) 2012-01-20 2014-05-01 Canon Kabushiki Kaisha Method, apparatus and system for encoding and decoding the significance map residual coefficients of a transform unit
CN102833550A (zh) * 2012-09-03 2012-12-19 北京大学深圳研究生院 一种低复杂度的分像素插值滤波器
US20140078394A1 (en) * 2012-09-17 2014-03-20 General Instrument Corporation Selective use of chroma interpolation filters in luma interpolation process
EP3661215A1 (en) 2012-09-28 2020-06-03 Vid Scale, Inc. Cross-plane filtering for chroma signal enhancement in video coding
US10291827B2 (en) * 2013-11-22 2019-05-14 Futurewei Technologies, Inc. Advanced screen content coding solution
US9463057B2 (en) * 2014-01-16 2016-10-11 Amendia, Inc. Orthopedic fastener
WO2015143351A1 (en) 2014-03-21 2015-09-24 Futurewei Technologies, Inc. Advanced screen content coding with improved color table and index map coding methods
US10091512B2 (en) 2014-05-23 2018-10-02 Futurewei Technologies, Inc. Advanced screen content coding with improved palette table and index map coding methods
US10659806B2 (en) 2014-11-04 2020-05-19 Samsung Electronics Co., Ltd. Video encoding method and apparatus, and video decoding method and apparatus using interpolation filter on which image characteristic is reflected
US10200713B2 (en) * 2015-05-11 2019-02-05 Qualcomm Incorporated Search region determination for inter coding within a particular picture of video data
WO2017007989A1 (en) * 2015-07-08 2017-01-12 Vid Scale, Inc. Enhanced chroma coding using cross plane filtering
CN105427258B (zh) * 2015-11-25 2018-09-14 惠州Tcl移动通信有限公司 圆形图案显示平滑的优化处理方法、系统及智能设备
US10009622B1 (en) 2015-12-15 2018-06-26 Google Llc Video coding with degradation of residuals
CN108476319A (zh) * 2016-01-11 2018-08-31 三星电子株式会社 图像编码方法和设备以及图像解码方法和设备
US11494547B2 (en) * 2016-04-13 2022-11-08 Microsoft Technology Licensing, Llc Inputting images to electronic devices
US10341659B2 (en) * 2016-10-05 2019-07-02 Qualcomm Incorporated Systems and methods of switching interpolation filters
US10728548B2 (en) * 2017-04-04 2020-07-28 Futurewei Technologies, Inc. Processing reference samples used for intra-prediction of a picture block
JP7026450B2 (ja) * 2017-04-24 2022-02-28 ソニーグループ株式会社 送信装置、送信方法、受信装置および受信方法
JP6982990B2 (ja) 2017-06-19 2021-12-17 ソニーグループ株式会社 送信装置、送信方法、受信装置および受信方法
EP3471418A1 (en) * 2017-10-12 2019-04-17 Thomson Licensing Method and apparatus for adaptive transform in video encoding and decoding
US10841610B2 (en) * 2017-10-23 2020-11-17 Avago Technologies International Sales Pte. Limited Block size dependent interpolation filter selection and mapping
CN111201791B (zh) 2017-11-07 2022-05-24 华为技术有限公司 用于视频编码的帧间预测装置和方法的插值滤波器
GB2574380A (en) * 2018-05-30 2019-12-11 Realvnc Ltd Processing image data
CN108848380B (zh) * 2018-06-20 2021-11-30 腾讯科技(深圳)有限公司 视频编码和解码方法、装置、计算机设备及存储介质
US10674151B2 (en) * 2018-07-30 2020-06-02 Intel Corporation Adaptive in-loop filtering for video coding
BR112021005561A2 (pt) 2018-09-24 2021-06-29 Huawei Technologies Co., Ltd. dispositivo de processamento de imagem e método para realizar desblocagem otimizada de qualidade
GB2577339A (en) * 2018-09-24 2020-03-25 Sony Corp Image data encoding and decoding
WO2020084475A1 (en) 2018-10-22 2020-04-30 Beijing Bytedance Network Technology Co., Ltd. Utilization of refined motion vector
EP3857879A4 (en) 2018-11-12 2022-03-16 Beijing Bytedance Network Technology Co., Ltd. SIMPLIFICATION OF COMBINED INTER-INTRA PREDICTION
WO2020098782A1 (en) * 2018-11-16 2020-05-22 Beijing Bytedance Network Technology Co., Ltd. Weights in combined inter intra prediction mode
KR20210091161A (ko) 2018-11-20 2021-07-21 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 부분적 위치에 기반한 차분 계산
KR102635518B1 (ko) 2019-03-06 2024-02-07 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 변환된 단예측 후보의 사용
CN113767623B (zh) 2019-04-16 2024-04-02 北京字节跳动网络技术有限公司 用于视频编解码的自适应环路滤波
KR20200144480A (ko) * 2019-06-18 2020-12-29 한국전자통신연구원 영상 부호화/복호화 방법, 장치 및 비트스트림을 저장한 기록 매체
WO2021040481A1 (ko) * 2019-08-29 2021-03-04 엘지전자 주식회사 크로스 컴포넌트 필터링 기반 영상 코딩 장치 및 방법

Family Cites Families (75)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB9012326D0 (en) * 1990-06-01 1990-07-18 Thomson Consumer Electronics Wide screen television
DE4327177A1 (de) 1993-08-13 1995-02-16 Putzmeister Maschf Anordnung zum Öffnen und Schließen einer Verschlußkappe
WO1995015538A1 (en) * 1993-11-30 1995-06-08 Polaroid Corporation Coding methods and apparatus for scaling and filtering images using discrete cosine transforms
US5774598A (en) * 1993-11-30 1998-06-30 Polaroid Corporation System and method for sample rate conversion of an image using discrete cosine transforms
US5845015A (en) * 1995-10-12 1998-12-01 Sarnoff Corporation Method and apparatus for resizing images using the discrete cosine transform
JP3596194B2 (ja) * 1996-10-29 2004-12-02 ソニー株式会社 画像処理装置および方法
US6539120B1 (en) * 1997-03-12 2003-03-25 Matsushita Electric Industrial Co., Ltd. MPEG decoder providing multiple standard output signals
JPH10322705A (ja) * 1997-05-21 1998-12-04 Sony Corp 動き検出及び動き補償予測回路
DE19730305A1 (de) * 1997-07-15 1999-01-21 Bosch Gmbh Robert Verfahren zur Erzeugung eines verbesserten Bildsignals bei der Bewegungsschätzung von Bildsequenzen, insbesondere eines Prädiktionssignals für Bewegtbilder mit bewegungskompensierender Prädiktion
JP3042459B2 (ja) * 1997-08-25 2000-05-15 日本電気株式会社 映像表示装置
JPH11238121A (ja) * 1998-02-20 1999-08-31 Dainippon Screen Mfg Co Ltd 画像補間方法および画像補間装置
US6819333B1 (en) * 2000-05-12 2004-11-16 Silicon Graphics, Inc. System and method for displaying an image using display distortion correction
GB2365646B (en) * 2000-07-31 2004-10-13 Sony Uk Ltd Image processor and method of processing images
JP2002152745A (ja) * 2000-11-13 2002-05-24 Sony Corp 画像情報変換装置及び方法
JP2002197454A (ja) * 2000-12-27 2002-07-12 Sony Corp 画像変換装置及び方法
FR2820255A1 (fr) 2001-01-26 2002-08-02 France Telecom Procedes de codage et de decodage d'images, dispositifs, systemes, signaux et applications correspondants
FR2829345B1 (fr) 2001-09-06 2003-12-12 Nextream Sa Dispositif et procede de codage d'images video par compensation de mouvement
US6950469B2 (en) 2001-09-17 2005-09-27 Nokia Corporation Method for sub-pixel value interpolation
JP2003122338A (ja) * 2001-10-18 2003-04-25 Sony Corp 画像変換装置、画像表示装置および画像変換方法
JP3861698B2 (ja) * 2002-01-23 2006-12-20 ソニー株式会社 画像情報符号化装置及び方法、画像情報復号装置及び方法、並びにプログラム
US7110459B2 (en) 2002-04-10 2006-09-19 Microsoft Corporation Approximate bicubic filter
JP4120301B2 (ja) * 2002-04-25 2008-07-16 ソニー株式会社 画像処理装置およびその方法
EP1530829B1 (en) * 2002-07-09 2018-08-22 Nokia Technologies Oy Method and apparatus for selecting interpolation filter type in video coding
AU2003251964A1 (en) * 2002-07-16 2004-02-02 Nokia Corporation A method for random access and gradual picture refresh in video coding
JP3791922B2 (ja) * 2002-09-06 2006-06-28 富士通株式会社 動画像復号化装置及び方法
US20040081238A1 (en) 2002-10-25 2004-04-29 Manindra Parhy Asymmetric block shape modes for motion estimation
WO2004064406A1 (en) * 2003-01-10 2004-07-29 Thomson Licensing S.A. Defining interpolation filters for error concealment in a coded image
JP3997171B2 (ja) * 2003-03-27 2007-10-24 株式会社エヌ・ティ・ティ・ドコモ 動画像符号化装置、動画像符号化方法、動画像符号化プログラム、動画像復号装置、動画像復号方法、及び動画像復号プログラム
KR100468786B1 (ko) 2003-04-02 2005-01-29 삼성전자주식회사 방향성을 예측하고 다항식 필터로 보간을 수행하여스케일링 해상도를 높이는 보간기, 이를 구비한 스케일링장치, 및 그 방법
HUP0301368A3 (en) 2003-05-20 2005-09-28 Amt Advanced Multimedia Techno Method and equipment for compressing motion picture data
RU2305377C2 (ru) * 2003-05-20 2007-08-27 Корпорация "САМСУНГ ЭЛЕКТРОНИКС Ко., Лтд." Способ уменьшения искажения сжатого видеоизображения и устройство для его реализации
CN100394792C (zh) * 2003-07-08 2008-06-11 皇家飞利浦电子股份有限公司 运动补偿图像信号内插单元、图像处理设备和生成内插图像的方法
US7515072B2 (en) * 2003-09-25 2009-04-07 International Rectifier Corporation Method and apparatus for converting PCM to PWM
CN1216495C (zh) * 2003-09-27 2005-08-24 浙江大学 视频图像亚像素插值的方法和装置
CN1256849C (zh) * 2003-11-04 2006-05-17 浙江大学 1/4像素精度插值的方法和装置
KR20050045746A (ko) 2003-11-12 2005-05-17 삼성전자주식회사 계층 구조의 가변 블록 크기를 이용한 움직임 추정 방법및 장치
US6999105B2 (en) * 2003-12-04 2006-02-14 International Business Machines Corporation Image scaling employing horizontal partitioning
NO320114B1 (no) * 2003-12-05 2005-10-24 Tandberg Telecom As Forbedret utregning av interpolerte pixelverdier
JP2005217532A (ja) * 2004-01-27 2005-08-11 Canon Inc 解像度変換方法及び解像度変換装置
KR20050121627A (ko) 2004-06-22 2005-12-27 삼성전자주식회사 동영상 코덱의 필터링 방법 및 필터링 장치
US20050281339A1 (en) 2004-06-22 2005-12-22 Samsung Electronics Co., Ltd. Filtering method of audio-visual codec and filtering apparatus
EP1782622A1 (en) * 2004-06-23 2007-05-09 Koninklijke Philips Electronics N.V. Pixel interpolation
US7430238B2 (en) * 2004-12-10 2008-09-30 Micronas Usa, Inc. Shared pipeline architecture for motion vector prediction and residual decoding
US7623575B2 (en) * 2005-01-05 2009-11-24 Lsi Corporation Method and apparatus for sub-pixel motion compensation
US20070009050A1 (en) * 2005-04-11 2007-01-11 Nokia Corporation Method and apparatus for update step in video coding based on motion compensated temporal filtering
US20060285590A1 (en) 2005-06-21 2006-12-21 Docomo Communications Laboratories Usa, Inc. Nonlinear, prediction filter for hybrid video compression
DE602005012504D1 (de) * 2005-08-22 2009-03-12 Panasonic Corp Kombinierter OFDM und Wavelet Mehrträger Sende-Empfänger
JP4643454B2 (ja) 2006-01-10 2011-03-02 株式会社東芝 動画像復号装置及び動画像復号方法
CN1794821A (zh) * 2006-01-11 2006-06-28 浙江大学 可分级视频压缩中插值的方法与装置
KR100728031B1 (ko) 2006-01-23 2007-06-14 삼성전자주식회사 가변 블록 크기 움직임 예측을 위한 부호화 모드 결정 방법및 장치
US8644643B2 (en) * 2006-06-14 2014-02-04 Qualcomm Incorporated Convolution filtering in a graphics processor
JP4178480B2 (ja) * 2006-06-14 2008-11-12 ソニー株式会社 画像処理装置、画像処理方法、撮像装置および撮像方法
CN100551073C (zh) * 2006-12-05 2009-10-14 华为技术有限公司 编解码方法及装置、分像素插值处理方法及装置
CN101212672B (zh) * 2006-12-30 2011-01-05 安凯(广州)微电子技术有限公司 视频内容自适应的亚像素插值方法和装置
KR101369746B1 (ko) 2007-01-22 2014-03-07 삼성전자주식회사 적응적 보간 필터를 이용한 영상 부호화, 복호화 방법 및장치
KR100842558B1 (ko) 2007-01-26 2008-07-01 삼성전자주식회사 동영상 부호화를 위한 블록 모드 결정 방법 및 그 장치
EP1983759A1 (en) * 2007-04-19 2008-10-22 Matsushita Electric Industrial Co., Ltd. Estimation of separable adaptive interpolation filters for hybrid video coding
US8023562B2 (en) 2007-09-07 2011-09-20 Vanguard Software Solutions, Inc. Real-time video coding/decoding
US8090031B2 (en) * 2007-10-05 2012-01-03 Hong Kong Applied Science and Technology Research Institute Company Limited Method for motion compensation
EP2208181A2 (en) 2007-10-05 2010-07-21 Nokia Corporation Video coding with pixel-aligned directional adaptive interpolation filters
EP2048886A1 (en) * 2007-10-11 2009-04-15 Panasonic Corporation Coding of adaptive interpolation filter coefficients
KR100952340B1 (ko) 2008-01-24 2010-04-09 에스케이 텔레콤주식회사 시공간적 복잡도를 이용한 부호화 모드 결정 방법 및 장치
JP2009182776A (ja) * 2008-01-31 2009-08-13 Hitachi Ltd 符号化装置、復号化装置、および、動画像符号化方法、動画像復号化方法
US8731062B2 (en) * 2008-02-05 2014-05-20 Ntt Docomo, Inc. Noise and/or flicker reduction in video sequences using spatial and temporal processing
WO2009110160A1 (ja) 2008-03-07 2009-09-11 株式会社 東芝 動画像符号化/復号化方法及び装置
US8831086B2 (en) * 2008-04-10 2014-09-09 Qualcomm Incorporated Prediction techniques for interpolation in video coding
US8705622B2 (en) * 2008-04-10 2014-04-22 Qualcomm Incorporated Interpolation filter support for sub-pixel resolution in video coding
US8971412B2 (en) 2008-04-10 2015-03-03 Qualcomm Incorporated Advanced interpolation techniques for motion compensation in video coding
KR101517768B1 (ko) * 2008-07-02 2015-05-06 삼성전자주식회사 영상의 부호화 방법 및 장치, 그 복호화 방법 및 장치
KR101530549B1 (ko) 2008-10-10 2015-06-29 삼성전자주식회사 적응적 1차원 필터 세트를 이용한 영상 부호화 방법 및 장치, 영상 복호화 방법 및 장치
KR20110017719A (ko) * 2009-08-14 2011-02-22 삼성전자주식회사 비디오 부호화 방법 및 장치, 비디오 복호화 방법 및 장치
KR101682147B1 (ko) 2010-04-05 2016-12-05 삼성전자주식회사 변환 및 역변환에 기초한 보간 방법 및 장치
KR101750046B1 (ko) 2010-04-05 2017-06-22 삼성전자주식회사 트리 구조에 따른 부호화 단위에 기반한 인루프 필터링을 수반하는 비디오 부호화 방법과 그 장치 및 복호화 방법과 그 장치
EP2996336B1 (en) * 2010-09-30 2017-09-13 Samsung Electronics Co., Ltd Device for interpolating images by using a smoothing interpolation filter
CN102833550A (zh) * 2012-09-03 2012-12-19 北京大学深圳研究生院 一种低复杂度的分像素插值滤波器

Also Published As

Publication number Publication date
KR101682151B1 (ko) 2016-12-02
AU2011239142B2 (en) 2015-07-02
AU2011239142A1 (en) 2012-11-01
US20150178891A1 (en) 2015-06-25
EP2556675A2 (en) 2013-02-13
BR112012025307A2 (pt) 2017-09-12
RU2015116277A (ru) 2015-09-10
KR101682152B1 (ko) 2016-12-02
WO2011126287A3 (en) 2012-01-26
KR20150035938A (ko) 2015-04-07
CA2887941C (en) 2017-03-21
KR101682150B1 (ko) 2016-12-02
CA2795626A1 (en) 2011-10-13
MX2012011646A (es) 2012-11-29
CA2795626C (en) 2017-02-14
CN105959698B (zh) 2019-03-12
US9547886B2 (en) 2017-01-17
KR20150035939A (ko) 2015-04-07
RU2580057C2 (ru) 2016-04-10
JP2013524678A (ja) 2013-06-17
CN106131566A (zh) 2016-11-16
RU2612612C2 (ru) 2017-03-09
JP2016187191A (ja) 2016-10-27
CN105955933B (zh) 2018-12-07
CA2887944A1 (en) 2011-10-13
CN106231310B (zh) 2019-08-13
CA2887944C (en) 2017-03-21
KR20150035940A (ko) 2015-04-07
US8676000B2 (en) 2014-03-18
MY153844A (en) 2015-03-31
CA2887940C (en) 2017-09-05
US20140198996A1 (en) 2014-07-17
US20150178892A1 (en) 2015-06-25
CN102939760A (zh) 2013-02-20
RU2015116279A (ru) 2015-09-10
US20110243471A1 (en) 2011-10-06
CN102939760B (zh) 2016-08-17
ZA201600680B (en) 2016-11-30
EP2556675A4 (en) 2015-08-26
US20150178890A1 (en) 2015-06-25
CA2887942A1 (en) 2011-10-13
RU2015116169A (ru) 2015-09-20
RU2612614C2 (ru) 2017-03-09
KR101682147B1 (ko) 2016-12-05
RU2015116285A (ru) 2015-09-20
CA2887941A1 (en) 2011-10-13
WO2011126287A2 (en) 2011-10-13
ZA201600703B (en) 2016-11-30
RU2612613C2 (ru) 2017-03-09
CN106231310A (zh) 2016-12-14
RU2612611C2 (ru) 2017-03-09
US9390470B2 (en) 2016-07-12
CA2887940A1 (en) 2011-10-13
KR101682148B1 (ko) 2016-12-02
CA2887942C (en) 2017-03-21
CN106131566B (zh) 2019-06-14
CN105955933A (zh) 2016-09-21
KR20150035936A (ko) 2015-04-07
US9424625B2 (en) 2016-08-23
KR101682149B1 (ko) 2016-12-02
KR20110112176A (ko) 2011-10-12
ZA201600681B (en) 2016-11-30
ZA201600679B (en) 2016-11-30
US20150178893A1 (en) 2015-06-25
CN105959698A (zh) 2016-09-21
US9262804B2 (en) 2016-02-16
ZA201208292B (en) 2016-09-28
RU2012146739A (ru) 2014-07-10
KR20150035937A (ko) 2015-04-07
US9436975B2 (en) 2016-09-06

Similar Documents

Publication Publication Date Title
BR112012025307B1 (pt) Método de interpolar uma imagem, equipamento para interpolar uma imagem, e meio de gravação legível por computador
JP7335315B2 (ja) 画像予測方法および関連装置
RU2654525C1 (ru) Способ для интерполяции изображений с использованием асимметричного интерполяционного фильтра и устройство для этого
JP2023179682A (ja) 隣接サンプル減少を伴う線形またはアフィン変換を使用するイントラ予測
BR112013000554A2 (pt) método para interpolar imagem, e aparelho para interpolar imagem
BR122013019016A2 (pt) método de decodificação de uma imagem
CN107810632B (zh) 具有降低代价的块分割和细化的帧内模式选择的帧内预测处理器
CN110024386A (zh) 用于对图像进行编码/解码的方法和设备、用于存储比特流的记录介质
CN105338365B (zh) 视频编码方法和视频编码装置
BR122021004637B1 (pt) Aparelho para interpolar uma imagem para inter-predição
JP5202558B2 (ja) イントラ予測装置、符号化器、復号器及びプログラム

Legal Events

Date Code Title Description
B15K Others concerning applications: alteration of classification

Ipc: H04N 7/00 (2011.01)

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

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

Ipc: H04N 19/48 (2014.01), H04N 19/523 (2014.01), H04N

B06U Preliminary requirement: requests with searches performed by other patent offices: procedure suspended [chapter 6.21 patent gazette]
B350 Update of information on the portal [chapter 15.35 patent gazette]
B09A Decision: intention to grant [chapter 9.1 patent gazette]
B16A Patent or certificate of addition of invention granted [chapter 16.1 patent gazette]

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