Video AR

From MukeWiki

Zakladne pojmy

Akronymy, ktore sa casto pouzivaju pre rozne aspect ratio. Bohuzial tato terminologia nie je zjednotena:

  • AR - Aspect Ratio
  • DAR - Display Aspect Ratio
  • MAR - Movie Aspect Ratio, Modified Aspect Ratio
  • OAR - Original Aspect Ratio
  • PAR - Pixel Aspect Ratio, Picture Aspect Ratio
  • SAR - Sample Aspect Ratio, Signal Aspect Ratio, Source Aspect Ratio, Storage Aspect Ratio

Zakladne vlastnosti:

  • PAR je len iny nazov pre SAR (PAR=SAR)
  • SAR definuje pomer stran pre jeden bod (pixel). Napr. 128/117, 12/11, 16/15, ...
  • DAR definuje pomer stran celeho obrazu, v ktorom mozu byt napr. vlozene aj cierne okraje. DAR je najcastejsie 4:3 alebo 16:9
  • SAR sa nikdy nemeni pri crop (orezavanie videa), ale moze sa menit pri resizing (zmena velkosti videa). Pri resizing sa zvycajne dosahuje hodnota SAR 1/1
  • DAR sa vzdy meni pri crop a zvycajne aj pri resizing

Snad najvacsia zmatok prichadza s pojmom SAR, wikipedia ho nazyva ako Storage Aspect Ratio. V x264 nastaveniach sa SAR nazyva ako Sample Aspect Ratio, ale interpretuju ho ako pixel aspect ratio, t. j. SAR = PAR. Tak isto ako x264, tak aj ffdshow SAR interpretuje ako pixel aspect ratio. Naozaj je v tom vsetkom velky "bordel", rozne zdroje pouzivaju roznu terminologiu. MPEG specifikacia nespomina (nepozna) PAR, pozna len akronym SAR. ffdshow aj x264 sa pridrziava tejto specifikacii a pouziva len pojem SAR. Od tejto chvile my budeme tak isto dalej pouzivat len SAR. Podstatne je, aby sme chapali vyznam jednotlivych akronymov, pricom sa zameriame na tie podstatne - DAR a SAR.

Ako teda player urcuje vyslednu velkost pomeru stran celeho obrazu, t.j. DAR ? Nazrieme do odporucani MPEG aliancie (kniha o rozsahu cca. 600 stran), ktora zastresuje okrem ineho aj MPEG-2 a MPEG-4 formaty. Mozeme tam najst tento jednoduchy vzorec:

DAR/SAR = width/height

Implicitne (default) sa predpoklada, ze hodnota SAR je 1/1 (stvorcovy pixel), potom dostavame to co by sme aj ocakavali, vysledny pomer stran celeho obrazu je urceny pomerom stran sirky a vysky videa. Pri nemennej vyske a sirke videa, mozeme menit len hodnotu DAR, alebo len hodnotu SAR.

generic SAR

Problem zacina s DVD video, ktore pouziva nestvorcovy pixel (vseobecne, video s nestvorcovym pixelom sa nazyva anamorfne). U DVD formatu je width a height nemenna (konstanta), pre PAL normu je to 720x576. Okrem toho DVD format este obsahuje informaciu o DAR a to bud 4:3 (letterbox) alebo 16:9 (anamorphic widescreen). Tieto dve hodnoty (DAR a rozlisenie) su jedine vstupne parametre DVD videa, ktore pozname a na zaklade ktorych nas player vie spravne (zaujima nas pomer stran) prehrat DVD. Ak dosadime tieto hodnoty do vyssie spomenuteho vzorca dostavame SAR, ktore pouzije nas player.

generic SAR
DVD format SAR SAR (desatinny)
PAL 4:3 16/15 1.066
PAL 16:9 64/45 1.422

Ako vidime, DVD video pouziva nestvorcovy pixel (SAR ≠ 1/1). S tymto je spojene velke mnozstvo nepresnosti a zmatkov pri spracovani (ripovani) DVD. Obzvlast pre PAL 16:9 je hodnota SAR (64/45 = 1.422) "velmi daleko" od stvorcovej (1/1). S "generic SAR" hodnotami dosiahneme presny pomer stran pre nase video. Napr. pre PAL 4:3 dostavame 720*1.066x576 = 768x576; pomer stran je teda 768/576 = 1.333 (4:3 = 1.333).

ITU SAR

Kde je teda vlastny problem ? V digitalizacii (mastering) filmu do digitalneho formatu. Pri prevode analogoveho signalu do digitalneho sa pouziva tzv. ITU-R BT.601 (aka CCIR 601, aka Rec. 601) standard. Je to veda sama o sebe, do detailov vobec nebudeme zachadzat. Hodnoty SAR, ktore pouziva tato metoda su vsak ine (rozdiel je samozrejme relativne maly) ako tie, ktore vypocitava nas player, t.j. ine ako "generic SAR".

ITU SAR
DVD format SAR SAR (desatinny)
PAL 4:3 128/117 1.094
PAL 16:9 512/351 1.459

Casto sa namiesto pomerov 128/117 resp. 512/351 uvadzaju aj pomery 59/54 resp. 118/81, pripadne este ine velmi si blizke zlomky. Aby toho nebolo este malo, prepocitame si napr. pomer stran pre PAL 4:3, ocakavajuc samozrejme hodnotu 4/3 = 1.3333. Rozlisenie pre PAL je 720x576, vynasobime ho o hodnotu SAR pre PAL 4:3; 720*1.094x576 = 788x576; pomer stran je teda 788/576 = 1.3681 ≠ 1.3333 ! Prehravac to jednoducho riesi tym, ze obreze z oboch stran po 9 pixelov; 788-18x576 = 770x576; pomer stran je teda 770/576 = 1.3368 ≈ 1.3333

MPEG SAR

Nebola by to vsemocna MPEG aliancia, keby neprisla so svojimi odporucenymi hodnotami SAR (MPEG-4 standard, Annex E). Tieto hodnoty su samozrejme velmi blizke ITU standardu a su odporucane pri MPEG-4 enkodovani. Dodnes sa vedia polemika, preco prave taketo hodnoty (dobre sa pamataju)

MPEG SAR
DVD format SAR SAR (desatinny)
PAL 4:3 12/11 1.091
PAL 16:9 16/11 1.455

Ktory SAR ?

SAR 64/65 SAR 16/11

Ukazka je z DVD X-Files, PAL 720x576, DAR 16:9.

Lava strana (SAR 64/45, t.j. podla generic) => DAR je 16:9, vysledna (vypocitana) hodnota SAR player-om je 64/45. Takto prehrava standardne kazdy player, na zaklade DAR si vypocita hodnotu SAR.

Prava strana (SAR 16/11, t.j. podla MPEG) => SAR je 16/11, vysledna (vypocitana) hodnota DAR player-om je 20:11. Pozmenili sme ho hodnotu SAR, player si vypocital inu hodnotu DAR. Inymi slovami, ignoruje DAR, ktore obsahuje DVD a vypocita si nove, na zaklade nasho SAR. Zmenit hodnotu SAR pripadne DAR mozeme pomocou ffdshow so zapnutou funkciou AviSynth a nastavenim ffdshow_setSAR(16,11)

Rozdiely su prakticky minimalne, ale ked sa blizsie pozrieme zistime, ze viac detailov na tvari agentke Scully, vidno pre SAR 16/11. Napr. znamienko od nosom, lico je viac detailnejsie, mozno vidiet mierne vrasky pod pravym okom, koncek nosa, ... Obraz je celkovo mierne ostrejsi pre SAR 16/11. Pri prehravani DVD videa je to prakticky uplne jedno, avsak pri enkodovani, nam tato informacia uz pomoze.

Hlavny dovod pre MPEG SAR, t.j. 16:11 je vsak asi ten, ze je to odporuceny standard MPEG alianciou, ktora ma pod palcom MPEG-ASP (Xvid) ako aj MPEG-AVC (x264).

enkodujeme

Osobne som donedavna vsetky DVDRip robil klasicky, t.j. resize na 720x..., avsak casy sa menia a clovek je casom mudrejsi.

  1. ak je potrebne, robit len crop (orezanie videa)
  2. sirka a vyska strany po orezani musi byt delitelna 4, nemusia byt delitelne 16 (plati pre x264, pre Xvid nie som si isty)
  3. nerobit resize (zmenu velkosti)
  4. nastavit hodnotu SAR priamo ako parameter pre encoder, pre x264 to je --sar XX:YY, pre Xvid_Encraw -par (znova pre Xvid nie som si isty)
SAR settings for x264
DVD format x264 setting
PAL (720x576) 4:3 --sar = 12:11
PAL (720x576) 16:9 --sar = 16:11
NTSC (720x480) 4:3 --sar = 10:11
NTSC (720x480) 16:9 --sar = 40:33

Pre HD video (BluRay) sa uz nastastie standardne pouziva SAR 1:1 (stvorcovy pixel), preto je pre x264 default --sar = 1:1 (nezabudajme, ze x264 encoder je primarne urceny pre HD video).

links