Sie sind auf Seite 1von 40

ISSN 0103-9741 Monografias em Cincia da Computao n 01/07

Fundamentos de Sistemas Multimdia Part 1 Aquisio, Codificao e Exibio de Dados

Luiz Fernando Gomes Soares

Departamento de Informtica

PONTIFCIA UNIVERSIDADE CATLICA DO RIO DE JANEIRO RUA MARQUS DE SO VICENTE, 225 - CEP 22451-900 RIO DE JANEIRO - BRASIL

Monografias em Cincia da Computao, No. 01/07 Editor: Prof. Carlos Jos Pereira de Lucena

ISSN: 0103-9741 Janeiro de 2007

Fundamentos de Sistemas Multimdia Part 1 Aquisio, Codificao e Exibio de Dados


Luiz Fernando Gomes Soares
Laboratrio TeleMdia DI PUC-Rio Rua Marqus de So Vicente, 225, Rio de Janeiro, RJ - 22451-900.
lfgs@inf.puc-rio.br

Resumo. Esta monografia compe a primeira parte do material didtico do curso de Fundamentos de Multimdia. Ela diz respeito aquisio, codificao e exibio de dados, nas mais diversas mdias de representao. Palavras chave: codificao digital, compresso, compactao, padres de codificao.

Fundamentos de Sistemas Multimdia Part 1 Aquisio, Codificao e Exibio de Dados

Laboratrio TeleMdia da PUC-Rio Todos os direitos reservados Impresso no Brasil


As informaes contidas neste documento so de propriedade do Laboratrio TeleMdia (PUC-Rio), sendo proibida a sua divulgao, reproduo ou armazenamento em base de dados ou sistema de recuperao sem permisso prvia e por escrito do Laboratrio TeleMdia (PUC-Rio). As informaes esto sujeitas a alteraes sem notificao prvia. Os nomes de produtos, servios ou tecnologias eventualmente mencionadas neste documento so marcas registradas dos respectivos detentores. Figuras apresentadas, quando obtidas de outros documentos, so sempre referenciadas e so de propriedade dos respectivos autores ou editoras referenciados. Fazer cpias de qualquer parte deste documento para qualquer finalidade, alm do uso pessoal, constitui violao das leis internacionais de direitos autorais.

Laboratrio TeleMdia Departamento de Informtica Pontifcia Universidade Catlica do Rio de Janeiro Rua Marqus de So Vicente, 225, Prdio ITS - Gvea 22451-900 Rio de Janeiro RJ Brasil http://www.telemidia.puc-rio.br

Table of Contents
1. 2. 3. Introduo.......................................................................................................................5 Informao e Sinal..........................................................................................................5 Converso de Sinais........................................................................................................7 3.1. 3.2. 3.3. 4. Converso A/D .......................................................................................................7 Converso D/A .......................................................................................................9 Outros Codificadores de Onda ...............................................................................9

Compresso e Compactao .........................................................................................10 4.1. 4.2. 4.3. 4.4. 4.5. 4.6. 4.7. 4.8. Codificao por Carreira ......................................................................................10 Codificao de Shannon-Fano..............................................................................11 Codificao de Huffman.......................................................................................12 Codificao de Lempel-Ziv-Welch ......................................................................13 Outras Tcnicas de Compactao.........................................................................14 Compresso em Imagem Esttica.........................................................................14 Compresso em udio..........................................................................................18 Compresso em Vdeo..........................................................................................23 H.261 ............................................................................................................25 MPEG Vdeo ................................................................................................27

4.8.1. 4.8.2. 4.9. 5. 6.

Multiplexao e Sincronizao.............................................................................30

Aplicaes de Banda Larga ..........................................................................................32 Requisitos de Comunicao das Diversas Mdias ........................................................33 6.1. 6.2. 6.3. 6.4. Texto.....................................................................................................................34 Imagem .................................................................................................................34 udio ....................................................................................................................35 Vdeo ....................................................................................................................37

7.

Consideraes Finais ....................................................................................................38

Referncias ...........................................................................................................................38

Fundamentos de Sistemas Multimdia Part 1 Aquisio, Codificao e Exibio de Dados


Luiz Fernando Gomes Soares Laboratrio TeleMdia DI PUC-Rio Rua Marqus de So Vicente, 225, Rio de Janeiro, RJ - 22451-900.
lfgs@inf.puc-rio.br

Resumo. Esta monografia compe a primeira parte do material didtico do curso de Fundamentos de Multimdia. Ela diz respeito aquisio, codificao e exibio de dados, nas mais diversas mdias de representao. Palavras chave: codificao digital, compresso, compactao, padres de codificao.

1. Introduo
Os sistemas de computao (sistemas de processamento, sistemas operacionais, redes de comunicao etc.) foram desenvolvidos, originalmente, para dar suporte ao processamento e comunicao de dados textuais. Com a evoluo tecnolgica, no s as redes aumentaram em muito seu desempenho, mas tambm cresceu muito a capacidade de processamento e armazenamento das estaes de trabalho. Isso tornou possvel o desenvolvimento de sistemas para processamento e comunicao de informaes representadas em vrias outras mdias alm da textual, como udio, vdeo etc. O fenmeno da convergncia , em parte, marcado por essa mistura de diferentes tipos de mdia em sistemas integrados de transmisso e processamento de informao. Nesta monografia, apresentaremos os principais conceitos envolvidos na codificao digital dessas informaes e na sua comunicao.

2. Informao e Sinal
Os seres humanos adquirem informao atravs de seus sentidos: viso, audio, tato, olfato e paladar. Esses sentidos so denominados mdias1 de percepo. As informaes adquiridas so ento codificadas em estruturas de dados que denominamos mdias de representao, ou simplificadamente mdias. So exemplos de mdias de representao as mdias texto, grfico, udio e vdeo. Note que no existe uma correspondncia biunvoca entre as mdias de percepo e de representao e que ainda , no mnimo, pouco usual a utilizao de mdias representando informaes adquiridas pelo olfato, tato e paladar, embora j existam estudos nesse sentido. Definimos sinais como ondas que se propagam atravs de algum meio fsico possuindo, por exemplo, uma amplitude que varia ao longo do tempo, correspondendo codificao da

Em portugus, mdia vem da palavra latina medius (de onde derivou a palavra anglo-saxnica medium), e seu plural mdias (correspondendo palavra anglo-saxnica media).

informao transmitida. Um sinal pode ser distorcido durante sua transmisso, por terem suas componentes de freqncia atenuaes diferentes devido a limitaes do meio de transmisso. Pode-se mesmo ter perda ou deformao de parte do sinal por rudos. Ao transmitir informaes esperamos, no entanto, preservar seu significado e recuperar seu entendimento. Podemos ento introduzir informalmente o conceito de qualidade de sinal e qualidade da informao transmitida, atravs de um exemplo. Um vdeo transmitido a 30 quadros por segundo (padro de TV), certamente tem uma qualidade de sinal melhor do que se fosse transmitido a 10 quadros por segundo (imagine, por exemplo, que a cada trs quadros dois so perdidos). Se estivssemos filmando uma paisagem sem qualquer movimento, a qualidade da informao transmitida seria a mesma (nesse caso extremo bastaria at mesmo a transmisso de um nico quadro), independente do sinal. Se, no entanto, o vdeo tivesse muito movimento, a qualidade da informao transmitida no seria boa a 10 quadros por segundo e a sensao obtida seria a de vrias imagens com movimentos bruscos, sem naturalidade. Do exemplo anterior, podemos notar que um sinal pode carregar muita informao redundante. Tcnicas para reduo dessa redundncia, denominadas tcnicas de compresso e de compactao, podem ser empregadas. Sobre elas, teremos muito o que discutir ao longo desta monografia. Vamos, no entanto, primeiramente, aprofundar um pouco mais a discusso sobre informaes e sinais, analgicos e digitais. Inicialmente os computadores estavam restritos ao processamento e comunicao de dois tipos de dados palavras e nmeros. Cdigos para nmeros (binrios, BCD, ponto flutuante IEEE etc.) esto hoje padronizados e estabilizados. Cdigos para caracteres alfanumricos (ASCII, EBCDIC etc.) so tambm amplamente aceitos. Enfim, a mdia textual hoje razoavelmente bem entendida como codificao digital. A mdia grfica foi a segunda mdia a ganhar representao nos computadores digitais. Ela possui dois formatos: o vetorial e o matricial. O formato vetorial bastante utilizado em modelagem geomtrica e nele as figuras so representadas por um conjunto de segmentos de reta ou curvas, dados pelas coordenadas de seus pontos e pelos atributos das linhas que os unem. Imagens no formato matricial so usualmente chamadas de imagens estticas. Nesse formato, as imagens so divididas em pequenas regies, chamadas de elementos de fotografia, ou pixels (picture elements, muitas vezes tambm chamados de pels). Para cada uma dessas regies guarda-se sua informao codificada de cor. Quanto maior o nmero de bits para codificar a cor, mais cores pode-se codificar e mais prximo pode-se chegar da cor original. Temos assim uma matriz de M linhas e N colunas, onde cada elemento representa um dos MxN pixels que compe a imagem. Na reproduo da imagem, os pixels so reconstrudos utilizando-se a informao de cor armazenada na matriz. Quanto menor for o tamanho do pixel, mais fiel ser sua colorao com relao original, mas maior ser a matriz da imagem. Ao tamanho da matriz d-se o nome de resoluo geomtrica da imagem. A quantidade de bits utilizados para armazenar a cor de um pixel chama-se resoluo de cor da imagem. Informaes na mdia textual e grfica so originalmente digitais. Por isso, muitas vezes essas mdias so referidas como mdias discretas. J informaes geradas por fontes sonoras e de vdeo apresentam variaes contnuas de amplitude, constituindo-se no tipo de informao que comumente percebida pelos sentidos humanos atravs de sinais que denominamos analgicos. Devido a isso, as mdias de vdeo e udio so usualmente referidas como mdias contnuas.

importante que se entenda que qualquer tipo de informao (seja analgica ou digital) pode ser codificada em uma estrutura de dados (mdia de representao) digital, e essa codificao digital pode ser transmitida em um sinal analgico ou digital, como veremos. A codificao digital de informaes tem, em geral, vantagens em uma comunicao. Isso se deve, principalmente, possibilidade de podermos restaurar, no receptor, a informao codificada original, mesmo na presena de distores, falhas ou rudos no sistema de transmisso.

3. Converso de Sinais
Para utilizarmos as vantagens da codificao digital, devemos transformar as mdias contnuas de udio e vdeo, normalmente adquiridas atravs de sinais analgicos. A essa transformao chamamos de converso analgica digital, ou converso A/D. Uma vez processados e transmitidos, sinais digitais2 podem ter de ser transformados em analgicos para percepo pelos sentidos humanos. A essa transformao chamamos de converso digital analgica, ou simplesmente converso D/A.

3.1. Converso A/D


O teorema de Nyquist assegura que uma taxa de amostragem de 2W vezes por segundo o suficiente para recuperar um sinal com banda passante W Hz. Isso quer dizer que, de um sinal analgico, basta se guardar os valores das amplitudes de suas amostras tomadas a intervalos regulares de 1/2W segundos para que se possa ter toda a informao necessria para reconstru-lo integralmente. O processo de amostrar e guardar os valores dessas amostras, ilustrado na Figura 1, conhecido como Pulse Amplitude Modulation (PAM). A partir dos pulsos PAM, podemos produzir os pulsos PCM (Pulse Code Modulation) atravs de um processo conhecido como quantizao, onde cada amostra PAM aproximada a um inteiro de n bits. No exemplo da Figura 1, escolhemos n=3, dando origem a oito nveis (23) de quantizao. A sada PCM corresponde ao resultado dessa quantizao. Podemos calcular, a partir desse processo, denominado converso A/D, a taxa gerada pela transmisso de informao analgica atravs de sinais digitais.3 Considere o caso de sinais de voz, por exemplo. Se assumirmos que a banda passante necessria desses sinais tem largura igual a 3.100 Hz, a taxa de amostragem de Nyquist , nesse caso, igual a 6.200 amostras por segundo. Normalmente amostra-se a uma taxa maior, para facilitar a construo dos codecs (codificadores/decodificadores). Se escolhermos uma taxa de 8.000 amostras por segundo e codificarmos cada amostra com oito bits, a taxa gerada ser 8.000 x 8 = 64 Kbps, que a taxa definida pelo padro ITU-T G.711 [ITU-T G.711] para telefonia digital.

Um sinal digital pode ser transformado em um sinal analgico, para transmisso em um dado meio, tambm pelo processo de modulao. Nesta monografia consideraremos sempre o sinal digital gerado a partir de uma informao codificada digitalmente como tendo sempre um bit por intervalo de sinalizao, ou seja, um sinal onde sua taxa em bauds a mesma que sua taxa em bits por segundo.

Sinal Original

6,9 5,1 4,6 3,0 Pulsos PAM

t
6,5

2,8 1,0

t
7 6 5 4 Quantizao 3 2 1 0 011 Sada PCM 101 111 101 110 011 001

011101111101110011001

Figura 1: Pulsos PAM e PCM.

A Figura 1 ilustra o caso onde os nveis de quantizao so igualmente espaados, ou seja, o quantum Q (diferena entre nveis) constante. Como conseqncia, o erro mximo de quantizao Q/2. Chamamos esse caso de quantizao linear. Nele, as amostras pequenas so, em termos proporcionais, mais penalizadas pelo erro de quantizao do que as grandes. Para melhorar a qualidade do sinal amostrado, podemos usar uma quantizao logartmica, onde o sinal primeiro logaritmicamente transformado de forma a manter o erro mximo de quantizao aproximadamente constante, a despeito da amplitude da amostra. Vrias funes logartmicas foram propostas e estudadas com esse intento. Duas dessas funes so largamente utilizadas e padronizadas, sendo denominadas lei A e lei . A primeira mais utilizada na Europa, enquanto a segunda predomina nos EUA.
1 1

Lei (EUA)
ln ( 1 + x) ln ( 1 + )

Lei A (Europa e Brasil)


1 + ln Ax 1 + ln A y(x) = Ax 1 + ln A 0 <x < A = 100 1 A 1 <x <1 A

y(x) =

0 < x < 1

255

Figura 2: Lei A e Lei .

A Tabela 1 apresenta o resultado da converso A/D de alguns sinais de udio e vdeo.


Tabela 1: Converso A/D para alguns sinais de vdeo e udio. Sinais Voz (ITU-T G711) Qualidade CD (estreo) Vdeo (NTSC luminncia) Faixa passante 300- 3.400Hz 0 - 21KHz 0 - 4,2 MHz Freqncia de amostragem 8.000 Hz 44,1 KHz 10 MHz Codificao bits/amostra (b/a) Log PCM (8b/a) Log PCM (16 b/a por canal) 8 b/a Taxa de bits 64 Kbps 1,41 Mbps (2 x 720,6 Kbps) 80 Mbps

3.2. Converso D/A


Pode-se demonstrar que um trem de pulsos PCM, obtido pela amostragem de um sinal em uma freqncia maior ou igual dada pelo teorema de Nyquist, tem o mesmo espectro de freqncia que o sinal amostrado, no intervalo de freqncias dado pela banda passante desse sinal. A converso D/A se faz, ento, pela simples passagem do trem de pulsos PCM por um filtro na faixa passante (e, assim, com a largura de banda) do sinal originalmente amostrado. No fosse pelo erro de quantizao, o sinal obtido da sada do filtro seria idntico ao sinal analgico original. Note que o sinal de sada to mais prximo do sinal original quanto menor for o erro de quantizao. O erro de quantizao, por sua vez, to menor quanto maior o nmero de nveis de quantizao, ou seja, quanto maior o nmero de bits utilizados na codificao.

3.3. Outros Codificadores de Onda


A codificao PCM representa cada amostra pelo seu valor absoluto, mas essa no a nica representao possvel. Alternativamente, podemos representar apenas a diferena entre o valor de uma amostra e o valor de sua antecessora. Esse esquema de codificao denominado DPCM (Differencial Pulse Code Modulation). Quando os valores das amostras so muito prximos uns dos outros, necessitaremos de um menor nmero de nveis para representar as diferenas do que o necessrio para representar os valores absolutos das amostras, para um mesmo erro de quantizao. Como um menor nmero de nveis pode representar um menor nmero de bits para codificar todos os nveis, utilizando-se DPCM, poderemos ter um menor nmero de bits gerados pela codificao. DPCM um caso particular de codificao preditiva, em que o valor predito da amostra corrente o valor da amostra anterior, guardando-se (codificando-se) ento o erro (diferena) de predio. A idia do DPCM pode ser ainda refinada um pouco mais, variando-se dinamicamente os nveis de quantizao, dependendo se o sinal varia muito ou pouco. Dessa forma, prev-se no apenas o valor da amostra corrente baseado na amostra anterior, mas tambm o valor do quantum, baseado em uma funo, bem conhecida, dos valores de amostras anteriores. Esse esquema denominado ADPCM, de Adaptative Differencial Pulse Code Modulation.

Existem ainda outras formas de codificao que independem do tipo do sinal analgico. Vamos citar apenas mais uma, a SBC (SubBand Coding). Na codificao por sub-bandas, o espectro de freqncia do sinal dividido em vrias bandas de freqncia. Cada banda ento tratada como se representasse um sinal distinto, e nela aplicada qualquer uma das tcnicas anteriores. A vantagem da SBC que, atravs da anlise de um sinal, pode-se identificar suas bandas mais importantes no transporte da informao. Para essas bandas, pode-se utilizar um erro de quantizao menor do que aquele usado nas bandas menos importantes, ou seja, podese codificar as bandas menos importantes utilizando um nmero menor de bits por amostras.

4. Compresso e Compactao
Um sinal digital, em geral, carrega muita informao redundante. Se eliminarmos essa redundncia conseguiremos reduzir em muito a quantidade de bits gerados, que em alguns casos pode ser muito grande; na Tabela 1, por exemplo, pode ser observado que 1 minuto de vdeo preto e branco gera 600 Mbytes. Quando eliminamos apenas a redundncia de um sinal, no h perda de informao e dizemos que fizemos uma compactao, ou compresso sem perdas. No entanto, podemos tambm diminuir a quantidade de bits com alguma perda de informao. Dependendo de quem for o usurio da informao, parte dela pode ser considerada pouco til. Raramente necessrio manter o sinal original intacto no caso das mdias vdeo, udio e imagens estticas, uma vez que o usurio final perderia de qualquer forma parte da informao por limitaes fsicas; tal o caso do ouvido e olho humano. Vemos assim que a quantidade de informao que podemos perder pode ser dependente do usurio, mas ela tambm pode depender da tarefa em desenvolvimento: por exemplo, perder um pouco da nitidez de um vdeo em uma videotelefonia pode ser perfeitamente aceitvel, enquanto a perda da qualidade do vdeo pode ser inadmissvel em uma aplicao mdica. Quando na reduo dos dados gerados h perda de informao, dizemos que fizemos uma compresso com perdas, ou simplesmente compresso. Existem vrias tcnicas de compresso sem perdas (compactao) que podem ser aplicadas a qualquer tipo de dados, independente da mdia representada. As Sees 4.1 4.5 so dedicadas a algumas dessas tcnicas mais usuais. As tcnicas de compresso com perdas sero estudadas para cada mdia em particular nas Sees 4.6 4.8.

4.1. Codificao por Carreira


O desempenho da codificao por carreira (run length coding) depende muito da estatstica dos dados de entrada. Ela consiste simplesmente em representar os dados pelo seu valor e o nmero de vezes que ele se repete. A unidade para codificao pode ser um bit, um byte, um caractere, um pixel, uma amostra etc. A Figura 3 ilustra o caso da unidade ser um pixel de 8 bits e o caso da unidade ser o bit.

10

76

76

76

76

76

78

79

79

79

79

80

80

76 | 5

78 | 1

79 | 4

80 | 2

... 0 0 0 0 0 0 0 0/7 1 1 1 1 0 0 0 0 0 1/4 0/5 1

Figura 3: Codificao por carreira.

4.2. Codificao de Shannon-Fano


Para as duas prximas tcnicas de codificao, imagine que nossos dados sejam apenas os smbolos A, B, C, D e E (que podem representar um pixel, uma amostra de udio ou vdeo, um caractere etc.) e que eles ocorram na freqncia dada pela tabela a seguir.

Smbolo
Nmero de Ocorrncias

A 15

B 7

C 6

D 6

E 5

A codificao de Shannon-Fano constri a rvore de codificao seguindo o seguinte algoritmo: 1. Alinhe os smbolos de acordo com suas freqncias/probabilidades, e.g., ABCDE. 2. Divida recursivamente em duas partes, cada uma com aproximadamente o mesmo nmero de contagem (soma das freqncias). A rvore gerada fica ento:

E temos a seguinte codificao, gerando uma compactao de 117:89.

11

Smbolo A B C D E

Freqncia Cdigo 15 7 6 6 5 00 01 10 110 111

Subtotal (#bits) 30 14 12 18 15

4.3. Codificao de Huffman


Tomando o mesmo exemplo da seo anterior, a codificao de Huffman constri a rvore de codificao seguindo o seguinte algoritmo: 1. Iniciao: Ponha todos os ns em uma lista ABERTA. Mantenha a lista alinhada todo o tempo de aplicao do algoritmo (e.g., ABCDE). 2. Repita at que a lista ABERTA contenha apenas um n: a. Pegue os dois ns de mais baixas freqncias/probabilidades e crie um n pai para ambos. b. Atribua ao n pai a soma das freqncias/probabilidades dos filhos e o insira na lista ABERTA. c. Atribua cdigos 0 e 1 aos dois ramos da rvore, e retire os filhos da lista ABERTA. A rvore gerada fica ento:

E temos a seguinte codificao, gerando uma compactao de 117:87.

Smbolo Freqncia Cdigo A B C D E 15 7 6 6 5 0 100 101 110 111

Subtotal (#bits) 15 21 18 18 15

12

Note que, quer usando a codificao de Huffman ou de Shannon-Fano, o decodificador deve usar o mesmo dicionrio de cdigos gerado pelo codificador para recuperar os smbolos originais.

4.4. Codificao de Lempel-Ziv-Welch


Um procedimento diferente dos dois anteriores processar smbolo a smbolo e ir construindo o dicionrio de cdigos passo a passo. medida que o dicionrio vai sendo construdo, ele pode ser usado na codificao do prximo smbolo, dinamicamente. No esquema de Lempel e Ziv, posteriormente estendido por Welch, o dicionrio construdo como uma estrutura de dados, uma tabela, que mantm seqncias de smbolos, em conjunto com um identificador nico (cdigo) para toda a seqncia. A tabela contm at, digamos, 2j posies (seqncias). Ela iniciada simplesmente com o conjunto dos 2k possveis smbolos, isto , todas as seqncias de tamanho 1. Os melhores desempenhos so conseguidos quando k << j, dependendo, obviamente, do grau de redundncia dos dados. A codificao se inicia definindo a seqncia de smbolos corrente S como o primeiro smbolo a codificar. Note que S membro do dicionrio. A codificao ento continua como a seguir: 1. Se no existem mais smbolos para codificar, d como sada o cdigo da seqncia (j bits) para S. Em caso contrrio, 2. Pegue o prximo smbolo P e concatene a S, obtendo a nova seqncia SP. 3. Se SP j estiver no dicionrio, faa S = SP e volte para o passo 1. Em caso contrrio, 4. D como sada o cdigo da seqncia (j bits) para S. 5. Adicione SP ao dicionrio, se ainda houver espao. 6. Faa S = P e volte para o passo 1. Note que assim procedendo, o decodificador no tem a necessidade de conhecer a priori todo o dicionrio, pois pode reconstru-lo passo a passo, dinamicamente, a partir dos dados codificados. A decodificao se inicia definindo a seqncia de smbolos corrente S como a entrada no dicionrio correspondente ao primeiro cdigo a decodificar e dando como sada o smbolo S. Se houver mais cdigos a decodificar faa: 1. 2. Leia prximo cdigo X Se houver a entrada no dicionrio (P) correspondente a X: a) D como sada P. b) Adicione S concatenado ao primeiro smbolo de P no dicionrio, caso a entrada no exista. Se no houver a entrada no dicionrio (P) correspondente a X: a) Faa P igual a S concatenado ao primeiro smbolo de S e adicione ao dicionrio. b) D como sada P. 3. Faa S igual a P e volte para o passo 1, se houver mais smbolos a decodificar.

13

4.5. Outras Tcnicas de Compactao


Alm das tcnicas anteriormente mencionadas, outras so encontradas, bem como variantes das primeiras. Uma, no entanto, merece destaque por ser comumente utilizada: a codificao aritmtica. A codificao aritmtica tambm parte do conhecimento da freqncia de ocorrncias dos smbolos, tal qual as codificaes de Shannon-Fano e de Huffman. Baseado na freqncia de ocorrncias, intervalos so associados aos smbolos e, a partir desses intervalos, novos intervalos so construdos para seqncias de smbolos. Uma seqncia pode ento ser codificada por qualquer nmero dentro do intervalo calculado para a seqncia, garantindo sua decodificao posterior sem ambigidade. Na referncia [Cormen 02] pode-se encontrar a especificao detalhada do algoritmo.

4.6. Compresso em Imagem Esttica


As imagens geram, normalmente, uma quantidade de informao muito grande. Se levarmos em considerao a correlao do valor (cor) de cada pixel, podemos reduzir a quantidade de informao gerada. Existe um grande nmero de formatos para imagens estticas, baseados em esquemas diferentes de compresso. Dentre os mais usuais atualmente podemos citar os formatos TIFF e GIF, que so baseados no algoritmo de Lempel-Ziv, apresentado na Seo 4.4, e o padro ISO para imagens estticas, chamado JPEG [ISO 94], baseado em transformadas, como veremos mais adiante. A forma mais simples de compresso de uma imagem a reduo da sua resoluo geomtrica. Isso implica em aumentarmos o tamanho da regio de um pixel. Tal procedimento pode ser feito at um certo limite, dependendo do usurio final e do dispositivo de exibio, para se evitar o efeito apresentado na Figura 4, onde vemos primeiro a imagem original dividida em pixels e, em seguida, a imagem reproduzida; a diferena se deve ao fato do pixel ter uma regio grande.

Figura 4: Efeito do tamanho da regio de um pixel na codificao/decodificao.

Outra forma de compresso a reduo do espao de cor pela simples utilizao de um nmero menor de bits para representao de cada pixel. Cabe antes, no entanto, uma discusso sobre como as cores so representadas.

14

Atravs das adies das cores vermelha, verde e azul, podemos obter quase todas as cores visveis pelo olho humano. Assim, uma representao bem comum a RGB (de Red Green Blue), onde um pixel representado pelos valores dessas componentes. comum encontrarmos o padro RGB 8-8-8, onde se utilizam 8 bits para codificao de cada componente; e o padro 5-6-5, onde reservado um nmero maior de bits (6) para a componente verde, por ser o olho humano mais sensvel a essa componente. Outra representao bastante utilizada o sistema YCrCb. A componente Y denominada luminncia, e uma medida da sensibilidade do olho humano s vrias componentes de freqncia de uma cor. Para as fontes usuais de luz provenientes de dispositivos de vdeo, Y dada por: Y = 0,299R + 0,587G + 0,114B As componentes Cr e Cb so chamadas de crominncia e sua definio varia de padro para padro, bem como seu nome (componentes I e Q no padro NTSC de TV, e componentes U e V no padro PAL de TV). Cr e Cb so os nomes utilizados pelos padres MPEG e JPEG, e tm seus valores dados por: Cr = ((R - Y) / 1,6) + 0,5 Cb = ((B - Y)/ 2) + 0,5 O leitor deve observar que o conjunto de equaes para Y, Cr e Cb linearmente independente (isso tambm acontece para as outras definies de Cr e Cb), ou seja, dado Y, Cr e Cb, obtmse facilmente R, G e B. O olho humano mais sensvel luminncia do que crominncia, assim, na compresso pela reduo da resoluo de cor, podemos utilizar um nmero menor de bits para as componentes da crominncia. Mais comum, no entanto, utilizarmos uma menor resoluo geomtrica para as componentes de crominncia do que aquela utilizada para a luminncia. Uma outra forma de compresso de imagem esttica, geralmente sem perdas, a codificao preditiva. De forma anloga explicao da Seo 3.3, na codificao preditiva de uma imagem, realiza-se uma predio do valor do pixel baseada em valores de outros pixels da imagem. A diferena do valor real para o valor predito ento codificada. A Figura 5 ilustra o caso.

Figura 5: Imagem original e imagem com apenas os erros de predio.

Se na imagem os pixels tiverem valores muito prximos, pode-se usar um nmero menor de bits para armazenar o erro da predio, do que aquele usado para codificar o valor absoluto do

15

pixel. Alm disso, uma imagem com poucos contornos vai gerar muitos valores pequenos, ou mesmo o valor zero, tornando o emprego de um outro mtodo de compresso posterior bem eficiente. Antes de continuarmos nossa discusso sobre tcnicas de compresso, devemos ressaltar que, normalmente, as tcnicas de compresso so seguidas pela aplicao de algum esquema de compactao. Muitas vezes, o esquema de compresso simplesmente prepara os dados para que possam sofrer uma maior compactao. Nada impede tambm que apliquemos vrias tcnicas de compresso em seqncia. Um exemplo de codificao preditiva pode ser encontrado no padro JPEG [ISO 94] no modo sem perdas, onde a codificao de Huffman aplicada aps a codificao preditiva. No esquema, apresentado na Figura 6, o codificador por entropia utiliza a codificao de Huffman. Note tambm, pela figura, que existem 7 possveis predies para um pixel X.

Selees 0 1 2 3 4 5 6 7

Predio sem predio A B C A+B-C A+((B-C)/2) B+((A-C)/2) (A+B)/2

Preditor

Codificador por entropia imagem comprimida


Tabela de especificao

CB A X

imagem fonte

Figura 6: JPEG sem perdas.

Existem ainda outras tcnicas para compresso de imagem, tais como a codificao por subbandas (similar ao apresentado na Seo 3.3) e a quantizao vetorial. Entretanto, ns nos deteremos apenas em mais uma, por ser utilizada nos padres JPEG e MPEG: a codificao por transformadas. O leitor j deve ter percebido, pelas vrias referncias Seo 3.3, que existem vrias similaridades entre amostras no tempo e pixels. Na verdade, podemos considerar os pixels como se fossem amostras do sinal imagem, s que amostras obtidas no no tempo, mas no espao. exatamente por isso que podemos aplicar todas as tcnicas da Seo 3.3 nas imagens estticas. Note tambm que, em um sinal de vdeo, o grupo de vrias amostras temporais formam um quadro (por exemplo, no nosso sistema de TV, existem 30 quadros por segundo). Esse quadro uma imagem esttica onde, de fato, as amostras temporais do vdeo so os pixels (amostras espaciais). Esse fato que nos permite no somente tratar o vdeo como um sinal contnuo e nele aplicarmos todas as tcnicas de compresso conhecidas para sinal contnuo, como tambm trat-lo como uma seqncia de imagens estticas no tempo, aplicando as mesmas tcnicas de compresso utilizadas para imagens. Uma vez que uma imagem esttica pode ser considerada uma seqncia de amostras espaciais, ns podemos agora pensar, como fizemos com os sinais analgicos, em aplicar uma transformada (por exemplo Fourier) para descrever o mesmo sinal no domnio da freqncia. S que agora no domnio das freqncias espaciais. Como estamos com um sinal discreto, precisaremos de uma transformada discreta. Poderamos usar a transformada discreta de Fourier, como mencionado, mas outra transformada leva a melhores resultados na compresso: a transformada discreta de co-senos.

16

No espao bidimensional de uma imagem de 8x8 pixels, a transformada discreta de co-senos (FDCT: Forward Discrete Cosine Transform) dada por:
7 1 C ( u) C ( v ) 4 x=0 7

F ( u, v ) =

y =0

(2 x + 1)u (2 y + 1)v f ( x , y ) cos cos 16 16

C( w) = C( w) = 1

1 para w = 0 2 para w = 1, 2, ... , 7

E a transformada inversa (IDCT: Inverse Discrete Cosine Transform) por:


f ( x, y ) = 1 7 7 (2 x + 1)u (2 y + 1)v C (u )C (v) F (u, v) cos 16 cos 16 4 u =0 v =0

No domnio da freqncia, as mudanas abruptas que acontecem nos contornos de uma figura esto concentradas nas freqncias mais altas. Assim, uma imagem com poucos contornos deve concentrar seus coeficientes nas freqncias baixas. Mais ainda, os coeficientes das freqncias altas so menos importantes e perdas nesses coeficientes podem diminuir um pouco a nitidez da imagem, mas para muitas aplicaes isto pode ser aceitvel. Pelos motivos mencionados no pargrafo anterior, aps uma imagem ser transformada, os coeficientes gerados so quantizados de forma diferenciada, usando uma maior preciso (quantum menor) para as freqncias mais baixas. Assim procede o padro JPEG [ISO 94] no modo seqencial, dividindo uma imagem em blocos de 8x8 pixels e aplicando uma compresso em cada bloco, conforme o diagrama mostrado na Figura 7. A imagem varrida uma nica vez, da esquerda para direita, de cima para baixo.

FDCT

Quantizador

Codificador por entropia imagem comprimida

imagem fonte

Tabela de especificao

Tabela de especificao

Figura 7: Codificao JPEG modo seqencial.

No JPEG, aps a aplicao da transformada discreta de co-senos e a quantizao dos coeficientes, esses so organizados da mais baixa freqncia para a mais alta,4 quando ento aplicada a codificao por carreira, seguida da codificao de Huffman (ou codificao aritmtica), ilustradas na Figura 7 pelo bloco Codificador por entropia.

Na verdade, um passo adicional existe no JPEG, quando os coeficientes DC (freqncia zero) de um bloco so codificados pela diferena entre seu valor e o valor do coeficiente DC do bloco anterior.

17

A decodificao JPEG modo seqencial ilustrada na Figura 8.

Decodificador por entropia imagem comprimida

Dequantizador

IDCT

Tabela de especificao

Tabela de especificao

imagem reconstruda

Figura 8: Decodificao JPEG modo seqencial.

O padro JPEG ainda possui mais dois modos de compresso: o progressivo e o hierrquico. O modo progressivo tambm utiliza a transformada de co-senos, mas a imagem codificada em vrias varreduras. Na variante denominada seleo de espectro, a cada varredura so codificados coeficientes das mesmas freqncias de todos os blocos, da mais baixa freqncia para a maior freqncia. J na variante denominada aproximao sucessiva, primeiro codificado o coeficiente de mais baixa freqncia de todos os blocos e depois so codificados, paulatinamente, os bits dos demais coeficientes de todos os blocos, do mais significativo para o menos significativo. Note que no modo progressivo, os primeiros dados da imagem que so decodificados j permitem ter uma viso completa da cena, embora ainda sem muita nitidez. Com o restante dos dados, a nitidez vai se tornando cada vez melhor. Isto pode ser til em vrios casos. Muitas vezes, navegando na Web, queremos apenas ter uma idia da informao que vem na pgina a seguir. Certas vezes essa informao nem aquela que desejamos. Ter uma viso rpida dessa informao, ainda que no com todos os detalhes, pode acelerar em muito a tarefa sendo executada. Outras vezes podemos estar trafegando com a imagem em um meio de pequena banda passante, ou mesmo em um trecho congestionado de uma rede. Nesses casos, o descarte seletivo dos dados que no trazem muita informao pode ser a nica forma vivel de manter a aplicao em funcionamento. Como veremos, um bom sistema de comunicao deve poder identificar a parte da informao que ele deve manter ntegra e quais partes ele pode perder, em caso de necessidade ou convenincia. O modo JPEG hierrquico tambm permite separar da imagem os dados mais relevantes dos menos relevantes, mas atravs do aumento progressivo da resoluo geomtrica. Nesse modo, a imagem codificada com mltiplas resolues, de forma que a menor resoluo pode ser decodificada sem a necessidade de se ter a resoluo maior.

4.7. Compresso em udio


A compresso de um sinal de udio depende muito do tipo de sinal. Vamos comear pela voz humana. Um ser humano falando emite surtos de voz apenas durante 35% a 40% do tempo de fala. O restante do tempo preenchido com silncio que existe entre palavras e entre uma sentena e outra. Se pudermos detectar esse silncio e elimin-lo da codificao, de forma que ele possa ser recuperado na decodificao, reduziremos muito a quantidade de dados gerados. Essa tcnica aplicada telefonia digital com o nome TASI (Time Assignment Digital 18

Interpolation). Ainda como outra caracterstica da voz e do ouvido humano, a perda de surto de voz e de silncio muito diferente. Perdas da ordem de 1% da informao do surto de voz so tolerveis,5 ao passo que podemos tolerar a perda de at 50% do silncio. Note que, com a deteco de silncio, transformamos um trfego de voz contnuo em um trfego em rajadas. Uma outra forma de comprimir a voz humana codificar, ao invs de suas amostras, os parmetros de um modelo analtico do trato vocal capaz de gerar aquelas amostras. No mtodo conhecido como LPC (Linear Predictive Coding), apenas os parmetros que descrevem o melhor modelo que se adapta s amostras codificado. Um decodificador LPC usa esses parmetros para a gerao sinttica da voz que , usualmente, parecida com a original. O resultado inteligvel, mas a tonalidade aquela de um rob falando. CELP (Code Excited Linear Predictor) bastante similar a LPC. O codificador CELP gera os mesmos parmetros LPC, mas computa os erros entre a fala original e a fala gerada pelo modelo sinttico. Tanto os parmetros do modelo analtico do trato vocal quanto uma representao comprimida dos erros so codificados. A representao comprimida um ndice em um vetor de excitao (que pode ser pensado como um livro de cdigos compartilhado pelo codificador e decodificador). O resultado do CELP tem uma qualidade de fala muito boa a uma taxa bem baixa. A Tabela 2 apresenta alguns padres recomendados pelo ITU-T [ITU-T G.711; ITU-G.722; ITU-T G.723; ITU-T G.726; e ITU-T G.729] para voz.
Tabela 2: Padres ITU-T para voz.
Taxa de compresso (Kbps) 48, 56, 64 (sem compresso) 64 (faixa passante de50 a 7KHz) 5.3, 6.3 16, 24, 32, 40 16 8 Recursos de processamento necessrios Nenhum Moderado Moderado Baixo Muito Alto Alto Qualidade da voz resultante Excelente Excelente Boa (6.3) Moderada (5.3) Boa (40) Moderada (24) Boa Boa Atraso adicionado Nenhum Alto Alto Muito baixo Baixo Baixo

Padro

Algoritmo

G.711 G.722 G.723 G.726 G.738 G.729

PCM SBC/ADPCM MP-MLQ ADPCM LD-CELP CS-ACELP

Mais especificamente para udio, de uma forma geral, um padro muito importante o MPEG udio [ISO 93a e ISO 98]. MPEG udio leva em conta o modelo psicoacstico humano para realizar uma compresso perceptualmente sem perdas. O modelo divide o domnio de freqncia audvel (entre 20 Hz e 20 KHz) em 32 bandas, chamadas bandas crticas. O sistema de audio tem uma resoluo limitada e dependente da freqncia. A medida perceptualmente uniforme de freqncias pode ser expressa em termos das larguras das bandas crticas. A Figura 9 mostra a sensibilidade do ouvido humano nas diversas freqncias.

Na realidade, a percentagem de perda depende do tamanho do surto de voz e se a perda ocorre no incio ou no meio do surto. Na referncia [Gruber 85] possvel encontrar uma discusso sobre o assunto.

19

Limite no Silncio

Frequncia

Figura 9: Sensibilidade do ouvido humano.

Note que a sensibilidade do ouvido ilustrada na Figura 9 medida em decibis (dB SPL dB Sound Preassure Level ou simplificadamente dB). O decibel uma unidade conveniente para expressar o que se chama de nvel sonoro. O som, de uma forma geral, tem uma medida de intensidade que a potncia transferida por uma onda sonora por rea de uma superfcie que intercepta essa onda. O decibel nada mais do que uma forma comparativa de analisar valores. Nesse caso, ao invs de fornecer o valor absoluto da intensidade sonora para uma freqncia, podemos fornecer o seu valor dividido pela menor intensidade perceptvel ao ouvido humano6 e utilizar uma escala logartmica para representar essa razo, j que o intervalo de intensidades produzido pela voz humana muito grande. Assim, o nvel sonoro em decibis definido como: I = 10 log10 I 0 onde I0 o menor valor de intensidade sonora perceptvel ao ouvido e I a intensidade do som sendo medido. Note que, para I = I0, temos que = 0 dB, ou seja, a nossa referncia de menor intensidade perceptvel corresponde ao 0 dB. Voltando ao MPEG udio, seu modelo leva em conta o mascaramento de freqncias, caracterstica do ouvido humano que quando submetido a um sinal de uma certa amplitude em uma dada freqncia, mascara as outras freqncias ao redor, que possuam uma amplitude abaixo de um certo limite. A Figura 10 ilustra o caso.

Amplitude

Sinal tonal forte Regio onde os sinais fracos so mascarados

Freqncia

Figura 10: Mascaramento de freqncias.

O valor de referncia definido como I0 = 10-12 Watts/m2. Ele corresponde aproximadamente o limiar da audio humana. No entanto, o limiar de audio varia de freqncia para freqncia e com a intensidade do som, como descoberto por Fletcher e Munson em 1933.

20

MPEG udio transforma o sinal para o domnio da freqncia e aplica o mascaramento de freqncias, codificando apenas aquelas componentes de freqncia que no so mascaradas. A Figura 11 ilustra o procedimento.

Antes

Freqncia

Depois

Freqncia

Figura 11: Mascaramento de freqncias nas bandas crticas MPEG.

MPEG udio tambm leva em considerao resultados psicoacsticos que mostram que, para freqncias maiores que 2 KHz, o ouvido percebe a imagem estereofnica baseado mais no envelope temporal do udio do que em sua estrutura mais refinada. Assim, no modo intensity stereo, o codificador soma as freqncias mais altas do sinal estereofnico em um nico sinal. Os canais de esquerda e direita so reconstrudos com a mesma forma, mas com magnitudes diferentes, baseadas em fatores de escala. Na codificao MPEG, para cada intervalo de tempo de udio codificado (isto , para cada conjunto de amostras), existe um nmero fixo de bits total para todas as 32 sub-bandas. Escolhe-se o nmero de bits de uma banda de forma a minimizar a percepo auditiva do rudo de quantizao, levando-se em conta, como j mencionamos, o mascaramento de freqncias. MPEG 1 udio [ISO 93a] define trs mtodos de compresso, denominados camadas 1, 2 e 3 (MP1, MP2, MP3). MP1 agrupa 12 amostras para cada uma das 32 sub-bandas. Cada grupo de 12 recebe ento os bits para codificao e, se o nmero de bits no zero, um fator de escala. MP2 e MP3 ainda levam em conta uma outra caracterstica psicoacstica, o mascaramento temporal. Quando emitido um tom em uma dada freqncia e com uma certa amplitude, esse tom mascara os tons, na mesma freqncia, abaixo de uma certa amplitude, que varia no tempo. A Figura 12 ilustra o fato com um tom emitido a 60dB.

21

Tom de teste

Tom de mascaramento

Tempo (ms)

Figura 12: Mascaramento temporal.

MP2 codifica os dados em grupos maiores: para cada sub-banda agrupa 3 grupos de 12 amostras. Isso modela um pouco da mscara temporal, pois se faz uma alocao de bits e se usa trs fatores de escala para cada trio de 12 amostras. Tanto MP1 quanto MP2 usam bandas uniformes, isto , do mesmo tamanho, que no modelam bem o ouvido humano, como pode ser visto pela Figura 9. MP3 usa bandas no uniformes e faz uma alocao de bits melhor. MP3 faz um melhor clculo do quantum de cada banda, isto , uma melhor distribuio de bits, usando inclusive o conceito de reservatrio de bits (como mencionado, o nmero de bits total para as 32 bandas fixo para cada grupo de amostras, mas no MP3 pode haver emprstimos de bits de um grupo de amostras para outro). MP2 e MP3 tambm permitem o MS stereo mode, alm do stereo intensity mode. O modo MS stereo codifica os sinais de freqncias mais altas dos canais direito e esquerdo como a soma (middle-channel) e diferena (side-channel). Tcnicas de sintonizao so ento utilizadas para comprimir o sinal side-channel. A Tabela 3 apresenta uma comparao das vrias camadas MPEG 1 udio.
Tabela 3: Camadas MPEG 1 udio (a codificao pode ser realizada com taxas de amostragem de 32, 41.1 e 48 KHz). Camadas MP1 MP2 MP3 Taxa de bits alvo (Kbps) 32 a 448 32 a 384 32 a 320 Taxa de compresso 4:1 6:1 12:1
Telefonia: 8 Kbps Rdio AM: 32 Kbps Rdio FM: 64 Kbps CD: 128 Kbps

Qualidade

Retardo Mximo (ms) 50 100 150

As camadas do padro MPEG 1 udio, denominada fase 1 (MP1, MP2 e MP3) prevem apenas o uso de dois canais em um fluxo de udio, ou seja, apenas o estreo tradicional. O padro MPEG 2 [ISO 98] introduz algumas extenses. O padro MPEG 2 udio (fase 2) comum, chamado de BC (Backward Compatible), tem as mesmas camadas e usa os mesmos algoritmos com os mesmos parmetros do udio MPEG 1. A diferena que o

22

MPEG 2 prev a formao de fluxos de udio com at 6 canais, em vez de implementar apenas o estreo com dois canais. A codificao AAC novidade do udio MPEG 2, conhecida como NBC (Non Backward Compatible), de no compatvel com MPEG 1. Essa codificao mais eficiente que o MPEG 1 (MP3 etc.), tolera at 48 canais de udio e 15 canais de freqncias baixas, com taxas de amostragem de 8 a 96 KHz. A AAC necessita de menos processamento e, conseqentemente, tem retardo menor na (de)codificao. Alm das codificaes apresentadas, ainda existem vrias outras em uso atual. Entre elas podemos citar a DD e a DTS. AC-3 era o antigo nome da codificao chamada hoje de Dolby Digital (DD). Essa codificao proprietria da empresa Dolby, mas foi adotada pelos EUA como codificao de udio a ser utilizada nos DVDs e em HDTV (High Definition TV). Ela utiliza 6 canais de udio, sendo 5 com qualidade de CD (20 Hz a 20 KHz) e um apenas para as baixas freqncias, (20 a 120 Hz). A taxa dessa codificao de cerca de 384 Kbps. A Figura 13 apresenta a distribuio sugerida de auto-falantes para os 6 canais de udio.

Principal Esquerdo

Central

Principal Direito

Sub-woofer Surround Esquerdo Surround Direito

Figura 13: udio multicanal.

A Europa usa ainda uma outra codificao proprietria, a DTS. Essa tambm multicanal, mas a taxa gerada de cerca de 1,536 Mbps. Tanto o DD quanto DTS trabalham com codificao por sub-bandas (at 576 na DD). Testes exaustivos com especialistas em udio no conseguem chegar a uma definio sobre qual codificao a melhor. No entanto, trilhas DD obviamente ocupam menos espao de armazenamento (e de banda, quando transmitidas) e, por isso, a codificao DD tem sido preferida pelos fabricantes de DVD.

4.8. Compresso em Vdeo


Como vimos na Seo 3, o sinal de vdeo pode ser codificado usando qualquer uma das tcnicas l mencionadas: PCM, DPCM, ADPCM, SBC etc. Tambm conforme vimos na Seo 4.6, um vdeo pode ser considerado como uma seqncia de imagens estticas, ou quadros. Cada um desses quadros pode ser codificado usando as mesmas tcnicas empregadas para as imagens estticas. Em particular, poderamos empregar a codificao JPEG em cada quadro. Essa tcnica constitui a base da codificao chamada MJPEG (Motion JPEG). Entretanto, ao empregarmos essa codificao, estaremos levando em conta apenas a redundncia de informao contida em um quadro (redundncia intra-quadro), quando a 23

maior redundncia pode estar nas informaes contidas em quadros consecutivos (redundncia inter-quadros). Nesta seo nos deteremos na anlise de dois padres de codificao de vdeo que levam em conta no apenas a redundncia intra-quadro, mas tambm a existente inter-quadros: os padres H.261 e MPEG vdeo. Antes, porm, vamos analisar alguns padres de sinal de vdeo. Sinais de TV so, em geral, adquiridos no formato RGB, mas transmitidos no formato YCrCb, onde a resoluo dos canais de crominncia menor que a de luminncia, levando em conta a maior sensibilidade do olho humano luminncia, como discutimos na Seo 4.6. Os sinais so ento multiplexados e modulados, gerando um sinal chamado vdeo composto modulado, conforme ilustrado na Figura 14.

Cmera

R Componentes G De Video B (BNC)

Somador Subtrator

Y Cr Cb

S-VHS
(Mini DIN)

Sub-amostragem na crominncia

Multiplexador

VC

Vdeo Composto
(RCA)

Modulador

Vdeo VCM Composto Modulado

Figura 14: Gerao de sinal de vdeo de TV.

Sistemas de vdeo apresentam informaes como uma seqncia de quadros, sendo cada quadro composto de linhas. Um dos sistemas de distribuio de televiso mais utilizado usa 525 linhas por quadro, a uma taxa de 30 quadros/segundo ( o padro M de TV, utilizado tanto pelo padro americano NTSC, quanto pelo padro brasileiro PAL-M).7 As televises tm uma relao de aspecto de 4:3, dando ao padro M uma resoluo para a luminncia de 700 x 525 pixels por quadro. Nem todas as linhas da televiso so visveis. A maioria dos formatos de vdeo digital esto relacionados com a rea visvel para cada padro de televiso. A recomendao BT 601-4 [ITU-R BT.601-4] especifica 483 linhas ativas, com 720 pixels por linha. Apenas 480 das 483 linhas e 704 dos 720 pixels (os primeiros e ltimos 8 pixels so descartados) so usados para codificao. O padro especifica a sub-amostragem de crominncia 4:2:2, conforme dado pela Figura 15, indicando que, para cada dois valores de luminncia na horizontal, apenas um de cada crominncia deve ser gerado. Isso implica em uma taxa gerada de: 704 x 480 x 29,97 x 16 = 162 Mbps

Na verdade, a taxa de quadros de 29,97 quadros/segundo para TV colorida. Os padres europeus, em geral, usam 25 quadros/segundo e 625 linhas por quadro.

24

A Figura 15 apresenta tambm outras sub-amostragens de crominncia utilizadas em outros padres de codificao, como veremos.
4:2:0 4:2:2 4:4:4 4:1:1

1 pixel de Crom innci a Cr e 1 pixel de Crominncia Cb

Crominncia Luminncia Cr e Cb 1 pixel de Lumin nci a

Figura 15: Sub-amostragem de crominncia MPEG 2.

O padro H.261 do ITU-T, discutido mais adiante, usa os formatos CIF (Common Interchange Format), com 288 linhas e 352 pixels por linha, e QCIF (Quarter CIF), com 144 linhas e 176 pixels por linha, para a luminncia. Sua extenso, H.263, acrescenta trs novos formatos: o sub-QCIF (128 x 96), o 4CIF (704 x 576), tambm conhecido como SCIF, e o 16CIF (1408 x 1152). Todos os formatos citados possuem sub-amostragem de crominncia (relao de aspecto) 4:2:0, conforme ilustrado na Figura 15. O padro MPEG 1 vdeo pode codificar imagens de at 4096 linhas x 4096 pixels x 60 quadros/segundo. No entanto, a maioria das aplicaes usam o formato SIF, com 240 linhas, 352 pixels por linha e sub-amostragem de crominncia 4:2:0. O padro MPEG 2 pode codificar imagens de at 16.383 linhas x 16.383 pixels. O padro organizado, como veremos, em diversos perfis e nveis, que especificam o formato utilizado. Exemplos de formato so: nvel baixo (240 linhas x 352 pixels/linha x 30 quadros/segundo idntico ao SIF MPEG 1), nvel principal, visando a codificao com qualidade de TV (720 x 480 x 30), e os nveis alto, visando a TV de alta resoluo - HDTV, e a produo de filmes (em geral 1280 x 720 x 30; 1920 x 1080 x 30 ou 1440 x 1152 x 30). O padro permite subamostragem de crominncia 4:2:0, 4:2:2 e 4:4:4. Note que vrios formatos so menores que os tamanhos de TV atuais. Note tambm que as imagens de TV so significativamente menores do que as telas atuais das estaes de trabalho. Quase todos os formatos de vdeo digital apresentam a imagem em uma rea menor do que a tela da estao. Alguns padres, no entanto, chegam a resolues suficientes para atender a qualidade das TVs de alta resoluo, a HDTV.

4.8.1. H.261
H.261 [ITU-T H.261] o padro de compresso mais usado em sistemas de videoconferncia. Seu objetivo inicial foi as aplicaes para redes comutadas por circuito, mais especificamente a RDSI-FE. Da decorre sua gerao de trfego CBR (de Constant Bit Rate, isto , taxa constante) nas taxas de p x 64 Kbps, p variando de 1 a 30. H.261 divide cada quadro (QCIF ou CIF) em macroblocos de 16 x 16 pixels, gerando 6 blocos de 8 x 8 pixels (4 de luminncia e 2 de crominncia), conforme ilustra a Figura 16.

25

Pixels (a) Blocos Y Luma Cb Cr

(b) Blocos

Figura 16: Blocos H.261.

O padro define dois tipos de codificao. Na codificao intra-quadro, o macrobloco codificado levando em conta apenas a redundncia espacial do bloco. Cada bloco passa por um processo muito parecido com o descrito no JPEG modo seqencial, gerando os blocos codificados. Na codificao preditiva, realizada uma pesquisa no quadro anterior procura de um macrobloco o mais parecido possvel com o macrobloco que se quer codificar (a pesquisa realizada apenas na componente de luminncia e apenas em uma regio que circunda o macrobloco). O erro de predio (diferena entre os macroblocos) ento enviado para codificao, sofrendo ento o mesmo processo descrito para a codificao intra-quadro. No caso da codificao preditiva, deve tambm ser codificado o vetor (chamado de vetor de deslocamento), que especifica o deslocamento entre o macrobloco corrente e o macrobloco do quadro anterior usado para a predio. Todo macrobloco sofre uma codificao intra-quadro e preditiva. A que gera a maior compresso escolhida. Uma vez codificados, os quadros so enviados a um buffer que vai regular o fluxo de informao para uma taxa de bits constante. Lembre-se que o H.261 foi pensado para uma rede comutada por circuitos. Como a taxa de entrada no buffer VBR (Variable Bit Rate, isto , taxa varivel), se no fosse tomada nenhuma providncia poderia ocorrer estouro de buffer ou falta de bits codificados. Para que isso no acontea, o tamanho do passo do quantizador (o quantum), dos coeficientes gerados a partir da transformada de cosenos, ajustado, quando necessrio, conforme a quantidade de dados no buffer, para se chegar taxa CBR desejada de sada. O ajuste no passo do quantizador afeta a qualidade do vdeo gerado, privilegiando os vdeos com poucas mudanas de cena. Pouca mudana de cena implica em maior compresso, isto , menos bits gerados na codificao que entram no buffer, o que faz o processo de realimentao diminuir o quantum para aumentar a quantidade de bits gerados. Como conseqncia da diminuio do quantum, tem-se uma imagem de melhor qualidade. Como em aplicaes de videoconferncia e videotelefonia no existe, em geral, muitas mudanas de cenas, o padro bem apropriado para elas. O padro H.263 [ITU-T H.263] estende o padro H.261, introduzindo novos formatos de quadros, como discutimos anteriormente, otimizando o H.261 para codificao de vdeo a taxas inferiores a 64 Kbps e adicionando facilidades para maior qualidade e melhores servios. Contudo, as idias bsicas de compresso so as mesmas. 26

4.8.2. MPEG Vdeo


Idntico ao H.261, o padro MPEG vdeo [ISO 93c e ISO 00a] divide um quadro em macroblocos, como apresentado na Figura 16, vlida tambm para o MPEG com amostragem de crominncia 4:2:0. Cada bloco pode ser codificado usando apenas a informao intra-quadro, de forma idntica ao que foi apresentado para o JPEG. Quadros em que todos os blocos so codificados dessa forma so denominados quadros I. Um macrobloco pode tambm ser codificado de forma preditiva, semelhante ao H.261. No entanto, a predio MPEG mais rica, uma vez que pode ser feita baseada em quadros passados e em quadros futuros da seqncia de um vdeo. Quando a predio feita baseada em um quadro passado, tal qual o H.261, codificado o erro de predio (diferena do macrobloco que se quer codificar para o macrobloco de referncia do quadro passado), usando os mesmos procedimentos usados para os macroblocos intra-quadros, e o vetor de movimento (que d a posio relativa do macrobloco que se quer codificar para o macrobloco de referncia do quadro passado). Quadros codificados usando esse tipo de predio so chamados quadros P. A predio sempre baseada no primeiro quadro do tipo I ou P, anterior. A estimao do movimento (estimao do macrobloco mais prximo daquele que se quer codificar) se d dentro de uma regio do quadro de referncia, conforme ilustra a Figura 17. Para TV, por exemplo, obtm-se bom desempenho com p=15 pixels em cenas comuns de noticirio e p=63 em cenas de muito movimento, como por exemplo, cenas de esporte.

Figura 17: Estimao de movimento.

Macroblocos tambm podem ser codificados baseados no primeiro quadro I ou P, posterior ou anterior. Nesse caso, teremos dois quadros de referncia para a procura do melhor casamento. A codificao pode ser realizada ento baseada no quadro anterior, ou baseada no quadro posterior, ou ainda baseada na interpolao do quadro anterior e posterior. Quadros codificados usando esse tipo de predio so chamados quadros B. 27

Quadros B apresentam como vantagem o fato de, normalmente, apresentarem uma compresso maior que os quadros I e P (Tabela 4). So tambm quadros que, se perdidos, no afetam tanto a qualidade da imagem, pois o erro cometido no se propagar, uma vez que esses quadros no so usados como referncia de predio (note que a perda de um quadro I ou P implica na perda de todos os quadros at o prximo quadro I). No entanto, quadros B introduzem um retardo extra no processo de codificao, porque devem ser codificados fora da seqncia, alm de exigirem mais processamento para codificao.
Tabela 4: Tamanhos tpicos de quadros MPEG 1. Tipos de Quadro I P B Mdia Tamanho (Kbytes) 18 6 2,5 4,8 Compresso 2:1 7:1 50:1 27:1

Ao contrrio do H.261, que escolhe sempre a melhor codificao para o macrobloco, no MPEG, o padro de codificao de quadros um parmetro da escolha do usurio, isto , o usurio escolhe qual a seqncia de quadros I, P, ou B a ser utilizada. Note que essa escolha vai depender das aplicaes. Por exemplo, como veremos na Seo 6, o retardo de transferncia pode ser crtico em aplicaes onde h uma interatividade em tempo real entre os participantes, como em um sistema de videoconferncia. Nesse caso, o nmero de quadros B em seqncia no pode ser muito grande, devido ao retardo que isso introduz. O padro MPEG 1 trabalha, em geral, com o formato SIF, embora uma maior resoluo tambm seja permitida por sua sintaxe. O padro MPEG 2, como j mencionado, admite vrios formatos de quadros e diferentes resolues para as componentes de crominncia. De fato, o MPEG 2 especifica vrios conjuntos de parmetros de restrio, que so definidos nos seus perfis e nveis. Um perfil especifica as facilidades de codificao que sero utilizadas. Um nvel especifica a resoluo dos quadros, as taxas de bits etc. Vrias combinaes de perfis e nveis foram definidas, como veremos mais adiante. O MPEG 2 usa os mesmos tipos de quadro I, P e B, como o MPEG 1, mas introduz outros mtodos de predio [Netravali 95] para lidar com vdeo entrelaado.8 O MPEG 2 tambm apresenta vrias extenses de escalabilidade [ISO 00a]. As extenses provem, basicamente, duas ou mais seqncias de bits, ou camadas, que podem ser combinadas para prover um nico sinal de vdeo de alta qualidade. A camada base pode, por definio, ser totalmente decodificada por si mesma, de forma a prover um vdeo de baixa qualidade. Como veremos a seguir, muitas das tcnicas empregadas so semelhantes s codificaes progressivas e hierrquica do JPEG.

Vdeo entrelaado tipicamente usado em TV, onde so primeiro varridas as linhas mpares e depois as pares. Aos conjuntos de linhas mpares e pares chamamos campos. Assim, um quadro composto de dois campos.

28

Com a escalabilidade SNR (Signal to Noise Ratio), outra camada pode ser adicionada camada base, oferecendo uma melhora na preciso dos coeficientes da DCT (Discrete Cosine Transform), adicionando valores de correo para serem utilizados antes da decodificao (aplicao da DCT inversa). Essa extenso tambm prov a codificao do vdeo na resoluo 4:2:2, tendo por camada base o vdeo na resoluo 4:2:0. Escalabilidade por partio de dados uma verso simplificada da escalabilidade SNR. Com essa extenso, at um certo nmero de coeficientes de freqncias DCT enviado pela camada base. Os coeficientes restantes so enviados por outra camada a ser adicionada bsica. Na escalabilidade espacial, a camada base tem uma resoluo espacial (resoluo geomtrica de cada imagem) menor do que a do vdeo original. A camada de melhoramento ento acrescida camada base para se obter a resoluo original. Na escalabilidade temporal, a camada base tem uma resoluo temporal (nmero de quadros por segundo) menor do que a do vdeo original. Novamente, a camada de melhoramento ento adicionada camada base para a obteno da resoluo original. Escalabilidade especialmente til em redes que permitem distinguir os tipos de fluxos e privilegiar a entrega do mais importante. Assim, em caso de necessidade ou convenincia de perda, um sinal de vdeo com um mnimo de qualidade ainda poder ser recebido. No MPEG 2, o perfil principal (main profile) utiliza os quadros I, P e B e uma amostragem de cor 4:2:0. O perfil simples (simple profile) basicamente o perfil principal sem os quadros B. O perfil escalvel SNR (SNR Profile) adiciona a escalabilidade SNR ao perfil principal. O perfil escalvel espacialmente (spatially scalable profile) adiciona a escalabilidade espacial ao perfil escalvel SNR. O perfil alto adiciona cor 4:2:2 ao perfil escalvel espacialmente. Todos os perfis so limitados ao mximo de trs camadas. O nvel principal (main level), como mencionado no incio desta seo, est definido basicamente para o vdeo ITU-R Rec. 601. O nvel simples (simple level) definido para vdeo SIF. Os dois nveis alto para HDTV so o nvel alto-1440 (high-1440 level), com um mximo de 1440 pixels por linha, e o nvel alto (high level), com no mximo 1920 pixels por linha. Nem todas as combinaes de perfis e nveis foram padronizadas. No futuro, quando necessrio, perfis e nveis podero ser adicionados ao padro. Diferente da codificao linear de udio e vdeo do MPEG 1 e 2, a codificao MPEG 49 [ISO 01a] baseada em objetos, isto , as cenas audiovisuais so codificadas em termos de objetos. Um objeto pode ser uma imagem, um vdeo ou um udio. Objetos codificados separadamente fornecem trs benefcios: reusabilidade a abordagem orientada a objeto permite aos autores reusarem material udio-visual mais rapidamente; escalabilidade objetos podem ser codificados usando diferentes resolues espaciais e temporais (a resoluo do objeto pode ser ajustada para casar com a capacidade do meio de transporte); interatividade porque os objetos audiovisuais so compostos em quadros no decodificador, o usurio pode controlar a sada.

MPEG 4, cuja designao formal do ISO/IEC ISO/IEC 14496, foi finalizado em outubro de 1998 e tornou-se um padro internacional nos primeiros meses de 1999. No final de 1999, foram acrescentadas novas extenses (MPEG-4 verso 2), tornando-se um padro internacional formal no comeo de 2000.

29

O objetivo inicial do MPEG 4 era a sua utilizao em aplicaes com baixas taxas de bits. Com as finalidades originais consideravelmente modificadas, um novo conjunto de aplicaes usar o MPEG 4, tais como: videoconferncia, comunicaes mveis, acesso a vdeo de servidores remotos para aplicaes multimdia, jogos etc. Atualmente, o grupo MPEG 4 est direcionando os trabalhos para televiso digital, aplicaes grficas interativas e World Wide Web. O MPEG 4 considera uma cena como sendo composta de Objetos de Vdeo (Video Objects) VOs. Os VOs tm propriedades como forma, movimento, textura etc. Eles vo se constituir nas entidades no fluxo de bits que o usurio pode manipular e ter acesso. Um Plano de Objetos de Vdeo (Video Object Plane - VOP) uma ocorrncia de um VO em dado instante de tempo. Cada quadro consiste de vrios VOPs. Uma cena que contm somente um VOP pode corresponder aos padres correntes, tais como MPEG 1 ou 2. Cada VOP tem sua prpria resoluo espacial e temporal. Uma cena, dividida em objetos como mencionado, possui uma organizao hierrquica. Uma informao adicional enviada com os VOPs a fim de informar ao receptor como compor a cena. A descrio de cada cena baseia-se em conceitos da Virtual Reality Modeling Language (VRML Linguagem de Modelagem de Realidade Virtual). Contudo, o padro MPEG 4 introduziu novos conceitos de modelagem e otimizou os j existentes, dando origem a uma linguagem diferente e mais poderosa: Binary Format for Scenes (BIFS).

4.9. Multiplexao e Sincronizao


Tanto o H.261 quanto o MPEG padronizam a forma como informaes udio-visuais devem ser multiplexadas (unidas em um nico fluxo). No caso do MPEG, a padronizao MPEG System [ISO 93b e ISO 00b] responsvel por essa especificao. Ambos os padres adicionam aos fluxos elementares de udio e vdeo informaes para suas exibies sincronizadas. A sincronizao realizada pela adio de selos de tempo (timestamps) a conjuntos de amostras codificadas de vdeo e udio, baseadas em um relgio compartilhado. A Figura 18 ilustra o procedimento.

Relgio do Sistema

Figura 18: Multiplexao e sincronizao dos fluxos de udio e vdeo.

Um fluxo MPEG organizado em duas camadas: a camada pack e a camada packet. A camada pack contm informaes utilizadas por todos os fluxos elementares e a camada packet as informaes particulares a cada fluxo. Um fluxo MPEG consiste de um ou mais

30

packs. O cabealho pack contm informaes de temporizao do sistema e sobre as taxas de dados. O cabealho packet contm a identificao do fluxo elementar, os requisitos de armazenamento e informaes de temporizao. Os dados packet contm um nmero de bytes varivel de um mesmo fluxo elementar. Assim, depois de remover o cabealho packet, os dados packet de todos os packets com o mesmo identificador so concatenados para a recuperao de um fluxo elementar. At 32 fluxos de udio e 16 fluxos de vdeo podem ser multiplexados em um fluxo MPEG. A Figura 19 apresenta a estrutura de camadas MPEG 1 System [ISO 93b].

Figura 19: Camadas MPEG 1 System.

A funo do MPEG 2 System [ISO 00b] idntica do MPEG 1. Contudo, o MPEG 2 System especifica dois formatos de dados: o fluxo de programa (program stream) e o fluxo de transporte (transport stream) (Figura 20). O fluxo de programa similar e compatvel ao fluxo MPEG 1 System. Ele foi otimizado para aplicaes multimdia e para ser processado por software. O fluxo de transporte pode transportar mltiplos programas simultaneamente e otimizado para aplicaes onde a perda de dados comum. O fluxo de transporte consiste de pacotes de tamanho fixo (188 bytes, incluindo 4 bytes de cabealho).

Empacotador

Empacotador

Figura 20: MPEG 2 System

31

Similar ao MPEG 1 e 2, o MPEG 4 System [ISO 01b] desenvolvido para fornecer multiplexao de fluxos de dados elementares, sincronizao e empacotamento. Adicionalmente, o MPEG 4 System fornece parmetros de representao/manipulao bsicos (translao, rotao e zoom) no cabealho da camada de fluxo de dados de cada objeto.

5. Aplicaes de Banda Larga


Com o grande desenvolvimento da tecnologia digital, os diferentes tipos de informao (texto, udio, vdeo etc.) passaram a ser processados de forma integrada, dando origem aos sistemas multimdia. Tradicionalmente, os sistemas de comunicao foram desenvolvidos para o transporte de tipos especficos de informao o sistema telefnico para o trfego de voz; as redes de comutao de pacotes para dados textuais; vdeo e televiso em redes de radiodifuso ou a cabo. Essas redes foram claramente projetadas para aplicaes especficas, normalmente adaptando-se mal a outros tipos de servio. O ideal de uma nica rede capaz de atender a todos esses servios, para a obteno de uma economia advinda do compartilhamento dos recursos, veio motivar o conceito das redes de servios integrados e diferenciados. Vrios cenrios foram delineados de forma a caracterizar os efeitos de aplicaes multimdia em redes de alta velocidade e com integrao de servios. Imagine, por exemplo, mdicos em hospitais localizados em regies diferentes, discutindo o diagnstico de um paciente usando informaes de raio X, histrico da evoluo do caso, vdeos, banco de dados sobre acompanhamentos de casos semelhantes etc. Suponha cada participante dessa teleconferncia multimdia tendo acesso ao conjunto de tais informaes, trocando comentrios por voz e apontando os diversos itens sob discusso. Suponha cada participante podendo modificar, organizadamente, o contedo visvel da tela e seu formato (selecionando uma nova imagem, ampliando-a na tela etc.). Suponha ainda que os fluxos de voz e as informaes visuais sejam enviadas a todos os participantes simultaneamente, de forma que todo o sincronismo necessrio (por exemplo, uma imagem em movimento sendo referenciada e comentada oralmente) seja preservado. Esse cenrio serve para colocar em evidncia que a infra-estrutura de comunicao necessria para essa aplicao deve prover servios para realizar uma transmisso sncrona e em tempo real das informaes multimdia. Como veremos na prxima seo, para complicar ainda mais essa aplicao j bastante complexa, as caractersticas e requisitos de comunicao dos diferentes tipos de informao variam muito. O ITU-T define como servios de banda larga (broadband) qualquer servio que requer canais de transmisso capazes de suportar taxas maiores que aquelas do acesso primrio das RDSI-FE (T1 = 1,544 Mbps, E1 = 2,048 Mbps). O ITU-T classifica as aplicaes em banda larga em quatro categorias: servios conversacionais, servios de recuperao, servios de mensagem e servios de distribuio. Servios conversacionais provem meios para transferncia fim a fim em tempo real. Entre as aplicaes que a se enquadram podemos citar: videotelefonia, videoconferncia, transferncia de documentos multimdia em tempo real (fac-smile de alta resoluo, anotao de voz etc.), servios de segurana, supercomputao virtual e teleao (controle por computador de dispositivos fsicos remotos, associados a um controle de processo em tempo real). O ponto chave dessas aplicaes a interatividade em tempo real da comunicao entre os usurios dos servios. 32

Servios de recuperao fornecem a facilidade de recuperao de informao armazenada remotamente. Entre as aplicaes que a se enquadram podemos citar: videotexto, livrarias eletrnicas e vdeo sob demanda (tanto para entretenimento, pela substituio da TV a cabo, quanto para educao e treinamento remotos). Servios de mensagem oferecem a comunicao entre usurios via unidades de armazenamento, com funes de store-and-forward, mailbox (caixa de correio) ou manipulao de mensagens. Ao contrrio dos servios conversacionais, esses servios no so em tempo real. Entre as aplicaes que a se enquadram podemos citar: correio de vdeo e correio de documentos multimdia. Servios de distribuio so subdivididos em duas classes: servios sem controle do usurio e servios com controle do usurio. Entre as aplicaes sem controle do usurio podemos citar: distribuio de udio e vdeo, distribuio de documentos (jornais, revistas e livros), distribuio de cotao da bolsa de valores e difuso de TV. Entre as aplicaes com controle do usurio, podemos citar a substituio de documentos tradicionais (livros, revistas, jornais etc.), pelos equivalentes eletrnicos com distribuio sob controle do usurio. O que caracteriza as aplicaes de banda larga o fato de terem de lidar com objetos no convencionais (udio, vdeo etc.). No convencionais no sentido de serem objetos longos (1 minuto de vdeo colorido no comprimido, qualidade TV, contm 1,8 Gbytes de dados), de exigirem transferncia contnua de dados a altas taxas (162 Mbps para sinal de TV no comprimido) e, alm de tudo, de exigirem acesso sincronizado aos dados. A prxima seo resumir as caractersticas e requisitos de comunicao das diversas mdias envolvidas nas aplicaes de banda larga.

6. Requisitos de Comunicao das Diversas Mdias


As caractersticas e requisitos de comunicao exigidos pelos diversos tipos de mdia so muito diferentes. Vrias caractersticas devem ser consideradas ao classificarmos fontes de trfego. A natureza do trfego gerado uma de suas caractersticas mais importantes, dando origem a trs classes bsicas: a classe de trfego contnuo com taxa constante (Constant Bit Rate CBR), a classe de trfego em rajadas (bursty) e a classe de trfego contnuo com taxa varivel (Variable Bit Rate VBR). Na classe de trfego contnuo com taxa constante,10 o trfego, como o prprio nome diz, constante e, por conseguinte, sua taxa mdia igual a sua taxa de pico. Essa taxa o nico parmetro necessrio para se caracterizar tal fonte. As fontes cujo trfego gerado tem caracterstica de rajadas apresentam perodos ativos (durante os quais h gerao de informao pela fonte, que opera na sua taxa de pico) intercalados por perodos de inatividade (durante os quais a fonte no produz trfego algum). Para se caracterizar uma fonte com trfego em rajadas no suficiente utilizarmos a taxa mdia de gerao de informao, j que essa taxa no representa corretamente o seu

Em geral, os padres de comunicao utilizam a palavra contnuo para caracterizar sem interrupo e a taxas constantes. Note, no entanto, que temos, alm do trfego em rajadas, o trfego sem interrupo mas com taxa varivel. Em geral, os padres chamam apenas de trfego com taxa varivel (VBR) a ambos os trfegos (em rajadas e contnuo com taxa varivel), independente de serem sem interrupo ou no.

10

33

comportamento. A taxa mdia nem sequer representa uma taxa na qual a fonte opera em algum momento. Muito mais significativas so informaes sobre a distribuio das rajadas ao longo do tempo, a durao das rajadas, e a taxa de pico atingida durante as rajadas. Alguns parmetros comumente utilizados para caracterizao desse tipo de trfego incluem a durao mdia dos perodos de atividade e a explosividade (burstiness) da fonte a razo entre a taxa de pico e a taxa mdia de utilizao do canal.11 Por fim, as fontes de trfego contnuo com taxa varivel apresentam variaes na taxa de transmisso ao longo do tempo. Parmetros como a mdia e a varincia da taxa de transmisso podem ser utilizados para caracterizar o comportamento de fontes com essa caracterstica. O parmetro de explosividade (burstiness) tambm bastante utilizado na caracterizao dessas fontes. Requisitos sobre a qualidade do servio de comunicao desejado (QoS), tais como retardo mximo de transferncia, variao estatstica do retardo (jitter), vazo mdia, taxas aceitveis de erro de bit e de pacote de dados, variam muito de uma mdia para outra, e so dependentes da aplicao. De uma forma geral, podemos caracterizar as diversas mdias, quanto aos requisitos de comunicao exigidos, como se segue nos prximos pargrafos.

6.1. Texto
O trfego gerado por informaes em texto , em sua grande maioria, de rajada. Para compreender essa natureza do trfego, pense na comunicao de um terminal com um computador durante a execuo interativa de um programa. A vazo mdia dos dados vai depender muito da aplicao, variando desde alguns poucos bits por segundo para aplicaes de correio eletrnico, at alguns megabits por segundo em transferncia de arquivos. Para texto, excetuando-se algumas aplicaes em tempo real, como por exemplo para controle de processos crticos, o retardo mximo de transferncia e a variao estatstica do retardo no se constituem em problemas, sendo seus requisitos, em geral, facilmente satisfeitos pelo sistema de comunicao. Quanto tolerncia a erros, na grande maioria das aplicaes, no se pode tolerar erro nem em um nico bit: suponha, por exemplo, o caso da perda de um bit numa transferncia eletrnica de fundos.

6.2. Imagem
O trfego gerado em aplicaes grficas animadas, onde vrios quadros so gerados em intervalos regulares de tempo, tem caractersticas bem semelhantes s da mdia de vdeo, comentadas mais frente. Excetuando o caso de imagens animadas, a natureza do trfego gerado pela mdia grfica tambm de rajadas, com vazes mdias chegando a algumas dezenas de megabits por segundo. Como em textos, o retardo mximo e a variao estatstica do retardo, em geral, no so relevantes. Como discutido na Seo 2 as imagens grficas podem estar no formato vetorial ou matricial. Para imagens no formato matricial e sem compresso, a taxa de erro de bit pode ser bem maior que a taxa de erro de pacote, uma vez que, em geral, no haver nenhum problema se,

11

Existem outras definies para a medida da explosividade da fonte: a razo entre o desvio padro e a taxa mdia gerada, por exemplo.

34

por exemplo, um nico pixel de uma tela ficar azul em vez de verde. O mesmo no se pode dizer da perda de um pacote, que poder, por exemplo, apagar um bloco da imagem na tela. Para imagens no formato vetorial e imagens (vetoriais ou matriciais) onde foram utilizadas tcnicas de compresso ou compactao, a tolerncia perda depende muito da aplicao e seus usurios. Como discutimos na Seo 4.6, existem mtodos de compresso que identificam a poro mais importante dos dados de uma imagem. Para esses dados, deve-se evitar ao mximo as perdas. As pores menos importantes podem ser descartadas, se necessrio (seja por erro na transmisso, por congestionamento no sistema de comunicao, ou mesmo porque o usurio final no necessita delas para obter a informao que deseja). Um sistema de comunicao deve poder identificar as pores que ele deve manter ntegras. Outro caso importante, com relao s perdas, so as imagens que no so processadas somente pelo olho humano, mas tambm pelo computador como, por exemplo, imagens mdicas ou cartogrficas. Nesse caso, a perda de um nico bit (seja devido comunicao ou ao mtodo de compresso) pode ser intolervel (imagine uma doena que se quer diagnosticar atravs de uma imagem mdica).

6.3. udio
A mdia de udio tem caractersticas bem distintas das mencionadas nos dois pargrafos anteriores, principalmente em aplicaes de tempo real com interatividade, como os servios conversacionais do ITU-T. Comeando pela natureza do trfego gerado, a mdia de udio se caracteriza por gerar um trfego contnuo com taxa constante. Mesmo quando no sinal de voz realizada a compactao por deteco de silncio, por exemplo, passando a se caracterizar agora como um trfego de rajada [Gruber 82], ele deve ser reproduzido no destino a uma taxa constante. O trfego gerado para comunicao dessa mdia do tipo CBR, caso no seja empregada nenhuma tcnica de compactao ou compresso. Em caso contrrio, o trfego se caracteriza como VBR e, s vezes, como no caso da voz com deteco de silncio, como um trfego em rajadas. A vazo mdia gerada pela mdia de udio depende da qualidade do sinal, da codificao e compactao ou compresso utilizadas. Para sinais de voz, por exemplo, j apresentamos a tcnica PCM, que gera 64 Kbps se utilizarmos 8 bits para codificar cada amostra (tomada a cada 125 seg, isto , 8.000 amostras por segundo). Com qualidade aproximadamente igual, a codificao ADPCM gera 32 Kbps. Sinais de udio de alta qualidade (qualidade de CD estreo, por exemplo) geram taxas bem superiores, como, por exemplo, os CDs de udio, onde a taxa de 1,411 Mbps, como vimos na Seo 3.1. Quanto s perdas, as taxas de erros de bits ou de pacotes podem ser relativamente altas, devido ao alto grau de redundncia presente nos sinais de udio. O nico requisito que os pacotes no sejam muito grandes (no caso da voz, menores que uma slaba), o que normalmente j satisfeito para no se perder tempo no empacotamento e assim no aumentar o retardo de transferncia. Perdas da ordem de 1% da informao de voz so tolerveis12 [Gopal 84, Gruber 85]. Uma vez que as redes de alta velocidade utilizam, hoje em dia, meios fsicos de alta confiabilidade (como fibra tica, por exemplo, onde a taxa de erro tpica de 10-9 ou menos) a deteco de erros para a voz nessas redes pode ser tranqilamente

12

Na realidade, como j comentamos, a percentagem de perda depende do tamanho do surto de voz e se a perda ocorre no incio ou no meio do surto.

35

dispensada, em benefcio de um maior desempenho. Apesar da baixa taxa de erros das redes de fibra tica, nas mdias grfica e de texto a deteco de erros ainda , na maioria das vezes, necessria, e em alguns casos at a deteco e correo. Um cuidado adicional deve ser tomado quando, devido s tcnicas de compresso utilizadas no udio, um erro pode se propagar para outros bits. Nesse caso, o erro pode ser intolervel. Ainda com respeito ao udio, pores da informao podem ser diferenciadas quanto tolerncia s perdas. No caso da voz, por exemplo, perdas nos intervalos de silncio so muito mais tolerveis do que perdas durante os surtos de voz. Um sistema de comunicao deve poder identificar as pores mais sensveis a perdas, caso seja necessrio o descarte de dados. No caso da utilizao de sistemas de comunicao que apresentam variao estatstica do retardo (como as redes comutadas por pacotes), tal variao deve ser compensada. Para entendermos melhor o problema, analisemos a Figura 21.

Surto de Voz Perodo de Silncio 1 2 3 4 5 6 7 8 9 10


TEMPO ORIGEM

10
TEMPO DESTINO

Silncio Introduzido

Silncio Eliminado

Figura 21: Efeito da variao estatstica do retardo na comunicao de voz.

Na linha horizontal superior vemos os surtos de voz e de silncio sendo gerados na fonte a uma taxa constante. Os surtos de voz so divididos em pacotes, que so as unidades que transitaro no sistema de comunicao (os surtos de silncio no so transmitidos). Uma vez que o pacote gerado, ele imediatamente entregue para transmisso (veremos a seguir que o retardo mximo um requisito importante). Se os pacotes sofrerem retardos variveis, chegaro ao destino no mais preservando a continuidade, conforme mostra a linha horizontal inferior da figura, podendo gerar intervalos de silncio dentro de um surto de voz, ou diminuir, e at mesmo eliminar, intervalos de silncio, o que pode causar a perda da inteligibilidade da informao no destino. Alguma forma de compensao dessa variao estatstica do retardo deve ser realizada.13 A estratgia utilizada pelos algoritmos de compensao baseia-se fundamentalmente em assegurar uma reserva de pacotes antes de dar incio ao processo de reproduo, introduzindo um retardo inicial a cada surto de voz. Aparentemente o problema estaria resolvido se escolhssemos o retardo inicial bem grande,

13

Note que a variao estatstica do retardo no necessariamente introduzida s pela rede de comunicao, mas por todo o sistema. Ela introduzida desde a interao da placa de udio com o sistema operacional da estao, passando pelos protocolos de comunicao (sistema operacional de rede), at chegar ao sistema de transmisso. No destino, o caminho semelhante, mas em ordem inversa, tambm pode introduzir aleatoriedade no retardo antes da reproduo. Assim, embora muitas vezes o sistema de transmisso no introduza aleatoriedade no retardo, a compensao ainda deve ser feita.

36

entretanto, o valor desse retardo est limitado pelo mximo retardo de transferncia (desde a gerao at a reproduo) permitido para o sinal de voz, sem que haja perda da interatividade da comunicao [Bastos 92]. As referncias [Soares 91, Bastos 92, Soares 92, Gopal 84, Adams 85, e Faria 92] discutem com algum detalhe a anlise de desempenho de vrios algoritmos para compensao da variao estatstica de retardo, com o objetivo de manter a continuidade em sinais de voz. Embora apresentados para sinais de voz, os algoritmos podem ser facilmente estendidos para qualquer sinal contnuo (com taxas constante ou varivel). O Apndice C apresenta uma discusso resumida desses algoritmos. O retardo de transferncia mximo crtico para o udio, principalmente no caso de conversaes. Um dos motivos devido ao problema do eco [Handel 89], mas, mesmo nos casos em que o eco no cause problemas, ou que canceladores de eco sejam utilizados, o retardo de transferncia mximo pode ser crtico. Cada interlocutor, em uma conversao, normalmente espera o fim do discurso do outro para dar incio sua fala; se o retardo de transferncia for muito grande, a conversao comea a sentir um efeito de ruptura, podendo at se tornar invivel (se o leitor j utilizou a rede telefnica via satlite, deve ter sentido esse efeito). Um retardo de transferncia maior que 200 ms j comea a incomodar os interlocutores [Bastos 92]. Os padres de telefonia estipulam 40 ms para distncias continentais e 80 ms para distncias intercontinentais como limites para o retardo mximo de transferncia. bom frisarmos novamente que os problemas de retardo s so crticos em aplicaes que exigem comunicao interativa em tempo real. Nesse caso, como no podemos introduzir um retardo inicial muito grande para compensarmos a variao estatstica do retardo, a compensao s poder ser efetiva se a variao estatstica apresentada for pequena.

6.4. Vdeo
Tal qual a mdia de udio, a mdia de vdeo se caracteriza por gerar um trfego contnuo com taxa constante. Da mesma forma que no udio, mesmo quando no sinal realizada alguma tcnica de compactao ou compresso e o trfego gerado para comunicao se caracterizar como um trfego com taxas variveis, o sinal deve ser reproduzido no destino a uma taxa constante. Como na mdia de udio, o retardo de transferncia mximo tem grande importncia, e a variao estatstica do retardo deve ser compensada. Normalmente, como o vdeo vem acompanhado de (sincronizado com) udio, uma vez obedecidos os requisitos de retardo desse, esto obedecidos os daquele. A vazo mdia gerada por uma fonte de vdeo varia com a qualidade do sinal e os algoritmos de codificao, compactao e compresso empregados, conforme discutido na Seo 4.8. Em vdeo, a taxa de erro de bit pode ser maior que a taxa de erro de pacote, pelos mesmos motivos explicitados para as imagens grficas no formato matricial. No entanto, no vdeo, como a imagem no esttica e devem ser gerados vrios quadros por segundo, a taxa de erro de pacote no to crtica. Mesmo a taxa de erro de bit tolervel maior do que aquela para imagens estticas [Hehmann 90]. Na verdade, a discusso sobre a taxa de erro aceitvel no to simples. Quando utilizamos tcnicas de compresso, um erro pode se propagar. Dessa forma, alguns quadros, em que o erro no se propaga, podem tolerar erros de bits e de pacotes. Naqueles em que o erro se propaga, s vezes at um nico erro de bit pode ser intolervel. Tal qual nas imagens no formato matricial, quando se utiliza tcnicas de compresso ou compactao, a tolerncia a perda depende muito da aplicao e seus usurios. Como discutimos na Seo 4.8, existem mtodos de compresso que identificam a poro mais importante dos dados de um vdeo. Para esses dados, deve-se evitar ao mximo as 37

perdas, as pores menos importantes podem ser descartadas, se necessrio (ou por erro na transmisso, ou por congestionamento no sistema de comunicao, ou mesmo porque o usurio final no necessita delas para obter a informao que deseja). Mais uma vez, um sistema de comunicao deve poder identificar as pores em que ele deve minimizar as perdas.

7. Consideraes Finais
As referncias [Hehmann 90, Gruber 82, Soares 92] apresentam vrias caractersticas das diversas mdias para diferentes aplicaes e tcnicas de compresso e compactao utilizadas. O que vimos na Seo 6 foi um grande nmero de combinaes de caractersticas e requisitos que um sistema de comunicao e processamento devem satisfazer de forma a tornar possveis as aplicaes multimdia. Naquela seo, foram mostrados apenas alguns requisitos, sem contudo se fazer meno s diferenas no que concerne ao gerenciamento de buffers, controle de fluxo, gerenciamento de conexes. No foram sequer mencionadas as direes para a otimizao de compromissos no atendimento dos vrios requisitos de diferentes aplicaes. Pelo exposto, fica claro que um desafio para a construo de qualquer sistema de comunicao e processamento fornecer mecanismos para oferecer o suporte a essas diversas caractersticas de trfego. Esses mecanismos devem permitir negociar a qualidade de servio desejada (QoS), isto :

O mximo retardo de transferncia; A variao mxima de retardo para o atendimento dos requisitos de especificao de udio e vdeo; Os mecanismos para compensao da variao estatstica do retardo; O valor da vazo necessria para a abertura de uma comunicao. As taxas de erros de bit e pacote tolerveis (separadamente negociadas); A especificao de qual estratgia a ser adotada, para todos os tipos de erro: deteco, deteco e correo, ou nada; Os mecanismos para controle do fluxo de dados e congestionamento do sistema de comunicao. As condies para o fechamento de uma comunicao, caso no seja possvel atender aos requisitos.

Referncias
[Adams 85] Adam, C. e Ades, S. Voice Experiments in the UNIVERSE Project. Proceedings of International Conference on Communications. 29.4.1 29.4.9, 1985. Bastos, T.L.P. e Soares, L.F.G. Anlise de Algoritmos para Reproduo em Tempo Real de Voz em Redes de Pacotes. Relatrio Tcnico IBM CCR-141, Rio de Janeiro. Janeiro, 1992. 38

[Bastos 92]

[Cormen 02] [Faria 92]

Cormen, T.H.;Leiserson, C.E.; Rivest, R.L.; Stein, C. Algoritmos. Traduo da 2 edio americana Teoria e Prtica. 2002. Faria, A.L.A. Implementao do Mecanismo de Controle de Acesso por Deteco de Silncio em um Sistema de Teleconferncia. Dissertao de Mestrado, Depto. de Engenharia Eltrica, PUC-Rio. Maro, 1992. Gopal, P.M., Wong, J.W. e Majithia, J.C. Analysis of Playout Strategies for Voice Transmission Using Packet Switching Techniques. Performance Evaluation, n.4. Fevereiro, 1984 Gruber, J.G. A Comparison of Measure and Calculated Speech Temporal Parameters Relevant to Speech Activity Detection. IEEE Transactions on Communications, vol. com-30, n.4. Abril, 1982. Gruber, J.G. Subjective Effects of Variable Delay and Speech Loss in Dinamically Managed Voice Systems. IEEE Transactions on Communications, vol. com-33. Agosto, 1985. Handel, R. Evolution of ISDN Towards Broadband ISDN. IEEE Network Magazine, pg 7-13. Maro, 1989. Hehmann, D. B., M.G. Salmony, and H.J. Stuttgen. Transport services for multimedia applications on broadband networks. Computer Communications Vol 13 No. 4, 1990, Pages 197-203. ISO/IEC. Coding of Moving Pictures and Associated Audio for Digital Storage Media at up to about 1.5 Mbit/s - Part 3: Audio. ISO/IEC 111723. 1993. ISO/IEC. Information Technology-Coding of Moving Pictures and Associated Audio for Digital Storage Media at up to about 1.5 Mbit/s Part 1: Systems. ISO/IEC 11172-1. 1993. ISO/IEC. Information Technology-Coding of Moving Pictures and Associated Audio for Digital Storage Media at up to about 1.5 Mbit/s Part 2: Video. ISO/IEC 11172-2. 1993. ITU-T Recommendation T.81. Joint Photographic Experts Group, 1993. ISO/IEC. Information technology - Generic coding of moving pictures associated audio information: Audio. ISO/IEC 13818-3. 1998. ISO/IEC. Information technology - Generic coding of moving pictures and associated audio information: Video. ISO/IEC 13818-2. 2000 ISO/IEC. Information technology - Generic coding of moving pictures and associated audio information: Systems. ISO/IEC 13818-1. 2000 ISO/IEC. Coding of Audio-Visual Objects Part 2: Video. ISO/IEC 14496-2. 2 Edition. 2001.

[Gopal 84]

[Gruber 82]

[Gruber 85]

[Handel 89] [Hehmann 90]

[ISO 93a]

[ISO 93b]

[ISO 93c]

[ISO 94] [ISO 98] [ISO 00a] [ISO 00b] [ISO 01a]

39

[ISO 01b]

ISO/IEC. Coding of Audio-Visual Objects Part 1: Systems. ISO/IEC 14496-1. 2 Edition. 2001.

[ITU-R BT.601-4] ITU-R. Encoding parameters of digital television for studios. ITU-R BT.601-4. 1994. [ITU-T G.711] [ITU-G.722] [ITU-T G.723] [ITU-T G.726] [ITU-T G.729] [ITU-T H.261] [ITU-T H.263] [Netravali 95] [Soares 91] ITU-T. Pulse Code Modulation (PCM) of Voice Frequencies. ITU-T G.711. 1988. ITU-T. 7 kHz Audio-Coding Within 64 kbit/s. ITU-G.722. 1988. ITU-T. Speech Coders Dual Rate Speech Coder for Multimedia Communications Transmitting at 5.3 and 6.3 kbit/s. ITU-T G.723. 1996. ITU-T. 40, 32, 24, 16 kbit/s Adaptive Differential Pulse Code Modulation (ADPCM). ITU-T G.726. 1990. ITU-T. Coding of speech at 8 kbit/s using conjugate-structure algebraiccode-excited linear-prediction (CSACELP). ITU-T G.729. 1996. ITU-T. Video Codec for Audiovisual Services at p x 64 kbit/s. ITU-T H.261. 1993. ITU-T. Video Coding for Low Bit Rate Communication. ITU-T H.263. 2005. Netravali, A.N.; Haskell, B.G. Digital Pictures: Representation, Compression and Standards. Springer. 1995 Soares, L.F.G., Martins, S.L. e Bastos, T.L.P. Um Algoritmo para Compensao da Variao Estatstica do Retardo em Redes Comutadas por Pacotes. Anais do 8 Simpsio Brasileiro de Redes de Computadores. 1991. Soares, L.F.G. e Bastos, T.L.P. Anlise de Algoritmos para Reproduo em Tempo Real de Voz em Redes de Pacotes. Anais do 10 Simpsio Brasileiro de Redes de Computadores, Recife. 1992.

[Soares 92]

40

Das könnte Ihnen auch gefallen