BRPI0717889A2 - Equipamento e método de busca de quadro de referência reduzida em codificação de vídeo - Google Patents

Equipamento e método de busca de quadro de referência reduzida em codificação de vídeo Download PDF

Info

Publication number
BRPI0717889A2
BRPI0717889A2 BRPI0717889-1A BRPI0717889A BRPI0717889A2 BR PI0717889 A2 BRPI0717889 A2 BR PI0717889A2 BR PI0717889 A BRPI0717889 A BR PI0717889A BR PI0717889 A2 BRPI0717889 A2 BR PI0717889A2
Authority
BR
Brazil
Prior art keywords
frame
reference frames
frames
subset
sub
Prior art date
Application number
BRPI0717889-1A
Other languages
English (en)
Inventor
Serafim S Loukas Jr
Tao Tian
Vijayalakshmi R Raveendran
Original Assignee
Qualcomm Inc
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 Qualcomm Inc filed Critical Qualcomm Inc
Publication of BRPI0717889A2 publication Critical patent/BRPI0717889A2/pt

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/119Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/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
    • 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/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/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • 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/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/53Multi-resolution motion estimation; Hierarchical motion estimation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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/57Motion estimation characterised by a search window with variable size or shape
    • 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/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
    • 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

Landscapes

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

Description

"EQUIPAMENTO E MÉTODO DE BUSCA REDUZIDA DE QUADRO DE REFERÊNCIA EM CODIFICAÇÃO DE VÍDEO"
FUNDAMENTOS Campo
0 presente pedido se refere ao processamento de sinal de multimídia e, mais particularmente, à codificação de vídeo.
Fundamentos
Sistemas de processamento de multimídia tais como codificadores de vídeo, podem codificar dados de multimídia utilizando métodos de codificação baseados em padrões internacionais tais como os padrões MPEG-x e H.26x. Tais métodos de codificação geralmente se referem à compactação de dados de multimídia para transmissão e/ou armazenamento. A compactação é em termos amplos o processo de remover a redundância a partir dos dados.
Um sinal de vídeo pode ser descrito em termos de uma seqüência de imagens, que inclui quadros (uma imagem inteira), ou campos (por exemplo,, um fluxo de vídeo entrelaçado compreende campos de linhas alternadas ímpares ou pares de uma imagem) . Conforme aqui usado, o termo "quadro" é usado de forma ampla para se referir a uma imagem, um quadro ou um campo. Processadores de multimídia, tal como codificadores de vídeo, podem codificar um quadro mediante partição do mesmo em blocos ou "macroblocos", por exemplo, de 16x16 pixels. O codificador pode adicionalmente particionar cada macrobloco em sub-blocos. Cada sub-bloco pode compreender ainda sub-blocos adicionais. Por exemplo, os sub-blocos de um macrobloco podem incluir 16x8 e 8x16 sub-blocos. Os sub-blocos dos 8x16 sub-blocos podem incluir 8x8 sub-blocos, e assim por diante. Conforme aqui usado, o termo "bloco" se refere a um macrobloco ou a um sub-bloco. Métodos de codificação de vídeo compactam os sinais de vídeo mediante uso de algoritmos de compactação sem perda ou com perda para compactar cada quadro ou blocos do quadro. Codificação intra-quadro se refere ã codificação de um quadro utilizando dados a partir daquele quadro. Codificação inter-quadro se refere aos esquemas de codificação preditiva tais como os esquemas que compreendem codificar um quadro com base em outros quadros de "referência". Por exemplo, sinais de vídeo comumente exibem redundância temporal na qual os quadros próximos uns dos outros na seqüência temporal de quadros têm ao menos porções que combinam ou pelo menos parcialmente combinam umas com as outras. Os codificadores podem tirar proveito dessa redundância temporal para reduzir o tamanho dos dados codificados.
Os codificadores podem tirar proveito dessa redundância temporal mediante codificação de um quadro em termos da diferença entre o quadro e um ou mais quadros de referência. Por exemplo, os codificadores de vídeo podem usar algoritmos baseados em compensação de movimento que combinam os blocos do quadro sendo codificado com porções de um ou mais quadros diferentes. 0 bloco do quadro codificado pode ser deslocado no quadro em relação à porção de combinação do quadro de referência. Esse deslocamento é caracterizado por um vetor de movimento. Quaisquer diferenças entre o bloco e a porção de combinação parcial do quadro de referência podem ser caracterizadas em termos de um residual. 0 codificador pode assim codificar um quadro como dados que compreendem um ou mais dos vetores de movimento e residuais para um particionamento específico do quadro. Uma partição específica de blocos para codificar o quadro pode ser selecionada mediante minimização aproximada de uma função de custo que, por exemplo, equilibra o tamanho da codificação com distorção para o conteúdo do quadro resultante de uma codificação.
Os quadros de referência podem incluir um ou mais quadros anteriores do sinal de video ou um ou mais quadros que acompanham o quadro no sinal de video. 0 padrão H.2 64, por exemplo, especifica o uso de cinco quadros de referência na busca pelo quadro de melhor combinação. Em geral, a busca de mais quadros de referência aumenta a capacidade do codificador em encontrar porções de um dos quadros de referência que combina mais estreitamente com o bl oco do quadro sendo codificado. Melhores combinações têm uma menor diferença para codificar, o que geralmente resulta em uma codificação mais compacta. Contudo, para achar as porções de combinação do quadro de referência para um bloco, o codificador deve procurar cada um dos quadros de referência para cada bloco (por exemplo, macroblocos e sub-blocos) do quadro sendo codificado. Devido ao fato da porção de combinação poder ser deslocada, o codificador geralmente realiza um grande número de comparações para cada quadro de referência. Como resultado, codificar um quadro, particularmente com relação a um número de quadros de referência pode ser muito complexo em termos de computação desse modo impulsionando o tamanho, custo, e consumo de energia do codificador. Consequentemente, existe uma necessidade de se reduzir a complexidade da busca pelos quadros de referência nos codificadores de video.
SUMÁRIO
Os exemplos do sistema, método, e dispositivos aqui descritos têm individualmente vários aspectos, nenhum deles individualmente é o único responsável pelos seus atributos desejáveis. Sem limitar o escopo dessa invenção conforme expresso pelas reivindicações a seguir, suas características mais proeminentes serão discutidas agora resumidamente. Após considerar essa discussão, e particularmente após a leitura da seção intitulada "Descrição Detalhada", será entendido como as características reveladas proporcionam vantagens que incluem codificadores de vídeo mais eficientes, de menos
consumo de energia, e/ou mais rápidos.
Um aspecto compreende um método de processar dados de multimídia. 0 método compreende comparar uma porção de um quadro com uma pluralidade de quadros de referência. A porção do quadro compreende uma pluralidade
de sub-porções. O método compreende ainda selecionar um quadro de referência a partir da pluralidade de quadros de referência com base na comparação. O método compreende ainda processar ao menos uma das sub-porções com base no quadro de referência selecionado.
Outro aspecto compreende um equipamento para processar dados de multimídia. O equipamento compreende meio comparando uma porção de um quadro com uma pluralidade de quadros de referência. A porção do quadro compreende uma pluralidade de sub-porções. O equipamento compreende ainda
meio para selecionar um quadro de referência a partir da pluralidade de quadros de referência com base na comparação. 0 equipamento compreende ainda meio para processar ao menos uma das sub-porções com base no quadro de referência selecionado.
Outro aspecto compreende um equipamento para processar dados de multimídia. O equipamento compreende um comparador configurado para comparar uma porção de um quadro com uma pluralidade de quadros de referência. A porção do quadro compreende uma pluralidade de sub-porções.
O equipamento compreende ainda um seletor configurado para selecionar um quadro de referência a partir da pluralidade de quadros de referência com base na comparação. 0 equipamento compreende ainda um processador configurado para comparar ao menos uma das sub-porções com base no quadro de referência selecionado.
Um aspecto compreende um processador de dados de multimídia compreendendo uma configuração para comparar uma porção de um quadro com uma pluralidade de quadros de referência. A porção do quadro compreende uma pluralidade de sub-porções. A configuração adicionalmente é para selecionar um quadro de referência a partir da pluralidade de quadros de referência com base na comparação e processo de ao menos uma das sub-porções com base no quadro de referência selecionado.
Out ro aspecto compreende um meio legível por máquina compreendendo instruções para processar dados de multimídia. As instruções a partir da execução fazem com que uma máquina compare uma porção de um quadro com uma pluralidade de quadros de referência. A porção do quadro compreende uma pluralidade de sub-porções. As instruções a partir da execução fazem adicionalmente com que uma máquina selecione um quadro de referência a partir da pluralidade de quadros de referência com base na comparação e processem ao menos uma das sub-porções com base no quadro de referência selecionado.
BREVE DESCRIÇÃO DOS DESENHOS
A Figura 1 é um diagrama funcional de blocos ilustrando um sistema de comunicação de multimídia de acordo com um aspecto.
A Figura 2 ilustra graficamente porções de um
método de codificar uma porção de um quadro de vídeo em um sistema tal como ilustrado na Figura 1.
A Figura 3 é um gráfico de fluxo ilustrando um
exemplo de um método de codificar uma porção de um fluxo de vídeo em um sistema tal como ilustrado na Figura 1. A Figura 4 é um diagrama funcional de blocos ilustrando um exemplo de um equipamento para processar dados de vídeo de acordo com o método ilustrado na Figura 3.
A Figura 5 é um fluxograma ilustrando em mais
detalhe uma porção de um exemplo do método ilustrado na Figura 5.
A Figura 6 é um fluxograma ilustrando em mais detalhe uma porção de outro exemplo do método ilustrado na Figura 3.
A Figura 7 é um fluxograma ilustrando em mais detalhe uma porção de outro exemplo do método ilustrado na Figura 3.
DESCRIÇÃO DETALHADA
A descrição detalhada a seguir se refere a certos
aspectos específicos da invenção. Contudo, a invenção pode ser incorporada em diversas formas diferentes conforme definido e abrangido pelas reivindicações. Nessa descrição, faz-se referência aos desenhos em que partes semelhantes são designadas do princípio ao fim com numerais
semelhantes. Na descrição a seguir, são providos detalhes específicos para proporcionar um entendimento completo dos aspectos descritos. Contudo, será entendido por aqueles versados na técnica que os aspectos podem ser praticados sem esses detalhes específicos. Por exemplo, componentes
elétricos podem ser mostrados em diagramas de blocos para não obscurecer os aspectos com detalhe desnecessário. Em outros casos, tais componentes, outras estruturas, e técnicas, podem ser mostrados em detalhe para explicar adicionalmente os aspectos.
Além disso, deve ser reconhecido que dependendo da modalidade, certas ações ou eventos de quaisquer dos métodos, processos, diagramas de bloco, e gráficos de fluxo aqui descritos podem ser realizados em uma seqüência diferente, podem ser adicionados, fundidos, ou ignorados completamente (por exemplo, nem todas as ações ou eventos descritos são necessários para a prática do método). Além disso, em certas modalidades, ações ou eventos podem ser realizados simultaneamente, por exemplo, através de processamento de múltiplos fluxos de execução, processamento de interrupção, ou múltiplos processadores, mais propriamente do que seqüencialmente. Deve ser adicionalmente reconhecido que os métodos, processos, diagramas de blocos, e fluxogramas aqui descritos podem ser repetidos, quer seja integralmente ou parcialmente.
Os aspectos incluem sistemas e métodos de aperfeiçoar o processamento em um codificador em um sistema de transmissão de multimídia. Os dados de multimídia podem incluir um ou mais de filme cinematográfico, áudio, imagens estáticas, ou qualquer outro tipo adequado de dados audiovisuais. Aspectos incluem um equipamento e método de codificar dados de vídeo. Por exemplo, um aspecto compreende um método de busca de quadro de referência reduzida na codificação de vídeo. Tal aspecto compreende um método de busca de quadro de referência reduzida em um método de compensação de movimento. Especificamente, descobriu-se que buscar menos do que todo o conjunto de quadro de referência de acordo com um aspecto reduz convenientemente a complexidade computacional da busca de compensação de movimento sem um aumento substancial na quantidade de ruído ou distorção no quadro codificado.
A Figura 1 é um diagrama funcional de blocos ilustrando um sistema de comunicação de multimídia 100 de acordo com um aspecto. 0 sistema 100 inclui um dispositivo codificador 110 em comunicação com um dispositivo codificador 150 por intermédio de uma rede 140. Em um exemplo, o dispositivo codificador recebe um sinal de multimídia a partir de uma fonte externa 102 e codifica esse sinal para transmissão na rede 140.
Nesse exemplo, o dispositivo codificador 110 compreende um processador 112 acoplado a uma memória 114 e um transceptor 116. 0 processador 112 codifica os dados a partir da fonte de dados de multimídia e provê os mesmos ao transceptor 116 para comunicação através da rede 140.
Nesse exemplo, o dispositivo decodificador 150 compreende um processador 152 acoplado a uma memória 154 e um transceptor 156. 0 processador 152 pode incluir um ou mais de um processador de uso comum ou um processador de sinal digital. A memória 154 pode incluir um ou mais de meio de armazenamento baseado em disco ou de estado sólido. O transceptor 156 é configurado para receber dados de multimídia através da rede 140 e prover os mesmos ao processador 152 para decodificação. Em um exemplo, o transceptor 156 inclui um transceptor sem fio. A rede 140 pode compreender um ou mais de um sistema de comunicação cabeadc ou sem fio, incluindo um ou mais de uma Ethernet, telefone (por exemplo, POTS), cabo, linha de força, e sistemas de fibra ótica, e/ou um sistema sem fio compreendendo um ou mais de um sistema de comunicação de acesso múltiplo por divisão de código (CDMA ou CDMA2000), um sistema de acesso múltiplo por divisão de freqüência (FDMA), um sistema de acesso múltiplo por divisão de tempo (TDMA) tal como GSM/GPRS (Serviço de Rádio de Pacote Geral)/EDGE (ambiente GSM de dados otimizados), um sistema de telefone móvel TETRA (Rádio de Barramento Terrestre), um sistema de acesso múltiplo por divisão de código de banda larga (WCDMA), um sistema de taxa de dados elevada (IxEV-DO ou IxEV-DO Gold Multicast, um sistema IEEE 802.11, um sistema MediaFLO, um sistema DMB, ou um sistema DVB-H. A Figura 2 ilustra graficamente um aspecto de um método de codificar uma porção de um quadro de video em um sistema tal como ilustrado na Figura 1. Conforme ilustrado na Figura 2, um quadro 17 0 pode ser dividido em um número de macroblocos 171. Cada macrobloco 171 compreende um arranjo de pixels, por exemplo, um arranjo 16x16 de pixels do quadro 170. Adicionalmente, o codificador 110 pode particionar os macroblocos 171 em qualquer número de blocos menores tal como o sub-bloco 8x8 171a, ou o sub-bloco 4x4 171b. Opcionalmente, o codificador 110 pode variar os tamanhos de sub-bloco dentro do quadro 170 e/ou entre os quadros codificados 170. Coletivamente, os macroblocos 171 e as partições e macroblocos tais como sub-blocos 171a são referidos aqui como "blocos" e referidos coletivamente com referência ao item 171 da Figura 2.
Os quadros de video codificados 170 (ou blocos 171 dos quadros 170) podem ser codificados sem dependência em relação a outros quadros (por exemplo, intramodo) ou baseados de forma preditiva em outros quadros codificados (por exemplo, intermodo). 0 modo especifico de codificação usado para uma porção do quadro 170 pode ser referido como um "modo" (de codificação) . O codificador 110 pode codificar diferentes porções do quadro 170, por exemplo, diferentes blocos 171 ou sub-blocos 171, usando diferentes modos. Por exemplo, os algoritmos de compensação de movimento podem ser usados para codificar o quadro 17 0 ou um ou mais blocos 171 do quadro 170. Um exemplo do codificador 110 codifica o quadro 170 em termos de blocos que incluem blocos de tamanhos tais como 16x16, 16x8, 8x16, 8x8, 8x4, 4x8, 4x4 (mas outros tamanhos podem ser usados) . 0 quadro codificado 170 pode compreender uma partição do quadro 170 para um conjunto de blocos codificados 171 que codifica substancialmente todos os pixels do quadro 170. Os blocos codificados 171 podem ser de tamanhos diferentes e selecionados com base em uma função de custo que permite a comparação de diferentes estratégias de codificação com base em uma média ponderada de fatores tal como tamanho de dados codificados e distorção resultante da imagem.
Conforme assinalado acima, uma forma de predizer quadros de video é a de usar algoritmos de estimação de movimento que tiram proveito da redundância temporal em dados de video para codificar o quadro 170 com base ao menos parcialmente em blocos coincidentes 171 a partir de um quadro para outro quadro, por exemplo, um quadro de referência. Algoritmos de estimação de movimento identificam os blocos 176 em um ou mais quadros de referência 174 que são similares (por exemplo, ao menos parcialmente combinam) aos blocos 171 do quadro 170, mas possivelmente deslocados em localização no quadro codificado 174. Observar que em vários aspectos, algoritmos de estimação de movimento podem usar quadros de referência 174 que eram anteriores ao quadro atual 170 em tempo, posteriores ao quadro 170 em tempo, ou ambos. Os blocos 171 do quadro 170 são codificados em termos de um vetor de movimento indicativo de diferenças de posição entre o bloco 171 e o bloco 176 e dados residuais indicativos das diferenças entre os pixels do bloco 171 do quadro 170 em relação a um bloco de referência (por exemplo, bloco 176 de um quadro de referência 174c) encontrado em uma lista de um ou mais quadros de referência 174 (por exemplo, quadros de referência 174a, 174b, 174c, 174d, e 174e) . Os quadros de referência 174 podem ser uma lista ordenada de forma temporal dos quadros que estão antes ou após o quadro 170 no sinal de video. Conforme mostrado na Figura 2, o codificador 110 pode comparar o bloco 171a do quadro 170 10
com os quadros de referência 174 para identificar os blocos correspondentes tal como o bloco 176 no quadro 174c.
0 codificador 110 pode calcular os dados de compensação de movimento, por exemplo, vetores de movimento e residuais, para cada um de um qrupo de blocos tal como blocos 16x16, 16x8, 8x16, 8x8, 8x4, 4x8 e 4x4 (partições) dos blocos 171. 0 codificador 170 pode primeiramente calcular os dados de compensação de movimento para blocos maiores 171, por exemplo, 16x16, então para calcular os dados de compensação de movimento para cada sub-bloco dos blocos maiores, por exemplo, 16x8, 8x8, etc. 0 codificador 110 pode selecionar uma partição ou conjunto especifico dos blocos 171 de um ou mais tamanhos que cobrem substancialmente todo o quadro 170. 0 codificador 110 pode selecionar blocos específicos e dados preditivos
respectivos para cada porção do quadro 170 com base em uma função de custo, por exemplo, uma função de distorção de taxa (RD), que compreende uma medida dos equilíbrios entre tamanho de codificação e distorção com base no tamanho de dados de codificação de um quadro ou porção do quadro
usando um conjunto específico de vetores de movimento e residuais para um conjunto específico dos blocos do quadro e estimativas correspondentes da distorção de imagem resultante. Os codificadores 110 podem usar qualquer função de custo adequada, incluindo aquelas conhecidas na técnica.
Por exemplo, funções de custo adequadas são reveladas em " Rate-Constrained Coder Control and Comparison of Video Coding Standards", IEEE TRANSACTI0NS ON CIRCUITS AND SYSTEMS FOR VIDEO TECHNOLOGY, V0L.13, N°7, 688 (julho de 2003). As funções de custo podem compreender, por exemplo,
funções de distorção de taxa, menor resíduo, e/ou soma de funções de diferença absoluta (SAD). A Figura 3 é um fluxograma ilustrando um exemplo de um método 204 de codificação de dados de multimídia. 0 método começa em um bloco 222 no qual o codificador 110 compara um bloco de um quadro, por exemplo, o bloco 171a do quadro 17 0 conforme ilustrado na Figura 2, a cada um de uma lista de quadros de referência, por exemplo, quadros 174 da Figura 2 para identificar dados coincidentes para codificação do bloco 171a. 0 codificador 110 pode buscar cada um dos quadros de referência 174 no sentido de porções tal como o bloco 176 do quadro 174c que ao menos parcialmente combinam com o bloco 171a. A seguir, em um bloco 224, o codificador 110 seleciona um dos quadros de referência 174, por exemplo, o quadro de referência 174c, que tem a função de custo de codificação mais baixa para intervir no bloco 171a. Além disso, o codificador 110 pode opcionalmente selecionar um subconjunto dos quadros de referência 174 com base no quadro de referência selecionado. Por exemplo, o subconjunto pode incluir apenas o quadro de referência selecionado, por exemplo, o quadro de referência 174c. Em outro exemplo, no qual os quadros de referência 174 compreendem uma seqüência temporal de quadros 1 a Ν, o quadro de referência selecionado 174 é o quadro j na seqüência de modo que o subconjunto inclui os quadros de referência j-M a j+M, onde M é um número inteiro que parametriza o tamanho do subconjunto. Por exemplo, se M=I, então o subconjunto inclui quadros j-1 a j +1, por exemplo, o quadro de referência identificado e os quadros de referência adjacentes ao quadro de referência identificado nas séries de quadros de 1 a N. Deve ser reconhecido que M=I é apenas ilustrativo, e que aspectos podem usar outros valores do parâmetro de tamanho de subconjunto M. Além disso, deve ser reconhecido que a faixa pode ter um limite inferior do quadro na extremidade inferior da seqüência, por exemplo, o quadro identificado como Ieo limite superior do quadro na extremidade superior da seqüência, por exemplo, o quadro N.
A seguir, em um bloco 228, o codificador 110 processa ao menos uma das sub-porções, por exemplo, sub- blocos, com base no quadro de referência selecionado. 0 codificador pode processar os sub-blocos mediante comparação dos sub-blocos do quadro 170 com o quadro de referência selecionado para encontrar uma porção de combinação ao menos parcial 17 6 do quadro de referência 174. Por exemplo, o codificador 110 pode comparar cada sub- bloco do bloco 171a, por exemplo, sub-blocos de tamanho 16x8 e 8x16 apenas com o quadro de referência selecionado 174. Desse modo, o codificador 110 não precisa buscar todos os cinco quadros de referência 174 para codificar os sub- blocos, desse modo reduzindo a complexidade de processamento enquanto não aumentando substancialmente os efe itos de distorção.
Além di sso, o codificador também pode comparar os sub-blocos com um subconjunto dos quadros de referência 174 conforme discutido com referência ao bloco 224 do método. Por exemplo, se o quadro 174 se for identificado como o quadro de referência para o bloco 8x8 171a, o subconjunto dos quadros de referência podem compreender o quadro 174c ou uma faixa de quadros adjacentes ao quadro 174c em tempo, por exemplo, quadros 174b a 174d. Além disso, o codificador 110 pode ser configurado para realizar combinações de: buscar todos os quadros de referência, apenas um quadro de referência selecionado, ou apenas um subconjunto dos quadros de referência. 0 codificador 110 pode selecionar essas combinações com base, por exemplo, no tamanho dos blocos sendo buscados. As Figuras 5, 6 e 7 ilustram exemplos específicos de tais combinações. Descobriu-se que buscar menos do que todos os quadros de referência 174 de acordo com o método revelado acima reduz convenientemente a complexidade computacional da busca de compensação de movimento sem um aumento substancial na quantidade de ruido ou distorção no quadro codificado 170. O método 204 pode ser repetido para diferentes blocos ou sub-blocos 171 do quadro 170.
A Figura 4 é um diagrama de blocos ilustrando um exemplo de um equipamento para processar dados de video de acordo com o método ilustrado na Figura 3. Especificamente, a Figura 3 ilustra um exemplo do codificador 110. O codificador 100 compreende um módulo 302 para comparar uma porção de um quadro com uma pluralidade de quadros de referência, o módulo 304 para selecionar um quadro de referência a partir da pluralidade de quadros referenciados, e um módulo 306 para processar ao menos uma das sub-porções com base no quadro de referência selecionado. O módulo 302 para comparar uma porção de um quadro pode ser configurado para comparar uma porção de um quadro com uma pluralidade de quadros de referência. Por exemplo, o módulo 302 pode realizar as ações discutidas com referência ao bloco 222 da Figura 3. 0 módulo 304 para selecionar um quadro de referência pode ser configurado para selecionar um quadro de referência, por exemplo, 174c, a partir da pluralidade de quadros de referência 174 (vide Figura 2). Por exemplo, o módulo 304 pode realizar as ações discutidas com referência ao bloco 224 da Figura 3. O módulo 304 pode selecionar o quadro de referência 174 com base em uma função de custo conforme descrito acima. O módulo de seleção de quadro de referência 304 também pode ser configurado para selecionar um subconjunto dos quadros de referência com base no quadro de referência identificado, por exemplo, quadros j-1 a j+1, onde o quadro de referência é identificado como um quadro j em uma série de seqüência temporal dos quadros de referência. 0 módulo 306 para processar sub-porções do quadro pode ser configurado para processar ao menos uma das sub-porções com base no quadro de referência selecionado 174, por exemplo, o módulo 306 pode realizar as ações descritas com referência ao bloco 228 da Figura 3.
A Tabela 1, abaixo, ilustra os resultados simulados para um número de exemplos de métodos de codificação nos quais a busca dos quadros de referência 174 é reduzida para os blocos de busca de vários tamanhos. A Tabela 1 compara os custos de buscar todos os N quadros de referência para todos os tamanhos de bloco versus três exemplos dos métodos de busca de quadro de referência reduzida aqui revelados. A Tabela 1 compara taxas de bit, relação de sinal de pico/ruido (PSNR), e uma "penalidade", por exemplo, relação aumentada de sinal/ruido para métodos de busca reduzida, para um número de diferentes sinais de video a partir de animação, video de música, noticias, esportes em geral, canal de esportes a cabo, canal de filmes a cabo, e um sinal de televisão a cabo comum ou típico.
A Figura 5 é um fluxograma mostrando mais detalhe um primeiro exemplo do método 204 da Figura 3. Esse primeiro exemplo corresponde ao Exemplo A na Tabela 1 e compreende um método de reduzir os quadros de referência nos modos sub-8x8. Por exemplo, todos os N quadros de referência são buscados em 350 para codificação de dados para um sub-bloco 8x8. Um quadro de referência específico 174 é selecionado, por exemplo, quadro j com o valor de função de custo mais baixo para codificar o sub-bloco 8x8. Nos dados de simulação da Tabela 1, N é igual a cinco quadros de referência. A seguir, em 352, o codificador simulado 110 apenas busca o quadro selecionado j para codificação de dados para sub-blocos do bloco 8x8 (por exemplo, blocos 8x4, 4x4, 4x8).
A Figura 6 é um fluxograma mostrando em mais detalhe um segundo exemplo do método 204 da Figura 6. O
segundo exemplo corresponde ao Exemplo B na Tabela 1 e compreende um método de prover uma redução dos quadros de referência buscados para codificação de dados para blocos 16x8 e blocos 8x16. Por exemplo, em 360, o codificador 110 busca N quadros de referência no sentido de codificação de
dados para um bloco 16x16 e identifica o quadro j como proporcionando um valor baixo de uma função de custo para codificação do bloco 16x16. O valor mais baixo pode ser o valor de custo calculado mais baixo. A seguir, em 362, para os sub-blocos 16x8 e 8x16 do bloco 16x16, o codificador 110
apenas busca o quadro de referência selecionado j para codificação de dados. A Figura 7 é um fluxograma mostrando mais detalhe um terceiro exemplo do método 204 da Figura 3. O terceiro exemplo corresponde ao Exemplo C e compreende um método de reduzir os quadros de referência usados para
codificar os blocos 16x8, 8x16, 8x8 e blocos sub-8x8. 0 método do Exemplo C inclui as ações associados com os itens 360 e 362 da Figura 6 para reduzir a busca para blocos 16x8 e 8x16 mediante busca apenas do quadro de referência selecionado j. A seguir, após computar o custo de
codificação baseado nos quadros de referência reduzida para os blocos 16x8 e 8x16 em 362, para cada um dos sub-blocos 8x8 dos blocos 16x8 e blocos 8x16, o codificador 110 busca, em 374 na Figura 6, um conjunto de quadros de referência temporariamente adjacentes ao quadro de referência
selecionado j, por exemplo, dentro de um quadro para os sub-blocos 8x8, quadros a partir de max(0, j-1) para min(N, j + 1) - Movendo-se para 378, o codificador 110 seleciona o quadro de referência i tendo o custo de codificação mais baixo para cada bloco 8x8. A seguir, em 380, para os sub- blocos do bloco 8x8, o codificador 110 busca apenas o quadro de referência i para codificação de dados.
Os dados de simulação na Tabela 1 foram gerados supondo codificação adaptativa de quadro e faixa de busca de 32x32 pixels.
Tabela 1. Tipo de Conteúdo Buscar todos os N quadros de referência Exemplo A Exemplo AeB Exemplo C Animação Taxa de Bits (kpbs) 224.1024 223.9125 223.4455 223 . 8705 PSNR (dB) 36.48065 36.40682 36.36378 36.26227 Penalida de (dB) 0 0.070032 0.103732 0.213742 Música Taxa de Bits (kpbs) 242.9459 241.1545 240.2382 240.4 PSNR (dB) 36.12607 36.00855 35.93545 35.8716 Penalida de (dB) 0 0. 081692 0.136466 0 .203552 Noticias Taxa de Bits (kpbs) 201.852 202 . 3049 201.5107 202.9838 PSNR (dB) 38.31485 38.46045 38 .34122 38.38856 Penalida de (dB) 0 -0.13654 -0.0332 -0.05107 t 4
Esporte Taxa de Bits (kpbs) 250.3261 250.5926 250.8334 250.9431 PSNR 33.76418 33.70399 33.67024 33.59318 (dB) Penalida de (dB) 0 0.06552 0 .104086 0.18334 Canal de Esportes a Cabo Taxa de Bits (kpbs) 258.1204 257.9902 257.4172 258.2838 PSNR (dB) 32 .12103 32 . 05273 31. 9976 31.93628 Penalida de (dB) 0 0.065696 0.109366 0.188018 Canal de Filmes a Cabo Taxa de Bits (kpbs) 237.925 238.8215 237.9826 238.5083 PSNR (dB) 37.6586 37.71595 37.61822 37.53846 Penalida de (dB) 0 -0.03942 0.041532 0.131806 Video a Cabo Geral Taxa de Bits (kpbs) 237.567 234.5901 236.9851 236.7844 PSNR (dB) 35.64185 35.47642 35.5201 35.43013 Penalida de (dB) 0 0.105892 0.110112 0.196068 Penalidade Média (dB) 0 0.03041 0.081728 0.152207
Os três exemplos ilustrados proporcionam
diferentes equilibrios entre complexidade de busca de quadro de referência e qualidade de codificação. Entre 19/21
eles, o método do Exemplo C tem a mais baixa complexidade em uma perda de PSNR de apenas aproximadamente 0.15dB.
Devido ao mencionado acima, será considerado que a invenção supera os problemas de codificar dados de multimídia tal como dados de vídeo. Por exemplo, a busca
reduzida de quadros de referência de acordo com um aspecto reduz a complexidade computacional de codificação de vídeo sem a perda substancial de fidelidade de vídeo. Portanto, os codificadores de vídeo podem usar menos energia, menos latência, e/ou processadores e meios eletrônicos associados
menos complexos.
Aqueles versados na técnica reconhecerão que os vários blocos lógicos ilustrativos, módulos, circuitos, e etapas de algoritmo descritos em conexão com os aspectos aqui arevelados podem ser implementados como hardware
eletrônico, software de computador, ou combinações de ambos. Para claramente ilustrar essa permutabilidade de hardware e software, vários componentes ilustrativos, blocos, módulos, circuitos e etapas foram descritos acima geralmente em termos de suas funcionalidades. Se tal
funcionalidade é implementada como hardware ou software depende da aplicação específica e de limitações de projetos impostas ao sistema como um todo. Aqueles versados na técnica podem implementar a funcionalidade descrita de diversas formas para cada aplicação específica, mas tais
decisões de implementação não devem ser interpretadas como causando um afastamento do escopo da presente invenção.
Os vários blocos ilustrativos, módulos e circuitos descritos em conexão com os aspectos aqui revelados podem ser implementados ou realizados com um
processador de uso geral, um processador de sinal digital (DSP), um circuito integrado de aplicação específica (ASIC), um arranjo de portas programáveis no campo (FPGA) ou outro dispositivo lógico programável, porta discreta ou lógica de transistor, componentes discretos de hardware, ou qualquer combinação dos mesmos, projetada para realizar as funções aqui descritas. Um processador de uso geral pode ser um microprocessador, mas como alternativa, o processador pode ser qualquer processador convencional, controlador, microcontrolador, ou máquina de estado. Um processador também pode ser implementado como uma combinação de dispositivos de computação, por exemplo, uma combinação de um DSP e um microprocessador, uma pluralidade de microprocessadores, um ou mais microprocessadores em conjunto com um núcleo DSP, ou qualquer outra tal configuração.
As etapas de um método ou algoritmo descrito em conexão com os aspectos aqui revelados podem ser incorporados diretamente em hardware, em um módulo de softwa re executado por um processador, ou em uma combinação dos dois. Um módulo de software pode residir em memória RAM, memória flash, memória ROM, memória EPROM, memória EEPROM, registradores, disco rígido, disco removível, um CD-ROM, ou qualquer outra forma de meio de armazenamento conheci.do na técnica. Um meio de armazenamento exemplar é acoplado ao processador de tal modo que o processador pode ler informação a partir de, e gravar informação no meio de armazenamento. Como alternativa, o meio de armazenamento pode ser integral ao processador. 0 processador e o meio de armazenamento podem residir em um ASIC. 0 ASIC pode residir em um terminal de usuário. Na alternativa o processador, e o meio de armazenamento, podem residir como componentes discretos em um terminal de usuário.
A descrição anterior dos aspectos revelados é provida para possibilitar que aqueles versados na técnica realizem ou utilizem a presente invenção. Diversas modificações nesses aspectos serão facilmente evidentes para aqueles versados na técnica, e os princípios genéricos aqui definidos podem ser aplicados a outras modalidades sem se afastar do espírito e escopo da invenção. Assim, a presente invenção não deve ser limitada aos aspectos aqui mostrados, mas deve receber o mais amplo escopo consistente com os princípios e características novéis aqui revelados.
Embora a descrição detalhada acima tenha sido apresentada, descrita, e tenha assinalado características novéis da invenção, conforme aplicadas aos vários aspectos que várias omissões, substituições, e alterações na forma e detalhes do dispositivo ou processo ilustrado podem ser feitas por aqueles versados na técnica sem se afastar do espírito da invenção, conforme será entendido. Como será reconhecida a invenção corrente pode ser incorporada em uma forma que não provê todas as características e vantagens aqui apresentadas, uma vez que algumas características podem ser usadas ou praticadas separadamente de outras. O escopo da invenção é indicado pelas reivindicações anexas mais propriamente do que pela descrição a seguir. Todas as alterações dentro do significado e faixa de equivalência das reivindicações devem ser abrangidas pelos seus escopos.

Claims (34)

1. Método de processar dados de multimídia, compreendendo: comparar uma porção de um quadro com uma pluralidade de quadros de referência, em que a porção do quadro compreende uma pluralidade de sub-porções; selecionar um quadro de referência a partir da pluralidade de quadros de referência com base na comparação; e processar ao menos uma das sub-porções com base no quadro de referência selecionado.
2. Método, de acordo com a reivindicação 1, em que selecionar o quadro de referência compreende: selecionar um subconjunto dos quadros de referência, em que processar a ao menos uma das sub-porções se baseia no subconjunto dos quadros de referência.
3. Método, de acordo com a reivindicação 2, em que processar a ao menos uma das sub-porções compreende: selecionar ao menos um do subconjunto dos quadros de referência; e processar a ao menos uma das sub-porções com base a ao menos parcialmente no ao menos um do subconjunto.
4. Método, de acordo com a reivindicação 2, em que os vários quadros de referência definem um ordenamento temporal e em que o subconjunto dos quadros de referência compreende ao menos dois quadros adjacentes no ordenamento temporal.
5. Método, de acordo com a reivindicação 1, em que processar a ao menos uma das sub-porções compreende comparar a ao menos uma das sub-porções com ao menos parte do quadro de referência selecionado.
6. Método, de acordo com a reivindicação 1, em que a porção compreende um macrobloco e as sub-porções compreendem sub-blocos.
7. Método, de acordo com a reivindicação 1, em que a porção compreende um sub-bloco e as sub-porções compreendem sub-blocos do sub-bloco.
8. Método, de acordo com a reivindicação 1, compreendendo ainda calcular uma métrica de codificação para ao menos a porção do quadro.
9. Método, de acordo com a reivindicação 8, em que selecionar o quadro de referência se baseia ao menos parcialmente na métrica de codificação.
10. Método, de acordo com a reivindicação 8, em que a métrica de codificação se baseia ao menos em um de distorção de dados codificados e tamanho de dados codificados.
11. Equipamento para processar dados de multimídia, compreendendo: meio comparando uma porção de um quadro com uma pluralidade de quadros de referência, em que a porção do quadro compreende várias sub-porções; meio para selecionar um quadro de referência a partir dos vários quadros de referência com base na comparação; e meio para processar ao menos uma das sub-porções com base no quadro de referência selecionado.
12. Equipamento, de acordo com a reivindicação 11, em que o meio de selecionar é configurado para selecionar um subconjunto dos quadros de referência e em que o meio de processamento é configurado para processar a ao menos uma das sub-porções com base no subconjunto.
13. Equipamento, de acordo com a reivindicação 12, em que o meio de processamento é configurado adicionalmente para: selecionar ao menos um do subconjunto dos quadros de referência; e processar a ao menos uma das sub-porções com base ao menos parcialmente no ao menos um do subconjunto.
14. Equipamento, de acordo com a reivindicação 12, em que os vários quadros de referência definem um ordenamento temporal e em que o subconjunto dos quadros de referência compreende ao menos dois quadros adjacentes no ordenamento temporal.
15. Equipamento, de acordo com a reivindicação 11, em que o meio de processamento é configurado adicionalmente para comparar a ao menos uma das sub-porções com ao menos parte do quadro de referência selecionado.
16. Equipamento, de acordo com a reivindicação 11, em que a porção compreende um macrobloco e as sub-porções compreendem sub-blocos.
17. Equipamento, de acordo com a reivindicação 11, em que a porção compreende um sub-bloco e as sub-porções compreendem sub-blocos do sub-bloco.
18. Equipamento, de acordo com a reivindicação 11, em que o meio de seleção é configurado adicionalmente para calcular uma métrica de codificação para ao menos a porção do quadro.
19. Equipamento, de acordo com a reivindicação 11, em que o meio de processamento é configurado adicionalmente para comparar ao menos uma das sub-porções com ao menos parte do quadro de referência selecionado.
20. Equipamento, de acordo com a reivindicação 18, em que o meio de seleção é configurado para selecionar o quadro de referência com base ao menos parcialmente na métrica de codificação.
21. Equipamento, de acordo com a reivindicação18, em que o meio de seleção seleciona o quadro de referência com base ao menos parcialmente na métrica de codificação.
22. Equipamento, de acordo com a reivindicação18, em que a métrica de codificação se baseia em ao menos um de distorção de dados codificados e tamanho de dados codificados.
23. Equipamento para processar dados de multimídia, compreendendo: um comparador configurado para comparar uma porção de um quadro com uma pluralidade de quadros de referência, em que a porção do quadro compreende uma pluralidade de sub-porções; um seletor configurado para selecionar um quadro de referência a partir dos vários quadros de referência com base na comparação; e um processador configurado para comparar ao menos uma das sub-porções com base no quadro de referência selecionado.
24. Equipamento, de acordo com a reivindicação23, em que o seletor é configurado adicionalmente para selecionar um subconjunto dos quadros de referência, em que o processador é configurado para processar a ao menos uma das sub-porções com base no subconjunto.
25. Equipamento, de acordo com a reivindicação24, em que o processador é configurado adicionalmente para: selecionar ao menos um do subconjunto dos quadros de referência; e processar a ao menos uma das sub-porções com base ao menos parcialmente no ao menos um subconjunto.
26. Equipamento, de acordo com a reivindicação24, em que a pluralidade de quadros de referência define um ordenamento temporal e em que o subconjunto dos quadros de referência compreende ao menos dois quadros adjacentes no ordenamento temporal.
27. Equipamento, de acordo com a reivindicação23, em que a porção compreende um macrobloco e as sub- porções compreendem sub-blocos.
28. Equipamento, de acordo com a reivindicação 23, em que a porção compreende um sub-bloco e as sub- porções compreendem sub-blocos do sub-bloco.
29. Equipamento, de acordo com a reivindicação23, em que o seletor é configurado adicionalmente para calcular uma métrica de codificação para ao menos a porção do quadro.
30. Equipamento, de acordo com a reivindicação23, em que o seletor é configurado para selecionar o quadro de referência com base ao menos parcialmente na métrica de codificação.
31. Equipamento, de acordo com a reivindicação23, em que o seletor é configurado adicionalmente para selecionar o quadro de referência com base ao menos parcialmente na métrica de codificação.
32. Equipamento, de acordo com a reivindicação23, em que a métrica de codificação se baseia ao menos um de dis torção de dados codificados e tamanho de dados codificados.
33. Processador de dados de multimídia compreendendo uma configuração para: comparar uma porção de um quadro com uma pluralidade de quadros de referência, em que a porção do quadro compreende uma pluralidade de sub-porções; selecionar um quadro de referência a partir da pluralidade de quadros de referência com base na comparação; e processar ao menos uma das sub-porções com base no quadro de referência selecionado.
34. Meio legível por máquina compreendendo instruções para processar dados de multimídia, em que as instruções a partir da exibição fazem com que a máquina: compare uma porção de um quadro com uma pluralidade de quadros de referência, em que a porção do quadro compreende uma pluralidade de sub-porções; selecione um quadro de referência a partir da pluralidade de quadros de referência com base na comparação; e processe ao menos uma das sub-porções com base no quadro de referência selecionado.
BRPI0717889-1A 2006-11-02 2007-10-29 Equipamento e método de busca de quadro de referência reduzida em codificação de vídeo BRPI0717889A2 (pt)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/555,989 US8923393B2 (en) 2006-11-02 2006-11-02 Apparatus and method of reduced reference frame search in video encoding
US11/555,989 2006-11-02
PCT/US2007/082809 WO2008057819A2 (en) 2006-11-02 2007-10-29 Apparatus and method of reduced reference frame search in video encoding

Publications (1)

Publication Number Publication Date
BRPI0717889A2 true BRPI0717889A2 (pt) 2013-11-05

Family

ID=39365206

Family Applications (1)

Application Number Title Priority Date Filing Date
BRPI0717889-1A BRPI0717889A2 (pt) 2006-11-02 2007-10-29 Equipamento e método de busca de quadro de referência reduzida em codificação de vídeo

Country Status (10)

Country Link
US (1) US8923393B2 (pt)
EP (1) EP2084911A2 (pt)
JP (1) JP5259608B2 (pt)
KR (1) KR101184245B1 (pt)
CN (1) CN101529919A (pt)
BR (1) BRPI0717889A2 (pt)
CA (1) CA2666217A1 (pt)
RU (1) RU2404535C1 (pt)
TW (1) TW200838322A (pt)
WO (1) WO2008057819A2 (pt)

Families Citing this family (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8861598B2 (en) * 2008-03-19 2014-10-14 Cisco Technology, Inc. Video compression using search techniques of long-term reference memory
US8385404B2 (en) 2008-09-11 2013-02-26 Google Inc. System and method for video encoding using constructed reference frame
US8326075B2 (en) 2008-09-11 2012-12-04 Google Inc. System and method for video encoding using adaptive loop filter
US8619856B2 (en) * 2008-10-03 2013-12-31 Qualcomm Incorporated Video coding with large macroblocks
US8503527B2 (en) 2008-10-03 2013-08-06 Qualcomm Incorporated Video coding with large macroblocks
US8265155B2 (en) * 2009-01-05 2012-09-11 Electronics And Telecommunications Research Institute Method of block partition for H.264 inter prediction
US8233534B2 (en) * 2010-04-09 2012-07-31 Newport Media, Inc. Frame buffer compression and memory allocation in a video decoder
US8503528B2 (en) 2010-09-15 2013-08-06 Google Inc. System and method for encoding video using temporal filter
US8780996B2 (en) 2011-04-07 2014-07-15 Google, Inc. System and method for encoding and decoding video data
US9154799B2 (en) 2011-04-07 2015-10-06 Google Inc. Encoding and decoding motion via image segmentation
US8638854B1 (en) 2011-04-07 2014-01-28 Google Inc. Apparatus and method for creating an alternate reference frame for video compression using maximal differences
US8781004B1 (en) 2011-04-07 2014-07-15 Google Inc. System and method for encoding video using variable loop filter
US8780971B1 (en) 2011-04-07 2014-07-15 Google, Inc. System and method of encoding using selectable loop filters
US8885706B2 (en) 2011-09-16 2014-11-11 Google Inc. Apparatus and methodology for a video codec system with noise reduction capability
CN104247407A (zh) * 2012-02-10 2014-12-24 易卜拉欣·纳拉 数据、多媒体和视频传输更新系统
US9131073B1 (en) 2012-03-02 2015-09-08 Google Inc. Motion estimation aided noise reduction
US9609341B1 (en) 2012-04-23 2017-03-28 Google Inc. Video data encoding and decoding using reference picture lists
EP2842337B1 (en) 2012-04-23 2019-03-13 Google LLC Managing multi-reference picture buffers for video data coding
US9014266B1 (en) 2012-06-05 2015-04-21 Google Inc. Decimated sliding windows for multi-reference prediction in video coding
US9344729B1 (en) 2012-07-11 2016-05-17 Google Inc. Selective prediction signal filtering
WO2014124215A2 (en) * 2013-02-07 2014-08-14 Services Petroliers Schlumberger Borehole image compression
CN103200408B (zh) * 2013-04-23 2016-03-30 华录出版传媒有限公司 一种视频编解码方法
US9756331B1 (en) 2013-06-17 2017-09-05 Google Inc. Advance coded reference prediction
US10102613B2 (en) 2014-09-25 2018-10-16 Google Llc Frequency-domain denoising
WO2016176592A1 (en) * 2015-04-29 2016-11-03 Arris Enterprises Llc Reference picture selection for inter-prediction in video coding
CN116684610A (zh) * 2023-05-17 2023-09-01 北京百度网讯科技有限公司 确定长期参考帧的参考状态的方法、装置及电子设备

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR950014862B1 (ko) 1992-02-08 1995-12-16 삼성전자주식회사 움직임추정방법 및 그 장치
JP2003284091A (ja) 2002-03-25 2003-10-03 Toshiba Corp 動画像符号化方法及び動画像符号化装置
JP4841101B2 (ja) * 2002-12-02 2011-12-21 ソニー株式会社 動き予測補償方法及び動き予測補償装置
EP1582060A4 (en) * 2003-01-10 2009-09-23 Thomson Licensing SCHEDULE DECISION FOR INTERFRAME ENCODING
KR100510137B1 (ko) 2003-04-30 2005-08-26 삼성전자주식회사 고속 움직임 추정을 위한 참조 픽쳐 및 블록 모드 결정방법, 그 장치, 블록 모드 결정 방법 및 그 장치
WO2005094083A1 (en) 2004-03-29 2005-10-06 Koninklijke Philips Electronics N.V. A video encoder and method of video encoding
JP5018085B2 (ja) * 2004-06-29 2012-09-05 ソニー株式会社 動き予測補償方法及び動き予測補償装置

Also Published As

Publication number Publication date
TW200838322A (en) 2008-09-16
WO2008057819A3 (en) 2008-08-07
WO2008057819A2 (en) 2008-05-15
KR20090085667A (ko) 2009-08-07
RU2404535C1 (ru) 2010-11-20
JP5259608B2 (ja) 2013-08-07
US20080130755A1 (en) 2008-06-05
CN101529919A (zh) 2009-09-09
JP2010509850A (ja) 2010-03-25
CA2666217A1 (en) 2008-05-15
EP2084911A2 (en) 2009-08-05
US8923393B2 (en) 2014-12-30
KR101184245B1 (ko) 2012-09-21

Similar Documents

Publication Publication Date Title
BRPI0717889A2 (pt) Equipamento e método de busca de quadro de referência reduzida em codificação de vídeo
US7693219B2 (en) System and method for fast motion estimation
KR101135293B1 (ko) 비디오 블록 헤더 정보의 적응적 코딩
KR100957316B1 (ko) 멀티미디어 코딩을 위한 모드 선택 기술
US20120189067A1 (en) Method and apparatus for parallel processing of in-loop deblocking filter for h.264 video compression standard
WO2010135609A1 (en) Adaptive picture type decision for video coding
WO2006124299A2 (en) Parallel execution of media encoding using multi-threaded single instruction multiple data processing
Zhang et al. Low-complexity and high-efficiency background modeling for surveillance video coding
US11212536B2 (en) Negative region-of-interest video coding
WO2020143585A1 (zh) 视频编码器、视频解码器及相应方法
US8295349B2 (en) Methods and apparatuses for video compression intra prediction mode determination
US11582443B1 (en) Architecture to adapt cumulative distribution functions for mode decision in video encoding
US11909993B1 (en) Fractional motion estimation engine with parallel code unit pipelines
Jung et al. Early termination and pipelining for hardware implementation of fast H. 264 intraprediction targeting mobile HD applications
Su et al. GPU based High Definition Parallel Video Codec Optimization in Mobile Device
Reader et al. Performance evaluation of motion estimation algorithms for digital signal processors
Chang et al. A fast and low-cost fractional motion estimation for H. 264/AVC HD1080p coding
Li et al. High-security HEVC video steganography method using the motion vector prediction index and motion vector difference
Sharma et al. Pre-decision strategy for coded/non-coded MBs in MPEG4
Chang et al. A dynamic search range algorithm for H. 264/AVC full-search motion estimation
Dasari et al. Efficient content-based dynamic search algorithm for motion estimation from videos
Wang et al. A fast H. 264 video encoder based on a digital signal processor
Grajek et al. Architecture of algorithmically optimized MPEG-4 AVC/H. 264 video encoder
Nasiopoulos et al. A Fast Video Motion Estimation Algorithm for the H. 264 Standard
Yoon et al. A Robust Scene Change Detection Using Mode Distribution in H. 264/AVC

Legal Events

Date Code Title Description
B11A Dismissal acc. art.33 of ipl - examination not requested within 36 months of filing
B11Y Definitive dismissal - extension of time limit for request of examination expired [chapter 11.1.1 patent gazette]
B15K Others concerning applications: alteration of classification

Ipc: H04N 19/42 (2014.01), H04N 19/119 (2014.01), H04N