BRPI0206191B1 - método para transmitir a informação de vídeo, codificador, decodificador, e sinal representando a informação codificada - Google Patents

método para transmitir a informação de vídeo, codificador, decodificador, e sinal representando a informação codificada Download PDF

Info

Publication number
BRPI0206191B1
BRPI0206191B1 BRPI0206191A BR0206191A BRPI0206191B1 BR PI0206191 B1 BRPI0206191 B1 BR PI0206191B1 BR PI0206191 A BRPI0206191 A BR PI0206191A BR 0206191 A BR0206191 A BR 0206191A BR PI0206191 B1 BRPI0206191 B1 BR PI0206191B1
Authority
BR
Brazil
Prior art keywords
frame
bit stream
video
frames
information
Prior art date
Application number
BRPI0206191A
Other languages
English (en)
Other versions
BR0206191A (pt
Inventor
Marta Karczewicz
Ragip Kurceren
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
Priority claimed from US09/827,796 external-priority patent/US20020122491A1/en
Priority claimed from US09/883,887 external-priority patent/US6765963B2/en
Application filed by Nokia Corp, Nokia Technologies Oy filed Critical Nokia Corp
Publication of BR0206191A publication Critical patent/BR0206191A/pt
Publication of BRPI0206191B1 publication Critical patent/BRPI0206191B1/pt

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/845Structuring of content, e.g. decomposing content into time segments
    • H04N21/8451Structuring of content, e.g. decomposing content into time segments using Advanced Video Coding [AVC]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/58Motion compensation with long-term prediction, i.e. the reference frame for a current frame not being the temporally closest one
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
    • H04N19/89Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving methods or arrangements for detection of transmission errors at the decoder
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/23424Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving splicing one content stream with another content stream, e.g. for inserting or substituting an advertisement

Landscapes

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

Abstract

"método para transmitir a informação de vídeo, codificador, decodificador, e, sinal representando a informação codificada". a invenção relata um método para transmitir a informação de vídeo, na qual ao menos o primeiro fluxo de bit (510) e o segundo fluxo de bit (520) são formados. o primeiro fluxo de bit (510) compreende ao menos um quadro de vídeo, e o segundo fluxo de vídeo (520) compreende ao menos um quadro (524) de vídeo preditivo. os parâmetros de codificação ao menos parcialmente diferentes são usados com a codificação dos quadros do primeiro fluxo de bit (510) e do segundo fluxo de bit (520). ao menos um quadro do primeiro fluxo de bit (510) está sendo transmitido, e a transmissão é comutada do primeiro (510) para o segundo fluxo de bit (520). na comutação, a transmissão do primeiro (510) para o segundo fluxo de bit (520), é transmitido um quadro (550) de comutação secundário, o qual tem sido codificado usando os parâmetros de codificação do segundo fluxo de bit (520) e ao menos um quadro de referência do primeiro fluxo de bit (510). o quadro (550) de comutação secundário é usado como um quadro de referência na reconstrução de pelo menos um quadro (524) de vídeo preditivo do segundo grupo de quadros de vídeo. a invenção também relata um codificador para codificar a informação de vídeo, um decodificador para decodificar a informação de vídeo, e um sinal representando a informação de vídeo codificada.

Description

“MÉTODO PARA TRANSMITIR A INFORMAÇÃO DE VÍDEO, CODIFICADOR, DECODIFICADOR, E, SINAL REPRESENTANDO A INFORMAÇÃO CODIFICADA”.
Campo da Invenção A presente invenção relata um método para transmitir a informação de vídeo, na qual ao menos o primeiro fluxo de bit e o segundo fluxo de bit são formados da informação de vídeo, o primeiro fluxo de vídeo compreende um primeiro grupo de quadros compreendendo ao menos um quadro de vídeo, e o segundo fluxo de bit compreende um segundo grupo de quadros compreendendo ao menos um quadro de vídeo preditivo, e usando os parâmetros de codificação ao menos parcialmente diferentes com a codificação dos quadros do primeiro fluxo de bit e do segundo fluxo de bit, ao menos um quadro do primeiro fluxo de bit está sendo transmitido, e a transmissão é comutada sobre o primeiro fluxo de bit para o segundo fluxo de bit. A invenção também relaciona a um codificador compreendendo dispositivos para formar ao menos o primeiro fluxo de bit e o segundo fluxo de bit da informação de vídeo, o primeiro fluxo de bit compreende o primeiro grupo de quadros compreendendo ao menos um quadro de vídeo, e o segundo fluxo de bit compreende o segundo grupo de quadros compreendendo ao menos um quadro de vídeo preditivo, e um dispositivo para usar ao menos parcialmente os diferentes parâmetros de codificação com a codificação dos quadros do primeiro fluxo de bit e do segundo fluxo de bit, um dispositivo para transmitir ao menos um quadro do primeiro fluxo de bit, e um dispositivo para comutar a transmissão do primeiro fluxo de bit para o segundo fluxo de bit. A invenção também relaciona a um decodificador para decodificar a informação de vídeo do sinal compreendendo quadros de pelo menos do primeiro fluxo de bits e do segundo fluxo de bits, os quais são formados da informação de vídeo, o primeiro fluxo de bits compreende o primeiro grupo de quadros compreendendo ao menos um quadro de vídeo, e o segundo fluxo de bit compreende o segundo grupo de quadros compreendendo ao menos um quadro de vídeo preditivo, e ao menos parcialmente os diferentes parâmetros de codificação são usados com a codificação dos quadros do primeiro fluxo de bit e do segundo fluxo de bit. A invenção também relaciona a um sinal representando a informação de vídeo codificada, e compreende os quadros de pelo menos do primeiro fluxo de bit e do segundo fluxo de bit, os quais são formados da informação de vídeo, o primeiro fluxo de vídeo compreende o primeiro grupo de quadros compreendendo ao menos um quadro de vídeo, e o segundo fluxo de bits compreende o segundo grupo de quadros compreendendo ao menos um quadro de vídeo preditivo, ao menos parcialmente os diferentes parâmetros de codificação são usados com a codificação dos quadros do primeiro fluxo de bit e do segundo fluxo de bit.
Descrição da Técnica Anterior Recentemente, as aplicações de multimídia que incluem streaming (tecnologia que é capaz de reproduzir áudio ou vídeo enquanto ainda está carregando, diminuindo, assim, um pouco o tempo de espera) de áudio e informação de vídeo tem tido um enorme uso. Várias organizações de padronização internacionais têm estabelecido e proposto padrões para compressão/codificação e descompressão/decodificação da informação de áudio e vídeo. Os padrões MPEG, estabelecidos pelo Grupo de Peritos em Imagem em Movimento, são os padrões internacionais mais amplamente aceitos no campo das aplicações de multimídia. O VCEG é o “Grupo de Peritos em Codificação de Vídeo”, trabalhando sobre a direção do Setor de Padronização de Telecomunicação ITU (ITU-T). Este grupo trabalha no padrão H.26L para codificação das imagens em movimento.
Um fluxo de vídeo típico compreende uma sequência de imagens, muito das vezes referenciado como quadros. Os quadros compreendem pixels dispostos em uma forma retangular. Nos padrões de codificação de vídeo existentes, tal como H.261, H.262, H.263, H.26L e MPEG-4, três tipos principais de imagens são definidos: quadros Intra (quadros-I), os quadros Preditivos (quadros-P) e os quadros Bidirecionais (quadros-B). Cada tipo de imagem explora um tipo diferente de redundância em uma sequência de imagens e consequentemente resulta em um nível diferente de eficiência de compressão e, como explicado a seguir, fornece uma funcionalidade diferente dentro da seqüência de vídeo codificada. Um quadro intra é um quadro de dados de vídeo que é codificado pela exploração apenas da correlação espacial dos pixels dentro do próprio quadro, sem usar qualquer informação dos quadros passados ou futuros. Os quadros Intra são usados como uma base para a decodificação/descompressão de outros quadros e provê pontos de acesso para a seqüência codificada onde a decodificação pode iniciar.
Um quadro preditivo é um quadro que é decodificado/compactado usando a predição de movimento compensada do denominado quadro de referência, isto é, um ou mais quadros prévios/subseqüentes Intra ou quadros Preditivos disponíveis no codificador ou no decodificador. Um quadro bidirecional é um quadro que é codificado/compactado através da predição de um quadro prévio Intra ou de um quadro Preditivo e/ou de um quadro subseqüente Intra ou quadro Preditivo.
Uma vez que os quadros adjacentes em uma seqüência de vídeo típica são altamente correlacionados, uma compressão superior pode ser alcançada ao usar os quadros Bidirecional ou Preditivo, ao invés dos quadros Intra. Por outro lado, quando a codificação preditiva temporal for empregada dentro do fluxo de bit codificado, os quadros-B e/ou quadros-P não podem ser decodificados sem decodificar corretamente todos os outros quadros de referência prévia e/ou subseqüente, os quais foram usados com a codificação dos quadros Bidirecional e Preditivo. Nas situações nas quais o(s) quadro(s) de referência usados no codificador e o(s) respectivos quadro(s) de referência usados no decodificador não são idênticos ou devido a erros durante a transmissão ou devido a alguma ação intencional na parte transmissora, os quadros subsequentes que fazem uso da predição de tal quadro de referência pode não ser reconstruído na parte de decodificação para produzir um quadro decodificado idêntico ao codificado originalmente na parte de decodificação. Esta variação não é apenas confinada a um único quadro, mas também propaga no devido tempo para uso da codificação de movimento compensado.
As Figuras IA — 1C ilustram os tipos de quadros de vídeo codificados/compactados usados em um sistema de codificação/decodificação de vídeo típico. Vantajosamente, antes da codificação, as imagens da seqüência de vídeo são representadas por estas matrizes de números de múltiplos bits, um representando a luminância (luminosidade) dos pixels da imagem, e os outros dois cada um representando uma respectiva de dois componentes de crominância (cor). A Figura 1A descreve a forma na qual um quadro Intra 200 é codificado usando apenas a informação da imagem presente no próprio quadro. A Figura 1B ilustra a construção de um quadro Preditivo 210. A seta 205a representa o uso da predição de movimento compensado para criar o quadro-P 210. A Figura 1C descreve a construção dos quadros Bidirecionais 220. Os quadros-B são usualmente inseridos entre os quadros-I ou os quadros-P. A Figura 2 representa um grupo de imagens em uma ordem de visualização e ilustra como os quadros-B inseridos entre os quadros-I e —P, como também apresenta a direção na qual a informação de compensação de movimento flui. Nas Figuras 1B, 1C e 2, as setas 205a descrevem a informação de predição de compensação de movimento direta necessária para reconstruir os quadros-P 210, considerando que, as setas 215a e 215b descrevem a informação de compensação de movimento usada na reconstrução dos quadros-B 220 na direção para frente (215a) e na direção para trás (215b). Em outras palavras, as setas 205a e 215a apresentam o fluxo de informação quando os quadros preditivos são preditos dos quadros que são anteriores na ordem de visualização diferente do quadro sendo reconstruído, e as setas 215b apresentam o fluxo de informação quando os quadros preditivos são preditos dos quadros que foram por último na ordem de visualização outros que o quadro sendo reconstruído.
Na predição de movimento compensado, a similaridade entre os quadros sucessivos na seqüência de vídeo é utilizada para melhorar a eficiência da codificação. Mais especificamente, os denominados vetores de movimento são usados para descrever a forma na qual os pixels ou as regiões dos pixels movem entre os quadros sucessivos da seqüência. Os vetores de movimento fornecem os valores de deslocamento e os dados de erro que referem ao quadro passado ou futuro dos dados de vídeo possuindo os valores de pixel decodificado, que podem ser usados com os dados de erro para comprimir/codificar ou descompactar/decodifícar um determinado quadro de dados de vídeo. A capacidade para decodificar/descompactar os quadros-P requer a disponibilidade dos quadros prévios de referência —I ou -P, em adição para decodificar um quadro-B este requer a disponibilidade do quadro subsequente de referência —I ou -P e é também solicitado. Por exemplo, se o fluxo de dados codificado/compactado possuir a seqüência de quadro ou a ordem de visualização a seguir: li B2 B3 P4 B5 Pé B7 Ps B9 Βίο P11 ...Pn-3 Bn_2 Pn-i In, a ordem de decodificação correspondente é: li P4 B2 B3 Pó B5 Ps Βγ P11 B9 Bio...Pn-i Bn_2 In. A ordem de decodificação difere da ordem de visualização porque os quadros-B requerem os quadros —I ou -P futuros para a sua decodificação. A Figura 2 apresenta o inicio da seqüência de quadro acima e pode ser referenciada na ordem para entender as dependências dos quadros, como descrito anteriormente. Os quadros-P requerem que os quadros prévios de referência —I ou -P estejam disponíveis. Por exemplo, P4 requer Ij para ser decodificado. Similarmente, o quadro Pô requer que P4 esteja disponível na ordem para decodifícar/descompactar o quadro Pé. Os quadros-B, tal como o quadro B3, requer um quadro de referência -I ou -P passado e/ou futuro, tal como P4 e na ordem a ser decodificada. Os quadros-B são quadros entre os quadros —I ou —P durante a codificação. O sistema para codificar e decodificar da técnica anterior é apresentado nas Figuras 3 e 4. Referenciando ao codificador 300 da Figura 3, o quadro 301 sendo codificado I(x,y), denominado de quadro atual, é particionado em regiões retangulares dos pixels KxL. As coordenadas (x,y) denotam a localização dos pixels dentro do quadro. Cada bloco é codificado usando ou a codificação intra (isto é, usando apenas a correlação espacial dos dados da imagem dentro do bloco) ou a codificação inter (isto é, utilizando ambas a predição espacial e temporal). A descrição a seguir considera o processo pelo qual os blocos inter-codificados são formados. Cada bloco inter-codificado é predito 360 de um dos quadros previamente (ou subseqüentemente) codificados e transmitidos R(x,y) na memória 350 de quadro, denominada de quadro de referência. A informação de movimento usada para a predição é obtida do bloco 370 de estimação de movimento e de codificação ao usar o quadro de referência e o quadro 305 atual. A informação de movimento é representada pelo vetor de movimento bidimensional (Δχ, Ay), onde Δχ é um deslocamento horizontal e o Ay é um deslocamento vertical. No bloco de predição de movimento compensado (MC), os vetores de movimento são usados junto com o quadro de referência para construir o quadro de predição P(x,y): P(x,y) = R(x +Δχ, y+(AY).
Subseqüentemente o erro de predição E(x,y), isto é a diferença entre o quadro atual e o quadro de predição P(x,y), é calculado 307 de acordo com: E(x,y) = I(x,y)-P(x,y).
No bloco de transformação 310, o erro de predição para cada bloco KxL é representado como a soma ponderada da função básica da transformação fj(x,y), E(x,y) = Σ Σ Cerr(ij) íj(x,y)· '■=1 j=1 Os pesos Cerr(ij) correspondem as funções básicas e são denominados de coeficientes de transformação. Estes coeficientes são subseqüentemente quantizados no bloco 320 de quantização para obter: Ierr(ÍJ) = Q(Cerr(Í,j), QP) onde Ierr(i)j) são coeficientes de transformação quantizados. A operação de quantização Q() introduz a perda da informação, mas os coeficientes quantizados podem ser representados com o menor número de bits. O nível de compressão (perda de informação) é controlado ao ajustar o valor do parâmetro de quantização QP.
Antes dos vetores de movimento e dos coeficientes de transformação quantizados serem fornecidos ao multiplexador 380, eles são também codificados usando os Códigos de Comprimento Variável (VLC- Variable Length Codes). Este reduz o número de bits necessário para representar os coeficientes de movimento e os coeficientes de transformação quantizados. Os vetores de movimento codificados, os coeficientes de transformação quantizados como também outras informações adicionais necessárias para representar cada quadro codificado é multiplexada no multiplexador 380, e o fluxo de bit resultante é transmitido 415 para o decodificador. Os coeficientes de transformação quantizados são também direcionados para o bloco 330 de quantização inversa, para obter os coeficientes de transformação quantizados inverso e também para o bloco 340 de transformação inversa para obter a informação de erro de predição Ec(x,y) para o quadro atual. A informação de erro de predição Ec(x,y) é adicionada ao quadro predito P(x,y) no elemento somador, para obter um quadro de vídeo que pode ser armazenado subseqüentemente na memória 350 de quadro. A seguir, a decodificação dos quadros de vídeo serão descritos com referência á Figura 4. O decodificador 400 recebe o fluxo de bit de vídeo multiplexado 415 do codificador, e o demultiplexador 410 demultiplexa o fluxo de bit para obter as partes constituintes dos quadros de vídeo a serem decodificados. Estas partes compreendem ao menos os coeficientes de transformação de erro de predição quantizado codificado e os vetores de movimento, os quais são subseqüentemente decodificados (não apresentado) para obter os coeficientes de transformação de erro de predição quantizado e os vetores de movimento. Os coeficientes de transformação quantizados são quantizados inversos no bloco 420 de quantização inversa, para obter os coeficientes derr(i,j) de transformação quantizada inversa de acordo com a relação a seguir: derr(Íj) = Q-l(Ierr(Í j), QP).
No bloco 430 de transformação inversa, os coeficientes de transformação quantizados inversos estão sujeitos a uma transformação inversa para obter o erro de predição Ec(x,y): Ec(x,y)= Σ Σ Cerr(Í,j) fij(x,y). ‘=1 7=1 Os pixels do quadro codificado atual são reconstruídos ao encontrar os pixels de predição no quadro de referência R(x,y) obtidos da memória 440 de quadro, e usando os vetores de movimento recebidos junto com o quadro de referência no bloco 450 de predição de compensação de movimento, para obter um quadro predito P(x,y). O quadro predito P(x,y) e a informação de erro de predição Ec(x,y) são somados junto no elemento somador 435 de acordo com a relação a seguir: Ic(x,y) = Ríx+Δχ, y +Ay) + Ec(x,y) Estes valores Ic(x,y) podem também ser filtrados para obter os quadros 445 de vídeo decodificados. Os valores Ic(x,y) são também armazenados na memória 440 de quadro. Os valores reconstruídos Ic(x,y) podem ser filtrados no bloco de filtragem (não apresentado na Figura 4) após o bloco do somador 435. O streaming de vídeo tem emergido como uma aplicação importante na Internet fixa. E também antecipado que o streaming de vídeo também será importante e em um futuro próximo nas redes sem fio da 3G. Nas aplicações streaming o servidor de transmissão inicia a transmitir um fluxo de bit de vídeo pré-codificado através da rede de transmissão para o receptor sob um pedido do receptor. O receptor retoma o fluxo de bit de volta enquanto recebe este. A natureza do melhor esforço das redes presentes ocasiona variações na largura de banda efetiva disponível ao usuário, devido ás mudanças das condições da rede. Para acomodar estas variações, o servidor de transmissão pode escalar a taxa de bit de vídeo compactado. No caso de um serviço de conversação caracterizado pela codificação de tempo-real e na entrega ponto-a-ponto, isto pode ser alcançado ajustando no decorrer os parâmetros de codificação da fonte. Tais parâmetros podem ser, por exemplo, o parâmetro de quantização, ou de uma taxa de quadro. O ajuste é baseado vantajosamente no retomo da rede de transmissão. Nos cenários streaming típicos quando um fluxo de bit de vídeo codificado previamente é para ser transmitido para o receptor, a solução acima não pode ser aplicada.
Uma solução para alcançar a escala da largura de banda no caso das seqüências pré-codificadas é para produzir fluxos múltiplos e independentes possuindo diferentes taxas de bit e qualidade. O servidor de transmissão então comuta dinamicamente entre os fluxos para acomodar variações na largura de banda disponível. O exemplo a seguir ilustra este princípio. Vamos assumir que múltiplos fluxos de bit sejam gerados independentemente com diferentes parâmetros de codificação, tal como o parâmetro de quantização, correspondendo á mesma sequência de vídeo. Vamos denotar a seqüência {Pi,n-ij Ρι,η, Pi,n+i} e {P2,n-i, P2.11, P2,n+i}dos quadros codificados dos fluxos de bit 1 e 2, respectivamente. Uma vez que os parâmetros de codificação são diferentes para os dois fluxos de bit, os quadros reconstruídos deles no mesmo instante de tempo, por exemplo, Pi n.i e P2,n-i não são idênticos. Se for agora assumido que o servidor inicialmente envia os quadros codificados do fluxo de bit 1 até o tempo n após o qual este inicia o envio dos quadros codificados do fluxo de bit 2, o decodificador recebe os quadros {Pi.n-2, Pi,n-i, P2,n, P2,n+i, P2,n+2}· Neste caso P2,n não pode ser corretamente decodificado, uma vez que, o seu quadro de referência P2,n-i não foi recebido. Por outro lado, o quadro Ρι,η-ι, o qual é recebido ao invés do P2,n-i não é idêntico a P2,n-i· Em adição, a comutação entre os fluxos de bit nas localizações arbitrárias conduz a artefatos visuais, devido á variação entre os quadros de referência usados para a predição de movimento compensado nas seqüências diferentes.
Estes artefatos visuais não são apenas confinados ao quadro no ponto de comutação entre os fluxos de bit, mas propaga no devido tempo à codificação de movimento compensado continuada na parte restante da seqüência de vídeo.
Nos padrões de codificação de vídeo atuais, uma comutação perfeita (livre de variação) entre os fluxos de bit é apenas possível, nas posições onde os quadros atuais ou futuros ou regiões desta não usam qualquer informação prévia para a localização de comutação atual, isto é, nos quadros-I. Em adição, ao colocar os quadros-I nos intervalos fixados (por exemplo, 1 segundo), as funcionalidades YCR, tal como o acesso randômico ou o “Avanço Rápido” e o “Retrógrado Rápido” (taxa de reprodução aumentada) para o conteúdo de streaming de vídeo, são alcançados. O usuário pode saltar uma parte da seqüência de vídeo e re-iniciar a reprodução em qualquer localização do quadro-I. Similarmente, uma taxa de reprodução aumentada pode ser alcançada ao transmitir apenas os quadros-I. A desvantagem de usar os quadros-I nestas aplicações é que uma vez que os quadros-I não exploram qualquer redundância temporal, eles requerem um número muito largo de bits do que os quadros-P na mesma qualidade.
Resumo da Invenção É um objeto da presente invenção prover um novo método e um sistema para transmitir as imagens de vídeo nos ambientes de transmissão variáveis. A invenção é baseada na idéia de que uma comutação correta (livre de variação) entre os fluxos de vídeo é permitida ao formar um novo tipo de quadro de vídeo compactado e ao inserir os quadros do novo tipo nos fluxos de bits de vídeo nas localizações onde a comutação de um fluxo de bit para outro é para ser permitida. Nesta descrição, o novo tipo de quadro de vídeo compactado será referenciado geralmente como um quadro-S. Mais especificamente, os quadros-S podem ser classificados como quadros-SP, os quais são formados no decodificador usando a predição de movimento compensado dos quadros já decodificados, usando a informação do vetor de movimento, e os quadros-SI, os quais são formados no decodificador usando a predição (intra) espacial dos pixels vizinhos já decodificados dentro do quadro sendo decodificado. Em geral, um quadro-S de acordo com a invenção é formado com base no bloco-a-bloco e pode compreender ambos os blocos inter-codificados (SP) como também os blocos intra-codificados (SI). O método de acordo com a presente invenção é primeiramente caracterizado pelo fato de que na comutação a transmissão é feita . do primeiro fluxo de bit para o segundo fluxo de bit, o fluxo de bit secundário compreende ao menos um quadro de comutação primário, o quadro de comutação secundário é transmitido, o quadro de comutação secundário tendo sido codificado usando os parâmetros de codificação do segundo fluxo de bit e ao menos um quadro de referência do primeiro fluxo de bit, e o quadro de comutação secundário é usado no lugar do quadro de comutação primário como um quadro de referência a ser usado na reconstrução de pelo menos um quadro de vídeo preditivo do segundo grupo de quadros de vídeo. O codificador de acordo com a presente invenção é primeiramente caracterizado pelo fato de que o dispositivo para comutar a transmissão do primeiro fluxo de bit para o segundo fluxo de bit compreende um dispositivo para codificar o quadro de comutação secundária usando os parâmetros de codificação do segundo fluxo de bits e, os quadros de referência do primeiro fluxo de bit para capacitar a comutação da transmissão do primeiro fluxo de bit para o segundo fluxo de bit. O decodificador de acordo com a presente invenção é primeiramente caracterizado pelo fato de que o decodificador compreende um dispositivo para decodificar o quadro de comutação secundário, o quadro de comutação secundário tendo sido codificado usando os parâmetros de codificação do segundo fluxo de bit e ao menos um quadro de referência do primeiro fluxo de bit, e adicionado ao sinal no lugar do quadro de comutação primário como um quadro de referência a ser usado na reconstrução de pelo menos um quadro de vídeo preditivo do segundo grupo de quadros de vídeo, e um dispositivo para decodificar o quadro de comutação secundário compreende um dispositivo para usar os parâmetros de decodificação do segundo fluxo de bit e os quadros de referência do primeiro fluxo de bit. O sinal de acordo com a presente invenção é primariamente caracterizado pelo fato de que na comutação a transmissão é feita do primeiro fluxo de bit para o segundo fluxo de bit, o fluxo de bit secundário compreende ao menos o quadro de comutação primário, o sinal compreende um quadro de comutação secundário tendo sido codificado usando os parâmetros de codificação do segundo fluxo de bit e ao menos um quadro de referência do primeiro fluxo de bit, e o quadro de comutação secundário está no lugar do quadro de comutação primário como o quadro de referência a ser usado na reconstrução de pelo menos um quadro de vídeo preditivo do segundo grupo de quadros de vídeo.
Vantagens consideráveis são alcançadas pela presente invenção comparada com os métodos e sistemas da técnica anterior. A invenção permite a comutação entre os fluxos de bits para ocorrer não apenas nas localizações dos quadros-I, mas também nas localizações dos quadros-SP. A eficiência da codificação de um quadro-SP é muito melhor do que a eficiência de codificação de um quadro-I típico, onde a largura de banda menor é necessária para transmitir os fluxos de bit possuindo quadros-SP nas localizações onde, de acordo com a técnica anterior, os quadros-I seriam usados, enquanto ainda provê uma adaptabilidade suficiente para alterar as condições de transmissão. A comutação de um fluxo de bit em outro pode ser executado nas localizações nas quais um quadro-SP de acordo com a invenção é colocado no fluxo de bit codificado. As imagens reconstruídas do fluxo de bit pelo decodificador não são degradadas como resultado da troca de um fluxo de it por outro. A invenção também tem a vantagem de que as operações de acesso landômico, de avanço-rápido e de re-bobinamento rápido podem ser executadas no fluxo de bit. O sistema de acordo com a invenção oferece uma recuperação de erro e propriedades de resiliência melhorada comparadas com as soluções da técnica anterior descritas.
Estas e outras características, aspectos, e vantagens das incorporações da presente invenção se tomarão aparentes com referência a descrição a seguir em conjunção com as figuras apensas. É para ser entendido, contudo, que os desenhos foram projetados somente para os propósitos de ilustração e não como uma definição dos limites da invenção, cuja referência será feita para as reivindicações apensas.
Breve Descrição das Figuras A seguir a invenção será descrita em maiores detalhes com referência aos desenhos apensos, nos quais: Figuras IA - 1C e 2 — são diagramas apresentando a codificação/compactação da técnica anterior dos quadros de vídeo;
Figura 3 — é um diagrama em blocos de um sistema genérico de codificação de vídeo preditiva de movimento-compensado (codificador);
Figura 4 — é um diagrama em blocos de um sistema genérico de codificação de vídeo preditiva de movimento-compensado (decodificador);
Figura 5 — é uma ilustração apresentando a comutação entre os dois fluxos de bits diferentes usando os quadros-S de acordo com a invenção;
Figura 6 — é um diagrama em blocos de um decodificador de acordo com uma incorporação vantajosa da invenção;
Figura 7 - é uma ilustração do acesso randômico usando os quadros-S;
Figura 8 - é uma ilustração do processo de avanço-rápido usando os quadros-S;
Figura 9 - é um diagrama em blocos de um decodificador de acordo com outra incorporação vantajosa da invenção;
Figura 10 — é um diagrama em blocos de um decodificador de acordo com ainda outra incorporação vantajosa da invenção;
Figura 11 — é um diagrama em blocos de um codificador de acordo com uma incorporação vantajosa da invenção, Figura 12 - é um diagrama em blocos de um decodificador de acordo com outra incorporação vantajosa da invenção;
Figura 13 — é um diagrama em blocos de um codificador de acordo com a segunda incorporação da invenção;
Figura 14 — é uma ilustração de um processo de resiliência/recuperação de erro usando os quadros-SP;
Figura 15 — é um diagrama em blocos de um codificador de acordo com a terceira incorporação vantajosa da invenção;
Figura 16 — é um diagrama em blocos de um decodificador de acordo com ainda outra incorporação vantajosa da invenção.
Descrição Detalhada da Invenção A seguir a invenção é descrita em um sistema no qual múltiplos fluxos de bits são formados de um sinal de vídeo. O sinal de vídeo pode ser qualquer sinal de vídeo digital compreendendo múltiplas imagens, isto é, uma seqüência de imagens. O sinal de vídeo digital é codificado em um codificador para formar múltiplos fluxos de bit. Cada fluxo de bit é codificado do mesmo sinal de vídeo usando ao menos parcialmente os diferentes parâmetros de codificação. Por exemplo, a taxa de bits pode ser alterada ao selecionar os parâmetros de codificação diferentemente, e desta forma os fluxos de bit com diferentes taxas de bits podem ser formados. Os parâmetros de codificação podem ser, por exemplo, a taxa de quadro, o parâmetro de quantização, a resolução espacial, ou outro fator que afeta os tamanho das imagens, conhecido como tal pelo técnico. O codificador também insere ao menos um quadro Intra para cada fluxo de bit. Tipicamente, ao menos o primeiro quadro de cada fluxo de bit é preferivelmente um quadro Intra. Isto permite que o decodificador inicie a reconstrução do sinal de vídeo. O codificador usado na codificação dos quadros-I, dos quadros-P e dos quadros-B pode ser qualquer codificador da técnica anterior, o qual executa a codificação do sinal de vídeo, ou pode existir mais de um codificador da técnica anterior cada um usando diferentes parâmetros de codificação para formar múltiplos fluxos de bit. Contudo, para codificar um sinal de vídeo contendo também os quadros-SP e/ou os quadros-SI de acordo com a invenção, uma nova funcionalidade é necessária no codificador. Isto será explicado mais tarde em maiores detalhes. O codificador também insere os quadros codificados usando a codificação (quadros-P e opcionalmente os quadros-B) preditiva de movimento-compensado no fluxo de bits. O codificador também insere um novo tipo de quadros, referenciado como quadros-S nesta descrição, em cada fluxo de bit nas localizações onde a comutação entre diferentes fluxos de bit será permitida de acordo com a invenção. Os quadros-S podem ser usados nas localizações onde nos métodos da técnica anterior um quadro codificado Intra seria inserido, ou os quadros-S podem ser usados em adição ao uso dos quadros codificados Intra na seqüência de vídeo.
Vantajosamente, diferentes fluxos de bit são armazenados em um dispositivo de armazenagem para uso posterior. Contudo, é também possível que a transmissão possa ocorrer substancialmente e imediatamente após a codificação onde não é necessário armazenar seqüências de vídeo completas, mas armazenar adequados quadros de referência necessários. A transmissão do fluxo de vídeo codificado pode ser executada, por exemplo, pelo servidor de transmissão, o qual possui um dispositivo para recuperar os fluxos de bits armazenados para a transmissão, e/ou um dispositivo para receber os fluxos de bits diretamente do codificador. O servidor de transmissão também possui um dispositivo para transmitir o fluxo de bit para a rede de transmissão (não apresentado).
A seguir, um método de acordo com uma incorporação vantajosa da invenção será descrito. A Figura 5 descreve uma parte do primeiro fluxo de bit 510 e uma parte do segundo fluxo de bit 520, as quais são formadas no codificador. Apenas alguns quadros-P dos respectivos fluxos de bit são apresentados. Especificamente, o primeiro fluxo de bit 510 é apresentado para compreender os quadros-P 511, 512, 514 e 515, enquanto o segundo fluxo de bit 520 compreende os quadros-P correspondentes 521, 522, 524 e 525. Ambos, o primeiro fluxo de bit 510 e o segundo fluxo de bit 520 também compreendem os quadros-S 513 (também denominados Sl), 523 (também denominado S2) nas localizações correspondentes. É assumido que os dois fluxos de bit 510 e 520 correspondem á mesma seqüência codificada á diferentes taxas de bits, por exemplo, ao usar diferentes taxas de quadro, diferentes resoluções espaciais ou diferentes parâmetros de quantização. É também assumido que o primeiro fluxo de bit 510 está sendo transmitido do servidor de transmissão para o decodificador 600, 1200, 1300 (Figs. 6, 12 e 13, respectivamente) através da rede de transmissão, e que o servidor de transmissão recebe um pedido da rede de transmissão para mudar a taxa de bit do fluxo de vídeo sendo transmitido.
Como mencionado acima, os quadros-S são colocados no fluxo de bit durante o processo de codificação nestas localizações dentro das sequências de vídeo, onde a comutação de um fluxo de bit para outro é permitida. Como pode ser visto da Figura 5, em uma incorporação vantajosa da invenção, um outro quadro-S 550 (também denominado de S12) é associado com os quadros Si e S2. Este quadro-S é denominado de representação secundária do quadro-S (ou quadro-S secundário para curto), e á apenas transmitido durante a comutação do fluxo de bit. Este quadro-S secundário S12 é gerado por uma codificação especial do quadro nesimo na seqüência de vídeo, usando os parâmetros de codificação do quadro-S 523 (S2) correspondente no segundo fluxo de bit 520 e usando a predição de movimento compensado dos quadros de referência do quadro nesimo no primeiro fluxo de bit 510. Deveria ser observado que na situação apresentada na Figura 5, o quadro-S S2 usa os quadros reconstruídos previamente do segundo fluxo de bit 520 como quadros de referência e, o quadro-S S12 secundário usa os quadros reconstruídos previamente do primeiro fluxo de bit 510 como quadros de referência. Contudo, os valores de pixels reconstruídos de ambos S2 e S12 são idênticos. O quadro-S S12 é transmitido apenas quando a comutação do primeiro fluxo de bit 510 ao segundo fluxo de bit 520 é atualmente executada. Por essa razão, não é necessário formar os quadros-S secundários durante a fase de codificação, mas apenas quando a comutação é executada. Por outro lado, pode ser útil ter ao menos alguns quadros-S secundários formados antes do tempo quando diferentes fluxos de bits são formados para reduzir a carga computacional durante a transmissão.
Quando o servidor de transmissão procura o quadro da sequência de vídeo codificada como quadro-S 513 (Si) no primeiro fluxo de bit 510, este pode iniciar as operações necessárias para continuar a transmissão do fluxo de vídeo usando os quadros codificados do segundo fluxo de bit 520. Neste ponto, o servidor de transmissão já tem transmitido os quadros-P 511 e 512 do primeiro fluxo de bit 510 e o decodificador 600, 1200, 1300 já tem recebido e decodificado os respectivos quadros-P 511, 512. Assim, estes quadros já terão sido armazenados na memória de quadro 640, 1250, 1360 do decodificador 600, 1200, 1300. A memória de quadro 640, 1250, 1360 compreende uma memória suficiente para armazenar todos estes quadros, os quais são necessários para reconstruir o quadro-P ou o quadro-B, isto é, a informação necessária de todos os quadros de referência solicitados pelo quadro atual a ser reconstruído. O servidor de transmissão executa as operações a seguir para continuar a transmissão do fluxo de vídeo usando os quadros codificados do segundo fluxo de bit 520. O servidor de transmissão notifica, por exemplo, ao examinar o tipo de informação do quadro, que o quadro atual a ser transmitido é um quadro-S, assim é possível executar a comutação entre os fluxos de bit. É claro que, a comutação é apenas executada se um pedido para fazer isto tiver sido recebido ou existe por alguma outra razão uma necessidade para executar a comutação. O servidor de transmissão entra com o quadro-S 523 correspondente do segundo fluxo de bit, usa este para formar o quadro-S secundário (S12) e transmite o quadro-S (S12) secundário para o decodificador 600, 1200, 1300. O servidor de transmissão não transmite o quadro-S S2 do segundo fluxo de bit, mas envia o quadro-S S12 secundário em seu lugar. O quadro-S secundário é formado de tal forma que ao decodificar o quadro-S secundário S12 o decodificador 600 possa reconstruir uma imagem idêntica, a qual seria produzida se esta usasse os respectivos quadros 521, 522 e o quadro-S 523 do segundo fluxo de bit 520. Após a transmissão do quadro-S secundário, o servidor de transmissão continua a transmitir os quadros codificados se o segundo fluxo de bit for 520, isto é, 524, 525 e assim por diante. O quadro-S 513, 523, 550 pode compreender os blocos codificados usando apenas a correlação espacial dentre os pixels (blocos intra) e os blocos codificados usando ambas, a correlação espacial e a temporal (blocos inter). Para cada bloco inter a predição deste bloco, P(x,y), é formada no decodificador 600, 1200, 1300 usando os vetores de movimento recebido e um quadro de referência. Os coeficientes de transformação cpred para P(x,y) correspondendo ás funções básicas fjj (x,y) são calculados e quantizados. Os valores quantizados dos coeficientes de transformação cpred são referenciados como Ipred e os valores dês-quantizados dos coeficientes de transformação quantizados Ipred são referenciados como dpred· Os coeficientes quantizados Ierr para o erro de predição são recebidos do codificador. Os valores dês-quantizados destes coeficientes serão referenciados como derr· O valor de cada pixel S(x,y) no bloco inter é decodificado como a soma ponderada das funções básicas fij(x,y) onde os valores de peso drec serão denominados de coeficientes de imagem de reconstrução dês-quantizados. Os valores drec terão de ser tais que os coeficientes crec derivados da quantização e da des-quantização drec possam ser obtidos. Em adição, os valores drec têm de preencher uma das condições a seguir: drec dpred Ί" dCrr, OU Crec — Cpred derr.
Os valores S(x,y) podem também ser normalizados e filtrados. A seguir, a codificação dos quadros-S colocados dentro do fluxo de bit, por exemplo, os quadros-S 513 (Si) e 523 (S2) são descritos.
Geralmente, um quadro-S de acordo com a invenção, tal como os quadros 513, 523 na Figura 5 são construídos com base no bloco-a-bloco. Como explicado antes, cada um dos blocos pode ser codificado de tal forma a levar vantagem das correlações espaciais dentre os pixels da imagem sendo codificada (intra ou blocos-SI) ou de tal forma a levar vantagem da correlação temporal entre os blocos dos pixels nos quadros sucessivos de uma seqüência de vídeo (inter ou blocos-SP). A codificação dos quadros-S de acordo com a invenção será descrita com referência á Figura 11, que é um diagrama em blocos de um codificador de quadro-S 1100 de acordo com a primeira incorporação da invenção.
Um quadro de vídeo a ser codificado no formato do quadro-S é primeiro particionado em blocos e cada bloco é então codificado como um bloco-SP, ou um bloco-SI, ou um bloco-intra, o bloco-intra sendo conhecido como tal da técnica anterior. O comutador 1190 é operado como apropriado para comutar entre os modos de codificação SI e SP, isto é, o comutador 1190 é uma construção usada na descrição da invenção, não necessariamente um dispositivo físico. No modo de codificação-SP, o comutador 1190 é operado para obter uma predição de movimento compensado para o bloco atual 1170. O bloco de predição de movimento compensado 1170 forma a predição P(x,y) para o bloco atual do quadro sendo codificado, de uma maneira análoga a usada na predição de movimento compensado conhecido da técnica anterior. Mais especificamente, o bloco de predição de movimento compensado 170 forma a predição P(x,y) para o bloco atual do quadro sendo codificado ao determinar o vetor de movimento que descreve o relacionamento entre os pixels no bloco atual e os valores de pixel do quadro de referência reconstruído armazenado na memória de quadro 1146.
No modo de codificação-SI, o comutador 1190 é operado para obter a predição para o bloco atual do quadro sendo codificado do bloco de predição intra 1180. O bloco de predição intra 1180 forma a predição P(x,y) para o bloco atual do quadro sendo codificado, de uma maneira análoga a usada na predição intra conhecida da técnica anterior. Mais especificamente, o bloco de predição intra 1180 forma a predição P(x,y) para o bloco atual do quadro sendo codificado usando a predição espacial dos pixels vizinhos já codificados dentro do quadro sendo codificado.
Em ambos os modos de codificação-SI e SP, a predição P(x,y) toma a forma de um bloco de valores de pixel. A transformação direta, por exemplo, a Transformada de Co-seno Discreta (DCT), é aplicada ao bloco predito dos valores de pixel P(x,y) no bloco 1160 e resulta nos coeficientes de transformação, referenciados como cpred, que são subseqüentemente quantizados no bloco de quantização 1150 para formar os coeficientes de transformação quantizados Ipred. As operações correspondentes são também executadas nos dados de imagem originais. Mais especificamente, o bloco atual dos valores de pixel da imagem original sendo codificada é aplicado ao bloco de transformação 1110. Aqui, a transformada direta (por exemplo, DCT) é aplicada aos valores de pixel do bloco de imagem original para formar os coeficientes de transformação corig. Estes coeficientes de transformação são passados para o bloco de quantização 1120, onde eles são quantizados para formar os coeficientes de transformação quantizados I0rig. O elemento somador 1130 recebe ambos os grupos dos coeficientes de transformação quantizados Ipred e Iorig dos blocos de quantização respectiva 1150 e 1120 e gera um grupo de coeficientes de erro de predição quantizados Ιεπ- de acordo com a relação: lerr Iorig Ipred· Os coeficientes de erro de predição quantizados Ierr são passados para o multiplexador 1135. Se o bloco atual é codificado no formato-SP/modo, o multiplexador 1135 também recebe os vetores de movimento para o bloco codificado-SP. Se o bloco atual for codificado no formato-SI/modo, a informação referindo ao modo de predição intra usado para formar a predição para o bloco codificado-SI no bloco de predição intra 1180 é passado para o multiplexador. Vantajosamente, a codificação de comprimento variável é aplicada aos coeficientes de erro de predição quantizados ΙβΙΤ e ao vetor de movimento ou á informação do modo de predição intra no multiplexador 1135, o fluxo de bit é formado ao multiplexar as várias formas de informação e o fluxo de bit então formado é transmitido para o decodificador correspondente 1200, 1300 (ver Figuras 12 e 13). O codificador do quadro-S 1100 de acordo com a invenção também compreende a funcionalidade de decodificação local. Os coeficientes Ipred de transformação de predição quantizados formados no bloco de quantização 1150 são fornecidos para o elemento somador 1140, o qual também recebe os coeficientes Ierr de erro de quantização. O elemento somador 1140 re-combina os coeficientes Ipred de transformação de predição quantizados e os coeficientes Ιειτ de erro de predição quantizados para formar um grupo de coeficientes Irec de transformação quantizados reconstruídos de acordo com a relação: Irec Ipred lerr· Os coeficientes de transformação quantizados reconstruídos são passados para o bloco de quantização inversa 1142, o qual quantifica inversamente os coeficientes de transformação quantizados reconstruídos para formar os coeficientes drec de transformação reconstruídos quantizados inversos. Os coeficientes de transformação reconstruídos quantizados inversos são passados para o bloco de transformação inversa 1144, onde eles estão sujeitos, por exemplo, a Transformada de Co-seno Discreta Inversa (IDCT), ou qualquer transformada inversa correspondente á transformada executada no bloco 1160. Como resultado, o bloco dos valores de pixel reconstruídos é formado para o bloco de imagem em questão e armazenado na memória de quadro 1146. Como os blocos subseqüentes do quadro sendo codificado no formato do quadro-S suportam a codificação descrita previamente e as operações de decodificação local, a versão decodificada do quadro atual é progressivamente montado na memória de quadro, de onde este pode ser acessado e usado na predição intra dos blocos subseqüentes do mesmo quadro ou na predição inter (movimento compensado) dos quadros subseqüentes na seqüência de vídeo. A operação do decodificador de quadro-S genérico de acordo com a primeira incorporação da invenção será descrita com referência á Figura 12. O fluxo de bit gerado pelo codificador de quadro-S previamente descrito em conexão com a Figura 11 é recebido pelo decodificador 1200 e é desmultiplexado em suas partes constituintes pelo demultiplexador 1210. O decodificador reconstrói a versão decodificada do quadro-S com base no bloco-a-bloco. Como previamente descrito, o quadro-S pode compreender blocos-intra, os blocos de imagem codificados-SP e os codificados-SI. Para os blocos de imagem de formato-SP, a informação no fluxo de bit recebido compreende a informação de coeficiente de movimento codificado VLC e os coeficientes Ierr de erro de predição quantizados codificados VLC. Para os blocos de imagem codificados no formato-SI, a informação no fluxo de bit recebido compreende a informação codificada VLC relatando o modo de predição intra usado para formar a predição intra para o bloco codificado-SI junto com os coeficientes Ierr de erro de predição quantizados codificados VLC.
Ao decodificar o bloco codificado-SP, o demultiplexador 1210 primeiro aplica a decodificação de comprimento variável apropriado (VLD) para o fluxo de bit recebido, para recuperar a informação do vetor de movimento e os coeficientes Ierr de erro de predição quantizados. Este então separa a informação do vetor de movimento dos coeficientes Ierr de erro de predição quantizados. A informação do vetor de movimento é fornecida para o bloco de predição de movimento compensado 1260 e, os coeficientes de erro de predição quantizados recuperados do fluxo de bit são aplicados a uma entrada do elemento somador 1220. A informação do vetor de movimento é usada no bloco de predição de movimento compensado 1260 junto com os valores de pixel do quadro reconstruído previamente armazenado na memória de quadro 1250, para formar a predição P(x,y) de uma maneira análoga a empregada no codificador 1100.
Ao decodificar o bloco codificado-SI, o demultiplexador 1210 aplica a decodificação de comprimento variável apropriado para a informação de modo de predição intra recebido e para os coeficientes IeiT de erro de predição quantizados. A informação do modo de predição intra é então separada dos coeficientes de erro de predição quantizados e fornecidos ao bloco de predição intra 1270. Os coeficientes Ιεττ de erro de predição quantizados são fornecidos a uma entrada do elemento somador 1220. A informação do modo de predição intra é usada no bloco de predição intra 1270 em conjunção com os valores de pixel decodificados previamente do quadro atual armazenado na memória de quadro 1250, para formar a predição P(x,y) para o bloco atual sendo decodificado. Novamente, o processo de predição intra executado no decodificador 1200 é análogo ao executado no codificador 1100 e previamente descrito.
Uma vez que a predição para o bloco atual do quadro sendo decodificado tenha sido formada, o comutador 1280 é operado assim que a predição P(x,y), a qual compreende os valores de pixel predito seja fornecida ao bloco de transformação 1290. Novamente, o comutador 1280 é uma construção abstrata usada na descrição da invenção, não necessariamente um dispositivo físico. No caso do bloco codificado-SP, o comutador 1280 é operado para conectar o bloco de predição de movimento compensado 1260 para o bloco de transformação 1290, enquanto no caso do bloco codificado-SI, este é operado para conectar o bloco de predição intra 1270 para o bloco de transformação 1290.
No bloco 1290, a transformada direta, por exemplo, a Transformada de Co-seno Discreta (DCT), é aplicada ao bloco predito dos valores de pixel P(x,y) e os coeficientes cpred de transformação resultantes são fornecidos ao bloco de quantização 1295, onde eles são quantizados para formar os coeficientes Ipred de transformação quantizados. Os coeficientes Ipred de transformação quantizados são então fornecidos á segunda entrada do elemento somador 1220, onde eles são adicionados aos coeficientes Ierr de erro de predição para formar os coeficientes Irec de transformação quantizados reconstruídos de acordo com a relação: irec — Ipred lerr· Os coeficientes Irec de transformação quantizados reconstruídos são também fornecidos ao bloco de quantização inversa 1230, onde eles são quantizados inversos para formar os coeficientes drec de transformação reconstruídos quantizados inversos. Os coeficientes drec de transformação quantizados inversos são então passados para o bloco de transformação inversa 1240, onde eles são sujeitados, por exemplo, á Transformada Co-seno Discreta Inversa (IDCT) ou a qualquer outra transformada inversa correspondente para a transformada executada no bloco 1290. Desta forma, o bloco dos valores de pixel reconstruídos é formado para o bloco de imagem em questão. Os valores de pixel reconstruídos são fornecidos para a saída de vídeo e para a memória de quadro 1250. Como os blocos subseqüentes do quadro-S sendo decodificado suportam as operações de decodificação descritas previamente, a versão decodificada do quadro atual é progressivamente montada na memória de quadro 1250, de onde esta pode ser acessada e usada na predição intra dos blocos subseqüentes do mesmo quadro ou na predição inter (movimento compensado) dos quadros subseqüentes na seqüência de vídeo.
Tendo revisado a estrutura e a função do codificador e do decodificador de quadro-S de acordo com a primeira incorporação da invenção, esta é agora possível para entender como os quadros-S de acordo com a invenção tomam possível comutar entre os fluxos de bit sem variação de erros, tal como estes encontrados nos sistemas de codificação/decodificação de vídeo anterior. Referindo uma vez mais ao exemplo de comutação do fluxo de bit descrito na Figura 5, comutando do primeiro fluxo de bit 510 para o segundo fluxo de bit 520 que ocorre na localização do quadro-S Si (513) e S2 (523) nos respectivos fluxos de bit. Como previamente observado, quando a comutação é executada, o quadro-S secundário, referenciado como S12 (550) é codificado e transmitido. O quadro-S secundário S12 é codificado usando os parâmetros de codificação do segundo fluxo de bit 520 e os quadros de referência do primeiro fluxo de bit 510 de tal forma que quando o quadro secundário S12 é decodificado seus valores de pixel reconstruídos são idênticos a estes que teriam resultado da transmissão do quadro S2 no segundo fluxo de bit. 2 2·* I err £ I pred referenciam, respectivamente, os coeficientes quantizados do erro de predição e do quadro de predição, obtidos da codificação do quadro-SP S2 com o procedimento acima descrito, e I2rec referencia os coeficientes de imagem reconstruídos quantizados do quadro-SP S2. A codificação do quadro-S secundário 550 (S12) segue o mesmo procedimento como na codificação do quadro-S 523 (S2) com as exceções a seguir: 1) O(s) quadro(s) de referência usado na predição de cada bloco do quadro-S secundário S12 é o quadro reconstruído obtido pela decodificação do primeiro fluxo de bit 510 até o quadro atual nesimo na seqüência de vídeo, 2) Os coeficientes de erro de predição quantizados são *12 2 12 12 calculados como a seguir: I err = I rec - I pred onde I pred refere aos coeficientes de transformação de predição quantizada. Os coeficientes I12err de erro de predição quantizados e os vetores de movimento são transmitidos para o decodificador 1200.
Ao decodificar o quadro-S secundário S12 no decodificador 1200 usando os quadros reconstruídos do primeiro fluxo de bit 510 antes de comutar como quadros de referência, os coeficientes I pred do quadro-S secundário são construídos e adicionados aos coeficientes I12err de erro de predição quantizados recebidos como descrito acima, isto é, I rec I err I pred I rec I pred ^ I pred I rec* Pode ser observado desta equaçao que 12 2 w · a · ^ r I rec 6 I rec são idênticos. Em adição, embora o quadro-S secundário S12 e o quadro-S do segundo fluxo de bit S2 tenham quadros de referência diferentes, quando S12 é decodificado este produz uma imagem com os valores de pixel reconstruídos idênticos a estes que resultaram da decodificação do quadro-S S2.
Da descrição anterior da codificação e da decodificação dos quadros-S de acordo com a invenção, será apreciado que as saídas de diferença significante comparadas com a codificação e a decodificação dos quadros-P e dos quadros-I de acordo com a técnica anterior, especificamente, deveria ser apreciado que ao codificar e ou decodificar um bloco de imagem no formato-SP ou SI, a predição P(x,y) para o bloco em questão é transformado no domínio do coeficiente de transformação ao aplicar a transformada, tal como a Transformada de Co-seno Discreta. Os coeficientes de transformação assim produzidos são subseqüentemente quantizados e um erro de predição é determinado no domínio do coeficiente quantizado. Este contrasta com a codificação preditiva de acordo com a técnica anterior, na qual o erro de predição é determinado no domínio espacial (valor do pixel). A seguir, a operação do decodificador 1200 durante a comutação entre os fluxos de bits 510 e 520 é descrita em detalhes. A posição na seqüência de vídeo onde a comutação do primeiro fluxo de bit para o segundo fluxo de bit 520 ocorre, o decodificador 1200 já tem recebido e decodificado os quadros-P prévios 511 e512do primeiro fluxo de bit 510. Os quadros decodificados são armazenados na memória de quadro 1250 e são então disponíveis para uso como quadro de referência. Ao comutar do primeiro fluxo de bit 510 para o segundo fluxo de bit 520 ocorre, que o decodificador 1100 (Figura 11) constrói e codifica o quadro-S secundário S12 (550) e transmite a informação de vídeo codificada representando S12 para o decodificador 1200.
Como previamente explicado, a codificação é executada com base no bloco a bloco. Especificamente, o quadro-S secundário S12 é codificado como uma montagem dos blocos de imagem e geralmente cada bloco de imagem é codificado como um bloco codificado-SP ou um bloco codificado-SI ou um bloco-intra. Para os blocos codificados-SP do quadro-S secundário S12, a informação de vídeo compactada transmitida do codificador para o decodificador toma a forma dos coeficientes I12err de transformação de erro de predição quantizados e a informação do vetor de movimento. Para os blocos codificados-SI do quadro-S secundário S12, a informação de vídeo compactada compreende os coeficientes I12err de transformação de erro de predição quantizados e a informação relatando o modo de predição intra usado na formação da predição para o bloco codificado-SI no codificador. Como previamente explicado, a informação de vídeo compactada está sujeita á codificação de comprimento variável (VLC) apropriado antes da transmissão do codificador de forma a também reduzir o número de bits solicitado para a sua representação. A informação de vídeo compactada para um determinado bloco de imagem é recebida no decodificador 1200 e é primeiro sujeitado á uma apropriada decodificação de comprimento variável (VLD) e é separada em suas partes constituintes pelo demultiplexador 1210. Os coeficientes I12err de erro de predição quantizados extraídos do fluxo de bit recebido são aplicados á primeira entrada do somador 1220 e um bloco de valores de pixel preditos P(x,y) é formado para cada bloco de imagem de acordo com o seu modo de codificação (SP ou SI). No caso do bloco codificado-SP, o bloco de valores de pixel preditos P(x,y) é formado no bloco de predição de movimento compensado 1260 usando o quadro de referência do primeiro fluxo de bit (por exemplo, quadro-P 511 ou 512) disponível na memória de quadro 1250 e a informação do vetor de movimento extraída da informação de vídeo codificada do quadro-S secundário S12 pelo demultiplexador 1210. No caso do bloco codificado-SI, o bloco de valores de pixel preditos P(x,y) é formado no bloco de predição intra 1270 usando os pixels decodificados previamente do quadro-S secundário S12 também armazenado na memória de quadro 1250. A predição intra é executada de acordo com a informação do modo de predição intra extraída da informação de vídeo recebida para o quadro-S secundário Si2pelo demultiplexador 1210.
Uma vez que a predição para o bloco atual do quadro-S secundário tenha sido formada, os valores de pixel preditos P(x,y) são passados para o bloco de transformação 1290. Aqui a transformada direta (por exemplo, a Transformada de Co-seno Discreta (DCT)) é aplicada os valores de pixel preditos P(x,y) para formar um grupo de coeficientes de transformação cpred. Estes coeficientes de transformação são então passados para o bloco de quantização 1295, onde eles são quantizados para formar os coeficientes Il2pred de transformação quantizados. Os coeficientes I12pred de transformação quantizados são, então aplicados á segunda entrada do somador 1220. O somador 1220 combina os coeficientes I pred de transformação quantizados com os coeficientes I err de transformação de erro de predição quantizados para formar os coeficientes I12rec de transformação quantizados reconstruídos de acordo com a relação: τ12 =γ12 , T12 1 rec 1 pred ' 1 err· Os coeficientes I12rec de transformação reconstruídos quantizados são então providos ao bloco 1230 de quantização inversa, onde eles são quantizados inversos para formar os coeficientes de transformação reconstruídos quantizados inversos dI2rec. Os coeficientes d rec de transformação reconstruídos quantizados inversos são passados ao bloco 1240 de transformada inversa, onde eles são sujeitos á uma operação de transformada inversa (por exemplo, a Transformada de Co-seno Discreto Inverso (IDCT)). Como resultado, o bloco dos valores de pixel reconstruídos é formado para o bloco atual do quadro-S secundário S12. Os valores de pixel reconstruídos Ic(x, y) são fornecidos á saída de vídeo e á memória de quadro 1250. Como os quadros subseqüentes do quadro-S secundário S12 são codificados, transmitidos do codificador 1100 para o decodificador 1200 e subsequentemente decodificado, a versão decodificada do quadro-S secundário é progressivamente construída na memória de quadro 1250. A partir daí, os blocos já decodificados do quadro-S secundário podem ser recuperados e usados pelo bloco 1270 de predição intra para formar os valores de pixel preditos P(x, y) para os blocos subseqüentes do quadro-S secundário S12. Aqui deveria ser lembrado que os coeficientes de transformação de erro de predição quantizados para cada bloco de imagem do quadro-S secundário S12 são gerados no codificador 1100 de acordo com a relação: T12 = T2 T12 A err * rec ” * pred 2 f onde I rec são os valores dos coeficientes de transformação reconstruídos quantizados e produzidos pela codificação e subsequentemente a decodificação do quadro-S S2 no segundo fluxo de bit. Isto significa que os coeficientes I12rec de transformação reconstruídos produzidos ao decodificar a informação de vídeo compactada para o quadro-S secundário S12 são idênticos a estes os quais foram produzidos se o quadro-S S2 do segundo fluxo de bit tiver sido transmitido e decodificado. Como previamente explicado, visto que segue: T12 =T12 4-T12 1 rec 1 pred ‘ -1 err _ yl2 4-T2 T12 =T2 1 pred ' 1 rec “ A pred A rec EntaO, I rec I rec* Então pode ser visto pela construção, um quadro-S secundário S12 de acordo com o método da invenção, transmitindo este do codificador para o decodificador e subseqüentemente decodificando este, a comutação livre-de-variação entre o primeiro e o segundo fluxos de bit podem ser alcançados.
Considerando o caso em que o quadro-S secundário é um quadro-SI, enquanto que o quadro-S dentro do fluxo de bit é um quadro-SP. Neste caso, o quadro que usa a predição de movimento-compensado é representado por um quadro que usa apenas a predição espacial. Este caso especial tem implicações no acesso randômico e na resiliência de erro que serão descritos após.
Deveria ser observado que o codificador 1100 e o decodificador 1200 de acordo com a primeira incorporação da invenção, descrita acima, e a quantização aplicada aos coeficientes de transformação cpred produzidos nos blocos 1160 (codificador) e 1290 (decodificador) para render os coeficientes Ipred de transformação quantizados é a mesma da usada para gerar os coeficientes Ierr de transformação de erro de predição de quantizados. Mais especificamente, na primeira incorporação da invenção, quando o bloco dos valores de pixel predito P(x,y) é produzido para um bloco de imagem do quadro-S que está sendo codificado/decodificado, o parâmetro de quantização QP usado para quantificar os coeficientes cpred de transformação correspondendo ao bloco predito dos valores de pixel P(x,y) deveria ser o mesmo dos parâmetros de quantização usados ao gerar os coeficientes IeiT de transformação de erro de predição de quantizados. Isto é vantajoso desde que a soma executada de forma a produzir os coeficientes Irec de transformação reconstruídos é executada no domínio do coeficiente de transformação quantizado, isto é, visto que: Irec Ipred Ierr? falha ao usar os parâmetros de quantização idênticos na construção do Ipred e Ierr que conduzirá a erros nos coeficientes Irec de transformação quantizados reconstruídos. A Figura 15 apresenta um diagrama em blocos do codificador do quadro-S 1500 de acordo com a segunda incorporação da invenção, que provê maior flexibilidade na escolha dos parâmetros de quantização para gerar os coeficientes Ipred e Ierr de transformação quantizados. Como pode ser visto ao comparar a Figura 15 com a Figura 11, a diferença principal entre o codificador de quadro-S 1500 de acordo com a segunda incorporação da invenção e o codificador de quadro-S 1100 de acordo com a primeira incorporação da invenção concerne á localização dos blocos de quantização 1525 e 1550. A operação do codificador de quadro-S 1500 de acordo com a segunda incorporação da invenção será descrita em detalhes com referência á Figura 15.
De acordo com a segunda incorporação da invenção, um quadro de vídeo a ser codificado no formato do quadro-S é primeiro particionado nos blocos e cada bloco é então codificado como no bloco-SP ou no bloco-SI. A comutação 1585 é operada apropriada para comutar entre os modos de codificação SP e SI. No modo de codificação SP, o comutador 1585 é operado para obter uma predição de movimento compensado para o bloco atual do quadro sendo codificado do bloco 1575 de predição de movimento compensado. O bloco 1575 de predição de movimento compensado forma um bloco dos valores de pixel preditos P(x,y) para o bloco atual do quadro sendo codificado, determinando o vetor de movimento que descreve a relação entre os pixels do bloco atual e os valores de pixel do quadro de referência reconstruído contido na memória de quadro 1570.
No modo de codificação-SI, o comutador 1585 é operado para obter uma predição para o bloco atual do quadro sendo codificado do bloco de predição intra 1580. O bloco de predição intra 1580 opera de uma maneira análoga á descrita em conexão com a primeira incorporação da invenção, para formar um bloco dos valores de pixel predito P(x,y) para o bloco atual do quadro sendo codificado usando a predição espacial dos pixels vizinhos já codificados dentro do quadro sendo codificado.
Em ambos os modos de codificação-SP e -SI uma transformada direta, por exemplo, a Transformada de Co-seno Discreta Transforma (DCT), é aplicada ao bloco predito dos valores de pixel P(x,y) no bloco de transformação 1590. Os coeficientes cpred de transformação resultante são providos aos somadores 1520 e 1540. Os dados de imagem originais, incluindo o valor do pixel atual do bloco de imagem atualmente sendo codificado, são passados para o bloco de transformação 1510, onde eles também estão sujeitos á transformada direta (por exemplo, DCT). Os coeficientes c0ng de transformação resultante são então passados para o somador 1520, que forma a diferença entre corjg e cpred para gerar os coeficientes cerr de transformação de erro de predição de acordo com a relação: Cerr Corig - Cprecj.
Os coeficientes de transformação de erro de predição são providos ao bloco de quantização 1525, onde eles são quantizados usando o parâmetro de quantização PQP para formar os coeficientes Ierr de transformação de erro de predição quantizados que são, passados para o multiplexador 1540.
Se o bloco atual está sendo codificado no formato-SP, o multiplexador 1540 também recebe a informação relativa aos vetores de movimento usados na formação da predição de movimento compensado P(x,y) para o bloco SP-codificado. Se o bloco atual está sendo codificado no formato-SI a informação relativa ao modo de predição intra usado para formar a predição P(x,y) para o bloco codificado-SI é também passada ao multiplexador. Vantajosamente, o multiplexador 1540 aplica uma codificação de comprimento variável apropriado (VLC) para os coeficientes Ierr de transformação de erro de predição quantizados e para o vetor de movimento ou á informação do modo de predição intra e forma um fluxo-bit para a transmissão para o decodificador correspondente através da multiplexação junto com as várias formas de informação.
Os coeficientes Ien· de transformação de erro de predição quantizados são passados do bloco de quantização 1525 para o bloco de quantização inversa 1530, onde eles são quantizados inversos usando o parâmetro de quantização PQP, para formar os coeficientes den- de transformação de erro de predição quantizados inversos. Os coeficientes derr de transformação de erro de predição quantizados inversos são passados para o somador 1540, onde eles são combinados com os coeficientes cpred de transformação produzidos do valor do pixel predito P(x,y) para o bloco atual. Mais especificamente, o somador 1540 adiciona os coeficientes cpred de transformação e os coeficientes den· de transformação de erro de predição quantizados inversos para formar os coeficientes crec de transformação reconstruídos de acordo com a relação: Crec Cpre{] derr Os coeficientes crec de transformação reconstruídos são passados para o bloco de quantização 1550, onde eles são quantizados usando o parâmetro de quantização SPQP para produzir os coeficientes Irec de transformação quantizados reconstruídos. Deveria ser observado que o parâmetro de quantização SPQP usado para quantificar os coeficientes de transformação reconstruídos não é necessariamente o mesmo parâmetro de quantização PQP usado para quantificar os coeficientes ceTT de transformação de erro de predição no bloco de quantização 1525. Em particular, uma melhor quantização pode ser aplicada aos coeficientes crec de transformação reconstruídos e uma quantização rápida pode ser aplicada aos coeficientes cerr de erro de predição. Isto resulta no final em um erro de reconstrução menor (distorção) quando a imagem decodificada é formada no decodificador.
Os coeficientes Irec de transformação quantizados reconstruídos são providos ao bloco de quantização inversa 1560, onde eles são quantizados inversos usando o parâmetro de quantização SPQP para formar os coeficientes drec de transformação reconstruídos quantizados inversos. Os coeficientes drec de transformação reconstruídos quantizados inversos são passados então para o bloco de transformação inversa 1565, onde eles são sujeitos a uma operação de transformação inversa, por exemplo, a Transformada de Co-seno Discreta Inversa (IDCT). Como resultado desta operação, o bloco dos valores de pixel reconstruídos Ic(x,y) é formado para o bloco de imagem em questão. O bloco dos valores de pixel reconstruído Ic(x,y) é armazenado subseqüentemente na memória de quadro 1570. Como os blocos subseqüentes do quadro sendo codificado no formato do quadro-S sofrem a codificação previamente descrita e as operações de decodificação local, uma versão decodificada do quadro atual é acoplada progressivamente na memória de quadro 1570, de onde esta possa ser acessada e usada na predição intra dos blocos subseqüentes do mesmo quadro ou na predição inter (movimento compensado) dos quadros subseqüentes na seqüência de vídeo. A operação do decodificador de quadro-S 1300 de acordo com a segunda incorporação da invenção será descrita agora com referência á Figura 13. O fluxo de bit gerado pelo codificador de quadro-S 1500, de acordo com a segunda incorporação da invenção e descrita acima com relação á Figura 15 é recebido pelo decodificador 1300 e é desmultiplexado nas suas partes constituintes. O decodificador reconstrói uma versão decodificada do quadro-S com base no bloco-a-bloco. Como previamente descrito, o quadro-S geralmente inclui ambos os blocos de imagem codificados-SP e codificados-SI. Para o bloco de imagem codificado-SP, a informação no fluxo de bit recebido compreende a informação do vetor de movimento codificado VLC e os coeficientes Ierr de transformação de erro de predição quantizados codificados VLC. Para os blocos de imagem codificados no formato-SI, a informação no fluxo de bit recebido compreende a informação codificada VLC relativa ao modo de predição intra usado para formar a predição intra para o bloco codificado-SI, como também os coeficientes Ierr de transformação de erro de predição quantizados codificados VLC.
Ao decodificar o bloco de imagem codificado-SP, o demultiplexador 1310 primeiro aplica uma decodificação de comprimento variável apropriado (VLD) para o fluxo de bit recebido, para recuperar as informações do vetor de movimento e os coeficientes Ierr de transformação de erro de predição quantizados. Este então separa a informação do vetor de movimento dos coeficientes IeiT de erro de predição quantizados. A informação do vetor de movimento é provida ao bloco de predição de movimento compensado 1370 e os coeficientes Ierr de erro de predição quantizados recuperados do fluxo de bit recebido são aplicados ao bloco de quantização inversa 1320. A informação do vetor de movimento recuperada do fluxo de bit recebido é usada no bloco de predição de movimento compensado 1370 junto com os valores de pixel do quadro previamente reconstruído contido na memória de quadro 1360, para formar a predição P(x,y) para o bloco atual sendo decodificado, de uma maneira análoga á empregada no codificador 1500.
Ao decodificar o bloco de imagem codificado-SI, o demultiplexador 1310 aplica uma decodificação de comprimento variável apropriado à informação do modo de predição intra recebida e aos coeficientes Ien- de transformação de erro de predição quantizados. A informação do modo de predição intra é então separada dos coeficientes Ierr de transformação de erro de predição quantizados e é provido ao bloco de predição intra 1380. Os coeficientes Ierr de transformação de erro de predição quantizados são fornecidos ao bloco de quantização inversa 1320. A informação do modo de predição intra recuperada do fluxo de bit recebido é usada no bloco de predição intra 1380 junto com os valores de pixel previamente decodificados do quadro atual contido na memória de quadro 1360, para formar a predição P(x,y) para o bloco atual sendo decodificado. Novamente, o processo de predição intra executado no decodificador 1200 é análogo ao executado no codificador 1500 correspondente previamente descrito.
Para ambos os blocos de imagem codificados-SP e —SI, os coeficientes Ierr de transformação de erro de predição quantizados recuperado do fluxo de bit recebido são quantizados inversos no bloco 1320 de quantização inversa, usando o parâmetro de quantização PQP para formar os coeficientes deiT de transformação de erro de predição quantizados inversos. Os coeficientes den· de transformação de erro de predição quantizados inversos são aplicados na entrada do somador 1325.
Uma vez que a predição P(x,y) para o bloco atual do quadro sendo decodificado tem sido formada, ou pela predição de movimento compensado no bloco de predição de movimento compensado 1370 ou pela predição intra no bloco de predição intra 1380, o comutador 1385 é operado como apropriado para prover os valores de pixel predito P(x,y) para o bloco de transformação 1390. Aqui a transformada direta, por exemplo, a Transformada de Co-seno Discreta (DCT) é aplicada ao bloco predito dos valores de pixel P(x,y) para formar os coeficientes de transformação cpred· Os coeficientes de transformação Cpred são então providos à segunda entrada do somador 1325, onde eles são combinados com os coeficientes de transformação de erro de predição quantizados inversos recebidos do bloco de quantização inversa 1320, para formar os coeficientes crec de transformação reconstruídos. Mais especificamente, os coeficientes de transformação reconstruídos são determinados somando-se aos coeficientes cpred de transformação e aos coeficientes derr de transformação de erro de predição quantizados inversos de acordo com a relação: Crec Cpre() den·.
Os coeficientes crec de transformação reconstruídos são passados para o bloco de quantização 1330, onde eles são quantizados para produzir os coeficientes Irec de transformação reconstruídos quantizados usando o parâmetro de quantização SPQP. Os coeficientes Irec de transformação reconstruídos quantizados são providos ao bloco de quantização inversa 1340, onde eles são quantizados inversos usando o parâmetro de quantização SPQP para formar os coeficientes drec de transformação reconstruídos quantizados inversos. Os coeficientes drec de transformação reconstruídos quantizados inversos são passados para o bloco de transformação inversa 1350, onde eles são sujeitos a uma operação de transformação inversa, por exemplo, a Transformada de Co-seno Discreta Inversa (IDCT). Como resultado da transformação inversa aplicada no bloco de transformação inversa 1350, um bloco de pixels de imagem reconstruído Ic(x,y) é formado para o bloco de imagem em questão. O bloco dos pixels reconstruídos Ic(x,y) é provido à saída de vídeo do decodificador e para a memória de quadro 1360, onde os pixels são armazenados. Como os blocos subseqüentes do quadro-S sofrem as operações de decodificação descritas acima, uma versão decodificada do quadro atual é progressivamente montada na memória de quadro 1360. De lá pode ser acessado e usado na predição intra dos blocos subseqüentes do mesmo quadro ou na predição inter (movimento compensado) dos quadros subseqüentes na seqüência de vídeo.
Na Figura 16, um codificador de acordo com a terceira incorporação da invenção é apresentado. Nesta incorporação, os coeficientes cpred de transformação sofrem a quantização e a quantização inversa usando o mesmo parâmetro de quantização SPQP, ambos na seção do codificador (bloco 1625 e 1630) e na seção do decodificador (bloco 1692 e 1694). Então, o codificador não introduz nenhum erro de quantização adicional para o laço de predição, e a formação de erro no laço de predição é então prevenida efetivamente. Os blocos 1610, 1620, 1625, 1630, 1640, 1650, 1660, 1665, 1670, 1675, 1680, 1685, 1690 têm funcionalidades similares aos blocos 1510, 1520, 1525, 1530, 1540, 1550, 1560, 1565, 1570, 1575, 1580, 1585, 1590 apresentados na Figura 15, respectivamente.
Na Figura 6, o decodificador 600 de acordo com uma incorporação vantajosa da invenção é descrito. A maioria dos elementos do decodificador 600 é a mesma do decodificador 1200 apresentado na Figura 12. Os blocos operacionais do decodificador 600 são dispostos para decodificar os blocos de predição dos quadros, onde nenhum dispositivo de comutação é mostrado na Figura 6. Outros blocos 610, 615, 620, 630, 640, 650, 660 e 670 possuem funcionalidades similares aos blocos 1210, 1220, 1230, 1240, 1250, 1260, 1290 e 1295 apresentados na Figura 12, respectivamente.
Na Figura 9, um decodificador 600 de acordo com outra incorporação vantajosa da invenção é descrito. O decodificador 600 apresentado na Figura 9 é uma modificação do decodificador 600 apresentado na Figura 6. A diferença entre o decodificador apresentado na Figura 9 e o decodificador apresentado na Figura 12 é que um bloco de normalização 680 é inserido entre o demultiplexador 610 e em uma entrada do elemento somador 615. Outros blocos 610, 615, 620, 630, 640, 650, 660 e 670 possuem funcionalidades semelhantes aos blocos 1210, 1220, 1230, 1240, 1250, 1260, 1290 e 1295 apresentados na Figura 12, respectivamente.
Na Figura 10, um decodificador 600 de acordo com outra incorporação vantajosa da invenção é descrito. A maioria dos elementos do decodificador 600 é a mesma do decodificador 1300 apresentado na Figura 13. Os blocos operacionais do decodificador 600 são dispostos para decodificar os blocos de predição dos quadros, onde nenhum dispositivo de comutação é mostrado na Figura 10. A outra diferença entre o decodificador apresentado na Figura 13 e o decodificador apresentado na Figura 10 é que o bloco de normalização 680 é usado ao invés do bloco de quantização inversa 1230. Outros blocos 610, 615, 620, 630, 640, 650, 660 e 670 possuem funcionalidades similares aos blocos 1310, 1325, 1330, 1340, 1350, 1360, 1370 e 1390 apresentados na Figura 13, respectivamente. A codificação de um quadro de vídeo pode ser executada com base no bloco-a-bloco, tal que no mesmo quadro de vídeo codificado possam existir áreas diferentemente codificadas. Por exemplo, algumas partes do quadro podem ser inter codificadas e algumas outras partes do quadro podem ser intra codificadas. Os procedimentos anteriores são aplicados adequadamente a cada parte do quadro, de acordo com o procedimento de codificação da parte em questão.
Em adição á rede de transmissão, o pedido para a troca das propriedades de transmissão do fluxo de bit também pode ser originado por outras partes do sistema de transmissão. Por exemplo, o receptor pode pedir ao servidor de transmissão para mudar os parâmetros por alguma razão. Este pedido é entregue ao servidor de transmissão, por exemplo, pela rede de transmissão.
Embora o H.26L seja usado como exemplo de um padrão, as incorporações da presente invenção e qualquer variação e modificações são compreendidas para estar dentro da extensão da presente invenção. A comutação do fluxo de bit não é apenas uma aplicação na qual a presente invenção pode ser aplicada. Se um dos fluxos de bit possui uma resolução temporal inferior, por exemplo, 1 quadro/seg, este fluxo de bit pode ser usado para prover uma funcionalidade rápida-direta. Especificamente, a decodificação do fluxo de bit com resolução temporal inferior e então a comutação do fluxo de bit com uma taxa de quadro normal proveríam tal funcionalidade. A Figura 8 descreve dois fluxos de bit, o segundo do qual compreende apenas os quadros-S preditos um ao outro em intervalos maiores do que o intervalo de repetição do quadro do primeiro fluxo de bit. Além disso, “Avanço Rápido” pode começar e parar em qualquer localização no fluxo de bit. A seguir, algumas outras aplicações da presente invenção são descritas.
Entrelaçamento e Acesso Randômico. O exemplo de comutação do fluxo de bit discutido anteriormente considera os fluxos de bit pertencendo à mesma seqüência de imagens. Porém, este não é necessariamente o caso em que todas as situações onde a comutação do fluxo de bit é necessária. Exemplos incluem: a comutação entre os fluxos de bit que chegam das diferentes câmeras que capturam o mesmo evento, mas de perspectivas diferentes, ou câmeras colocadas ao redor de um edifício para vigilância; a comutação para a programação local/nacional ou para a inserção de comerciais em uma radiodifusão de televisão, a formação de vídeo, etc. O termo geral para o processo de concatenação dos fluxos de bit é o entrelaçamento.
Quando a comutação ocorre entre os fluxos de bit que pertencem á diferentes seqüências de imagens, esta apenas afeta a codificação dos quadros-S usada entre os fluxos de bit, isto é, o quadro-S secundário S12 na Figura 5. Especificamente, o uso da predição de movimento-compensada dos quadros em uma seqüência de imagens usando os quadros de referência de uma seqüência diferente de imagens não é tão eficiente quanto quando ambos os fluxos de bit pertencem à mesma seqüência de imagens. Neste caso, é mais provável que a predição espacial dos quadros-S secundários seria mais eficiente. Isto é ilustrado na Figura 7 onde o quadro de comutação é um quadro-SI usando apenas a predição espacial, a qual reconstrói identicamente o quadro-SP correspondente S2. Este método pode ser usado como um mecanismo de acesso randômico em um fluxo de bit e pode ter outras implicações na recuperação de erro e de resiliência como descrito a seguir.
Recuperação de erro. Múltiplas representações de um único quadro na forma dos quadros-S preditos dos diferentes quadros de referência, por exemplo, preditos dos quadros reconstruídos imediatamente precedentes e de um quadro reconstruído que retrocede no tempo pode ser usado para aumentar a resiliência de erro da seqüência de vídeo codificada e/ou para melhorar a recuperação de erros no fluxo de bit. Isto é ilustrado na Figura 14. Em uma situação onde uma perda de pacote ocorre durante o streaming de um fluxo de bit pré-codificado e um quadro ou fatia é perdido, o receptor informa ao transmissor do quadro/fatia perdido e o transmissor responde enviando uma das representações alternativas do próximo quadro-S. A representação alternativa, por exemplo, o quadro S12 na Figura 14, usando os quadros de referência que já foram recebidos corretamente pelo receptor. Para a fatia baseada no empacotamento e na entrega, o remetente podería calcular as fatias que seriam afetadas por tal perda de fatia/quadro e atualizar apenas estas fatias no próximo quadro-S com as suas representações alternativas.
Similarmente, e como mencionado anteriormente na discussão do entrelaçamento, a representação secundária do quadro-S pode ser gerada sem usar qualquer quadro de referência, isto é, o quadro-Sl2 tal como apresentado na Figura 14. Neste caso, o transmissor enviaria o quadro-SI secundário, isto é, o SI2 ao invés de S2 para parar a propagação de erro. Esta aproximação também podería ser estendida de uma maneira direta á fatia baseada na codificação/empacotamento. Mais especificamente, o servidor envia as fatias no próximo quadro-S, que seria afetado pela perda de pacote, do quadro-SI.
Resiliência de erro. A codificação de um quadro de vídeo pode ser executada com base no bloco-a-bloco, tal que no mesmo quadro de vídeo codificado possam existir áreas diferentemente codificadas. Por exemplo, algumas partes do quadro podem ser inter codificadas e algumas outras partes do quadro podem ser intra codificadas. E como já discutido, a codificação intra-bloco, desde que esta não empregue nenhuma correlação temporal, pára qualquer propagação de erro que podería ser iniciada devido as degradações de transporte.
Nas redes de transporte com perdas, uma estratégia de restauração do macro-bloco intra pode prover um desempenho de resiliência/recuperação de erro significante. Em um cenário interativo cliente/servidor, o codificador no lado do servidor decide ou codificar os quadros/macro-blocos baseados em uma realimentação específica recebida do cliente, por exemplo, o local exato do quadro/fatia/macro-bloco perdido/corrompido, ou baseado nas condições de rede esperadas calculadas através da negociação ou das condições da rede medidas. Este tipo de estratégia de atualização do macro-bloco-intra melhora a qualidade de vídeo recebida provendo a resiliência de erro e a recuperação de erro. A taxa otimizada de restauração de atualização do macro-bloco-intra, isto é, a freqüência na qual os macro-blocos são intra-codificados, depende das condições do canal de transporte, por exemplo, a perda do pacote e/ou a taxa de erro de bit. Contudo, quando os fluxos de bit já codificados são enviados, que é o caso nas aplicações streaming típicas, a estratégia anterior não pode ser aplicada diretamente. Ou a seqüência necessita ser codificada com o pior-caso esperado das condições da rede ou os mecanismos de resiliência/recuperação de erro adicionais são requeridos.
Da discussão anterior referindo ao uso dos quadros-S na recuperação de erro e nas aplicações de entrelaçamento, pode ser observada que os quadros-S ou as fatias podem ser representados dentro deles facilmente como os quadros-SI/fatias que não usam nenhum quadro de referência enquanto ainda conduz a uma reconstrução idêntica do quadro-S. Esta característica pode ser explorada no mecanismo de restauração intra adaptável discutido acima. Primeiro, uma seqüência de imagens é codificada com alguma relação de pré-definida dos macro-blocos-S. Então durante a transmissão, alguns dos macro-blocos-S são enviados na sua representação secundária que é como os blocos macro-SI. O número dos macro-blocos-S a ser enviado na representação SI pode ser calculado de uma maneira similar ao método usado na aproximação da codificação/entrega em tempo real descrita previamente.
Codificação de Redundância de vídeo.
Os quadros-S possuem outros usos nas aplicações, nas quais eles não atuam como substituições dos quadros-I. A Codificação da Redundância de vídeo (VRC) pode ser dada como um exemplo. O princípio do método VRC é dividir uma seqüência de imagens em duas ou mais linhas, de tal modo que todas as imagens sejam atribuídas a uma das linhas em uma sessão circular. Cada linha é codificada independentemente. Em intervalos regulares, todas as linhas convergem em um denominado quadro de sincronismo. Deste quadro de sincronismo, uma nova série de linha é iniciada. Se uma das linhas for danificada, por exemplo, por causa da perda de pacote, as linhas restantes tipicamente ficam intactas e podem ser usadas para predizer o próximo quadro de sincronismo. É possível continuar a decodificação da linha danificada, que conduz a uma degradação rápida na qualidade da imagem, ou pára a decodificação da linha danificada, que conduz a uma queda na taxa de quadro. Os quadros de sincronismo são sempre preditos de uma das linhas não danificadas. Isto significa que o número dos quadros-I transmitidos pode ser mantido pequeno, porque não existe nenhuma necessidade para uma re-sincronização completa. Para o quadro de sincronismo, mais de uma representação (quadro-P) é enviada, cada uma usando um quadro de referência de uma linha diferente. Devido ao uso dos quadros-P estas representações não são idênticas. Então uma variação é introduzida quando algumas das representações não podem ser decodificadas e as suas contrapartes são usadas ao decodificar as linhas seguintes. O uso dos quadros-S como quadros de sincronismo elimina este problema. É óbvio que a presente invenção não está limitada às incorporações descritas acima, mas pode ser modificada dentro do escopo das reivindicações apensas.

Claims (26)

1. Método para transmitir a informação de vídeo, na qual ao menos o primeiro fluxo de bit (510) e o segundo fluxo de bit (520) são formados da informação de vídeo, o primeiro fluxo de bit (510) compreende o primeiro grupo de quadros compreendendo ao menos um quadro de vídeo, e o segundo fluxo de vídeo (520) compreende o segundo grupo (520) de quadros compreendendo ao menos um quadro (524) de vídeo preditivo, ao menos os parâmetros de codificação parcialmente diferentes são usados com a codificação dos quadros do primeiro fluxo de bit (510) e do segundo fluxo de bit (520), ao menos um quadro do primeiro fluxo de bit (510) está sendo transmitido, e a transmissão é comutada do primeiro fluxo de bit (510) para o segundo fluxo de bit (520), o método é CARACTERIZADO pelo fato de que na comutação, a transmissão é realizada do primeiro fluxo de bit (510) para o segundo fluxo de bit (520), e o segundo fluxo de bit compreende ao menos um quadro de comutação primário (523) e, o quadro (550) de comutação secundário é transmitido, o quadro (550) de comutação secundário tem sido codificado usando os parâmetros de codificação do segundo fluxo de bit (520) e ao menos um quadro de referência do primeiro fluxo de bit (510), o quadro (550) de comutação secundário é usado no lugar do quadro (523) de comutação primário como um quadro de referência a ser usado na reconstrução de pelo menos um quadro (524) de vídeo preditivo do segundo grupo de quadros de vídeo.
2. Método de acordo com a reivindicação 1, é CARACTERIZADO pelo fato de que o primeiro fluxo de bit (510) compreende ao menos um quadro (513) de comutação primário.
3. Método de acordo com a reivindicação 1 ou 2, é CARACTERIZADO pelo fato de que o primeiro fluxo de bit (510) compreende apenas um quadro intra e um quadro de comutação secundário (550), para executar a transferência de uma localização da informação de vídeo para outra localização da informação de vídeo.
4. Método de acordo com a reivindicação 1 ou 2, é CARACTERIZADO pelo fato de que o primeiro fluxo de bit (510) compreende apenas um quadro intra e um quadro de comutação primário (513), para executar a operação de avanço rápido para a informação de vídeo.
5. Método de acordo com as reivindicações 2 a 4, é CARACTERIZAD O pelo fato de que o quadro de comutação primário (523) ou o quadro de comutação secundário (550) é um quadro de vídeo preditivo, no qual a informação de predição compreende apenas a informação de predição intra.
6. Método de acordo com as reivindicações 1 a 5, é C ARACTERIZAD O pelo fato de que o quadro de comutação primário (513) é formado assim que os coeficientes Cpred de transformação são calculados e quantificados, para formar os valores quantificados dos coeficientes Ipred de transformação, onde os coeficientes Ien- quantificados para o erro de predição são definidos, onde os coeficientes drec de imagem de reconstrução dês-quantificados são definidos, assim que os coeficientes crec forem derivados da quantificação e da dês-quantificação, os coeficientes drec de imagem de reconstrução dês-quantificados podem ser obtidos, e os coeficientes drec de imagem de reconstrução dês-quantificados preenchem uma das condições a seguir: Irec Ipred lerr > OU Crec Oprec] derr, onde: derr são os valores dês-quantificados do erro de predição.
7. Método de acordo com a reivindicação 6, é CARACTERIZADO pelo fato de que os mesmos parâmetros de quantificação são usados com a quantificação dos coeficientes Ipred de transformação, e com a quantificação do erro de predição.
8. Método de acordo com a reivindicação 6, é CARACTERIZADO pelo fato de que os parâmetros de quantificação diferentes são usados com a quantificação dos coeficientes Irec, crec de transformação do que com a quantificação do erro de predição.
9. Método para transmitir a informação de vídeo, na qual ao menos o fluxo de bit (510) é formado da informação de vídeo, o fluxo de bit (510) compreende o primeiro grupo de quadros compreendendo ao menos um quadro de vídeo, e um segundo grupo de quadros compreendendo ao menos um quadro de vídeo (524), ao menos em parte os parâmetros de codificação diferentes são usados com a codificação dos quadros do primeiro grupo de quadros e do segundo grupo de quadros, ao menos um quadro do fluxo de bit (510) está sendo transmitido, e a transmissão é comutada do primeiro grupo de quadros para o segundo grupo de quadros, o método é CARACTERIZADO pelo fato de que na comutação, a transmissão é realizada do primeiro grupo de quadros para o segundo grupo de quadros, o segundo grupo de quadros compreende ao menos um quadro de comutação primário (523), o quadro de comutação secundário (550) é transmitido, o quadro de comutação secundário (550) tendo sido codificado usando os parâmetros de codificação do segundo grupo de quadros e ao menos um quadro de referência do primeiro grupo de quadros, o quadro de comutação secundário (550) é usado no lugar do quadro de comutação primário (523) como um quadro de referência a ser usado na reconstrução de pelo menos um quadro de vídeo predito (524) do segundo grupo dos quadros de vídeo, o quadro de comutação secundário (550) é usado para recuperação dos erros de transmissão, onde o quadro de comutação secundário é um quadro de vídeo preditivo, no qual a informação de predição compreende a informação de predição dos quadros de vídeo anteriores do que os quadros de vídeo precedentes do quadro de vídeo preditivo.
10. Método para transmitir a informação de vídeo, no qual ao menos o fluxo de bit (510) é formado da informação de vídeo, o fluxo de bit (510) compreende o primeiro grupo de quadros compreendendo ao menos um quadro de vídeo, e o segundo grupo de quadros compreendendo ao menos um quadro de vídeo preditivo (524), ao menos em parte os parâmetros de codificação diferentes são usados com a codificação dos quadros do primeiro grupo de quadros e do segundo grupo de quadros, ao menos um quadro do fluxo de bit (510) está sendo transmitido, e a transmissão é comutada do primeiro grupo de quadros para o segundo grupo de quadros, o método é CARACTERIZAI)O pelo fato de que na comutação, a transmissão do primeiro grupo de quadros para o segundo grupo de quadros é realizada, o segundo grupo de quadros compreende ao menos um quadro de comutação primário (523), o quadro de comutação secundário (550) é transmitido, o quadro de comutação secundário (550) tendo sido codificado usando os parâmetros de codificação do segundo grupo de quadros e ao menos um quadro de referência do primeiro grupo de quadros, e o quadro de comutação secundário (550) é usado no lugar do quadro de comutação primário (523) como um quadro de referência a ser usado na reconstrução de pelo menos um quadro de vídeo preditivo (524) do segundo grupo de quadros de vídeo, e o quadro de comutação secundário (550) é usado para recuperação dos erros de transmissão, onde o quadro de comutação secundário é um quadro de vídeo preditivo, no qual a informação de predição compreende apenas a informação de predição intra.
11. Método de acordo com as reivindicações 1 a 10, é CARACTERIZADO pelo fato de que ambos, ao menos o quadro de comutação primário (523) e o quadro de comutação secundário (550) produzem o mesmo resultado de reconstrução de pelo menos um quadro de vídeo preditivo (524).
12. Método de acordo com as reivindicações 1 a 10, é CARACTERIZADO pelo fato de que ambos, ao menos um quadro de comutação primário (523) e o quadro de comutação secundário (550) tem os mesmos valores reconstruídos.
13. Codificador compreendendo um dispositivo para formar ao menos o primeiro fluxo de bit (510) e o segundo fluxo de bit (520) da informação de vídeo, o primeiro fluxo de bit compreende o primeiro grupo de quadros compreendendo ao menos um quadro de vídeo, e o segundo fluxo de vídeo compreende o segundo grupo (520) de quadros compreendendo ao menos um quadro (524) de vídeo preditivo, e um dispositivo para usar os parâmetros de codificação ao menos parcialmente diferentes com a codificação dos quadros do primeiro fluxo de bit (510) e do segundo fluxo de bit (520), um dispositivo para transmitir ao menos um quadro do primeiro fluxo de bit (510), e um dispositivo para comutar a transmissão do primeiro fluxo de bit (510) para o segundo fluxo de bit (520), o codificador é CARACTERIZADO pelo fato de que o dispositivo para comutar a transmissão do primeiro fluxo de bit (510) para o segundo fluxo de bit (520), compreende um dispositivo para codificar o quadro de comutação secundário (550) usando os parâmetros de codificação do segundo fluxo de bit (520) e os quadros de referência do primeiro fluxo de bit (510) para habilitar a comutação da transmissão do primeiro fluxo de bit (510) para o segundo fluxo de bit (520).
14. Codificador de acordo com a reivindicação 13, é CARACTERIZADO pelo fato de que inclui os dispositivos (1670, 1675) para produzir a informação de predição usando os quadros de referência, e os dispositivos (1692, 1694) para executar a quantificação e a dês-quantificação para a informação de predição.
15. Codificador de acordo com a reivindicação 13, é CARACTERIZADO pelo fato de que compreende os dispositivos (1670, 1675) para produzir a informação de predição usando os quadros de referência, e o dispositivo (1690) para transformar a informação de predição.
16. Decodificador para decodificar a informação de vídeo de um sinal compreendendo os quadros ao menos do primeiro fluxo de bit (510) e do segundo fluxo de bit (520), os quais são formados da informação de vídeo, o primeiro fluxo de bit compreende o primeiro grupo de quadros compreendendo ao menos um quadro de vídeo, e o segundo fluxo de vídeo compreende o segundo grupo (520) de quadros compreendendo ao menos um quadro (524) de vídeo preditivo, e os parâmetros de codificação ao menos parcialmente diferentes são usados com a codificação dos quadros do primeiro fluxo de bit (510) e do segundo fluxo de bit (520), o decodificador é CARACTERIZADO pelo fato de que compreende um dispositivo para decodificar o quadro de comutação secundário (550), o quadro de comutação secundário (550) tendo sido codificado usando os parâmetros de codificação do segundo fluxo de bit (520) e ao menos um quadro de referência do primeiro fluxo de bit (510), e adicionado ao sinal no lugar do quadro de comutação primário (523) como um quadro de referência a ser usado na reconstrução de pelo menos um quadro de vídeo preditivo (524) do segundo grupo de quadros de vídeo, e um dispositivo para decodificar o quadro de comutação secundário (550) compreende um dispositivo para usar os parâmetros de decodificação do segundo fluxo de bit (520) e os quadros de referência do primeiro fluxo de bit (510).
17. Decodificador de acordo com a reivindicação 16, é CARACTERIZADO pelo fato de que o quadro de comutação primário (513) compreende as áreas codificadas pela predição intra usando apenas a correlação espacial, e as áreas codificadas pela predição inter usando a compensação de movimento, onde o decodificador compreende um dispositivo para usar a informação de compensação de movimento com a reconstrução, um dispositivo para usar a informação de correlação espacial com a reconstrução, e o dispositivo comutador para executar a reconstrução de cada área ou através do dispositivo que usa a informação de compensação de movimento ou através do dispositivo que usa a informação de correlação espacial, dependendo do método de predição usado pela codificação da respectiva área.
18. Sinal representando a informação de vídeo codificada, e compreendendo os quadros ao menos do primeiro fluxo de bit (510) e do segundo fluxo de bit, que são formados da informação de vídeo, o primeiro fluxo de bit compreende o primeiro grupo de quadros compreendendo ao menos um quadro de vídeo, e o segundo fluxo de vídeo compreende o segundo grupo (520) de quadros compreendendo ao menos um quadro (524) de vídeo preditivo, e os parâmetros de codificação ao menos parcialmente diferentes são usados com a codificação dos quadros do primeiro fluxo de bit (510) e do segundo fluxo de bit (520), o sinal é CARACTERIZADO pelo fato de que na comutação, a transmissão é realizada do primeiro fluxo de bit (510) para o segundo fluxo de bit (520), o segundo fluxo de bit compreende ao menos um quadro de comutação primário (523), e o sinal compreende o quadro de comutação secundário (513, 523) tendo sido codificado usando os parâmetros de codificação do segundo fluxo de bit (520) e, ao menos um quadro de referência do primeiro fluxo de bit (510), e o quadro de comutação secundário (550) está no lugar do quadro de comutação primário (523) como um quadro de referência a ser usado na reconstrução de ao menos um quadro de vídeo preditivo (524) do segundo grupo dos quadros de vídeo.
19. Decodificador para decodificar a informação de vídeo de um sinal compreendendo ao menos um bloco de vídeo e ao menos um bloco de vídeo preditivo, o bloco de vídeo preditivo sendo predito de pelo menos um bloco de vídeo, o decodificador inclui uma memória (640, 1250, 1360) para armazenar a informação de referência nos blocos previamente decodificados, e um preditor (650, 1260, 1270, 1370, 1380) para formar um bloco predito usando a informação de referência armazenada na memória (640, 1250, 1360), o decodificador (600, 1200, 1300) é CARACTERIZADO pelo fato de que também compreende: - um transformador (660, 1290, 1390) para transformar o bloco predito para formar um bloco predito transformado, e - um somador (615, 1220, 1325) para somar o bloco predito transformado com uma informação representativa do bloco atual para obter a informação somada para uso na decodificação do bloco atual.
20. Decodificador de acordo com a reivindicação 19, é CARACTERIZADO pelo fato de que este inclui um quantificador inverso (620, 1230, 1330) e um transformador inverso (630, 1240, 1340) para quantificação inversa e para a transformação inversa do bloco atual após o somatório.
21. Decodificador de acordo com a reivindicação 19 ou 20, é CARACTERIZADO pelo fato de que inclui um quantificador (670, 1295) para quantificar o bloco predito transformado antes do somatório.
22. Decodificador de acordo com a reivindicação 21, é CARACTERIZADO pelo fato de que a informação representativa do bloco atual tem sido obtida ao menos ao transformar e quantificar o bloco de vídeo, a transformação e a quantificação sendo idêntica à transformação e à quantificação usadas com o bloco predito.
23. Decodificador de acordo com a reivindicação 19 ou 20, é CARACTERIZADO pelo fato de que a informação representativa do bloco atual tem sido obtida ao menos ao transformar e quantificar o bloco de vídeo, onde o decodificador inclui um quantificador inverso (1320) para quantificar inverso a informação representativa do bloco atual antes do somatório.
24. Decodificador de acordo com a reivindicação 19 ou 20, é CARACTERIZADO pelo fato de que a informação representativa do bloco atual tem sido obtida ao menos ao transformar e quantificar o bloco de vídeo, onde o decodificador inclui um bloco de normalização (680) para escalar a informação representativa do bloco atual antes do somatório.
25. Decodificador de acordo com a reivindicação 23, é CARACTERIZADO pelo fato de que inclui um quantificador (1330), um quantificador inverso (1340) e um transformador inverso (1350) para quantificar, quantificar inverso e transformar inverso o bloco atual após o somatório.
26. Decodificador de acordo com as reivindicações 19 a 25, é CARACTERIZADO pelo fato de que as funções básicas de transformação são dispostas para serem usadas na transformação.
BRPI0206191A 2001-01-03 2002-01-03 método para transmitir a informação de vídeo, codificador, decodificador, e sinal representando a informação codificada BRPI0206191B1 (pt)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US25952901P 2001-01-03 2001-01-03
US09/827,796 US20020122491A1 (en) 2001-01-03 2001-04-06 Video decoder architecture and method for using same
US09/883,887 US6765963B2 (en) 2001-01-03 2001-06-18 Video decoder architecture and method for using same
US09/925,769 US6920175B2 (en) 2001-01-03 2001-08-09 Video coding architecture and methods for using same
PCT/FI2002/000004 WO2002054776A1 (en) 2001-01-03 2002-01-03 Switching between bit-streams in video transmission

Publications (2)

Publication Number Publication Date
BR0206191A BR0206191A (pt) 2003-10-07
BRPI0206191B1 true BRPI0206191B1 (pt) 2016-06-21

Family

ID=27500649

Family Applications (1)

Application Number Title Priority Date Filing Date
BRPI0206191A BRPI0206191B1 (pt) 2001-01-03 2002-01-03 método para transmitir a informação de vídeo, codificador, decodificador, e sinal representando a informação codificada

Country Status (11)

Country Link
US (1) US6920175B2 (pt)
EP (1) EP1356684B1 (pt)
JP (2) JP4109113B2 (pt)
CN (1) CN1225125C (pt)
BR (1) BRPI0206191B1 (pt)
CA (1) CA2431866C (pt)
EE (1) EE04829B1 (pt)
HK (1) HK1062868A1 (pt)
HU (1) HU228605B1 (pt)
MX (1) MXPA03005985A (pt)
WO (1) WO2002054776A1 (pt)

Families Citing this family (92)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6563953B2 (en) * 1998-11-30 2003-05-13 Microsoft Corporation Predictive image compression using a single variable length code for both the luminance and chrominance blocks for each macroblock
JP2004515163A (ja) 2000-11-29 2004-05-20 ブリティッシュ・テレコミュニケーションズ・パブリック・リミテッド・カンパニー リアルタイムデータの送信および受信
US6765963B2 (en) * 2001-01-03 2004-07-20 Nokia Corporation Video decoder architecture and method for using same
US20020122491A1 (en) 2001-01-03 2002-09-05 Marta Karczewicz Video decoder architecture and method for using same
US7123655B2 (en) * 2001-08-09 2006-10-17 Sharp Laboratories Of America, Inc. Method for reduced bit-depth quantization
US7693220B2 (en) 2002-01-03 2010-04-06 Nokia Corporation Transmission of video information
JP3923898B2 (ja) 2002-01-18 2007-06-06 株式会社東芝 画像符号化方法及び装置
FI114527B (fi) 2002-01-23 2004-10-29 Nokia Corp Kuvakehysten ryhmittely videokoodauksessa
MXPA04007020A (es) 2002-01-23 2004-10-11 Nokia Corp Agrupamiento de cuadros de imagen para codificacion de video.
US6996173B2 (en) * 2002-01-25 2006-02-07 Microsoft Corporation Seamless switching of scalable video bitstreams
US20030151753A1 (en) * 2002-02-08 2003-08-14 Shipeng Li Methods and apparatuses for use in switching between streaming video bitstreams
US7003035B2 (en) 2002-01-25 2006-02-21 Microsoft Corporation Video coding methods and apparatuses
US20030163477A1 (en) * 2002-02-25 2003-08-28 Visharam Mohammed Zubair Method and apparatus for supporting advanced coding formats in media files
US20040199565A1 (en) * 2003-02-21 2004-10-07 Visharam Mohammed Zubair Method and apparatus for supporting advanced coding formats in media files
US7613727B2 (en) * 2002-02-25 2009-11-03 Sont Corporation Method and apparatus for supporting advanced coding formats in media files
US6846738B2 (en) * 2002-03-13 2005-01-25 Micron Technology, Inc. High permeability composite films to reduce noise in high speed interconnects
EP1488645B1 (en) * 2002-03-27 2010-12-01 BRITISH TELECOMMUNICATIONS public limited company Video coding and transmission
EP1359722A1 (en) * 2002-03-27 2003-11-05 BRITISH TELECOMMUNICATIONS public limited company Data streaming system and method
US7831990B2 (en) * 2002-04-29 2010-11-09 Sony Corporation Generic adaptation layer for JVT video
US20040001546A1 (en) 2002-06-03 2004-01-01 Alexandros Tourapis Spatiotemporal prediction for bidirectionally predictive (B) pictures and motion vector prediction for multi-picture reference motion compensation
US7280700B2 (en) * 2002-07-05 2007-10-09 Microsoft Corporation Optimization techniques for data compression
US7154952B2 (en) 2002-07-19 2006-12-26 Microsoft Corporation Timestamp-independent motion vector prediction for predictive (P) and bidirectionally predictive (B) pictures
GB0306296D0 (en) 2003-03-19 2003-04-23 British Telecomm Data transmission
US8064520B2 (en) 2003-09-07 2011-11-22 Microsoft Corporation Advanced bi-directional predictive coding of interlaced video
US7852919B2 (en) * 2003-09-07 2010-12-14 Microsoft Corporation Field start code for entry point frames with predicted first field
US7724827B2 (en) * 2003-09-07 2010-05-25 Microsoft Corporation Multi-layer run level encoding and decoding
US7609762B2 (en) * 2003-09-07 2009-10-27 Microsoft Corporation Signaling for entry point frames with predicted first field
US7924921B2 (en) * 2003-09-07 2011-04-12 Microsoft Corporation Signaling coding and display options in entry point headers
US7606308B2 (en) * 2003-09-07 2009-10-20 Microsoft Corporation Signaling macroblock mode information for macroblocks of interlaced forward-predicted fields
US7839930B2 (en) * 2003-11-13 2010-11-23 Microsoft Corporation Signaling valid entry points in a video stream
US8213779B2 (en) * 2003-09-07 2012-07-03 Microsoft Corporation Trick mode elementary stream and receiver system
US7519274B2 (en) 2003-12-08 2009-04-14 Divx, Inc. File format for multiple track digital data
US8472792B2 (en) 2003-12-08 2013-06-25 Divx, Llc Multimedia distribution system
KR100834748B1 (ko) 2004-01-19 2008-06-05 삼성전자주식회사 스케일러블 비디오 스트림 재생 방법 및 장치
EP1719343A4 (en) * 2004-02-23 2011-10-26 Nokia Corp SENDING VIDEO INFORMATION
KR100586883B1 (ko) * 2004-03-04 2006-06-08 삼성전자주식회사 비디오 스트리밍 서비스를 위한 비디오 코딩방법, 프리디코딩방법, 비디오 디코딩방법, 및 이를 위한 장치와, 이미지 필터링방법
JP2007525924A (ja) * 2004-03-04 2007-09-06 サムスン エレクトロニクス カンパニー リミテッド ビデオストリーミングサービスのためのビデオコーディング方法とビデオエンコーディングシステム、及びビデオデコーディング方法とビデオデコーディングシステム
EP1585061A1 (en) * 2004-04-07 2005-10-12 Deutsche Thomson-Brandt Gmbh Block adaptive predictive coding
CN1998238B (zh) * 2004-06-15 2010-12-22 株式会社Ntt都科摩 用于产生发送帧的设备和方法
US8634413B2 (en) * 2004-12-30 2014-01-21 Microsoft Corporation Use of frame caching to improve packet loss recovery
US7522667B2 (en) * 2005-02-24 2009-04-21 Freescale Semiconductor, Inc. Method and apparatus for dynamic determination of frames required to build a complete picture in an MPEG video stream
CN100444637C (zh) * 2005-04-14 2008-12-17 中兴通讯股份有限公司 一种在网络中传输视频流的方法
WO2006116659A2 (en) * 2005-04-28 2006-11-02 Apple Computer, Inc. Video processing in a multi-participant video conference
US9077960B2 (en) * 2005-08-12 2015-07-07 Microsoft Corporation Non-zero coefficient block pattern coding
WO2007106844A2 (en) 2006-03-14 2007-09-20 Divx, Inc. Federated digital rights management scheme including trusted systems
FR2899053B1 (fr) * 2006-03-21 2008-05-16 Canon Kk Procedes et dispositifs de codage et de decodage d'images animees, systeme de telecommunication comportant un tel dispositif et programme mettant en oeuvre un tel procede
US8340179B2 (en) 2006-03-21 2012-12-25 Canon Kabushiki Kaisha Methods and devices for coding and decoding moving images, a telecommunication system comprising such a device and a program implementing such a method
US8358693B2 (en) * 2006-07-14 2013-01-22 Microsoft Corporation Encoding visual data with computation scheduling and allocation
US8311102B2 (en) 2006-07-26 2012-11-13 Microsoft Corporation Bitstream switching in multiple bit-rate video streaming environments
US8340193B2 (en) * 2006-08-04 2012-12-25 Microsoft Corporation Wyner-Ziv and wavelet video coding
EP2052549A4 (en) 2006-08-17 2011-12-07 Ericsson Telefon Ab L M TROUBLESHOOTING FOR RICH MEDIA
US7388521B2 (en) * 2006-10-02 2008-06-17 Microsoft Corporation Request bits estimation for a Wyner-Ziv codec
TWI324020B (en) * 2006-10-05 2010-04-21 Ind Tech Res Inst Encoder and image encoding method
EP4184341A1 (en) 2007-01-05 2023-05-24 DivX, LLC Video distribution system including progressive playback
US10194175B2 (en) * 2007-02-23 2019-01-29 Xylon Llc Video coding with embedded motion
US8340192B2 (en) * 2007-05-25 2012-12-25 Microsoft Corporation Wyner-Ziv coding with multiple side information
US8254455B2 (en) 2007-06-30 2012-08-28 Microsoft Corporation Computing collocated macroblock information for direct mode macroblocks
KR20100106327A (ko) 2007-11-16 2010-10-01 디브이엑스, 인크. 멀티미디어 파일을 위한 계층적 및 감소된 인덱스 구조
TW200943175A (en) 2008-01-17 2009-10-16 Nec Corp Synchronization control method and information processing device
EP2091227A1 (en) 2008-02-15 2009-08-19 Thomson Licensing Method for adjusting the settings of a reproduction color device
CN101742323B (zh) * 2008-11-05 2013-05-01 上海天荷电子信息有限公司 无再损视频编码和解码的方法和装置
US8189666B2 (en) 2009-02-02 2012-05-29 Microsoft Corporation Local picture identifier and computation of co-located information
US8189492B2 (en) * 2009-03-18 2012-05-29 Microsoft Corporation Error recovery in an audio-video multipoint control component
CA2782825C (en) 2009-12-04 2016-04-26 Divx, Llc Elementary bitstream cryptographic material transport systems and methods
CN101783957B (zh) 2010-03-12 2012-04-18 清华大学 一种视频预测编码方法和装置
US8914534B2 (en) 2011-01-05 2014-12-16 Sonic Ip, Inc. Systems and methods for adaptive bitrate streaming of media stored in matroska container files using hypertext transfer protocol
US9467708B2 (en) 2011-08-30 2016-10-11 Sonic Ip, Inc. Selection of resolutions for seamless resolution switching of multimedia content
US8787570B2 (en) 2011-08-31 2014-07-22 Sonic Ip, Inc. Systems and methods for automatically genenrating top level index files
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
US20130083845A1 (en) 2011-09-30 2013-04-04 Research In Motion Limited Methods and devices for data compression using a non-uniform reconstruction space
EP2595382B1 (en) 2011-11-21 2019-01-09 BlackBerry Limited Methods and devices for encoding and decoding transform domain filters
CN103905825B (zh) * 2012-12-27 2018-02-13 中国电信股份有限公司 视频图像的运动补偿方法和装置
US9313510B2 (en) 2012-12-31 2016-04-12 Sonic Ip, Inc. Use of objective quality measures of streamed content to reduce streaming bandwidth
US9191457B2 (en) 2012-12-31 2015-11-17 Sonic Ip, Inc. Systems, methods, and media for controlling delivery of content
EP2804375A1 (en) 2013-02-22 2014-11-19 Thomson Licensing Coding and decoding methods of a picture block, corresponding devices and data stream
EP2804374A1 (en) * 2013-02-22 2014-11-19 Thomson Licensing Coding and decoding methods of a picture block, corresponding devices and data stream
US9462306B2 (en) * 2013-07-16 2016-10-04 The Hong Kong University Of Science And Technology Stream-switching in a content distribution system
CN105684409B (zh) 2013-10-25 2019-08-13 微软技术许可有限责任公司 在视频和图像编码和解码中使用散列值来表示各块
CN105393537B (zh) * 2014-03-04 2019-08-27 微软技术许可有限责任公司 用于基于散列的块匹配的散列表构建和可用性检查
EP3114841B1 (en) 2014-03-04 2020-06-10 Microsoft Technology Licensing, LLC Encoder-side decisions for block flipping and skip mode in intra block copy prediction
US10681372B2 (en) 2014-06-23 2020-06-09 Microsoft Technology Licensing, Llc Encoder decisions based on results of hash-based block matching
CN105392008B (zh) * 2014-08-22 2018-09-25 中兴通讯股份有限公司 一种预测编、解码方法和相应的编、解码器和电子设备
MX2017004210A (es) 2014-09-30 2017-11-15 Microsoft Technology Licensing Llc Decisiones de codificador basadas en hash para codificar video.
WO2016072745A1 (ko) * 2014-11-04 2016-05-12 삼성전자 주식회사 정규화를 수행하는 비디오 부호화 방법 및 그 장치, 비디오 복호화 방법 및 그 장치
MX2017008774A (es) 2014-12-31 2018-02-13 Nokia Technologies Oy Prediccion inter-capa para codificacion y decodificacion de video escalable.
WO2016112112A1 (en) 2015-01-06 2016-07-14 Sonic Ip, Inc. Systems and methods for encoding and sharing content between devices
KR102013403B1 (ko) * 2015-05-27 2019-08-22 구글 엘엘씨 구면 영상 스트리밍
US10271062B2 (en) * 2016-03-18 2019-04-23 Google Llc Motion vector prediction through scaling
US10390039B2 (en) 2016-08-31 2019-08-20 Microsoft Technology Licensing, Llc Motion estimation for screen remoting scenarios
US11095877B2 (en) 2016-11-30 2021-08-17 Microsoft Technology Licensing, Llc Local hash-based motion estimation for screen remoting scenarios
CN110446072B (zh) * 2019-08-14 2021-11-23 咪咕视讯科技有限公司 视频流切换方法、电子设备和存储介质
US11202085B1 (en) 2020-06-12 2021-12-14 Microsoft Technology Licensing, Llc Low-cost hash table construction and hash-based block matching for variable-size blocks

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
ATE154485T1 (de) * 1990-03-15 1997-06-15 Thomson Multimedia Sa Digitale bildverarbeitung mit filterung der blockkanten
JP3576660B2 (ja) * 1995-09-29 2004-10-13 株式会社東芝 画像符号化装置および画像復号化装置
GB2318246B (en) * 1996-10-09 2000-11-15 Sony Uk Ltd Processing digitally encoded signals
WO1998054910A2 (en) * 1997-05-27 1998-12-03 Koninklijke Philips Electronics N.V. Method of switching video sequences and corresponding switching device and decoding system
JP3671286B2 (ja) * 1997-06-20 2005-07-13 松下電器産業株式会社 画像処理方法,画像処理装置,及びデータ記憶媒体
WO1999065239A2 (en) * 1998-06-11 1999-12-16 Koninklijke Philips Electronics N.V. Trick play signal generation for a digital video recorder
FR2782437B1 (fr) * 1998-08-14 2000-10-13 Thomson Multimedia Sa Procede de commutation de flux mpeg
US6434195B1 (en) * 1998-11-20 2002-08-13 General Instrument Corporaiton Splicing of video data in progressively refreshed video streams
JP2000165816A (ja) * 1998-11-30 2000-06-16 Sony Corp 信号復号方法及び装置
GB9908809D0 (en) * 1999-04-16 1999-06-09 Sony Uk Ltd Signal processor
JP3521066B2 (ja) * 1999-06-11 2004-04-19 日本電気株式会社 ビデオオンデマンドシステム及びそのためのカット切替後フレーム間符号化ピクチャ削除方法
FR2795272B1 (fr) * 1999-06-18 2001-07-20 Thomson Multimedia Sa Procede de commutation de flux mpeg
GB2353655B (en) * 1999-08-26 2003-07-23 Sony Uk Ltd Signal processor
GB2353653B (en) * 1999-08-26 2003-12-31 Sony Uk Ltd Signal processor
US6765963B2 (en) * 2001-01-03 2004-07-20 Nokia Corporation Video decoder architecture and method for using same

Also Published As

Publication number Publication date
CA2431866A1 (en) 2002-07-11
EE04829B1 (et) 2007-04-16
MXPA03005985A (es) 2003-09-10
JP2007312411A (ja) 2007-11-29
HK1062868A1 (en) 2004-11-26
JP4109113B2 (ja) 2008-07-02
CN1225125C (zh) 2005-10-26
CA2431866C (en) 2009-12-22
CN1484921A (zh) 2004-03-24
EP1356684A1 (en) 2003-10-29
JP2004517569A (ja) 2004-06-10
HU228605B1 (en) 2013-04-29
WO2002054776A1 (en) 2002-07-11
US20020118755A1 (en) 2002-08-29
US6920175B2 (en) 2005-07-19
BR0206191A (pt) 2003-10-07
EP1356684B1 (en) 2016-08-03
JP5128865B2 (ja) 2013-01-23
EE200300315A (et) 2003-10-15
HUP0400560A2 (en) 2004-06-28

Similar Documents

Publication Publication Date Title
BRPI0206191B1 (pt) método para transmitir a informação de vídeo, codificador, decodificador, e sinal representando a informação codificada
US7706447B2 (en) Switching between bit-streams in video transmission
Karczewicz et al. The SP-and SI-frames design for H. 264/AVC
US7693220B2 (en) Transmission of video information
US7477689B2 (en) Video decoder architecture and method for using same
JP4571489B2 (ja) ビデオ符号化システムにおける量子化器パラメータを表示するための方法および装置
TWI429293B (zh) 視訊區塊標頭資訊之適應編碼
KR100984612B1 (ko) 비디오 화상에 대한 글로벌 모션 보상
US20070160141A1 (en) Picture encoding method and apparatus and picture decoding method and apparatus
KR20140120891A (ko) 효율적인 변환 유닛 인코딩을 위한 방법 및 장치
WO2000049810A1 (en) Video coding
JP2007266749A (ja) 符号化方法
JP2007266750A (ja) 符号化方法
Kurceren et al. Synchronization-Predictive coding for video compression: The SP frames design for JVT/H. 26L
KR100626419B1 (ko) 비디오 전송에서 비트 스트림들간의 교환
EP1719343A1 (en) Transmission of video information
WO2002019709A1 (en) Dual priority video transmission for mobile applications
MUSTAFA et al. Error Resilience of H. 264/Avc Coding Structures for Delivery over Wireless Networks
Duong Distributed Coding Based Multiple Descriptions for Robust Video Transmission over Error-Prone Networks
KR20080097914A (ko) 다시점 동영상의 부호화 및 복호화 방법과 그 장치
KR100676772B1 (ko) 휴대용 기기에 적용된 d―vop 디코딩이 가능한 엠펙-4디코더
KR100669621B1 (ko) 동영상 디코더의 참조 영상 변경 제어방법
KR100557118B1 (ko) 동영상 디코더 및 이를 이용한 디코딩 방법
Heng et al. Multiple-description video coding through adaptive segmentation
Lotfallah et al. Network performance analysis of advanced video coding schemes

Legal Events

Date Code Title Description
B25A Requested transfer of rights approved

Owner name: NOKIA TECHNOLOGIES OY (FI)

B15K Others concerning applications: alteration of classification

Free format text: AS CLASSIFICACOES ANTERIORES ERAM: H04N 7/26 , H04N 7/58

Ipc: H04N 7/18 (2006.01), H04N 7/00 (2011.01)

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

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