H.265

H.265 sau HEVC ( High Efficiency Video Coding  ) este un format de compresie video care utilizează algoritmi  mai eficienți în comparație cu H.264/MPEG-4 AVC [1] . Recomandarea CCITT H.265, precum și ISO/IEC 23008-2 MPEG-H Partea 2, este o dezvoltare comună a CCITT Video Coding Experts Group (VCEG) și a MPEG Moving Picture Expert Group [2] . Recomandarea standardului a fost dezvoltată ca răspuns la nevoia din ce în ce mai mare de compresie mai mare a imaginilor în mișcare pentru o mare varietate de aplicații, cum ar fi streaming pe Internet, transmisie de date, conferințe video, dispozitive de stocare digitală și difuzare de televiziune [3] .

Sunt acceptate formatele de cadre de până la 8K ( UHDTV ) cu o rezoluție de 8192×4320 pixeli [4] .

Istorie

În 2004, VCEG a început cercetările în dezvoltarea tehnologiilor care să permită crearea unui nou standard de compresie video (sau o îmbunătățire semnificativă a standardului H.264/MPEG-4 AVC). În octombrie 2004, a fost făcută o revizuire a diferitelor moduri prin care H.264/MPEG-4 AVC ar putea fi îmbunătățit [5] .

H.265 a fost inițial destinat să fie un standard complet nou, nu o extensie a H.264 precum HVC (Codare video de înaltă performanță). Ca parte a proiectului, au fost atribuite denumirile provizorii H.265 și H.NGVC ( English  Next-generation Video Coding  - următoarea generație de codare video), a existat și o parte semnificativă a muncii VCEG înainte de evoluția sa în HEVC , un proiect comun cu MPEG în 2010. În aprilie 2009, proiectul a fost denumit NGVC; în iulie 2009, a avut loc o întâlnire între MPEG și VCEG, unde s-au discutat lucrări comune suplimentare privind NGVC și HVC.

Condițiile preliminare pentru NGVC sunt o reducere cu 50% a ratei de biți cu o calitate subiectivă similară a imaginii și o complexitate de calcul comparabilă cu H.264 High profile. În funcție de setări, complexitatea de calcul este de așteptat să varieze de la 1/2 la 3 față de H.264 High profile, în timp ce în primul caz NGVC ar trebui să ofere un bitrate cu 25% mai mic [6] .

ISO/IEC Moving Picture Experts Group (MPEG) a început un proiect similar în 2007 , numit provizoriu Codare video de înaltă performanță. În iulie 2007, a fost luată o decizie ca obiectiv al proiectului de a obține o reducere cu 50% a ratei de biți [7] . Până în iulie 2009, rezultatele experimentului au arătat o reducere medie a ratei de biți de aproximativ 20% în comparație cu AVC High Profile, aceste rezultate au determinat MPEG să înceapă standardizarea în colaborare cu VCEG.

Pentru a dezvolta standardele MPEG și VCEG, au creat Joint Collaborative Team on Video Coding (JCT-VC) (ITU-T Rec H.264|ISO/IEC 14496-10) [8] . Prima întâlnire a echipei comune de codificare video (JCT-VC) a avut loc în aprilie 2010 . Au fost prezentate 27 de proiecte cu drepturi depline. Evaluările au arătat că unele propuneri pot atinge aceeași calitate a imaginii ca și AVC cu doar jumătate din rata de biți în multe încercări, la o complexitate de calcul de 2 până la 10 ori mai mare, iar unele proiecte au obținut o calitate subiectivă bună și rezultate bune cu rata de biți cu o complexitate de calcul mai mică decât codificare de referință AVC de profil înalt. La această întâlnire a fost adoptată denumirea proiectului comun - High Efficiency Video Coding (HEVC) [9] .

Comitetul de proiect HEVC a fost aprobat în februarie 2012 . În iunie 2012, MPEG LA a anunțat că a început procesul de acceptare a licențelor comune pentru brevetele HEVC. Un proiect de standard internațional a fost aprobat în iulie 2012 la o reuniune care a avut loc la Stockholm. Fröjdh, președintele delegației suedeze MPEG, consideră că produsele comerciale care susțin HEVC ar putea fi lansate în 2013 [10] .

Pe 29 februarie 2012, la Mobile World Congress , Qualcomm a prezentat un decodor HEVC care rulează pe o tabletă Android cu un procesor Qualcomm Snapdragon S4 dual-core de 1,5 GHz. Au fost afișate două versiuni ale videoclipului cu același conținut, codificate în H.264/MPEG-4 AVC și HEVC. În această emisiune, HEVC a arătat o reducere de aproape 50% a ratei de biți în comparație cu H.264/MPEG-4 AVC [11] .

La 31 august 2012, Allegro DVT a anunțat lansarea a două codificatoare de difuzare HEVC: codificatorul AL1200 HD-SDI și transcoderul AL2200 IP [12] . Allegro DVT a declarat că decodoarele hardware HEVC nu ar trebui așteptate până în 2014, dar HEVC ar putea fi utilizat mai devreme în aplicațiile decodificate software. La IBC 2012, Allegro DVT a prezentat sisteme de streaming IP HEVC bazate pe transcoderul IP AL2200.

Ericsson în septembrie 2012 la International Broadcasting Convention (IBC) a prezentat primul codificator HEVC din lume - Ericsson SVP 5500, conceput pentru a codifica video în timp real pentru difuzarea televiziunii terestre în rețelele mobile [13] .

În aprilie 2013, proiectul a fost adoptat ca standard ITU-T [3] .

La începutul anului 2017, suportul parțial pentru standardul HEVC a fost implementat la nivel hardware de către toți producătorii importanți de procesoare.

Multe caracteristici noi au fost propuse ca cerințe pentru standard:

Se presupune că aceste tehnici vor aduce cel mai mare beneficiu în codificarea cu mai multe treceri [14] .

Eficiența codificării

Dezvoltarea majorității standardelor de codare video este concepută în primul rând pentru a obține cea mai mare eficiență de codare. Eficiența de codificare este definită ca abilitatea de a codifica video la cel mai mic bitrate posibil , menținând în același timp un anumit nivel de calitate video . Există două modalități standard de a măsura performanța de codificare video, una este utilizarea unei metrici obiective, cum ar fi raportul semnal-zgomot de vârf (PSNR), iar cealaltă este utilizarea unei măsuri subiective a calității video. Evaluarea subiectivă a calității imaginii este cel mai important parametru pentru evaluarea codificării video, deoarece spectatorii percep calitatea video într-un mod subiectiv.

În loc de macroblocuri utilizate în H.264, HEVC folosește blocuri cu o structură de codare arborescentă. Avantajul codificatorului HEVC constă în utilizarea blocurilor mai mari. Acest lucru a fost demonstrat în testele PSNR cu modelul de codificator HM-8.0, unde rezultatele de codificare au fost comparate cu diferite dimensiuni de bloc. În urma testelor, s-a arătat că, în comparație cu blocurile de codare de 64×64 pixeli, rata de biți crește cu 2,2% atunci când se folosesc blocuri de 32×32 și crește cu 11,0% când se folosesc blocuri de 16×16. . În testele de codificare video cu o rezoluție de 2560x1600 pixeli, la utilizarea blocurilor de 32x32 pixeli, rata de biți crește cu 5,7%, iar la utilizarea blocurilor de 16x16 pixeli, cu 28,2% față de video în care blocuri de dimensiunea 64x64, cu același raport maxim semnal-zgomot. Testele au arătat că utilizarea blocurilor mai mari este mai eficientă atunci când se codifică videoclipuri de înaltă rezoluție. Testele au arătat, de asemenea, că videoclipul codificat cu blocuri 16x16 necesită cu 60% mai mult timp pentru a decoda decât atunci când se utilizează blocuri 64x64. Adică, utilizarea de blocuri mai mari mărește eficiența de codare, reducând în același timp timpul de decodificare [15] .

Eficiența de codare a H.265 Main Profile a fost comparată cu H.264/MPEG-4 AVC High Profile (HP), MPEG-4 Advanced Simple Profile (ASP), H.263 High Profile Latency (HLP) și H.262/ Profil principal MPEG-2 (MP). Videoclipurile de divertisment și nouă secvențe video de testare la 12 rate de biți diferite au fost codificate folosind modelul de testare HEVC HM-8.0, cinci dintre ele au fost la rezoluție HD și patru au fost la rezoluție WVGA (800×480). Reducerea ratei de biți a fost determinată pe baza PSNR [15] .

Comparația standardelor de codare video cu PSNR egal
Standard de codare video Reducere medie a ratei de biți
H.264/MPEG-4 AVC HP MPEG-4 ASP H.263 HLP H.262/MPEG-2MP
HEVC MP 35,4% 63,7% 65,1% 70,8%
H.264/MPEG-4 AVC HP - 44,5% 46,6% 55,4%
MPEG-4 ASP - - 3,9% 19,7%
H.263 HLP - - - 16,2%

Structura codificatorului HEVC

La codificarea videoclipurilor în HEVC, se folosește aceeași abordare „hibridă” ca în toate codecurile moderne, începând cu H.261. Constă în aplicarea predicției intra- și inter-cadru (Intra-/Inter-) și codificarea transformării bidimensionale.

În codificatorul HEVC, fiecare cadru video este împărțit în blocuri. Primul cadru al secvenței video este codificat folosind doar predicția intra-cadru, adică predicția spațială a nivelului de eșantion așteptat în cadrul cadru este aplicată probelor adiacente, în timp ce nu există nicio dependență de alte cadre. Pentru majoritatea blocurilor din toate celelalte cadre ale secvenței, de regulă, se utilizează modul de predicție temporală intercadre. În modul de predicție intercadre, pe baza datelor privind valoarea eșantioanelor cadrului de referință și vectorului de mișcare, sunt estimate eșantioanele curente ale fiecărui bloc. Codificatorul și decodorul creează predicții identice între cadre prin aplicarea unui algoritm de compensare a mișcării folosind vectori de mișcare și date ale modului selectat, care sunt transmise ca informații secundare.

Semnalul de diferență de predicție, care este diferența dintre un bloc de referință al unui cadru și predicția acestuia, suferă o transformare spațială liniară. Coeficienții de transformare sunt apoi scalați, cuantificați, este aplicată codificarea entropiei și apoi transmise împreună cu informațiile de predicție.

Codificatorul repetă exact ciclul de procesare al decodorului, astfel încât predicțiile identice ale datelor ulterioare vor fi generate în ambele cazuri. Astfel, coeficienții cuantificați transformați sunt detartrați și apoi detransformați pentru a repeta valoarea semnalului de diferență decodificat. Diferența este apoi adăugată la predicție și rezultatul rezultat este filtrat pentru a netezi artefactele de blocare și cuantizare. Reprezentarea finală a cadrului (identică cu cadrul de la ieșirea decodorului) este stocată în tamponul de cadre decodificat, care va fi folosit pentru a prezice cadrele ulterioare. Ca urmare, ordinea în care cadrele de procesare sunt codificate și decodificate diferă adesea de ordinea în care provin de la sursă.

Se presupune că materialul video de la intrarea codificatorului HEVC este scanare progresivă. HEVC nu furnizează funcții de codificare explicite, deoarece nu este utilizat în afișajele moderne și distribuția sa este în scădere. Cu toate acestea, HEVC a introdus metadate pentru a indica codificatorului că videoclipul întrețesut a fost codificat în unul dintre cele două moduri: ca imagini individuale, ca două câmpuri (linii pare sau impare ale cadrului) sau întregul cadru în ansamblu. Această metodă eficientă oferă codificare video întrețesătă fără a fi nevoie să încarce decodoarele cu un proces de decodare dedicat.

Profiluri

În octombrie 2012, proiectul includea trei profiluri: Main (Main), Main 10 (Main 10) și Main Still Picture (Main Still Picture) [16] .

Un profil este un set specific de instrumente și algoritmi de codare care pot fi utilizați pentru a crea un flux video corespunzător acestui profil [15] . Codificatorul, atunci când formează un flux video, determină ce componente pot fi utilizate pentru un profil, în timp ce decodorul trebuie să suporte toate funcțiile pentru un anumit profil.

Principal (Profil principal)

Următoarele restricții sunt definite pentru profilul principal:

Principal 10

Main 10 este un profil pentru codificarea video cu o adâncime de culoare de 10 biți pe canal [16] .

Comparația elementelor principale ale codificatoarelor:

AVC (Profil înalt) HEVC (principal 10) HEVC (profil principal)
Dimensiunea blocului Macroblock 16×16 Blocuri cu o structură arborescentă de codare de la 64x64 la 8x8 de la 64×64 la 16×16
Blocuri de predicție Împărțiți până la 4×4 64×64 până la 4×4, predicție asimetrică 64×64 până la 8×8, predicție simetrică
Transformă blocuri 8×8 și 4×4 32x32 16x16 8x8 4x4 + transformări non-pătrate 32×32 16×16 8×8 4×4
Predicție intra-cadru 9 moduri 35 de moduri 35 de moduri
Transformare inversă Filtru de deblocare Filtru de deblocare, SAO Filtru de deblocare, SAO
Compensarea mișcării Predicția vectorului de mișcare Predicție avansată a vectorului de mișcare (spațială și temporală)
Adâncimea culorii pe canal 8 biți 10 biți 8 biți
Codificarea entropiei CABAC sau CAVLC CABAC folosind operații paralele

Imagine statică principală

Profilul principal al imaginilor statice permite codificarea unei singure imagini, cu anumite restricții corespunzătoare profilului principal [16] .

Niveluri

Din octombrie 2012, proiectul HEVC a definit două straturi - Principal (Principal) și Înalt (Înalt) și 13 niveluri [16] . Nivelul (Nivelul) este un set de restricții pentru fluxul de date asociat cu capacitățile de calcul ale decodorului și încărcării memoriei. Nivelul este setat pe baza frecvenței maxime de eșantionare, a dimensiunii maxime a cadrului, a ratei de biți maxime, a raportului minim de compresie și a capacităților cadru tampon ale decodorului și codificatorului. Conceptul de strat ( eng.  Tier  - tier) a fost introdus pentru aplicațiile care diferă doar prin rata maximă de biți și capacitatea frame-buffer-ului codificatorului. Stratul principal a fost proiectat pentru majoritatea aplicațiilor, în timp ce stratul înalt este conceput pentru aplicații mai solicitante. Un decodor care corespunde unui anumit strat și strat trebuie să decodeze toate fluxurile codificate cu parametrii acelui strat și strat și toate straturile și straturile inferioare. Pentru nivelurile sub 4, este permis doar Stratul de bază [1] [16] .

Niveluri cu parametri maximi
Nivel Max.
frecvența de eșantionare [ 17]
(Hz)
Max.
dimensiunea cadrului [ 17]
(pixeli)
Max. rata de biți
pentru profilurile principale și principale 10
(kbps)
Exemplu de rezoluție cadru @
max. rata de cadre
(dimensiunea maximă a
memoriei tampon)
Min. raportul
de compresie
Strat de baza strat înalt
unu 552 960 36 864 128 - 128×96@33,7 (6)
176×144@15,0 (6)
2
2 3 686 400 122 880 1500 - 176×144@100,0 (16)
352×288@30,0 (6)
2
2.1 7 372 800 245 760 3000 - 352×288@60,0 (12)
640×360@30,0 (6)
2
3 16 588 800 552 960 6000 - 640×360@67,5 (12)
720×480@42,1 (8)
720×576@37,5 (8)
960×544@30,0 (6)
2
3.1 33 177 600 983.040 10.000 - 720×480@84,3 (12)
720×576@75,0 (12)
960×544@60,0 (8)
1280×720@33,7 (6)
2
patru 66 846 720 2 228 224 12 000 30.000 1280×720@68,0 (12)
1920×1080@32,0 (6)
2048×1080@30,0 (6)
patru
4.1 133 693 440 20 000 50.000 1280×720@136,0 (12)
1920×1080@64,0 (6)
2048×1080@60,0 (6)
patru
5 267 386 880 8 912 896 25 000 100.000 1920×1080@128,0 (16)
3840×2160@32,0 (6)
4096×2160@30,0 (6)
6
5.1 534 773 760 40 000 160 000 1920×1080@256,0 (16)
3840×2160@64,0 (6)
4096×2160@60,0 (6)
opt
5.2 1 069 547 520 60 000 240 000 1920×1080@300,0 (16)
3840×2160@128,0 (6)
4096×2160@120,0 (6)
opt
6 1 069 547 520 35 651 584 60 000 240 000 3840×2160@128,0 (16)
4096×2160@120,0 (16)
4096×2304@113,3 (12)
7680×4320@32,0 (6)
8192×4320@30,0 (6)
opt
6.1 2 139 095 040 120 000 480 000 3840×2160@256,0 (16)
4096×2160@240,0 (16)
4096×2304@226,6 (12)
7680×4320@64,0 (6)
8192×4320@60,0 (6)
opt
6.2 4 278 190 080 240 000 800 000 3840×2160@300,0 (16)
4096×2160@300,0 (16)
4096×2304@300,0 (12)
7680×4320@128,0 (6)
8192×4320@120,0 (6)
6

Note

  1. 1 2 G.J. Sullivan . Prezentare generală a standardului de codificare video de înaltă eficiență (HEVC) (pdf), IEEE Trans. privind circuitele și sistemele pentru tehnologia video (25 mai 2012). Arhivat din original pe 8 ianuarie 2020. Preluat la 14 septembrie 2012.
  2. ISO/IEC FDIS 23008-2 , Organizația Internațională pentru Standardizare  (14 mai 2013). Arhivat din original pe 26 februarie 2017. Preluat la 14 iunie 2013.
  3. 1 2 Pagina principală ITU-T : Grupuri de studiu : Recomandări ITU-T : ITU-T H.265 (04/2013) , ITU (13 aprilie 2013). Arhivat din original pe 5 noiembrie 2013. Preluat la 16 aprilie 2013.
  4. H.265: High efficient video coding , ITU (7 iunie 2013). Arhivat din original la 1 ianuarie 2021. Preluat la 7 iunie 2013.
  5. Proiect de raport al reuniunii pentru cea de-a 31-a întâlnire VCEG Arhivat 22 iulie 2012 la Wayback Machine (Marrakech, MA, 15-16 ianuarie 2007)
  6. Proiect de cerințe pentru proiectul de codare video cu performanță îmbunătățită „EPVC” , ITU-T VCEG  (10 iulie 2009). Arhivat din original pe 27 februarie 2021. Preluat la 24 august 2012.
  7. Un interviu cu Dr. Thomas Wiegand (link indisponibil) . in-cite (1 iulie 2007). Preluat la 18 august 2012. Arhivat din original la 24 octombrie 2012. 
  8. ITU TSB. Echipa de colaborare comună pentru codarea video (link indisponibil) . ITU-T (21 mai 2010). Preluat la 24 august 2012. Arhivat din original la 24 octombrie 2012. 
  9. Documente ale primei reuniuni a Joint Collaborative Team on Video Coding (JCT-VC) – Dresda, Germania, 15–23 aprilie 2010 (link nu este disponibil) . ITU-T (23 aprilie 2010). Preluat la 24 august 2012. Arhivat din original la 24 octombrie 2012. 
  10. MPEG emite un proiect de compresie video , Ericsson (13 august 2012). Arhivat din original pe 4 iunie 2016. Preluat la 16 august 2012.
  11. Qualcomm arată puterea video H.265 de nouă generație , CNET (29 februarie 2012). Arhivat din original pe 22 februarie 2014. Preluat la 12 octombrie 2012.
  12. World First Live HEVC Broadcast Encoders: AL1200/AL2200 , PRNewswire (31 august 2012). Arhivat din original pe 6 septembrie 2012. Preluat la 31 august 2012.
  13. Ericsson prezintă o nouă perspectivă asupra experienței de vizionare [13-09-2012] Arhivat 14 martie 2016.
  14. Starea curentă a H.265 (în iulie 2008) | H265.net (link indisponibil) . Consultat la 8 noiembrie 2009. Arhivat din original la 15 octombrie 2012. 
  15. 1 2 3 G.J. Sullivan . Comparație a eficienței de codare a standardelor de codare video – inclusiv codare video de înaltă eficiență (HEVC) (pdf), IEEE Trans. privind circuitele și sistemele pentru tehnologia video (22 august 2012). Arhivat din original pe 11 august 2013. Preluat la 22 septembrie 2012.
  16. 1 2 3 4 5 Proiect de specificație text pentru codificare video de înaltă eficiență (HEVC) 9 , JCT-VC (22 octombrie 2012). Arhivat din original pe 29 iulie 2013. Preluat la 23 octombrie 2012.
  17. 1 2 Pentru componenta de luminozitate

Vezi și

Link -uri