Nejrychlejší konverze filmů
Od smartphonů po HDTV – filmy sledujeme všude. Konvertory je umí připravit do správného formátu, a ty, které využívají výkon GPU, to zvládnou extrémně rychle. Který z nich je ale nejlepší?
Markus Mandau
"Dříve se čekalo celou noc, než kodér převede film do požadovaného formátu. Pokud ale program umí využít výkon grafické karty, zkrátí se čas pro převod HD filmu na půl hodiny," říká redaktor Chipu.
Počet klipů nahraných na YouTube se v loňském roce zdvojnásobil. Všechna tato videa přitom musí být převedena do správného rozlišení a formátu. To znamená množství práce pro procesor. Přitom právě konverze videa je činnost, která dokáže naplno vytížit i nejmodernější a nejvýkonnější procesory. To platí především pro formát H.264, který se dnes používá prakticky všude. Nabízí vysokou kvalitu obrazu při nízkém bitrate, ale je velmi náročný na výkon počítače.
Rychlé kodéry využívají grafickou kartu
Moderní kodéry dokážou naplno využít výkon grafické karty. Příklad: Nejrychlejší procesor Core i7 2600k dokáže video v plné kvalitě 1 080p pomocí kodéru x264 konvertovat v reálném čase – hodina filmu je tak převedena za jednu hodinu. Rychlý GPU kodér zvládne to samé za 10 minut. Náš test však nemá ukázat jen to, který kodér je nejrychlejší, ale také to, který nabízí nejlepší možnou kvalitu. Porovnávali jsme programy, které používají pro kódování GPU, a zjišťovali jsme, zda se ušetřený čas nějak neprojeví na kvalitě výsledku.
Omezení: Počítač na limitu
Pouze správná kombinace grafické karty a videokodéru zajistí maximální rychlost konverze
Kódování videa je komplexní proces, při kterém komponenty počítače pracují paralelně. Nejvíce je potřebný hrubý výpočetní výkon. K tomu je třeba výkonný procesor, který bude v ideálním případě vybaven stovky jader. CPU mají počet jader v řádu jednotek, přesto ale máte v počítači procesor, jehož počet jader se počítá na stovky – je to grafický procesor (GPU). Pro náš test jsme použili grafickou kartu AMD Radeon HD 6950, jejíž GPU nabízí 1 400 streamovacích procesorů, jež mohou počítat paralelně.
Intel zrychlí převod
Aby bylo možné využít výkonu GPU, musí počítač splňovat hardwarové předpoklady, především grafická karta. Programy umí využít výkon u platforem Intel, nVidia a AMD – pro tyto platformy má knihovny, které používají GPU (viz infografika napravo). To ale také znamená, že na každé platformě se bude kodér chovat trochu jinak.
Měření jsme prováděli při kódování filmu na rozlišení 1 080p (podrobnosti vpravo). Jak můžete vidět, rozdíly mezi platformami jsou značné, a to často větší než mezi jednotlivými kodéry. Ukazuje se, že grafický čip používaný u Intel Sandy Bridge je obzvláště efektivní. Dokonce poráží i samostatné grafické karty nVidia a AMD, jejichž grafický výkon bývá několikanásobně vyšší. Media Espresso, kodér společnosti CyberLink, dokázal kódovat v našem testu video z rozlišení 1 080p (1 920 × 1 080) na 720p (1 280 × 720) rychlostí 186 fps (snímků za sekundu), tedy sedmkrát rychleji, než je reálný čas! I jiné kodéry byly na platformě Intel znatelně rychlejší. Konverze na samostatné grafické kartě není tak efektivní. Nejrychleji si vedl ArcSoft MediaConverter, který na grafické kartě GeForce GTX 480 prováděl stejný úkol rychlostí 140 fps. Platforma AMD se pak ukázala jako nejpomalejší – 113 fps bylo maximum. I to je ale stále mnohem více, než kolik nabídne převod jen pomocí CPU. Zde byla nepřekročitelným stropem rychlost 40 fps.
Problémové AMD
Z testovaných programů podporovaly technologii AMD APP (Accelerated Parallel Processing) jen tři programy – TotalCode Studio, MediaConverter a MediaEspresso. TMPGEnc Video Mastering Works, DVDFAb a Badaboom se omezují jen na platformu nVidia a Intel. Navíc je třeba, aby měl uživatel vedle ovladače grafické karty nainstalovaný také AMD Media Codec Package, jinak nebude hardwarová akcelerace funkční. Hloupé je, že programy neumí uživatele upozornit, že tento balíček není nainstalován a že jej musí doinstalovat ručně. Omluvitelné to je snad jen u profesionálního nástroje TotalCode, ale ne u produktů určených pro koncové uživatele, jako jsou produkty firem ArcSoft a CyberLink.
KONVERZE POMOCÍ GPU
Kódování za využití grafické karty je mnohem rychlejší, než když jsou výpočty na bedrech CPU. Ale také mezi grafickými platformami jsou rozdíly.
TŘI PLATFORMY PRO GPU KODÉRY
Intel, nVidia a AMD nabízí své vlastní řešení pro využití výkonu GPU. Programátorům nabízí knihovny, které zajistí jednoduchý přístup k výkonu GPU.
INTEL QUICK SYNC
V případě Intelu se pro konverzi využívá grafický čip, který je integrován do procesorů Sandy¬Bridge. Ale využít GPU na procesoru mohou jen čipsety H67 a Z68. U rozšířeného P67 je funkce uzamčena.
NVIDIA CUDA
Grafické karty nVidia od roku 2007 na úrovni GeForce 8500 a lepší jsou vybaveny technologií CUDA, která umožňuje využívat výkon GPU. CUDA se používá i pro jiné aplikace než pro kódování videa.
AMD ACCELERATED PARALLEL PROCESSING
AMD sází od léta 2011 na technologii OpenCL. Nová technologie však ještě není podporována všemi výrobci kodérů. Minimální požadavky na hardware jsou AMD Radeon HD 2600 série.
SROVNÁNÍ RYCHLOSTÍ: GPU PROTI CPU
V přímém srovnání rychlostí kodérů se ukazuje, že GPU kodér v kombinaci s grafickou kartou na čipsetu Intel je neporazitelný. I pomalejší nVidia a nejpomalejší Intel jsou však několikrát rychlejší než nejrychlejší CPU konvertor x264.
PŘÍKLAD: ARCSOFT MEDIACONVERTER A CUDA
I GPU kodéry potřebují výkonné CPU, neboť ne všechny výpočty je možné svěřit grafické kartě. Jak ukazuje 1 , CPU je při konverzi vytížené, i když se o výpočet stará CUDA 2 nebo Accelerated Parallel Processing od AMD.
RYCHLE, NEBO HEZKY: NASTAVENÍ KVALITY
GPU kodéry lze optimalizovat pro kvalitu nebo pro rychlost. Intel takovou možnost nabízí, ale kvalita obrazu příliš neroste. Lepší kvalitu poskytne aktivace B snímků v ArcSoft MediaConverteru.
Kvalita obrazu: Dva skutečně dobré
Ne všechny kodéry udrží při vysoké rychlosti také dobrou kvalitu obrazu
Mezi rychlostí a kvalitou existuje velmi silná nepřímá úměra. Aby výsledek vypadal hezky, potřebuje kodér více času. Na tom se nemění nic, ať už hrubé výpočty provádí CPU, nebo GPU. Paralelní výpočty jader na grafickém procesoru dramaticky zvyšují rychlost kódování. Kvůli obrovské paralelizaci se však komplikuje proces, při kterém se kontroluje kvalita filmu. Kvalitní CPU kodér, jako je třeba x264, převádí film v několika průchodech a kontroluje kvalitu. Umí opravit jednotlivé snímky, zvýšit bitrate tam, kde je to potřeba. To zvládá jen TotalCode na AMD, ostatní programy funkci nenabízí. Tím trpí kvalita obrazu.
GPU kodérům chybí důležité funkce
Jádra grafických procesorů nejsou tak univerzální jako jádra CPU. Chybí jim určité instrukce, v mnoha ohledech jsou omezená. I to je důvod, proč jen dva kodéry podporují High profil standardu H.264, který se používá třeba u Blu-ray disků. Konkrétně se jedná o TotalCode a TMPGEnc. Tento profil totiž vyžaduje flexibilní uspořádání jednotlivých obrázků v rozdílně velkých blocích, v závislosti na tom, jak statické je pozadí filmu.
Proto se jednotlivé kodéry značně liší z hlediska kvality. Rozdíly nejsou příliš velké mezi platformami. To ukazují naše měření postavená na objektivních ukazatelích kvality obrazu, jako jsou PSNR a SSIM. Výjimkou je program MediaEspresso, který má na platformách Intel a AMD zřetelně lepší výsledky než u nVidie. Obecně je však kvalita horší, než pokud použijete pomalý převod na CPU prostřednictvím kodéru x264.
Velké rozdíly v kvalitě obrazu
SSIM a PSNR podávají informace o subjektivním dojmu z obrazu, ale viditelné jsou i kvalitativní rozdíly mezi jednotlivými kodéry a platformami. Ukázku vidíte na obrázku napravo. MediaEspresso na nVidii a ArcSoft na AMD – rozdíly při stejném bitrate jsou patrné na první pohled. Obraz ztrácí detaily a při sledování vypadá, jako by byl rozmazaný.
Ještě zřetelnější jsou rozdíly mezi jednotlivými kodéry, pokud se kóduje film s akčními scénami (podrobnosti v infografice napravo). Jen TotalCode a TMPGEnc nabízí kvalitu, která se přibližuje x264. To vše při relativně nízkém datovém toku 3 Mb/s. Převod probíhá ze zdrojového filmu s rozlišením 1 080p do filmu s rozlišením 720p. Většina kodérů se neubránila artefaktům. Tyto nedostatky budou na velkém televizoru jasně viditelné a zkazí to dojem z filmu. Kdo sleduje filmy na notebooku, tabletu nebo na smartphonu, nemusí se tím trápit – zde nebudou nedostatky vidět.
Obecně lze tedy říci, že pokud chcete kvalitní výsledek a nespěcháte, bude lepší použít x264 a nechat film přepočítat CPU. Pokud sledujete filmy na notebooku, tabletu, smartphonu apod., můžete bez obav sáhnout po GPU enkodéru. Na malém displeji nemáte šanci rozdíly vidět. A když spěcháte? Použijte GPU enkodér, ale použijte vysoký bitrate. Pak bude kvalita filmu v pořádku.
ANAlÝZA VIDEA
Kvalita obrazu rozhoduje o tom, zda je kodér dobrý, nebo špatný. Otázkou je, zda mohou GPU kodéry nabídnout stejnou kvalitu jako CPU konvertory, jako třeba x264.
Vítěz testu: totalcoDe nabízí kvalitu
GPU kodérům chybí důležité funkce, které zvyšují kvalitu převodu. Výjimkou je program TotalCode. Ten nabízí High-Profile pro Blu-ray 2 , umí rozpoznávat scény 1 . Celkově nabízí nejmodernější technologie mezi testovanými produkty, ale za vysokou cenu.
Srovnání kvality: totalcoDe proti x264
Křivky ukazuji, že podle hodnoty Structural Simularity (SSIM) je CPU kodér x264 při stejném bitrate vždy lepší než GPU kodér TotalCode. Rozdíl ale není velký, stačí nepatrně zvýšit bitrate, a kvalita se vyrovná. Maximální hodnota SSIM je 1.
Srovnání 1: MediaConverter na AMD a nViDii
Stejný kodér poskytuje na různých platformách různé výsledky. Zatímco ArcSoft MediaConverter na AMD 1 vypadá rozmazaně, v případě karty nVidia 2 si zachovává obraz všechny detaily.
Srovnání 2: MediaEspresso proti x264
Akční scény s nízkým bitrate jsou oříškem pro každý kodér. Většina GPU konvertorů, jako je Media Espresso 1, ztrácí při takových scénách detaily, zatímco x264 2 se s rychlými scénami vypořádá.
Testovací kritéria: Rychlost, kvalita, funkčnost
GPU kodéry jsou rychlé díky výkonu grafické karty. Rychlost ale není vše. Záleží také na kvalitě výsledného videa.
Kvalitu obrazu lze měřit objektivními metodami. Vzali jsme Blu-ray klip filmu "Master and Commander" s bitratem 23 Mb/s a snížili jej na 6 Mb/s při rozlišení 1 080p a také na 3 Mb/s při rozlišení 720p. Poté jsme měřili hodnoty PSNR (Peak Signal to Noise Ratio) a SSIM (Structural Simularity). Vždy se hodnotí proti originálnímu filmu. Zásadní pro dobrý výsledek je ale stejně subjektivní pocit z obrazu.
Rychlost převodu je hlavním důvodem, proč vůbec používat GPU kodéry. Proto jsme film nechávali převádět na všech platformách, které kodér uměl, a měřili jsme, jakou rychlostí (počet snímků za sekundu) je schopen kodér zpracovávat. Jako hardwarový základ sloužil procesor Intel Sandy Bridge Core i7s s integrovanou grafickou kartou a karty nVidia GeForce GTX 480 a Radeon HD 6950.
Možnosti nastavení jsou zrovna tak důležité, abyste mohli dát důraz na kvalitu nebo na rychlost. Zkoumali jsme, jaké možnosti nastavení program nabízí a jak lze upravit parametry H.264. Rovněž jsme hodnotili, zda jsou k dispozici všechny důležité profily.
Výsledky testu
Komerční kodéry to nemají jednoduché. Filmy jsou prakticky bez výjimky konvertovány do formátu H.264, pro který existuje bezplatný kodér x264, který nabízí perfektní kvalitu. Proč tedy vůbec utrácet peníze za videokonvertor?
Hlavním argumentem jsou GPU kodéry. Ty převádí video bleskovou rychlostí. Kdo tedy nechce čekat, musí si připlatit. Kvalita pro mobilní zařízení je na dostačující úrovni.
Pouze dva kodéry pracují se všemi platformami, na druhou stranu však nenabízí nejlepší kvalitu. Pokud budete sledovat filmy na velkém HD televizoru, sáhněte po nástrojích MediaConverter nebo MediaEspresso a nešetřete na bitrate.
Vítěz testu: TotalCode a TMPGEnc jsou kodéry, které kvalitou obrazu mohou soutěžit s x264, rozdíly při stejném bitrate jsou skutečně jen minimální, při běžném sledování sotva postřehnutelné. TMPGEnc je ale pomalý a vítěz testu pro domácí uživatele příliš drahý. Jedná se totiž o software určený pro profesionály, kteří produkují DVD a Blu-ray. Engine tohoto programu by se však mohl objevit i u programů pro koncové uživatele – předchůdce byl částečně integrován do Magix Video deluxe.