BR122019026393B1 - Codificação e decodificação de vídeo com resiliência de erro aprimorada - Google Patents

Codificação e decodificação de vídeo com resiliência de erro aprimorada Download PDF

Info

Publication number
BR122019026393B1
BR122019026393B1 BR122019026393-0A BR122019026393A BR122019026393B1 BR 122019026393 B1 BR122019026393 B1 BR 122019026393B1 BR 122019026393 A BR122019026393 A BR 122019026393A BR 122019026393 B1 BR122019026393 B1 BR 122019026393B1
Authority
BR
Brazil
Prior art keywords
motion information
predictors
motion vector
motion
predictor
Prior art date
Application number
BR122019026393-0A
Other languages
English (en)
Inventor
Christophe Gisquet
Guillaume Laroche
Original Assignee
Canon Kabushiki Kaisha
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 Canon Kabushiki Kaisha filed Critical Canon Kabushiki Kaisha
Publication of BR122019026393B1 publication Critical patent/BR122019026393B1/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/513Processing of motion vectors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/115Selection of the code volume for a coding unit prior to coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/146Data rate or code amount at the encoder output
    • H04N19/147Data rate or code amount at the encoder output according to rate distortion criteria
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/184Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being bits, e.g. of the compressed video stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/43Hardware specially adapted for motion estimation or compensation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • H04N19/517Processing of motion vectors by encoding
    • H04N19/52Processing of motion vectors by encoding by predictive encoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/573Motion compensation with multiple frame prediction using two or more reference frames in a given prediction direction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/65Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using error resilience
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
    • H04N19/89Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving methods or arrangements for detection of transmission errors at the decoder
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
    • H04N19/89Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving methods or arrangements for detection of transmission errors at the decoder
    • H04N19/895Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving methods or arrangements for detection of transmission errors at the decoder in combination with error concealment
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/91Entropy coding, e.g. variable length coding [VLC] or arithmetic coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • H04N19/137Motion inside a coding unit, e.g. average field, frame or block difference
    • H04N19/139Analysis of motion vectors, e.g. their magnitude, direction, variance or reliability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/189Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
    • H04N19/192Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding the adaptation method, adaptation tool or adaptation type being iterative or recursive
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

Trata-se de um método de codificação que compreende obter um número alvo de previsores de informações de movimento a serem usados por uma porção de imagem para codificar e gerar um conjunto de previsores de informações de movimento com o uso do número alvo obtido. O conjunto é gerado ao: obter um primeiro conjunto de previsores de informações de movimento, cada um associado a uma porção de imagem que tem uma relação espacial e/ou temporal predeterminada com a porção de imagem sendo codificada; modificar o primeiro conjunto de previsores de informações de movimento removendo previsores de informações de movimento de duplicata para obter um conjunto reduzido de previsores de informações de movimento contendo um primeiro número de previsores de informações de movimento, em que cada previsor de informações de movimento do conjunto reduzido é diferente de qualquer outro previsor de informações de movimento do conjunto reduzido; comparar o primeiro número de previsores de informações de movimento ao número alvo obtido, e, se o primeiro número for inferior ao número alvo, obter um previsor de informações de movimento adicional e adicionar o mesmo ao conjunto reduzido de previsores de informações de movimento.

Description

Campo da Invenção
[0001] A invenção refere-se a um método e a um dispositivo para codificar uma sequência de imagens digitais e a um método e a um dispositivo para decodificar um fluxo de bit correspondente.
[0002] A invenção pertence ao campo de processamento de sinal digital e, em particular, ao campo de compressão de vídeo com o uso de compensação de movimento para reduzir redundâncias temporais e espaciais em fluxos de vídeo. Descrição da Técnica Anterior
[0003] Muitos formatos de compressão de vídeo, por exemplo, H.263, H.264, MPEG-1, MPEG-2, MPEG-4, SVC, usam transformada de cosseno distinta à base de bloco (DCT) e compensação de movimento para remover redundâncias temporais e espaciais. Os mesmos podem ser chamados de formatos de vídeo preditivos. Cada quadro ou imagem do sinal de vídeo é dividido em fatias que são codificadas e podem ser decodificadas independentemente. Uma fatia é tipicamente uma porção retangular do quadro ou, mais geralmente, uma porção de um quadro ou todo um quadro. Adicionalmente, cada fatia é dividida em macroblocos (MBs), e cada macrobloco é adicionalmente dividido em blocos, tipicamente blocos de 8x8 pixels. Os quadros codificados são de dois tipos: quadros previstos temporais (previstos de um quadro de referência chamados de quadros P ou previstos de dois quadros de referência chamados quadros B) e quadros previstos não temporais (chamados de Intraquadros ou quadros I).
[0004] A previsão temporal consiste em encontrar, em um quadro de referência, um quadro prévio ou futuro da sequência de vídeo, uma porção de imagem ou área de referência que é a mais próxima do bloco para codificação. Essa etapa é conhecida como estimação de movimento. A seguir, a diferença entre o bloco para codificação e a porção de referência é codificada (compensação de movimento), junto com um item de informação de movimento em relação ao vetor de movimento que indica a área de referência para uso na compensação de movimento.
[0005] A fim de reduzir adicionalmente o custo de codificação de informação de movimento, foi proposta a codificação de um vetor de movimento pela diferença de um previsor de vetor de movimento, tipicamente computado a partir dos vetores de movimento dos blocos que circundam o bloco para codificação.
[0006] Em H.264, os vetores de movimento são codificados em relação a um previsor mediano computado a partir dos vetores de movimento situados em uma vizinhança causal do bloco para codificação, por exemplo, dos blocos situados acima e à esquerda do bloco para codificação. Apenas a diferença, também chamada de vetor de movimento residual, entre o previsor mediano e o vetor de movimento de bloco atual é codificada.
[0007] A codificação com o uso de vetores de movimento residuais economiza alguma taxa de bit, porém, necessita que o decodificador execute a mesma computação do previsor de vetor de movimento a fim de decodificar o valor do vetor de movimento de um bloco para decodificação.
[0008] Recentemente, aprimoramentos adicionais têm sido propostos, tal como o uso de uma pluralidade de previsores de vetor de movimento possíveis. Esse método, chamado de competição de vetor de movimento, consiste em determinar entre diversos previsores de vetor de movimento ou candidatos que o previsor de vetor de movimento minimiza o custo de codificação, tipicamente um custo de taxa de distorção, da informação de movimento residual. A informação de movimento residual compreende o vetor de movimento residual, isto é, a diferença entre o vetor de movimento real do bloco para codificação e o previsor selecionado de vetor de movimento, e um item de informação que indica o previsor de vetor de movimento selecionado, tal como, por exemplo, um valor codificado do índice do previsor selecionado de vetor de movimento.
[0009] Na Codificação de Vídeo Alta Eficiência (HEVC) atualmente no curso de padronização, tem sido proposto usar uma pluralidade de previsores de vetor de movimento conforme esquematicamente ilustrado na Figura 1: 3 denominados previsores espaciais de vetor de movimento V1, V2 e V3 tomados de blocos situados na vizinhança do bloco para codificação, um previsor mediano de vetor de movimento computado com base nos componentes dos três previsores espaciais de vetor de movimento V1, V2 e V3 e um previsor temporal de vetor de movimento V0 que é o vetor de movimento do bloco colocalizado em uma imagem anterior da sequência (por exemplo, bloco de imagem N-1 localizado na mesma posição espacial que bloco “que é codificado” de imagem N). Atualmente em HEVC os 3 previsores espaciais de vetor de movimento são tomados do bloco situado à esquerda do bloco para codificação (V3), o bloco situado acima (V2) e de um dos blocos situados nos respectivos cantos do bloco para codificação, de acordo com uma regra pré-determinada de disponibilidade. Esse esquema de seleção de previsor de vetor de movimento é chamado de Previsão de Vetor de Movimento Avançada (AMVP). No exemplo da Figura 1, o vetor V1 do bloco situado acima à esquerda é selecionado.
[0010] Finalmente, um conjunto de 5 candidatos de previsor de vetor de movimento que mistura previsores espaciais e previsores temporais é obtido. A fim de reduzir a sobrecarga de sinalização do previsor de vetor de movimento no fluxo de bit, o conjunto de previsores de vetor de movimento é reduzido através da eliminação dos vetores de movimento duplicados, isto é, os vetores de movimento que têm o mesmo valor. Por exemplo, na ilustração da Figura 1, V1 e V2 são iguais, e V0 e V3 também são iguais, então, apenas dois dos mesmos devem ser mantidos como candidatos de previsão de vetor de movimento, por exemplo, V0 e V1. Nesse caso, apenas um bit é necessário para indicar o índice do previsor de vetor de movimento para o decodificador.
[0011] Uma redução adicional do conjunto de previsores de vetor de movimento, com base nos valores dos previsores é possível. Uma vez que o melhor previsor de vetor de movimento é selecionado e o vetor de movimento residual é computado, é possível eliminar adicionalmente do conjunto de previsão os candidatos que não teriam sido selecionados, conhecendo o vetor de movimento residual e os critérios de otimização de custo do codificador. Uma redução suficiente do conjunto de previsores leva a um ganho na sobrecarga de sinalização, uma vez que a indicação do previsor selecionado de vetor de movimento pode ser codificada com o uso de menos bits. No limite, o conjunto de candidatos pode ser reduzido para 1, por exemplo, se todos os previsores de vetor de movimento forem iguais e, portanto, não é necessário inserir qualquer informação em relação ao previsor selecionado de vetor de movimento no fluxo de bit.
[0012] Para resumir, a codificação de vetores de movimento pela diferença com um previsor de vetor de movimento, junto com a redução do número de candidatos de previsor de vetor de movimento leva a um ganho de compressão. Entretanto, conforme explicado acima, para um determinado bloco para codificação, a redução do número de candidatos de previsor de vetor de movimento é baseada nos valores tomados pelos previsores de vetor de movimento do conjunto, em particular, os valores dos vetores de movimento dos blocos vizinhos e do vetor de movimento do bloco colocalizado. Ademais, o decodificador precisa ser capaz de aplicar a mesma análise do conjunto de previsores de vetor de movimento possíveis como o codificador, a fim de deduzir a quantidade de bits usados para indicar o previsor selecionado de vetor de movimento e para ser capaz de decodificar o índice do previsor de vetor de movimento e finalmente decodificar o vetor de movimento como o uso do vetor de movimento residual recebido. Em referência ao exemplo da Figura 1, o conjunto de previsores de vetor de movimento do bloco “que é codificado” é reduzido pelo codificador para V0 e V1, então, o índice é codificado em um único bit. Se o bloco “colocalizado” de imagem N-1 for perdido durante a transmissão, o decodificador não pode obter o valor de V0 e, portanto, não pode descobrir quais V0 e V3 são iguais. Portanto, o decodificador não descobrir quantos bits foram usados para codificar o índice do previsor de vetor de movimento para o bloco “que é codificado”, e consequentemente o decodificador não analisar corretamente os dados para a fatia, devido ao fato de que não descobrir aonde a codificação do índice para e a codificação de dados de vídeo começa.
[0013] Portanto, o fato de que o número de bits usados para sinalização dos previsores de vetor de movimento depende dos valores tomados pelos previsores de vetor de movimento torna o método muito vulnerável a erros de transmissão, quando o fluxo de bit é transmitido para um decodificador em uma rede com comunicação perdida. De fato, o método requer o conhecimento dos valores de previsores de vetor de movimento para analisar o fluxo de bit corretamente no decodificador. No caso de perdas de pacote, quando alguns valores de vetor de movimento residual são perdidos, é impossível que o decodificador determine quantos bits foram usados para codificar o índice que representa o previsor de vetor de movimento e, então, é impossível analisar o fluxo de bit corretamente. Tal erro pode se propagar ocasionando a dessincronização do decodificador até que uma imagem de sincronização seguinte, codificada sem previsão, seja recebida pelo decodificador.
[0014] Seria desejável pelo menos ser capaz de analisar um fluxo de bit codificado em um decodificador mesmo no caso de perdas de pacote, de modo que alguma ressincronização ou supressão de erro possa ser subsequentemente aplicada.
[0015] Foi proposto, no documento JCTVC-C166r1, “TE11: Study on vector of motion coding (experimentos 3.3a e 3.3c)” de K. Sato, publicado na 3a reunião da Joint Collaborative Team on Video Coding (JTC-VC) de Guangzhou, 7 a 15 de outubro de 2010, usar apenas os previsores espaciais de vetor de movimento que vêm da mesma fatia no conjunto de previsor. Essa solução resolve o problema de análise no decodificador no caso de perdas de fatia. Entretanto, a eficiência de codificação é significativamente diminuída, uma vez que o previsor temporal de vetor de movimento não é mais usado. Portanto, essa solução não é satisfatória em termos de desempenho de compressão.
Sumário da Invenção
[0016] É desejável abordar uma ou mais das desvantagens da técnica anterior.
[0017] De acordo com um aspecto da presente invenção, é fornecido um método de codificação de uma sequência de imagens digitais em um fluxo de bit, pelo menos uma porção de uma imagem é codificada por compensação de movimento em relação a uma porção de referência de imagem,
[0018] em que, para pelo menos uma porção de imagem para codificação, o método compreende as etapas de:
[0019] - obter um número alvo de previsores de informação de movimento para serem usados para a dita porção de imagem para codificar e
[0020] - gerar um conjunto de previsores de informação de movimento com o uso do número alvo obtido de previsores de informação de movimento;
[0021] e em que a etapa de geração compreende:
[0022] - obter um primeiro conjunto de previsores de informação de movimento associados a uma porção de imagem que tem uma relação temporal e/ou espacial pré-determinada com a dita porção de imagem que é codificada,
[0023] - modificar o dito primeiro conjunto de previsores de informação de movimento através da remoção de previsores duplicados de informação de movimento para obter um conjunto reduzido de previsores de informação de movimento que contém um primeiro número de previsores de informação de movimento, cada previsor de informação de movimento do dito conjunto reduzido é diferente de qualquer outra previsor de informação de movimento do dito conjunto reduzido
[0024] - após obter o dito conjunto reduzido de previsores de informação de movimento, comparar o dito primeiro número de previsores de informação de movimento com o dito número alvo obtido, e
[0025] -se o dito primeiro número for menor que o dito número alvo,
[0026] -obter um previsor de informação de movimento adicional, e
[0027] -adicionar o dito previsor de informação de movimento adicional ao dito conjunto reduzido de previsores de informação de movimento.
[0028] De acordo com um outro aspecto da presente invenção, é fornecido um método de decodificar um fluxo de bit que compreende uma sequência codificada de imagens digitais, pelo menos uma porção de uma imagem é codificada por compensação de movimento em relação a uma imagem de referência, em que, para pelo menos uma porção de imagem para decodificação, o método compreende as etapas de:
[0029] -obter um número alvo de previsores de informação de movimento para serem usados para a dita porção de imagem para decodificação e
[0030] -gerar um conjunto de previsores de informação de movimento com o uso do número alvo obtido de previsores de informação de movimento;
[0031] e em que a etapa de geração compreende:
[0032] -obter um primeiro conjunto de previsores de informação de movimento associado a uma porção de imagem que tem uma relação espacial e/ou temporal pré-determinada com a dita porção de imagem que é decodificada,
[0033] -modificar o dito primeiro conjunto de previsores de informação de movimento através da remoção de previsores duplicados de informação de movimento para obter um conjunto reduzido de previsores de informação de movimento que contém um primeiro número de previsores de informação de movimento, cada previsor de informação de movimento do dito conjunto reduzido é diferente de qualquer outra previsor de informação de movimento do dito conjunto reduzido
[0034] - após obter o dito conjunto reduzido de previsores de informação de movimento, comparar o dito primeiro número de previsores de informação de movimento com o dito número alvo obtido, e
[0035] - se o dito primeiro número for menor que o dito número alvo,
[0036] - obter um previsor de informação de movimento adicional, e
[0037] - adicionar o dito previsor de informação de movimento adicional ao dito conjunto reduzido de previsores de informação de movimento.
[0038] De acordo com um outro aspecto da presente invenção, é fornecido um dispositivo para codificar uma sequência de imagens digitais em um fluxo de bit, pelo menos uma porção de uma imagem é codificada por compensação de movimento em relação a uma porção de referência de imagem,
[0039] o dispositivo compreende:
[0040] - meio para obter um número alvo de previsores de informação de movimento para ser usado para uma porção de imagem para codificação e
[0041] - meio para gerar um conjunto de previsores de informação de movimento com o uso do número alvo obtido de previsores de informação de movimento;
[0042] e em que o meio de geração compreende:
[0043] - meio para obter um primeiro conjunto de previsores de informação de movimento associado a uma porção de imagem que tem uma relação espacial e/ou temporal pré-determinada com a dita porção de imagem que é decodificada,
[0044] - meio para modificar o dito primeiro conjunto de previsores de informação de movimento através da remoção de previsores duplicados de informação de movimento para obter um conjunto reduzido de previsores de informação de movimento que contém um primeiro número de previsores de informação de movimento, cada previsor de informação de movimento do dito conjunto reduzido é diferente de qualquer outra previsor de informação de movimento do dito conjunto reduzido
[0045] - meio operável, após obter o dito conjunto reduzido de previsores de informação de movimento, para comparar o dito primeiro número de previsores de informação de movimento com o dito número alvo obtido, e adicionalmente operável
[0046] - se o dito primeiro número for menor que o dito número alvo,
[0047] - obter um previsor de informação de movimento adicional, e
[0048] - adicionar o dito previsor de informação de movimento adicional ao dito conjunto reduzido de previsores de informação de movimento.
[0049] De acordo com um outro aspecto da presente invenção, é fornecido um método de decodificação de um fluxo de bit que compreende uma sequência codificada de imagens digitais, pelo menos uma porção de uma imagem é codificada por compensação de movimento em relação a uma imagem de referência, o dispositivo compreende:
[0050] - meio para obter um número alvo de previsores de informação de movimento para serem usados para uma porção de imagem para decodificação e
[0051] - meio para gerar um conjunto de previsores de informação de movimento com o uso do número alvo obtido de previsores de informação de movimento;
[0052] e em que o meio de geração compreende:
[0053] - meio para obter um primeiro conjunto de previsores de informação de movimento associado a uma porção de imagem que tem uma relação espacial e/ou temporal pré-determinada com a dita porção de imagem que é decodificada,
[0054] - meio para modificar o dito primeiro conjunto de previsores de informação de movimento através da remoção de previsores duplicados de informação de movimento para obter um conjunto reduzido de previsores de informação de movimento que contém um primeiro número de previsores de informação de movimento, cada previsor de informação de movimento do dito conjunto reduzido é diferente de qualquer outra previsor de informação de movimento do dito conjunto reduzido
[0055] - meio operável, após obter o dito conjunto reduzido de previsores de informação de movimento, para comparar o dito primeiro número de previsores de informação de movimento com o dito número alvo obtido, e adicionalmente operável
[0056] - se o dito primeiro número for menor que o dito número alvo,
[0057] - obter um previsor de informação de movimento adicional, e
[0058] - adicionar o dito previsor de informação de movimento adicional ao dito conjunto reduzido de previsores de informação de movimento.
[0059] Adicionalmente, os aspectos da presente invenção fornecem programas de computador que, quando operados em um computador, fazem com que o computador execute um método para codificar um sinal de vídeo digital conforme descrito acima ou um método para decodificar um fluxo de bit conforme descrito acima. Em cada caso, o programa de computador pode ser armazenado em um meio de armazenamento legível por computador.
[0060] De acordo com um outro aspecto da presente invenção, é fornecido um método de codificação de uma sequência de imagens digitais em um fluxo de bit, pelo menos uma porção de uma imagem é codificada por compensação de movimento em relação a uma porção de referência de imagem,
[0061] em que, para pelo menos uma porção de imagem para codificação, o método compreende as etapas de:
[0062] - obter um número alvo de previsores de informação de movimento para serem usados para a dita porção de imagem para codificar e
[0063] - obter um primeiro conjunto de previsores de informação de movimento associados a uma porção de imagem que tem uma relação temporal e/ou espacial pré-determinada com a dita porção de imagem que é codificada,
[0064] - eliminar duplicatas do dito primeiro conjunto de previsores de informação de movimento para obter um conjunto reduzido de previsores de informação de movimento que contém um primeiro número de previsores de informação de movimento, cada previsor de informação de movimento do dito conjunto reduzido é diferente de qualquer outra previsor de informação de movimento do dito conjunto reduzido
[0065] - após obter o dito conjunto reduzido de previsores de informação de movimento, comparar o dito primeiro número de previsores de informação de movimento com o dito número alvo obtido, e
[0066] - se o dito primeiro número for menor que o dito número alvo,
[0067] - obter um previsor de informação de movimento adicional, e
[0068] - adicionar o dito previsor de informação de movimento adicional ao dito conjunto reduzido de previsores de informação de movimento.
[0069] Em uma modalidade, os previsores de informação de movimento do dito conjunto reduzido são previsores reais de informação de movimento, que têm vetores de movimento obtido das porções de imagem da dita imagem que é codificada ou de uma imagem de referência, e o dito previsor de informação de movimento adicional é tal previsor real de informação de movimento adicional.
[0070] Em uma modalidade, os previsores de informação de movimento do dito conjunto reduzido são previsores reais de informação de movimento, que têm vetores de movimento obtido das porções de imagem da dita imagem que é codificada ou de uma imagem de referência, e o dito previsor de informação de movimento adicional é um previsor virtual de informação de movimento que não tem um vetor de movimento obtido de uma porção de imagem da dita imagem que é codificada ou de uma imagem de referência.
[0071] Em uma modalidade, o método compreende testar se o número de previsores de informação de movimento no dito conjunto reduzido é menor que o dito número alvo e, se sim, primeiro adicionar um ou mais dos ditos previsores reais de informação de movimento adicionais, então, testar novamente se o número de previsores de informação de movimento após adicionar os previsores reais de informação de movimento adicionais é menor que o dito número alvo e, se sim, adicionar um ou mais dos ditos previsores virtuais de informação de movimento.
[0072] De acordo com um outro aspecto da presente invenção, é fornecido um método de decodificação de um fluxo de bit que compreende uma sequência codificada de imagens digitais, pelo menos uma porção de uma imagem é codificada por compensação de movimento em relação a uma imagem de referência, em que, para pelo menos uma porção de imagem para decodificação, o método compreende as etapas de:
[0073] - obter um número alvo de previsores de informação de movimento para serem usados para a dita porção de imagem para decodificação e
[0074] - obter um primeiro conjunto de previsores de informação de movimento associado a uma porção de imagem que tem uma relação espacial e/ou temporal pré-determinada com a dita porção de imagem que é decodificada,
[0075] - eliminar duplicatas do dito primeiro conjunto de previsores de informação de movimento para obter um conjunto reduzido de previsores de informação de movimento que contém um primeiro número de previsores de informação de movimento, cada previsor de informação de movimento do dito conjunto reduzido é diferente de qualquer outra previsor de informação de movimento do dito conjunto reduzido
[0076] - após obter o dito conjunto reduzido de previsores de informação de movimento, comparar o dito primeiro número de previsores de informação de movimento com o dito número alvo obtido, e
[0077] - se o dito primeiro número for menor que o dito número alvo,
[0078] - obter um previsor de informação de movimento adicional, e
[0079] - adicionar o dito previsor de informação de movimento adicional ao dito conjunto reduzido de previsores de informação de movimento.
[0080] Em uma modalidade, os previsores de informação de movimento do dito conjunto reduzido são previsores reais de informação de movimento, que têm vetores de movimento obtidos das porções de imagem da dita imagem que é decodificada ou de uma imagem de referência, e o dito previsor de informação de movimento adicional é tal previsor real de informação de movimento adicional.
[0081] Em uma modalidade, os previsores de informação de movimento do dito conjunto reduzido são previsores reais de informação de movimento, que têm vetores de movimento obtidos das porções de imagem da dita imagem que é decodificada ou de uma imagem de referência, e o dito previsor de informação de movimento adicional é um previsor virtual de informação de movimento que não tem um vetor de movimento obtido de uma porção de imagem da dita imagem que é decodificada ou de uma imagem de referência.
[0082] Em uma modalidade, o método compreende testar se o número de previsores de informação de movimento in reduzido conjunto é menor que o dito número alvo e, se sim, primeiro adicionar um ou mais dos ditos previsores reais de informação de movimento adicionais, então, testar novamente se o número de previsores de informação de movimento após adicionar os previsores reais de informação de movimento adicionais é menor que o dito número alvo e, se sim, adicionar um ou mais dos ditos previsores virtuais de informação de movimento.
[0083] Adicionalmente, os aspectos da invenção fornecem um dispositivo correspondente para codificação, um dispositivo correspondente para decodificação e programas de computador correspondentes e meios de armazenamento legíveis por computador.
[0084] De acordo com um outro aspecto da presente invenção, é fornecido um método de codificação de uma sequência de imagens digitais em um fluxo de bit, pelo menos uma porção de uma imagem é codificada por compensação de movimento em relação a uma porção de referência de imagem,
[0085] em que, para pelo menos uma porção de imagem para codificação, o método compreende as etapas de:
[0086] - obter um número alvo de previsores de informação de movimento para serem usados para a dita porção de imagem para codificar e
[0087] - gerar um conjunto de previsores de informação de movimento, cada previsor de informação de movimento do conjunto gerado está associado a uma porção de imagem que tem uma relação espacial e/ou temporal pré-determinada com a dita porção de imagem que é codificada;
[0088] - eliminar duplicatas do conjunto gerado para obter um primeiro conjunto de previsores de informação de movimento que contém um primeiro número de previsores de informação de movimento, cada previsor de informação de movimento do primeiro conjunto é diferente de qualquer outro previsor de informação de movimento do primeiro conjunto;
[0089] - após obter o dito primeiro conjunto de previsores de informação de movimento, comparar o dito primeiro número de previsores de informação de movimento com o dito número alvo obtido, e
[0090] - se o dito primeiro número for menor que o dito número alvo,
[0091] - obter um previsor de informação de movimento adicional, e
[0092] - adicionar o dito previsor de informação de movimento adicional ao dito primeiro conjunto de previsores de informação de movimento.
[0093] Em uma modalidade, os previsores de informação de movimento do dito primeiro conjunto são previsores reais de informação de movimento, que têm vetores de movimento obtido das porções de imagem da dita imagem que é codificada ou de uma imagem de referência, e o dito previsor de informação de movimento adicional é tal previsor real de informação de movimento adicional.
[0094] Em uma modalidade, os previsores de informação de movimento do dito primeiro conjunto são previsores reais de informação de movimento, que têm vetores de movimento obtido das porções de imagem da dita imagem que é codificada ou de uma imagem de referência, e o dito previsor de informação de movimento adicional é um previsor virtual de informação de movimento que não tem um vetor de movimento obtido de uma porção de imagem da dita imagem que é codificada ou de uma imagem de referência.
[0095] Em uma modalidade, o método compreende testar se o número de previsores de informação de movimento no dito primeiro conjunto é menor que o dito número alvo e, se sim, primeiro adicionar um ou mais dos ditos previsores reais de informação de movimento adicionais, então, testar novamente se o número de previsores de informação de movimento após adicionar os previsores reais de informação de movimento adicionais é menor que o dito número alvo e, se sim, adicionar um ou mais dos ditos previsores virtuais de informação de movimento.
[0096] De acordo com um outro aspecto da presente invenção, é fornecido um método de decodificação de um fluxo de bit que compreende uma sequência codificada de imagens digitais, pelo menos uma porção de uma imagem é codificada por compensação de movimento em relação a uma imagem de referência, em que, para pelo menos uma porção de imagem para decodificação, o método compreende as etapas de:
[0097] - obter um número alvo de previsores de informação de movimento para serem usados para a dita porção de imagem para decodificação e
[0098] - gerar um conjunto de previsores de informação de movimento, cada previsor de informação de movimento do conjunto gerado está associado a uma porção de imagem que tem uma relação espacial e/ou temporal pré-determinada com a dita porção de imagem que é decodificada;
[0099] - eliminar duplicatas do conjunto gerado para obter um primeiro conjunto de previsores de informação de movimento que contém um primeiro número de previsores de informação de movimento, cada previsor de informação de movimento do primeiro conjunto é diferente de qualquer outro previsor de informação de movimento do primeiro conjunto;
[00100] - após obter o dito primeiro conjunto de previsores de informação de movimento, comparar o dito primeiro número de previsores de informação de movimento com o dito número alvo obtido, e
[00101] - se o dito primeiro número for menor que o dito número alvo,
[00102] - obter um previsor de informação de movimento adicional, e
[00103] - adicionar o dito previsor de informação de movimento adicional ao dito primeiro conjunto de previsores de informação de movimento.
[00104] Em uma modalidade, os previsores de informação de movimento do dito primeiro conjunto são previsores reais de informação de movimento, que têm vetores de movimento obtidos das porções de imagem da dita imagem que é decodificada ou de uma imagem de referência, e o dito previsor de informação de movimento adicional é tal previsor real de informação de movimento adicional.
[00105] Em uma modalidade, os previsores de informação de movimento do dito primeiro conjunto são previsores reais de informação de movimento, que têm vetores de movimento obtidos das porções de imagem da dita imagem que é decodificada ou de uma imagem de referência, e o dito previsor de informação de movimento adicional é um previsor virtual de informação de movimento que não tem um vetor de movimento obtido de uma porção de imagem da dita imagem que é decodificada ou de uma imagem de referência.
[00106] Em uma modalidade, o método compreende testar se o número de previsores de informação de movimento no dito primeiro conjunto é menor que o dito número alvo e, se sim, primeiro adicionar um ou mais dos ditos previsores reais de informação de movimento adicionais, então, testar novamente se o número de previsores de informação de movimento após adicionar os previsores reais de informação de movimento adicionais é menor que o dito número alvo e, se sim, adicionar um ou mais dos ditos previsores virtuais de informação de movimento.
[00107] Adicionalmente, os aspectos da invenção fornecem um dispositivo correspondente para codificação, um dispositivo correspondente para decodificação e programas de computador correspondentes e meios de armazenamento legíveis por computador.
[00108] Também é desejável fornecer um método que permite corrigir no decodificador mesmo no caso de um fluxo de bit corrompido pelas perdas de transmissão enquanto se mantém boa eficiência de compressão.
[00109] Em suma, a invenção se refere ao método de codificação de uma sequência de imagens digitais em um fluxo de bit, pelo menos uma porção de uma imagem é codificada por compensação de movimento em relação a uma porção de referência de imagem. O método compreende, para pelo menos uma porção de imagem para codificação, as etapas de:
[00110] - obter um número alvo de previsores de informação de movimento para serem usados para a dita porção de imagem para codificar, e
[00111] - gerar um conjunto de previsores de informação de movimento que consiste no dito número alvo de previsores de informação de movimento, cada previsor de informação de movimento do conjunto gerado é diferente de qualquer outro previsor de informação de movimento do conjunto gerado.
[00112] Vantajosamente, o método da invenção permite a determinação sistemática de um número alvo de previsores de informação de movimento para serem usados para informação de codificação de movimento, tal como um vetor de movimento, associado a uma porção de imagem, e a compressão é vantajosamente aprimorada através da geração de um conjunto de previsores de informação de movimento que são todos diferentes uns dos outros. A sobrecarga potencial de uso de um número alvo fixo de previsores de informação de movimento é compensada pela variedade de previsores selecionados que ajuda a aprimorar a taxa de compressão. O número alvo de diferentes previsores de informação de movimento é determinado e fixado independentemente dos valores reais dos itens de informação de movimento, tais como os vetores de movimento, selecionados como previsores de informação de movimento para a porção atual de imagem para codificação.
[00113] Uma modalidade da presente invenção é eficaz quando o número de previsores de informação de movimento que é inicialmente gerado é um anteriormente desconhecido, por exemplo, como quando AMVP é usado. Por exemplo, se a redução de um conjunto inicial for executada, e o número de previsores iniciais removidos pelo processo de redução for anteriormente desconhecido, uma modalidade da presente invenção pode ser usada para assegurar que o conjunto final de previsores de informação de movimento consiste no número alvo de previsores de informação de movimento.
[00114] De acordo com uma modalidade, o método de codificação compreende adicionalmente as etapas de:
[00115] - selecionar um previsor de informação de movimento para a dita porção de imagem para codificação a partir do dito conjunto gerado de previsores de informação de movimento, e
[00116] - codificar um item de informação representativo do dito previsor de informação de movimento selecionado com base no dito número alvo obtido.
[00117] Vantajosamente, um previsor de informação de movimento pode ser selecionado para um bloco atual para codificação e o previsor selecionado de vetor de movimento pode ser codificado dependendo do número de previsores de informação de movimento determinado. O número de previsores de informação de movimento pode ser sistematicamente recuperado pelo decodificador, de modo que o fluxo de bit codificado possa ser sistematicamente analisado em um decodificador mesmo no caso de perdas.
[00118] De acordo com uma modalidade, o item de informação representativo do dito previsor selecionado de vetor de movimento é um índice do previsor selecionado de vetor de movimento no conjunto gerado de previsores de informação de movimento, e o índice é codificado em um número de bits dependente do dito número alvo obtido.
[00119] De acordo com uma modalidade, na etapa de obtenção de um número alvo de previsores de informação de movimento para serem usados para a dita porção de imagem para codificação, o dito número alvo é definido como igual a um valor pré-determinado para qualquer porção de imagem para codificação da sequência de imagens digitais.
[00120] A vantagem desta modalidade é que o número alvo de previsores de informação de movimento pode ser facilmente obtido, sem qualquer computação suplementar ou sobrecarga de sinalização, tanto no codificador quanto no decodificador.
[00121] De acordo com uma outra modalidade, na etapa de obtenção de um número alvo de previsores de informação de movimento para serem usados para a dita porção de imagem para codificação, o dito número alvo é determinado, para uma determinada porção de imagem para codificação, dependendo de uma informação de codificação da dita determinada porção de imagem para codificação.
[00122] Vantajosamente, tal informação de codificação pode ser um parâmetro de codificação, tal como, por exemplo, se as imagens forem divididas em macroblocos de tamanho variável para processamento do tamanho do macrobloco ao qual a porção de imagem para codificação pertence. Tal informação de codificação também pode ser, por exemplo, um modo de codificação associado à porção de imagem para codificação.
[00123] De acordo com ainda um outro aspecto, a invenção se refere a um dispositivo para codificar uma sequência de imagens digitais em um fluxo de bit, pelo menos uma porção de uma imagem é codificada por compensação de movimento em relação a uma porção de referência de imagem. O dispositivo compreende, para pelo menos uma porção de imagem para codificação:
[00124] - meio para obter um número alvo de previsores de informação de movimento para serem usados para a dita porção de imagem para codificação, e
[00125] - meio para gerar um conjunto de previsores de informação de movimento que consiste no dito número alvo de previsores de informação de movimento, cada previsor de informação de movimento do conjunto gerado é diferente de qualquer outro previsor de informação de movimento do conjunto gerado.
[00126] De acordo com ainda um outro aspecto, a invenção também se refere a um produto de programa de computador que pode ser carregado em um aparelho programável, que compreende sequências de instruções para implantar um método para codificar uma sequência de imagens digitais conforme brevemente descrito acima, quando o programa é carregada em e executado pelo aparelho programável. Tal programa de computador pode ser transitório ou não transitório. Em uma implantação, o programa de computador pode ser armazenado em um meio portador legível por computador não transitório.
[00127] As características e vantagens particulares do dispositivo para codificar uma sequência de imagens digitais, do meio de armazenamento e do produto de programa de computador que são similares àquelas do método de codificação de sinal de vídeo digital, não são repetidas aqui.
[00128] De acordo com ainda um outro aspecto, a invenção também se refere a um método para decodificar um fluxo de bit que compreende uma sequência codificada de imagens digitais, pelo menos uma porção de uma imagem é codificada por compensação de movimento em relação a uma imagem de referência. Para pelo menos uma dita porção de imagem para decodificação, o método compreende as etapas de:
[00129] - obter um número alvo de previsores de informação de movimento para serem usados para a dita porção de imagem para decodificação, e
[00130] - gerar um conjunto de previsores de informação de movimento que consiste no dito número alvo de previsores de informação de movimento, cada previsor de informação de movimento do conjunto gerado é diferente de qualquer outro previsor de informação de movimento do conjunto gerado.
[00131] O método para decodificar um fluxo de bit tem a vantagem de permitir a determinação de um número alvo de previsores de informação de movimento e com o uso de tal número de previsores diferentes de informação de movimento. O número alvo de previsores de informação de movimento pode ser sistematicamente recuperado, e consequentemente o fluxo de bit pode ser analisado sistematicamente, mesmo no caso de erros de transmissão. Uma vantagem adicional é que em todos os casos, a análise do fluxo de bit é simples, e em particular mais simples que os métodos da técnica anterior que reduzem adaptativamente o número de previsores de informação de movimento em vez de usar um número alvo pré-determinado que pode ser obtido pelo decodificador.
[00132] De acordo com uma modalidade, o método compreende adicionalmente uma etapa de decodificação de um item de informação representativo de um previsor de informação de movimento selecionado para a dita porção de imagem parta decodificação com base no dito número alvo obtido.
[00133] Vantajosamente, no caso de uma codificação dependente do número de previsores de informação de movimento que foi aplicada no codificador, o item de informação representativo do previsor de informação de movimento selecionado para a dita porção de imagem para decodificação pode ser sistematicamente decodificado, mesmo no caso de erros de transmissão.
[00134] De acordo com ainda um outro aspecto, a invenção também se refere a um dispositivo para decodificar um fluxo de bit que compreende uma sequência codificada de imagens digitais, pelo menos uma porção de uma imagem é codificada por compensação de movimento em relação a uma porção de referência de imagem. O dispositivo compreende, para pelo menos uma dita porção de imagem para decodificação:
[00135] - meio para obter um número alvo de previsores de informação de movimento para serem usados para a dita porção de imagem para decodificação, e
[00136] - meio para gerar um conjunto de previsores de informação de movimento que consiste no dito número alvo de previsores de informação de movimento, cada previsor de informação de movimento do conjunto gerado é diferente de qualquer outro previsor de informação de movimento do conjunto gerado.
[00137] De acordo com ainda um outro aspecto, a invenção também se refere a um meio de armazenamento de informação que pode ser lido por um computador ou um microprocessador, esse meio de armazenamento é removível, e armazena instruções de um programa de computador para a implantação do método para decodificar um fluxo de bit conforme brevemente descrito acima.
[00138] De acordo com ainda um outro aspecto, a invenção também se refere a um produto de programa de computador que pode ser carregado em um aparelho programável, que compreende sequências de instruções para implantar um método para decodificar um fluxo de bit conforme brevemente descrito acima, quando o programa é carregado em e executado pelo aparelho programável. Tal programa de computador pode ser transitório ou não transitório. Em uma implantação, o programa de computador pode ser armazenado em um meio portador legível por computador não transitório.
[00139] As características e vantagens particulares do dispositivo para decodificar um fluxo de bit, do meio de armazenamento e do produto de programa de computador que são similares àquelas do método de codificação, não são repetidas aqui.
[00140] De acordo com um outro aspecto da presente invenção, é fornecido um método de codificação de uma sequência de imagens digitais em um fluxo de bit, pelo menos uma porção de uma imagem é codificada por compensação de movimento em relação a uma porção de referência de imagem, o método que compreende gerar um conjunto de previsores de informação de movimento que tem diversidade controlada e selecionar um previsor de informação de movimento para a dita porção de imagem para codificação a partir do dito conjunto gerado de previsores de informação de movimento.
[00141] Diversidade controlada significa que os previsores de informação de movimento de o conjunto são diferentes um do outro, mas um ou mais dos mesmos é estatisticamente provável de estar próximo à informação de movimento real de modo que um residual (diferença entre a informação de movimento real e o previsor em questão) é pequeno e, por conseguinte, eficientemente compressível.
[00142] O método pode compreender:
[00143] gerar primeiros previsores de informação de movimento;
[00144] identificar um ou mais primeiros previsores de informação de movimento como previsores de origem;
[00145] gerar um ou mais segundos previsores de informação de movimento com base nos previsores de origem; e
[00146] formar o dito conjunto de previsores de informação de movimento a partir dos primeiros e/ou segundos previsores de informação de movimento.
[00147] Nesse caso, os primeiros previsores de informação de movimento podem ser previsores esperados estatisticamente para gerar bons resultados em termos de eficiência de compressão. Os segundos previsores de informação de movimento, que são baseados nos primeiros previsores, podem, então, ser usados para explorar de uma maneira organizada ou sistemática outros previsores no espaço de previsor vizinho aos primeiros previsores. Tais previsores também podem ser esperados para gerar bons resultados e quanto mais previsores são examinados maior a chance de descobrir uma boa correspondência para a informação de movimento real.
[00148] Em uma modalidade, pelo menos um dos primeiros previsores de informação de movimento é identificado como tal previsor de origem com base em uma importância do primeiro previsor de informação de movimento em questão.
[00149] A importância pode ser dependente de um número de vezes que o primeiro previsor de informação de movimento em questão aparece dentre os primeiros previsores de informação de movimento. Quanto maior o número de vezes mais importante o previsor é considerado e mais provável que seja usado no conjunto. Assim como a observação de previsores idênticos (duplicatas), também pode ser eficaz para observar correspondências próximas também.
[00150] Alternativamente, a importância pode ser dependente de uma medição de quão representativo o primeiro previsor de informação de movimento em questão é dos primeiros previsores de informação de movimento como um todo. Por exemplo, se os primeiros previsores de informação de movimento forem ponderados, a diferença ou distância entre o previsor médio e um determinado primeiro previsor de informação de movimento é uma medição de quão representativo o determinado previsor é dos primeiros previsores de informação de movimento como um todo.
[00151] Uma maneira de controlar a diversidade é gerar pelo menos um dito segundo previsor de informação de movimento através adição ou subtração de um desvio de um dos ditos previsores de origem. O desvio pode ser fixado. Isso também poderia ser um valor pseudoaleatório desde que o mesmo valor de origem esteja disponível para o decodificador como para o codificador. Se os previsores de origem forem vetores, também é possível controlar a diversidade através da adição ao previsor de origem de um outro vetor, por exemplo, de magnitude fixa e direção pré- determinada em relação à direção do previsor de origem.
[00152] Uma pluralidade dos ditos segundos previsores de informação de movimento pode ser gerada com base no mesmo dito previsor de origem. Se os previsores de informação de movimento forem vetores que têm componentes X e Y, a pluralidade de segundos previsores de informação de movimento pode ser obtida através da adição e/ou subtração de desvios a/de um ou ambos os ditos componentes do mesmo dito previsor de origem. Por exemplo, o mesmo desvio pode ser adicionado e subtraído do mesmo previsor de origem. Se o previsor de origem for um vetor que tem componentes X e Y, existem inúmeras permutações de adição/subtração de desvios a/de um ou ambos os componentes X e Y do mesmo previsor de origem. Essa é uma maneira eficiente de gerar diversidade controlada sem uma grande sobrecarga de processamento.
[00153] Uma outra maneira de controlar a diversidade é gerar uma pluralidade de segundos previsores de informação de movimento através da formação da média de diferentes pares (ou outras combinações) de primeiros previsores de informação de movimento. Por exemplo, se os primeiros previsores de informação de movimento forem V1, V2 e V3, os três segundos previsores de informação de movimento poderiam ser formados a partir das médias de V1 & V2, V2 & V3 e V3 & V1. Também seria possível formar diferentes combinações ponderadas dos mesmos primeiros previsores de informação de movimento como segundos previsores de informação de movimento diferentes. Os primeiros previsores de informação de movimento podem ser ou incluir previsores de informação de movimento associados a uma porção de imagem que tem uma relação espacial e/ou temporal pré- determinada com a porção de imagem que é codificada. Por exemplo, os previsores de informação de movimento usados em AMVP podem ser os primeiros previsores de informação de movimento. Esses são uma boa fonte de previsores de origem.
[00154] Em uma outra modalidade, o método compreende:
[00155] gerar primeiros previsores de informação de movimento;
[00156] verificar as diferenças entre os primeiros previsores de informação de movimento gerados; e
[00157] excluir do dito conjunto de previsores de informação de movimento um ou mais primeiros previsores de informação de movimento com base nos diferenças.
[00158] Através da consideração das diferenças entre os primeiros previsores de informação de movimento, é possível controlar a diversidade de os previsores de informação de movimento de o conjunto. Não é necessário nesse caso identificar os previsores de origem dentre os primeiros previsores de informação de movimento e gerar os segundos previsores de informação de movimento com base nos previsores de origem. Isso pode ser eficaz, por exemplo, se um número suficientemente alto de primeiros previsores de informação de movimento estiver inicialmente disponível.
[00159] Por exemplo, um primeiro previsor de informação de movimento que tem a menor diferença de um outro primeiro previsor de informação de movimento pode ser removido, como uma maneira de controlar a diversidade. O processo pode ser repetido novamente, conforme necessário, para remover sucessivamente os previsores menos diversos.
[00160] É importante observar que nesse aspecto da invenção um número de previsores de informação de movimento no dito conjunto pode ser variável.
[00161] Entretanto, como no outro aspecto básico da presente invenção, o número de previsores de informação de movimento no dito conjunto pode ser pré- determinado pelo menos para uma determinada porção de imagem para codificação ou ainda para todas as porções de imagem (um número alvo). Isso torna possível não apenas alcançar a diversidade controlada dentre os previsores do conjunto, mas também resolver o problema de análise observado na introdução.
[00162] Esse aspecto da invenção também fornece um método correspondente de codificação e dispositivos de codificação e decodificação correspondentes, bem como programas que ocasionam a codificação e a decodificação.
[00163] De acordo com ainda um outro aspecto, a invenção se refere a um método de codificação de uma sequência de imagens digitais em um fluxo de bit, pelo menos uma porção de uma imagem é codificada por compensação de movimento em relação a uma porção de referência de imagem. O método compreende, para pelo menos uma porção de imagem para codificação, as etapas de:
[00164] - obter um primeiro conjunto de previsores de vetor de movimento para serem usados para a dita porção de imagem para codificação, e
[00165] - gerar um segundo conjunto de previsores de vetor de movimento do dito primeiro conjunto de previsores de vetor de movimento, cada previsor de vetor de movimento do conjunto gerado é diferente de qualquer outro previsor de vetor de movimento do segundo conjunto gerado de previsores de vetor de movimento, em que pelo menos um previsor de vetor de movimento do segundo conjunto é computado de um previsor selecionado de vetor de movimento do primeiro conjunto.
[00166] Vantajosamente, o segundo conjunto de previsores de vetor de movimento gerado é usado para codificar o vetor de movimento associado à porção de imagem para codificação. O segundo conjunto de previsores de vetor de movimento compreende uma variedade de diferentes previsores de vetor de movimento, que são gerados (e possivelmente selecionados) para intensificar a eficiência de compressão.
[00167] De acordo com uma modalidade, um previsor de vetor de movimento do primeiro conjunto é selecionado em uma etapa de seleção de acordo com um valor de importância.
[00168] De acordo com uma modalidade, o método de codificação compreende uma etapa de computação de um valor de importância associado a cada previsor de vetor de movimento do primeiro conjunto.
[00169] De acordo com uma modalidade, um previsor de vetor de movimento do primeiro conjunto é selecionado em uma etapa de seleção de acordo com uma distância dentre os previsores de vetor de movimento do primeiro conjunto.
[00170] As várias modalidades para selecionar um previsor de vetor de movimento para gerar adicionalmente previsores de vetor de movimento adicionais ou virtuais permitem aplicar uma seção de diversidade controlada, que tem a vantagem de aprimorar a eficiência de compressão. De fato, o uso de previsores de vetor de movimento computados de previsores de vetor de movimento importantes do conjunto inicial permitir representar mais precisamente o vetor de movimento da porção atual de imagem para codificação. Novamente, não é essencial ter um número alvo ou fixo de previsores no conjunto final.
[00171] De acordo com uma modalidade, os previsores de vetor de movimento do primeiro conjunto de previsores de vetor de movimento são vetores de movimento associados às porções de imagem para codificação da imagem que é codificada e/ou de uma imagem de referência. O primeiro conjunto pode ser constituído dos ou incluir os previsores usados em AMVP.
Breve Descrição dos Desenhos
[00172] Outras características e vantagens irão aparecer na seguinte descrição, que é dada apenas por meio de exemplo não limitante e feita em referência aos desenhos anexos, nos quais:
[00173] A Figura 1, já descrita, ilustra esquematicamente um conjunto de previsores de vetor de movimento usado em um esquema de previsão de vetor de movimento;
[00174] A Figura 2 é um diagrama de um dispositivo de processamento adaptado para implantar uma modalidade da presente invenção;
[00175] A Figura 3 é um diagrama de bloco de um codificador de acordo com uma modalidade da invenção;
[00176] A Figura 4 ilustra um diagrama de bloco de um decodificador de acordo com uma modalidade da invenção;
[00177] A Figura 5 detalha a determinação de um conjunto de previsores de vetor de movimento de acordo com uma primeira modalidade;
[00178] A Figura 6 detalha a determinação de um conjunto de previsores de vetor de movimento de acordo com uma segunda modalidade;
[00179] A Figura 7 ilustra esquematicamente um segundo conjunto de previsores de vetor de movimento,
[00180] A Figura 8 ilustra esquematicamente vetores de movimento em um sistema de coordenadas.
Descrição Detalhada das Modalidades
[00181] A Figura 2 ilustra um diagrama de um dispositivo de processamento 1000 adaptado para implantar uma modalidade da presente invenção. O aparelho 1000 é por exemplo, um microcomputador, uma estação de trabalho ou um dispositivo portátil leve.
[00182] O aparelho 1000 compreende um barramento de comunicação 1113 ao qual são de preferencia conectados:
[00183] - uma unidade de processamento central 1111, tal como um microprocessador, denotado como CPU;
[00184] - uma memória de apenas leitura 1107 capaz de conter programas de computador para implantar a invenção, denotada como ROM;
[00185] - uma memória de acesso aleatório 1112, denotada como RAM, capaz de conter o código executável do método da invenção bem como os registradores adaptados para registrar variáveis e parâmetros necessários para implantar o método de codificação de uma sequência de imagens digitais e/ou o método de decodificação de um fluxo de bit; e
[00186] - uma interface de comunicação 1102 conectada a uma rede de comunicação 1103 pela qual os dados digitais a serem processados são transmitidos.
[00187] Opcionalmente, o aparelho 1000 também pode ter os componentes a seguir:
[00188] - um meio de armazenamento de dados 1104 como um disco rígido, que tem a capacidade de conter os programas que implantam a invenção e dados usados ou produzidos durante a implantação da invenção;
[00189] -uma unidade de disco 1105 para um disco 1106, em que a unidade de disco é adaptada para ler dados provenientes do disco 1106 ou para gravar dados no dito disco;
[00190] -uma tela 1109 para exibir dados e/ou servir como uma interface gráfica com o usuário, por meio de um teclado 1110 ou qualquer outro meio de apontamento.
[00191] O aparelho 1000 pode ser conectado a vários periféricos, como, por exemplo, uma câmera digital 1100 ou um microfone 1108, em que cada um está conectado a um cartão de entrada/saída (não mostrado) de modo a fornecer dados multimídia para o aparelho 1000.
[00192] O barramento de comunicação proporciona comunicação e interoperabilidade entre os vários elementos incluídos no aparelho 1000 ou conectados ao mesmo. A representação do barramento não é um fator limitante e, em particular, a unidade central de processamento tem a capacidade de comunicar instruções para qualquer elemento do aparelho 1000 diretamente ou por meio de outro elemento do aparelho 1000.
[00193] O disco 1106 pode ser substituído por qualquer meio de informações como, por exemplo, um disco compacto (CD-ROM), regravável ou não, um disco ZIP ou um cartão de memória e, em termos gerais, por um meio de armazenamento de informações que pode ser lido por um microcomputador ou por um microprocessador, integrado ou não ao aparelho, possivelmente removível e adaptado para armazenar um ou mais programas cuja execução capacita o método de codificação de uma sequência de imagens digitais e/ou o método de decodificação de uma corrente de bit de acordo com a invenção a ser implantada.
[00194] O código executável pode ser armazenado em memória apenas para leitura 1107, no disco rígido 1104 ou em um meio digital removível como, por exemplo, um disco 1106 conforme anteriormente descrito. De acordo com uma variante, o código executável dos programas pode ser recebido por meio da rede de comunicação 1103, através da interface 1102, a fim de ser armazenado em um dos meios de armazenamento do aparelho 1000 antes de ser executado, como o disco rígido 1104.
[00195] A unidade central de processamento 1111 é adaptada para controlar e direcionar a execução das instruções ou porções de código de software do programa ou programas de acordo com a invenção, instruções que são armazenadas em um dos meios de armazenamento mencionados acima. Na inicialização, o programa ou programas que estão armazenados em uma memória não volátil, por exemplo, no disco rígido 1104 ou na memória apenas para leitura 1107, são transferidos para a memória de acesso aleatório 1112, que, então, contém o código executável do programa ou programas, bem como registros para armazenamento das variáveis e parâmetros necessários para implantar a invenção.
[00196] Nessa modalidade, o aparelho é um aparelho programável que usa software para implantar a invenção. No entanto, alternativamente, a presente invenção pode ser implantada em hardware (por exemplo, sob a forma de um Circuito Integrado de Aplicação Específica ou ASIC).
[00197] A Figura 3 ilustra um diagrama de bloco de um codificador de acordo com uma modalidade da invenção. O codificador é representado por módulos conectados, em que cada módulo está adaptado para implantar, por exemplo, sob a forma de instruções de programação a serem executadas pela CPU 1111 do dispositivo 1000, uma etapa correspondente de um método de implantação de uma modalidade da invenção.
[00198] Uma sequência original de imagens digitais i0 a in 301 é recebida como uma entrada pelo codificador 30. Cada imagem digital é representada por um conjunto de amostras, conhecido como pixels.
[00199] Uma corrente de bit 310 é emitida pelo codificador 30.
[00200] A corrente de bit 310 compreende uma pluralidade de fatias ou unidades de codificação, em que cada fatia compreende um cabeçalho de fatia para codificar valores de parâmetros de codificação usados para codificar a fatia e um corpo de fatia, que compreende dados de vídeo codificados.
[00201] As imagens digitais de entrada são divididas em blocos (302), em que os blocos são porções de imagem e podem ter tamanhos variáveis (por exemplo, 4x4, 8x8, 16x16, 32x32). Um modo de codificação é selecionado para cada bloco de entrada. Existem duas famílias de modos de codificação, codificação de previsão espacial ou Intracodificação, e codificação de previsão temporal ou Inter codificação. Os possíveis modos de codificação são testados.
[00202] O módulo 303 implanta Intraprevisão, na qual o dado bloco para codificar é previsto por um previsor computado de pixels das proximidades do dito bloco para codificar. Uma indicação do Intraprevisor selecionado e a diferença entre o dado bloco e seu previsor é codificada se a Intracodificação for selecionada.
[00203] A previsão temporal é implantada por módulos 304 e 305. Em primeiro lugar, uma imagem de referência dentre um conjunto de imagens de referência 316 é selecionada, e uma porção da imagem de referência, também denominada área de referência, que é a área mais próxima ao dado bloco para codificar, é selecionada pelo módulo de estimação de movimento 304. A diferença entre a área de referência selecionada e o dado bloco, também denominado um bloco residual, é computada pelo módulo de compensação de movimento 305. A área de referência selecionada é indicada por um vetor de movimento.
[00204] Informações relativas ao vetor de movimento e ao bloco residual são codificadas se a Interprevisão for selecionada. Para reduzir adicionalmente a taxa de bit, o vetor de movimento é codificado pela diferença em relação a um previsor de vetor de movimento. Um conjunto de previsores de vetor de movimento, também denominado previsores de informações de movimento, é obtido do campo de vetores de movimento 318 por um módulo de previsão e codificação de vetor de movimento 317.
[00205] Vantajosamente, o conjunto de previsores de vetor de movimento usado para selecionar um previsor de vetor de movimento mais satisfatório para codificar um vetor de movimento atual é gerado conforme explicado em maiores detalhes doravante em relação às Figuras 5 e 6. Para um dado bloco atual para codificar, um número predeterminado Nmax de previsores de vetor de movimento é definido, e, consequentemente, o índice do previsor de vetor de movimento selecionado, que é um item de informações representativo do previsor de vetor de movimento selecionado, pode ser codificado com o uso de um número predeterminado de bits. Esse número predeterminado de bits pode ser também recuperado pelo decodificador mesmo em caso de perdas, portanto, é assegurado que o decodificador terá a capacidade de analisar a corrente de bit mesmo em caso de erros ou perdas. O Nmax de previsores de vetor de movimento é selecionado de acordo com várias modalidades sendo todos diferentes entre si de modo a acentuar a eficácia de compressão.
[00206] A seleção do número predeterminado Nmax de previsores de vetor de movimento e do número correspondente de bits para codificar o índice do previsor de vetor de movimento pode ser aplicada à totalidade da sequência, ou a um grupo de imagens da sequência, ou no nível de bloco dependendo de parâmetros de codificação como o tamanho de bloco ou o modo de codificação. Por exemplo, um primeiro número predeterminado de previsores de vetor de movimento Nmax1 pode ser usado para os blocos codificados com o uso de Inter previsão pela qual um bloco residual é codificado, e um segundo número predeterminado previsores de vetor de movimento Nmax2 pode ser usado para os blocos codificados com o uso do modo SKIP, pelo qual apenas um vetor de movimento é codificado, mas sem bloco residual. Os respectivos número de previsores de vetor de movimento Nmax1 e Nmax2 podem ser, por exemplo, assinalados na corrente de bit inserindo-se os mesmos em um cabeçalho, como o cabeçalho de fatia, ou em qualquer campo de metadados apropriado.
[00207] O codificador 30 compreende, ainda, um módulo de seleção do modo de codificação 306, que usa um critério de custo de codificação, como um critério de distorção de taxa, para determinar qual é o modo mais satisfatório dentre o modo de previsão espacial e o modo de previsão temporal. Uma transformada 307 é aplicada ao bloco residual, os dados transformados obtidos são, então, quantizados pelo módulo 308 e codificados por entropia pelo módulo 309. Finalmente, o bloco residual codificado do bloco atual para codificar é inserido na corrente de bit 310, juntamente às informações relativas ao previsor usado. Para os blocos codificado no modo ‘SKIP’, apenas uma referência em relação ao previsor é codificada na corrente de bit, sem nenhum bloco residual.
[00208] O codificador 30 realiza adicionalmente a decodificação da imagem codificada a fim de produzir uma imagem de referência para a estimação de movimento das imagens subsequentes. O módulo 311 realiza quantização inversa dos dados quantizados, seguido por uma transformada inversa 312. O módulo de previsão de movimento reverso 313 usa as informações de previsão para determinar qual previsor usar para um dado bloco e o módulo de compensação de movimento reverso 314 adicionalmente realmente o residual obtido pelo módulo 312 à área de referência obtida do conjunto de imagens de referência 316. Opcionalmente, um filtro de remoção de bloco 315 é aplicado para remover os efeitos de remoção de bloco e acentuar a qualidade visual da imagem decodificada. O mesmo filtro de remoção de bloco é aplicado ao decodificador, de forma que, se não houver perda de transmissão, o codificador e o decodificador aplicam o mesmo processamento.
[00209] A Figura 4 ilustra um diagrama de bloco de um decodificador de acordo com uma modalidade da invenção. O decodificador é representado por módulos conectados, em que cada módulo está adaptada para implantar, por exemplo, sob a forma de instruções de programação a serem executadas pela CPU 1111 do dispositivo 1000, uma etapa correspondente de um método de implantação de uma modalidade da invenção.
[00210] O decodificador 40 recebe uma corrente de bit 401 que compreende unidades de codificação, em que cada uma é composta de um cabeçalho contendo informações sobre parâmetros de codificação e um corpo contendo os dados de vídeo codificados. Conforme explicado em relação à Figura 3, os dados de vídeo codificados são codificados por entropia, e os índices dos previsores de vetor de movimento são codificados, para um dado bloco, em um número predeterminado de bits. Os dados de vídeo codificados recebidos são decodificados por entropia (402), desquantizados (403) e, então, uma transformada reversa (404) é aplicada.
[00211] Em particular, quando os dados de vídeo codificados recebidos correspondem a um bloco residual de um bloco atual para decodificar, o decodificador também decodifica informações de previsão de movimento da corrente de bit, de modo a encontrar a área de referência usada pelo codificador.
[00212] O módulo 410 aplica a decodificação de vetor de movimento para cada bloco atual codificado por previsão de movimento, que compreende determinar o número Nmax de previsores de vetor de movimento usados e recuperar o índice de previsor de vetor de movimento codificado em inúmeros bits dependentes de Nmax. Similar ao módulo 317 da Figura 3, o módulo de decodificação de vetor de movimento 410 gera um conjunto de Nmax previsores de vetor de movimento. As modalidades explicadas doravante em relação às Figuras 5 e 6 se aplicam de modo similar. Se a corrente de bit é recebida sem perdas, o decodificador gera exatamente o mesmo conjunto de previsores de vetor de movimento que o codificador. Em caso de perdas, pode não ser possível gerar o conjunto de previsores de vetor de movimento e, portanto, decodificar corretamente o vetor de movimento associado ao bloco atual. No entanto, a análise da corrente de bit sempre é possível, mesmo em caso de perdas, visto que o número de bits usados para codificar o índice do previsor de vetores de movimento pode ser recuperado sistematicamente pelo decodificador.
[00213] Uma vez que o índice do previsor de vetor de movimento para o bloco atual foi obtido, se não houver perdas, o valor real do vetor de movimento associado ao bloco atual pode ser decodificado e usado para aplicar compensação de movimento reverso (406). A área de referência indicada pelo vetor de movimento decodificado é extraída de uma imagem de referência (408) para, finalmente, aplicar a compensação de movimento reverso 406.
[00214] Em caso de ser aplicada uma Intraprevisão, uma Intraprevisão inversa é aplicada pelo módulo 405.
[00215] Finalmente, é obtido um bloco decodificado. Um filtro de remoção de bloco 407 é aplicado, similarmente ao filtro de remoção de bloco 315 aplicado ao codificador. Um sinal de vídeo decodificado 409 é finalmente fornecido pelo decodificador 40.
[00216] A Figura 5 detalha a geração do conjunto de previsores de vetor de movimento ou candidatos de vetor de movimento em uma primeira modalidade da presente invenção. Todas as etapas do algoritmo representado na Figura 5 podem ser implantadas em software e executadas pela unidade central de processamento 1111 do dispositivo 1000.
[00217] A Figura 5 representa um fluxograma aplicado para um dado bloco atual para codificar, que tem um vetor de movimento associado que designa uma área de referência em uma imagem de referência.
[00218] Um conjunto inicial de previsores de vetor de movimento L1 é, em primeiro lugar, obtido na etapa S500. O conjunto L1 é composto por N candidatos. Em uma modalidade, o conjunto inicial de previsores de vetor de movimento compreende os candidatos de vetor de movimento selecionados de acordo com o esquema de previsão de vetor de movimento AMVP já descrito com referência à Figura 1, por exemplo, vetores V0 a V3 da Figura 1 e o vetor mediano computado de V1, V2 e V3. Consequentemente, N é um máximo de 5.
[00219] De preferência, o conjunto inicial de previsores de vetor de movimento L1 contém apenas vetores de movimento diferentes uns dos outros. Considerando o exemplo da Figura 1, apenas os vetores de movimento V0, V1 e o vetor mediano deveriam ser mantidos em L1, e o número de previsores de vetor de movimento é N=3.
[00220] Em uma modalidade alternativa, qualquer outro esquema para selecionar vetores de movimento já computados e para computar outros vetores de movimento daqueles disponíveis (isto é, média, mediana, etc) para formar o conjunto inicial de previsores de vetor de movimento L1 pode ser aplicado.
[00221] Em ainda outra modalidade alternativa, o conjunto inicial de previsores de vetor de movimento L1 está vazio e N=0.
[00222] Na etapa a seguir S502, o número alvo Nmax de previsores de candidato de vetor de movimentos para usar é obtido. Nmax pode ser predeterminado para toda a sequência de imagens digitais para codificar, por exemplo, Nmax=4, ou pode ser selecionado de acordo com parâmetros de codificação do bloco atual para codificar ou da unidade de codificação (por exemplo, a fatia) a qual o bloco atual para codificar pertence.
[00223] Por exemplo, o número Nmax pode ser dependente do tamanho da transformada aplicada ao macrobloco ao qual o bloco atual sendo processado pertence: por exemplo, Nmax= p para uma transformada aplicada em um bloco de 2p+1x2p+1.
[00224] Em uma modalidade, o número de bits k para usar para codificar o índice do previsor de vetor de movimento está diretamente relacionado a Nmax: k=INTsup(log2(Nmax)), onde INTsup(x) é o número inteiro imediatamente após o valor x. De preferência, Nmax deveria ser uma potência de 2, Nmax=2k, de modo a usar todos os índices que podem ser codificados em k bits. Vantajosamente, todos os bits usados para sinalizar são usados de modo a terem a capacidade de designar uma variedade de previsores de vetor de movimento e de aprimorar a compressão.
[00225] Alternativamente, qualquer tipo de codificação dos índices representativos dos previsores de vetor de movimento pode ser usado, após o número de diferentes previsores de vetor de movimento Nmax ser determinado. Em particular, qualquer tipo de codificação por entropia, como codificação Huffman ou codificação aritmética pode ser usado. Além disso, os índices podem ser também codificados com o uso de um código tipo prefixo, como um código de Rice-Golomb ou um unário.
[00226] Posteriormente, é testado na etapa S503 se o número N de previsores de vetor de movimento do conjunto L1 é superior a Nmax.
[00227] Em caso de resposta positiva, o teste S503 é seguida pela etapa S504 de seleção de um previsor de candidato de vetor de movimento de L1, seguido pela remoção do previsor de candidato de vetor de movimento selecionado de L1 na etapa S506 para formar um conjunto modificado de previsores de vetor de movimento L2.
[00228] A seleção da etapa S504 é aplicada de acordo com um critério de remoção, por exemplo, um critério de distância. Por exemplo, o conjunto L1 compreende previsores de vetores de movimento {VI,....,VN}, sendo que cada previsor de vetor de movimento é um vetor representado por seus componentes ou coordenadas no eixo geométrico X e no eixo geométrico Y em um sistema de coordenadas, conforme representado na Figura 8.
[00229] Em uma modalidade, a etapa S504 determina a distância entre cada vetor Vk e cada outro vetor Vn de L1 que não o próprio Vk, através da computação da distância como:
Figure img0001
onde |a| representa o valor absoluto de a. Considerando o exemplo da Figura 8, o vetor V tem as coordenadas (3,2), o vetor V’ tem as coordenadas (4,2) e V” tem as coordenadas (3,3). Nesse exemplo, d(V,V’)=d(V,V”)=1, então V’ e V” estão à mesma distância do vetor V, enquanto d(V’,V”)=2.
[00230] Qualquer outro tipo de métrica para o cálculo das distâncias pode ser alternativamente aplicado.
[00231] A distância mínima encontrada d(Vp,Vq) indica os dois vetores mais próximos Vp, Vq, dentre o conjunto L1, e, portanto, um desses dois vetores é selecionado para remoção. A seleção de um desses dois vetores pode ser baseada na distância de cada um dos mesmos em relação a vetores de previsão de movimento remanescentes no conjunto modificado L1: o vetor entre Vp e Vq que tem a menor distância até outro vetor do conjunto L1 é selecionado para remoção.
[00232] O efeito é assegurar que a distância entre os vetores remanescentes no conjunto modificado L2 seja máxima, de modo a permitir o uso de previsores de vetor de movimento tão variados ou diversos quanto for possível.
[00233] Após a remoção do vetor selecionado, o valor de N é diminuído (S508), e, então, N é comparado a Nmax (S510). Se o valor de N ainda não tiver alcançado Nmax (resposta ‘não’ ao teste S510), as etapas S504 a S510 são repetidas. Caso contrário, se N tiver alcançado Nmax, a etapa S510 é seguida pela etapa S522 doravante descrita.
[00234] Se a resposta ao teste S503 for ‘não’, então o teste S512 verifica se N é inferior a Nmax. No caso de resposta negativa, isto é, se N=Nmax, o teste S512 é seguida pela etapa S522 doravante descrita.
[00235] Se a resposta ao teste S512 for ‘sim’, isto é, se N é estritamente inferior a Nmax, então o teste S512 é seguida pela etapa S514 de obtenção ou geração de um previsor de candidato de vetor de movimento adicional. De fato, iniciando do conjunto inicial de previsores de vetor de movimento L1, é possível adicionar outros candidatos como previsores de vetor de movimento, em uma ordem predeterminada, para formar um conjunto modificado de previsores de vetor de movimento L2. Considerando o exemplo da Figura 7, os vetores de movimento dos blocos 710, 720, 730 e 740 podem ser adicionados como possíveis previsores de vetor de movimento. Adicionalmente, os 2 previsores dentre 770, 760, 750 que não foram selecionados em S500 podem ser adicionados como possíveis previsores de vetor de movimento.
[00236] Para cada previsor de candidato de vetor de movimento potencial MV, é verificado se o previsor de vetor de movimento MV é diferente de todos os candidatos de previsor de vetor de movimento já armazenados no conjunto L2.
[00237] Se cada candidato de vetor de movimento potencial considerado, como, por exemplo, os vetores de movimento dos blocos 710, 720, 730, 740, 750, 760 e 770 da Figura 7, for igual a um previsor de vetor de movimento do conjunto L2, novos candidatos de previsor de vetor de movimento ‘virtuais’ são computados na etapa S514.
[00238] Tais candidatos de previsor de vetor de movimento são denominados virtuais devido ao fato de que os mesmos não são vetores de movimento de outros blocos da imagem atual ou da imagem de referência. Os previsores de vetor de movimento virtuais são computados a partir de previsores de vetor de movimento existentes, por exemplo, adicionando-se desvios. Por exemplo, de um vetor de movimento MV do conjunto L2 de coordenadas (MVx, MVy), é possível computar quatro previsores de vetor de movimento virtuais através da adição/subtração de um desvio com a diminuição de suas coordenadas: MV’(MVx±off, MVy±off). Tipicamente, a diminuição pode ser definida com equivalência para 1 ou 2.
[00239] Alternativamente, outras modificações dos componentes do previsor de vetor de movimento MV para obter previsores de vetor de movimento virtuais podem ser aplicadas, de modo a obter diversos previsores de vetor de movimento iniciando dos previsores de vetor de movimento existentes a fim de aumentar a eficácia de compressão.
[00240] Por exemplo, os componentes do vetor de movimento MV podem ser modificados independentemente, com o uso, respectivamente, de dois valores offx e offy, e offx ou offy pode ser definido em 0.
[00241] Em uma modalidade, offx e offy são proporcionais ao componente correspondente: offx=aMVx e offy=bMVy com a e b tipicamente menor que 0,5. Se for necessário, as coordenadas modificadas MVx e MVy são arredondadas ao valor de número inteiro mais próximo, de modo a representar um deslocamento na grade de pixels.
[00242] Em uma modalidade, um vetor de movimento suplementar, de norma predeterminada, é adicionado ao vetor MV, em que o vetor suplementar tem a mesma direção que o vetor de movimento MV, conforme representado na Figura 8: o vetor suplementar 850 é adicionado ao vetor 820.
[00243] Em ainda outra modalidade alternativa, uma variância dos vetores de movimento do conjunto L2 é computada:
Figure img0002
onde MVX representa o valor médio das MVx coordenadas dos vetores de L2 e MV representa os valor médio das MVy coordenadas dos vetores de L2. Então, a diminuição de desvio é selecionada comparando-se o valor calculado var a um limiar predeterminado T. T pode ser igual a 50/L2. Se var for inferior a T, a diminuição de valor é pequena, por exemplo, diminuição=1; se var for superior a T, a diminuição é definida em um valor maior, por exemplo, diminuição=3. Adicionalmente, também nessa modalidade, um valor diferenciado offx ou offy pode ser computado para cada componente.
[00244] Um previsor de vetor de movimento obtido na etapa S514 é adicionado ao conjunto de previsores de vetor de movimento L2 na etapa S516, e o número N é aumentado em 1 (etapa S518).
[00245] Posteriormente, é verificado na etapa S520 se N é igual a Nmax. No caso de resposta negativa, as etapas S514 a S520 são repetidas.
[00246] Em caso de resposta positiva, o número alvo determinado de candidatos de previsor de vetor de movimento Nmax foi alcançado, e a etapa S520 é seguida, no codificador, pela etapa S522 de seleção de um previsor de vetor de movimento ideal para o bloco atual do conjunto L2. Por exemplo, um critério de otimização de distorção de taxa é aplicado para selecionar o previsor de vetor de movimento ideal MVi para codificar o vetor de movimento do bloco atual.
[00247] No codificador, o movimento residual, isto é, a diferença entre o vetor de movimento do bloco atual e o previsor de vetor de movimento selecionado é codificado, bem como uma indicação do previsor de vetor de movimento selecionado na etapa S524. Por exemplo, o índice i do previsor de vetor de movimento selecionado MVi de L2 é codificado, com o uso de k=INTsup(log2(Nmax)) bits.
[00248] Alternativamente, uma codificação por entropia do índice i pode ser aplicada.
[00249] Em ainda outra alternativa, o índice i pode ser codificado com o uso de um código tipo prefixo, como o código de Rice-Golomb, no qual cada valor i é codificado com o uso de i ‘1’s seguido por a ‘0’.
[00250] O algoritmo da Figura 5 pode ser também implantado por um decodificador para gerar o conjunto de previsor de vetor de movimento ou candidatos de vetor de movimento para um dado bloco, sem as etapas S522 e S524.
[00251] No decodificador, o índice i do previsor de vetor de movimento selecionado MVi para o dado bloco para decodificar é obtido da corrente de bit, conhecendo Nmax e, portanto, o número de bits k no qual o índice i foi codificado. As etapas S500 a S518 são similarmente implantadas para obter o conjunto de previsores de vetor de movimento L2, de modo que o índice i decodificado da corrente de bit designe o previsor de vetor de movimento realmente usado pelo codificador.
[00252] No caso de perdas durante transmissão, já que o número Nmax pode ser sistematicamente recuperado pelo decodificador, a corrente de bit recebida pode ser sistematicamente analisada para extrair o índice i que designa o previsor de vetor de movimento selecionado, mesmo se, dependendo da perda de pacotes, o conjunto completo de previsores de vetor de movimento L2 não puder ser obtido no decodificador.
[00253] A Figura 6 detalha a geração do conjunto de previsores de vetor de movimento ou candidatos de vetor de movimento em uma segunda modalidade da presente invenção. Todas as etapas do algoritmo representado na Figura 6 podem ser implantadas em software e executadas pela unidade central de processamento 1111 do dispositivo 1000.
[00254] A Figura 6 representa um fluxograma aplicado para um dado bloco atual para codificar, que tem um vetor de movimento associado que designa uma área de referência em uma imagem de referência.
[00255] Em primeiro lugar, similarmente à etapa S502 da Figura 5, o número alvo Nmax de candidatos de previsor de vetor de movimento para usar é determinado na etapa S600.
[00256] Em uma modalidade, Nmax está sob a forma 2k, de modo que cada valor de índice que pode ser codificado em k bits corresponda a um possível previsor de vetor de movimento.
[00257] Por exemplo, a fim de usar todos os previsores de vetor de movimento do esquema de AMVP que propõe 5 previsores de vetor de movimento, 3 bits são necessários para codificar o índice de um previsor de vetor de movimento. Nesse caso, de preferência, N max =23=8.
[00258] Um conjunto inicial de candidatos de previsor de vetor de movimento L1 é obtido na etapa S602. Por exemplo, o conjunto inicial de N=5 previsores de vetor de movimento de AMVP é selecionado.
[00259] Um processo de redução é aplicado ao conjunto inicial de previsores de vetor de movimento para eliminar duplicatas, de modo a obter um conjunto reduzido de previsores de vetor de movimento contendo N1 elementos. De preferência, o número de duplicatas de cada vetor remanescente após o processo de redução é registrado e armazenado em uma memória para um uso subsequente na etapa S612 doravante descrita.
[00260] Posteriormente, é verificado (teste S606) se N1 é superior a ou igual a Nmax, o número alvo de previsores de vetor de movimento. Pode ser apontado que uma resposta positiva a esse teste ocorre apenas se o algoritmo inicia com um primeiro conjunto de previsores de vetor de movimento, um número de vetores de movimento superior a Nmax. No caso de resposta positiva, a etapa S606 é seguida pela etapa S630 de seleção dos primeiros Nmax candidatos de previsor de vetor de movimento do conjunto L1 para formar o conjunto de previsores de vetor de movimento L2.
[00261] No caso de resposta negativa, isto é, se N1 for inferior a Nmax, o conjunto de previsores de vetor de movimento deve ser complementado com previsores de vetor de movimento adicionais.
[00262] Um segundo conjunto de candidatos de previsor de vetor de movimento L1’ é obtido na etapa S608.
[00263] O segundo conjunto de previsores de vetor de movimento L1’ é composto pelos previsores de vetor de movimento remanescentes do primeiro conjunto L1 e de vetores de movimento adicionais, por exemplo, correspondentes aos vetores de movimento do bloco 710, 720, 730 e 740 da imagem de referência conforme representado na Figura 7. Adicionalmente, os 2 previsores dentre 770, 760, 750 que não foram selecionados em S600 podem ser adicionados como possíveis previsores de vetor de movimento. Cada previsor de vetor de movimento do conjunto L1’ tem um índice correspondente.
[00264] Posteriormente, um processo de redução é aplicado ao segundo conjunto de previsores de vetor de movimento na etapa S610 para obter um segundo conjunto reduzido de previsores de vetor de movimento L1” de N2 vetores. O processo de redução elimina as duplicatas, de modo que todos os previsores de vetor de movimento de L1” sejam diferentes uns dos outros. O número de duplicatas de cada vetor mantido em L1” é registrado e armazenado em uma memória para um uso subsequente na etapa S612 doravante descrita.
[00265] Verifica-se, então, na etapa S628, se o número de previsores de vetor de movimento N2 é superior a ou igual a Nmax. No caso de resposta positiva, a etapa S628 é seguida pela etapa S630 já descrita.
[00266] No caso de resposta negativa, é necessário adicionar mais previsores de vetor de movimento ao segundo conjunto reduzido de previsores de vetor de movimento L1” para obter o conjunto final de Nmax previsores de vetor de movimento.
[00267] Após o teste S628, no caso de resposta negativa, um valor de importância é atribuído a cada previsor de candidato de vetor de movimento remanescente do segundo conjunto reduzido de previsores de vetor de movimento L1” na etapa S612.
[00268] Em uma modalidade alternativa, a etapa S612 segue diretamente o teste S606, no caso de resposta negativa ao teste S606.
[00269] O valor de importância é computado nessa modalidade como o número de duplicatas de um dado previsor de vetor de movimento, com o uso do número de duplicatas de um dado previsor de vetor de movimento computado e armazenado durante as etapas S604 e S610. Considerando o exemplo da Figura 1, dois vetores, V0 e V3, são iguais, então o vetor V0 tem um valor de importância igual a 2.
[00270] Em uma modalidade alternativa, o valor de importância pode ser computado como uma função da distância a um vetor representativo do conjunto de vetores considerado, como o valor médio dos vetores do conjunto ou a média dos vetores do conjunto. Então, a importância pode ser computada como o inverso da distância de um dado vetor do conjunto Vn ao vetor representativo: quanto mais próximo um vetor Vn estiver em relação ao vetor representativo do conjunto, maior a importância de Vn.
[00271] Então, os N2 candidatos de previsor de vetor de movimento remanescentes são ordenados na etapa S614 de acordo com uma ordem de valor de importância decrescente. Se diversos previsores de vetor de movimento têm o mesmo valor de importância, os mesmos podem ser ordenados de acordo com a ordem crescente de seus índices.
[00272] O previsores de vetor de movimento reordenados são reatribuídos a índices crescentes {VO,VI,...,VN2-I}.
[00273] Na etapa a seguir S616, uma variável n é inicializada em 0 e uma variável N é inicializada em N2, que o número atual de previsores de vetor de movimento no conjunto reordenado.
[00274] Posteriormente, na etapa S618 após a etapa S616, os candidatos de previsor de vetor de movimento virtuais são adicionados ao conjunto reordenado. Nessa modalidade, os previsores de vetor de movimento virtuais são computados dos previsores de vetor de movimento remanescentes, ordenados de acordo com sua importância. O previsor de vetor de movimento de índice n do conjunto reordenado, Vn de coordenadas (Vnx, Vny), é considerado. A lista a seguir de 8 previsores de vetor de movimento virtuais, definidos por suas coordenadas, pode ser computada de Vn, através da adição sucessiva de +off e -off a um ou às duas coordenadas de Vn: {(Vnx+off, Vny), (Vnx-off, Vny), (Vnx+off, Vny +off), (Vnx+off, Vny - off), (Vnx-off, Vny +off), (Vnx-off, Vny -off), (Vnx, Vny +off), (Vnx, Vny -off) }.
[00275] Qualquer computação alternativa dos previsores de vetor de movimento virtuais iniciando do previsor de vetor de movimento Vn, em particular, as alternativas descritas acima em relação à etapa S514 da Figura 5, pode ser usada.
[00276] Essa lista de previsores de vetor de movimento virtuais é adicionada ao conjunto atual de previsores de vetor de movimento.
[00277] As duplicatas são eliminadas na etapa S620.
[00278] O valor N é atualizado na etapa S622 em relação ao número de previsores de vetor de movimento remanescente após a remoção de potenciais duplicatas.
[00279] Posteriormente, é verificado se N é superior a ou igual a Nmax na etapa S624. No caso de resposta negativa, a etapa S624 é seguida pela etapa S634 de aumento do valor n em 1, e as etapas S618 a S624 são repetidas.
[00280] No caso de resposta positiva à etapa S624, suficientes previsores de vetor de movimento foram obtidos. A etapa S624 é seguida pela etapa S630 de seleção dos primeiros Nmax candidatos de vetor de movimento para constituir o conjunto final de previsores de vetor de movimento L2 de Nmax vetores.
[00281] No codificador, a etapa S630 é seguida pela etapa S632, análoga à etapa S522 da Figura 5, de seleção de um previsor de vetor de movimento ideal MVi dentre o conjunto de previsores de vetor de movimento para o bloco atual, de acordo com um critério predeterminado como um critério de distorção de taxa.
[00282] A etapa S632 é seguida pela etapa S634 de codificação do vetor de movimento do bloco atual com o uso do previsor de vetor de movimento MVi, similar à etapa S524 da Figura 5. Por exemplo, o índice i dos previsores de vetor de movimento MVi é codificado com o uso de k bits, sendo que k é computado de Nmax, k=INTsup(log2(N max)).
[00283] Alternativamente, uma codificação por entropia do índice i pode ser aplicada.
[00284] Em ainda outra alternativa, o índice i pode ser codificado com o uso de um código tipo prefixo, como o código de Rice-Golomb, no qual cada valor i é codificado com o uso de i ‘1’s seguido por um ‘0’.
[00285] O algoritmo da Figura 6 pode ser também implantado por um decodificador para gerar o conjunto de previsores de vetor de movimento ou candidatos de vetor de movimento para um dado bloco, exceto que as etapas S632 e S634 são omitidas no lado decodificador.
[00286] No decodificador, o índice i do previsor de vetor de movimento selecionado MVi para o dado bloco para decodificar é obtido da corrente de bit, conhecendo Nmax e, portanto, o número de bits k no qual o índice i foi codificado. As etapas S600 a S630 são similarmente implantadas para obter o conjunto de previsores de vetor de movimento L2, de modo que o índice i decodificado da corrente de bit designe o previsor de vetor de movimento realmente usado pelo codificador.
[00287] No caso de perdas durante transmissão, visto que o número Nmax pode ser sistematicamente recuperado pelo decodificador, a corrente de bit recebida pode ser sistematicamente analisada para extrair o índice i que designa o previsor de vetor de movimento selecionado, mesmo se, dependendo da perda de pacotes, o conjunto completo de previsores de vetor de movimento L2 não puder ser obtido no decodificador.
[00288] As modalidades descritas acima se baseiam em partições de imagens de entrada, mas, mais genericamente, qualquer tipo de porções de imagem para codificar ou decodificar e podem ser consideradas, em particular, porções retangulares ou, mais genericamente, porções geométricas.
[00289] Outras modalidades alternativas podem ser contempladas, como, por exemplo, iniciar com um grande conjunto de candidatos de previsor de vetor de movimento, que compreende um número de vetores N maior que o número alvo de previsores de vetor de movimento determinado Nmax, e aplicar um algoritmo tipo agrupamento para reduzir o conjunto de vetores. Por exemplo, uma partição de Voronoi pode ser aplicada para reduzir o conjunto em relação aos Nmax vetores mais representativos do conjunto de acordo com uma distância predefinida entre os vetores do conjunto.
[00290] Mais genericamente, qualquer modificação ou melhora das modalidades descritas acima, que um versado na técnica pode facilmente conceber deveria ser considerada como dentro do escopo da invenção.
[00291] O presente pedido reivindica a prioridade do Pedido de Patente No UK 1100462.9 depositado em 12 de janeiro de 2011, todo o conteúdo do mesmo está aqui incorporado a título de referência.

Claims (1)

1. Método de decodificação de uma corrente de bit compreendendo uma sequência codificada de imagens digitais, pelo menos uma porção de uma imagem sendo codificada pela compensação de movimento em relação a uma imagem de referência, o método compreendendo: obter, para uma porção de imagem a ser decodificada, um conjunto inicial de previsores de informações de movimento; testar se o número de previsores de informações de movimento no dito conjunto inicial é menor do que um número alvo, e, se for, adicionar um ou mais previsores de informações de movimento ao dito conjunto inicial para gerar um conjunto de previsores de informações de movimento diferente um do outro de modo a ter uma diversidade controlada e tendo um número de previsores de informações de movimento que é igual ao número alvo; e determinar um previsor de informações de movimento para decodificar informação de movimento da dita porção de imagem a ser decodificada usando o conjunto gerado de previsores de informações de movimento, em que os previsores de informações de movimento do dito conjunto inicial são previsores de informações de movimento reais, que têm vetores de movimento obtidos de porções de imagem da dita imagem sendo decodificada ou de uma imagem de referência, e previsores de informações de movimento potenciais para adição incluem um ou mais de tais previsores informações de movimento reais e também incluem um ou mais previsores de informações de movimento virtuais que não têm vetores de movimento obtidos de porções de imagem da dita imagem sendo decodificada ou de uma imagem de referência; caracterizado pelo fato de que a adição de um ou mais previsores de informações de movimento ao conjunto inicial compreende: realizar um primeiro processo de adição para adição ao dito conjunto inicial de um ou mais dos ditos previsores de informações de movimento reais para obter um segundo conjunto de previsores de informações de movimento; fazer um segundo teste de se o número de previsores de informações de movimento no dito segundo conjunto é menor que o número alvo e, se for, realizar um segundo processo de adição para adição de um ou mais dos ditos previsores de informações de movimento virtuais ao dito segundo conjunto.
BR122019026393-0A 2011-01-12 2012-01-11 Codificação e decodificação de vídeo com resiliência de erro aprimorada BR122019026393B1 (pt)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
GB1100462.9A GB2487200A (en) 2011-01-12 2011-01-12 Video encoding and decoding with improved error resilience
GB1100462.9 2011-01-12
BR112013016702-5A BR112013016702B1 (pt) 2011-01-12 2012-01-11 Método e dispositivo para codificação e decodificação de vídeo com resiliência de erro aprimorada
PCT/EP2012/050391 WO2012095466A1 (en) 2011-01-12 2012-01-11 Video encoding and decoding with improved error resilience

Publications (1)

Publication Number Publication Date
BR122019026393B1 true BR122019026393B1 (pt) 2022-05-24

Family

ID=43664110

Family Applications (2)

Application Number Title Priority Date Filing Date
BR122019026393-0A BR122019026393B1 (pt) 2011-01-12 2012-01-11 Codificação e decodificação de vídeo com resiliência de erro aprimorada
BR112013016702-5A BR112013016702B1 (pt) 2011-01-12 2012-01-11 Método e dispositivo para codificação e decodificação de vídeo com resiliência de erro aprimorada

Family Applications After (1)

Application Number Title Priority Date Filing Date
BR112013016702-5A BR112013016702B1 (pt) 2011-01-12 2012-01-11 Método e dispositivo para codificação e decodificação de vídeo com resiliência de erro aprimorada

Country Status (13)

Country Link
US (14) US11146792B2 (pt)
EP (10) EP2666294B1 (pt)
JP (12) JP5847843B2 (pt)
KR (15) KR101953520B1 (pt)
CN (17) CN106851308A (pt)
BR (2) BR122019026393B1 (pt)
ES (7) ES2835311T3 (pt)
GB (3) GB2487200A (pt)
HU (5) HUE046362T2 (pt)
PL (5) PL3550841T3 (pt)
RU (6) RU2556386C2 (pt)
TR (1) TR201907405T4 (pt)
WO (4) WO2012095465A1 (pt)

Families Citing this family (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101459714B1 (ko) * 2009-10-28 2014-11-13 에스케이텔레콤 주식회사 공간 분할을 이용한 움직임 벡터 부호화/복호화 방법 및 장치와 그를 이용한 영상 부호화/복호화 방법 및 장치
KR101768207B1 (ko) 2010-01-19 2017-08-16 삼성전자주식회사 축소된 예측 움직임 벡터의 후보들에 기초해 움직임 벡터를 부호화, 복호화하는 방법 및 장치
GB2487200A (en) 2011-01-12 2012-07-18 Canon Kk Video encoding and decoding with improved error resilience
GB2493755B (en) * 2011-08-17 2016-10-19 Canon Kk Method and device for encoding a sequence of images and method and device for decoding a sequence of images
GB2511288A (en) * 2013-01-09 2014-09-03 Canon Kk Method, device, and computer program for motion vector prediction in scalable video encoder and decoder
GB2512829B (en) 2013-04-05 2015-05-27 Canon Kk Method and apparatus for encoding or decoding an image with inter layer motion information prediction according to motion information compression scheme
CN103475883B (zh) * 2013-09-26 2016-07-06 北京航空航天大学 一种基于运动区域划分的hevc运动估计提前终止方法
CN104410864B (zh) * 2014-11-07 2018-08-14 太原科技大学 Hevc中基于残差能量的错误隐藏方法
US9955160B1 (en) * 2015-04-27 2018-04-24 Harmonic, Inc. Video encoding using adaptive pre-filtering
US9787987B2 (en) 2015-04-27 2017-10-10 Harmonic, Inc. Adaptive pre-filtering based on video complexity and output bit rate
US10271064B2 (en) * 2015-06-11 2019-04-23 Qualcomm Incorporated Sub-prediction unit motion vector prediction using spatial and/or temporal motion information
JP6727791B2 (ja) * 2015-11-05 2020-07-22 キヤノン株式会社 追尾制御装置および追尾制御方法、撮像装置
CN111526361B (zh) 2016-02-06 2022-05-13 华为技术有限公司 图像编解码方法及装置
DE102016223079B4 (de) * 2016-11-23 2024-03-28 Robert Bosch Gmbh Verfahren und Vorrichtung zur Ermittlung einer Zuordnung zwischen einem Matrixelement einer Matrix und einem Vergleichsmatrixelement einer Vergleichsmatrix mittels Korrespondenztabelle
US10735761B2 (en) * 2017-05-19 2020-08-04 Mediatek Inc Method and apparatus of video coding
CN109495738B (zh) * 2017-09-12 2023-02-07 华为技术有限公司 一种运动信息的编解码方法和装置
JP7250781B2 (ja) 2017-10-06 2023-04-03 ソシエテ・デ・プロデュイ・ネスレ・エス・アー 容器、調製マシン及び調製情報を符号化するための2値コードを使用するシステム
KR102486879B1 (ko) 2018-04-12 2023-01-11 삼성디스플레이 주식회사 디스플레이 장치 및 그 제조방법
CN118175325A (zh) 2018-08-28 2024-06-11 华为技术有限公司 候选运动信息列表的构建方法、帧间预测方法及装置
CN110868601B (zh) 2018-08-28 2024-03-15 华为技术有限公司 帧间预测方法、装置以及视频编码器和视频解码器
CN111083489B (zh) 2018-10-22 2024-05-14 北京字节跳动网络技术有限公司 多次迭代运动矢量细化
WO2020098644A1 (en) 2018-11-12 2020-05-22 Beijing Bytedance Network Technology Co., Ltd. Bandwidth control methods for inter prediction
JP7241870B2 (ja) 2018-11-20 2023-03-17 北京字節跳動網絡技術有限公司 部分的な位置に基づく差分計算
JP7433038B2 (ja) 2018-12-19 2024-02-19 キヤノンメディカルシステムズ株式会社 医用情報匿名化システム、及び匿名化方法設定装置
KR102635518B1 (ko) * 2019-03-06 2024-02-07 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 변환된 단예측 후보의 사용
KR102184913B1 (ko) * 2019-03-12 2020-12-01 한양대학교 산학협력단 원형의 직교 진폭 변조 신호 성상도를 생성하는 방법 및 장치
KR102220230B1 (ko) * 2019-06-21 2021-02-25 삼성전자주식회사 주변 움직임 정보를 이용하여 움직임 정보를 부호화 및 복호화하는 장치, 및 방법
EP3981157A4 (en) 2019-07-11 2022-07-06 Huawei Technologies Co., Ltd. MOTION FIELD STORAGE OPTIMIZATION FOR LINE BUFFER
WO2023194603A1 (en) * 2022-04-08 2023-10-12 Interdigital Ce Patent Holdings, Sas Motion information candidates re-ordering

Family Cites Families (108)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB1100461A (en) 1963-10-02 1968-01-24 Automatic Telephone & Elect Improvements in or relating to magnetic core matrix data storage devices
JP3265590B2 (ja) 1991-07-24 2002-03-11 松下電器産業株式会社 画像の動きベクトル検出装置及び画像揺れ補正装置
JPH0620050A (ja) * 1992-07-03 1994-01-28 Matsushita Electric Ind Co Ltd 動画像信号の復号化装置と推定動きベクトル算出方法
JPH0730896A (ja) 1993-06-25 1995-01-31 Matsushita Electric Ind Co Ltd 動きベクトル符号化及び復号化方法
US5552673A (en) 1994-10-04 1996-09-03 Kenwood; Michael Theft resistant compact fluorescent lighting system
US5675382A (en) * 1996-04-08 1997-10-07 Connectix Corporation Spatial compression and decompression for video
JP3263807B2 (ja) 1996-09-09 2002-03-11 ソニー株式会社 画像符号化装置および画像符号化方法
US6122320A (en) 1997-03-14 2000-09-19 Cselt-Centro Studi E Laboratori Telecomunicazioni S.P.A. Circuit for motion estimation in digitized video sequence encoders
US5978048A (en) * 1997-09-25 1999-11-02 Daewoo Electronics Co., Inc. Method and apparatus for encoding a motion vector based on the number of valid reference motion vectors
JPH11112985A (ja) 1997-09-29 1999-04-23 Sony Corp 画像符号化装置、画像符号化方法、画像復号装置、画像復号方法、および、伝送媒体
JP3407287B2 (ja) * 1997-12-22 2003-05-19 日本電気株式会社 符号化復号システム
JP2001520846A (ja) 1998-02-13 2001-10-30 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ ビデオ画像を符号化する方法及び装置
JP3841132B2 (ja) 1998-06-01 2006-11-01 株式会社ソニー・コンピュータエンタテインメント 入力位置検出装置及びエンタテインメントシステム
CN1288641A (zh) * 1998-09-22 2001-03-21 松下电器产业株式会社 视频信号编码方法、视频信号编码装置及程序记录媒体
US7327791B1 (en) 1999-02-22 2008-02-05 Mitsubishi Denki Kabushiki Kaisha Video decoding method performing selective error concealment and resynchronization
US6738423B1 (en) * 2000-01-21 2004-05-18 Nokia Mobile Phones Ltd. Method for encoding and decoding video information, a motion compensated video encoder and a corresponding decoder
US6552673B2 (en) 2000-02-25 2003-04-22 Texas Instruments Incorporated Efficient table access for reversible variable length code decoding using a hash function
EP1152621A1 (en) * 2000-05-05 2001-11-07 STMicroelectronics S.r.l. Motion estimation process and system.
US20050207663A1 (en) * 2001-07-31 2005-09-22 Weimin Zeng Searching method and system for best matching motion vector
US7787746B2 (en) 2001-10-23 2010-08-31 Thomson Licensing Fast motion trick mode using non-progressive dummy bidirectional predictive pictures
US20040125204A1 (en) 2002-12-27 2004-07-01 Yoshihisa Yamada Moving picture coding apparatus and moving picture decoding apparatus
US7248741B2 (en) 2002-01-09 2007-07-24 Hiroshi Akimoto Video sequences correlation and static analysis and scene changing forecasting in motion estimation
CN1897705A (zh) 2002-01-18 2007-01-17 株式会社东芝 视频编码方法和装置以及视频解码方法和装置
KR100492127B1 (ko) 2002-02-23 2005-06-01 삼성전자주식회사 적응형 움직임 추정장치 및 추정 방법
KR100474285B1 (ko) * 2002-04-08 2005-03-08 엘지전자 주식회사 모션벡터결정방법
ES2355656T3 (es) * 2002-04-18 2011-03-29 Kabushiki Kaisha Toshiba Procedimiento y aparato para decodificación de vídeo .
JP2004023458A (ja) * 2002-06-17 2004-01-22 Toshiba Corp 動画像符号化/復号化方法及び装置
US6925123B2 (en) * 2002-08-06 2005-08-02 Motorola, Inc. Method and apparatus for performing high quality fast predictive motion search
JP4617644B2 (ja) 2003-07-18 2011-01-26 ソニー株式会社 符号化装置及び方法
US7577198B2 (en) 2003-09-07 2009-08-18 Microsoft Corporation Number of reference fields for an interlaced forward-predicted field
US7620106B2 (en) 2003-09-07 2009-11-17 Microsoft Corporation Joint coding and decoding of a reference field selection and differential motion vector information
US8064520B2 (en) 2003-09-07 2011-11-22 Microsoft Corporation Advanced bi-directional predictive coding of interlaced video
CN1225127C (zh) * 2003-09-12 2005-10-26 中国科学院计算技术研究所 一种用于视频编码的编码端/解码端双向预测方法
CN100353768C (zh) 2003-11-26 2007-12-05 联发科技股份有限公司 在视频压缩系统中进行运动估测的方法及相关装置
MXPA06006117A (es) 2003-12-01 2006-08-11 Samsung Electronics Co Ltd Metodo y aparato de codificacion y decodificacion escalables de video.
KR101177663B1 (ko) 2004-02-27 2012-09-07 티디비전 코포레이션 에스.에이. 데 씨.브이. 입체적 3d-비디오 이미지 디지털 디코딩 시스템 및 방법
EP1578137A2 (en) 2004-03-17 2005-09-21 Matsushita Electric Industrial Co., Ltd. Moving picture coding apparatus with multistep interpolation process
US7676722B2 (en) 2004-03-31 2010-03-09 Sony Corporation Multimedia content delivery using pre-stored multiple description coded video with restart
KR100943591B1 (ko) 2004-07-20 2010-02-24 콸콤 인코포레이티드 움직임 벡터 처리를 위한 방법 및 장치
CN101005620B (zh) 2004-09-03 2011-08-10 微软公司 为隔行扫描和逐行扫描视频编码和解码宏块和运动信息中的革新
CN1256686C (zh) 2004-09-15 2006-05-17 哈尔滨工业大学 一种运动估计方法和应用该方法的运动估计电路
JP4746550B2 (ja) * 2004-09-22 2011-08-10 パナソニック株式会社 画像符号化装置
KR100679022B1 (ko) * 2004-10-18 2007-02-05 삼성전자주식회사 계층간 필터링을 이용한 비디오 코딩 및 디코딩방법과,비디오 인코더 및 디코더
US20060153300A1 (en) * 2005-01-12 2006-07-13 Nokia Corporation Method and system for motion vector prediction in scalable video coding
EP1703736A1 (en) 2005-03-14 2006-09-20 BRITISH TELECOMMUNICATIONS public limited company Global motion estimation
US20080310510A1 (en) 2005-03-22 2008-12-18 Mitsubishi Electric Corporation Image Coding, Recording and Reading Apparatus
KR100736041B1 (ko) 2005-06-30 2007-07-06 삼성전자주식회사 에러 은닉 방법 및 장치
RU2368095C1 (ru) 2005-07-22 2009-09-20 Мицубиси Электрик Корпорейшн Кодер изображения и декодер изображения, способ кодирования изображения и способ декодирования изображения, программа кодирования изображения и программа декодирования изображения и компьютерно-считываемый носитель записи, на котором записана программа кодирования изображения, и компьютерно-считываемый носитель записи, на котором записана программа декодирования изображения
JP2007067731A (ja) * 2005-08-30 2007-03-15 Sanyo Electric Co Ltd 符号化方法
JP2007074592A (ja) 2005-09-09 2007-03-22 Sony Corp 画像処理装置および方法、プログラム、並びに記録媒体
KR100712532B1 (ko) 2005-09-10 2007-04-30 삼성전자주식회사 단일표현과 다중표현 전환을 이용한 동영상 변환부호화장치 및 방법
US7620108B2 (en) 2005-09-16 2009-11-17 Sony Corporation Integrated spatial-temporal prediction
US20070064805A1 (en) 2005-09-16 2007-03-22 Sony Corporation Motion vector selection
US8165205B2 (en) 2005-09-16 2012-04-24 Sony Corporation Natural shaped regions for motion compensation
US8879857B2 (en) 2005-09-27 2014-11-04 Qualcomm Incorporated Redundant data encoding methods and device
JP2007097028A (ja) * 2005-09-30 2007-04-12 Oki Electric Ind Co Ltd 動きベクトル検出方法および動きベクトル検出回路
US8325822B2 (en) 2006-01-20 2012-12-04 Qualcomm Incorporated Method and apparatus for determining an encoding method based on a distortion value related to error concealment
JP5004150B2 (ja) 2006-02-24 2012-08-22 Kddi株式会社 画像符号化装置
US8320450B2 (en) 2006-03-29 2012-11-27 Vidyo, Inc. System and method for transcoding between scalable and non-scalable video codecs
JP5188033B2 (ja) 2006-04-24 2013-04-24 株式会社日立製作所 記録再生装置、送出装置及び伝送システム。
CN101064849A (zh) 2006-04-29 2007-10-31 鲁海宁 动态图像编码方法、装置和计算机可读记录介质
US20080002770A1 (en) 2006-06-30 2008-01-03 Nokia Corporation Methods, apparatus, and a computer program product for providing a fast inter mode decision for video encoding in resource constrained devices
CN100576919C (zh) 2006-08-08 2009-12-30 佳能株式会社 运动矢量检测设备及运动矢量检测方法
DE102006043707A1 (de) * 2006-09-18 2008-03-27 Robert Bosch Gmbh Verfahren zur Datenkompression in einer Videosequenz
CN101155311B (zh) 2006-09-27 2012-09-05 中兴通讯股份有限公司 一种视频通信中的视频码流错误检测和处理方法
KR101383540B1 (ko) 2007-01-03 2014-04-09 삼성전자주식회사 복수의 움직임 벡터 프리딕터들을 사용하여 움직임 벡터를추정하는 방법, 장치, 인코더, 디코더 및 복호화 방법
JP5026092B2 (ja) 2007-01-12 2012-09-12 三菱電機株式会社 動画像復号装置および動画像復号方法
JP2008193627A (ja) 2007-01-12 2008-08-21 Mitsubishi Electric Corp 画像符号化装置、画像復号装置、および画像符号化方法、画像復号方法
TW200836130A (en) 2007-02-16 2008-09-01 Thomson Licensing Bitrate reduction method by requantization
JP5025286B2 (ja) * 2007-02-28 2012-09-12 シャープ株式会社 符号化装置及び復号装置
CN101267567A (zh) 2007-03-12 2008-09-17 华为技术有限公司 帧内预测、编解码方法及装置
CN101682769B (zh) 2007-04-12 2016-11-09 汤姆森特许公司 用于视频编码和解码的跳过-直接模式的取决于环境的合并的方法和装置
JP2008283560A (ja) 2007-05-11 2008-11-20 Canon Inc 画像処理装置およびその方法
US8254450B2 (en) 2007-08-23 2012-08-28 Nokia Corporation System and method for providing improved intra-prediction in video coding
CN100542299C (zh) 2007-08-31 2009-09-16 广东威创视讯科技股份有限公司 视讯图像错误的掩盖方法
EP2048886A1 (en) * 2007-10-11 2009-04-15 Panasonic Corporation Coding of adaptive interpolation filter coefficients
CN100579231C (zh) 2007-12-18 2010-01-06 北京中星微电子有限公司 一种运动矢量预测方法及装置
CN101466036A (zh) * 2007-12-21 2009-06-24 北京中电华大电子设计有限责任公司 基于avs的运动矢量预测流水并行设计方法
EP2266318B1 (en) * 2008-03-19 2020-04-22 Nokia Technologies Oy Combined motion vector and reference index prediction for video coding
CN101252422B (zh) 2008-03-20 2013-06-05 中兴通讯股份有限公司 物理混合重传指示信道的分配方法
JP4990927B2 (ja) 2008-03-28 2012-08-01 三星電子株式会社 動きベクトル情報の符号化/復号化方法及び装置
US20090268821A1 (en) * 2008-04-29 2009-10-29 The Hong Kong University Of Science And Technology Block parallel and fast motion estimation in video coding
JP2010028221A (ja) 2008-07-15 2010-02-04 Sony Corp 動きベクトル検出装置、動きベクトル検出方法、画像符号化装置及びプログラム
US20100020877A1 (en) * 2008-07-23 2010-01-28 The Hong Kong University Of Science And Technology Multiple reference frame motion estimation in video coding
CN101350927B (zh) 2008-07-29 2011-07-13 北京中星微电子有限公司 帧内预测选择最优预测模式的方法及装置
JP5422168B2 (ja) * 2008-09-29 2014-02-19 株式会社日立製作所 動画像符号化方法および動画像復号化方法
JP5401071B2 (ja) 2008-10-09 2014-01-29 株式会社Nttドコモ 動画像符号化装置、動画像復号装置、動画像符号化方法、動画像復号方法、動画像符号化プログラム、動画像復号プログラム、動画像処理システムおよび動画像処理方法
EP2351373B1 (fr) 2008-10-14 2018-07-04 Orange Codage et decodage avec elimination d'un ou plusieurs predicteurs predetermines
WO2010067505A1 (ja) 2008-12-08 2010-06-17 パナソニック株式会社 画像復号化装置および画像復号化方法
KR101590511B1 (ko) * 2009-01-23 2016-02-02 에스케이텔레콤 주식회사 움직임 벡터 부호화/복호화 장치 및 방법과 그를 이용한 영상 부호화/복호화 장치 및 방법
US8737475B2 (en) 2009-02-02 2014-05-27 Freescale Semiconductor, Inc. Video scene change detection and encoding complexity reduction in a video encoder system having multiple processing devices
US8891628B2 (en) * 2009-06-19 2014-11-18 France Telecom Methods for encoding and decoding a signal of images, corresponding encoding and decoding devices, signal and computer programs
CN102883160B (zh) * 2009-06-26 2016-06-29 华为技术有限公司 视频图像运动信息获取方法、装置及设备、模板构造方法
KR20110008653A (ko) 2009-07-20 2011-01-27 삼성전자주식회사 움직임 벡터 예측 방법과 이를 이용한 영상 부호화/복호화 장치 및 방법
US9060176B2 (en) 2009-10-01 2015-06-16 Ntt Docomo, Inc. Motion vector prediction in video coding
US20110090965A1 (en) 2009-10-21 2011-04-21 Hong Kong Applied Science and Technology Research Institute Company Limited Generation of Synchronized Bidirectional Frames and Uses Thereof
CN101860754B (zh) * 2009-12-16 2013-11-13 香港应用科技研究院有限公司 运动矢量编码和解码的方法和装置
CN101777963B (zh) 2009-12-29 2013-12-11 电子科技大学 一种基于反馈模式的帧级别编码与译码方法
US9036692B2 (en) 2010-01-18 2015-05-19 Mediatek Inc. Motion prediction method
EP2532159A1 (en) * 2010-02-05 2012-12-12 Telefonaktiebolaget L M Ericsson (PUBL) Selecting predicted motion vector candidates
CN101931821B (zh) 2010-07-21 2014-12-10 中兴通讯股份有限公司 一种视频传输的差错控制方法及系统
US8736767B2 (en) 2010-09-29 2014-05-27 Sharp Laboratories Of America, Inc. Efficient motion vector field estimation
US10104391B2 (en) 2010-10-01 2018-10-16 Dolby International Ab System for nested entropy encoding
US20120082228A1 (en) * 2010-10-01 2012-04-05 Yeping Su Nested entropy encoding
US8976873B2 (en) 2010-11-24 2015-03-10 Stmicroelectronics S.R.L. Apparatus and method for performing error concealment of inter-coded video frames
JP5796289B2 (ja) 2010-11-26 2015-10-21 ソニー株式会社 二次電池セル、電池パック及び電力消費機器
GB2487200A (en) 2011-01-12 2012-07-18 Canon Kk Video encoding and decoding with improved error resilience
KR101889582B1 (ko) 2011-05-31 2018-08-20 선 페이턴트 트러스트 동화상 부호화 방법, 동화상 부호화 장치, 동화상 복호화 방법, 동화상 복호화 장치, 및, 동화상 부호화 복호화 장치

Also Published As

Publication number Publication date
CN106851310A (zh) 2017-06-13
WO2012095466A1 (en) 2012-07-19
WO2012095465A1 (en) 2012-07-19
KR20190044128A (ko) 2019-04-29
CN107454399A (zh) 2017-12-08
KR101798280B1 (ko) 2017-11-15
US20190098313A1 (en) 2019-03-28
KR101999091B1 (ko) 2019-07-10
JP2017143556A (ja) 2017-08-17
RU2015120774A (ru) 2015-11-20
KR20180030223A (ko) 2018-03-21
CN106851309A (zh) 2017-06-13
JP2014503157A (ja) 2014-02-06
EP3598756B1 (en) 2021-03-10
JP6779954B2 (ja) 2020-11-04
KR20150006021A (ko) 2015-01-15
JP5847844B2 (ja) 2016-01-27
KR20190014111A (ko) 2019-02-11
JP6165219B2 (ja) 2017-07-19
WO2013041244A1 (en) 2013-03-28
JP2018026826A (ja) 2018-02-15
KR102019640B1 (ko) 2019-09-06
JP5847845B2 (ja) 2016-01-27
CN106851308A (zh) 2017-06-13
GB2487261A (en) 2012-07-18
CN106210734B (zh) 2020-01-14
JP2019024241A (ja) 2019-02-14
BR112013016702B1 (pt) 2022-08-16
EP2664142B1 (en) 2016-12-28
EP3070944B1 (en) 2019-04-03
CN103314585A (zh) 2013-09-18
JP5847843B2 (ja) 2016-01-27
KR20130119467A (ko) 2013-10-31
KR20170128610A (ko) 2017-11-22
EP2666294B1 (en) 2016-05-18
RU2709158C1 (ru) 2019-12-16
JP2014506439A (ja) 2014-03-13
US20180242000A1 (en) 2018-08-23
CN107454398B (zh) 2020-03-03
RU2762933C2 (ru) 2021-12-24
KR101944289B1 (ko) 2019-01-31
RU2016136342A3 (pt) 2018-03-15
KR101953520B1 (ko) 2019-02-28
EP3244613A1 (en) 2017-11-15
KR20130119468A (ko) 2013-10-31
RU2013137437A (ru) 2015-02-20
ES2753760T3 (es) 2020-04-14
EP3550841B1 (en) 2020-10-07
EP3550841A1 (en) 2019-10-09
US9386312B2 (en) 2016-07-05
RU2600530C2 (ru) 2016-10-20
US20160277744A1 (en) 2016-09-22
US9979968B2 (en) 2018-05-22
GB201100462D0 (en) 2011-02-23
ES2583407T3 (es) 2016-09-20
RU2019137968A (ru) 2021-05-25
HUE049745T2 (hu) 2020-10-28
PL3518544T3 (pl) 2020-07-13
US20180241999A1 (en) 2018-08-23
KR20170128614A (ko) 2017-11-22
JP6513154B2 (ja) 2019-05-15
CN106210734A (zh) 2016-12-07
CN107105272A (zh) 2017-08-29
CN103329528B (zh) 2016-12-21
GB2487200A (en) 2012-07-18
HUE046362T2 (hu) 2020-03-30
KR20190021492A (ko) 2019-03-05
JP2014506440A (ja) 2014-03-13
KR101837803B1 (ko) 2018-03-12
PL3174297T3 (pl) 2021-03-08
CN107454398A (zh) 2017-12-08
JP2014503158A (ja) 2014-02-06
US20180316921A1 (en) 2018-11-01
JP2016054538A (ja) 2016-04-14
US20180352236A1 (en) 2018-12-06
GB201104032D0 (en) 2011-04-20
CN103314593B (zh) 2016-12-21
CN107529063A (zh) 2017-12-29
ES2835311T3 (es) 2021-06-22
JP6120900B2 (ja) 2017-04-26
HUE052346T2 (hu) 2021-04-28
KR101524394B1 (ko) 2015-05-29
KR101525341B1 (ko) 2015-06-02
CN107454423A (zh) 2017-12-08
EP3518544B1 (en) 2020-03-11
WO2012095464A1 (en) 2012-07-19
US10499060B2 (en) 2019-12-03
CN107105285A (zh) 2017-08-29
KR20150006014A (ko) 2015-01-15
US20130287112A1 (en) 2013-10-31
KR20180123186A (ko) 2018-11-14
US20130294521A1 (en) 2013-11-07
KR20150006015A (ko) 2015-01-15
EP3598756A1 (en) 2020-01-22
PL3070944T3 (pl) 2019-09-30
ES2726048T3 (es) 2019-10-01
EP3244613B1 (en) 2019-09-25
US20130287113A1 (en) 2013-10-31
US20130279596A1 (en) 2013-10-24
JP6545318B2 (ja) 2019-07-17
EP3070944A1 (en) 2016-09-21
KR20130105906A (ko) 2013-09-26
CN103314586B (zh) 2017-09-22
EP2664145A1 (en) 2013-11-20
CN106851307A (zh) 2017-06-13
CN103314586A (zh) 2013-09-18
EP3518544A1 (en) 2019-07-31
JP6336170B2 (ja) 2018-06-06
US20180242001A1 (en) 2018-08-23
RU2016136342A (ru) 2018-03-15
GB2487253A (en) 2012-07-18
KR101797805B1 (ko) 2017-11-14
ES2834135T3 (es) 2021-06-16
ES2615828T3 (es) 2017-06-08
ES2786998T3 (es) 2020-10-14
RU2556386C2 (ru) 2015-07-10
KR101943787B1 (ko) 2019-01-29
CN107529063B (zh) 2020-03-31
EP3174297A1 (en) 2017-05-31
EP3174297B1 (en) 2020-10-21
CN107483958A (zh) 2017-12-15
CN103329528A (zh) 2013-09-25
TR201907405T4 (tr) 2019-06-21
KR101918437B1 (ko) 2018-11-13
HUE052669T2 (hu) 2021-05-28
CN103314593A (zh) 2013-09-18
KR20170128613A (ko) 2017-11-22
US10165279B2 (en) 2018-12-25
BR112013016702A2 (pt) 2016-10-04
EP2666294A1 (en) 2013-11-27
US20190098314A1 (en) 2019-03-28
US11146792B2 (en) 2021-10-12
HUE043611T2 (hu) 2019-08-28
RU2019137968A3 (pt) 2021-05-25
JP2017201802A (ja) 2017-11-09
EP2664142A1 (en) 2013-11-20
PL3550841T3 (pl) 2021-04-06
US20210144385A1 (en) 2021-05-13
RU2651181C2 (ru) 2018-04-18
JP2015164322A (ja) 2015-09-10
KR101524393B1 (ko) 2015-05-29
KR101972030B1 (ko) 2019-04-24
US10609380B2 (en) 2020-03-31
US10506236B2 (en) 2019-12-10
JP2018152878A (ja) 2018-09-27
JP2016054539A (ja) 2016-04-14
KR20130105907A (ko) 2013-09-26
JP6207576B2 (ja) 2017-10-04
US20190098315A1 (en) 2019-03-28
RU2688252C1 (ru) 2019-05-21
GB201111866D0 (en) 2011-08-24
CN107105284A (zh) 2017-08-29
PL3244613T3 (pl) 2020-02-28
EP2664152A1 (en) 2013-11-20
CN107483958B (zh) 2020-03-03

Similar Documents

Publication Publication Date Title
BR122019026393B1 (pt) Codificação e decodificação de vídeo com resiliência de erro aprimorada
BR122020002131B1 (pt) Método e dispositivo para codificar e decodificar uma sequência de imagens e meio legível por computador
BR122020002130B1 (pt) Método e dispositivo para codificar e decodificar uma sequência de imagens e meio legível por computador
BR122020002129B1 (pt) Método e dispositivo para codificar e decodificar uma sequência de imagens e meio legível por computador
BR122020002128B1 (pt) Método e dispositivo para codificar e decodificar uma sequência de imagens e meio legível por computador

Legal Events

Date Code Title Description
B06U Preliminary requirement: requests with searches performed by other patent offices: procedure suspended [chapter 6.21 patent gazette]
B350 Update of information on the portal [chapter 15.35 patent gazette]
B15K Others concerning applications: alteration of classification

Free format text: AS CLASSIFICACOES ANTERIORES ERAM: H04N 19/139 , H04N 19/103 , H04N 19/176 , H04N 19/192 , H04N 19/46 , H04N 19/52 , H04N 19/65 , H04N 19/89

Ipc: H04N 19/139 (2006.01), H04N 19/103 (2006.01), H04N

B09A Decision: intention to grant [chapter 9.1 patent gazette]
B16A Patent or certificate of addition of invention granted [chapter 16.1 patent gazette]

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