BR112018000085B1 - Método e aparelho de previsão de imagem e meio legível por computador - Google Patents
Método e aparelho de previsão de imagem e meio legível por computador Download PDFInfo
- Publication number
- BR112018000085B1 BR112018000085B1 BR112018000085-0A BR112018000085A BR112018000085B1 BR 112018000085 B1 BR112018000085 B1 BR 112018000085B1 BR 112018000085 A BR112018000085 A BR 112018000085A BR 112018000085 B1 BR112018000085 B1 BR 112018000085B1
- Authority
- BR
- Brazil
- Prior art keywords
- pixel
- pixel unit
- phase
- precision
- unit
- Prior art date
Links
Abstract
MÉTODO DE PREVISÃO DE IMAGEM E APARELHO DE PREVISÃO DE IMAGEM. Trata-se de um método de previsão de imagem e um aparelho relacionado. O método de previsão de imagem inclui: determinar vetores de movimento de W pontos de controle em um bloco de imagem atual; obter, por meio de cálculo, vetores de movimento de P unidades de pixel do bloco de imagem atual utilizando-se um modelo de movimento e os vetores de movimento dos W pontos de controle, em que a precisão dos vetores de movimento determinados dos W pontos de controle é 1/n da precisão de pixel, a precisão de um vetor de movimento que é obtido por meio de cálculo e que pertence a cada uma das P unidades de pixel é 1/N da precisão de pixel, as P unidades de pixel são algumas ou todas as unidades de pixel do bloco de imagem atual, e N é maior que n; e realizar a filtragem de interpolação em um pixel de uma unidade de pixel de referência correspondente, em uma imagem de referência, de cada uma das P unidades de pixel utilizandose um filtro de interpolação com uma fase de Q, para obter um valor de (...).
Description
[001] A presente invenção refere-se ao campo de codificação de vídeo e decodificação de vídeo e, especificamente, a um método de previsão de imagem e um dispositivo relacionado.
[002] Com o desenvolvimento de uma tecnologia de coleção optoeletrônica e uma exigência crescente para um vídeo digital de alta definição, um volume de dados de vídeo se torna cada vez maior. A largura de banda de transmissão heterogênea limitada e aplicações de vídeo diversificadas impõem uma exigência maior à eficiência de conversão em código de vídeo. Nesse caso, o padrão de conversão em código de vídeo de alta eficiência (HEVC) começa a ser formulado, conforme exigido.
[003] Um princípio básico de compressão de conversão em código de vídeo é a utilização da correlação entre um domínio de espaço, um domínio de tempo e uma palavra de código para eliminar o máximo possível a redundância. Presentemente, uma maneira comum compreende utilizar uma estrutura de conversão em código de vídeo híbrida baseada em bloco para implementar a compressão de conversão em código de vídeo por meio de etapas, tais como previsão (incluindo previsão intraquadro e previsão interquadro), transformação, quantização e conversão em código de entropia. Essa estrutura de conversão em código é eficaz, e a estrutura de conversão em código de vídeo híbrida baseada em bloco também é utilizada para HEVC.
[004] Em vários esquemas de codificação/decodificação de vídeo, a estimação de movimento/compensação de movimento é uma tecnologia-chave que afeta o desempenho de codificação/decodificação. Em diversos esquemas de codificação de vídeo/decodificação existentes, assume-se, em geral, que um movimento de um objeto atende a uma exigência de um modelo de movimento translacional, e várias partes do objeto inteiro estão em um mesmo movimento. Um algoritmo de estimação de movimento/compensação de movimento existente é basicamente um algoritmo de compensação de movimento baseada em bloco com base em um modelo de movimento translacional (Em inglês: translational motion model). A previsão interquadro existente é principalmente uma previsão de compensação de movimento baseada em bloco (em inglês: motion compensation) com base em um modelo de movimento translacional. Alguns modelos de movimento não translacional (por exemplo, um modelo de movimento de função afim) projetados para movimentos não translacionais emergem gradualmente.
[005] Em um mecanismo de previsão baseado em um modelo de movimento de função afim, vetores de movimento de baixa precisão de dois pontos de controle em um bloco de imagem atual e o modelo de movimento de função afim podem ser utilizados para se realizar a previsão de valor de pixel na técnica anterior, de modo a obter um valor de pixel previsto de baixa precisão do bloco de imagem atual. Durante um processo da previsão de valor de pixel, um filtro de interpolação precisa ser utilizado para se realizar uma operação de filtragem de interpolação. A precisão do valor de pixel previsto obtido do bloco de imagem atual é igual à precisão dos vetores de movimento dos dois pontos de controle. Se um valor de pixel previsto de maior precisão do bloco de imagem atual precisar ser obtido, um filtro de interpolação bilinear é adicionalmente exigido para se realizar a filtragem de interpolação secundária no valor de pixel previsto de precisão mais baixa do bloco de imagem atual.
[006] Na técnica anterior, se os vetores de movimento de precisão mais baixa dos dois pontos de controle e o modelo de movimento de função afim forem utilizados para se obter o valor de pixel previsto de precisão mais alta do bloco de imagem atual, pelo menos duas operações de filtragem de interpolação precisam ser realizadas (uma quantidade relativamente grande de caches intermediários e operações de memória é exigida para cada operação de filtragem de interpolação). Como resultado, uma quantidade relativamente grande de caches intermediários e operações de memória pode ser exigida durante um processo de previsão de imagem inteiro, e a complexidade de cálculo se torna relativamente alta.
[007] As modalidades da presente invenção fornecem um método de previsão de imagem e um dispositivo relacionado, de modo a reduzir uma quantidade de caches intermediários e operações de memória que é exigida para a filtragem de interpolação durante um processo de previsão de imagem, e reduzir a complexidade de cálculo durante o processo de previsão de imagem.
[008] Um primeiro aspecto das modalidades da presente invenção fornece um método de previsão de imagem que inclui: determinar vetores de movimento de W pontos de controle em um bloco de imagem atual; obter, por meio de cálculo, vetores de movimento de P unidades de pixel do bloco de imagem atual utilizando-se um modelo de movimento e os vetores de movimento dos W pontos de controle, em que a precisão dos vetores de movimento determinados dos W pontos de controle é 1/n da precisão de pixel, a precisão do vetor de movimento que é obtida por meio de cálculo e que pertence a cada uma das P unidades de pixel é 1/N da precisão de pixel, as P unidades de pixel são algumas ou todas as unidades de pixel do bloco de imagem atual, o vetor de movimento de cada uma das P unidades de pixel é utilizado para determinar uma unidade de pixel de referência correspondente, em uma imagem de referência, de uma unidade de pixel correspondente, W, n, e N são números inteiros maiores que 1, N é maior que n, e P é um número inteiro positivo; e realizar a filtragem de interpolação em um pixel da unidade de pixel de referência correspondente, na imagem de referência, de cada uma das P unidades de pixel utilizando- se um filtro de interpolação com uma fase de Q, para obter um valor de pixel previsto de cada uma das P unidades de pixel, em que Q é um número inteiro maior que n.
[009] Com referência ao primeiro aspecto, em uma primeira implementação possível do primeiro aspecto, um valor de N é um valor fixo predefinido, e Q é menor ou igual a N.
[010] Com referência ao primeiro aspecto ou à primeira implementação possível do primeiro aspecto, em uma segunda implementação possível do primeiro aspecto, um componente horizontal ou um componente vertical de um dos vetores de movimento dos W pontos de controle é amplificado N vezes no modelo de movimento utilizando-se N, ou uma diferença de componente entre vetores de movimento de quaisquer dois dentre os W pontos de controle é amplificada N vezes no modelo de movimento utilizando-se N.
[011] Com referência ao primeiro aspecto, à primeira implementação possível do primeiro aspecto ou à segunda implementação possível do primeiro aspecto, em uma terceira implementação possível do primeiro aspecto, a realização da filtragem de interpolação em um pixel da unidade de pixel de referência correspondente, na imagem de referência, de cada uma das P unidades de pixel utilizando-se um filtro de interpolação com uma fase de Q inclui: obter, por meio de cálculo, uma fase de cada uma das P unidades de pixel utilizando-se o vetor de movimento de cada uma das P unidades de pixel; determinar, com base na fase de cada unidade de pixel, o filtro de interpolação com a fase de Q que corresponde à unidade de pixel correspondente, em que um coeficiente de filtragem utilizado pelo filtro de interpolação corresponde à fase; e realizar a filtragem de interpolação no pixel da unidade de pixel de referência correspondente, na imagem de referência, de cada unidade de pixel utilizando-se o filtro de interpolação determinado com a fase de Q que corresponde à unidade de pixel correspondente.
[012] Com referência à terceira implementação possível do primeiro aspecto, em uma quarta implementação possível do primeiro aspecto, a obtenção, por meio de cálculo, de uma fase de cada uma das P unidades de pixel utilizando-se o vetor de movimento de cada uma das P unidades de pixel inclui: obter, por meio de cálculo, a fase de cada uma das P unidades de pixel de acordo com a fórmula a seguir utilizando-se o vetor de movimento de cada uma das P unidades de pixel: em que M é igual a log2N quando N é uma potência integral de 2, X' representa uma fase horizontal de uma unidade de pixel com coordenadas de (x, y) no bloco de imagem atual, Y' representa uma fase vertical da unidade de pixel com as coordenadas de (x, y) no bloco de imagem atual, vNx representa um componente horizontal de um vetor de movimento, cuja precisão é 1/N da precisão de pixel, da unidade de pixel com as coordenadas de (x, y) no bloco de imagem atual, e vNy representa um componente vertical do vetor de movimento, cuja precisão é 1/N da precisão de pixel, da unidade de pixel com as coordenadas de (x, y) no bloco de imagem atual.
[013] Com referência à terceira implementação possível do primeiro aspecto ou à quarta implementação possível do primeiro aspecto, em uma quinta implementação possível do primeiro aspecto, a fase inclui uma fase horizontal e uma fase vertical; e a determinação, com base na fase de cada unidade de pixel, do filtro de interpolação com a fase de Q que corresponde à unidade de pixel inclui: determinar, com base na fase horizontal de cada unidade de pixel, um filtro de interpolação horizontal com uma fase de Q que corresponde à unidade de pixel correspondente; e determinar, com base na fase vertical de cada unidade de pixel, um filtro de interpolação vertical com uma fase de Q que corresponde à unidade de pixel correspondente, em que um coeficiente de filtragem utilizado pelo filtro de interpolação horizontal corresponde à fase horizontal, e um coeficiente de filtragem utilizado pelo filtro de interpolação vertical corresponde à fase vertical.
[014] Com referência à quinta implementação possível do primeiro aspecto, em uma sexta implementação possível do primeiro aspecto, a realização da filtragem de interpolação no pixel da unidade de pixel de referência correspondente, na imagem de referência, de cada unidade de pixel utilizando- se o filtro de interpolação determinado com a fase de Q que corresponde à unidade de pixel inclui: realizar a filtragem de interpolação horizontal em um pixel de uma unidade de pixel de referência correspondente, na imagem de referência, de uma unidade de pixel i utilizando- se um filtro de interpolação horizontal determinado com uma fase de Q que corresponde à unidade de pixel i, para obter um resultado de filtragem de interpolação horizontal; e realizar a filtragem de interpolação vertical no resultado de filtragem de interpolação horizontal utilizando-se um filtro de interpolação vertical determinado com uma fase de Q que corresponde à unidade de pixel i, para obter um valor de pixel previsto da unidade de pixel i, em que a unidade de pixel i é qualquer uma dentre as P unidades de pixel; ou realizar a filtragem de interpolação vertical em um pixel de uma unidade de pixel de referência correspondente, na imagem de referência, de uma unidade de pixel j utilizando-se um filtro de interpolação vertical determinado com uma fase de Q que corresponde à unidade de pixel j, para obter um resultado de filtragem de interpolação vertical; e realizar a filtragem de interpolação horizontal no resultado de filtragem de interpolação vertical utilizando-se um filtro de interpolação horizontal determinado com uma fase de Q que corresponde à unidade de pixel j, para obter um valor de pixel previsto da unidade de pixel j, em que a unidade de pixel j é qualquer uma dentre as P unidades de pixel.
[015] Com referência a qualquer um dentre o primeiro aspecto e da primeira à sexta implementações possíveis do primeiro aspecto, em uma sétima implementação possível do primeiro aspecto, o modelo de movimento é um modelo de movimento translacional, um modelo de movimento de função afim, um modelo de movimento rotacional, um modelo de movimento parabólico, um modelo de movimento cisalhante, um modelo de movimento de ampliação, um modelo de movimento perspectivo ou um modelo de movimento bilinear.
[016] Com referência a qualquer um dentre o primeiro aspecto e da primeira à sétima implementações possíveis do primeiro aspecto, em uma oitava implementação possível do primeiro aspecto, o modelo de movimento é representado conforme a seguir quando W é igual a 2: ou , em que L representa uma largura ou uma altura do bloco de imagem atual, (v0x,v0y) e (v1x,v1y) representam vetores de movimento, cuja precisão é 1/n da precisão de pixel, de dois pontos de controle, vNx representa um componente horizontal de um vetor de movimento, cuja precisão é 1/N da precisão de pixel, de uma unidade de pixel com coordenadas de (x, y) no bloco de imagem atual, e vNy representa um componente vertical do vetor de movimento, cuja precisão é 1/N da precisão de pixel, da unidade de pixel com as coordenadas de (x, y) no bloco de imagem atual.
[017] Com referência a qualquer um dentre o primeiro aspecto e da primeira à sétima implementações possíveis do primeiro aspecto, em uma nona implementação possível do primeiro aspecto, o modelo de movimento é representado conforme a seguir quando W é igual a 3: ou em que vNx representa um componente horizontal de um vetor de movimento, cuja precisão é 1/N da precisão de pixel, de uma unidade de pixel com coordenadas de (x, y) no bloco de imagem atual, vNy representa um componente vertical do vetor de movimento, cuja precisão é 1/N da precisão de pixel, da unidade de pixel com as coordenadas de (x, y) no bloco de imagem atual, (v0x,v0y) , (v1x,v1y) , e (v2x,v2y) representam vetores de movimento, cuja precisão é 1/n da precisão de pixel, de três pontos de controle, w representa uma largura do bloco de imagem atual, e h representa uma altura do bloco de imagem atual.
[018] Com referência a qualquer um dentre o primeiro aspecto e da primeira à nona implementações possíveis do primeiro aspecto, em uma décima implementação possível do primeiro aspecto, os vetores de movimento dos W pontos de controle são previstos com base em um vetor de movimento, cuja precisão é 1/n da precisão de pixel, de um bloco de imagem codificado ou um bloco de imagem decodificado que circunda o bloco de imagem atual.
[019] Com referência a qualquer um dentre o primeiro aspecto e da primeira à décima implementações possíveis do primeiro aspecto, em uma décima primeira implementação possível do primeiro aspecto, o método de previsão de imagem é aplicado a um processo de codificação de vídeo ou aplicado a um processo de decodificação de vídeo.
[020] Um segundo aspecto das modalidades da presente invenção fornece um aparelho de previsão de imagem que inclui: uma primeira unidade de determinação, configurada para determinar vetores de movimento de W pontos de controle em um bloco de imagem atual; uma unidade de cálculo, configurada para obter, por meio de cálculo, vetores de movimento de P unidades de pixel do bloco de imagem atual utilizando-se um modelo de movimento e os vetores de movimento dos W pontos de controle, em que a precisão dos vetores de movimento determinados dos W pontos de controle é 1/n da precisão de pixel, a precisão do vetor de movimento que é obtida por meio de cálculo e que pertence a cada uma das P unidades de pixel é 1/N da precisão de pixel, as P unidades de pixel são algumas ou todas as unidades de pixel do bloco de imagem atual, o vetor de movimento de cada uma das P unidades de pixel é utilizado para determinar uma unidade de pixel de referência correspondente, em uma imagem de referência, de uma unidade de pixel correspondente, W, n, e N são números inteiros maiores que 1, N é maior que n, e P é um número inteiro positivo; e uma unidade de filtragem de interpolação, configurada para realizar a filtragem de interpolação em um pixel da unidade de pixel de referência correspondente, na imagem de referência, de cada uma das P unidades de pixel utilizando- se um filtro de interpolação com uma fase de Q, para obter um valor de pixel previsto de cada uma das P unidades de pixel, em que Q é um número inteiro maior que n.
[021] Com referência ao segundo aspecto, em uma primeira implementação possível do segundo aspecto, um valor de N é um valor fixo predefinido, e Q é menor ou igual a N.
[022] Com referência ao segundo aspecto ou à primeira implementação possível do segundo aspecto, em uma segunda implementação possível do segundo aspecto, um componente horizontal ou um componente vertical de um dos vetores de movimento dos W pontos de controle é amplificado N vezes no modelo de movimento utilizando-se N, ou uma diferença de componente entre vetores de movimento de quaisquer dois dentre os W pontos de controle é amplificada N vezes no modelo de movimento utilizando-se N.
[023] Com referência ao segundo aspecto, à primeira implementação possível do segundo aspecto ou à segunda implementação possível do segundo aspecto, a unidade de filtragem de interpolação é configurada especificamente para: obter, por meio de cálculo, uma fase de cada uma das P unidades de pixel utilizando-se o vetor de movimento de cada uma das P unidades de pixel; determinar, com base na fase de cada unidade de pixel, o filtro de interpolação com a fase de Q que corresponde à unidade de pixel correspondente, em que um coeficiente de filtragem utilizado pelo filtro de interpolação corresponde à fase; e realizar a filtragem de interpolação no pixel da unidade de pixel de referência correspondente, na imagem de referência, de cada unidade de pixel utilizando-se o filtro de interpolação determinado com a fase de Q que corresponde à unidade de pixel correspondente.
[024] Com referência à terceira implementação possível do segundo aspecto, em uma quarta implementação possível do segundo aspecto, em um aspecto da obtenção, por meio de cálculo, de uma fase de cada uma das P unidades de pixel utilizando-se o vetor de movimento de cada uma das P unidades de pixel, a unidade de filtragem de interpolação é especificamente configurada para obter, por meio de cálculo, a fase de cada uma das P unidades de pixel, de acordo com a fórmula a seguir, utilizando-se o vetor de movimento de cada uma das P unidades de pixel: em que M é igual a log2N quando N é uma potência integral de 2, X' representa uma fase horizontal de uma unidade de pixel com coordenadas de (x, y) no bloco de imagem atual, Y' representa uma fase vertical da unidade de pixel com as coordenadas de (x, y) no bloco de imagem atual, vNx representa um componente horizontal de um vetor de movimento, cuja precisão é 1/N da precisão de pixel, da unidade de pixel com as coordenadas de (x, y) no bloco de imagem atual, e vNy representa um componente vertical do vetor de movimento, cuja precisão é 1/N da precisão de pixel, da unidade de pixel com as coordenadas de (x, y) no bloco de imagem atual.
[025] Com referência à terceira implementação possível do segundo aspecto ou à quarta implementação possível do segundo aspecto, em uma quinta implementação possível do segundo aspecto, a fase inclui uma fase horizontal e uma fase vertical; e em um aspecto da determinação, com base na fase de cada unidade de pixel, do filtro de interpolação com a fase de Q que corresponde à unidade de pixel correspondente, a unidade de filtragem de interpolação é configurada especificamente para: determinar, com base na fase horizontal de cada unidade de pixel, um filtro de interpolação horizontal com uma fase de Q que corresponde à unidade de pixel correspondente; e determinar, com base na fase vertical de cada unidade de pixel, um filtro de interpolação vertical com uma fase de Q que corresponde à unidade de pixel correspondente, em que um coeficiente de filtragem utilizado pelo filtro de interpolação horizontal corresponde à fase horizontal, e um coeficiente de filtragem utilizado pelo filtro de interpolação vertical corresponde à fase vertical.
[026] Com referência à quinta implementação possível do segundo aspecto, em uma sexta implementação possível do segundo aspecto, em um aspecto da realização da filtragem de interpolação no pixel da unidade de pixel de referência correspondente, na imagem de referência, de cada unidade de pixel utilizando-se o filtro de interpolação determinado com a fase de Q que corresponde à unidade de pixel correspondente, a unidade de filtragem de interpolação é configurada especificamente para: realizar a filtragem de interpolação horizontal em um pixel de uma unidade de pixel de referência correspondente, na imagem de referência, de uma unidade de pixel i utilizando-se um filtro de interpolação horizontal determinado com uma fase de Q que corresponde à unidade de pixel i, para obter um resultado de filtragem de interpolação horizontal; e realizar a filtragem de interpolação vertical no resultado de filtragem de interpolação horizontal utilizando-se um filtro de interpolação vertical determinado com uma fase de Q que corresponde à unidade de pixel i, para obter um valor de pixel previsto da unidade de pixel i, em que a unidade de pixel i é qualquer uma dentre as P unidades de pixel; ou a unidade de filtragem de interpolação é configurada especificamente para: realizar a filtragem de interpolação vertical em um pixel de uma unidade de pixel de referência correspondente, na imagem de referência, de uma unidade de pixel j utilizando-se um filtro de interpolação vertical determinado com uma fase de Q que corresponde à unidade de pixel j, para obter um resultado de filtragem de interpolação vertical; e realizar a filtragem de interpolação horizontal no resultado de filtragem de interpolação vertical utilizando-se um filtro de interpolação horizontal determinado com uma fase de Q que corresponde à unidade de pixel j, para obter um valor de pixel previsto da unidade de pixel j, em que a unidade de pixel j é qualquer uma dentre as P unidades de pixel.
[027] Com referência a qualquer um dentre o segundo aspecto e da primeira à sexta implementações possíveis do segundo aspecto, em uma sétima implementação possível do segundo aspecto, o modelo de movimento é um modelo de movimento translacional, um modelo de movimento de função afim, um modelo de movimento rotacional, um modelo de movimento de ampliação, um modelo de movimento parabólico, um modelo de movimento cisalhante, um modelo de movimento perspectivo ou um modelo de movimento bilinear.
[028] Com referência a qualquer um dentre o segundo aspecto e da primeira à sétima implementações possíveis do segundo aspecto, em uma oitava implementação possível do segundo aspecto, o modelo de movimento é representado conforme a seguir quando W é igual a 2: ou , em que L representa uma largura ou uma altura do bloco de imagem atual, (V0X,V0y) e (V1X,V1y) representam vetores de movimento, cuja precisão é 1/n da precisão de pixel, de dois pontos de controle, VNX representa um componente horizontal de um vetor de movimento, cuja precisão é 1/N da precisão de pixel, de uma unidade de pixel com coordenadas de (x, y) no bloco de imagem atual, e VNy representa um componente vertical do vetor de movimento, cuja precisão é 1/N da precisão de pixel, da unidade de pixel com as coordenadas de (x, y) no bloco de imagem atual.
[029] Com referência a qualquer um dentre o segundo aspecto e da primeira à sétima implementações possíveis do segundo aspecto, em uma nona implementação possível do segundo aspecto, o modelo de movimento é representado conforme a seguir quando W é igual a 3: ou em que vNx representa um componente horizontal de um vetor de movimento, cuja precisão é 1/N da precisão de pixel, de uma unidade de pixel com coordenadas de (x, y) no bloco de imagem atual, vNy representa um componente vertical do vetor de movimento, cuja precisão é 1/N da precisão de pixel, da unidade de pixel com as coordenadas de (x, y) no bloco de imagem atual, (v0x,v0y) , (v1x,v1y) , e (v2x,v2y) representam vetores de movimento, cuja precisão é 1/n da precisão de pixel, de três pontos de controle, w representa uma largura do bloco de imagem atual, e h representa uma altura do bloco de imagem atual.
[030] Com referência a qualquer um dentre o segundo aspecto e da primeira à nona implementações possíveis do segundo aspecto, em uma décima implementação possível do segundo aspecto, os vetores de movimento dos W pontos de controle são previstos com base em um vetor de movimento, cuja precisão é 1/n da precisão de pixel, de um bloco de imagem codificado ou um bloco de imagem decodificado que circunda o bloco de imagem atual.
[031] Com referência a qualquer um dentre o segundo aspecto e da primeira à décima implementações possíveis do segundo aspecto, em uma décima primeira implementação possível do segundo aspecto, o aparelho de previsão de imagem é aplicado a um aparelho de codificação de vídeo ou o aparelho de previsão de imagem é aplicado a um aparelho de decodificação de vídeo.
[032] Uma modalidade da presente invenção fornece adicionalmente um aparelho de previsão de imagem, que inclui um processador e uma memória. O aparelho de previsão de imagem pode incluir adicionalmente, por exemplo, uma interface de rede. A memória é configurada para armazenar uma instrução, o processador é configurado para executar a instrução, e a interface de rede é configurada para se comunicar, sob o controle do processador, com outro dispositivo.
[033] Por exemplo, o processador é configurado para: determinar vetores de movimento de W pontos de controle em um bloco de imagem atual; obter, por meio de cálculo, vetores de movimento de P unidades de pixel do bloco de imagem atual utilizando-se um modelo de movimento e os vetores de movimento dos W pontos de controle, em que a precisão dos vetores de movimento determinados dos W pontos de controle é 1/n da precisão de pixel, a precisão do vetor de movimento que é obtida por meio de cálculo e que pertence a cada uma das P unidades de pixel é 1/N da precisão de pixel, as P unidades de pixel são algumas ou todas as unidades de pixel do bloco de imagem atual, o vetor de movimento de cada uma das P unidades de pixel é utilizado para determinar uma unidade de pixel de referência correspondente, em uma imagem de referência, de uma unidade de pixel correspondente, W, n, e N são números inteiros maiores que 1, N é maior que n, e P é um número inteiro positivo; e realizar a filtragem de interpolação em um pixel da unidade de pixel de referência correspondente, na imagem de referência, de cada uma das P unidades de pixel utilizando-se um filtro de interpolação com uma fase de Q, para obter um valor de pixel previsto de cada uma das P unidades de pixel, em que Q é um número inteiro maior que n.
[034] Além disso, uma modalidade da presente invenção fornece adicionalmente uma mídia de armazenamento legível por computador. A mídia de armazenamento legível por computador armazena código de programa para a previsão de imagem. O código de programa inclui uma instrução para executar um método de previsão de imagem.
[035] Pode-se compreender que, no método de previsão de imagem fornecido nas modalidades da presente invenção, o vetor de movimento, cuja precisão é 1/N da precisão de pixel, de cada unidade de pixel do bloco de imagem atual é obtido por meio de cálculo utilizando-se o modelo de movimento e os vetores de movimento, cuja precisão é 1/n da precisão de pixel, dos W pontos de controle, em que N é maior que n. Em outras palavras, a precisão do vetor de movimento que é obtida por meio de cálculo e que pertence a cada unidade de pixel do bloco de imagem atual é maior que a precisão dos vetores de movimento determinados dos W pontos de controle. O vetor de movimento de precisão mais alta é obtido primeiro. Portanto, o vetor de movimento de precisão mais alta de cada unidade de pixel do bloco de imagem atual é utilizado para determinar a unidade de pixel de referência correspondente, na imagem de referência, de cada unidade de pixel do bloco de imagem atual, e a filtragem de interpolação é realizada no pixel da unidade de pixel de referência correspondente, na imagem de referência, de cada unidade de pixel do bloco de imagem atual utilizando-se o filtro de interpolação com a fase de Q (Q é maior que n), para obter o valor de pixel previsto de cada unidade de pixel do bloco de imagem atual. Pode-se compreender que a maneira anteriormente mencionada auxilia na redução de uma quantidade de vezes exigidas de filtragem de interpolação para se obter, por meio de previsão, o valor de pixel previsto de precisão mais alta do bloco de imagem atual (por exemplo, um processo intermediário para se obter um valor de pixel previsto de precisão mais baixa realizando-se uma filtragem de interpolação de precisão mais baixa pode não ser exigido), de modo a reduzir uma quantidade de caches intermediários e operações de memória que são exigidos para a filtragem de interpolação durante um processo de previsão de imagem, e reduzir a complexidade de cálculo durante o processo de previsão de imagem.
[036] Para descrever as soluções técnicas nas modalidades da presente invenção de modo mais claro, a seguir descreve-se brevemente os desenhos anexos exigidos para descrever as modalidades. Certamente, os desenhos anexos na descrição a seguir mostram meramente algumas modalidades da presente invenção, e os indivíduos de habilidade comum na técnica podem ainda obter outros desenhos a partir desses desenhos anexos sem o auxílio de esforços criativos.
[037] A Figura 1-a e a Figura 1-b são diagramas esquemáticos de vários tipos de divisão de um bloco de imagem de acordo com uma modalidade da presente invenção.
[038] A Figura 2-a é um fluxograma esquemático de um método de previsão de imagem de acordo com uma modalidade da presente invenção.
[039] A Figura 2-b é um diagrama esquemático de previsão de vetores de movimento de pontos de controle de acordo com uma modalidade da presente invenção.
[040] A Figura 3-a é um fluxograma esquemático de outro método de previsão de imagem de acordo com uma modalidade da presente invenção.
[041] A Figura 3-b é um diagrama esquemático de uma localização de pixel inteiro uma localização de subpixel de acordo com uma modalidade da presente invenção.
[042] A Figura 4 é um fluxograma esquemático de outro método de previsão de imagem de acordo com uma modalidade da presente invenção.
[043] A Figura 5 é um diagrama esquemático de um aparelho de previsão de imagem de acordo com uma modalidade da presente invenção.
[044] A Figura 6 é um diagrama esquemático de outro aparelho de previsão de imagem de acordo com uma modalidade da presente invenção.
[045] As modalidades da presente invenção fornecem um método de previsão de imagem e um dispositivo relacionado, de modo a reduzir uma quantidade de caches intermediários e operações de memória que é exigida para a filtragem de interpolação durante um processo de previsão de imagem, e reduzir a complexidade de cálculo durante o processo de previsão de imagem.
[046] No relatório descritivo, nas reivindicações e nos desenhos anexos da presente invenção, os termos "primeiro", "segundo", "terceiro" e assim por diante são destinados a distinguir entre diferentes objetos, mas não indicam uma ordem específica. Além disso, os termos "que inclui", "que compreende" e qualquer outra variante dos mesmos são destinados a cobrir uma inclusão não exclusiva. Por exemplo, um processo, um método, um sistema, um produto ou um dispositivo que inclui uma série de etapas ou unidades não é limitado às etapas ou unidades listadas, mas, opcionalmente, inclui adicionalmente uma etapa ou unidade não listada, ou, opcionalmente, inclui adicionalmente outra etapa ou unidade inerente ao processo, ao método, ao produto ou ao dispositivo.
[047] A seguir descreve-se primeiro, brevemente, alguns conceitos que podem ser relacionados às modalidades da presente invenção.
[048] Na maioria das estruturas de conversão em código, uma sequência de vídeo inclui uma série de imagens, uma imagem é adicionalmente dividia em fatias, e uma fatia é adicionalmente dividida em blocos. A conversão em código de vídeo é baseada em uma unidade de um bloco, e o processamento de conversão em código pode começar a ser realizado em uma localização de uma aresta esquerda superior de uma imagem e, então, realizado linha por linha da esquerda para a direita e do topo para o fundo. Em alguns padrões de conversão em código de vídeo novos, um conceito do bloco é adicionalmente estendido. No padrão H.264, um macrobloco (MB) é descrito, e o MB pode ser adicionalmente dividido em múltiplas partições de previsão que podem ser utilizadas para a conversão em código preditiva. No padrão HEVC, os conceitos básicos de uma unidade de conversão em código (CU), uma unidade de previsão (PU), uma unidade de transformada (TU) e semelhantes são utilizados. Múltiplos tipos de unidades são obtidos por meio de divisão de função, e são descritas utilizando-se uma nova estrutura baseada em árvore nova. Por exemplo, a CU pode ser dividida em CUs menores, de acordo com uma árvore quaternária, e uma CU menor pode continuar a ser mais dividida para formar uma estrutura de árvore quaternária. As estruturas de árvore da PU e da TU são semelhantes àquela da CU. A CU, a PU e a TU essencialmente pertencem, todas, ao conceito do bloco. De modo semelhante a um macrobloco MB ou um bloco de conversão em código, a CU é uma unidade básica para se dividir e codificar uma imagem de conversão em código. A PU é uma unidade básica para a conversão em código preditiva, e pode corresponde a uma partição de previsão. De acordo com um modo de divisão, a CU é adicionalmente dividida em múltiplas PUs. A TU é uma unidade básica para se transformar um valor residual previsto, e pode corresponde a um bloco de transformada. No padrão de conversão em código de vídeo de alta eficiência (em inglês: high efficiency video coding, abreviado HEVC), a CU, a PU e a TU podem ser referidas coletivamente como um bloco em árvore de conversão em código (em inglês: coding tree block, CTB for short) e semelhantes.
[049] No padrão HEVC, a unidade de conversão em código pode incluir quatro níveis de tamanho: 64 x 64, 32 x 32, 16 x 16, e 8 x 8. Cada nível da unidade de conversão em código pode ser dividido em unidades de previsão de diferentes tamanhos, de acordo com a previsão intraquadro e a previsão interquadro. Por exemplo, conforme mostrado na Figura 1-a e na Figura 1-b, a Figura 1-a mostra um modo de divisão de unidade de previsão que corresponde à previsão intraquadro, e a Figura 1-b mostra vários modos de divisão de unidade de previsão que correspondem à previsão interquadro.
[050] Durante um processo de desenvolvimento e evolução de uma tecnologia de conversão em código de vídeo, os versados em conversão em código de vídeo percebem vários métodos para utilizar a correlação espacial-temporal entre blocos codificados/decodificados adjacentes para aprimorar a eficiência de conversão em código. No padrão H.264/conversão em código de vídeo avançada (em inglês: advanced video coding, abreviada AVC), um modo de omissão (skip mode) e um modo direto (direct mode) se tornam meios eficazes para aprimorar a eficiência de conversão em código. Em um caso de uma taxa de bits baixa, uma quantidade de blocos que utilizam os dois modos de conversão em código representa mais da metade dos blocos em uma sequência de conversão em código inteira. Quando o modo de omissão é utilizado, um vetor de movimento de um bloco de imagem atual pode ser obtido por meio de derivação utilizando-se um vetor de movimento circundante contanto que uma marcação de modo de omissão seja transferida em um fluxo de bits, e um valor de um bloco de referência é utilizado diretamente como um valor de reconstrução do bloco de imagem atual, de acordo com o vetor de movimento. Alternativamente, quando o modo direto é utilizado, um codificador pode obter, por meio de derivação, um vetor de movimento de um bloco de imagem atual utilizando-se um vetor de movimento circundante, utilizar diretamente um valor de um bloco de referência como um valor previsto do bloco de imagem atual, de acordo com o vetor de movimento, e realizar a conversão em código preditiva no bloco de imagem atual em um lado de codificador utilizando- se o valor previsto. Presentemente, alguns meios de conversão em código novos são utilizados no padrão de conversão em código de vídeo de alta eficiência mais recente (em inglês: high efficiency video coding, abreviada HEVC), para aprimorar adicionalmente o desempenho da conversão em código de vídeo. Um modo de conversão em código mesclada e um modo de previsão de vetor de movimento avançada (AMVP) são dos meios de previsão interquadro importantes. No modo de conversão em código mesclada, as informações de movimento (incluindo um vetor de movimento (MV), uma direção de previsão, um índice de quadro de referência e semelhantes) de um bloco convertido em código que circunda um bloco de conversão em código atual são utilizadas para formar um conjunto de informações de movimento candidatas. As informações de movimento candidatas com a maior eficiência de conversão em código podem ser selecionadas, por meio de comparação, como as informações de movimento do bloco de conversão em código atual. A conversão em código preditiva é realizada no bloco de conversão em código atual utilizando- se um valor previsto, encontrado em um quadro de referência, do bloco de conversão em código atual. Além disso, um valor de índice que realiza a indexação de um bloco convertido em código circundante específica do qual as informações de movimento são selecionadas pode ser gravado em um fluxo de bits. Quando o modo de previsão de vetor de movimento avançada é utilizado, um vetor de movimento de um bloco convertido em código circundante é utilizado como um valor previsto de um vetor de movimento de um bloco de conversão em código atual, um vetor de movimento com a maior eficiência de conversão em código pode ser selecionado para prever o vetor de movimento do bloco de conversão em código atual, e um valor de índice que indica a seleção de um vetor de movimento circundante específico pode ser gravado em um fluxo de bits de vídeo.
[051] A seguir continua-se a descrever as soluções técnicas das modalidades da presente invenção.
[052] A seguir descreve-se, primeiro, o método de previsão de imagem fornecido nas modalidades da presente invenção. O método de previsão de imagem fornecido nas modalidades da presente invenção é executado por um aparelho de codificação de vídeo ou um aparelho de decodificação de vídeo. O aparelho de codificação de vídeo ou o aparelho de decodificação de vídeo pode ser qualquer aparelho que precisa emitir ou armazenar um vídeo, por exemplo, um computador do tipo notebook, um computador do tipo tablet, um computador de uso pessoal, um telefone móvel, um servidor de vídeo ou outro dispositivo.
[053] Em uma modalidade do método de previsão de imagem fornecido na presente invenção, o método de previsão de imagem pode incluir: determinar vetores de movimento de W pontos de controle em um bloco de imagem atual; obter, por meio de cálculo, vetores de movimento de P unidades de pixel do bloco de imagem atual utilizando-se um modelo de movimento e os vetores de movimento dos W pontos de controle, em que a precisão dos vetores de movimento determinados dos W pontos de controle é 1/n da precisão de pixel, a precisão do vetor de movimento que é obtida por meio de cálculo e que pertence a cada uma das P unidades de pixel é 1/N da precisão de pixel, as P unidades de pixel são algumas ou todas as unidades de pixel do bloco de imagem atual, o vetor de movimento de cada uma das P unidades de pixel é utilizado para determinar uma unidade de pixel de referência correspondente, em uma imagem de referência, de uma unidade de pixel correspondente, W, n, e N são números inteiros maiores que 1, N é maior que n, e P é um número inteiro positivo; e realizar a filtragem de interpolação em um pixel da unidade de pixel de referência correspondente, na imagem de referência, de cada uma das P unidades de pixel utilizando-se um filtro de interpolação com uma fase de Q, para obter um valor de pixel previsto de cada uma das P unidades de pixel, em que Q é um número inteiro maior que n.
[054] Referindo-se à Figura 2-a, a Figura 2-a é um fluxograma esquemático de um método de previsão de imagem de acordo com uma modalidade da presente invenção. Em um exemplo mostrado na Figura 2-a, o método de previsão de imagem fornecido nessa modalidade da presente invenção pode incluir as etapas a seguir.
[055] 201. Determinar vetores de movimento de W pontos de controle em um bloco de imagem atual.
[056] 202. Obter, por meio de cálculo, vetores de movimento de P unidades de pixel do bloco de imagem atual utilizando-se um modelo de movimento e os vetores de movimento dos W pontos de controle.
[057] As P unidades de pixel são algumas ou todas as unidades de pixel do bloco de imagem atual.
[058] Um vetor de movimento de cada uma das P unidades de pixel é utilizado para determinar uma unidade de pixel de referência correspondente, em uma imagem de referência, de uma unidade de pixel correspondente. Portanto, o vetor de movimento de cada uma das P unidades de pixel pode ser utilizado para determinar a unidade de pixel de referência correspondente, na imagem de referência, da unidade de pixel correspondente.
[059] A precisão dos vetores de movimento determinados dos W pontos de controle é 1/n da precisão de pixel.
[060] A precisão do vetor de movimento que é obtida por meio de cálculo e que pertence a cada uma das P unidades de pixel é 1/N da precisão de pixel.
[061] W, n, e N são números inteiros maiores que 1.
[062] N é maior que n. P é um número inteiro positivo.
[063] Devido ao fato de N ser maior que n, a precisão do vetor de movimento que é obtida por meio de cálculo e que pertence a cada uma das P unidades de pixel é mais alta que a precisão dos vetores de movimento determinados dos W pontos de controle. Ou seja, os vetores de movimento de precisão mais alta das P unidades de pixel do bloco de imagem atual são obtidos.
[064] Em algumas implementações possíveis da presente invenção, os vetores de movimento dos W pontos de controle são previstos com base em um vetor de movimento, cuja precisão é 1/n da precisão de pixel, de um bloco de imagem codificado ou um bloco de imagem decodificado que circunda o bloco de imagem atual.
[065] Em um exemplo mostrado na Figura 2-b, os W pontos de controle incluem um ponto de controle LT, um ponto de controle RT, e um ponto de controle LB. Um vetor de movimento do ponto de controle LT pode ser previsto com base nos vetores de movimento, cuja precisão é 1/n da precisão de pixel, dos blocos de imagem A, B e C. Um vetor de movimento do ponto de controle RT pode ser previsto com base nos vetores de movimento, cuja precisão é 1/n da precisão de pixel, dos blocos de imagem D e E. Um vetor de movimento do ponto de controle LB pode ser previsto com base nos vetores de movimento, cuja precisão é 1/n da precisão de pixel, dos blocos de imagem F e G.
[066] Em algumas implementações possíveis da presente invenção, quando os vetores de movimento dos W pontos de controle são baseados em valores previstos, a precisão dos valores previstos também é 1/n da precisão de pixel, e as diferenças entre os vetores de movimento, cuja precisão é 1/n da precisão de pixel, dos pontos de controle e os valores previstos correspondentes podem ser gravados em um fluxo de bits.
[067] Em algumas implementações possíveis da presente invenção, o modelo de movimento pode ser, por exemplo, um modelo de movimento translacional, um modelo de movimento de função afim, um modelo de movimento rotacional, um modelo de movimento parabólico, um modelo de movimento cisalhante, um modelo de movimento de ampliação, um modelo de movimento perspectivo ou um modelo de movimento bilinear.
[068] 203. Realizar a filtragem de interpolação em um pixel de uma unidade de pixel de referência, em uma imagem de referência, de cada uma das P unidades de pixel utilizando-se um filtro de interpolação com uma fase de Q, para obter um valor de pixel previsto de cada uma das P unidades de pixel.
[069] Q é um número inteiro maior que n.
[070] Em algumas implementações possíveis da presente invenção, um valor de N pode ser um valor fixo predefinido, e Q pode ser menor ou igual a N. Quando o valor de N pode ser um valor fixo predefinido, o mesmo indica que a precisão dos vetores de movimento, obtida por meio de cálculo utilizando-se o modelo de movimento e os vetores de movimento dos W pontos de controle, das P unidades de pixel do bloco de imagem atual é relacionado de modo desnecessário a um tamanho do bloco de imagem atual. Em outras palavras, por exemplo, com base na solução dessa modalidade, o valor de pixel previsto com uma precisão fixa predefinida pode ser obtido sem um processo intermediário para obter um valor de pixel previsto de precisão mais baixa realizando-se a filtragem de interpolação de precisão mais baixa.
[071] Por exemplo, W pode ser igual a 2, 3, 4, 5, 6, 8, ou outro valor.
[072] Por exemplo, P pode ser igual a 1, 2, 3, 4, 5, 6, 8, 10, 15, 16, 21, 32, 64, ou outro valor.
[073] Por exemplo, Q pode ser igual a 128, 9, 18, 24, 256, 8, 10, 15, 16, 21, 32, 64, ou outro valor.
[074] Por exemplo, N pode ser igual a 128, 9, 18, 24, 256, 8, 10, 15, 16, 21, 32, 64, ou outro valor.
[075] Por exemplo, n pode ser igual a 8, 2, 4, ou outro valor.
[076] Em algumas implementações possíveis da presente invenção, N pode ser uma potência integral de 2 ou, certamente, N pode ser outro número inteiro positivo.
[077] Uma unidade de pixel nas modalidades da presente invenção pode incluir um ou mais pixels. Por exemplo, a unidade de pixel pode ser um bloco de pixel de 2 x 2, um bloco de pixel de 2 x 1, um bloco de pixel de 2 x 1, um bloco de pixel de 4 x 4 ou um bloco de pixel de 4 x 2.
[078] Um ponto de controle nas modalidades da presente invenção pode incluir um ou mais pixels. Por exemplo, o ponto de controle pode ser um bloco de pixel de 2 x 2, um bloco de pixel de 2 x 1, um bloco de pixel de 2 x 1, um bloco de pixel de 4 x 4 ou um bloco de pixel de 4 x 2.
[079] Pode-se compreender a partir daquilo mencionado anteriormente que, no método de previsão de imagem fornecido nessa modalidade, o vetor de movimento, cuja precisão é 1/N da precisão de pixel, de cada unidade de pixel do bloco de imagem atual é obtido por meio de cálculo utilizando-se o modelo de movimento e os vetores de movimento, cuja precisão é 1/n da precisão de pixel, dos W pontos de controle, em que N é maior que n. Em outras palavras, a precisão do vetor de movimento que é obtida por meio de cálculo e que pertence a cada unidade de pixel do bloco de imagem atual é mais alta que a precisão dos vetores de movimento determinados dos W pontos de controle. O vetor de movimento de precisão mais alta é obtido primeiro. Portanto, o vetor de movimento de precisão mais alta de cada unidade de pixel do bloco de imagem atual é utilizado para determinar a unidade de pixel de referência correspondente, na imagem de referência, de cada unidade de pixel do bloco de imagem atual, e a filtragem de interpolação é realizada no pixel da unidade de pixel de referência correspondente, na imagem de referência, de cada unidade de pixel do bloco de imagem atual utilizando-se o filtro de interpolação com a fase de Q (Q é maior que n), para obter o valor de pixel previsto de cada unidade de pixel do bloco de imagem atual. Pode-se compreender que a maneira anteriormente mencionada auxilia na redução de uma quantidade de filtragem de interpolação exigida para se obter, por meio de previsão, o valor de pixel previsto de precisão mais alta do bloco de imagem atual (por exemplo, um processo intermediário para se obter o valor de pixel previsto de precisão mais baixa realizando-se uma filtragem de interpolação de precisão mais baixa pode não ser exigido), de modo a reduzir uma quantidade de caches intermediários e operações de memória que são exigidos para a filtragem de interpolação durante um processo de previsão de imagem, e reduzir a complexidade de cálculo durante o processo de previsão de imagem.
[080] Em algumas implementações possíveis da presente invenção, um componente horizontal ou um componente vertical de um dos vetores de movimento dos W pontos de controle é amplificado N vezes no modelo de movimento utilizando-se N, ou uma diferença de componente entre vetores de movimento de quaisquer dois dentre os W pontos de controle é amplificada N vezes no modelo de movimento utilizando-se N.
[081] Por exemplo, em algumas implementações possíveis da presente invenção, o modelo de movimento pode ser representado, conforme a seguir, quando W é igual a 2: ou em que L representa uma largura ou uma altura do bloco de imagem atual, (v0x,v0y) e (v1x,v1y) representam vetores de movimento, cuja precisão é 1/n da precisão de pixel, de dois pontos de controle, vNx representa um componente horizontal de um vetor de movimento, cuja precisão é 1/N da precisão de pixel, de uma unidade de pixel com coordenadas de (x, y) no bloco de imagem atual, e vNy representa um componente vertical do vetor de movimento, cuja precisão é 1/N da precisão de pixel, da unidade de pixel com as coordenadas de (x, y) no bloco de imagem atual.
[082] Como outro exemplo, em algumas implementações possíveis da presente invenção, o modelo de movimento pode ser representado, conforme a seguir, quando W é igual a 3: ou em que vNx representa um componente horizontal de um vetor de movimento, cuja precisão é 1/N da precisão de pixel, de uma unidade de pixel com coordenadas de (x, y) no bloco de imagem atual, vNy representa um componente vertical do vetor de movimento, cuja precisão é 1/N da precisão de pixel, da unidade de pixel com as coordenadas de (x, y) no bloco de imagem atual, (v0x,v0y) , (v1x,v1y) , e (v2x,v2y) representam vetores de movimento, cuja precisão é 1/n da precisão de pixel, de três pontos de controle, w representa uma largura do bloco de imagem atual, e h representa uma altura do bloco de imagem atual.
[083] Os exemplos supracitados são descritos utilizando- se o modelo de movimento de função afim. Quando um modelo de movimento translacional, um modelo de movimento rotacional, um modelo de movimento cisalhante, um modelo de movimento de ampliação, um modelo de movimento perspectivo, um modelo de movimento parabólico, um modelo de movimento bilinear ou semelhante é utilizado, pode-se fazer referência aos exemplos supracitados. Os detalhes não serão descritos novamente no presente documento.
[084] Por exemplo, uma forma de representação geral de um modelo de movimento pode ser conforme a seguir: , em que a precisão de um vetor de movimento (vix,viy) de um ponto de controle é 1/n da precisão de pixel, e para equilibrar um efeito e sobrecarga de bits, um valor de n pode ser ajustado para 4; N pode representar uma fase predefinida de um filtro; representa valores de coordenada de qualquer unidade de pixel em um bloco de imagem; e vNx representa um componente horizontal de um vetor de movimento, cuja precisão é 1/N da precisão de pixel, de uma unidade de pixel com coordenadas de (x, y) no bloco de imagem atual, e vNy representa um componente vertical do vetor de movimento, cuja precisão é 1/N da precisão de pixel, da unidade de pixel com as coordenadas de (x, y) no bloco de imagem atual.
[085] Opcionalmente, em algumas implementações possíveis da presente invenção, a determinação da unidade de pixel de referência correspondente, na imagem de referência, de cada uma das P unidades de pixel utilizando-se o vetor de movimento de cada uma das P unidades de pixel pode incluir: obter, por meio de cálculo, uma localização de pixel inteiro de cada uma das P unidades de pixel utilizando-se o vetor de movimento de cada uma das P unidades de pixel; e pesquisar, utilizando-se o vetor de movimento de cada uma das P unidades de pixel, a imagem de referência para uma unidade de pixel de referência que corresponde à localização de pixel inteiro de cada uma das P unidades de pixel, em que a unidade de pixel de referência que corresponde à localização de pixel inteiro de cada uma das P unidades de pixel e que é encontrada na imagem de referência é a unidade de pixel de referência, na imagem de referência, de cada uma das P unidades de pixel.
[086] Especificamente, por exemplo, uma localização de pixel inteiro de uma unidade de pixel i pode ser obtida por meio de cálculo utilizando-se um vetor de movimento da unidade de pixel i das P unidades de pixel, e a imagem de referência pode ser pesquisada, utilizando-se o vetor de movimento da unidade de pixel i, para uma unidade de pixel de referência que corresponde à localização de pixel inteiro da unidade de pixel i, em que a unidade de pixel de referência que corresponde à localização de pixel inteiro da unidade de pixel i e que é encontrada na imagem de referência é uma unidade de pixel de referência, na imagem de referência, da unidade de pixel i. A unidade de pixel i pode ser qualquer uma dentre as P unidades de pixel. Por exemplo, a unidade de pixel de referência correspondente, na imagem de referência, de cada uma das P unidades de pixel pode ser determinada de acordo com um modo semelhante àquele da determinação da unidade de pixel de referência, na imagem de referência, da unidade de pixel i.
[087] Em algumas implementações possíveis da presente invenção, a obtenção, por meio de cálculo, de uma localização de pixel inteiro de cada uma das P unidades de pixel utilizando-se o vetor de movimento de cada uma das P unidades de pixel inclui: obter, por meio de cálculo, a localização de pixel inteiro de cada uma das P unidades de pixel, de acordo com a fórmula a seguir, utilizando-se o vetor de movimento de cada uma das P unidades de pixel: em que M é igual a log2N quando N é uma potência integral de 2, (xInt, yInt) representa coordenadas de localização de pixel inteiro de uma unidade de pixel com coordenadas de (x, y) no bloco de imagem atual, vNx representa um componente horizontal de um vetor de movimento, cuja precisão é 1/N da precisão de pixel, da unidade de pixel com as coordenadas de (x, y) no bloco de imagem atual, e vNy representa um componente vertical do vetor de movimento, cuja precisão é 1/N da precisão de pixel, da unidade de pixel com as coordenadas de (x, y) no bloco de imagem atual.
[088] Em algumas implementações possíveis da presente invenção, a realização da filtragem de interpolação em um pixel da unidade de pixel de referência correspondente, na imagem de referência, de cada uma das P unidades de pixel utilizando-se um filtro de interpolação com uma fase de Q inclui: obter, por meio de cálculo, uma fase de cada uma das P unidades de pixel utilizando-se o vetor de movimento de cada uma das P unidades de pixel; determinar, com base na fase de cada unidade de pixel, o filtro de interpolação com a fase de Q que corresponde à unidade de pixel correspondente, em que um coeficiente de filtragem utilizado pelo filtro de interpolação corresponde à fase; e realizar a filtragem de interpolação no pixel da unidade de pixel de referência correspondente, na imagem de referência, de cada unidade de pixel utilizando-se o filtro de interpolação determinado com a fase de Q que corresponde à unidade de pixel correspondente.
[089] Especificamente, por exemplo, uma fase da unidade de pixel i pode ser obtida por meio de cálculo utilizando- se o vetor de movimento da unidade de pixel i das P unidades de pixel; um filtro de interpolação com uma fase de Q que corresponde à unidade de pixel i pode ser determinado com base na fase da unidade de pixel i, em que um coeficiente de filtragem utilizado pelo filtro de interpolação corresponde à fase; e a filtragem de interpolação pode ser realizada em um pixel da unidade de pixel de referência correspondente, na imagem de referência, da unidade de pixel i utilizando- se o filtro de interpolação determinado com a fase de Q que corresponde à unidade de pixel i. A unidade de pixel i pode ser qualquer uma dentre as P unidades de pixel. Por exemplo, a filtragem de interpolação pode ser realizada em cada uma das P unidades de pixel de acordo com um modo semelhante àquele da realização da filtragem de interpolação na unidade de pixel i.
[090] Em algumas implementações possíveis da presente invenção, a obtenção, por meio de cálculo, de uma fase de cada uma das P unidades de pixel utilizando-se o vetor de movimento de cada uma das P unidades de pixel inclui: obter, por meio de cálculo, a fase de cada uma das P unidades de pixel, de acordo com a fórmula a seguir, utilizando-se o vetor de movimento de cada uma das P unidades de pixel: em que M é igual a log2N quando N é uma potência integral de 2, X' representa uma fase horizontal de uma unidade de pixel com coordenadas de (x, y) no bloco de imagem atual, Y' representa uma fase vertical da unidade de pixel com as coordenadas de (x, y) no bloco de imagem atual, vNx representa um componente horizontal de um vetor de movimento, cuja precisão é 1/N da precisão de pixel, da unidade de pixel com as coordenadas de (x, y) no bloco de imagem atual, e vNy representa um componente vertical do vetor de movimento, cuja precisão é 1/N da precisão de pixel, da unidade de pixel com as coordenadas de (x, y) no bloco de imagem atual.
[091] Opcionalmente, em algumas implementações possíveis da presente invenção, a fase inclui uma fase horizontal e uma fase vertical; e a determinação, com base na fase de cada unidade de pixel, do filtro de interpolação com a fase de Q que corresponde à unidade de pixel inclui: determinar, com base na fase horizontal de cada unidade de pixel, um filtro de interpolação horizontal com uma fase de Q que corresponde à unidade de pixel correspondente; e determinar, com base na fase vertical de cada unidade de pixel, um filtro de interpolação vertical com uma fase de Q que corresponde à unidade de pixel correspondente, em que um coeficiente de filtragem utilizado pelo filtro de interpolação horizontal corresponde à fase horizontal, e um coeficiente de filtragem utilizado pelo filtro de interpolação vertical corresponde à fase vertical.
[092] Especificamente, por exemplo, um filtro de interpolação horizontal com uma fase de Q que corresponde à unidade de pixel i pode ser determinado com base em uma fase horizontal da unidade de pixel i, e um filtro de interpolação vertical com uma fase de Q que corresponde à unidade de pixel i pode ser determinado com base em uma fase vertical da unidade de pixel i, em que um coeficiente de filtragem utilizado pelo filtro de interpolação horizontal corresponde à fase horizontal da unidade de pixel i, e um coeficiente de filtragem utilizado pelo filtro de interpolação vertical corresponde à fase vertical da unidade de pixel i. A unidade de pixel i pode ser qualquer uma dentre as P unidades de pixel. Por exemplo, o filtro de interpolação com a fase de Q que corresponde a cada uma dentre as P unidades de pixel pode ser determinado de acordo com um modo semelhante àquele da determinação do filtro de interpolação com a fase de Q que corresponde à unidade de pixel i.
[093] Opcionalmente, em algumas implementações possíveis da presente invenção, a realização da filtragem de interpolação no pixel da unidade de pixel de referência correspondente, na imagem de referência, de cada unidade de pixel utilizando-se o filtro de interpolação determinado com a fase de Q que corresponde à unidade de pixel inclui: realizar a filtragem de interpolação horizontal no pixel da unidade de pixel de referência correspondente, na imagem de referência, da unidade de pixel i utilizando-se o filtro de interpolação horizontal determinado com a fase de Q que corresponde à unidade de pixel i, para obter um resultado de filtragem de interpolação horizontal; e realizar a filtragem de interpolação vertical no resultado de filtragem de interpolação horizontal utilizando-se o filtro de interpolação vertical determinado com a fase de Q que corresponde à unidade de pixel i, para obter um valor de pixel previsto da unidade de pixel i, em que a unidade de pixel i é qualquer uma dentre as P unidades de pixel; ou realizar a filtragem de interpolação vertical em um pixel de uma unidade de pixel de referência correspondente, na imagem de referência, de uma unidade de pixel j utilizando-se um filtro de interpolação vertical determinado com uma fase de Q que corresponde à unidade de pixel j, para obter um resultado de filtragem de interpolação vertical; e realizar a filtragem de interpolação horizontal no resultado de filtragem de interpolação vertical utilizando-se um filtro de interpolação horizontal determinado com uma fase de Q que corresponde à unidade de pixel j, para obter um valor de pixel previsto da unidade de pixel j, em que a unidade de pixel j é qualquer uma dentre as P unidades de pixel.
[094] Além disso, se uma unidade de pixel tiver apenas uma fase (ou seja, tem apenas uma fase horizontal ou uma fase vertical), a filtragem de interpolação precisa ser realizada em um pixel de uma unidade de pixel de referência da unidade de pixel apenas uma vez, para se obter um valor de pixel previsto da unidade de pixel.
[095] Opcionalmente, em algumas implementações possíveis da presente invenção, a determinação dos vetores de movimento de W pontos de controle em um bloco de imagem atual inclui: determinar os W pontos de controle no bloco de imagem atual, e determinar um conjunto de unidades de informações de movimento candidatas que corresponde à cada um dentre os W pontos de controle, em que o conjunto de unidades de informações de movimento candidatas que corresponde à cada ponto de controle inclui pelo menos uma unidade de informações de movimento candidatas; determinar um conjunto de unidades de informações de movimento combinadas e que inclui W unidades de informações de movimento, em que cada unidade de informações de movimento no conjunto de unidades de informações de movimento combinadas e é selecionada a partir de pelo menos algumas unidades de informações de movimento no conjunto de unidades de informações de movimento candidatas que corresponde à cada um dentre os W pontos de controle, e cada unidade de informações de movimento combinadas no conjunto de unidades de informações de movimento combinadas e inclui um vetor de movimento; e realizar a previsão ou a estimação de movimento em W vetores de movimento no conjunto de unidades de informações de movimento combinadas e para obter os vetores de movimento dos W pontos de controle, ou utilizar os W vetores de movimento incluídos no conjunto de unidades de informações de movimento combinadas e como os vetores de movimento dos W pontos de controle.
[096] Em algumas implementações possíveis da presente invenção, a precisão de cada vetor de movimento no conjunto de unidades de informações de movimento candidatas pode ser 1/n da precisão de pixel.
[097] O método de previsão de imagem pode ser aplicado a um processo de codificação de vídeo, ou o método de previsão de imagem pode ser aplicado a um processo de decodificação de vídeo.
[098] Para se compreender melhor as soluções técnicas das modalidades da presente invenção, a seguir fornece-se descrições a partir das perspectivas de um lado de codificador e de um lado de decodificador utilizando-se exemplos.
[099] A seguir descreve-se primeiro uma solução a partir de uma perspectiva de um lado de codificador.
[100] Referindo-se à Figura 3-a, a Figura 3-a é um fluxograma esquemático de outro método de previsão de imagem de acordo com outra modalidade da presente invenção. Em um exemplo mostrado na Figura 3-a, o outro método de previsão de imagem fornecido na outra modalidade da presente invenção pode incluir as etapas a seguir.
[101] 301. Um aparelho de codificação de vídeo determina W pontos de controle em um bloco de imagem atual.
[102] 302. O aparelho de codificação de vídeo determina vetores de movimento dos W pontos de controle.
[103] A determinação, através do aparelho de codificação de vídeo, dos vetores de movimento dos W pontos de controle pode incluir: determinar um conjunto de unidades de informações de movimento candidatas que corresponde à cada um dentre os W pontos de controle, em que a unidade de informações de movimento candidatas que corresponde à cada conjunto de pontos de controle inclui pelo menos uma unidade de informações de movimento candidatas; determinar um conjunto de unidades de informações de movimento combinadas e que inclui W unidades de informações de movimento, em que cada unidade de informações de movimento no conjunto de unidades de informações de movimento combinadas e é selecionada a partir de pelo menos algumas unidades de informações de movimento no conjunto de unidades de informações de movimento candidatas que corresponde à cada um dentre os W pontos de controle, e cada unidade de informações de movimento combinadas no conjunto de unidades de informações de movimento combinadas e inclui um vetor de movimento; e realizar a previsão ou a estimação de movimento em W vetores de movimento no conjunto de unidades de informações de movimento combinadas e para obter os vetores de movimento dos W pontos de controle, ou utilizar W vetores de movimento incluídos no conjunto de unidades de informações de movimento combinadas e como os vetores de movimento dos W pontos de controle.
[104] Em algumas implementações possíveis da presente invenção, a precisão de cada vetor de movimento no conjunto de unidades de informações de movimento candidatas pode ser 1/n da precisão de pixel.
[105] 303. O aparelho de codificação de vídeo obtém, por meio de cálculo, os vetores de movimento de P unidades de pixel do bloco de imagem atual utilizando-se um modelo de movimento e os vetores de movimento dos W pontos de controle.
[106] P é um número inteiro positivo, e W e N são números inteiros maiores que 1.
[107] As P unidades de pixel são algumas ou todas as unidades de pixel do bloco de imagem atual.
[108] Um vetor de movimento de cada uma das P unidades de pixel é utilizado para determinar uma unidade de pixel de referência correspondente, em uma imagem de referência, de uma unidade de pixel correspondente. Portanto, o vetor de movimento de cada uma das P unidades de pixel pode ser utilizado para determinar a unidade de pixel de referência correspondente, na imagem de referência, da unidade de pixel correspondente.
[109] A precisão dos vetores de movimento determinados dos W pontos de controle é 1/n da precisão de pixel.
[110] A precisão do vetor de movimento que é obtida por meio de cálculo e que pertence a cada uma das P unidades de pixel é 1/N da precisão de pixel.
[111] W, n, e N são números inteiros maiores que 1.
[112] N é maior que n. P é um número inteiro positivo.
[113] Devido ao fato de N ser maior que n, a precisão do vetor de movimento que é obtida por meio de cálculo e que pertence a cada uma das P unidades de pixel é maior que a precisão dos vetores de movimento determinados dos W pontos de controle. Ou seja, os vetores de movimento de precisão mais alta das P unidades de pixel do bloco de imagem atual são obtidos.
[114] Em algumas implementações possíveis da presente invenção, os vetores de movimento dos W pontos de controle são previstos com base em um vetor de movimento, cuja precisão é 1/n da precisão de pixel, de um bloco de imagem codificado ou um bloco de imagem decodificado que circunda o bloco de imagem atual.
[115] Em algumas implementações possíveis da presente invenção, quando os vetores de movimento dos W pontos de controle são baseados em valores previstos, a precisão dos valores previstos também é 1/n da precisão de pixel, e as diferenças entre os vetores de movimento, cuja precisão é 1/n da precisão de pixel, dos pontos de controle e os valores previstos correspondentes podem ser gravados em um fluxo de bits. De modo correspondente, os vetores de movimento, cuja precisão é 1/n da precisão de pixel, dos W pontos de controle podem ser obtidos, por meio de previsão, em um lado de decodificador utilizando-se a diferença prevista entre os W vetores de movimento e o vetor de movimento previsto e utilizando-se o vetor de movimento, cuja precisão é 1/n da precisão de pixel, do bloco de imagem decodificado que circunda o bloco de imagem atual, em que a diferença prevista é obtida a partir do fluxo de bits.
[116] Em algumas implementações possíveis da presente invenção, o modelo de movimento pode ser, por exemplo, um modelo de movimento translacional, um modelo de movimento de função afim, um modelo de movimento rotacional, um modelo de movimento parabólico, um modelo de movimento cisalhante, um modelo de movimento de ampliação, um modelo de movimento perspectivo ou um modelo de movimento bilinear.
[117] Por exemplo, em algumas implementações possíveis da presente invenção, o modelo de movimento pode ser representado, conforme a seguir, quando W é igual a 2: ou , em que L representa uma largura ou uma altura do bloco de imagem atual, (v0x,v0y) e (v1x,v1y) representam vetores de movimento, cuja precisão é 1/n da precisão de pixel, de dois pontos de controle, vNx representa um componente horizontal de um vetor de movimento, cuja precisão é 1/N da precisão de pixel, de uma unidade de pixel com coordenadas de (x, y) no bloco de imagem atual, e vNy representa um componente vertical do vetor de movimento, cuja precisão é 1/N da precisão de pixel, da unidade de pixel com as coordenadas de (x, y) no bloco de imagem atual.
[118] Como outro exemplo, em algumas implementações possíveis da presente invenção, o modelo de movimento pode ser representado, conforme a seguir, quando W é igual a 3: ou em que vNx representa um componente horizontal de um vetor de movimento, cuja precisão é 1/N da precisão de pixel, de uma unidade de pixel com coordenadas de (x, y) no bloco de imagem atual, vNy representa um componente vertical do vetor de movimento, cuja precisão é 1/N da precisão de pixel, da unidade de pixel com as coordenadas de (x, y) no bloco de imagem atual, (v0x,v0y) , (v1x,v1y) , e (v2x,v2y) representam vetores de movimento, cuja precisão é 1/n da precisão de pixel, de três pontos de controle, w representa uma largura do bloco de imagem atual, e h representa uma altura do bloco de imagem atual.
[119] Os exemplos supracitados são descritos utilizando- se o modelo de movimento de função afim. Quando um modelo de movimento translacional, um modelo de movimento rotacional, um modelo de movimento cisalhante, um modelo de movimento de ampliação, um modelo de movimento perspectivo, um modelo de movimento parabólico, um modelo de movimento bilinear ou semelhante é utilizado, pode-se fazer referência aos exemplos supracitados. Os detalhes não serão descritos novamente no presente documento.
[120] 304. O aparelho de codificação de vídeo determina uma unidade de pixel de referência correspondente, em uma imagem de referência, de cada uma das P unidades de pixel utilizando-se um vetor de movimento de cada uma das P unidades de pixel.
[121] Opcionalmente, em algumas implementações possíveis da presente invenção, a determinação de uma unidade de pixel de referência correspondente, em uma imagem de referência, de cada uma das P unidades de pixel utilizando-se um vetor de movimento de cada uma das P unidades de pixel pode incluir: obter, por meio de cálculo, uma localização de pixel inteiro de cada uma das P unidades de pixel utilizando-se o vetor de movimento de cada uma das P unidades de pixel; e pesquisar, utilizando-se o vetor de movimento de cada uma das P unidades de pixel, a imagem de referência para uma unidade de pixel de referência que corresponde à localização de pixel inteiro de cada uma das P unidades de pixel, em que a unidade de pixel de referência que corresponde à localização de pixel inteiro de cada uma das P unidades de pixel e que é encontrada na imagem de referência é a unidade de pixel de referência, na imagem de referência, de cada uma das P unidades de pixel.
[122] Especificamente, por exemplo, uma localização de pixel inteiro de uma unidade de pixel i pode ser obtida por meio de cálculo utilizando-se um vetor de movimento da unidade de pixel i das P unidades de pixel, e a imagem de referência pode ser pesquisada, utilizando-se o vetor de movimento da unidade de pixel i, para uma unidade de pixel de referência que corresponde à localização de pixel inteiro da unidade de pixel i, em que a unidade de pixel de referência que corresponde à localização de pixel inteiro da unidade de pixel i e que é encontrada na imagem de referência é uma unidade de pixel de referência, na imagem de referência, da unidade de pixel i. A unidade de pixel i pode ser qualquer uma dentre as P unidades de pixel. Por exemplo, a unidade de pixel de referência correspondente, na imagem de referência, de cada uma das P unidades de pixel pode ser determinada de acordo com um modo semelhante àquele da determinação da unidade de pixel de referência, na imagem de referência, da unidade de pixel i.
[123] Em algumas implementações possíveis da presente invenção, a obtenção, por meio de cálculo, de uma localização de pixel inteiro de cada uma das P unidades de pixel utilizando-se o vetor de movimento de cada uma das P unidades de pixel inclui: obter, por meio de cálculo, a localização de pixel inteiro de cada uma das P unidades de pixel, de acordo com a fórmula a seguir, utilizando-se o vetor de movimento de cada uma das P unidades de pixel: em que M é igual a log2N quando N é uma potência integral de 2, (xInt, yInt) representa coordenadas de localização de pixel inteiro de uma unidade de pixel com coordenadas de (x, y) no bloco de imagem atual, vNx representa um componente horizontal de um vetor de movimento, cuja precisão é 1/N da precisão de pixel, da unidade de pixel com as coordenadas de (x, y) no bloco de imagem atual, e vNy representa um componente vertical do vetor de movimento, cuja precisão é 1/N da precisão de pixel, da unidade de pixel com as coordenadas de (x, y) no bloco de imagem atual.
[124] Por exemplo, referindo-se à Figura 3-b, as caixas quadradas na Figura 3-b representam pixels em localizações de pixel inteiro adjacentes a uma localização atual, e os triângulos representam subpixels.
[125] 305. O aparelho de codificação de vídeo realiza a filtragem de interpolação em um pixel da unidade de pixel de referência correspondente, na imagem de referência, de cada uma das P unidades de pixel utilizando-se um filtro de interpolação com uma fase de Q, para obter um valor de pixel previsto de cada uma das P unidades de pixel.
[126] Q é um número inteiro maior que n.
[127] Em algumas implementações possíveis da presente invenção, um valor de N pode ser um valor fixo predefinido, e Q pode ser maior ou igual a N. Quando o valor de N pode ser um valor fixo predefinido, o mesmo indica que a precisão dos vetores de movimento, obtida por meio de cálculo utilizando-se o modelo de movimento e os vetores de movimento dos W pontos de controle, das P unidades de pixel do bloco de imagem atual é relacionado de modo desnecessário a um tamanho do bloco de imagem atual. Em outras palavras, por exemplo, com base na solução dessa modalidade, o valor de pixel previsto com uma precisão fixa predefinida pode ser obtido sem um processo intermediário para obter um valor de pixel previsto de precisão mais baixa realizando-se a filtragem de interpolação de precisão mais baixa.
[128] Por exemplo, W pode ser igual a 2, 3, 4, 5, 6, 8, ou outro valor.
[129] Por exemplo, P pode ser igual a 1, 2, 3, 4, 5, 6, 8, 10, 15, 16, 21, 32, 64, ou outro valor.
[130] Por exemplo, Q pode ser igual a 128, 9, 18, 24, 256, 8, 10, 15, 16, 21, 32, 64, ou outro valor.
[131] Por exemplo, N pode ser igual a 128, 9, 18, 24, 256, 8, 10, 15, 16, 21, 32, 64, ou outro valor.
[132] Por exemplo, n pode ser igual a 8, 2, 4, ou outro valor.
[133] Em algumas implementações possíveis da presente invenção, N pode ser uma potência integral de 2 ou, certamente, N pode ser outro número inteiro positivo.
[134] Em algumas implementações possíveis da presente invenção, a realização da filtragem de interpolação em um pixel da unidade de pixel de referência correspondente, na imagem de referência, de cada uma das P unidades de pixel utilizando-se um filtro de interpolação com uma fase de Q inclui: obter, por meio de cálculo, uma fase de cada uma das P unidades de pixel utilizando-se o vetor de movimento de cada uma das P unidades de pixel; determinar, com base na fase de cada unidade de pixel, o filtro de interpolação com a fase de Q que corresponde à unidade de pixel correspondente, em que um coeficiente de filtragem utilizado pelo filtro de interpolação corresponde à fase; e realizar a filtragem de interpolação no pixel da unidade de pixel de referência correspondente, na imagem de referência, de cada unidade de pixel utilizando-se o filtro de interpolação determinado com a fase de Q que corresponde à unidade de pixel correspondente.
[135] Especificamente, por exemplo, uma fase da unidade de pixel i pode ser obtida por meio de cálculo utilizando- se o vetor de movimento da unidade de pixel i das P unidades de pixel; um filtro de interpolação com uma fase de Q que corresponde à unidade de pixel i pode ser determinado com base na fase da unidade de pixel i, em que um coeficiente de filtragem utilizado pelo filtro de interpolação corresponde à fase; e a filtragem de interpolação pode ser realizada em um pixel da unidade de pixel de referência correspondente, na imagem de referência, da unidade de pixel i utilizando- se o filtro de interpolação determinado com a fase de Q que corresponde à unidade de pixel i. A unidade de pixel i pode ser qualquer uma dentre as P unidades de pixel. Por exemplo, a filtragem de interpolação pode ser realizada em cada uma das P unidades de pixel de acordo com um modo semelhante àquele da realização da filtragem de interpolação na unidade de pixel i.
[136] Em algumas implementações possíveis da presente invenção, a obtenção, por meio de cálculo, de uma fase de cada uma das P unidades de pixel utilizando-se o vetor de movimento de cada uma das P unidades de pixel inclui: obter, por meio de cálculo, a fase de cada uma das P unidades de pixel, de acordo com a fórmula a seguir, utilizando-se o vetor de movimento de cada uma das P unidades de pixel: em que M é igual a log2N quando N é uma potência integral de 2, X' representa uma fase horizontal de uma unidade de pixel com coordenadas de (x, y) no bloco de imagem atual, Y' representa uma fase vertical da unidade de pixel com as coordenadas de (x, y) no bloco de imagem atual, vNx representa um componente horizontal de um vetor de movimento, cuja precisão é 1/N da precisão de pixel, da unidade de pixel com as coordenadas de (x, y) no bloco de imagem atual, e vNy representa um componente vertical do vetor de movimento, cuja precisão é 1/N da precisão de pixel, da unidade de pixel com as coordenadas de (x, y) no bloco de imagem atual.
[137] Opcionalmente, em algumas implementações possíveis da presente invenção, a fase inclui uma fase horizontal e uma fase vertical; e a determinação, com base na fase de cada unidade de pixel, do filtro de interpolação com a fase de Q que corresponde à unidade de pixel inclui: determinar, com base na fase horizontal de cada unidade de pixel, um filtro de interpolação horizontal com uma fase de Q que corresponde à unidade de pixel correspondente; e determinar, com base na fase vertical de cada unidade de pixel, um filtro de interpolação vertical com uma fase de Q que corresponde à unidade de pixel correspondente, em que um coeficiente de filtragem utilizado pelo filtro de interpolação horizontal corresponde à fase horizontal, e um coeficiente de filtragem utilizado pelo filtro de interpolação vertical corresponde à fase vertical.
[138] Especificamente, por exemplo, um filtro de interpolação horizontal com uma fase de Q que corresponde à unidade de pixel i pode ser determinado com base em uma fase horizontal da unidade de pixel i, e um filtro de interpolação vertical com uma fase de Q que corresponde à unidade de pixel i pode ser determinado com base em uma fase vertical da unidade de pixel i, em que um coeficiente de filtragem utilizado pelo filtro de interpolação horizontal corresponde à fase horizontal da unidade de pixel i, e um coeficiente de filtragem utilizado pelo filtro de interpolação vertical corresponde à fase vertical da unidade de pixel i. A unidade de pixel i pode ser qualquer uma dentre as P unidades de pixel. Por exemplo, o filtro de interpolação com a fase de Q que corresponde a cada uma dentre as P unidades de pixel pode ser determinado de acordo com um modo semelhante àquele da determinação do filtro de interpolação com a fase de Q que corresponde à unidade de pixel i.
[139] Opcionalmente, em algumas implementações possíveis da presente invenção, a realização da filtragem de interpolação no pixel da unidade de pixel de referência correspondente, na imagem de referência, de cada unidade de pixel utilizando-se o filtro de interpolação determinado com a fase de Q que corresponde à unidade de pixel inclui: realizar a filtragem de interpolação horizontal no pixel da unidade de pixel de referência correspondente, na imagem de referência, da unidade de pixel i utilizando-se o filtro de interpolação horizontal determinado com a fase de Q que corresponde à unidade de pixel i, para obter um resultado de filtragem de interpolação horizontal; e realizar a filtragem de interpolação vertical no resultado de filtragem de interpolação horizontal utilizando-se o filtro de interpolação vertical determinado com a fase de Q que corresponde à unidade de pixel i, para obter um valor de pixel previsto da unidade de pixel i, em que a unidade de pixel i é qualquer uma dentre as P unidades de pixel; ou realizar a filtragem de interpolação vertical em um pixel de uma unidade de pixel de referência correspondente, na imagem de referência, de uma unidade de pixel j utilizando-se um filtro de interpolação vertical determinado com uma fase de Q que corresponde à unidade de pixel j, para obter um resultado de filtragem de interpolação vertical; e realizar a filtragem de interpolação horizontal no resultado de filtragem de interpolação vertical utilizando-se um filtro de interpolação horizontal determinado com uma fase de Q que corresponde à unidade de pixel j, para obter um valor de pixel previsto da unidade de pixel j, em que a unidade de pixel j é qualquer uma dentre as P unidades de pixel.
[140] Além disso, se uma unidade de pixel tiver apenas uma fase (ou seja, tem apenas uma fase horizontal ou uma fase vertical), a filtragem de interpolação precisa ser realizada em um pixel de uma unidade de pixel de referência da unidade de pixel apenas uma vez, para se obter um valor de pixel previsto da unidade de pixel.
[141] 306. O aparelho de codificação de vídeo pode obter um valor residual previsto do bloco de imagem atual utilizando-se os valores de pixel originais das P unidades de pixel e os valores de pixel previstos das P unidades de pixel do bloco de imagem atual, e o aparelho de codificação de vídeo pode gravar o valor residual previsto do bloco de imagem atual em um fluxo de bits de vídeo.
[142] Pode-se compreender a partir daquilo mencionado anteriormente que, na solução dessa modalidade, o aparelho de codificação de vídeo obtém, por meio de cálculo, o vetor de movimento, cuja precisão é 1/N da precisão de pixel, de cada unidade de pixel do bloco de imagem atual utilizando- se o modelo de movimento e os vetores de movimento, cuja precisão é 1/n da precisão de pixel, dos W pontos de controle, em que N é maior que n. Em outras palavras, a precisão do vetor de movimento que é obtida por meio de cálculo e que pertence a cada unidade de pixel do bloco de imagem atual é mais alta que a precisão dos vetores de movimento determinados dos W pontos de controle. O vetor de movimento de precisão mais alta é obtido primeiro. Portanto, o vetor de movimento de precisão mais alta de cada unidade de pixel do bloco de imagem atual é utilizado para determinar a unidade de pixel de referência correspondente, na imagem de referência, de cada unidade de pixel do bloco de imagem atual, e a filtragem de interpolação é realizada no pixel da unidade de pixel de referência correspondente, na imagem de referência, de cada unidade de pixel do bloco de imagem atual utilizando-se o filtro de interpolação com a fase de Q (Q é maior que n), para obter o valor de pixel previsto de cada unidade de pixel do bloco de imagem atual. Pode-se compreender que a maneira anteriormente mencionada auxilia na redução de uma quantidade de vezes exigida de filtragem de interpolação exigida para se obter, por meio de previsão, o valor de pixel previsto de precisão mais alta do bloco de imagem atual (por exemplo, um processo intermediário para se obter o valor de pixel previsto de precisão mais baixa realizando-se uma filtragem de interpolação de precisão mais baixa pode não ser exigido), de modo a reduzir uma quantidade de caches intermediários e operações de memória que são exigidos para a filtragem de interpolação durante um processo de previsão de imagem, e reduzir a complexidade de cálculo durante o processo de previsão de imagem.
[143] A seguir descreve-se uma solução a partir de uma perspectiva de um lado de decodificador.
[144] Referindo-se à Figura 4, a Figura 4 é um fluxograma esquemático de outro método de previsão de imagem de acordo com outra modalidade da presente invenção. Em um exemplo mostrado na Figura 4, o outro método de previsão de imagem fornecido na outra modalidade da presente invenção pode incluir as etapas a seguir.
[145] 401. Um aparelho de decodificação de vídeo determina W pontos de controle em um bloco de imagem atual.
[146] 402. O aparelho de decodificação de vídeo determina vetores de movimento dos W pontos de controle.
[147] A determinação, através do aparelho de decodificação de vídeo, dos vetores de movimento dos W pontos de controle pode incluir: determinar um conjunto de unidades de informações de movimento candidatas que corresponde à cada um dentre os W pontos de controle, em que o conjunto de unidades de informações de movimento candidatas que corresponde à cada ponto de controle inclui pelo menos uma unidade de informações de movimento candidatas; determinar um conjunto de unidades de informações de movimento combinadas e que inclui W unidades de informações de movimento, em que cada unidade de informações de movimento no conjunto de unidades de informações de movimento combinadas e é selecionada a partir de pelo menos algumas unidades de informações de movimento no conjunto de unidades de informações de movimento candidatas que corresponde à cada um dentre os W pontos de controle, e cada unidade de informações de movimento combinadas no conjunto de unidades de informações de movimento combinadas e inclui um vetor de movimento; e realizar a previsão ou a estimação de movimento em W vetores de movimento no conjunto de unidades de informações de movimento combinadas e para obter os vetores de movimento dos W pontos de controle, ou utilizar W vetores de movimento incluídos no conjunto de unidades de informações de movimento combinadas e como os vetores de movimento dos W pontos de controle.
[148] Em algumas implementações possíveis da presente invenção, a precisão de cada vetor de movimento no conjunto de unidades de informações de movimento candidatas pode ser 1/n da precisão de pixel.
[149] 403. O aparelho de decodificação de vídeo obtém, por meio de cálculo, os vetores de movimento de P unidades de pixel do bloco de imagem atual utilizando-se um modelo de movimento e os vetores de movimento dos W pontos de controle.
[150] P é um número inteiro positivo, e W e N são números inteiros maiores que 1.
[151] As P unidades de pixel são algumas ou todas as unidades de pixel do bloco de imagem atual.
[152] Um vetor de movimento de cada uma das P unidades de pixel é utilizado para determinar uma unidade de pixel de referência correspondente, em uma imagem de referência, de uma unidade de pixel correspondente. Portanto, o vetor de movimento de cada uma das P unidades de pixel pode ser utilizado para determinar a unidade de pixel de referência correspondente, na imagem de referência, da unidade de pixel correspondente.
[153] A precisão dos vetores de movimento determinados dos W pontos de controle é 1/n da precisão de pixel.
[154] A precisão do vetor de movimento que é obtida por meio de cálculo e que pertence a cada uma das P unidades de pixel é 1/N da precisão de pixel.
[155] W, n, e N são números inteiros maiores que 1.
[156] N é maior que n. P é um número inteiro positivo.
[157] Devido ao fato de N ser maior que n, a precisão do vetor de movimento que é obtida por meio de cálculo e que pertence a cada uma das P unidades de pixel é maior que a precisão dos vetores de movimento determinados dos W pontos de controle. Ou seja, os vetores de movimento de precisão mais alta das P unidades de pixel do bloco de imagem atual são obtidos.
[158] Em algumas implementações possíveis da presente invenção, os vetores de movimento dos W pontos de controle são previstos com base em um vetor de movimento, cuja precisão é 1/n da precisão de pixel, de um bloco de imagem codificado ou um bloco de imagem decodificado que circunda o bloco de imagem atual, em que n é um número inteiro positivo, e n é menor que N.
[159] Em algumas implementações possíveis da presente invenção, quando os vetores de movimento dos W pontos de controle são baseados em valores previstos, a precisão dos valores previstos também é 1/n da precisão de pixel, e as diferenças entre os vetores de movimento, cuja precisão é 1/n da precisão de pixel, dos pontos de controle e os valores previstos correspondentes podem ser gravados em um fluxo de bits.
[160] Em algumas implementações possíveis da presente invenção, o modelo de movimento pode ser, por exemplo, um modelo de movimento translacional, um modelo de movimento de função afim, um modelo de movimento rotacional, um modelo de movimento parabólico, um modelo de movimento cisalhante, um modelo de movimento de ampliação, um modelo de movimento perspectivo ou um modelo de movimento bilinear.
[161] Por exemplo, em algumas implementações possíveis da presente invenção, o modelo de movimento pode ser representado, conforme a seguir, quando W é igual a 2: ou , em que L representa uma largura ou uma altura do bloco de imagem atual, (v0x,v0y) e (v1x,v1y) representam vetores de movimento, cuja precisão é 1/n da precisão de pixel, de dois pontos de controle, vNx representa um componente horizontal de um vetor de movimento, cuja precisão é 1/N da precisão de pixel, de uma unidade de pixel com coordenadas de (x, y) no bloco de imagem atual, e vNy representa um componente vertical do vetor de movimento, cuja precisão é 1/N da precisão de pixel, da unidade de pixel com as coordenadas de (x, y) no bloco de imagem atual.
[162] Como outro exemplo, em algumas implementações possíveis da presente invenção, o modelo de movimento pode ser representado, conforme a seguir, quando W é igual a 3: ou em que imagem atual, (v0x,v0y) , (v1x,v1y) , e (v2x,v2y) representam vetores de movimento, cuja precisão é 1/n da precisão de pixel, de três pontos de controle, w representa uma largura do bloco de imagem atual, e h representa uma altura do bloco de imagem atual.
[163] Os exemplos supracitados são descritos utilizando- se o modelo de movimento de função afim. Quando um modelo de movimento translacional, um modelo de movimento rotacional, um modelo de movimento cisalhante, um modelo de movimento de ampliação, um modelo de movimento perspectivo, um modelo de movimento parabólico, um modelo de movimento bilinear ou semelhante é utilizado, pode-se fazer referência aos exemplos supracitados. Os detalhes não serão descritos novamente no presente documento.
[164] 404. O aparelho de decodificação de vídeo determina uma unidade de pixel de referência correspondente, em uma imagem de referência, de cada uma das P unidades de pixel utilizando-se um vetor de movimento de cada uma das P unidades de pixel.
[165] Opcionalmente, em algumas implementações possíveis da presente invenção, a determinação da unidade de pixel de referência correspondente, na imagem de referência, de cada uma das P unidades de pixel utilizando-se o vetor de movimento de cada uma das P unidades de pixel pode incluir: obter, por meio de cálculo, uma localização de pixel inteiro de cada uma das P unidades de pixel utilizando-se o vetor de movimento de cada uma das P unidades de pixel; e pesquisar, utilizando-se o vetor de movimento de cada uma das P unidades de pixel, a imagem de referência para uma unidade de pixel de referência que corresponde à localização de pixel inteiro de cada uma das P unidades de pixel, em que a unidade de pixel de referência que corresponde à localização de pixel inteiro de cada uma das P unidades de pixel e que é encontrada na imagem de referência é a unidade de pixel de referência, na imagem de referência, de cada uma das P unidades de pixel.
[166] Especificamente, por exemplo, uma localização de pixel inteiro de uma unidade de pixel i pode ser obtida por meio de cálculo utilizando-se um vetor de movimento da unidade de pixel i das P unidades de pixel, e a imagem de referência pode ser pesquisada, utilizando-se o vetor de movimento da unidade de pixel i, para uma unidade de pixel de referência que corresponde à localização de pixel inteiro da unidade de pixel i, em que a unidade de pixel de referência que corresponde à localização de pixel inteiro da unidade de pixel i e que é encontrada na imagem de referência é uma unidade de pixel de referência, na imagem de referência, da unidade de pixel i. A unidade de pixel i pode ser qualquer uma dentre as P unidades de pixel. Por exemplo, a unidade de pixel de referência correspondente, na imagem de referência, de cada uma das P unidades de pixel pode ser determinada de acordo com um modo semelhante àquele da determinação da unidade de pixel de referência, na imagem de referência, da unidade de pixel i.
[167] Em algumas implementações possíveis da presente invenção, a obtenção, por meio de cálculo, de uma localização de pixel inteiro de cada uma das P unidades de pixel utilizando-se o vetor de movimento de cada uma das P unidades de pixel inclui: obter, por meio de cálculo, a localização de pixel inteiro de cada uma das P unidades de pixel, de acordo com a fórmula a seguir, utilizando-se o vetor de movimento de cada uma das P unidades de pixel: em que M é igual a log2N quando N é uma potência integral de 2, (xInt, yInt) representa coordenadas de localização de pixel inteiro de uma unidade de pixel com coordenadas de (x, y) no bloco de imagem atual, vNx representa um componente horizontal de um vetor de movimento, cuja precisão é 1/N da precisão de pixel, da unidade de pixel com as coordenadas de (x, y) no bloco de imagem atual, e vNy representa um componente vertical do vetor de movimento, cuja precisão é 1/N da precisão de pixel, da unidade de pixel com as coordenadas de (x, y) no bloco de imagem atual.
[168] 405. O aparelho de decodificação de vídeo realiza a filtragem de interpolação em um pixel da unidade de pixel de referência, na imagem de referência, de cada uma das P unidades de pixel utilizando-se um filtro de interpolação com uma fase de Q, para obter um valor de pixel previsto de cada uma das P unidades de pixel.
[169] Q é um número inteiro maior que n.
[170] Em algumas implementações possíveis da presente invenção, um valor de N pode ser um valor fixo predefinido, e Q pode ser maior ou igual a N. Quando o valor de N pode ser um valor fixo predefinido, o mesmo indica que a precisão dos vetores de movimento, obtida por meio de cálculo utilizando-se o modelo de movimento e os vetores de movimento dos W pontos de controle, das P unidades de pixel do bloco de imagem atual é relacionado de modo desnecessário a um tamanho do bloco de imagem atual. Em outras palavras, por exemplo, com base na solução dessa modalidade, o valor de pixel previsto com uma precisão fixa predefinida pode ser obtido sem um processo intermediário para obter um valor de pixel previsto de precisão mais baixa realizando-se a filtragem de interpolação de precisão mais baixa.
[171] Por exemplo, W pode ser igual a 2, 3, 4, 5, 6, 8, ou outro valor.
[172] Por exemplo, P pode ser igual a 1, 2, 3, 4, 5, 6, 8, 10, 15, 16, 21, 32, 64, ou outro valor.
[173] Por exemplo, Q pode ser igual a 128, 9, 18, 24, 256, 8, 10, 15, 16, 21, 32, 64, ou outro valor.
[174] Por exemplo, N pode ser igual a 128, 9, 18, 24, 256, 8, 10, 15, 16, 21, 32, 64, ou outro valor.
[175] Por exemplo, n pode ser igual a 8, 2, 4, ou outro valor.
[176] Em algumas implementações possíveis da presente invenção, N pode ser uma potência integral de 2 ou, certamente, N pode ser outro número inteiro positivo.
[177] Em algumas implementações possíveis da presente invenção, a realização da filtragem de interpolação em um pixel da unidade de pixel de referência correspondente, na imagem de referência, de cada uma das P unidades de pixel utilizando-se um filtro de interpolação com uma fase de Q inclui: obter, por meio de cálculo, uma fase de cada uma das P unidades de pixel utilizando-se o vetor de movimento de cada uma das P unidades de pixel; determinar, com base na fase de cada unidade de pixel, o filtro de interpolação com a fase de Q que corresponde à unidade de pixel correspondente, em que um coeficiente de filtragem utilizado pelo filtro de interpolação corresponde à fase; e realizar a filtragem de interpolação no pixel da unidade de pixel de referência correspondente, na imagem de referência, de cada unidade de pixel utilizando-se o filtro de interpolação determinado com a fase de Q que corresponde à unidade de pixel correspondente.
[178] Especificamente, por exemplo, uma fase da unidade de pixel i pode ser obtida por meio de cálculo utilizando- se o vetor de movimento da unidade de pixel i das P unidades de pixel; um filtro de interpolação com uma fase de Q que corresponde à unidade de pixel i pode ser determinado com base na fase da unidade de pixel i, em que um coeficiente de filtragem utilizado pelo filtro de interpolação corresponde à fase; e a filtragem de interpolação pode ser realizada em um pixel da unidade de pixel de referência correspondente, na imagem de referência, da unidade de pixel i utilizando- se o filtro de interpolação determinado com a fase de Q que corresponde à unidade de pixel i. A unidade de pixel i pode ser qualquer uma dentre as P unidades de pixel. Por exemplo, a filtragem de interpolação pode ser realizada em cada uma das P unidades de pixel de acordo com um modo semelhante àquele da realização da filtragem de interpolação na unidade de pixel i.
[179] Em algumas implementações possíveis da presente invenção, a obtenção, por meio de cálculo, de uma fase de cada uma das P unidades de pixel utilizando-se o vetor de movimento de cada uma das P unidades de pixel inclui: obter, por meio de cálculo, a fase de cada uma das P unidades de pixel, de acordo com a fórmula a seguir, utilizando-se o vetor de movimento de cada uma das P unidades de pixel: em que M é igual a log2N quando N é uma potência integral de 2, X' representa uma fase horizontal de uma unidade de pixel com coordenadas de (x, y) no bloco de imagem atual, Y' representa uma fase vertical da unidade de pixel com as coordenadas de (x, y) no bloco de imagem atual, vNx representa um componente horizontal de um vetor de movimento, cuja precisão é 1/N da precisão de pixel, da unidade de pixel com as coordenadas de (x, y) no bloco de imagem atual, e vNy representa um componente vertical do vetor de movimento, cuja precisão é 1/N da precisão de pixel, da unidade de pixel com as coordenadas de (x, y) no bloco de imagem atual.
[180] Opcionalmente, em algumas implementações possíveis da presente invenção, a fase inclui uma fase horizontal e uma fase vertical; e a determinação, com base na fase de cada unidade de pixel, do filtro de interpolação com a fase de Q que corresponde à unidade de pixel inclui: determinar, com base na fase horizontal de cada unidade de pixel, um filtro de interpolação horizontal com uma fase de Q que corresponde à unidade de pixel correspondente; e determinar, com base na fase vertical de cada unidade de pixel, um filtro de interpolação vertical com uma fase de Q que corresponde à unidade de pixel correspondente, em que um coeficiente de filtragem utilizado pelo filtro de interpolação horizontal corresponde à fase horizontal, e um coeficiente de filtragem utilizado pelo filtro de interpolação vertical corresponde à fase vertical.
[181] Especificamente, por exemplo, um filtro de interpolação horizontal com uma fase de Q que corresponde à unidade de pixel i pode ser determinado com base em uma fase horizontal da unidade de pixel i, e um filtro de interpolação vertical com uma fase de Q que corresponde à unidade de pixel i pode ser determinado com base em uma fase vertical da unidade de pixel i, em que um coeficiente de filtragem utilizado pelo filtro de interpolação horizontal corresponde à fase horizontal da unidade de pixel i, e um coeficiente de filtragem utilizado pelo filtro de interpolação vertical corresponde à fase vertical da unidade de pixel i. A unidade de pixel i pode ser qualquer uma dentre as P unidades de pixel. Por exemplo, o filtro de interpolação com a fase de Q que corresponde a cada uma dentre as P unidades de pixel pode ser determinado de acordo com um modo semelhante àquele da determinação do filtro de interpolação com a fase de Q que corresponde à unidade de pixel i.
[182] Opcionalmente, em algumas implementações possíveis da presente invenção, a realização da filtragem de interpolação no pixel da unidade de pixel de referência correspondente, na imagem de referência, de cada unidade de pixel utilizando-se o filtro de interpolação determinado com a fase de Q que corresponde à unidade de pixel inclui: realizar a filtragem de interpolação horizontal no pixel da unidade de pixel de referência correspondente, na imagem de referência, da unidade de pixel i utilizando-se o filtro de interpolação horizontal determinado com a fase de Q que corresponde à unidade de pixel i, para obter um resultado de filtragem de interpolação horizontal; e realizar a filtragem de interpolação vertical no resultado de filtragem de interpolação horizontal utilizando-se o filtro de interpolação vertical determinado com a fase de Q que corresponde à unidade de pixel i, para obter um valor de pixel previsto da unidade de pixel i, em que a unidade de pixel i é qualquer uma dentre as P unidades de pixel; ou realizar a filtragem de interpolação vertical em um pixel de uma unidade de pixel de referência correspondente, na imagem de referência, de uma unidade de pixel j utilizando-se um filtro de interpolação vertical determinado com uma fase de Q que corresponde à unidade de pixel j, para obter um resultado de filtragem de interpolação vertical; e realizar a filtragem de interpolação horizontal no resultado de filtragem de interpolação vertical utilizando-se um filtro de interpolação horizontal determinado com uma fase de Q que corresponde à unidade de pixel j, para obter um valor de pixel previsto da unidade de pixel j, em que a unidade de pixel j é qualquer uma dentre as P unidades de pixel.
[183] Além disso, se uma unidade de pixel tiver apenas uma fase (ou seja, tem apenas uma fase horizontal ou uma fase vertical), a filtragem de interpolação precisa ser realizada em um pixel de uma unidade de pixel de referência da unidade de pixel apenas uma vez, para se obter um valor de pixel previsto da unidade de pixel.
[184] 406. O aparelho de decodificação de vídeo reconstrói o bloco de imagem atual utilizando-se um valor de pixel previsto do bloco de imagem atual e um valor residual previsto, em um fluxo de bits de vídeo, do bloco de imagem atual.
[185] Pode-se compreender a partir daquilo mencionado anteriormente que, na solução dessa modalidade, o aparelho de decodificação de vídeo obtém, por meio de cálculo, o vetor de movimento, cuja precisão é 1/N da precisão de pixel, de cada unidade de pixel do bloco de imagem atual utilizando- se o modelo de movimento e os vetores de movimento, cuja precisão é 1/n da precisão de pixel, dos W pontos de controle, em que N é maior que n. Em outras palavras, a precisão do vetor de movimento que é obtida por meio de cálculo e que pertence a cada unidade de pixel do bloco de imagem atual é mais alta que a precisão dos vetores de movimento determinados dos W pontos de controle. O vetor de movimento de precisão mais alta é obtido primeiro. Portanto, o vetor de movimento de precisão mais alta de cada unidade de pixel do bloco de imagem atual é utilizado para determinar a unidade de pixel de referência correspondente, na imagem de referência, de cada unidade de pixel do bloco de imagem atual, e a filtragem de interpolação é realizada no pixel da unidade de pixel de referência correspondente, na imagem de referência, de cada unidade de pixel do bloco de imagem atual utilizando-se o filtro de interpolação com a fase de Q (Q é maior que n), para obter o valor de pixel previsto de cada unidade de pixel do bloco de imagem atual. Pode-se compreender que a maneira anteriormente mencionada auxilia na redução de uma quantidade de vezes exigida de filtragem de interpolação exigida para se obter, por meio de previsão, o valor de pixel previsto de precisão mais alta do bloco de imagem atual (por exemplo, um processo intermediário para se obter o valor de pixel previsto de precisão mais baixa realizando-se uma filtragem de interpolação de precisão mais baixa pode não ser exigido), de modo a reduzir uma quantidade de caches intermediários e operações de memória que são exigidos para a filtragem de interpolação durante um processo de previsão de imagem, e reduzir a complexidade de cálculo durante o processo de previsão de imagem.
[186] A seguir descreve-se, utilizando-se exemplos, algumas implementações específicas possíveis da determinação de um conjunto de unidades de informações de movimento combinadas e que inclui W unidades de informações de movimento nas modalidades supracitadas.
[187] A determinação de um conjunto de unidades de informações de movimento combinadas e que inclui W unidades de informações de movimento pode incluir: determinar, a partir de A conjuntos de unidade de informações de movimento combinadas candidatas, o conjunto de unidades de informações de movimento combinadas e que inclui as W unidades de informações de movimento, em que cada unidade de informações de movimento incluída em cada um dentre os A conjuntos de unidade de informações de movimento combinadas candidatas é selecionada a partir de pelo menos algumas unidades de informações de movimento, em conformidade com uma condição de restrição, em um conjunto de unidades de informações de movimento candidatas que corresponde à cada um dentre os W pontos de controle, A é um número inteiro positivo, os A conjuntos de unidade de informações de movimento combinadas candidatas são diferentes uns dos outros, e cada um dentre os A conjuntos de unidade de informações de movimento combinadas candidatas inclui W unidades de informações de movimento.
[188] Opcionalmente, em algumas implementações possíveis da presente invenção, os A conjuntos de unidade de informações de movimento combinadas candidatas satisfazem pelo menos uma dentre uma primeira condição, uma segunda condição, uma terceira condição, uma quarta condição ou uma quinta condição.
[189] A primeira condição inclui: Um modo de movimento, indicado por uma unidade de informações de movimento em qualquer um dentre os A conjuntos de unidade de informações de movimento combinadas candidatas, do bloco de imagem atual é um movimento não translacional.
[190] A segunda condição inclui: As direções de previsão que correspondem à duas unidades de informações de movimento em qualquer um dentre os A conjuntos de unidade de informações de movimento combinadas candidatas são iguais.
[191] A terceira condição inclui: Os índices de quadro de referência que correspondem à duas unidades de informações de movimento em qualquer um dentre os A conjuntos de unidade de informações de movimento combinadas candidatas são iguais.
[192] A quarta condição inclui: Um valor absoluto de uma diferença entre componentes horizontais de vetores de movimento de duas unidades de informações de movimento em qualquer um dentre os A conjuntos de unidade de informações de movimento combinadas candidatas é menor ou igual a um limiar de componente horizontal, ou um valor absoluto de uma diferença entre componentes horizontais de um vetor de movimento de um ponto de controle Z e um vetor de movimento de uma unidade de informações de movimento em qualquer um dentre os A conjuntos de unidade de informações de movimento combinadas candidatas é menor ou igual a um limiar de componente horizontal, em que o ponto de controle Z do bloco de imagem atual é diferente de qualquer um dentre os W pontos de controle.
[193] A quinta condição inclui: Um valor absoluto de uma diferença entre componentes verticais de vetores de movimento de duas unidades de informações de movimento em qualquer um dentre os A conjuntos de unidade de informações de movimento combinadas candidatas é menor ou igual a um limiar de componente vertical, ou um valor absoluto de uma diferença entre componentes verticais de um vetor de movimento de um ponto de controle Z e um vetor de movimento de qualquer unidade de informações de movimento em um dentre os A conjuntos de unidade de informações de movimento combinadas candidatas é menor ou igual a um limiar de componente vertical, em que o ponto de controle Z do bloco de imagem atual é diferente de qualquer um dentre os W pontos de controle.
[194] Opcionalmente, em algumas implementações possíveis da presente invenção, a determinação, a partir de A conjuntos de unidade de informações de movimento combinadas candidatas através do aparelho de codificação/decodificação de vídeo, do conjunto de unidades de informações de movimento combinadas e que inclui as W unidades de informações de movimento pode incluir: determinar, a partir dos A conjuntos de unidade de informações de movimento combinadas candidatas e com base em distorção ou um custo de taxa-distorção, o conjunto de unidades de informações de movimento combinadas e que inclui os W vetores de movimento.
[195] Opcionalmente, o custo de taxa-distorção que corresponde ao conjunto de unidades de informações de movimento combinadas e é menor ou igual a um custo de taxa- distorção que corresponde a qualquer conjunto de unidades de informações de movimento combinadas, diferente do conjunto de unidades de informações de movimento combinadas e, nos A conjuntos de unidade de informações de movimento combinadas candidatas.
[196] Opcionalmente, a distorção que corresponde ao conjunto de unidades de informações de movimento combinadas e é menor ou igual à distorção que corresponde a qualquer conjunto de unidades de informações de movimento combinadas, diferente do conjunto de unidades de informações de movimento combinadas e, nos A conjuntos de unidade de informações de movimento combinadas candidatas.
[197] Um custo de taxa-distorção que corresponde a um conjunto de unidades de informações de movimento combinadas candidatas dos A conjuntos de unidade de informações de movimento combinadas candidatas (por exemplo, o conjunto de unidades de informações de movimento combinadas e dos A conjuntos de unidade de informações de movimento combinadas candidatas) pode ser, por exemplo, um custo de taxa-distorção que corresponde a um valor de pixel previsto que pertence a um bloco de imagem (por exemplo, o bloco de imagem atual) e que é obtido por meio da previsão de valor de pixel realizada no bloco de imagem utilizando-se o conjunto de unidades de informações de movimento combinadas candidatas (por exemplo, o conjunto de unidades de informações de movimento combinadas e).
[198] A distorção que corresponde a um conjunto de unidades de informações de movimento combinadas candidatas dos A conjuntos de unidade de informações de movimento combinadas candidatas (por exemplo, o conjunto de unidades de informações de movimento combinadas e dos A conjuntos de unidade de informações de movimento combinadas candidatas) pode ser, por exemplo, a distorção entre um valor de pixel original de um bloco de imagem (por exemplo, o bloco de imagem atual) e um valor de pixel previsto que pertence ao bloco de imagem e que é obtido por meio de previsão de valor de pixel realizada no bloco de imagem utilizando-se o conjunto de unidades de informações de movimento combinadas candidatas (por exemplo, o conjunto de unidades de informações de movimento combinadas e) (ou seja, a distorção entre um valor de pixel original e um valor de pixel previsto que pertencem ao bloco de imagem).
[199] Em algumas implementações possíveis da presente invenção, a distorção entre um valor de pixel original de um bloco de imagem (por exemplo, o bloco de imagem atual) e um valor de pixel previsto que pertence ao bloco de imagem e que é obtido por meio da previsão de valor de pixel realizada no bloco de imagem utilizando-se um conjunto de unidades de informações de movimento combinadas candidatas (por exemplo, o conjunto de unidades de informações de movimento combinadas e) pode ser, especificamente, por exemplo, uma soma dos quadrados das diferenças (SSD), uma soma de diferenças absolutas (SAD), uma soma de diferenças, ou outro valor paramétrico de distorção que possa medir a distorção, entre o valor de pixel original do bloco de imagem (por exemplo, o bloco de imagem atual) e o valor de pixel previsto que pertence ao bloco de imagem e que é obtido por meio da previsão de valor de pixel realizada no bloco de imagem utilizando-se o conjunto de unidades de informações de movimento combinadas candidatas (por exemplo, o conjunto de unidades de informações de movimento combinadas e).
[200] A seguir descreve-se, utilizando-se exemplos, alguns modos possíveis de se determinar W pontos de controle em um bloco de imagem atual.
[201] Opcionalmente, em algumas implementações possíveis da presente invenção, os W pontos de controle incluem W pontos de controle de um ponto de controle superior esquerdo, um ponto de controle superior direito, um ponto de controle inferior esquerdo, e um ponto de controle central a1 no bloco de imagem atual.
[202] O ponto de controle superior esquerdo no bloco de imagem atual é um vértice superior esquerdo do bloco de imagem atual ou de um bloco de pixel, no bloco de imagem atual, que inclui um vértice superior esquerdo do bloco de imagem atual. O ponto de controle inferior esquerdo no bloco de imagem atual é um vértice inferior esquerdo do bloco de imagem atual ou de um bloco de pixel, no bloco de imagem atual, que inclui um vértice inferior esquerdo do bloco de imagem atual. O ponto de controle superior direito no bloco de imagem atual é um vértice superior direito do bloco de imagem atual ou de um bloco de pixel, no bloco de imagem atual, que inclui um vértice superior direito do bloco de imagem atual. O ponto de controle central a1 do bloco de imagem atual é um pixel central do bloco de imagem atual ou de um bloco de pixel, no bloco de imagem atual, que inclui um pixel central do bloco de imagem atual.
[203] Opcionalmente, em algumas implementações possíveis da presente invenção, um conjunto de unidades de informações de movimento candidatas que corresponde ao ponto de controle superior esquerdo no bloco de imagem atual inclui uma unidade de informações de movimento de x1 unidades de pixel. As x1 unidades de pixel incluem pelo menos uma unidade de pixel (por exemplo, blocos de imagem A, B, e C na Figura 2-b) espacialmente adjacentes ao ponto de controle superior esquerdo no bloco de imagem atual e/ou pelo menos uma unidade de pixel temporalmente adjacente ao ponto de controle superior esquerdo no bloco de imagem atual, em que x1 é um número inteiro positivo.
[204] Por exemplo, as x1 unidades de pixel podem incluir pelo menos um dentre os seguintes: uma unidade de pixel, em um quadro de vídeo temporalmente adjacente a um quadro de vídeo ao qual o bloco de imagem atual pertence, cuja localização é a mesma que aquela do ponto de controle superior esquerdo no bloco de imagem atual; uma unidade de pixel que está espacialmente adjacente ao bloco de imagem atual e que se encontra à esquerda do mesmo; uma unidade de pixel que está espacialmente adjacente ao bloco de imagem atual e que se encontra no lado superior esquerdo do mesmo; ou uma unidade de pixel que está espacialmente adjacente ao bloco de imagem atual e que se encontra em um lado superior do mesmo.
[205] Opcionalmente, em algumas implementações possíveis da presente invenção, um conjunto de unidades de informações de movimento candidatas que corresponde ao ponto de controle superior direito no bloco de imagem atual inclui uma unidade de informações de movimento de x2 unidades de pixel. As x2 unidades de pixel incluem pelo menos uma unidade de pixel (por exemplo, os blocos de imagem E e D na Figura 2-b) espacialmente adjacente ao ponto de controle superior direito no bloco de imagem atual e/ou pelo menos uma unidade de pixel temporalmente adjacente ao ponto de controle superior direito no bloco de imagem atual, em que x2 é um número inteiro positivo.
[206] Por exemplo, as x2 unidades de pixel podem incluir pelo menos um dentre os seguintes: uma unidade de pixel, em um quadro de vídeo temporalmente adjacente a um quadro de vídeo ao qual o bloco de imagem atual pertence, cuja localização é a mesma que aquela do ponto de controle superior direito no bloco de imagem atual; uma unidade de pixel que está espacialmente adjacente ao bloco de imagem atual e que se encontra à direita do mesmo; uma unidade de pixel que está espacialmente adjacente ao bloco de imagem atual e que se encontra no lado superior direito do mesmo; ou uma unidade de pixel que está espacialmente adjacente ao bloco de imagem atual e que se encontra em um lado superior do mesmo.
[207] Opcionalmente, em algumas implementações possíveis da presente invenção; um conjunto de unidades de informações de movimento candidatas que corresponde ao ponto de controle inferior esquerdo no bloco de imagem atual inclui uma unidade de informações de movimento de x3 unidades de pixel. As x3 unidades de pixel incluem pelo menos uma unidade de pixel espacialmente adjacente ao ponto de controle inferior esquerdo no bloco de imagem atual e/ou pelo menos uma unidade de pixel temporalmente adjacente ao ponto de controle inferior esquerdo no bloco de imagem atual, em que x3 é um número inteiro positivo.
[208] Por exemplo, as x3 unidades de pixel podem incluir pelo menos um dentre os seguintes: uma unidade de pixel, em um quadro de vídeo temporalmente adjacente a um quadro de vídeo ao qual o bloco de imagem atual pertence, cuja localização é a mesma que aquela do ponto de controle inferior esquerdo no bloco de imagem atual; uma unidade de pixel que está espacialmente adjacente ao bloco de imagem atual e que se encontra à esquerda do mesmo; uma unidade de pixel que está espacialmente adjacente ao bloco de imagem atual e que se encontra no lado inferior esquerdo do mesmo; ou uma unidade de pixel que está espacialmente adjacente ao bloco de imagem atual e que se encontra em um lado inferior do mesmo.
[209] Opcionalmente, em algumas implementações possíveis da presente invenção, um conjunto de unidades de informações de movimento candidatas que corresponde ao ponto de controle central a1 do bloco de imagem atual inclui uma unidade de informações de movimento de x5 unidades de pixel. Uma dentre as x5 unidades de pixel é uma unidade de pixel a2.
[210] Uma localização do ponto de controle central a1 em um quadro de vídeo ao qual o bloco de imagem atual pertence é a mesma que uma localização da unidade de pixel a2 em um quadro de vídeo adjacente ao quadro de vídeo ao qual o bloco de imagem atual pertence, em que x5 é um número inteiro positivo.
[211] As tabelas a seguir listam uma correspondência entre uma fase de uma unidade de pixel e um coeficiente de filtragem.
[212] A Tabela 1 lista uma correspondência entre um coeficiente de filtragem de um filtro de interpolação de 64 fases com um fator de escala de ganho de 256 e uma fase de uma unidade de pixel.
[213] A Tabela 2 lista uma correspondência entre um coeficiente de filtragem de um filtro de interpolação de 64 fases com um fator de escala de ganho de 64 e uma fase de uma unidade de pixel. TABELA 1
TABELA 2
[214] Por exemplo, quando uma fase horizontal de uma unidade de pixel é x = 12, se um filtro de interpolação de 64 fases com um fator de escala de ganho de 256 for utilizado, um resultado de filtragem de interpolação horizontal S pode ser representado conforme a seguir:
[215] Um valor de pixel previsto da unidade de pixel pode ser obtido utilizando-se o resultado de filtragem de interpolação horizontal S, em que o deslocamento pode ser qualquer número inteiro.
[216] A seguir utiliza-se alguns dados de teste para apresentar os efeitos técnicos das soluções das modalidades da presente invenção.
[217] A Tabela 3 e a Tabela 4 fornecem um contraste de alguns desempenhos de teste entre uma solução convencional e as soluções das modalidades da presente invenção. A Tabela 3 lista o desempenho de teste da solução convencional, e a Tabela 4 lista o desempenho de teste de soluções de algumas das modalidades da presente invenção. TABELA 3 TABELA 4
[218] Pode-se compreende a partir do contraste entre as duas tabelas supracitadas que as soluções técnicas das modalidades da presente invenção têm um grande aprimoramento no desempenho de codificação e decodificação em comparação com a técnica anterior.
[219] A seguir fornece-se adicionalmente um aparelho relacionado configurado para implementar as soluções supracitadas.
[220] Referindo-se à Figura 5, uma modalidade da presente invenção fornece um aparelho de previsão de imagem 500, que pode incluir uma primeira unidade de determinação 510, uma unidade de cálculo 520 e uma unidade de filtragem de interpolação 540.
[221] A primeira unidade de determinação 510 é configurada para determinar vetores de movimento de W pontos de controle em um bloco de imagem atual.
[222] A unidade de cálculo 520 é configurada para obter, por meio de cálculo, vetores de movimento de P unidades de pixel do bloco de imagem atual utilizando-se um modelo de movimento e os vetores de movimento dos W pontos de controle, em que a precisão dos vetores de movimento determinados dos W pontos de controle é 1/n da precisão de pixel, a precisão do vetor de movimento que é obtida por meio de cálculo e que pertence a cada uma das P unidades de pixel é 1/N da precisão de pixel, e as P unidades de pixel são algumas ou todas as unidades de pixel do bloco de imagem atual.
[223] O vetor de movimento de cada uma das P unidades de pixel é utilizado para determinar uma unidade de pixel de referência correspondente, em uma imagem de referência, de uma unidade de pixel correspondente. W, n, e N são números inteiros maiores que 1. N é maior que n. P é um número inteiro positivo.
[224] A unidade de filtragem de interpolação 540 é configurada para realizar a filtragem de interpolação em um pixel da unidade de pixel de referência, na imagem de referência, de cada uma das P unidades de pixel utilizando- se um filtro de interpolação com uma fase de Q, para obter um valor de pixel previsto de cada uma das P unidades de pixel.
[225] O aparelho de previsão de imagem 500 pode incluir adicionalmente uma segunda unidade de determinação 530, configurada para determinar a unidade de pixel de referência correspondente, na imagem de referência, de cada uma das P unidades de pixel utilizando-se o vetor de movimento de cada uma das P unidades de pixel.
[226] Opcionalmente, em algumas implementações possíveis da presente invenção, um valor de N é um valor fixo predefinido, e Q é menor ou igual a N.
[227] Opcionalmente, em algumas implementações possíveis da presente invenção, um componente horizontal ou um componente vertical de um dos vetores de movimento dos W pontos de controle é amplificado N vezes no modelo de movimento utilizando-se N, ou uma diferença de componente entre vetores de movimento de quaisquer dois dentre os W pontos de controle é amplificada N vezes no modelo de movimento utilizando-se N.
[228] Opcionalmente, em algumas implementações possíveis da presente invenção,
[229] A segunda unidade de determinação 530 é configurada especificamente para: obter, por meio de cálculo, uma localização de pixel inteiro de cada uma das P unidades de pixel utilizando-se o vetor de movimento de cada uma das P unidades de pixel; e pesquisar, utilizando-se o vetor de movimento de cada uma das P unidades de pixel, a imagem de referência para uma unidade de pixel de referência que corresponde à localização de pixel inteiro de cada uma das P unidades de pixel, em que a unidade de pixel de referência que corresponde à localização de pixel inteiro de cada uma das P unidades de pixel e que é encontrada na imagem de referência é a unidade de pixel de referência, na imagem de referência, de cada uma das P unidades de pixel.
[230] Opcionalmente, em algumas implementações possíveis da presente invenção, em um aspecto da obtenção, por meio de cálculo, de uma localização de pixel inteiro de cada uma das P unidades de pixel utilizando-se o vetor de movimento de cada uma das P unidades de pixel, a segunda unidade de determinação 530 é configurada especificamente para: obter, por meio de cálculo, a localização de pixel inteiro de cada uma das P unidades de pixel, de acordo com a fórmula a seguir, utilizando-se o vetor de movimento de cada uma das P unidades de pixel: em que M é igual a log2N quando N é uma potência integral de 2, (xInt, yInt) representa coordenadas de localização de pixel inteiro de uma unidade de pixel com coordenadas de (x, y) no bloco de imagem atual, vNx representa um componente horizontal de um vetor de movimento, cuja precisão é 1/N da precisão de pixel, da unidade de pixel com as coordenadas de (x, y) no bloco de imagem atual, e vNy representa um componente vertical do vetor de movimento, cuja precisão é 1/N da precisão de pixel, da unidade de pixel com as coordenadas de (x, y) no bloco de imagem atual.
[231] Opcionalmente, em algumas implementações possíveis da presente invenção; a unidade de filtragem de interpolação é configurada especificamente para: obter, por meio de cálculo, uma fase de cada uma das P unidades de pixel utilizando-se o vetor de movimento de cada uma das P unidades de pixel; determinar, com base na fase de cada unidade de pixel, o filtro de interpolação com a fase de Q que corresponde à unidade de pixel correspondente, em que um coeficiente de filtragem utilizado pelo filtro de interpolação corresponde à fase; e realizar a filtragem de interpolação no pixel da unidade de pixel de referência correspondente, na imagem de referência, de cada unidade de pixel utilizando-se o filtro de interpolação determinado com a fase de Q que corresponde à unidade de pixel correspondente.
[232] Opcionalmente, em algumas implementações possíveis da presente invenção, em um aspecto da obtenção, por meio de cálculo, de uma fase de cada uma das P unidades de pixel utilizando-se o vetor de movimento de cada uma das P unidades de pixel, a unidade de filtragem de interpolação é especificamente configurada para obter, por meio de cálculo, a fase de cada uma das P unidades de pixel, de acordo com a fórmula a seguir, utilizando-se o vetor de movimento de cada uma das P unidades de pixel: em que M é igual a log2N quando N é uma potência integral de 2, X' representa uma fase horizontal de uma unidade de pixel com coordenadas de (x, y) no bloco de imagem atual, Y' representa uma fase vertical da unidade de pixel com as coordenadas de (x, y) no bloco de imagem atual, vNx representa um componente horizontal de um vetor de movimento, cuja precisão é 1/N da precisão de pixel, da unidade de pixel com as coordenadas de (x, y) no bloco de imagem atual, e vNy representa um componente vertical do vetor de movimento, cuja precisão é 1/N da precisão de pixel, da unidade de pixel com as coordenadas de (x, y) no bloco de imagem atual.
[233] Opcionalmente, em algumas implementações possíveis da presente invenção, a fase inclui uma fase horizontal e uma fase vertical; e em um aspecto da determinação, com base na fase de cada unidade de pixel, do filtro de interpolação com a fase de Q que corresponde à unidade de pixel correspondente, a unidade de filtragem de interpolação é configurada especificamente para: determinar, com base na fase horizontal de cada unidade de pixel, um filtro de interpolação horizontal com uma fase de Q que corresponde à unidade de pixel correspondente; e determinar, com base na fase vertical de cada unidade de pixel, um filtro de interpolação vertical com uma fase de Q que corresponde à unidade de pixel correspondente, em que um coeficiente de filtragem utilizado pelo filtro de interpolação horizontal corresponde à fase horizontal, e um coeficiente de filtragem utilizado pelo filtro de interpolação vertical corresponde à fase vertical.
[234] Opcionalmente, em algumas implementações possíveis da presente invenção, em um aspecto da realização da filtragem de interpolação no pixel da unidade de pixel de referência correspondente, na imagem de referência, de cada unidade de pixel utilizando-se o filtro de interpolação determinado com az fase de Q que corresponde à unidade de pixel correspondente, a unidade de filtragem de interpolação é configurada especificamente para: realizar a filtragem de interpolação horizontal em um pixel de uma unidade de pixel de referência correspondente, na imagem de referência, de uma unidade de pixel i utilizando- se um filtro de interpolação horizontal determinado com uma fase de Q que corresponde à unidade de pixel i, para obter um resultado de filtragem de interpolação horizontal; e realizar a filtragem de interpolação vertical no resultado de filtragem de interpolação horizontal utilizando-se um filtro de interpolação vertical determinado com uma fase de Q que corresponde à unidade de pixel i, para obter um valor de pixel previsto da unidade de pixel i, em que a unidade de pixel i é qualquer uma dentre as P unidades de pixel; ou realizar a filtragem de interpolação vertical em um pixel de uma unidade de pixel de referência correspondente, na imagem de referência, de uma unidade de pixel j utilizando-se um filtro de interpolação vertical determinado com uma fase de Q que corresponde à unidade de pixel j, para obter um resultado de filtragem de interpolação vertical; e realizar a filtragem de interpolação horizontal no resultado de filtragem de interpolação vertical utilizando-se um filtro de interpolação horizontal determinado com uma fase de Q que corresponde à unidade de pixel j, para obter um valor de pixel previsto da unidade de pixel j, em que a unidade de pixel j é qualquer uma dentre as P unidades de pixel.
[235] Opcionalmente, em algumas implementações possíveis da presente invenção, o modelo de movimento é um modelo de movimento translacional, um modelo de movimento de função afim, um modelo de movimento rotacional, um modelo de movimento de ampliação, um modelo de movimento parabólico, um modelo de movimento cisalhante, um modelo de movimento perspectivo ou um modelo de movimento bilinear.
[236] Opcionalmente, em algumas implementações possíveis da presente invenção, o modelo de movimento é representado conforme a seguir quando W é igual a 2: ou , em que L representa uma largura ou uma altura do bloco de imagem atual, (v0x ,v0y) e (v1x,v1y) representam vetores de movimento, cuja precisão é 1/n da precisão de pixel, de dois pontos de controle, vNx representa um componente horizontal de um vetor de movimento, cuja precisão é 1/N da precisão de pixel, de uma unidade de pixel com coordenadas de (x, y) no bloco de imagem atual, e vNy representa um componente vertical do vetor de movimento, cuja precisão é 1/N da precisão de pixel, da unidade de pixel com as coordenadas de (x, y) no bloco de imagem atual.
[237] Opcionalmente, em algumas implementações possíveis da presente invenção; o modelo de movimento é representado conforme a seguir quando W é igual a 3: ou em que vNx representa um componente horizontal de um vetor de movimento, cuja precisão é 1/N da precisão de pixel, de uma unidade de pixel com coordenadas de (x, y) no bloco de imagem atual, vNy representa um componente vertical do vetor de movimento, cuja precisão é 1/N da precisão de pixel, da unidade de pixel com as coordenadas de (x, y) no bloco de imagem atual, (v0x,v0y) , (v1x,v1y) , e (v2x,v2y) representam vetores de movimento, cuja precisão é 1/n da precisão de pixel, de três pontos de controle, w representa uma largura do bloco de imagem atual, e h representa uma altura do bloco de imagem atual.
[238] Opcionalmente, em algumas implementações possíveis da presente invenção, os vetores de movimento dos W pontos de controle são previstos com base em um vetor de movimento, cuja precisão é 1/n da precisão de pixel, de um bloco de imagem codificado ou um bloco de imagem decodificado que circunda o bloco de imagem atual.
[239] Opcionalmente, em algumas implementações possíveis da presente invenção, o aparelho de previsão de imagem 500 é aplicado a um aparelho de codificação de vídeo, ou o aparelho de previsão de imagem 500 é aplicado a um aparelho de decodificação de vídeo.
[240] Pode-se compreender que as funções dos módulos funcionais do aparelho de previsão de imagem 500 nessa modalidade podem ser implementadas especificamente de acordo com os métodos nas modalidades de método supracitadas. Para um processo de implementação específico do aparelho de previsão de imagem 500, pode-se fazer referência a descrições relacionadas nas modalidades de método supracitadas. Os detalhes não serão descritos novamente no presente documento. O aparelho de previsão de imagem 500 pode ser qualquer aparelho que precise emitir ou reproduzir um vídeo, por exemplo, um computador do tipo notebook, a computador do tipo tablet, um computador de uso pessoal, um telefone móvel ou outro dispositivo.
[241] Pode-se compreender que, nessa modalidade, o aparelho de previsão de imagem 500 obtém, por meio de cálculo, o vetor de movimento, cuja precisão é 1/N da precisão de pixel, de cada unidade de pixel do bloco de imagem atual utilizando-se o modelo de movimento e os vetores de movimento, cuja precisão é 1/n da precisão de pixel, dos W pontos de controle, em que N é maior que n. Em outras palavras, a precisão do vetor de movimento que é obtida por meio de cálculo e que pertence a cada unidade de pixel do bloco de imagem atual é mais alta que a precisão dos vetores de movimento determinados dos W pontos de controle. O vetor de movimento de precisão mais alta é obtido primeiro. Portanto, o vetor de movimento de precisão mais alta de cada unidade de pixel do bloco de imagem atual é utilizado para determinar a unidade de pixel de referência correspondente, na imagem de referência, de cada unidade de pixel do bloco de imagem atual, e a filtragem de interpolação é realizada no pixel da unidade de pixel de referência correspondente, na imagem de referência, de cada unidade de pixel do bloco de imagem atual utilizando-se o filtro de interpolação com a fase de Q (Q é maior que n), para obter o valor de pixel previsto de cada unidade de pixel do bloco de imagem atual. Pode-se compreender que a maneira anteriormente mencionada auxilia na redução de uma quantidade de vezes exigidas de filtragem de interpolação para se obter, por meio de previsão, o valor de pixel previsto de precisão mais alta do bloco de imagem atual (por exemplo, um processo intermediário para se obter um valor de pixel previsto de precisão mais baixa realizando-se uma filtragem de interpolação de precisão mais baixa pode não ser exigido), de modo a reduzir uma quantidade de caches intermediários e operações de memória que são exigidos para a filtragem de interpolação durante um processo de previsão de imagem, e reduzir a complexidade de cálculo durante o processo de previsão de imagem.
[242] Referindo-se à Figura 6, a Figura 6 é um diagrama de bloco estrutural de um aparelho de previsão de imagem 600 de acordo com outra modalidade da presente invenção. O aparelho de previsão de imagem 600 pode incluir pelo menos um processador 601, uma memória 605 e pelo menos um barramento de comunicações 602. O barramento de comunicações 602 é configurado para implementar uma conexão e uma comunicação entre os componentes.
[243] O aparelho de previsão de imagem 600 pode incluir opcionalmente include menos uma interface de rede 604 e/ou uma interface de usuário 603. A interface de usuário 603 pode incluir uma tela (por exemplo, dispositivo de geração de imagens holográficas, um tubo de raios catódicos ou um projetor), um dispositivo apontador (por exemplo, um mouse, um trackball, um painel sensível ao toque ou uma tela sensível ao toque), uma câmera e/ou um aparelho de captação de som ou semelhantes.
[244] A memória 605 pode incluir uma memória somente de leitura e uma memória de acesso aleatório e fornecer uma instrução e dados para o processador 601. Uma parte da memória 605 pode incluir adicionalmente uma memória de acesso aleatório não volátil.
[245] Em algumas implementações, a memória 605 armazena os seguintes elementos: um módulo executável ou uma estrutura de dados, seus subconjuntos ou seus conjuntos estendidos; e a memória 605 inclui: um sistema operacional 6051, que inclui vários programas de sistema, e configurado para implementar vários serviços básicos e operar tarefas baseadas em hardware; e um módulo de programa aplicativo 6052, que inclui vários programas aplicativos, e configurado para implementar vários serviços de aplicativo.
[246] Nessa modalidade da presente invenção, invocando- se o programa ou a instrução que está armazenada na memória 605, o processador 601 é configurado para: determinar vetores de movimento de W pontos de controle em um bloco de imagem atual; obter, por meio de cálculo, vetores de movimento de P unidades de pixel do bloco de imagem atual utilizando-se um modelo de movimento e os vetores de movimento dos W pontos de controle, em que a precisão dos vetores de movimento determinados dos W pontos de controle é 1/n da precisão de pixel, a precisão do vetor de movimento que é obtida por meio de cálculo e que pertence a cada uma das P unidades de pixel é 1/N da precisão de pixel, as P unidades de pixel são algumas ou todas as unidades de pixel do bloco de imagem atual, o vetor de movimento de cada uma das P unidades de pixel é utilizado para determinar uma unidade de pixel de referência correspondente, em uma imagem de referência, de uma unidade de pixel correspondente, W, n, e N são números inteiros maiores que 1, N é maior que n, e P é um número inteiro positivo; e realizar a filtragem de interpolação em um pixel da unidade de pixel de referência correspondente, na imagem de referência, de cada uma das P unidades de pixel utilizando-se um filtro de interpolação com uma fase de Q, para obter um valor de pixel previsto de cada uma das P unidades de pixel, em que Q é um número inteiro maior que n.
[247] Opcionalmente, em algumas implementações possíveis da presente invenção, um valor de N é um valor fixo predefinido, e Q é menor ou igual a N.
[248] Opcionalmente, em algumas implementações possíveis da presente invenção, um componente horizontal ou um componente vertical de um dos vetores de movimento dos W pontos de controle é amplificado N vezes no modelo de movimento utilizando-se N, ou uma diferença de componente entre vetores de movimento de quaisquer dois dentre os W pontos de controle é amplificada N vezes no modelo de movimento utilizando-se N.
[249] Opcionalmente, em algumas implementações possíveis da presente invenção, a determinação, através do processador, de uma unidade de pixel de referência correspondente, em uma imagem de referência, de cada uma das P unidades de pixel utilizando-se o vetor de movimento de cada uma das P unidades de pixel inclui: obter, por meio de cálculo, uma localização de pixel inteiro de cada uma das P unidades de pixel utilizando-se o vetor de movimento de cada uma das P unidades de pixel; e pesquisar, utilizando-se o vetor de movimento de cada uma das P unidades de pixel, a imagem de referência para uma unidade de pixel de referência que corresponde à localização de pixel inteiro de cada uma das P unidades de pixel, em que a unidade de pixel de referência que corresponde à localização de pixel inteiro de cada uma das P unidades de pixel e que é encontrada na imagem de referência é a unidade de pixel de referência, na imagem de referência, de cada uma das P unidades de pixel.
[250] Opcionalmente, em algumas implementações possíveis da presente invenção, a obtenção, por meio de cálculo através do processador, de uma localização de pixel inteiro de cada uma das P unidades de pixel utilizando-se o vetor de movimento de cada uma das P unidades de pixel inclui: obter, por meio de cálculo, a localização de pixel inteiro de cada uma das P unidades de pixel, de acordo com a fórmula a seguir, utilizando-se o vetor de movimento de cada uma das P unidades de pixel: em que M é igual a log2N quando N é uma potência integral de 2, (xInt, yInt) representa coordenadas de localização de pixel inteiro de uma unidade de pixel com coordenadas de (x, y) no bloco de imagem atual, vNx representa um componente horizontal de um vetor de movimento, cuja precisão é 1/N da precisão de pixel, da unidade de pixel com as coordenadas de (x, y) no bloco de imagem atual, e vNy representa um componente vertical do vetor de movimento, cuja precisão é 1/N da precisão de pixel, da unidade de pixel com as coordenadas de (x, y) no bloco de imagem atual.
[251] Opcionalmente, em algumas implementações possíveis da presente invenção, a realização, através do processador, da filtragem de interpolação em um pixel da unidade de pixel de referência, na imagem de referência, de cada uma das P unidades de pixel utilizando-se um filtro de interpolação com uma fase de Q inclui: obter, por meio de cálculo, uma fase de cada uma das P unidades de pixel utilizando-se o vetor de movimento de cada uma das P unidades de pixel; determinar, com base na fase de cada unidade de pixel, o filtro de interpolação com a fase de Q que corresponde à unidade de pixel correspondente, em que um coeficiente de filtragem utilizado pelo filtro de interpolação corresponde à fase; e realizar a filtragem de interpolação no pixel da unidade de pixel de referência correspondente, na imagem de referência, de cada unidade de pixel utilizando-se o filtro de interpolação determinado com a fase de Q que corresponde à unidade de pixel correspondente.
[252] Opcionalmente, em algumas implementações possíveis da presente invenção, a obtenção, por meio de cálculo através do processador, de uma fase de cada uma das P unidades de pixel utilizando-se o vetor de movimento de cada uma das P unidades de pixel inclui: obter, por meio de cálculo, a fase de cada uma das P unidades de pixel, de acordo com a fórmula a seguir, utilizando-se o vetor de movimento de cada uma das P unidades de pixel: em que M é igual a log2N quando N é uma potência integral de 2, X' representa uma fase horizontal de uma unidade de pixel com coordenadas de (x, y) no bloco de imagem atual, Y' representa uma fase vertical da unidade de pixel com as coordenadas de (x, y) no bloco de imagem atual, vNx representa um componente horizontal de um vetor de movimento, cuja precisão é 1/N da precisão de pixel, da unidade de pixel com as coordenadas de (x, y) no bloco de imagem atual, e vNy representa um componente vertical do vetor de movimento, cuja precisão é 1/N da precisão de pixel, da unidade de pixel com as coordenadas de (x, y) no bloco de imagem atual.
[253] Opcionalmente, em algumas implementações possíveis da presente invenção, a fase inclui uma fase horizontal e uma fase vertical; e a determinação, através do processador e com base na fase de cada unidade de pixel, do filtro de interpolação com a fase de Q que corresponde à unidade de pixel inclui: determinar, com base na fase horizontal de cada unidade de pixel, um filtro de interpolação horizontal com uma fase de Q que corresponde à unidade de pixel correspondente; e determinar, com base na fase vertical de cada unidade de pixel, um filtro de interpolação vertical com uma fase de Q que corresponde à unidade de pixel correspondente, em que um coeficiente de filtragem utilizado pelo filtro de interpolação horizontal corresponde à fase horizontal, e um coeficiente de filtragem utilizado pelo filtro de interpolação vertical corresponde à fase vertical.
[254] Opcionalmente, em algumas implementações possíveis da presente invenção, a realização, através do processador, da filtragem de interpolação no pixel da unidade de pixel de referência correspondente, na imagem de referência, de cada unidade de pixel utilizando-se o filtro de interpolação determinado com a fase de Q que corresponde à unidade de pixel inclui: realizar a filtragem de interpolação horizontal em um pixel de uma unidade de pixel de referência correspondente, na imagem de referência, de uma unidade de pixel i utilizando- se um filtro de interpolação horizontal determinado com uma fase de Q que corresponde à unidade de pixel i, para obter um resultado de filtragem de interpolação horizontal; e realizar a filtragem de interpolação vertical no resultado de filtragem de interpolação horizontal utilizando-se um filtro de interpolação vertical determinado com uma fase de Q que corresponde à unidade de pixel i, para obter um valor de pixel previsto da unidade de pixel i, em que a unidade de pixel i é qualquer uma dentre as P unidades de pixel; ou realizar a filtragem de interpolação vertical em um pixel de uma unidade de pixel de referência correspondente, na imagem de referência, de uma unidade de pixel j utilizando-se um filtro de interpolação vertical determinado com uma fase de Q que corresponde à unidade de pixel j, para obter um resultado de filtragem de interpolação vertical; e realizar a filtragem de interpolação horizontal no resultado de filtragem de interpolação vertical utilizando-se um filtro de interpolação horizontal determinado com uma fase de Q que corresponde à unidade de pixel j, para obter um valor de pixel previsto da unidade de pixel j, em que a unidade de pixel j é qualquer uma dentre as P unidades de pixel.
[255] Opcionalmente, em algumas implementações possíveis da presente invenção, o modelo de movimento é um modelo de movimento translacional, um modelo de movimento de função afim, um modelo de movimento rotacional, um modelo de movimento parabólico, um modelo de movimento cisalhante, um modelo de movimento de ampliação, um modelo de movimento perspectivo, ou um modelo de movimento bilinear.
[256] Opcionalmente, em algumas implementações possíveis da presente invenção, o modelo de movimento é representado conforme a seguir quando W é igual a 2: ou em que L representa uma largura ou uma altura do bloco de imagem atual, (v0x,v0y) e (v1x,v1y) representam vetores de movimento, cuja precisão é 1/n da precisão de pixel, de dois pontos de controle, vNx representa um componente horizontal de um vetor de movimento, cuja precisão é 1/N da precisão de pixel, de uma unidade de pixel com coordenadas de (x, y) no bloco de imagem atual, e vNy representa um componente vertical do vetor de movimento, cuja precisão é 1/N da precisão de pixel, da unidade de pixel com as coordenadas de (x, y) no bloco de imagem atual.
[257] Opcionalmente, em algumas implementações possíveis da presente invenção; ou em que vNx representa um componente horizontal de um vetor de movimento, cuja precisão é 1/N da precisão de pixel, de uma unidade de pixel com coordenadas de (x, y) no bloco de imagem atual, vNy representa um componente vertical do vetor de movimento, cuja precisão é 1/N da precisão de pixel, da unidade de pixel com as coordenadas de imagem atual, (v0x,v0y) , (v1x,v1y) , e (v2x,v2y) de movimento, cuja precisão é 1/n da precisão de pixel, de três pontos de controle, w representa uma largura do bloco de imagem atual, e h representa uma altura do bloco de imagem atual.
[258] Opcionalmente, em algumas implementações possíveis da presente invenção, os vetores de movimento dos W pontos de controle são previstos com base em um vetor de movimento, cuja precisão é 1/n da precisão de pixel, de um bloco de imagem codificado ou um bloco de imagem decodificado que circunda o bloco de imagem atual.
[259] Opcionalmente, em algumas implementações possíveis da presente invenção, um valor de N é um valor fixo predefinido.
[260] Opcionalmente, em algumas implementações possíveis da presente invenção, o aparelho de previsão de imagem 600 é aplicado a um aparelho de codificação de vídeo, ou o aparelho de previsão de imagem 600 é aplicado a um aparelho de decodificação de vídeo.
[261] Pode-se compreender que as funções dos módulos funcionais do aparelho de previsão de imagem 600 nessa modalidade podem ser implementadas especificamente de acordo com os métodos nas modalidades de método supracitadas. Para um processo de implementação específico do aparelho de previsão de imagem 600, pode-se fazer referência a descrições relacionadas nas modalidades de método supracitadas. Os detalhes não serão descritos novamente no presente documento. O aparelho de previsão de imagem 600 pode ser qualquer aparelho que precise emitir ou reproduzir um vídeo, por exemplo, um computador do tipo notebook, a computador do tipo tablet, um computador de uso pessoal, um telefone móvel ou outro dispositivo.
[262] Pode-se compreender que, no método de previsão de imagem fornecido nessa modalidade, o aparelho de previsão de imagem 600 obtém, por meio de cálculo, o vetor de movimento, cuja precisão é 1/N da precisão de pixel, de cada unidade de pixel do bloco de imagem atual utilizando-se o modelo de movimento e os vetores de movimento, cuja precisão é 1/n da precisão de pixel, dos W pontos de controle, em que N é maior que n. Em outras palavras, a precisão do vetor de movimento que é obtida por meio de cálculo e que pertence a cada unidade de pixel do bloco de imagem atual é mais alta que a precisão dos vetores de movimento determinados dos W pontos de controle. O vetor de movimento de precisão mais alta é obtido primeiro. Portanto, o vetor de movimento de precisão mais alta de cada unidade de pixel do bloco de imagem atual é utilizado para determinar a unidade de pixel de referência correspondente, na imagem de referência, de cada unidade de pixel do bloco de imagem atual, e a filtragem de interpolação é realizada no pixel da unidade de pixel de referência correspondente, na imagem de referência, de cada unidade de pixel do bloco de imagem atual utilizando-se o filtro de interpolação com a fase de Q (Q é maior que n), para obter o valor de pixel previsto de cada unidade de pixel do bloco de imagem atual. Pode-se compreender que a maneira anteriormente mencionada auxilia na redução de uma quantidade de vezes exigidas de filtragem de interpolação para se obter, por meio de previsão, o valor de pixel previsto de precisão mais alta do bloco de imagem atual (por exemplo, um processo intermediário para se obter um valor de pixel previsto de precisão mais baixa realizando-se uma filtragem de interpolação de precisão mais baixa pode não ser exigido), de modo a reduzir uma quantidade de caches intermediários e operações de memória que são exigidos para a filtragem de interpolação durante um processo de previsão de imagem, e reduzir a complexidade de cálculo durante o processo de previsão de imagem.
[263] Nas modalidades supracitadas, a descrição de cada modalidade tem respectivos focos. Para uma parte que não é descrita em detalhes em uma modalidade, pode-se fazer referência a descrições relacionadas em outras modalidades.
[264] Em várias modalidades fornecidas neste pedido, deve-se compreender que o aparelho revelado pode ser implementado de outros modos. Por exemplo, as modalidades de aparelho descritas são meramente exemplos. Por exemplo, a divisão de unidades é meramente uma divisão de função lógica e pode ser outra divisão em uma implementação real. Por exemplo, uma pluralidade de unidades ou componentes pode ser combinada ou integrado em outro sistema, ou alguns recursos podem ser ignorados ou não realizados. Além disso, os acoplamentos mútuos ou acoplamentos diretos ou conexões de comunicação exibidos ou discutidos podem ser implementados com o uso de algumas interfaces. Os acoplamentos indiretos ou as conexões de comunicação entre os aparelhos ou as unidades podem ser implementados de modo eletrônico ou de outros modos.
[265] As unidades descritas como partes separadas podem ou não ser separadas fisicamente, e as partes exibidas como unidades podem ou não ser unidades físicas, podem estar localizadas em uma posição, ou podem estar distribuídas em uma pluralidade de unidades de rede. Algumas ou todas as unidades podem ser selecionados de acordo com exigências reais para se alcançar os objetivos das soluções das modalidades.
[266] Além disso, as modalidades funcionais nas modalidades da presente invenção podem ser integradas em uma unidade de processamento, ou cada uma das unidades pode existir fisicamente sozinha, ou pelo menos duas unidades podem ser integrados em uma unidade. A unidade integrada pode ser implementada em uma forma de hardware, ou pode ser implementada em uma forma de uma unidade funcional de software.
[267] Quando a unidade integrada for implementada na forma de uma unidade funcional de software e comercializada ou utilizada como um produto independente, a unidade integrada pode ser armazenada em uma mídia de armazenamento legível por computador. Com base em tal compreensão, as soluções técnicas da presente invenção essencialmente, ou a parte que contribui para a técnica anterior, ou todas ou uma parte das soluções técnicas podem ser implementadas em uma forma de produto de software. O produto de software de computador é armazenado em uma mídia de armazenamento e inclui várias instruções para instruir um dispositivo de computador (que pode ser um computador de uso pessoal, um servidor, um dispositivo de rede ou semelhantes) para realizar todas ou parte das etapas dos métodos descritos nas modalidades da presente invenção. A mídia de armazenamento supracitada inclui: qualquer mídia que possa armazenar código de programa, tal como uma unidade flash de USB, uma memória somente de leitura (ROM, Read-Only Memory), a memória de acesso aleatório (RAM, Random Access Memory), um disco rígido removível, um disco magnético ou um disco óptico.
[268] As modalidades supracitadas são destinadas meramente a descrever as soluções técnicas da presente invenção, mas não a limitar a presente invenção. Embora a presente invenção tenha sido descrita em detalhes com referência às modalidades supracitadas, os indivíduos de habilidade comum na técnica devem compreender que podem ainda realizar modificações às soluções técnicas descritas nas modalidades supracitadas ou realizar substituições equivalentes a alguns recursos técnicos das mesmas, sem se afastar do escopo das soluções técnicas das modalidades da presente invenção.
Claims (37)
1. Método de previsão de imagem, CARACTERIZADO pelo fato de que compreende: determinar vetores de movimento de W pontos de controle em um bloco de imagem atual (201), em que os vetores de movimento dos W pontos de controle são baseados em um previsor com precisão de 1/n de precisão de pixel e uma diferença de vetor de movimento com precisão de 1/n da precisão de pixel; obter, por meio de cálculo, vetores de movimento de P unidades de pixel do bloco de imagem atual utilizando-se um modelo de movimento e os vetores de movimento dos W pontos de controle, em que a precisão do vetor de movimento que é obtida por meio de cálculo e que pertence a cada uma das P unidades de pixel é 1/N da precisão de pixel, as P unidades de pixel são algumas ou todas as unidades de pixel do bloco de imagem atual, o vetor de movimento de cada uma das P unidades de pixel é utilizado para determinar uma unidade de pixel de referência correspondente, em uma imagem de referência, de uma unidade de pixel correspondente, W, n, e N são números inteiros maiores que 1, N é maior que n, e P é um número inteiro positivo (202); determinar a unidade de pixel de referência correspondente de acordo com o vetor de movimento de cada uma das P unidades de pixel; e realizar filtragem de interpolação em um pixel da unidade de pixel de referência correspondente, na imagem de referência, de cada uma das P unidades de pixel utilizando- se um filtro de interpolação com uma fase de Q, para obter um valor de pixel previsto de cada uma das P unidades de pixel, em que Q é um número inteiro maior que n (203).
2. Método, de acordo com a reivindicação 1, CARACTERIZADO pelo fato de que um valor de N é um valor fixo predefinido, e Q é menor ou igual a N.
3. Método, de acordo com a reivindicação 1 ou 2, CARACTERIZADO pelo fato de que a obtenção, por meio de cálculo, de vetores de movimento de P unidades de pixel do bloco de imagem atual pelo uso de um modelo de movimento e os vetores de movimento dos W pontos de controle compreende: um componente horizontal ou um componente vertical de um dos vetores de movimento dos W pontos de controle é amplificado N/n vezes no modelo de movimento utilizando-se o N, ou uma diferença de componente entre vetores de movimento de quaisquer dois dentre os W pontos de controle é amplificada N/n vezes no modelo de movimento utilizando-se N.
4. Método, de acordo com qualquer uma das reivindicações 1 a 3, CARACTERIZADO pelo fato de que a realização da filtragem de interpolação em um pixel da unidade de pixel de referência correspondente, na imagem de referência, de cada uma das P unidades de pixel utilizando- se um filtro de interpolação com uma fase de Q compreende: obter, por meio de cálculo, uma fase de cada uma das P unidades de pixel utilizando-se o vetor de movimento de cada uma das P unidades de pixel; determinar, com base na fase de cada unidade de pixel, o filtro de interpolação com a fase de Q que corresponde à unidade de pixel, em que um coeficiente de filtragem utilizado pelo filtro de interpolação corresponde à fase; e realizar a filtragem de interpolação no pixel da unidade de pixel de referência correspondente, na imagem de referência, de cada unidade de pixel utilizando-se o filtro de interpolação determinado com a fase de Q que corresponde à unidade de pixel correspondente.
5. Método, de acordo com a reivindicação 4, CARACTERIZADO pelo fato de que a obtenção, por meio de cálculo, de uma fase de cada uma das P unidades de pixel utilizando-se o vetor de movimento de cada uma das P unidades de pixel compreende: obter, por meio de cálculo, a fase de cada uma das P unidades de pixel, de acordo com a fórmula a seguir, utilizando-se o vetor de movimento de cada uma das P unidades de pixel: em que M é igual a log2N quando N é uma potência integral de 2, X' representa uma fase horizontal de uma unidade de pixel com coordenadas de (x, y) no bloco de imagem atual, Y' representa uma fase vertical da unidade de pixel com as coordenadas de (x, y) no bloco de imagem atual, vNx representa um componente horizontal de um vetor de movimento, cuja precisão é 1/N da precisão de pixel, da unidade de pixel com as coordenadas de (x, y) no bloco de imagem atual, e vNy representa um componente vertical do vetor de movimento, cuja precisão é 1/N da precisão de pixel, da unidade de pixel com as coordenadas de (x, y) no bloco de imagem atual.
6. Método, de acordo com a reivindicação 4 ou 5, CARACTERIZADO pelo fato de que a fase compreende uma fase horizontal e uma fase vertical; e a determinação, com base na fase de cada unidade de pixel, do filtro de interpolação com a fase de Q que corresponde à unidade de pixel compreende: determinar, com base na fase horizontal de cada unidade de pixel, um filtro de interpolação horizontal com uma fase de Q que corresponde à unidade de pixel correspondente; e determinar, com base na fase vertical de cada unidade de pixel, um filtro de interpolação vertical com uma fase de Q que corresponde à unidade de pixel correspondente, em que um coeficiente de filtragem utilizado pelo filtro de interpolação horizontal corresponde à fase horizontal, e um coeficiente de filtragem utilizado pelo filtro de interpolação vertical corresponde à fase vertical.
7. Método, de acordo com a reivindicação 6, CARACTERIZADO pelo fato de que a realização da filtragem de interpolação no pixel da unidade de pixel de referência correspondente, na imagem de referência, de cada unidade de pixel utilizando-se o filtro de interpolação determinado com a fase de Q que corresponde à unidade de pixel, compreende: realizar a filtragem de interpolação horizontal em um pixel de uma unidade de pixel de referência correspondente, na imagem de referência, de uma unidade de pixel i utilizando-se um filtro de interpolação horizontal determinado com uma fase de Q que corresponde à unidade de pixel i, para obter um resultado de filtragem de interpolação horizontal; e realizar a filtragem de interpolação vertical no resultado de filtragem de interpolação horizontal utilizando-se um filtro de interpolação vertical determinado com uma fase de Q que corresponde à unidade de pixel i, para obter um valor de pixel previsto da unidade de pixel i, em que a unidade de pixel i é qualquer uma dentre as P unidades de pixel; ou realizar a filtragem de interpolação vertical em um pixel de uma unidade de pixel de referência correspondente, na imagem de referência, de uma unidade de pixel j utilizando-se um filtro de interpolação vertical determinado com uma fase de Q que corresponde à unidade de pixel j, para obter um resultado de filtragem de interpolação vertical; e realizar a filtragem de interpolação horizontal no resultado de filtragem de interpolação vertical utilizando-se um filtro de interpolação horizontal determinado com uma fase de Q que corresponde à unidade de pixel j, para obter um valor de pixel previsto da unidade de pixel j, em que a unidade de pixel j é qualquer uma dentre as P unidades de pixel.
8. Método, de acordo com qualquer uma das reivindicações 1 a 7, CARACTERIZADO pelo fato de que o modelo de movimento é um modelo de movimento translacional, um modelo de movimento afim, um modelo de movimento rotacional, um modelo de movimento parabólico, um modelo de movimento cisalhante, um modelo de movimento de ampliação, um modelo de movimento perspectivo ou um modelo de movimento bilinear.
9. Método, de acordo com qualquer uma das reivindicações 1 a 8, CARACTERIZADO pelo fato de que o modelo de movimento é representado conforme a seguir quando W é igual a 2: ou , em que L representa uma largura ou uma altura do bloco de imagem atual, (v0x,v0y) e (v1x,v1y) representam vetores de movimento, cuja precisão é 1/n da precisão de pixel, de dois pontos de controle, vNx representa um componente horizontal de um vetor de movimento, cuja precisão é 1/N da precisão de pixel, de uma unidade de pixel com coordenadas de (x, y) no bloco de imagem atual, e vNy representa um componente vertical do vetor de movimento, cuja precisão é 1/N da precisão de pixel, da unidade de pixel com as coordenadas de (x, y) no bloco de imagem atual.
10. Método, de acordo com qualquer uma das reivindicações 1 a 8, CARACTERIZADO pelo fato de que o modelo de movimento é representado conforme a seguir quando W é igual a 3: ou em que vNx representa um componente horizontal de um vetor de movimento, cuja precisão é 1/N da precisão de pixel, de uma unidade de pixel com coordenadas de (x, y) no bloco de imagem atual, vNy representa um componente vertical do vetor de movimento, cuja precisão é 1/N da precisão de pixel, da unidade de pixel com as coordenadas de (x, y) no bloco de imagem atual, (vox, voy) , (v1x, v1y) , e (v2x, v2y) representam vetores de movimento, cuja precisão é 1/n da precisão de pixel, de três pontos de controle, w representa uma largura do bloco de imagem atual, e h representa uma altura do bloco de imagem atual.
11. Método, de acordo com qualquer uma das reivindicações 1 a 10, CARACTERIZADO pelo fato de que os vetores de movimento dos W pontos de controle são previstos com base em um vetor de movimento, cuja precisão é 1/n da precisão de pixel, de um bloco de imagem codificado ou um bloco de imagem decodificado que circunda o bloco de imagem atual.
12. Método, de acordo com qualquer uma das reivindicações 1 a 11, CARACTERIZADO pelo fato de que o método de previsão de imagem é aplicado a um processo de codificação de vídeo ou aplicado a um processo de decodificação de vídeo.
13. Aparelho de previsão de imagem, CARACTERIZADO pelo fato de que compreende: uma primeira unidade de determinação (510), configurada para determinar vetores de movimento de W pontos de controle em um bloco de imagem atual, em que os vetores de movimento dos W pontos de controle são baseados em um previsor com precisão de 1/n de precisão de pixel e uma diferença de vetor de movimento com precisão de 1/n da precisão de pixel; uma unidade de cálculo (520), configurada para obter, por meio de cálculo, vetores de movimento de P unidades de pixel do bloco de imagem atual utilizando-se um modelo de movimento e os vetores de movimento dos W pontos de controle, em que a precisão do vetor de movimento que é obtida por meio de cálculo e que pertence a cada uma das P unidades de pixel é 1/N da precisão de pixel, as P unidades de pixel são algumas ou todas as unidades de pixel do bloco de imagem atual, o vetor de movimento de cada uma das P unidades de pixel é utilizado para determinar uma unidade de pixel de referência correspondente, em uma imagem de referência, de uma unidade de pixel correspondente, W, n, e N são números inteiros maiores que 1, N é maior que n, e P é um número inteiro positivo; uma segunda unidade de determinação (530), configurada para determinar a unidade de pixel de referência correspondente de acordo com o vetor de movimento de cada uma das P unidades de pixel; e uma unidade de filtragem de interpolação (540), configurada para realizar filtragem de interpolação em um pixel da unidade de pixel de referência correspondente, na imagem de referência, de cada uma das P unidades de pixel utilizando-se um filtro de interpolação com uma fase de Q, para obter um valor de pixel previsto de cada uma das P unidades de pixel, em que Q é um número inteiro maior que n.
14. Aparelho de previsão de imagem, de acordo com a reivindicação 13, CARACTERIZADO pelo fato de que um valor de N é um valor fixo predefinido, e Q é menor ou igual a N.
15. Aparelho de previsão de imagem, de acordo com a reivindicação 13 ou 14, CARACTERIZADO pelo fato de que a unidade de cálculo é configurada para: um componente horizontal ou um componente vertical de um dos vetores de movimento dos W pontos de controle é amplificado N/n vezes no modelo de movimento utilizando-se N, ou uma diferença de componente entre vetores de movimento de quaisquer dois dentre os W pontos de controle é amplificada N/n vezes no modelo de movimento utilizando-se N.
16. Aparelho de previsão de imagem, de acordo com qualquer uma das reivindicações 13 a 15, CARACTERIZADO pelo fato de que: a unidade de filtragem de interpolação é configurada especificamente para: obter, por meio de cálculo, uma fase de cada uma das P unidades de pixel utilizando-se o vetor de movimento de cada uma das P unidades de pixel; determinar, com base na fase de cada unidade de pixel, o filtro de interpolação com a fase de Q que corresponde à unidade de pixel correspondente, em que um coeficiente de filtragem utilizado pelo filtro de interpolação corresponde à fase; e realizar a filtragem de interpolação no pixel da unidade de pixel de referência correspondente, na imagem de referência, de cada unidade de pixel utilizando-se o filtro de interpolação determinado com a fase de Q que corresponde à unidade de pixel correspondente.
17. Aparelho de previsão de imagem, de acordo com a reivindicação 16, CARACTERIZADO pelo fato de que: em um aspecto da obtenção, por meio de cálculo, de uma fase de cada uma das P unidades de pixel utilizando-se o vetor de movimento de cada uma das P unidades de pixel, a unidade de filtragem de interpolação é especificamente configurada para obter, por meio de cálculo, a fase de cada uma das P unidades de pixel, de acordo com a fórmula a seguir, utilizando-se o vetor de movimento de cada uma das P unidades de pixel: em que M é igual a log2N quando N é uma potência integral de 2, X' representa uma fase horizontal de uma unidade de pixel com coordenadas de (x, y) no bloco de imagem atual, Y' representa uma fase vertical da unidade de pixel com as coordenadas de (x, y) no bloco de imagem atual, vNx representa um componente horizontal de um vetor de movimento, cuja precisão é 1/N da precisão de pixel, da unidade de pixel com as coordenadas de (x, y) no bloco de imagem atual, e vNy representa um componente vertical do vetor de movimento, cuja precisão é 1/N da precisão de pixel, da unidade de pixel com as coordenadas de (x, y) no bloco de imagem atual.
18. Aparelho de previsão de imagem, de acordo com a reivindicação 16 ou 17, CARACTERIZADO pelo fato de que a fase compreende uma fase horizontal e uma fase vertical; e em um aspecto da determinação, com base na fase de cada unidade de pixel, do filtro de interpolação com a fase de Q que corresponde à unidade de pixel correspondente, a unidade de filtragem de interpolação é configurada especificamente para: determinar, com base na fase horizontal de cada unidade de pixel, um filtro de interpolação horizontal com uma fase de Q que corresponde à unidade de pixel correspondente; e determinar, com base na fase vertical de cada unidade de pixel, um filtro de interpolação vertical com uma fase de Q que corresponde à unidade de pixel correspondente, em que um coeficiente de filtragem utilizado pelo filtro de interpolação horizontal corresponde à fase horizontal, e um coeficiente de filtragem utilizado pelo filtro de interpolação vertical corresponde à fase vertical.
19. Aparelho de previsão de imagem, de acordo com a reivindicação 18, CARACTERIZADO pelo fato de que, em um aspecto da realização da filtragem de interpolação no pixel da unidade de pixel de referência correspondente, na imagem de referência, de cada unidade de pixel utilizando-se o filtro de interpolação determinado com a fase de Q que corresponde à unidade de pixel correspondente, a unidade de filtragem de interpolação é configurada especificamente para: realizar filtragem de interpolação horizontal em um pixel de uma unidade de pixel de referência correspondente, na imagem de referência, de uma unidade de pixel i utilizando-se um filtro de interpolação horizontal determinado com uma fase de Q que corresponde à unidade de pixel i, para obter um resultado de filtragem de interpolação horizontal; e realizar a filtragem de interpolação vertical no resultado de filtragem de interpolação horizontal utilizando-se um filtro de interpolação vertical determinado com uma fase de Q que corresponde à unidade de pixel i, para obter um valor de pixel previsto da unidade de pixel i, em que a unidade de pixel i é qualquer uma dentre as P unidades de pixel; ou realizar a filtragem de interpolação vertical em um pixel de uma unidade de pixel de referência correspondente, na imagem de referência, de uma unidade de pixel j utilizando-se um filtro de interpolação vertical determinado com uma fase de Q que corresponde à unidade de pixel j, para obter um resultado de filtragem de interpolação vertical; e realizar a filtragem de interpolação horizontal no resultado de filtragem de interpolação vertical utilizando-se um filtro de interpolação horizontal determinado com uma fase de Q que corresponde à unidade de pixel j, para obter um valor de pixel previsto da unidade de pixel j, em que a unidade de pixel j é qualquer uma dentre as P unidades de pixel.
20. Aparelho de previsão de imagem, de acordo com qualquer uma das reivindicações 13 a 19, CARACTERIZADO pelo fato de que o modelo de movimento é um modelo de movimento translacional, um modelo de movimento afim, um modelo de movimento rotacional, um modelo de movimento de ampliação, um modelo de movimento parabólico, um modelo de movimento cisalhante, um modelo de movimento perspectivo ou um modelo de movimento bilinear.
21. Aparelho de previsão de imagem, de acordo com qualquer uma das reivindicações 13 a 20, CARACTERIZADO pelo fato de que o modelo de movimento é representado conforme a seguir quando W é igual a 2:ou em que L representa uma largura ou uma altura do bloco de imagem atual, (v0x,v0y) e (v1x ,v1y ) representam vetores de movimento, cuja precisão é 1/n da precisão de pixel, de dois pontos de controle, vNx representa um componente horizontal de um vetor de movimento, cuja precisão é 1/N da precisão de pixel, de uma unidade de pixel com coordenadas de (x, y) no bloco de imagem atual, e vNy representa um componente vertical do vetor de movimento, cuja precisão é 1/N da precisão de pixel, da unidade de pixel com as coordenadas de (x, y) no bloco de imagem atual.
22. Aparelho de previsão de imagem, de acordo com qualquer uma das reivindicações 13 a 20, CARACTERIZADO pelo fato de que o modelo de movimento é representado conforme a seguir quando W é igual a 3: ou em que vNx representa um componente horizontal de um vetor de movimento, cuja precisão é 1/N da precisão de pixel, de uma unidade de pixel com coordenadas de (x, y) no bloco de imagem atual, vNy representa um componente vertical do vetor de movimento, cuja precisão é 1/N da precisão de pixel, da unidade de pixel com as coordenadas de (x, y) no bloco de imagem atual, (v0x,v0y) , (v1x,v1y) , e (v2x,v2y) representam vetores de movimento, cuja precisão é 1/n da precisão de pixel, de três pontos de controle, w representa uma largura do bloco de imagem atual, e h representa uma altura do bloco de imagem atual.
23. Aparelho de previsão de imagem, de acordo com qualquer uma das reivindicações 13 a 22, CARACTERIZADO pelo fato de que os vetores de movimento dos W pontos de controle são previstos com base em um vetor de movimento, cuja precisão é 1/n da precisão de pixel, de um bloco de imagem codificado ou um bloco de imagem decodificado que circunda o bloco de imagem atual.
24. Aparelho de previsão de imagem, de acordo com qualquer uma das reivindicações 13 a 23, CARACTERIZADO pelo fato de que o aparelho de previsão de imagem é aplicado a um aparelho de codificação de vídeo, ou o aparelho de previsão de imagem é aplicado a um aparelho de decodificação de vídeo.
25. Aparelho de previsão de imagem, CARACTERIZADO pelo fato de que compreende uma memória e um processador, em que o processador é configurado para: determinar vetores de movimento de W pontos de controle em um bloco de imagem atual, em que os vetores de movimento dos W pontos de controle são baseados em um previsor com precisão de 1/n de precisão de pixel e uma diferença de vetor de movimento com precisão de 1/n da precisão de pixel; obter, por meio de cálculo, vetores de movimento de P unidades de pixel do bloco de imagem atual utilizando-se um modelo de movimento e os vetores de movimento dos W pontos de controle, em que a precisão do vetor de movimento que é obtida por meio de cálculo e que pertence a cada uma das P unidades de pixel é 1/N da precisão de pixel, as P unidades de pixel são algumas ou todas as unidades de pixel do bloco de imagem atual, o vetor de movimento de cada uma das P unidades de pixel é utilizado para determinar uma unidade de pixel de referência correspondente, em uma imagem de referência, de uma unidade de pixel correspondente, W, n, e N são números inteiros maiores que 1, N é maior que n, e P é um número inteiro positivo; determinar a unidade de pixel de referência correspondente de acordo com o vetor de movimento de cada uma das P unidades de pixel; e realizar filtragem de interpolação em um pixel da unidade de pixel de referência correspondente, na imagem de referência, de cada uma das P unidades de pixel utilizando-se um filtro de interpolação com uma fase de Q, para obter um valor de pixel previsto de cada uma das P unidades de pixel, em que Q é um número inteiro maior que n.
26. Aparelho de previsão de imagem, de acordo com a reivindicação 25, CARACTERIZADO pelo fato de que um valor de N é um valor fixo predefinido, e Q é menor ou igual a N.
27. Aparelho de previsão de imagem, de acordo com a reivindicação 25 ou 26, CARACTERIZADO pelo fato de que o processador é adicionalmente configurado para: um componente horizontal ou um componente vertical de um dos vetores de movimento dos W pontos de controle é amplificado N/n vezes no modelo de movimento utilizando-se N, ou uma diferença de componente entre vetores de movimento de quaisquer dois dentre os W pontos de controle é amplificada N/n vezes no modelo de movimento utilizando-se N.
28. Aparelho de previsão de imagem, de acordo com qualquer uma das reivindicações 25 a 27, CARACTERIZADO pelo fato de que o processador é configurado para: obter, por meio de cálculo, uma fase de cada uma das P unidades de pixel utilizando-se o vetor de movimento de cada uma das P unidades de pixel; determinar, com base na fase de cada unidade de pixel, o filtro de interpolação com a fase de Q que corresponde à unidade de pixel correspondente, em que um coeficiente de filtragem utilizado pelo filtro de interpolação corresponde à fase; e realizar a filtragem de interpolação no pixel da unidade de pixel de referência correspondente, na imagem de referência, de cada unidade de pixel utilizando-se o filtro de interpolação determinado com a fase de Q que corresponde à unidade de pixel correspondente.
29. Aparelho de previsão de imagem, de acordo com a reivindicação 28, CARACTERIZADO pelo fato de que: m um aspecto da obtenção, por meio de cálculo, uma fase de cada uma das P unidades de pixel utilizando-se o vetor de movimento de cada uma das P unidades de pixel, o processador é configurado para obter, por meio de cálculo, a fase de cada uma das P unidades de pixel, de acordo com a fórmula a seguir, utilizando-se o vetor de movimento de cada uma das P unidades de pixel: em que M é igual a log2N quando N é uma potência integral de 2, X' representa uma fase horizontal de uma unidade de pixel com coordenadas de (x, y) no bloco de imagem atual, Y' representa uma fase vertical da unidade de pixel com as coordenadas de (x, y) no bloco de imagem atual,VNx representa um componente horizontal de um vetor de movimento, cuja precisão é 1/N da precisão de pixel, da unidade de pixel com as coordenadas de (x, y) no bloco de imagem atual, e VNy representa um componente vertical do vetor de movimento, cuja precisão é 1/N da precisão de pixel, da unidade de pixel com as coordenadas de (x, y) no bloco de imagem atual.
30. Aparelho de previsão de imagem, de acordo com a reivindicação 28 ou 29, CARACTERIZADO pelo fato de que a fase compreende uma fase horizontal e uma fase vertical; e em um aspecto da determinação, com base na fase de cada unidade de pixel, o filtro de interpolação com a fase de Q que corresponde à unidade de pixel correspondente, o processador é configurado para: determinar, com base na fase horizontal de cada unidade de pixel, um filtro de interpolação horizontal com uma fase de Q que corresponde à unidade de pixel correspondente; e determinar, com base na fase vertical de cada unidade de pixel, um filtro de interpolação vertical com uma fase de Q que corresponde à unidade de pixel correspondente, em que um coeficiente de filtragem utilizado pelo filtro de interpolação horizontal corresponde à fase horizontal, e um coeficiente de filtragem utilizado pelo filtro de interpolação vertical corresponde à fase vertical.
31. Aparelho de previsão de imagem, de acordo com a reivindicação 30, CARACTERIZADO pelo fato de que em um aspecto da realização da filtragem de interpolação no pixel da unidade de pixel de referência correspondente, na imagem de referência, de cada unidade de pixel utilizando-se o filtro de interpolação determinado com a fase de Q que corresponde à unidade de pixel correspondente, o processador é especificamente configurado para: realizar a filtragem de interpolação horizontal em um pixel de uma unidade de pixel de referência correspondente, na imagem de referência, de uma unidade de pixel i utilizando-se um filtro de interpolação horizontal determinado com uma fase de Q que corresponde à unidade de pixel i, para obter um resultado de filtragem de interpolação horizontal; e realizar a filtragem de interpolação vertical no resultado de filtragem de interpolação horizontal utilizando-se um filtro de interpolação vertical determinado com uma fase de Q que corresponde à unidade de pixel i, para obter um valor de pixel previsto da unidade de pixel i, em que a unidade de pixel i é qualquer uma dentre as P unidades de pixel; ou o processador é especificamente configurado para: realizar a filtragem de interpolação vertical em um pixel de uma unidade de pixel de referência correspondente, na imagem de referência, de uma unidade de pixel j utilizando-se um filtro de interpolação vertical determinado com uma fase de Q que corresponde à unidade de pixel j, para obter um resultado de filtragem de interpolação vertical; e realizar a filtragem de interpolação horizontal no resultado de filtragem de interpolação vertical utilizando-se um filtro de interpolação horizontal determinado com uma fase de Q que corresponde à unidade de pixel j, para obter um valor de pixel previsto da unidade de pixel j, em que a unidade de pixel j é qualquer uma dentre as P unidades de pixel.
32. Aparelho de previsão de imagem, de acordo com qualquer uma das reivindicações 25 a 31, CARACTERIZADO pelo fato de que o modelo de movimento é um modelo de movimento translacional, um modelo de movimento afim, um modelo de movimento rotacional, um modelo de movimento de ampliação, um modelo de movimento parabólico, um modelo de movimento cisalhante, um modelo de movimento perspectivo ou um modelo de movimento bilinear.
33. Aparelho de previsão de imagem, de acordo com qualquer uma das reivindicações 25 a 32, CARACTERIZADO pelo fato de que o modelo de movimento é representado conforme a seguir quando W é igual a 2: ou em que L representa uma largura ou uma altura do bloco de imagem atual, (v0x,v0y) e (v1x,v1y)representam vetores de movimento, cuja precisão é 1/n da precisão de pixel, de dois v pontos de controle, vNx representa um componente horizontal de um vetor de movimento, cuja precisão é 1/N da precisão de pixel, de uma unidade de pixel com coordenadas de (x, y) no vNy bloco de imagem atual, e vNy representa um componente vertical do vetor de movimento, cuja precisão é 1/N da precisão de pixel, da unidade de pixel com as coordenadas de (x, y) no bloco de imagem atual.
34. Aparelho de previsão de imagem, de acordo com qualquer uma das reivindicações 25 a 32, CARACTERIZADO pelo fato de que o modelo de movimento é representado conforme a seguir quando W é igual a 3: em que VNx representa um componente horizontal de um vetor movimento, cuja precisão é 1/N da precisão de pixel, deuma unidade de pixel com coordenadas de (x, y) no bloco de vNy imagem atual, Ny representa um componente vertical do vetor de movimento, cuja precisão é 1/N da precisão de pixel, da unidade de pixel com as coordenadas de imagem atual, (v0x,v0y) , (v1x,v1y) , e (v2x,v2y) de movimento, cuja precisão é 1/n da precisão de pixel, de três pontos de controle, w representa uma largura do bloco de imagem atual e h representa uma altura do bloco de imagem atual.
35. Aparelho de previsão de imagem, de acordo com qualquer uma das reivindicações 25 a 34, CARACTERIZADO pelo fato de que os vetores de movimento dos W pontos de controle são previstos com base em um vetor de movimento, cuja precisão é 1/n da precisão de pixel, de um bloco de imagem codificado ou um bloco de imagem decodificado que circunda o bloco de imagem atual.
36. Aparelho de previsão de imagem, de acordo com qualquer uma das reivindicações 25 a 35, CARACTERIZADO pelo fato de que o aparelho de previsão de imagem é aplicado a um aparelho de codificação de vídeo, ou o aparelho de previsão de imagem é aplicado a um aparelho de decodificação de vídeo.
37. Meio legível por computador compreendendo instruções, CARACTERIZADO pelo fato de que as instruções são para executar as etapas de: determinar vetores de movimento de W pontos de controle em um bloco de imagem atual (201), em que os vetores de movimento dos W pontos de controle são baseados em um previsor com precisão de 1/n de precisão de pixel e uma diferença de vetor de movimento com precisão de 1/n da precisão de pixel; obter, por meio de cálculo, vetores de movimento de P unidades de pixel do bloco de imagem atual utilizando-se um modelo de movimento e os vetores de movimento dos W pontos de controle, em que a precisão do vetor de movimento que é obtida por meio de cálculo e que pertence a cada uma das P unidades de pixel é 1/N da precisão de pixel, as P unidades de pixel são algumas ou todas as unidades de pixel do bloco de imagem atual, o vetor de movimento de cada uma das P unidades de pixel é utilizado para determinar uma unidade de pixel de referência correspondente, em uma imagem de referência, de uma unidade de pixel correspondente, W, n, e N são números inteiros maiores que 1, N é maior que n, e P é um número inteiro positivo (202); determinar a unidade de pixel de referência correspondente de acordo com o vetor de movimento de cada uma das P unidades de pixel; e realizar filtragem de interpolação em um pixel da unidade de pixel de referência correspondente, na imagem de referência, de cada uma das P unidades de pixel utilizando- se um filtro de interpolação com uma fase de Q, para obter um valor de pixel previsto de cada uma das P unidades de pixel, em que Q é um número inteiro maior que n (203).
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510391765.7A CN106331722B (zh) | 2015-07-03 | 2015-07-03 | 图像预测方法和相关设备 |
CN201510391765.7 | 2015-07-03 | ||
PCT/CN2016/087750 WO2017005128A1 (zh) | 2015-07-03 | 2016-06-29 | 图像预测方法和相关设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
BR112018000085A2 BR112018000085A2 (pt) | 2018-08-28 |
BR112018000085B1 true BR112018000085B1 (pt) | 2023-08-22 |
Family
ID=
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7558352B2 (ja) | 画像予測方法および関連装置 | |
JP6689499B2 (ja) | 画像予測方法および関連装置 | |
JP7313816B2 (ja) | 画像予測方法および関連装置 | |
BR122020019754B1 (pt) | Método de predição de imagem e aparelho relacionado, decodificador e meio de armazenamento legível por computador | |
BR112018000085B1 (pt) | Método e aparelho de previsão de imagem e meio legível por computador | |
BR112017007399B1 (pt) | Método de predição de imagem e aparelho relacionado | |
BR122023012613B1 (pt) | Método de predição de imagem e dispositivo relacionado |