SISTEME SI TEHNICI MULTIMEDIA iacobcs pub ro EF
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-Nian. Li, 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 (Qo. S – „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: -Java 3 D: construirea si generarea de grafica 3 D, furnizand un set de baza de primitive pentru realizarea scenelor. Este un nivel de abstractizare realizat peste Open. GL sau Direct. X (utilizatorul poate sa selecteze care dintre ele). -Direct. X: API Windows pentru video, imagini audio si animatie 3 D. -Open. GL: API 3 D foarte portabil si popular. -instrumene „rendering”: -3 D 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=2 f (r se numeste frecventa Nyquist). Exemplul precedent: sunetul cu frecventa 637 Hz => frecventa de esantionare min 1274 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 P 0 (W), un bel (dupa Alexander Graham Bell): 1 bell = log 10(P/P 0) iar un decibel (d. B): 1 d. B = 10 log 10(P/P 0) Alta definite: daca E si E 0 reprezinta amplitudini, potentiale sau presiuni: 1 d. B = 20 log 10(E/E 0) (deoarece, in electricitate P=E 2/R).
In prelucrarea sunetelor se masoara amplitudini! Considerand n biti pentru cuantizare, esantioanele pot lua valori in plaja: -2 n-1. . . 2 n-1 -1. => valoarea maxima a esantionului este 2 n-1. Eroarea de cuantizare maxima este ½ din pasul de cuantizare, deci: sau mai simplu
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 1024× 768 pixeli, RGB, 24 biti/pixel, 2. 25 MB; -fisier audio digital, rata de esantionare 44. 1 k. Hz, 32 biti/esantion (2× 16 biti canale stereo), 10. 09 MB pentru un minut, rata 1. 35 Mb/s; -fisier video digital: dimensiune cadru: 720× 480 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 8 GB 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 2 x este de 9 MB/s. Pentru audio suporta codificare pana la 24 biti / 192 k. Hz cu doua canale sau pana la 24 biti / 96 k. Hz maxim opt canale. Pentru video suporta codificarile VC-1, AVC si MPEG-2 cu diferite rezolutii inclusiv formatele HDTV 720 p, 1080 i si 1080 p.
Blue-ray Disc este un mediu optic de stocare, de foarte mare capacitate, fiind utilizat in principal pentru video HD, jocuri Play. Station. 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 1920 x 1080 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 8 x 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 (Single. Level 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 0→ 1 si din 1→ 0 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 = 2 b 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 = 2 blog 2(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 k. Hz; -o statie de radio FM are alocata o banda de 200 k. Hz; -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 k. Hz – 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, k. B/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 = blog 2(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) ADSL 2 0. 8 -3. 5 Mb/s up, 5 -12 Mb/s down ADSL 2+ 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 VDSL 2 50 -250 Mb/s
Retea locala (LAN) Tip de conexiune de date Rata de date Token ring 16 Mb/s Ethernet (10 base-X) 10 Mb/s Fasr ethernet (100 base-X) 100 Mb/s FDDI 100 Mb/s Gigabit ethernet 1 Gb/s Wireless 802. 11 b 11 Mb/s Wireless 802. 11 g 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, USB 2 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 k. Hz => 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 1 X 2 X 8 X 52 X 1 X 16 X 150 k. B/s (1. 2 Mb/s) 300 k. B/s 1200 k. B/s 7. 8 MB/s Unitati de DVD 1. 32 MB/s 21. 09 MB/s
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): 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, reprezentând numarul schimbarilor pe secunda ale starii electrice:
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: 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 încât 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 100× 100 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 242 242 238 238 238 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, 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 (Win. RAR).
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: 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: 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 20 5 5 3 20 3 Numar optim de biti pentru codificarea culorii 1. 356 3. 678 5. 678 6. 415 3. 678 6. 415 Frecventa relativa a culorii in fisier 0. 391 0. 078 0. 020 0. 012 0. 078 0. 012 Produs col. 3×col. 4 0. 530 0. 287 0. 111 0. 075 0. 287 0. 075
Aplicand ecuatia lui Shannon: Considerand fiecare termen separat, rezulta ca de exemplu culoarea neagra contine (implica) 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 list 1 si list 2, astfel ca sumele frecventelor din cele doua liste sa fie cat mai apropiate t = arbore cu un nod lchild = split_evenly(list 1) rchild = split_evenly(list 2) 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 arbore–cod, 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 20 5 5 3 20 3 00 10 0110 1110 0111 110 1111 Numarul total de biti pentru codificarea fisierului se calculeaza: 100× 2+20× 3+. . . =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 Interval de probabilitate 0 -0. 4 -0. 65 -0. 8 -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, Galben, Rosu, Albastru (6 pixeli succesivi): Interval 1− 0 = 1 0. 65− 0. 4 = 0. 25 0. 5− 0. 4 = 0. 1 0. 44− 0. 4 = 0. 04 0. 432− 0. 426 = 0. 006 0. 4314− 0. 4308= 0. 0006 Valoarea inf. pentru Valoarea sup. pentru Simbol interval probabilitate 0+1× 0. 4 = 0. 4 0+1× 0. 65 = 0. 65 Alb 0. 4+0. 25× 0 = 0. 4+0. 25× 0. 4 = 0. 5 Negru 0. 4+0. 1× 0 = 0. 4+0. 1× 0. 4 = 0. 44 Negru 0. 4+0. 04× 0. 65 = 0. 4+0. 04× 0. 8 = 0. 432 Galben 0. 426+0. 006× 0. 8 = 0. 4308 0. 426+0. 006× 0. 9 = 0. 4314 Rosu 0. 4308+0. 0006× 0. 9 = 0. 4308+0. 0006× 1= 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 */ symbol. Decoded = NULL while symbol. Decoded != 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 0. 43137 (0. 43137− 0. 4)/(0. 65− 0. 4) = 0. 12548 (0. 12548− 0)/(0. 4− 0) =0. 3137 (0. 3137− 0)/(0. 4− 0) =0. 78425 (0. 78425 -0. 65)/(0. 8− 0. 65) =0. 895 (0. 895. − 0. 8)/(0. 9− 0. 8) =0. 95 Simbol al carui interval de prob. contine f Alb Negru Valoarea inf. pt. interv. de prob. al simbol 0. 4 0 Valoarea sup. pt. interv. de prob. al simbol 0. 65 0. 4 Dimens. interv. de prob. al simbol Negru Galben Rosu 0 0. 65 0. 8 0. 4 0. 8 0. 9 0. 4 0. 15 0. 1 Albastru 0. 9 1. 0 0. 1 0. 25 0. 4 Implementarile actuale algoritmului nu utilizeaza aritmetica de virgula mobila, ci numai aritmetica intreaga si operatii de deplasare la nivel de bit. 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 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 MP 3 (MPEG -1, Audio Layer III) AAC (Advanced Audio Coding; MPEG-2 version updated to MPEG-4) MPEG-1, 2, 4 DV (Digital Video) 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 MP 3, dar crestere a ratei de compresie 25%-40% -calitate buna la 64 kb/s 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 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 Quick. Time Fara proprietar, nepatentat, creat -comparabil cu MP 3 si AAC, la de Xiph. org foundation calitate comparabila Fara proprietar, nepatentat, creat -1. 4 : 1 3. 3 : 1 de Xiph. org foundation Sorenson video Sorenson Media Indeo video Intel, achzitionat de Ligos Cinepak Div. X video Supermac. Radius Div. X -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 - 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 G 700 codificarea de la analogic la telefonie digitala utilizand metode ca ADPCM; -seriile H: comunicatia in timp real audio si video digitale. Exemplu: H 323 standard pentru voce si video in retele cu comutare de pachete (Internet), H 262 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 JTC 1 prin care sunt dezvoltate standarde in tehnologia informatiei. Exemple: ISO/IEC 11172 defineste MPEG-1, ISO/IEC 13818 defineste MPEG-2.
- Slides: 66