Test MPEG-4 kodeků: 1. část
23.1.2008, Radek Jahoda, recenze
Problematiku testu kodeků jsme si už představili, tak se můžeme podívat na konkrétní výsledky. Začneme s fenoménem dnešní doby - kodeky založené na MPEG-4 technologii. Vybrány byly ty běžně dostupné, které může kdokoliv použít. Který kodek používáte Vy? Je to ten nejlepší?
Kapitoly článku:
Microsoftu se podařilo protlačit svůj kodek WMV9 mezi standardy, sice pod jiným jménem VC-1, to ale nic nemění na tom, že jde o stejný kodek jako Windows Media Video 9 (WMV9). Na svých stránkách dokonce uvádí, že WMV9 je implementace standardu VC-1, my ale víme, že vývoj byl opačný - nejprve WMV9 a pak teprve VC-1, které si našlo dokonce cestu do specifikace Blu-ray a HD DVD po boku H.264. Máme tedy očekávat i srovnatelnou kvalitu?
Výhodou kodeku je to, že je vlastně standardní součástí Windows, Microsoft dodává programy pro jejich tvorbu, ať už je to MovieMaker, nebo starší, ale pokročilejší Windows Media Encoder, který jsem použil pro kompresi. Ani tak ale není mnoho nastavení samotného kodeku - lze vybrat jen bitrate a interval klíčových snímků.
Kodek zvládá i dvouprůchodové kódování, s přehráváním nejsou problémy, protože dekodér je nainstalován ve Windows standardně. Stejně tak lze přehrát v Linuxu, protože je podporován libavcodec, párkrát se mi ale stalo (ne v tomto případě), že se v obraze na Linuxu zobrazilo video v tomto formátu špatně.
Kodek drží nastavený datový tok velmi dobře, je ale nutné brát v úvahu, že počítá kbit jako 1024 bitů. Výsledný bitrate byl tedy o něco vyšší než u konkurentů. Uvidíme, zda mu to bude k dobru. Každopádně při kompresi je nutné toto brát na zřeteli. Graf toto přesně potvrzuje.
Když se podíváme na rozložení bitrate v čase, tak nás hned uhodí do oka rozdíly u různých scén. Nedochází k pouhému zvyšování bitrate, ale jeho průběh se značně mění. Dobře je to vidět právě u nejvyšších datových toků 3500 a 4000kbit/s, všimněte si rozdílu hlavně ve druhé polovině videa.
Projevuje se to i v kvalitě, která se u různých scén různě mění. Celková, tedy průměrná kvalita se sice se vzrůstajícím bitrate zvyšuje, přičemž rozdíl mezi 3500 a 4000 je zanedbatelný, zlom přichází až ve 3000kbitech za vteřinu.
Vyšší bitrate ale nemusí znamenat vyšší kvalitu pro určitou scénu. Opět se to projevuje hlavně ve vyšších datových tocích, zde především ve druhé části grafu - protínajících se křivek zelené pro 3500 a modré pro 4000 je toho důkazem. Za rate control, tedy řízení datového toku v čase, moc bodů Microsoft nezíská.
U maximálních hodnot je situace ještě horší. Ty se zlepšují tak do 1500kbit/s, pak přichází zlom a ke snižování již v podstatě nedochází. Navíc hodnoty jsou hodně velké - 40 ze 255 je 15%, což je dost. Kompresor tedy opravdu dost chybuje nebo je to vlastnost a prostě spoléhá na to, že si toho divák nevšimne.
Výše uvedené potvrzuje i graf v čase, kde je vidět, že u stejných scén dělá kodek stejné chyby a od 2000kbit/s je již křivka téměř identická.
Pohled na rozdíl DCT koeficientů ukazuje pokles až ke 3000kbit/s, pak se již nemění. Kopíruje tedy průběh průměrných chyb.
Zajímavý je ale pohled na rozložení v čase - ve křivce jsou značné výkyvy, což také není příliš dobře. Často také klesá pod nulu, což znamená zanášení dalších chyb do obrazu.
Myslím, že z uvedeného je zřejmé, že WMV9 nebude kodek snů. Uvidíme, jak si povede v přímém srovnání s konkurenty. Zopakujme, že k vylepšování průměrné kvality dochází až do 3000kbit/s, naopak maximální hodnoty se již od 1500kbit/s nemění.
Výhodou kodeku je to, že je vlastně standardní součástí Windows, Microsoft dodává programy pro jejich tvorbu, ať už je to MovieMaker, nebo starší, ale pokročilejší Windows Media Encoder, který jsem použil pro kompresi. Ani tak ale není mnoho nastavení samotného kodeku - lze vybrat jen bitrate a interval klíčových snímků.
Kodek zvládá i dvouprůchodové kódování, s přehráváním nejsou problémy, protože dekodér je nainstalován ve Windows standardně. Stejně tak lze přehrát v Linuxu, protože je podporován libavcodec, párkrát se mi ale stalo (ne v tomto případě), že se v obraze na Linuxu zobrazilo video v tomto formátu špatně.
Kodek drží nastavený datový tok velmi dobře, je ale nutné brát v úvahu, že počítá kbit jako 1024 bitů. Výsledný bitrate byl tedy o něco vyšší než u konkurentů. Uvidíme, zda mu to bude k dobru. Každopádně při kompresi je nutné toto brát na zřeteli. Graf toto přesně potvrzuje.
Když se podíváme na rozložení bitrate v čase, tak nás hned uhodí do oka rozdíly u různých scén. Nedochází k pouhému zvyšování bitrate, ale jeho průběh se značně mění. Dobře je to vidět právě u nejvyšších datových toků 3500 a 4000kbit/s, všimněte si rozdílu hlavně ve druhé polovině videa.
Projevuje se to i v kvalitě, která se u různých scén různě mění. Celková, tedy průměrná kvalita se sice se vzrůstajícím bitrate zvyšuje, přičemž rozdíl mezi 3500 a 4000 je zanedbatelný, zlom přichází až ve 3000kbitech za vteřinu.
Vyšší bitrate ale nemusí znamenat vyšší kvalitu pro určitou scénu. Opět se to projevuje hlavně ve vyšších datových tocích, zde především ve druhé části grafu - protínajících se křivek zelené pro 3500 a modré pro 4000 je toho důkazem. Za rate control, tedy řízení datového toku v čase, moc bodů Microsoft nezíská.
U maximálních hodnot je situace ještě horší. Ty se zlepšují tak do 1500kbit/s, pak přichází zlom a ke snižování již v podstatě nedochází. Navíc hodnoty jsou hodně velké - 40 ze 255 je 15%, což je dost. Kompresor tedy opravdu dost chybuje nebo je to vlastnost a prostě spoléhá na to, že si toho divák nevšimne.
Výše uvedené potvrzuje i graf v čase, kde je vidět, že u stejných scén dělá kodek stejné chyby a od 2000kbit/s je již křivka téměř identická.
Pohled na rozdíl DCT koeficientů ukazuje pokles až ke 3000kbit/s, pak se již nemění. Kopíruje tedy průběh průměrných chyb.
Zajímavý je ale pohled na rozložení v čase - ve křivce jsou značné výkyvy, což také není příliš dobře. Často také klesá pod nulu, což znamená zanášení dalších chyb do obrazu.
Myslím, že z uvedeného je zřejmé, že WMV9 nebude kodek snů. Uvidíme, jak si povede v přímém srovnání s konkurenty. Zopakujme, že k vylepšování průměrné kvality dochází až do 3000kbit/s, naopak maximální hodnoty se již od 1500kbit/s nemění.