Compresie H.264 - cunoştinţe de bază

În prezent, compresia H.264 a devenit un standard printre echipamentele de înregistrare video (DVR-uri). Dispozitivele de cele mai avansate permit utilizatorului să controleze rata de compresie cît şi mulţi dintre parametrii fluxului video transmis în reţea. O cunoaştere elementară a metodei de compresie folosită de aparatul DVR, vă va ajuta să înţelegeţi impactul pe care unele modificări ale parametrilor de codare îi va avea asupra fluxului video.

Principiile generale ale compresiei H.264
H.264 este în ziua de azi cel mai popular şi mai eficient standard de compresie video. Prima versiune a fost lansată în 2003. H.264, cunoscut sub numele de "MPEG-4 part 10", sau AVC, a fost iniţial creat pentru a transmite în reţea conţinut video, cum ar fi conferinţe, videoclipuri, filme. Este folosit totodată şi în compresia materialului video filmat la rezoluţie ridicată (HD) foarte des întâlnit în cazul discurilor Blu-ray.


Performanţa ridicată a compresiei H.264 se datorează metodelor de predicţie şi estimare a cadrelor selecte din film. Un semnal video obişnuit, necomprimat, este compus din cadre video afişate una după alta, într-o ordine temporală corectă.
Reprezentare a materialului video necomprimat
In H.264 there are 3 types of frames: I - Intra Coded, P - Predictive, B - Bi - predictive. The I frames contain complete picture information, the P frames carry information about changes between adjacent P or I frames, allowing for reconstruction of the picture, whereas the B frames complement the information about the image changes in time and are intended to smooth the transition between the P and P, I and P frames. The size of each frame depends on many factors, but it may be assumed that the size of P frames is about 60% of the size of I frames, and B frames may be reduced even to 10% of the size of the I frames.
Reprezentare a materialului video comprimat

Secvenţa de decomprimare

Algoritmul H.264 este complex. Există mai multe tipuri şi nivele de compresie iar decodarea fluxului poate necesita putere de calcul considerabilă. În dispozitive specializate, cum ar fi DVR-uri, interfaţa cu utilizatorul este, în general, concepută pentru a permite configurare simplă şi rapidă. Ar trebui amintit faptul că:
  • cu cât este mai multă mişcare în cadru, cu atât mai multă informaţie va fi necesară pentru o estimare corectă;
  • un număr redus de cadre "I" generează o imagine mai puţin fidelă cu realitatea;
  • pe lângă fluxul video transmis, procesul de încapsulare şi pachetizare a informaţiei va duce la creşterea volumului de trafic.
Controlul asupra H.264 în practică
Vă vom prezenta în cele ce urmează câţiva dintre parametrii la care utilizatorul are acces şi pe care îi poate modifica. Chiar dacă vom folosi ca suport tehnic un DVR Hikvision DS-8108HDI-S instrucţiunile pot fi urmărite pe orice alt echipament DVR cu compresie H.264.
The Hikvision DVR provides the possibility to change the following picture settings (remote configuration using iVMS4000 software):
Remote setting>Video Parameters window of Hikvision DS-8108HDI-S DVR
Encoding Parameters - most DVRs can send to the network several independent streams. If the upload bandwidth is too low, or the download bandwidth in the monitoring is insufficient, there is the possibility to select a kind of stream with lower requirements. The parameters of the "Main Stream" are identical with those of local recording.
Tipul fluxului (Video sau Audio-Video) - administratorul sistemului poate decide dacă să înregistreze sau nu şi componenta audio. Această opţiune este accesibilă doar din meniul local (de la DVR). Componenta audio este neglijabilă în raport cu mărimea fluxului video.
Rezoluţia -numărul de pixeli dintr-un cadru complet. Acest parametru este dat de cele mai multe ori sub forma unui acronim, ce are ca referinţă următoarea unitate:

  • CIF (Common Intermediate Format): 352x288 pixeli (0.1 MP)
Deci următoarele denumiri sunt multiplii unităţii de mai sus, numărul de pixeli care alcătuiesc imaginea fiind:
  • 2CIF: 704x288 (202752 pixeli, ? 0.2 MP
  • DCIF (Double CIF): 528x384 (202752 pixeli, ? 0.2 MP). Numărul pixelilor este identic cu 2CIF dar are un raport de imagine diferit.
  • 4CIF: 704x576 (0.4 MP) - la momentul actual, cea mai mare rezoluţie pentru CCTV analogic.
  • (D1: 720x576 - deseori confundat şi folosit în locul lui 4CIF).
Rezoluţia D1 îşi are rădăcinile într-un document al ITU-R (International Telecommunication Union - Radiocommunication Sector) intitulat Rec.601 (BT.601). Acesta a fost publicat în anul 1982 şi prezintă o metodă de digitalizare a semnalului video analog întreţesut. Unul dintre parametrii specificaţi era matricea YCrCb care definea informaţia conţinută în imagine (luminanţa şi două crominanţe în funcţie de culorile roşu şi albastru). Standardul impunea fiecărei linii 720 eşantioane de luminanţă şi 320 de crominanţă. Rezoluţia D1 în sistem PAL implementat pentru întâia oară de Sony şi Bosch avea 720x576 pixeli. După o vreme aceasta a fost înlocuită cu mult mai familiara rezoluţie 4CIF.
Unul dintre parametrii fundamentali ai camerelor CCTV cât şi a monitoarelor este rezoluţia orizontală specificată ca numărul maxim de linii verticale alternante, luminate şi întunecate, care poate fi afişat pe lungime orizontală, egală cu înălţimea imaginii. Această valoare nu trebuie confundată cu numărul de linii orizontale scanate într-o transmisiune PAL. O cameră PAL generează 625 de linii orizontale întreţesute dintre care 576 sunt active (conţin informaţie video), de 25 de ori pe secundă (un cadru complet este compus din două câmpuri de 312.5 linii pare şi impare, la o viteză de scanare de 50 Hz). Aşadar viteza de scanare orizontală este de 15625 Hz (625x25 sau 312.5x50).
To optimally utilize the standard, with the 576 active horizontal lines and the classic aspect ratio of 4:3, the proportional number of horizontal points should reach 768. It is the result of the fact that conventional TV systems in use today were originally designed to achieve equal horizontal and vertical resolution ("square pixels"). However, the actual vertical resolution is reduced by Kell factor of 0.7 (the scanning lines are not ideally situated on the picture details).
Finally, it limits the effective number of resolvable horizontal lines in PAL system to 403 HTVL (horizontal TV lines). This means that looking at the image from an ideal PAL camera directed at a suitable test pattern, the viewer can distinguish a maximum of about 400 alternate white and black horizontal lines.
The number of resolvable vertical lines (VTVL) is directly related to the amount of information carried by each scanned horizontal line. The simplest, yet most convenient way to check actual VTVL of a camera is the analysis of the image of an EIA-1956 test pattern. In practice, the number of resolvable vertical lines, as well as in the case of horizontal lines, means the maximum number of resolvable alternate white and black vertical lines. The horizontal resolution (in TVL) usually provided by the camera manufacturers is defined as the maximum amount of alternate vertical black and white lines that can be resolved over a span of 3/4 of the image width (equal to the image height).
Numărul de linii TV (TVL) poate varia de la o cameră CCTV la alta. Semnalul video analog de la cameră este digitalizat într-unul din formatele CIF (CIF, 2CIF, etc.), cu acelaşi aspect de imagine (4:3) dar în locul liniilor de scanare sunt utilizaţi pixelii. Pentru imagini de calitate, la rezoluţii ridicate (în special 4CIF) se recomandă folosirea camerelor cu un număr cât mai mare de linii TV, corespunăzător numărului de pixeli (528 TVL pentru 4 CIF).

Bitrate - fix sau variabil. Selectând un bitrate variabil, aparatul DVR va fi capabil să detecteze parametrii semnalului video transmis de cameră şi să ajusteze compresia fluxului în mod corespunzător (creşte sau scade numărul de biţi necesari pentru a reda o secundă de material video). În acest fel sunt optimizate calitatea înregistrării şi volumul de date transmis în reţea.
Max Bitrate - specifică numărul maxim de biţi folosiţi pentru compresia fluxului video Din cauza modului în care a fost conceput standardul H.264, valoarea acestui parametru este doar una estimativă. Unele echipamente obligă la o valoare minimă pentru parametrul de bitrate.
Cadre pe secundă - determină viteza înregistrării. Ochiul uman percepe o mişcare fluidă doar la peste 25 de cadre pe secundă (25 fps). Sunt pe piaţă DVR-uri cu 8 sau 16 canale, capabile să înregistreze la această viteză, simultan pe toate canalele disponibile dar sunt scumpe. De obicei aceste echipamente sunt necesare pentru înregistrarea zonelor cu o dinamică ridicată şi elemente de imagine rapid schimbătoare. O valoare de 6 fps este de cele mai multe ori suficientă în majoritatea cazurilor. În această situaţie, viteza obutatorului camerei este mult mai importantă deoarece fiecare cadru trebuie să fie clar şi în focus pentru o indentificare uşoară a obiectelor şi persoanelor.
Calitatea video - acest parametru este relevant doar în cazul folosirii unui bitrate variabil. Cu cât calitatea video este mai mare, cu atât rata de compresie este mai mică şi vice-versa. DVR-urile cu opţiune de VBR (bitrate variabil) menţin calitatea imaginii peste o valoare presetată din fabrică.
Tipul de cadru, Interval de cadru "I" - Aceşti parametri sunt condiţionaţi de tipul de flux video transmis prin reţea de la DVR la PC. Calitatea imaginii este determinată de numărul (intervalul) cadrelor "I" şi este direct proporţională cu puterea ce calcul necesară calculatorului client pentru a decoda fluxul video. În majoritatea cazurilor aceste setări sunt restricţionate iar fluxul video este generat în mod automat de către echipament.
Configurarea parametrilor pentru cazuri individuale
Sistemele de supraveghere video funcţionează în medii variate şi de aici necesitatea ajustării parametrilor de codare video (compresie) în funcţie de condiţiile scenei în cauză. Din cauza faptului că fluxul video în timp real nu este comprimat, acţiunea parametrilor de compresie poate fi observată doar prin redarea materialului înregistrat.
Două dintre cele mai des întâlnite întrebări ale unui novice:
  • Cum să setez parametrii video ca să rezulte cea mai bună calitate a imaginii şi în acelaşi timp, fluxul video să fie adaptat lăţimii de bandă disponibilă în reţea ?
  • Care este lăţimea de bandă necesară pentru operarea aparatului DVR de la distanţă ?
Criteriul primordial în funcţie de care se ajustează parametrii aparatului DVR este calitatea înregistrării. Aceasta trebuie să fie îndeajuns de bună pentru a putea identifica persoane sau evenimente. Posibilitatea de monitorizare continuă de la distanţă folosind reţeaua internet/LAN are o importanţă redusă şi astfel nu necesită cea mai bună calitate de imagine.
Potrivit normativului EN50132-7, mărimea reprezentării unui obiect (faţa unei persoane) trebuie să fie în strânsă legătură cu scopul final al sistemului de înregistrare - identificare, recunoaştere, observaţie generală. Pentru controlul mulţimii - faţa persoanei ar trebui să reprezinte cel puţin 5% din înălţimea ecranului; 50% dacă se doreşte recunoaşterea şi cel puţin 120% dacă scopul este identificarea persoanei. Dacă poziţia sau alţi parametri ai camerei nu permit asemea proporţii atunci rezoluţia materialului video comprimat poate fi redusă.
Numărul de cadre pe secundă selectat ar trebui să depindă de entropia din scena filmată. De obicei acesta este valoarea maximă sub care DVR-ul poate înregistra la cea mai ridicată rezoluţie.
Numărul de cadre pe secundă folosit în diferite situaţii:

6 fps

12 fps

25 fps

  • magazine mici

  • case cu o singură familie

  • birouri

  • şantiere

  • locuri de joacă

  • depozite, magazii

  • fabrici de producţie

  • magazine mari

  • parcări

  • zone cu trafic moderat

  • staţii de tren, autobuz, etc.

  • stadioane

  • săli de concert

  • discoteci

  • oraşe

  • zone cu trafic dens

Valoarea de bitrate şi intervalul cadrelor I sunt corelate. O imagine comprimată H.264 este alcătuită din cadre comprimate iar acestea (cadrele) sunt generate printre altele folosind vectori de poziţie. Parametrii de compresie trebuie să depindă de dinamica imaginii. Sunt situaţii în care cantitatea de informaţii necesară pentru generarea cadrelor P şi B este atât de mare încât depăşeşte informaţia conţinută în imaginea iniţială. Dar o creştere excesivă a cadrelor "I" reduce rata de compresie (rezultă un bitrate mai mare) şi poate chiar degrada calitatea imaginii finale.

Câteva exemple:

Imaginea 1
Un cadru I la fiecare 25 de cadre
Bitrate: 3.5 Mb/s
Imaginea 2 - calitate redusă - ghosting şi pixeli vizibili
Un cadru I la fiecare două cadre
Bitrate: 5.8 Mb/s

Ambele imagini sunt sunt capturi de pe aceeaşi cameră megapixel şi au aceeaşi rezoluţie (1600x1200), bitrate (3 Mb/s) şi număr de cadre (25 fps). În prima imagine cadrul de tip "I" este prezent o dată la 25 de cadre (o dată pe secundă) pe când în cea de a doua imagine acesta este prezent o dată la 2 cadre consecutive. Instantaneul nr. 2, deşi este generat folosind mai multe cadre "pline" (cadre "I") are o calitate redusă şi se pot observa pixelii şi fenomenul de ghosting. Mai mult, lăţimea de bandă necesară transmiterii fluxul video în reţea este mult mai mare, 5.8 Mb/s faţă de 3.5 Mb/s.
O frecvenţă optimă pentru cadrul "I" este de 0.5-1 Hz.
Dar în cele din urmă această valoare trebuie aleasă luând în calcul atât calitatea imaginii cât şi fps-ul.
Bitrate-ul influenţează atât cantitatea de informaţie ce trebuie transferată în reţea cât şi rata de compresie a materialului video arhivat. Setările bitrate-ului la aceeaşi rezoluţie pot fi diferite, dacă imaginea comprimată este mai mult sau mai puţin detaliată.

Imaginea 3
Bitrate: 256 kb/s
Imaginea 4
Bitrate: 896 kb/s
Imaginile 3 şi 4 reprezintă instantanee la rezoluţie 4CIF şi 12 fps. Nr. 3 are un bitrate setat la 256 kb/s iar nr. 4 la 896 kb/s. Scenele cu o dinamică redusă, cu obiecte staţionare se pretează la un bitrate scăzut. Lăţimea de bandă necesară imaginii 3 este de 290 kb/s iar în cazul imaginii 4 , de 970 kb/s.
Pe imaginea de mai jos (nr. 5), obiectele în mişcare (în special picioarele persoanelor) sunt înceţoşate. Acest fenomen este cauzat de bitrate-ul mic decodorul neavând suficientă informaţie pentru a genera cadre de predicţie precise.

Imaginea 5
Bitrate prea mic - obiecte în mişcare neclare
În cazul în care supravegherea video are un rol preventiv şi este necesar un răspuns rapid la eventualele situaţii în desfăşurare, valoarea de bitrate trebuie să fie mult mai mare. Pentru o monitorizare generală ce face uz de funcţia de detectare a mişcării, acest parametru poate fi setat la o valoare mai mică.


Un bitrate mare este necesar nu numai pentru observaţie/înregistrare a unor (potenţiale) scene pline de dinamism, dar şi pentru redare precisă de scene statice, cu detalii geometrice foarte fine, unde este necesar să se recunoască texte, obiecte mici, feţele oamenilor. Imaginile 6 şi 7 arată imagini de la o cameră care vizează o diagramă test şi permite controlul DVR-ului la distanţă, cu setări diferite ale bitrate-ului.

Imaginea 6
Bitrate prea scăzut
Detaliile pe imaginea statică sunt neclare

Imaginea 7
Bitrate selectat în mod corespunzător
Bitrate-ul din imaginea 6 este identic cu cel din imaginea 3 iar cel din imaginea 7 identic cu cel din 4. (3.5 Mb/s respectiv 5.8 Mb/s). Diferenţele cu care sunt redate detaliile în cele două cazuri sunt evidente. În imaginea 6, scrisul de pe telecomandă este indescifrabil, liniile de pe şablonul test precum şi caraterele mai subţiri din stânga sunt foarte înceţoşate şi pot fi foarte uşor confundate. Mai mult de atât, zonele de fundal uniforme prezintă un accentuat zgomot de imagine.
Totuşi, în cazul imaginilor statice, este posibilă reducerea numărului de cadre pe secundă şi de aici şi valoarea bitrate-ului fără a se pierde din calitatea imaginii.
Fps-ul, bitrate-ul şi numărul de cadre pe secundă influenţează în mod direct durata de înregistrare pe un disc de o capacitate determinată.
Valori de bitrate recomandate pentru diferite rezoluţii şi cadre pe secundă precum şi perioada de înregistrare posibilă în cazul unui HDD de 1 TB
   25 fps  12 fps 6 fps
1080p (1920x1080) 3 Mb/s - 9 Mb/s 4096 kb/s 3072 kb/s
32-10 zile 23 zile 31 zile
UXGA (1600x1200) 3 Mb/s - 9 Mb/s 4096 kb/s 3072 kb/s
32-10 zile 23 zile 31 zile
720P (1280x720) 2.5 Mb/s - 6 Mb/s 1792 kb/s 1536 kb/s
47-16 zile 54 zile 63 zile
4CIF (704x576) 1536 kb/s - 2048 kb/s 896 kb/s 640 kb/s
63-47 zile 107 zile 151 zile
2CIF (704x288) 768 kb/s - 1024 kb/s 448 kb/s 320 kb/s
126-94 zile 215 zile 303 zile
CIF (352x288) 512 kb/s - 768 kb/s 320 kb/s 160 kb/s
189-126 zile 303 zile 606 zile
QCIF (176x144) 160 kb/s - 224 kb/s 96 kb/s 80 kb/s
606-433 zile 1011 zile 1213 zile
Timpul de înregistrare folosind un HDD de 1 TB şi un singur canal la o anumită rezoluţie
bitrate şi fps. Din cauza tipului de compresie folosit acesta (timpul) este doar estimativ.
Pentru monitorizare de la distanţă folosind reţeaua internet/LAN şi pentru imagini la calitatea maximă oferită de aparatul DVR, cantitatea de date transmisă va fi suma tuturor fluxurilor de la toate camerele din sistem. Din cauza procesului de pachetizare a informaţiei transmise, este nesesar să adăugaţi 20% la valoarea din tabel. Ca exemplu, fluxul de date a 16 camere la rezoluţie 4 CIF şi 12 fps, fiecare cu un bitrate de aproximativ 640 kb/s atinge valoare de:

1.2 * 16 * 640 [kb/s] = 12288 [kb/s], care poate fi rotunjită la 12.5-13 Mb/s
Asemenea viteze de download sunt un lucru obişnuit chiar şi în reţelele "de apartament", probleme de congestie a traficului în reţea pot apărea însă pe upload.
Monitorizarea în reţea se face în mod obişnuit folosind un flux video auxiliar cu o lăţime de bandă mai mică. Chiar şi în cazul folosirii unui monitor FullHD (1920x1080 pixeli) vizualizarea imaginilor dintr-o instalaţie cu 16 camere utilizând o matrice clasică de 4x4 va face ca acestea să fie afişate într-o fereastră individuală de rezoluţie 480x270 pixeli. De aici rezultă şi inutilizatea transmiterii imaginilor 4CIF.
Bineînţeles că există şi alternative - pentru o monitorizare obişnuită, fluxul auxiliar foloseşte rezoluţia CIF la 6 fps ceea ce reduce semnificativ cerinţele capacităţii de upload a reţelei:
1.2 * 16 * 160 kb/s = 3072 kb/s, care poate fi rotunjită la 3 Mb/s
Dacă se doreşte, utilizatorul poate anula vizualizarea tuturor celor 16 camere şi se poate concentra asupra uneia sau a unui grup restrâns de camere.
Aceste restricţii sunt necesare doar în cazul reţelei WAN. În schimb, în cazul reţelelor LAN, arhitectura FastEthernet 100 Mb/s sau GbE este suficientă pentru transmiterea materialului video la calitate maximă.
Ca regulă, trebuie reţinut faptul că aparatul DVR necesită o viteză de UPLOAD mare iar clientul din reţea, cel care vizualizează imaginile, necesită o viteză de DOWNLOAD mare.
Monitorizarea video de pe telefonulul mobil
Această posibilitate de monitorizare de la distanţă a devenit o funcţie standard a sistemului CCTV odată cu apariţia noilor sisteme de operare mobile. Acestea permit instalarea diverselor aplicaţii creeate folosind limbaje de programare accesibile, disponibile gratis cât şi contra cost.

Pentru un utilizator tipic de smartphone, principalele cerinţe sunt:
  • Viteza necesară conexiunii
  • Lăţimea de bandă corespunzătoare unui singur canal
Aparatul DVR transmite de obicei telefonului mobil fluxul auxiliar. În funcţie de sistemul de operare al telefonului şi de modelul de DVR, utilizatorul poate vizualiza un număr mai mic sau mai mare de canale (camere).

Rezoluţia maximă a fluxului secundar este de cele mai multe ori CIF ceea ce înseamnă un material video cu un număr mai mare de cadre pe secundă (o fluiditate mai mare, fără scandări). Se poate ajunge la un compromis practic folosind o imagine la rezoluţie CIF şi 12 fps cu un bitrate total de 320 kb/s. Vizualizarea online folosind aceşti parametrii va consumă approximativ 2.5 MB pe minut din planul dvs. de date şi va necesita o conexiune 3G (UMTS). Desigur, caracteristicile fluxulului pot fi limitate la minimum (QCIF la 6 fps şi 64 kb/s). Acesta va putea fi accesat şi dintr-o reţea 2.5 G (EDGE) dar aceşti parametrii sunt satisfăcători doar pentru o observaţie generală a scenei.

Pentru descărcat
Nume Limbă Tip fişier
Dimensiune fişier
Data
Biblioteca - pdf PL 1.22 MB  2011.09.11