Documente Academic
Documente Profesional
Documente Cultură
în aplicaţii multimedia
Cuprins
1. Argument
2. Conversia semnalelor analogice în semnale discrete
3. Transmisii analogice şi discrete
4. Compresia analogică
5. Compresia discretă
6. Compresia sunetelor
7. Compresia imaginilor
8. Compresia textelor
1. Argument
Analogic vs Discret
La nivel macro un semnal analogic variază în mod continuu ca amplitudine, frecvenţă sau
fază, pe când un semnal discret variază în trepte putând avea doar valori multiplu întreg al unei
trepte pentru diverşi parametri.
Treapta reprezintă diferenţa între două niveluri consecutive ale unui semnal, acesta
neputând avea o valoare intermediară.
În această lucrare vom trata modul în care semnalele analogice din lumea reală, sunetele,
sunt convertite în semnale numerice (discrete) şi prelucrate (comprimate) pentru a eficientiza
transmisia şi memorarea lor.
2. Conversia semnalelor analogice în semnale discrete (digitale)
Să luăm de exemplu un semnal analogic. Cel mai simplu semnal analogic este un semnal
alternativ sinusoidal, adică o armonică. El reprezintă un sunet pur, o notă muzicală, care nu
poate fi descompus în alte armonici adică în alte semnale sinusoidale.
Un semnal este complet determinat dacă se cunoaşte forma sa de undă sau spectrul de
frecvenţă.
Forma de undă a semnalului reprezintă graficul funcţiei
A = A(t) A este amplitudinea semnalului
t este timpul
adică variaţia amplitudinii în funcţie de timp.
Spectrul de frecvenţă al semnalului reprezintă totalitatea armonicelor (sinusoidelor) din
care este alcătuit sau în care se poate descompune semnalul. Spectrul poate fi continuu sau
discret.
Spectrul continuu conţine o infinitate de armonici între oricare două frecvenţe diferite,
analog cu axa reală la care între oricare două numere diferite există o infinitate de numere.
Spectrul discret conţine doar anumite frecvenţe care pot fi precizate analog cu numerele
naturale, putând fi infinit sau finit.
Acum trebuie să avem în vedere că semnalul analogic poate fi convertit în semnal digital
cu o anumită aproximaţie (eroare) care poate fi oricât de mică în funcţie de rata de eşantionare
şi mărimea pasului de cuantizare (treapta).
Rata de eşantionare reprezintă frecvenţa cu care măsurăm semnalul analogic, iar valoarea
măsurată o convertim într-un număr de trepte.
Există o relaţie de dependenţă între mărimea treptei şi rata de eşantionare, adică nu are
niciun rost să eşantionăm semnalul analogic cu o frecvenţă mare dacă treapta de cuantizare
este mare.
Treapta de cuantizare reprezintă tensiunea dintre două niveluri succesive ale semnalului
digital.
Discretizarea semnalului analogic se face la doi parametri:
Timp – timpul continuu prin eşantionare devine timp discret, adică o succesiune de
momente
Amplitudine – amplitudinea care varia continuu prin cuantizare va varia în trepte şi va
deveni o succesiune de numere
3. Transmisii analogice şi discrete
Un semnal analogic variază în mod continuu ceea ce înseamnă că emiţătorul este ocupat
permanent iar domeniul de valori este infinit. El poate fi memorat pe un mediu magnetic,
bandă sau disc, dar este sensibil la perturbaţii, orice deteriorare a lui fiind ireversibilă. Se pot
transmite mai multe semnale simultan folosind purtătoare cu frecvenţe diferite mult mai mari
decât frecvenţa maximă a semnalului. De exemplu dacă semnalul audio are 20kHz atunci
frecvenţa purtătoarei va fi de ordinul sutelor de kHz.
Problema care se pune este următoarea: cum să transmiţi cât mai multă informaţie în cât
mai scurt timp
deci cantitate maximă la viteză maximă ceea ce defineşte debitul de informaţie sau
lărgimea de bandă.
Un canal de comunicaţie poate suporta un anumit debit de informaţie sau altfel spus are
o anumite lărgime de bandă.
Rezolvarea acestei probleme implică abordarea tuturor metodelor de maximizare a
debitului până la o limită definită de tehnologia folosită:
- creşterea frecvenţei semnalului util şi implicit a frecvenţei purtătoarei
- comprimarea semnalului util astfel încât să fie cât mai scurt
- folosirea simultană a mai multor frecvenţe purtătoare – multiplexarea în
domeniul frecvenţă
- folosirea alternativă a canalului de comunicaţie de către diverse frecvenţe
purtătoare – multiplexarea în domeniul timp
Pentru a transmite mai repede un mesaj, acesta poate fi spart în blocuri care să fie
transmise simultan pe diferite frecvenţe purtătoare. Această tehnică se numeşte multiplexarea
în frecvenţă.
Există nişte limitări tehnologice în ceea ce priveşte numărul de purtătoare care pot fi
folosite simultan datorită interferenţelor care apar între ele. De aceea pentru a creşte în
continuare debitul se foloseşte multiplexarea în timp, adică sursele de unde purtătoare nu mai
emit în mod continuu ci pe anumite intervale de timp.
4. Compresia analogică
Un semnal analogic poate fi comprimat dacă se măreşte viteza de citire. De exemplu dacă
semnalul este imprimat pe o bandă magnetică sau pe un disc optic sau magnetic putem
comprima semnalul dacă derulăm banda sau rotim discul cu viteză mai mare decât cea folosită
la imprimare (înregistrare). Prin această tehnică banda de frecvenţă a semnalului creşte ceea ce
înseamnă că şi armonicile în care se descompune semnalul vor avea frecvenţe mai mari şi vor
impune ca şi frecvenţa undei purtătoare să crească.
Pentru a elimina expandarea benzii de frecvenţă a semnalului putem folosi un filtru trece
jos (FTJ) care va lăsa să treacă armonicile semnalului pănă la o anumită frecvenţă atenuîndu-le
pe cele superioare dar asta înseamnă că semnalul va fi deformat. Semnalul rezultat va avea
sunetul mai înfundat predominând frecvenţele (armonicile) joase faţă de cele înalte.
Teoretic spectrul unui semnal analogic este infinit. Prin spectrul unui semnal definim
armonicile în care se descompune semnalul. Armonicile sunt sinusoidele de diverse frecvenţe şi
amplitudini în care se descompune semnalul. Orice semnal se poate descompune într-o
sinusoidă cu frecvenţa f1 cea mai mică apropiată cât de cât de forma semnalului, numită
armonica fundamentală. Peste aceasta se suprapun alte sinusoide (armonici) cu frecvenţe
multiplu ale frecvenţei fundamentale. De exemplu armonica a doua are frecvenţa f 2 = 2f1 ,
armonica a treia are frecvenţa f 3 = 3f1 , şamd. Semnalul se descompune teoretic într-o infinitate
de armonici.
Practic este imposibil şi total neeconomic să transmitem toate armonicile unui semnal. De
aceea limităm numărul de armonici ale semnalului cu ajutorul unui filtru rezultând un semnal
(aproximativ) asemănător cu cel iniţial dar cu o dinamică redusă. Reducerea dinamicii se face la
limita percepţiei noastre auditive astfel încât să nu sesizăm această limitare.
Bineînţeles că există diverse aplicaţii cu cerinţe diferite de fidelitate. De exemplu pentru
un semnal telefonic nu este necesară o fidelitate mare a semnalului transmis ci la limită asigură
recunoaşterea timbrului vocii persoanei cu care vorbeşti. O bandă mai mică a semnalului
telefonic permite transmiterea mai multor convorbiri simultan cu aceleaşi echipamente, deci
este un compromis între calitate şi traficul de date.
Pentru a creşte traficul pe un canal de comunicaţie putem transmite semnalele de la mai
multe surse prin multiplexare. Concret, semnalul de la fiecare sursă este eşantionat şi transmis
pe rând prin canalul de comunicaţie. Astfel, la un moment dat o singură sursă transmite
eşantionul său de semnal către receptorul alocat. Dacă sunt n surse, atunci vor exista şi n
receptori alocaţi corespunzător. Sursa 1 comunică cu receptorul 1, sursa 2 comunică cu
receptorul 2 şamd. Multiplexorul alege care sursă are acces la canal şi în acelaşi timp
demultiplexorul alege la care receptor va ajunge semnalul din canal.
La recepţie are loc refacerea semnalului din eşantioane în mod asemănător cu refacerea
unei funcţii din eşantioane prin intermediul polinoamelor de interpolare.
Cel mai simplu, un condensator aproximează semnalul cu o exponenţială între două
eşantioane, deoarece condensatorul se încarcă şi se descarcă după o lege exponenţială. Eroarea
la refacerea semnalului este cu atât mai mică cu cât frecvenţa de eşantionare este mai mare.
5. Compresia discretă
Algoritmi de compresie
Deşi la nivel hardware performanţele calculatoarelor sunt remarcabile
- frecvenţa de lucru a microprocesoarelor fiind de ordinul gigahertzilor, adică miliarde de
instrucţiuni pe secundă
- memoria de lucru de ordinul gigaocteţilor, adică miliarde de octeţi, cu timp de acces de
ordinul nanosecundelor
- spaţiul de stocare pe disc solid state (SSD) de ordinul teraocteţilor, adică mii de miliarde
de octeţi, cu timp de acces (scriere/citire) de ordinul nanosecundelor
totuşi cantitatea uriaşă de informaţii generate de conţinutul audio sau video face ca tehnologia
să-şi atingă rapid limitele şi să afecteze fluenţa ori calitatea derulării unui clip video sau film.
Blocajul în trafic apare ca urmare a depăşirii capacităţii unui canal de comunicaţie sau
server de a face faţă tuturor cererilor de acces la o resursă – cum ar fi dacă simultan milioane
de utilizatori ar dori să vadă un clip de pe un anumit server.
Perturbaţia mesajului constă în deformarea lui ca urmare a interferenţelor cu zgomotele
din diverse canale de comunicaţie. Zgomotele pot fi alte mesaje care sunt transmise pe alte
frecvenţe, unde electromagnetice produse de alte surse de informaţie, de mediul industrial,
motoare şi transformatoare de putere, linii electrice aeriene, etc.
6. Compresia sunetelor
Sunetele sunt vibraţii ale unui obiect care se propagă prin mediul solid, lichid sau gazos cu o
viteză care depinde de densitatea şi elasticitatea mediului.
Sunetele sunt unde longitudinale (elastice) la care direcţia de oscilaţie coincide cu direcţia de
propagare.
Domeniul de percepţie al sunetelor pentru urechea umană se întinde de la 16Hz la 20kHz.
7. Compresia imaginilor
8. Compresia textelor
În cazul fişierelor video cum ar fi videoclipuri sau filme, poate apărea necesară introducerea
textului pentru subtitrări, anunţuri sau reclame. Aceste fişiere pot fi incluse în formatul video
sau pot fi tratate separat.
Codarea HUFFMAN
Să luăm un exemplu:
Textul are 46 de litere 5 spaţii şi un punct, adică în total 52 de caractere. Conform codării
standard vom avea 52*8 = 416 biţi.
Observăm că avem diferite frecvenţe de apariţie ale caracterelor şi că putem reduce
dimensiunea textului (în biţi) codificând caracterele în mod diferenţiat: caracterele cu frecvenţa
de apariţie mai mare să aibă coduri mai scurte, iar celor care apar mai rar să li se atribuie coduri
mai lungi.
Pentru a realiza aceasta vom folosi arbori binari.
Calculăm frecvenţele de apariţie pentru fiecare caracter în parte:
I=1 n=5 t=4 e=7 r=1 l=4
o=3 c=4 k=1 i=3 g=1 u=1
h=1 m=2 p=1 a=4 d=2 ă=1
blanc = 5 punct = 1
epunctIrkatguăhlcpdmblancoin,52
0 1
epunctIrkatguăhlc,31
0 1
punctIrk,4 a,4 t,4 guăh,4 l,4 c,4 pdm,5 blanc,5 oi,6 n,5
0 1 0 1 0 1 0 1
Punct,1 I,1 r,1 k,1 g,1 u,1 ă,1 h,1 p,1 d,2
Codurile obţinute pentru fiecare caracter sunt în funcţie de frecvenţa de apariţie astfel:
Cu cât caracterul apare mai des, este poziţionat mai sus în arborele binar şi îi corespunde un
cod mai scurt.
e – 000 e apare de 7 ori => 7*3 = 21 biţi
n – 111 n apare de 5 ori => 5*3 = 15 biţi
blanc – 101 blanc apare de 5 ori => 5*3 = 15 biţi
a – 0011 a apare de 4 ori => 4*4 = 16 biţi
t – 0100 t apare de 4 ori => 4*4 = 16 biţi
l – 0110 l apare de 4 ori => 4*4 = 16 biţi
c – 0111 c apare de 4 ori => 4*4 = 16 biţi
o – 1100 o apare de 3 ori => 3*4 = 12 biţi
i – 1101 i apare de 3 ori => 3*4 = 12 biţi
m – 1001 m apare de 2 ori => 2*4 = 8 biţi
d – 10001 d apare de 2 ori => 2*5 = 10 biţi
p – 10000 p apare o dată => 1*5 = 5 biţi
h – 010111 h apare o dată => 1*6 = 6 biţi
ă – 010110 ă apare o dată => 1*6 = 6 biţi
u – 010101 u apare o dată => 1*6 = 6 biţi
g – 010100 g apare o dată => 1*6 = 6 biţi
k – 001011 k apare o dată => 1*6 = 6 biţi
r – 001010 r apare o dată => 1*6 = 6 biţi
I – 001001 l apare o dată => 1*6 = 6 biţi
Punct – 001000 punct apare o dată => 1*6 = 6 biţi
În consecinţă textul astfel codificat va avea lungimea de 210 biţi
Compresia este cu atât mai eficientă cu cât mărimea textului creşte şi numărul de caractere
folosite este mai mic.