diff options
author | gabrov <gabrov@b3059339-0415-0410-9bf9-f77b7e298cf2> | 2005-07-25 14:52:24 +0000 |
---|---|---|
committer | gabrov <gabrov@b3059339-0415-0410-9bf9-f77b7e298cf2> | 2005-07-25 14:52:24 +0000 |
commit | 648764daf037168dc4cae1196ba21e11f0d1d1b7 (patch) | |
tree | 38d1da1241fa3053ea8d5fc90cb7d860bab5dbc7 | |
parent | c1c39caded48eef2895ccff02dd47323e74f7ff2 (diff) | |
download | mpv-648764daf037168dc4cae1196ba21e11f0d1d1b7.tar.bz2 mpv-648764daf037168dc4cae1196ba21e11f0d1d1b7.tar.xz |
new file, synced with 1.4
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@16090 b3059339-0415-0410-9bf9-f77b7e298cf2
-rw-r--r-- | DOCS/xml/hu/encoding-guide.xml | 3709 |
1 files changed, 3709 insertions, 0 deletions
diff --git a/DOCS/xml/hu/encoding-guide.xml b/DOCS/xml/hu/encoding-guide.xml new file mode 100644 index 0000000000..4939ce2738 --- /dev/null +++ b/DOCS/xml/hu/encoding-guide.xml @@ -0,0 +1,3709 @@ +<?xml version="1.0" encoding="iso-8859-2"?> +<!-- synced with 1.4 $ --> +<chapter id="encoding-guide"> +<title>Kódolás a <application>MEncoder</application>rel</title> + +<sect1 id="menc-feat-dvd-mpeg4"> +<title>Nagyon jó minőségű MPEG-4 ("DivX") rip készítése DVD filmből</title> + +<para> + Egy gyakran feltett kérdés: "Hogyan készíthetem el a legjobb minőségű + DVD rip-et egy adott méretben? Vagy: "Hogyan készíthetem el a + lehető legjobb minőségű DVD rip-et? Nem érdekel a fájl méret, csak a + legjobb minőséget akarom." +</para> + +<para> + Az utóbbi kérdés talán kicsit rosszul van megfogalmazva. Hiszen ha nem + érdekel a fájl méret, akkor miért nem másolod át az egész MPEG-2 videó + stream-et a DVD-ről egy az egyben? Az AVI fájlod 5GB körül fogja végezni, + fogd és vidd, de ha a legjobb minőséget akarod és nem érdekel a méret, + akkor biztos, hogy ez lesz a legjobb lehetőséged. +</para> + +<para> + Valójában egy DVD MPEG-4-be történő átkódolásának az oka pont az, hogy + <emphasis role="bold">érdekel</emphasis> a fájl mérete. +</para> + +<para> + Nehéz egy általános receptet adni a jó minőségű DVD rip-ek készítéséhez. + Számos szempontot figyelembe kell venni és meg kell értened ezeket a + részleteket, különben elégedetlen leszel a végeredménnyel. Kicsit körbejárjuk + ezen dolgok közül néhányat és utána példát is adunk. Feltételezzük, hogy a + <systemitem class="library">libavcodec</systemitem>-et használod a videó + kódolásához, habár az elmélet bármilyen codec-kel használható. +</para> + +<para> + Ha ez túl sok neked, akkor talán jobb, ha a sok nagyszerű frontend + valamelyikét használod, amik fel vannak sorolva a + kapcsolódó projektek oldalán a + <ulink url="http://mplayerhq.hu/homepage/design7/projects.html#mencoder_frontends">MEncoder részben</ulink>. + Így nagyon jó minőségű rip-eket készíthetsz túl sok gondolkodás nélkül, + mert ezen eszközök legtöbbje úgy lett megtervezve, hogy jó döntéseket + hozzon. +</para> + +<sect2 id="menc-feat-dvd-mpeg4-preparing-encode"> +<title>Felkészülés a kódolásra: A forrás anyag és frameráta azonosítása</title> +<para> + Mielőtt eszedbe jutna bármiféle film átkódolása, meg kell tenned + pár előkészületi lépést. +</para> + +<para> + Az első és legfontosabb lépés a kódolás előtt annak megállapítása, + hogy miféle anyaggal van egyáltalán dolgod. + Ha a forrás anyagod DVD-ről származik vagy sugárzott/kábeles/műholdas + TV, a következő két formátum valamelyikében tárolódik: NTSC Észak + Amerikában és Japánban, PAL Európában. + Fontos tudatosítani, hogy ez csak a televízión történő megjelenítés + formátuma és gyakran <emphasis role="bold">nincs</emphasis> + összhangban a film eredeti formátumával. + Ahhoz, hogy megfelelő legyen a kódolás, ismerned kell az eredeti + formátumot. + Ennek elmulasztása esetén csúnya törési (átlapolás) mellékhatások + lesznek a kódolásodban. + Mindamellett, hogy csúnya, a mellékhatások rontják a kódolási + hatékonyságot is: rosszabb minőség per bitráta arányt kapsz. +</para> + +<sect3 id="menc-feat-dvd-mpeg4-preparing-encode-fps"> +<title>A forrás framerátájának azonosítása</title> +<para> + Itt van egy lista a forrás anyagok által általában használt típusokról, + ebben valószínűleg megtalálod a tiédet és annak jellemzőit: +</para> +<itemizedlist> +<listitem><para> + <emphasis role="bold">Szabványos film</emphasis>: Moziban történő + vetítéshez rögzítették 24 fps-sel. +</para></listitem> +<listitem><para> + <emphasis role="bold">PAL videó</emphasis>: PAL videókamerával + rögzítették 50 mező per másodperc sebességgel. + Egy mező csak a képkocka páros vagy páratlan sorszámú sorait + tartalmazza. + A televíziót úgy tervezték meg, hogy ilyen arányban frissítsen, + az analóg tömörítés egy olcsó formájaként. + Az emberi szemnek ezt kompenzálnia kellene, de ha egyszer megérted + az átlapolást, meg fogod látni a TV-n és soha többé nem fogod + élvezni a TV adást. + Két mező még <emphasis role="bold">nem</emphasis> alkot egy + teljes képkockát, mert 1/50 másodpercnyire vannak egymástól időben + és így csak mozgásnál igazodnak össze. +</para></listitem> +<listitem><para> + <emphasis role="bold">NTSC Videó</emphasis>: NTSC kamerával felvett, + 60000/1001 mező per másodperc vagy a színek előtti időben 60 mező per + másodperc sebességű film. Egyébként hasonló a PAL-hoz. +</para></listitem> +<listitem><para> + <emphasis role="bold">Animáció</emphasis>: Általában 24fps-sel + rajzolják, de található kevert-framerátás változat is. +</para></listitem> +<listitem><para> + <emphasis role="bold">Számítógépes grafika (CG)</emphasis>: Bármilyen + framerátával mehet, de van pár, ami gyakoribb a többinél; 24 és + 30 képkocka per másodpercesek a tipikusak NTSC-nél és 25fps PAL-nál. +</para></listitem> +<listitem><para> + <emphasis role="bold">Régi film</emphasis>: Különböző alacsony + frameráták. +</para></listitem> +</itemizedlist> +</sect3> + +<sect3 id="menc-feat-dvd-mpeg4-preparing-encode-material"> +<title>A forrásanyag beazonosítása</title> +<para> + A képkockákból álló filmekre progresszívként szoktak hivatkozni, + míg az egymástól független mezőkből állóakra vagy átlapoltként + vagy videóként - bár ez utóbbi félreérthető. +</para> +<para> + További bonyolításként néhány film a fenti kettő keveréke. +</para> +<para> + A legfontosabb különbség, amit észre kell venni a két formátum + között, hogy van, amelyik képkocka-alapú míg mások mező alapúak. + <emphasis role="bold">Bármikor</emphasis>, ha egy filmet televíziós + megjelenítésre készítenek elő (beleértve a DVD-t is), átkonvertálják + mező-alapú formába. + A különböző módszereket, amikkel ez végrehajtható, gyűjtőnéven + "pulldown"-nak hívjuk, ennek egyik változata a hírhedt NTSC-s + "3:2 telecine". + Hacsak nem volt az eredeti anyag is mező-alapú (és megegyező + mező rátájú), más formátumbú lesz a filmed, mint az eredeti. +</para> + +<itemizedlist> +<title>Számos általános típusa van a pulldown-nak:</title> +<listitem><para> + <emphasis role="bold">PAL 2:2 pulldown</emphasis>: Az összes közül a + legjobb. + Minden képkocka két mező idejéig látszódik, úgy, hogy a páros és páratlan + sorokat kinyeri belőlük és váltakozva mutatja őket. + Ha az eredeti anyag 24fps-es, ez az eljárás felgyorsítja a filmet + 4%-kal. +</para></listitem> +<listitem><para> + <emphasis role="bold">PAL 2:2:2:2:2:2:2:2:2:2:2:3 pulldown</emphasis>: + Minden 12. kockát három mező hosszan mutat kettő helyett. + Ezzel elkerüli a 4%-os gyorsulást, de sokkal nehezebben megfordíthatóvá + teszi a folyamatot. + Általában musical készítésénél használják, ahol a 4%-os sebességmódosulás + komolyan rontaná a zenei jelet. +</para></listitem> +<listitem><para> + <emphasis role="bold">NTSC 3:2 telecine</emphasis>: A kockák + felváltva 3 vagy 2 mezőnyi ideig látszódnak. Ezáltal a mező ráta + 2.5-szöröse lesz az eredeti framerátának. + Az eredmény nagyon kis mértékben lelassul, 60 mező per másodpercről + 59.94 mező per másodpercre, az NTSC mező ráta megtartása miatt. +</para></listitem> +<listitem><para> + <emphasis role="bold">NTSC 2:2 pulldown</emphasis>: A 30fps-es + anyagok NTSC-n történő megjelenítéséhez használják. + Szép, csakúgy, mint a 2:2 PAL pulldown. +</para></listitem> +</itemizedlist> + +<para> + Vannak még egyéb módszerek az NTSC és a PAL videó közötti konvertáláshoz, + de ez a téma meghaladja ezen leírás célkitűzéseit. + Ha ilyen filmbe futsz bele és el szeretnéd kódolni, a legjobb, ha + keresel egy másolatot az eredeti formátumban. + A két formátum közötti konvertálás nagyon romboló hatású és nem + lehet teljesen visszafordítani, így a kódolt adatod nagyon + megszenvedi, ha már konvertált forrásból készül. +</para> +<para> + Ha a videó DVD-n van, az egymást követő mezők képkockává + csoportosíthatóak, még akkor is, ha nem egyidejű megjelenítésre + tervezték őket. + A DVD-n és digitális TV-n használt MPEG-2 szabvány lehetőséget nyújt + mind az eredeti progresszív kockák elkódolására, mind pedig arra, hogy + azon mezők számát, amelyhez egy képkockát meg kell jeleníteni, az + adott képkocka fejlécében tárolhassuk. + Ha ezt a módszert használják, a filmet gyakran "soft-telecined"-ként + jellemzik, mert ez az eljárás csak utasítja a DVD lejátszót a pulldown + alkalmazására a film tényleges megváltoztatása helyett. + Ez a lehetőség nagyon preferált, mert könnyen visszafordítható + (tulajdonképpen kihagyható) a kódoló által és megtartja a maximális + minőséget. + Bár sok DVD és műsorszóró stúdió nem használ megfelelő kódolási + technikát, hanem inkább "hard telecine"-es filmeket alkalmaznak, + ahol a mezők tulajdonképpen duplázva vannak az elkódolt MPEG-2-ben. +</para> +<para> + Az eljárás, ahogy ezeket az eseteket kezelni kell, később kerül leírásra + ebben az útmutatóban. + Most következzék pár tanács, amik segítségével eldöntheted, hogy milyen + anyaggal van dolgod: +</para> + +<itemizedlist> +<title>NTSC régiók:</title> +<listitem><para> + Ha az <application>MPlayer</application> azt írja ki, hogy a frameráta + megváltozott 24000/1001-re a film nézése közben, és soha nem vált vissza, + akkor majdnem biztosan progresszív tartalomról van szó, amit "soft telecine" + eljárásnak vetettek alá. +</para></listitem> +<listitem><para> + Ha az <application>MPlayer</application> a frameráta oda-vissza + váltakozását mutatja 24000/1001 és 30000/1001 között és "hullámzást" + látsz ilyenkor, akkor több lehetőség is van. + A 24000/1001 fps-es részek majdnem biztosan progresszív + tartalmak, "soft telecine"-ltek, de a 30000/1001 fps-es részek + lehetnek vagy hard-telecine-lt 24000/1001 fps-esek vagy 60000/1001 + mező per másodperces NTSC videók. + Kövesd a következő két esetben leírt irányelveket, hogy el tudd + dönteni, valójában melyik formátummal van dolgod. +</para></listitem> +<listitem><para> + Ha az <application>MPlayer</application> soha nem mutatja a frameráta + változást és minden egyes mozgást tartalmazó kocka hullámosnak tűnik, + akkor a filmed NTSC videó 60000/1001 mező per másodperc sebességgel. +</para></listitem> +<listitem><para> + Ha az <application>MPlayer</application> soha nem mutatja a frameráta + változást és minden ötből két kocka hullámosnak tűnik, akkor a filmed + "hard telecine"-s 24000/1001fps-es formátumú. +</para></listitem> +</itemizedlist> + +<itemizedlist> +<title>PAL régiók:</title> +<listitem><para> + Ha sosem látsz hullámzást, akkor a filmed 2:2 pulldown-os. +</para></listitem> +<listitem><para> + Ha hullámzást látsz váltakozóan ki-be minden fél másodpercben, + akkor a filmed 2:2:2:2:2:2:2:2:2:2:2:3 pulldown-os. +</para></listitem> +<listitem><para> + Ha mindig látsz hullámzást a mozgás közben, akkor a filmed PAL + videó 50 mező per másodperces sebességgel. +</para></listitem> +</itemizedlist> + +<note><title>Tanács:</title> +<para> + Az <application>MPlayer</application> le tudja lassítani a lejátszást + a -speed kapcsolóval vagy a kockáról-kockára történő lejátszással. + Próbáld meg használni a <option>-speed</option> 0.2-t, hogy nagyon lassan + nézhesd a filmet vagy nyomogasd a "<keycap>.</keycap>" gombot a kockáról + kockára történő lejátszáshoz és azonosítsd a mintákat, ha nem látod meg + teljes sebességnél. +</para> +</note> +</sect3> +</sect2> + +<sect2 id="menc-feat-dvd-mpeg4-2pass"> +<title>Konstans kvantálás vs. többmenetes kódolás</title> + +<para> + Nagyon sokféle minőségben tudod elkódolni a filmedet. + A modern videó kódolókkal és egy kis pre-codec tömörítéssel + (leméretezés és zajcsökkentés), lehetséges nagyon jó minőség elérése + 700 MB-on, egy 90-110 perces szélesvásznú filmnél. + Továbbá minden, kivéve a leghosszabb filmeket, elkódolható majdnem + tökéletes minőséggel 1400 MB-ba. +</para> + +<para> + Három féle megközelítése van egy videó kódolásának: konstans bitráta + (CBR), konstans kvantálás, és többmenetes (ABR vagy átlagos bitráta). +</para> + +<note><title>Megjegyzés:</title> +<para> + A legtöbb ABR kódolást támogató codec csak a két lépéses kódolást + támogatja, míg néhány másik, mint pl. az <systemitem class="library">x264</systemitem> + és a <systemitem class="library">libavcodec</systemitem> támogatják + a többmenetest, ami kissé javít a minőségen minden lépésben, + bár ez a javulás nem mérhető és nem is észrevehető a 4. lépés után. + Ezért, ebben a részben a két lépéses és a többmenetes felváltva + értelmezhető. +</para> +</note> + +<para> + Ezen módok mindegyikében a <systemitem class="library">libavcodec</systemitem> + a videó képkockákat 16x16 pixel nagyságú macroblock-okra osztja, majd egy + kvantálást végez mindegyik macroblock-on. Minél alacsonyabb a kvantálás, annál + jobb a minőség és nagyobb a bitráta. A <systemitem class="library">libavcodec</systemitem> + által egy adott macroblockhoz a megfelelő kvantáló kiválasztására használt módszer + változó és nagymértékben tuningolható. (Ez egy extrém túl-egyszerűsítése a + tulajdonképpeni folyamatnak, de az alap koncepciót hasznos megérteni.) +</para> + +<para> + Ha előírsz egy konstans bitrátát, a <systemitem class="library">libavcodec</systemitem> + elkódolja a videót, figyelmen kívül hagyva a részleteket amennyire csak + lehetséges és a legkisebb mértékben, amennyire szükséges, hogy a megadott + bitrátánál alacsonyabban maradjon. Ha tényleg nem érdekel a fájl méret, + használhatsz CBR-t és megadhatsz egy bitrátát vagy hagyhatod határozatlanul. + (A gyakorlatban ez egy kellően magas értéket jelent, ami nem szab gátat, pl. + 10000Kbit.) Ha nincs különösebb megkötés a bitrátára vonatkozóan, az eredmény + az lesz, hogy a <systemitem class="library">libavcodec</systemitem> a lehető + legalacsonyabb kvantálást fogja használni minden egyes macroblock-hoz (amint + ez a <option>vqmin</option>-ben meg van adva, ami alapértelmezésként 2). Amint + előírsz egy megfelelően alacsony bitrátát, ami a <systemitem + class="library">libavcodec</systemitem>et magasabb kvantálás használatára + kényszeríti, majdnem biztos, hogy rontod a videód minőségét. + Ahhoz, hogy ezt elkerüld, valószínűleg downscale-t kell végrehajtani a + videón, az alábbiakban szereplő módszernek megfelelően. Általában igaz, + hogy jobb ha kerülöd a CBR-t, ha számít a minőség. +</para> + +<para> + Konstans kvantálással a <systemitem + class="library">libavcodec</systemitem> ugyan azt a kvantálót használja, amit + a <option>vqscale</option> kapcsolóval megadtál, minden macroblock-nál. Ha + a lehető legjobb minőségű rip-et szeretnéd, szintén a bitráta kihagyásával, + használhatod a <option>vqscale=2</option> kapcsolót. Ez ugyan azt a bitrátát + és PSNR-t (peak signal-to-noise ratio) szolgáltatja, mint a CBR a + <option>vbitrate</option>=végtelen kapcsolóval és a alapértelmezett 2-es + <option>vqmin</option>-nal. +</para> + +<para> + A konstans kvantálás problémája, hogy a megadott kvantálót alkalmazza, akár + szükséges a macroblock-hoz, akár nem. Lehet, hogy használható lenne egy + nagyobb kvantálás is a mackroblock-on a vizuális minőség feláldozása nélkül + is. Miért pazarolnánk a biteket szükségtelenül alacsony kvantálóra? A + CPU-d annyi ciklusa lehet, amennyi időd csak van, de a merevlemezed véges. +</para> + +<para> + Két lépéses kódolásban az első lépés úgy rip-eli a filmet, mintha CBR lenne, + de megtartja a tulajdonságok listáját minden egyes képkockánál. Ezeket az + adatokat használja fel aztán a második lépésben a használni kívánt kvantálót + meghatározó intelligens döntésekben. Gyors akciónál vagy kis részletességű + jeleneteknél magasabb kvantálót használ, lassú mozgásnál vagy nagy + részletességű jeleneteknél alacsonyabbat. +</para> + +<para> + Ha használod a <option>vqscale=2</option> kapcsolót, akkor biteket pazarolsz. + Ha a <option>vqscale=3</option> kapcsolót adod meg, akkor nem a legjobb minőségű + rip-et kapod. Tegyük fel, hogy egy DVD-t rip-elsz <option>vqscale=3</option>-mal, + és az eredmény 1800Kbit. Ha két lépéses kódolást csinálsz <option>vbitrate=1800</option> + kapcsolóval, az kimeneti videó <emphasis role="bold">jobb minőségű</emphasis> lesz + <emphasis role="bold">ugyanolyan bitrátával</emphasis>. +</para> + +<para> + Mivel most meggyőződtél róla, hogy a két lépéses kódolás a megfelelő módszer, + az igazi kérdés az, hogy milyen bitrátát ajánlott használni? A válasz az, hogy + nincs egyszerű válasz. Valószínűleg olyan bitrátát akarsz választani, ami a + legjobb egyensúlyt biztosítja a minőség és a fájl méret között. Ez viszont a + forrás videótól függően változik. +</para> + +<para> + Ha a méret nem számít, egy jó kiindulási pont minden nagyon jó minőségű + rip-hez egy 2000Kbit körüli érték, plusz-mínusz 200Kbit. + A gyors akciókhoz és a nagy részletességű videókhoz vagy ha sas szemed + van, akkor választhatsz 2400-at vagy 2600-at. + Néhány DVD-nél nem fogsz különbséget felfedezni 1400Kbit-en sem. Jó ötlet + az egyes fejezeteket különböző bitrátával megnézni, hogy meglásd a + különbséget. +</para> + +<para> + Ha egy bizonyos méretet céloztál be, valahogy ki kell számítanod a bitrátát. + De ezelőtt azt kell megtudnod, hogy mennyi helyet kell fenntartanod az + audió sáv(ok)nak, így először <link linkend="menc-feat-dvd-mpeg4-audio">ezeket + kell lerippelned</link>. + A következő egyenlettel tudod kiszámítani a bitrátát: + <systemitem>bitráta = (cél_méret_Mbyteokban - hang_mérete_Mbyteokban) * + 1024 * 1024 / hossz_másodpercben * 8 / 1000</systemitem> + Például egy két órás film 702 Mbájtos CD-re való összenyomásához, 60 + Mbájtnyi hang sávval, a videó bitrátájának + <systemitem>(702 - 60) * 1024 * 1024 / (120*60) * 8 / 1000 = + 740kbps</systemitem>-nek kell lennie. +</para> + +</sect2> + + +<sect2 id="menc-feat-dvd-mpeg4-constraints"> +<title>Megszorítások a hatékony kódoláshoz</title> + +<para> + Az MPEG-típusú tömörítés természetéből adódóan számos megszorítás + van, amit követned kell a maximális minőség érdekében. + Az MPEG 16x16 makroblokknak nevezett négyzetre osztja fel a videót, + mindegyik 4 darab 8x8 blokk luma (intenzitás) információt és két + fél-felbontású 8x8 chroma (szín) blokkot tartalmaz (egy a vörös-világoskék + tengelyen, a másik a kék-sárga tengelyen). + Ha a film szélessége és magassága nem 16 többszöröse, a kódoló akkor is + elegendő 16x16-os makroblokkot fog használni, hogy lefedje a teljes + képet, a maradék hely veszendőbe megy. + Így ha a minőség maximalizálása a cél egy fix fájlmérettel, akkor + eléggé rossz ötlet nem 16 valamelyik többszörösét használni méretként. +</para> + +<para> + A legtöbb DVD-n van valamekkora fekete sáv a sarkokban. Ha ezeket + békén hagyod, akkor több módon is ronthatják a minőséget. +</para> + +<orderedlist> +<listitem> +<para> + Az MPEG-típusú tömörítés szintén nagyban függ a frekvencia tartományok + transzformálásától is, általában a Diszkrét Koszinusz Transzformációt + (DCT) használják, ami hasonló a Fourier transzformációhoz. Ez a fajta + kódolás hatékony a minták és a sima átmenetek átalakításához, de + nehezen bírkózik meg az éles élekkel. Ezek elkódolásához sokkal több + bitre van szüksége, különben egy gyűrűsödésnek nevezett mellékhatás + jelenik meg. +</para> + +<para> + A frekvencia transzformáció (DCT) külön hajtódik végre minden egyes + makroblokkon (tulajdonképpen minden blokkon), így ez a probléma csak + akkor jelentkezik, ha az éles él a blokkon belül van. Ha a fekete + határ épp olyan pixel határon kezdődik, ami 16 többszöröse, akkor nincs + probléma. Habár a fekete határok a DVD-ken ritkán vannak szépen + eligazítva, így a gyakorlatban majdnem mindig vágni kell, hogy + elkerüld ez a büntetést. +</para> +</listitem> +</orderedlist> + +<para> + A frekvencia tartományok kódolása mellett az MPEG-típusú tömörítés + mozgó vektorokat használ a képkockák közötti változások ábrázolásához. + A mozgó vektorok természetesen kevésbé hatékonyak a sarkokból érkező + új tartalomnál, mert az még nincs jelen az előző képkockán. Amíg a + tartalom a sarkok felé terjed ki, a mozgó vektoroknak nincs problémájuk + a tartalom kifelé mozgásával. Habár a fekete határok megjelenésekor + lehetnek gondok: +</para> + +<orderedlist continuation="continues"> +<listitem> +<para> + Minden egyes makroblokknál az MPEG-típusú kódolás egy vektort is eltárol, + mely azt mondja meg, hogy az előző képkocka melyik részét kell átmásolni + ebbe a makroblokkba a következő kocka megbecsléséhez. Csak a megmaradt + különbséget kell elkódolni. Ha a makroblokkot kettéosztja a kép széle + és a fekete sáv, akkor a kép többi részének mozgó vektorai felül fogják + írni a fekete sávot. Ez azt jelenti, hogy sok bitet kell elpazarolni + vagy a határ felülírt részének újrafeketítéséhez vagy (inkább) a + mozgó vektor nem kerül felhasználásra és így a makroblokk összes + változását expliciten el kell kódolni. Mindkét esetben jelentősen + romlik a kódolás hatékonysága. +</para> + +<para> + Ez a probléma szintén csak akkor jelentkezik, ha a fekete sáv nem 16 + többszörösű pixel-határon van. +</para> +</listitem> + +<listitem> +<para> + Végül tegyük fel, hogy van egy makroblokkunk a kép belsejében és + egy objektum mozog be ebbe a blokkba a kép sarka felől. Az MPEG-típusú + kódolás nem tudja azt mondani, hogy "másold át azt a részt, ami a kép + belsejében van, de a fekete sávot ne". Így a fekete sáv is átmásolódik + és így rengeteg bitet kell feláldozni a kép ott lévő részének + újrakódolásához. +</para> + +<para> + Ha a kép tovább fut az elkódolt terület sarka felé, az MPEG-nek speciális + optimalizációi vannak az kép szélén lévő pixelek ismétlődő másolására, + ha a mozgó vektorok a kódolt területen kívülről jönnek. Ez a tulajdonság + haszontalanná válik, ha a filmen fekete sávok vannak. Az első két + problémával ellentétben itt nem segít a 16 többszörösére való igazítás. +</para> +</listitem> + +<listitem> +<para> + Habár a sávok teljesen feketék és soha nem változnak, mindenképpen + egy kis plusz munkát igényelnek, mivel több macroblokk van. +</para> +</listitem> +</orderedlist> + +<para> + A fenti okok miatt javasolt, hogy teljesen vágd le a fekete sávokat. + Továbbá ha a kép sarkainál zaros/torz rész van, ennek a levágása is + javít a kódolási hatékonyságon. A keményvonalas videósok, akik az eredeti + tartalmat akarják megtartani, amennyire csak lehet, biztos tiltakozni + fognak ez ellen, de ha nem tervezed konstant kvantálás használatát, akkor + a vágás miatt nyert minőségjavulás jelentősen nagyobb lesz, mint a sarkok + levágása miatti információvesztés. +</para> +</sect2> + + +<sect2 id="menc-feat-dvd-mpeg4-crop"> +<title>Vágás és méretezés</title> + +<para> + Emlékezz rá az előző fejezetből, hogy a végső képméret, amibe kódolsz, + 16 többszöröse ajánlott, hogy legyen (mind szélességben, mind magasságban). + Ezt vágással, méretezéssel vagy ezek kombinációjával érheted el. +</para> + +<para> + Vágásnál van egy pár ökölszabály, amit jó ha betartasz, ha nem akarsz + kárt tenni a filmben. + A normál YUV formátum 4:2:0, a chroma (szín) információkat almintaként + tárolja, pl. a chroma csak fele annyiszor kerül mintázásra minden + irányban, mint a luma (intenzítás) információk. + Tanulmányozd ezt a diagramot, ahol L jelenti a luma mintázási pontokat + és C a chroma-kat! +</para> + +<informaltable> +<?dbhtml table-width="40%" ?> +<?dbfo table-width="40%" ?> +<tgroup cols="8" align="center"> +<colspec colnum="1" colname="col1"/> +<colspec colnum="2" colname="col2"/> +<colspec colnum="3" colname="col3"/> +<colspec colnum="4" colname="col4"/> +<colspec colnum="5" colname="col5"/> +<colspec colnum="6" colname="col6"/> +<colspec colnum="7" colname="col7"/> +<colspec colnum="8" colname="col8"/> +<spanspec spanname="spa1-2" namest="col1" nameend="col2"/> +<spanspec spanname="spa3-4" namest="col3" nameend="col4"/> +<spanspec spanname="spa5-6" namest="col5" nameend="col6"/> +<spanspec spanname="spa7-8" namest="col7" nameend="col8"/> + <tbody> + <row> + <entry>L</entry> + <entry>L</entry> + <entry>L</entry> + <entry>L</entry> + <entry>L</entry> + <entry>L</entry> + <entry>L</entry> + <entry>L</entry> + </row> + <row> + <entry spanname="spa1-2">C</entry> + <entry spanname="spa3-4">C</entry> + <entry spanname="spa5-6">C</entry> + <entry spanname="spa7-8">C</entry> + </row> + <row> + <entry>L</entry> + <entry>L</entry> + <entry>L</entry> + <entry>L</entry> + <entry>L</entry> + <entry>L</entry> + <entry>L</entry> + <entry>L</entry> + </row> + <row> + <entry>L</entry> + <entry>L</entry> + <entry>L</entry> + <entry>L</entry> + <entry>L</entry> + <entry>L</entry> + <entry>L</entry> + <entry>L</entry> + </row> + <row> + <entry spanname="spa1-2">C</entry> + <entry spanname="spa3-4">C</entry> + <entry spanname="spa5-6">C</entry> + <entry spanname="spa7-8">C</entry> + </row> + <row> + <entry>L</entry> + <entry>L</entry> + <entry>L</entry> + <entry>L</entry> + <entry>L</entry> + <entry>L</entry> + <entry>L</entry> + <entry>L</entry> + </row> + </tbody> +</tgroup> +</informaltable> + +<para> + Amint láthatod, a kép sorai és oszlopai természetszerűleg párokba + rendeződnek. Így a vágási eltolásodnak és a méreteidnek páros + számoknak <emphasis>kell</emphasis> lenniük. + Ha nem, akkor a chroma nem fog rendes sort alkotni a luma-val. + Elméletben lehetséges a vágás páratlan eltolással, de ehhez a + chroma újramintázása szükséges, ami egy veszteséges művelet és + nem is támogatja a vágó szűrő. +</para> + +<para> + Továbbá az átlapolt videót a következőképpen mintázzák: +</para> + +<informaltable> +<?dbhtml table-width="80%" ?> +<?dbfo table-width="80%" ?> +<tgroup cols="16" align="center"> +<colspec colnum="1" colname="col1"/> +<colspec colnum="2" colname="col2"/> +<colspec colnum="3" colname="col3"/> +<colspec colnum="4" colname="col4"/> +<colspec colnum="5" colname="col5"/> +<colspec colnum="6" colname="col6"/> +<colspec colnum="7" colname="col7"/> +<colspec colnum="8" colname="col8"/> +<colspec colnum="9" colname="col9"/> +<colspec colnum="10" colname="col10"/> +<colspec colnum="11" colname="col11"/> +<colspec colnum="12" colname="col12"/> +<colspec colnum="13" colname="col13"/> +<colspec colnum="14" colname="col14"/> +<colspec colnum="15" colname="col15"/> +<colspec colnum="16" colname="col16"/> +<spanspec spanname="spa1-2" namest="col1" nameend="col2"/> +<spanspec spanname="spa3-4" namest="col3" nameend="col4"/> +<spanspec spanname="spa5-6" namest="col5" nameend="col6"/> +<spanspec spanname="spa7-8" namest="col7" nameend="col8"/> +<spanspec spanname="spa9-10" namest="col9" nameend="col10"/> +<spanspec spanname="spa11-12" namest="col11" nameend="col12"/> +<spanspec spanname="spa13-14" namest="col13" nameend="col14"/> +<spanspec spanname="spa15-16" namest="col15" nameend="col16"/> + <tbody> + <row> + <entry namest="col1" nameend="col8">Top field</entry> + <entry namest="col9" nameend="col16">Bottom field</entry> + </row> + <row> + <entry>L</entry> + <entry>L</entry> + <entry>L</entry> + <entry>L</entry> + <entry>L</entry> + <entry>L</entry> + <entry>L</entry> + <entry>L</entry> + <entry></entry> + <entry></entry> + <entry></entry> + <entry></entry> + <entry></entry> + <entry></entry> + <entry></entry> + <entry></entry> + </row> + <row> + <entry spanname="spa1-2">C</entry> + <entry spanname="spa3-4">C</entry> + <entry spanname="spa5-6">C</entry> + <entry spanname="spa7-8">C</entry> + <entry></entry> + <entry></entry> + <entry></entry> + <entry></entry> + <entry></entry> + <entry></entry> + <entry></entry> + <entry></entry> + </row> + <row> + <entry></entry> + <entry></entry> + <entry></entry> + <entry></entry> + <entry></entry> + <entry></entry> + <entry></entry> + <entry></entry> + <entry>L</entry> + <entry>L</entry> + <entry>L</entry> + <entry>L</entry> + <entry>L</entry> + <entry>L</entry> + <entry>L</entry> + <entry>L</entry> + </row> + <row> + <entry>L</entry> + <entry>L</entry> + <entry>L</entry> + <entry>L</entry> + <entry>L</entry> + <entry>L</entry> + <entry>L</entry> + <entry>L</entry> + <entry></entry> + <entry></entry> + <entry></entry> + <entry></entry> + <entry></entry> + <entry></entry> + <entry></entry> + <entry></entry> + </row> + <row> + <entry></entry> + <entry></entry> + <entry></entry> + <entry></entry> + <entry></entry> + <entry></entry> + <entry></entry> + <entry></entry> + <entry spanname="spa9-10">C</entry> + <entry spanname="spa11-12">C</entry> + <entry spanname="spa13-14">C</entry> + <entry spanname="spa15-16">C</entry> + </row> + <row> + <entry></entry> + <entry></entry> + <entry></entry> + <entry></entry> + <entry></entry> + <entry></entry> + <entry></entry> + <entry></entry> + <entry>L</entry> + <entry>L</entry> + <entry>L</entry> + <entry>L</entry> + <entry>L</entry> + <entry>L</entry> + <entry>L</entry> + <entry>L</entry> + </row> + <row> + <entry>L</entry> + <entry>L</entry> + <entry>L</entry> + <entry>L</entry> + <entry>L</entry> + <entry>L</entry> + <entry>L</entry> + <entry>L</entry> + <entry></entry> + <entry></entry> + <entry></entry> + <entry></entry> + <entry></entry> + <entry></entry> + <entry></entry> + <entry></entry> + </row> + <row> + <entry spanname="spa1-2">C</entry> + <entry spanname="spa3-4">C</entry> + <entry spanname="spa5-6">C</entry> + <entry spanname="spa7-8">C</entry> + <entry></entry> + <entry></entry> + <entry></entry> + <entry></entry> + <entry></entry> + <entry></entry> + <entry></entry> + <entry></entry> + </row> + <row> + <entry></entry> + <entry></entry> + <entry></entry> + <entry></entry> + <entry></entry> + <entry></entry> + <entry></entry> + <entry></entry> + <entry>L</entry> + <entry>L</entry> + <entry>L</entry> + <entry>L</entry> + <entry>L</entry> + <entry>L</entry> + <entry>L</entry> + <entry>L</entry> + </row> + <row> + <entry>L</entry> + <entry>L</entry> + <entry>L</entry> + <entry>L</entry> + <entry>L</entry> + <entry>L</entry> + <entry>L</entry> + <entry>L</entry> + <entry></entry> + <entry></entry> + <entry></entry> + <entry></entry> + <entry></entry> + <entry></entry> + <entry></entry> + <entry></entry> + </row> + <row> + <entry></entry> + <entry></entry> + <entry></entry> + <entry></entry> + <entry></entry> + <entry></entry> + <entry></entry> + <entry></entry> + <entry spanname="spa9-10">C</entry> + <entry spanname="spa11-12">C</entry> + <entry spanname="spa13-14">C</entry> + <entry spanname="spa15-16">C</entry> + </row> + <row> + <entry></entry> + <entry></entry> + <entry></entry> + <entry></entry> + <entry></entry> + <entry></entry> + <entry></entry> + <entry></entry> + <entry>L</entry> + <entry>L</entry> + <entry>L</entry> + <entry>L</entry> + <entry>L</entry> + <entry>L</entry> + <entry>L</entry> + <entry>L</entry> + </row> + </tbody> +</tgroup> +</informaltable> + +<para> + Amint láthatod a minták nem ismétlődnek meg a 4 sor után. + Így az átlapolt videóhoz a vágás y-eltolásának és a magasságának + 4 többszörösének kell lennie. +</para> + +<para> + A natív DVD felbontás 720x480 NTSC-vel és 720x576 PAL-lal, de van egy + arányjelző is, ami megmutatja, hogy teljes képernyős (4:3) vagy széles + vásznú (16:9). Sok (ha nem az összes) széles képernyős DVD nem szigorúan + 16:9-es, vagy 1.85:1-hez vagy 2.35:1-hez (cinescope). Ez azt jelenti, hogy + fekete sávok lesznek a videón, amit le kell vágni. +</para> + +<para> + Az <application>MPlayer</application> rendelkezik egy crop detection szűrővel, + ami megállapítja a levágandó téglalapot (<option>-vf cropdetect</option>). + Futtasd az <application>MPlayer</application>t a |