Sunteți pe pagina 1din 66

SISTEME SI TEHNICI

MULTIMEDIA
iacob@cs.pub.ro
EF 202

CONTINUT
REPREZENTAREA DATELOR DIGITALE
FORMATE DE FISIERE PENTRU IMAGINI
STRUCTURI DE DATE PENTRU ANALIZA IMAGINILOR
UTILIZAREA TRANSFORMATEI FOURIER IN PRELUCRAREA
IMAGINILOR
TRANSFORMAREA COSINUS DISCRETA
REPREZENTAREA DATELOR AUDIO DIGITALE
ANALIZA DE FRECVENTA
FISIERE MIDI
PRELUCRAREA AUDIO DIGITALA
FILTRE AUDIO DIGITALE. PROIECTAREA FILTRELOR AUDIO
COMPRESIA AUDI DIGITALA
REPREZENTAREA DATELOR VIDEO DIGITALE
PRELUCRARE VIDEO DIGITAL
DISTRIBUTIE VIDEO
MULTIMEDIA AUTHORING

Modul de notare:
-laborator: 25 puncte;
-tema de casa: 25 puncte;
-examen: 50 puncte.

Bibliografie:
1) Jennifer Burg - The Science of Digital Media, Prentice Hall, 2009
2) Ze-NianLi, Mark Drew - Fundamentals of Multimedia, Prentice Hall,
2004
3) K.R.Rao, Zoran S.Bojkovic, Dragorad A.Milovanovic - Multimedia
Communication Systems: Techniques, Standards, and Networks, Prentice
Hall, 2002
4) Ralf Steinmetz , Klara Nahrstedt - Multimedia Fundamentals, Volume 1:
Media Coding and Content Processing, Prentice Hall, 2002

REPREZENTAREA DATELOR
DIGITALE

Multimedia implica modalitati multiple de utilizare text, audio, imagini,


desene, animatie si video in diferite aplicatii de uz general ca:
-teleconferinta video;
-lectura distribuita in invatamantul superior;
-telemedicina;
-medii de lucru in cooperare;
-cautarea de obiecte vizuale in baze de date foarte mari video sau de
imagini;
-realitate imbunatatita: plasarea de grafica pe calculator si video de tip
real-appearing in scene filmate;
-transformarea unor componente multimedia in componente editabile.

Pentru stiinta calculatoarelor multimedia este reprezentata prin


cateva domenii importante:
-prelucrare si codificare multimedia: analiza de continut
multimedia, regasire multimedia pe baza de continut, securitate
multimedia, prelucrare audio, imagine si video, compresie, etc;
-suport de sistem si prelucrare in retea multimedia: protocoale de
retea, Internet, sisteme de operare, servere si clienti, calitate a serviciului
(QoS quality of service), baze de date;
-instrumente multimedia, end-systems si aplicatii: sisteme
hipermedia, interfete utilizator, sisteme authoring;
-interactiune si integrare multi-modale: dispozitive web raspandite
(web-everywhere), educatie multimedia incluzand invatare colaborativa
bazata pe calculator (Computer Supported Collaborative Learning),
proiectare si aplicatii de medii virtuale.

Este necesar sa se clarifice distinctia dintre hipermedia si


multimedia.
Astfel, un hipertext reprezinta un text care poate fi citit neliniar,
urmand linkuri care indica alte parti ale documentului sau alte
documente.
Hipermedia, este o extensie logica a termenului de hipertext,
poate sa fie mai mult decat un hipertext (impreuna cu hiperlinkuri),
incluzand si alte medii ca grafica, imagini, dar in special medii continue,
sunet si video. Cel mai bun exemplu de aplicatie hipermedia este World
Wide Web.
Prin multimedia se intelege reprezentarea informatiilor din
calculator prin audio, grafica, video si animatie alaturi de media
traditionala.

Cateva exemple de aplicatii multimedia:


-sisteme de editare si productie video digitale;
-reviste si ziare electronice;
-World Wide Web;
-enciclopedii, jocuri, etc on-line;
-comert on-line;
-televiziune interactiva;
-cursuri multimedia;
-conferinta video;
-video la cerere (video-on-demand);
-filme interactive.

Instrumentele software multimedia pot fi impartite in cateva categorii:


-secventiere si notatie muzicala;
-audio digital;
-grafica si editare de imagini;
-editare video;
-animatie;
-multimedia authoring.

1) Secventiere si notatie muzicala:


-Cakewalk (Pro Audio): termenul de secventiator provine de la dispozitive
mai vechi care memorau secvente de note. Permite de asemenea inserare
de fisiere WAV (de la WAVE sau Audio for Windows, format audio dezvoltat
de Microsoft si IBM) si comenzi Windows MCI (Media Control Interface
sunt drivere care furnizeaza programelor Windows capabilitati
independente de dispozitiv pentru controlul hardware-ului si software-ului
multimedia, incluzand dispozitive audio, secventiatoare MIDI (Musical
Instrument Digital Interface), dispozitive CD audio, dispozitive digitale
audio) in piste audio.
-Cubase: program de secventiere/editare cu capabilitati similare cu cele de
la Cakewalk, incluzand cateva instrumente de editare audio digitale.
-Macromedia Soundedit: creare audio pentru proiecte multimedia si web,
care se integreaza foarte bine cu alte produse Macromedia ca Flash si
Director.

2) Audio digital pentru accesarea si editarea sunetelor esantionate:


-Cool Edit emuleaza un studio audio profesional pentru productii
multipista si editare de fisiere de sunete, incluzand efecte DSP.
-Sound Forge program sofisticat pentru editarea fisierelor WAV.
-Pro Tools: mediu high-end integrat de productie audio si editare,
incluzand manipulare si creare MIDI, mixare audio, inregistrare si editare

3) Grafica si editare de imagini:


-Adobe Illustrator: instrument puternic de publicare, utilizand grafica
vectoriala, grafica poate fi exportata pe web.
-Adobe Photoshop: instrument de grafica prelucrarea imaginilor si
manipulare, permitand straturi de imagine, grafica si text care se pot manipula
separat.
-Macromedia Fireworks: software dedicat realizarii de grafica pentru
web.
-Macromedia Freehand: instrument de editare text si grafica care
suporta numeroase formate ca GIF, PNG si JPEG.

4) Editare video:
-Adobe Premiere: instrument intuitiv, simplu de editare video
neliniara (clipurile video pot fi puse in orice ordine). Datele audio si video
sunt aranjate in piste, permitand un numar mare de piste. Ofera o
biblioteca larga de tranzitii, filtre si miscari pentru clipuri, obtinand
productii multimedia cu efort redus.
-Adobe After Efects: instrument de editare video pentru
adaugarea si schimbarea de filme existente, permitand efecte ca
iluminare, umbrire, blurring de miscare, straturi.
-Final Cut Pro: numai pentru Macintosh.

5) Animatie:
-API-uri multimedia:
-Java3D: construirea si generarea de grafica 3D, furnizand un set de
baza de primitive pentru realizarea scenelor. Este un nivel de abstractizare realizat peste
OpenGL sau DirectX (utilizatorul poate sa selecteze care dintre ele).
-DirectX: API Windows pentru video, imagini audio si animatie 3D.
-OpenGL: API 3D foarte portabil si popular.
-instrumene rendering:
-3D Studio Max: include un numar de instrumente profesionale pentru
animatia personajelor, dezvoltarea de jocuri si productia de efecte vizuale.
-Softimage XSI: pachet puternic pentru modelare, animatie si
rendering utilizat pentru animatie si efecte speciale in filme.
-Maya: pachet concurent pentru Softimage, fiind de asemenea un
pachet de modelare complet.
-pachete de animatie GIF: solutie mai simpla de animatie, permitand
dezvoltarea rapida de mici animatii pentru web.

6) Multimedia authoring:
-Macromedia Flash: permite crearea de filme interactive (bazat pe
metafora de scor linie de timp cu secvente de evenimente paralele).
-Macromedia Director: permite crearea de prezentari interactive (bazat
pe metafora film), incluzand un limbaj scripting Lingo (pentru crearea de filme
interactive complexe).
-Authorware: produs authoring bazat pe metafora Iconic/Flow-control.
-Quest: asemanator Authorware, dar utilizeaza metafora de un tip de
grafic (flowchart), nodurile sale incapsuland informatie intr-un mod mai
abstract.

Esantionare si cuantizare
Conversia analog-digitala: esantionarea si cuantizarea.
Esantionarea selecteaza punctele discrete in care se masoara
fenomenul analogic (semnalul): momente de timp (sunet) sau puncte
(x,y) din plan (imagine).
=> rata de esantionare sau rezolutia (numarul de esantioane
preluate in unitatea de timp sau spatiu)
Cuantizarea: fiecare esantion preluat reprezentat pe un numar fix de
biti (adancimea de biti) => precizia de masurare a semnalului.

Ex: esantionarea unei imagini, retea rectangulara de esantionare


(blocuri de esantionare).

(c) situatie de subesantionare (rata de esantionare < rata de


modificare a formelor in cadrul imaginii) => fenomenul de aliasing
(esantionare cu rata mai mica) => imagine falsa.

Ex: esantionarea sunetelor -sunet de 637 Hz esantionat cu


frecventa de 770 Hz si apoi este reconstruit din esantioane prin
extrapolare => semnal mult diferit fata de cel initial.

Teorema lui Nyquist (semnale unidimensionale). Un semnal


sinusoidal cu frecventa f trebuie esantionat la frecventa dubla r pentru
ca unda digitizata sa nu fie afectata de fenomenul de aliasing:
r=2f
(r se numeste frecventa Nyquist).
Exemplul precedent: sunetul cu frecventa 637 Hz => frecventa de
esantionare min1274 Hz.
Cuantizare: numarul de biti utilizati pentru reprezentarea unui
esantion determina acuratetea (precizia) reprezentarii semnalului in
forma digitala:
-imagine cu 1 bit/pixel: doua niveluri, alb si negru;
-imagine cu 8 biti/pixel: 256 culori sau niveluri de gri distincte;
-imagine cu 24 biti/pixel: 224 = 16777216 culori disticte;
-sunet stereo: 16 biti/esantion/canal, => 32 biti/esantion.
Eroarea de cuantizare = |valoarea exacta a semnalului - valoarea
discreta memorata|

Raportul semnal-zgomot
Raportul semnal zgomot (SNR signal-to-noise ratio) = raportul dintre
semnalul util si zgomotul care il insoteste (definitii mai precise depind de
context).
Comunicatii de date analogice:
SNR = puterea medie a semnalului / puterea nivelului zgomotului
-> depinde de conditiile reale momentane.
Imagine digitizata sau sunet digitizat:
SNR = valoarea maxima a esantionului / eroarea maxima de cuantizare
-> depinde de adancimea de biti utilizata, nu de conditii instantanee
=>fiecare semnal codificat cu adancimea respectiva de biti va avea
acelasi raport (se mai numeste si raportul semnal zgomot de cuantificare
SQNR signal-to-quantization-noise ratio).
SQNR masurat in decibeli: pentru doua semnale de puteri P si P0 (W),
un bel (dupa Alexander Graham Bell):
1 bell = log10(P/P0)
iar un decibel (dB):
1 dB = 10log10(P/P0)
Alta definite: daca E si E0 reprezinta amplitudini, potentiale sau presiuni:
1 dB = 20log10(E/E0)
2

In prelucrarea sunetelor se masoara amplitudini!


Considerand n biti pentru cuantizare, esantioanele pot lua valori in plaja:
-2n-1 . . . . . 2n-1-1.
=> valoarea maxima a esantionului este 2 n-1.
Eroarea de cuantizare maxima este din pasul de cuantizare, deci:

2 n 1
max(valoarea _ de _ cuantizare )

20 log10
SQNR 20 log10
max(eroarea _ de _ cuantizare )
1/ 2
sau mai simplu

SQNR 20 log 10 2 n

Stocarea datelor
In aplicatiile multimedia este necesar sa se stocheze un volum
foarte mare de date. Exemple de fisiere (fara compresie):
-fisier de imagine: rezolutia 1024768 pixeli, RGB, 24 biti/pixel,
2.25 MB;
-fisier audio digital, rata de esantionare 44.1 kHz, 32
biti/esantion (216 biti canale stereo), 10.09 MB pentru un minut, rata
1.35 Mb/s;
-fisier video digital: dimensiune cadru: 720480 pixeli, 24
biti/pixel, 30 cadre/sec, necesarul de memorie pentru un minut
14 929 920 000 biti pentru imagine si 84 672 000 pentru audio, in total
peste 1.7 GB, rata 238.65 Mb/s.

Capacitatile mediilor de stocare :


Mediul de stocare
CD (Compact Disk)
DVD (Digital Versatile Disc, Digtal Video
Disc) standard, o fata

Capacitate maxima
700 MB
4.7 GB standard,
8.5 GB dublu strat

DVD video sau de mare capacitate


Stick sau card de memorie
HD-DVD (High Definition DVD) standard, o
fata

17-27 GB
8GB
15 GB standard, 30
GB dublu strat

Blue-ray Disc

25 GB standard, 50
GB dublu strat

Flash drive
Hard disk drive

64 GB
1 TB

HD-DVD este un disc optic pentru stocarea datelor si video HD,


promovat in principal de Toshiba, care l-a lansat in 2006, dar in urma
concurentei cu Blue-ray Disc firma a renuntat la fabricatie in 2008. Dar
inca sunt lansate filme pe acest suport.
Viteza de inregistrare pentru 2x este de 9 MB/s.
Pentru audio suporta codificare pana la 24 biti / 192 kHz cu doua
canale sau pana la 24 biti / 96 kHz maxim opt canale.
Pentru video suporta codificarile VC-1, AVC si MPEG-2 cu diferite
rezolutii inclusiv formatele HDTV 720p, 1080i si 1080p.

Blue-ray Disc este un mediu optic de stocare, de foarte mare


capacitate, fiind utilizat in principal pentru video HD, jocuri PlayStation.
Are aceleasi dimensiuni ca un CD sau DVD obisnuit.
In timp ce un DVD standard este explorat cu raza laser de 650
nm (rosu), Blue-ray utilizeaza un laser de 405 nm (albastru-violet).
Permite stocarea de video HD cu rezolutia maxima 1920x1080
la 60 cadre/s intretesut sau 24 cadre/s progresiv. Accepta codificarile
MPEG-2, H.264/MPEG-4 AVC si VC-1.
Rata de transfer este mare, de exemplu, la inregistrare pentru
8x rata este 36 MB/s.

Flash-drive se refera la dispozitive de stocare SSD (Solid-State


Drive), care emuleaza o interfata de hard-disc.
Poate sa utilizeze si memorie SRAM sau DRAM, caz in care se
numeste RAM-drive, dar in mod normal utilizeaza memoire flash NAND
non-volatila.
Dispozitivele mai ieftine sunt realizate cu memorie flash MLC
(Multi-Level Cell), in care o celula poate memora mai multi biti de
informatie (in mod curent celula poate avea patru stari si deci memora
doi biti de informatie).
Dispozitivele mai scumpe utilizeaza memorie flash SLC (SingleLevel Cell), fiecare celula memoreaza un singur bit, avand oparare mai
rapida si consum mai redus.

Comunicatia datelor
Pentru comunicatia de date, analogica sau digitala, se
utilizeaza diferite medii:
-fire de cupru si cabluri coaxiale prin care datele sunt transmise
cu modificarea in timp a tensiunilor electrice;
-fibre optice care utilizeaza o raza de lumina fluctuanta;
-spatiul liber pentru propagarea undelor electromagnetice.
Comunicatia este determinata ca fiind analogica sau digitala de catre
reprezentarea datelor si nu de mediul de comunicatie.

Comunicatie analogica: tensiunea semalului variaza continuu


intr-o anumita plaja.
Comunicatia digitala: doua tensiuni pentru 0 si 1.

Aceasta metoda se numeste transmisie in banda de baza


(baseband transmission). Linia de comunicatie dintre transmitator si
receptor se numeste canal in banda de baza.
Se utilizeaza pentru cabluri de cupru si coaxiale, dar numai pe
distante mici (din cauza zgomotului, care creste pentru distante mai mari).

Alternativa: transmisia de date modulate (sau bandpass


transmission), caci un semnal care oscileaza continuu se degradeaza
mai greu pe distante lungi. Se utilizeaza un semnal de transport, in care
sunt introduse (modulate) datele.
Tehnici de modulare:

Frecventa semnalului de transport este in mijlocul unei benzi de


frecventa (numita canal), alocata comunicatiei (de unde si denumirea
transmisiei). La fel si la comunicatia prin fibra optica sau unde
electromagnetice.
Spectrul electromagnetic:

Solutie veche de comunicatie a datelor intre calculatoare prin sistemul de


telefonie analogica: calculator -> modem (modulator-demodulator) -> sistemul
de telefonie analogica -> modem-> calculator.
Standarde date de organizatii specializate (ITU International
Telecommunications Union, IEEE Institute for Electrical and Electronics
Engineers si EIA Electronic Industries Association).

Largimea de banda ca rata maxima a schimbarilor


nivelurilor in comunicatia de date digitale
Largimea de banda (bandwdith) = rata maxima a schimbarii
semnalului in comunicatia de date digitale.
Exemplu: semnal cu banda de 5000 Hz (semnalul trece din 01 si din
10 de 5000 de ori / sec) poate sa transmita un 0 si un 1 logic (deci doi
biti) in fiecare perioada, rezulta ca poate sa transmita 10 000 biti / sec.
Definitie. Daca un semnal se trasmite cu doua niveluri posibile si
cu rata de b Hz, atunci rata de date d in biti / sec este
d = 2b
In cazul precedent s-au considerat numai doua niveluri ale semnalului.
Daca se considera un semnal cu patru niveluri, atunci fiecare nivel poate
sa transmita doi biti: 00, 01, 10 si 11 (codificare multinivel).

Deci, in general:
Definitie. Daca un semnal se transmite prin k niveluri posibile si rata b
Hz, atunci rata de date d in biti / sec este:
d = 2blog2(k)
Exemplu: semnal cu patru niveluri.

Numarul de niveluri pentru codificarea informatiei digitale nu poate fi marit


prea mut (creste complexitatea hardware-ului).

Largimea de banda a unui semnal in termeni de frecventa


Un semnal periodic poate fi descompus (matematic si fizic) intro suma de semnale sinusoidale (componentele de frecventa), cuprinse
intre doua frecvente, maxima si minima.
Se poate defini largimea unui semnal (width):
Definitie. Un semnal periodic avand componentele de frecventa
cuprinse intre fmax si fmin, largimea w a semnalului este:
w = fmax fmin

Largimea de banda a unui canal de comunicatie in termeni de


frecventa
In general o comunicatie se ralizeaza intr-o anumita banda de
frecvente, numita largimea de banda a canalului.
Exemple:
-o statie de radio AM are alocata o banda de 10 kHz;
-o statie de radio FM are alocata o banda de 200 kHz;
-o televiziune analogica are o banda de 6 MHz;
-o televiziune digitala de inalta definitie (HDTV) are alocata o
banda de 20 MHz.

Cateva dintre frecventele alocate :

Tip de transmisie
Radio AM
Radio unde scurte
Radio FM
TV canalele 2 - 6
TV canalele 7 - 13
TV UHF canalele 14 - 83

Banda de frecv.
535 kHz 1.7 MHz
5.9 MHz 26.1 MHz
88 MHz 108 MHz
54 88 MHz
174 -216 MHz
470 890 MHz

Rata de biti (bit rate)


O marime importanta in comunicatia de date: rata de biti, sau
rata de date (kb/s, kB/s, Mb/s, MB/s, Gb/s sau GB/s).
Informatia este transferata prin mediul de transmisie care este
afectata de interferente electromagnetice (zgomot). O relatie pentru
specificarea ratei de date care poate fi obtinuta intr-un sistem de
transmisie cu zgomote este data de:
Teorema lui Shannon. Rata de date c in functie de largimea de
banda b a canalului de comunicatie este
c = blog2(1+s/p)
unde, s este puterea semnalului, p este puterea zgomotului.
Rata de date este importanta in cadrul a trei aspecte:
comunicatia datelor, achizitia datelor si pentru semnale video si audio in
redarea datelor.

Cateva rate de biti sunt prezentate in tabelele urmatoare:

Retele de arie larga (WAN)


Tip de conexiune de date
Rata de date
Modem telefon
28.8-56 kb/s
ISDN (Integrated Services Digital
64-128 kb/s
Network)
ADSL (Asymmetric Digital
1.544-8.488 Mb/s
Subscriber Line)
(downstream), 16-640 kb/s
(upstream)
ADSL2
0.8-3.5 Mb/s up, 5-12 Mb/s
down
ADSL2+
1-3.5 Mb/s up 24 Mb/s down
VDSL (Very High Bit DSL)
12.96-55.2 Mb/s
Modem de cablu
20-40 Mb/s
VDSL2
50-250 Mb/s

Retea locala (LAN)


Tip de conexiune de date
Rata de date
Token ring
16 Mb/s
Ethernet (10base-X)
10 Mb/s
Fasr ethernet (100base-X)
100 Mb/s
FDDI
100 Mb/s
Gigabit ethernet
1 Gb/s
Wireless 802.11b
11 Mb/s
Wireless 802.11g
54 Mb/s

Interfete de calculator
Tip de conexiune de date
Rata de date
Serial
10-230 kb/s
Paralel
8 Mb/s
SCSI 1
12 Mb/s
SCSI 2
80 Mb/s
Fast wide SCSI
160 Mb/s
SCSI (diferite versiuni ultra)
320-2560 Mb/s
USB, USB2
12-480 Mb/s
SDI (serial digital interface)
143-360 Mb/s
Firewire (IEEE 1394)
400-800 Mb/s
DMA ATA
264-1064 Mb/s

Exemplu: achizitia de date video de la o camera folosind interfata


Firewire (IEEE 1394). Imaginea color (3 octeti/pixel) este preluata la o
rata de 30 de cadre/s, iar sunetul (4 octeti/esantion) este preluat la rata
de 44.1 kHz => aprox. 30 MB/s sau chiar mai mult (fara compresie).
Pentru redarea sunetelor si imaginilor este importanta rata de
biti. In cazul dispozitivelor de tipul CD si DVD in tabelele urmatoare sunt
prezentate vitezele de transfer:
Unitati de CD
1X
2X
8X
52X
1X
16X

150 kB/s
(1.2 Mb/s)
300 kB/s
1200 kB/s
7.8 MB/s
Unitati de DVD
1.32 MB/s
21.09 MB/s

Rata de baud
Rata de baud este un termen apropiat fata de rata de biti. Rata
de baud = numarul de schimbari ale semnalului pe secunda, ca
proprietate a dispozitivelor de transmisie si receptie de date.
Rata de biti se mai numeste si viteza de comunicatie (numit si
debit binar) este masurata n biti/s (b/s):

Rbiti

(biti / s )

unde T este perioada de timp necesara pentru transmisia sau receptia


unui singur bit.
Un dispozitiv (de exemplu modem) reprezinta semnalele de
date prin diferite stari electrice, n functie de tipul de modulatie utilizat:
frecventa, amplitudine sau faza. Fiecare stare electrica este mentinuta la
iesirea dispozitivului pentru un interval de timp numit perioada de
modulatie ().
Rata de baud se mai numeste si viteza de modulatie si este
inversul perioadei de modulatie, reprezentnd numarul schimbarilor pe
secunda ale starii electrice:

Rbaud

(baud / s )

Unitatea de masura a vitezei de modulatie este baud (dupa numele


inginerului si telegrafistului francez Jean-Maurice Baudot, a inventat
telegraful Baudot si primul teleimprimator de succes). Relatia dintre rata
de biti si rata de baud este:

Rbiti Rbaud log 2 k

unde k este numarul starilor electrice (nivelurilor) distincte ale


echipamentului.
Caz particular: doua stari electrice distincte ale modemului, rata
de biti este egala cu rata de baud. n general nsa, exista un numar mai
mare de stari electrice, astfel nct rata de biti este un multiplu al ratei de
baud.

Viteza de modulatie este confundata adesea cu viteza de


comunicatie (debitul binar)!
Viteza de modulatie (exprimata n baud) este rata cu care se
modifica starile electrice ale modemului ntr-o secunda. Exemplu:
pentru modulatia n frecventa, frecventa semnalului purtator se poate
modifica de catre modem cu o rata de 2.400 de ori /s=> viteza de
modulatie este de 2.400 baud.
Primele modemuri codificau un bit 0 printr-o anumita
frecventa si un bit 1 printr-o alta frecventa. n acest caz particular,
viteza de modulatie =cu viteza de comunicatie.
n general, modemurile codifica mai multi biti de informatie
printr-o stare electrica. Exemplu: un modem de 2400 baud codifica 4
biti de informatie printr-o anumita frecventa
=> viteza de comunicatie = 4 2.400 = 9.600 biti/s.

Metode de compresie
Tipuri de compresie
Pentru o buna fidelitate este necesar ca imaginile, sunetele si miscarea
(informatia video ) sa fie digitizate cu o rezolutie fina si cu niveluri de cuantizare
care sa acopere un interval dinamic larg => Fisiere media foarte mari ->
necesita compresie.
Algoritmii de compresie: compresie fara pierderi si compresie cu
pierderi. La metodele de compresie cu pierderi se pierd anumite informatii
(detalii) care insa nu sunt percepute de om (intr-o imagine anumite culori nu
sunt deosebite de ochiul uman sau in cazul unui sunet anumite frecvente nu
sunt diferentiate de urechea umana).
In cadrul compresiei o marime importanta: rata de compresie =
= dimensiunea originala a fisierului media / dimensiunea fisierului comprimat
(se mai poate exprima si sub forma de procent).
Exemplu: un fisier comprimat este 50% din fisierul original => atunci rata de
compresie este 2:1.

Codificarea RLE (Run-Length Encoding)


-comprimare fara pierderi;
-imagine 100100 pixeli, cu niveluri de gri, 1 octet / pixel, valoarea 0255 (asemanator imagine color, 3 octeti / pixel, RGB). Se memoreaza cati pixeli
consecutivi au o aceeasi valoare, sub forma de perechi (v,n), unde v este
valoarea de pixel si n este numarul de pixeli. Exemplu: succesiunea de pixeli:
255 255 255 255 255 255 242 242 242 242 238 238 238 238 238 238
255 255 255 255
=> Codificarea RLE este: (255, 6), (242, 4), (238, 6), (255, 4)
Se poate face un calcul privind numarul de biti (octeti) necesari codificarii. Fara
codificare sunt necesari 20 octeti, iar daca se utilizeaza codificarea RLE o
valoare de pixel se memoreaza pe un octet iar un numar de pixeli (maxim 10
000) se memoreaza pe 14 biti (doi octeti), deci in total pentru secventa
considerata sunt necesari 12 octeti < 20 octeti.
Situatia se poate inrautati la codificarea de secvente de pixeli care
difera frecvent. Imbunatatire: in loc de numarul maxim de pixeli din imagine
pentru n, se considera blocuri de o anumita lungime maxima (exemplu blocuri
de 255 octeti), pentru reprezentarea numarului de pixeli consecutivi avand
aceeasi valoare fiind suficient un octet. Daca numarul de pixeli consecutivi
avand aceeasi valoare > 255 se considera mai multe blocuri succesive.

Exemplu: 1000 pixeli consecutivi avand valoarea 255:


=> (255, 255), (255, 255), (255, 255), (255, 235)
Rezultate bune pentru imagini simple cu putine regiuni de niveluri de gri
(culori) diferite.
Algoritmii de compresie fara pierderi sunt utili pentru codificarea
fisierelor in care nu se accepta pierderea de informatie. Exemplu: fisiere
text si fisiere binare (programe executabile). Astfel de algoritmi vor fi
utilizati deci pentru programe de arhivare (WinRAR).

Codificarea entropiei
Codificarea entropiei se bazeaza pe utilizarea de coduri de lungime
variabila, codificand pe mai putini biti simboluri cu aparitie frecventa si pe mai
multi biti simboluri cu aparitie mai putin frecventa
Definitie (Shannon). Fie S un sir de simboluri si pi frecventa celui de-al
i-lea simbol (pi poate fi interpretat ca fiind probabilitatea ca al i-lea simbol sa
apara in orice pozitie data din sir). Atunci entropia sursei de informatii S este:

H ( S ) p i log 2
i

1
pi

Ecuatia permite determinarea unei valori optime pentru numarul mediu


de biti necesari reprezentarii fiecarui simbol dintr-un sir de simboluri, pe baza
frecventei de aparitie a simbolurilor. Shannon a aratat ca nu se poate gasi o
solutie mai buna decat acest optim.

Exemplu. O imagine cu 256 pixeli toti diferiti intre ei, valori de la 0


la 255. Ecuatia lui Shannon:

255

1
1
log 2
1
256

256

ceea ce inseamna ca numarul mediu de biti necesari codificarii fiecarei


culori este 8.

Exemplu. Se considera o imagine cu 256 de pixeli in care frecventele de


aparitie a culorilor sunt diferite:
Culoare

Negru
Alb
Galben
Portocaliu
Rosu
Purpuriu
Albastru
Verde

Frecventa

100
100
20
5
5
3
20
3

Numar optim
de biti
pentru
codificarea
culorii
1.356
1.356
3.678
5.678
5.678
6.415
3.678
6.415

Frecventa
relativa a
culorii in
fisier
0.391
0.391
0.078
0.020
0.020
0.012
0.078
0.012

Produs
col.3col.4

0.530
0.530
0.287
0.111
0.111
0.075
0.287
0.075

Aplicand ecuatia lui Shannon:


100
100
20
256
256
256
log 2
log 2
log 2


... 2.006
256
256
256
100
100
20

Considerand fiecare termen separat, rezulta ca de exemplu culoarea


neagra contine (implica)
256
log 2
1.356
100

biti de informatie de fiecare data cand apare in fisier. La fel celelalte culori,
adica in cazul codificarii fiecarei culori printr-un numar de biti egal cu
numarul de biti continuti (continutul de informatie) se va obtine un optim
de codificare. Pe baza calculelor rezulta ca numarul minim de biti pentru
codificarea fiecarui simbol nu poate fi mai mic de 2.006.
Teorema lui Shannon => nu trebuie sa se utilizeze acelasi numar
de biti pentru reprezentarea fiecarui simbol.
Algoritmul Shannon-Fano: o cale de aplicare a teoremei lui
Shannon pentru compresie, utilizand mai putini biti pentru simboluri
frecvente:

Algoritm Shannon-Fano:
/*Intrare: fisier continand simboli (reprezentand caractere de text, culori din
imagine, etc.)
Iesire: arbore reprezentand coduri pentru simboluri. Nodurile interioare nu
contin date. Fiecare frunza contine un simbol unic ca data.*/
{
list = lista de simboluri din fisierul de intrare sortata dupa frecventele de aparitie
code_tree = split_evenly(list)
}
algorithm split_evenly(list)
/*Intrare: lista sortata de simboluri, list.
Iesire: arbore reprezentand codificarea simbolurilor din lista.*/

{
if sizeof(list) = =1, then {
creaza nod pentru singurul simbol din lista, cu NULL noduri fiu
plaseaza simbolul ca data a nodului
return nod
}
else {
divide lista in doua liste list1 si list2, astfel ca sumele
frecventelor din cele doua liste sa fie cat mai apropiate
t = arbore cu un nod
lchild = split_evenly(list1)
rchild = split_evenly(list2)
ataseaza lchild ca fiu stang al lui t
ataseaza rchild ca fiu drept al lui t
return t
}
}

Abordarea este top-down, fiecare pas recursiv divide simbolurile in


doua cu aproximativ acelasi numar de instantieri in fisier. Algortimul
returneaza un arborecod, in care arcele sunt etichetate cu 0 si 1.
Codurile se obtin parcurgand arborele de la radacina la fiecare nod frunza.
Pentru exemplul precedent se obtine:

Rezulta astfel numarul de biti si codul pentru fiecare culoare:


Culoare
Negru
Alb
Galben
Portocaliu
Rosu
Purpuriu
Albastru
Verde

Frecventa

Cod
100
100
20
5
5
3
20
3

00
10
010
0110
1110
0111
110
1111

Numarul total de biti pentru codificarea fisierului se calculeaza:


1002+1002+203+...=584
Ceea ce inseamna in medie 584/256=2.28 biti (aproape de media
minima 2.006). Este o codificare fara pierderi.

Codificarea aritmetica
Algoritmul Shannon-Fano (bazat pe o analiza statistica a
frecventei de aparitie a simbolurilor) nu permite codificarea prin numarul
optim de biti a simbolurilor (deoarece este necesar sa se utilizeze un
numar intreg de biti pentru fiecare simbol).
Codificarea aritmetica se bazeaza de asemenea pe o analiza
statistica a frecventei de aparitie a simbolurilor, dar un sir de simboluri se
codifica printr-un singur numar real.
Exemplu. Se considera o imagine cu 100 pixeli de cinci culori
diferite, pentru fiecare culoare se cunoaste numarul de aparitii si se
asigneaza la un interval de probabilitate.
Culoare
Negru
Alb
Galben
Rosu
Albastru

Frecventa
40/100=0.4
25/100=0.25
15/100=0.15
10/100=0.1
10/100=0.1

Interval de
probabilitate
0-0.4
0.4-0.65
0.65-0.8
0.8-0.9
0.9-1.0

Algoritm de codificare aritmetica:


/*Intrare: un sir de simboluri si intervalele lor de probabilitate asignate.
Iesire: un numar in virgula mobila care codifica sirul */
low = 0.0
high = 1.0
while raman simboluri de intrare {
s = urmatorul simbol de intrare
range = high low
/*s_high (s) reprezinta valoarea sup. a intervalului de probabilitate
asignat simbolului s,
s_low (s) reprezinta valoarea inf. a intervalului de probabilitate asignat
simbolului s*/
high = low + range * s_high(s)
low = low + range * s_low(s)
}
return (high + low)/2
}

Aplicarea algoritmului pentru secventa de pixeli de culori:


Alb,Negru,Negru,Galben,Rosu,Albastru (6 pixeli succesivi):

Interval
10 = 1
0.650.4 = 0.25
0.50.4 = 0.1
0.440.4 = 0.04
0.4320.426 = 0.006
0.43140.4308=
0.0006

Valoarea inf. pentru


Valoarea sup. pentru
interval probabilitate
interval probabilitate
0+10.4 = 0.4
0+10.65 = 0.65
0.4+0.250 = 0.4
0.4+0.250.4 = 0.5
0.4+0.10 = 0.4
0.4+0.10.4 = 0.44
0.4+0.040.65 =
0.4+0.040.8 = 0.432
0.426
0.426+0.0060.8 = 0.4308 0.426+0.0060.9 = 0.4314

Simbol
Alb
Negru
Negru
Galben
Rosu

0.4308+0.00060.9 = 0.4308+0.00061= 0.4314 Albastru


0.43134

Algoritm de decodificare aritmetica


/*Intrare: un numar real f, codificand un sir de simboli, o lista de
simboluri codificate de numar si intervalele de probabilitate asignate
simbolurilor.
Iesire: sirul s de simboluri decodificate
Presupunere: s-a codificat un simbol terminator la sfarsitul sirului */
symbolDecoded = NULL
while symbolDecoded != TERMINATOR_SYMBOL {
s = un simbol al carui interval de probabilitate contine f
output s
/*s_high(s) reprezinta valoarea sup. a intervalului de probabilitate
asignat simbolului s
s_low(s) reprezinta valoarea inf. a intervalului de probabilitate asignat
simbolului s*/
range = s_high(s) s_low(s)
f = (f s_low(s)) / range
}
}

Aplicarea algoritmului de decodificare pentru valoarea 0.43137 este


prezentata in tabelul:
Numar real reprezentand
codul

Simbol al
carui
interval
de prob.
contine f

Valoarea
inf. pt.
interv. de
prob. al
simbol

Valoarea
sup. pt.
interv. de
prob. al
simbol

Dimens.
interv. de
prob. al
simbol

Alb
0.4
0.65
0.25
0.43137
0
0.4
0.4
(0.431370.4)/(0.650.4) Negru
= 0.12548
Negru
0
0.4
0.4
(0.125480)/(0.40)
=0.3137
Galben
0.65
0.8
0.15
(0.31370)/(0.40)
=0.78425
0.8
0.9
0.1
(0.78425-0.65)/(0.80.65) Rosu
=0.895
Implementarile
actuale ale algoritmului
utilizeaza aritmetica
de virgula
Albastru nu 0.9
1.0
0.1
(0.895.
0.8)/(0.90.8)
mobila, ci numai aritmetica intreaga si operatii de deplasare la nivel de bit.
=0.95
Este o codificare fara pierderi.

Codificare bazata pe transformari


Codificarile (compresiile) precedente sunt fara pierdere,
insemnand ca informatia poate fi identic refacuta la decodificare
(decompresie). Dezavantaj: nu ofera un raport de compresie suficient de
mare, mai ales pentru fisiere video si audio => sunt utile metodele de
compresie cu pierderi (bazate pe diferite transformari ca DCT,
transformarea cosinus discreta si DFT, transformarea Fourier discreta).
Exemplu: pentru o imagine se poate aplica DCT, iar in domeniul
frecventa componentele de frecventa inalta sunt inlaturate (schimbari
rapide de culoare sau nuante de gri - oricum nu pot fi distinse de ochiul
uman). In continuare se utilizeaza o tehnica de compresie (ex. codificare
Huffman).
DFT se utilizeaza pentru sunete, trecand datele audio din
domeniul temporal in domeniul frecventa. Este posibil sa se determine
care frecvente mascheaza alte frecvente, iar apoi se inlatura frecventele
mascate. In final rezulta un fisier audio mai mic.

Standarde de compresie si codecuri


Implementarile metodelor de compresie: foarte variate si
optimizate. De multe ori se combina mai multi algoritmi !
Exemplu: compresia JPEG si MPEG = combinatie DCT, codificare
run-length si codificare Huffman.
Unii algoritmi sunt standardizati de catre comitetele oficiale =>
fisiere uniforme. Exemple: DV pentru camere video si MPEG.
Implementarile specifice ale algoritmilor de compresie se numesc
codec-uri (compresie/decompresie). Termenul codec: rezervat datelor
audio si video (decompresia in timp real pentru redare este foarte
importanta).
La majoritatea codec-urilor utilizatorul poate sa selecteze rata de
compresie pana la un maxim suportat de codec. Rata de compresie si rata
de biti sunt invers proportionale (utilizatorul selecteaza raportul dorit intre
calitatea redarii si dimensiunile fisierului).

Algoritm
LZV si variante
Codificare
aritmetica
MP3 (MPEG
-1, Audio
Layer III)
AAC
(Advanced
Audio
Coding;
MPEG-2
version
updated to
MPEG-4)

Algoritmi de compresie standardizati sau patentati


Media
Dezvoltator
Rata compresie, rata biti
imagini
Lempel, Zev, Welch
-variaza cu intrarea
-ideal pentru imagini cu zone mari
uniforme
imagini
Shannon, Elias,
-variaza cu intrarea
Jelinek, Pasco,
-mai performant decat Huffman
Rissanen, Langdon
audio
Institut al Fraunhofer
-min 10 :1
Society
-in general 96-192 kb/s
audio

Patentat de Dolby
Labs in colaborare cu alti
dezvoltatori

-calitate MP3, dar crestere a ratei de


compresie 25%-40%
-calitate buna la 64 kb/s

MPEG-1, 2, 4

audio/video

Dezvoltat de un grup de lucru al -MPEG-1 ~ 1.5 Mb/s


ISO/IEC
- MPEG-2 ~ 4 Mb/s
Astfel, ISO/IEC 11172(MPEG- MPEG-4 ~ 5 kb/s la 10 Mb/s
1), ISO/IEC 13818 (MPEG-2),
ITU-T H.200 (MPEG-4

DV (Digital
Video)

video

Consortiu de 10 companii:
Matsushita
(Panasonic), Sony,
JVC, Philips, Sanyo,
Hitachi, Sharp,
Thomson Multimedia,
Mitsubishi, Toshiba

-obisnuit 5:1
-utilizeaza DCT ca JPEG and MPEG

Codec
IMAADPCM
(Interactive
Multimedia
Association
Adaptive
Differential
Pulse
Code
Modulation)

Media
audio

Vorbis

audio

FLAC (Free
audio
Lossless Audio
Codec)

Codecuri larg utilizate


Dezvoltator
Apple, migrat spre Windows

Rata de compresie, rata biti


-4:1 pentru esantioane de 16 biti
-inclus in QuickTime

Fara proprietar, nepatentat,


creat de Xiph.org foundation
Fara proprietar, nepatentat,
creat de Xiph.org foundation

-comparabil cu MP3 si AAC, la


calitate comparabila
-1.4 :1 3.3 :1

-varietate larga, inclusiv rata foarte


buna la calitate buna
-compresie calitate CD (352 X 240
resolution NTSC,
1.44 Mb/s bit rate),
comparabil cu MPEG-1
-se poate seta rata de compresie

Sorenson

video

Sorenson Media

Indeo

video

Intel, achzitionat de Ligos

Cinepak
DivX

video
video

SupermacRadius
DivX

- compresie calitate CD
-10 :1
-compresia permite descarcare
video prin DSL sau modem cu
cablu.

Standarde si organizatii de standardizare pentru media


digitala
Clasificarea standardelor:
Standardele proprietare: specificate si patentate de firmele
comerciale (care doresc sa castige din utilizarea lor).
Exemple: compresia LZW si codificarea aritmetica.
Standard de facto: metoda sau format care furnizeaza
specificatii in industrie fara niciun gir oficial. Exemplu: format de fisiere
pentru imagini TIFF (aproape toate programele de prelucrare de imagini
si sistemele de operare recunosc acest format).
Standardele oficiale: dezvoltate de consortii mari din industrie
sau agentii guvernamentale, la nivel national sau international.
Exemple: ITU (International Telecommunications Union), ISO
(International Organization for Standardization), IEC (International
Electrotechnical Commission).

ITU (anterior CCITT) = organizatie internationala (guverne si


firme) coordoneaza retelele globale de telecomunicatii si servicii. Printre
altele, aloca benzile de radio frecventa!
Sectoare:
-ITU-T pentru standarde de telecomunicatii;
- ITU-R pentru standarde de radiocomunicatii;
-ITU-D pentru dezvoltarea telecomunicatiilor.
A emis o serie de standarde, cele mai importante:
-seriile G: codificarea vorbirii si comunicatia telefonica. Exemplu:
seria G700 codificarea de la analogic la telefonie digitala utilizand metode
ca ADPCM;
-seriile H: comunicatia in timp real audio si video digitale.
Exemplu: H323 standard pentru voce si video in retele cu comutare de
pachete (Internet), H262 standardul pentru compresia MPEG.

ISO = organizatie internationala compusa din diferite organizatii


nationale de standardizare, dezvoltand standarde industriale si
comerciale.
ANSI (American National Standards Institute) represinta SUA in
ISO.
IEC (International Electrotechnical Commission) lucreaza cu
ISO: standarde in electronica si domeniul electric. ISO si IEC au format
un comitet unit numit ISO/IEC JTC1 prin care sunt dezvoltate standarde
in tehnologia informatiei. Exemple: ISO/IEC 11172 defineste MPEG-1,
ISO/IEC 13818 defineste MPEG-2.