BRPI0110770B1 - método de codificação/ decodificação de um sinal de vídeo representando uma sequência de imagens, e, codificador/decodificador de vídeo - Google Patents

método de codificação/ decodificação de um sinal de vídeo representando uma sequência de imagens, e, codificador/decodificador de vídeo Download PDF

Info

Publication number
BRPI0110770B1
BRPI0110770B1 BRPI0110770A BR0110770A BRPI0110770B1 BR PI0110770 B1 BRPI0110770 B1 BR PI0110770B1 BR PI0110770 A BRPI0110770 A BR PI0110770A BR 0110770 A BR0110770 A BR 0110770A BR PI0110770 B1 BRPI0110770 B1 BR PI0110770B1
Authority
BR
Brazil
Prior art keywords
image
current image
current
indicator
images
Prior art date
Application number
BRPI0110770A
Other languages
English (en)
Other versions
BR0110770A (pt
Inventor
Kerem Caglar
Miska Hannuksela
Original Assignee
Nokia Corp
Nokia Technologies Oy
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nokia Corp, Nokia Technologies Oy filed Critical Nokia Corp
Publication of BR0110770A publication Critical patent/BR0110770A/pt
Publication of BRPI0110770B1 publication Critical patent/BRPI0110770B1/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/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/577Motion compensation with bidirectional frame interpolation, i.e. using B-pictures
    • 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/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/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

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)
  • Television Systems (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Color Television Systems (AREA)
  • Glass Compositions (AREA)
  • Error Detection And Correction (AREA)
  • Analogue/Digital Conversion (AREA)

Abstract

"método de codificação/decodificação de um sinal de vídeo representando uma seqüência de imagens, e, codificador/decodificador de vídeo". método para codificar um sinal de vídeo representando uma sequência de imagens, o método compreendendo receber a imagem atual para codificar, formando uma predição temporal da imagem atual de uma imagem de referência default para a imagem atual, comparando a imagem de referência default com ao menos uma outra imagem de referência, calculando a medida de similaridade entre a imagem de referência default e cada outra imagem de referência e, se a medida de similaridade encontra um critério pré-determinado, produzir um indicador identificando a outra imagem de referência.

Description

“MÉTODO DE CODIFICAÇÃO/DECODIFICAÇÃO DE UM SINAL DE VÍDEO REPRESENTANDO UMA SEQÜÊNCIA DE IMAGENS, E, CODIFICADOR/DECODIFICADOR DE VÍDEO”.
Campo da Invenção Esta invenção relaciona a codificação de vídeo.
Descrição da Técnica Anterior Uma seqüência de vídeo consiste em uma série de imagens imóveis ou quadros. Os métodos de compressão de vídeo são baseados na redução das partes irrelevantes redundantes e perceptivamente das sequências de vídeo. A redundância na seqüência de vídeo pode ser categorizada em redundância espectral, espacial e temporal. A redundância espectral refere-se a similaridade entre os componentes de cores diferentes da mesma imagem. A redundância espacial resulta da similaridade entre os pixels vizinhos em uma imagem. A redundância temporal existe porque os objetos que aparecem em uma imagem prévia são também prováveis de aparecer na imagem atual. A compressão pode ser alcançada tirando proveito desta redundância temporal e predizendo a imagem atual de outra imagem, denominada de âncora ou de imagem de referência. A compressão também é alcançada gerando os dados de compensação de movimento que descrevem o movimento entre a imagem atual e a imagem prévia.
Contudo, uma compressão suficiente, normalmente, não pode ser alcançada apenas reduzindo a redundância inerente da seqüência. Assim, os codificadores de vídeo também tentam reduzir a qualidade destas partes da seqüência de vídeo, as quais são subjetivamente menos importantes. Em adição, a redundância do fluxo de bits codificado é reduzida por meio de uma codificação eficiente desprovida de perdas dos parâmetros de compressão e dos coeficientes. A técnica principal é usar códigos de comprimento variáveis.
Os métodos de compressão de vídeo diferenciam tipicamente entre as imagens que utilizam a redução de redundância temporal e as que não usam. Normalmente, as imagens compactadas que não utilizam os métodos de redução de redundância temporal são chamadas de INTRA ou quadros-I ou imagens-I. As imagens preditas temporariamente são normalmente preditas diretamente de uma imagem ocorrendo antes da imagem atual e são denominadas de INTER ou quadros-P. No caso do quadro INTER, a imagem em movimento-compensado predita é raramente precisa o suficiente e então um quadro de erro de predição compactado espacialmente é associado com cada quadro INTER. As imagens INTER podem conter as áreas INTRA-codificadas. Vários esquemas de compressão de vídeo também usam os quadros preditos bi-direcionalmente e temporariamente, os quais são comumente denominados de imagens-B ou quadros-B. As imagens-B são inseridas entre os pares de imagem âncora dos quadros-P e -I e são preditas de qualquer um ou de ambas destas imagens âncora. As imagens-B normalmente se submetem a uma compressão aumentada quando comparadas com as imagens preditas-diretas. As imagens-B não são usadas como imagens âncora, isto é, outras imagens não são preditas delas. Então, elas podem ser descartadas (intencionalmente ou acidentalmente) sem prejudicar a qualidade da imagem das imagens futuras. Ainda, as imagens-B podem melhorar o desempenho de compressão quando comparado com as imagens-P, as suas gerações requerem maior complexidade computacional e uso de memória, e introduzem os retardos adicionais. Este pode não ser um problema para as aplicações em tempo não-real, tal como o fluxo (streaming) de vídeo, mas pode causar problemas nas aplicações em tempo real, tal como a vídeo-conferência.
Um clipe de vídeo compactado consiste tipicamente de uma seqüência de imagens, as quais podem ser categorizadas de forma bruta nas imagens INTRA independente temporariamente e nas imagens INTER codificadas diferencialmente e temporariamente. Como a eficiência de compressão nas imagens INTRA normalmente é inferior a das imagens INTER, as imagens INTRA são usadas, especialmente nas aplicações de taxa de bits baixa.
Uma seqüência de vídeo pode consistir em várias cenas ou projeções. Os conteúdos da imagem podem ser notavelmente diferentes de uma cena para outra, e então a primeira imagem de uma cena é tipicamente INTRA-codificada. Existem trocas freqüentes de cenas na televisão e no material filme, ao passo que os cortes de cena são relativamente raros em uma vídeo-conferência. Em adição, as imagens INTRA são tipicamente inseridas para parar a propagação temporal de erros de transmissão em um sinal de vídeo reconstruído e prover os pontos de acesso randômico para um fluxo de bits de vídeo. O vídeo compactado é facilmente corrompido por erros de transmissão, principalmente por duas razões. Primeiramente, devido à utilização da codificação diferencial preditiva temporal (quadros INTER), um erro é propagado espacialmente e temporariamente. Na prática isto significa que, uma vez que um erro ocorre, é facilmente visível ao olho humano durante um tempo relativamente longo. As transmissões são especialmente suscetíveis a baixa taxa de bits, onde existem apenas alguns quadros INTRA-codificados, assim a propagação de erro temporal não é parada durante algum tempo. Secundariamente, o uso de códigos de comprimento variável aumenta a suscetibilidade a erros. Quando um bit de erro altera a palavra código, o decodificador perderá a sincronização da palavra código e também decodificará incorretamente as palavras códigos (incluindo vários bits) livres de erro subsequentes até o próximo código de sincronização (ou inicial). O código de sincronização é um padrão de bits, que não pode ser gerado de qualquer combinação legal de outras palavras códigos e tais códigos são adicionados ao fluxo de bit nos intervalos para habilitar a re-sincronização. Em adição, os erros ocorrem quando os dados forem perdidos durante a transmissão. Por exemplo, nas aplicações de vídeo que usam o protocolo de transporte UDP não confiável nas redes IP, os elementos de rede podem descartar as partes do fluxo de bits de vídeo codificado.
Existem muitos modos para o receptor endereçar a corrupção introduzida no caminho de transmissão. Em geral, após a recepção de um sinal, os erros de transmissão são detectados primeiro e então corrigidos ou encobertos pelo receptor. A correção de erro refere ao processo de recuperar os dados errôneos perfeitamente como se nenhum erro tivesse sido introduzido à primeira vez. O encobrimento de erro refere ao processo de encobrir os efeitos dos erros de transmissão de forma que eles sejam dificilmente visíveis na seqüência de vídeo reconstruída. Tipicamente, uma quantidade da redundância é adicionada pela codificação da fonte ou de transporte, para ajudar a detectar o erro, a corrigir e a encobrir.
Existem numerosos algoritmos de encobrimento conhecidos, uma revisão da qual é determinada por Y. Wang e Q. -F. Zhu em “Controle e Encobrimento de Erro para Comunicação de Vídeo: A Revisão”, Procedimentos do IEEE, Vol. 86, No. 5, Maio de 1998, pp. 974-997 e um artigo por P. Salama, N. B. Shroff, e E. J. Delp, “Encobrimento de Erro em Vídeo Codificado”, submetido ao Jornal IEEE nas Áreas Selecionadas em Comunicações.
Os padrões de codificação de vídeo atuais definem uma sintaxe para um fluxo de bits de vídeo auto-suficiente. Os padrões mais populares no momento de escrever são a Recomendação H.263 da ITU-T, “Codificação de vídeo para uma comunicação de baixa taxa de bits”, fevereiro de 1998; ISO/IEC 14496-2, “Codificação Genérica de Objetos Audiovisuais. Parte 2: Visual”, 1999 (conhecido como MPEG-4); e a Recomendação H.262 da ITU-T (ISO/IEC 13818-2) (conhecido como MPEG-2). Estes padrões definem uma hierarquia para os fluxos de bits e correspondentemente para uma seqüência de imagem e imagens.
No H.263, hierarquia possui quatro camadas: imagem, segmento de imagem, macro-bloco, e a camada do bloco. Os dados da camada de imagem contêm os parâmetros que afetam a área de toda a imagem e a decodificação dos dados de imagem. A maioria destes dados é disposta em um denominado cabeçalho de imagem. A camada de segmento de imagem pode ser um grupo de uma camada de blocos ou de uma camada de fatias. Por default, cada imagem é dividida em grupos de blocos. Um grupo de blocos (GOB) tipicamente inclui 16 linhas de pixel sucessivas. Os dados para cada GOB consistem de um cabeçalho GOB opcional seguido pelos dados para os macro-blocos. Se o modo estruturado a fatia opcional for usado, cada imagem é dividida em fatias em vez de GOBs. Uma fatia contém vários macro-blocos sucessivos em uma ordem de varredura. Os dados para cada fatia consistem em um cabeçalho de fatia seguido por dados para os macro-blocos.
Cada GOB ou fatia é dividida em macro-blocos. Um macro-bloco relaciona a 16x16 pixels (ou 2x2 blocos) de luminância e os pixels correspondentes espacialmente 8x8 (ou bloco) dos componentes de crominância. Um bloco relaciona a 8x8 pixels de luminância ou crominância.
Os dados da camada do bloco consistem nos coeficientes de transformada de co-seno discreta quantizados uniformemente, os quais são varridos na ordem de zigue-zague, processados com um codificador de comprimento e codificados com os códigos de comprimento variáveis. As hierarquias das camadas MPEG-2 e MPEG-4 se assemelham à usada no H.263.
Por default estes padrões geralmente usam a imagem (I, EI, P ou EP) de âncora prévia temporariamente como uma referência para a predição temporal. Esta peça de informação não é transmitida, isto é, o fluxo de bits não inclui a informação identificando a imagem de referência. Conseqüentemente, os decodificadores não têm significado detectar se a imagem de referência está perdida. Embora vários codificadores de transporte coloquem os dados de vídeo em pacotes e associam um número seqüencial com os pacotes. Contudo, estes tipos de números seqüenciais não são relacionados ao fluxo de bits de vídeo. Por exemplo, uma sessão do fluxo de bits de vídeo pode conter os dados para a imagem-P Pl, a imagem-B B2, a imagem-P P3, e a imagem-P P4 capturadas (para serem visualizadas) nesta ordem. Contudo, esta sessão seria do fluxo de bits seria compactada, transmitida, e decodificada na ordem a seguir: Pl, P3, B2, P4 uma vez que B2 solicita ambos Pl e P3 antes deste ser codificado ou decodificado. Assumindo que existe um pacote para uma imagem e, cada pacote contém um número seqüencial. Vamos também assumir que o pacote carregando B2 está perdido. O receptor pode detectar esta perda de pacote dos números seqüenciais do pacote. Contudo, o receptor não tem significado para detectar se este tem perdido a imagem de referência de compensação de movimento para P4 ou se esta tem perdido a imagem-B, neste caso esta podería continuar a decodificar normalmente. O decodificador então usualmente envia um pedido INTRA para o transmissor e congela a imagem no visor. Contudo, o transmissor pode não ser capaz de responder a este pedido. Por exemplo, na aplicação de fluxo de vídeo de tempo não real, o transmissor pode não responder ao pedido INTRA do decodificador. Além disso, o decodificador congela a imagem até o próximo quadro INTRA for recebido. Na aplicação em tempo real tal como a vídeo conferência, o transmissor pode ser capaz de responder. Por exemplo, na conferência de múltiplas-partes, o codificador pode não ser capaz de responder aos pedidos individuais. Novamente, o decodificador congela a imagem até que um quadro INTRA saia pelo transmissor.
Resumo da Invenção De acordo com o primeiro aspecto da invenção é provido um método de codificação de um sinal vídeo que representa uma seqüência de imagens, o método compreende receber a imagem atual para codificar, formar a predição temporal da imagem atual de uma imagem de referência default para a imagem atual, comparar a imagem de referência default com ao menos uma outra imagem de referência, calcular a medida de similaridade entre a imagem de referência default e cada outra imagem de referência, e se a medida de similaridade encontra o critério pré-determinado, produzir um indicador identificando a outra imagem de referência e associar o indicador com a predição temporal do quadro atual.
Os codificadores usam este indicador para instruir os decodificadores, os quais as imagens se assemelham a imagem de referência de compensação de movimento atual como também uma delas pode ser usada como uma imagem de referência de reserva se a imagem de referência atual for perdida durante a transmissão. Se o decodificador necessita de uma imagem de referência atual, mas pode acessar uma imagem de referência reserva, preferivelmente o decodificador não deveria enviar um pedido para atualizar a imagem INTRA. O indicador pode ser um número de imagem de referência reserva visto que o indicador indica para o decodificador qual imagem(s) de referência se assemelham à imagem de referência default. Esta imagem de referência “reserva” pode ser usada pelo decodificador para decodificar o quadro atual se a imagem de referência default for perdida por alguma razão. O número da imagem de referência de reserva pode ser usado em relação a toda a imagem ou parte da imagem. No caso inicial, tipicamente o número da imagem de referência de reserva é incluído no cabeçalho da imagem. Em último caso, o número da imagem de referência de reserva é incluído nos cabeçalhos de segmento da imagem ou nos cabeçalhos do macro-bloco da imagem. Na implementação preferida da invenção, o sinal de vídeo é codificado de acordo com o padrão H.263 e o indicador é incluído na Informação de Aperfeiçoamento Suplementar.
Preferivelmente, o método também compreende formar a predição temporal da imagem atual da primeira imagem de referência default e a segunda imagem de referência default para a imagem atual, a primeira imagem de referência default ocorrendo temporariamente antes da imagem atual e a segunda imagem de referência default ocorrendo temporariamente após a imagem atual, comparar a primeira imagem de referência default com ao menos uma outra imagem de referência ocorrendo temporariamente antes da imagem atual, calcular a medida de similaridade entre a primeira imagem de referência default e cada outra imagem de referência e, se a medida de similaridade encontra o critério pré-determinado, produzir o indicador identificando a outra imagem de referência.
Então, o indicador é fornecido para os quadros preditos diretamente, mas não para os quadros preditos inversos.
Preferivelmente, a imagem de referência default é comparada com uma pluralidade de outras imagens de referência e um indicador é produzido para cada outra imagem de referência que encontra o critério pré-determinado. Vantajosamente, as outras imagens de referência que encontram o critério pré-determinado são conectadas na ordem de similaridade e o indicador é associado com a predição temporal do quadro atual na ordem do posicionamento, a outra imagem de referência possuindo a similaridade mais próxima da imagem de referência default sendo colocada primeiro. A comparação pode ser executada para as partes de uma imagem a cada vez, por exemplo, os blocos ou outras áreas não-retangulares das imagens.
De acordo com o segundo aspecto da invenção é fornecido um método para codificar um sinal de vídeo representando uma seqüência de imagens, o método compreende receber a imagem para codificar, formar a predição de ao menos uma parte da imagem atual de uma imagem de referência default para a imagem atual, comparar a parte da imagem de referência default ou a imagem atual com a parte correspondente de ao menos uma outra imagem da seqüência para formar a medida de similaridade e, se a medida de similaridade encontra o critério pré-determinado, produzir um indicador em resposta da parte do quadro atual identificando a outra imagem da seqüência.
De acordo com o terceiro aspecto da invenção é provido um método de decodificação de um sinal de vídeo codificado representando uma seqüência de imagens, o sinal codificado inclui as imagens que têm sido codificadas formando a predição temporal da imagem atual de uma imagem de referência default para a imagem atual, o método compreendendo receber o sinal de vídeo codificado representando a imagem atual e decodificar ao menos o cabeçalho da imagem da imagem atual onde, quando o decodificador não for capaz de decodificar a imagem de referência default da imagem atual, examinar o indicador identificando a outra imagem de referência e decodificar a imagem atual com a referência à outra imagem de referência se tal indicador for associado com a imagem atual.
De acordo com o quarto aspecto da invenção é fornecido um codificador de vídeo compreendendo uma entrada para receber um sinal de vídeo representando uma seqüência de imagens, uma entrada para receber a imagem atual para codificar, o codificador preditivo para formar a predição temporal da imagem atual de uma imagem de referência default para a imagem atual, o comparador para comparar a imagem de referência default ou a imagem atual com ao menos uma outra imagem de referência e calcular a medida de similaridade e, quando a medida de similaridade encontra um critério predeterminado, produzir um indicador identificando a outra imagem de referência.
De acordo com o quinto aspecto da invenção é fornecido um decodificador de vídeo compreendendo uma entrada para receber um sinal de vídeo codificado representando uma seqüência de imagens, o sinal codificado incluindo as imagens que têm sido codificadas formando a predição temporal da imagem atual de uma imagem de referência default para a imagem atual, o decodificador compreendendo uma entrada para receber um sinal de vídeo codificado representando a imagem atual e um processador para decodificar ao menos o cabeçalho da imagem da imagem atual onde, quando o decodificador não for capaz de decodificar a imagem de referência default da imagem atual, o decodificador é disposto para examinar um indicador identificando a outra imagem de referência e para decodificar a imagem atual com referência à outra imagem de referência se tal indicador for associado com a imagem atual. A invenção também descreve o dispositivo de radiocomunicação incluindo um codificador e/ou um decodificador como descrito.
Breve Descrição das Figuras A invenção será descrita agora, apenas por meio de exemplo, com referência aos desenhos apensos, nos quais: FIGURA 1 - apresenta um sistema de comunicações de multimídia móvel; FIGURA 2 - apresenta um exemplo dos componentes de multimídia de um terminal de multimídia; FIGURA 3 - apresenta um exemplo de um codec de vídeo; FIGURA 3a - apresenta uma vista mais detalhada de um codificador de vídeo de acordo com a invenção; FIGURA 4 - ilustra a operação de uma primeira implementação de um codificador de vídeo de acordo com a invenção; FIGURA 5 - ilustra a operação da segunda implementação do codificador de vídeo de acordo com a invenção; FIGURA 6 - apresenta a sintaxe do fluxo de bits como conhecido de acordo com ο H.263; FIGURA 7 - apresenta o primeiro exemplo de produção de um fluxo de bits por um codificador de acordo com a invenção; FIGURA 8 - apresenta o segundo exemplo de produção de um fluxo de bits por um codificador de acordo com a invenção; FIGURA 9 - apresenta o terceiro exemplo de produção de um fluxo de bits por um codificador de acordo com a invenção; FIGURA 10 - ilustra as camadas de aperfeiçoamento usadas na codificação de vídeo por escala SNR; e FIGURA 11 - ilustra as camadas de aperfeiçoamento usadas na codificação de vídeo por escala espacial.
Descrição Detalhada da Invenção A FIGURA 1 apresenta um sistema de comunicações móvel típico de multimídia. O primeiro terminal móvel de multimídia 1 comunica com o segundo terminal móvel de multimídia 2 através de um enlace de rádio 3 para a rede de comunicações móvel 4. Os dados de controle são enviados entre os dois terminais 1, 2 como também os dados de multimídia. A FIGURA 2 apresenta os componentes de multimídia típicos do terminal 1. O terminal inclui um codec de vídeo 10, um codec de áudio 20, um gerenciador de protocolo de dados 30, um gerenciador de controle 40, um multiplexador/demultiplexador 50 e um modem 60 (se preciso for). O codec de vídeo 10 recebe os sinais para codificar de um dispositivo de captura vídeo do terminal (não mostrado) (por exemplo, uma câmera) e recebe os sinais para decodificar de um terminal 2 remoto para exibição pelo terminal 1 em um visor 70. O codec de áudio 20 recebe os sinais para codificar do microfone (não apresentado) do terminal 1 e recebe os sinais para decodificar do terminal 2 remoto para a reprodução por um alto-falante (não mostrado) do terminal 1. O terminal pode ser um dispositivo de radiocomunicação portátil, tal como um rádio telefone. O gerenciador de controle 40 controla a operação do codec de vídeo 10, do codec de áudio 20 e do gerenciador do protocolo de dados 30. Porém, uma vez que a invenção está relacionada à operação do codec de vídeo 10, nenhuma discussão adicional do codec de áudio 20 e do gerenciador de protocolo 30 será provida. A FIGURA 3 apresenta um exemplo de um codec de vídeo 10 de acordo com a invenção. O codec de vídeo inclui uma parte codificadora 100 e uma parte decodificadora 200. A parte codificadora 100 inclui uma entrada 101 para receber o sinal de vídeo da câmera ou de uma fonte de vídeo (não apresentada) do terminal 1. O comutador 102 comuta o codificador entre o modo-INTRA de codificação e o modo-INTER. A parte codificadora 100 do codec de vídeo 10 compreende um transformador DCT 103, o quantizador 104, um quantizador inverso 108, um transformador DCT inverso 109, um somador 110, uma pluralidade de armazenadores de imagem 107 (ver Figura 3a para maiores detalhes), um subtrator 106 para formar o erro de predição, um comutador 113 e o gerenciador de controle de codificação. A parte decodificadora 200 do codec de vídeo 10 inclui um quantizador 120 inverso, um transformador DCT inverso 121, um compensador de movimento 122, uma pluralidade de armazenadores de imagem 123 e um controlador 124. O controlador 124 recebe os sinais de controle do codec de vídeo demultiplexados do fluxo de multimídia codificado pelo demultiplexador 50. Na prática, o controlador 105 do codificador e o controlador 124 do decodifícador podem ser o mesmo processador. A operação do codificador de acordo com a invenção será descrita agora. O codec de vídeo 10 recebe um sinal de vídeo a ser codificado. O codificador 100 do codec de vídeo codifica o sinal de vídeo executando a transformação DCT, a quantização e a compensação de movimento. Os dados de vídeo decodificados são então enviados para o multiplexador 50. O multiplexador 50 multiplexa os dados de vídeo do codec de vídeo 10 e os dados de controle do controlador 40 (como também outros sinais apropriados) em um sinal de multimídia. O terminal 1 produz este sinal de multimídia para o terminal de recepção 2 através do modem 60 (se preciso for).
No modo-INTRA, o sinal de vídeo de entrada 101 é transformado nos coeficientes DCT pelo transformador DCT 103. Os coeficientes DCT são então passados para um quantizador 104 que quantifica os coeficientes. O comutador 102 e o quantizador 104 são controlados pelo gerenciador de controle de codificação 105 do codec de vídeo, que também recebe o controle de realimentação do terminal 2 de recepção, por meio do gerenciador de controle 40. A imagem decodificada é então formada passando a saída de dados pelo quantizador através do quantizador inverso 108 e aplicando uma transformação DCT inversa 109 para os dados inverso-quantizados. Os dados resultantes são então enviados ao somador 110. No modo-INTRA, o comutador 113 é estabelecido de forma que a entrada para o somador 110 do comutador 113 é estabelecida para zero. As duas entradas para o somador 110 são adicionadas juntas e a entrada dos dados resultantes para o armazenador de imagem 107.
No modo-INTER, o comutador 102 é operado para aceitar de um subtrator 106 a diferença entre o sinal da entrada 101 e a imagem de referência que é armazenada no armazenador de imagem 107. A saída dos dados de diferença do subtrator 106 representa o erro de predição entre a imagem atual e a imagem de referência armazenada no armazenador de imagem 107. O estimador de movimento 111 pode gerar os dados de compensação de movimento com referência aos dados no armazenador de imagem 107 da maneira convencional. O gerenciador de controle 105 decide se aplica a codificação INTRA ou INTER ou se codifica todo o quadro com base ou na saída do subtrator 106 ou em resposta aos dados de controle de realimentação recebidos do decodificador de recepção. O gerenciador de controle de codificação pode decidir não codificar todo o quadro recebido, quando a similaridade entre o quadro atual e o quadro de referência for tão alta ou não existir tempo para codificar o quadro. O gerenciador de controle de codificação opera adequadamente o comutador 102.
Quando não respondendo aos dados de controle de realimentação, o codificador tipicamente codifica um quadro como o quadro-INTRA ou apenas no início da codificação (todos os outros quadros sendo quadros-P), ou em períodos regulares, por exemplo, a todo 5s, ou quando a saída do subtrator excede o limiar, isto é, quando a imagem atual e a armazenada no armazenador de imagem 107 são também dissimilares. O codificador pode também ser programado para codificar os quadros em uma seqüência regular particular, por exemplo, IBBPBBPBBPBBPBBIBBP etc. O codec de vídeo produz os coeficientes DCT quantizados 112a, o índice de quantização 112b (isto é, os detalhes de quantização usados), um indicador INTRA/INTER 112c para indicar o modo de codificação executado (I ou P/B), um indicador de transmissão 112d para indicar o número do quadro a ser codificado e (no modo INTER) os vetores de movimento 112e para a imagem a ser codificada. Estes são multiplexados junto com os outros sinais de multimídia pelo multiplexador 50. O codificador 100 será descrito também com referência à FIGURA 3 a, a qual apresenta uma vista simplificada do codificador 100 do codec de vídeo. O codificador 100 compreende uma pluralidade de armazenadores de imagem 107a - 107g. Embora neste exemplo os sete armazenadores de imagem sejam apresentados, o número de armazenadores de imagem pode ser dois ou mais.
Consideremos que o codificador está disposto para codificar o sinal de entrada com o formato IBBPBBPBBPBBPBBPBBPBBI etc. Para simplificar assumiremos que o codificador codificará todo o quadro do sinal de entrada, isto é, nenhum quadro será saltado. Este é ilustrado na Figura 4.
Como mencionado anteriormente, os quadros são recebidos de um dispositivo de captura de vídeo na ordem 0, 1, 2, 3, 4, 5, 6 etc, e são visualizados nesta ordem, isto é, os quadros decodificados são visualizados na ordem 10, Bl, B2, P3, B4, B5, P6 etc. Contudo, o fluxo de bits de vídeo é compactado, transmitido e decodificado na ordem a seguir 10, P3, Bl, B2, P6, B4, B5 etc. Isto é porque cada quadro-B requer os quadros de referência precedentes e sucedentes antes de poder ser codificado/decodificado, isto é, o quadro Bl requer que o quadro 10 e P3 seja codificado/decodificado antes de poder ser codificado/decodificado.
Quando o primeiro quadro for recebido, todos os armazenadores de imagem 107 estão vazios e o comutador 102 é colocado no modo INTRA sobre o controle do controlador de codificação 105, assim que o sinal de entrada for codificado no formato INTRA. O sinal de entrada é o DCT transformado e quantizado. Isto é feito macro-bloco por base de macro-bloco. O sinal resultante é então decodificado por um quantizador inverso 108 e o DCT inverso 109. Uma vez que o quadro é INTRA codificado, o comutador 113 é aberto. A saída do somador 110 é a entrada para o primeiro armazenador de imagem 107a. Para este propósito, o comutador 114a está próximo considerando que os comutadores 114b - g estão abertos. Assim, o armazenador de quadro 107 assegura uma versão decodificada da imagem de referência 10. A próxima imagem a ser codificada é o quadro 3, o qual é para ser predito diretamente do 10. Em adição, quando o quadro 3 é entrado no 101, o comutador 102 é alterado para o modo INTER, a saída do comutador 115 do armazenador de imagem de referência mais recente (isto é, o comutador 115a) é fechado e os conteúdos de movimento compensado do armazenador de imagem 107 são subtraídos do sinal de entrada, os dados de compensação de movimento tendo sido calculado de maneira convencional. O erro de predição é então codificado pelo DCT 103 e o quantizador 104 e decodificado pelo quantizador inverso 108 e o IDCT 109. O comutador 113 é então fechado, o comutador 115a fechado e o comutador 114b fechado (os outros comutadores 114 e 115 estando abertos). Assim, o somador 110 adiciona a imagem decodificada para a imagem como armazenado no armazenador de imagem 107a e armazena o resultado no armazenador de imagem 107b. O próximo quadro a ser codificado é o quadro 2, o qual é para ser codificado como o quadro-B. Assim, os conteúdos de ambos os armazenadores de quadro 107a e 107b são feitos disponíveis ao subtrator 106 de maneira convencional. Os quadros-B não formam uma imagem de referência para qualquer outro quadro, o quadro-B codificado não é decodificado e armazenado no armazenador de imagem de referência.
Assim, no caso descrito acima, após os 19 quadros, os armazenadores de quadro 107a a 107g contém as versões decodificadas dos quadros 10, P3, P6, P9, P12, P15 e P18 respectivamente.
Na invenção, quando o codificador codifica o quadro de uma maneira preditiva, o gerenciador de controle de codificação 105 pode associar com o quadro um Número de Imagem de Referência de Reserva (NIRR). Por exemplo, o NIRR pode ser associado com os quadros P e B do sinal de vídeo, mas não com os quadros-I.
Os codificadores podem usar esta mensagem para instruir os decodificadores cuja imagem de referência ou imagens se assemelham à imagem de referência atual, assim que uma delas possa ser usada como uma imagem de referência de reserva se a imagem de referência atual for perdida durante a transmissão.
Quando o quadro 3 for codificado com referência ao quadro 0, nenhum outros quadros de referência são armazenados nos armazenadores de imagem de referência 107a - g. Em adição, nenhum NIRR é associado com o quadro 3. Similarmente, quando os quadros 1 e 2 são codificados bi-direcionalmente com referência aos quadros 0 e 3, não existem outros quadros seguros nos armazenadores de imagem de referência 107a-g. Em adição, nenhum NIRR é associado com estes quadros.
Contudo, quando o quadro 6 é predito diretamente do quadro 3 (a versão codificada a qual é armazenada no armazenador de imagem 107b) existe também uma copia decodificada do quadro 10 no armazenador de imagem 107a. O codificador calcula a similaridade entre a imagem de referência default do quadro atual (isto é, o quadro 3 para o quadro 6) e os conteúdos dos outros armazenadores de imagem cheios, isto é, o armazenador de imagem 107a. Se duas imagens de referência são suficientemente similares (por exemplo, a correlação entre os conteúdos do armazenador de quadro 107a e 107b está acima do limiar), o codificador associa o NIRR com os dados para o quadro 6. O NIRR identifica o quadro 0 como uma imagem de referência de reserva. Contudo, se a similaridade não for suficiente, nenhum NIRR é associado com o quadro 6. A forma na qual a medida de similaridade é gerada não é material para a invenção e qualquer medida adequada de similaridade pode ser usada. Por exemplo, o Somatório das Diferenças Absolutas (SDA) pode ser usado como medida de similaridade. Preferivelmente, o valor SDA é calculado obtendo a diferença no valor entre os pixels correspondentes espacialmente na imagem de referência default para o quadro atual e outro quadro de referência em “potencial”, isto é, um quadro armazenado em um dos armazenadores de imagem 107. O valor absoluto de cada diferença é obtido e os valores de diferença absolutos são acumulados para formar o SDA. Desta forma, o SDA é representativo de similaridade entre o quadro de referência default e o outro quadro de referência potencial. Claramente, duas imagens podem ser suficientemente similares quando o SDA entre elas está abaixo do limiar. Altemativamente, a similaridade no quadro de referência default e o outro quadro de referência potencial para a imagem atual pode ser avaliado usando histogramas de imagem. O histograma de imagem é a medida do número de ocorrências dos valores de pixel dentro de uma determinada imagem e duas imagens podem ser julgadas similares se seus histogramas correspondem a um grau significante.
Em uma incorporação alternativa da invenção, ao invés de determinar a similaridade entre o quadro de referência default para o quadro atual e outro quadro de referência potencial, o codificador examina a similaridade entre o outro quadro de referência em potencial disponível em um dos armazenadores de imagem 107 e o próprio quadro atual. Nesta incorporação alternativa da invenção, o limiar é estabelecido definindo a diferença máxima permissível entre o quadro atual e o quadro de referência em potencial. Assim, qualquer quadro armazenado que exibe uma similaridade suficientemente alta (diferença pequena) com o quadro atual pode ser usado como a imagem de referência de reserva para a imagem atual. Novamente, o Somatório das Diferenças Absolutas (SDA), o histograma da imagem, ou qualquer outro método apropriado pode ser usado para avaliar o grau de similaridade/diferença entre o quadro atual e o outro quadro(s) de referência potencial.
Como será apreciado, quando o quadro 15 está para ser codificado (como o quadro-P), as versões decodificadas dos quadros 0, 3, 6, 9 e 12 são seguras nos armazenadores de imagem 114a-e respectivamente. Por default, o quadro 15 é codificado com referência ao quadro 12 como armazenado no armazenador de imagem 107e. O codificador também executa o cálculo da correlação entre os dados no armazenador de imagem 107e e os dados armazenados nos outros armazenadores de imagem 107a-d cheios. O codificador identifica o armazenador de imagem (e conseqüentemente a imagem de referência) que tem a correlação mais próxima com os conteúdos do armazenador de imagem 107e, isto é, com a imagem de referência default para o quadro atual sendo codificado. O codificador então adiciona o NIRR aos dados codificados que indicam a imagem de referência identificada. Este NIRR pode ser igual à Referência Temporal da imagem de referência como será descrito abaixo.
Mais de um NIRR pode ser associado com o quadro. Neste caso, os NIRR são ordenados dentro do cabeçalho da imagem na ordem de similaridade, a imagem de referência mais similar (diferente da default) sendo mencionada primeiro. O gerenciador de controle de codificação 105 produz esta palavra código NIRR na saída 112f, a qual indica o Número da Imagem de Referência de Reserva com o quadro codificado. Este é multiplexado no fluxo de bits de vídeo pelo multiplexador. A FIGURA 4 ilustra a operação da primeira incorporação do codificador. A primeira linha da FIGURA 4 representa os quadros de dados recebidos do dispositivo de entrada de captura e a entrada para o codificador de vídeo na entrada 101. A segunda linha da FIGURA 4 representa estes quadros do sinal de entrada que o codificador decide codificar e o modo de codificação usado para codificar cada quadro. Como mencionado acima, neste exemplo o codificador é disposto para codificar todo o quadro e para usar o formato de codificação IBBP. O quadro 0 é codificado no modo-INTRA; o quadro 1 é codificado como um quadro-B com referência ao quadro 0 e/ou 3; o quadro 2 é codificado como o quadro-B com referência ao quadro 0 e/ou 3; o quadro 3 é codificado como o quadro-P com referência ao quadro 0; o quadro 4 é codificado como o quadro-B com referência ao quadro 3 e/ou 6; o quadro 5 é codificado como o quadro-B com referência ao quadro 3 e/ou 6; o quadro 6 é codificado como um quadro-P com referência ao quadro 3 e etc. A terceira linha da FIGURA 4 apresenta o campo NIRR associado com os quadros do sinal codificado. Nesta incorporação, o NIRR é associado com os quadros-P e os quadros-B, como apresentado na terceira linha da FIGURA 4. Os quadros-P e os quadros-B dos quadros codificados são codificados preditivamente e temporariamente e os quadros-I não são. A quarta linha da FIGURA 4 apresenta a Referência Temporal (RT) do quadro codificado. Este é um campo incluído no H.263 e o valor da RT é formado pelo incremento do seu valor no cabeçalho da imagem de referência prévia temporariamente por um mais o número de saltos ou de imagens de não referência desde uma imagem de referência transmitida previamente. Então, no exemplo apresentado na FIGURA 4 a RT apresentada para cada quadro é a mesma da ordem temporal original dos quadros na entrada do sinal original para 101.
Exemplos de possíveis valores NIRR são apresentados. Estes valores indicam a RT do quadro de referência de reserva como identificado pelo codificador como descrito acima. Embora este exemplo apresente apenas um NIRR para cada imagem codificada preditivamente, mais de uma pode ser associada com cada imagem codificada preditivamente, como descrito anteriormente. A FIGURA 5 ilustra a operação da segunda incorporação do codificador de acordo com a invenção. Nesta incorporação, o codificador é disposto para codificar os quadros de acordo com a seqüência regular IBBPBBPBBPBBPBBIBBP. Contudo, na incorporação, o NIRR é associado apenas com os quadros preditos diretamente (isto é, os quadros-P). A primeira linha da FIGURA 5 apresenta os quadros de entrada e a segunda linha apresenta os quadros codificados e seus modos de codificação I, P ou B. A terceira linha da FIGURA 5 apresenta o NIRR associado com os quadros-P. Este pode ser gerado como discutido acima com referência à FIGURA 3 a. A quarta linha da FIGURA 5 apresenta a Referência Temporal (RT) do quadro codificado. Como no exemplo apresentado na FIGURA 4, a RT apresentada para cada quadro é a mesma da ordem temporal original dos quadros na entrada de sinal original 101.
Considerando o terminal 1 como recebendo os dados de vídeo codificados do terminal 2, a operação do codec de vídeo 10 será agora descrita com referência a sua regra de decodificação. O terminal 1 recebe o sinal de multimídia do terminal de transmissão 2. O demultiplexador 50 demultiplexa o sinal de multimídia e passa os dados de vídeo para o codec de vídeo 10 e os dados de controle para o gerenciador de controle 40. O decodificador 200 do codec de vídeo decodifica os dados de vídeo codificados pela quantização inversa, pela transformação DCT inversa e pela compensação de movimento dos dados. O controlador 124 do decodificador verifica a integridade dos dados recebidos e, se um erro for detectado, tentativas da maneira para ocultar o erro serão descritas abaixo. Os dados de vídeo decodificados, corrigidos e ocultados são então armazenados em um dos armazenadores de imagem 123 e produz para a reprodução no visor 70 do terminal de recepção 1.
Os erros nos dados de vídeo podem ocorrer no nível da imagem, no nível GOB ou no nível do macro-bloco. A verificação de erro pode ser executada de qualquer ou de todos estes níveis.
Considerando o primeiro sinal como apresentado na FIGURA 4, quando o decodificador de acordo com a invenção recebe este sinal, cada quadro do sinal é decodificado de uma maneira convencional e então visualizado no visor. O quadro decodificado pode ser um erro corrigido e um erro codificado de uma maneira convencional. A cada vez que um quadro for decodificado, o decodificador examina o campo RT para determinar quando o quadro está para ser visualizado.
No caso apresentado na FIGURA 4 o decodificador recebe o quadro 0 e determina de seu cabeçalho de imagem que o quadro é INTRA-codificado. O decodificador decodifica o quadro 0 sem referência a qualquer outra imagem e armazena esta no armazenador de imagem 123a. O decodificador então recebe o quadro 3 e determina de seu cabeçalho de imagem que o quadro é INTER-codificado como o quadro-P. O decodificador então decodifica o quadro 3 com referência ao quadro 0 de referência precedente e armazena este no próximo armazenador de imagem 123b. O decodificador então decodifica os quadros 1 e 2 com referência aos quadros 0 e 3 e assim por diante. Estes quadros não são armazenados no armazenador de imagem 123, como as imagens-B, eles não são usados como um quadro de referência para qualquer outro quadro.
Assumiremos que o decodificador não é capaz de codificar (e então reconstruir) o quadro 9 (isto poderia ser devido aos dados sendo totalmente corrompidos ou sendo totalmente perdidos). O próximo quadro recebido pelo decodificador é o quadro 7, com RT=7, e NIRR-0. Como o quadro 9 (uma das imagens de referência default para o quadro 7) não foi decodificado pelo decodificador, o decodificador procura o NIRR no cabeçalho do quadro recebido para a predição traseira. Contudo, o quadro 7 não inclui o NIRR na direção traseira. Em adição, o decodificador não é capaz de decodificar o quadro 7. Este é também o caso para o quadro 8. O próximo quadro a ser recebido é o quadro 12, o qual foi codificado com referência a imagem 9 e tem o NIRR=6. Uma vez que o quadro 9 não foi decodificado, o decodificador usa a imagem de referência indicada pelo NIRR (isto é, o quadro 6 armazenado no armazenador de imagem 123c) para decodificar o quadro 12. O decodificador então recebe o quadro 10, o qual foi codificado com referência aos quadros 9 e 12. O quadro 9 nao foi decodificado pelo decodificador. Contudo, o quadro 10 tem o NIRR=6. Em adição, o decodificador usa o quadro 6 de referência decodificado, armazenado no armazenador de imagem 123c, para decodificar o quadro 10 na direção para frente, melhor do que o quadro 7. Isto é também verdade para o quadro 11. O decodificador pode detectar a omissão de um quadro de referência em um número de formas, por exemplo, a informação relatando a ordem temporal de cada quadro codificado pode ser examinada. Altemativamente, os quadros de referência de um sinal codificado podem ser alocados um número em uma ordem seqüencial como descrito no pedido de patente da Inglaterra depositado pelo depositante na mesma data.
Se o decodificador tem a facilidade para enviar os dados de realimentação de controle para o codificador de vídeo de transmissão, o decodificador pode enviar um pedido para o codificador de vídeo de transmissão para codificar o quadro como um quadro-INTRA e então parar a propagação de erro temporal que resultaria dos quadros 10 e 11 sendo decodificados com referência ao quadro 6. O decodificador continua a decodificar o sinal de uma maneira convencional.
Quando o decodificador recebe o quadro 21, o qual é um quadro INTRA, o decodificador decodifica o quadro 21 sem referência a qualquer outro quadro e armazena o quadro decodificado no armazenador de imagem 123. O decodificador então decodifica os quadros 19 e 20 com referência aos quadros 18 e 21. Embora algum erro possa ter sido introduzido ao quadro 18 pelo quadro de decodificação 12 com referência ao quadro 6 melhor do que o quadro 9, a imagem resultante deveria ser aceitável e a imagem visualizada não é mantida congelada até que uma imagem INTRA seja recebida. Isto pode ser mais aceitável para o visualizador.
Considerando agora o sinal como apresentado na FIGURA 5, quando o decodificador de acordo com a invenção recebe este sinal, cada quadro do sinal é decodificado de uma maneira convencional e então visualizado no visor. O quadro decodificado pode ser um erro corrigido e um erro oculto de uma maneira convencional. A cada vez que um quadro for decodificado, o decodificador examina o campo RT para determinar quando o quadro está para ser visualizado. O decodificador recebe o quadro 0, o qual é um quadro INTRA e decodifica este adequadamente e armazena este no armazenador de imagem 123a. Assumiremos que o decodificador não é capaz de reconstruir o quadro 3 (isto poderia ser devido ao fato dos dados sendo totalmente corrompidos ou totalmente perdidos) e o próximo quadro recebido e decodificado pelo decodificador é o quadro 1. O quadro 1 é um quadro bidirecional codificado com referência ao quadro 0 e 3. Uma vez que o quadro 3 for perdido, o decodificador não é capaz de reconstruir o quadro 1 e similarmente o quadro 2. O fato de que os quadros-B 1 e 2 tem sido perdidos não tem conseqüência para o decodificador uma vez que o quadro-B não forma uma imagem de referência para qualquer outro quadro e então a sua perda não introduzirá qualquer propagação de erro temporal. O decodificador continua a decodificar o sinal de uma maneira convencional. O próximo quadro recebido e decodificado pelo decodificador é o quadro 6. O decodificador sabe que a imagem de referência precedente P3 tem sido perdida (porque esta não poderia decodificar o quadro 1 ou 2). O decodificador então examina o cabeçalho do quadro recebido para um NIRR. O decodificador determina que o quadro 6 tem um NIRR=0 e então usa o quadro 0 no armazenador de imagem 123 a para decodificar o quadro 6.
Se o decodificador tem a facilidade para enviar os dados de realimentação de controle para o codificador de vídeo de transmissão, o decodificador pode enviar um pedido para o codificador de vídeo de transmissão para codificar o quadro como um quadro-INTRA e então parar a propagação de erro temporal que resultaria dos quadros subsequentes sendo decodificados com referência ao quadro 6, o qual foi decodificado com referência ao quadro 0 melhor do que o quadro 3 default. Contudo, o decodificador pode continuar a decodificar e não congela a imagem no visor, enquanto este espera por um quadro INTRA-codificado.
Como o número da imagem de referência de reserva pode ser incluído no sinal codificado este será endereçado com referência ao padrão de codificação de vídeo Η.263. A FIGURA 6 apresenta a sintaxe do fluxo de bits como conhecido de acordo com ο H.263. As implementações a seguir descrevem o formato GOB, mas ficará claro para uma pessoa qualificada que a invenção pode ser implementada no formato de fatia.
Como já mencionado, o fluxo de bits possui quatro camadas: a camada de imagem, a camada de segmento de imagem, a camada do macro-bloco e a camada do bloco. A camada da imagem compreende o cabeçalho da imagem seguido pelos dados para o Grupo de Blocos, eventualmente seguido por qualquer código de final-seqüência opcional e bits de enchimento. O fluxo de bits H.263 da técnica anterior é formatado como apresentado na FIGURA 6. Uma descrição para cada parte é determinada abaixo: A estrutura como apresentado na FIGURA 6 não inclui o campo de dados opcional SOMATIPO. ISBI está presente apenas se indicado por MPC. TRb e QUANTBD apenas estão presentes se TIPOI indicar o uso do denominado modo de quadro-PB (a menos que o campo SOMATIPO esteja presente e o uso do QUANTBD for indicado intemamente). Estes assuntos são endereçados em maiores detalhes na especificação H.263.
Os parágrafos a seguir esboçam as possíveis implementações da saída do fluxo de bits pelo codificador de acordo com o primeiro aspecto da invenção. O número da imagem de referência reserva pode ser incorporado no fluxo de bits H.263 como a seguir. A FIGURA 7 apresenta um exemplo de produção de um fluxo de bits por um codificador de acordo com a primeira implementação da invenção. Como apresentado na FIGURA 7, o fluxo de bits inclui uma palavra código adicional NIRR, que é uma palavra código que indica o número da imagem de referência de reserva. Isto é inserido pelo codificador de acordo com a invenção, como descrito acima.
Altemativamente, o NIRR pode ser incluído na Informação de Aperfeiçoamento Suplementar PSUPP (ver Anexo L do H.263 e a FIGURA 4). A informação suplementar pode estar presente no fluxo de bits, embora o decodificador possa não ser capaz de prover a capacidade aumentada para usar esta, ou até mesmo interpretar esta corretamente. Simplesmente descartando, a informação suplementar é permissível através dos decodificadores, a menos que uma exigência para prover a capacidade solicitada tenha sido negociada por dispositivos externos.
Se o PEI for fixado em “1”, então 9 bits seguem consistindo de 8 bits de dados (PSUPP) e então outro bit PEI para indicar se outros 9 bits adicionais seguem e assim por diante.
Os dados PSUPP consistem em uma indicação do tipo de função de 4-bits TIPOF, seguido pela especificação do tamanho dos dados de parâmetro TAMANHOD seguido pelos octetos TAMANHOD da função de dados de parâmetro, opcionalmente seguido por outro TIPOF e assim por diante. É conhecido usar esta palavra código PSUPP para sinalizar várias situações tais como: indicar toda-imagem ou o congelamento da imagem-parcial ou um pedido de liberação-congelamento com ou sem re-dimensão; para indicar as imagens particulares ou uma seqüência de imagens dentro do fluxo de vídeo para uso externo; ou carregar a informação de chave de crominância para a composição de vídeo.
Para implementar a invenção usando a Informação de Aperfeiçoamento Suplementar, um outro TIPOF é definido como o Número da Imagem de Referência de Reserva. A FIGURA 8 ilustra um exemplo, onde o parâmetro NIRR é incluído no SEI do cabeçalho da imagem. O TIPOF é definido como NIRR. O TAMANHOD especifica o tamanho do parâmetro e o octeto seguinte é o dado de parâmetro, isto é, o valor do NIRR. Deste valor, o decodificador de recepção pode determinar se a imagem de referência de reserva é definida, a qual pode ser usada se a imagem de referência principal tem sido perdida ou corrompida.
Altemativamente, a informação pode estar contida na Informação de Aperfeiçoamento Suplementar adicional como especificado no “Edital do novo Anexo W: Especificação Informação de Aperfeiçoamento Suplementar Adicional” P.Ning e S. Wenger, Grupo de Estudo ITU-T 16 Pergunta 15 Documento Q15-I-58, novembro de 1999.
Nesta proposta do edital para o Anexo W, o TIPOF 14 é definido como “Mensagem de Imagem”. Quando este TIPOF for estabelecido, a função da mensagem de imagem indica a presença de um ou mais octetos representando os dados da mensagem. O primeiro octeto dos dados da mensagem é o cabeçalho da mensagem com a estrutura apresentada na FIGURA 9, isto é, CONT, BITF e TIPOM. TAMANHOD é igual ao número de octetos nos dados da mensagem que correspondem a uma função da mensagem de imagem, incluindo o primeiro cabeçalho da mensagem de octeto. O campo de continuação CONT, se igual a 1, indica que os dados da mensagem associados com a mensagem de imagem é parte da mesma mensagem lógica como os dados da mensagem associados com a próxima função da mensagem de imagem. O campo de posição do Bit Final BITF especifica o número de bits menos significativos que serão ignorados no último octeto da mensagem. Outros detalhes destes campos podem ser encontrados no edital do Anexo W. O campo TIPOM indica o tipo de mensagem. Vários tipos de mensagem são sugeridos no edital do Anexo W. De acordo com a invenção um tipo, por exemplo, o TIPOM 13 é definido como Imagens de Referência de Reserva. O valor do TIPOM 13 é definido no octeto seguinte ao cabeçalho da imagem. Os bytes de dados da mensagem contêm o Número de Imagem das imagens de referência de reserva na ordem de preferência (a mais preferida aparecendo primeiro). Os números da Imagem referem aos valores que são transmitidos de acordo com o Anexo U ou Anexo W seção W.6.3.12. O formato da mensagem de acordo com o Anexo W pode ser usado para P, B, PB, PB Melhorado, e tipos de imagem EP. Contudo, se o Anexo N ou Anexo U está em uso e se a imagem for associada com as imagens de referência múltiplas, o formato da mensagem de acordo com o Anexo W preferivelmente não deveria ser usado. Para as imagens EP, a mensagem preferivelmente deveria ser usada apenas para a predição para a frente, considerando que a predição ascendente pode sempre ser feita da imagem da camada de referência correspondente temporariamente. Para os tipos de imagem B, PB, e PB Melhorado, a mensagem especifica uma imagem para usar como uma referência de predição de movimento para frente. Esta mensagem não deverá ser usada se a imagem for uma imagem I ou EI.
No exemplo específico, onde a imagem de referência de reserva é indicado e o NIRR é representado com 10 bits, esta mensagem contém um byte de dados, isto é, o TAMANHOD é 3, CONT é 0, e o BITF é 6. Deveria ser apreciado que os valores do TAMANHOD, CONT e BITF variam de acordo com as imagens de referência de reserva indicadas e a precisão (número de bits) com a qual os números de imagem de referência de reserva são representados. Se mais de um número de imagem de referência reserva for indicado, então preferivelmente os bytes de dados da mensagem contêm o Número(s) da Imagem de Referência de Reserva das imagens de referência de reserva na ordem de preferência (a mais preferida aparecendo primeiro). A descrição acima tem feito referência aos fluxos de vídeo codificados no qual as imagens (imagens-B) preditas bi-direcionalmente são codificadas. Como mencionado anteriormente, as imagens-B nunca são usadas como imagens de referência. Uma vez que elas podem ser descartadas sem infringir a qualidade da imagem das imagens futuras, elas fornecem escalabilidade temporal. A escalabilidade permite a decodificação de uma seqüência de vídeo compactada em mais de um nível de qualidade. Em outras palavras, um clipe de multimídia por escala pode ser compactado de forma que este seja transmitido sobre os canais com diferentes taxas de dados e ainda sejam decodificados e reproduzidos em tempo real.
Assim, o fluxo de vídeo pode ser decodificado de diferentes formas por diferentes decodificadores. Por exemplo, o decodificador pode decidir apenas decodificar as imagens -I e - P de um sinal, se esta for a taxa máxima de decodificação que o decodificador pode alcançar. Contudo, se o decodificador tiver a capacidade, este pode também decodificar as imagens-B e conseqüentemente aumentar a taxa de visualização da imagem. Assim, a qualidade da imagem percebida da imagem visualizada será aperfeiçoada sobre o decodificador que apenas decodifica as imagens -I e -P. A multimídia de escala é tipicamente ordenada de forma que existam camadas hierárquicas dos dados. A camada base contém uma representação básica do clipe de multimídia considerando que as camadas de aperfeiçoamento contêm os dados de refinamento no topo das camadas subjacentes. Conseqüentemente, as camadas de aperfeiçoamento melhoram a qualidade do clipe. A escalabilidade é uma propriedade desejável para ambientes heterogêneos e propensos a erros. Esta propriedade é desejável de forma a contar as limitações tal como a restrição na taxa de bits, a resolução do visor, o congestionamento da rede, e a complexidade do decodificador. A escalabilidade pode ser usada para melhorar a resiliência ao erro no sistema de transporte, onde a codificação em camadas é combinada com a prioridade de transporte. O termo prioridade de transporte aqui se refere a vários mecanismos para fornecer diferentes qualidades de serviços no transporte, incluindo a predição de erro desigual, para fornecer diferentes canais possuindo diferentes taxas de erro/perda. Dependendo da sua natureza, os dados são diferentemente designados. Por exemplo, a camada base pode ser entregue através do canal com alto grau de proteção de erro, e as camadas de aperfeiçoamento podem ser transmitidas através de mais canais propensos a erro.
Geralmente, a codificação de multimídia de escala sofre de uma pior eficiência de compressão do que a codificação de não-escala. Em outras palavras, o clipe de multimídia codificado como um clipe de multimídia de escala com camadas de aperfeiçoamento requer maior largura de banda do que se este tiver sido codificado como um clipe de camada-única não-escalável com qualidade igual. Contudo, exceções para esta regra geral existem, por exemplo, os quadros-B escaláveis temporariamente na compressão de vídeo. A invenção pode ser aplicada a outros sistemas de compressão de vídeo escaláveis. Por exemplo, no Anexo O do H.263, duas outras formas de escalabilidade são definidas: escalabilidade de sinal/ruído (SNR) e a escalabilidade espacial. A escalabilidade espacial e a escalabilidade SNR são relacionadas, a diferença apenas sendo a resolução espacial aumentada fornecida pela escalabilidade espacial. Um exemplo das imagens escaláveis SNR é apresentado na FIGURA 10. A escalabilidade SNR implica a criação de fluxos de bits de múltiplas taxas. Isto permite recuperar os erros de codificação, ou as diferenças entre uma imagem original e sua reconstrução. Isto é alcançado pelo uso de um quantizador mais fino para codificar a diferença da imagem na camada de aperfeiçoamento. Esta informação adicional aumenta o SNR de toda a imagem reproduzida. A escalabilidade espacial permite a criação dos fluxos de bits de múltiplas resoluções para encontrar os vários requerimentos do visor e/ou restrições. A estrutura de escala espacial é ilustrada na FIGURA 11. É essencialmente a mesma da escalabilidade SNR exceto que as tentativas da camada de aperfeiçoamento para recuperar a perda da codificação entre uma versão amostrada-superior da imagem da camada de referência reconstruída e a versão de resolução superior da imagem original. Por exemplo, se a camada de referência tem uma resolução de formato intermediário comum quaternário (QCIF), e a camada de aperfeiçoamento possui uma resolução de formato intermediário comum (CIF), a imagem da camada de referência deve ser escalada adequadamente, tal que a imagem da camada de aperfeiçoamento pode ser predita desta. O padrão QCIF permite que a resolução seja aumentada pelo fator de dois apenas na direção vertical, apenas na direção horizontal, ou em ambas as direções vertical e horizontal para uma única camada de aperfeiçoamento. Pode haver múltiplas camadas de aperfeiçoamento, cada uma aumentando a resolução da imagem sobre a da camada prévia. Os filtros de interpolação usados para a amostra-superior da imagem da camada de referência são definidos explicitamente no padrão H.263. Aparte do processo de amostragem-superior da referência para a camada de aperfeiçoamento, o processamento e a sintaxe de uma imagem escalada espacialmente são idênticas a estas de uma imagem escalada SNR.
Na escalabilidade SNR ou na espacial, as imagens da camada de aperfeiçoamento são referenciadas como imagens-EI ou EP. Se a imagem da camada de aperfeiçoamento é predita ascendentemente de uma imagem na camada de referência, então a imagem da camada de aperfeiçoamento é referenciada como um Aperfeiçoamento-I (EI) da imagem. Neste tipo de escalabilidade, a camada de referência significa a camada “abaixo” da camada de aperfeiçoamento atual. Em alguns casos, quando as imagens da camada de referência são preditas pobremente, a sobre-codificação das partes estáticas da imagem pode ocorrer na camada de aperfeiçoamento, ocasionando desnecessariamente uma taxa de bits excessiva. Para evitar este problema, a predição direta é permitida na camada de aperfeiçoamento. A imagem que pode ser predita na direção para frente da imagem da camada de aperfeiçoamento prévia ou, altemativamente predita ascendentemente da imagem da camada de referência é referenciada como um Aperfeiçoamento-P (EP) da imagem. Note que ao calcular a média das imagens preditas ascendentemente e para frente pode prover a predição bidirecional para as imagens-EP. Para ambas as imagens-EI e -EP, a predição ascendente da imagem da camada de referência implica que nenhum dos vetores de movimento é solicitado. No caso da predição direta para as imagens-EP, os vetores de movimento são solicitados. O campo NIRR pode ser associado com P, PB, PB Melhorado, e as imagens da camada de aperfeiçoamento (EP). As características dos quadros PB e PB Melhorado são descritas respectivamente no Anexo G e no Anexo M do H.263.
Contudo, se o Anexo N ou Anexo U está em uso e se a imagem é associada com as imagens de referência múltiplas, o NIRR não é usado. Para as imagens PB e PB Melhorada, a mensagem tipicamente concerne apenas a parte-P. Para as imagens EP, a mensagem é usada para a predição para frente, considerando que a predição ascendente é feita da imagem da camada de referência correspondente temporariamente. Esta mensagem preferivelmente não é usada se a imagem é uma imagem I, EI ou B.
Se o codificador for capaz da codificação de múltiplas camadas (por exemplo, como discutido no Anexo O do H.263) cada camada possui os Números da Imagem de Referência de Reserva consecutivos. Estes podem ser associados com o número da camada de aperfeiçoamento (NUMCA) da imagem atual. O Número da Imagem de Referência de Reserva é incrementado por um do número correspondendo a imagem de referência codificada prévia na mesma camada de aperfeiçoamento. Contudo, se as imagens adjacentes na mesma camada de aperfeiçoamento possui a mesma referência temporal, e se o Anexo N ou o Anexo U do H.263 está em uso, o decodificador preferivelmente considera isto como uma indicação de que as cópias redundantes têm sido enviadas de aproximadamente o mesmo conteúdo de cena imaginado, e todas estas imagens então compartilham o mesmo Número da Imagem.
Deveria também ser observado que de acordo com uma incorporação da invenção, é possível indicar um NIRR para uma área retangular específica da imagem atual. Pode haver múltiplas mensagens para uma imagem cada uma especificando os NIRRs para as áreas retangulares não sobrepostas da imagem atual. Se as mensagens não especificam um NIRR para algumas áreas da imagem, o decodificador pode usar o encobrimento de erro para encobrir os erros nestas áreas se o quadro de referência correspondente (ou área desta) da qual elas são preditas não pode ser decodificada. Nesta situação, o decodificador preferivelmente usa o método de encobrimento que corresponde ao tipo de imagem, isto é, para uma imagem INTRA o método de encobrimento de erro INTRA é usado e para uma imagem INTER o método de encobrimento de erro INTER é usado.
Um exemplo específico da situação acima, na qual os valores NIRR são fornecidos para diferentes áreas da imagem atual, será agora determinado. Cada mensagem NIRR, compreende um NIRR e quatro octetos PSUPP contendo a localização horizontal e vertical do ângulo superior esquerdo da área retangular especificada da imagem, e a largura e a altura da área retangular, respectivamente, usando oito bits cada e expresso em unidades de 16 pixels (de imagem de luminância). Por exemplo, usando esta convenção, toda a imagem QCIF é especificada pelos quatro parâmetros (0, 0, 11, 9).
Para os formatos de imagem possuindo a largura e a altura que não é divisível por 16, a área especificada pode estender para o próximo tamanho mais largo que seria divisível por 16. Por exemplo, toda a imagem que possui o tamanho de 160 x 120 pixels é especificada por quatro parâmetros (0, 0, 10, 8). Preferivelmente, a área especificada não atravessa os limites da imagem nem sobrepõe as outras áreas de encobrimento de erro especificadas da mesma imagem. A invenção pode ser implementada em outros protocolos de codificação de vídeo. Por exemplo, o MPEG-4 define os dados do usuário, os quais podem conter quaisquer dados binários e não é necessariamente associado com a imagem. O campo adicional pode ser adicionado para estes campos. A invenção não é pretendida para ser limitada aos protocolos de codificação de vídeo discutidos acima: os quais são pretendidos para serem apenas exemplos. A invenção é aplicável a qualquer protocolo de codificação de vídeo usando a predição temporal. A adição da informação como discutido acima, permite ao decodificador de recepção determinar a melhor causa da ação se a imagem for perdida.
REIVINDICAÇÕES

Claims (25)

1. Método para codificar um sinal de vídeo representando uma sequência de imagens, para formar um sinal dc vídeo codificado, o método compreendendo a recepção de uma imagem atual da sequência para codificação, formando uma predição temporal de pelo menos uma parte da imagem atual a partir de uma imagem de referência default para a imagem atual, CARACTERIZADO pelo fato dc que o método compreende o fornecimento de um indicador para a imagem atual ou uma parte da imagem atual, o indicador identificando uma outra imagem da sequência que pode ser usada como uma imagem de referência alternativa para a imagem atual ou a dita parte da imagem atual, quando da decodificação do sinal dc vídeo codificado.
2. Método, de acordo com a reivindicação l, CARACTERIZADO pelo fato dc que compreende identificar a outra imagem da sequência que pode ser usada como uma imagem de referência alternativa para a imagem atual ou a referida parte da imagem atual, comparando ao menos parte da imagem de referência default ou a imagem atual com pelo menos uma outra imagem da sequência para calcular uma medida da similaridade entre a imagem dc referência default ou a imagem atual e cada uma das ditas pelo menos uma outra imagem c, sc a medida dc similaridade calculada usando uma outra imagem particular encontrar um critério pré-determinado, produzir um indicador identificando a outra imagem particular como unia imagem da sequência que pode ser usada como uma imagem de referência alternativa para a imagem atual ou a dita parte da imagem atual.
3. Método dc acordo com a reivindicação 1, CARACTERIZADO pelo fato dc que compreende formar a predição temporal de ao menos uma parte da imagem atual da primeira imagem de referência default e a segunda imagem de referência default para a imagem atual, a dita primeira imagem de referência default ocorrendo temporariamente antes da imagem atual e a dita segunda imagem dc referência default ocorrendo temporariamente após a imagem atual, comparando ao menos parte da primeira imagem de referência default ou a imagem atual com ao menos uma outra imagem da sequência que ocorre temporariamente antes da imagem atual para calcular uma medida dc similaridade entre a primeira imagem de referência default ou a imagem atual e cada uma das ditas pelo menos uma outra imagem e, se a medida dc similaridade calculada usando uma outra imagem particular encontrar um critério pré-determinado, produzir um indicador identificando a outra imagem particular como uma imagem da sequência que pode ser usada como uma imagem de referência alternativa para a imagem atual ou a dita parte da imagem atual.
4. Método, de acordo com a reivindicação 1, CARACTERIZADO pelo fato de que compreende ainda a comparação de pelo menos parte da imagem de referência default ou a imagem atual com uma pluralidade de outras imagens, produzir um indicador para cada imagem adicional que encontra o critério pré-determinado e proporciona mais do que um indicador para a imagem atual ou uma parte da imagem atual, classificando as outras imagens que encontram com o critério pré-determinado e fornecer os seus indicadores associados com a imagem atual ou a dita parte da imagem atual por ordem de classificação, as outras imagens que possuem a maior semelhança em relação à imagem de referência default ou da imagem atual sendo colocada em primeiro lugar na ordem de classificação.
5. Método, de acordo com qualquer uma das reivindicações 1 a 4, CARACTERIZADO pelo fato de que compreende ainda qualquer um dos seguintes: - se o indicador ou indicadores é/são associados com uma imagem atual inteira, o indicador ou indicadores é/são incluídos em um cabeçalho de imagem do sinal de vídeo codificado. - se o indicador ou indicadores é/são associados com uma parte da imagem atual, o indicador ou indicadores é/são incluídos no cabeçalho do segmento da imagem ou um cabeçalho de macrobloco do sinal de vídeo codificado, ou - o indicador ou indicadores é/são incluídos na Informação de Aperfeiçoamento Suplementar de uma sequência de imagens codificadas de acordo com o padrão de compressão de vídeo H.263.
6. Método de acordo com a reivindicação 1, CARACTERIZADO pelo fato de que o indicador identifica uma outra imagem como uma imagem da sequência que pode ser usada como uma imagem de referência alternativa para a imagem atual ou a dita parte da imagem atual indica a referência temporal da outra imagem.
7. Método, de acordo com a reivindicação 1, CARACTERIZADO pelo fato de que compreende qualquer um dos seguintes: - indicação de imagens de referência alternativas para imagens B e imagens P ou - indicação de imagens de referência alternativas apenas para imagens P.
8. Método de acordo com a reivindicação 1, CARACTERIZADO pelo fato de que o indicador é fornecido com a imagem atual ou a dita parte da imagem atual.
9. Método para decodificar um sinal de vídeo codificado representando uma sequência de imagens, o sinal de vídeo codificado inclui as imagens que foram codificadas formando uma predição temporal de ao menos parte de uma imagem atual de uma imagem de referência default para a imagem atual, o método compreendendo receber um sinal de vídeo codificado representando uma imagem atual, CARACTERIZADO pelo fato de que quando o decodificador é incapaz de decodificar uma imagem de referência default para a imagem atual, examinando um indicador fornecido para a imagem atual ou parte da imagem atual, o indicador identificando uma outra imagem da sequência que pode ser usada como uma imagem de referência alternativa para a imagem atual ou a dita parte da imagem atual ao decodificar o sinal de vídeo codificado e decodifica a imagem atual ou a referida parte da imagem atual com referência às outras imagens.
10. Método, de acordo com a reivindicação 9, CARACTERIZADO pelo fato de que compreender examinar mais de um indicador fornecido para a imagem atual ou parte da imagem atual, cada um dos ditos um ou mais indicadores identificando uma outra imagem da sequência que pode ser usada como uma imagem de referência alternativa para a imagem atual ou a dita parte da imagem atual ao decodificar o sinal de vídeo codificado, e em que os indicadores são ordenados no sinal de vídeo codificado segundo a classificação, o indicador identificando a imagem que possui a maior semelhança com a imagem de referência default ou a imagem atual estando em primeiro lugar na ordem de classificação, o método ainda compreendendo o uso de outras imagens identificadas pelos indicadores como imagens de referência alternativas para a imagem atual ou para a dita parte da imagem atual por ordem de classificação.
11. Método de acordo com a reivindicação 9 ou 10, CARACTERIZADO pelo fato de que compreende qualquer um dos seguintes: - obtenção do indicador ou indicadores de um cabeçalho de imagem do sinal de vídeo codificado, ou - obtenção do indicador ou indicadores de um cabeçalho de segmento de imagem ou um cabeçalho de macrobloco do sinal de vídeo codificado, ou - obtenção do indicador ou indicadores de Informação de Aperfeiçoamento Suplementar de uma sequência de vídeo codificada de acordo com a compressão de vídeo H.263 padrão.
12. Método, de acordo com a reivindicação 9, CARACTERIZADO pelo fato de que o indicador identifica uma outra imagem como uma imagem da sequência que pode ser usada como uma imagem de referência alternativa para a imagem atual ou a dita parte da imagem atual indica a referência temporal da outra imagem.
13. Codificador de vídeo para codificação de um sinal de vídeo que representa uma sequência de imagens para formar um sinal de vídeo codificado, o codificador de vídeo compreendendo uma entrada para receber uma imagem atual da sequência para codificação, um codificador preditivo para formar uma predição temporal de ao menos parte da imagem atual a partir de uma imagem de referência default para a imagem atual, CARACTERIZADO pelo fato de que o codificador é disposto para proporcionar um indicador para a imagem atual ou uma parte da imagem atual, o indicador identificando uma outra imagem da sequência que pode ser utilizada como uma imagem de referência alternativa para a imagem atual ou a dita parte da imagem atual quando da decodificação do sinal de vídeo codificado.
14. Codificador de vídeo, de acordo com a reivindicação 13, CARACTERIZADO pelo fato de que o codificador de vídeo está disposto de modo a identificar uma outra imagem da sequência que pode ser usada como uma imagem de referência alternativa para a imagem atual ou a dita parte da imagem atual comparando pelo menos parte da imagem de referência default ou a imagem atual com ao menos uma outra imagem da sequência para calcular uma medida da similaridade entre a imagem de referência default ou a imagem atual e cada uma das ao menos uma outra imagem e, quando a medida de similaridade calculada usando uma outra imagem particular encontra um critério pré-determinado, para produzir um indicador que identifica a outra imagem particular, como uma imagem da sequência que pode ser usada como uma imagem de referência alternativa para a imagem atual ou parte da imagem atual.
15. Codificador de vídeo, de acordo com a reivindicação 13, CARACTERIZADO pelo fato de que o codificador de vídeo é ainda disposto para comparar ao menos parte da imagem de referência default ou a imagem atual com uma pluralidade de outras imagens, para produzir um indicador para cada outra imagem que encontra com o critério pré-determinado e fornece mais de um indicador para a imagem atual ou uma parte da imagem atual, e em que o codificador de vídeo é ainda disposto para classificar as outras imagens que encontram o critério pré-determinado e fornecem os seus indicadores associados para a imagem atual ou a referida parte da imagem atual ou a dita parte da imagem atual na ordem de classificação, a outra imagem tendo a maior semelhança com a imagem de referência default ou a imagem atual sendo colocada em primeiro lugar na ordem de classificação.
16. Codificador de vídeo, de acordo com qualquer uma das reivindicações 13 a 15, CARACTERIZADO pelo fato de que o codificador de vídeo está disposto para executar qualquer um dos seguintes: - se o indicador ou indicadores é/são associados com a imagem atual inteira, incluir o indicador ou indicadores em um cabeçalho de imagem do sinal de vídeo codificado, ou - se o indicador ou indicadores é/são associados com uma parte da imagem atual, incluir o indicador ou indicadores em um cabeçalho do segmento da imagem ou um cabeçalho de macrobloco do sinal de vídeo codificado, ou - incluir o indicador ou indicadores na Informação de Aperfeiçoamento Suplementar de uma sequência de imagens codificadas de acordo com a compressão de vídeo H.263 padrão.
17. Codificador de vídeo, de acordo com a reivindicação 13, CARACTERIZADO pelo fato de que o indicador identificando uma outra imagem como uma imagem da sequência que pode ser usada como uma imagem de referência alternativa para a imagem atual ou a dita parte da imagem atual indica a referência temporal da outra imagem.
18. Codificador de vídeo, de acordo com a reivindicação 13, CARACTERIZADO pelo fato de que o codificador de vídeo está disposto para indicar imagens de referência alternativas para as imagens B e imagens P.
19. Codificador de vídeo, de acordo com a reivindicação 13, CARACTERIZADO pelo fato de que o codificador de vídeo está disposto para indicar imagens de referência alternativas apenas para imagens P.
20. Codificador de vídeo, de acordo com a reivindicação 13, CARACTERIZADO pelo fato de que o codificador de vídeo está disposto para fornecer o indicador, com a imagem atual ou a dita parte da imagem atual.
21. Decodificador de vídeo que compreende uma entrada para receber um sinal de vídeo codificado representando uma sequência de imagens, o sinal de vídeo codificado inclui as imagens que têm sido codificadas formando a predição temporal de pelo menos parte de uma imagem atual a partir de uma imagem de referência default para a imagem atual, CARACTERIZADO pelo fato de que quando o decodificador não for capaz de decodificar a imagem de referência default para a imagem atual, o decodificador é disposto para examinar um indicador provido para a imagem atual ou uma parte da imagem atual, o indicador identificando uma outra imagem da sequência que pode ser usada como uma imagem de referência alternativa para a imagem atual ou a dita parte da imagem atual e para decodificar a imagem atual com referência a dita outra imagem.
22. Decodificador de vídeo, de acordo com a reivindicação 21, CARACTERIZADO pelo fato de que o decodificador de vídeo está disposto para examinar mais de um indicador fornecido para a imagem atual ou a dita parte da imagem atual, cada um dos ditos mais de um indicador identificando uma outra imagem da sequência que pode ser usada como uma imagem de referência alternativa para a imagem atual ou a dita parte da imagem atual quando a decodificação do sinal de vídeo codificado, e em que os indicadores são ordenados no sinal de vídeo codificado de acordo com a classificação, o indicador identificando a imagem tendo a maior semelhança à imagem de referência default ou a imagem atual sendo colocada em primeiro lugar na ordem de classificação, o decodificador de vídeo sendo ainda disposto para usar outras imagens identificadas pelos indicadores como imagens de referência alternativas para a imagem atual ou a dita parte da imagem atual, por ordem de classificação.
23. Decodificador de vídeo, de acordo com a reivindicação 21 ou 22, CARACTERIZADO pelo fato de que o decodificador de vídeo é disposto de modo a executar qualquer um dos seguintes: - obter o indicador ou indicadores de um cabeçalho de imagem do sinal de vídeo codificado, ou - obter o indicador ou indicadores a partir de um cabeçalho de segmento de imagem ou um cabeçalho de macrobloco do sinal de vídeo codificado, ou - obter o indicador ou indicadores de Informação de Aperfeiçoamento Suplementar de uma sequência de vídeo codificada de acordo com a compressão de vídeo H.263 padrão.
24. Decodificador de vídeo, de acordo com a reivindicação 21, CARACTERIZADO pelo fato de que o indicador identificando uma outra imagem como uma imagem da sequência que pode ser usada como uma imagem de referência alternativa para a imagem atual ou a dita parte da imagem atual indicando a referência temporal da outra imagem.
25. Dispositivo de telecomunicações de rádio, CARACTERIZADO pelo fato de que inclui um codificador de vídeo de acordo com qualquer uma das reivindicações 13 a 20 e/ou um decodificador de vídeo de acordo com qualquer uma das reivindicações 21 a 24.
BRPI0110770A 2000-05-15 2001-05-14 método de codificação/ decodificação de um sinal de vídeo representando uma sequência de imagens, e, codificador/decodificador de vídeo BRPI0110770B1 (pt)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
GB0011606A GB2362532B (en) 2000-05-15 2000-05-15 Video coding
PCT/EP2001/005453 WO2001089223A2 (en) 2000-05-15 2001-05-14 Video coding

Publications (2)

Publication Number Publication Date
BR0110770A BR0110770A (pt) 2003-03-11
BRPI0110770B1 true BRPI0110770B1 (pt) 2016-03-08

Family

ID=9891561

Family Applications (1)

Application Number Title Priority Date Filing Date
BRPI0110770A BRPI0110770B1 (pt) 2000-05-15 2001-05-14 método de codificação/ decodificação de um sinal de vídeo representando uma sequência de imagens, e, codificador/decodificador de vídeo

Country Status (16)

Country Link
US (1) US7711052B2 (pt)
EP (2) EP1287699B1 (pt)
JP (1) JP4362259B2 (pt)
KR (2) KR100892119B1 (pt)
CN (2) CN1193622C (pt)
AT (1) ATE522086T1 (pt)
AU (1) AU2001272409A1 (pt)
BR (1) BRPI0110770B1 (pt)
CA (1) CA2409027C (pt)
EE (1) EE05652B1 (pt)
GB (1) GB2362532B (pt)
HK (1) HK1079938A1 (pt)
HU (1) HU230597B1 (pt)
MX (1) MXPA02011201A (pt)
WO (1) WO2001089223A2 (pt)
ZA (1) ZA200208744B (pt)

Families Citing this family (79)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2002045372A2 (en) 2000-11-29 2002-06-06 British Telecommunications Public Limited Company Transmitting and receiving real-time data
US20030219232A1 (en) * 2001-10-01 2003-11-27 Shu Lin System and method for identifying data on a storage medium
US7610358B2 (en) * 2001-11-26 2009-10-27 Time Warner Cable System and method for effectively presenting multimedia information materials
FR2834852B1 (fr) * 2002-01-16 2004-06-18 Canon Kk Procede et dispositif de segmentation temporelle d'une sequence video
FI114527B (fi) * 2002-01-23 2004-10-29 Nokia Corp Kuvakehysten ryhmittely videokoodauksessa
EP1670259A3 (en) * 2002-01-23 2010-03-03 Nokia Corporation Grouping of image frames in video coding
JP4150951B2 (ja) * 2002-02-19 2008-09-17 ソニー株式会社 動画配信システム、動画配信装置および方法、並びにプログラム
JP2004088722A (ja) 2002-03-04 2004-03-18 Matsushita Electric Ind Co Ltd 動画像符号化方法および動画像復号化方法
EP1359722A1 (en) 2002-03-27 2003-11-05 BRITISH TELECOMMUNICATIONS public limited company Data streaming system and method
CA2476843C (en) * 2002-03-27 2012-11-20 British Telecommunications Public Limited Company Video coding
US20040146109A1 (en) * 2002-04-19 2004-07-29 Satoshi Kondo Method for calculation motion vector
KR100931746B1 (ko) 2002-04-19 2009-12-14 파나소닉 주식회사 움직임 벡터 계산방법
KR20040011903A (ko) * 2002-07-31 2004-02-11 최두현 대본 혹은 영상의 유사성과 사람의 인지 능력을 고려한동영상 파일 인코딩 방법
KR20040035005A (ko) * 2002-10-18 2004-04-29 (주) 임펙링크제너레이션 비디오 압축을 위한 결정선택방법을 이용한모션정보예측보간
US7542510B2 (en) 2002-11-20 2009-06-02 Panasonic Corporation Moving picture predicting method, moving image encoding method and device, and moving image decoding method and device
GB0306296D0 (en) 2003-03-19 2003-04-23 British Telecomm Data transmission
JP2004350263A (ja) * 2003-04-28 2004-12-09 Canon Inc 画像処理装置及び画像処理方法
US8472792B2 (en) 2003-12-08 2013-06-25 Divx, Llc Multimedia distribution system
US7519274B2 (en) 2003-12-08 2009-04-14 Divx, Inc. File format for multiple track digital data
US9560367B2 (en) * 2004-09-03 2017-01-31 Nokia Technologies Oy Parameter set and picture header in video coding
US20060083298A1 (en) * 2004-10-14 2006-04-20 Nokia Corporation Reference picture management in video coding
US7417632B2 (en) * 2004-12-02 2008-08-26 Sap Ag Automatic testing of graphics programs
US9049449B2 (en) * 2005-04-13 2015-06-02 Nokia Corporation Coding of frame number in scalable video coding
US7817180B2 (en) * 2005-04-28 2010-10-19 Apple Inc. Video processing in a multi-participant video conference
KR100878811B1 (ko) * 2005-05-26 2009-01-14 엘지전자 주식회사 비디오 신호의 디코딩 방법 및 이의 장치
EP1793581A1 (en) * 2005-12-05 2007-06-06 Microsoft Corporation Automatic selection of images for transfer depending on connection characteristics
JP5200204B2 (ja) 2006-03-14 2013-06-05 ディブエックス リミテッド ライアビリティー カンパニー 高信頼性システムを含む連合型デジタル権限管理機構
US8253752B2 (en) * 2006-07-20 2012-08-28 Qualcomm Incorporated Method and apparatus for encoder assisted pre-processing
WO2008086313A1 (en) 2007-01-05 2008-07-17 Divx, Inc. Video distribution system including progressive playback
EP1944978A1 (en) * 2007-01-12 2008-07-16 Koninklijke Philips Electronics N.V. Method and system for encoding a video signal. encoded video signal, method and system for decoding a video signal
US8494049B2 (en) * 2007-04-09 2013-07-23 Cisco Technology, Inc. Long term reference frame management with error video feedback for compressed video communication
WO2009065137A1 (en) 2007-11-16 2009-05-22 Divx, Inc. Hierarchical and reduced index structures for multimedia files
US8638844B2 (en) * 2008-07-01 2014-01-28 Mediatek Inc. Method and apparatus for storing decoded moving pictures with a reduced memory requirement
FR2934453B1 (fr) * 2008-07-22 2010-10-15 Canon Kk Procede et dispositif de masquage d'erreurs
KR101631270B1 (ko) * 2009-06-19 2016-06-16 삼성전자주식회사 의사 난수 필터를 이용한 영상 필터링 방법 및 장치
EP2507995A4 (en) 2009-12-04 2014-07-09 Sonic Ip Inc SYSTEMS AND METHODS FOR TRANSPORTING ELEMENTARY BIT TRAIN CRYPTOGRAPHIC MATERIAL
KR101681589B1 (ko) * 2010-07-27 2016-12-01 엘지전자 주식회사 영상 처리 장치 및 그 방법
US9532059B2 (en) 2010-10-05 2016-12-27 Google Technology Holdings LLC Method and apparatus for spatial scalability for video coding
US9247312B2 (en) 2011-01-05 2016-01-26 Sonic Ip, Inc. Systems and methods for encoding source media in matroska container files for adaptive bitrate streaming using hypertext transfer protocol
US8989256B2 (en) * 2011-05-25 2015-03-24 Google Inc. Method and apparatus for using segmentation-based coding of prediction information
US8812662B2 (en) 2011-06-29 2014-08-19 Sonic Ip, Inc. Systems and methods for estimating available bandwidth and performing initial stream selection when streaming content
US9635374B2 (en) * 2011-08-01 2017-04-25 Apple Inc. Systems and methods for coding video data using switchable encoders and decoders
CN103875248B (zh) 2011-08-30 2018-09-07 帝威视有限公司 用于编码和流处理通过使用多个最大比特率级别编码的视频的***和方法
US9467708B2 (en) 2011-08-30 2016-10-11 Sonic Ip, Inc. Selection of resolutions for seamless resolution switching of multimedia content
US8806188B2 (en) 2011-08-31 2014-08-12 Sonic Ip, Inc. Systems and methods for performing adaptive bitrate streaming using automatically generated top level index files
US8799647B2 (en) 2011-08-31 2014-08-05 Sonic Ip, Inc. Systems and methods for application identification
US8964977B2 (en) 2011-09-01 2015-02-24 Sonic Ip, Inc. Systems and methods for saving encoded media streamed using adaptive bitrate streaming
US8909922B2 (en) 2011-09-01 2014-12-09 Sonic Ip, Inc. Systems and methods for playing back alternative streams of protected content protected using common cryptographic information
JP5698644B2 (ja) * 2011-10-18 2015-04-08 株式会社Nttドコモ 動画像予測符号化方法、動画像予測符号化装置、動画像予測符号化プログラム、動画像予測復号方法、動画像予測復号装置及び動画像予測復号プログラム
US9247257B1 (en) 2011-11-30 2016-01-26 Google Inc. Segmentation based entropy encoding and decoding
US8918908B2 (en) 2012-01-06 2014-12-23 Sonic Ip, Inc. Systems and methods for accessing digital content using electronic tickets and ticket tokens
US20130208992A1 (en) * 2012-02-13 2013-08-15 Shu Lin System and method for difference frame threshold encoding and decoding
US9094681B1 (en) 2012-02-28 2015-07-28 Google Inc. Adaptive segmentation
US20130287109A1 (en) * 2012-04-29 2013-10-31 Qualcomm Incorporated Inter-layer prediction through texture segmentation for video coding
US9332276B1 (en) 2012-08-09 2016-05-03 Google Inc. Variable-sized super block based direct prediction mode
US9380298B1 (en) 2012-08-10 2016-06-28 Google Inc. Object-based intra-prediction
US9936267B2 (en) 2012-08-31 2018-04-03 Divx Cf Holdings Llc System and method for decreasing an initial buffering period of an adaptive streaming system
US9191457B2 (en) 2012-12-31 2015-11-17 Sonic Ip, Inc. Systems, methods, and media for controlling delivery of content
US9313510B2 (en) 2012-12-31 2016-04-12 Sonic Ip, Inc. Use of objective quality measures of streamed content to reduce streaming bandwidth
US10397292B2 (en) 2013-03-15 2019-08-27 Divx, Llc Systems, methods, and media for delivery of content
US9906785B2 (en) 2013-03-15 2018-02-27 Sonic Ip, Inc. Systems, methods, and media for transcoding video data according to encoding parameters indicated by received metadata
US9094737B2 (en) 2013-05-30 2015-07-28 Sonic Ip, Inc. Network video streaming with trick play based on separate trick play files
US9100687B2 (en) 2013-05-31 2015-08-04 Sonic Ip, Inc. Playback synchronization across playback devices
US9380099B2 (en) 2013-05-31 2016-06-28 Sonic Ip, Inc. Synchronizing multiple over the top streaming clients
KR101502145B1 (ko) * 2013-06-21 2015-03-12 주식회사 에스원 영상 부호화/복호화 방법 및 장치
US9386067B2 (en) 2013-12-30 2016-07-05 Sonic Ip, Inc. Systems and methods for playing adaptive bitrate streaming content by multicast
US9866878B2 (en) 2014-04-05 2018-01-09 Sonic Ip, Inc. Systems and methods for encoding and playing back video at different frame rates using enhancement layers
KR102597985B1 (ko) 2014-08-07 2023-11-06 디빅스, 엘엘씨 독립적으로 인코딩된 타일을 포함한 기본 비트스트림을 보호하는 시스템 및 방법
US20160127728A1 (en) * 2014-10-30 2016-05-05 Kabushiki Kaisha Toshiba Video compression apparatus, video playback apparatus and video delivery system
KR20190097320A (ko) 2015-01-06 2019-08-20 디브이엑스, 엘엘씨 디바이스들간에 콘텐트를 인코딩 및 공유하기 위한 시스템들 및 방법들
US10715574B2 (en) 2015-02-27 2020-07-14 Divx, Llc Systems and methods for frame duplication and frame extension in live video encoding and streaming
EP3200456A1 (en) * 2016-01-28 2017-08-02 Axis AB Video encoding method and video encoder system for temporal noise reduction
US10075292B2 (en) 2016-03-30 2018-09-11 Divx, Llc Systems and methods for quick start-up of playback
US10231001B2 (en) 2016-05-24 2019-03-12 Divx, Llc Systems and methods for providing audio content during trick-play playback
US10129574B2 (en) 2016-05-24 2018-11-13 Divx, Llc Systems and methods for providing variable speeds in a trick-play mode
US10148989B2 (en) 2016-06-15 2018-12-04 Divx, Llc Systems and methods for encoding video content
US10498795B2 (en) 2017-02-17 2019-12-03 Divx, Llc Systems and methods for adaptive switching between multiple content delivery networks during adaptive bitrate streaming
CN117692661A (zh) 2018-04-03 2024-03-12 华为技术有限公司 基于子图像码流视角相关视频编码中的误差抑制的文件格式指示
US11825142B2 (en) 2019-03-21 2023-11-21 Divx, Llc Systems and methods for multimedia swarms

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4972261A (en) * 1987-08-28 1990-11-20 The General Electric Company, P.L.C. Motion compensation image signal encoding system
US5150210A (en) * 1988-12-26 1992-09-22 Canon Kabushiki Kaisha Image signal restoring apparatus
US5455629A (en) * 1991-02-27 1995-10-03 Rca Thomson Licensing Corporation Apparatus for concealing errors in a digital video processing system
US5198901A (en) * 1991-09-23 1993-03-30 Matsushita Electric Corporation Of America Derivation and use of motion vectors in a differential pulse code modulation system
FR2696026B1 (fr) * 1992-09-18 1994-12-30 Sgs Thomson Microelectronics Procédé de masquage d'erreurs de transmission d'image compressée en MPEG.
US5515388A (en) * 1993-03-19 1996-05-07 Sony Corporation Apparatus and method for preventing repetitive random errors in transform coefficients representing a motion picture signal
CA2114052A1 (en) 1993-07-29 1995-01-30 Monica Medina-Puri Method of detecting scene cuts
GB2293293B (en) * 1994-09-15 1998-10-21 Northern Telecom Ltd Interactive video system
JPH08154247A (ja) * 1994-09-29 1996-06-11 Sanyo Electric Co Ltd 圧縮画像データ処理装置及び方法
EP0711078B1 (en) * 1994-11-04 2002-05-15 Matsushita Electric Industrial Co., Ltd. Picture coding apparatus and method
US5731840A (en) * 1995-03-10 1998-03-24 Kabushiki Kaisha Toshiba Video coding/decoding apparatus which transmits different accuracy prediction levels
JP3068002B2 (ja) * 1995-09-18 2000-07-24 沖電気工業株式会社 画像符号化装置、画像復号化装置及び画像伝送システム
JP3788823B2 (ja) * 1995-10-27 2006-06-21 株式会社東芝 動画像符号化装置および動画像復号化装置
JP3347954B2 (ja) * 1995-11-02 2002-11-20 三菱電機株式会社 動画像符号化装置及び動画像復号化装置
TW351903B (en) * 1996-07-03 1999-02-01 Matsushita Electric Ind Co Ltd Encoding method, encoding apparatus, decoding and compositing method, decoding and composition appratus, and record medium recorded with the aforesaid methods for multiple images
JPH10191356A (ja) * 1996-12-27 1998-07-21 Oki Electric Ind Co Ltd 画像符号化装置
US5880688A (en) * 1997-04-09 1999-03-09 Hewlett-Packard Company Arithmetic coding context model that adapts to the amount of data
US6438165B2 (en) * 1998-03-09 2002-08-20 Lg Electronics Method and apparatus for advanced encoder system
US6188728B1 (en) * 1998-09-29 2001-02-13 Sarnoff Corporation Block motion video coding and decoding
JP3606306B2 (ja) * 1998-10-08 2005-01-05 沖電気工業株式会社 画像符号化装置、画像復号化装置及び画像伝送システム
US6700933B1 (en) 2000-02-15 2004-03-02 Microsoft Corporation System and method with advance predicted bit-plane coding for progressive fine-granularity scalable (PFGS) video coding

Also Published As

Publication number Publication date
EE200200642A (et) 2004-04-15
EP2148513A3 (en) 2010-08-04
WO2001089223A3 (en) 2002-04-04
GB2362532A (en) 2001-11-21
WO2001089223A2 (en) 2001-11-22
EP1287699A2 (en) 2003-03-05
HU230597B1 (hu) 2017-02-28
CN1633185A (zh) 2005-06-29
EP2148513A2 (en) 2010-01-27
JP4362259B2 (ja) 2009-11-11
HUP0302055A2 (hu) 2003-09-29
MXPA02011201A (es) 2003-03-10
KR20080083030A (ko) 2008-09-12
HUP0302055A3 (en) 2005-11-28
US20010040700A1 (en) 2001-11-15
ZA200208744B (en) 2004-02-24
KR20030005348A (ko) 2003-01-17
CN1193622C (zh) 2005-03-16
CA2409027C (en) 2011-11-01
KR100929558B1 (ko) 2009-12-03
CN1440623A (zh) 2003-09-03
CN100394802C (zh) 2008-06-11
US7711052B2 (en) 2010-05-04
KR100892119B1 (ko) 2009-04-09
ATE522086T1 (de) 2011-09-15
EP2148513B1 (en) 2012-10-31
EE05652B1 (et) 2013-04-15
CA2409027A1 (en) 2001-11-22
JP2003533950A (ja) 2003-11-11
GB2362532B (en) 2004-05-05
GB0011606D0 (en) 2000-07-05
BR0110770A (pt) 2003-03-11
AU2001272409A1 (en) 2001-11-26
EP1287699B1 (en) 2011-08-24
HK1079938A1 (en) 2006-04-13

Similar Documents

Publication Publication Date Title
BRPI0110770B1 (pt) método de codificação/ decodificação de um sinal de vídeo representando uma sequência de imagens, e, codificador/decodificador de vídeo
US7751473B2 (en) Video coding
US8144764B2 (en) Video coding
KR100931873B1 (ko) 비디오 신호 부호화/복호화 방법 및 비디오 신호 부호기/복호기
JP2006526908A (ja) ピクチャを符号化する方法、ビットストリームからピクチャを復号化する方法、ピクチャを符号化するエンコーダ、ピクチャを符号化するエンコーダを備える送信装置、ビットストリームからピクチャを復号化するデコーダ、ビットストリームからピクチャを復号化するデコーダを備える受信装置、およびシステム

Legal Events

Date Code Title Description
B06A Patent application procedure suspended [chapter 6.1 patent gazette]
B09A Decision: intention to grant [chapter 9.1 patent gazette]
B25A Requested transfer of rights approved

Owner name: NOKIA TECHNOLOGIES OY (FI)

B16A Patent or certificate of addition of invention granted [chapter 16.1 patent gazette]

Free format text: PRAZO DE VALIDADE: 10 (DEZ) ANOS CONTADOS A PARTIR DE 08/03/2016, OBSERVADAS AS CONDICOES LEGAIS.