BR112020019740A2 - aparelho e método de processamento de imagem - Google Patents

aparelho e método de processamento de imagem Download PDF

Info

Publication number
BR112020019740A2
BR112020019740A2 BR112020019740-8A BR112020019740A BR112020019740A2 BR 112020019740 A2 BR112020019740 A2 BR 112020019740A2 BR 112020019740 A BR112020019740 A BR 112020019740A BR 112020019740 A2 BR112020019740 A2 BR 112020019740A2
Authority
BR
Brazil
Prior art keywords
pixel
pixels
current
interpolation support
target pixel
Prior art date
Application number
BR112020019740-8A
Other languages
English (en)
Inventor
Maxim Borisovich Sychev
Georgy Aleksandrovich ZHULIKOV
Timophey Mikhailovich Solovyev
Sergey Yurievich IKONIN
Original Assignee
Huawei Technologies 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 Huawei Technologies Co., Ltd. filed Critical Huawei Technologies Co., Ltd.
Publication of BR112020019740A2 publication Critical patent/BR112020019740A2/pt

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/587Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal sub-sampling or interpolation, e.g. decimation or subsequent interpolation of pictures in a video sequence
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/117Filters, e.g. for pre-processing or post-processing
    • 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/172Methods 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 picture, frame or field
    • 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/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/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/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/527Global motion vector estimation
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Image Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Television Systems (AREA)

Abstract

''APARELHO E MÉTODO DE PROCESSAMENTO DE IMAGEM''. A invenção se refere a um aparelho de processamento de imagem para determinar com base em uma imagem que define uma pluralidade de valores de pixel de uma matriz de pixels (10a-d) um valor de pixel interpolado de um pixel alvo (12a-c). O aparelho de processamento de imagem compreende circuitos de processamento configurados para: obter um valor de ângulo de direção associado ao pixel alvo (12a-c); selecionar para o pixel alvo (12a-c) uma pluralidade de pixels de suporte de interpolação primários (10a-d) da matriz de pixels (10a-d) com base na posição do pixel alvo (12a-c); determinar valores de pixel de um primeiro e um segundo pixels de suporte de interpolação secundários (11ac, 11bd) com base nos valores de pixel dos pixels de suporte de interpolação primários selecionados (10a-d), o valor de ângulo de direção (a, b) e a posição do pixel alvo (12a-c); e determinar o valor de pixel interpolado do pixel alvo (12a-c) com base nos valores de pixel do primeiro e segundo pixel de suporte de interpolação secundário (11ac, 11bd) e a posição do pixel alvo (12a-c). A técnica oferece uma variedade de vantagens.

Description

APARELHO E MÉTODO DE PROCESSAMENTO DE IMAGEM CAMPO TÉCNICO
[0001] Geralmente, a invenção refere-se ao campo do processamento de imagem, em particular à codificação de vídeo. Mais especificamente, a invenção se refere a um aparelho de processamento de imagem e método para interpolação de valores de pixel de pixels subinteiros com base nos valores de pixels de uma matriz de pixels inteiros completos, bem como um aparelho de inter-predição para codificação de vídeo incluindo tais um aparelho de processamento de imagem.
ANTECEDENTES
[0002] A interpolação de uma imagem digital, ou seja, prever valores de pixel de pixels subinteiros com base nos valores de pixel de uma matriz bidimensional de pixels inteiros completos, é uma ferramenta comum em muitas aplicações de processamento de imagem, como redimensionamento de imagem ou inter-predição para codificação de vídeo.
[0003] No campo da codificação de vídeo, por exemplo, técnicas de interpolação de pixel subinteiro foram desenvolvidas para melhorar a precisão de predição para um nível de compressão que pode ser alcançado para inter- predição. Nesse caso, os dados preditivos gerados durante a compensação de movimento, que são usados para codificar um bloco de vídeo, podem corresponder a pixels subinteiros, cujos valores podem ser interpolados de valores para pixels completos de blocos de vídeo de um quadro de vídeo de referência ou outra unidade codificada à qual um vetor de movimento se refere. O codificador de vídeo pode calcular valores para posições de pixels subinteiros usando técnicas de interpolação, por exemplo, aplicando filtros de interpolação a um conjunto de pixels de suporte, por exemplo, valores para pixels inteiros completos.
[0004] Os padrões atuais H.264/AVC e H.265/HEVC são baseados em uma resolução de deslocamento de ¼ pel. O grupo Joint Video Exploration Team (JVET) está explorando as tecnologias de compressão de vídeo pós-HEVC, incluindo modelos de compensação de movimento não translacional, como transformações afins. Para estimar e compensar os deslocamentos fracionários-pel (ou subinteiro), os pixels inteiros completos da imagem de referência devem ser interpolados no fracionário-pel, ou seja, posições subinteiras. Para obter a imagem interpolada nas posições fracionária-pel, são usados filtros de interpolação. O problema da interpolação para modelos de movimento sem translação são os deslocamentos variáveis fracionários-pel.
[0005] A qualidade da imagem interpolada depende fortemente das propriedades do(s) filtro(s) de interpolação. Os filtros de derivação curta (por exemplo, bilineares) podem suprimir as altas frequências e tornar a imagem interpolada borrada. Por outro lado, os filtros de derivação longa (por exemplo, baseados em sinc) requerem mais largura de banda de memória e podem preservar altas frequências mas geram alguns artefatos de toque nas proximidades de bordas vivas. Outra consideração é que para compensação de movimento de modelos não translacional a complexidade foi reduzida pela diminuição da precisão de interpolação e predição.
[0006] No modelo de movimento afim proposto pelo JEM há dois tipos de movimento suportados: zoom e rotação. A maioria das posições fracionária-pel são não constantes em uma unidade de predição. Os pixels são substituídos por sub- blocos para acelerar a interpolação. Dentro de um sub-bloco o vetor de deslocamento é constante e translacional. A complexidade foi reduzida gradualmente, mas a precisão também foi reduzida. Para melhorar a qualidade da predição, a precisão da compensação de movimento foi aprimorada aumentando a precisão de deslocamento de vetor de movimento para sub-blocos com o aumento de quantidade de filtros de interpolação. A precisão atual da filtragem de interpolação para o modelo de movimento não translacional ainda precisa ser aprimorada.
[0007] Convencionalmente, a interpolação bilinear é usada em muitas aplicações de processamento de imagem, incluindo intra-predição para codificação de vídeo. A ideia chave por trás da interpolação bilinear é realizar a interpolação linear primeiro em uma direção e depois na outra. A Figura 1 ilustra um exemplo de interpolação bilinear convencional. Em um primeiro estágio, os valores de pixel dos pixels 1a, 1c e os valores de pixel dos pixels 1b, 1d são interpolados na direção y para obter os valores interpolados nos pixels subinteiros 1ac e 1bd, respectivamente. Em um segundo estágio, os valores interpolados dos pixels subinteiros 1ac e 1bd são interpolados na direção x para obter o valor de pixel interpolado para o pixel subinteiro desejado 2. No exemplo mostrado na figura 1, uma pluralidade de pixels subinteiros desejados, incluindo o pixel subinteiro 2, estão localizados ao longo de uma linha reta 3. Para tais cenários, seria desejável ter um esquema de interpolação capaz de fornecer melhores resultados de interpolação do que a interpolação bilinear convencional.
[0008] Assim, há uma necessidade de um aparelho e método de processamento de imagem aprimorado implementando um esquema de interpolação aprimorado, em particular para inter-predição para codificação de vídeo.
SUMÁRIO
[0009] É um objetivo da invenção fornecer um aparelho de processamento de imagem aprimorado e método implementando um esquema de interpolação aprimorado, em particular para inter-predição para codificação de vídeo.
[00010] Os objetos precedentes e outros são alcançados pela matéria das reivindicações independentes. Outras formas de implementação são evidentes a partir das reivindicações dependentes, do relatório descritivo e das figuras.
[00011] De acordo com um primeiro aspecto, a invenção se refere a um aparelho de processamento de imagem para determinar com base em uma imagem que define uma pluralidade de valores de pixel de uma matriz de pixels um valor de pixel interpolado de um pixel alvo. O aparelho de processamento de imagem compreende circuitos de processamento configurados para: obter um valor de ângulo de direção associado ao pixel alvo; selecionar para o pixel alvo uma pluralidade de pixels de suporte de interpolação primários da matriz de pixels com base na posição do pixel alvo; determinar valores de pixel de um primeiro e um segundo pixels de suporte de interpolação secundários com base nos valores de pixel dos pixels de suporte de interpolação primários selecionados, o valor de ângulo de direção e a posição do pixel alvo; e determinar o valor de pixel interpolado do pixel alvo com base nos valores de pixel do primeiro e segundo pixel de suporte de interpolação secundário e a posição do pixel alvo. Em uma forma de implementação, a matriz de pixels é uma matriz de pixels inteiros completos. Em uma forma de implementação, o pixel alvo é um pixel subinteiro.
[00012] Em uma outra forma de implementação possível do primeiro aspecto, a pluralidade de pixels de suporte de interpolação primários do pixel alvo inclui um ou mais pixels de suporte de interpolação primários de um pixel alvo interpolado previamente e/ou a pluralidade de pixels de suporte de interpolação secundários inclui um ou mais pixels de suporte de interpolação secundários de um pixel alvo interpolado anteriormente.
[00013] Em uma outra forma de implementação possível do primeiro aspecto, a matriz de pixels define uma direção horizontal e uma direção vertical, em que o valor de ângulo de direção é o ângulo agudo entre uma linha reta passando através do pixel alvo e a direção horizontal.
[00014] Em uma outra forma de implementação possível do primeiro aspecto, o circuito de processamento é configurado para obter o valor de ângulo de direção determinando o valor de ângulo de direção como o ângulo entre a direção horizontal e a linha reta passando através do pixel alvo e conectando o pixel alvo com um pixel alvo adicional para ser interpolado.
[00015] Em uma outra forma de implementação possível do primeiro aspecto, o valor de ângulo de direção fica na faixa de 0° a 45°, em que a posição do primeiro pixel de suporte de interpolação secundário é definida pelo ponto de interseção entre uma linha reta passando através do pixel alvo com o valor de ângulo de direção e uma primeira linha vertical conectando dois da pluralidade de pixels de suporte de interpolação primários e em que a posição do segundo pixel de suporte de interpolação secundário é definida pelo ponto de interseção entre a linha reta passando através do pixel alvo com o valor de ângulo de direção e uma segunda linha vertical conectando dois outros da pluralidade de pixels de suporte de interpolação primários.
[00016] Em uma outra forma de implementação possível do primeiro aspecto, o circuito de processamento é configurado para determinar o valor de pixel do primeiro pixel de suporte de interpolação secundário como uma soma ponderada de dois da pluralidade de pixels de suporte de interpolação primários em que a soma ponderada depende das respectivas distâncias verticais entre cada um dos dois da pluralidade de pixels de suporte de interpolação primários e o primeiro pixel de suporte de interpolação secundário, e para determinar o valor de pixel do segundo pixel de suporte de interpolação secundário como uma soma ponderada dos outros dois da pluralidade de pixels de suporte de interpolação primários em que a soma ponderada depende das respectivas distâncias verticais entre cada um dos outros dois da pluralidade de pixels de suporte de interpolação primários e o segundo pixel de suporte de interpolação secundário.
[00017] Em uma outra forma de implementação possível do primeiro aspecto, o circuito de processamento é configurado para determinar o valor de pixel interpolado do pixel alvo como uma soma ponderada dos valores de pixel do primeiro e do segundo pixels de suporte de interpolação secundários, em que a soma ponderada depende da distância horizontal entre a posição do primeiro pixel de suporte de interpolação secundário e a posição do pixel alvo e na distância horizontal entre a posição do segundo pixel de suporte de interpolação secundário e a posição do pixel alvo.
[00018] Em uma outra forma de implementação possível do primeiro aspecto, o valor de ângulo de direção fica na faixa de 45° a 90°, em que a posição do primeiro pixel de suporte de interpolação secundário é definida pelo ponto de interseção entre uma linha reta passando através do pixel alvo com o valor de ângulo de direção e uma primeira linha horizontal conectando dois da pluralidade de pixels de suporte de interpolação primários e em que a posição do segundo pixel de suporte de interpolação secundário é definida pelo ponto de interseção entre a linha reta passando através do pixel alvo com o valor de ângulo de direção e uma segunda linha horizontal conectando dois outros da pluralidade de pixels de suporte de interpolação primários.
[00019] Em uma outra forma de implementação possível do primeiro aspecto, o circuito de processamento é configurado para determinar o valor de pixel do primeiro pixel de suporte de interpolação secundário como uma soma ponderada de dois da pluralidade de pixels de suporte de interpolação primários em que a soma ponderada depende das respectivas distâncias horizontais entre cada um dos dois da pluralidade de pixels de suporte de interpolação primários e o primeiro pixel de suporte de interpolação secundário, e para determinar o valor de pixel do segundo pixel de suporte de interpolação secundário como uma soma ponderada dos outros dois da pluralidade de pixels de suporte de interpolação primários em que a soma ponderada depende das respectivas distâncias horizontais entre cada um dos outros dois da pluralidade de pixels de suporte de interpolação primários e o segundo pixel de suporte de interpolação secundário.
[00020] Em uma outra forma de implementação possível do primeiro aspecto, o circuito de processamento é configurado para determinar o valor de pixel interpolado do pixel alvo como uma soma ponderada dos valores de pixel do primeiro e do segundo pixels de suporte de interpolação secundários, em que a soma ponderada depende da distância vertical entre a posição do primeiro pixel de suporte de interpolação secundário e a posição do pixel alvo e na distância vertical entre a posição do segundo pixel de suporte de interpolação secundário e a posição do pixel alvo.
[00021] Em uma outra forma de implementação possível do primeiro aspecto, a posição do pixel alvo define uma célula de grade atual da matriz de pixels, em que a pluralidade de pixels de suporte de interpolação primários compreende um ou mais pixels da matriz de pixels localizada em um ou mais cantos da célula de grade atual da matriz de pixels.
[00022] Em uma outra forma de implementação possível do primeiro aspecto, a pluralidade de pixels de suporte de interpolação primários compreende ainda um ou mais pixels da matriz de pixels localizados em um ou mais cantos de uma célula de grade adicional, em particular uma célula de grade vizinha da célula de grade.
[00023] De acordo com um segundo aspecto, a invenção se refere a um método de processamento de imagem correspondente para determinar com base em uma imagem que define uma pluralidade de valores de pixel de uma matriz de pixels, um valor de pixel interpolado de um pixel alvo. O método compreende: obter um valor de ângulo de direção associado ao pixel alvo; selecionar para o pixel alvo uma pluralidade de pixels de suporte de interpolação primários da matriz de pixels com base no valor de ângulo de direção e na posição do pixel alvo; determinar valores de pixel de um primeiro e um segundo pixels de suporte de interpolação secundários com base nos valores de pixel dos pixels de suporte de interpolação primários selecionados, o valor de ângulo de direção e a posição do pixel alvo; e determinar o valor de pixel interpolado do pixel alvo com base nos valores de pixel da pluralidade de pixels de suporte de interpolação secundário e a posição do pixel alvo, em particular a posição horizontal ou vertical do pixel alvo.
[00024] O método de processamento de imagem de acordo com o segundo aspecto da invenção pode ser realizado pelo aparelho de processamento de imagem de acordo com o primeiro aspecto da invenção. Outras características do método de processamento de imagem de acordo com o segundo aspecto da invenção resultam diretamente da funcionalidade do aparelho de processamento de imagem de acordo com o primeiro aspecto da invenção e suas diferentes formas de implementação descritas acima e abaixo.
[00025] De acordo com um terceiro aspecto, a invenção refere-se a um aparelho para inter-predição de um valor de pixel de um pixel inteiro completo atual de uma pluralidade de pixels de um bloco atual de um quadro atual de um sinal de vídeo. O aparelho compreende o aparelho de processamento de imagem de acordo com o primeiro aspecto e uma unidade de processamento. A unidade de processamento é configurada para: determinar um vetor de movimento do pixel inteiro completo atual com base no quadro atual e um quadro de referência do sinal de vídeo e/ou um modelo de compensação de movimento; determinar para o pixel inteiro completo atual um pixel subinteiro correspondente no quadro de referência com base no vetor de movimento do pixel inteiro completo atual; e gerar, com base em um conjunto predefinido de pixels de suporte de filtro no quadro atual, um conjunto de pixels de suporte de filtro correspondentes no quadro de referência, em que o conjunto predefinido de pixels de suporte de filtro no quadro atual compreende um ou mais pixels inteiros completos vizinhos e/ou pixels subinteiros do pixel inteiro completo atual. O aparelho de processamento de imagem é ainda configurado para determinar um valor de pixel respectivo, em particular um valor de luminância do pixel subinteiro correspondente do pixel inteiro completo atual e os pixels de suporte de filtro correspondentes no quadro de referência. A unidade de processamento é ainda configurada para determinar o valor de pixel inter-predito do pixel atual no quadro atual aplicando um filtro passa-alto espacial ao valor de pixel do pixel subinteiro correspondente do pixel inteiro completo atual no quadro de referência e para os valores de pixel dos pixels de suporte de filtro correspondentes no quadro de referência.
[00026] Em uma outra forma de implementação possível do terceiro aspecto, o conjunto predefinido de pixels de suporte de filtro no quadro atual compreende um ou mais pixels semi-inteiros vizinhos verticalmente e/ou horizontalmente do pixel inteiro completo atual no quadro atual.
[00027] Em uma outra forma de implementação possível do terceiro aspecto, o conjunto predefinido de pixels de suporte de filtro no quadro atual compreende um ou mais pixels inteiros completos vizinhos verticalmente e/ou horizontalmente do pixel inteiro completo atual no quadro atual.
[00028] Em uma outra forma de implementação possível do terceiro aspecto, o filtro passa-alto espacial é um filtro de 5 derivações ou um filtro de 3 derivações. Em uma forma de implementação, o filtro de 5 derivações ou o filtro de 3 derivações é um filtro simétrico, isto é um filtro em que o primeiro e o quinto/terceiro coeficientes de filtro são idênticos e o segundo e o quarto coeficientes de filtro são idênticos. Em uma forma de implementação, o primeiro e o quinto coeficientes do filtro são negativos, enquanto os outros coeficientes do filtro de 5 derivações são positivos.
[00029] Em uma outra forma de implementação possível do terceiro aspecto, o conjunto predefinido de pixels de suporte de filtro no quadro atual compreende um ou mais pixels inteiros completos vizinhos e pixels semi-inteiros do pixel inteiro completo atual e o filtro de 5 derivações tem os seguintes coeficientes de filtro (-6, 9, 26, 9, -6), que podem ser normalizados pelo fator 1/32.
[00030] Em uma outra forma de implementação possível do terceiro aspecto, o conjunto predefinido de pixels de suporte de filtro no quadro atual compreende um ou mais pixels inteiros completos vizinhos e pixels semi-inteiros do pixel inteiro completo atual e o filtro de 5 derivações tem os seguintes coeficientes de filtro (-1, 0, 10, 0, -1), que podem ser normalizados pelo fator 1/8. Como será apreciado, em uma outra forma de implementação possível sem os pixels de suporte meio-inteiro intermediários, esse filtro se torna um filtro de 3 derivações com os coeficientes (-1, 10, -1).
[00031] Em uma outra forma de implementação possível do terceiro aspecto, a unidade de processamento do aparelho é ainda configurada para determinar um vetor de movimento respectivo de cada um dos pixels subinteiros dos pixels de suporte de filtro no quadro atual com base no vetor de movimento do pixel inteiro completo atual e um ou mais vetores de movimento dos pixels inteiros completos vizinhos e/ou pixels subinteiros vizinhos do pixel inteiro completo atual.
[00032] Em uma outra forma de implementação possível do terceiro aspecto, a unidade de processamento do aparelho é configurada para determinar um vetor de movimento respectivo de cada um dos pixels subinteiros dos pixels de suporte de filtro no quadro atual ao determinar um vetor médio do vetor de movimento do pixel inteiro completo atual e um ou mais vetores de movimento de pixels inteiros completos vizinhos do pixel inteiro completo atual.
[00033] Em uma outra forma de implementação possível do terceiro aspecto, a unidade de processamento do aparelho é ainda configurada para determinar o um ou mais vetores de movimento de pixels inteiros completos vizinhos do pixel inteiro completo com base no quadro atual e no quadro de referência do sinal de vídeo e/ou um modelo de compensação de movimento.
[00034] Em uma outra forma de implementação possível a partir do terceiro aspecto, a unidade de processamento do aparelho é configurada para determinar o valor de pixel inter-predito do pixel atual no quadro atual aplicando um filtro passa-alto espacial ao valor de pixel do pixel subinteiro correspondente do pixel inteiro completo atual no quadro de referência e para os valores de pixel dos pixels de suporte de filtro correspondentes no quadro de referência, caso o vetor de movimento do pixel inteiro atual seja determinado com base em um modelo de compensação de movimento não translacional, e determinar o valor de pixel inter- predito do pixel atual no quadro atual com base em um esquema convencional, como o esquema convencional definido em H.264/AVC e H.265/HEVC, caso o vetor de movimento do pixel inteiro completo seja determinado com base em um modelo de compensação de movimento translacional.
[00035] Em uma outra forma de implementação possível do terceiro aspecto, o modelo de compensação de movimento não-translacional é um modelo de compensação de movimento panorâmico e/ou de distorção e/ou afim.
[00036] De acordo com um quarto aspecto, a invenção refere-se a um aparelho de codificação para codificar uma imagem atual de um sinal de vídeo, em que o aparelho de codificação compreende um aparelho de inter-predição de acordo com o terceiro aspecto.
[00037] De acordo com um quinto aspecto, a invenção refere-se a um aparelho de decodificação para decodificar uma imagem atual reconstruída de um sinal de vídeo comprimido, em que o aparelho de decodificação compreende um aparelho de inter-predição de acordo com o terceiro aspecto.
[00038] De acordo com um sexto aspecto, a invenção se refere a um produto de programa de computador compreendendo código de programa para realizar o método de acordo com o segundo aspecto quando executado em um computador ou processador.
[00039] Modalidades da invenção fornecem em particular as seguintes vantagens. Modalidades da invenção permitem realizar interpolação com precisão em pixels, mantendo a complexidade em um nível baixo. Modalidades da invenção suportam qualquer tipo de movimentos não translacional. Modalidades da invenção permitem remover artefatos de bloqueio pelas bordas de sub-blocos. Modalidades da invenção reduzem a largura de banda de memória. Modalidades da invenção reduzem os requisitos de memória para armazenar um conjunto de coeficientes de filtro. Modalidades da invenção permitem a reutilização bem otimizada na transformação bilinear HW. Modalidades da invenção alinham a orientação da filtragem ao longo da transformação. Modalidades da invenção permitem reduzir artefatos de toque causados pelo filtro de interpolação de movimento longo melhorando a qualidade de bordas interpoladas. Modalidades da invenção permitem aumentar a qualidade subjetiva das bordas em imagens reconstruídas. Além disso, as modalidades da invenção não requerem sinalização adicional e, portanto, podem substituir perfeitamente os métodos de interpolação existentes para movimentos não translacional. Dividir a interpolação em duas etapas permite separar a compensação de deslocamento fracionário da filtragem passa-alto.
BREVE DESCRIÇÃO DOS DESENHOS
[00040] Outras modalidades da invenção serão descritas em relação às figuras seguintes, em que: a Fig. 1 mostra um diagrama esquemático que ilustra a interpolação bilinear convencional de valores de pixel de pixels subinteiros com base nos valores de pixel de uma matriz de pixels inteiros completos; a Fig. 2 mostra um diagrama esquemático que ilustra um esquema para interpolação de valores de pixel de pixels subinteiros com base nos valores de pixel de uma matriz de pixels inteiros completos conforme implementado em um aparelho de processamento de imagem de acordo com uma modalidade; a Fig. 3 mostra um diagrama esquemático que ilustra um aparelho de processamento de imagem de acordo com uma modalidade para interpolação de valores de pixel de pixels subinteiros com base nos valores de pixel de uma matriz de pixels inteiros completos; a Fig. 4 mostra um diagrama esquemático que ilustra um esquema para interpolação de valores de pixel de pixels subinteiros com base nos valores de pixel de uma matriz de pixels inteiros completos conforme implementado em um aparelho de processamento de imagem de acordo com uma modalidade adicional; a Fig. 5 mostra um diagrama esquemático que ilustra um esquema para interpolação de valores de pixel de pixels subinteiros com base nos valores de pixel de uma matriz de pixels inteiros completos conforme implementado em um aparelho de processamento de imagem de acordo com uma modalidade adicional;
a Fig. 6 mostra um diagrama esquemático que ilustra um esquema para interpolação de valores de pixel de pixels subinteiros com base nos valores de pixel de uma matriz de pixels inteiros completos conforme implementado em um aparelho de processamento de imagem de acordo com uma modalidade adicional; a Fig. 7 mostra um diagrama esquemático que ilustra um esquema para interpolação de valores de pixel de pixels subinteiros com base nos valores de pixel de uma matriz de pixels inteiros completos conforme implementado em um aparelho de processamento de imagem de acordo com uma modalidade adicional; a Fig. 8 mostra um diagrama esquemático que ilustra um aparelho de codificação de acordo com uma modalidade compreendendo um aparelho de inter-predição de acordo com uma modalidade; a Fig. 9 mostra um diagrama esquemático que ilustra um aparelho de decodificação de acordo com uma modalidade compreendendo um aparelho de inter-predição de acordo com uma modalidade; a Fig. 10 mostra um diagrama esquemático que ilustra um aspecto de um processo de interpolação implementado em um aparelho de inter-predição de acordo com uma modalidade; a Fig. 11 mostra um diagrama esquemático que ilustra diferentes aspectos de um processo de interpolação implementado em um aparelho de inter-predição de acordo com uma modalidade; a Fig. 12 mostra um diagrama esquemático que ilustra diferentes aspectos de um processo de interpolação implementado em um aparelho de inter-predição de acordo com uma modalidade; e a Fig. 13 mostra um fluxograma que ilustra as etapas de um método de inter-predição de acordo com uma modalidade.
[00041] Nas várias figuras, sinais de referência idênticos serão usados para recursos idênticos ou funcionalmente equivalentes.
DESCRIÇÃO DETALHADA DAS MODALIDADES
[00042] Na descrição a seguir, é feita referência aos desenhos anexos, que fazem parte da divulgação e nos quais são mostrados, a título de ilustração, aspectos específicos nos quais a invenção pode ser colocada. Entende-se que outros aspectos podem ser utilizados e mudanças estruturais ou lógicas podem ser feitas sem se afastar do escopo da invenção. A seguinte descrição detalhada, portanto, não deve ser tomada em um sentido limitativo, uma vez que o escopo da invenção é definido pelas reivindicações anexas.
[00043] Por exemplo, entende-se que uma divulgação em conexão com um método descrito também pode ser verdadeira para um dispositivo ou sistema correspondente configurado para realizar o método e vice-versa. Por exemplo, se for descrito uma etapa de método específica, um dispositivo correspondente pode incluir uma unidade para realizar a etapa de método descrita, mesmo que essa unidade não seja explicitamente descrita ou ilustrada nas figuras. Além disso, entende-se que as características dos vários aspectos exemplares aqui descritos podem ser combinadas entre si, a menos que especificamente indicado de outra forma.
[00044] A Figura 2 mostra um diagrama esquemático que ilustra um esquema para interpolar valores de pixel de pixels alvo, em particular pixels subinteiros com base nos valores de pixel de uma matriz de pixels, em particular pixels inteiros completos implementados em um aparelho de processamento de imagem de acordo a uma modalidade, por exemplo, o aparelho de processamento de imagem 20 mostrado na figura 3. O aparelho de processamento de imagem 20 compreende circuitos de processamento 21 para determinar com base em uma imagem definindo uma pluralidade de valores de pixel de uma matriz de pixels, em particular pixels inteiros completos 10a-d um valor de pixel interpolado de um alvo, em particular sub- pixel inteiro 12a.
[00045] Como será descrito em mais detalhes abaixo, o circuito de processamento 21 do aparelho de processamento de imagem 20 é configurado para: obter um valor de ângulo de direção associado ao alvo, em particular pixel subinteiro 12a (na figura 2 o valor de ângulo de direção é definido pelo ângulo agudo entre a linha reta 13 passando através do pixel alvo 12a e a direção horizontal ou x); selecionar para o pixel alvo 12a uma pluralidade de pixels de suporte de interpolação primários 10a-d a partir da matriz de pixels com base no valor de ângulo de direção e na posição do pixel subinteiro 12a; determinar valores de pixel de um primeiro e segundo pixels de suporte de interpolação secundários 11ac, 11bd com base nos valores de pixel dos pixels de suporte de interpolação primários selecionados 10a-d, no valor de ângulo de direção e na posição do pixel alvo 12a; e determinar o valor de pixel interpolado do pixel alvo 12a com base nos valores de pixel do primeiro e do segundo pixels de suporte de interpolação secundários 11ac, 11bd e a posição do pixel alvo 12a, em particular a posição horizontal ou vertical do alvo pixel 12a.
[00046] Como mostrado na figura 2, a matriz de pixels define uma direção horizontal e uma direção vertical, em que o valor de ângulo de direção é o ângulo agudo entre a linha reta 13 passando através do pixel alvo 12a e a direção horizontal.
[00047] Com referência adicional às figuras 4 a 6, em uma modalidade, o valor de ângulo de direção a encontra-se na faixa de 0° a 45°. Neste caso, a posição do primeiro pixel de suporte de interpolação secundário 11ac é definida pelo ponto de interseção entre a linha reta 13 passando através do pixel alvo 12 com o valor de ângulo de direção e uma primeira linha vertical conectando os pixels de suporte de interpolação primários 10a e 10c. A posição do segundo pixel de suporte de interpolação secundário 11bd é definida pelo ponto de interseção entre a linha reta 13 passando através do pixel alvo 12 com o valor de ângulo de direção e uma segunda linha vertical conectando os outros dois pixels de suporte de interpolação primários 10b e 10d.
[00048] Em uma modalidade, o circuito de processamento 21 do aparelho de processamento de imagem 20 é configurado para determinar o valor de pixel do primeiro pixel de suporte de interpolação secundário 11ac como uma soma ponderada dos valores de pixel dos dois pixels de suporte de interpolação primários 10a e 10c, em que o a soma ponderada depende das respectivas distâncias verticais entre cada um dos dois pixels de suporte de interpolação primários 10a e 10c e o primeiro pixel de suporte de interpolação secundário 11ac. Além disso, o circuito de processamento 21 do aparelho de processamento de imagem 20 é configurado para determinar o valor de pixel do segundo pixel de suporte de interpolação secundário 11bd como uma soma ponderada dos outros dois pixels de suporte de interpolação primários 10b e 10d, em que a soma ponderada depende das respectivas distâncias verticais entre cada um dos outros dois pixels de suporte de interpolação primários 10b e 10d e o segundo pixel de suporte de interpolação secundário 11bd.
[00049] Em uma modalidade, o circuito de processamento 21 do aparelho de processamento de imagem 20 é configurado para determinar o valor de pixel interpolado do pixel alvo 12 como uma soma ponderada dos valores de pixel do primeiro e do segundo pixels de suporte de interpolação secundários 11ac e 11bd, em que a soma ponderada depende da distância horizontal entre a posição do primeiro pixel de suporte de interpolação secundário 11ac e a posição do pixel alvo 12 (ou seja, a menor distância entre a posição do pixel alvo 12 e a primeira linha vertical conectando o suporte de interpolação primário pixels 10a e 10c) e na distância horizontal entre a posição do segundo pixel de suporte de interpolação secundário 11 e a posição do pixel alvo 12 (isto é, a menor distância entre a posição do pixel alvo 12 e a segunda linha vertical conectando os pixels de suporte de interpolação primários 10b e 10d).
[00050] Com referência à figura 2 e referência adicional à figura 10, em uma modalidade, o circuito de processamento 21 do aparelho de processamento de imagem pode ser configurado para determinar o valor de pixel interpolado L do pixel alvo 12 com base na seguinte equação:
L=(1-fdX)*(L0*(1-ldY)+L2*(ldY)+(fdX)*(L1*(1- rdY)+L3*(rdY)), em que, como pode ser tomado na figura 10, fdx denota a distância horizontal normalizada entre a posição do pixel alvo 12, L0, L1, L2 e L3 denotam os respectivos valores de pixel dos pixels de suporte de interpolação primários 10a, 10b, 10c e 10d, ldY denota a distância vertical normalizada entre o primeiro pixel de suporte de interpolação secundário 11ac e o pixel de suporte de interpolação primário 10a, e rdY denota a distância vertical normalizada entre o segundo pixel de suporte de interpolação secundário 11bd e o pixel de suporte de interpolação primário 10b.
[00051] Como pode ser tomado na figura 6, para os casos em que o valor de ângulo de direção está na faixa de 45° a 90°, a posição do primeiro pixel de suporte de interpolação secundário é definida pelo ponto de interseção entre a linha reta 13 passando através do pixel alvo 12 com o valor de ângulo de direção e uma primeira linha horizontal conectando dois da pluralidade de pixels de suporte de interpolação primários. Da mesma forma, a posição do segundo pixel de suporte de interpolação secundário é definida pelo ponto de interseção entre a linha reta 13 passando através do pixel alvo 12 com o valor de ângulo de direção e uma segunda linha horizontal conectando dois outros da pluralidade de pixels de suporte de interpolação primários.
[00052] Em uma modalidade, o circuito de processamento 21 é configurado para determinar o valor de pixel do primeiro pixel de suporte de interpolação secundário como uma soma ponderada dos valores de pixel de dois da pluralidade de pixels de suporte de interpolação primários
10a e 10b, em que a soma ponderada depende das respectivas distâncias horizontais entre cada um dos dois pixels de suporte de interpolação primários 10a e 10b e o primeiro pixel de suporte de interpolação secundário, e para determinar o valor de pixel do segundo pixel de suporte de interpolação secundário como uma soma ponderada dos outros dois pixels de suporte de interpolação primários 10c e 10d, em que a soma ponderada depende das respectivas distâncias horizontais entre cada um dos outros dois pixels de suporte de interpolação primários 10c e 10d e o segundo pixel de suporte de interpolação secundário.
[00053] Em uma modalidade, o circuito de processamento 21 do aparelho de processamento de imagem 20 é configurado para determinar o valor de pixel interpolado do pixel alvo 12 como uma soma ponderada dos valores de pixel do primeiro e do segundo pixels de suporte de interpolação secundários, em que a soma ponderada depende da distância vertical entre a posição do primeiro pixel de suporte de interpolação secundário e a posição do pixel alvo 12 e na distância vertical entre a posição do segundo pixel de suporte de interpolação secundário e a posição do pixel alvo
12. Como será apreciado por uma pessoa versada na técnica, quaisquer distâncias, por exemplo, distâncias horizontais e/ou verticais, aqui mencionadas podem ser distâncias normalizadas.
[00054] Como pode ser tomado nas figuras 2 e 4, por exemplo, a posição do pixel alvo atual 12 define uma célula atual 10 da matriz de pixels, em que a pluralidade de pixels de suporte de interpolação primários 10a-d selecionados pelo circuito de processamento 21 compreende um ou mais pixels da matriz de pixels localizada em um ou mais cantos da célula atual 10 da matriz de pixels. Por exemplo, para o pixel alvo atual 12a mostrado na figura 2, a pluralidade de pixels de suporte de interpolação primários 10a-d selecionados pelo circuito de processamento 21 compreende os quatro pixels de canto 10a, 10b, 10c e 10d da célula atual 10 da matriz de pixels inteiros completos.
[00055] Em uma outra modalidade, a pluralidade de pixels de suporte de interpolação primários pode compreender ainda um ou mais pixels da matriz de pixels localizada em um ou mais cantos de uma célula adicional, em particular uma célula vizinha da célula atual. Por exemplo, para o pixel alvo atual 12b mostrado na figura 2, a pluralidade de pixels de suporte de interpolação primários selecionados pelo circuito de processamento 21 compreende alguns dos pixels de canto da célula atual, bem como alguns dos pixels de canto de células vizinhas. Da mesma forma, para o pixel alvo atual 12b mostrado na figura 5, a pluralidade de pixels de suporte de interpolação primários selecionados pelo circuito de processamento 21 compreende alguns dos pixels de canto da célula atual, bem como alguns dos pixels de canto de células vizinhas, por exemplo, pixels 10a e 10c, que podem ter sido usados pelos circuitos de processamento 21 para determinar o valor de pixel do pixel 12a interpolado em uma etapa de processamento anterior. Geralmente, o circuito de processamento 21 do aparelho de processamento de imagem 20 é configurado para selecionar quatro pixels de suporte de interpolação primários para o pixel alvo atual 12 com base na sua posição.
[00056] Em uma outra modalidade, um ou mais dos pixels de suporte de interpolação primários 10a-d do pixel alvo 12a-c podem ser os pixels de suporte de interpolação primários 10a-d de um pixel alvo interpolado anteriormente e/ou um ou mais dos pixels de suporte de interpolação secundários 11ac, 11bd podem ser os pixels de suporte de interpolação secundários 11ac, 11bd de um pixel alvo previamente interpolado. Por exemplo, na modalidade mostrada na figura 5, o pixel de suporte de interpolação secundário 11ac do pixel alvo previamente interpolado 12a também é um pixel de suporte de interpolação secundário do pixel alvo atualmente interpolado 12b. Da mesma forma, os pixels de suporte de interpolação primários 10a, 10c do pixel alvo previamente interpolado 12a também são pixels de suporte de interpolação primários do pixel alvo atualmente interpolado 12b.
[00057] Como pode ser obtido a partir da figura 7, em uma modalidade, o circuito de processamento 21 do aparelho de processamento de imagem 20 é configurado para obter o valor de ângulo de direção determinando o valor de ângulo de direção como o ângulo definido por uma linha reta conectando o pixel alvo com um pixel alvo adicional para ser interpolado e a direção horizontal (ou alternativamente a direção vertical). O pixel alvo adicional pode ser um pixel alvo anterior ou subsequente a ser interpolado. Por exemplo, na modalidade mostrada na figura 7, o circuito de processamento 21 é configurado para obter o valor de ângulo de direção associado ao pixel alvo 12a determinando o valor de ângulo de direção como o ângulo definido pela linha reta conectando o pixel alvo 12a com o pixel alvo adicional 12b, isto é, o ângulo agudo entre a linha reta que conecta o pixel alvo 12a com o pixel alvo adicional 12b e a direção horizontal. Da mesma forma, o circuito de processamento 21 é configurado para obter o valor de ângulo de direção b associado ao pixel alvo 12b determinando o valor de ângulo de direção b como o ângulo definido pela linha reta conectando o pixel alvo 12b com o pixel alvo adicional 12c, isto é, o ângulo agudo entre a linha reta que conecta o pixel alvo 12b com o pixel alvo adicional 12c e a direção horizontal.
[00058] A Figura 8 mostra um aparelho de codificação 100 de acordo com uma modalidade que compreende um aparelho de inter-predição 144 de acordo com uma modalidade com o aparelho de processamento de imagem 20 de acordo com qualquer uma das modalidades descritas acima. O aparelho de codificação 100 é configurado para codificar um bloco de um quadro de um sinal de vídeo compreendendo uma pluralidade de quadros (também referidos aqui como figuras ou imagens), em que cada quadro é divisível em uma pluralidade de blocos e cada bloco compreende uma pluralidade de pixels. Em uma modalidade, os blocos podem ser macro blocos, unidades de árvore de codificação, unidades de codificação, unidades de predição e/ou blocos de predição.
[00059] Na modalidade exemplar mostrada na figura 1, o aparelho de codificação 100 é implementado na forma de um codificador de codificação de vídeo híbrido. Normalmente, o primeiro quadro de um sinal de vídeo é um intra quadro, que é codificado usando apenas intra-predição. Para este fim, a modalidade do aparelho de codificação 100 mostrado na figura 2 compreende ainda uma unidade de intra-predição 154 para intra-predição. Um intra quadro pode ser decodificado sem informações de outros quadros. A unidade de intra-predição 154 pode realizar a intra-predição de um bloco com base nas informações fornecidas pela unidade de intra-estimativa 152.
[00060] Os blocos de quadros subsequentes após o primeiro intra quadro podem ser codificados usando intra ou inter-predição, conforme selecionado por uma unidade de seleção de modo 160. Geralmente, a unidade de inter-predição 144 pode ser configurada para realizar a compensação de movimento de um bloco com base na estimativa de movimento, como será descrito em mais detalhes abaixo. Em uma modalidade, a estimativa de movimento pode ser realizada por uma unidade de inter-estimativa 142 do aparelho de codificação. No entanto, em outras modalidades, a funcionalidade da unidade de inter-estimativa 142 pode ser implementada como parte da unidade de inter-predição 144 também.
[00061] Além disso, na modalidade de codificador híbrido mostrada na figura 1, uma unidade de cálculo residual 104 determina a diferença entre o bloco original e sua predição, isto é o bloco residual que define o erro de predição da predição de imagem intra/inter. Este bloco residual é transformado pela unidade de transformação 106 (por exemplo, usando um DCT) e os coeficientes de transformação são quantizados pela unidade de quantização
108. A saída da unidade de quantização 108, bem como a informação lateral ou de codificação fornecida, por exemplo, pela unidade de inter-predição 144 é ainda codificada por uma unidade de codificação de entropia 170.
[00062] Um codificador de vídeo híbrido, como o aparelho de codificação 100 mostrado na figura 8, geralmente duplica o processamento do decodificador de modo que ambos gerem as mesmas predições. Assim, na modalidade mostrada na figura 8, a unidade de quantização inversa 110 e a unidade de transformação inversa realizam as operações inversas da unidade de transformação 106 e da unidade de quantização 108 e duplicam a aproximação decodificada do bloco residual. Os dados do bloco residual decodificado são então adicionados aos resultados da predição, ou seja, o bloco de predição, pela unidade de reconstrução 114. Então, a saída da unidade de reconstrução 114 pode ser fornecida a um buffer de linha 116 para ser usada para intra-predição e é processada posteriormente por um filtro em loop 120 para remover artefatos de imagem. A imagem final é armazenada em um buffer de imagem decodificada 130 e pode ser usada como um quadro de referência para a inter-predição dos quadros subsequentes.
[00063] A Figura 9 mostra um aparelho de decodificação 200 de acordo com uma modalidade que compreende um aparelho de inter-predição 244 de acordo com uma modalidade com o aparelho de processamento de imagem 20 de acordo com qualquer uma das modalidades descritas acima. O aparelho de decodificação 200 está configurado para decodificar um bloco de um quadro de um sinal de vídeo codificado. Na modalidade mostrada na figura 9, o aparelho de decodificação 200 é implementado como um decodificador híbrido. Uma unidade de decodificação de entropia 204 realiza decodificação de entropia dos dados de imagem codificados, os quais geralmente podem compreender erros de predição (ou seja, blocos residuais), dados de movimento e outras informações secundárias, que são necessárias, em particular, para o aparelho de inter-predição 244 e uma unidade de intra- predição 254 bem como outros componentes do aparelho de decodificação 200. Na modalidade mostrada na figura 9, o aparelho de inter-predição 244 ou a unidade de intra-predição 254 do aparelho de decodificação 200 mostrado na figura 2 são selecionados por uma unidade de seleção de modo 260 e funcionam da mesma maneira que o aparelho de inter-predição 144 e a unidade de intra-predição 154 do aparelho de codificação 100 mostrado na figura 1, de modo que predições idênticas podem ser geradas pelo aparelho de codificação 100 e pelo aparelho de decodificação 200. Uma unidade de reconstrução 214 do aparelho de decodificação 200 está configurada para reconstruir o bloco com base no bloco predito filtrado e no bloco residual fornecido pela unidade de quantização inversa 210 e pela unidade de transformação inversa 212. Como no caso do aparelho de codificação 100, o bloco reconstruído pode ser fornecido a um buffer de linha 216 usado para intra-predição e o bloco/quadro filtrado pode ser fornecido a um buffer de imagem decodificada 230 pelo filtro em loop 220 para futuras inter-predições.
[00064] O aparelho 144, 244 é configurado para realizar uma inter-predição de um valor de pixel de um pixel inteiro completo atual de uma pluralidade de pixels de um bloco atual de um quadro atual de um sinal de vídeo. O aparelho 144, 244 compreende o aparelho de processamento de imagem 20 de acordo com qualquer uma das modalidades descritas acima e uma unidade de processamento, que pode ser implementada em software e/ou hardware. Em uma modalidade, o aparelho de processamento de imagem 20 pode ser implementado pela unidade de processamento do aparelho 144,
244. Em outra modalidade, o aparelho de processamento de imagem 20 e a unidade de processamento do aparelho 144, 244 são entidades físicas diferentes.
[00065] A unidade de processamento do aparelho 144, 244 está configurada para determinar um vetor de movimento do pixel inteiro completo atual. Em uma modalidade, a unidade de processamento do aparelho 144, 244 é configurada para determinar o vetor de movimento do pixel inteiro completo atual com base no quadro atual e um quadro de referência do sinal de vídeo determinando a posição do pixel no quadro de referência correspondente ao pixel inteiro completo atual no quadro atual. Em uma modalidade, a unidade de processamento do aparelho 144, 244 é configurada para determinar o vetor de movimento do pixel inteiro completo atual com base em um modelo de compensação de movimento adotado. Por exemplo, no caso de um modelo de compensação de movimento translacional ou afim o vetor de movimento do pixel inteiro completo atual pode ser determinado usando um ou mais vetores de movimento de pixels do mesmo bloco ao qual o pixel inteiro completo atual pertence. Como aqui utilizado, "modelo de compensação de movimento" também é referido como modelo transformacional de movimento, descrição de modelo de movimento e similares.
[00066] A unidade de processamento do aparelho 144, 244 é ainda configurada para determinar, para o pixel inteiro completo atual, o pixel subinteiro correspondente no quadro de referência com base no vetor de movimento do pixel inteiro completo atual.
[00067] A unidade de processamento do aparelho 144, 244 é ainda configurada para gerar com base em um conjunto predefinido de pixels de suporte de filtro no quadro atual um conjunto de pixels de suporte de filtro correspondentes no quadro de referência. O conjunto predefinido de pixels de suporte de filtro no quadro atual compreende um ou mais pixels inteiros completos vizinhos e/ou pixels subinteiros do pixel inteiro completo atual.
[00068] Em uma modalidade, o conjunto predefinido de pixels de suporte de filtro no quadro atual compreende um ou mais pixels semi-inteiros vizinhos verticalmente e/ou horizontalmente do pixel inteiro completo atual no quadro atual. Por exemplo, em uma modalidade o conjunto predefinido de pixels de suporte de filtro no quadro atual compreende os pixels semi-inteiros vizinhos acima, à esquerda, abaixo e à direita do pixel inteiro completo atual.
[00069] Em uma modalidade, o conjunto predefinido de pixels de suporte de filtro no quadro atual compreende um ou mais pixels inteiros completos vizinhos verticalmente e/ou horizontalmente do pixel inteiro completo atual no quadro atual. Por exemplo, em uma modalidade o conjunto predefinido de pixels de suporte de filtro no quadro atual compreende os pixels inteiros completos vizinhos acima, à esquerda, abaixo e à direita do pixel inteiro completo atual. Em uma modalidade, o conjunto predefinido de pixels de suporte de filtro no quadro atual pode compreender os pixels semi- inteiros vizinhos e/ou inteiros completos acima, à esquerda, abaixo e à direita do pixel inteiro completo atual no quadro atual.
[00070] O aparelho de processamento de imagem 20 do aparelho 144, 244 é configurado para determinar os respectivos valores de pixel do pixel subinteiro correspondente do pixel inteiro completo atual no quadro de referência e dos pixels de suporte de filtro correspondentes no quadro de referência no com base em uma interpolação dos respectivos pixels inteiros completos vizinhos no quadro de referência com base em um dos esquemas de interpolação descritos acima. A Figura 10 ilustra um exemplo de uso de interpolação bilinear convencional ou um dos esquemas de interpolação descritos acima, conforme implementado no aparelho de processamento de imagem 20 de acordo com uma modalidade, para determinar o valor de pixel do pixel subinteiro correspondente do pixel inteiro completo atual no quadro de referência. Na figura 10, um bloco de referência no quadro de referência é ampliado e rotacionado em relação a um bloco atual que compreende um pixel atual exemplar do quadro atual. Além disso, a figura 10 ilustra o aumento da resolução usada para os pixels de suporte de filtro.
[00071] A unidade de processamento do aparelho 144, 244 é ainda configurada para determinar um valor de pixel inter-predito do pixel atual no quadro atual aplicando um filtro passa-alto espacial ao valor de pixel do pixel subinteiro correspondente do pixel inteiro completo atual no quadro de referência e os valores de pixel dos pixels de suporte de filtro correspondente no quadro de referência.
[00072] Em uma modalidade, o filtro passa-alto espacial é um filtro de 5 derivações. Em uma modalidade, o filtro de 5 derivações é um filtro simétrico, isto é um filtro em que o primeiro e o quinto coeficientes de filtro são idênticos e o segundo e o quarto coeficientes de filtro são idênticos. Em uma modalidade, o primeiro e o quinto coeficientes do filtro são negativos, enquanto os outros coeficientes do filtro de 5 derivações são positivos. Em uma modalidade, o filtro passa-alto espacial pode ser aplicado separadamente na direção vertical e horizontal.
[00073] Em uma modalidade, o conjunto predefinido de pixels de suporte de filtro no quadro atual compreende cinco pixels inteiros completos vizinhos e pixels semi-inteiros do pixel inteiro completo atual e o filtro de 5 derivações possui os seguintes coeficientes de filtro (-6, 9, 26, 9, - 6) dentro de uma determinada precisão numérica, que pode ser normalizada pelo fator 1/32.
[00074] Em uma modalidade adicional, o conjunto predefinido de pixels de suporte de filtro no quadro atual compreende cinco pixels inteiros completos vizinhos e pixels semi-inteiros do pixel inteiro completo atual e o filtro de 5 derivações possui os seguintes coeficientes de filtro (- 1, 0, 10, 0, -1) dentro de uma determinada precisão numérica, que pode ser normalizada pelo fator 1/8. Como será apreciado, em uma modalidade sem os pixels de suporte semi-inteiros intermediários, esse filtro se torna um filtro de 3 derivações com três pixels de suporte inteiro completo e com os coeficientes (-1, 10, -1).
[00075] Em uma modalidade, a unidade de processamento do aparelho 144, 244 é configurada para determinar o valor de pixel inter-predito do pixel atual no quadro atual com base em um processo de convolução separável bidimensional com base nos pixels de suporte de filtro. Por exemplo, no caso de um filtro de 5 derivações, a unidade de processamento do aparelho 144, 244 é configurada para aplicar o filtro de 5 derivações a cada linha horizontal e vertical definida pelos cinco pixels semi-inteiros e inteiro vizinhos horizontal e verticalmente do pixel atual.
[00076] Em qualquer modalidade, o arredondamento ou recorte intermediário em qualquer etapa da implementação pode ser aplicado a fim de manter o número fixo de bits como faixa de entrada para operações computacionais. Por exemplo, após qualquer etapa separável da filtragem (como a filtragem horizontal), os valores intermediários poderiam ser normalizados e arredondados para 16 bits de precisão para uso na multiplicação a seguir pelo coeficiente de filtragem da próxima etapa (como a filtragem vertical).
[00077] A Figura 11 ilustra diferentes estágios de processamento realizada pela unidade de processamento do aparelho 144, 244 usando um filtro de 5 derivações na direção vertical e horizontal para o exemplo mostrado na figura 10. Como no exemplo mostrado na figura 10, o bloco de referência é ampliado e rotacionado (correspondendo a uma transformação afim) em relação ao bloco atual, os filtros de 5 derivações, que são verticais e horizontais no quadro atual, são rotacionados no quadro de referência.
[00078] Nas seguintes modalidades adicionais do aparelho de inter-predição 144, 244, o aparelho de codificação 100 e o aparelho de decodificação 200 serão descritos. Neste contexto, deve ser entendido que modalidades do aparelho de inter-predição 144, 244 se referem a modalidades do aparelho de inter-predição 144 conforme implementadas no aparelho de codificação 100, bem como modalidades do aparelho de inter-predição 244 conforme implementadas no aparelho de decodificação 200.
[00079] Em uma modalidade, a unidade de processamento do aparelho 144, 244 é ainda configurada para determinar um vetor de movimento respectivo de cada um dos pixels subinteiros dos pixels de suporte de filtro no quadro atual com base no vetor de movimento do pixel inteiro completo atual e um ou mais vetores de movimento dos pixels inteiros completos vizinhos do pixel inteiro completo atual. Para este fim, em uma modalidade, a unidade de processamento do aparelho 144, 244 é configurada para determinar um vetor médio do vetor de movimento do pixel inteiro completo atual e um ou mais vetores de movimento dos pixels inteiros completos vizinhos do pixel inteiro completo atual. Por exemplo, para determinar o vetor de movimento do pixel semi- inteiros acima do pixel inteiro completo atual no quadro atual, a unidade de processamento do aparelho 144, 244 pode calcular a média, isto é a média do vetor de movimento do pixel inteiro completo atual e o vetor de movimento do pixel inteiro completo vizinho acima do pixel inteiro completo atual.
[00080] Semelhante à determinação do vetor de movimento do pixel atual, a unidade de processamento do aparelho 144, 244 pode ser configurada para determinar o um ou mais vetores de movimento de pixels inteiros completos vizinhos do pixel inteiro completo atual com base no quadro atual e no quadro de referência do sinal de vídeo e/ou um modelo de compensação de movimento.
[00081] Em uma modalidade, a unidade de processamento do aparelho 144, 244 é configurada para determinar o valor de pixel inter-predito do pixel atual no quadro atual aplicando um filtro passa-alto espacial ao valor de pixel do pixel subinteiro correspondente do pixel inteiro completo atual no quadro de referência e para os valores de pixel dos pixels de suporte de filtro correspondentes no quadro de referência, caso o vetor de movimento do pixel inteiro completo atual seja determinado com base em um modelo de compensação de movimento não translacional, e determinar o valor de pixel inter-predito do pixel atual no quadro atual com base em um esquema convencional, como o esquema convencional definido em H.264/AVC e H.265/HEVC, caso o vetor de movimento do pixel inteiro completo seja determinado com base em um modelo de compensação de movimento translacional. Em uma modalidade, o modelo de compensação de movimento não- translacional é um modelo de compensação de movimento panorâmico, afim e/ou distorção.
[00082] A Figura 12 resume vários aspectos das modalidades da invenção descritas acima.
[00083] A Figura 13 mostra um fluxograma que ilustra as etapas de um método 1300 para determinar com base em uma imagem definindo uma pluralidade de valores de pixel de uma matriz de pixels, em particular pixels inteiros completos 10a-d um valor de pixel interpolado de um alvo, em pixel subinteiro particular 12a-c. O método 1300 compreende as etapas de: obter 1301 um valor de ângulo de direção a, b associado ao pixel alvo 12a-c; selecionar 1303 para o pixel alvo 12a-c a pluralidade de pixels de suporte de interpolação primários 10a-d da matriz de pixels 10a-d com base no valor de ângulo de direção a, b e a posição do pixel alvo 12a-c; determinar 1305 valores de pixels de um primeiro e segundo pixels de suporte de interpolação secundários 11ac, 11bd com base nos valores de pixel dos pixels de suporte de interpolação primários selecionados 10a-d, o valor de ângulo de direção a, b e a posição do pixel alvo 12a -c; e determinar 1307 o valor de pixel interpolado do pixel alvo 12a-c com base nos valores de pixel do primeiro e do segundo pixels de suporte de interpolação secundários 11ac, 11bd e a posição do pixel subinteiro 12a-c, em particular a posição horizontal ou vertical do pixel alvo 12a-с.
[00084] O esquema de interpolação descrito acima também pode ser implementado para interpolação de dados diferentes de valores de pixel.
[00085] Assim, o esquema de interpolação de acordo com a invenção pode ser implementado em um aparelho de processamento de dados para determinar com base em uma pluralidade de valores de amostra de uma matriz multidimensional, em particular bidimensional de amostras, em particular amostras inteiras completas ou pontos de dados, um valor de amostra interpolado de uma amostra alvo, em particular amostra alvo subinteira, em que o aparelho de processamento de dados compreende circuitos de processamento configurados para: obter um valor de ângulo de direção associado com a amostra alvo; selecionar para a amostra alvo uma pluralidade de amostras de suporte de interpolação primária a partir da matriz de amostras com base no valor de ângulo de direção e a posição da amostra alvo; determinar valores de amostra de uma pluralidade de amostras de suporte de interpolação secundária com base nos valores de amostra das amostras de suporte interpoladas selecionadas, o valor de ângulo de direção e a posição da amostra alvo; e determinar o valor da amostra interpolada da amostra alvo com base nos valores da amostra da pluralidade de amostras de suporte de interpolação secundária e a posição da amostra alvo, em particular a posição horizontal ou vertical da amostra alvo.
a. Embora uma característica ou aspecto particular da divulgação possa ter sido divulgado em relação a apenas uma das várias implementações ou modalidades, tal característica ou aspecto pode ser combinado com uma ou mais características ou aspectos adicionais das outras implementações ou modalidades que possam ser desejadas e vantajosas para qualquer aplicação específica ou particular. Além disso, na medida em que os termos "incluir", "possuir", "com", ou outras variantes dos mesmos são usados na descrição detalhada ou nas reivindicações, esses termos devem ser inclusivos de maneira semelhante ao termo "compreendem". Além disso, os termos "exemplar", "por exemplo" e "por exemplo" são meramente um exemplo, e não o melhor ou o ideal. Os termos "acoplado" e "conectado", juntamente com derivativos podem ter sido utilizados. Deve-se entender que esses termos podem ter sido usados para indicar que dois elementos cooperam ou interagem entre si, independentemente de estarem em contato físico ou elétrico direto, ou não estarem em contato direto um com o outro.
[00086] Embora aspectos específicos tenham sido ilustrados e descritos aqui, será apreciado pelos técnicos no assunto que uma variedade de implementações alternativas e/ou equivalentes podem ser substituídas pelos aspectos específicos mostrados e descritos sem se afastar do escopo da presente divulgação. Este pedido destina-se a cobrir quaisquer adaptações ou variações dos aspectos específicos discutidos aqui.
[00087] Embora os elementos nas seguintes reivindicações sejam recitados em uma sequência particular com a rotulagem correspondente, a menos que a redação das reivindicações, de outra forma, implique uma sequência particular para implementar alguns ou todos esses elementos, esses elementos não se destinam necessariamente a ser implementados naquela sequência particular.
[00088] Muitas alternativas, modificações e variações serão evidentes para os técnicos no assunto à luz dos ensinamentos acima. Naturalmente, técnicos no assunto reconhecem prontamente que existem numerosas aplicações da invenção para além das aqui descritas. Embora a invenção tenha sido descrita com referência a uma ou mais modalidades particulares, os técnicos no assunto reconhecem que podem ser feitas muitas alterações sem sair do escopo da invenção. Por conseguinte, é para ser entendido que dentro do escopo das reivindicações anexas e seus equivalentes, a invenção pode ser praticada de outra forma que não a especificamente aqui descrita.

Claims (28)

REIVINDICAÇÕES
1. Aparelho de processamento de imagem (20) para determinar com base em uma imagem definindo uma pluralidade de valores de pixel de uma matriz de pixels (10a-d) um valor de pixel interpolado de um pixel alvo (12a-c), caracterizado pelo fato de que o aparelho de processamento de imagem (20) compreende circuitos de processamento (21) configurados para: obter um valor de ângulo de direção (a, b) associado ao pixel alvo (12a-c); selecionar para o pixel alvo (12a-c) uma pluralidade de pixels de suporte de interpolação primários (10a-d) da matriz de pixels (10a-d) com base na posição do pixel alvo (12a-c); determinar valores de pixel de um primeiro e um segundo pixels de suporte de interpolação secundários (11ac, 11bd) com base nos valores de pixel dos pixels de suporte de interpolação primários selecionados (10a-d), no valor de ângulo de direção (a, b) e na posição do pixel alvo (12a-c); e determinar o valor de pixel interpolado do pixel alvo (12a-c) com base nos valores de pixel do primeiro e do segundo pixels de suporte de interpolação secundários (11ac, 11bd) e na posição do pixel alvo (12a-c).
2. Aparelho de processamento de imagem (20), de acordo com a reivindicação 1, caracterizado pelo fato de que a pluralidade de pixels de suporte de interpolação primários (10a-d) do pixel alvo (12a-c) inclui um ou mais pixels de suporte de interpolação primários (10a-d) de um pixel alvo interpolado previamente e/ou em que a pluralidade de pixels de suporte de interpolação secundários (11ac, 11bd) inclui um ou mais pixels de suporte de interpolação secundários (11ac, 11bd) de um pixel alvo interpolado previamente.
3. Aparelho de processamento de imagem (20), de acordo com a reivindicação 1 ou 2, caracterizado pelo fato de que a matriz de pixels (10a-d) define uma direção horizontal e uma direção vertical e em que o valor de ângulo de direção (a, b) é o ângulo agudo entre uma linha reta passando através do pixel alvo (12a-c) e a direção horizontal.
4. Aparelho de processamento de imagem (20), de acordo com a reivindicação 3, caracterizado pelo fato de que o circuito de processamento (21) é configurado para obter o valor de ângulo de direção (a, b) determinando o valor de ângulo de direção (a, b) como o ângulo definido entre a direção horizontal e a linha reta passando através do pixel alvo (12a-c) e conectando o pixel alvo (12a-c) com um pixel alvo adicional (12a-c) para ser interpolado.
5. Aparelho de processamento de imagem (20), de acordo com a reivindicação 3 ou 4, caracterizado pelo fato de que o valor de ângulo de direção (a, b) fica na faixa de 0° a 45° e em que a posição do primeiro pixel de suporte de interpolação secundário (11ac) é definida pelo ponto de interseção entre uma linha reta que passa pelo pixel alvo (12a-c) com o valor de ângulo de direção (a, b) e uma primeira linha vertical conectando dois da pluralidade de pixels de suporte de interpolação primários (10a, c) e em que a posição do segundo pixel de suporte de interpolação secundário (11bd) é definida pelo ponto de interseção entre a linha reta que passa através do pixel alvo (12a-c) com o valor de ângulo de direção (a, b) e uma segunda linha vertical conectando dois outros da pluralidade de pixels de suporte de interpolação primários (10b, d).
6. Aparelho de processamento de imagem (20), de acordo com a reivindicação 5, caracterizado pelo fato de que o circuito de processamento (21) é configurado para determinar o valor de pixel do primeiro pixel de suporte de interpolação secundário (11ac) como uma soma ponderada de dois da pluralidade de pixels de suporte de interpolação primários (10a, c), em que a soma ponderada depende das respectivas distâncias verticais entre cada um dos dois da pluralidade de pixels de suporte de interpolação primários (10a, c) e o primeiro pixel de suporte de interpolação secundário (11ac), e para determinar o valor de pixel do segundo pixel de suporte de interpolação secundário (11bd) como uma soma ponderada dos outros dois da pluralidade de pixels de suporte de interpolação primários (10b, d), em que a soma ponderada depende das respectivas distâncias verticais entre cada um dos outros dois da pluralidade de pixels de suporte de interpolação primários (10b, d) e o segundo pixel de suporte de interpolação secundário (11bd).
7. Aparelho de processamento de imagem (20), de acordo com a reivindicação 5 ou 6, caracterizado pelo fato de que o circuito de processamento (21) é configurado para determinar o valor de pixel interpolado do pixel alvo (12a- c) como uma soma ponderada dos valores de pixel do primeiro e do segundo pixels de suporte de interpolação secundários (11ac, 11bd), em que a soma ponderada depende da distância horizontal entre a posição do primeiro pixel de suporte de interpolação secundário (11ac) e a posição do pixel alvo (12a-c) e na distância horizontal entre a posição do segundo pixel de suporte de interpolação secundário (11bd) e a posição do pixel alvo (12a-c).
8. Aparelho de processamento de imagem (20), de acordo com a reivindicação 3 ou 4, caracterizado pelo fato de que o valor de ângulo de direção (a, b) fica na faixa de 45° a 90° e em que a posição do primeiro pixel de suporte de interpolação secundário é definida pelo ponto de interseção entre uma linha reta que passa pelo pixel alvo (12a-c) com o valor de ângulo de direção (a, b) e uma primeira linha horizontal conectando dois da pluralidade de pixels de suporte de interpolação primários (10a, b) e em que a posição do segundo pixel de suporte de interpolação secundário é definida pelo ponto de interseção entre a linha reta que passa através do pixel alvo (12a-c) com o valor de ângulo de direção (a, b) e uma segunda linha horizontal conectando dois outros da pluralidade de pixels de suporte de interpolação primários (10c, d).
9. Aparelho de processamento de imagem (20), de acordo com a reivindicação 8, caracterizado pelo fato de que o circuito de processamento (21) é configurado para determinar o valor de pixel do primeiro pixel de suporte de interpolação secundário como uma soma ponderada de dois da pluralidade de pixels de suporte de interpolação primários (10a, b), em que a soma ponderada depende das respectivas distâncias horizontais entre cada um dos dois da pluralidade de pixels de suporte de interpolação primários (10a, b) e o primeiro pixel de suporte de interpolação secundário, e para determinar o valor de pixel do segundo pixel de suporte de interpolação secundário como uma soma ponderada dos outros dois da pluralidade de pixels de suporte de interpolação primários (10c, d), em que a soma ponderada depende das respectivas distâncias horizontais entre cada um dos outros dois da pluralidade de pixels de suporte de interpolação primários (10c, d) e o segundo pixel de suporte de interpolação secundário.
10. Aparelho de processamento de imagem (20), de acordo com a reivindicação 8 ou 9, caracterizado pelo fato de que o circuito de processamento (21) é configurado para determinar o valor de pixel interpolado do pixel alvo (12a- c) como uma soma ponderada dos valores de pixel do primeiro e do segundo pixels de suporte de interpolação secundários, em que a soma ponderada depende da distância vertical entre a posição do primeiro pixel de suporte de interpolação secundário e a posição do pixel alvo (12a-c) e na distância vertical entre a posição do segundo pixel de suporte de interpolação secundário e a posição do pixel alvo (12a-c).
11. Aparelho de processamento de imagem (20), de acordo com qualquer uma das reivindicações precedentes, caracterizado pelo fato de que a posição do pixel alvo (12a- c) define uma célula atual (10) da matriz de pixels (10a-d) e em que a pluralidade de pixels de suporte de interpolação primários (10a-d) compreendem um ou mais pixels da matriz de pixels (10a-d) localizados em um ou mais cantos da célula atual (10) da matriz de pixels (10a-d).
12. Aparelho de processamento de imagem (20), de acordo com a reivindicação 11, caracterizado pelo fato de que a pluralidade de pixels de suporte de interpolação primários (10a-d) compreende ainda um ou mais pixels da matriz de pixels (10a-d) localizados em um ou mais cantos de uma outra célula, em particular uma célula vizinha da célula atual (10).
13. Aparelho de processamento de imagem (20), de acordo com qualquer uma das reivindicações precedentes, caracterizado pelo fato de que o circuito de processamento (21) é ainda configurado para aplicar uma operação de arredondamento intermediário.
14. Método (1300) para determinar com base em uma imagem que define uma pluralidade de valores de pixel de uma matriz de pixels (10a-d) um valor de pixel interpolado de um pixel alvo (12a-c), caracterizado pelo fato de que o método (1300) compreende: obter (1301) um valor de ângulo de direção (a, b) associado ao pixel alvo (12a-c); selecionar (1303) para o pixel alvo (12a-c) uma pluralidade de pixels de suporte de interpolação primários (10a-d) da matriz de pixels (10a-d) com base na posição do pixel alvo (12a-c); determinar (1305) valores de pixel de um primeiro e um segundo pixels de suporte de interpolação secundários (11ac, 11bd) com base nos valores de pixel dos pixels de suporte de interpolação primários selecionados (10a-d), no valor de ângulo de direção (a, b) e na posição do pixel alvo (12a-c); e determinar (1307) o valor de pixel interpolado do pixel alvo (12a-c) com base nos valores de pixel do primeiro e segundo pixels de suporte de interpolação secundários (11ac, 11bd) e na posição do pixel alvo (12a-c).
15. Aparelho (144, 244) para inter-predição de um valor de pixel de um pixel inteiro completo atual de uma pluralidade de pixels de um bloco atual de um quadro de imagem atual de um sinal de vídeo, caracterizado pelo fato de que o aparelho (144, 244) compreende uma unidade de processamento configurada para: determinar um vetor de movimento do pixel inteiro completo atual com base no quadro atual e um quadro de referência do sinal de vídeo e/ou um modelo de compensação de movimento; determinar para o pixel inteiro completo atual um pixel subinteiro correspondente no quadro de referência com base no vetor de movimento do pixel inteiro completo atual; e gerar com base em um conjunto predefinido de pixels de suporte de filtro no quadro atual um conjunto de pixels de suporte de filtro correspondentes no quadro de referência, em que o conjunto predefinido de pixels de suporte de filtro no quadro atual compreende um ou mais pixels inteiros completos vizinhos e/ou pixels subinteiros do pixel inteiro completo atual; em que o aparelho (144, 244) compreende ainda o aparelho de processamento de imagem (20) conforme definido em qualquer uma das reivindicações 1 a 13, em que o aparelho de processamento de imagem (20) está configurado para determinar um respectivo valor de pixel interpolado do pixel subinteiro correspondente do pixel inteiro completo atual e os pixels de suporte de filtro correspondentes no quadro de referência; e em que a unidade de processamento é ainda configurada para determinar o valor de pixel inter-predito do pixel atual no quadro atual aplicando um filtro passa-alto espacial ao valor de pixel do pixel subinteiro correspondente do pixel inteiro completo atual no quadro de referência e para os valores de pixel dos pixels de suporte de filtro correspondentes no quadro de referência.
16. Aparelho (144, 244), de acordo com a reivindicação 15, caracterizado pelo fato de que o conjunto predefinido de pixels de suporte de filtro no quadro atual compreende um ou mais pixels semi-inteiros vizinhos verticalmente e/ou horizontalmente do pixel inteiro completo atual no quadro atual.
17. Aparelho (144, 244), de acordo com a reivindicação 15 ou 16, caracterizado pelo fato de que o conjunto predefinido de pixels de suporte de filtro no quadro atual compreende um ou mais pixels inteiros completos vizinhos verticalmente e/ou horizontalmente do pixel inteiro completo atual no quadro atual.
18. Aparelho (144, 244), de acordo com qualquer uma das reivindicações 15 a 17, caracterizado pelo fato de que o filtro passa-alto espacial é um filtro de 5 ou 3 derivações.
19. Aparelho (144, 244), de acordo com a reivindicação 18, caracterizado pelo fato de que o conjunto predefinido de pixels de suporte de filtro no quadro atual compreende um ou mais pixels inteiros completos vizinhos adjacentes e pixels semi-inteiros do pixel inteiro completo atual e em que o filtro de 5 derivações possui os seguintes coeficientes de filtro (-6, 9, 26, 9, -6).
20. Aparelho (144, 244), de acordo com a reivindicação 18, caracterizado pelo fato de que o conjunto predefinido de pixels de suporte de filtro no quadro atual compreende um ou mais pixels inteiros completos vizinhos e/ou pixels semi- inteiros do pixel inteiro completo atual e em que o filtro de 5 derivações possui os seguintes coeficientes de filtro (-1, 0, 10, 0, -1) ou o filtro de 3 derivações possui os seguintes coeficientes de filtro (-1, 10, -1).
21. Aparelho (144, 244), de acordo com qualquer uma das reivindicações 15 a 20, caracterizado pelo fato de que a unidade de processamento do aparelho (144, 244) é ainda configurada para determinar um vetor de movimento respectivo de cada um dos pixels subinteiros dos pixels de suporte de filtro no quadro atual com base no vetor de movimento do pixel inteiro completo atual e um ou mais vetores de movimento dos pixels inteiros completos vizinhos ou pixels semi-inteiros do pixel inteiro completo atual.
22. Aparelho (144, 244), de acordo com a reivindicação 21, caracterizado pelo fato de que a unidade de processamento do aparelho (144, 244) é configurada para determinar um vetor de movimento respectivo de cada um dos pixels subinteiros dos pixels de suporte de filtro no quadro atual ao determinar um vetor médio do vetor de movimento do pixel inteiro completo atual e um ou mais vetores de movimento de pixels inteiros completos vizinhos do pixel inteiro completo.
23. Aparelho (144, 244), de acordo com a reivindicação 21 ou 22, caracterizado pelo fato de que a unidade de processamento do aparelho (144, 244) é ainda configurada para determinar o um ou mais vetores de movimento de pixels inteiros completos vizinhos do pixel inteiro completo com base no quadro atual e no quadro de referência do sinal de vídeo e/ou um modelo de compensação de movimento.
24. Aparelho (144, 244), de acordo com qualquer uma das reivindicações 15 a 23, caracterizado pelo fato de que a unidade de processamento do aparelho (144, 244) é configurada para determinar o valor de pixel inter-predito do pixel atual no quadro atual aplicando um filtro passa-alto espacial ao valor de pixel do pixel subinteiro correspondente do pixel inteiro completo atual no quadro de referência e para os valores de pixel dos pixels de suporte de filtro correspondentes no quadro de referência, caso o vetor de movimento do pixel inteiro completo atual seja determinado com base em um modelo de compensação de movimento não translacional, e determinar o valor de pixel inter-predito do pixel atual no quadro atual com base em um esquema convencional, caso o vetor de movimento do pixel inteiro completo seja determinado com base em um modelo de compensação de movimento translacional.
25. Aparelho (144, 244), de acordo com a reivindicação 24, caracterizado pelo fato de que o modelo de compensação de movimento não-translacional é um modelo de compensação de movimento panorâmico, distorção e/ou afim.
26. Aparelho de codificação (100) para codificar uma imagem atual de um sinal de vídeo, caracterizado pelo fato de que o aparelho de codificação (100) compreende um aparelho de inter-predição (144) conforme definido em qualquer uma das reivindicações 15 a 25.
27. Aparelho de decodificação (200) para decodificar uma imagem atual reconstruída de um sinal de vídeo compactado, caracterizado pelo fato de que o aparelho de decodificação (200) compreende um aparelho de inter-predição (244) conforme definido em qualquer uma das reivindicações 15 a
25.
28. Produto de programa de computador caracterizado pelo fato de que compreende código de programa para realizar o método conforme definido na reivindicação 14 quando executado em um computador ou processador.
BR112020019740-8A 2018-03-29 2018-03-29 aparelho e método de processamento de imagem BR112020019740A2 (pt)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/RU2018/000207 WO2019190342A1 (en) 2018-03-29 2018-03-29 Image processing apparatus and method

Publications (1)

Publication Number Publication Date
BR112020019740A2 true BR112020019740A2 (pt) 2021-02-17

Family

ID=62186510

Family Applications (1)

Application Number Title Priority Date Filing Date
BR112020019740-8A BR112020019740A2 (pt) 2018-03-29 2018-03-29 aparelho e método de processamento de imagem

Country Status (7)

Country Link
US (1) US11202082B2 (pt)
EP (1) EP3777175A1 (pt)
KR (1) KR102435316B1 (pt)
CN (1) CN111903132B (pt)
BR (1) BR112020019740A2 (pt)
MX (1) MX2020010171A (pt)
WO (1) WO2019190342A1 (pt)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114049272B (zh) * 2021-11-11 2023-06-09 上海傲显科技有限公司 屏幕图像处理方法、屏幕组件和计算机存储介质

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7245326B2 (en) * 2001-11-19 2007-07-17 Matsushita Electric Industrial Co. Ltd. Method of edge based interpolation
US20030179827A1 (en) * 2002-03-19 2003-09-25 Kenji Sugiyama Video emphasis encoding method and apparatus, video de-emphasis decoding method and apparatus, video emphasis transmitting method and apparatus and video de-emphasis receiving method and apparatus
US8208564B2 (en) 2005-06-24 2012-06-26 Ntt Docomo, Inc. Method and apparatus for video encoding and decoding using adaptive interpolation
JP2008252449A (ja) * 2007-03-30 2008-10-16 Toshiba Corp 画像伸張装置、映像表示装置および画像伸張方法
MX2010003531A (es) * 2007-10-05 2010-04-14 Nokia Corp Codificacion de video con filtros direccionales de interpolacion adaptable alineados a pixeles.
EP2081386A1 (en) * 2008-01-18 2009-07-22 Panasonic Corporation High precision edge prediction for intracoding
HUE037725T2 (hu) 2010-09-30 2018-09-28 Samsung Electronics Co Ltd Berendezés képek interpolálására simító interpolációs filtert felhasználva
US10045046B2 (en) * 2010-12-10 2018-08-07 Qualcomm Incorporated Adaptive support for interpolating values of sub-pixels for video coding
US20120163460A1 (en) * 2010-12-23 2012-06-28 Qualcomm Incorporated Sub-pixel interpolation for video coding
CN102595120A (zh) * 2011-01-14 2012-07-18 华为技术有限公司 一种空域预测编码方法、解码方法、装置和系统
US8964833B2 (en) * 2011-07-19 2015-02-24 Qualcomm Incorporated Deblocking of non-square blocks for video coding
KR102402671B1 (ko) * 2015-09-09 2022-05-26 삼성전자주식회사 보간 필터의 연산 복잡도를 조절할 수 있는 영상 처리 장치, 영상 보간 방법 및 영상 부호화 방법
WO2019093916A1 (en) 2017-11-07 2019-05-16 Huawei Technologies Co., Ltd Interpolation filter for an inter prediction apparatus and method for video coding

Also Published As

Publication number Publication date
WO2019190342A8 (en) 2020-10-22
WO2019190342A1 (en) 2019-10-03
KR20200134302A (ko) 2020-12-01
MX2020010171A (es) 2020-10-28
US20210014511A1 (en) 2021-01-14
KR102435316B1 (ko) 2022-08-23
CN111903132B (zh) 2023-02-10
US11202082B2 (en) 2021-12-14
CN111903132A (zh) 2020-11-06
EP3777175A1 (en) 2021-02-17

Similar Documents

Publication Publication Date Title
JP7335315B2 (ja) 画像予測方法および関連装置
CN113612994B (zh) 具有仿射运动补偿的视频编解码的方法
TWI617185B (zh) 具有仿射運動補償的視訊編碼的方法以及裝置
US11095898B2 (en) Inter-prediction mode based image processing method, and apparatus therefor
BR112020009019A2 (pt) aparelho de interpredição, método e produto de programa de computador para codificação de vídeo
GB2505344A (en) Method for managing a reference picture list, and apparatus using same
CN116208765A (zh) 视频信号编码/解码方法以及用于所述方法的设备
US20190273920A1 (en) Apparatuses and Methods for Encoding and Decoding a Video Coding Block of a Video Signal
BR112020019740A2 (pt) aparelho e método de processamento de imagem
US11228780B2 (en) Inter prediction apparatus and method for video coding

Legal Events

Date Code Title Description
B350 Update of information on the portal [chapter 15.35 patent gazette]