Codarea video in formatul DivX
Gadget / 11.08.2003

Ce poate fi mai la moda decat formatul DivX? Aparut in urma cu 4-5 ani,a revolutionat conceptul de multimedia. A facilitat trecerea filmelorde pe diverse suporturi in format digital, bazandu-se pe puterea decalcul din ce in ce mai mare a calculatoarelor personale moderne. S-araspandit, spre nemultumirea unora, de pe o platforma pe alta, trecandde pe sistemele de operare Windows spre Linux, Mac OS si apoi catreaproape toate celelalte sisteme de operare.

Si in tot acest timp s-a maturizat, evoluand de la un codec obscur siaflat la limita legii, la un codec standard, care a dat numele sau uneiintregi clase de codecuri.


Istoria formatului Divx

Cel mai des se spune "Am un film in format DivX", desi, la drept vorbind,codecul DivX nu este singurul de genul lui. O intreaga suita de codecuriprecum Divx, Xvid, nAvi, 3ivx, bazate pe standardul MPEG4, sunt astazidenumite generic DivX de catre cei mai putin cunoscatori. Si toate acesteapentru ca liderul revolutiei a fost DivX. Istoria lui este destul desimpla. Motion Picture Experts Group - o grupare dedicata cercetarii indomeniul multimedia digital, creatoarea clasicului standard MPG, utilizatin deja demodatele VideoCD-uri, si MPEG2, utilizat in tehnologia DVD,a dorit crearea unui nou standard video care sa permita distribuireade fisiere video de foarte buna calitate live prin intermediulInternetului. Pentru aceasta era necesar sa fie creat un nou standardcare sa reduca la maximum posibil dimensiunea unui fisier video.Din aceste restrictii s-a nascut standardul MPEG4, care a surprins princalitatea imaginii oferita, comparativ cu dimensiunea fisierului. Pentruprima oara un film intreg putea incape pe un banal CD de 700Mb. Inaplicarea standardului MPEG4 se dorea impunerea de restrictii, asemeneafratelui sau mai varstnic, MPEG2, ce permitea codificarea continutuluipentru a aplica bine cunoscuta restrictie a zonelor DVD. Un grup deprogramatori insa a sesizat potentialul enorm al tehnologiei si amodificat codecul original MPEG4 de pe platformele Windows, pentru ascoate toate limitarile. Si, pentru a ironiza intentiile creatorilorcodecului original, ce doreau sa restrictioneze modalitatile de utilizareale codecului lor, l-au numit DivX ;-), dupa un sistem de inchirieri defilme denumit Divx ce existase cu ceva vreme inainte in Statele Unite sicare isi incheiase scurta cariera de nici doi ani cu un esec rasunator.


Ce este codarea?

Un fisier video contine doua componente: imaginea si sunetul. RezolutiaPAL standard prevede o definitie de 768x576 puncte si o frecventa acadrelor de 25 FPS (frames per second). Printr-un calcul matematic simpluputem observa ca informatia bruta pentru o singura secunda de inregistrarevideo digitala necomprimata, fara a pune la socoteala si sunetul, arfi necesari mai bine de 160MB spatiu de stocare, pentru un minut maibine de 9,6GB, iar pentru o ora un gigantic 576GB de spatiu. Ajunge samentionam ca la ora actuala a ora actuala cel mai incapator hard disk IDEdestinat PC-urilor produs la ora actuala este de 300GB si costa o micaavere. Atunci a trebuit inventata o metoda de codificare a informatieiintr-un fel care sa permita stocarea ei pe suporturile existente, fieele magnetice sau optice.


Cum se face codarea

O privire mai atenta la structura fiecarui cadru a relevat anumite aspectecare prezentau oportunitati nesperate pentru lumea digitala. Aproapeniciodata tranzitia de la un cadru la altul nu este brusca. Cu fiecarecadru are loc o modificare, in anumite locuri, a cadrului anterior. Asas-a ajuns la conceptul de "Key Frame" (cadru cheie) sau "I-Frames", si"Delta Frame" (cadru diferenta) sau "P-Frames". S-a constatat ca un fisiervideo poate fi construit pornind de la un cadru de inceput - key frame -foarte similar cu o fotografie JPEG, si apoi prin modificari succesiveaplicate acestuia. De aici si denumirea de delta frames - cadre diferenta,dupa cum am invatat cu totii la matematica semnificatia literei grecestidelta.

In practica insa, pentru a facilita cautarea intr-un fisier video,fisierul video a fost construit din serii de pachete alcatuite din keyframe-uri urmate de un numar de delta frames. Altfel, cautarea intr-unfisier video ar fi presupus trecerea prin toate delta frame-urile dela inceputul filmului si pana la pozitia solicitata, lucru care ar fiechivalat cu urmarirea filmului. Problema care mai ramanea de rezolvatera de a adapta rutinele de decodificare a informatiei astfel incataceasta sa poata fi facuta in timp real de calculatoarele medii.

Cum se poate face codare?

Pentru a coda un fisier video ai nevoie de doua lucruri esentiale. Uneditor video si un codec cu care sa faci codarea. Daca nu vrei sa umbliin lungul si in latul Internetului dupa un codec anume, poti rezolvaproblema mai simplu. Poti instala un pachet de codecuri, precum NimoCodec Pack sau ACE Mega CoDecS Pack. Atentie insa, unele codecurivenite cu aceste pachete pot fi mai vechi decat cele existente la tinepe calculator si pot genera unele incompatibilitati intre versiunile decodecuri si sistemul tau.
Pentru o editare video primara, si mai precis pentru o codarea fisierelor mai vechi in economicul format Divx poti folosimai multe editoare video. Dintre ele se distinge totusi unulaparte: VirtualDub. Dintre calitatile care il recomandaputem mentiona usurinta in utilizare si faptul ca este un exponent alcurentului Open Source, deci gratuit. Programul este rezultatul munciipe cont propriu a unui student nemultumit de optiunile pe care leavea in fata in ceea ce priveste captura si editarea video. De atuncia lucrat permanent la dezvoltarea acestui program, dezvoltand, dupaparerea multora, cel mai bun program gratuit de acest fel. VirtualDubiti permite sa deschizi fisiere de tip MPG si AVI, cu conditia ca pentrufisierele AVI sa fie instalate decodoarele care sa permita "citirea" lor.

Ghid de codare

Vom arata in continuare cum sa codezi un fisier MPG in format Divx,deoarece recomprimarea acestora permite o economie semnificativa despatiu.
Din meniul VirtualDub mergi la File/Open Video File, sau folosestecomanda rapida Ctrl+O. Din fereastra care apare selecteaza fisierul pecare doresti sa il codezi si apasa Open. Cand vei apasa Open, VirtualDubva face pentru fisierele MPG o scanare preliminara pentru a verificaintegritatea fisierului, apoi va fi pregatit pentru operatiunea decodare. Poti sa specifici programului sa iti permita si selectarea unoroptiuni avansate de deschidere a fisierului prin bifarea optiunii "Popupextended open options". Mergi apoi la Video/Compression. Din fereastracare se deschide, selecteaza din panoul din stanga codecul dorit. Incazul nostru am folosit Divx 5.0.5 Codec versiunea PRO add-ware,pentru a beneficia de optiunile suplimentare de care dispune aceastaversiune. Apasa apoi butonul Configure din dreapta paginii si vei fidus la setarile codecului Divx.

Controlu bitrate-ului

Din fereastra Bitrate Control aparuta, poti seta bitrate-ulcodarii. Acesta reprezinta numarul de biti (antentie, un octet - saubyte - are 8 biti) care vor fi alocati pentru o secunda de secventavideo, adica pentru 25 de cadre pentru fisierele video in standard PALsi pentru 29,97 cadre pentru fisierele video in standard NTSC. Valoareade la Encoding Bitrate este responsabila de dimensiunea finala si decalitatea fisierului codat.
Experimenteaza pana gasesti valoarea care da rezultatele cele mai bune. Ovaloare mica va duce la o dimensiune finala a fisierului mica, dar sila o calitate slaba a imaginii, pe cand una mare va duce la o calitatebuna, dar si la o dimensiune exagerata. Nu poate fi precizata o valoareexacta a bitrate-ului necesar pentru a obtine o dimensiune si o calitatedorita, deoarece foarte multi factori subiectivi sunt implicati, precumrezolutia fisierului video si gradul de miscare din secventa video. Potifolosi programe de tipul "bitrate calculator", care iti indica o valoareaproximativa a acestei valori pentru a obtine un fisier de dimensiuneadorita, dar acestea nu pot prezice calitatea fisierului codat cu acestbitrate. Experienta te va invata sa aproximezi cu precizie destul demare valorile necesare pentru a obtine un fisier cu o calitate bunaa imaginii. Pana atunci, insa, va trebui sa faci mai multe incercarisuccesive pentru a gasi cea mai buna valoare.

Parametrii generali

Din fereastra Bitrate Control treci in fereastra General Parameters. Aiciai disponibile o serie de optiuni. Aici gasesti optiunile Max Keyframeinterval si Scene change threshold. Prima setare specifica lungimeamaxima, in numar de cadre, a pachetului keyframe - delta frames. Adoua optiune, o inovatie a versiunilor DivX 5.0, specifica ca atuncicand schimbarea intre doua cadre este mai mare de procentul specificat,indiferent daca se indeplineste limita de la Max Keyframe interval, va fiinserat automat un alt keyframe. Acest lucru ajuta foarte mult procesorulla decodare si imbunatateste calitatea, deoarece aplicarea unui deltaframe pentru scenele cu schimbari masive de continut ar ocupa si multprocesor si nici nu ar putea sa ofere o calitate prea buna a imaginii.O alta setare importanta este Source Interlace. Cu acesta optiune DivX aintrat intr-o categorie foarte selecta de codecuri, ce permit si codareafisierelor progresive dar si a fisierelor intretesute, un mod specific decodificare a imaginii video pentru televiziune. Pentru codarea formatelorMPG este necesara alegerea optiunii Encode as progressive, deoareceacest format nu permite stocarea informatiei in format intretesut.Mai poti gasi aici si alte posibilitati de setare a calitatii codarii, dardin experienta noastra efectul aplicarii lor nu are efecte semnificativeasupra rezultatului. Cat despre posibilitatea de a face resize si crop,acestea pot fi facute mai rapid si cu un rezultat mai bun calitativ dinVirtualDub, adaugand filtre la procesarea video.

Profile

In fereastra Profiles poti gasi niste optiuni care afecteaza semnificativcalitatea imaginii. Pentru a putea face setarile la acestea manual,debifeaza intai casuta Choose your profile. Aceasta este destinataasigurarii compatibilitatii cu diverse playere DivX, de genul celorportabile sau Home DVD/DivX player. Acest gen de playere nu exista inca,producatorii codecului incercand sa-l impuna pe piata la ora actuala, asaca nu are rost sa te conformezi restrictiilor impuse de aceste profile.Iata si o explicatie pe scurt a celor trei optiuni disponibile:

1. Use Quarter Pixel afecteaza finetea cu care este facutacodificarea. Pentru a fi codata, fiecare imagine este impartita intr-ogrila de patrate cu dimensiunea de 16x16 puncte. In acest fel, in functiede miscarea ce are loc in cadru, o patratica de acest fel poate fi mutatacu modificari minore acolo unde se regaseste in cadrul urmator. Aceastasetare permite creare de patru blocuri virtuale intr-un ochi al grilei,permitand o redare cu mai mare acuratete a miscarii.

2. Use GMC nu spune probabil mare lucru. GMC este prescurtarea dela Global Motion Compensation. Aceasta optiune permite codificareasecventelor video complexe cu zoomuri si panoramari multe la o calitatemai buna.

3. Use Bidirectional Encoding este poate cea mai revolutionara dintreoptiunile pe care le permite DivX. Aceasta introduce un concept nou pentrucodecurile MPEG4 existente, numit cadre bidirectionale. Aceste permitdefinirea unui cadru nu neaparat ca o modificare a cadrului anteriorci ca o modificare a unui cadru ce urmeaza sa fie afisat. Conceptul,denumit B-frames, este mai vechi in teoria procesarii video digitale,dar DivX 5.0 a fost primul codec care a implementat aceasta functie. Prinaceasta tehnica codecul poate asigura o dimensiune mai mica a fisierului,sacrificand putin din puterea de procesare a calculatorului.Dupa ce ai terminat de facut toate setarile in DivX, confirma-le apasandOK atat in fereastra de configurare a DivX cat si in cea de configurarea codecului a VirtualDub.

Codarea sunetului

Fisierul video nu poate fi complet fara coloana sonora aferenta. Asa camergi la optiunile Audio. In mod implicit VirtualDub copiaza coloanasonora a fisierului original, dar pentru fisierele MPG, aceasta estedecodata in format wave, foarte mare ca dimensiune, si inserata infisierul rezultat. Solicita editorului video sa prelucreze si parteaaudio bifand optiunea Audio/Full Processing Mode.

Apoi mergi la Audio/Compression si selecteaya codecul pe care dorestisa il utilizezi. Cel mai comun este utilizat codecul MP3, dar versiuneastandard cu care vine Windows-ul are anumite restrictii. De aceea vatrebui sa instalezi un alt codec fara restrictii, precum Radium MP3Codec sau Lame. Odata selectat codecul MP3, vei putea alege bitrate-uldorit pentru codarea sunetului. Atentie insa, daca sunetul original estestereo sau are un sampling rate de 44100 Hz nu il vei putea coda decat laacesti parametri. Daca doresti schimbarea lor, trebuie sa faci setarilede rigoare in meniul de la Audio/Conversion, unde vei putea schimbasampling rate-ul sau vei putea tece sunetul in format mono. Dupa ceai terminat aceste setari, asigura-te ca atat la Video cat si la Audioeste setat modul Full Processing Mode. Apoi mergi la File/Save as AVI siindica unde vrei sa fie pus fisierul codat. Cand vei apasa OK va incepeprocesul de codare a fisierului, conform parametrilor specificati detine la Video si la Audio.

Sfaturi de final

Experimenteaza cu codecurile pe care le ai la dispozitie. Desi majoritateacodecurilor MPEG4 produc un rezultat similar ca format, fiecare folosestetehnici de codare diferite. Incearca sa vezi care este cel mai bun codecpentru fiecare gen de secvente video. Nu intotdeauna DivX produce celemai bune rezultate. Ultimele versiuni ale codecului Xvid sunt de asemeneafoarte bune in ceea ce priveste calitatea codarii.
Daca doresti sa codezi fisierele MPEG2 pe care le-ai capturat cuTV-Tunerul tau, trebuie sa stii ca exista o versiune modificata aVirtualDub, numita VirtualDub MPEG2, versiune care exista datoritafaptului ca VirtualDub este Open Source iar un programator a modificatcodul sursa (disponibil gratuit), pentru a include suport pentru acestformat.

Dupa acesti primi pasi in codarea video, poti experimenta diferitetehnici de codare. Poti aplica fisierului codat diverse filtre care potimbunatatii rezultatul final sau ii poti modifica rezolutia. Internetulabunda in sfaturi care te pot ajuta sa devii in timp un expert in artaprelucrarii video. Ai nevoie doar de rabdare pentru a invata subtilitatileimplicate de acest proces.
Urmăreşte-ne pe Facebook pentru ultimele noutăţi Eva.ro