Tehnici de compresie și editare video



Yüklə 0,73 Mb.
tarix03.11.2017
ölçüsü0,73 Mb.

Tehnici de compresie i editare video.
1. Obiectivul lucrării

Scopul acestei lucrări este familiarizarea cu noţiunile legate de codecuri, formate media, precum i cu diverse tehnici i operaţii de editare video.


2. Introducere teoretică

2.1. Caracteristici generale ale imaginilor video
2.1.1. Rezoluţia de afişare
Aceasta se traduce prin măsura dimensiunii imaginii video reprezentate.

Măsurarea se face diferit în funcţie de destinaţia materialului video.

Astfel, în cazul analogic, avem o dimensionare de 720/704/640×486i60 (NTSC) şi

768/720×576i50 (PAL sau SECAM), unde 720/704/640, respectiv 768/720, se referă la rezoluţia orizontală, pe când 486 şi respectiv 576 se referă la rezoluţia verticală din domeniul vizibil (în realitate, există 525 şi respectiv 625 linii de explorare). Notaţiile i60 şi i50 reprezintă timpul de scanare (întreţesută, i) şi numărul de cadre pe secundă (60 ,

respectiv 50). În acest caz particular, se referă la numărul de semicadre/secundă (în realitate, se percep 29.97 şi, respectiv, 25 de cadre pe secundă).
În cazul digital, dimensiunea imaginii se măsoară în pixeli. Un pixel reprezintă cea mai mică unitate constituentă a unei imagini ce poate fi controlată/manipulată. Dimensiunile imaginilor video digitale sunt extrem de variate, putând exista în principiu orice combinaţie de dimensiuni de NxM (unde N reprezintă rezoluţia orizontală, M pe cea verticală, iar cele două valori sunt întregi)
2.1.2. Frame rate(numarul de fotograme pe secundă)
Experimental, s-a constatat că, pentru a da senzaţia de mişcare şi pentru “a păcăli”

ochiul uman, este necesară o succesiune de minimum 15 cadre pe secundă.

În mod uzual, rata de cadru (frame rate) variază în funcţie de sistemul de înregistrare şi emisie a imaginilor, de la câteva cadre pe secundă, la peste 10000 cadre/secundă. Astfel, sistemele PAL şi SECAM folosesc o rată de cadru de 25 cadre/secundă (frames/second), sistemul NTSC o rată de 29.97 cadre/secundă. În cinematografie, se folosete în general o rată de cadru de 24 fotograme/secundă.


2.1.3. Explorarea imaginii (scanarea).

Imaginile pot fi înregistrate/reprezentate prin două metode:

Intretesute

Explorarea orizontală a imaginilor se face plecând de la ideea împărţirii imaginii

(cadrului) în două câmpuri de linii de explorare: un câmp ce conţine liniile impare (odd field) şi un câmp ce conţine liniile pare (even field ). Mai simplu spus, fiecare cadru este format din două “imagini” distincte care, întreţesute, formează imaginea reală derivată din imaginea măsurată în scenă (poate fi identică sau modificată ulterior prin diverse metode).

1

Scanare progresiva



Cadrul este explorat linie cu linie; fiecărui cadru îi corespunde o imagine ”întreagă”

derivată din imaginea măsurată în scena reală.


2.1.4. Spaţiul de culoare.

În domeniul video, un punct de pe ecran (pixel) este reprezentat prin suma a trei culori (Red, Green, Blue). În domeniul digital, a luat astfel naştere spaţiul de culoare RGB, spaţiu în care fiecare valoare este stocată pe 8 biţi şi, deci, un singur pixel ocupă în total 24 de biţi. În domeniul TV digital, pentru compatibilitatea cu formatul alb-negru şi optimizarea lăţimii de bandă a semnalului transmis, este adoptat standardul conform căruia luminanţa, notată cu Y (reprezintă cantitatea de lumină a fiecărui pixel şi luată singură formează o imagine alb-negru), este stocată pe 8 biţi, iar informaţia de culoare este stocată prin două diferenţe de culoare transmise alternativ (notate U şi V), cea de-a treia urmând să fie calculată matematic la recepţie (este redundantă şi poate fi obţinută rapid din celelalte trei informaţii, rezultând astfel RGB-ul complet). Principiul se bazează pe faptul că ochiul uman observă (neintenţionat) de trei ori mai bine luminozitatea decât cromatica, motiv pentru care culoarea permite mai uşor o reducere de calitate. Această modalitate a dat naştere, în domeniul digital, spaţiului de culoare YUV, spaţiu care ocupă numai 16 biţi pentru un pixel.



2.2. Codecuri
In general, în ceea ce priveşte codec-urile, lucrurile stau puţin confuz, deoarece, de cele mai multe ori, nu se face diferenţierea între codec, format video, wrapper şi container

(în limba română container).

Pentru a înţelege mai bine ce este un codec şi cum funcţionează, cel mai bine este să

pornim de la etimologia acestui cuvânt. Astfel, termenul codec provine atât din cuvintele

(expimate în limba engleză) COmpression/DECompression (compresie/ decompresie), cât şi din enCOding/DECoding (codificare/decodificare). Ştiind acestea, este uşor de presupus ce este acela un codec.

In realitate, partea cea mai importantă sau definitorie în ceea ce privete un codec este cea de codificare/decodificare şi mai puţin cea de compresie/decompresie, materialul video putând exista şi necomprimat.

2

Codificarea se referă, în primul rând, la conversia informaţiei într-un cod cunoscut. Cel mai simplu exemplu pentru a înţelege acest lucru ar fi codul Morse care asociază fiecărei litere un set de convenţii de transmitere a acestora.




2.2.1 Compresia Video
Compresia video se realizează ţinând cont de mai mulţi factori: calitate, spaţiu hardware ocupat, costul blocurilor hardware folosite la decompresie, de aceea majoritatea materialelor video sunt comprimate folosind algoritmi cu pierderi.

Compresia cu pierderi oferă la decompresie date diferite de cele originale, însă suficient de bune pentru a putea fi utilizate, pe când cea cu pierderi oferă la ieşire date identice pixel-cu-pixel cu cele originale. Aceasta este folosită pentru materiale multimedia destinate aproximativ tuturor domeniilor, ca de exemplu video-telefonia, media streamingului şi, de ce nu, în domeniul multimedia piratat.

Cele mai importante tehnici de compresie video sunt: interframe (între-cadre) şi

intraframe (în cadru).

Compresia interframe realizează compresia cadrului actual prin comparaţie cu cadre anterioare sau viitoare în ideea că aceste cadre conţin într-o foarte mare măsură aceeaşi informaţie, informaţie ce poate fi copiată de la un cadru la altul. Se aplică materialului video ce urmează doar a fi vizionat.

Compresia intraframe realizează direct compresia cadrului, putând fi comparată cu compresia imaginilor. Se aplică materialului video ce ulterior compresiei va suferi editări.



2.2.2. Codecuri cu pierderi (lossy)
2.2.2.1. Codecul Indeo
Codecul Indeo poate fi considerat unul dintre pionierii codecurilor actuale. A fost creat de compania Intel ca parte derivată a proiectului DVI (Digital Video Interactive) pentru a comprima material video de calitate tv şi a fi ulterior rulat pe un calculator, la viteză (rata de cadru) normală, fără necesitatea unei accelerări hardware suplimentare. Aceasta a realizat mai multe premiere, fiind primul codec cu implementare exclusiv software la calitate video înaltă, primul codec care a putut rula pe mai multe sisteme de operare (Windows, Mac OS şi o serie de OS-uri proprietate IBM).

Din punct de vedere structural şi constructiv, acesta a trecut prin multe transformări de-a lungul anilor. Primele versiuni aveau o construcţie puternic asimetrică, în sensul că, pentru a coda un fişier video, era necesară foarte multă putere de calcul şi acceleratoare hardware suplimentare, decodarea şi rularea putându-se face pe orice calculator normal.

Tot de-a lungul anilor, s-a trecut de la o codare simplă (diverse metode de

cuantizare) la una foarte puternică şi eficientă, transformata wavelet.

Codecul Indeo Video suferă foarte mult la capitolul securitate, fiind o poartă de vulnerabilitate a sistemelor de operare. Din păcate, atât proprietarul original (Intel), cât şi

cel actual (Ligos) au anunţat că nu vor rezolva aceste probleme, prin urmare, pe sistemele de

operare pe care se mai regăseşte, acesta este implicit dezactivat.

Din punct de vedere al popularităţii, aceasta a fost foarte mare în anii ­90 pierzând însă teren în faţa unor codecuri precum MPEG sau H.263. Actualmente, mai este utilizat de o serie de aplicaţii (ex Matlab) sau jocuri mai vechi.


3

2.2.2.2. Codecul Cinepak


Deşi extrem de puţin cunoscut, poate chiar anonim, în zilele noastre, Cinepak poate fi considerat pilonul codecurilor moderne. Dezvoltat la începutul anilor ­90, iniţial de Apple Computers şi ulterior de Microsoft, acest codec se identifică prin codul FOURCC, „cvid­. Dezvoltarea a început cu o versiune pe 16 biţi, urmată de una pe 32. Codarea se face folosind o metodă de cuantizare vectorială. Fişierele video se împart în imagini ce urmează a fi codate/decodate pe blocuri de dimensiune 4x4 pixeli, folosind la reprezentare un spaţiu cu 256 de culori. Marele dezavantaj al codecului era dat de modul foarte lent de codare, lucru sporit şi de lipsa de performanţă (după standardele actuale) a majorităţii sistemelor PC de la acea vreme. Ulterior, ca minus, a fost identificată şi rezoluţia maximă suportată pentru fişierele de ieşire, mai exact 320x240. Actualmente, codecul mai este utilizat pentru rularea de material video pe unele terminale telefonice mobile.


2.2.2.3. x264
Nu este neapărat un codec, ci mai degrabă o bibliotecă software destinată codării fluxurilor audio video. A fost special creată pentru codarea şi încapsularea materialului video în formatul/standardul H.264/AVC.

În momentul de faţă, este cel mai puternic codec utilizat de standardul H.264 permiţând lucruri precum codare întreţesută, codare entropică de tipul CABAC, codare pe blocuri de dimensiuni 8x8 şi 4x4, codare predictivă fără pierderi şi altele.



2.2.2.4. DivX
Numele DivX se referă la o gamă mai largă de produse, însă în această lucrare va fi tratată decât familia de codecuri. În principiu, este vorba despre două codecuri versiuni proprii DivX ale mult mai popularelor codecuri MPEG-4 Part2 şi o H.264/MPEG-4 AVC. DivX este un codec asociat foarte mult cu “ripping” audio-video (transcodarea ilegală de material audio video pe suport hard disk).

Există mai multe versiuni DivX, fiecare specializată pentru un format media:

 DMF (DivX Media Format) este o versiune DivX special creată pentru media formatul cu acelaşi nume, format proprietate DivX Inc. Codarea se face folosind standardul MPEG-4 Part2.
 DivX Plus HD este o altă versiune, de această dată creată pentru formatul Matroska. Faţă de DMF, această versiune foloseşte pentru codarea video standardul H.264, iar pentru codarea audio codare surround AAC.

2.2.3 Codecuri fara pierderi (lossles)

2.2.3.1. Dirac
Acesta este un codec cu caracter open-source (gratis, modificabil) dezvoltat de BBC. Dezvoltarea sa a fost strâns legată de Olimpiada din 2008, mai precis de transmiterea acesteia în format HD (Inaltă rezoluţie). Codecul Dirac, suportă rezoluţii până la valoarea de 1920x1080 pixeli, rate de bit constante sau variabile, dar şi compresie cu pierderi.

4

Spre deosebire de majoritatea codecurilor, acesta folosete tranformata wavelet în locul transformatei DCT, fapt ce, potrivit producătorilor, îmbunătăţete semnificativ rata de date, precum şi calitatea compresiei.



Codecul se vrea a fi un „jucător­ serios pe această piaţă, de aceea poate fi încapsulat în majoritatea containerelor format, ca de exemplu AVI, Ogg sau MKV.


2.2.3.2. Huffyuv
Denumit şi HuffYUV, acesta este unul dintre cele mai populare codecuri video, ce are menirea de a înlocui codarea necomprimată ce utilizează spaţiul de culoare YCbCr. Deşi numele conţine YUV, s-ar crede că acest spaţiu de culoare este utilizat, dar în realitate, se utilizează o codare a culorii de tipul YCbCr. Din punct de vedere al algoritmilor de codare, se folosesc codarea Huffman şi o codare similară celei folosite la codarea JPEG fără pierderi.

2.2.3.3. Lagarith
Dezvoltat de către Ben Greenwood, acest codec cu caracter open source a fost creat pe de-o parte pentru a acoperi lipsurile din domeniul spaţiului de culoare întâlnite la Huffyuv şi pe de-altă parte pentru a oferi o codare similară ca rapiditate cu acesta din urmă. Spaţiile de culoare suportate de acesta sunt: YV12, YUY2, RGB şi RGBA. Tot ca un avantaj, Lagarith oferă o codare pe keyframe-uri (cadre cheie) ce fac din materialele astfel codate unele foarte uşor de editat.
O perspectivă asupra codecurilo video actuale (2010) se găsete în tabelul alăturat:


Codec Creator/ Proprietar

Libtheora


Data primei emiteri publice

2002-


Ultima versiune stabilă
1.1.1

Licenţa


Metoda de compresie patentată
Metoda de compresie


(Theora) Xiph.org
09-25
(2009) BSD-style niciuna Cu pierderi

MPL 1.1,


Dirac-research

(Dirac) BBC

2008-

09-17


1.0.2

(2009)


GNU GPL

2, GNU LGPL 2.1

MPL 1.1, GNU GPL
niciuna
Cu pierderi/

fără pierderi



Schrödinger

(Dirac)

David

Schleef



2008-

02-22

1.0.9

(2010)



2, GNU LGPL 2, MIT License
niciuna

Cu pierderi/

fără pierderi


X264 Echipa x264 2003 r1376

(2009) GNU GPL

Xvid Echipa Xvid 2001 1.2.2

MPEG-4

AVC/H.264



MPEG-4
Cu pierderi/

fără pierderi





(2009) GNU GPL

ASP Cu pierderi

5

FFmpeg

(libavcodec)



FFavs
Echipa

FFmpeg 2000

0.5.1

(2010)


GNU LGPL

GNU


MPEG-1, MPEG-2, MPEG-4

ASP, H.261, H.263, VC-

3, WMV7, WMV8, VP5, VP6, MJPEG etc.

MPEG-1, MPEG-2,


Cu pierderi/

fără pierderi

Cu pierderi/

(libavcodec) Echipa FFavs 2009 0.0.3

Forbidden

LGPL

MPEG-4


ASP etc.
fără pierderi


Blackbird
Technologies plc

2006-


01
2 proprietar Blackbird Cu pierderi


DivX DivX, Inc. 2001 7.0

(2009) proprietar

MPEG-4


ASP, H.264 Cu pierderi

DivX ;-)


Versiune modifi-cata a codecului Microsoft MPEG-4v3

3ivx

1998

3.20


alpha

(2000)


proprietar
Microsoft

MPEG-4v3


(nu MPEG-

4)
Cu pierderi



3ivx
Technologies

Pty. Ltd.



2001 5.0.2

(2007)
proprietar MPEG-4

ASP
Cu pierderi


Nero Digital Nero AG 2003 necunosc

uta proprietar

MPEG-4


ASP, H.264 Cu pierderi

ProRes 422 /

ProRes 4444 Apple Inc. 2007 proprietar necunoscuta Cu pierderi

Sorenson

Video


Sorenson

Spark


Sorenson

Media 1998 proprietar

Sorenson


Media 2002 proprietar

Sorenson


Video Cu pierderi

Sorenson


Spark Cu pierderi

VP3 On2

Technologies 2000 Stilul BSD niciuna Cu pierderi

VP4 On2

Technologies 2001 proprietar VP4 Cu pierderi

VP5 On2

Technologies 2002 proprietar VP5 Cu pierderi

VP6 On2

Technologies 2003 proprietar VP6 Cu pierderi

VP7 On2

Technologies 2005 proprietar VP7 Cu pierderi

VP8 On2

Technologies 2008 Stilul BSD VP8 Cu pierderi

DNxHD Avid



Technology 2008 proprietar VC-3 Cu pierderi

Cinema Craft

Encoder SP2

Custom Technology Corporation

2000
1.00.01.0

9 (2009)


6

proprietar

MPEG-1,

MPEG-2 Cu pierderi


TMPGEnc


Free Version Pegasys Inc. 2001

Windows


2.525.64.

184


(2008)

9 (2003)


proprietar
MPEG-1, MPEG-2

Cu pierderi



Media

Encoder

Cinepak

Microsoft 1999



SuperMac/ Compression
(WMV3 in FourCC)

1.10.0.26


proprietar WMV, VC-

1,
Cu pierderi





Indeo Video

Technologies, Inc.

Intel

Corporation/


1991

(1999) proprietar necunoscuta Cu pierderi


Ligos

Corporation

TrueMotion S The Duck

1992 5.2 proprietar Indeo Video Cu pierderi

TrueMotion


Corporation 1995 proprietar

S Cu pierderi

RealVideo RealNetwork

s 1997

Model:


RealVide

o 10 proprietar

Model:


H.263,

RealVideo Cu pierderi


ACT-L3 Streambox
02-21-

03

3.4



(2009)

proprietar necunoscuta Cu pierderi




Huffyuv Ben Rudiak-

Gould 2000

2.1.1

(2003)


GNU GPL

2 niciuna

Fără pierderi



Lagarith Ben

Greenwood

2004-

10-04


1.3.20

(2009)


GNU GPL

2 niciuna

Fără pierderi




2.3. Media container
Format, wrapper şi container se referă, în principiu, la acelaşi lucru, şi anume, la o entitate software ce conţine în interiorul ei unul sau mai multe fluxuri de date codate. Diferenţa dintre cele trei apare la tipurile de codec-uri conţinute, mai exact, format video se referă la o entitate ce conţine doar un singur tip de codec (sau familie de codec-uri), iar celelalte două pot conţine mai multe tipuri de codec-uri (familii de codec-uri). Ca un exemplu, formatul Windows Media Video(.wmv) are încorporate doar codec-uri din familia Windows Media Codecs. Formatul, sau mai bine zis wrapper-ul, QuickTime, se poate folosi de mult mai multe codec-uri, precum DV, MPEG2, şi altele.


2.3.1. AVI
AVI sau Audio Video Interleave este un format container proprietate Microsoft, introdus pe piaţă în urmă cu aproape 20 de ani, ca parte a proiectului Video for Windows. De atunci şi până acum, acesta şi-a căpătat reputaţia de cel mai popular format media din lume. Un mare rol l-a avut şi pirateria, acesta fiind formatul preferat de majoritatea celor care piratează fişiere audio- video.
7


Din punct de vedere tehnic şi funcţional, ceea ce a dus la acest titlu este, în principal, capacitatea de stocare internă atât a caracteristicilor audio, cât şi a celor video, la o calitate decentă şi cu un consum de spaţiu fizic pe hard disk redus. Evident, acesta permite rularea sincronizată a celor două (audio-video); în plus, marea majoritate a fişierelor AVI permite flux multiplu audio-video.

La nivel de codecuri folosite, formatul media, AVI, permite stocarea informaţiei, folosind o gamă foarte largă de astfel de produse software. Printre cele mai populare şi mai des folosite, se numără DivX, Cinepak, Indeo, DV, MJPEG pe partea de video şi MP3, MS ADPCM



(Microsoft Adaptive Differential Pulse Code Modulation) pe partea de audio. Pe lângă acestea, fişierele de tipul AVI mai pot stoca şi informaţie necomprimată cu reprezentare RGB sau YUV2 a culorilor pentru partea de imagini şi PCM (Pulse Code Modulation) necomprimat pentru audio.

Pe lângă versiunea originală Microsoft, mai există şi o versiune ce încorporează extensiile de format create de grupul Matrox OpenDML şi care se bucură de aprobarea tacită a Microsoft. Neoficial, această versiune este numită AVI 2.0.




2.3.2. MPEG-4
MPEG-4 reprezintă o tehnologie de compresie dezvoltată de MPEG şi reglementată prin standardul ISO/IEC 14496-2. La nivel de concept şi funcţionare, se aseamănă cu alte produse din familia MPEG, şi anume MPEG-1 şi MPEG-2, mai ales din puct de vedere al standardului de compresie utilizat, fiind vorba despre transformata cosinus discretă.

Faţă de versiunile anterioare apar îmbunătăţiri la mai multe captitole; este îmbunătăţită eficienţa codării, oferă suport pentru codarea mixtă, include un mecanism mai eficient de corecţie a erorilor, şi altele.

Ca şi la celelate produse similare (MPEG-1 şi MPEG-2), structurarea se face pe mai multe

părţi/nivele îmbunătăţite de la o versiune la alta.

În imaginea de mai jos, sunt prezentate aplicaţiile uzuale ale codecurilor din familia MPEG.

2.3.3. Matroska

Matroska este un format media, open source, ce, în teorie, poate conţine un număr nelimitat de fişiere audio, video, imagini şi text. Proiectul este unul foarte futurist, dorindu-se a fi formatul media al viitorului. În sprijinul acestei afirmaţii stau mai multe caracteristici ce nu sunt întâlnite la prea multe formaturi media acutale. Printre acestea se regăsesc următoarele:


8

 Posibilităţi de cautare rapidă prin fişier fară blocaje în flux.

 Intrări pentru capitole.

 Suport total pentru metadata (marcaje).

 Posibilitatea de alegerea a fluxului audio,video sau text.

 Construcţie modulară cândită pentru expansiunea produsului.

 Algoritmi de corecţie a erorilor din fluxul de date (audio, video sau text).

 Suport pentru transmiile pe Internet.

 Suport pentru mediul (funcţie similară celei implementate pe DVD).

2.4. Editoare video
Odată cu invenţia aparatelor de captare video, au apărut şi primele tehnici de editare video. Dacă inţial editarea se făcea la nivel fizic, lucrându-se direct cu rolele de film, astăzi, datorită tehnicilor moderne de captare a imaginilor şi de aconversie din analog în digital, marea majoritate a editării video se face computerizat, utilizând diverse unelte software.

Tehnica folosită azi în editarea video a filmelor de orice fel şi în postproducţia TV este NLE

(Non-linear editing, editare ne-liniară), tehnică digitală ce presupune accesarea oricărui cadru dintr-un material video digital cu aceeaşi uşurinţă. Tehnic vorbind, este similară conceptului de

“taie şi lipeşte (cut and paste)”, folosit în editarea video clasică. Avantajul major este acela că nu este un proces distructiv, neexistând role de film ce pot fi stricate (tăiate) în timpul montajului. Tot în categoria avantajelor, se înscriu flexibilitatea, portabilitatea (procesarea putându-se face pe orice PC sau Notebook pe care a fost instalat în prealabil un software de editare video), accesul uşor la proiecte, posibilitatea de a procesa material video de joasă sau înaltă rezoluţie, dar şi uşurinţa cu care se poate naviga între proiecte.

Deşi nu este la fel de populară ca editarea foto, pentru care există o foarte mare varietate de unelte software, de la cele consacrate, precum Adobe Photoshop, Corel Draw, la unele mai puţin populare, ca Adobe Fireworks, sau chiar rudimentare, ca Microsoft Paint, editarea video începe să capete din ce în ce mai multă popularitate la nivel mondial, mai ales datorită dezvoltării tehnologice care a atras după sine preţuri tot mai mici pentru camerele video low- end şi de uz familial. Odată cu cererea de camere video, a crescut şi cererea de produse software pentru editarea acestui material video. Primul pas în acest domeniul l-au facut cei de la Editing Machines Corp, în anul 1989, cu plaforma EMC2, urmaţi la foarte scurt timp de cei de la Avid, cu produsul Avid/1, produs care lucra pe o platforma de Macintosh II. Au urmat cei de la Adobe, care, în anul 1991, au lansat Adobe Premiere 1.0, produs care lucra tot pe o platformă

Macintosh. Ultimul produs notabil lansat a fost Final Cut, în anul 1999, de către cei de la Apple. Cinelerra, Edius, CyberLink PoweDirector, FORscene, Media100, AfterEffects, Sony Vegas şi altele sunt de asemenea produse software de editare video , însă nu la fel de populare ca cele

trei (Avid, FinalCut, Premiere), care formează aşa numitul A-Team (Adobe-Apple-Avid). Mai este de remarcat Virtual Dub, un software foarte puternic şi gratuit. Un aspect comun al tuturor editoarelor video profesionale este EDL-ul (edit decision list, lista deciziilor de editare), care memorează “deciziile” luate de un editor asupra materialului procesat, acest EDL putând fi interschimbat şi cu alte software-uri de editare video.

Pe lângă aceste unelte de editare video, mai există o altă categorie de produse software destinate compresiei fişierelor video. Aceste unelte permit schimbarea formatului unui fişier video prin recomprimarea acestuia după algoritmul codecului dorit.

9

3. Descrierea aplicaţiei

Iniţializare

Iniţializarea (pornirea aplicaţiei) se face accesând fişierul EditorVideo.m. În momentul în care acest fişier a fost încărcat, se va tasta F5. Pe ecran va apărea ferestra de lucru (interfaţa grafică):




Descriere/Utilizare

După cum uşor se poate observa aplicaţia este împărţită în mai multe zone de lucru: Zona de Iniţializare , Zona de Afisare, Zona de Navigare Rapida, Zona de Taiere, Zona de Achiziţie cameră web, Zona de Comprimare, Zona Alb-Negru, Zona de Instantaneu, Zona Uniune Fisiere şi Zona de Navigare Cadre.

Se observă, de asemenea, că interfaţa şi un meniu principal cu trei categorii: File, Transformari şi Ajutor.

Toate acestea (zone si meniu principal) vor fi detaliate din punct de vedere funcţional în cele ce urmează.



Caracterizare Zone.


Zona Afisare.
Reprezintă partea constituentă a aplicaţiei în cadrul căreia se face afişarea cadrelor curente

din materialul video de prelucrat.


10

Din punct de vedere constructiv, aceasta prezintă o zonă utilă de afiare de valoare 584*



438 pixeli (orizontal x vertical).

Iniţializarea zonei se face odată cu încărcarea unui material video. Primul cadru din acel material va fi afişat. Implicit (fără deschiderea unui fişier) va fi afiat un mesaj referitor la aplicaţie.


Zona de Iniţializare


Este caracterizată de două regiuni, aşa cum se poate observa i în imaginea alaturată.

Prima regiune denumită Deschide fişier are rolul de a încărca în memoria sistemului un fişier la alegerea utilizatorului. Pentru încărcare, se pot folosi exclusiv fişiere video în format avi. Rezultatul acestei operaţii se reflectă asupra mai multor zone. Astfel, Zona de Afiare va

fi modificată conform detaliilor prezentate anterior. Zona de Navigare cadre va fi modificată şi ea, campul Numar Cadre, luând o valoare egală cu numărul total de cadre al fişierului video încărcat. De asemenea, devin complet funcţionale următoarele zone : Tăiere, Comprimare,

Alb-Negru şi Instantaneu.

Cea de-a doua regiune, Redare, permite rularea materialului video încărcat folosind playerul video intgrat Matlab. Playerul face parte din toolbox-ul Image Processing.



Zona de Navigare Cadre
Are rol un rol foarte important funcţionarea aplicaţiei, acela de a face trecerea de la un cadrul la altul. Din punct de vedere constructiv, este formată dintr-un progress bar (bara de navigaţie propriu-zisă) şi două zone de afişare, una pentru cadrul curent (Cadru curent) şi una pentru numărul total de cadre(Numar Cadre).

Navigarea se face prin apăsarea (click) pe săgeţile situate la extremităţile progress bar-ului.


Acest lucru va produce modificări asupra Zonei de Afişare, zona în care va fi afişată o nouă imagine corespunzătoare noului cadru. Modificări va suferi şi câmpul Cadru curent, câmp ce va primi valoarea cadrului curent, afişat. Cadru curent, va lua valori cuprinse între 1 şi valoarea câmpului Numar cadre.

Zona Navigare rapidă
Permite saltul, trecerea, la un cadru oarecare fără a fi necesară navigarea la acest cadru cu ajutorul progress barului. Saltul se face la cadrul indicat de câmpul Salt la cadrul prin apăsarea butonului Salt. Implicit, valoarea acestui câmp este 1. Nu se poate

face saltul la un cadru cu valoare mai mare decât numărul total de cadre indicat de Numar Cadre din zona de Navigare cadre. De asemenea, nu se poate trece la un cadru cu valoare negativă. Va fi generat un mesaj de eroare în cazul situaţiilor anterioare, precum şi în cazul introducerii unei valori nenumerice.

11

Navigarea rapidă va actualiza Zona de Afişare şi Zona de Navigare cadre. In cadrul zonei de Navigare cadre, se vor modifica poziţia progress barului şi valoarea câmpului Cadru curent (la valoare indicată de campul Salt la cadrul).



Zona de Taiere
Utilitarul de tăiere (cut) permite tăierea din materialul video încărcat. Tăierea se face începând cu cadrul indicat de câmpul Taie de la cadrul şi se opreşte la valoarea indicată de câmpul la cadrul, prin apăsarea butonului Taie.Implicit cele 2 câmpuri sunt iniţializate cu valorile 1 şi respectiv 2. De menţionat este faptul că dacă sunt introduse valori nenumerice, negative, sau dacă valoarea indicată de câmpul la cadrul este mai mare decat cea indicată de câmpul Taie de la cadrul, programul va genera un mesaj de eroare si tăierea va fi oprită. În caz contrar, rezultatul acestei operaţii

va fi un clip video salvat cu un nume stabilit de utilizator, în format AVI(necomprimat şi cu rata de cadru 20). De asemenea, după teminarea operaţiei de taiere, pe ecran va apărea o fereastră cu noul clip încărcat în player integrat Matlab. Toate aceste operaţii se desfăoară fără a afecta în vreun fel celelalte zone de program sau materialul video original.


Zona de Achiziţie cameră web
Această parte integrată a aplicaţiei a fost special gândită pentru lucru cu camera web (fie ea integrată , sau ataşată staţiei de lucru). Accesul si lucrul cu camera web se face independent de celelalte funcţii ale produsului soft.

Se poate spune că această zonă este divizată în două regiuni interdependente. Pe de-o parte, avem zona de iniţializare a camerei web, iar pe cealaltă parte avem zona de achiziţie (salvarea) de imagini.

In cadrul primei regiuni se face iniţializarea(startul) camerei web folosind spaţiul YUV pentru reprezentarea culorilor şi rezoluţia indicată de câmpul Rezoluţie. Valorile câmpului Rezoluţie sunt: 160x120,176x144,320x240,

352x288, 640x480 , valori reprezentate în pixeli. Dacă nu este selectată o valoare pentru rezoluţie, camera web nu va fi iniţializată, pe ecran apărând şi un ecran de eroare în acest sens.

Cea de-a doua regiune corespunde achiziţiei (salvării) de material video prin intermediul camerei web. Achiziţia se poate face în două moduri: specificând fie numărul de cadre, fie numărul de secunde al viitorului material video (câmpul Tip Achiziţie). Durata este dată de câmpul Valoare. Implicit ,acesta ia valoarea 200. Achiziţia începe prin apăsarea butonului Start achiziţie.

Dacă nu este selectat un tip de achiziţie, se generează un mesaj de eroare şi achiziţia se opreşte. In caz contrar, pe ecran apare o fereastră destinată salvării materialului video achiziţonat. Salvarea se face în format avi, necomprimat, framerate 20, la o adresă şi cu un nume alese de utilizator.



Zona Uniune Fisiere
Scopul acestei funcţii a aplicaţiei este de uniune a două clipuri video. Operaţiunea se desfăşoară independent de celelalte funcţii ale produsului software. Modul de utilizare este unul foarte
12

simplu. După apăsarea butonului Start, apare o fereastră pentru selecţia primului material video. Odată selectat, va apărea o a doua fereastră de selecţie, pentru cel de-al doilea clip video. În final, clipul obţinut prin uniunea celor doua va fi încărcat în playerul video integrat Matlab. Ordinea selecţiei celor două clipuri iniţiale va coincide ordinii celor două în materialul final. Pentru salvare, se apasă butonul Salveaza la FrameRate:. Salvarea se face la o rată de cadru stabilită de utilizator. Implicit, aceasta are valoarea 15.




Zona de Compresie video

Această secţiune este destinată recomprimării materialului video. Comprimarea este dependentă de Zona de Iniţializare, în sensul că, pentru a comprima un material video, acesta trebuie mai întâi încărcat în aplicaţie. Altfel spus, această zonă nu este independentă de celelalte.

Modul de utilizare este simplu. Se aleg pe rând tipul de compresie, care poate fi: None, Cinepak, Indeo3, Indeo5, MSVC, raportul de compresie, implicit are valoarea 50 şi rata de cadru (FrameRate), cu valoarea implicită 20, iar în final se apasă butonul Comprimă. Rezultatul acestei operaţii va fi apariţia unei ferestre pe ecran prin

intermediul căreia se va salva materialul recomprimat într-o locaţie şi cu un nume definit de utilizator.



Zona Alb-Negru
Este destinată transformării unui material video color într-un material video cu reprezentare pe nivele de gri. Materialul trebuie încărcat în prealabil în aplicaţie, deci această zonă nu poate lucra independent. Transformarea se face într-un mod foarte simplu, şi anume, prin apăsarea butonului Transformă. Salvarea materialului transformat alb-negru se face prin apăsarea butonului Salvează. Pe

ecran va apărea o fereastră ce va permite stocarea noului material video cu numele şi în locaţia stabilite de utilizator. Salvarea se va face în format avi, fără compresie i la rata de cadru 20.



Zona de Instantaneu
Permite salvarea unui cadru sau a mai multor cadre din materialul video încărcat. Salvarea se face începând cu cadrul curent afişat în Zona de Afişare şi nu afectează

alte zone din imagine. Numărul de cadre este dat de câmpul Număr cadre şi

are valoarea implicită 1. În cazul introducerii unor valori eronate

(nenumerice sau mai mari decât diferenţa din numărul total de cadre i valoarea cadrului curent), se va genera un mesaj de eroare. Operaţiunea se realizează apăsând butonul Capturează şi are ca efect apariţia pe ecran a unei ferestre ce permite salvarea imaginii la o locaţie şi cu un nume stabilite de utilizator. Salvarea se poate face în mai multe formaturi: jpeg, png, tiff sau bmp.


13

Prezentare meniu principal


Meniul principal îndeplineşte în mare parte aceleaşi funcţii ca şi zonele de lucru, fiind special creat pentru cei deja familiarizaţi cu aplicaţia şi care doresc un lucru mai rapid cu aceasta.

In cele ce urmează, se va face o caracterizare mai detaliată a acestui mediu, precum şi a

modului de lucru cu acesta.


File

Meniul File este echivalentul parţial al mai multor zone. Acesta prezintă două submeniuri. Primul submeniu este Deschide, echivalentul lui Deschide fiier din Zona de Iniţializare. Singura diferenţă dintre cele două este aceea că submeniul Deschide are asociată şi o comandă rapidă, Ctrl+O.




Cel de-al doilea submeniu este Salvează, echivalentul parţial al Zonei de Comprimare şi echivalentul total al butonului Salvează din Zona Alb-Negru. La rândul lui, acesta are alte 2 submeniuri: FrameRate:15 şi FrameRate:20. Cele două submeniuri beneficiază şi de comandă rapidă: Ctrl+S şi respectiv Ctrl+T.

Transformări

Meniul Transformări înglobează restul de zone de

lucru, cu excepţia zonei de Tăiere.

Constructiv, acesta prezintă 6 submeniuri, fiecare

destinat unei alte operaţi.

Primul submeniu este Reda, echivalentul butonului Redare din zona de Initializare. Suplimentar, acesta mai are şi comandă rapidă, Ctrl+P.


Cel de-al doilea submeniu este Start Camera. Este echivalentul grupului de iniţializare a camerei web din Zona de Achiziţie cameră web. La rândul său, acesta prezintă 5 submeniuri echivalente spaţiului de culoare şi rezoluţiei de iniţializare a camerei web.

14

Al treilea submeniu este reprezentarea parţială a categoriei de achiziţie din zona de Achiziţie camera web şi poartă numele de Achiziţie camera. Suplimentar, acesta prezintă comandă rapidă, Ctrl+A, iar ca minus, rata de cadru nu poate fi modificată, având valoare standard de 20 cadre/secundă.



Uniune_Fisiere este cel de-al patrulea submeniu din categoria Transformări, fiind echivalentul lui Start din zona de Uniune Fisiere. Ca un plus, prezintă comandă rapidă, Ctrl+J. Salvarea materialului nou creat se face fie cu comanda rapidă Ctrl+S, fie accesând submeniul Salvează din meniul File.

Un instantaneu cu cadrul curent se poate obţine fie accesând comanda Ctrl+I, fie accesând submeniul Instantaneu. Ca un minus faţă de zona de Instantaneu, acesta permite salvarea doar a cadrului curent.

Ultimul submeniu este reprezentat de cel al transformărilor Alb-Negru. Este echivalentul zonei Alb-Negru. Salvarea transformărilor se face accesând fie meniul File, submeniul Salvează, fie folosind Salvează din Zona Alb-Negru.


Ajutor
După cum spune şi numele, Ajutor,

acesta reprezintă partea de ajutor (help) a aplicaţiei. Sunt două moduri de a obţine răspunsuri la întrebări:

a. Submeniul Descriere Aplicatie, dedicat explicitării modului de utilizare şi al funcţiei butoanelor din cadrul aplicaţiei. Modul de utilizare al acestui meniu este foarte simplu. Se face selecţia textului (butonului/meniului) ce se vrea a fi explicitat şi se apasă butonul Vizualizează fiierul.

b. Submeniul Tutorial Video. Acesta reprezintă un video-tutorial destinat înţelegerii modului de funcţionare al aplicaţiei. Fiecare submeniu reprezintă numele operaţiei pe care o implementează şi este însoţit de un fişier video explicativ.

15

4. Desfăşurarea lucrării.

1. Lansarea aplicaţiei.

Pentru lansarea aplicaţiei, se accesează fişierul EditorVideo.m situat în directorul Editor Video. In momentul încărcării fişierului sursă (*.m), se apasă de la tastatură tasta F5. Pe ecran va apărea o imagine similară celei de mai jos.

2. Pentru a vă familiariza cu aplicaţia se recomandă accesarea opţiunii Descriere Aplicatie

din meniul Ajutor şi a video-tutorialului (opţiunea Tutorial Video din meniul Ajutor).

3. Se încarcă fişierul de test, Test.avi, situat în subdirectorul Resurse. Încărcarea se poate face utilizând butonul Deschide Fiier din interfaţa grafică, fie folosind opţiunea Deschide din meniul File, fie folosind comanda rapidă Ctrl+O.

4. Pentru verifcare, se rulează fişierul folosind butonul Redare sau opţiunea Redă (Ctrl+P

din meniul Transformări.

5. Se parcurge clipul încărcat folosind meniul Navigare rapidă. Se face trecerea la orice

cadru, cu condiţia ca valoarea introdusă să fie mai mică decât 471.

6. Se salvează cadrul curent folosind butonul Capturează sau comanda Ctrl+I. Atenţie. Pentru capturarea unui singur cadru, valoarea câmpului Număr cadre trebuie să fie 1. Fişierul se va salva în directorul Salvări_Studenţi cu numele Instantaneu_1 şi extensia jpg.

7. Se va folosi opţiunea de transformare alb-negru; materialul transformat se va salva în directorul Salvări_Studenţi cu numele Transformare_AN.

16

8. Se vor realiza diverse tăieturi la nivelul clipului video, folosind Zona de Tăiere. Dimensiunile (în cadre) sunt la latitudinea studentului, cu condiţia ca acesta să respecte constrângerile impuse materialului video. Se vor trage câteva concluzii privitoare la dimensiunea fişierelor (relaţia cadre-spaţiu fizic ocupat). Fişierele se vor salva în directorul Salvări_Studenţi cu numele Crop_X, unde X reprezintă numărul clipului curent.



9. Se va accesa zona de compresie. Se va comprima materialul, folosind codecurile din meniul Tip Compresie (None, Cinepak, Indeo3, Indeo5, MSVC).

Compresia se va face la diverse rate de cadru şi cu diverse rapoarte de compresie. Datele se vor trece într-un tabel de forma celui de mai jos. Se va face o evaluare a performaţelor (calitativ, spaţiu fizic ocupat) fiecărui codec în parte, alegându-se combinaţia ideală de parametri (codec, raport comprsie şi rata de cadru) pentru un material video destinat uzului general. Fişierele se vor salva în directorul Salvări_Studenţi cu numele Comprimat_Y_X, unde X reprezintă numărul clipului curent şi Y reprezintă numele codecului utilizat.


Nume codec Raport compresie Rata de cadru Spaţiu fizic ocupat

(MB)
Tabelul 1.

10. Pentru achiziţia de cadre prin intermediul camerei, se selectează rezoluţia de iniţializare a camerei. Se vor salva mai multe materiale video achiziţionate prin intermediul camerei web, la diverse rezoluţii. Achiziţia se face atât în cadre, cât şi în secunde.

Se va completa un tabel de tipul celui prezentat mai jos şi se vor trage unele concluzii vizavi de timpul şi rezoluţia de achiziţie.

Rezoluţie achiziţie


Tip achiziţie Durată achiziţie

(cadre sau secunde)

Tabelul 2.

Timp necesar

achiziţiei(secunde)


Fişierele se vor salva în directorul Salvări_Studenţi cu numele Achiziţie_X_Y_Z, unde X reprezintă durata (cadre sau secunde) clipului curent ,Y tipul achiziţiei şi Z rezoluţia de achiziţie.

11. Se va accesa zona de uniune a fişierelor. Se vor uni diverse fişiere video, atât dintre cele puse la dispoziţie, cât şi dintre cele create de studenţi. Se vor vizualiza rezultatele încărcând fişierele create în aplicaţie şi rulându-le prin intermediul meniului de redare.

17



5. Exerciţii

1. Se vor repeta operaţiile prezentate anterior (acolo unde este cazul şi se poate) utilizând

funcţiile din meniul aplicaţiei.

2. Încercaţi să uniţi materiale video provenite din surse diferite. Ce observaţi?

3. Încercaţi să deschideţi mai multe fluxuri video simultan. Ce observaţi?

6. Întrebări

1. Care sunt rezoluţiile standard pentru sistemele TV?

2. Care este rata minimă de cadru pentru obţinerea unor imagini video?

3. Explicaţi următoarele concepte : RGB şi YUV. Ce reprezintă acestea şi cum se diferenţiază?

4. Ce reprezintă conceptele HD şi SD în lumea digitală?

5. Care este diferenţa între explorarea liniilor unei imagini video în mod întreţesut şi în

mod progresiv?

6. Cum se categorisesc codecurile video în funcţie de metodele de compresie?

7. Ce codec ar fi mai bun (tip, nume) pentru compresia unor fişiere de uz general (spre exemplu, material video filmat cu telefonul mobil)?

8. Ce media format se poate folosi la încapsularea de material video HD?

9. Ce repezintă conceptul NLE?

10. Care sunt codecurile cu care se poate coda un fişier video prin intermediul aplicaţiei



Editor Video?

11. Câte tipuri de rezoluţie suportă camera web ataşată şi care sunt acestea?

12. Care este rezoluţia zonei de afişare a aplicaţiei Editor Video?

13. Ce îmbunătăţiri credeţi că se pot aduce aplicaţiei?

14. Ce se întâmplă dacă la setarea parametrilor de tăiere se introduc valori mai mari decât cele adminse?

15. Ce se întâmplă dacă încercaţi să deschideţi mai multe ferestre de achiziţie web? Cum

explicaţi?

16. Cum funcţionează zona de uniune a fişierelor?

17. Care este numărul maxim de instantanee care se poate obţine dacă valoarea cadrului

curent este 50 (pentru fişierul de test pus la dispoziţie)?




18

Yüklə 0,73 Mb.

Dostları ilə paylaş:




Verilənlər bazası müəlliflik hüququ ilə müdafiə olunur ©muhaz.org 2020
rəhbərliyinə müraciət

    Ana səhifə