BRPI0809668B1 - vetores de movimento de alta precisão para codificação de vídeos com baixa complexidade de codificação e decodificação - Google Patents

vetores de movimento de alta precisão para codificação de vídeos com baixa complexidade de codificação e decodificação Download PDF

Info

Publication number
BRPI0809668B1
BRPI0809668B1 BRPI0809668-6A BRPI0809668A BRPI0809668B1 BR PI0809668 B1 BRPI0809668 B1 BR PI0809668B1 BR PI0809668 A BRPI0809668 A BR PI0809668A BR PI0809668 B1 BRPI0809668 B1 BR PI0809668B1
Authority
BR
Brazil
Prior art keywords
pixel
sample
quarter
precision
syntax element
Prior art date
Application number
BRPI0809668-6A
Other languages
English (en)
Inventor
Kemal Ugur
Jani Lainema
Original Assignee
Nokia Technologies Oy
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nokia Technologies Oy filed Critical Nokia Technologies Oy
Publication of BRPI0809668A2 publication Critical patent/BRPI0809668A2/pt
Publication of BRPI0809668B1 publication Critical patent/BRPI0809668B1/pt

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/523Motion estimation or motion compensation with sub-pixel accuracy
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/53Multi-resolution motion estimation; Hierarchical motion estimation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding

Abstract

a interpolação de dois estágios pode ser fornecida para amostras de previsão de frames com uma precisão de um quarto de pixel e melhor. todas as amostras de precisão de um quarto de pixel e melhor podem usar meio pixel ou pixel completo/inteiro em uma interpolação bilinear para permitir o uso de vetores de movimento de maior precisão, como vetores de movimento de precisão de um oitavo de pixel. os vetores de movimento podem ser restringidos de forma que eles não possam apontar para todas as amostras de subpixel possíveis em uma tabela de subpixel, mas para um subconjunto dessas amostras de subpixel. além disso, as mesmas amostras de pixel completo/inteiro e meio pixel que podem ser usadas para obter uma amostra de um quarto de pixel também podem ser usadas para obter uma amostra de um oitavo de pixel à qual a amostra de um quarto de pixel está conectada. por conseguinte, para cada amostra de um quarto de pixel, um vetor de movimento poderia apontar para duas posições/locais adicionais com precisão de um oitavo de pixel, onde as duas posições/locais adicionais podem ser calculados usando as mesmas amostras de meio pixel ou pixel inteiro que foram usadas para obter a amostra de um quarto de pixel. portanto, uma precisão arbitrária do vetor de movimento pode ser alcançada sem a necessidade de executar estágios de interpolação adicionais ou aumentar a complexidade de um decodificador configurado para decodificar os dados do vetor de movimento.

Description

CAMPO DE INVENÇÃO
A presente invenção se refere à codificação de vídeo no gerai. Mais especificamente, a presente invenção se refere à utilização de vetores de movimento de maior precisão para melhorar a codificação de vídeo para previsão com compensação de movimento sem aumentar a complexidade da codificação.
HISTÓRICO DA INVENÇÃO
Esta seção tem a intenção de fornecer um histórico ou contexto para a invenção relatada nas reivindicações. A descrição nesta seção pode incluir conceitos que poderiam ser desenvolvidos, mas não necessariamente aqueles que já foram concebidos ou desenvolvidos. Portanto, a não ser que seja indicado de outra forma, o que é descrito nesta seção não é arte anterior à descrição e às reivindicações nesta solicitação e não é considerado como arte anterior por estar incluída nesta seção.
A Previsão de Movimento com Compensação (MCP) é uma técnica usada pelos padrões de compressão de vídeo para reduzir o tamanho de um fluxo codificado de bits. Na MCP, uma previsão para um frame atual é formada usando um frame(s) previamente codificado(s), na qual somente a diferença entre o sinal original e o da previsão, representativa do frame atual e do frame da previsão, é codificada e enviada para um decodificador. Um sinal da previsão, representativo de um frame da previsão, é formado primeiramente pela divisão do frame atual em blocos, por ex., macroblocos, e pela busca por uma melhor combinação em um frame de referência para cada bloco. Dessa forma, o movimento de um bloco relativo ao frame de referência é determinado e esta informação do movimento é codificada em um fluxo de bits como vetores de movimento. Um decodificador é capaz de reconstruir o frame exato da previsão decodificando os dados dos vetores de movimento no fluxo de bits.
Os vetores de movimento não se limitam a ter precisão de pixel completo e também podem ter precisão de pixel fracionário. Isto é, os vetores de movimento podem apontar para posições/locais de pixel fracionário do frame de referência, nos quais os locais de pixel fracionário podem indicar, por exemplo, locais "entre" pixels de imagem. Para obter amostras em locais de pixel fracionário, filtros de interpolação são usados no processo de MCP. Padrões convencionais de codificação de vídeo descrevem como um decodificador pode obter amostras com precisão de pixel fracionário definindo um filtro de interpolação. Em MPEG-2, por exemplo, vetores de movimento podem ter no máximo uma precisão de meio pixel, na qual as amostras nos locais de meio pixel são obtidas por uma simples média de amostras vizinhas em locais de pixel completo. O padrão de codificação de vídeo H.264/AVC suporta vetores de movimento com precisão de até um quarto de pixel. Além disso, no padrão de codificação de vídeo H.264/AVC, as amostras de meio pixel são obtidas através do uso de filtros simétricos e separáveis de 6 saídas e as amostras de um quarto de pixel são obtidas pela média com as amostras de meio pixel ou pixel completo mais próximas.
Sabe-se que uma melhor previsão no processo de MCP pode ser obtida usando vetores de movimento de maior precisão. Por exemplo, o uso de vetores de movimento com precisão de 1/8 (um oitavo) de pixel pode aumentar a eficiência de codificação do sistema de codificação de vídeo. No entanto, o uso convencional de vetores de movimento de alta precisão (por ex., em estudos da literatura e conforme considerado durante o desenvolvimento do padrão de codificação de vídeo H.264/AVC) geralmente aumenta a complexidade de codificação e decodificação, no qual o aumento da complexidade envolve dois fatores. Um primeiro fator é que um codificador deve executar passos adicionais de estimativa do movimento para verificar as posições de precisão de um oitavo de pixel possíveis. Um segundo fator é a necessidade de o codificador e o decodificador realizar interpolação adicional geralmente complexa para obter as amostras de um oitavo de pixel.
Por exemplo, duas técnicas diferentes de interpolação para a precisão de um oitavo de pixel são descritas nas seguintes referências: T. Wedi, "1/8-pel motion vector resolution for H.26L", ITU-T Q.15/SG16, doc. Q15-K-21, Portland, Oregon USA, August 2000.; e T Wedi "Complexity reduced motion compensated prediction with 1/8-pel displacement vector resolution", ITU-T Q.6/SG16, doc. VCEG-L20, Eibsee, Germany, January 2001. Um primeiro algoritmo convencional usa um processo de interpolação de três estágios para obter pelo menos uma amostra de um oitavo de pixel no frame 106, conforme indicado na Figura 1. Uma amostra de peio menos meio pixel e um quarto de pixel pode ser obtida usando um filtro de 6 saídas (ou 8 saídas) com relação aos frames 102 e 104, respectivamente, e a amostra de um oitavo de pixel pode ser obtida usando um filtro bilinear. Em especial, duas situações do filtro de 6 ou 8 saídas podem ser usadas, por ex., Filtro 108 e Filtro 110, enquanto somente uma situação do filtro bilinear, por ex., Filtro 112, pode ser usada. Com esta abordagem convencional, a complexidade da interpolação das amostras de um quarto e um oitavo de pixel são significativamente maiores do que as do padrão de codificação de vídeo H.264/AVC devido à necessidade, por exemplo, de executar o mínimo de duas interpolações em cascata de 6 saídas aplicadas em relação a um frame completo de 100. Além disso, um codificador precisaria armazenar dados não amostrados de pelo menos um quarto de pixel em uma unidade de memória para executar uma estimativa de movimento eficiente.
Um segundo algoritmo envolve o uso de interpolação direta para amostras de um quarto e um oitavo de pixel para reduzir a complexidade de decodificação. Portanto, a interpolação direta pode se referir a amostras de um quarto e um oitavo de pixel sendo obtidas somente pelo uso de amostras inteiras. Dessa forma, não há necessidade de realizar operações com longos filtros em cascatas. Esse algoritmo convencional possui uma complexidade de decodificação similar ao padrão de codificação de vídeo H.264/AVC. No entanto, este algoritmo possui desvantagens com relação à complexidade do codificador. Isso é porque o codificador precisa realizar uma interpolação de alta complexidade para cada vetor de movimento de um quarto e um oitavo de pixel possível em um estágio de estimativa de movimento. Realizar tal interpolação de alta complexidade aumenta a complexidade do processo de codificação em uma quantidade considerável.
Outra capacidade alternativa é pré-calcular as amostras de um quarto e um oitavo de pixel antes do processo de codificação do frame e armazenar isso na memória. No entanto, essa abordagem aumenta significativamente a memória necessária para o codificador. Portanto, é necessário um sistema e um método para utilização de vetores de movimento de alta precisão o que não aumenta a complexidade do processo de codificação e/ou de decodificação e que aumenta a eficiência de codificação do sistema e do método.
RESUMO DA INVENÇÃO
Várias ilustrações fornecem interpolação de dois estágios para amostras de previsão de frame com precisão de um quarto de pixel e melhor. Isto é, todas as amostras com precisão de um quarto de pixel e melhor podem usar meio pixel ou pixel completo/inteiro em uma interpolação bilinear para permitir o uso de vetores de movimento de maior precisão, como vetores de movimento de precisão de um oitavo de pixel. Os vetores de movimento podem ser restringidos de forma que eles não possam apontar para todas as amostras de subpixel possíveis em uma tabela de subpixel, mas para um subconjunto dessas amostras de subpixel. Além disso, as mesmas amostras de pixel completo/inteiro e meio pixel que podem ser usadas para obter uma amostra de um quarto de pixel também podem ser usadas para obter uma amostra de um oitavo de pixel à qual a amostra de um quarto de pixel está conectada. Por conseguinte, para cada amostra de um quarto de pixel, um vetor de movimento poderia apontar para dois locais adicionais com precisão de um oitavo de pixel, onde os dois locais adicionais podem ser calculados usando as mesmas amostras de meio pixel ou pixel inteiro que foram usadas para obter a amostra de um quarto de pixel. Portanto, uma precisão arbitrária do vetor de movimento pode ser alcançada sem a necessidade de executar estágios de interpolação adicionais ou aumentar a complexidade de um decodificador configurado para decodificar os dados do vetor de movimento.
Estas e outras vantagens e características da invenção, juntamente com sua organização e forma de operação, se tornarão aparentes pela seguinte descrição detalhada quando consideradas em conjunto com os desenhos que acompanham, nos quais elementos iguais possuem numerais iguais nos diversos desenhos descritos abaixo.
BREVE DESCRIÇÃO DOS DESENHOS
A figura 1 ilustra uma estrutura de interpolação de três estágios convencional;
A figura 2 mostra um sistema de comunicação multimídia genérico para uso com a presente invenção;
A figura 3 é uma vista da perspectiva de um dispositivo móvel que pode ser usado na implementação da presente invenção;
A figura 4 é uma representação esquemática do circuito do dispositivo móvel da figura 3;
A figura 5 é uma representação em diagrama de locais e conexões de pixel permitidos de acordo com uma ilustração;
A figura 6 é uma representação em diagrama de locais e conexões de pixel permitidos de acordo com outra ilustração;
A figura 7 é uma representação em diagrama de uma estrutura de interpolação fracionária; e
A figura 8 mostra a notação utilizada de acordo com várias ilustrações para denotar locais de pixel completo e subpixel;
DESCRIÇÃO DETALHADA DAS ILUSTRAÇÕES PREFERENCIAIS
A figura 2 mostra um sistema de comunicação multimídia genérico para uso com a presente invenção. Conforme mostrado na figura 2, uma fonte de dados 200 fornece um sinal fonte em um formato analógico, digital não comprimido ou digital comprimido ou qualquer combinação desses formatos. Um decodificador 210 codifica o sinal fonte em um fluxo de bits de uma mídia codificado. O codificador 210 pode ser capaz de codificar mais do que um tipo de mídia, como áudio e vídeo ou mais do que um codificador 210 pode ser necessário para codificar tipos diferentes de mídia do sinal fonte. O codificador 210 também pode obter entradas produzidas sinteticamente, como gráficos e texto ou ele pode ser capaz de produzir fluxos de bits codificados de uma mídia sintética. Nos seguintes itens, somente o processamento de um fluxo de bits de mídia codificado de um tipo de mídia é considerado para simplificar a descrição. Deve ser observado, no entanto, que serviços transmitidos em tempo real incluem vários fluxos (geralmente pelo menos um fluxo de subtitulação de áudio, vídeo e texto). Também deve-se observar que o sistema pode incluir vários codificadores, mas nos seguintes itens somente um codificador 210 é considerado para simplificar a descrição sem falta de generalidade.
Deve-se entender que, apesar de os textos e exemplos contidos aqui poderem descrever especificamente um processo de codificação, uma pessoa com conhecimento da arte logo entenderia que os mesmos conceitos e princípios também se aplicam ao processo de decodificação correspondente e vice-versa.
O fluxo de bits da mídia codificado é transferido para um armazenamento 220. O armazenamento 220 pode incluir qualquer tipo de memória em massa para armazenar o fluxo de bits da mídia codificado. O formato do fluxo de bits da mídia codificado no armazenamento 220 pode ser um formato de fluxo de bits independente básico ou um ou mais fluxos de bits da mídia codificados podem ser incorporados em um arquivo de armazenamento. Alguns sistemas operam "energizados”. isto é, omitem o armazenamento e a transferência do fluxo de bits da mídia codificado do codificador 210 diretamente para um transmissor 230. O fluxo de bits da mídia codificado é então transferido para o transmissor 230, também chamado de servidor, de acordo com a necessidade. O formato usado na transmissão pode ser um formato de fluxo de bits independente básico, um formato de fluxo de pacotes ou um ou mais fluxos de bits da mídia codificados podem ser incorporados em um arquivo de armazenamento. O codificador 210, o armazenamento 220 e o transmissor 230 podem residir no mesmo dispositivo físico ou podem ser incluídos em dispositivos separados. O codificador 210 e o transmissor 230 podem operar com conteúdo energizado em tempo real, em cujo caso o fluxo de bits da mídia codificado geralmente não é armazenado permanentemente, mas protegido por períodos curtos de tempo no codificador 210 de conteúdo e/ou no transmissor 230 para suavizar as variações no atraso de processo, atraso de transferência e na taxa de bits da mídia codificada.
O transmissor 230 envia o fluxo de bits da mídia codificado usando uma pilha de protocolos de comunicação. A pilha pode incluir, mas não se limita a, Protocolo RTP (Real-Time Transport Protocol), Protocolo UDO (User Datagram Protocol) e Protocolo da Internet (IP). Quando a pilha de protocolos de comunicação for definida por pacotes, o transmissor 230 incorpora o fluxo de bits da mídia codificado em pacotes. Por exemplo, quando RTP é usado, o transmissor 230 incorpora o fluxo de bits da mídia codificado em pacotes RTP de acordo com um formato de pacotes RTP. Geralmente, cada tipo de mídia possui um formato de pacotes RTP exclusivo. Deve ser observado novamente que um sistema pode conter mais do que um transmissor 230, mas para manter a simplicidade a seguinte descrição considera somente um transmissor 230.
O transmissor 230 pode ou não ser conectado a uma porta 240 através de uma rede de comunicação. A porta 240 pode realizar diferentes tipos de funções, como a tradução de um fluxo de pacotes de acordo com uma pilha de protocolos de comunicação para outra pilha de protocolos de comunicação, mesclagem e divisão de fluxos de dados e manipulação de fluxo de dados de acordo com as capacidades do downlink e/ou receptor, como controlar a taxa de bits do fluxo encaminhado de acordo com as condições da rede do downlink prevalecente. Exemplos de portas 240 incluem unidades de controle de conferência de pontos múltiplos (MCUs), portas entre telefonia de vídeo em circuito e pacote, servidores de Push-to-talk por Celular (PoC), incorporadores de IP em sistemas de transmissão de vídeo digital (DVB-H) ou conversores STB que encaminham transmissões locais para redes sem fio residenciais. Quando o RTP é usado, a porta 240 é chamada de RTP mixer e atua como um ponto de extremidade de uma conexão RTP.
O sistema inclui um ou mais receptores 250, geralmente capazes de receber, demodular e descapsular o sinal transmitido em um fluxo de bits da mídia codificado. O fluxo de bits da mídia de codificação/decodificação geralmente é processado posteriormente por um decodificador 260, cujo a saída é um ou mais fluxos da mídia não comprimidos. Finalmente, um processador 270 pode reproduzir os fluxos da mídia não comprimidos com um alto-falante ou uma tela, por exemplo. O receptor 250, o decodificador 260 e o processador 270 podem residir no mesmo dispositivo físico ou podem ser incluídos em dispositivos separados.
Deve-se observar que o fluxo de bits a ser decodificado pode ser recebido por um dispositivo remoto localizado dentro de praticamente qualquer tipo de rede. Além disso, o fluxo de bits pode ser recebido de um hardware ou software local.
A escalabilidade em termos da taxa de bits, complexidade de decodificação e tamanho da imagem é uma propriedade desejável para ambientes heterogêneos e propensos a erros. Essa propriedade é desejável para contrapor limitações, como restrições na taxa de bits, resolução da tela, ritmo de transferência da rede e energia computacional em um dispositivo de recebimento.
Dispositivos de comunicação da presente invenção podem se comunicar usando várias tecnologias de transmissão, incluindo, mas não se limitando a, Acesso Múltiplo por Divisão de Código (CDMA), Sistema Global para Comunicação Móvel (GSM), Sistema Universal de Telecomunicação Móvel (UMTS), Acesso Múltiplo por Divisão de Tempo (TDMA), Acesso Múltiplo por Divisão de Frequência (FDMA), Protocolo de Controle de
Transmissão/Protocolo da Internet (TCP/IP), Serviço de Mensagens de Texto (SMS), Serviço de Mensagens Multimídia (MMS), e-mail, Serviço de Mensagens Instantâneas (IMS), Bluetooth, IEEE 802.11, etc. Um dispositivo de comunicação pode se comunicar usando várias mídias, incluindo, mas não se limitando a, rádio, infra-vermelho, laser, conexão a cabo e similares.
As figuras 3 e 4 mostram o dispositivo móvel 12 representativo, no qual a presente invenção pode ser implementada. No entanto, deve-se compreender que a presente invenção não tem a intenção de ser limitada a um tipo particular de dispositivo móvel 12 ou outro dispositivo eletrônico. Algumas ou todas as características descritas nas figuras 3 e 4 poderiam ser incorporadas em qualquer dispositivo ou em todos eles representados na figura 2.
O dispositivo móvel 12 das figuras 3 e 4 incluem uma estrutura 30, uma tela 32 em forma de uma tela de cristal líquido, um teclado 34, um microfone 36, uma peça auricular 38, uma bateria 40, uma porta de infra-vermelho 42, uma antena 44, um cartão smart 46 em forma de um UICC de acordo com uma configuração da invenção, um leitor de cartão 48, circuito de interface de rádio 2, circuito de codificação/decodificação 54, um controlador 56 e uma memória 58. Circuitos e elementos individuais são todos os tipos bem conhecidos na arte, por exemplo, na variedade de telefones móveis da Nokia.
Várias ilustrações podem estender algoritmos convencionais de interpolação de subpixel de dois estágios, como o algoritmo usado no padrão de codificação de vídeo H.264/AVC, para alcançar uma precisão arbitrária sem a necessidade de realizar estágios de interpolação adicionais ou aumentar a complexidade do decodificador. Isto é, vetores de movimento poder ser restringidos para que eles possam apontar somente para posições/locais localizados diretamente entre as amostras de pixel completo e de meio pixel que podem ser usadas para amostras de um quarto de pixel interpoladas. Como resultado, amostras de subpixel podem ser derivadas das mesmas amostras de pixel completo e meio pixel da qual a amostra de um quarto de pixel mais próxima é derivada e mesmo assim as amostras de subpixel podem ter uma precisão melhor do que as amostras de um quarto de pixel mais próximas. Deve-se observar que várias ilustrações podem ser implementadas por e/ou em conjunção com outros padrões de codificação de vídeo além do padrão de codificação de vídeo H.264/AVC.
Uma ilustração pode ser usada para vetores de movimentos com amostras com precisão de um oitavo. Nessa ilustração exemplar, amostras de um oitavo de pixel para as quais os vetores de movimentos podem apontar quando várias ilustrações são aplicadas à estrutura de interpolação fracionária H.264/AVC são mostradas na figura 5. Similarmente, as amostras de um oitavo de pixel para as quais os vetores de movimentos podem apontar em outra estrutura de interpolação fracionária são mostradas na figura 6, onde a estrutura, especificamente uma estrutura de interpolação bilinear de subpixel, é mostrada na figura 7. Nas figuras 5 e 6, amostras de um oitavo de pixel são indicadas pelos círculos sombreados 501-524 e 601-624, respectivamente, e são mostradas como sendo conectadas a uma amostra de um quarto de pixel vizinha com uma seta. Amostras de um quarto de pixel são indicadas pelos triângulos 530-541 na figura 5 e pelos triângulos 630-641 na figura 6. Amostras de meio pixel são indicadas pelos círculos não sombreados 550-554 e 650-654 nas figuras 5 e 6, respectivamente. Amostras de pixel completo/inteiro são indicadas pelos quadrados 560-563 e 660-663 nas figuras 5 e 6, respectivamente.
Portanto, as figuras 5 e 6 ilustram como as mesmas amostras de pixel completo e meio pixel que podem ser usadas para obter uma amostra de um quarto de pixel também podem ser usadas para obter uma amostra de um oitavo de pixel à qual a amostra de um quarto de pixel está conectada. Na interpolação convencional de dois estágios, um quarto de pixel pode ser calculado usando um filtro bilinear das duas amostras de meio pixel ou de pixel inteiro mais próximas. De acordo com várias ilustrações, essa técnica pode ser estendida para se aplicar à precisão de um oitavo de pixel. Isto é, para cada amostra de um quarto de pixel, um vetor de movimento poderia apontar para duas posições/locais adicionais com precisão de um oitavo de pixel, onde os dois locais adicionais podem ser calculados usando as mesmas amostras de meio pixel ou pixel completo/inteiro que foram usadas para obter a amostra de um quarto de pixel.
As figuras 5 e 6 mostram esses dois locais adicionais para cada um quarto de pixel. Por exemplo, as amostras de um oitavo de pixel 501 e 502 são conectadas à amostra de um quarto de pixel 530 na figura 5. A figura 6 também mostra as amostras de um oitavo de pixel 608 e 612 como sendo conectadas à amostra de um quarto de pixel 635, por exemplo. Deve-se observar que cada um dos dois locais adicionais e o local original do um quarto de pixel ao qual o conjunto dos dois locais adicionais estão conectados podem ser indicados com um elemento de sintaxe do deslocamento de um oitavo de pixel em uma ilustração. Também se deve observar que o elemento de sintaxe do deslocamento_de_um_oitavo_de_pixel só precisa ser transmitido, por exemplo, quando um vetor de movimento não estiver apontando para uma posição/local de um pixel completo ou meio pixel.
Pelos vetores de movimento serem restringidos à resolução de um oitavo de pixel de acordo com uma ilustração, uma técnica de codificação de vetor de movimento pode ser utilizada, a qual é diferente das técnicas de codificação convencionais. Por exemplo, vetores de movimento de pixel completo, meio pixel e um quarto de pixel podem ser codificados da mesma forma com que é convencional mente realizado com relação ao padrão de codificação H.264/AVC. No entanto, se um vetor de movimento transmitido inicialmente possuir precisão de um quarto de pixel, um elemento adicional de sintaxe pode ser transmitido para indicar pelo menos um deslocamento de um oitavo de pixel (caso exista algum). Altemativamente, os vetores de movimento podem ter uma precisão maior do que a precisão de um oitavo de pixel, em cujo caso o elemento de sintaxe pode indicar um deslocamento apropriado para o maior nível de precisão.
De acordo com várias ilustrações, certas abordagens que podem salvar bits para transmitir o deslocamento descrito acima existem. Uma abordagem pode envolver estipular o deslocamento de macroblocos vizinhos, reorganizando, desse modo, os códigos de comprimento variáveis que são utilizados. Outra abordagem pode envolver estipular o deslocamento de acordo com a diferença do vetor de movimento codificada no fluxo de bits (por ex., de uma diferença de vetor de movimento de valor zero for indicada no fluxo de bits, um deslocamento derivado dos vetores de movimento que foram usados para gerar o vetor de movimento estipulado para o bloco pode ser usado). Outra abordagem também pode ser utilizada, na qual a precisão do movimento para a imagem, grupo de imagens, macrobloco, grupo de macroblocos ou um bloco pode ser indicado. Por exemplo, uma indicação pode ser definida no cabeçalho do macrobloco, onde a indicação pode sinalizar que somente a precisão de um quarto de pixel é aplicada para o macrobloco. Neste caso, não é necessário transmitir nenhuma sintaxe adicional para os vetores de movimento no macrobloco. Altemativamente, a indicação pode ser configurada dependendo do modo do macrobloco. Por exemplo, em uma situação na qual um macrobloco possui somente um vetor de movimento (por ex., o tamanho da partição do movimento é 16x16) a indicação não salvaria muitos bits e, portanto, poderia ser evitada.
Processos exemplares realizados por e/ou em conjunto com codificadores e decodificadores de acordo com várias ilustrações de um sistema de codificação de vídeo e de um método que pode suportar vetores de movimento com precisão de um oitavo de pixel são descritos em detalhes abaixo. No entanto, deve-se observar que várias ilustrações poderiam ser estendidas para operar com uma precisão melhor de um oitavo de pixel.
Com relação a uma operação/algoritmo exemplar de decodificação, um ou mais locais de um oitavo de pixel podem ser obtidos. Com relação a uma operação/algoritmo exemplar de codificação, um ou mais vetores de movimento com precisão de um oitavo de pixel podem ser encontrados. Deve-se observar que certas suposições podem ser feitas para os algoritmos do decodificador/codificador. Por exemplo, podemos supor que pelo menos um elemento de sintaxe de deslocamento de um oitavo de pixel é transmitido para cada vetor de movimento de um quarto de pixel sem nenhuma dependência de outro elemento de sintaxe presente do cabeçalho do macrobloco. Se houver uma dependência para melhorar a eficiência de codificação, os algoritmos descritos abaixo na Tabela 1 podem ser estendidos de forma direta. Além disso, podemos assumir que um deslocamento de um oitavo de pixel não é previsto de macroblocos vizinhos. No entanto, se for desejável prever um oitavo de pixel de macroblocos vizinhos, deve-se observar que extensões diretas para os algoritmos também são possíveis.
De acordo com uma operação de decodificação exemplar, depois que um vetor de movimento é decodificado, um decodificador, por ex., o decodificador 260, pode ler um elemento de sintaxe de deslocamento de um oitavo de pixel se o vetor de movimento decodificado corresponder à precisão de um quarto de pixel. Usando o vetor de movimento de um quarto de pixel, o decodificador 260 pode calcular uma posição de um quarto de pixel para a qual o vetor de movimento aponta. A figura 8 ilustra uma estrutura possível que pode ser utilizada com os algoritmos descritos na Tabela 1 abaixo. Em outras palavras, usando um local de um quarto de pixel e um deslocamento de um oitavo de pixel, o decodificador 260 pode usar as equações apresentadas na Tabela 1 para obter amostras relevantes com precisão de um oitavo de pixel. Por exemplo, a estrutura mostrada na figura 8 pode ser aplicada aos vários locais de pixel mostrados na figura 5. Isto é, o local de um quarto de pixel "a" da figura 8 pode se referir ao local de um quarto de pixel 530 a figura 5, no qual o deslocamento de um oitavo de pixel de "-1" pode se referir à amostra de um oitavo de pixel 501 e o deslocamento de um oitavo de pixel de "1” pode se referir à amostra de um oitavo de pixel 502. Deve-se observar que os algoritmos/equações descritos abaixo se aplicam à estrutura de interpolação fracionária do padrão de codificação de vídeo H.264/AVC e à estrutura de interpolação bilinear de subpixel ilustrada na figura 7. No entanto, os algoritmos/equações podem ser estendidos/adaptados para uso com estruturas de interpolação fracionária incluindo, mas não se limitando ao H.241/RCDO.
Figure img0001
Figure img0002
Tabela 1
De acordo com uma operação exemplar de codificação para encontrar vetores de movimento de um oitavo de pixel, deve-se observar que o algoritmo 5 de codificação pode ser melhorado para baixa complexidade. No entanto, uma melhor eficiência de codificação pode ser alcançada com uma operação de codificação de maior complexidade, caso desejado. A operação exemplar de codificação é configurada para encontrar um melhor vetor de movimento com precisão de pixel completo/inteiro e de meio pixel. Depois é realizada uma 10 busca por locais de um quarto de pixel vizinhos. Para os locais de um quarto de pixel, uma função de custo pode ser modificada adequadamente para incluir uma indicação de um deslocamento de um oitavo de pixel como zero. Se o vetor de movimento com o menor custo possuir precisão de um quarto de pixel, uma busca pode ser feita para os dois deslocamentos de um oitavo de pixel 15 possivel (isto é, -1 e 1) usando as equações descritas na Tabela 1. Deve-se observar que para essa busca, a função de custo pode ser modificada adequadamente para incluir a indicação de um deslocamento de um oitavo de pixel como 1 ou -1.
Portanto, várias ilustrações podem fornecer uma interpolação de dois estágios para todas as amostras com precisão de um quarto de pixel e precisão linear (isto é, todas as amostras com precisão de um quarto de pixel e melhor usam meio pixel ou pixel completo/inteiro em uma interpolação bilinear). Isso pode ser alcançado restringindo os vetores de movimento para que eles não possam apontar para todas as amostras de subpixel possíveis em uma tabela de subpixel, mas para um subconjunto delas, conforme descrito acima.
Várias ilustrações descritas aqui são descritas no contexto geral dos passos ou processos do método, os quais podem ser implementados em uma ilustração por um produto de programa de computador e incorporados em uma mídia de leitura em computador, incluindo instruções para execução em computador, como código do programa, executado por computadores em ambientes de rede. Uma mídia de leitura em computador pode incluir dispositivos de armazenamento removíveis e não removíveis, incluindo, mas não se limitando a, Memória ROM, RAM, discos compactos (CDs), DVDs, etc. Geralmente módulos de programas podem incluir rotinas, programas, objetos, componentes, estruturas de dados, etc. que realizam tarefas específicas ou implementam tipos de dados abstratos específicos. Instruções executáveis em computador, estruturas de dados associados e módulos de programas representam exemplos de códigos de programas para execução de passos dos métodos mostrados aqui. A sequência específica de tais instruções executáveis ou estruturas de dados associados representa exemplos de atos correspondentes para implementação das funções descritas em tais passos ou processos.
Ilustrações da presente invenção podem ser implementadas em software, hardware, lógica de aplicativo ou uma combinação de software, hardware e lógica de aplicativo. O software, lógica de aplicação e/ou hardware pode residir, por exemplo, em um conjunto de circuitos integrados, dispositivo móvel, desktop, laptop ou servidor. A implementação em software e na web de várias ilustrações pode ser alcançada com técnicas padrão de programação com lógica baseada em regras e outras lógicas para concluir vários passos ou processos de busca por base de dados, passos ou processos de correlação, passos ou processos de comparação e passos ou processos de decisão.
Várias ilustrações também podem ser implementadas completamente ou parcialmente dentro de elementos ou módulos da rede. Deve-se observar que as palavras "componente" e "módulo," confirme usado aqui e nas seguintes reivindicações, têm intenção de abranger implementações usando uma ou mais linhas de código de software e/ou implementações de hardware e/ou equipamentos para recepção de entradas manuais.
As estruturas individuais e específicas descritas nos exemplos precedentes devem ser compreendidas como estruturas representativas dos meios da realização das funções específicas descritas nas seguintes reivindicações, apesar de as limitações nas reivindicações não deverem ser interpretadas como limitações de "meios e função" caso o termo "meios" não seja usado. Além disso, o uso do termo "passo" na descrição precedente não deve ser usado para construir nenhuma limitação específica nas reivindicações como uma limitação de "passo e função". Até onde referências individuais, incluindo patentes emitidas, aplicações de patentes e publicaçõesde não patentes são descritas ou mencionadas de outra forma aqui, tais referências não devem ser interpretadas como limitadoras do escopo das seguintes reivindicações.
A descrição precedente das ilustrações foi apresentada para fins de ilustração e descrição. A descrição precedente não é exaustiva e não limita as ilustrações da presente invenção precisamente à forma mostrada e modificações e variações são possíveis seguindo as instruções acima ou podem ser adquiridas com a prática de várias ilustrações. As ilustrações discutidas aqui foram escolhidas e descritas para explicar os princípios e a natureza de várias ilustrações e sua aplicação prática para permitir que uma pessoa com conhecimento na arte utilize a presente invenção em várias ilustrações e com várias modificações, conforme adequado para o uso específico observado. As características das ilustrações descritas aqui podem ser combinadas em todas as combinações possíveis de métodos, aparelhos, módulos, sistemas e produtos de programa de computador.

Claims (15)

1. Método de decodificar dados de vetor de movimento codificados no fluxo de bits caracterizado por compreender: determinação de que um elemento de sintaxe do deslocamento de pixel é codificado no fluxo de bits e que um vetor de movimento tem uma precisão mínima de um quarto de pixel; leitura do elemento de sintaxe do deslocamento de pixel; utilização do vetor de movimento tendo pelo menos uma precisão de um quarto de pixel para calcular a posição da primeira amostra com a precisão de pelo menos um quarto de pixel, para a qual o vetor de movimento aponta, utilização do algoritmo de estrutura de estrapolação fracionária para obter uma segunda amostra tendo uma precisão de pixel maior que a da primeira amostra; em que a segunda amostra é representativa de uma de pelo menos duas posições de amostra adicionais associadas com a primeira amostra, as pelo menos duas posições de amostras adicionais, cada uma, tendo uma precisão maior do que pelo menos a precisão de um quarto de pixel; e em que as pelo menos duas posições de amostras adicionais são calculadas usando pelo menos uma de uma posição de amostra de pixel completo, e a posição de amostra de meio pixel, e em que a pelo menos uma posição de amostra de pixel completo e a posição de amostra de meio pixel é a mesma posição de amostra utilizada para determinar a primeira amostra com a precisão de pelo menos um quarto de pixel.
2. Método, de acordo com a reivindicação 1, caracterizado por o elemento de sintaxe do deslocamento de pixel compreender um elemento de sintaxe do deslocamento de pixel de um oitavo de pixel e a segunda amostra compreender uma amostra de precisão de pixel de um oitavo.
3. Método, de acordo com a reivindicação 1, caracterizado por o elemento de sintaxe do deslocamento de pixel e a segunda amostra possuírem uma precisão maior que a precisão de um oitavo de pixel.
4. Método, de acordo com a reivindicação 1, caracterizado por o elemento de sintaxe do deslocamento de pixel ser representativo de um deslocamento de pixel e o deslocamento de pixel ser representativo de uma posição da segunda amostra.
5. Método, de acordo com a reivindicação 4, caracterizado por o elemento de sintaxe do deslocamento de pixel ser desprovido de dependência quando outro elemento de sintaxe do deslocamento de pixel está presente em um cabeçalho de macroblocos e o deslocamento de pixel não ser previsto a partir de um cabeçalho de macrobloco vizinho.
6. Método, de acordo com a reivindicação 4, caracterizado por o deslocamento de pixel ser previsto a partir do macrobloco vizinho.
7. Método, de acordo com a reivindicação 4, caracterizado por o deslocamento de pixel ser previsto com base na diferença de vetor de movimento codificado em um fluxo de bits.
8. Método, de acordo com a reivindicação 4, caracterizado por o deslocamento de pixel ser representativo de uma precisão de movimento por pelo menos uma figura, um grupo de figuras, um macrobloco, um grupo de macroblocos e um bloco em relação ao deslocamento do pixel.
9. Método, de acordo com a reivindicação 8, caracterizado por a precisão do movimento depender de um modo de pelo menos um macrobloco.
10. Método, de acordo com a reivindicação 4, caracterizado por compreender ainda a utilização de um algoritmo de estrutura de interpolação fracionária se o elemento de sintaxe do deslocamento for dependente de um outro elemento de sintaxe de deslocamento.
11. Método, de acordo com a reivindicação 1, caracterizado por o vetor de movimento não apontar para toda possível amostra de sub-pixel em uma grade de sub-pixels, incluindo pelo menos a primeira amostra e a segunda amostra.
12. Aparelho caracterizado por compreender: um processador; e uma unidade de memória operacionalmente conectada ao processador e incluindo instruções codificadas por computador configuradas para, com o processador, permitirão aparelho: determinar que o elemento de sintaxe do deslocamento de pixel é codificado em um fluxo de bits e que o vetor de movimento, codificado no fluxo de bits, possui pelo menos uma precisão de pixel de um quarto; ler o elemento de sintaxe do deslocamento de pixel; utilizar o vetor de movimento possuindo o pelo menos a precisão de um quarto de pixel para calcular uma posição de uma primeira amostra possuindo o pelo menos uma precisão de um quarto de pixel ao qual o vetor de movimento aponta; utilizar um algoritmo de estrutura de interpolação fracionária para obter uma segunda amostra tenho uma precisão de pixel maior que a primeira amostra; em que a segunda amostra é representativa de uma de pelo menos duas posições de amostras adicionais associadas com a primeira amostra, pelo menos duas posições de amostras adicionais, cada uma, possuindo uma precisão maior do que pelo menos uma precisão de um quarto de pixel; e em que pelo menos duas posições de amostras adicionais são calculadas usando pelo menos uma posição de amostra de pixel completo e uma posição de amostra de meio pixel, e em que a pelo menos uma da posição de amostra de pixel completo e a posição de amostra de meio pixel é a mesma posição de amostra utilizada para determinar a primeira amostra tendo pelo menos a precisão de um quarto de pixel.
13. Aparelho, de acordo com a reivindicação 12, caracterizado por o elemento de sintaxe do deslocamento de pixel compreender um elemento de sintaxe do deslocamento de pixel de um oitavo de pixel e a segunda amostra compreender uma amostra de precisão de um oitavo de pixel.
14. Aparelho, de acordo com a reivindicação 12, caracterizado por o elemento de sintaxe do deslocamento de pixel ser representativo de um deslocamento de pixel e o deslocamento de pixel ser representativo de uma posição da segunda amostra.
15. Aparelho, de acordo com a reivindicação 12, caracterizado por o vetor de movimento ser restrito a partir do apontamento a qualquer possível amostra de sub-pixel em uma grade de sub-pixel incluindo pelo menos a primeira amostra e a segunda amostra.
BRPI0809668-6A 2007-04-09 2008-04-08 vetores de movimento de alta precisão para codificação de vídeos com baixa complexidade de codificação e decodificação BRPI0809668B1 (pt)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US91078307P 2007-04-09 2007-04-09
US60/910,783 2007-04-09
PCT/IB2008/051325 WO2008122956A2 (en) 2007-04-09 2008-04-08 High accuracy motion vectors for video coding with low encoder and decoder complexity

Publications (2)

Publication Number Publication Date
BRPI0809668A2 BRPI0809668A2 (pt) 2014-10-07
BRPI0809668B1 true BRPI0809668B1 (pt) 2020-07-28

Family

ID=39745237

Family Applications (1)

Application Number Title Priority Date Filing Date
BRPI0809668-6A BRPI0809668B1 (pt) 2007-04-09 2008-04-08 vetores de movimento de alta precisão para codificação de vídeos com baixa complexidade de codificação e decodificação

Country Status (9)

Country Link
US (1) US8275041B2 (pt)
EP (1) EP2132941B1 (pt)
JP (1) JP2010524379A (pt)
KR (1) KR101129972B1 (pt)
CN (1) CN101658044B (pt)
BR (1) BRPI0809668B1 (pt)
CA (1) CA2681210C (pt)
MX (1) MX2009010527A (pt)
WO (1) WO2008122956A2 (pt)

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7082450B2 (en) 2001-08-30 2006-07-25 Nokia Corporation Implementation of a transform and of a subsequent quantization
US7983835B2 (en) 2004-11-03 2011-07-19 Lagassey Paul J Modular intelligent transportation system
US9967590B2 (en) 2008-04-10 2018-05-08 Qualcomm Incorporated Rate-distortion defined interpolation for video coding based on fixed filter or adaptive filter
US8804831B2 (en) * 2008-04-10 2014-08-12 Qualcomm Incorporated Offsets at sub-pixel resolution
US9078007B2 (en) * 2008-10-03 2015-07-07 Qualcomm Incorporated Digital video coding with interpolation filters and offsets
US8811485B1 (en) * 2009-05-12 2014-08-19 Accumulus Technologies Inc. System for generating difference measurements in a video processor
KR20110017302A (ko) * 2009-08-13 2011-02-21 삼성전자주식회사 움직임 벡터의 정확도 조절을 이용한 영상 부호화, 복호화 방법 및 장치
JP5922579B2 (ja) * 2009-10-14 2016-05-24 トムソン ライセンシングThomson Licensing 動き情報の適応型符号化方法及び装置
TWI566586B (zh) * 2009-10-20 2017-01-11 湯姆生特許公司 一序列形象的現時區塊之寫碼方法和重建方法
US20110194602A1 (en) * 2010-02-05 2011-08-11 Telefonaktiebolaget Lm Ericsson (Publ) Method and apparatus for sub-pixel interpolation
US9237355B2 (en) * 2010-02-19 2016-01-12 Qualcomm Incorporated Adaptive motion resolution for video coding
US10327008B2 (en) 2010-10-13 2019-06-18 Qualcomm Incorporated Adaptive motion vector resolution signaling for video coding
CN101990103B (zh) * 2010-11-10 2013-01-16 香港应用科技研究院有限公司 用于多视点视频编码的方法和装置
KR20140034292A (ko) 2011-07-01 2014-03-19 모토로라 모빌리티 엘엘씨 움직임 벡터 예측 설계 간소화
WO2013067440A1 (en) * 2011-11-04 2013-05-10 General Instrument Corporation Motion vector scaling for non-uniform motion vector grid
KR101682999B1 (ko) 2012-04-16 2016-12-20 노키아 테크놀로지스 오와이 비디오 코딩 및 디코딩을 위한 장치, 방법 및 컴퓨터 프로그램
EP2850831A1 (en) * 2012-05-14 2015-03-25 Luca Rossato Encoding and decoding based on blending of sequences of samples along time
US9172970B1 (en) 2012-05-29 2015-10-27 Google Inc. Inter frame candidate selection for a video encoder
US11317101B2 (en) 2012-06-12 2022-04-26 Google Inc. Inter frame candidate selection for a video encoder
US9503746B2 (en) 2012-10-08 2016-11-22 Google Inc. Determine reference motion vectors
US9485515B2 (en) 2013-08-23 2016-11-01 Google Inc. Video coding using reference motion vectors
US9749642B2 (en) * 2014-01-08 2017-08-29 Microsoft Technology Licensing, Llc Selection of motion vector precision
US9774881B2 (en) 2014-01-08 2017-09-26 Microsoft Technology Licensing, Llc Representing motion vectors in an encoded bitstream
US10412387B2 (en) * 2014-08-22 2019-09-10 Qualcomm Incorporated Unified intra-block copy and inter-prediction
EP3264768A1 (en) * 2016-06-30 2018-01-03 Thomson Licensing Method and apparatus for video coding with adaptive motion information refinement

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5842033A (en) * 1992-06-30 1998-11-24 Discovision Associates Padding apparatus for passing an arbitrary number of bits through a buffer in a pipeline system
EP2271116B1 (en) * 1997-06-09 2013-09-11 Hitachi, Ltd. Image decoding method and image decoder
US6950469B2 (en) 2001-09-17 2005-09-27 Nokia Corporation Method for sub-pixel value interpolation
JP3797209B2 (ja) * 2001-11-30 2006-07-12 ソニー株式会社 画像情報符号化方法及び装置、画像情報復号方法及び装置、並びにプログラム
JP2003274410A (ja) * 2002-03-13 2003-09-26 Hitachi Ltd 監視映像の符号化装置及び復号装置並びに符号化方法
US7620109B2 (en) * 2002-04-10 2009-11-17 Microsoft Corporation Sub-pixel interpolation in motion estimation and compensation
US20040252766A1 (en) * 2003-06-11 2004-12-16 Daeyang Foundation (Sejong University) Motion vector search method and apparatus
US8009739B2 (en) * 2003-09-07 2011-08-30 Microsoft Corporation Intensity estimation/compensation for interlaced forward-predicted fields
WO2006001585A1 (en) * 2004-03-31 2006-01-05 Samsung Electronics Co., Ltd. Method and apparatus for effectively compressing motion vectors in multi-layer structure
KR100587561B1 (ko) * 2004-04-08 2006-06-08 삼성전자주식회사 모션 스케일러빌리티를 구현하는 방법 및 장치
KR100586882B1 (ko) * 2004-04-13 2006-06-08 삼성전자주식회사 모션 스케일러빌리티를 지원하는 코딩 방법 및 장치
KR20060059769A (ko) * 2004-11-29 2006-06-02 엘지전자 주식회사 영상신호의 엔코딩시에 베이스 레이어 픽처의 벡터를이용하기 위한 미세정보를 코딩하는 방법과 그 미세정보를이용하는 디코딩 방법
US20060133507A1 (en) * 2004-12-06 2006-06-22 Matsushita Electric Industrial Co., Ltd. Picture information decoding method and picture information encoding method
KR100772390B1 (ko) * 2006-01-23 2007-11-01 삼성전자주식회사 방향 보간 방법 및 그 장치와, 그 보간 방법이 적용된부호화 및 복호화 방법과 그 장치 및 복호화 장치
US8208553B2 (en) * 2006-05-04 2012-06-26 Altera Corporation Methods and apparatus for quarter-pel refinement in a SIMD array processor

Also Published As

Publication number Publication date
MX2009010527A (es) 2009-10-26
CA2681210C (en) 2021-03-02
EP2132941A2 (en) 2009-12-16
EP2132941B1 (en) 2017-05-17
JP2010524379A (ja) 2010-07-15
KR20100005211A (ko) 2010-01-14
BRPI0809668A2 (pt) 2014-10-07
CA2681210A1 (en) 2008-10-16
CN101658044B (zh) 2012-11-14
WO2008122956A2 (en) 2008-10-16
US20080253459A1 (en) 2008-10-16
US8275041B2 (en) 2012-09-25
KR101129972B1 (ko) 2012-03-26
CN101658044A (zh) 2010-02-24
WO2008122956A3 (en) 2008-12-24

Similar Documents

Publication Publication Date Title
BRPI0809668B1 (pt) vetores de movimento de alta precisão para codificação de vídeos com baixa complexidade de codificação e decodificação
CN108848380B (zh) 视频编码和解码方法、装置、计算机设备及存储介质
US9628816B2 (en) Motion prediction in video coding
CN108833918B (zh) 视频编码方法、解码方法、装置、计算机设备及存储介质
CN108833923B (zh) 视频编码、解码方法、装置、存储介质和计算机设备
US9426498B2 (en) Real-time encoding system of multiple spatially scaled video based on shared video coding information
TW201844004A (zh) 用於轉換係數寫碼之內容脈絡模型建立
JP2019530362A (ja) インター予測を介する画像符号化および復号のための方法および装置
JP7114153B2 (ja) ビデオエンコーディング、デコーディング方法、装置、コンピュータ機器及びコンピュータプログラム
US20240098298A1 (en) Segmentation-based parameterized motion models
CN108924553B (zh) 视频编码、解码方法、装置、计算机设备和存储介质
MX2007000254A (es) Metodo y aparato para utilizar tecnicas de conversion ascendente de indice de cuadro en codificacion de video que se puede escalar.
US10271062B2 (en) Motion vector prediction through scaling
US9277222B2 (en) Unified fractional search and motion compensation architecture across multiple video standards
TW201218775A (en) Video coding using vector quantized deblocking filters
US10419777B2 (en) Non-causal overlapped block prediction in variable block size video coding
US11323706B2 (en) Method and apparatus for aspect-ratio dependent filtering for intra-prediction
CN105103553A (zh) 用于可缩放视频译码的空间运动向量缩放
KR102407912B1 (ko) 양방향 인트라 예측 시그널링
JP7279084B2 (ja) イントラ予測のための方法及び装置
WO2023020588A1 (en) Template matching based motion vector refinement in video coding system
US20070110157A1 (en) Power optimized collocated motion estimation method
Koc et al. Motion compensation on DCT domain
CN117501688A (zh) 用于视频处理的方法、设备和介质
CN117678223A (zh) 视频处理的方法、装置和介质

Legal Events

Date Code Title Description
B25A Requested transfer of rights approved

Owner name: NOKIA TECHNOLOGIES OY (FI)

B15K Others concerning applications: alteration of classification

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

B06F Objections, documents and/or translations needed after an examination request according [chapter 6.6 patent gazette]
B06U Preliminary requirement: requests with searches performed by other patent offices: procedure suspended [chapter 6.21 patent gazette]
B09A Decision: intention to grant [chapter 9.1 patent gazette]
B09W Decision of grant: rectification

Free format text: DEVIDO A INCORRECAO NO NUMERO DA PETICAO.

B16A Patent or certificate of addition of invention granted

Free format text: PRAZO DE VALIDADE: 10 (DEZ) ANOS CONTADOS A PARTIR DE 28/07/2020, OBSERVADAS AS CONDICOES LEGAIS.