Beruflich Dokumente
Kultur Dokumente
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
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.
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
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.
Referncias ...........................................................................................................................38
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.
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
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
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 + )
y(x) =
0 < x < 1
255
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.
10
76
76
76
76
76
78
79
79
79
79
80
80
76 | 5
78 | 1
79 | 4
80 | 2
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:
11
Smbolo A B C D E
Subtotal (#bits) 30 14 12 18 15
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.
13
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.
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
Preditor
CB A X
imagem fonte
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
C( w) = C( w) = 1
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
imagem fonte
Tabela de especificao
Tabela de especificao
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
Dequantizador
IDCT
Tabela de especificao
Tabela de especificao
imagem reconstruda
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.
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
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
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
Freqncia
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
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)
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
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
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.
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
Somador Subtrator
Y Cr Cb
S-VHS
(Mini DIN)
Sub-amostragem na crominncia
Multiplexador
VC
Vdeo Composto
(RCA)
Modulador
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
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
(b) Blocos
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
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).
Relgio do Sistema
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].
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
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.
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.
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.
10
TEMPO DESTINO
Silncio Introduzido
Silncio Eliminado
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, 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]
[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