Sunteți pe pagina 1din 5

MULTIMEDIA

CURS 4
26.10.2007
= continuare curs 3 =
Componentele care formeaza tipul media
A. Imaginile
1. Formate de reprezentare a imaginilor
2. Animatia
3. Compresia/ decompresia imaginilor
3. Compresia/ decompresia imaginilor
Algoritmii de compresie care s-au adaptat si pentru imagini initial au aparut in jurul datelor
obisnuite.
Algoritmi de compresie a imaginii:
1) Codul (algoritmul) Huffman
Algoritm care comprima un volum informational speculand elemente ce tin de frecventa de
aparitie a simbolurilor in document.
Cum codifica: simbolurile care apar cu frecventa mai ridicata sunt codificate pe mai multi
biti, iar cele cu freventa mai redusa de aparitie sunt retinute pe mai putini biti.
Are la baza un arbore binar dezechilibrat, si tine simbolurile care apar cu frecventa mai
mare mai aproape de radacina, pentru a ajunge mai usor la ele. Codificarea marcarea
distantei de la radacina la nodul codificat.
S-a aplicat acest cod de comprimare si la imagini pentru ca se presupune ca intr-o
fotografie exista o culoare dominanta.
2) algoritmul RLE (Run-length Encoding)
Are eficienta maxima daca sunt satisfacute doua cerinte vizavi de informatia care va fi
comprimata:
a) diversitate informationala mica (relativ putine simboluri distincte)
b) factor mare de repetabilitate (simbolurile sa apara in document unele dupa altele).
Se considera ca in imagini multi pixeli invecinati sunt de aceeasi culoare.
In prezent a crescut mult adancimea de culoare: chiar daca ochiul uman percepe aceeasi
culoare, totusi sunt nuante diferite, de simboluri diferite.
Adancimea de culoare: 24 biti per pixel peste 16 milioane de culori
Algoritmul era eficient cand imaginile se exprimau in 256 de culori de exemplu, cand
adancimea de culoare era mult mai mica. Acum nu mai este eficient, conditiile a) si b) nu
prea mai sunt satisfacute.
Cum codifica: decat sa retina simbolul in secventa de n ori, tine numarul de repetitii
(factorul de repetitie) si simbolul o singura data.
3) algoritmul RGB 5-5-5
- algoritm special pentru imagini

Numele ii vine de la modul de lucru: reduce numarul de pixeli rezervati pentru fiecare
culoare fundamentala din spectrul RGB de la 8 la 5 biti.
Implicatiile la nivel de imagine: reduce numarul de nuante. Se observa ca nu percepem
deranjant aceste modificari in ceea ce priveste numarul de nuante, ochiul nu sesizeaza
diferente majore in imagine.
4) algoritmul LZW (Lempel Ziv Welch)
In esenta, codifica un document pe baza unui dictionar de simboluri, pe care il creaza in
paralel.
Simbolurile sunt alese prin constructie de secvente in cadrul documentului. Secvente =
simboluri consecutive care se repeta in cadrul documentului.
Dictionarul porneste de la 256 de simboluri (codul ASCII) si urmeaza sa isi adauge
simboluri noi in functie de ceea ce regaseste in secventele din document.
Spre deosebire de codul Huffman, care cauta simbolurile cu frecventa de aparitie in intreg
documentul, algoritmul LZW isi cauta simbolurile care se repeta in secventa.
http://en.wikipedia.org/wiki/Lempel-Ziv-Welch
Formate de comprimare a imaginilor:
a) .gif (Graphics Interchange Format)
Foloseste ca algoritm de baza RGB 5-5-5, adica reduce numarul de nuante.
Gif standardizeaza numarul si paleta de culori (aceeasi nuanta pe masini diferite).
Spre deosebire de RGB 5-5-5, care reduce brutal numarul de nuante, gif realizeaza
reprezentarea culorilor prin analiza imaginii: analizeaza imaginea ce va fi comprimata si
vede ce nuante apar, pe care le reduce si pe care nu.
Isi creeaza o tabela de culori pe baza analizei.
Comprima in raport de 3:1, adica memoreaza punctele pe 8 biti in loc de 24 biti.
Construieste o tabela de culori avand 256 de intrari. Daca observa ca predomina o anumita
culoare, elimina nu o singura nuanta, ci mai multe. ??
Tabela globala de culori: la nivel de intreaga imagine. Acest lucru functioneaza pentru
imagini de rezolutie mica.
Pentru imaginile de rezolutie mare: are tabela locala de culori.
Nu mai genereaza o tabela pe toata imaginea, ci genereaza tabele pe cadrane, astfel incat
fiecare tabela ramane cu 256 de intrari, dar cele dintr-un cadran difera de intrarile din alt
cadran, tocmai pentru a putea cuprinde diversitatea coloristica din imagini (si oricum, pe o
zona de imagine, in general sunt nuante apropiate de culoare).
b) .tiff (Tagged Image File Format)
Foloseste in reprezentare algoritmul LZW.
Tiff permite reprezentarea pixelilor (punctelor de culoare) pe 48 de biti, adica 16 biti
pentru fiecare culoare fundamentala din spectrul de culori RGB.
Astfel se obtine o reprezentare de o mare acuratete la nivel de culoare.
Procesul de scanare este legat de tiff.
Tiff aplica algoritmul LZW construind un dictionar ce contine initial 256 de culori de baza,
urmand ca prin parcurgerea imaginii sa adauge la dictionar noi simboluri care rezulta din
pixeli de culori diferite si combinat cu secvente de pixeli care se repeta in cadrul imaginii.

Dictionarul permite maxim 4096 de intrari (simboluri).


! unii algoritmi sunt cu pierdere de informatie (RGB 5-5-5, gif), altii fara (RLE: la
decomprimare obtine exact ceea ce a comprimat).
c) .jpeg formatul care s-a impus ca standard
Algoritmul a fost definit in mai multe moduri, unele fiind cu pierdere de informatie, altele
fara.
Are 4 moduri in care a fost definit:
i) modul secvential (modul de baza), cu pierdere de informatie
Caracteristici: realizeaza compresia imaginii la o singura parcurgere a acesteia.
Este si cel mai raspandit mod de comprimare utilizat de prin jpeg.
ii) modul progresiv
Caracteristic acestui mod este faptul ca la o prima procesare a imaginii, rezulta o imagine
slaba calitativ, urmand ca prin mai multe procesari ulterioare ale imaginii, algoritmul sa
obtina o crestere a calitatii imaginii comprimate.
Acest algoritm necesita mai multe procesari pentru a comprima o singura imagine.
iii) modul ierarhic
Pastreaza valorile pixelilor primei linii, integral. Apoi, urmatoarele linii le genereaza prin
predictii: considera de exemplu ca linia 2 are toti pixelii identici cu prima linie.
Compara linia obtinuta prin predictie cu cea originala si pastreaza doar diferentele.
iv) modul progresiv fara pierdere de informatie
In primul pas, pentru un punct din imagine, se pastreaza diferentele in raport cu 3 pixeli
invecinati.
In pasul al doilea, aceste diferente se codifica, folosind algoritmul Huffman.
Se considera ca zonele din imagine au cam aceeasi valoare pentru punctele de culoare.
Atunci diferentele sunt foarte mici.
Se iau 3 pixeli pentru uniformitate: ca sa poata avea acelasi numar de pixeli vecini diferiti
pentru toti pixelii, inclusiv pentru cei din colturi, care au doar 3 vecini.
i) modul secvential (de baza)
Este cel mai utilizat mod.
Etape:
Etapa 1: pregatirea imaginii
In aceasta etapa, se transforma imaginea din reprezentare RGB (la nivel de reprezentare a
culorii a punctelor) in reprezentare YUV, adica reprezentanta luminan crominan.
In digital, punctul de pe ecran este combinatie RGB. Pe ecranele TV, in sistem analogic,
punctul este dat de combinatia de stralucire (unde de stralucire Y) si culoare (UV).
Astfel foloseste mai putina informatie pentru a reprezenta 1 punct.
RGB: 1B pentru 1 punct in 3 planuri 3B.
YUV: 2 planuri: unul de 1B pentru luminanta, culoarea o impacheteaza pe 1B.
Ochiul este mai sensibil la luminanta decat la crominanta (vezi intuneric mai intai, nu
culoarea).

RGB YUV; trece din 3 planuri la 2.


Etapa 2:
Se imparte imaginea in mici cadrane, regiuni regulate (8x8 pixeli) si se aplica o functie de
transformare cosinus direct (functie de tip DCD discreet cosinus transform) si pentru
fiecare pixel in parte rezulta un coeficient de transformare in cosinus discret.
Este o functie suma de suma (iau in considerare toate elementele din cadranul respectiv,
astfel incat coeficientii pentru transformare sa aiba legatura cu celelalte elemente existente
in acel cadran).
Etapa 3: etapa de cuantificare
Aici are loc pierderea de informatie.
Sunt pastrati doar acei coeficienti de transformare care sunt esentiali in obtinerea unei
aproximari cat mai exacte in raport cu imaginea originala. Ce valori nu depasesc un anumit
prag, sunt considerate valori nule.
Acest principiu este utilizat mai ales la procesarea numerica a datelor, la compararea a
doua numere reale. De obicei, nu se foloseste operatorul = = pentru ca daca a = 0,00001 si
b = 0,000001, atunci nu vor fi considerate egale. Dar in algoritm eu vreau sa fie
considerate egale.
Atunci le scad, iar daca diferenta lor este mai mare decat un prag ales, atunci sunt
considerate diferite.
Etapa 4: comprimarea datelor utilizand codul Huffman
Procesul de decompresie urmeaza etapele in sens invers: la etapa 3 se reaplica inversa
functiei DCD. La recrearea pixelilor, nu se vor obtine exact aceleasi culori, se va pierde din
informatie, dar aceasta este o pierdere controlata, iar diferentele nu sunt sesizabile.
Standardul in ceea ce priveste compresia secventelor animate: mjpeg (Motion jpeg).
Animatia poate fi salvata independent doar frame cu frame, bitmap cu bitmap.
Principiul mjpeg este acela ca fiecare cadru individual este comprimat conform
algoritmului jpeg.
Avantaje:
un rezultat bun calitativ prin compresie
pot accesa fiecare cadru individual care compune animatia in fluxul cadrelor, fara sa
decomprim animatia acces direct pe cadrul in fluxul comprimat.
Dezavantaj: algoritmul nu speculeaza redundanta intercadru (adica se considera ca 2 cadre
invecinate au multi pixeli asemenea).
Manual: Image File Format John Miano, la biblioteca

B. SUNETUL
1. Numerizarea sunetului
2. Formate audio
3. Standardul midi (Musical Instrument Digital Interface)
4. Compresia/ decompresia sunetului
1. Numerizarea sunetului
Sunetul este dat de vibratii mecanice in medii elastice, avand frecvente intre 16 si 20000
Hz.
Vibratiile percepute placut de urechea umana se numesc sunete, iar cele percepute neplacut
se numesc zgomote.
In sistemul de calcul, inainte de placa de sunet, initial (pe 386, 486, etc) era incorporat un
difuzor. Placa de baza avea un port care furniza o iesire trimisa catre acel difuzor. Ii dadea
2 valori: frecventa pe care sa produca vibratiile, si durata (cat timp sa produca vibratiile).
Rezultatul era un sunet gen bipaituri.
Sunetul este in format analogic. Pentru a fi prelucrat si stocat prin intermediul sistemului
de calcul, trebuie sa fie obtinut in format numeric (digital), este nevoie de aceasta
conversie.
Etape in numerizarea sunetului:
1) prelucrarea semnalului analog si trecerea lui printr-un convertor analog digital
2) esantionarea semnalului convertit astfel incat sa se pastreze o minima informatie cu
ajutorul careia sa se refaca forma initiala a semnalului.
3) prelucrarea informatiei numerice si stocarea ei conform unui format audio.
Etapa critica in procesul de numerizare a sunetului este reprezentata de esantionarea
semnalului. Prin aceasta se intelege sectionarea semnalului analog pe orizontala, de un
numar de ori pe secunda, numar cuprins intre 4500 si 40000.
Reprezentarea grafica a sunetului: o sinusoida care
moduleaza, reprezinta intensitatea vibratiei.
Corzile vocale vibreaza si timpanul receptioneaza
aceste vibratii. Transferul se realizeaza prin miscarea
moleculelor din aer, care fac ca vibratiile sa fie
percepute.
Fluctuatia de vibratii era tradusa analogic printr-o
variaie continua a tensiunii, care era preluata si producea mai departe o und oscilatorie
electrica, ce era imprimata membranei difuzorului.
Stocarea se traducea printr-un flux de electroni la capul de scriere al (eventual)
casetofonului ce magnetiza banda magnetic.

S-ar putea să vă placă și