sunet, audio, video, wav, avi, container, etc

11
 Introducere Ceea ce noi numim „sunet   reprezintă, de fapt , o perturbaţie (energie m ecanică) pr opagată prin mediu (aer) sub forma unor unde. Când undele s onore ajung la timpanu l nostru, nervii auditivi sunt stimul aţi ş i tr imit impulsuri electrice către creier, acesta realizând o interpre tare a informaţiei p rimite . În mod as em ănător funcţionează, spre exemplu, un microfon: mica membrană a microfonulu i, de c are este f ixată o bobină, este pusă în v ibraţ ie de undele sonore care s e ciocne sc 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  înregis trare.  Înr egistrarea digi tală constă în ur mătoarele etape:  Semnalul analog (curentul sinusoidal ) este transmis de către dispozitivul de captare al sunetului către un convertor anal ogdigital (en. „ADC”   analog to digital conver ter ) ; ADC-ul transformă semnalul primit într -un şir de biţ i (1 ş i 0). Cantit atea de biţi „produşi” pe secundă poartă numele de SAMPLE RATE. Informaţia este apoi s toc ată, s p re exemplu, pe hard -disk sau CD-ROM. Pentru a reda sunetul, s e parcurg p aşii în sens invers:  Secve nţa binară este trimisă unei unităţ i „DAC” (en. digital to analog converter ), ce transformă biţii  înapo i , în semnal a nalog. Semnalul este e ventual amp lificat pentru a f i trimis apoi spre di fuzo are. Sal v area sunetelor într- un calculator se bazează pe procedeul de eşantionare a semnalului aud io, de reţinere a valorilor amplitudinii (vo ltajului), la a numite interval e de t imp. Numărul de biţ i fo losi t în formatul audio pent ru repre zentarea bi nară a valorii unei mă surări de amplitud ine s e numeşte rezoluţie, sau adâncime de biţi  (en. resolution, bits per sample, bit depth ). Interval ele de t imp l a care se măsoară această amplitud ine poar tă numele d e perioadă, aj ung ându -se astfel la noţ iunea de frecvenţă ( en. sample rate)   numărul de măsurări  într-un interval de o secund ă. Date le pot fi stocate necom pri mate sa u comprimate, pe ntru a se reduce dimensiunea fişieru lui.  Bit Depth & Sample Rate Calitatea unei secvenţ e audio este determinată deci de doi factori: De câte ori pe secundă este măsura tă ampl itudinea semnalului analog ( SAMPLE RATE); Intervalul numeric în care se a f lă datele fiecărei mă surători ( BIT DEPTH). Primul factor se măsoară în kHz, kilohertzi . Spre exemplu, CD- uril e aud io sunt înregis tr ate la o rată de 44.1 kHz, adică fiecare secundă de audio s - a constitut prin măsurarea de 44,100 de ori a amp litudinii semnalului.   Într- o secve nţă audio nu poa te fi captat un sunet ce are o înălţime mai mare de cât j umătate din valoarea sample rate” a s ecve nţei respective. Prin urmare, p entru o va loare de 44.1 kHz, nu pot fi c aptate sunete ce depăşesc frecvenţa de 22.05 kHz.  Expe rţii s pun că major itatea oamenilor nu pot auzi o ricum peste pragul de 20 kHz şi de aceea s -a stabilit valoarea de 44.1 kHz pe ntru CD-uril e audio. Cel de-al doilea factor, „bit depth ”, determină intervalul valorilor numerice ce sunt asociate fiecărei citiri de amplitudine. Bineînţeles, o creştere a „bit depth impli că o reprezentare digi ta lă a sunetului de o mai mare acurate ţe şi fineţe . Şi, fii ndcă urechea umană este sensibilă la mici variaţi i ale i nte nsităţii sunetului, este de

Upload: andreibanc

Post on 08-Jul-2015

678 views

Category:

Documents


2 download

DESCRIPTION

Un referat despre câteva din cele mai folosite formate multimedia, dar și despre containerele (mai simplu, fișierele/extensiile) folosite pentru aceste formate.

TRANSCRIPT

5/10/2018 Sunet, Audio, Video, WAV, AVI, Container, Etc - slidepdf.com

http://slidepdf.com/reader/full/sunet-audio-video-wav-avi-container-etc 1/10

Introducere

Ceea ce noi numim „sunet”  reprezintă, de fapt, o perturbaţie (energie mecani că) propagată prin mediu (aer)

sub forma unor unde. Când undele sonore ajung la timpanul nostru, nervii auditivi sunt stimulaţi şi trimit

impulsuri electrice către creier, acesta realizând o interpretare a informaţiei primite. În mod asemănătorfuncţionează, spre exemplu, un microfon: mica membrană a microfonului, de care este fixată o bobină, este

pusă în vibraţie de undele sonore care s e 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 următoarele etape:  

Semnalul analog (curentul sinusoidal) este transmis de către dispozitivul de captare al s unetului către

un convertor analog→digital (en. „ADC”  – analog to digital converter );

ADC-ul transformă semnalul primit într-un şir de biţi (1 şi 0). Cantitatea de biţi „produşi” pe secundă

poartă numele de SAMPLE RATE.

Informaţia este apoi stocată, spre exemplu, pe hard-disk sau CD-ROM.

Pentru a reda sunetul, s e parcurg paşii în sens invers: 

Secvenţa binară este trimisă unei unităţi „DAC” (en. digital to analog converter ), ce transformă biţii

 î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 eşantionare a semnalului audio, de reţinere a

valorilor amplitudinii (voltajului), la anumite interval e de timp. Numărul de biţi folosi t în formatul audio pentru

reprezentarea binară a valorii unei măsurări de amplitudine s e numeşte rezoluţie, sau adâncime de biţi (en.

resolution, bits per sample, bit depth ). Intervalele de timp la care se măsoară această amplitudine poartă

numele d e perioadă, ajungându-se astfel la noţiunea de frecvenţă (en. sample rate)  – numărul de măsurări

 într-un interval de o secundă. 

Datele pot fi stocate necomprimate sau comprimate, pentru a se reduce dimensiunea fişierului.  

Bit Depth & Sample Rate

Calitatea unei secvenţe audio este determinată deci de doi factori:

De câte ori pe secundă este măsurată amplitudinea semnalului analog ( SAMPLE RATE);

Intervalul numeric în care se a flă datele fiecărei măsurători (BIT DEPTH).

Primul factor se măsoară în kHz, kilohertzi . Spre exemplu, CD-uril e audio sunt înregistrate la o rată de 44.1 kHz,

adică fiecare secundă de audio s-a constitut prin măsurarea de 44,100 de ori a amplitudinii semnalului.  Într-o secvenţă audio nu poate fi captat un sunet ce are o înălţime mai mare decât jumătate din valoarea„sample rate” a s ecvenţei respective. Prin urmare, pentru o va loare de 44.1 kHz, nu pot fi ca ptate sunete ce

depăşesc frecvenţa de 22.05 kHz.  Experţii s pun că majoritatea oamenilor nu pot auzi oricum peste pragul de 20 kHz şi de aceea s -a stabilitvaloarea de 44.1 kHz pentru CD-uri le audio.

Cel de-al doilea factor, „bit depth”, determină intervalul val orilor numerice ce s unt asociate fiecărei citiri deamplitudine. Bineînţeles, o creştere a „bit depth” impli că o reprezentare digitală a sunetului de o mai mareacurateţe şi fineţe. Şi, fii ndcă urechea umană este sensibilă la mici variaţii ale i ntensităţii sunetului, este de

5/10/2018 Sunet, Audio, Video, WAV, AVI, Container, Etc - slidepdf.com

http://slidepdf.com/reader/full/sunet-audio-video-wav-avi-container-etc 2/10

dorit un interval cât mai mare de reprezentare. Pentru CD-uril e audio, intervalul este cuprins între 0 şi 65,535,„bit depth” având valoarea 16 (16 biţi = 2 octeţi). 

Iată o comparaţie în funcţie de valorile factorilor „Sample rate” şi „bit depth”: 

Sample rate Bit depth Avantaje Dezavantajeminimum 44.1 kHz 16 biţi  Nu este necesară conversia pentru „arderea” secvenţei

pe un CD audio.Ocupă mai puţin spaţiu per secundă înregistrată. Necesită puţin timp de procesare (ex. la redare). Reprezintă standardul internaţional pentru compact-discuri (aşa-zisul Red Book Standard).

Calitatea oferită ar putea fiinsuficientă pentruformate audio viitoare.

recomandat 44.1 kHz 24 biţi  O reprezentare de o mai mare acurateţe a sursei sonoreoriginale.„Dinamicitate” sonoră sporită.Reprezintă standardul profesioniştilor în domeniul audio.

optim 96 kHz 24 biţi Standardul pentru DVD/HD Audio.Domeniu al frecvenţelor reprezentabile mult mai mare. O ca litate superioară, alegerea ideală pentru înregistrărimuzicale.

Mai mult potenţial pentru aplicaţii vii toare. Reflectă noile tendinţe pentru profesioniştii î n domeniulaudio. 

Ocupă mult spaţiu persecundă înregistrată. Timp de procesare mare.Pentru unele secvenţe

audio nu prezintă îmbunătăţiri perceptibile.  Necesită conversie pentrufolosirea pe un CD Audiostandard. 

Următorul tabel prezintă dimensiuni ale unor fişiere ce conţin O ORĂ de sunet în format digital, pentru valori

diferite ale ratei de eşantionare (sample rate) şi rezoluţiei de biţi (bit depth).  

Sample Rate Bit depth Număr de canale Mărime, în MB

44.1 kHz 16 2 (stereo) 591 MB

44.1 kHz 16 1 (mono) 296 MB

44.1 kHz 24 2 (stereo) 887 MB44.1 kHz 24 1 (mono) 444 MB

96 kHz 24 2 (stereo) 1931 MB

96 kHz 24 1 (mono) 966 MB

Ce este un format audio? Ce este un codec?

Un format de fişier audio este un format dedicat s tocării datelor audi o pe un sistem de calcul. Un astfel de

format se poate compune dintr-un flux brut de biţi , dar, în general , constă într-un format-container cu o

structură fixă. Acesta conţine, în afara datelor audio propriu -zise şi o serie informaţii necesare, dispuse sub

aspectul unui strat ce „înveleşte” datele.  

Este important să ştim să facem diferenţa între un format de fişiere şi un codec. Un codec este un mic

program ce se ocupă cu compresia şi decompresia fluxului brut de biţi, în timp ce formatul de fişiere audio este

containerul în care se află „depozitat” acest flux de biţi. Cuvântul codec s -a format prin l egarea celor două

cuvinte-cheie: compress -decompress. Iată definiţia codecului, preluată de pe Wikipedia:

Un codec este un program sau o bibliotecă de software, eventual chiar şi un aparat hardware corespunzător, care asigură

codarea şi decodarea unei informaţii. 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 reţeaua de telefonie mobilă sau prin Internet. Prin extensie se numesc tot "codec" şi  

unele programe care transformă informaţia deja digitaliz ată dintr -un format în altul ("transcodare").

5/10/2018 Sunet, Audio, Video, WAV, AVI, Container, Etc - slidepdf.com

http://slidepdf.com/reader/full/sunet-audio-video-wav-avi-container-etc 3/10

Majoritatea formatelor audio suportă multiple codecuri . Sa zicem că un fişier de format audio XYZ are extensi a

 „.xyz” . Vom crea două a stfel de fişiere ce conţin exact acelaşi sunet. Dacă nu ar fi aplicat niciun codec, atunci

datele din ambele fişiere ar fi  perfect identice . Însă un fişier îl salvăm folosind codecul A, iar pe celălalt folosind

codecul B. Fiecare fişier va conţine la o anumită adresă numele codecului folosi t, iar datele nu vor mai fi

aceleași, ele fiind salvate prin algoritmi diferiţi . Mărimea celor două fişiere nu va mai fi nici ea aceeași,

depinzând de gradul de comprimare al fiecărui codec.

Cu toate că datele sunt di ferite, informaţia (sunetul) rămâne, de obicei , neschimbată. Când vom rula un  player 

audio pentru redarea secvenţei înregistrate, acesta „observă” codecul specificat şi va importa proceduri din

librăriile dinamice ale fiecărui codec (un exemplu a r fi fişierele  „DLL” , pentru platforma Windows) pentru

interpretarea datelor din fişierele noas tre. Dacă codecul s pecificat nu este instalat pe calculator, atunci datele

nu vor putea fi citi te, deci sunetul nu va fi redat.

Tipuri de formate

Există trei mari grupe de formate audio:  

Formate ce conţin date audio necomprim ate (en. uncompressed audio formats) – cum ar fi WAV,

 AIFF, AU;

Formate ce conţin date audio comprim ate, însă fără pierdere de informaţie (en. lossless 

compression) – cum ar fi FLAC, Monkey’s audio (extensia .ape), WavPack (extensia .wv ), Windows

Media Audio Lossless (WMA Lossless).

Formate cu conţin date comprimate, cu pierdere de date şi informaţie (en. lossy ) – MP3, Vorbis

(extensia .ogg), AAC, Windows Media Audio (WMA).

1.  Formate fără compresie  

Există un format principal de reprezentare necomprimată a s unetului, şi anume PCM (Pulse-codemodulation   – „împărţirea” curentului sinusoidal pe eşantioane dreptunghiulare, un mod de

aproximare fidelă a sunetului), folosit în fişierele WAV (platforma Windows) şi AIFF (pentru Mac OS).

Formatele WAV şi AIFF sunt deosebit de flexibile şi sunt concepute astfel încât să poată stoca flux de

date la diverse combinaţii de rezoluţie şi rate de eşantionare (en. bit rate, sample rate). Sunt folosite

pentru s tocarea înregistrărilor 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_Format ) este un

format audio standard creat de European Broadcasting Union, ca un succesor al lui WAV. BWFpermite metadatelor (metadate = date despre date) să fie stocate în fişi er. Este foarte uti liza t de către

profesioniştii în domeniul audio, în televiziune şi i ndustria cinematografică. Fişierele conţin şi o linie

temporală ce permite si ncronizarea perfectă a sunetului cu anumite imagini, etc. 

2.  Formate cu compresie, fără pierdere de informaţie 

O secvenţă de date dintr-un fişi er cu un astfel de format necesi tă mai mult timp de procesare înainte

de a fi încărcat în memoria principală, dar ocupă mai puţin spaţiu pe hard -disk.

Formatele fără compresie reţin acela şi număr de biţi pentru reprezentarea f iecărui sample (eşantion)

astfel încât, spre exemplu, un minut de li nişte depli nă rezultă într-un fişier de aceeaşi mărime cu un

fişier ce reţine un minut de muzică orchestrală. În cazul comprimării fără pierdere de informaţii ,lucrurile stau altfel. Minutul de muzică va ocupa ceva mai puţin spaţiu decât iniţial (necomprimat), iar

minutul de linişte aproape că nu va ocupa deloc spaţiu. Formatele comprimate fără pierdere de

5/10/2018 Sunet, Audio, Video, WAV, AVI, Container, Etc - slidepdf.com

http://slidepdf.com/reader/full/sunet-audio-video-wav-avi-container-etc 4/10

informaţii asigură o rată de compresie de aproximativ 50%. Dezvoltarea a lgoritmilor de comprimare

are ca s cop reducerea timpului de procesare, menţinând totuşi o rată bună de compresi e. 

3.  Formate cu compresie, cu pierdere de informaţie 

Codarea cu pierdere de informaţie se foloseşte pentru a reduce cantitatea de date, eventual pe

seama calităţii. Intenţia este de a elimina numai informaţiile pe care omul obişnuit nu le percepe (deexemplu detalii le ultrafine ale unei interpretări muzicale, sunetele foarte înalte sau cele cu o

amplitudine foarte mică). Pe măsură ce se doreşte obţinerea unei c antităţi din ce în ce mai mici a

materialului codat, pierderea de i nformaţie poate deveni totuşi vizibilă/auzibilă şi chiar deranjantă (de

exemplu, în cazul codării unei imagini, cerul cu nori poate fi înlocuit pur şi si mplu printr -o pată

albastră uniformă).

Fişierele cu o astfel de compresi e pot duce la o dimensi une a datelor de 5-20% din fluxul de date

audio iniţial. Exemple: MP3, OGG, WMA .

Formate audio (şi codecurile asociate lor)  

WAV  – formatul s tandard pentru pl atforma Windows. În general , folos eşte stocarea necomprimată, PCM,

ceea ce înseamnă că fişierele WAV pot avea dimensiuni mari, de aproape 10 MB pe minut. Pot fi totuşi

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 mulţime de codecuri , cel mai

folosit fiind codecul Vorbis, care oferă o compresie similară celei oferite de MP3, dar nu este chiar atât de

răspândit ca acesta. 

MPC  – Musepack  (denumit ini ţial MPEG+; extensii: .mpp, .mpc) este un format cu sursa deschisă, ce oferăo compresie cu pierdere de informaţie. Musepack şi Vorbis sunt considerate de mulţi cele mai bune

codecuri existente, oferind o bună compresie şi o calitate foarte mare a sunetului. Cu toate acestea,

Musepack e foarte puţin popular, fiind folosit în principal de audiofili.

FLAC – (Free Lossless Audio Codec) - Specificaţiile acestui format (codecul i mplicit) pot fi găsite 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 a udio poate fi PCM (necomprimat) sau

comprimat cu codecurile „ μ-law ”, „a-law ” sau G729.

MIDI (Musical Instrument Digital Interface)  – protocolul standard de comunicare dintre instrumentele

muzicale electronice şi computer. Un fişier MIDI conţine mai multe piste (en. tracks) paralele de date cereţin, fiecare, înălţimea, intensitatea , durata fiecărei note muzicale transmis e de un instrument electronic

muzical. Spre exemplu, un fişier MIDI ce „înregistrează” un duet cla viatură -tobe electronice va a vea două

piste. De reţinut este faptul că MIDI nu reţine semnale audio, ci doar caracteristici ale notelor.  

GSM (codec) – creat pentru a fi folosit în telefonie (comunicaţii) în Europa, şi este foarte practic pentru că

reprezintă un bun compromis între dimensiunea datelor şi calitatea sunetului. Fluxurile audio din fi şierele

WAV pot fi comprimate cu codecul GSM.

VOX  – acest format folos eşte în general codecul  ADPCM ( Adaptive Differential Pulse Code Modulation)

pentru stocarea fluxului de date. Fişierele VOX se aseamănă cu cele WAV, însă nu conţin un antet cu

informaţii despre rata de eşantionare sau compresia folosită, ele trebuind s pecificate înainte de redarea

fişierului. Dacă nu sunt specificate, se cons ideră că fişierul este „codat” cu ADPCM, iar rata lui de

eşantionare este de 8000 Hz.  

5/10/2018 Sunet, Audio, Video, WAV, AVI, Container, Etc - slidepdf.com

http://slidepdf.com/reader/full/sunet-audio-video-wav-avi-container-etc 5/10

  AAC ( Advanced Audio Coding) – acest format se bazează pe standardele MPEG2 şi MPEG4 . Se regăseşte în

fişiere cu extensiile .acc, .m4a, .mp4, .3gp, etc.

MP3 (MPEG-1 Layer 3)  – cel mai popular format de stocare şi răspândire a muzicii , dezvoltat de Institutul  

Fraunofer . Eliminând date redundante din fl uxul de date (sunetele greu de p erceput de urechea umană),

poate determina o compresie de aproape 90% a unui fişier WAV de exemplu (în format PCM), menţinând

 în acelaşi timp o calitate foarte bună.  WMA (Windows Media Audio) – format cu compresie, deţinut de Micros oft. 

RA (Real Audio) – format conceput pentru transmiterea fl uxurilor audio prin Internet (poate fi redat în

timpul descărcării – en. streaming).

AVI & WAV

Ce înseamnă FourCC? 

Termenul de FourCC  înseamnă „  four-character code” – o înşirui re de 4 caractere, sau, altfel spus , un întreg de

32 de bi ţi rezultat în urma concatenării a 4 caractere ASCII. De exemplu, FourCC-ul „abcd ” se reprezintă ca

0x64636261 (hexazecimal, sistem little-endian) sau 0x61626364 (hexazecimal, sis tem big-endian). Formatul

AVI (ca şi cel WAV) se bazează pe FourCC -uri pentru i dentificarea tipurilor de date (flux audio, flux video), a

porţiilor de date (data chunks) şi a al tor informaţii, precum va fi descris ulterior. 

Ce înseamnă RIFF? 

Formatul de fişiere RIFF (Resource Interchange File Format ) este baza pentru WAV, AVI, ANI. Un document

RIFF constă într-un antet RIFF urmat d e 0 sau mai multe liste şi porţii ( lists & chunks).

Antetul RIFF are următoarea formă: 'RIFF' fileSize fileType (data), unde 'RIFF' este un

FourCC,fileSize este un întreg pe 4 octeţi (mărimea întregului fişi er minus 8 octeţi), fileType este tot

un FourCC (fie „AVI ”, fie „WAVE”), ia r data conţine porţii sau liste, în orice ordine.  

O porţie (chunk ) are următoarea formă: ckID ckSize ckData, unde ckID este un identificator FourCC

pentru data din porţie, ckSize este un întreg pe 4 octeţi ce reprezintă mărimea (în octeţi) a datelor din

ckData, iar ckData conţine 0 sau mai mulţi octeţi de date. Data este întotdeauna „rotunjită, aranjată” (en.

 padded ) spre un număr fix de cuvinte (WORDS), în cazul în care ckSize nu are valoarea divizibilă cu

sizeof(WORD). Să reţinem însă că ckSize oferă strict numărul octeţilor valizi din porţia de date, nu include şi

numărul octeţilor de „aranjare” (en. padding).

O listă are următoarea formă: 'LIST' listSize listType listData, unde 'LIST' este un

FourCC,listSize este un întreg pe 4 octeţi ce oferă numărul octeţilor din listă, listType este un FourCC,

iar listData constă în porţii sau liste, în ori ce ordine. listSize numără şi cei 4 octeţi ai FourCC-ului

listType, nu doar numărul octeţilor din listData, însă nu include (cum este şi normal) cei 4 octeţi ai

FourCC-ului 'LIST' sau cei 4 octeţi ce reprezintă câ mpul însuşi (listSize).

 În continuare, vom folosi următoarea notaţie pentru a reprezenta o porţie de date:

ckID ( ckData ), câmpul ckSize (mărimea porţiei) fiind subînţeles (implicit). 

5/10/2018 Sunet, Audio, Video, WAV, AVI, Container, Etc - slidepdf.com

http://slidepdf.com/reader/full/sunet-audio-video-wav-avi-container-etc 6/10

 În aceeaşi manieră, o listă va fi reprezentată astfel: 

'LIST' ( listType ( listData ) )

Elementele opţionale 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 fişiere RIFF, la

fel ca şi formatul WAV , folosit de aplicaţii pentru captarea, editarea şi redarea s ecvenţelor audio -video. Deci, în

general , fişierul AVI conţine multiple fluxuri de date, atât audio, cât şi video, însă nu e necesar ca acestea să

apară împreună (exemplul unui clip fără sunet). 

Secţiunea ce urmează nu descri e formatul OpenDML AVI (aşa numit-ul "AVI 2.0" ), dezvoltat de compania

Matrox , ci doar specificaţiile Microsoft. 

Fişierele AVI s unt identificate după FourCC -ul „AVI ” (inclusiv spaţiul , al patrulea caracter) din antetul RIFF.

Toate AVI-uri le au cel puţin două liste esenţial e de „chunk-uri”, care conţin formatele fluxurilor, respectiv

fluxurile de date propriu-zis e. Un AVI poate avea, opţional, o porţie ce conţine locaţiile celorlalte porţii de date

din fişier. Atunci AVI-ul ar avea următoarea structură: 

RIFF ('AVI 'LIST ('hdrl' ... )

LIST ('movi' ... )['idx1' (<AVI Index>) ]

)

Aici, „hdrl” şi „movi” sunt ID-uri le celor două liste esenţia le despre care vorbeam. „hdrl” defineşte formatul de

date şi este prima listă necesară. „movi” conţine datele pentru s ecvenţa audi o-video şi este cea de-a doua listă

necesară. Porţia cu ID-ul „idx1” conţine indecşii. Fi şierele TREBUIE să aibă aceste trei componente în ordi ne.  

Listele „hdrl” şi „movi” au ca date subporţii (subchunks). Următorul 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>) ]

)

5/10/2018 Sunet, Audio, Video, WAV, AVI, Container, Etc - slidepdf.com

http://slidepdf.com/reader/full/sunet-audio-video-wav-avi-container-etc 7/10

 Antetul AVI principal

Lista „hdrl” începe cu sub-chunkul „avih” ( AVI header ), ce conţine antetul AVI principal, informaţii valabile

pentru întregul fişier AVI, cum ar fi numărul de fluxuri din fişier (en. streams  – spre exemplu, un fişier şi video şi

audio are două fluxuri), lăţimea şi înălţimea secvenţei AVI (în  pixeli ), numărul de microsecunde dintre cadre,

numărul total de cadre şi alte informaţii. Pentru mai multe detalii , urmăreşte li nkul

http://msdn.microsoft.com/en-us/library/ms779632(VS.85).aspx , unde este definită structuraAVIMAINHEADER.

 Anteturile fluxurilor AVI

După „avih” ( AVI main header ) urmează una sau mai multe lis te „strl”. Pentru fiecare flux de date (audio,

video) este nec esară o listă „strl”. O astfel de listă conţine informaţii despre fluxul asociat ei şi trebuie s ă aibă o

porţie pentru antetul fluxului ( „strh” – stream header chunk ) şi o porţie pentru formatul fluxului („strf ” – 

stream format chunk ). Opţiona l, o listă „strl” poate conţine porţi ile „strd” (stream header data chunk ) şi „strn”

(stream name chunk ).

Porţia cu ID-ul „strh” alcătuieşte o structură AVISTREAMHEADER . Pentru mai multe informaţii, urmează linkul

http://msdn.microsoft.com/en-us/library/ms779638(VS.85).aspx.

Porţia cu ID-ul „strf ” trebuie să urmeze imediat după „strh”. Acesta descrie formatul datelor din flux, deci

depinde de tipul a cestuia. Pentru fluxuri video, informaţia regăsită în porţia „strf ” alcătuieşte 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ă porţia „strd” este prezentă, atunci ea trebuie să urmeze porţiei „strf ”. Formatul şi conţinutul ei sunt

defini te de driver-ul codec. În general, driverele fol osesc i nformaţia din această porţie pentru configurări.

Aplicaţiil e care redau, creează sau modifică fişiere AVI nu au nevoie s ă interpreteze informaţia de aici. Ele doar

o transferă la sa u de la driver ca un simplu bloc de memorie.  

Porţia opţională cu ID-ul „strn” conţine un şir de caractere (cu caracterul nul la sfârşit) descriind fluxul.  

Anteturile fluxurilor din li sta „strl” sunt as ociate cu fluxuril e propriu -zise (datele audio sau video) di n lis ta

„movi” în funcţie de ordinea în care apar listele „strl”. Astfel, pri ma lista „strl” se aplică fluxului 0 , a doua

fluxului 1, şi aşa mai departe.  

Datele fluxurilor (lista „movi”) 

După toate informaţiile din antet, urmează lis ta „movi”, ce conţine datele propri u-zise, altfel s pus, cadrele

pentru fluxurile video şi sample-urile pentru fluxurile audio. Porţiile de date pot fi aşezate direct în conţinutul

listei „movi” sau grupate  în liste „rec ” ce sunt aşezate, bineînţeles în interiorul lui „movi”. Listele-grup cu ID-ul

„rec ” (li terele r, e, c, urmate de un spaţiu) sunt folosite pentru a determina aplicaţia de redare (orice AVI

Player) să citească datele din fişier 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ă, aşadar, o mulţime de sub-porţii , fie conţinând date audio, fie vizuale. ID-ul fiecărei sub-porţii

este un FourCC format din doi octeţi ce reprezintă index-ul fluxului de date de care aparţine (aici se ţine cont

de ordinea în care apar listele „strl” în fişi er) la care se adaugă două caractere ASCII ce definesc tipul de date

din porţie (deci în total 2+2=4 octeţi). În următorul tabel s unt prezentate cele două caractere ASCI I, a doua

 jumătate a Four -CC-ului.

Codul de 2 caractere Descriere

db Un cadru, pentru flux video necomprimat

dc Un cadru, pentru flux video comprimatpc Schimbare de paletă de culori 

wb Sample audio, pentru flux audio

5/10/2018 Sunet, Audio, Video, WAV, AVI, Container, Etc - slidepdf.com

http://slidepdf.com/reader/full/sunet-audio-video-wav-avi-container-etc 8/10

De exemplu, dacă fluxul cu indexul 0 conţine date audio, atunci chunk-urile despre care vorbim au FourCC-ul

„00wb”. Dacă fluxul 1 conţine date video, atunci FourCC-ul va fi „01db” sau „01dc”. Un sub-chunk cu ID-ul

„ xxpc” defineşte o actualizare (schimbare) a paletei de culori  în timpul derulării secvenţei AVI. Acest fel de sub -

chunk alcătuieşte 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 schimbări. După cum am precizat pe parcursul acestui document, antetul unui flux(„strh”) alcătuieşte o structură AVISTREAMHEADER . Câmpul dwFlags din structură trebuie să aibă s etată

caracteristica AVISF_VIDEO_PALCHANGES .

Pentru fluxurile de text  (existente şi ele într-un fișier AVI) nu se specifică niciun cod de 2 caractere. Se pot

utiliza combinaţii a rbitrare. 

Porţia AVI Index („idx1”)  

Această porţie este opţională, putând urma după lista „movi”. Conţine o listă cu ID-urile chunk-urilor de date

(cadrele, sample-urile audio), mărimea, locaţiile lor în fişier. În listă sunt incluse, de asemenea, şi grupurile de

chunk-uri de date, acele porţii „rec ”. Porţia „idx1” alcătuieşte o structură AVIOLDINDEX 

(http://msdn.microsoft.com/en-us/library/ms779634(VS.85).aspx). Dacă fişierul AVI conţine această porţiefinală, atunci câmpul dwFlags din s tructura AVIMAINHEADER (adică porţia „avih”) trebuie să aibă setată

caracteristica AVIF_HASINDEX.

Alte Chunk-uri pot fi cele cu ID-ul „JUNK”. Aceste sunt folosite pentru alinierea datelor în fi şierul AVI. O

aplicaţie ar trebui să ignore conţinutul unui astfel de chunk.

Sursă: http://msdn.microsoft.com/en-us/l ibrary/ms779636(VS.85).aspx 

DIGITAL VIDEO DATA (DV DATA) în fişierele AVI 

 În cele ce urmează va fi prezentată speci ficaţia Microsoft pentru stocarea digitală a secvenţelor video.Conformându-se la această specificaţie, fişierele AVI sunt şi vor compatibile cu versiuni curente şi vii toare ale

arhitecturii video pentru platforma Windows.

Articolul de faţă descrie structura AVI-urilor ce conţin DV data. Se definesc FourCC-uri specifice pentru fluxurile

DV data şi obiecte de comandă (en. handlers) p entru compresia /decompresia fluxurilor. De asemenea, se

defineşte structura unui flux de DV data şi se specifică cele două metode de stocare a DV data într-un fişier

AVI. Toate, în cele ce urmează… 

Există două tipuri de fişiere AVI: AVI -uri ce conţin un singur flux DV data (numite şi fişiere type-1) şi AVI-uri ce

conţin atât un flux „vids”, cât şi un flux „auds” (numite fişiere type-2).

// TODO: de tradus restul articolului http://msdn.microsoft.com/en-us/library/ms783421(VS.85).aspx

// *********************************************************************************

5/10/2018 Sunet, Audio, Video, WAV, AVI, Container, Etc - slidepdf.com

http://slidepdf.com/reader/full/sunet-audio-video-wav-avi-container-etc 9/10

WAVE Audio

Formatul WAV este o ramificaţie e specificaţiei RIFF a Microsoft,destinată păstrării fişierelor multimedia. Un fişier RIFF începe cu un antet 

( file header ) urmat de o secvenţă de porţ ii de date (data chunks). Unfişier WAV conţine o s ingură porţie, „WAVE chunk”, ce constă în douăsub-porţii (sub-chunks), „fmt ” (detaliile formatului) şi „data” (ce conţinesecvenţa audio propriu-zisă, sample-urile). Să numim construcţiaalăturată „forma canonică a unui fişi er WAV”.  

Tabelul următor prezintă câmpuril e ce compun un fişier de tip wav FĂRĂ

compresie, format PCM, adresele şi mărimile lor: 

Tipul de ordonare a

octeţilor 

Adresa – 

offset-ul (în

octeţi) 

Numele câmpului

Mărimea

câmpului (în

octeţi) 

Observaţii 

   A   n   t   e   t   u    l

   R   I   F   F

Big endian 0 Chunk ID 4 Literele „RIFF”, în format ASCII 

Little endian 4 Chunk Size 4Mărimea întregului fişier, minus 8 octeţi, mărimea

 însumată a primelor două câmpuri.  

   C   H   U   N   K  -   u    l   R   I   F   F   W   A

   V   E

Big endian 8Format (RIFF typeID)

4 Conţine literele „WAVE”, în format ASCII 

Big endian 12 SubChunk1ID 4 Literele „fmt ” (inclusiv un spaţiu) în ASCII 

   S   u    b   c    h   u   n    k  -   u

    l „

    f   m   t    ”

Little endian 16 SubChunk1 Size 4 16 pentru PCM, format necompresat 

Li ttle endian 20 CompressionCode 2Tipul de compresie folosit pentru Data, 1 pentruPCM

Little endian 22 Num Channels 2Numărul de canale, 1 pentru mono, 2 pentrustereo, etc.

Li ttle endian 24 Sample Rate 4 8000, 44100, etc.

Li ttle endian 28 BytesPerSec 4Valoarea expresiei:

Li ttle endian 32 Block Align 2Valoarea expresiei:

Li ttle endian 34 BitsPerSample 2 8, 16, 24 sau 32 de biţi pentru fiecare sample 

Big endian 36 SubChunk2ID 4 Literele „data”, în ASCII 

   S   u    b   c    h   u   n    k  -   u

    l

 „   d   a   t   a    ”

Little endian 40 SubChunk2 Size 4 , NumSamples

depinzând bineînţeles de durata secvenţei audio 

Li ttle endian 44 Data SubChunk2 Size Data audio propriu-zisă 

5/10/2018 Sunet, Audio, Video, WAV, AVI, Container, Etc - slidepdf.com

http://slidepdf.com/reader/full/sunet-audio-video-wav-avi-container-etc 10/10

Valori posibile pentru CompressionCode, al şaselea câmp din fişierul WAV:

Cod Hex Descriere Link

0 0x0000 Necunoscut

1 0x0001 PCM (fără compresie)  http://en.wikipedia.org/wiki/Pulse-code_modulation  2 0x0002 Microsoft ADPCM http://wiki.multimedia.cx/index.php?title=Microsoft_ADPCM  

6 0x0006 ITU G.711 a-lawhttp://en.wikipedia.org/wiki/G.711 7 0x0007 ITU G.711 µ-law

65,535 0xFFFF Experimental

Varianta completă a acestui tabel poate fi găsită  în articolul  http://msdn.microsoft.com/en-

us/library/ms867195.aspx. 

Iată un exemplu  de fişier WAV, în stânga este deschisă căsuţa de dialog Properties, iar în dreapta fişierul estedeschis cu editorul de text Notepad:

Pentru i nformaţii despre cele două tipuri de ordonare a octeţilor în cadrul unui cuvânt (WORD), veziurmătoarele articole: http://en.wiki pedia.org/wiki/Endianness http://betterexplained.com/articles/understanding-big-and-little-endian-byte-order/ 

De asemenea, poţi găsi informaţii utile pe următoarele linkuri:  http://en.wikipedia.org/wiki/Pulse-code_modulation- PCM, un mod de reprezentare digitală a s emnalelor

analogice, standardul pentru secvenţe 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://www-

mmsp.ece.mcgill.ca/Documents/AudioFormats/WAVE/WAVE.html . 

// TODO: de tradus articolul http://en.wikipedia.org/wiki/Flv + specificaţii ale Flash Video 

http://www.adobe.com/devnet/flv/pdf/video_file_format_spec_v10.pdf 

Formatele FLAC, MP3, etc.

Informaţii despre standardele MPEG.

// *********************************************************************************