Is H.264 AVC “beter” dan H265 HEVC ? Onder welke voorwaarden kan H.264 beter presteren dan H.265?
Onder welke voorwaarden kan H.264 beter presteren dan H.265?
In het algemeen bieden nieuwere videocompressienormen prestatievoordelen ten opzichte van bestaande normen. Van H.265 HEVC is bijvoorbeeld bekend dat het 40% efficiënter is dan H.264, maar ten koste van 10x meer complexiteit.
Een klant van NETINT heeft geconstateerd dat onder bepaalde omstandigheden H.264 AVC beter kan presteren dan H.265 HEVC. De volgende PSNR-test, waarbij de open source libx265- en libx264-encoders worden gebruikt om identieke testvideo te coderen, illustreert dit punt.
Figuur 1 PSNR-vergelijking tussen x265 en x264
Met Kwantiseringsparameter (QP)=27 is de bitrate van H.265 en H.264 vergelijkbaar (9.66Mbps vs 9.96Mbps) maar de PSNR van de H.265 gecodeerde video is lager (40.19 vs 41.8). Waarom gebeurt dit?
Vergeleken met het originele beeld, mist het H.265 beeld kleine details.
Figuur 2 – Gebruik WinMerge om het eerste frame te vergelijken voor H.264 (links), H.265Midden), origineel (rechts)
De volgende vergelijking illustreert de verschillen in de manier waarop x264 en x265 video coderen.
Figuur 3 – Origineel beeld – Let op de aanwezigheid van de zwarte pixel in het witte vierkant
Figuur 4 – Gecomprimeerd met x264, let op de pixel is nog steeds aanwezig
Figuur 5 – Gecomprimeerd met x265, de pixel ontbreekt.
Met een vaste QP=27 verwijderde x265-codering individuele pixels die geen invloed hadden op de subjectieve visuele prestaties, maar een aanzienlijke verlaging van de PSNR-prestaties veroorzaakten in vergelijking met de originele afbeelding.
H.265 maakt gebruik van 16×16, 32×32 of 64×64 blokken. H264 gebruikt 4×4 of 8×8 blokken. H.264-codering heeft enkele voordelen voor het behoud van kleine details die visueel misschien niet waarneembaar zijn, maar wel kunnen worden gemeten in PSNR-tests.
Alle videocompressiealgoritmen zijn ontworpen om betekenisvolle details te behouden waarvoor het menselijk oog gevoelig is (compressiealgoritmen voor machinaal leren zijn in aantocht!). Voor onnatuurlijke beelden, met inbegrip van visuele artefacten of ruis die tijdens de opname of verwerking is geïntroduceerd, is het mogelijk dat H.265 de visuele details van deze beelden niet beter kan behouden dan H.264.
Een extreem voorbeeld van de relatieve prestaties van H.265 en H.264 op onnatuurlijke beelden is een beeld met pure witte ruis.
Figuur 6 – Een video met witte ruis 512×512
Getest met deze commando’s voor respectievelijk x264 en x265 en met force all i-frames:
ffmpeg -i .\afbeeldingen-ruis-%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%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
Figuur 7 – Witte ruis video gecodeerd met x264 en x265, de PSNR en bestandsgrootte vergelijking
Met vaste QP=27, x264 PSNR is 35.87dB en x265 PSNR is 23.02dB. x264 heeft 12 dB betere PSNR prestaties vergeleken met x265 voor dit beeld met willekeurige ruis!
Gezien het voordeel van een kleinere transformatie matrix (4×4), kan H.264 beter zijn voor het behoud van meer details dan de grotere matrix (16×16, of groter) in H265.
Voor beelden met meer hoogfrequente details die verstrooiingsruis of compressieartefacten bevatten (bijvoorbeeld muggenruis), zal H.264 een hogere SNR vertonen dan H.265 met dezelfde QP.
Vanuit dit experiment kunnen we ook de beperkingen begrijpen van de PSNR-test als een objectieve kwaliteitstest die niet consistent overeenstemt met de werkelijke waargenomen visuele kwaliteit. Nieuwere methoden voor visuele kwaliteitsevaluatie, zoals SSIM, MS-SSIM en VMAF, sluiten beter aan bij het menselijke visuele systeem en vormen een nauwkeurigere beoordeling van de visuele kwaliteit.
Om in te gaan op de oorspronkelijke opmerkingen van de klant, waren ze het erover eens dat de inputvideo zwaar gecomprimeerd was en niet geschikt was om in een dergelijke evaluatie te worden gebruikt.
Verwijs naar de NETINT-website voor meer subjectieve testvergelijking: Subjectieve HEVC Transcoding Kwaliteit
Leave a Reply