Test 6 MPEG-2 enkodérů
9.12.2003, Radek Jahoda, recenze
Test šesti nejrozšířenějších MPEG-2 enkodérů: CCE SP, bbMPEG, Honestech, MainConcept, ProCoder, TMPGEnc. V tomto obsáhlém testu zkusíme odpovědět na otázku, který z nich je vlastně nejlepší.
Kapitoly článku:
- Test 6 MPEG-2 enkodérů
- Srovnání, CBR kvantizace, difference
- VBR Distribution
- VBR Kvantizace, difference
- Rychlost, kompatibilita, zhodnocení
2. Srovnání
Podívejme se na přehled možností jednotlivých enkodérů:
Enkodér | Batch | DS | VBR MIN/AVG/MAX | Range | Quant | GOP | DC | MB |
bbMPEG | ? | A | A/A/A | - | - | A | A | - |
CCE SP | A | - | A/A/A | A | A | A | A | A |
Honestech | A | A | -/-/A | - | - | - | - | - |
MainConcept | A | A | A/A/A | A | A | A | A | - |
ProCoder | A | - | -/A/A | A | - | A | A | - |
TMPGEnc | A | A | A/A/A | A | A | A | A | A |
Vysvětlivky k tabulce:
- Batch - dávkové ovládání
- DS - DirectShow input
- VBR MIN/AVG/MAX - lze nastavit minimální/průměrný/maximální bitrate
- Range - umí nastavit rozsah 0-255 nebo 16-235
- Quant - lze nastavit kvantizační tabulku
- GOP - lze nastavit strukturu GOPU (IPB framy)
- DC - lze nastavit DC precision
- MB - lez nastavit manuální bitrate pro různé scény
Když tyto možnosti a dále všechny ostatní parametry, které zde nejsou uvedeny jako rozšířená nastavení, jednoduchost ovládání, přehlednost apod., převedeme do žebříčku, bude vypadat takto:
- 1. TMPGEnc - množství nastavitelných parametrů, výborné a přehledné nastavení, dávkové enkódování, utility pro práci se streamy
2. CCE SP - vyrovná se v nastavení TMPGEnc, o něco horší přehlednost, protože otevírá množství oken, nedokáže vypnout počítač
3. MainConcept - také dobré nastavování, ale Detailed a Advanced settings by bylo lepší spojit do jednoho, neumí manuálně nastavit bitrate a typy framů
4. ProCoder - nemá tak rozšířené možnosti nastavování, umí dávkové enkódování s převodem jednoho souboru do více typů najednou, čímž šetří čas pro několikanásobné dekódování vstupního videa
5. bbMPEG - také velké množství nastavitelných parametrů, neumí dvouprůchodové enkódování, při veškeré snaze jsem nepochopil možnost dávkového enkódování
6. Honestech - pěkný vzhled, ale tím to bohužel končí, umí dávkové enkódování, ale nastavit nejde téměř nic, u VBR nelze nastavit ani průměrný bitrate
Upozorňuji, že jde pouze o srovnání grafického rozhraní (GUI) a možnosti nastavení, v žebříčku není zahrnuta kvalita ani rychlost enkódování.
3. CBR Kvantizace
Kvantizace (Quantisation) je míra odebrání informace, resp poměr původní a odebrané informace. Pokud se rovná jedné, je množství odebrané informace nulové. Zjednodušeně lze říci, že čím je vyšší kvantizace, tím je větší koskatění obrazu. Kvantizace se provádí po diskrétní kosinové transformaci (DCT) v takové míře, aby byl dodržen požadovaný bitrate. Ještě před DCT ale dochází k analýze obrazu včetně přecházejících snímků, zkoumají se změny, pohyby objektů apod. Čím více je v této fázi stlačeno množství informace, tím menší kvantizace je poté možná. Ovšem záleží to také struktuře obrazu. Pokud obsahuje velké jednolité plochy, tak už po samotném provedení DCT se množství dat rapidně zmenší a kvantizace je opět velmi nízká. Další snížení je možné odstraněním těch částí obrazu, které jsou neviditelné nebo jen těžko postřehnutelné. Občas se ale používá taková filtrace, že to může mít za vliv degradaci obrazu. Všechny tyto prvky se objeví ve výsledné kvantizaci, takže nelze říci, že samotná kvantizace je nejlepším měřítkem pro určení kvality obrazu. Enkodér, který provede výbornou počáteční analýzu bez nějaké větší fitrace a poté použije vyšší kvantizaci, může mít lepší obraz než jiný enkodér, který provede větší fitraci s menší kvantizací, ale se ztrátou ostrosti obrazu a detailů.
Podívejme si, jak jsou na tom s kvantizací testované enkodéry. Jde o průměrnou kvantizaci přes celý testovaný klip. Samořejmně platí, čím menší, tím lepší.
V žebříčku jsou zahrnuty všechny datové toky - CBR 2000, 4000, 6000 a 8000kbps. ProCoder a Honestech dovoluje nastavit nejnižší bitrate 2500kbps, ale v grafu je zanesen jako CBR 2000. MainConcept si s částí klipu s bílým šumem vůbec neporadil a nedokázal dodržet bitrate kromě 8000kbps, který je jako jediný v grafu zanesen. V ostatních případech se "pomátl" a zdvihl bitrate až na přibližně 12000kbps. To má za následek i přetečení VBV bufferu, takže video není přehratelné. Podobně skončil i CCE SP u 2000 a 4000kbps, ten ale ukončil enkódování s touto chybou:
Z grafu plyne, že nejlépe si poradil ProCoder, který při nejvyšším bitrate dosáhl průměrné kvantizace 6.80 a při 2500kbps 13.15, což je méně než polovina oproti Honestechu. Jinak rozdíly nejsou velké, u 8000kbps je mezi nejlepším ProCoderem (6.80) a nejhorším Honestechem (9.01) rozdíl pouze 2.21. Zkusme udělat žebříček:
- ProCoder
- bbMPEG
- TMPGEnc
- Honestech
- CCE SP
- MainConcept
CCE SP a MainConcept jsou na posledních místech, protože převod prostě nezvládnou. Pokud ale vezmeme v úvahu pouze bitrate 8000kbps, pořadí bude následující:
- ProCoder
- bbMPEG
- CCE SP
- MainConcept
- TMPGEnc
- Honestech
4. CBR Difference
Difference je podle mne nejdůležitější hodnocení. Odvíjí se přímo od porovnání originálního a výsledného videa. Matematicky jde o odečtení originálního a výsledného obrazu v absolutní hodnotě. Vycházíme z histogramu. To je graf počtu bodů jednotlivých hodnot (0-255), bereme v potaz vážený aritmetický průměr všech hodnot, který označíme jako Mean, a maximální hodnotu, kterou označíme jako Max.
V tomto případě nepůjde o průměrné hodnoty, ale o jednotlivé snímky za různých podmínek. Zvolil jsem jich šest:
- panoramatický záběr
- zoom in
- barevný testovací obrazec
- jemná černobílá šachovnice
- statický obrázek a písmo obklopené bílým šumem
- kachny na vodě s běžícímy titulky
CBR Difference 1
Teď už ale pojďme na hodnocení. Nejprve Mean...
... a Max.
Nejlépe si poradil ProCoder, těsně následovaný TMPGEnc. Celkové pořadí je následující:
- ProCoder
- TMPGEnc
- MainConcept
- CCE SP
- bbMPEG
- Honestech
CBR Difference 2
Zoom in - Mean
... a Max.
Nejlépe si poradil ProCoder, těsně následovaný TMPGEnc. Celkové pořadí je následující:
- ProCoder
- CCE SP
- MainConcept
- TMPGEnc
- Honestech
- bbMPEG
CBR Difference 3
Barevný testovací obrazec - Mean
... a Max.
Zde je vidět, že na bitrate většinou nezáleží, CCE SP jsem zařadil až za TMPGEnc, přestože Mean je menší, ale Max je o dost větší.
- ProCoder
- MainConcept
- TMPGEnc
- CCE SP
- Honestech
- bbMPEG
CBR Difference 4
Šachovnice - Mean
... a Max.
Ne všichni si s tímto typem dobře poradí, zklamal MainConcept:
- ProCoder
- TMPGEnc
- CCE SP
- MainConcept
- Honestech
- bbMPEG
CBR Difference 5
Přichází na řadu šum, s kterým si MainConcept a CCE SP neporadí, abych je ale příliš nehanil, pokud jsem vygeneroval pouze šum bez vloženého obrázku a textu, vyhořel i ProCoder a Honestech, jediný TMPGEnc a bbMPEG překonvertují všechno. Ono celkově s TMPGEnc nebyly při testu jako s jediným vůbec žádné problémy, to jen tak na okraj... Pojďme ale raději na výsledky - Mean:
... a Max.
Nejlépe se poradil TMPGEnc, následovaný ProCoderem.
- TMPGEnc
- ProCoder
- Honestech
- bbMPEG
- CCE SP
- MainConcept
Pokud ale uděláme pořadí pouze z bitratu 8000kbps, který zvládnou všechny enkodéry, zamíchá to s pořadím:
- TMPGEnc
- MainConcept
- CCE SP
- ProCoder
- Honestech
- bbMPEG
CBR Difference 6
A ještě kachničky s titulky - Mean
... a Max.
Zde si vedou všichni docela dobře, pouze bbMPEG a Honestech jsou na tom hůře.
- TMPGEnc
- MainConcept
- ProCoder
- CCE SP
- Honestech
- bbMPEG