Archív

Archive for Září, 2009

Aspect Ratio – vše co jste (ne)chtěli vědět

07/09/2009 6 komentářů

Dnešním tématem budiž Aspect Ratio.

1250523447815

1. Na začátek

Několik poučení a ‚disclaimer‘:

  • Tento článek pravděpodobně nemusíte číst.
  • Tento článek ve výsledku řeší distorzi obrazu několika málo procent, kterou většinou nikdo nevidí – ani vy ne!
  • Je dost možné, že některé informace nebudou 100% korektní, vzhledem k tomu, jaký je v tom všeobecně guláš.
  • Jak už jste z mého blogýsku asi zvyklý, přestože mě kritika (rozuměj těch 5 lidí, co mě bere vážně) donutila psát česky a s diakritikou, bez znalosti angličtiny se neobejdete, protože linkuju na anglicky psanou dokumentaci a používám anglické technické termíny.
  • Díky mé osobní zaujatosti a preferencím zde budu o používaní Aspect Ratia hovořit pouze v součinnosti s MKV kontejnerem a x264 enkodérem.

Slovníček pojmů:

  • rozlišení – počet bodů, pixelů, skládající obraz videa ve formátu šířka x výška.
  • DARDisplay Aspect Ratio – také známé v 99% jako pouhé ‚AR‘. Skutečný počet čtvercových pixelů, kolik se jich ukáže při přehrávání na monitoru/tv, nezávisle na tom, jaké je rozlišení videa.  Jde zapisovat třemi způsoby. Buďto klasickým zlomkem (16/9 …), poměrem stran <float>:1 (1.82:1) nebo výsledným ‚rozlišením‘ (875×480).
  • PARPixel Aspect Ratio – poměr stran jednotlivých pixelů v daném videu. Ano, čtete správně, ve videu nemusí být pixel čtercový, resp. takový, jako se vám pak zobrazuje na vašem monitoru. Někdy se mu také říká Sample Aspect Ratio, což se pak krásně plete se SAR používaným v MPEG-4.
  • SAR Sample Aspect Ratio (někdy také Source Aspect Ratio či Signal Aspect Ratio) – používá se jako signalizace v MPEG-4, např. pro x264, aby výsledné DAR zakódoval přímo do video streamu. Platí rovnice DAR/PAR = SAR.

2. Princip

Srovnejte následující dva stejně velké obrázky.

par1a

PAR 1:1

par2a

PAR 2:1

Ten vlevo znázorňuje presně  to, co byste čekali od videa. Všechny pixely čtvercové, v našem případě PAR 1:1 a rozlišení obrazu 4×4. Naproti tomu ten vpravo znázorňuje to, co se děje v anamorfických systémech. Tady vas donutím si nastudovat, co to vůbec znamená:

http://en.wikipedia.org/wiki/Anamorphic

a pro ty rychlejší potom

http://en.wikipedia.org/wiki/Anamorphic_widescreen

zabývající se tím přímo na DVD, ke kterým se dostaneme později. Ve zkratce jde o to, že optickým trikem se zaznamená širokoúhlý obraz do neširokoúhlého rozlišení, a správným DAR zobrazením se pixely roztáhnou do správné podoby. ‚Správné‘ je však relativní pojem, ale o tom až později. Prozatím se spokojíme s tím, že obrázek vpravo má rozlišení 2×4, PAR 2:1 a správné DAR pro zobrazení 4×4, tedy celý frame bude mít stejný tvar, jako obrázek vlevo.

Dobrá,  začneme od toho nejjednoduššího a postupně přejdeme k těžšímu.

3. HD systémy

V HD je to všechno krásné černobílé v 720p a 1080p.

Rozlišení 1280 x 720 a  1920 x 1080. Platí  (Šířka / 16 ) * 9 = Výška.  Tím zjistíte, že samotné rozlišení už má správný poměr pro widescreen. Z toho vyplývá, že PAR je 1, čili každý pixel je skutečně čtvercový. To také mimo jiné znamená, že můžete vesele cropovat, a nic nebude nevhodně roztáhnuté. Začnete-li však resizovat, míříte expresem do pekla…

Ale pak existuje taky anamorfický systém od Sony, dnes důvěrně známý jako ‚Y U DO THIS, SONY *cryface*‘ aneb 1080i.

Rozlišení 1440×1080, PAR 4:3 :1 (aneb 1,33 periodických:1). Takže stačí nastavit DAR na 16/9 nebo 1920×1080 a voila, jsem doma.  Co si je však nutné uvědomit ve chvíli, kdy pracujete  s anamorfickým systémem, je to, už si nemůžete jen tak cropovat a myslet si, že vám to projde s DAR 16/9 flagem. Neprojde. Logicky se stane následující: (doporučuju otevřít si oba obrázky bokem a rychle mezi nima přepínat)

anamorf

Původní zdroj

anamorf_fail

Crop 20px z každé strany

(Uvědomuju si, že poskytnutý příklad není nejlepší, protože tady původně nebylo potřeba cropnout nic a už vůbec ne celkem 40px, ale teď jde o názornost principu.)

Co ale můžete, je kompenzovat PAR distorzi tak, aby výsledné AR zůstalo co nejlépe zachováno, takže pokud se budeme držet předchozího příkladu a je potřeba cropnout  20 pixelu z každé strany, tak magická formule vypadá nějak takto:

(16/9) / (1440/1080) = PAR   zdroje,  a  dále (1400/1080) * PAR = výsledné DAR, v našem případě 140/81. Po aplikování pak výsledek vypadá takto:  (srovnávejte s obrázkem zdroje)

anamorfic_crop_corrected

Crop 20px a nové DAR

‚Ehm, cože?‘ , ptáte se? Ano, přestože je to na první pohled nelogické, tak pokud transformujete video ořezem nebo resizem, je správné deformovat PAR/DAR tak, aby poměry zůstaly zachovány vůči originálu. Magie.

Jinak takhle ‚správně‘, bez nutnosti počítat nové DAR, je to tak, že uděláte 1440×1080(hint: 1080i stejně nikdy nemá detaily na to nechávat ho v 1080 vertikálně) -> 1280×720, tím dostanete PAR 1 a tady už opět vesele cropujete bez distorze. Bohužel dnešní praxe naprosto všech fansuberů je taková, že releasy jsou v 1280×720 bez jakékoliv korekce PARu. Je to tak, protože oni cropujou PŘED resizem. Jejich filterchain vypadá asi nějak takto: IVTC > crop > resize. Čili mají distorzi a je jim to jedno.

4. SDTV systémy a DVD

Tak. Teď jsme se posunuli trošku do historie. Pamatujete ještě, jak jsme v HD mluvili o rozlišení? Tam opravdu každý pixel nesl informaci. Že je to zcela logické? Ano, ale u SD si o tom můžete nechat jenom zdát.

Opět vás donutím si něco nastudovat. Dokud tak neuděláte, nemá cenu pokračovat ve čtení. Tentokráte si to budete muset přečíst několikrát, aby jste tomu za a) porozuměli a za b) uvěřili. Je to nejdůležitější link, který vám tu předkládám ohledně DVD a SDTV :

http://lipas.uwasa.fi/~f76998/video/conversion/#introduction

Je v tom pořádný guláš. Nechce se mi to celé překládat, ta stránka je dost vypovídající sama o sobe, ale udělám malý shrnutí, co se týče AR u DVD:

  • ani NTSC ani PAL nemá za žádných okolností obraz přesně 4:3 nebo 16:9.
  • musí se počítat s aktivním obrazem, což je u NTSC 710.85×486 a u PALu 702×576. Jak na to? Nejlépe přes PAR.

Takže abych to zkrátil, u SD systémů není správné používat ani 16/9 flag, ani nechávat defaultní DAR podle 4:3 rozlišení v případě starého 4:3 materiálu, přestože je to tak denodenní praxí a nikomu to nepřijde divné. Když to totiž skutečně začnete počítat správně přes PAR dle ITU-R BT.601, dostanete správné výsledky. A abych vám ušetřil lekci matematiky, na DVD konverze existuje skvělá kalkulačka, která umí i cropy a resizy  (v kalkulačce jako ‚scale‘), takže už víte, co budete používat:

http://ps-auxw.de/cgi-bin/ar-calc.pl

Například pro standardní NTSC DVD rozlišení 720×480 anamorphic wide, je správné DAR 875×480 a nikoliv 853×480, jaké se zobrazí při prostém 16/9 nastavení. A nejlepší na tom je, že neexistuje ani žádný softwareový DVD přehrávač na PC, který by to zobrazoval správně ;/ I MPC-HC hází všude 16/9 flag.

5. Nevýhody

Mají vlastně tyhle hrátky s DAR nějakou nevýhodu? Celkem dvě.

1) Můžete dostat dosti nestandardní čísla, se kterými si nemusí poradit ani na PC připojené HDTV, a bude tak docházet k černým pruhům po stranách.

2) V případě, že potkáte video s evidentně zajímavým PAR, mohl to klidně dělat běžný Internet Tough Guy (TM) a vy nemáte možnost to po něm zkontrolovat bez toho, aniž byste věděli, jakých všech transformací se na videu dopustil. Prostě to trošku zvyšuje nároky na erudovanost člověka, co se do toho pustí. Vzhledem k tomu, že o tomhle tématu se ví obecně velmi málo, je však dost velká šance, že nastavené PAR je správné a zkontrolované vůči originálu.

6. Jak na mkvmerge

V MKVMergeGUI lze zadat jedině DAR, možnost zadat PAR není implementovaná. Nenechte se zmást tím, že jsou tam dvě okénka nadepsaná ‚Aspect Ratio‚ a ‚Display width/height‚. Jedno je na zadání zlomku a tvaru x ku y, druhé je přímo na DAR rozlišení. Jedna se o totéž, nakonec se to stejně přepočítá na DAR rozlišení.

7. SAR a x264

Nyní už víte, co znamená DAR a jak ho zadávat do kontejneru. Když se nad tím zamyslíte, možná vás napadne, že nechat tuhle úlohu na kontejneru není přiliš košér. Proto má MPEG4 ve specifikaci zavedený SAR. V x264 se jedná o switch –sar x:y, kde x je šířka a y výška podle formule ve slovníčku pojmů na začátku. Co se tím docílí? Signalizaci na výsledné DAR dostane už kodek a přímo ve video streamu bude informace o tom, jak se má video zobrazit. To samo o sobě je v pořádku, v praxi je to ale opět jinak.  Proč?

  • Jak tuto signalizaci načíst a interpretovat totiž připadne na dekodér, který to vůbec nemusí umět. A díky tomu, že dekoderů existuje mnohem víc než MKV splitterů, si dokážete představit problémy.
  • Mohou nastat vpravdě kuriózní situace, kdy uživatel, který nemá o SAR ve video streamu ani páru, nastaví v MKV jiný DAR. Pak se děje vůle boží a výsledek může být podle kombinace dekodér/splitter téměř libovolný z kombinace pojmů ‚nepřehraje se to/bude to rozbitý/ jeden z flagů se náhodně bude ignorovat/provede se oboje v nepředvídatelném pořadí. (Některé zprávy hovoří o tom, že CoreAVC si hraje na chytrého a spočítá si něco mezi? Testování nechť si provede čtenář sám.)

Proč vám to říkám? Protože dnešní konvence hovoří tak, že SAR by se prostě používat němelo, protože není pořádně naimplementované jeho správné interpretování napříč softwarem(natož hardwarem o_O).

8. Perličky na konec

9. Závěr

Co říct závěrem? Snad jsem postihl většinu stránek problematiky alespoň u anime. A abyste si nemysleli, že teď už víte uplně všechno, mám pro vás poslední link:

ttp://en.wikipedia.org/wiki/Aspect_ratio_(image)#Previous_and_presently_used_aspect_ratios

Asi radši začnu psát články o vaření…

Za věcné korektury děkuju opět The_P.  ^^

Reklamy