Sunteți pe pagina 1din 10

Introducere

Ceea ce noi numim sunet reprezint, de fapt, o perturbaie (energie mecanic) propagat prin mediu (aer) sub forma unor unde. Cnd undele sonore ajung la timpanul nostru, nervii auditivi sunt stimulai i trimit impulsuri electrice ctre crei er, acesta realiznd o interpretare a informaiei primite. n mod asemntor funcioneaz, spre exemplu, un microfon: mica membran a microfonului, de care este fixat o bobin, este pus n vibraie de undele sonore care se ciocnesc de ea i, datorit unui magnet permanent aflat n apropiere, se induce curent electric alternativ n bobin, interpretat mai apoi de un dispozitiv fie de amplificare, fie de nregistrare. nregistrarea digital const n urmtoarele etape: Semnalul analog (curentul sinusoidal ) este transmis de ctre dispozitivul de captare al sunetului ctre un convertor analogdigital (en. ADC analog to digital converter); ADC-ul transform semnalul primit ntr-un ir de bii (1 i 0). Cantitatea de bii produi pe secund poart numele de SAMPLE RATE. Informaia este apoi stocat, spre exemplu, pe hard-disk sau CD-ROM. Pentru a reda sunetul, se parcurg paii n sens invers: Secvena binar este trimis unei uniti DAC (en. digital to analog converter), c e transform biii napoi, n semnal analog. Semnalul este eventual amplificat pentru a fi trimis apoi spre difuzoare. Salvarea sunetelor ntr-un calculator se bazeaz pe procedeul de eantionare a semnalului audio, de reinere a valorilor amplitudinii (voltajului), la anumite interval e de timp. Numrul de bii folosit n formatul audio pentru reprezentarea binar a valorii unei msurri de amplitudine se numete rezoluie, sau adncime de bii (en. resolution, bits per sample, bit depth). Intervalele de timp la care se msoar aceast amplitudine poart numele de perioad, ajungndu-se astfel la noiunea de frecven (en. sa mple rate) numrul de msurri ntr-un interval de o secund. Datele pot fi stocate necomprimate sau comprimate, pentru a se reduce dimensiunea fiierului.

Bit Depth & Sample Rate


Calitatea unei secvene audio este deter minat deci de doi factori: De cte ori pe secund este msurat amplitudinea semnalului analog (SAMPLE RATE); Intervalul numeric n care se afl datele fiecrei msurtori (BIT DEPTH). Primul factor se msoar n kHz, kilohertzi. Spr e ex emplu, CD-urile audio sunt nregistrate la o rat de 44.1 kHz, adic fiecare secund de audio s -a constitut prin msurarea de 44,100 de ori a amplitudinii semnalului. ntr-o secven audio nu poate fi captat un sunet ce are o nlime mai mare dect jumtate din valoarea sample rate a secvenei respective. Prin urmare, pentru o valoare de 44.1 kHz, nu pot fi captate sunete ce depesc frecvena de 22.05 kHz. Experii spun c majoritatea oamenilor nu pot auzi oricum peste pragul de 20 kHz i de aceea s -a stabilit valoarea de 44.1 kHz pentru CD-urile audio. Cel de-al doilea factor, bit depth , determin intervalul valorilor numerice ce sunt asociate fiecrei citiri de amplitudine. Bineneles, o creter e a bit dep th implic o reprezentare digital a sunetului de o mai mare acuratee i finee. i, fiindc urechea uman este sensibil la mici variaii ale intensitii sunetului, este de

dorit un interval ct mai mare de reprezentare. Pentru CD-urile audio, intervalul este cuprins ntre 0 i 65,535, bit depth avnd valoarea 16 (16 bii = 2 octei).

Iat o comparaie n funcie de valorile factorilor Sample rate i bit depth:


minimum Sample rate 44.1 kHz Bit depth 16 bii Avantaje Nu este necesar conversia pentru arderea secvenei pe un CD audio. Ocup mai puin spaiu per secund nregistrat. Necesit puin timp de procesare (ex. la redare). Reprezint standardul internaional pentru compactdiscuri (aa-zisul Red Book Standard). O reprezentare de o mai mare acuratee a sursei sonore originale. Dinamicitate sonor sporit. Reprezint standardul profesionitilor n domeniul audio. Standardul pentru DVD/HD Audio. Domeniu al frecvenelor reprezentabile mult mai mare. O calitate superioar, alegerea ideal pentru nregistrri muzicale. Mai mult potenial pentru aplicaii viitoare. Reflect noile tendine pentru profesionitii n domeniul audio. Dezavantaje Calitatea oferit ar putea fi insuficient pentru formate audio viitoare.

recomandat

44.1 kHz

24 bii

optim

96 kHz

24 bii

Ocup mult spaiu per secund nregistrat. Timp de procesare mare. Pentru unele secvene audio nu prezint mbuntiri perceptibile. Necesit conversie pentru folosirea pe un CD Audio standard.

Urmtorul tabel prezint dimensiuni ale unor fiiere ce conin O OR de sunet n format digital, pentru valori diferite ale ratei de eantionare (sample rate) i rezoluiei de bii (bit depth).
Sample Rate 44.1 kHz 44.1 kHz 44.1 kHz 44.1 kHz 96 kHz 96 kHz Bit depth 16 16 24 24 24 24 Numr de canale 2 (stereo) 1 (mono) 2 (stereo) 1 (mono) 2 (stereo) 1 (mono) Mrime, n MB 591 MB 296 MB 887 MB 444 MB 1931 MB 966 MB

Ce este un format audio? Ce este un codec?


Un format de fiier audio este un format dedicat s tocrii datelor audio pe un sistem de calcul. Un astfel de format se poate compune dintr-un flux brut de bii, dar, n general, const ntr-un format-container cu o structur fix. Acesta conine, n afara datelor audio propriu-zise i o serie informaii necesare, dispuse sub aspectul unui strat ce nvelete datele. Este important s tim s facem diferena ntre un format de fiiere i un codec. Un codec este un mic program ce se ocup cu compresia i decompresia fluxului brut de bii, n timp ce formatu l de fiiere audio este containerul n care se afl depozitat acest flux de bii. Cuvntul codec s -a format prin legarea celor dou cuvinte-cheie: compress-decompress. Iat definiia codecului, preluat de pe Wikipedia:
Un codec este un program sau o bibliotec de software, eventual chiar i un aparat hardware corespunztor, care asigur codarea i decodarea unei informaii. Termenul este folosit n general referitor la mediile audio sau video analoage, care trebuie transformate ntr-un format digital. Cu aceast ocazie datele rezultate sunt de obicei i comprimate, de exemplu pentru a accelera transmiterea lor prin reeaua de telefonie mobil sau prin Internet. Prin extensie se numesc tot "codec" i unele programe care transform informaia deja digitalizat dintr-un format n altul ("transcodare").

Majoritatea formatelor audio suport multiple codecuri. Sa zicem c un fiier de format audio XYZ are extensia .xyz. Vom crea dou astfel de fiiere ce conin exact acelai sunet. Dac nu ar fi aplicat niciun codec, atunci datele din ambele fiiere ar fi perfect identice. ns un fiier l salvm folosind codecul A, iar pe cellalt folosind codecul B. Fiecare fiier va conine la o anumit adres numele codecului folosit, iar datele nu vor mai fi aceleai, ele fiind salvate prin algoritmi diferii. Mrimea celor dou fiiere nu va mai fi nici ea aceeai, depinznd de gradul de comprimare al fiecrui codec. Cu toate c datele sunt diferite, informaia (sunetul) rmne, de obicei, neschimbat. Cnd vom rula un player audio pentru redarea secvenei nregistrate, acesta observ codecul specificat i va importa proceduri din librriile dinamice ale fiecrui codec (un exemplu ar fi fiierele DLL, pentru platforma Windows) pentru interpretarea datelor din fiierel e noastre. Dac codecul specificat nu este instalat pe calculator, atunci datele nu vor putea fi citite, deci sunetul nu va fi redat.

Tipuri de formate
Exist trei mari grupe de formate audio: Formate ce conin date audio necomprim ate (en. uncompr essed audio formats) cum ar fi WAV, AIFF, AU; Formate ce conin date audio comprim ate, ns fr pierdere de informaie (en. lossless compression) cum ar fi FLAC, Monkeys audio (extensia .ape), WavPack (extensia .wv), Windows Media Audio Lossless (WMA Lossless). Formate cu conin date comprim ate, cu pierdere de date i informaie (en. lossy) MP3, Vorbis (extensia .ogg), AAC, Windows Media Audio (WMA). 1. Formate fr compresie Exist un format principal de reprezentare necomprimat a sunetului, i anume PCM (Pulse-code modulation mprirea curentului sinusoidal pe eantioane dreptunghiulare, un mod de aproximare fidel a sunetului), folosit n fiierele WAV (platforma Windows) i AIFF (pentru Mac OS). Formatele WAV i AIFF sunt deosebit de flexibile i sunt concepute astfel nct s poat stoca flux de date la diverse combinaii de rezoluie i rate de eantionare (en. bit rate, sample rate). Sunt folosite pentru stocarea nregistrrilor originale. Formatul AIFF (Audio Interchange File Format) se bazeaz pe formatul IFF (Interchange File Format) dezvoltat de Apple. Formatul WAV se bazeaz pe RIFF (Resource Interchange File Format), replica Microsoft la IFF-ul celor de la Apple. BWF (Broadcast Wave Format - http://en.wikipedia.org/wiki/Broadcast_Wave_For mat) este un format audio standard creat de European Broadcasting Union, ca un succesor al lui WAV. BWF permite metadatelor (metadate = date despre date) s fie stocate n fiier. Este foarte uti lizat de ctre profesionitii n domeniul audio, n televiziune i industria cinematografic. Fiierele conin i o linie temporal ce permite sincronizarea perfect a sunetului cu anumite imagini, etc. 2. Formate cu compresie , fr pierdere de informaie O secven de date dintr-un fiier cu un astfel de format nec esit mai mult timp de procesare nainte de a fi ncrcat n memoria principal, dar ocup mai puin spaiu pe hard -disk. Formatele fr compresie rein acelai numr de bii pentru reprezentarea fiecrui sample (eantion) astfel nct, spre exemplu, un minut de linite deplin rezult ntr -un fiier de aceeai mrime cu un fiier ce reine un minut de muzic orchestral. n cazul comprimrii fr pierdere de informaii, lucrurile stau altfel. Minutul de muzic va ocupa ceva mai puin spaiu dect iniial (necomprimat), iar minutul de linite aproape c nu va ocupa deloc spaiu. Formatele comprimate fr pierdere de

informaii asigur o rat de compresie de aproximativ 50%. Dezvoltarea algoritmilor de comprimare are ca scop reducerea timpului de procesare, meninnd totui o rat bun de compresie. 3. Formate cu compresie , cu pierdere de informaie Codarea cu pierdere de informaie se folosete pentru a reduce cantitatea de date, eventual pe seama calitii. Intenia este de a elimina numai informaiile pe care omul obinuit nu le percepe (de exemplu detaliile ultrafine ale unei interpretri muzicale, sunetele foarte nalte sau cele cu o amplitudine foarte mic). Pe msur ce se dorete obinerea unei c antiti din ce n ce mai mici a materialului codat, pierderea de informaie poate deveni totui vizibil/auzibil i chiar deranjant (de exemplu, n cazul codrii unei imagini, cerul cu nori poate fi nlocuit pur i simplu printr -o pat albastr uniform). Fiierele cu o astfel de compresie pot duce la o dimensiune a datelor de 5 -20% din fluxul de date audio iniial. Exemple: MP3, OGG, WMA .

Formate audio (i codecurile asociate lor)


WAV formatul standard pentru platforma Windows. n general, folosete stocarea necomprimat, PCM, ceea ce nseamn c fiierele WAV pot avea dimensiuni mari, de aproape 10 MB pe minut. Pot fi totui folosite o varietate de codecuri pentru reducerea dimensiunii. Formatul WAV este un descendent al formatului RIFF. OGG un format gratis, cu sursa deschis (en. open-source), ce suport o mulime de codecuri, cel mai folosit fiind codecul Vorbis, care ofer o compresie similar celei oferite de MP3, dar nu este chiar att de rspndit ca acesta. MPC Musepack (denumit iniial MPEG+; extensii: .mpp, .mpc) este un format cu sursa deschis, ce ofer o compresie cu pierdere de informaie. Musepack i Vorbis sunt considerate de muli cele mai bune codecuri existente, oferind o bun compresie i o calitate foarte mare a sunetului. Cu toate acestea, Musepack e foarte puin popular, fiind folosit n principal de audiofili. FLAC (Free Lossless Audio Codec) - Specificaiile acestui format (codecul implicit) pot fi gsite la adresa http://flac.sourceforge.net/format.html . AIFF formatul standard pentru platforma Mac OS. AU formatul standard folosit de Sun, Unix i Java. Fluxul audio poate fi PCM (necomprimat) sau comprimat cu codecurile -law, a-la w sau G729. MIDI (Musical Instrument Digital Interfa ce) protocolul standard de comunicare dintre instrumentele muzicale electronice i computer. Un fiier MIDI conine mai multe piste (en. tracks) paralele de date ce rein, fiecare, nlimea, intensitatea, durata fiecrei note muzicale transmise de un instrument electronic muzical. Spre exemplu, un fiier MIDI ce nregistreaz un duet claviatur -tobe electronice va avea dou piste. De reinut este faptul c MIDI nu reine semnale audio, ci doar caracteristici ale notelor. GSM (codec) creat pentru a fi folosit n telefonie (comunicaii) n Europa, i este foarte practic pentru c reprezint un bun compromis ntre dimensiunea datelor i calitatea sunetului. Fluxurile audio din fiierele WAV pot fi comprimate cu codecul GSM. VOX acest format folosete n general codecul ADPCM (Adaptive Differential Pulse Code Modulation) pentru stocarea fluxului de date. Fiierele VOX se aseamn cu cele WAV, ns nu conin un antet cu informaii despre rata de eantionare sau compresia folosit, ele trebuind specificate nainte de redarea fiierului. Dac nu sunt specificate, se consider c fiierul este codat cu ADPCM, iar rata lui de eantionare este de 8000 Hz.

AAC (Advanced Audio Coding) acest format se bazeaz pe standardele MPEG2 i MPEG4 . Se r egsete n fiiere cu extensiile .acc, .m4a, .mp4, .3gp, etc. MP3 (MPEG-1 Layer 3) cel mai popular format de stocare i rspndire a muzicii , dezvoltat de Institu tul Fraunofer. Eliminnd date redundante din fluxul de date (sunetele greu de perceput de urechea uman), poate deter mina o compresie de aproape 90% a unui fiier WAV de ex emplu (n format PCM), meninnd n acelai timp o calitate foarte bun. WMA (Windows Media Audio) format cu compresie, deinut de Microsoft. RA (Real Audio) for mat conceput pentru transmiterea fluxurilor audio prin Internet (poate fi redat n timpul descrcrii en. streaming).

AVI & WAV


Ce nseamn FourCC?
Termenul de FourCC nseamn four-character code o niruire de 4 caractere, sau, altfel spus, un ntreg de 32 de bii rezultat n urma concatenrii a 4 caractere ASCII. De ex emplu, FourCC-ul abcd se repr ezint ca 0x64636261 (hexazecimal, sistem little-endian) sau 0x61626364 (hexazecimal, sistem big-endian). Formatul AVI (ca i cel WAV) se bazeaz pe FourCC-uri pentru identificarea tipurilor de date (flux audio, flux video), a poriilor de date (data chunks) i a altor informaii, precum va fi descris ulterior.

Ce nseamn RIFF?
Formatul de fiiere RIFF (Resource Interchange File Format) este baza pentru WAV, AVI, ANI. Un document RIFF const ntr-un antet RIFF urmat de 0 sau mai multe liste i porii (lists & chunks). Antetul RIFF are urmtoarea form: 'RIFF' fileSize fileType (data), unde 'RIFF' este un FourCC, fileSize este un ntreg pe 4 octei (mrimea ntregului fiier minus 8 oc tei), fileType este tot un FourCC (fie AVI , fie W AVE), iar data conine porii sau liste, n orice ordine. O porie (chunk) are urmtoarea form: ckID ckSize ckData, unde ckID este un identificator FourCC pentru data din porie, ckSize este un ntreg pe 4 octei ce reprezint mrimea (n octei) a datelor din ckData, iar ckData conine 0 sau mai muli octei de date. Data este ntotdeauna rotunjit, aranjat (en. padded) spre un numr fix de cuvinte (WORDS), n cazul n care ckSize nu are valoarea divizibil cu sizeof(WORD). S reinem ns c ckSize ofer strict numrul octeilor valizi din poria de date, nu include i numrul octeilor de aranjare (en. padding). O list are urmtoarea form: 'LIST' listSize listType listData, unde 'LIST' este un FourCC, listSize este un ntreg pe 4 octei ce ofer numrul octeilor din list, listType este un FourCC, iar listData const n porii sau liste, n orice ordine. listSize numr i cei 4 octei ai FourCC-ului listType, nu doar numrul octeilor din listData, ns nu include (cum este i normal) cei 4 octei ai FourCC-ului 'LIST' sau cei 4 octei ce reprezint cmpul nsui (listSize). n continuare, vom folosi urmtoarea notaie pentru a reprezenta o porie de date: ckID ( ckData ), cmpul ckSize (mrimea poriei) fiind subneles (implicit).

n aceeai manier, o list va fi reprezentat astfel: 'LIST' ( listType ( listData ) ) Elementele opionale vor fi cuprinse ntre paranteze drepte: [ optional element ].

Audio Video Interleave


Formatul Microsoft AVI (acronimul pentru Audio Video Interleave) este un derivat al tipului de fiiere RIFF, la fel ca i formatul WAV, folosit de aplicaii pentru captarea, editarea i redarea secvenelor audio-video. Deci, n general, fiierul AVI conine multiple fluxuri de date, att audio, ct i video, ns nu e necesar ca acestea s apar mpreun (exemplul unui clip fr sunet). Seciunea ce urmeaz nu descrie formatul OpenDML AVI (aa numit-ul "AVI 2.0"), dezvoltat de compania Matrox, ci doar specificaiile Microsoft. Fiierele AVI sunt identificate dup FourCC-ul AVI (inclusiv spaiul, al patrulea caracter) din antetul RIFF. Toate AVI-urile au cel puin dou liste eseniale de chunk-uri, care conin formatele fluxurilor, respectiv fluxurile de date propriu-zise. Un AVI poate avea, opional, o porie ce conine locaiile celorlalte porii de date din fiier. Atunci AVI-ul ar avea urmtoarea structur:
RIFF ('AVI ' LIST ('hdrl' ... ) LIST ('movi' ... ) ['idx1' (<AVI Index>) ] )

Aici, hdrl i movi sunt ID-urile celor dou liste eseniale despre care vorbeam. hdrl definete formatul de date i este prima list necesar. movi conine datele pentru secvena audio-video i este cea de-a doua list necesar. Poria cu ID-ul idx1 conine indecii. Fiierele TREBUIE s aib aceste trei componente n ordine.

Listele hdrl i movi au ca date subporii (subchunks). Urmtorul exemplu prezint ntr-un mod ceva mai extins structura RIFF AVI:
RIFF ('AVI ' LIST ('hdrl' 'avih'(<Main AVI Header>) LIST ('strl' 'strh'(<Stream header>) 'strf'(<Stream format>) [ 'strd'(<Additional header data>) ] [ 'strn'(<Stream name>) ] ... ) ... ) LIST ('movi' {SubChunk | LIST ('rec ' SubChunk1 SubChunk2 ... ) ... } ... ) ['idx1' (<AVI Index>) ] )

Antetul AVI principal


Lista hdrl ncepe cu sub-chunkul avih (AVI h eader), ce conine antetul AVI principal, informaii valabile pentru ntr egul fiier AVI, cum ar fi numrul de fluxuri din fiier (en. streams spre ex emplu, un fiier i video i audio are dou fluxuri), limea i nlimea secvenei AVI (n pixeli), numrul de microsecunde dintre cadre, numrul total de cadre i alte informaii. Pentru mai multe detalii, urmrete linkul http://msdn.microsoft.com/en -us/library/ms779632(VS.85).aspx, unde este definit structura AVIMAINHEADER.

Anteturile fluxurilor AVI


Dup avih (AVI main header) urmeaz una sau mai multe liste strl. Pentru fiecare flux de date (audio, video) este nec esar o list strl. O astfel de list conine informaii despre fluxul asociat ei i trebuie s aib o porie pentru antetul fluxului ( strh stream header chunk) i o porie pentru formatul fluxului (strf stream fo rmat chunk). Opional, o list strl poate conine poriile strd (stream header data chunk) i strn (stream name chunk). Poria cu ID-ul strh alctuiete o structur AVISTREAMHEADER. Pentru mai multe informaii, urmeaz linkul http://msdn.microsoft.com/en -us/library/ms779638(VS.85).aspx. Poria cu ID-ul strf trebuie s urmeze imediat dup strh. Acesta descrie formatul datelor din flux, deci depinde de tipul acestuia. Pentru fluxuri video, informaia regsit n poria strf alctuiete o structur BITMAPINFO (vezi http://msdn.microsoft.com/en-us/library/dd183375(VS.85).aspx), iar pentru fluxuri audio, o structur WAVEFORMATEX (http://msdn.microsoft.com/en -us/library/ms788112(VS.85).aspx). Dac poria strd este pr ezent, atunci ea trebuie s urmeze poriei strf. Formatul i coninutul ei sunt definite de driver-ul codec. n general, driverele folosesc informaia din aceast porie pentru configurri. Aplicaiile care redau, creeaz sau modific fiiere AVI nu au nevoie s interpreteze informaia de aici. Ele doar o transfer la sau de la driver ca un simplu bloc de memorie. Poria opional cu ID-ul strn conine un ir de caractere (cu caracterul nul la sfrit) descriind fluxul. Anteturile fluxurilor din lista strl sunt asociate cu fluxurile propriu-zise (datele audio sau video) din lista movi n funcie de ordinea n care apar listele strl. Astfel, prima lista strl se aplic fluxului 0, a doua fluxului 1, i aa mai departe.

Datele fluxurilor (lista movi)


Dup toate informaiile din antet, ur meaz lista movi, ce conine datele propriu-zise, altfel spus, cadrele pentru fluxurile video i sample-urile pentru fluxurile audio. Poriile de date pot fi aezate direct n coninutul listei movi sau grupate n liste rec ce sunt aezate, bineneles n interiorul lui movi. Listele-grup cu ID-ul rec (literele r, e, c, ur mate de un spaiu) sunt folosite pentru a deter mina aplicaia de redare (orice AVI Player) s citeasc datele din fiier grupate dintr-un singur foc. Acest lucru este util, spre exemplu, pentru vizionarea filmelor n format AVI de pe un CD. n rec se afl, aadar, o mulime de sub-porii, fie coninnd date audio, fie vizuale. ID-ul fiecrei sub-porii este un FourCC format din doi octei ce reprezint index-ul fluxului de date de care aparine (aici se ine cont de ordinea n care apar listele strl n fiier) la care se adaug dou caractere ASCII ce definesc tipul de date din porie (deci n total 2+2=4 octei). n urmtorul tabel sunt prezentate cele dou caractere ASCII, a doua jumtate a Four-CC-ului.
Codul de 2 caractere db dc pc wb Descriere Un cadru, pentru flux video necomprimat Un cadru, pentru flux video comprimat Schimbare de palet de culori Sample audio, pentru flux audio

De ex emplu, dac fluxul cu indexul 0 conine date audio, atunci chunk-urile despre care vorbim au FourCC-ul 00wb. Dac fluxul 1 conine date video, atunci FourCC-ul va fi 01db sau 01dc. Un sub-chunk cu ID-ul xxpc definete o actualizare (schimbare) a paletei de culori n timpul derulrii secvenei AVI. Acest fel de subchunk alctuiete o structur AVIPALCHANGE (http://msdn.microsoft.com/en us/library/ms779635(VS.85).aspx). Pentru ca schimbarea s fie aplicat unui flux video, atunci acel flux ar trebui s accepte astfel de schimbri. Dup cum am precizat pe parcursul acestui document, antetul unui flux (strh) alctuiete o structur AVISTREAMHEADER. Cmpul dwFlags din structur trebuie s aib setat caracteristica AVISF_VIDEO_PALCHAN GES. Pentru fluxurile de tex t (existente i ele ntr-un fiier AVI) nu se specific niciun cod de 2 caractere. Se pot utiliza combinaii arbitrare. Poria AVI Index (idx1) Aceast porie este opional, putnd urma dup lista movi. Conine o list cu ID-urile chunk-urilor de date (cadrele, sample-urile audio), mrimea, locaiile lor n fiier. n list sunt incluse, de asemenea, i grupurile de chunk-uri de date, acele porii rec . Poria idx1 alctuiete o structur AVIOLDINDEX (http://msdn.microsoft.com/en -us/library/ms779634(VS.85).aspx). Dac fiierul AVI conine aceast porie final, atunci cmpul dwFlags din structura AVIMAINHEADER (adic poria avih) tr ebuie s aib setat caracteristica AVIF_HASINDEX. Alte Chunk-uri pot fi cele cu ID-ul JUNK. Ac este sunt folosite pentru alinierea datelor n fiierul AVI. O aplicaie ar trebui s ignore coninutul unui astfel de chunk. Surs: http://msdn.microsoft.com/en-us/library/ms779636(VS.85).aspx

DIGITAL VIDEO DATA (DV DATA) n fiierele AVI


n cele ce urmeaz va fi prezentat specificaia Microsoft pentru stocarea digital a secvenelor video. Conformndu-se la aceast specificaie, fiierele AVI sunt i vor compatibile cu versiuni curente i viitoare ale arhitecturii video pentru platforma Windows. Articolul de fa descrie structura AVI-urilor ce conin DV data. Se definesc FourCC-uri specifice pentru fluxurile DV data i obiecte de comand (en. handlers) pentru compresia/decompresia fluxurilor. De asemenea, se definete structura unui flux de DV data i se specific cele dou metode de stocare a DV data ntr-un fiier AVI. Toate, n c ele ce urmeaz Exist dou tipuri de fiiere AVI: AVI-uri ce conin un singur flux DV data (numite i fiiere type-1) i AVI-uri ce conin att un flux vids, ct i un flux auds (numite fiiere type-2). // TODO: de tradus restul articolului http://msdn.microsoft.com/en-us/library/ms783421(VS.85).aspx // *********************************************************************************

WAVE Audio
Formatul WAV este o ramificaie e specificaiei RIFF a Microsoft, destinat pstrrii fiierelor multimedia. Un fiier RIFF ncepe cu un antet (file header) urmat de o secven de porii de date (data chunks). Un fiier WAV conine o singur porie, WAVE chunk, ce const n dou sub-porii (sub-chunks), fmt (detaliile formatului) i data (ce conine secvena audio propriu-zis, sample-urile). S numim construcia alturat forma canonic a unui fiier WAV.

Tabelul urmtor prezint cmpurile ce compun un fiier de tip wav FR compresie, format PCM, adresele i mrimile lor:

Tipul de ordonare a octeilor Antetul RIFF Big endian Little endian Big endian Big endian Little endian Little endian CHUNK-ul RIFF WAVE Little endian Little endian Little endian Little endian Little endian Big endian Little endian Little endian

Adresa offset-ul (n octei) 0 4 8 12 16 20 22 24 28 32 34 36 40 44

Numele cmpului Chunk ID Chunk Size Format (RIFF type ID) SubChunk1ID SubChunk1 Size CompressionCode Num Channels Sample Rate BytesPerSec Block Align BitsPerSample SubChunk2ID SubChunk2 Size Data 4 4 4 4 4 2 2 4 4 2 2 4 4

Mrimea cmpului (n octei)

Observaii Literele RIFF, n format ASCII Mrimea ntregului fiier, minus 8 octei, mrimea nsumat a primelor dou cmpuri. Conine literele WAVE, n format ASCII Literele fmt (inclusiv un spaiu) n ASCII 16 pentru PCM, format necompresat Tipul de compresie folosit pentru Data, 1 pentru PCM Numrul de canale, 1 pentru mono, 2 pentru stereo, etc. 8000, 44100, etc. Valoarea expresiei: Valoarea expresiei:

8, 16, 24 sau 32 de bii pentru fiecare sample Subchunk-ul data Literele data, n ASCII , NumSamples depinznd bineneles de durata secvenei audio Data audio propriu-zis

SubChunk2 Size

Subchunk-ul fmt

Valori posibile pentru CompressionCode, al aselea cmp din fiierul WAV:


Cod 0 1 2 6 7 65,535 Hex 0x0000 0x0001 0x0002 0x0006 0x0007 0xFFFF Descriere Necunoscut PCM (fr compresie) Microsoft ADPCM ITU G.711 a-law ITU G.711 -law Experimental Link http://en.wikipedia.org/wiki/Pulse-code_modulation http://wiki.multimedia.cx/index.php?title=Microsoft_ADPCM http://en.wikipedia.org/wiki/G.711

Varianta complet a acestui tabel poate fi gsit n articolul http://msdn.microsoft.com/enus/library/ms867195.aspx. Iat un exemplu de fiier WAV, n stnga este deschis csua de dialog Properties, iar n dreapta fiierul este deschis cu editorul de text Notepad:

Pentru informaii despre cele dou tipuri de ordonare a octeilor n cadrul unui cuvnt (WORD), vezi urmtoarele articole: http://en.wikipedia.org/wiki/Endianness http://betterexplained.com/articles/understanding-big-and-little-endian-byte-order/ De asemenea, poi gsi informaii utile pe urmtoarele linkuri: http://en.wikipedia.org/wiki/Pulse-code_modulation - PCM, un mod de reprezentare digital a semnalelor analogice, standardul pentru secvene audio digitale n computere i CD-uri Audio Red Book. Surs: https://ccrma.stanford.edu/courses/422/projects/WaveFormat/, http://www.sonicspot.com/guide/wavefiles.html , http://wwwmmsp.ece.mcgill.ca/Documents/AudioFormats/WAVE/WAVE.html . // TODO: de tradus articolul http://en.wikipedia.org/wiki/Flv + specificaii ale Flash Video

http://www.adobe.com/devnet/flv/pdf/video_file_format_spec_v10.pdf
Formatele FLAC, MP3, etc. Informaii despre standardele MPEG. // *********************************************************************************