Czy H.264 AVC jest „lepszy” niż H265 HEVC? W jakich warunkach H.264 może przewyższać H.265?
W jakich warunkach H.264 może przewyższać H.265?
Ogólnie, nowsze standardy kompresji wideo oferują przewagę wydajności w porównaniu do istniejących. Na przykład H.265 HEVC jest znany z tego, że jest o 40% bardziej wydajny niż H.264 kosztem 10x większej złożoności.
Klient NETINT zaobserwował, że w pewnych okolicznościach H.264 AVC może przewyższyć H.265 HEVC. Poniższy test PSNR, który wykorzystuje kodery open source libx265 i libx264 do kodowania identycznego testowego wideo ilustruje ten punkt.
Rysunek 1 Porównanie PSNR pomiędzy x265 i x264
Przy parametrze kwantyzacji (QP)=27, bitrate H.265 i H.264 są podobne (9,66Mbps vs 9,96Mbps), ale PSNR zakodowanego wideo H.265 jest niższy (40,19 vs 41,8). Dlaczego tak się dzieje?
W porównaniu z oryginalnym obrazem, w obrazie H.265 brakuje małych szczegółów.
Rysunek 2 – Użycie WinMerge do porównania pierwszej klatki dla H.264 (po lewej), H.265Środek), oryginał (po prawej)
Poniższe porównanie ilustruje różnice w sposobie kodowania wideo x264 i x265.
Rysunek 3 – Oryginalny obraz – zauważ obecność czarnego piksela zaznaczonego w białym kwadracie
Rysunek 4 – Skompresowany przy użyciu x264, zauważ, że piksel jest nadal obecny
Rysunek 5 – Skompresowany przy użyciu x265, brak piksela.
Przy stałym QP=27, kodowanie x265 usunęło pojedyncze piksele, które nie miały wpływu na subiektywną wydajność wizualną, ale spowodowały znaczny spadek wydajności PSNR w porównaniu do oryginalnego obrazu.
H.265 wykorzystuje bloki 16×16, 32×32 lub 64×64. H264 używa bloków 4×4 lub 8×8. Kodowanie H.264 ma pewne zalety w zachowaniu małych szczegółów, które mogą nie być wykrywalne wizualnie, ale mogą być zmierzone w testach PSNR.
Wszystkie algorytmy kompresji wideo są zaprojektowane tak, aby zachować znaczące szczegóły, na które ludzkie oko jest wrażliwe (algorytmy kompresji dla uczenia maszynowego są w drodze!). Dla nienaturalnych obrazów zawierających artefakty wizualne lub szumy wprowadzone podczas przechwytywania lub przetwarzania, H.265 może nie być w stanie zachować szczegółów wizualnych tych obrazów lepiej niż H.264.
Ekstremalnym przykładem względnej wydajności H.265 i H.264 na nienaturalnych obrazach jest obraz czystego białego szumu.
Rysunek 6 – Obraz wideo z białym szumem 512×512
Testowane za pomocą tych poleceń odpowiednio dla x264 i x265 oraz z wymuszaniem wszystkich i-ramek:
ffmpeg -i .-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 szum%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
Rysunek 7 – Wideo z białym szumem zakodowane za pomocą x264 i x265, porównanie PSNR i rozmiaru pliku
Przy stałym QP=27, x264 PSNR wynosi 35.87dB, a x265 PSNR wynosi 23,02dB. x264 ma o 12 dB lepszą wydajność PSNR w porównaniu do x265 dla tego obrazu z losowym szumem!
Korzystając z mniejszej macierzy transformacji (4×4), H.264 może być lepszy do zachowania większej ilości szczegółów niż większa matryca (16×16, lub większa) w H265.
Dla obrazów z większą ilością szczegółów o wysokiej częstotliwości, które zawierają szum rozpraszający lub artefakty kompresji (na przykład szum komara), H.264 pokaże wyższy SNR niż H.265 z tym samym QP.
Z tego eksperymentu możemy również zrozumieć ograniczenia testu PSNR jako obiektywnego testu jakości, który nie jest spójny z rzeczywistą postrzeganą jakością wizualną. Nowsze metody oceny jakości wizualnej, takie jak SSIM, MS-SSIM, VMAF, dokładniej dopasowują się do ludzkiego systemu wizualnego i stanowią dokładniejszą ocenę jakości wizualnej.
Aby odnieść się do oryginalnych spostrzeżeń klienta, zgodzili się oni, że wejściowe wideo było mocno skompresowane i nie nadawało się do wykorzystania w takiej ocenie.
Proszę odnieść się do strony NETINT w sprawie bardziej subiektywnego porównania testów: Subiektywna jakość transkodowania HEVC
.
Leave a Reply