Hirdetés

Aktív témák

  • DcsabaS

    senior tag

    válasz Sipi #7 üzenetére

    ''Pontosan mi az a quantizer? (Ha tudnám, a következő kérdésem is meg lenne válaszolva: miért nincs értelme, ha quant=1, miért jó a 2, és miért lesz egyre csúnyább, ha nő?)''
    A DivX kódolásnál többféle kvantálás is előfordul. A kvantálás általában azt jelenti, hogy valamit, ami folytonos (vagy közelítőleg annak vehető), diszkrét értékekkel helyettesítünk. (A digitalizálás ennek speciális esete.) Lehet kvantálni színmélységben, de ezt közvetlenül nem tudjuk befolyásolni, mondhatni a DivX codec belügye. Lehet a kép síkjában is, ami azt jelenti, hogy a codec ekkora négyzet alakú tartományokra bontja szét a képet. Értelemszerűen annál nagyobb lehet a tömörítés, minél nagyobbak a tartományok, ámde annál rosszabb is lesz a felbontás és artifact-ként láthatóvá válhatnak a ''rettegett'' négyzetek. Egyazon képen belül is változhat (az egymás követők között meg pláne), hogy milyen kicsi négyzetekig célszerű elmenni. A DivX codec az általunk megadott minimális/maximális méretek között keresi az optimumot, de nem mindig sikerül neki úgy. Tipikusan az van, hogy sötét, és folyamatosan változó árnyalatú, de nem struktúrált felületeken nagyon láthatókká válhatnak a négyzetek. Ha a maximum quantizert kisebbre állítjuk, akkor a négyzetek és a kontrasztjuk is kisebb lesz, vagyis nem lesz olyan kiábrándító a kép.

    ''Ezek szerint: ha konstans bitrátát (vbitrate=xxx), vagyis változó kvantálást használok, értelme van a min és max kvantálás megadásának.''
    Mindenképpen van értelme, ugyanis a képek belsejében is a határok közötti, de akár többféle kvantálással dolgozik a codec.

    ''Ezzel egyensúlyozhatok a nagyobb méret (kicsi min) és a rosszabb minőség (max nagy) között.''
    Igen. Ha muszáj erősen tömöríteni, akkor kénytelenek vagyunk növelni a maximális megengedett kvantálási méretet - de ez rontja a minőséget.

    ''Ha pedig konstans kvantálást (vqscale=xxx), ezeknek nincs értelme - ekkor a vrc_maxrate és vrc_minrate nyer értelmet?''
    A régi DivX codec-ekeknél tényleg volt olyan kódolás, amikor a kvantálás mérete határozott volt. Az 5-ös codec viszont mindig többféle kvantálást használ (hacsak nem állítod a minimumot és a maximumot azonosra), ami jobb módszer, csak nehezebben megjósolható a file végső mérete - hacsak nem 2-menetes a kódolás.


    Egyebek:
    Windows (VirtualDub) alatt mindent kézben lehet tartani, zseniális filterek vannak. Linux alatt meg szerintem neked kell majd megcsinálnod (bár lehet, hogy éppen ezt akarod).

    A hangot a 2. menetben célszerű tömöríteni. A mérete pontosan meghatározott, hacsak nem VBR-t használsz, ami viszont balfékség lenne, ugyanis az ilyen videókat utána nem lehet korrektül darabolni (hiszen ide-oda csúszkál a hang pozíciója).

    ''A key frame-ekkel érdemes variálni? Mit lehet vele elérni?''
    De még mennyire! A filmekben számos helyen van kameraváltás, és minden ilyen helyre key frame-et kell tenni, különben dupla sávszélességnél is OCSMÁNYAK lesznek az átmenetek. (A DivX5 a 2-menetes kódolásnál szinte az összes képváltást lefüleli.)

    ''Mit jelent a Bidirectional Encoding, QP és Gmc?''
    Részletesen is megismerhetők a www.divx.com-on, mindenesetre a tömör lényeg:
    BDE: a codec nemcsak a korábbi frame-ekből tud számolni a későbbiekre, hanem fordítva is. (Ez a tapasztalatok szerint majd 30 százalékos nyereségre vezet.)

    QP: Negyed pixeles pontossággal számolja ki az egyes tartományok színét, és úgy keresi az optimumot. (Ennek relatíve kicsi a haszna.)

    GMC: Az egész képre kiterjedően nagy pontossággal határozza meg, hogy az egyes makroblokkok hová mozdulnak. (Olyankor jelent nagy nyereséget, ha sok mozgás van, és a kép mégsem elmosódott. Sajnos lejátszásnál túl nagy plusz terhet jelent.)

    ATi TV kártya (SuSe) Linux alatt: egy munkatársamnak épp mostanra sikerült beüzemelnie a 2 hónapja vett kártyát (Miro PCTV Pro jellegű), miután letöltött valahonnan egy leges-legújabb drivert.

Aktív témák