Változó bitráta

A Wikipédiából, a szabad enciklopédiából

A változó bitráta (Variable BitRate, VBR) a telekommunikációban és az informatikában a szolgáltatásminőséggel kapcsolatos fogalom.

Hang- és videokodekek esetében a változó bitrátájú kódolás azt jelenti, hogy az állandó bitrátával ellentétben, a kódolás eredményeképpen kapott adatok mennyisége azonos időszegmenst tekintve jellemzően nem állandó. A VBR kódolás lehetővé teszi, hogy a komplexebb részek kódolására a kodek magasabb bitrátát (így több tárhelyet) használjon fel, a kevésbé komplex szegmensekhez pedig alacsonyabbat. A különböző bitrátával kódolt részek súlyozott átlagából (vagy a teljes fájl/stream helyfoglalásából és időbeli hosszából) kikalkulálható az átlagos bitráta.

Az MP3, az Opus, a WMA, a Vorbis és az AAC hangfájlok is lehetnek opcionálisan VBR kódolásúak.[1][2][3] A változó bitrátájú kódolás általános az MPEG-2 videónál, az MPEG-4 Part 2 videoformátumoknál (Xvid, DivX stb.), az MPEG-4 Part 10/H.264 videónál, a Theora, Dirac és egyéb videotömörítési formátumoknál is. Ezeken kívül a változó bitráta szinte kötelező jellemzője a veszteségmentes tömörítésű kódolásoknak, mint amilyen a FLAC vagy az Apple Lossless.

A VBR előnyei és hátrányai[szerkesztés | forrásszöveg szerkesztése]

A VBR nyilvánvaló előnye, hogy jobb minőséget képes produkálni ugyanakkora fájlméret mellett, mint a CBR kódolás. A felhasználható biteket rugalmasan képes elosztani a hang- vagy videoadatok pontosabb kódolására, a könnyebben kódolható részekre kevesebb bitet pazarolva, hogy a komplex részekre több jusson.[2][4]

A hátrányok között említhető a kódolás időigényének megnövekedése (a folyamat nagyobb komplexitása miatt), továbbá egyes korábbi hardverek képtelenek lehetnek a VBR fájlok dekódolására.[2] A VBR problémát okozhat streaming esetén is, ha a pillanatnyi bitráta meghaladja a kommunikációs csatorna átviteli képességét. Ez elkerülhető a változó bitráta maximális pillanatnyi bitrátájának korlátozásával, vagy – a késleltetés növekedésének árán – a lejátszási puffer méretének növelésével.

A VBR kódolású beszéd (vagy videó) rejtjelezésekor a biztonságot csökkentő tényező, hogy a bitráta változásának mintázatai sokat elárulhatnak a titkosított információ tartalmáról.[5][6]

A múltban sok olyan hardveres és szoftveres médialejátszó került forgalomba, amik nem voltak képesek a változó bitrátájú (MP3) fájlokat megfelelően lejátszani, részben az akkori VBR-kódolók hibái miatt. Ez ahhoz vezetett, hogy sok esetben a biztonság, illetve a kompatibilitás kedvéért a CBR kódolást választották a VBR helyett. Kb. 2007-re ez okafogyottá vált, addigra ugyanis szinte minden hordozható zenelejátszó megfelelően támogatta a változó bitrátájú fájlokat.

A kezdeti VBR-kódoló algoritmusok monoton vagy nagyon egyszerű hangminták (például hangoskönyvek vagy akusztikus zene) kódolásakor hallható hibákat vétettek. Gyakran afféle digitális csippanás hallatszott a dal csendesebb részeinél vagy amikor csak beszéd volt hallható a felvételen. A VBR kódoló algoritmusok azóta sokat fejlődtek, a problémákat a kódolást végző szoftverekben kijavították.

A VBR kódolás módszerei[szerkesztés | forrásszöveg szerkesztése]

Megjegyzendő, hogy a változó bitrátájú kódolás lehetséges stratégiái csak a kódolási folyamatban okoznak eltéréseket. A VBR streamek dekódolása minden esetben ugyanúgy történik, függetlenül attól, hogy a kódoló milyen módszert választ a bitek lefoglalására.

Többmenetes és egymenetes kódolás[szerkesztés | forrásszöveg szerkesztése]

A VBR kódolás történhet egymenetes vagy többmenetes kódolással (single-pass/multi-pass encoding). Az állandó bitrátánál is használatos egymenetes kódolás „röptében” (on the fly) analizálja és kódolja a bemenetet. Egymenetes kódolást akkor végeznek, ha a kódolás sebessége a legfontosabb – például valós idejű kódolás esetén. Az egymenetes VBR kódolás beállításai a kódolóban általában „fix minőség”, „bitrátatartomány” (minimális és maximális megengedett bitráta) vagy „átlagos bitráta” néven találhatók meg. Többmenetes kódolást akkor használnak, ha a tömörített hang/videó minősége a legfontosabb. Többmenetes kódolás nem alkalmazható valós idejű kódolás, élő közvetítés/streaming esetén, fő felhasználási területe az archiválás. A többmenetes kódolás időigényes, hiszen minden „menet” a bemeneti adatok végigolvasását jelenti. A többmenetes kódolást csak VBR kódolásnál alkalmazzák, mivel a CBR nem kínálja fel a bitráta változtatásának rugalmasságát. A többmenetes kódolás leggyakoribb esete a kétmenetes kódolás. Az első menetben a kódoló analizálja a bemeneti adatokat, az eredményt naplófájlban tárolja. A második menetben az analízis során gyűjtött információkat felhasználva kísérli meg a legjobb kódolási minőség elérését. Videotömörítésnél a kétmenetes kódolást általában az „átlagos bitráta”, „bitrátatartomány” (minimális és maximális megengedett bitráta) vagy elérendő videofájlméret beállítások szabályozzák. [7][8][9][10][11][12][13][14][15]

Állandó minőség[szerkesztés | forrásszöveg szerkesztése]

A VBR kódolás egyik fajtája a „rögzített kvantálású” vagy „állandó minőségű” kódolás. Ez általában egymenetes kódolást jelent. A felhasználó meghatároz egy szubjektív minőségértéket, és a kódoló biteket allokál a megfelelő minőség eléréséhez. Ez nagyjából biztosítja, hogy a kimeneti adatfolyam végig konzisztens minőségű lesz. A minőségi szinthez általában egy-egy bitrátatartomány rendelhető hozzá. Ennek a kódolási módszernek a hátránya, hogy az átlagos bitráta (és így a fájlméret) nem határozható meg előre, egy konkrét átlagos bitráta elérése próbálgatást igényel. Ez általában inkább a videoalkalmazások esetében okoz problémát, mivel ott a fájlméretek és a kódolási idők is jóval nagyobbak.

Bitrátatartomány[szerkesztés | forrásszöveg szerkesztése]

A VBR kódolási módszer lehetővé teszi, hogy a felhasználó bitrátatartományt határozzon meg – azaz minimális és/vagy maximális megengedett bitrátát.[16] Egyes kódolók az átlagos bitráta megadásával egészítik ki ezt a módszert. A minimális és maximális megengedett bitráta megszabja a korlátokat, ami között a pillanatnyi bitráta értéke mozoghat. A módszer hátránya, hogy az átlagos bitráta (és így a fájlméret) nem határozható meg pontosan előre. A bitrátatartomány-módszert egyes állandó minőségű tömörítési módszerekben is alkalmazzák.[17]

Átlagos bitráta[szerkesztés | forrásszöveg szerkesztése]

Az átlagos bitráta (ABR) kódolás segítségével biztosítani lehet, hogy a kimeneti adatfolyam átlagos bitrátája hosszú távon megjósolható legyen. Ezt általában többmenetes kódolással valósítják meg, ilyenkor először egy vagy több menetben információkat gyűjtenek a bemeneti multimédiás adatokról, az utolsó, tényleges kódolási lépésben pedig az összegyűjtött információkat felhasználják arra, hogy a meghatározott átlagos bitrátával végig állandó minőségű legyen a kódolás.

Egy másik megoldásban az egész fájl elemzése helyett periodikus átlagolást használnak, vagy az előzőleg leírt ABR módszert alkalmazva a bemenet kisebb adagjaira, vagy az ABR fluktuációira a minőség csökkentésével vagy növelésével reagálva. Ezek segítségével elérhető egy menetben az ABR, de a minőség, illetve a bitráta nem lesz olyan egyöntetű, mint a többmenetes módszernél. Egyes kódolók „ABR kódolás” és „többmenetes kódolás” névvel különböztetik meg az egy-, illetve többmenetes ABR kódolásokat.

Egyes kódolók megengedik a tömörítés során használt maximális megengedett bitráta, illetve maximális minőségérték megadását. Ezt Constrained Variable Bitrate (CVBR)-nek (korlátozottan változó bitráta) is nevezik, és általában az ABR algoritmusokra vonatkoztatják.

Az egymenetes ABR kódolás hátránya (CVBR-rel vagy anélkül) épp fordítottja az „állandó minőségű” VBR kódolásnak – a kimenet mérete előre ismert, de minősége ismeretlen, bár még mindig jobb, mint amit CBR esetében kapnánk.[15] Magasabb átlagos vagy maximális bitráta megadása egyszerűen megnövelné a fájlméretet érzékelhető minőségjavulás nélkül, és a megnövelt maximális bitráta a stream akadozását okozhatja. A kritériumok túl alacsonyra vitele viszont a minőség drasztikus eséséhez vezethet. Videónál ez jellemzően a kép „kockásságában” jelentkezik.

A többmenetes ABR kódolás inkább hasonlítható az „állandó minőségű” VBR kódoláshoz, mivel a magasabb átlag megadása itt valóban javítja a minőséget.[10]

Nem létezik ideális, mindenki számára megfelelő ABR beállítás videotömörítésre. Alacsony felbontásnál (320 vagy 640 sor) az MPEG-1-gyel vagy MPEG-2-vel kódolt videó átlagos bitrátája akár 1000 kbit/s alá is mehet, és még mindig elfogadható lehet a képminőség. Egy nagy felbontású (például 1080 soros) videónál az átlagos bitráta akár 6000 kbit/s vagy magasabb is lehet. A videó minimális bitrátáját meghatározó legfontosabb tényező természetesen az alkalmazott kódoló algoritmus hatékonysága. A modernebb videotömörítő algoritmusok, mint az MPEG-4 alacsonyabb bitrátával is jól működnek, bár a sok mozgást vagy fehér zajt tartalmazó jeleneteket magas bitrátával kell kódolniuk a tömörítési hibák elkerüléséhez. Végeredményben a felhasználónak próbálgatással kell belőnie egy adott videofolyam minimális méretét: adott bitrátával való kódolás után az eredményt megtekintve, majd újra próbálkozva.

Fájlméret[szerkesztés | forrásszöveg szerkesztése]

A „fájlméret” beállítást használó VBR megoldások rendszerint többmenetes kódolásúak. Ez teszi lehetővé a célfájlméret megadását. Az első menetben a kódoló analizálja a bemeneti fájlt és automatikusan meghatározza a lehetséges bitrátatartományokat és/vagy az átlagos bitrátát. Az utolsó menetben a kódoló a rendelkezésére álló biteket az egész videóra szétosztja, hogy időben állandó minőségű legyen a kódolt fájl.[10]

Jegyzetek[szerkesztés | forrásszöveg szerkesztése]

  1. Variable Bitrate, Hydrogenaudio, 2007, <http://wiki.hydrogenaudio.org/index.php?title=VBR>. Retrieved on 2009-09-30
  2. ^ a b c "VBR", Glossary, AfterDawn, <http://www.afterdawn.com/glossary/terms/vbr.cfm>. Retrieved on 2009-09-30
  3. Variable bit rate, Audacity, <http://wiki.audacityteam.org/index.php?title=Variable_bit_rate>. Retrieved on 2009-09-30
  4. LAME – VBR (variable bitrate) settings, Hydrogenaudio, 2009, <http://wiki.hydrogenaudio.org/index.php?title=Recommended_LAME#VBR_.28variable_bitrate.29_settings>. Retrieved on 2009-09-30
  5. Wright, CV; Ballard, L & Coull, SE et al., Spot me if you can: Uncovering Spoken Phrases in Encrypted VoIP Conversations, JHU, <http://www.cs.jhu.edu/~fabian/papers/oakland08.pdf>.
  6. Hwsw: Lehallgathatók a változó bitrátával kódolt internetes telefonhívások
  7. "Multi-pass encoding", Glossary, AfterDawn, <http://www.afterdawn.com/glossary/terms/multipass.cfm>. Retrieved on 2009-09-30
  8. Multi-pass Encoding, Digital Digest, 2007, <http://wiki.digital-digest.com/index.php/Multi-pass_Encoding>. Retrieved on 2009-09-30
  9. "Multipass encoding", Ripping Glossary, Doom 9, 2004-04-20, <http://www.doom9.org/glossary.htm#mpass>. Retrieved on 2009-09-30
  10. ^ a b c "Rate Control — Encoding Mode", H.264/AVC options explained, Avidemux, 2009, <http://www.avidemux.org/admWiki/index.php?title=H264#General>. Retrieved on 2009-09-30
  11. "Encoding with the x264 codec", Encoding with MEncoder, HU: MPlayer team, <http://www.mplayerhq.hu/DOCS/HTML/en/menc-feat-x264.html#menc-feat-x264-encoding-options-misc-preferences>. Retrieved on 2009-10-01
  12. DVDGuy (2006-06-21), Xvid Setup Guide, Digital Digest, <http://www.divx-digest.com/articles/xvid_setup_page2.html#encoding>. Retrieved on 2009-10-01
  13. DivX 4.x Codec Setup Guide, Digital Digest, 2001-08-27, <http://www.divx-digest.com/articles/divx4_setup.html>. Retrieved on 2009-10-04
  14. TMPGEnc Explained V2.0.1, Video help, 2001-08-27, <http://www.videohelp.com/oldguides/tmpgencexplained.htm>. Retrieved on 2009-10-04
  15. ^ a b Average Bitrate, Hydrogenaudio, 2007, <http://wiki.hydrogenaudio.org/index.php?title=Average_Bitrate>. Retrieved on 2009-10-01
  16. Variable Bitrate, Hydrogenaudio, 2007, <http://wiki.hydrogenaudio.org/index.php?title=Variable_Bitrate>. Retrieved on 2009-10-04
  17. LAME — VBR, Hydrogenaudio, 2007, <http://wiki.hydrogenaudio.org/index.php?title=LAME#VBR_.28variable_bitrate.29_settings>. Retrieved on 2009-10-04

Fordítás[szerkesztés | forrásszöveg szerkesztése]

  • Ez a szócikk részben vagy egészben a Variable bitrate című angol Wikipédia-szócikk ezen változatának fordításán alapul. Az eredeti cikk szerkesztőit annak laptörténete sorolja fel.

Kapcsolódó szócikkek[szerkesztés | forrásszöveg szerkesztése]