Je H.264 AVC „lepší“ než H265 HEVC ? Za jakých podmínek může H.264 překonat H.265?
Za jakých podmínek může H.264 překonat H.265?
Všeobecně platí, že novější standardy komprese videa nabídnou výkonnostní výhody ve srovnání se stávajícími. Například je známo, že H.265 HEVC je o 40 % výkonnější než H.264 za cenu 10x větší složitosti.
Zákazník NETINT vypozoroval, že za určitých okolností může H.264 AVC překonat H.265 HEVC. To ilustruje následující test PSNR, který využívá open source enkodéry libx265 a libx264 k enkódování identického testovacího videa.
Obrázek 1 Porovnání PSNR mezi x265 a x264
Při kvantizačním parametru (QP)=27 je datový tok H.265 a H.264 jsou podobné (9,66 Mb/s vs 9,96 Mb/s), ale PSNR kódovaného videa H.265 je nižší (40,19 vs 41,8). Proč k tomu dochází?
Při porovnání s původním obrazem chybí obrazu H.265 malé detaily.
Obrázek 2 – Využití programu WinMerge k porovnání prvního snímku pro H.264 (vlevo), H.265Uprostřed), originál(vpravo)
Následující srovnání ilustruje rozdíly ve způsobu kódování videa x264 a x265.
Obrázek 3 – Původní obraz – všimněte si přítomnosti černého pixelu zvýrazněného v bílém čtverci
Obrázek 4 – Komprimovaný pomocí x264, všimněte si, že pixel je stále přítomen
Obrázek 5 – Komprimovaný pomocí x265, pixel chybí.
Při pevném QP=27 kódování x265 odstranilo jednotlivé pixely, které neměly vliv na subjektivní vizuální výkon, ale vytvořily výrazné snížení výkonu PSNR ve srovnání s původním obrazem.
H.265 využívá bloky 16×16, 32×32 nebo 64×64. H264 používá bloky 4×4 nebo 8×8. Kódování H.264 má určité výhody pro zachování malých detailů, které nemusí být vizuálně zjistitelné, ale lze je měřit v testech PSNR.
Všechny algoritmy pro kompresi videa jsou navrženy tak, aby zachovaly smysluplné detaily, na které je lidské oko citlivé (kompresní algoritmy pro strojové učení jsou na cestě!). U nepřirozených obrazů včetně vizuálních artefaktů nebo šumu vneseného během snímání nebo zpracování nemusí být H.265 schopen zachovat vizuální detaily těchto obrazů lépe než H.264.
Extrémní příklad relativního výkonu H.265 a H.264 na nepřirozených obrazech je obraz s čistě bílým šumem.
Obrázek 6 – Video s bílým šumem 512×512
Testováno pomocí těchto příkazů pro x264, resp. x265 a s vynucením všech i-snímků:
ffmpeg -i .\images\noise-%03d.png -c:v libx264 -x264-params frame-threads=4:keyint=1:ref=1:no-open-gop=1:weightp=0:weightb=0:cutree=0:rc-lookahead=0:bframes=0:scenecut=0:b-adapt=0:repeat-headers=1:qp=27 -pix_fmt yuv420p noise264alli.264
ffmpeg -i .\images\noise-%03d.png -c:v libx265 -x265-params frame-threads=4:keyint=1:ref=1:no-open-gop=1:weightp=0:weightb=0:cutree=0:rc-lookahead=0:bframes=0:scenecut=0:b-adapt=0:repeat-headers=1:qp=27 -pix_fmt yuv420p noise265alli.265
Obrázek 7 – Video s bílým šumem kódované pomocí x264 a x265, porovnání PSNR a velikosti souboru
Při pevném QP=27 je PSNR x264 35 %.87 dB a x265 PSNR je 23,02 dB. x264 má o 12 dB lepší výkon PSNR ve srovnání s x265 pro tento obraz s náhodným šumem!
Výhoda menší transformační matice (4×4), H.264 může být lepší pro zachování více detailů než větší matice (16×16 nebo větší) v H265.
U obrazů s více vysokofrekvenčními detaily, které obsahují rozptylový šum nebo kompresní artefakty (například šum komárů), bude H.264 vykazovat vyšší SNR než H.265 se stejným QP.
Z tohoto experimentu můžeme také pochopit omezení testu PSNR jako objektivního testu kvality, který se důsledně neshoduje se skutečně vnímanou vizuální kvalitou. Novější metody hodnocení vizuální kvality, jako jsou SSIM, MS-SSIM, VMAF, přesněji odpovídají lidskému vizuálnímu systému a představují přesnější hodnocení vizuální kvality.
V reakci na původní připomínky zákazníka se shodli na tom, že vstupní video bylo silně komprimované a nebylo vhodné, aby bylo použito v takovém hodnocení.
Podrobnější srovnání subjektivních testů naleznete na webu NETINT: Subjektivní kvalita překódování HEVC
Leave a Reply