DOKTORI ÉRTEKEZÉS ÚJ RÁCSKVANTÁLÓ ALGORITMUSOK ÉS ALKALMAZÁSAIK A VIDEÓ- ÉS A BESZÉDKÓDOLÁSBAN. Készítette: Lois László

Méret: px
Mutatás kezdődik a ... oldaltól:

Download "DOKTORI ÉRTEKEZÉS ÚJ RÁCSKVANTÁLÓ ALGORITMUSOK ÉS ALKALMAZÁSAIK A VIDEÓ- ÉS A BESZÉDKÓDOLÁSBAN. Készítette: Lois László"

Átírás

1 DOKTORI ÉRTEKEZÉS ÚJ RÁCSKVANTÁLÓ ALGORITMUSOK ÉS ALKALMAZÁSAIK A VIDEÓ- ÉS A BESZÉDKÓDOLÁSBAN Készítette: Los László Témavezető: Dr. Pálnszk Antal Budapest Műszak és Gazdaságtudomány Egyetem Híradástechnka Tanszék Budapest 3

2 Köszönetnylvánítás Köszönettel tartozom mndazoknak, akk a kutató pályámon elndítottak és a munkámban segítettek: Dr. Augusztnovcz Fülöp Dr. Bozók Sándor Dr. Cséfalva Klára Dr. Györf László Dr. György András Dr. Kovács Imre Ladány József Dr. Lnder Tamás Dr. Pálnszk Antal Dr. Pap László Szabó Dánel Dr. Vcs Klára Dr. Vu Le Ha és a családom.

3 . BEVEZETÉS.... RÁCSKVANTÁLÁS ÉS ALKALMAZÁSAINAK IRODALMI ÁTTEKINTÉSE Vektorkvantálás Rácskvantálás Fontosabb rácsok konstrukcó Rácskvantáló kódolás és ndexelés algortmusok Kódolás az eltolt és skálázott D K rácsok unójából származó rácsokon Conway és Sloane kódolás algortmusa Kódolás a D K rácsra Rácsok hperpramsának elemszáma Indexelés rácsok hperpramsában Hperprams és hpergömb alapú korlátozás Rácskvantálók alkalmazása Összefoglalás ÚJ INDEXELÉSI ÉS ELEMSZÁMÍTÁSI ALGORITMUSOK RÁCSKVANTÁLÁS CÉLJÁRA A legközelebb nem-nulla komponensű rácspont megtalálása Módosított kvantálás a D k rácsra Módosított kvantálás az s D k bnárs vektorokkal eltolt unónak rácsára Pramson lévő vektorok száma véges koordnátájú kockarácsban Prams elemszáma véges nemnegatív koordnátájú kockarácsban Prams elemszáma véges nem-nulla koordnátájú kockarácsban Nem-nulla koordnátájú pontok száma szmmetrkus koordnátalmttel Új ndexelés algortmus a kockarács egy pramsán Új ndexelés algortmus =..N- (r + D k ) alakú rácsokra Prams pontjanak száma =..N- (b + D k ) alakú rácsokra Koordnáta korlátozással való ndexelés a =..N- (b + D k ) rácsban Az új prams alapú ndexelés algortmusok műveletszám génye RÁCSKVANTÁLÁS ALKALMAZÁSA MPEG VIDEÓ TRANSZKÓDOLÁSÁRA Rácskvantáló alapú MPEG- vdeó transzkóder Együtthatók fontosság térképének kódolása A fontosság térkép letapogatásának ránya A blokkvég jelzése bnárs fontosság térkép esetén A fontosság térkép gyakorságfüggő kódolása...4

4 4..4. Mérés eredmények és tapasztalatok a fontosság térkép kódolásánál Artmetka kódolás vzsgálata Futamhossz kódolás vzsgálata Az artmetka és futamhossz kódolás összehasonlítása Az új rácskvantálás algortmusok alkalmazása Mérés eredmények és tapasztalatok A térbel és a prams alapú kódolás összehasonlítása A jelentőség-küszöb és a nem-nulla koordnátájú vektorok kérdése A jelentőség-küszöb nem-nulla együtthatókra való kvantálással A jelentőség-küszöb a nulla együtthatókat engedélyező kvantálással A jelentőség küszöb vzsgálat eredményenek értékelése A véglegesített transzkóder algortmus Az új transzkóder összehasonlítása hagyományos MPEG- transzkóderrel Összefoglalás A BESZÉD LINEÁRIS PREDIKCIÓS KÓDOLÁSA Beszédkódolás stratégák Az LPC alapú beszédkódolás Sztochasztkus folyamatok optmáls lneárs predkcója Az LPC paraméterek és az LPC szűrő alternatív ábrázolása Az LSF paraméterek tulajdonsága Súlyozott négyzetes hbakrtérum az LSF kódolókban LSF kódolás kutatás eredménye LSF paraméterek kódolása súlyozott négyzetes hbakrtérum használatával LSF paraméterek kódolása lneárs transzformácóval Az LSF és KLT paraméterek predktív kvantálása Rácskvantálás alkalmazása LSF kódolására Beszédkódolás szabványok ITU-T szabványok ETSI szabványok Az MPEG-4 beszédkódoló eszköze Egyéb szabványok Összefoglalás ÚJ KÓDOLÁSI SÉMÁK LSF PARAMÉTER KVANTÁLÁSÁRA...8

5 6.. Továbbfejlesztett séma lneárs transzformált LSF paraméterek WSE hbakrtérummal való osztott vektorkvantálására A továbbfejlesztett WMSE séma mérés eredménye Ortogonáls lneárs transzformácó használata predktív többléptékű rácskvantálóval LSF kódolásra A különböző léptéken vett rácsok unójának hatékonyabb kódolása Az MSLVQ túlcsordulás tartományának kezelése Új távolságkrtérum szntézs által analízs technkával A koordnáták között fontosság kezelése a rácskvantálás során...9 Az új transzformácós kódoló séma PMSLVQ-val Mérés eredmények és tapasztalatok Az új rendszer létrehozása és a transzformácó és predkcó között sorrend a kódolóban A pakolt ndexelés megvalósítása Összehasonlító mérések A pakolt ndexelés bevezetésének hatása Koordnátánként zsugorítás hatása Az új módszerek összehasonlítása az smert rendszerekkel A btsebesség-torzítás dagramok értékelése Az új algortmusok komplextásának összehasonlítása az smert rendszerekével Összefoglalás ÖSSZEFOGLALÁS IRODALOMJEGYZÉK FÜGGELÉK Koordnáta korlátokat s kezelő, kockarácsra vonatkozó prams alapú ndexelés kódoló és dekódoló algortmusának C nyelvű kódja A kockarács prams alapú ndex kódoló és dekódoló algortmusának műveletgénye Kockarácson való ndex kódoló algortmus műveletgénye A kockarács ndex dekódoló algortmus műveletszámának függése a dmenzótól és a prams sugártól Kockarácson való ndex dekódoló algortmus műveletgénye A legközelebb rácspont megtalálásának műveletgénye a kockarácson Skálázott és eltolt D K rács ndex kódoló algortmusának műveletgénye...

6 9..3. A D K rácsra kvantálás műveletgénye Skálázott és eltolt D K rácsra kvantálás műveletgénye Skálázott és eltolt D K rácsra kvantálás és ndexelés műveletgénye Az új LSF kódolás sémák műveletgénye Logartmkus spektráls torzítás kszámításának műveletgénye Az új, LSF logartmkus spektrumát használó távolságkrtérum kszámításának műveletgénye Az új távolságkrtérum kszámításának műveletgénye Az új transzformácós PSMLVQ séma műveletgénye az új torzításkrtérummal Az új transzformácós PSMLVQ séma műveletgénye a GW súllyal A rácskvantáló és szabványos MPEG- dekódernek megfelelő skalár kvantáló alapú MPEG- vdeó transzkóderek összehasonlítása btsebesség-torzítás dagramokon Az új PMSLVQ és az új lneárs transzformácós PMSLVQ sémák összehasonlítása btsebesség-torzítás dagramokon...5

7 . Bevezetés Az elmúlt évtzedben a mozgókép, állókép, hang és beszéd átvtelére és tárolására kdolgozott kódolás algortmusok mnd az alkalmazott számítástechnka megoldásokban, mnd pedg a kutatások terén látványos és fontos szerepet töltöttek be és töltenek be ma s. Az első nagy lépést az analógról dgtálsra történő váltás tette meg. Ezek a forradalmnak, de a ma szemmel már nagyon egyszerűnek tűnő újítások az dők során több olyan elemmel egészültek k, amelyekkel egyre magasabb mnőségű szolgáltatást lehet megvalósítan. A kezdet rendszerek fő eleme az analóg jel mntavételezése volt, ez az dők folyamán egyre több olyan algortmussal egészült k, amely hatékonyabb kódolást tett lehetővé. Az algortmusok egy része már más tudományág által smert és használt megoldás volt, mnd például a lneárs predkcó vagy lneárs transzformácó, de a tömörítés fontosságának köszönhetően több új algortmus s létrejött, mnd például a spektráls burkoló különböző kódolás módja. Ezen felül a rengeteg új smeret és alkalmazás s született a rég módszerekkel kapcsolatosan, így jött létre például a lneárs predkcós kódolás, a transzformácós kódolás, a fraktál alapú, régó alapú és a rácskvantálás alapú kódolás stb. A kódolások fő mnősítése a tömörítés arány és az adott tömörítés arányhoz tartozó mnőség, és a kódolás hatékonyságának növekedése ebben a szemléletben az azonos tömörítés arány mellett elért jobb mnőséget, lletve azonos mnőség mellett elért nagyobb tömörítés arányt jelent. A kezdet rendszerek skalár kvantáláson alapultak mnd a kép, mnd pedg a hang és a beszéd esetében. A kvantálás hatékonyságát kezdetben predkcóval, lneárs transzformácóval növelték, és ahol ezt az alkalmazás lehetővé tette, a tömörítés arányt gyakorságfüggő kódolással javították. Az egyre több smeret és egyre nagyobb processzor teljesítmény eredményeképpen egyre bonyolultabb algortmusokat s kdolgoznak és megvalósítanak, és ez nemcsak az elmélet kutatások rodalmában, hanem a gyakorlatban alkalmazott szabványokban s testet ölt. Az MPEG (Movng Pctures Experts Group) által kadott szabványok az egyk legfontosabb szabványok a vdeó- és hangkódolás terén (de az MPEG-4 bevezetése óta a beszédkódolás, mesterséges objektumok leírása stb. esetében s), amelyeken szntén jól nyomon követhető a fejlődés. A bonyolultság ára azonban a magasabb komplextás és így az mplementácó költségesebb, ezért a bonyolultabb algortmusoknál a komplextás csökkentése s fontos rányzat lett. Az 98-as években kdolgozott vektorkvantálás elméletére alapozva, lletve a processzorok számítás és memóra kapactásának rohamos növekedésének köszönhetően az 99-es években jelentek meg nagy számban olyan rendszerek, ahol a skalár kvantálást vektorkvantálás váltotta

8 fel, a kódolás hatékonyság jelentős növekedésével. A vektorkvantálás, mnt általánosított skalár kvantálás sznte mnden esetben képes átvenn a skalár kvantálás szerepét, és ezen felül olyan lehetőségeket s nyújt, amely a skalár kvantálás esetében nem létezhet: blokk kódolás, mntánként btek száma törtszám s lehet, hatékonyabb torzításkrtérum stb.. A hbrd skalár kvantálókban többnyre alkalmazható a vektorkvantálás s (spektráls kódolás vektorkvantálással, predktív vektorkvantálás stb.) az eredet rendszernél hatékonyabb kódolást nyújtva, de a komplextást jelentősen megnövelve. A vektorkvantálás esetében mnd a legközelebb kódszó megtalálása (kódszó ndex megtalálása), mnd az optmáls kódkönyvtár meghatározása és tárolása nagy komplextást jelent, ezen több módon lehet javítan, néha a hatékonyság rovására. Doktor munkám során többdmenzós jelek kvantálásával, ezen belül s elsősorban az eredetleg térktöltésre használt rácsok vektorkvantálóként való felhasználásával foglalkoztam. A rácskvantálás terén a kódkönyvtárban való ndexelés és az ehhez kapcsolódó elemszámítás terén dolgoztam k új algortmusokat a skálázott és bnárs vektorokkal eltolt D k alap-rácsok unóra [], amelyek a legtöbbször, majdhogynem kzárólagosan alkalmazott rácsok a rácskvantálás esetében. Az új ndexelés és elemszámítás algortmusok képesek olyan korlátozásokat s kezeln, mnd a koordnátákban lévő felső és/vagy alsó korlátos értékkészlet, de értve a csak nemnegatív vagy csak poztív értékeket. Az új algortmusok ezeken felül képesek a értékek kzárására s, amvel olyan források kódolását lehet hatékony hbrd rácskvantálással megvalósítan, ahol nagyon sok és kevés nem nulla érték a jellemző (pl. futamok kódolásával vagy jelentőség térképpel), mnt például egy MPEG- vdeó AC együttható. Ahhoz, hogy nem-nulla együtthatójú kódvektorokra lehessen dönten, új kvantáló algortmust s mutatok, amely képes a legközelebb lyen tulajdonságú rácsvektor megtalálására s. Az új algortmusokkal az MPEG- vdeó AC együtthatónak újrakvantálását valósítottam meg, ahol a rácskvantálást entrópakódolással és tulajdonságtérkép kódolással (az MPEG--ben futamhossz kódolás helyett) egészítettem k. E mellett a rácskvantálást egy transzformácós kódolóban s alkalmaztam, ahol a beszédjel spektráls kódolására használt LSF (Lne Spectrum Frequency) vektorok kódolására mutattam olyan új sémát, amely predktív többléptékű rácskvantáláson, lneárs transzformácón és spektráls torzításon alapuló új távolságkrtérumon alapul. A lneárs transzformácó bevezetése matt módosított, az eddg smertnél hatékonyabb algortmust dolgoztam k a súlyozott négyzetes hba távolságkrtérummal működő transzformácós vektorkvantálókhoz. Az tt használt rácskvantálóban a több léptékre különböző ndexelést lehetővé tevő, általam pakolt ndexelésnek elnevezett algortmust dolgoztam k, amellyel a btsebesség vezérlés és a

9 btkosztás s hatékonyabb lett. A lneárs transzformácóhoz való jobb lleszkedést koordnátánként zsugorítással oldottam meg, amely szntén új módszer az LSF rácskvantálása terén. Az általam kdolgozott új módszerek mndegykét kpróbáltam teszt adatokon s, és összehasonlítottam az eddg smert eredményekkel. Az összehasonlítás eredményeképpen az esetek döntő többségében jelentős javulás fgyelhető meg. A dsszertácómban a következő, másodk fejezet mutatja be a rácskvantálás eddg elméletét, a fontosabb rácsokat és az azokra vonatkozó kódolás, ndexelés és elemszámítás algortmusokat. A harmadk fejezetben az általam kdolgozott, a skálázott és bnárs vektorokkal eltolt D k alaprácsok unóra vonatkozó új elemszámítás, ndexelés és kvantálás algortmusokat mutatok be, amelyek képesek a koordnátánként ampltúdó korlátozásokra és/vagy a értékek kzárására. Az új ndexelés és elemszám számítás algortmusok mnden esetben használhatóak prams alapú kódolásra, a értékek kzárására pedg egy új kvantáló algortmust mutatok be (a több esetre már létezk kvantáló algortmus). A 4. fejezetben a 3. fejezetben bemutatott rácskvantálást alkalmaztam MPEG- vdeó transzkódolására egy olyan transzkóderben, ahol a btsebesség csökkentést csak az AC együtthatók újrakódolásával érjük el (például nncs képcsoport struktúra váltás vagy képméret csökkentés). Itt egy dnamkus többszntű rácskvantálót használtam prams alapú ndexeléssel, amely csak a nem-nulla együtthatókat kódolta le, a együtthatók helyét egy tulajdonság térkép kódolással valósítottam meg, lletve adott esetben az MPEG- szntaxs által bztosított módon (pl. ha a teljes blokk vagy makroblokk lett, azt az MPEG fejlécben jelezzük). Az 5. fejezetben a beszédjel spektráls kódolásának eddg smert eredményet, lletve a már meglévő szabványokat smertetem, különösen az LSF beszédparaméterekre koncentrálva. A 6. fejezetben először a súlyozott négyzetes hbakrtérum alapú lneárs transzformácós LSF vektorkvantálásra mutatok új sémát, amely hatékonyabb az eddg smert rendszereknél. A fejezet több részében az LSF kódolásra használt egyk leghatékonyabb kódoló, a predktív többléptékű rácskvantáló lneárs transzformácóval való kegészítését mutatom be Karhunen- Loeve és Dszkrét Kosznusz transzformácóval. Emellett bemutatom az általam használt pakolt ndexelést és annak megvalósítás lehetőséget, valamnt az új koordnátánként zsugorítást s ebben a fejezetben smertetem. 3

10 . Rácskvantálás és alkalmazásanak rodalm áttekntése Ez a fejezet smertet a rácskvantálás elméletét és eredményet a szakrodalom alapján, a rácsok és a rácskvantálás alapjatól annak kép- és beszédtömörítés alkalmazáság. Először a fontosabb rácsok devágó tulajdonságat tárgyalja, majd a rácsok kódolás, ndexelés és elemszámítás algortmusat smertet, végül pedg a fontosabb alkalmazások következnek. Ennek a fejezetnek a jelöléset használom a következő fejezetekben s... Vektorkvantálás Egy adott forrásból származó szmbólumsorozatot úgy lehet tömöríten, hogy a bemeneten jövő szmbólumsorozat helyett valamlyen hűségkrtérum alapján a legjobban megfelelő szmbólumsorozatot írjuk k a kmenetre. A tömörítés azáltal történk meg, hogy a kmenet szmbólumok száma lényegesen ksebb, mnt a bemeneteké. Ennek az ára az, hogy a bemenet és a kmenet nem egyezk meg, tehát adatvesztés történk. A vektorkvantálás (VQ Vector Quantzaton) egy többdmenzós kódolás módszer. Egy k dmenzós vektorkvantáló a bemenetén egy valós értékekből álló többdmenzós vektort vár, a kmenetén vszont csak egy véges, N elemszámú halmazból vesz k valós értékekből álló vektorokat. Formálsan egy olyan Q() függvénnyel lehet megadn, amelyre Q: R k { y, y, y 3,..., y N } (.) ahol y jelöl az -edk kódvektort, melyeket nevezhetünk még reprezentácós pontnak vagy kódpontnak s. Az egy kódvektorhoz tartozó bemenet értékek halmaz vektorkvantálás esetén a kvantálás tartomány vagy kvantálás cella. Az -edk kvantálás cella formálsan R = {x Q(x) = y }, (.) ahol y az -edk kódvektor. A korlátos kvantálás cellák összességét granuráls tartománynak nevezzük, míg a nem korlátos cellák adják k a nem granulárs (overload) tartományt. x Kvantáló y = Q(x) y x Kódoló Dekódoló y = g(x) y = h() {R k } k=..n {y k } k=..n {R k } k=..n {y k } k=..n. ábra Egy kvantáló és a megfelelő kódoló-dekódoló struktúra A kódoló-dekódoló struktúrában (. ábra) egy kvantáló úgy épül fel, hogy a bemenetén kapott x vektorhoz meghatározza, hogy melyk kvantálás cellába tartozk, de nem a cellához tartozó y 4

11 kódpontot (=...N), hanem annak az ndexét küld tovább, és a dekódoló fogja az ndex alapján a kódpontot előállítan a kmenetén. Az így előálló ndex egy csatornán továbbítható megfelelő csatornakódolással, lletve forrástól és kvantálótól függően esetlegesen tovább tömörítést lehet elérn az ndexek entrópakódolásával. A kódolót egyértelműen meghatározza a kvantálás cellákra való partícó, a dekódolót pedg a kódkönyvtár. Az eddgeket összefoglalva, egy vektorkvantáló konstruálásához az alább problémákat kell megoldan: Kvantáló tervezés: meg kell határozn az N darab kvantálás cellát és kódpontot. A kódoló megvalósítása: első lépésként a kvantálás cella meghatározása (.) egyenlőség szernt, ezután pedg a kvantálás cella ndexének meghatározása. A dekódoló megvalósítása: a kvantálás cella ndexéből meg kell határozn a megfelelő kódpontot. Vektorkvantálás esetén a tér optmáls kvantálás cellákra való partíconálása nehéz feladat már négyzetes hba torzítás krtérum mellett s. Ezért kvantáló tervezésre szuboptmáls megoldások léteznek, lyen például a Lloyd algortmus. A Llyod algortmus olyan emprkus kvantáló tervezés algortmus, amely adott tanító mntákkal egy adott kódkönyvtárat és kvantálás cellákra való partícót fnomítja olyan módon, hogy külön-külön optmalzálja a kódolót, majd a dekódolót. Egy lépésben a kvantáló torzítása mndg csökken az adott tanító mntákra, de az eredmény csak specáls körülmények között konvergál az optmáls megoldáshoz [][3][4]. A kódoló és dekódoló függvények megvalósításánál különösen a kódoló megvalósítása problematkus, hszen tt meg kell keresn egy adott bemenő vektorhoz a megfelelő kvantálás cellát. A kvantálás cellákra való partícó letárolásához általában a kvantáló valamlyen tulajdonságát használjuk fel. A gyakorlatban sznte mndg legközelebb szomszéd kvantálókat alkalmazunk, ahol a kódpontokat tároljuk le, és a legközelebb kódpontra döntünk ekkor a kódoló és a dekódoló számára csak a kódkönyvtárat kell meghatározn. Már egy közepes méretű kódkönyvtárban való keresés s különösen nagy számítás komplextást jelent, pl. egy 6 dmenzós vektornál bt/koordnáta esetén a kódkönyvtár mérete N = 3 = , am jelenleg kezelhetetlen méret. Ezért a keresés komplextását csökkentendő olyan struktúrált vektorkvantálókat találtak fel, mnt pl. a fa stuktúrájú VQ, osztott VQ, forma-energa VQ, többszntű VQ, amelyek a keresés eljárást egyszerűsítették, lletve olyan módszereket s alkalmaznak, amelyek a keresés teret csökkentk, mnt pl. a PDE (Partal Dstance Elmnaton) [5] és a TIE (Trangle Inequalty Elmnaton) [6][7] eljárások. Természetesen a struktúrált vektorkvantálók esetén a kódkönyvtár megtervezése s különböző, és ez jelentősen függ a vektorkvantáló típusától. 5

12 .. Rácskvantálás A rácskvantálás (Lattce Vector Quantzaton - LVQ) a skalár kvantálás többdmenzós általánosításának teknthető. A rácskvantálás kódkönyvtára egy szabályos többdmenzós rács rácspontjanak valamlyen korláttal megadott véges részhalmaza. Mvel mnd a rács megadása, mnd a rácspontok részhalmazra való korlátozása valamlyen szabály alapján történk, így egy rácskvantáló leírásához csak a szabályokat kell megadn, am lényegesen leegyszerűsíthet a kódolást és a dekódolást. A rácskvantálás esetén a kódolás két lépésből áll: a legközelebb rácspont meghatározása, lletve a rácspont ndexének a meghatározása. Mndkét művelet esetén nem egy teljesen ktöltött táblázatból dolgozunk, hanem khasználjuk a rács struktúráját. A rácskvantálás elv optmaltását már több évtzede megállapították, lletve sejtk. Gsh és Perce [8] már 968-ban megmutatta, hogy a nagyfelbontású kvantálás elmélet szernt az optmáls nagyfelbontású entrópa korlátolt (EC Entropy Constraned) skalár kvantálás (SQ Scalar Quantzaton) nagy felbontáson az egyenletes lépésközű skalár kvantálás és entrópakódolás, függetlenül a sűrűségfüggvénytől. A nagyfelbontású entrópa korlátolt vektorkvantálók ndexének entrópakorlátját Zador állapította meg [9]. Ennek pontosítását és bzonyos feltételek mellett teljes bzonyítását Robert M. Gray, Lnder Tamás és Ja L adta meg []. Gersho sejtése pedg azt tartalmazza, hogy az optmáls kényszerített entrópájú vektorkvantáló kódkönyvtárának rács alapúnak kell lenne []. A rácsok elmélete szoros kapcsolatban áll a térktöltés problémával, ahol a feladat az adott k dmenzón belül a tér legsűrűbb ktöltése egyforma méretű k dmenzós hpergömbökkel. A hpergömbök elhelyezkedéséhez azok középpontontjat kell megadn, ezek a pontok lesznek a rácspontok. Conway és Sloane több különböző dmenzóra megadta a jelenleg smert legjobb rácsokat a hpergömbbel való térktöltésre [], amelyek így az egyenletes skalár kvantálás általánosítása lehetnek, hszen az egyenletes skalár kvantáló kvantálás régó azonos hosszú szakaszok (egydmenzós gömbök), amelyek csak ponton érntkeznek a szomszédos szakasszal, és mvel hézagmentesen töltk k az egydmenzós teret a granulárs tartományban, ezért az optmáls térktöltés így megvalósul..3. Fontosabb rácsok konstrukcó A rács olyan többdmenzós vektorok halmaza az eukldesz térben, melyek lneársan független vektorok lneárkombnácójából állnak, és a lneárkombnácó súlyozó értéke egész számok. Ezek szernt a rácspontok olyan kód kódszava, amely kód generátormátrxból konstruálható. 6

13 Legyen G a rács generátormátrxa, és ξ vektor összes komponense egész, ekkor egy Λ a rács generálása { ξ } Λ = ξ G Z K (.3) ahol Z K az ún. Z K kockarács (cubc lattce), am az összes K-dmenzós egész koordnátájú vektorok halmaza. Vannak bonyolultabb rácsok s, amelyeknek létezk más módon való egyszerű matematka leírása s. Az egyk alapvetően fontos rács, a D k rács defnícója az alább: k { x Z K xn = m, m Z} 3 DK = = k (.4) n Tekntsük azokat a k dmenzós L rácsokat, melyek az s D K alap-rács és N darab k dmenzós bnárs kódszó mellékhalmazanak unó (unons of cosets), vagys: N L( k, s, B) = U b + s D (.5) = ( ) K ahol B={b } a bnárs kódszavak halmaza és s rögzített poztív egész szám. A rács egy tetszőleges c kódszava így a c = s v+ b (.6) formában írható fel, ahol v D K. A továbbakban a (.5) és (.6) konstrukcónak megfelelő rácsokat bnárs kódszóval eltolt skálázott D K rácsok unójából álló rácsnak nevezem. A rácson belül az azonos L normájú vektorok egy hpergömb felületén helyezkednek el, ezt a gömb sugarával azonosítjuk, am a vektorok L normája. A rácskvantálás lépések során az L normánál egyszerűbb az L norma használata, ezért a hpergömb mntájára bevezették a hperprams fogalmát: az m ampltúdójú vagy sugarú hperprams rácson belül azon vektorokból álló részhalmaz, melyek L normája m. A továbbakban hacsak ezt másképp nem nevesítem a gömb és prams esetén a felületükön lévő rácspontok halmazát értem. A prams defnícója szernt a D k rács a Z k kockarács azon vektorat tartalmazza, amelyek páros sugarú pramson vannak. A rácsok elmélete szoros kapcsolatban áll a térktöltés problémával. Két dmenzóban a hexagonáls rács, míg 3, 4 és 5 dmenzóban a D k rács adja az smert legjobb ktöltést []. A ktöltő gömb sugara D k rács esetén növekszk a dmenzószám növelésével, és 8 dmenzóban ez egyenlő a rácspontok között legksebb távolsággal, nagyobb dmenzókban pedg lehetséges a D k rácspontok másolatát úgy eltoln a térben, hogy az új pontok nem csökkentk a kapott rácson belül a rácspontok között a legksebb távolságot. Ez a megfgyelés vezetett a defnícója páros dmenzóban az alább: + k k ((,..., ) D ) k + D k rácshoz, amely D = D, +, k páros (.7) Például k = 8 esetén a + D 8 rács neve Gosset rács, és az elterjedtebb jelölése E 8. 7

14 8 Ha a + k D rács rácsvektoranak koordnátát a kétszeresére skálázzuk abból a célból, hogy egész értékeket kapjunk, akkor az alább defnícó adódk: ( ) 8 8 D b E + = = U, ahol b = (,,,,,,,) és b = (,,,,,,,). (.8) A 6 dmenzós (6-D) Barnes-Wall rács esetében már 3 bnárs vektorból álló halmazt használnak, a konstrukcó az (5) konstrukcó szernt: ( ) D r + = Λ = U, (.9) ahol r a 6-D elsőrendű Reed-Muller kód -edk eleme, amely az alábbak szernt adható meg: ( ) = 4 3 r (.) és n jelöl az sorszám bnárs alakjában az n-edk btet. A rácsoknak több konstrukcója [] létezk, ezek közül a generátormátrxszal való kódkonstrukcó (.3) az egyk legfontosabb a rácskvantáló alkalmazások szempontjából, ahol a rács összes vektora a generátormátrx és a Z D kockarács összes vektorának a szorzata. A 6-D Barnes-Wall rács generátormátrxa a jobb oldalon látható. G BW6 = 4.4. Rácskvantáló kódolás és ndexelés algortmusok A kódolásra és ndexelésre Conway és Sloane adott hatékony és népszerű algortmust a D K rács és bnárs kódszavak mellékhalmazanak unóból származó rácsokra, így ez az algortmus alkalmas a Z k, D k, E 8, Λ 6 és még sok más hasonló rács ndexelésére [] és kódolására [3]. Prams alapú ndexelésre a Fscher által smertetett algortmus használatos a Z k rácsra [4]. Ezen módszerek mndegyke a rácsok algebra defnícóját használja, így számos kedvező tulajdonságuk van: A kvantálás, a rácsponthoz az ndex megkeresése és ennek nverze gyors művelet, mégpedg D dmenzóban o(d) komplextású. A kódkönyvtár tárolása szükségtelen, a rács egy részhalmazát használjuk kódkönyvtárnak.

15 Nagy kódkönyvtár használata s lehetséges. Egy rács eredetleg mnden koordnátájában végtelen, ezért kódkönyvtárként úgy lehet használn, hogy valamlyen korlátok közé szorítjuk. Az rodalomban erre az alább példák találhatóak:. Prams, lletve hpergömb alapú kódolás: a kódkönyvtár a rács legfeljebb m sugarú koncentrkus pramsanak, lletve gömbjenek az unója. A sugár lehet a [..m] tartományon belül az összes sugár, de ezek részhalmaza s, például szakaszonként egyenletesen kválasztva.. A kódkönyvtár a rács valamlyen korláton belül részhalmaza, például a kódkönyvtár azon rácsvektorokból áll, amelyek koordnátának értéke egy adott tartományba esk. A kódoláshoz szükség van arra s, hogy tudjuk, hogy a kódkönyvtárnak használt rács részhalmaza hány vektort tartalmaz. A gyakorlatban ez a pramsok vagy a gömbök elemszámának kértékelésén alapul, ezek unója esetén pedg az elemszámokat össze kell adn, mert a különböző sugarú koncentrkus pramsok és gömbök dszjunktak. A következő pontokban az rodalomból smert kódolás, elemszámítás és ndexelés algortmusokat mutatom be az eltolt és skálázott D K rácsok unójából származó rácsokon. A Conway-Sloane kódolás és ndexelés algortmus általános esetben használható. Egy adott pramson belül ndexelés és elemszámítás algortmust Fscher vezette be a kockarácsra [4], az elemszámítást [5] szerző általánosították. Az eltolt és skálázott D K rácsok unójából származó rácsokra pedg több elemszámítás [6] és ndexelés algortmus s született [6][7][8][9], és a következő fejezetben bemutatásra kerülő általam kdolgozott új prams alapú ndexelés és elemszámítás algortmus s lyen típusú rácsokra való..4.. Kódolás az eltolt és skálázott D K rácsok unójából származó rácsokon A Z K, vagys a kockarácson való kvantálás valójában koordnátánként egyenletes lépésközű skalár kvantálást jelent. Ekkor egy koordnáta skalár kvantálóját megadó egyetlen paraméter a kvantálás lépésköz, a dolgozatban azt az esetet vzsgálom, amkor ez a lépésköz mndenhol. A valóságban a kvantálandó valós értékű koordnátákból álló x vektort a koordnátánként felskálázott Λ k ráccsal kell kvantáln (a rácsot skálázzuk fel), de ez úgy s értelmezhető, hogy a koordnátánként leskálázott vektort kell a Λ k ráccsal kvantáln (a kvantálandó vektort skálázzuk le). A továbbakban az egyszerűség kedvéért egységny skálázó faktort fogunk alkalmazn a kvantálás bemutatására, vagys a már leskálázott vektor kódolását mutatom be. A gyakorlatban általában a rácsot skálázzák fel, mert így ugyanazok a kódpontok állnak elő a kódolóban, mnt a 9

16 dekóderben, így ugyanolyan precztású artmetkát kell a kódolóban s alkalmazn, mnt a dekóderben, a bemenet vektor leskálázása esetén pedg maga az osztás művelet s hozhat be torzítást. A következő pontokban a kódolás algortmust és az ehhez szükséges D k alaprácsra való kvantálást smerhetjük meg Conway és Sloane kódolás algortmusa Ez az algortmus egy kvantálás algortmus egy adott bnárs kódszavak mellékhalmazanak unóból álló rácsban. Az algortmus megtalálja a kvantálandó k dmenzós valós értékű koordnátákból álló x vektorhoz a szntén k dmenzós vektorokat tartalmazó Λ k N = ( b + s D ) = U rácsban (ennél az algortmusnál s rögzített egész szám) a négyzetes K torzítás értelmében legközelebb pontot - lletve azok egykét, ha több lyen pont s létezk. Formálsan, az algortmus célja mnmalzáln az alább torzítást: d T ( x Λ ) = mn( x c) ( x c) = mn( x s v b ) ( x s v b ) T, (.) k c Λ k v DK.. N Látható, hogy a fent összefüggésben egyszerre kell meghatározn a D K rács vektorát, lletve a bnárs vektort. A Conway-Sloane kódolás algortmus alapötlete az, hogy mellékosztályonként határozzuk meg a torzításokat, ahol az -edk mellékosztályra vett torzítás az alább: d ( x, Λ ) = mn ( x s v b ) ( x s v b ) k v D v D K = mn K T (( x b ) s v) (( x b ) s v) = d ( x b, s D ), =.. N T = K (.) és ezek közül a legksebb adja meg, hogy melyk mellékosztályból kell venn a rácspontot, vagys: d ( x, Λ ) = mn d ( x, Λ ) = mn d( x b, s D ) k =.. N k =.. N K (.3) A (.) és (.3) egyenlőségek azt mondják k, hogy a Λ k ráccsal való kvantálás vsszavezethető N darab alapráccsal való kvantálásra (ez jelen esetben az s D K rács), ahol a kvantálandó vektorokat kell változtatn, nem pedg a rácsot, azaz a kódkönyvtárat [3] Kódolás a D K rácsra A leskálázott x vektor egy koordnátájának kvantálása tehát a legközelebb egész számra való kvantálást jelent. A D K ráccsal való kvantálás legegyszerűbb módja a legközelebb szomszéd kválasztásán alapul. Ekkor az x vektort először a Z K rácsra kvantáljuk. Ha a kapott xˆ vektor

17 sugara páros, akkor a vektor a D K rácson s rajta van, különben pedg megkeressük azt a koordnátát, ahol a távolabb egész szomszéd a legközelebb van, és ebben pontban megváltoztatjuk a döntést, így a kvantált xˆ vektor ezen koordnátájának partása megváltozk, ezért a sugár s párossá változk. Ezt az algortmust mutatja be az alább ábra (. ábra). for(sugár = j = ; j < k; ++j ) { alsó = x j ; felső = alsó + ; q(x j ) = (x j alsó > felső - x j )? felső : alsó; q rossz (x j ) = (x j alsó > felső x j )? alsó : felső; sugár += q(x j ) ; } f( a sugár páratlan) { j = argmn q rossz (x ) - x ) q(x j ) = q rossz (x j ) }. ábra Rácskvantáló kódolás algortmusa a D K rácson x j : a kódolandó vektor j-edk koordnátája q(x j ) : a kódolt vektor j-edk koordnátája q rossz (x j ) : a kódolt vektor j-edk koordnátája, rossz rányba kerekítve sugár : a kódolt vektor pramsának sugara.5. Rácsok hperpramsának elemszáma Egy d dmenzós rács m sugarú hperpramsa azon x vektorok összessége, amelyek L normája m, vagys azon x vektoroké, amelyekre x + x x d = m (.4) Ez alapján a Z d kockarács esetén az m sugarú hperprams elemszáma pontosan anny, ahányféleképpen fel lehet írn k darab nemnegatív egész számot a sorrendet s számítva úgy, hogy az összegük éppen m. Jelölje a Z d kockarács m sugarú pramsának elemszámát N(d,m). Fscher ötlete az volt N(d,m) kértékelésére, hogy N(d,m)-et kfejezte ksebb dmenzókra és sugarakra vonatkozó N(,) értékekkel az alábbak szernt: m ( d m) = N( d m ) N,, (.5) = m hszen az olyan d dmenzós rácspontok száma, ahol az utolsó koordnáta értéke, éppen N(d-, m- ). A (.4) alapján az adódk k eredményül, hogy N ( d,) = N(, m) = d > m > ( d, m) = N( d, m ) + N( d, m) + N( d, m ) d >, m > (.6) N A prams elemszámát a Z d kockarácson tehát rekurzív algortmussal s k lehet számítan, ahol a megvalósítás során N(,) egy ksméretű táblázat a kódoló memórában [4].

18 Ha N v (d,m)-mel azon vektorok halmazát jelöljük, amelyeknek L v normája m, akkor a (.5) általánosítása a következőképpen lehetséges [5]: m ( ) ν ν d m = Nν d, ( m ) / ν N ν, (.7) = m A (.7) alapján a gömbök felületén lévő Z d rácspontok száma s számítható. A fent összefüggések csak a Z d kockarácsra alkalmazhatóak, általános rácsra a Λ rács hpergömbjenek elemszámát a rács Θ Λ sorának kértékelésével [], hperpramsanak elemszámát pedg a ν Λ sorának kértékelésével [6] lehet megállapítan. A Λ rácson az L k norma szernt m sugarú rácspont elemszámát jelölje N Λ,k (m), ekkor Θ Λ m ( q ) = N ( m) q és ( q) N ( m) m= Λ, Λ m= m ν q (.8) = Λ, A (.8) sor sok rácsra kértékelhető, de a kértékeléséhez teratív polnom algebrát kell alkalmazn, am ugyan a valós dejű röptében generálást bonyolulttá tesz, de a gyakorlatban előre kszámíthatjuk az eredményt és azt egy ks táblázatban tároljuk a memórában. A D k, E 8 és Λ 6 rácsok ν Λ sora kértékelésének eredménye [6]-ban megtalálható, így ezen rácsok pramsanak elemszáma könnyen elérhető. Ez a számítás algortmus olyan korlátokat nem tud fgyelembe venn, mnt például a érték kzárása vagy a koordnátánként ampltúdó korlát alkalmazása. Ezt az egyk tézsemben szereplő elemszámítás algortmus vszont képes kezeln..6. Indexelés rácsok hperpramsában Az ndexelés célja, hogy azonosítsuk a kódkönyvtárban a kódpontot. Amennyben pramson kódolunk, úgy az adott m sugarú pramson belül kell azonosítan a megfelelő rácspontot, amt a kódoló algortmus talált meg, mnt a legközelebb kódpontot. A végtelen térben való kódoláshoz használható egyszerű ndexelés algortmust Conway és Sloane vezette be [], ahol az ndex egy Z d -bel vektor, amelyet a generátormátrx nverzével szorozva kapunk meg. Ez az algortmus azonban egyetlen pramsra nem hatékony, hszen nem használja k azt, hogy a vektor melyk pramson van, lletve hogy létezk korlát a prams sugarára. Prams alapú ndexelés vszont alkalmazható a végtelen rácsban, ekkor a produkt kód szemléletben a kódpár az m prams sugár és az azon belül ndex. Érdekes algortmust használ [6], ahol az x rácsvektor ndexének alapja a rács G generátormátrx nverzével megszorozva kapott vektor, de az alább összefüggések szernt használják k a prams m sugarát: Index ( x) = I = (,..., ) = { x G } I G x = I G k Q k d mod k m k = q (.9)

19 ahol q a rácsban a térktöltésre használ gömb sugara, a Q() függvény pedg megtalálható [6]- ban. A rácsok szabályos struktúrája matt egy pramson belül létezk olyan felosztás, hogy az osztályokon belül lényegesen nagyobb hasonlóság álljon fenn, így a pramson belül ndexelés s állhat produkt kódból olyan formában, hogy az osztály sorszámát és az osztályon belül ndexet külön kódoljuk, ezáltal az osztályon belül ndex generálása egyszerűbb lesz, mert ksebb elemszámon kell megvalósítan. Ilyen osztályozásra lehet példa a Barnes-Wall rácson belül a Reed-Muller bnárs kódszó szernt mellékosztályba rendelés [], vagy pedg olyan fővektorok kjelölése, amelyek együtthatónak permutácójából áll elő az osztály [7][8][9]. A Z d kockarácshoz Fscher algortmusa nemcsak az elemszám meghatározásához szükséges, hanem az ndexelés részeként s használatos a (.6) alapján ktöltött táblázat. Pramson belül ndex meghatározásakor egy m sugarú d dmenzós c vektor ndexe a [,N(d,m)-] ntervallumba kell essen, és azoknak a rácspontoknak a darabszáma, amelyek utolsó koordnátája, éppen N(d,m- ). Az algortmus alapötlete az, hogy hasonlóan (.5)-hez, legyen m j = + ( d, m j ) K( d, ) = N (.) azon vektorok száma, ahol az utolsó koordnáta nagyobb -nél. Osszuk fel az ndexeléskor a [,N(d,m)-] ntervallumot úgy, hogy legyen azoknak a rácspontok ndexe, amelyek utolsó koordnátája, a [K(d,), K(d,)+N(d,m- )-] ntervallumban. A következőkben ezt az ntervallumot bontsuk tovább a maradék d- dmenzós vektor kódolásával. Az utolsó koordnáta együtthatójának kódolásánál így egyetlen egész számot tartalmazó ntervallumot kapunk, és ennek az értéke lesz az ndex. A dekódolás ugyanígy az ntervallum alsó határának a koordnátáról koordnátára való meghatározásával tehető meg [4]. Fscher algortmusa nem alkalmazható eltolt és skálázott D K rácsok unójából származó rácsokon, vszont alkalmazható Rault és Gullemot [7], lletve az ehhez nagyon hasonló Moureaux, Loyer és Antonn [8][9] ndexelés algortmusa, amely a pramson belül osztályok kalakításával működk. Ezen algortmusok lényege, hogy a d dmenzós rácspontok közül kemel azokat az x vektorokat, amelyek koordnátára gaz, hogy x x j, j egészre, ahol < j d (.) lletve azokat, amelyekre x x j, j egészre, ahol < j d (.) A (.) szernt vektorokat előjeles fővektornak, a (.) szernt vektorokat pedg abszolút fővektoroknak tekntk. Az tt említett források között az a fő különbség, hogy az előjeles fővektorokkal csak [7] foglalkozk. A nemnegatív értékű együtthatókból álló abszolút 3

20 fővektorok esetében a nem nulla értékekre az előjelbteket s el kell külden a dekódernek, az előjeles fővektorok esetében ez értelemszerűen nem szükséges. Az x rácspont ndexének meghatározása ezek után a következő lépésekből áll előjeles fővektor esetén:. x együtthatót csökkentő sorrendbe rendezem, így egy s előjeles fővektort kapok.. A produkt kód ezután: (s ndexe)(a permutácó kódolása). Az x rácspont ndex meghatározása pedg a következő lépésekből áll abszolút fővektor esetén:. x együtthatót csökkentő sorrendbe rendezem, így egy u fővektort kapok.. A produkt kód ezután: (u ndexe)(a permutácó kódolása)(az együtthatók előjelbtje). Megjegyezzük, hogy a permutácót, valamnt az előjelek kódolását és dekódolását meg kell előzn a fővektor ndex kódolásának, hszen a fővektor együtthatónak smeretében tudjuk csak azt, hogy hányféle permutácó van, vagys hogy menny elemű az osztály, és hogy menny előjelbt lehetséges (természetesen a értékű együtthatónak nem kell előjel). Ha a d dmenzós l előjeles fővektor egy q d elemszámú {a,...,a q }, különböző értékekből álló halmazból vesz az együtthatót (nagyság szernt), és w jelent azt, hogy a hányszor szerepel a fővektorban, akkor a fővektor osztályának elemszáma a lehetséges permutácók száma, vagys d! N() l = (.3) q = w! Az ndex kódolásához el kell készíten az adott Λ d rács m sugarú pramsának fővektoranak L(Λ d, m) halmazát, de egy adott rácsponthoz megfelelő fővektor megtalálása már könnyű. A fővektorok halmazának smeretében pedg bzonyos rácsokra a prams elemszámát s meg lehet határozn, hszen ( Λ m) = N() l d N, (.4) l Λd vagys az algortmus alkalmas lehet tetszőleges rácsra egy prams elemszámának meghatározására s. Ez azonban csak olyan rácsokra gaz, ahol mnden fővektorra az összes lehetséges permutácó rácsbel vektort ad k, lyen például a 4 + D k rács, de ez a feltétel például nem gaz a 6-D Barnes-Wall rácsra. Az új tudományos eredményem egy részét smertető 3. fejezet olyan új ndexelés és elemszámítás algortmust tartalmaz a D K rács és bnárs kódszavak mellékhalmazanak unóból származó rácsokra, amely olyan eseteket s képes kezeln, amkor a rácspontok együtthatónak értékére ampltúdókorlát van, lletve amkor egyes értékek (például a ) k vannak zárva az együtthatók közül. A fővektort használó algortmus s alkalmas erre olyan módon, hogy az előbb említett korlátokat a fővektorok halmazán kell érvényesíten, vagys csak azokat a fővektorokat kell fgyelembe venn, amelyek megfelelnek a korlátnak, de ekkor a permutácó matt nem lehet az ampltúdó korlátot koordnátánként különbözőre megválasztan.

21 .7. Hperprams és hpergömb alapú korlátozás Az előző pontban a kódkönyvtár egyetlen prams volt, de sok alkalmazásban nem egyetlen pramson, hanem a teljes rácson, lletve annak egy ktüntetett részén, például az orgó körül részén szeretnénk kódoln. Például a később majd bemutatásra kerülő LSF lneárs predkcós paraméter vektorok kódolásánál az orgónak ktüntetett szerepe van, hszen közelítőleg ez a várható értéke a kvantálandó vektoroknak, ezért a kódkönyvtárat általában a körül koncentrkus hperpramsok, lletve hpergömbök unójából állítják össze. Természetesen nem a teljes rácsot használjuk, hanem annak csak egy akkora részét, amely számossága akkora, hogy beleférjen az adott btsebességbe. Ehhez a rács korlátozását kell végrehajtan, lyen általában a hperprams és a hpergömb alapú korlátozás: Hperprams alapú kódolás: a rácson belül az azonos L normájú vektorok egy pramst alkotnak, és a kódkönyv adott pramsok unója. Hpergömb alapú kódolás: a rácson belül az azonos L normájú vektorok egy hpergömb felületén vannak, és a kódkönyv ezen hpergömbök unója..8. Rácskvantálók alkalmazása Az eddg smertetett algortmusok alapvető része a rácskvantálóknak, hszen a legközelebb rácspontot és annak ndexét határozták meg, lletve a pramsok és gömbök felületén lévő rácspontok számát adták meg. Egy konkrét forráskódolás alkalmazásnál (pl. képtömörítés, hangtömörítés) a forrásból kapott együtthatók vektorba rendezésében, a prams vagy gömb alapú kódolás kválasztásában, a koncentrkus pramsok sugaranak megválasztásában, a legkülső pramson kívül eső vektorok kezelésében és az alkalmazott rácsokban s van különbség az rodalomban fellelhető munkák között. Prams alapú kódolásnál vszont egyetértés mutatkozk abban a tekntetben, hogy a pramson belül ndexet már nem tömörítk tovább gyakorságfüggő kódolással, míg a sugár Huffman kódolóval való tömörítése több munkában s megjelenk. Az első prams alapú vektorkvantálót Fscher használta. Fscher megállapította, hogy memóramentes többdmenzós független Laplace eloszlású forrásra a forráskódolás tétel alapján az entrópakódolóval kegészített aszmptotkusan optmáls vektorkvantáló kódkönyvtára jó közelítéssel egy rács koncentrkus pramsa sorozatának felel meg. A pramsgömb pár analógával pedg Gauss- eloszlás esetében az eredmény közelítőleg koncentrkus gömbök sorozata. Ebben a munkájában a kódkönyvtár a Z d rács legfeljebb m max sugarú 5

22 pramsanak unója, és az ndexelés két kódszóból áll: a prams sugarából (vagys a kódpont L normájából) és a pramson belül ndexből. A és m max közé eső prams sugarát log (+m max ) bten lehet kódoln, és a pramson belül ndex s változó szóhosszúságú kódolást jelent, hszen az m sugár esetén a kódoláshoz log N(m) bt szükséges [4]. Ezt a kvantálót ks mértékben Swaszek [5] fejlesztette tovább (az A k- rács defnícója megtalálható []-ben s). Fscher később munkájában a rácskvantálást, mnt geometra kvantálás egyfajta esetét alkalmazta képtömörítésre []. Később Mohdyusof-fal együtt []-ban valós forrásokra a sugár Huffman kódolóval való tömörítését javasolják, de a prams ndexet továbbra sem tömörítk, hanem a fent említett módon kódolják változó szóhosszon. Ebben a munkában foglalkoznak azzal a kérdéssel s, hogy a legnagyobb sugarat nem az elv legnagyobb értékre, hanem annál ksebbre választják meg. A legnagyobb sugarú, legkülső pramson s kívül eső tartományban ( külső tartomány) lévő pontokat kvételként kezelk és az ehhez tartozó kvantálóban az ndexelés nem prams alapú, hanem koordnátánként kódolják a vektort ugyanakkora lépésközzel, mnt a belső tartományban. A kísérletekben használt forrás egy kép 8x8-as blokkjanak D DCT (Dszkrét Cosnus Transzformácó) blokkjának AC együttható, ahol a 63 AC együtthatót blokkon belül rendezk több vektorba. Mvel csatornahba esetén a változó szóhosszúságú kódolás könnyen a sznkron elvesztésével járhat, ezért ugyanők egy másk munkájukban a rácskvantáló btjenek fx méretű csomagolását javasolják []. Itt egy részsáv szomszédos együtthatót rendezk vektorba, J darab vektor alkot egy makroblokkot, és a makroblokk btszáma s fx méretű. A bemenet vektorokat úgy skálázzák, hogy azok btje (az esetlegesen alkalmazott hbajavító kódot s fgyelembe véve) beférjenek a makroblokkba, a maradék bteket nullával töltk fel. Ebben a munkában csak a prams ndexét kódolják változó szóhosszúságú kóddal, és az így kapott séma kedvezőbb a csatornazajra való érzékenységet tekntve. A [] ckkhez hasonlóan szntén képtömörítésre, azon belül s a frekvencatartományban az AC együtthatók rácskvantálással való kódolását mutatják be a [6] és [7] publkácók. Azonban ezekben a munkákban az együtthatókat úgy rendezk vektorba, hogy nem azonos blokkban lévő együtthatókat, hanem több szomszédos blokk együtthatót keverk össze a korrelácó csökkentése érdekében. A [6] algortmusa a TDAC (Tme Doman Alasng Cancellaton) transzformácót alkalmazza mozgókép tömörítésre, amely a szomszédos blokkok azonos frekvencatartománybel együtthatót olvassa k egymás után a képen balról jobbra, de csak egy küszöbsznt felett értékeket tesz bele a vektorba. Ezáltal a képen távol blokkok azonos frekvencatartománybel együttható kerülnek egyetlen vektorba. Ha a vektor megtelk, akkor egy kétszntű rács- 6

23 vektorkvantálóval kvantálja a kapott vektort a 6-D Barnes-Wall rács használatával, az értékes együtthatók pozícót pedg fontosság térkép kódolással írja le a kódoló. Szntén D DCT-t használ [7] algortmusa s, de tt a blokkméret 6x6-os. A DC együtthatókat koncentrkus hpergömbök unójából álló kódkönyvtárral (Gauss- eloszlás modell), az AC együtthatókat pedg koncentrkus hperpramsok unójából álló kódkönyvtárral (Laplace- eloszlás modell) kódolják. A szomszédos héjak (gömbök vagy pramsok) távolsága azonban nem egyenletes, a szakaszonként egyenletes rácskvantálás elméletét ugyanez a szerzőpáros [8] ckkében fektette le. Itt a héjak között rész rendre c, sc, s c, s 3 c,..., vagys két paraméter adja k (c és s) a kódkönyvtárat. Az alkalmazott rács a Z 6 -ból származk, de a kódkönyvtár kódpontja nem egyenletesen oszlanak el a térben, mnt általában a több rodalomban, hanem a ponttól távolodva egyre rtkábban. A szomszédos DCT blokkok együtthatót úgy rendezk 6-D vektorokba, hogy a vektoron belül az együtthatók korrelácója mnél ksebb legyen. A vektorokat a wavelet transzformácós tartomány részsávjan belül alakítják k a már említett [5], [6], [], [3] ckkek algortmusa. Míg [5] és [] kódolója a Z d rácsot használja, addg [6] kódolója a 6-D Barnes-Wall rácsot, míg [3] kódolója a D 4 rácsot használja. A legkülsőbb pramson kívül eső rácsvektort [6] kódolója a Conway-Sloane ndexelés algortmussal kódolja, a valamelyk belső prams felületén lévő pontot (vektort) pedg a szerzők a saját algortmusukkal ndexelk. Ennek ellentmondóan [3] kódoló algortmusa a túl nagy sugarú vektort a legkülső pramsra skálázza, de ezt az új skálatényezőt s kódolja, így a külső vektorokat nagyobb torzítással ugyan, de szntén ábrázolja a tömörítő. A kódkönyvtárat, és így a btsebességet s két paraméter határozza meg, ez a bemenet vektorokat skálázó skálatényező és a legkülső prams sugara. Ebben a munkában a kényszerített entrópájú vektorkvantáló az előbb bemutatott rácskvantáló, ahol a kvantált vektor sugarát Huffman kódolóval tömörítk, míg a prams ndexet a szokásos módon tömörítés nélkül írják k. Ksmértékben a D DCT blokk AC együtthatók [], lletve többnyre a TDAC együtthatók [6] sorba rendezésének egyfajta keverékét mutató módszert alkalmaznak wavelet transzformácóval [9] publkácóban, szntén képtömörítésre. Itt a SPIHT (Set Partton n Herarchcal Trees [3]) algortmus szernt tapogatják le a wavelet transzformált együtthatókat, vagys egy DC együtthatóból ndulva a hozzá tartozó AC együtthatókat tapogatják le. Először ndulnak egy adott küszöbsznttel, és az ennél nagyobb (fontos) együtthatókat válogatják k, a fontos és nem fontos pozícókat egy fontosság térképpel jelzk. A fontos együtthatóknak a küszöbsznt felett (vagy a negatív küszöb alatt) részét vektorba rendezk, és ezeket a vektorokat kódolják a D 4, E 8 7

24 és a 6-D Barnes-Wall rácsok egykének ks sugarú pramsával. Az terácó addg folytatódk a küszöbsznt folyamatos felezésével, amíg az előírt btszámot k nem használja a kódoló. Rácskvantálót nemcsak a képtömörítés, hanem beszédkódolás területén s használnak. A CELP beszédkódolók esetében a gerjesztőjel nnovácós (algebra) kódkönyvtárát kódolták már rácskvantálóval, a 6-D Barnes-Wall rácsot használta e célra Lambln [3], aktől egyébként a többek között [7]-ben szereplő fővektorokon és permutácón alapuló ndexelés ötlet s származk [3]. Ebben a beszédkódolás modellben Lambln nem prams, hanem gömb alapú kódkönyvtárat használt. A rácskvantálás alkalmazható CELP kódolóban a vokáls traktust leíró lneárs predkcós spektrum kódolására s. A lneárs predkcós spektrumot általában -D LSP (Lne Spectrum Pars) vagy LSF (Lne Spectrum Frequency) reprezentácóban ábrázolják. Ezek a vektorok együttható között erős a korrelácó és az együtthatók eloszlása s jellegzetesen különböző, így közvetlenül nem alkalmazható rájuk a rácskvantálás. Ezért Pan a prams alapú rácskvantálást egy kétszntű vektorkvantáló javító szntjeként alkalmazza LSP-re [33]. Másk megoldás található [34] kódoló algortmusában, ahol az LSF vektort az előzőleg dekódoltakból becslk (másodfokú autoregresszív becsléssel), és a becslés hbára a + D rácsból (.7) származó többléptékű kódkönyvtárat használnak (PMSLVQ Predctve Mult Scale LVQ), amely kódkönyvtár több különböző léptéken vett rács unójából áll. A tapasztalat az volt, hogy a D rács 4 különböző skálázása már elégséges volt, 5 vagy annál több skálázás már nem javított az eredményen. Tovább tapasztalat volt, hogy a gömb alapú kódolás hatékonyabb volt a prams alapúnál, vagys a predkcós hbajel eloszlását a Gauss- eloszlás jobban közelítette, mnt a Laplace- eloszlás Összefoglalás Ebben a fejezetben megsmerhettük a rácskvantálás elméletét, a fontosabb rácsokat és azok kódolás, ndexelés és elemszámítás algortmusat. A rácsokra a prams alapú kódolásra, ndexelésre láthattunk megoldást, és olyan összetett kódolás alkalmazásokat s megsmerhettünk, am egyetlen hperpramst vagy hpergömböt, lletve azok unóját képes kódkönyvtárnak használn és a kódkönyvtár ndexet előállítan, mndezt analtkus eszközökkel. A kódkönyvtár tervezése és vektorkvantálásra való alkalmazása leegyszerűsödk, de egyúttal ez az unverzaltás specáls alkalmazások esetében hátrányos lehet. A fejezet vége arra mutatott példákat, hogy a rácskvantálás különféle módozata eredményesen alkalmazhatóak valós jelekre s, például vdeó- és beszédkódolásra. 8

25 3. Új ndexelés és elemszámítás algortmusok rácskvantálás céljára Az előző fejezet smertette az rodalomból smert rácskvantálás kódolás, ndexelés és elemszámítás algortmusokat a skálázott D k alap-rács és N darab k dmenzós bnárs kódszó mellékhalmazanak unóból álló rácsokra. Ezek az algortmusok nem, vagy csak korlátozott mértékben alkalmasak arra, hogy olyan vektorokat s kódoljanak, ahol bzonyos koordnáták k vannak zárva. Ebben a fejezetben új rácskvantálás algortmusokat mutatok be, elsősorban ndexelés és elemszámítás célból. Először a D k rácsra vezetek be olyan új algortmust, amely lehetővé tesz a prams alapú ndexelést, az ndex dekódolását, valamnt egy prams felületén lévő rácspontok számának meghatározását olyan esetekben, amkor a rácsvektor különböző koordnátára ampltúdó korlát van érvényben, lletve amkor a vektorokban a együttható nem megengedett. U = N Ezekre a D k rácsra vonatkozó algortmusokra építve az ( + D ) b alakú rácsokra vonatkozóan s bemutatok olyan új prams alapú ndexelés, az ndex dekódolás és elemszámítás algortmust, amely képes a koordnátánként ampltúdó korlát fgyelembe N vételére. Emellett smertetek olyan új kvantálás algortmust s a ( + D ) k U = b alakú rácsokra, ahol a együttható értéket képes kzárn a kvantáló. A most smertetendő új elemszámítás, kódolás és ndexelés algortmus a skálázott és bnárs vektorokkal eltolt D k alap-rácsok unóból álló rácsokra az alább feltételeket s fgyelembe képes venn: Képes kezeln a koordnáták ampltúdó korlátat (3. ábra). Képes kzárn a rácsból azokat a vektorokat, amelyek valamelyk komponense k A koordnáta A koncentrkus pramsokból A korlátok fgyelembe korlát álló kndulás kódkönyvtár vételével kapott kódkönyvtár 3. ábra A koordnáta-korlát hatása a kódkönyvtárra, amely dmenzós rács pramsaból áll A koordnáták ampltúdó korláta olyan esetben számíthatnak, ha a vektor olyan nagy sugarú pramson van rajta, amelyben előfordulhatnak olyan vektorok s, amelyek bzonyos komponense nagyobbak a lehetséges értéknél. A lehetséges érték például adódhat abból, hogy a 9

26 rácskvantáló egy többszntű vektorkvantáló másodk szntjén van, és az első sznt és a forrás smeretében meg lehet mondan, hogy mekkora lehet egy adott koordnátában a legnagyobb, lletve a legksebb együttható. A együtthatóval rendelkező vektorokat (a továbbakban sarokpontoknak s nevezem őket) pedg olyan esetben célszerű kzárn, ha már eleve olyan együtthatókat válogattunk össze, amelyek egy küszöbsznt felett vannak, és az a cél, hogy ezek a komponensek ne legyenek értékűek a kvantálás után. 3.. A legközelebb nem-nulla komponensű rácspont megtalálása A most bemutatásra kerülő új algortmus Conway és Sloane kvantálás algortmusának [3] megfelelő módosítása. Mvel [3] s döntően a D k rácson való kvantáláson alapul, ezért az új kvantálás módszer s a D k rácsra való kvantálást fogja módosítan, és ennek alapján mondjuk k az s D k bnárs vektorokkal eltolt unónak rácsára való kvantálást a komponensek kzárásával Módosított kvantálás a D k rácsra Induljunk k a. fejezetben található. ábra algortmusából (. oldal), amely a D K rácsra való kvantálást mutatja be. A koordnátánként legközelebb szomszéd kválasztásán alapuló kvantálás nemcsak a D K ráccsal való kvantálást könnyít meg, hanem a nulla koordnáták kzárását s lehetővé tesz: az algortmusban csak azt kell elérn, hogy sem az alsó, sem a felső azonosítójú változó ne lehessen. Vegyük észre, hogy az alsó és felső értékek egy másk defnícója az lehetne, hogy a legközelebb páros és legközelebb páratlan szám (a legközelebb egész szám a legközelebb páros és páratlan egész szám közül a közelebb.). Ha pedg a Z K rácson a prams partása páratlan, akkor meg kell határozn azt a koordnátát, ahol a legksebb a torzítás növekedése akkor, ha a legközelebb másk partásúra döntenénk ebben a koordnátában, és ebben a pontban változtatjuk meg a döntést. f 5 f 3 f f f f 4 a 4 a a a a 3 a 5 p = mod (a ) a = x j x j f = x j + 4. ábra A legközelebb páros és páratlan egész szám megtalálása

27 A 4. ábra llusztrálja a legközelebb páros és páratlan egész szám megtalálását. Látható az ábra alapján, hogy ha a p partású a = x j -t nem vehetjük fgyelembe, akkor a következő legközelebb p partású egész szám a = x j +, majd ezt követ a sorban a = x j -, majd a következő a 3 = x j +4, és így tovább. Így a p partású jelöltek sorba rendezése az x j -től való távolság szernt az alább lesz: x j, x j +, x j -, x j +4, x j -4, x j +6, x j -6, x j +8, x j -8,... Az -p partású esetben a legközelebb jelölt x j +. Ha ezt az értéket k kell zárn a kvantáláskor, akkor a következő jelölt x j -, ha ezt s k kell zárn, akkor a maradék -p partásúak közül a legközelebb az x j +3, és így tovább. Így az -p partású jelöltek sorrendje: x j +, x j -, x j +3, x j -3, x j +5, x j -5, x j +7, x j -7, x j +9, x j -9,... Természetesen lyen módon nemcsak a, hanem tetszőleges egész szám, lletve egész számok zárhatóak k. A módosított kvantálás algortmusnak meg kell vzsgáln, hogy mkor alakulna k értékű koordnáta, és az így kapott jelölt helyett a vele azonos partásúak közül a sorrendben következőt kell választan. Vagys helyett az alsó határ esetében (amkor alsó=) +, a felső határ esetében pedg (amkor felső=) -t kell tenn. Látható, hogy az eredet elnevezés így bzonyos esetben már megtévesztő lehet, mert tt az alsó, lletve felső azonosító már azt jelent, hogy az alsó, lletve a felső határral azonos partású legközelebb érték. A módosított kvantálás algortmust a D K rácsra az 5. ábra mutatja be. for(sugár = j = ; j < k; ++j ) { alsó = x j ; felső = alsó + ; f(==b j ) { f(alsó == ) alsó = ; f(felső == ) felső = -; } q(x j ) = (x j alsó > felső - x j )? felső : alsó; q rossz (x j ) = (x j alsó > felső x j )? alsó : felső; sugár += q(x j ) ; } f( a sugár páratlan) { j = argmn q rossz (x ) - x ) q(x j ) = q rossz (x j ) } x j : a kódolandó vektor j-edk koordnátája q(x j ) : a kódolt vektor j-edk koordnátája q rossz (x j ) : a kódolt vektor j-edk koordnátája, rossz rányba kerekítve sugár : a kódolt vektor pramsának sugara b j : egy b bnárs vektor j-edk koordnátája, amely ha, akkor abban a koordnátában nem lehet a kvantált vektor A módosított algortmushoz szükséges új programsorokat szürkével kemeltük. 5. ábra Rácskvantáló kódolás algortmusa a D K rácson a komponensek kzárásával

28 3... Módosított kvantálás az s D k bnárs vektorokkal eltolt unónak rácsára A módosított algortmus a Conway és Sloane kvantálás algortmusból [3], valamnt az 5. ábra által bemutatott új módosított kvantálás algortmusból származk. Az eredet, [3]-ban közölt N algortmus szernt egy x vektor ( b + s D ) U alakú ráccsal való kvantálása vsszavezethető N = K darab D K alapráccsal való kvantálásra úgy, hogy az összes b bnárs vektorra meghatározzuk a x b d = Kvant D =,..., N k s (3.) x b e = KvantHbaD k s vektort, ahol a Kvant Dk függvény a. ábra szernt algortmus. x b A kvantálás során mnden -re meghatározzuk a torzítást a d és s függvénnyel, és a xˆ kvantált vektor pedg az alábbak szernt adódk k: j ( e ) j között a KvantHba Dk j = arg mn =... N (3.) xˆ = b + s d Ezt az algortmust két ponton kell módosítan ahhoz, hogy a komponenseket kzárjuk a vektorból. Először s az eredet algortmusban a D K alaprácsra való kvantálásnál (3.) meg kell határozn, hogy melyk koordnátában nem lehet érték. Másodszor pedg a Kvant Dk függvényt kell módosítan úgy, hogy ezt fgyelembe tudja venn. N Egy ( b + s D ) U alakú rácsban, ha s, akkor (3.) szernt a azokban és csak azokban a = K koordnátákban fordulhat elő az xˆ kvantált vektorban, ahol a b bnárs vektorban s a koordnáta értéke, tehát csak ezekben a koordnátákban kell kzárn a érték lehetőségét a D K alaprácsra való kvantálásnál. Ezen nformácó alapján aztán az 5. ábra által bemutatott új módosított kvantálás algortmus megtalálja a legközelebb olyan D K alaprácsbel vektort, amelynek nem-nulla a koordnátája ott, ahol a b bnárs vektornak értékű az együtthatója. 3.. Pramson lévő vektorok száma véges koordnátájú kockarácsban A véges koordnátájú kockarács ebben az esetben azt jelent, hogy a kódkönyvtár vektorara a következő megszorítást tesszük: mnden koordnáta egy adott ntervallumba esk, ahol a

29 mnmum negatív, a maxmum pedg poztív. Jelölje x alsó a legksebb érték ampltúdóját, azaz x alsó nemnegatív, a legksebb érték pedg így -x alsó. A legnagyobb értéket pedg x felső jelöl. Az ndexelés algortmus, lletve a vektorok számát meghatározó számítás algortmus általános esetre megtalálható [4]-ben. A véges ampltúdójú esetben a számító algortmus más lesz, az ndexelésben pedg az a különbség, hogy más táblázatot használunk. A kérdés tehát tt s a táblázat létrehozása, vagys az elemszámítás algortmus. Fscher gondolatmenetét használva, a d dmenzós kockarács m sugarú pramsán lévő pontok számát rekurzíven számoljuk k az első d- együttható által alkotott vektor táblázatát alkalmazva. Ekkor felhasználva azt, hogy a pramson fekvő c vektor sugara m, azaz m = d c = a d- koordnáta sugara m- c d. Az m sugarú c vektor egyetlen együtthatója sem lehet m-nél nagyobb ampltúdójú, de az ntervallum korlát matt - a c d f, így N mn{ m, }, (3.3) f ( d m) = N( d, m ) = mn { m, } a ahol mostantól legyen a d-edk koordnáta alsó korlátja a, a felső pedg f. Ha a korlát koordnátánként változk, akkor ott ezt majd egy másodk alsó ndexszel fogjuk jelöln, vagys a j-edk koordnátára - a,j c j f,j. A fent képlet alapján már generálható a táblázat, azonban ez a képlet tovább egyszerűsíthető. A cél smét az, hogy ne egy rekurzív összegzéssel, hanem egy egyszerűbb rekurzív összefüggésben adjuk meg a pontok számát. Ekkor N mn{ m, },, ha d > (3.4) f ( d m ) = N( d, m ) = mn { m, } a segítségével távolítható el a szumma. Mvel a d dmenzós pramson lévő pontok számát a d- dmenzójú pramson lévő pontok számából számítjuk k rekurzóval, ezért a fent képlet csak d> esetén használható. Ha vszont d= vagy m=, akkor könnyű megadn a pontok számát: mn{ a, f } { a, f } < m max{ a, f } {, } < m ha m N(, m) = ha mn és N( d,) = (3.5) max ha a f A következő lemma segít átkonvertáln a (3.4) egyenlőségben lévő szumma ndex tartományát a (3.3) egyenlőségben lévő szumma ndex tartományába. Lemma: Ha f és a, de egyszerre nem a két szám, akkor [ + ] = [ ] =.. = ( + )..( + ), (3.6) a f a f, ha f,, ha = ahol [g ] =mn.. max jelent a g mn, g mn +,, g max -, g max sorozatot. f, 3

30 Bzonyítás: ha f, akkor [ + ] = [( + ),,...,,,,...,,( ) ] [ ] =.. a a f f + = = ( + )..( + ),, Ha f =, akkor a, és ekkor a f [ + ] = [( + ),,...,,,,...,,( ) ] [ ] =.. a a f f + = = ( + )..( + ),, a f Megjegyzés: a két esetet azért különböztetjük meg, mert az = -,, + környezetben kell elhagyn a -t és az egyk -est. Ha az f felső korlát, akkor a -et hagyjuk el (mert a + nem szerepel az értelmezés tartományban), különben pedg a +-et. A (3.6) lemma felhasználásával könnyebb megadn az összefüggést (3.3) és (3.4) között. Az egyenlőség átalakítását öt különböző esetben vzsgálom meg, amely a két mn{} függvény kfejtéséből adódk k. a a f f Első eset: m mn{ a, f } Ekkor a d-edk koordnátában valójában nem kell a koordnáta lmtet fgyelembe venn: N m ( d m ) = N( d, m ) = ( m ) m = m, ( d, m ), = N (3.7) A (3.6) lemma segítségével átalakítjuk szummázás értelmezés tartományát, így végül azt kapjuk N(d,m)-re a (3.7) összefüggésből, hogy N m ( d, m) N( d, m ) + N( d, m) + N( d, m ) = = = m (3.8), ( d, m ) + N( d, m) + N( d, m ) = N Látható, hogy a (3.8)-ban kapott eredmény éppen a Fscher által a [4] ckkben megadott képlet. Másodk eset: m a, de m > f Ekkor a d-edk koordnátában csak a felső koordnáta lmtet kell fgyelembe venn: f ( d, m ) = N( d, m ) = ( m ) + f = m, ( d, m ) N = N (3.9) A (3.6) lemma segítségével átalakítjuk (3.9)-et, ezzel pedg azt kapjuk N(d,m)-re, hogy N f ( d, m) = N( d, m ) + N( d, m) + N( d, m ) = m, = = N + f = m, N ( d, m ) N( d, m ) + N( d, m) + N( d, m ) ( d, m ) + N( d, m) + N( d, m ) N( d, m ) f = f = (3.) 4

31 5 Harmadk eset: m f, de m > a Ekkor a d-edk koordnátában csak az alsó koordnáta lmtet kell fgyelembe venn, am nagyon hasonló a. esethez: ( ) ( ) ( ) ( ) + = = = = m m a a m d N m d N m d N,,,, (3.) A (3.6) lemma segítségével pedg azt kapjuk N(d,m)-re, hogy ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) a a m m m d N m d N m d N m d N m d N m d N m d N m d N m d N m d N m d N m d N a a + + = = + + = = + + = + = =,,,,,,,,,,,,,, (3.) Negyedk eset: m > max{ a, f } Ekkor a d-edk koordnátában mnd az alsó, mnd a felső koordnáta lmtet fgyelembe kell venn, am a. eset és a 3. eset alapján már könnyen kadódk: ( ) ( ) ( ) ( ) + + = = = =,,,, f a f a m d N m d N m d N (3.3) Ezzel tehát azt kapjuk N(d,m)-re, hogy ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) f a f a m d N m d N m d N m d N m d N m d N m d N m d N m d N m d N m d N m d N m d N m d N f a f a + + = = = = + + = + + = =,,,,,,,,,,,,,,, ) (, (3.4) Ötödk eset: a = f = Ekkor a d-edk koordnátában mnd az alsó, mnd a felső koordnáta lmt, vagys ebben a koordnátában csak a lehet az együttható, tehát az első d- koordnáta sugara m, vagys ( ) ( ) m d N m d N,, = (3.5) Az öt eset összevonása Ezután összevontam az öt esetet, vagys a (3.8), (3.), (3.), (3.4) és (3.5) egyenleteket. Egészítsük k N(d,m) defnícóját azzal, hogy negatív m sugár értéket s engedélyezünk, de ekkor értelemszerűen darab vektor van, amelynek negatív a sugara: N(d,m) =, ha d > és m < (3.6)

32 Vzsgáljuk meg a (3.), (3.) és (3.4) egyenlőségeket. Azt láthatjuk, hogy a Fscher által megadott egyenlőséghez, vagys (3.8)-hoz képest két új tag jelent meg negatív előjellel, ezek: N(d -,m - - a ), ha m > a, vagys m - - a N(d -,m - - f ), ha m > f, vagys m - - f A (3.6) egyenlőséget alkalmazva az eseteket összefoglalva tehát azt kapjuk, hogy a számláló algortmus rekurzív képlete a (3.4) formula. A teljes számláló algortmus tehát a következő: Tétel: Jelölje a,j a legksebb, lletve f,j a legnagyobb érték ampltúdóját a kockarács j-edk koordnátájában, vagys - a,j c j f,j. Jelölje N(d,m) a d dmenzós m sugarú rácsvektorok számát a Z d kockarácson, ahol d és m egész, valamnt d >. Ekkor tetszőleges d > érték esetén N(d,m) kszámítható az (3.3) rekurzóval s, de a rövdebb forma a következő: N ( d,) = { a,, f,} < m)) vagy ( m< { a,, f,} < m max{ a,, f,} mn{, } ha (( d = ) és (max ) ha d = és mn (3.7) N( d, m) = ha d = és m a, f, N( d, m ) + N( d, m) + N( d, m ) ha d > ( ) ( ) N d, m a, d N d, m f, d A következőkben két specáls eset számlálás algortmusát vzsgáljuk meg, ezek a nemnegatív, lletve a nem-nulla együtthatójú vektorokra korlátozott pramsok elemszámát adják meg Prams elemszáma véges nemnegatív koordnátájú kockarácsban Ebben az esetben a kódkönyvtár vektorara a következő megszorítást tesszük: a j-edk koordnáta értéke nemnegatív, és a [.. f,j ] ntervallumba esk, vagys a,j =. A táblázat számítása (3.7) alapján a következő rekurzív megadással lehetséges: N N ( d,) ( d, m) = = N ha (( d = ) és ( ha d = f, és m < m)) vagy ( m< ) f, ( d, m ) + N( d, m) N( d, m ) > f, d ha d (3.8) 3.4. Prams elemszáma véges nem-nulla koordnátájú kockarácsban A (3.4) egyenlőség volt a kndulás pont a véges koordnátájú prams elemszámának kszámításához. Ha ebből a értéket s kzárjuk, akkor (3.4) a következőre módosul: 6

33 N mn{ m, },, ha d > (3.9) f ( d m ) = N( d, m ) = mn { m, } a vagys csak egy került be a szumma alá. Tekntsük a legáltalánosabb esetet, amkor mnden koordnátában mnd az alsó, mnd a felső koordnáta lmtet fgyelembe kell venn, vagys a (3.3) egyenlőséget. A (3.3) egyenlőség így csak annyban módosul, hogy a értéket nem szabad megengedn: N f f ( d, m ) = N( d, m ) = N( d, m ) N( d, m ) = f + = N = ( a + ), Ebből pedg azt kapjuk, hogy a ( d, m ) N = a ( d, m ) = (3.) N f ( d, m) = N( d, m ) + N( d, m ) = f + = ( a + ), = N N = a, ( d, m ) N( d, m ) N( d, m ) + N( d, m ) ( d, m ) N( d, m ) N( d, m ) + N( d, m ) a a = f f = (3.) A (3.) szernt eredményt, a negatív sugarat és az -dmenzós esetet s fgyelembe véve pedg: N ( d, m) = N N ha m < vagy d ha d = és mn ha d = és m ( d, m ) + N( d, m ) = és max{ a,, f,} < m { a,, f,} < m max{ a,, f,} mn{, } a, f, d > ( d, m ) (, ) a, d N d m f, d ha (3.) 3.5. Nem-nulla koordnátájú pontok száma szmmetrkus koordnátalmttel Ez az eset annak a specáls esetnek felel meg, amkor mnden koordnátára a két lmt azonos, vagys a j-edk koordnátában a,j = f,j. Jelölje továbbá a dmenzószámod d. Vegyük észre, hogy az értékek előjelbtjet kódolva (ez d bt kódolását jelent) már csak egy poztív koordnátájú vektort kell kódoln, és az együtthatókból -et levonva (közben így a sugár d-vel csökken) pedg egy nemnegatív koordnátájú vektort kell ndexeln, mközben a levonás matt a kapott nemnegatív koordnátájú rácsban az új koordnáta-tartomány [- a,j +, f,j -] lesz. Ezzel a gondolatmenettel a pontok száma számítható a nemnegatív pontok számával, vagys 7

34 N(d, m) = d N n (d, m - d) (3.3) ahol N n (d,m) jelöl a nemnegatív koordnátájú pontok számát a d dmenzós, m sugarú pramson, a koordnáta-tartomány a j-edk koordnátában [ a,j +, f,j -], ráadásul a,j = f,j. Az alsó korlát N n (d,m) esetén értelemszerűen közömbös, ennek csak N(d,m) esetén van szerepe. Az N n (d,m) számításához a (3.8)-as egyenlőséget kell alkalmazn. Tovább előny, hogy a nemnegatív ndexelés algortmusra s vssza lehet vezetn ezt az esetet. Teljes ndukcóval könnyen bzonyítható, hogy a (3.3) egyenlőség valójában levezethető (3.8) és (3.) egyenlőségekből. Az ndukcós feltevés az, hogy ha d>d és m m, vagy ha d d és m>m, akkor N(d, m ) = d N n (d, m d ) (3.4) Ha a koordnátalmt legalább, és d > és d m, akkor könnyen ellenőrzhető, hogy az ndukcós felvevés gaz ezekre az esetekre az alább két meglátás segítségével: N(d,d )= d és N n (d,) = ha d > N(d,m )= és N n (d,d -m ) = ha d > m Ha a koordnátalmt valamelyk koordnátában, akkor ebben a koordnátában csak érték szerepelhet, ezért ezektől a koordnátáktól most tekntsünk el. Alakítsuk át (3.3) jobb oldalát (3.8) segítségével, felhasználva azt, hogy a nemnegatív koordnátájú rácsba transzformáláskor az új koordnáta-lmt - amt d N n jelöl -gyel csökken: d ( d, m d ) = ( N ( d, m d ) + N ( d, m d ) N ( d, m d ) = d N n n d d ( d, m d ) + N ( d, m d ) N n ( d, m d ( ) n A (3.5) egyenlőség átalakítása után már mnden tagra alkalmazható a (3.4) ndukcós feltétel: n f, d n f, d ( d, m d ) = N( d, m ) + N( d, m ) N( d, m ) f, d = (3.5) d Nn f, d (3.6) A (3.6) egyenlőségnél khasználva azt, hogy a,j = f,j, és erre alkalmazva (3.)-t éppen a tétel állítását kapjuk Új ndexelés algortmus a kockarács egy pramsán Az állítást rögtön a, lletve tetszőleges koordnátaérték kzárására mondom k. Jelölje a vektor d-edk koordnátából ktltott értékek halmazát T d. Az ndexelő algortmus alapötlete az, hogy egy m sugarú d dmenzós x vektor kódszavának ndexe a [, N(d,m)-] ntervallumba kell essen, ahol (3.3) alapján N mn{ m, }, (3.7) f ( d m) = N( d, m ) = mn T { m, } a 8

35 Azoknak a kódszavaknak a darabszáma, amelyek utolsó koordnátája, éppen N(d-,m- ), lletve jelölje K(d,) azok száma, ahol az utolsó koordnáta nagyobb -nél. A (3.3), lletve az annak általánosításaként kapott (3.7) egyenlőségből következk, hogy K mn{ m, }, (3.8) f ( d ) = N( d, m j ) j= + j T d Osszuk fel tehát a kódoláskor a [,N(d,m)-] ntervallumot úgy, hogy legyen azoknak a kódszavaknak az ndexe, amelyek utolsó koordnátája, a [K(d,), K(d,)+N(d-,m- )-] ntervallumban. Ezen ntervallum felső határa egyébként K(d,-)-, vagys az ntervallum megegyezk a [K(d,), K(d,-)-] ntervallummal. Fontos khangsúlyozn, hogy K(d,) K(d,-), mvel N(d-,m- ). A következő lépésben az algortmus tovább bontja ezt az ntervallumot a maradék d- dmenzós vektor kódolásával, ahol a K(,) értékének kszámításánál a sugár már csak m-. Legyen a maradék d- dmenzós vektor utolsó koordnátájának értéke j, ekkor a kódszó K(d,)+ K(d-,j) lesz, a csökkentett ntervallum pedg [K(d,)+K(d-,j), K(d,)+ K(d-,j-) -]. Az algortmus a tovább lépésekben az ntervallumot tovább szűkít, amíg el nem ér az egyetlen egész számot tartalmazó ntervallumot, és ez az egész szám lesz a kódszó. Ezt az állapotot az utolsó, x[] értékű koordnáta kódolásán túljutva bztosan elér, hszen = N(,x[]) bármely x[] értékre. Az előbb smertetett elven működő kódoló algortmust a 6. ábra mutatja be. code = ; d = dm; m = L norma(x); for(d = dm; (m > ) && ((--d) > ); ) { f( kzárjuk a T halmazban elemet ) mn{ felső _ korlát[ d ], m} K = N d, m else K = code += K; mn = x[ d ] + T { felső _ korlát } N = x[ d ] + ( ) [ d ], m ( d, m ) code: Ez lesz a kódszó d: az aktuáls koordnáta m: a vektor pramsának sugara Haladunk koordnátáról koordnátára x[]: a kódolandó vektor felső_korlát[]: a felső korlátok vektora alsó_korlát[]:az alsó korlátok vektora N(d,m): az elemszámok tömbje Megj.: a szövegben N(d-, ) szerepel, tt pedg N(d, ) - ennek oka, hogy a cklusmag kezdetekor csökkentjük a d változót -gyel, nem pedg a végén. K: a szövegbel K(d,x[d])-t jelöl. m -= ABS( x[d] ); m: A maradék részvektor (x[..d-]) sugara } Utoljára -et vagy -t adunk hozzá, attól f(alsó_korlát[]> && felső_korlát[]> függően, hogy negatív vagy poztív az && x[]<) utolsó koordnáta ++code; 6. ábra Koordnáta korlátot s kezelő új prams alapú ndexelő algortmus a kockarácson 9

36 A 6. ábra algortmusához lleszkedő ndex dekóder algortmus pszeudo kódját a 7. ábra mutatja be. Ez az algortmus az utolsó koordnátát úgy tudja meghatározn, hogy meg kell keresn azt az értéket, amelyre a kódszó a [K(d,), K(d,)+N(d-,m- )-] ntervallumba esk. A következő koordnáta értéke pedg az a j szám, amelyre a kódszó a [K(d,)+K(d-,j), K(d,)+ K(d-,j-) -] esk. Ezeket a lépéseket folytatva az összes koordnáta érték megkapható. Az utolsó koordnáta abszolút értéke az addg megmaradt m prams sugár, az előjele pedg az alapján adódk k, hogy a kóder az utolsó lépésben növelte-e eggyel a kódszót. xcode = for ( = ; < dm; ++) x[]=; Ez a változó tartalmazza az ntervallum alsó határát. Az x vektort knullázása. for( d = dm; (--d) > ; ) { mn = -MIN( alsó_korlát[d], m ); max = MIN( felső_korlát[d], m ); Keressük meg az az [ mn, max ] egész számot (ha kell, a -t kvéve), amelyre: xcode + K(d,) code < xcode + K(d,-) x[d] = ; m -= ABS(); xcode += K(d,); A d-edk koordnáta dekódolása. A d-edk koordnáta értékének alsó és felső határa. Az aktuáls koordnáta értéke, akkor a code azonosítójú változóban tárolt kódszónak a részntervallumon belül a [K(d,), K(d,-) ) ntervallumba kell esne. } Megvzsgáljuk, hogy a kóder utoljára -et vagy x[] = (code == xcode)? m : -m; -t adott-e hozzá a kódhoz 7. ábra Koordnáta korlátokat fgyelő prams alapú ndex dekódoló algortmus a kockarácson 3.7. Új ndexelés algortmus =..N- (r + D k ) alakú rácsokra Ez a fejezet egy tetszőleges rácspont prams alapú ndexelésével foglalkozk az =..N- (r + D k ) alakú rácsokra. Az algortmus bemenete a kvantált c vektor, kmenete pedg ennek az ndexe az M=r(c) sugarú pramson belül. Conway és Sloane kvantálás algortmusa [3] megadja a mellékhalmazt meghatározó bnárs vektort, r b -t, tehát ezt sem kell külön meghatározna az algortmusnak. Jelölje most N(m) a rács m sugarú pramsán lévő pontok számát. Legyen a rácspont sugara M, a mellékhalmazt megadó bnárs vektor ndexe b, felhasználva (.6)-t: K K K = c = v + r b, = = = = s ( v + r ) ( ) M Tehát (3.3)-at vsszaírva (3.9)-be azt kapjuk, hogy: 3 b, (3.9) ahol s az -edk koordnáta előjel btje és v D K. Emeljük k az abszolút érték függvényből az r b bnárs vektor együtthatót, ez csak ott kérdéses, ahol r b, = : s ( ) ( ) ( ) ( ) ( ) ( ) s s s v + = v + = v + (3.3)

37 M = Végül pedg: M K = r k, = K = K = r k, = K K s ( v + ( ) ) = v + ( ) = s v + (3.3) K ( ) = r k, = = r k, = s v = (3.3) Mvel v D K, ezért a bal oldal másodk tagja 4-gyel osztható, továbbá smert az M sugár, így a bal oldal smert mod 4-en belül. Ez alapján könnyen belátható, hogy darab előjelbt redundáns, hszen bt negálása a (3.3) egyenlet bal oldalán ±-vel változtatja az összeget, tehát egy előjelbt a több K- előjelbt és M smeretében meghatározható. A (3.3) felbontás azért fontos, mert segítségével a rács ndexelés algortmusát vssza lehet vezetn a kockarácsban történő ndexelés algortmusra: eszernt ha smertjük a bnárs vektort, akkor a bemenő c vektort két vektorra kell osztan úgy, hogy az egykben csak páros (c ), a máskban csak páratlan komponensek vannak (c ). Ha egy egész érték páros vagy páratlan, akkor a legksebb helyértékű btje (LSB Least Sgnfcant Bt) smert, tehát az LSB redundáns, amt -vel való egész osztással (a redundáns bt kléptetésével) tüntethető el. A bt kléptetés páros esetben nem problémás: az eredményül kapott vektor a kockarácson van, belőle fx pontos artmetkával vsszaállítható c, sőt a sugara s számítható c sugarából. Sajnos ugyanez c -re közvetlenül nem alkalmazható. Vszont vegyük észre, hogy ha c komponenset egy s előjelbt vektorra és egy ampltúdó vektorra bontjuk, akkor a kapott ampltúdók mndegykéből az LSB-t eltávolítva (páratlan számokra az LSB értéke mndg ) egy nemnegatív komponensű vektort kapunk a kockarácson, másrészt (3.3) szernt s-ben egy bt redundáns. A kódolás az előbbek alapján a következő lépésekből áll: Előfeldolgozás: vegyük a c bemenet vektort, határozzuk meg az r b mellékhalmazt megadó bnárs vektort és a c vektor sugarát, r(c)=m-et. Hasítás: válasszuk szét a c-t két vektorra attól függően, hogy r b -ben a megfelelő koordnáta vagy. Legyen a két vektor rendre c és c, dmenzójuk K és K. Ekkor nylván r(c )+ r(c )= r(c)=m (3.33) Páros komponensek (c ) átalakítása: alakítsuk át c -t koordnátánként a következőképpen: c, u, =, vagys a redundáns, mndg értékű LSB-k eltűntek (3.34) Páratlan komponensek (c ) átalakítása: jelölje s a c mnden koordnátájára az előjelbteket, így dm(s)=k. Alakítsuk át c, -t úgy, hogy eltüntetjük a redundáns, fx értékű LSB-t: u, = ( ) s c,. (3.35) 3

38 Látható, hogy az s előjelbtekből, u és u vektorokból egyértelműen előállítható c és c. Sőt, (3.3) alapján egy előjelbt redundáns. A kapott vektorok sugarára: r ( ) ( c ) = r u r = r( u ) ( ) r c K m K r = = r + r = (3.36) A bemenet c vektor páros és páratlan komponensekre való felosztását a 8. ábra szemléltet. Bnárs vektor (r b ) Input vektor ( c ) A szétválasztott vektorok ( c és c ) Előjel vektor (csak c esetében) Kódolandó vektorok (u és u ) - 8. ábra Prams alapú ndexelés: a (3.34) és (3.35) lépések szemléltetése A rész-kódok ndexelése: u vektort az általános, és u vektort pedg - amely koordnátá nemnegatív egészek - a nemnegatív koordnátájú ndexelés algortmussal kódoljuk: ndex = általános_ndex(u ) ndex = nemnegatív_ndex(u ) Multplexelés: az u vektor és u vektor ndexet, valamnt az s előjelbteket az utolsó bt (LSB) kvételével multplexeljük össze az alább módon: r m K általános Nnemnegatív K, = kód = kód + ndex + N általános K, r ndex K K kód = kód + s & a) kód = N ( K, ) b) ( ) c) ( ( ) b + a= d) ndex = kód N r ( m) a ahol N r (m) az r Reed-Muller kódszóhoz tartozó pontok száma az m sugarú pramson. (3.37) c = r b + v r b b m=r ( c ) Páratlan együtthatók Hasítás Páros együtthatók c c Előjelek (3.34) N nn ( d,m) (3.35) N(d,m) u u s dm(u ), L (u ) Nemnegatív kockarács ndex dm(u ), L (u ) Általános kockarács ndex r, K ndex r, K ndex (3.37) ndex(c) 9. ábra Új prams alapú ndexelés algortmus felépítése; N(d,m) és N nn (d,m) jelöl a kockarácson való ndexeléshez szükséges táblázatokat 3

39 x Legközelebb szomszéd kvantálás a N U r + DK = rácsra ( ) m=r(c) c=r b + v r b b Sugár tömörítése Új prams alapú ndexelés a N U = ( r + D ) rácson K ndex(c). ábra Új prams alapú kvantálás és ndexelés algortmusokból felépített rácskvantáló Az új ndexelés algortmus blokkdagramját a 9. ábra, míg az algortmus rácskvantálóba való bellesztését a. ábra mutatja be. A dekódolás a fent pontok nverze, am trváls a multplexelés kvételével. A multplexelés nverzének részletes kfejtésével a dekódolás a következő módon lehetséges: a) A kapott ndexből keressük meg b-t a következő módon: b for(b=; Nr a ( m) ndex a= ;++b); b) Ha megvan b, akkor smert r b, K és K, valamnt a hasítás, és kód s számítható: kód = ndex b a= ( ) N r m a c) Az utolsó előjelbtet kvéve megkapjuk az előjeleket, ezeket eltávolítva megkapjuk kód -et: K ( ) s = kód & valamnt kód kód = K d) Keressük meg r -t, és r alapján r és kód -t s meghatározható: e) r m K, ;++r ); = r m K kód = Náltalános ( K, ) Nnemnegatív K, = kód kód ndex = u = nemnegatív_ndex_dekóder(ndex,r ) N K,r for(r =; Náltalános ( K ) Nnemnegatív K, ndex ndex általános ( ) ( kód kód ) mod N ( K r ) = u = általános_ndex_dekóder(ndex,r ) általános, f) Végrehajtjuk u és u vektorokkal a hasítás nverzét úgy, mntha a hányzó (az előjelvektorban az LSB pozícóban lévő) előjelbt poztív lenne. Ha a kapott vektor sugara nem m, akkor korrgálunk az előjelbt koordnátájában a negatív előjelnek megfelelően. A mellékhalmazok unójából álló rács ndexelését az ennél egyszerűbb, kockarácsban történő ndexelésekre vezettük vssza. A kockarács ndexelés algortmusokat a (3.34) és (3.35) alapján az u vektorra az általános, az u vektorra pedg nemnegatív kockarácsban kell megvalósítan. A most bemutatott új ndexelés algortmus alapján elkészíthető az elemszámítás algortmus s az 33

40 N = ( b + D ) U alakú rácsokra, hszen tt azt kell megszámoln, hogy hányféle (u, u, s) hármas alakulhat k. K 3.8. Prams pontjanak száma =..N- (b + D k ) alakú rácsokra Az új elemszámítás algortmus a 3.7 fejezetben smertetett kódoláson alapul. Az ötletet (3.37)- ben szereplő összefüggések adják, amelyek szernt adott bnárs kódszó mellékhalmazára kszámoljuk a kódszavak számát (3.37.a) szernt, és az összes lehetséges előjelbt vektorok számával megszorozzuk (az utolsó bt elhagyásával), és ezeket a számokat összeadjuk az összes bnárs vektorra. A számítást rögtön koordnátalmttel együtt végezhetjük el. Ha nem akarunk koordnátalmtet, akkor a lmtek helyére egy nagyon nagy poztív számot értünk. A koordnátánként lmt fgyelembe vétele azonban egy új problémát eredményez, amely az előző fejezetben a transzformácós lépésben az abszolút érték képzéssel kapcsolatos. Jelölje N r,s (m) az r bnárs kódszóhoz tartozó pontok közül azon pontok számát, amelyeknél a páratlan koordnáták előjelbtje megegyeznek s-sel. Ezzel a jelöléssel 3 N ( m) = N r ( m) és ( m) = N ( m) = r ( ) K r r, s s= N (3.38) Egy N r,s (m) meghatározásához az alább lépéseket kell megtennünk: ) Az r bnárs kódszó alapján meghatározzuk K -t és K -et. Az egy redundáns bt matt: dm(s)= K -. ) Transzformálás a kockarácsra: a c vektorra vonatkozó koordnátalmteket számoljuk át a c, lletve a c vektorokhoz a (3.34) és (3.35) transzformácós összefüggést felhasználva. Ha nncs koordnáta, akkor u vektorban sncs (3.34) alapján, vszont (3.35)-ból látható, hogy ettől még u vektorban lehet. 3) Rész-kódok számossága: (3.36) szernt u és u sugara függ egymástól, és mndkettő a [, m K ] ntervallumból vehet fel egész értéket, és ha az egyk sugár, akkor a másk m K. Ezek szernt nagyon hasonlóan (3.37.a)-hoz: m K ( ) = m K N r, s m N általános ( K, ) N nemnegatív K, (3.39) = Így (3.38) és (3.39) felhasználásával számítható a rács egy pramsának számossága: { r, r,..., r } m K K ( r ) ( r ) m K N ( m) = Náltalános ( K() r, ) Nnemnegatív K() r, (3.4) r s= = 3 34 () r

41 Abban az esetben, ha nncs koordnátalmt, vagy pedg a koordnátalmt szmmetrkus az u vektorra nézve mnden r vektor esetében, akkor az előjelvektornak valójában nncs szerepe, és ekkor a fent képlet sokkal egyszerűbb lesz: m K ( r ) K ( ) r m K N ( m) = Náltalános ( K() r, ) Nnemnegatív K() r, (3.4) r { r } =, r,..., r3 A koordnáták kzárása pedg úgy történk, hogy ez az u vektorban jelent csak új feltételt, ekkor ezen vektorok számát nem az általános, hanem a nem-nulla táblázatból kell meghatározn, így a (3.4) az alábbak szernt módosul: m K K ( r ) ( r ) m K N nemnulla ( m) = Nnemnulla( K() r, ) Nnemnegatív K() r, (3.4) r { r } = =, r,..., r3 s és hasonlóan (3.4)-hez, a koordnátalmt nélkül, valamnt a szmmetrkus lmt esetében a nem-nulla komponensű vektorok számát az alábbak szernt lehet meghatározn: { r, r,..., r } m K ( r ) K ( ) r m K N nemnulla ( m) = Nnemnulla ( K() r, ) Nnemnegatív K() r, (3.43) r = 3 () r () r () r 3.9. Koordnáta korlátozással való ndexelés a =..N- (b + D k ) rácsban A 3.7 fejezetben smertetett ndexelés algortmus koordnátalmttel való kegészítése nem mnden esetben egyszerű. Ekkor a következő problémák merülnek fel: A hasítás, valamnt a (3.34) és a (3.35) transzformácó végrehajtásakor ugyanezt a hasítást és transzformácót s végre kell hajtan a koordnátalmteket tartalmazó vektorra, így az u és u vektorok ndexelés és számlálás algortmusanak más-más bnárs vektorra más-más paraméterekkel kell számoln, tehát az N különböző bnárs vektorra akár N különböző táblázatot kell felépíten, lletve használn. Különösen rossz a helyzet, ha az u vektor esetében különböző s előjelvektor különböző lmtet eredményez, mert ekkor az egész ndexelés függ s-től. Ebben az esetben a kódok multplexelésénél nem elég N r (m)-mel számoln, hanem N r,s (m)-sel kell számoln, am egy újabb cklust gényel s szernt. Ez azért nagy probléma, mert az összesen 3 darab Reed- Muller kódszóból 3 darab kódszó esetén 8 (7 bt, az u és az u s 8 dmenzós) különböző s vektor van, míg darab esetében 3768 (5 bt, 6 dmenzós u ), és legrosszabb esetben = 3668 darab különböző táblázatot jelent az u és az u kódolásához. Ilyen sok táblázat használata már a teljes kereséshez kezd hasonlítan, hszen enny táblázat tárolása értelemszerűen nagy memóragényű. 35

42 A megvalósításban ezért azt választottam, hogy az ndexeléshez mnden előjelbtnél a nagyobb lmtet alkalmaztam az u vektorhoz, mközben az u vektorhoz továbbra s lehet használn mndkét (alsó és felső) koordnátalmtet. Ez a redundanca nylvánvalóan nem optmáls, vagys a koordnáta lmt nformácót nem használja k teljes mértékben a kódoló. A koordnátalmt nformácó a-pror smert lehet (statkus kódolás), ellenkező esetben el kell külden a dekódernek (dnamkus kódolás), vagy esetleg a már dekódolt jelből lehet következtetn rá (adaptív kódolás). Dnamkus kódolás esetében kérdéses lehet az, hogy a koordnátalmt nformácó elküldéséből keletkező többlet btsebességet vajon ellensúlyozzae a koordnátalmttel való ndexelésnek köszönhető btsebesség nyereség. Ez utóbb akkor különösen kényes kérdés, amkor nem használjuk k teljes mértékben a koordnátalmt nformácót, mnt például az előző bekezdésben vázolt megoldásnál. A koordnáták kzárása vszont egyszerűbb feladat. Ekkor a transzformácós lépést megvzsgálva megállapíthatjuk, hogy ha a érték nem fordulhat elő, akkor ez a megkötés csak az u vektort érnt, így az u vektort ezek után nem az általános, hanem a nem-nulla kódolás algortmussal kell kódoln, és ennek megfelelően a rá vonatkozó számlálás algortmus s a nemnulla számlálás algortmus lesz az általános helyett. 3.. Az új prams alapú ndexelés algortmusok műveletszám génye A kockarácsra vonatkozó új prams alapú ndex kódoló algortmust a 6. ábra, az ehhez tartozó ndex dekódolót pedg a 7. ábra tartalmazza. Ezen algortmusok C nyelvű mplementácója a Függelékben található (8. ábra, lletve a 9. ábra), az ezekre vonatkozó műveletszámokat erre az mplementácóra határoztam meg az olyan műveletekre, mnt az egyszerű műveletek (összeadás, kvonás, -es komplemens, <, >, logka és bnárs operátorok), a szorzás, az osztás, a mnmum (MIN), az abszolút érték (ABS) stb. A műveletszámok konkrét mplementácótól függnek, tovább nformácó a Függelékben (9.. fejezet, oldal) található. A 6. ábra és a 7. ábra alapján könnyen megállapítható, hogy ha D jelöl a dmenzószámot és M a prams sugarat, akkor a komplextás o(d), ha M rögzített, lletve o(m), ha D rögzített. A műveletszám pontosabb becslését D {4,5,,6} és M {4,5,,6} értékekre végeztem el szmulácós módon úgy, hogy az összes lehetséges rácspont ndexelését, lletve ndex dekódolását elvégeztem és a kapott műveletszámot átlagoltam. A vzsgált műveleletek átlagos számában adom meg egyetlen vektorra, lletve másodpercny adatra vonatkozólag, de nem vzsgálom azt, hogy ezek a műveletek hány utasításnak felelnek meg. 36

43 A kockarácsra vonatkozó új prams alapú ndex kódoló algortmus átlagos műveletszámának becslését D és M függvényében az. táblázat, az ndex dekódolóra vonatkozó átlagos műveletszám becslését pedg a. táblázat mutatja be. A Függelékben az s látható, hogy a regresszós síkok meglehetősen jó, általában 99%-nál pontosabb becslést jelentenek a vzsgált tartományban. Művelet Regresszós sík egyenlete Felső becslés a műveletszámra Egyszerű műveletek D M D + 5 M MIN(,).95 D +.45 M D ABS().993 D +.64 M -.34 D D tömbből olvasás.984 D M D + M D tömbből olvasás.34 D M D + M. táblázat Az ndex kódoló átlagos műveletszámának függése a D dmenzótól és az M prams sugártól: a regresszós sík egyenlete és felső becslés a műveletszámra Művelet Regresszós sík egyenlete Felső becslés a műveletszámra Egyszerű műveletek.84 D M 6.53 D + 8 M MIN(,) D - D ABS() D - D D tömbből olvasás 5.6 D M D + M D tömbből olvasás.4 D +.53 M D + M. táblázat Az ndex dekódolás átlagos műveletszámának függése a D dmenzótól és az M prams sugártól: a regresszós sík egyenlete és felső becslés a műveletszámra U b = ( r + s D ) d + D 6-D Barnes-Wall rács d=6, b=3 d=, b= Egyszerű műveletek * d M + b M M + MIN(,) d +.5 M.5 M +.5 M + 6 ABS() 3 d + M M + 3 M + 48 D tömbből olvasás * 5 d + M + M + 5 M + 8 D tömbből olvasás d + 3 M + 3 M + 3 M + 7 szorzás M + M + M + U b = 3. táblázat Az ( r s D ) + alakú d dmenzós rács prams alapú ndexelő algortmusának d átlagos műveletszáma (felülről becsülve) ( * térbel kódolásnál darab összeadással és darab D tömbből olvasással több művelet szükséges) U b = Az ( r s D ) + rács ndexelő algortmusa a kockarács ndexelő algortmusára épül, ennek a d rácsnak az átlagos műveletszámát a 3. táblázat mutatja be mnd prams, mnt pedg térbel kódolásra. Az tt smertetett három táblázat alapján megállapítható, hogy az új ndexelő algortmusok ks műveletszámmal és egyszerű műveletekkel valósíthatóak meg. A Függelék 9.. fejezetében (3.-6. oldal) tovább adatok s találhatóak ezen algortmusok műveletszámára, azok meghatározásának módjára, lletve más kapcsolódó algortmusok műveletszámára s. 37

44 4. Rácskvantálás alkalmazása MPEG vdeó transzkódolására Egy szerveren tárolt vdeóanyag lejátszásához az anyagot le kell tölten és dekódoln kell. A többféle felhasználó gény és a csatornakapactás által megszabott lehetőségek matt a szervernek akár mnden lehetséges btsebességre át kell tudn kódoln az anyagot, lletve néhány rögzített btsebességen le kell tároln mnden anyagot. Az MPEG- transzkódolás esetén a motvácó az, hogy egy tömörített MPEG- vdeó anyagot új paraméterekkel újra kell kódoln ugyanabban a formátumban új paraméterekkel, lletve más formátumban (például ksebb felbontású MPEG-4-ben). Ez az átkódolás (transcodng) szélsőséges esetben történhet teljes dekódolással, majd egy újra elvégzett kódolással, azonban ez az MPEG- kódolás nagy komplextása matt nem célszerű. Ilyenkor másk lehetőség az anyag összes lehetséges btsebességen való tárolása, ez azonban nem mnden alkalmazás számára jelent elfogadható megoldást. Az anyag átkódolására az a legcélszerűbb megoldás, hogy a dekódolást csak olyan, kódoló és dekódoló eszközkészlet szempontjából közös fázsg végezzük el, ameddg a kódolás és a dekódolás komplextása közelítőleg egyforma. Ismert az eddg kutatás eredményekből, hogy az MPEG- esetén a mozgáskompenzácó az a pont, am sokkal nagyobb komplextású a kódolóban, mnt a dekóderben. Az átkódolás ebben az esetben a már kvantált jel újrakvantálása vagy a pxel- [35], vagy a frekvencatartományban [36]. Természetesen az átkódolást lehet tovább mélységekg folytatn, így pl. elképzelhető a teljes dekódolás a képcsoport struktúra (GOP Group of Pctures) megtartásával, vagy akár a GOP megváltoztatásával s. Ebben a dolgozatban a GOP változatlan marad úgy, ahogy eredetleg adott volt a tömörített vdeóban. A továbbakban ezzel a problémával foglalkozunk, az előző, 3. fejezetben bemutatott új rácskvantálás algortmusokat MPEG- vdeó frekvencatartománybel együtthatónak újrakvantálására fogjuk alkalmazn. 4.. Rácskvantáló alapú MPEG- vdeó transzkóder A rácskvantálókat főleg korrelálatlan Gauss- és Laplace-eloszlású vektorokra alkalmazzuk. Ígéretes az alkalmazásuk azokon a helyeken, ahol eddg egyenletes skalár kvantálókat alkalmaztak, lletve tpkusan a többszntű (mult-stage) kvantálásban, ahol egy előző sznt kvantálójának a kvantálás zaját kell tovább kvantáln. Ebben a fejezetben a skalár kvantálást rács-vektorkvantálás (LVQ) helyettesít a jobb tömöríthetőség érdekében. A csatornára kerülő átkódolt jel így nem lesz MPEG- szabványú, az eredet együtthatók btje helyett a rácskvantáló btje kerülnek a csatornára. A vevő oldalon ezeket a bteket egy megfelelő rácskvantáló dekóder 38

45 fogadja és alakítja át MPEG- szabványúvá btekké, de alkalmas erre a feladatra a rácskvantáló dekóderrel kegészített módosított MPEG- dekóder s. A. ábra azt mutatja, hogy hogyan lleszkedk a rácskvantálás a transzkóderbe. Ezt a sémát szerzőtársammal [37] és [38] ckkekben smertettem. Ismert, hogy egy MPEG- vdeó mozgásvektora, fejléce és a DC dfferenca btek jó közelítéssel függetlenek a btsebességtől [39]. Ematt csak a DCT blokkok AC együtthatót kell újrakvantáln. Az újrakvantálás hbájának tovaterjedését a P és B képek esetén a rendszer kompenzálja. Fontos megjegyezn, hogy az LVQ modul a teljes kvantálást elvégz: a nem-nulla értékeket (fontos vagy jelentős együtthatók) kvantálja, a nulla és nem-nulla értékek térképét pedg egy tulajdonság-térképpel, vagy más szóval fontosság térképpel adja meg. MPEG vdeo VLD Q - DCT együtthatók + + Q DCT LVQ VLC LVQ - Q - + _ IDCT Múlt ref. kép Jövõ ref. kép Output btfolyam + + VLD VLC Q LVQ DCT IDCT Huffman dekóder (Varable Length Decodng) Huffman Kódoló (Varable Length Codng) MPEG kvantáló Rácskvantáló Dszkrét cos. transzformácó Inverz DCT. ábra Rácskvantáló alapú MPEG- transzkóder A következő pontokban a. ábra szernt rendszer felépítéséről és megválasztásának okaról lesz szó. Először a fontosság térkép kódolás lehetőséget, utána pedg az így kapott vektorok rácskvantálójának a méretezését mutatom be. 4.. Együtthatók fontosság térképének kódolása Ahhoz, hogy a kvantálást ne koordnátánként végezzük el skalár kvantálóval, hanem vektorokat tudjunk kvantáln, nem elég a skalár kvantálót kcseréln vektorkvantálóval, hanem több ponton s módosítan kell az eredet kódoló algortmust. A DCT együtthatók vektorokba rendezése alapvetően kétféle módon lehetséges: Statkus vektorba rendezés: a képmátrxot ksebb téglalapokra osztjuk fel (pl. 6 dmenzós vektorok esetén x6, x8, 4x4, 8x vagy 6x méretűekre), és ezek lesznek a vektorok. Dnamkus vektorba rendezés: a képpontokat jelentős és nem jelentős pxelekre bontjuk, és a jelentős együtthatókat egy folyamba fűzzük, amely folyamot egy vektorkvantáló kvantálja. Az MPEG vdeó I, P és B képen a DCT tartományban sok együttható található, a jelentős együtthatók száma az összes együtthatókhoz képest kcs. A együtthatók nagy számát az 39

46 MPEG futamhossz kódolással használja k a <-k száma, nem együttható értéke> alakú kétdmenzós vektorok kódolásával. Például, a 6 dmenzós vektorok száma statkus felosztás esetén a Vectra tesztsorozat egyetlen CIF képén az Y komponensre 6336 (35*88/6), a Cr és a Cb komponenseken pedg egyenként 584 (76*44/6) vektor van, tehát egy képhez 954 vektor tartozk. Statkus felosztás esetén tehát mnden vektor elhelyezkedése smert. Dnamkus felosztás esetén persze a vektorok száma függ a kvantálás lépésköztől (nagyobb kvantálás lépésközzel csökken a vektorok száma, mközben a torzítás növekszk), például λ I =λ P =4, lletve λ B =5 újrakvantálás tényezővel az alább vektorszámok születtek I(BBP) 6 képcsoport struktúrát használva: Kép I/ B/ B/3 P/4 B/5 B/6 P/7 B/8 B/9 P/ Vektorok Kép B/ B/ P/3 B/4 B/5 P/6 B/7 B/8 P/9 Vektorok táblázat Rácsvektorok száma egyetlen I(BBP) 6 képcsoport struktúrára Az 4. táblázat alapján s megállapítható az, amt egyébként s várn lehet, hogy a dnamkus felosztás esetében sokkal kevesebb a kvantálandó vektor, mnt statkus felosztással. Dnamkus felosztás esetén az MPEG-ben használt futamhossz kódolás nem használható, hacsak olyan formában nem, hogy a D dmenzós vektor mellé D darab futamhossz értéket nem teszünk (a futamhossz érték a két jelentős pxel között nem jelentős pxelek számát adja meg). Ekkor azonban ez a D darab futamhossz érték felfogható egy fontosság térkép leírásnak, ahol a fontosság térkép a jelentős és nem jelentős pxeleket írja le. A fontosság térkép kódolására az előbb példán túl többféle módszer jöhet szóba, egyrészt a térkép letapogatása, másrészt a letapogatás eredményezte szmbólumsorozat kódolása szempontjából. A következőkben ezeket a módszereket vzsgáljuk meg A fontosság térkép letapogatásának ránya A fontosság térkép a DCT tartományra vonatkozk, amely tartományban az együtthatók blokkokat alkotnak, ezek a blokkok pedg blokk típustól függően 63 vagy 64 darab együtthatót tartalmaznak, ezért az együtthatók letapogatására többféle módszer jöhet szóba: Az Y, U és V komponenseket vagy külön képként kezeljük, vagy pedg makroblokkonként tapogatjuk le az összetartozó blokkokat. Egy DCT pozícóban olvassuk végg az összes blokkot, és ezt mnd a 64 pozícóra megtesszük (erre találunk példát [6]-ben, és ezt szemléltet a. ábra jobb oldala). 4

47 Blokkon belül az összes együttható letapogatása (például ckcakk rendezéssel:. ábra bal oldala), majd a következő blokk feldolgozása (például []-ben lyen a DCT együtthatók letapogatása) ábra A DCT együtthatók ckcakk (balra) és blokk (jobbra) alapú letapogatása Az Y-kép, valamnt a két színjel között különbözőség matt e három képet külön-külön képként kódoltam le. A blokkon belül letapogatás sorrendre a továbbakban az MPEG--ben használt ckcakk letapogatást használtam. Egy kép fontosság térképe ezután a letapogatás sorrendnek megfelelően egy bnárs btsorozat, ahol a nem jelentős DCT együtthatót, pedg a jelentős DCT együtthatót jelöl a megfelelő pozícóban. A feladat ezután a btsorozat kódolása valamlyen hatékony veszteségmentes tömörítés algortmussal. Ezen btsorozat mellé persze lehet különböző sznkronzácót bztosítan, mnt például képhatár (ezt ebben a megvalósításban kötelező fgyeln), blokkhatár vagy szelethatár jelzése A blokkvég jelzése bnárs fontosság térkép esetén Az MPEG vdeó szabványban szerepel a blokkvég jelzésének a lehetősége, am hatékony gyakorságfüggő kódolást tesz lehetővé. A blokkvég jelzése úgy történk, hogy a kódoló fgyel a blokkhatárt, és ha az utolsó együttható, akkor a blokk utolsó futama helyett egy blokkvég (EOB - End Of Block) szmbólumot küld. Az EOB szmbólumok száma így relatíve nagy lesz (ha az utolsó szmbólum, akkor EOB szmbólum kerül a btfolyamba), am a gyakorságfüggő kódolás szempontjából hatásos. Vsszatérve a fontosság térkép kódolásra, az EOB szmbólumok küldése azért lehet kedvező, mert így a blokkban hátralévő együtthatókat már nem kell kódoln, hszen tudjuk róluk, hogy nem jelentősek. Fontos kemeln, hogy az EOB szmbólumokat csak a jelentős szmbólum után kell külden. A blokkvég jelzésére kétféle lehetőség adódk: Mnden -es után elküldjük bten a blokkvég jelzését (EOB bt), az EOB bteket akár ebben a btfolyamban, akár egy másk btfolyamban tároljuk. 4

48 A jelentős szmbólumra -est küldünk, ha van még más jelentős s a blokkban, -est, ha ő az utolsó így a letapogatás eredménye nem bnárs, hanem ternáls szmbólumsorozat lesz. Az előbb módszer mnden -es mellé hozzáad egy extra btet, az utóbb pedg ezt a két btet vonja össze és hoz létre így két szmbólumot az -es helyett. Például, a transzkódolás során a jelentőség küszöböt 4-re beállítva (a 4-nél ksebb ampltúdójú együttható nem jelentős) I(BBP) 6 képcsoport struktúrát használva annak a gyakorsága, hogy Vectra vdeóban az első jelentős koordnáta egyúttal az utolsó s a blokkban, I képre %, P képre 8 %, míg B képre 7%, vagys a blokkvég fgyelése mndenképpen előnyösnek tűnk A fontosság térkép gyakorságfüggő kódolása A fontosság térkép szmbólumsorozatának tömörítésére az entrópakódolóval kegészített futamhossz kódolás és az artmetka kódolás lehetőséget vzsgáltam meg. Futamhossz kódolás esetén a futam jelentése az azonos együtthatók sorozata. Futamhossz kódolás esetén a -k és -esek helyett a futamok hosszát kódoljuk, am akkor hatékony, ha a szomszédos értékek általában ugyanazok. Ezen módszer tömörítés arányát tovább lehet javítan a futamhossz értékek gyakorságfüggő kódolásával (pl. Huffman vagy artmetka kódolással). Ha használn kívánjuk a blokkvég jelzését, akkor mnden -es után el kell külden egy EOB btet s. Az EOB bteket futamhossz kódolás esetén célszerű egy külön btfolyamban kódoln, az EOB btfolyam kódolása történhet akár futamhossz, akár artmetka kódolóval. Az artmetka kódoló különösen ks szmbólumkészlet mellett hatékony. Mvel az artmetka kódoló egyúttal blokk kódoló és gyakorságfüggő kódoló, ezért alkalmas lehet a, lletve 3 szmbólumot tartalmazó szmbólumfolyam hatékony tömörítésére más kódolás módszerrel való kegészítés nélkül s. Természetesen az artmetka kódoló alkalmas a futamhossz értékek gyakorságfüggő kódolására s, ezért a méréseket úgy végeztem el, hogy a futamhossz kódoló bemenetére került a fontosság térkép szmbólumfolyama, a futamhossz kódoló kmenete pedg az artmetka kódoló bemenetére kapcsolódott Mérés eredmények és tapasztalatok a fontosság térkép kódolásánál A módszerek összehasonlítására a Vectra szekvenca 9 képét használtam I(BBP) 6 képcsoport struktúrával úgy, hogy a jelentőség küszöböt 4-re állítottam be, vagys a 4 és annál nagyobb ampltúdójú együtthatókat tekntettem jelentősnek. 4

49 Artmetka kódolás vzsgálata Először a futamhossz kódolás nélkül eseteket vzsgáltam meg, a lehetséges esetek: A letapogatás módja szernt: blokk vagy ckcakk alapú letapogatás EOB kódolás alkalmazása szernt: a) nncs EOB kódolás, csak a fontos/nem fontos btek bnárs folyamát kell kódoln b) fontosság térkép és EOB kódolás egy-egy bnárs folyamban c) a fontosság térkép kódolása EOB kódolással együtt ternáls folyamban Módszer betűjele Jelentőség btek kódolójának ABC mérete a EOB btek kódolójának ABC mérete Nncs EOB kódolás Kódolandó DCT együtthatatók száma Blokksorrend alapú letapogatás eredménye Ckcakk rendezés alapú letapogatás eredménye bt bt b bt 3478 bt c 3 (EOB kódolás s) = Nncs külön ABC bt 3478 bt 5. táblázat Fontosság térkép artmetka kódolóval kódolt szmbólumfolyamának mérete btben A mérés eredményeket a 5. táblázat tartalmazza. Megállapíthatjuk, hogy a blokk alapú letapogatás mnden esetben jelentősen hatékonyabb volt a ckcakk alapú letapogatásnál, hszen btszámban a nyereség 3-5%-os. Az EOB kódolás alkalmazása mndkét letapogatásnál jelentős, -3%-os nyereséget hozott. Érdekesség azonban, hogy az EOB kódolással az adaptív artmetka kódoló átlagosan.84, lletve.96 btet használt egy DCT együtthatóhoz tartozó szmbólum(ok)ra, míg EOB kódolás nélkül a gyakorságfüggő kódolás., lletve.4 bt/együttható volt, azonban ekkor sokkal nagyobb volt a letapogatott DCT együtthatók száma. Az EOB kódolás kétféle stratégája (összevontan, lletve két külön folyamba kódolás) között nem volt kmutatható jelentős különbség. A továbbakban a 3 szmbólumú módszert alkalmazom, mvel tt csak egyetlen artmetka kódolóra van szükség Futamhossz kódolás vzsgálata A következőkben a futamhossz kódolást alkalmazó eseteket vzsgáljuk meg és hasonlítjuk össze. A lehetséges varácók futamhossz kódolás használatával: a letapogatás módja: blokk vagy ckcakk alapú EOB kódolás alkalmazása a fontosság térkép futamhossz kódolása mellett: nncs EOB kódolás, csak a fontosság térkép bnárs folyamát kell futamhossz kódoln az EOB btek kódolása ugyanakkora szmbólumszámú futamhossz kódolóval az EOB bteket futamhossz kódoló nélkül, artmetka kódolóval kódoljuk 43

50 A futamhossz kódolásnál fel kell készüln nagyon hosszú futamok kódolására s, mközben a kódolandó szmbólumok számát rögzíten kell, amely jelentősen ksebb a lehetséges futamhossz értékek számánál. Ezt a problémát a gyakorlatban egy specáls, túlcsordulást jelző szmbólummal oldják meg. Másk lehetőség erre egy sokkal általánosabb módszer, a szmbólum-abc számának adaptív változtatása lehetne, amt szntén egy specáls szmbólum fenntartásával oldanak meg - amely jelentése tt a nncs-most-lyen-tegyük-be szmbólum -, ebben az esetben a kódolás bonyolultsága azonban jelentősen megnövekedne (új szmbólum felvétele, szmbólumkdobó algortmus a régóta nem használt szmbólumokra, stb). A két módszer között nncs különbség abból a szempontból, hogy mndkettő egy specáls szmbólumot, az ún. ESC (Escape) szmbólumot használ a kvételes helyzet kezelésére. A mérésem során a képfeldolgozásban alkalmazott eljárást, a túlcsordulás-szmbólum használatát alkalmaztam (például az MPEG--ben s ezt használják). Ekkor a kódoló N szmbólumot használ, mközben a futamhossz értékek a [..L) tartományba eshetnek, ahol N<L. Az ESC szmbólum matt a kódoló csak a [..N-) tartományba eső futamhossz értékeket képes ábrázoln egyetlen szmbólummal, a több futamhossz értéket az ESC szmbólum küldésével oldják meg. Ekkor vagy egy új szmbólum ABC-ből veszk a következő szmbólumot, amely ABC-ben már egyetlen szmbólummal le lehet írn a futamhossz értékét, vagy pedg N--gyel csökkentk a futamhossz értéket, és ekkor újra kódolják a kapott értéket az eredet szmbólum ABC-t használva. Például, új szmbólum ABC bevezetésével L = 4 =, N = 6 esetén a 5 futamhossz érték kódolása <ESC> (4) <> () lesz, míg az 5 futamhossz érték kódolásakor az <ESC> (4) <35> () szmbólumok jelennek meg a kmeneten (a zárójeles alsó ndex azt szmbolzálja, hogy az ESC szmbólum 4, a másodk szmbólum vszont bten van ábrázolva). Másodk esetben, vagys csak egyetlen szmbólum ABC-vel a két konkrét példára <ESC> (4) <> (4) és <ESC> (4) <ESC> (4) <ESC> (4) <5> (4) a kapott eredmény, vszont a futamhossz kódoló kmenetén csak egyetlen szmbólum ABC szmbóluma szerepelnek. Mvel a két szmbólum ABC használata két külön gyakorságfüggő kódolót követel meg, amely az artmetka kódoló esetén két külön puffert s gényel, ematt tt elvetettem ezt az esetet, és csak az egyetlen szmbólum ABC használatát vzsgáltam meg (az előző pontban az EOB kódolás esetén sem okozott javulást az egy folyamról a két külön folyamba kódolásra való áttérés). A 6. táblázat tartalmazza az de vonatkozó mérés eredményeket. Megállapíthatjuk, hogy a blokk alapú letapogatás tt s sokkal jobb eredményeket adott (kevesebb a btszám a kmeneten), mnt a ckcakk alapú (kvétel ez alól a táblázat jobb alsó sarka, de ez a rész a több paraméterek 44

51 hbájából nagyon rossz eredményeket tartalmaz). A futamhossz kódoló szmbólum ABCjének számára N=..6 adódott a legkedvezőbb értékeknek. Az EOB kódolás bevezetése tt s jelentős javulást eredményezett, az N=..6 tartományban a nyereség 3% körül van. Megállapítható továbbá, hogy ha az EOB kódolás esetében elhagyjuk a futamhossz kódolást, akkor így nemcsak az algortmus lesz egyszerűbb, hanem legalább %-os nyereséget s elkönyvelhetünk. Jelentőség bt kódoló ABC mérete (N) EOB bt kódolása szmbólummal Blokk alapú letapogatás Ckcakk alapú letapogatás EOB bt kódolása N szmbólummal Blokk alapú letapogatás Ckcakk alapú letapogatás Nncs EOB bt kódolás Blokk alapú letapogatás Ckcakk alapú letapogatás táblázat Fontosság térkép szmbólumfolyamának kódolt btszáma futamhossz kódolóval A legjobb eredményt (35 ezer bt körül btszám) tehát N=..6 értékre kaptam blokk alapú letapogatással, EOB kódolással, ahol az EOB bteket artmetka kódolóval kódoltuk futamhossz kódoló nélkül. Ezen a tartományon az EOB kódolás bevezetése kb. 3% nyereséget, az EOB kódolásnál a futamhossz kódoló elhagyása kcsvel több, mnt % nyereséget, a blokk alapú letapogatás választása a ckcakk letapogatás helyett pedg 7% körül nyereséget jelentett Az artmetka és futamhossz kódolás összehasonlítása Összevetve az artmetka kódolást a futamhossz kódolásos sémával, azt mondhatjuk, hogy a blokk alapú letapogatás és az EOB kódolás bevezetése adta k a legjobb eredményt. Futamhossz kódolás nélkül azonban 3-33 ezer bt adódott k ugyanerre a fontosság térkép kódolására, vagys a futamhossz kódolás bevezetése hátrányos mnd a kapott btszám, mnd a kódolás 45

52 komplextás növekedése matt. Ez az eredmény egyébként összhangban van az artmetka kódolónak tulajdonított azon kedvező tulajdonsággal, hogy a hbrd futamhossz és gyakorságfüggő kódolás helyett általában nagyon ks szmbólumszámú artmetka kódoló s használható a tömörítés hatékonyság elvesztése nélkül. A tovább mérésekhez ezek után a következő fontosság térkép kódoló algortmust használom: A kvantált együtthatók letapogatásának sorrendje blokk alapú. A nem fontos együtthatókat szmbólum jelz, a fontos együtthatók esetében jelz a blokkban lévő utolsó jelentős együtthatót, a nem utolsó jelentős együtthatót. A 3 szmbólumból álló folyam kódolása adaptív artmetka kódolóval történk. A teljesen üres blokkot a kódolt blokk mnta (CBP), lletve a makroblokk típusa jelz, ezért ezeket nem kell külön jelezn a fontosság térkép kódolásakor Az új rácskvantálás algortmusok alkalmazása Az új rács-ndexelő algortmus egyetlen egész számot rendel hozzá az m sugarú prams egy pontjához. Az alkalmazandó artmetka pontosságának legalább anny btesnek kell lenn, mnt amenny bt szükséges a legkülső, m max sugarú pramson lévő rácspontok számának megadására. A 7. táblázat tartalmazza 6 bttől 64 btg 8 btes lépésközzel az alkalmazott artmetka esetén elérhető legnagyobb prams sugarat az általános D 6 rácsra, valamnt a 6-D Barnes-Wall rácsra és annak szűkített, koordnátát nem tartalmazó változatára. Artmetka pontossága btben D 6 rács D Barnes-Wall rács D Barnes-Wall rács, nncs táblázat Adott btes artmetka pontossággal ábrázolható legnagyobb prams sugara A 7. táblázat alapján tehát például egy 4-es sugarú pramson fekvő rácspont a 6-D Barnes- Wall rácson már nem kódolható 3 btes artmetkával. Ematt a rácsot skálázn kell, vagys az eredet λ skálázó faktor helyett annak egy -nél nagyobb egész számú többszörösét, k λ-t kell alkalmazn skálázó faktorként, azaz a skálázó faktort s skálázn kell egy k egész számmal. A hbavektort, azaz az eredet vektor és az előzőleg kapott rácspont különbségét smét kódoln kell a λ skálázó faktor egész számú többszörösével, és ezt a műveletet addg kell smételn, amíg a skálázó faktor skálázó faktora, azaz k nem lesz. Ez az algortmus annyban módosítja a kódolás stratégát, hogy ha az első k érték nagyobb, mnt, akkor annak ellenére, hogy az együtthatók nem tartalmazhatnak -t λ skálázó faktorral, a k λ skálázó faktorral már tartalmazhatnak, tehát többszntű kvantálás esetén jelezn kell a dekódernek, hogy alkalmazzuk- 46

53 e a nem-nulla együtthatójú vektor kódolását. A többszntű kvantálás mnden szntje tartalmazhat értékű koordnátát, mközben egyetlen sznt esetén a nem-nulla értékekből álló vektort úgy kell kvantáln, hogy a kvantált vektor továbbra se tartalmazzon értékeket. A 7. táblázat alapján az s megállapítható, hogy például 3 bt artmetka pontossággal a 6-D Barnes-Wall rácson csak legfeljebb sugarú prams ndexelhető, míg a sarokpontokat kzárva a legkülső prams sugara már 8 lesz, am egy újabb gazolása a nem-nulla komponensű vektorok kódolásának fontosságára. Az előző fejezetben bemutatott új kvantáló és ndexelés algortmusok rövden összefoglalva a következő bemenő adatokat használják, lletve használhatják:. Rácsvektor egy prams felszínén: a bemenő vektorhoz a kvantáló hozzárendel a hozzá legközelebb rácspontot, lletve a hozzá legközelebb rácspontok egykét, és az ndexelő algortmus ennek az ndexét írja k a kmenetre.. A kvantálandó vektor pramsának sugara: a prams alapú ndexelés matt ezt s kódoln kell, sőt többszntű kvantálás esetén mnden sznthez tartozk egy sugár. 3. Többszntű kvantálás esetén a rács skálázó tényezője: Ez azt adja meg, hogy mennyvel kell skálázn a rácsot, hogy az adott sznten a nagy energájú vektor s beleférjen az ábrázolható tartományba. Többszntű kvantálás esetén mnden sznthez tartozk egy skálázó tényező. Ezt a módszert azért használjuk, mert elképzelhető olyan vektor, amely kívül esk a legkülső pramson s (hasonló okból használ kétszntű rácskvantálót [6]). 4. Prams sarkának jelzése, lletve khasználása: ha azt az új kvantálás algortmust használjuk, amely olyan rácspontot ad k, amelyben nncs értékű együttható, akkor ezeket nem az általános, hanem a nem-nulla koordnátájú ndexelő algortmussal célszerű kódoln, mert az kevesebb btet gényel. Amennyben mplementáljuk a prams belső pontjanak ndexelő algortmusát, akkor azt célszerű lehet használn akkor s, ha a értékű együttható megengedett - ekkor azonban jelezn kell egy bttel, hogy a rácspont belső pont-e vagy pedg sarokpont. 5. Szélsőértékek (mnmum, maxmum) mnden koordnátára: Azt feltételezzük, hogy a kvantálás eredményeképen kapott jel szélsőértékenek smeretében kevesebb bt szükséges a rácsvektor kódolásához. Többszntű kvantálás első szntjén a szélsőértékek a 8*8-as blokkon belül azonos ckcakk-pozícóban lévő koordnáták mnmuma és maxmuma, így egy színkomponensre képtípustól függően 63 vagy 64 szélsőérték-pár van, ezeket el kell külden, am növel a btsebességet. Többszntű kvantálás tovább szntjen a szélsőérték az előző sznt skálatényezőjének megfelelő legnagyobb ampltúdó hba, úgyhogy ezt már nem kell elkülden, így nem növel meg a btsebességet. Ezeknek a bemenő adatoknak a kódolása különböző módon történhet attól függően, hogy a fent adatok közül melyket használjuk k. Az.-3. nformácók nylvánvalóan kötelezőek, a több opconáls. 47

54 A következőkben a prams-sarok (olyan vektor, amelyben van értékű komponens) jelzőbtek és a szélsőérték nformácónak a hatását vzsgálom meg. A szélsőérték nformácó különböző módon kezelhető, ezen módszerek közül a következőket választottam k és hasonlítottam össze: -es ndexelés algortmus: nncs szélsőérték nformácó, de van prams-sarok jelzés Nem küldünk szélsőérték nformácót, de ahol lehet, ott használjuk a szélsőértékeket (pl. többszntű kvantálás esetén a felsőbb sznteken). Használjuk továbbá a prams sarok jelzését, lletve a nem-sarokpontok (belső pontok) ndexelő algortmusát. -es ndexelés algortmus: szmmetrkus szélsőérték-nformácó Csak az abszolút értékek maxmumát küldjük el szélsőérték nformácóként, és többszntű kvantálás esetén a felsőbb sznteken s használjuk a skálázó tényezőből származó szélsőértékeket. Használjuk továbbá a pramssarok jelzését, lletve a belső pontok ndexelő algortmusát. 3-es ndexelés algortmus: teljes szélsőérték-nformácó A mnmumot és a maxmumot s elküldjük, és többszntű kvantálás esetén a felsőbb sznteken s használjuk a skálázó tényezőből származó szélsőértékeket. Használjuk továbbá a prams élének jelzését, lletve a belső pontok ndexelő algortmusát. 4-es ndexelés algortmus: mnmáls melléknformácó Egyáltalán nem használjuk a szélsőértéket, még többszntű kvantálás esetén a felsőbb sznteken sem. Ugyanígy nem használjuk a prams élének jelzését, lletve a belső pontok ndexelő algortmusát. Ez a módszer kzárólag az eddg rodalm eredményeken alapul, így referencát ad, hogy az új módszerek mennyben adnak javulást. Meg kell még említen, hogy tt csak a kötelező melléknformácót kell elkülden. A lényeges különbség az -eshez képest, hogy tt a pramssarkokat nem használjuk k, azonban így megtakarítjuk az prams-él jelzőbteket. A szélsőérték nformácó azonban nemcsak az ndexelés algortmusra, hanem a fontosságtérkép kódolására s hatással van, ezért két fontosság térkép kódolást kell megvzsgáln: I-es fontosság-térkép kódolás: Ha egy ckcakk-pozícóban a mnmum és a maxmum s, akkor nylvánvalóan csak értékek vannak a fontosság-térképen, ezért ezt a pozícót nem kell fgyelembe venn a fontosság-térkép kódolásakor. II-es fontosság-térkép kódolás: Ha egy ckcakk-pozícóban csak van a fontosság-térképen, akkor a maxmum és a mnmum bztosan, tehát nem kell ezeket elkülden. Az első esetben tehát a fontosság-térkép kódolását meg kell előzne a szélsőértékek kódolásának, és ha a szélsőérték nformácót nem használjuk, akkor e helyett egy jelzőbtet kell külden mnden egyes ckcakk-pozícóra, amely jelzőbt jelz, hogy a ckcakk-pozícóban van-e fontos együttható. A másodk esetben a fontosság-térkép kódolásának a szélsőértékek kódolása 48

55 előtt kell megtörténne, és ha nncs szélsőérték nformácó, akkor nem kell a ckcakk-pozícót kódoln. Az 8. táblázat foglalja össze a fent módszerek kombnácójával kapott kmenet adatokat. A táblázatban az azonos adatokat azonos címkével jelöltem, így egyszerűbb összehasonlítan a különböző módszereket. A táblázatban szereplő jelölések az alábbak: FTB - fontosság-térkép btek: FTB : Nem tartalmazzák azokat a ckcakk-pozícókat, ahol a ckcakk-pozícók btek alapján vagy pedg a szélsőérték nformácó alapján mnden együttható FTB : Mnden ckcakk-pozícóban megvzsgálja a megmaradt együtthatókat. Mvel mnden fontos együtthatóra egy EOB (blokk vége) nformácót s elküldünk, ezért az utolsó ckcakk-pozícóban a megmaradt együtthatók száma már gen kevés s lehet. CPB - ckcakk pozícó btek: Csak a I-es fontosság térkép kódolásánál kell elkülden, és ebben az esetben s csak akkor, ha nncs szélsőérték nformácó. Szélsőérték nformácó: MaxAbs : Egy ckcakk-pozícóhoz az ottan kvantálás után együtthatók abszolút értékének maxmumát küld el. MnMax : Egy ckcakk-pozícóhoz az ottan kvantálás után együtthatók mnmumát és maxmumát küld el. MaxAbs : Mnt MaxAbs, de nem küld el a -t tartalmazó ckcakk-pozícókat, mert ezeket a fontosság-térképből k lehet találn. MnMax : Mnt MnMax, de nem küld el a két -t tartalmazó ckcakk-pozícókat, mert ezeket a fontosság-térképből k lehet találn. Fontosság térkép kódoló Prams ndexelő algortmus Fontosságtérkép btek Ckcakk pozícó btek Szélsőérték nformácó Index btek Sarok jelzőbt -es FTB CPB - IB SJB I-es -es FTB - MaxAbs IB SJB 3-as FTB - MnMax IB 3 SJB 4-es FTB CPB - IB 4 - -es FTB - - IB SJB II-es -es FTB - MaxAbs IB SJB 3-as FTB - MnMax IB 3 SJB 4-es FTB - - IB 4-8. táblázat Az ndexelő és a fontosság-térkép kódoló algortmusok hbrdje és az általuk küldött és használt nformácók 49

56 4.3.. Mérés eredmények és tapasztalatok A fent módszereket a Vectra képsorozat első 5 képére teszteltem IP és IBBPBBPBBPBBP képcsoportokra, a két képcsoportra kapott eredményeket Q =, 4 és 8 újrakvantálás tényezővel az alább két táblázat mutatja be (9. táblázat,. táblázat). A következő mérésekben nem zárom k a prams élet, ennek hatását majd egy másk méréssorozatban vzsgálom meg. A teljes btszámhoz még hozzá kell adn az MPEG- btfolyam tovább, változatlanul hagyott részét s (mozgásvektorok, DC különbég btek és egyéb segédnformácók). Q Módszer Összes bt FTB IB CPB Max() Mn() SJB I/ I/ I/ I/ II/ II/ II/ II/ I/ I/ I/ I/ II/ II/ II/ II/ I/ I/ I/ I/ II/ II/ II/ II/ táblázat A vzsgált algortmusok által kadott btek száma GOP=IP és Q=,4,8 mellett Egy táblázaton belül a különböző módszerek ugyanazon az együtthatóhalmazon dolgoznak, így ugyanaz a torzítás s, tehát összemérhetőek, és az a legjobb módszer, amely az összes btszám szernt a legkevesebb btet adja k. A két táblázat alapján megállapítható, hogy az I-es fontosságtérkép kódolás majdnem mnden esetben hatékonyabb, mnt a II-es, de lényegesen nagy különbség nncs a két eredmény között a teljes btszámhoz vszonyítva. Az ndexelés algortmusok közül pedg a durva újrakvantálású IP képcsoport struktúra esetén a -es módszer, egyébként pedg az -es módszer a legjobb. Megállapítható továbbá, hogy az 5

57 eddg eredményeket képvselő 4-es ndexelés algortmust az új módszerek már jelentősen felülmúlják. A nyereség 3.. kbt a Vectra másodperces részére (5 kép). A legjobb ndexelés algortmus nyeresége pedg százalékban kfejezve 4-6%, mvel a 4-es módszer btszámának 94%-96%-a. Q Módszer Összes bt FTB IB CPB Max() Mn() SJB I/ I/ I/ I/ II/ II/ II/ II/ I/ I/ I/ I/ II/ II/ II/ II/ I/ I/ I/ I/ II/ II/ II/ II/ táblázat Az algortmusok által kadott btszám GOP=IBBPBBPBBPBBP és Q=,4,8 mellett Az ndex bteket összehasonlítva megállapíthatjuk, hogy mnél több szélsőérték nformácót használunk fel, annál kevesebb lesz az ndex btek száma. Az összes btszámot tekntve vszont az s megállapítható, hogy az ndex btek számának csökkenését sajnos ellensúlyozza a szélsőérték nformácó btszámának növekedése. A -es módszer, ahol ckcakk-pozícónként csak egy értéket vszünk át, még képes versenyt tartan a szélsőértéket nem használó -es módszerrel, de a 3-as módszer, ahol a maxmumot és a mnmumot s átvsszük, már nem tudja az ndex btek csökkenésével ellensúlyozn a szélsőérték btek számának növelését. Ennek magyarázatát már a 35. oldalon a 3.9 fejezetben megadtam: a koordnátalmttel való ndexeléshez használt táblázat kszámításánál azokban a koordnátákban, ahol a Reed-Muller bnárs kódban -es található, valójában a mnmum és maxmum korlátok nagyobbkát vesszük fgyelembe, tehát tt a két átvtt érték helyett valójában csak -et használunk. 5

58 4.3.. A térbel és a prams alapú kódolás összehasonlítása A fent méréssorozatokban a rácskvantálásra prams alapú kódolást alkalmaztam, azaz a kódoló az x rácsvektor kódolásakor meghatározza az x rácsvektor pramsát (vagys x-nek az L normáját), majd kódolja a prams sugarát (am szntén az x L normája), valamnt a pramson belül ndexet. A sugár értékeket az rodalomból s smert módon gyakorságfüggő kódolással kódoltam tovább (hasonlóan például a [] ckk kódolójához), a prams ndex bteket pedg tovább kódolás nélkül tároltam le. A prams alapú kódolás tehát egyaránt tartalmaz gyakorságfüggő kódolást és vektor alapú ndexelést s. A prams felületén való kódolás helyett az rodalomból smert még a térbel (térfogaton belül) kódolás s, ahol az összes lehetséges rácsvektorból kell az ndex bt segítségével kválasztan a megfelelőt. Ilyen például a hperprams (vagy a hpergömb) alapú korlátozás. Mvel a prams sugár értéke maxmalzált - ráadásul ez alapján kell a többszntű vektorkvantálásnál a skálázó tényezőt megválasztan -, így a rácsvektorok száma véges érték. Ha R max jelöl a legnagyobb prams-sugarat, és N(R) pedg a rácspontok számát az R sugarú pramson, akkor a térbel max kódolásnál a rácspontok száma a pramsok elemszámának az összege, vagys N ( R) térbel kódolás tehát tsztán vektor alapú ndexelés, és nem tartalmaz gyakorságfüggő kódolást. Az rodalomból smert harmadk stratéga a skalár együtthatók gyakorságfüggő (például Huffman vagy artmetka) kódolása [4]. Ekkor a korlátozás nem a vektoroknál, hanem skalár értékeknél történk, amely korlát a szmbólum ABC mérete. Ennek a módszernek az előnye, hogy mndenhol gyakorságfüggő kódolást alkalmaz, hátránya vszont az, hogy nem vesz fgyelembe a rácspontok több dmenzós tulajdonságát, vagys lehetséges a legnagyobb sugarú pramson túl vektorokat s leírn, lletve a kockarács kvételével llegáls vektorok leírására s van mód. Természetesen a kódolás során ezek a szmbólumsorozatok nem fognak előforduln. λ Térbel ndex btek Huffman btek Prams alapú kódolás btje (ndex+sugár) Prams alapú kódolás nyeresége 5 Prams ndex btek Sugár az. sznten R R= Sugár a több sznten % % % % % % % % % % táblázat A prams alapú, a térbel és a Huffman kódolás összehasonlítása rácsvektorok ndexelés algortmusaként különböző λ újrakvantálás tényezőkkel. A

59 A kapott eredményeket a. táblázat tartalmazza. Látható, hogy mnden esetben a prams alapú kódolás volt a leghatékonyabb, és λ= kvételével a Huffman kódolás volt a legkevésbé eredményes. A prams alapú kódolás nyeresége a másk kettő legjobbjához képest λ= esetében alg 7% volt, de λ -nél már 5 % felett, am λ növekedésével fokozatosan növekedett A jelentőség-küszöb és a nem-nulla koordnátájú vektorok kérdése Eddg mérésekben azt az együtthatót tekntettem jelentősnek, amely ampltúdója legalább elér a λ újrakvantálás lépésközt, vagys x λ, ahol x jelöl az együttható értékét. Ezt a lépést még a vektorkvantálás előtt teszem meg, és ennek fgyelembe vételével végzem el a jelentőség térkép kódolását s. Továbbá, a vektorkvantálásra s két lehetőség adott, az egykben kzárom a prams élen lévő pontokat (vagys nem lehet a vektor egyetlen koordnátája sem ), lletve megengedem azokat. Az eddg mérésekben ez utóbbt tettem. Az előzőleg smertetett mérésemben csak a szóba jöhető veszteségmentes tömörítés algortmusokat hasonlítottam össze, hszen adott kvantáló beállításnál ugyanazok az együtthatók keletkeztek, tehát a torzítás mnden esetben ugyanaz volt, így a módszerek összehasonlítására elegendő volt a kapott btszámok összehasonlítása. Most vszont mnd a jelentőség-küszöb változtatása, mnd pedg a prams sarkok megengedése, lletve tltása más-más együtthatókat eredményez, tehát nem a btszámokat kell összehasonlítan, hanem a btsebesség-torzítás függvényeket kell összevetn és értékeln. A jelenleg vzsgálódás a ks ampltúdójú együtthatók kvantálásakor fellépő torzítással kapcsolatos, ezért a Vectra képsorozatra a vdeókódolót úgy állítottam be, hogy sok legyen a mozgásbecslés, és így az együtthatók döntően kcsk lesznek. Továbbra s az IBBPBBPBBPBBP képcsoport struktúrát vzsgálom 4 MBt/s eredet btsebesség mellett, és a torzítást PSNR-ben (Peak Sgnal to Nose Rato) mérem. A PSNR egy olyan torzítás krtérum, amely az eredet f(x,y) és a kódolt g(x,y) képek azonos pozícóban lévő képpontja között átlagos négyzetes hbából (MSE Mean Squared Error) számítható az alábbak szernt [76]: ahol PSNR = log 55 MSE (4.) MSE = Y X y= x= ( f ( x, y) g( x, y) ) X Y (4.) 53

60 Ha a kódoló belső pontra kvantál egy egyszntű kvantálóval úgy, hogy a együtthatókat kzárja, akkor ez bzonyos esetekben nagyobb torzítást ad, mntha engedélyeznénk a sarokpontokat s. Ekkor azonban bztosan nem kell elkülden a prams-sarok jelzőbtet, és a prams belső pontjára alkalmazható ndexelés algortmus használható, am ksebb btszámot generál, mnt az általános pramsra történő ndexelés. Azt, hogy a torzítás növekedését ellensúlyozza-e a btszám csökkenése, a következő két pontban vzsgálom meg A jelentőség-küszöb nem-nulla együtthatókra való kvantálással A prams belső rácspontjanak ndexelésére az -es ndexelés algortmust használom. Itt anny nyereséget könyvelhetünk el, hogy a prams-él jelzőbtet nem kell elkülden akkor, ha egyszntű vektorkvantálót használunk. A méréssorozat és 9 között újrakvantálás tényezővel készült, és a kapott btssebesség-torzítás dagramot a 3. ábra mutatja be. Ezekben a mérésekben a jelentőség-küszöb értékét és között vzsgáltam meg,5-ös lépésközzel. Az ábra jobb oldalán a 3-34 db tartományban láthatjuk a kapott görbéket fnomabb felbontásban. A görbéket a mérés pontok között lneárs nterpolácóval rajzoltam fel. Az ábrák alapján az állapítható meg, hogy belső pontra való kvantálással a legkedvezőbb arányszám az.5 és.5, e két paraméterrel kapott PSNR értékek jól láthatóan, néhány tzed db-lel meghaladják az.75 és értékkel kapott eredményeket, és az értékhez tartozó görbét már jelentősen, fél db-lel többel s túlszárnyalják A jelentőség-küszöb a nulla együtthatókat engedélyező kvantálással Ebben a pontban azt vzsgálom meg, hogy a jelentőség-küszöböt hogyan érdemes beállítan, ha engedélyezzük a prams sarokpontokat s. Ebben az esetben s az -es ndexelés algortmust érdemes használn, mert a prams-sarok jelzőbtek küldésének btsebesség növelő hatását ellensúlyozza a belső pontok ndexelés algortmusának btsebesség csökkentő hatása. A 4. ábra a kapott PSNR értékeket mutatják be a btszám függvényében, és 9 között újrakvantálás tényezők mellett. Ezekben a méréssorozatokban a jelentőség-küszöb értékét,5 és között vzsgáltam meg,5-ös lépésközzel - az alsó érték azért ksebb, mnt az előző esetben, mert tt az körül adódott k a legkedvezőbb értéknek. Az ábra jobb oldalán a 3-35 db tartomány látható fnomabb felbontáson, ahol már mnden görbe szerepel, ráadásul a görbék olyan közelek, hogy a durvább felbontáson nehezebben különböztethetőek meg. 54

61 PSNR (db) PSNR (db) Btek száma (kbt-ben) Btek száma (kbt-ben) 3. ábra Btsebesség-torzítás görbék a jelentőség küszöb különböző értékere nem-nulla együtthatójú vektorra kvantálással PSNR (db) Btek száma (kbt-ben) 34 PSNR 33 (db) Btek száma (kbt-ben) 4. ábra Btsebesség-torzítás görbék a jelentőség küszöb különböző értékere a nulla együtthatót engedélyező kvantálással 55

62 A jelentőség küszöb vzsgálat eredményenek értékelése A 3. ábra és 4. ábra btsebesség-torzítás görbét közös koordnátarendszerbe rajzolva összehasonlítható az előző két pontban említett módszer, és az a módszer az előnyösebb, amelyk ugyanolyan btsebességre nagyobb PSNR értéket ad. Ezt az összehasonlítást a 5. ábra mutatja be. PSNR (db) Mnden prams pont / Nem-nulla koordnátájú pontok /,5 Nem-nulla koordnátájú pontok /, Btek száma (kbt-ben) 5. ábra A sarokpontokat kzáró és engedélyező kvantálások összehasonlítása a hozzájuk tartozó optmáls jelentőség küszöb értékek mellett A 5. ábra alapján egy összehasonlító táblázatban s szerepel a két módszer között különbség. Itt a mérés pontok között lneárs nterpolácóval kszámított torzítás értékek láthatóak 9 btsebességen kszámolva. A 5. ábra és a. táblázat alapján megállapítható, hogy ha mnden prams pontra kódolunk, akkor ez a tesztadaton körülbelül,3-,5 db-ny mnőségjavulást eredményez a legjobb nem-nulla koordnátájú kvantáláshoz képest. Méret Lneársan nterpolált PSNR értékek (db) (kbt) Belső pontok /,5 Belső pontok /,5 Mnden prams pont táblázat A sarokpontokat kzáró és engedélyező kvantálások összehasonlítása 56

63 4.5. A véglegesített transzkóder algortmus A mérés eredmények alapján a transzkóder végső tesztelésére a következő algortmust választottam és használtam: Κvantálás: Többszntű kvantálás, egyetlen sznt esetén a együtthatók s engedélyezettek A jelentőség küszöb, azaz jelentős az az együttható, amelyre ampltúdó újrakvantálás lépésköz 6 dmenzós Barnes-Wall rács a többszntű vektorkvantáló mnden szntjén Mnden sznthez elküldjük az alább nformácókat: A prams sugara: adaptív artmetka kódolóval kódolva. Prams ndex btek: nncs tovább kódolás, egész btre kerekítve írjuk k. Skálázó faktor (ha, akkor nncs tovább sznt), adaptív artmetka kódolással. Sarok jelzése jelzőbttel: szntén adaptív artmetka kódolóval kódolva. Felsőbb sznteken szélsőérték használata az előző sznt skálázó faktora alapján. Ιndexelés algortmus: -es ndexelés algortmus, vagys az adott prams sugár mellett a sarok jelzőbttől függően vagy belső rácspontra, vagy általános rácspontra ndexelünk. Fontosság térkép kódoló algortmus: 3 szmbólum, artmetka kódolóval kódolva. Αz MPEG btfolyamból csak az AC együtthatókat vesszük k. Αz MPEG btfolyamban a blokk mntája (Coded Block Pattern) változhat. Αz MPEG btfolyamban makroblokkok válhatnak üressé Az új transzkóder összehasonlítása hagyományos MPEG- transzkóderrel Az új transzkóder paraméterenek meghatározásához a CIF formátumú (35*88) Vectra szekvencát használtam, ahogy ezt a fejezetben többször s említettem. Az ellenőrzésre ezért négy másk szekvencát, az ún. Costgrls (CIF, 47 kép), Mss Amerca (CIF, kép), Moble (a Moble and Calendar 74*576-ról kcsnyített CIF, kép) szekvencákat, valamnt az eredet méretű Moble képsorozat közepét (CIF, kép) használtam (33. ábra-36. ábra, oldal). A transzkódolandó MPEG- btfolyam 4 Mbt/s btsebességű volt, amely nem szabványos érték, de ettől eltekntve a btfolyam szntaxsa megfelelt az MPEG- szabványnak. A mérésekhez hatféle képcsoport struktúrát választottam k, ezek az I (amely csak állóképeket tartalmaz), IP, IPPPP, IBP, IBBPBBPBBP és IBBPBBPBBPBBPBBPBBP felépítésűek voltak. A mérések során a rácskvantáló alapú transzkóderben a makroblokk skálázó faktort (MQUANT) széles határok között változtattam, a kapott btszám-torzítások párokat pedg dagramon ábrázoltam LVQ hvatkozással. Összehasonlításképpen elkészült ugyanezen szekvencák MPEG- 57

64 kompatbls transzkódolása s. Ezeket az eredményeket szntén ábrázoltam MPEG hvatkozással. A mérés eredmények a függelékben találhatóak (37. ábra-6. ábra, oldal). A torzítást PSNR-ben számítottam k a (4.) és a (4.) formula szernt. Mvel transzkódolás esetén az eredet, MPEG- tömörítés előtt vdeó már nem áll rendelkezésre, ezért a referenca (az f(x,y) függvény (4.)-ben) a transzkódolás előtt 4 Mbt/s-os MPEG vdeó volt. Az LVQ alapú transzkóder által készített btfolyam azonos btsebességen jobb PSNR értékkel rendelkezett, mnt az MPEG szabványnak megfelelően dolgozó transzkóder. Egyetlen kvétel ez alól a Moble képsorozat közepe GOP=I esetén a 7..9 kbt tartományban. Az LVQ alapú transzkóder hatékonysága főleg a több mozgáskompenzácót tartalmazó GOP esetén volt megfgyelhető, valamnt a magasabb btsebesség tartományban. Az előbb jelenség magyarázata az, hogy a mozgásbecslés hbája zajszerű jel, és erre jobban alkalmazható a rácskvantálás, az utóbbé pedg az, hogy ks btsebesség mellett az MPEG btfolyam változatlanul hagyott része (mozgásvektorok és más járulékos nformácók) válk domnánssá. A GOP=I-t kvéve a PSNR értékek tpkusan.5db-db-vel jobbak, am jelentős mnőségjavulás. A Costgrls szekvencára 5 darab P kép/gop esetében a PSNR érték több, mnt db-t s javult, am nagyon jelentős eredmény. Ezek az eredmények azt mutatják, hogy főleg zajszerű jel esetén hatékony a rácskvantálás, hszen ha összehasonlítjuk az MPEG transzkóder adatat a különböző képsorozatokra, akkor fgyelembe véve a képek számát azt kapjuk, hogy a legnehezebben tömöríthető képsorozat éppen a Costgrls Összefoglalás Ebben a fejezetben azt mutattam meg, hogy a 3. fejezetben smertetett új rácskvantáló ndexelő, kódoló és elemszámítás algortmusokkal létrehozott rácskvantálóval az MPEG- vdeó AC együtthatót kódolva a hagyományos skalár kvantálóra és entrópakódolóra épülő sémánál jobb eredményt lehet elérn. Az tt smertetésre került új algortmus a megfelelő hperpramson kódolja a vektorokat, és amennyben a rácsot léptékeln kell a túl nagy prams sugár matt, úgy a rendszer többszntű kvantálás üzemmódban kódolja tovább az előző sznt hbajelét. A kapott prams sugarakat, lletve az egyéb skalár nformácókat entrópakódolással s tömörítem, így a rendszer a rácskvantáló ndex bteket kvéve egy entrópakódolt vektorkvantáló. A mérés eredmények azt mutatták, hogy az új transzkóder bzonyos eseteket kvéve - lényegesen jobb kódolás mnőséget eredményez a hagyományos skalár kvantáló alapú transzkóderekhez képest, lletve azonos mnőséghez ksebb btsebesség tartozk. 58

65 5. A beszéd lneárs predkcós kódolása Ez a fejezet a beszéd lneárs predkcós kódolásának (LPC Lnear Predctve Codng) alapjat mutatja be, azon belül s a lneárs predkcós spektrum kódolását mnd a már szabványos rendszerekben, mnd pedg a még kutatás fázsban lévő tudományos eredményekben. A fejezet első részében a lneárs predkcós beszédkódolás alapjaról lesz szó, benne az LPC együtthatók különféle ábrázolás módjaról. Ezután az LPC együtthatók kódolásának eddg smert eljárásat mutatom be mnd a szabványos rendszerekben, mnd pedg a kutatás eredményekben, főleg az LPC együtthatók jelenleg legjobbnak tekntett és legnkább használt reprezentácójának, az LSF együtthatóknak a kódolására koncentrálva. 5.. Beszédkódolás stratégák A beszédkódolás sémák általában három nagy részre oszlanak, a hullámforma kódolókra, a vokóderekre és a hbrd kódolókra. A beszédjelet ksebb mntavétel frekvencán mntavételezk, hagyományosan 8 khz-en, ez a mobl- lletve vezetékes telefonos sávszélességhez köthető. A nem telefonos rendszerekben más mntavétel frekvencát s alkalmaznak, például az MPEG-- ben és MPEG-4-ben 6 khz-et s alkalmazzák, lletve rtkábban a 44. khz-ből származó 5 Hz-es mntavétel frekvenca s használatos. Az egyszerűbb hullámforma kódolók PCM és DPCM alapon működnek, bonyolultabb esetben már általános audókódolók s alkalmazhatóak. A vokóderek családjába a frekvencatartománybel és dőtartománybel vokóderek tartoznak. A frekvencatartománybel vokóderek közül a formáns, csatorna [4] és fázs vokódereket [4] említhetjük meg. Az dőtartománybel vokóderek közül az LPC forráskódolót emelhetjük k, amt majd a következő 5. pont részletesen s bemutat. A hbrd kódolókban egyaránt megjelennek a vokóderek és a hullámforma kódolók tpkus eszköze. A vokóder eszközkészletből főleg a lneárs predkcót alkalmazzák a jel spektráls burkolójának leírására, de használják az mpulzussorozatos és zajszerű gerjesztőjelet s. A hullámforma kódolásból pedg olyan smert eszközök jelennek meg a hbrd kódolókban, mnt a transzformácós kódolás és ezen belül s a részsávos kódolás, vagy pedg az alulmntavételezés. A beszédkódolás területén a frekvencatartománybel hbrd kódolók között említk a részsávos kódolást és a transzformácós kódolást, ezek azonban nkább általános hangkódolás eljárások. Részsávos kódolással kombnált LPC vokóder esetében a beszédjelből származó predkcós hbát részsávokra bontják, és mnden részsávon külön-külön végzk el a zöngés-zöngétlen döntést, amvel a gerjesztőjel hatékonyabban ábrázolható (MBE Mult Band Exctaton [8]). 59

66 Az dőtartománybel hbrd kódolók között elsősorban két termnológát kell kemeln, az egyk a szntézs által analízs (AbS - Analyss by Synthess) technka, a másk pedg az LPC kódolás egy másféle elnevezése, a rövdtávú lneárs predkcós (STP Short Term Predcton) kódolás. A STP mellett létezk egy másk, szntén lneárs predkcós kódolás, a hosszútávú predkcó (LTP Long Term Predcton). A STP rövden azt jelent, hogy a következő mntát a P előző mntából becsüljük, míg az LTP azt jelent, hogy a jelnek egy nagyobb, több egymást követő mntából álló részét becsüljük meg a múltbel dekódolt jel egy azonos hosszúságú részével (például a már említett MPEG- vdeókódolókban használt makroblokk alapú mozgásbecslés s egy kétdmenzós LTP-nek teknthető) [4]. Az AbS esetén a kódoló a döntéshez bonyolult, az összes esetre nem alkalmazható krtérumot használ, például a döntés a lehetséges esetekből szntetzált beszédkeretek közül a négyzetes hba értelmében legjobbra esk. Ezért a kódolóban a lehetséges esetek közül valamlyen egyszerűbb krtérummal kválasztanak néhány jó megoldást, és ezeken elvégzk a teljes szntézst, és a szntetzált keretek legjobbkának megfelelő esetre döntenek. A fejezet tovább részében először az LPC kódolás részletet, végül pedg a szabványokban és a szakrodalomban megtalálható LPC együtthatókra vonatkozó kódolás stratégákat mutatom be. 5.. Az LPC alapú beszédkódolás Az LPC beszédmodell alapjat Fant dolgozta k [43]. Ebben a modellben a beszéd egy gerjesztőjellel meghajtott szűrőrendszer kmenetén jelenk meg (6. ábra). Álvéletlen zajgenerátor Impulzussorozat generátor Hangrés Vokáls traktus 6 Spektrum korrekcó Ajaknyílás Szntetzált beszéd 6. ábra Fant beszédszntézs modellje A gerjesztőjel zöngés hang esetében perodkus mpulzussorozat, zöngétlen hang esetén pedg zaj. A gerjesztőjel a hangrésen, majd a vokáls traktuson, végül pedg az ajaknyíláson halad át, ezeket különböző szűrők modellezk. A hangrés modellje egy kétpólusú aluláteresztő szűrő. A vokáls traktust egy csak pólussal rendelkező átvtel függvény jellemz, amely néhány kétpólusú rezonátor kaszkádba kötéséből származk. A vokáls traktust modellező szűrőt egy spektrumkorrekcó követ, amely a pólusok ksfrekvencás zavaró hatását kompenzálja. Végezetül az ajaknyílást L(z)=-z - átvtel függvénnyel modellezzük. A később modellekben a spektrumkorrekcó kmarad, lletve az ajaknyílás zérusától s eltekntünk, ez utóbbt szokás azzal magyarázn, hogy a vokáls traktus szűréjének egyk pólusával esk egybe, ezért tűnk el

67 mndkettő. Ezekkel az egyszerűsítésekkel a beszédmodellben a szűrőt egy csak pólussal rendelkező átvtel függvény jellemz. A lneárs predkcó ezen a ponton kapcsolódk be a beszédkódolásba, ugyans a lneárs predkcós dekódolás egy olyan szűrővel való szűrésnek felel meg, amely szűrő átvtel függvénye csak pólussal rendelkezk. Jelölje az LPC dekódolás során a t-edk dőpllanatban már dekódolt mntát s[t], a predkcós hbajelet pedg e[t], a predktor együtthatót pedg a, ahol =..P, ahol P a predkcó rendje. Ezzel a jelöléssel s P [] t = e t] + a s[ t ] [ (5.) = Tekntsük a fent összefüggésben e[t]-t a bemenő, s[t]-t pedg a kmenő jelnek, ekkor a szűrő H(z) átvtel karaktersztkája az alábbak szernt írható le: H ( z) = P = a z = A( z) Látható, hogy a H(z) szűrő csak pólussal rendelkezk, ezért H(z) a módosított Fant beszédszntézs modellben használható szntézsszűrőként. A szntézs szűrő kódoló oldal párja az A(z) analízsszűrő, amely a következőként adható meg: A ( z) = = (5.) P a z (5.3) A lneárs predkcós kódolás szernt módosított Fant beszédmodellt a 7. ábra mutatja be. Álvéletlen zajgenerátor Impulzussorozat generátor Peródusdő Erősítés e[t] Szntézs szűrő H(z) s[t] LPC együtthatók Szntetzált beszéd 7. ábra LPC beszédkódolás dekódere Az LPC beszédkódolásban a szntézs szűrő LPC együtthatót a kódoló állítja elő és kvantálás után küld el a dekódernek, ezen felül az e[t] gerjesztőjel valamlyen parametrkus leírását s elküld a dekódernek. A klasszkusnak számító LPC-E algortmusban [8] 6 mntás keretre a peródusdő és az erősítés kódolt értékét küldk el 6-6 bten, valamnt a darab LPC együtthatót skalár kvantálókkal kódolják 36 bten, a teljes rendszer btsebessége így.4 kbt/sec (48 bt/keret). Ha a peródusdő kódolt értéke, akkor a hang zöngétlen és a gerjesztő jelet a zajgenerátor adja k, zöngés esetben vszont az mpulzus generátor adja a gerjesztő jelet, és a peródusdő kódolt értéke alapján egy táblázatból veszk k, hogy az mpulzus sorozatok távolsága hány mnta. 6

68 Az újabb LPC alapú forráskódolókban mnd a gerjesztőjel, mnd pedg az LPC szűrő kódolása és ábrázolása terén vezettek be újdonságokat. A továbbakban az LPC együtthatók meghatározását és kódolását fogjuk megsmern ebben a fejezetben, a gerjesztőjel kódolására csak említésszerűen térünk k. Az LPC kódolásban az LPC együtthatókat úgy határozzák meg, hogy a predkcós hbajel energáját mnmalzálják. Ez az LPC alapú beszédkódolásnál a dekóderben lévő e[t] gerjesztő jel energájának mnmalzálását jelent. Felhasználva (5.)-et P mn{ E( e [ t] )} = mn E s[] t a s[ t ] (5.4) a a = Látható, hogy tt az s[t] sztochasztkus folyamat tszta előrejelzése történk mntával előre lneárs predkcóval. A továbbakban az LPC együtthatók meghatározását a sztochasztkus folyamatok lneárs predkcós kódolásának termnológájával fogjuk megadn Sztochasztkus folyamatok optmáls lneárs predkcója Az optmáls lneárs predkcónál több valószínűség változót tudunk megfgyeln, és ezek lneárkombnácójával becslünk. A feladat formálsan tt egy A valószínűség változó becslése egy megfgyelt Y,Y,...,Y P valószínűség változók lneárkombnácójával úgy, hogy a becslés hbája négyzetes értelemben a legksebb legyen, vagys keressük azt az a=a,a,...,a P együttható P vektort, amelyre mn E A a Y. Az optmáls a vektor ekkor a következő módon a = kapható meg: K [ E{ Y Y j }] =.. P, j=.. P = és m [ E { XY } ] =.. P = jelöléssel a K a = m lneárs egyenletrendszer megoldása, vagys a = K m. A lneárs predkcós feladatot gyakran úgy adjuk meg, hogy az A valószínűség változó helyett egy {X} sztochasztkus folyamat elemet kell előre jelezn az előző P darab érték smeretében. Ekkor a fent képletbe a k-adk mnta becslésekor az A valószínűség változó szerepét X k, az Y valószínűség változó szerepébe pedg valamelyk mntát kell tennünk az előző P mntából, mondjuk X k- -t. Ekkor a következő módon kell felírn a lneárs egyenletrendszer együtthatót: K = [ E{ X k X k j }] =.. P, j=.. P [ E{ X k X k }] = P m = (5.5).. Tovább egyszerűsítést jelent az, ha a sztochasztkus folyamat gyengén staconárus. A gyengén staconárus, várható értékű {X} folyamat kovarancafüggvénye R ( j ) = E( X X ) = E( X X ) (5.6) j j 6

69 Az {X} folyamat R(), R(),..., R(P) kovaranca értékenek az smeretében meghatározható az a predktor-együttható vektor, ahol a megoldandó lneárs egyenletrendszer a következő lesz: ( ) R( ) R( ) R( 3) L R( P ) R( P ) () R( ) R() R( ) L R( P 3) R( P ) ( ) R() R( ) R() L R( P 4) R( P 3) () 3 R() R() R() L R( P 5) R( P 4) R R R() R ( ) R R a = M (5.7) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) M M M M O M M R P R P R P 3 R P 4 R P 5 R R R P ( ) ( ) ( ) ( ) ( ) ( ) R P R P R P 3 R P 4 R R Látható, hogy a megoldandó egyenletrendszer csak P+ paramétert tartalmaz, ezek a paraméterek pedg a kovaranca értékek. Létezk olyan gyors algortmus, amely a P+ darab kovaranca értékből számolja k közvetlenül az a LPC együtthatókat, és nem drekt módon nvertálja a fent mátrxot. A gyors algortmus azért fontos, mert a gyakorlatban rtkán találkozunk gyengén staconárus, lletve annak teknthető jelekkel, azt azonban már megengedhetjük, hogy a jel rövd szakaszat úgy kezeljük, hogy az egy gyengén staconárus, lletve annak teknthető jel. Ekkor a kódolóban szakaszonként kell a predktor együtthatót meghatározn, például az LPC beszédkódolás esetén - algortmustól függően msec dőtartam alatt teknthetjük a jelet gyengén staconárusnak. Az LPC alapú beszédkódolás esetén egyébként döntően P= a használatos, de ennél ksebb (P=8 a GSM 6. beszédkódolóban [44]) és nagyobb értékre (P=5 a G.78 beszédkódolóban [57]) s van példa Az LPC paraméterek és az LPC szűrő alternatív ábrázolása A beszédkódoló algortmusokban az LPC paraméterek meghatározása az alább lépésekben történk: A jelet keretekre bontjuk, a kereten belül a jelet gyengén staconárusnak feltételezzük. A kovaranca mátrx meghatározása a kereten belül a gyengén staconárusnak tekntett jelre az (5.6) formula alapján. A kovarancamátrx, lletve a kovarancafüggvény P+ darab együtthatójából meghatározzuk az LPC együtthatókat a (5.7) egyenlet megoldásával, általában a Levnson-Durbn rekurzív algortmussal. Mvel a jel várható értékű, amt előszűréssel s bztosítunk, ezért a kovaranca és az autokorrelácós függvények azonosak. Az LPC együtthatókat általában kvantálás előtt még transzformáljuk egy olyan alakra, amelyk a kvantálás és a szntézs szempontjából kedvezőbb. A jelenleg legsmertebb lyen reprezentácók alapja a PARCOR és LSF reprezentácók. 63

70 A PARCOR és LPC között transzformácó megtalálható [45]-ban, de a PARCOR együtthatók közvetlenül s megkaphatóak az autokorrelácós függvény P+ darab együtthatójából a Shur rekurzó segítségével. A PARCOR paraméterekhez más, a számábrázolás hba szempontjából kedvezőbb analízs- és szntézsszűrő struktúra tartozk. A PARCOR együtthatókat általában LAR (Log. Area Rato) együtthatókká transzformálják és úgy kvantálják [44], de elterjedt az nverz sznuszos ábrázolás s [45]. Az LPC együtthatók jelenleg legelterjedtebb ábrázolás módja az LSF (Lne Spectrum Frequency), lletve az LSP reprezentácó [4][46][47][48][49][5][54][59]. Az LSF-et Itakura vezette be [6], és az 99-es évek közepétől ezt tekntk a leghatékonyabb LPC ábrázolás módnak. Az LSF vagy LSP együtthatók az LPC együtthatókból számíthatóak k, lletve a dekóderben a szntézsszűrőhöz az LPC együtthatókat kell az LSF vagy LSP együtthatókból kszámoln. Amennyben a más szűrőstruktúrájú PARCOR együtthatókkal szeretnénk a szntézsszűrést elvégezn, akkor az LSF vagy LSP együtthatókat át kell transzformáln LPC együtthatókká, majd azokat PARCOR együtthatókká (pl. MPEG-4 [59]). A fejezet tovább részében a jelenleg legáltalánosabban használt és legjobbnak tekntett LSF reprezentácó tulajdonságat és smert kódolás algortmusat mutatom be mnd a kutatás eredmények, mnd pedg már elfogadott szabványok és ajánlások alapján Az LSF paraméterek tulajdonsága Az LSP paraméterek defnícója az LPC szűrő és annak konjungáltjából képezett összegpolnom, vagys P(z)=A(z)+z -P- A(z - ) és különbség-polnom, vagys Q(z)=A(z)-z -P- A(z - ) gyöke párban. Mvel P(z) és Q(z) gyöke, vagys az LSP együtthatók az egységkörön vannak, vagys e jϖ alakúak, ezért az LSP-knek megfelelő frekvencákkal (ω az előbb jelölésben) s le lehet írn a szűrőt, és ezek a frekvencák az LSF paraméterek, a belőlük alkotott ω vektor pedg az LSF vektor. A LSF frekvencák kvantálásával a gyökök továbbra s az egységkörön vannak, a stabltáshoz csak azt kell bztosítan, hogy a szgorúan monoton növekedés tulajdonsága végg megmaradjon. Ezt a tulajdonságot olyan rendszerekben, ahol a kódolás a sorrendet megváltoztathatja (pl. vektorkvantálást vagy transzformácós kódolást és skalár kvantálást alkalmaznak), vssza kell állítan az LSF paraméterek szgorúan monoton növekvő voltát. Az LSF paraméterek nagyjából a beszédspektrum csúcsat és "völgyet" veszk körbe, ematt erősen emlékeztetnek a beszéd formánsara. A jelenleg legjobb kódolók az LSF paramétereket használják, de ez az ábrázolás forma például a beszédfelsmerésben s népszerű. Mvel az LSF paraméterek között kereten belül és keretek között s nagy a korrelácó, ezért a jelenleg smert 64

71 legjobb kódolás technkák a keretek között és kereten belül predktív és/vagy transzformácós kódoláson alapulnak. A beszédformánsokhoz való hasonlósága matt az LSF paraméterekből jól becsülhető a kvantálás torzítás szubjektív hatása s, ezért a vektorkvantálást nem az egyszerű Eukldesz távolsággal (vagy az ezzel egyenértékű négyzetes hbával), hanem súlyozott négyzetes hbával valósítják meg a korszerű kódolókban, ahol a súlyt az LSF paraméterekből számítják. Ezzel a kérdéssel a következő pontban részletesebben s foglalkozom. Végezetül meg kell említen, hogy a legtöbb kódoló az ún. előre adaptív kódolást alkalmazza, am azt jelent, hogy a jelet blokkokra osztják, a blokkok autokorrelácós mátrxából kszámítják a szűrőparamétereket, és azokat kvantálva elküldk. Az ún. vsszafelé-adaptív módszer esetén a jel autokorrelácós mátrxát az eddg dekódolt mntákból becsülk, így nncs szükség a szűrőparaméterek elküldésére. Azonban a jó becslés érdekében csak ks kódolás késleltetést, azaz rövd blokkokat szabad használn (a lokáls autokorrelácós mátrxok a távolság változásával egyre eltérőek lesznek), és a rekonstruált beszédjel mnőségét s magas sznten kell tartan. Az LPC szűrés hatékonysága természetesen nő a P fokszámmal, és mvel a nagy együtthatószám a vsszafelé adaptív esetben nem okoz btsebesség növekedést, ezért ekkor tpkusan nagy fokszámú szntézsszűrőt alkalmaznak (pl. a G.78 ajánlásban P=5 [57]) Súlyozott négyzetes hbakrtérum az LSF kódolókban Az rodalomból smert, hogy az LPC paraméterekből jól becsülhető a kvantálás torzítás szubjektív hatása. Egy veszteséges tömörítés algortmus két legfontosabb paramétere a tömörítés arány és a torzítás. Az LPC paraméterek, lletve azok különféle reprezentácó kódolónak torzítását a kezdet dőktől eltekntve a logartmkus spektráls torzítással mnősítk: ( ) log ( ), ˆ = + π LSD a a P ω ) ( ) dω (5.8) π π P ω ahol a az eredet, â pedg a kódolás eredményeként kapott LPC együttható vektor (bár a 65 / kódolás történhet egy másk reprezentácóban), P( ) P jω ω = = a e az eredet LPC paraméter lneárs predkcós teljesítményspektruma, Pˆ ( ω ) pedg a kódolt LPC paraméteré. A fent összefüggés azért fontos, mert a kódolóban így algortmkus eszközökkel mérhető a kódolás hba szubjektív hatása s. A spektráls torzítás objektív hbakrtérum, amelyet széles körben használnak az LPC alapú kódolók mnősítésére s, valamnt hozzá köthető a transzparens LPC kódolás mnősítés, amely az alább feltételek teljesülését jelent: a keretenként logartmkus spektráls torzítások átlaga db-nél ksebb

72 nncs 4 db-nél nagyobb logartmkus spektráls torzítású keret a db-nél nagyobb keretek száma ksebb, mnt % A transzparens mnőségű kódolás, mnt szubjektív fogalom azt jelent, hogy az eredet és a kódolt LPC paraméterek között a különbség nem érzékelhető. Két LPC kódoló összehasonlítása esetén pedg akkor tekntjük az egyket észrevehetően jobbnak a másknál, ha az átlagos LSD legalább. db-tel ksebb a máskénál. Ezeket a méréseket általában sok, különböző beszédmntából származó tesztadatokon végzk el és az adatoktól függően dmenzós LSF vektorokra -6 bt/keret btsebességeken el lehet érn az db átlagos logartmkus spektráls torzítást, például osztott vektorkvantálással [64]. Több rodalm adat s alátámasztja, hogy a logartmkus spektráls torzítás hbakrtérum mellett a súlyozott Eukldesz távolság (WED - Weghted Eucldean Dstance) használata jobb kódolás mnőséget bztosít a hagyományos négyzetes hbánál (súlyozás nélkül Eukldesz távolság négyzete) [63][64][65][67][68] a kódolás komplextásának ksmértékű növekedése mellett. A WED persze csak vektorkvantálás esetén használható, amkor a kódolandó vektor különböző koordnátának súlya más és más. Az N dmenzós x és y vektor Eukldesz távolság D( x, y) = ( x y ) = = A súlyozott Eukldesz távolság pedg N ( x y) T ( x y) (5.9) N T WED( x, y) = w ( x y ) ( x y) W ( x y) = = (5.) ahol w az N dmenzós súlyvektor, amelyet a bemenő vektorból számolnak k, lletve W az ebből létrehozott dagonáls mátrx. Mvel a távolságok defnícó szernt nemnegatív értékek, valamnt a négyzetre emelés szgorúan monoton, ezért a távolságok mnmalzálásánál a távolságok négyzetének mnmalzálása s ugyanazt az eredményt adja, de megtakarítunk mnden egyes összehasonlítás során egy gyökvonást, am a komplextás szempontjából valós DSP környezetben lényeges lehet. Ezért a gyakorlatban az Eukldesz távolság helyett a négyzetes hbát, a súlyozott Eukldesz távolság helyett pedg a súlyozott négyzetes hbát alkalmazzák. A négyzetes hba egyetlen vektorra a következőképpen defnált: N T d( x, y) = ( x y ) ( x y) ( x y) = = (5.) ennek az összes keretre vett átlaga az átlagos négyzetes hba (MSE Mean Squared Error). A súlyozott négyzetes hba egyetlen vektorra a következőképpen defnált: w w N T d( x, y) = w ( x y ) ( x y) ( x y) = = (5.) O wn 66

73 ennek az összes keretre vett átlaga az átlagos súlyozott négyzetes hba (WMSE Weghted Mean Squared Error). A képlet alapján a WMSE számításának komplextás vektoronként csak N szorzással több az MSE kértékelésénél. A továbbakban az egyszerűség kedvéért a távolság négyzetét, vagys a négyzetes hbát fogjuk vzsgáln. A WMSE mnmalzálása nem mnmalzálja a spektráls torzítást, bár Gardner és Rao [69][7] megadta azt a súlyszámítás algortmust, ahol az LSF vektor együtthatónak ksmértékű megváltoztatásával az eredet és a perturbált vektor között spektráls torzítás kértékelése egy WMSE számításra vezethető vssza. Ez a Gardner és Rao által megadott súly az alábbakban smertetésre kerülő általános súly (General Weght), amelyet komplex LSF kóderben a m kutató csoportunk használt fel először LSF kvantálásra [65][66] (Gardner 994-ben publkált dsszertácójában [69] már szerepelt ez a módszer, de ott csak az általa kutatott érzékenység mátrxszal kapcsolatos elmélet kísérlet gazolására használta fel WMSE alapú LSF kvantálásra). Az rodalomban a w súlyvektor kszámítására alapvetően az alább 4 módszer smert: GW Általános súly (General Weght) [65]: ahol w c ( ) = ˆ = log + π ahol P ω ω ω ω ( ) dω π ω π P ω és c = [,,,,,,,,.8,.4] ϖ az -edk LSF paraméter radánban, ( ω ) ) (5.3) 67 P a lneárs predkcós teljesítményspektrum, Pˆ ( ω) pedg ennek a perturbált változata. Látható, hogy ez a képlet az spektráls torzítás érzékenységét közelít. Ez a súly (5.3) szernt csak nagy komplextással számítható k, de Gardner [69]-ben, lletve ugyanő Rao-val [7] egy olyan teratív algortmust adott, amely egy dmenzós LSF vektorra -5 szorzást és összeadást gényel csak (a pszeudókód megtalálható: [69] Appendx D). IHMW Inverz harmonkus átlag (Inverse Harmonc Mean) súly [67]: w = +, ω ω ω+ ω ahol ω az -edk LSF paraméter radánban és ω és ω = π LPCW - LPC súly [63][64]:.5 { c P( f ) }, = [,,,,,,,,.8,.4 ] = (5.4) w = c, (5.5) ahol P() a lneárs predkcós teljesítményspektrum és f az -edk LSF paraméter LSAW Lokáls spektrumközelítéses (Local Spectral Approxmaton) súly [68]:.8.8 ω ω ω+ ω w = c cos + cos (5.6) A következő pontban az LSF kódolás kutatás eredményenek összefoglalását smerhetjük meg, majd az eredményekre épülő beszédkódolás szabványokat mutatom be.

74 5.3. LSF kódolás kutatás eredménye Az LSF kódolás a kezdet kutatás eredményekben osztott és többszntű vektorkvantálás alapon történt, később a vektorkvantálást a súlyozott négyzetes hbakrtérummal egészítették k. Az LSF paraméterekre nagy kereten belül és szomszéd keretek között korrelácó jellemző, ezért az újabb rendszerekben megjelentek a redundancát csökkentő transzformácós és predktív sémák s, mndkettőre van példa kereten belül és keretek között alkalmazásra s. A több, N keretre kterjedő transzformácó N- keret késleltetés többletet okoz, ezért ezt csak specáls alkalmazásokban (pl. off-lne lejátszás fájlból) használják. Felsmerték, hogy a keretek között redundancát khasználó predktív vektorkvantálóval jobb eredményt lehet elérn, mnt memóramentes vektorkvantálással [7]. Ugyanez a szerzőpáros memórával rendelkező forrásmodell khasználására mutat példát [7]-ben. A memórával rendelkező forrásmodell entrópakódolással s khasználható, erre [73]-ben találhatunk megoldást dnamkus kódkönyvtár átrendezéssel és entrópakódolással. Az előbb eredmények mnd vektorkvantálásra vonatkoztak, amelyeknél a kódkönyvtár tárolása, lletve az abban való keresés nagy komplextást jelent, míg a ksebb kódolás komplextást valamlyen egyszerűsített vektorkvantálóval (pl. fa struktúrájú VQ), algebra kódkönyvtárral lletve rácskvantálással lehet khasználn. A kutatás eredmények smertetésének tovább részében ktérek az LSF kódoláson belül a súlyozott négyzetes hbakrtérumra, a lneárs transzformácós kódolásra és a rácskvantálás alkalmazásokra LSF paraméterek kódolása súlyozott négyzetes hbakrtérum használatával Az rodalomban az LSF kódolásra általában osztott és/vagy többszntű vektorkvantálás a jellemző, lletve alkalmazzák a rácskvantálást s akár többszntű vektorkvantálásban a javító sznten, akár önmagában s. Tíz dmenzós LSF vektor esetében a szegmentálás a szokásos, és a szegmentálás során nemcsak az LSF vektort, hanem a súlyvektort s ennek megfelelően osztják fel, és a 3 részvektort (szegmenst) külön-külön vektorkvantálókkal kódolják. K kell hangsúlyozn azonban, hogy a WMSE-t nemcsak a kódolás során, hanem a kódkönyvtár tervezésekor s alkalmazzák: ekkor a négyzetes hba (vagy ha a gyökvonás komplextása nem fontos, akkor az Eukldesz távolság) helyett s a súlyozott négyzetes hbát használják. 68

75 A WMSE használata egyébként részvektorok esetében egyszerű. Jelölje a két összehasonlítandó vektort x és y, amelyek csak az n,n+,..,m ndexű koordnátákban különböznek. Ekkor a súlyozott négyzetes hba (WSE Weghted Squared Error) számolható (5.) alapján: m WSE( x, y) = WSEn.. m ( x, y) = = w n ( x y ) (5.7) Mvel pedg WSE x, y) = WSE ( x, y) + WSE ( x, y) + WSE ( x, ) (5.8) ( y így osztott vektorkvantálás esetén ha külön-külön mnmalzálom a WSE-et mnden egyes szegmensen belül, akkor az együttes WSE s mnmáls lesz. A WSE alapú osztott vektorkvantálás szokásos struktúráját a 8. ábra szemléltet. Súlyvektor számítása LSF.. Index = argmn n {WSE(x, c n ) c n CB } w.. Szegmentálás w..3 x =LSF..3 w 4..6 x =LSF 4..6 w 7.. x 3 =LSF 7 VQ CB VQ CB VQ 3 CB 3 Index Index Index 3 8. ábra Osztott vektorkvantálás LSF vektorok kódolására súlyozott négyzetes hbakrtérummal Nemcsak az rodalm adatok, hanem az általam használt tanító és tesztadatokon végzett mérések s azt gazolják, hogy a súlyozott négyzetes hba használata a kvantálók tanítása (kódkönyvtárak tervezése) és a kódolás során csökkent az átlagos spektráls torzítást. Ez az általam használt tanító és teszt adatokon együttesen.3 db átlagos logartmkus spektráls torzítás csökkenés volt elérhető, és ez az érték mnden kpróbált btsebességen (, és 4 bt/keret) egyöntetűen kadódott LSF paraméterek kódolása lneárs transzformácóval Irodalm adatok már korábban bzonyították, hogy az LSF vektoron belül és szomszédos LSF vektorok között korrelácó transzformácóval és predkcóval s jól khasználható. A legelső lyen smert munkát 989-ben publkálta Farvardn és Laroa, ők egyrészt DCT transzformácót és skalár kvantálást alkalmaztak mnd a kereten belül (D-DCT), mnd a szomszédos keretek között (D-DCT), valamnt a D-DCT helyett alkalmaztak AR predkcót s a szomszédos LSF 69

76 vektorok, lletve a DCT transzformált LSF vektorok között a korrelácó csökkentésére [78]. Ebben a munkában fgyeltek fel arra s, hogy a transzformácó matt a dekódolt LSF vektorok sorrendje megváltozhat, és egyszerű algortmust adtak a korrekcóra: a sorrend vsszaállításán túl a szomszédok frekvencák között bzonyos védősávot s alkalmaztak. Kutatásank elején a tanszékünkön a főkomponens alapú neuráls hálózattal [74], majd később az ehhez hasonló Karhunen-Loeve transzformácóval (KLT) [76] váltottuk fel a lneárs transzformácót [75] a kereten belül korrelácó csökkentése érdekében, amellyel a skalár kvantálás hatékonysága jelentősen nőtt. Vektorkvantálás és KLT esetén a -3-5 alapú szegmentálás adta a legjobb eredményt [77]. Ez a szegmentálás egyébként kfejez a KLT azon tulajdonságát, hogy a KLT együtthatók fontosság sorrendben szerepelnek a KLT vektorban [76]. A KL vektorokra nem alkalmazható a korábbakban smertetett, az LSF tartományban értelmezett súlyozott négyzetes hbakrtérum. Ezért eddg olyan megoldás volt smert, amely a hbavektort vsszatranszformálja és a WSE-t az LSF tartományban értékelk k [77]. Ez a folyamat a kódolóban következőképp írható le: A bemenet ω LSF vektort transzformáljuk KL vektorrá: u = T ω (5.9) ahol T a Karhunen-Loeve transzformácós mátrx, u pedg a KL vektor. Az ω LSF vektorból meghatározzuk a w súlyvektort (ez megadja a W dagonálmátrxot s). Az osztott vektorkvantálást az u KL vektor részvektorara kell elvégezn -3-5 szegmentácóval. Jelölje a részvektorokat rendre u, u és u 3. A kvantálást egymástól függetlenül kell elvégezn, jelölje C az -edk szegmens kódkönyvtárát. A legközelebb szomszéd feltétel WSE krtérummal így hangzk az -edk szegmensre: A KLT tartományban lévő u vektort és a c C kódszót egy nverz KLT-val vssza kell transzformáln az LSF tartományba, és ott kell kértékeln a WSE-et. Az nverz KLT bemenetén dmenzós vektort vár, ezért [77]-ben közölt algortmus a szegmensen kívül részeket (mnd u vektor, mnt a c kódszavak esetében) -val tölt fel. [...; u ;...] y = T [...; ;...] x = T c (5.) A -val való feltöltés jelentősen csökkenthet a műveletek számát, hszen szorzásokat lehet elhagyn. Az lyen módon megkapott vektorokra már kértékelhető a WSE: D KL = = = T ( u, c ) = WSE( x, y) = ( x y) W ( x y) = T ( T [...; u ;...] T [...; c ;...]) W ( T [...; u ;...] T [...; c ;...]) T [...; u c;...] T W T [...; u c;...] T [...; u c ;...] W [...; u c ;...] KL = = (5.) 7

77 ahol W KL= T W T - (5.) A W dagonálmátrxra csak a kódolóban van szükség, melyet az ω bemenet LSF vektorból számítjuk k. A W KL mátrx ebből származtatható a KLT és nverz KLT mátrx segítségével. Ennek az algortmusnak megfelelő kódoló struktúrát a 9. ábra mutatja be. Megfgyelhető, hogy a 8. ábra kódolójához képest anny változás történt, hogy megjelent egy transzformácót végző egység, valamnt a vektorkvantálóban a hbakrtérumot (5.) írja le. A bemenő vektor és a kódszavak között távolság (5.) szernt értelmezését természetesen a kódkönyvtár tervezésénél s alkalmazn kell. w.. Súlyvektor számítása KLT LSF.. Szegmentálás w.. KL, w.. KL 3..5 w.. KL 6.. VQ CB VQ CB VQ 3 CB 3 Index Index Index 3 9. ábra Osztott vektorkvantálás transzformált LSF vektorok kódolására a (5.) szernt súlyozott négyzetes hbakrtérummal [77] Az LSF és KLT paraméterek predktív kvantálása Az újabb LSF kódoló algortmusok memórával rendelkező forrásmodellt használnak. Ennek egyk megvalósulása, amkor az LSF keretek között predkcós hbát kvantálják, nem pedg közvetlenül az LSF vektorokat. Predktív kvantálás esetén az előzőleg dekódolt szomszédos LSF kereteket letárolják és a predkcót autoregresszív (AR) predktorral végzk el az LSF vektor mnden koordnátájára külön-külön, és a kapott predkcós hbát kvantálják tovább. A. ábra és a. ábra mutatja meg az LSF vektorokon és az LSF vektorokból KL transzformácóval kapott KLT vektorokon végzett predkcó koordnátánként hbajelének emprkus sűrűségfüggvényét a tanító adatbázra, 4-edrangú AR predktorral. Látható, hogy nemcsak az LSF vektorok koordnátában, hanem a KLT vektorok koordnátában s gaz az, hogy a predkcós hbajel várható értéke körül, és a -tól távolodva a sűrűségfüggvény csökken. 7

78 . ábra Keretek között predkcós hba emprkus sűrűségfüggvénye a tanító LSF adatbázsra. ábra Keretek között predkcós hba emprkus sűrűségfüggvénye a tanító LSF adatbázs KL transzformáltjára Rácskvantálás alkalmazása LSF kódolására A rácskvantálás bevezetését először a ksebb komplextás ránt gény motválta. A ksebb komplextásgény kelégítésére algebra kódkönyvtárat [6] javasolnak LSF kódolásra [6] osztott vektorkvantálókhoz. Másk smert eredmény a Pan által kdolgozott kétszntű vektorkvantáló, ahol az első sznten egy fa struktúrájú vektorkvantáló, a másodk sznten pedg prams alapon korlátozott rácskvantáló található [33]. Szntén érdekes és hatékony LSF kódoló készíthető predktív többléptékű rácskvantálással s [34]. Ezt a rendszert a későbbekben részletesebben s bemutatom és felhasználom a transzformácós kódolás kvantálójaként s. A. ábra és. ábra ábrán látható emprkus sűrűségfüggvények alakjából s látható, hogy egyetlen rácskvantáló - amely egyetlen koordnátában egyenletes lépésközű skalár kvantálónak 7

79 látszk nem tűnk ígéretesnek. Ezért a fent jellegzetes sűrűségfüggvényekre a rácskvantálást nem egyetlen könyvtárral, hanem több, különböző léptékű rácskvantálóval valósítják meg [34]. Megjegyezzük, hogy a koordnátákon belül eloszlásokból nem mnden esetben tudjuk jól megközelíten a vektor többdmenzós eloszlását. Célunk az a fent eloszlásokra vonatkozó tapasztalatra építve, hogy a körül sűrű legyen a kódkönyvtár, és mnél távolabb vagyunk a -tól, annál rtkább legyen. Ezt többléptékű rácskvantálással (MSLVQ Multple-Scale LVQ) valósíthatjuk meg. A predktív MSLVQ (PMSLVQ) sémát + D ráccsal (.7) és IHMW alapú súlyozott négyzetes hbakrtérummal skeresen alkalmazta LSF kódolásra A. és M. Vaslache, valamnt I. Tăbuş [34].. ábra A Z rács korlátozása legfeljebb 3 sugarú pramsra 3. ábra Kétdmenzós MSLVQ kódkönyvtár a Z rács legfeljebb 3 sugarú pramsanak unójával, léptéktényezők:.7(x),.( ),.75(o) és.8(*) Az MSLVQ kódolás kódkönyvtára több különböző módon skálázott + D rács részhalmazanak unó, ekkor a tér ktöltése nem lesz egyenletes. Ellenben ekkor lehetőség van olyan kódkönyvtár használatára, amely az orgó felé sűrűbb, attól távolodva pedg rtkább. A. ábra a kétdmenzós Z rács legfeljebb 3 sugarú pramsanak unóját, mnt alap kódkönyvtárt, a 3. ábra pedg ennek az alap kódkönyvtárnak 4 különböző léptéktényezővel vett skálázását mutatja be, a négy skálázott verzó unója adja a többléptékű rácskvanáló kódkönyvtárát. A 3. táblázatban látható, hogy koncentrkus hperpramsok, lletve hpergömböknek mekkora az elemszáma a + D rácsban btes számábrázolásg. A táblázat alapján már készíthető kódkönyvtár, amelyet adott btszámra használhatunk. Például bt/keret esetén a legkülső 73

80 hpergömb sugarának négyzete 4.5 lehet (ez azt jelent, hogy a kódkönyvtárat alkotó hpergömbök sugaranak négyzete:,,.5, 4, 4.5, 6, 6.5, 8, 8.5,,.5,,.5, 4 és 4.5). Hpergömbök a + D rácsban Hperpramsok a + D rácsban Rácsvektorok száma Btszám Rácsvektorok száma Btszám K K=L norma K L norma K K=L norma K L norma táblázat Hpergömbök és hperpramsok elemszáma a + D rácsban, ha a koncentrkus héjak unónak számossága -et nem haladhatja meg (legfeljebb bten ábrázolható) Látható, hogy a kapott kódkönyvtár az orgó felé sűrűbb, attól távolodva pedg egyre rtkább. A prams alapú korlátozás esetén a kettő dmenzóban a dagonáls rányban rtkább a kódkönyvtár, mnt vízszntes vagy függőleges rányban, ez hpergömb (kettő dmenzóban: kör) alapú korlátozásnál kevésbé van így. A [34] ckkben a Az eredet + D rácsot használták az alábbak szernt: + D rácsot korlátozták egy részhalmazára hperprams vagy hpergömb alapon. Például btre a maxmáls sugár négyzetét 4.5-re állították be hpergömb alapú korlátozáshoz (858 kódszó), a részhalmazból kválasztott vektor sorszáma így bten ábrázolható. A kvantáláshoz egy α léptéktényező halmazt s meghatároztak, amelynek, 4, lletve 8 eleme volt. Például ha α=[.7,.,.,.5,.8,.,4.,6.], akkor a léptéktényező választás 3 bten leírható, így a teljes btszám 4 bt lesz. Az MSLVQ végrehajtásához meg kell határozn még egy λ fő skálázó tényezőt. Ekkor az x vektor (a predktor hbajele) kvantálása a következő lesz az előbb 4 btes példánál maradva: α α léptéktényezőre meghatározzák a legközelebb d rácsvektort és a D torzítást: 74

81 d D = arg mn D + d D = + d D mn D ( x,α λ d ) ( x,α λ d ) (5.3) (5.4) ahol D(,) az alkalmazott távolságkrtérum, például [34]-ben IHMW alapú súlyozott négyzetes hba. Kérdéses lehet az, hogy m legyen azokkal a vektorokkal, amelyek klógnak az adott léptéktényező mellett a korlátozott rácsból, lletve azokkal s, amelyek a legnagyobb léptéktényező esetén s klógnak. Másrészt kérdéses még λ értéke (a. ábra szernt a koordnátánként ampltúdó LSF predkcós hba esetében legfeljebb 3-4, a legnagyobb léptéktényező 6, így λ 5..7 már nagyságrendleg jónak tűnk). A kvantálás eredményeképpen arra az α léptéktényezőre és d rácsvektorra döntünk, amelyre a torzítás mnmáls, vagys: n = arg mn D (5.5) =..8 és a 4 btes kódszó a d n rácsvektor btes ndexéből és n 3 btes ábrázolásából kapható. A [34] szerző szernt a 4 és 8 elemű léptékhalmaz között lényegében nncs különbség. Ematt a jobb módosítás lehetőség matt a továbbakban a 8 elemű változatot fogjuk vzsgáln, ekkor ugyans az elemszám 7-re csökkentése vagy 9-re növelése kevésbé borítja fel a kalakult helyzetet, mnt 4 esetén a 3-ra vagy 5-re történő változtatás. Megállapították továbbá azt, hogy a hpergömb alapú korlátozás általában eredményesebb a hperprams alapúnál. Beszédkeret MSLVQ α LVQ Norma K LPC analízs LPC LSF konverzó LSF vektor AR predktor α α 8 LVQ Norma K LVQ Norma K Legksebb torzítású skála kválasztása Skála ndex Vektor ndex Dekóder Dekódolt LSF vektorok tárolója Dekódolt LSF vektor 4. ábra 8 léptékű PMSLVQ kódoló LSF vektorok kvantálására [34] A PMSLVQ alapú LSF kódoló kódolás lépése a következők (4. ábra): Az LSF vektort az előzőekben dekódolt LSF vektorokból becsüljük egy -rangú AR predktorral (PMSLVQ, ahol a P a predkcót jelöl). 75

82 A predkcós hba kódolásához kpróbáljuk a kódolást mnd a 8 különböző skálán és kválasztjuk a torzítás krtérum szernt legjobb vektort, majd ennek az ndexét meghatározzuk. A 8 skála közül kválasztott skála ndexét 3 bten kódoljuk le, lyen módon pl. 4 btes kódolásnál bt a rácsvektor ndexe, 3 bt pedg a skála ndexe lesz. A tovább kutatásamhoz ezt a módszert használtam kndulásként, és így a mérés eredményekben s feltüntettem ezt a módszer. A PMSLVQ az előző, WMSE alapú osztott vektorkvantáláshoz képest meglepően lényeges javulást okozott, az általam előzőekben javasolt KLT+WSE módszernél s.4-.8 db-vel jobb kódolás mnőséget mértem a teszt adatokon, azonban a tanító adatokon a KLT+WSE módszer volt a jobb. Ennek lehet az a magyarázata, hogy a rácskvantálásnál csak a rácsok léptéktényezőt kell a tanító adaton meghatározn, és ezután egy jelentős szmmetrával rendelkező kódkönyvtárunk van, míg a betanított vektorkvantálásnál a kódszavak alakja felveszk a tanító halmazban lévő jellegzetes alakokat, és így a teszt adat bzonyos más alakú vektorara nem lesz a kódkönyvtár optmáls. A fejezet tovább részében a már szabványosított beszédkódolás eljárásokat smerhetjük meg, főleg az LPC paraméterek kódolásának szemszögéből vzsgálva Beszédkódolás szabványok Beszédkódolás szabványokat több szabványosítás testület s kadott, ezek közül a legelterjedtebbek az ITU (Internatonal Telecommuncaton Unon, régebben CCITT), az ETSI (European Telecommuncatons Standards Insttute), az ANSI (Amercan Natonal Standards Insttute), de adott k szabványt az USA Védelm Mnsztéruma (DoD Department of Defence) s a NATO-val (North Atlantc Threaty Organsaton) közösen, valamnt nem szabad megfeledkezn az MPEG-4 beszédkódolóról sem. A szabványok között közös az, hogy telefonvonal sávszélességű beszédjel (8 khz mntavétel, legfeljebb 3.4 khz sávszélesség) kódolását végzk, a célzott btsebesség a.4 kbt/sec-tól a 6 kbt/sec-g terjed hbrd beszédkódolókra, míg a hullámforma kódolókra ennél magasabb, de legfeljebb 64 kbt/sec-os btsebesség jellemző. Az MPEG-4-ben a 8 khz-es mntavételű mód mellett (keskenysávú beszéd) létezk 6 khz-es s (szélessávú beszéd), ez utóbb eszköz azonban nem önálló eszközként, hanem a keskenysávú eszköz kegészítéseként működk (az eszköz neve s ezt mutatja: BWE BandWdth Extenson). 76

83 5.4.. ITU-T szabványok Az ITU-T szabványok között az 97-es G.7 egy PCM alapú hullámforma kódoló 64 kbt/sec btsebességgel, ahol a 8 khz-es 6 btes mntákat µ-törvényű (USA, Japán) vagy A-törvényű kompandálással (a Föld több része) konvertálják 8 btre [5]. Az ITU több ADPCM kódolót s szabványosított, ezek a G.7 [5], G.7 [53], G.76 [55] és G.77 [56] jeleket kapták meg. A hbrd kódolók közül az ITU több CELP (Code Excted Lnear Predcton kód gerjesztőjelű lneárs predkcó ) kódolót s szabványosított. Ezek a kódolók tpkusan msec (6-3 mnta) hosszú kereteket használnak, és a kereten belül egyetlen LPC együttható készletet alkalmaznak, ahol P=. A G.78 [57] ks késleltetésű CELP kódoló 6 kbt/sec-on működk. Érdekessége, hogy az LPC együtthatókat a dekóder oldalon állítják elő a dekódolt jelből, ezért aztán rövd, mndössze 5 mnta hosszú (!) keretet használ és P=5. A rövd keretméretnek köszönhetően a gyengén staconárus tulajdonság még nkább gaznak teknthető, am szükséges s, hszen az előző keretre számolt LPC együtthatókat kell az aktuáls keretre alkalmazn. A teljes btsebesség a gerjesztőjel kódolására fordítódk. A kódszó alapú gerjesztést egy olyan vektorkvantáló állítja elő, amely egy 7 btes "forma"-kódkönyvtárat és egy 3-btes "erősítés"-kódkönyvtárat alkalmaz. A G.73.-es ajánlás [54] kódolója LSP reprezentácót használ -edrangú LPC analízssel 3 ms-os keretre. A kereteket az LPC analízshez 7.5ms-mal átlapolódnak. A gerjesztőjel kódolása 5.3 kbt/s-os btsebességre ACELP (Algebra CELP), míg 6.3 kbt/s-on egy több mpulzusos LPC, amt tt MP-MLQ-nak neveznek (MP-MLQ - Multpulse Maxmum Lkelhood Quantzaton). Az LPC szűrőt LSP paraméterekként kódolják. A darab LSP paraméter előállításához az előzőleg dekódolt vektorból egy elsőrendű predktorral megbecsülk a jelenleg LSP vektort, majd a becslés hbajelet egy osztott vektorkvantálóval kódolják, amelynek dmenzó 3, 3 és 4. Mndegyk vektorkvantáló 8 btes kódkönyvtárat használ, valamnt mndkét btsebességen használnak egy LTP kódolást s, ahol a késleltetést és az erősítést kódolják le. Az LTP kódolás a szntézs által analízs technkának megfelelően előbb nyílt hurkú, majd ezt egy zárthurkú kereséssel pontosítják. A G.79-es kódoló 8 kbt/s-os btsebességre készült [58]. A kódoló ms-os (8 mntás) keretet használ, a hosszútávú predkcóra és az ACELP kódolásra egy keretet két félre oszt. A kódoló egyk érdekessége a nagyon jó mnőségű LSF kvantálás. A kódoló ms-os kereteket használ, a gerjesztő jel kódolása adaptív-kódkönyvtár és konjugált struktúrájú (CS- Conjugate Structure) ACELP kódolás felhasználásával történk. 77

84 Az LSF kvantálása 4-szntű keretek között predkcóra, valamnt kétszntű vektorkvantálásra épül. A 4-szntű predkcóhoz az előzőleg dekódolt 4 LSP vektort kell megtartan. A becslés hbát először egy dmenzós vektorkvantálóval kvantálják, az így kapott hbát pedg egy 5+5 dmenzós osztott vektorkvantálóval kódolják. Az adaptív kódkönyvtár és az ACELP kódolása hasonló a G.73. kódolásához, de annak kfnomultabb változata. Az adaptív kódkönyvtár érdekessége, hogy mntán belül pozícót s k lehet jelöln (/3 vagy /3 pozícóban), ekkor a dekódoláshoz az adaptív kódkönyvtár megfelelő vektorát nterpolácóval lehet meghatározn ETSI szabványok A GSM 6.-es úgynevezett RPE-LTP (Regular Pulse Exctaton - Long Term Predcton) algortmusban a rövdtávú és a hosszútávú predkcó s megtalálható. A 8kHz-en mntavételezett jelet 6 mntás ( ms-os) blokkokra osztják, és azon P=8-adrangú LPC analízst végeznek el, a PARCOR paramétereket Shur-rekurzóval határozzák meg. A szomszédos keretek között az LPC szűrő nterpolácóját s a PARCOR paraméterek lneárs nterpolácójával oldják meg, és a PARCOR paramétereket LAR reprezentácóban skalár kvantálásával kódolják le. A 6 mntás keretet ezután négy 4 mntány részkeretre bontják fel, és mnd a négy keretre elvégzk a hosszútávú predkcót. A hosszútávú predkcó után maradék jelet 3-szoros faktorral alulmntavételezk és ADPCM kvantálóval kvantálják, és ezt a módszert nevezk állandó távolságú mpulzusokból álló gerjesztőjeles (Regular Pulse Exctaton RPE [79]) kódolásnak. Az újabb kutatás eredményeknek köszönhetően az ETSI 997-ben és 998-ban két új, LSF és CELP alapú beszédkódoló szabványt fogadott el, a GSM 6.6 EFR (Enhanced Full Rate) [4] és a Tetra (Terrestal Trunked Rado) [44] beszédkódolót. A két beszédkódoló felépítése funkconálsan ugyanaz, de más btsebességre készültek, ematt más kódolás paramétereket használnak. A GSM 6.6 EFR kódolóban egy blokk 6 mnta ( ms), amelyet a 4 darab 4 mnta hosszú részblokkra osztanak fel. A. és 4. részblokkra végzk el az LPC analízst, a két részblokk LSF paraméteret együtt kvantálják: először egy másodrendű AR predktorral becslk az előző LSF vektorokból, és a becslés hbát mátrx-vektorkvantálással kódolják le. Az. és 3. részblokk LSF paraméteret nterpolálják a szomszédos részblokkokból. Az STP maradékjelét hosszútávú predkcóval és ACELP kvantálóval kódolják mnden részblokkban. A GSM-EFR ACELP kódolója sokkal ellenállóbb a beszédre kevert nem-beszéd eredetű zajok ellen, mnt a GSM 6. algortmus, köszönhető ez mnd a kfnomultabb LTP kódolásnak, mnd az ACELP mpulzuskódolásnak, melyek érezhetően nagyobb kódolás komplextás mellett jobb 78

85 mnőséget bztosítanak az egyszerűbb LTP, lletve RPE algortmusnál. Az LSF paraméterek használatával a beszéd spektráls burkolója nagyobb hűséggel kódolható, és az nterpolácónak köszönhetően a blokkok között átmenet s fnom. Tovább növel a beszédspektrum tsztaságát az a tény s, hogy ms-onként számolják újra az LSF paramétereket. A Tetra beszédkódoló része hasonló a GSM 6.6 EFR beszédkódolóhoz, de a ksebb btsebesség (4567 bt/s a. bt/s helyett) matt bzonyos részekben egyszerűsítéseket vezettek be: Hosszabb blokkméret: 4 mnta (3 msec) - így /3 részére csökken a másodpercenként blokkszám. Az LPC analízst a teljes blokkra végzk, az LPC számításkor a szomszédos blokkok 4 mntán átlapolódnak. A mnőség fenntartása érdekében egy LSF paraméterre több bt jut, de az átlagos btszám így s csökken (csak LSF van). A részblokkok között LSF paramétereket súlyozottan nterpolálják az előző blokk végén lévő LSF vektorral. Egyszerűbb LTP és ACELP kódolás, ahol ráadásul az LTP erősítést és az ACELP erősítését együtt kvantálják egy -D vektorkvantálóval Az MPEG-4 beszédkódoló eszköze Az MPEG-4-ben alapvetően kétfajta beszédkódoló eszköz található meg, de ezek eszközkészlete részben különböző, a közös rész vszont az, hogy ugyanazt a rövdtávú predkcós eszközt használják mndketten, amely LSP ábrázoláson és vektorkvantáláson alapul. Az LSP vektor kódolása egy kétszntű VQ-val (PPM-VQ: Partal Predcton and Multstage VQ) történk, mnden sznten a kódkönyvtár kódpontot tartalmaz ( bt). Hagyományos VQ módban egy hagyományos kétszntű VQ, predktív VQ módban a. sznten egy predktív VQ működk, ahol a predkcó hba az első sznt és az előzőleg dekódolt LSP vektor átlagának és a kódolandó LSP vektornak a különbsége. A hagyományos VQ mód staconárus, a PPM-VQ mód nemstaconárus esetben hatékony. A CELP kódoló alapja az LPC együtthatók (STP) LSP reprezentácójának PPM-VQ kvantálása, e mellet LTP predkcót és vagy RPE [79], vagy MPE [8] gerjesztőjelet használ. A HVXC (Harmonc Vector exctaton Codng) kódolóban az LPC-E-hez hasonlóan először az LPC együtthatókat határozzák meg, majd a predkcós hbajelen egy zöngés-zöngétlen döntést végeznek el. A zöngés keretre a spektráls burkolót kvantálják vektorkvantálóval, zöngétlen esetben AbS technkával vektorkvantálják a gerjesztőjelet az dőtartományban. Az LSP paraméterek kvantálását ugyanaz a PPM-VQ végz, mnt a CELP kódoló esetében. 79

86 A BWE eszköz az előbb smertetett alap-kódolókat egészít k úgy, hogy a hányzó frekvencákat kódolja le egy CELP kódolóval, amelyben szntén LSP ábrázolást használnak predktív egyszntű VQ-val, ahol a predkcóban az előző keret szélessávú LSP vektora, valamnt a jelenleg keret keskenysávú LSP vektorát s használják [59] Egyéb szabványok Több régebb szabvány s létezk a fejezetben felsoroltakon kívül, mnt például a US DoD FS5 szabványa, amely a már említett LPC-.4 kbt/s-os vokóder néven smert, lletve ennek a követője a DoD által 988-ban és 989-ben kadott 4.8 kbt/s-os CELP kódolója. A GSM rendszerben csak a teljes btsebességű kódolókat smertettem, e mellett létezk fele btsebességű (Half Rate) kódoló s, ez a Motorola 5.6 kbt/s-os VSELP (Vector Sum Excted Lnear Predcton) beszédkódolója. Emellett szokás megemlíten az Inmarsat 4.5 kbt/s-os kódolóját s. Ezen régebb beszédkódolók részletesebb smertetése megtalálható [8]-ban Összefoglalás Ez a fejezet összefoglalta a fontosabb beszédkódolás stratégákat, és ezen belül s az LPC alapú beszédkódolás elméletét és szabványos kódolás algortmusat, főleg az LSF paraméterekre koncentrálva. A fejezet rámutatott arra, hogy az LSF paraméterek kódolása hatékonyabb, ha khasználja a kereteken belül és a keretek között korrelácót. A kereteken belül korrelácót transzformácós kódolással és/vagy vektorkvantálással lehet khasználn, a keretek között korrelácót pedg döntően predkcóval használják k, de smert módszer a szomszédos keretek azonos koordnátának transzformácós kódolása s. A fejezet szntén kemel, hogy a modern LSF kódolók a négyzetes hbakrtérum helyett nkább a logartmkus spektráls torzítás hbakrtérum optmalzálására törekednek, ezt azonban a nagy számítás komplextás matt a súlyozott négyzetes hbakrtérummal közelítve valósítják meg. A következő fejezetben az tt bemutatott smert módszerekre építve új, az eddg smert algortmusoknál lényegesen hatékonyabb LSF kódolás sémákat mutatok be. Egyrészt megoldást adok a transzformált LSF paraméterek súlyozott négyzetes hbakrtérummal való osztott vektorkvantálásra, másrészt pedg olyan új predktív MSLVQ alapú LSF kódolót mutatok be, amely képes lneárs transzformácó alkalmazására s, továbbá az eddg smert módszerekhez képest jobban használja k a megadott btsebességet, és új módszert s mutatok a logartmkus spektráls torzítás hbakrtérum kódolóban való alkalmazhatóságára. 8

87 6. Új kódolás sémák LSF paraméter kvantálására Az előző fejezetben smertettem az rodalomban fellelhető súlyozott Eukldesz távolságkrtérumra épülő LSF kódolás alkalmazásokat, valamnt a Karhunen-Loeve transzformácón (KLT) és Dszkrét Kosznusz Transzformácón (DCT) alapuló LSF kódolás sémákat. Az új kódolás kalakításához az LSF kódolásban elterjedt, a súlyozott négyzetes hbakrtérum szernt vektorkvantálást választottam, és az alább célokat tűztem k: A kutató csoportunkban kfejlesztett GW súlyozás hatékonyabb alkalmazását lehetővé tevő kódolás mód(ok) kalakítása KLT alkalmazásával, ugyans a mérések szernt a KLT paraméterek hagyományos osztott vektorkvantálásánál a súlyozás bevezetése (5.) szernt megadott távolságkrtérummal nem jelent akkora mnőségnövekedést, mnt amekkorát a KLT nélkül esetben jelent a súlyozás bevezetése. A rácskvantálás alkalmazása a kódkönyvtár alapú vektorkvantálás helyett a kódolás mnőség javítása és (lehetőség szernt) a komplextás csökkentése céljából. KLT alapú transzformácós kódolás és rácskvantálás előnyenek egyesítése egy közös kódolás módban a jobb kódolás mnőség elérése céljából. A fejezet első részében a (5.) által megadott távolságkrtérum általam javasolt módosítását mutatom be. Az első részt mérés eredményekkel zárom le, amely gazolja az általam javasolt módosítások szükségességét és helyénvalóságát. Ezután olyan új sémákat smertetek, amely lneárs transzformácó (KLT és DCT), keretek között predkcó és rácskvantálás együttes használatával jelentős mnőségjavulást okoz az LSF kódolása terén a régebb rendszerekhez képest. Ezekben az új sémákban a mérésekkel azt s megmutatom, hogy a tanszékünkön felfedezett GW súly jobb eredményeket ad az eddg smert több súlynál. 6.. Továbbfejlesztett séma lneárs transzformált LSF paraméterek WSE hbakrtérummal való osztott vektorkvantálására A következő pontban közölt mérés eredményekre hvatkozva előzetesen annyt állapíthatunk meg, hogy a (5.) által meghatározott súlyozott négyzetes hba távolságkrtérummal nem érhető el akkora javulás a KLT séma esetében, mntha a KLT nélkül sémában vezettük volna be az egyszerű négyzetes hba krtérum helyett a (5.7)-ben megadott súlyozott négyzetes hbakrtérumot osztott vektorkvantálásnál. Az elvárt javulás.3-.7 db volt, de helyette csak 8

88 . db a javulás fordult elő logartmkus spektráls torzításban kfejezve. Ez a javulás azért következetesen megfgyelhető volt és így az algortmus helyessége gazolódott, de nem volt túlságosan eredményes. Gyakorlat szemmel nézve a hányzó.-.6 db nem számít lényeges és észrevehető javulásnak, de nem ezért javaslok egy új megoldást a (5.) helyett, hanem azért, mert más megközelítéssel közelebb lehetne kerüln az elvárható javuláshoz osztott vektorkvantálás és lneárs transzformácó esetében. Az általam javasolt módszer lényege azon alapul, hogy a vektorok -val való kegészítése helyett fgyelembe kell venn az előző kódolás lépésekben kapott eredményeket, lletve kvantálás hbát, amelytől a (5.) elteknt. Ennek a szükségszerűségnek az a magyarázata, hogy az osztott vektorkvantálásnál a szegmensek között függetlenség - amely azt jelent, hogy a WSE szegmensenként mnmalzálása egyúttal mnmalzálja az eredő WSE-et s - a KL paraméterek esetében már nem áll fenn. Tekntsük az u=[u, u, u 3 ] KL vektort, lletve az osztott vektorkvantálás eredményeképpen a KLT tartományban megkapott c=[c, c, c 3 ] kódvektort, ahol mndkét vektor 3 szegmensből áll és a szegmensek megfelelnek egymásnak. Jelölje Szegmens (u) azt a dmenzós vektort, amely a szntén dmenzós u vektor -edk szegmensét tartalmazza (vagys u -t) és azon kívül a koordnáták értéke, vagys ( u) [...; u ;...] Szegmens = (6.) Vezessük be a következő jelölést: [ ] T ( u, c) = [ Szegmens ( u) Szegmens ( c) ] W Szegmens ( u) Szegmens () c DKL, j KL j j (6.) Látható, hogy a [77]-ben közölt algortmus lényege az, hogy az -edk szegmensben a több szegmenstől függetlenül úgy választja meg az ottan kódszót, hogy az mnmalzálja D KL, -t. Az eredő távolság négyzete pedg ezen jelölésekkel az alább: D KL KL T T ( u, c) = ( u c) W ( u c) = [ u c ; u c ; u c ] W [ u c ; u c u c ] 3 KL 3 ( u, c) = D ( u c) j= =,, KL j 3 3 KL ; D (6.3) Ezzel vszont azt kaptuk, hogy 3 ( u, c) D ( u c) D KL =,, KL (6.4) A D KL szernt optmáls kódszó választás a következő 3 szegmensre: 3 3 ( u, [ c, c, c3] ) = mn DKL, j ( u, [ c, c, c ]) mn DKL = 3 c, c, c3 c, c, c 3 j= (6.5) A kfejezés értelemszerűen módosítható tetszőleges, -nél nagyobb számú szegmensre. A fent összefüggés mnmalzálásához együttesen kellene mndhárom kódkönyvtárból megtaláln a megfelelő kódvektort, nem pedg egymástól függetlenül. Ez azonban már csak látszólag osztott vektorkvantálás, így az az előny s elveszk, hogy a kódolás komplextása azáltal csökken, hogy ksebb dmenzókban, egymástól függetlenül lehet a szegmenseket kódoln

89 Azért, hogy az osztott vektorkvantálás alkalmazható legyen a kódoláskor és a kódkönyvtár tervezésekor, azt javaslom, hogy a fent összefüggésben a kódkönyvtárakat a koordnáták szernt fontosság sorrendben vegyük elő, vagys tervezéskor először C -et, aztán C -t és végül C 3 -at tervezzük meg, és kvantáláskor s először a c C, ezután c C, végül pedg c 3 C 3, kódszavakat határozzuk meg. A sorrendet a KLT azon tulajdonsága alapján állapítottam meg azért, mert a KLT vektorban a ksebb ndexű koordnátában lévő energa mndg legalább akkora, mnt bármelyk nagyobb ndexű koordnátában lévő energa. A probléma azonban továbbra s az, hogy a szegmenseken kívül koordnáták ktöltését meg kell határozn. Ezt úgy lehet megtenn, hogy ha a C kódkönyvtárból keresem a kódvektort, akkor már megvan a c,,c - kódszó, de a nagyobb ndexűek, mnt pl. c + még nncs meg, így a meglévő kódszavak helyén az adott kódszavakat, a hányzó koordnátákban pedg -nak vesszük az értéket. Ez formálsan a következőképp írható le 3 szegmens esetében: ( u, [,...]) c = arg mn DKL c (6.6.a) c c 3 c C ( u, [ c, c,...] ) = arg mn DKL (6.6.b) c C ( u, [ c, c, c] ) = arg mn DKL (6.6.c) c C 3 A fent kódvektor kválasztást nemcsak a kvantáláskor, hanem a kódkönyvtár tervezésekor s használtam, amkor s meg kellett határozn a tanító adat mnden egyes vektorához, hogy a pllanatny kódkönyvtár melyk kódszavához áll a legközelebb. w.. Súlyvektor számítása KLT LSF.. u w.. u w.. u w.. u VQ CB VQ CB VQ 3 CB 3 Index Index Index Index 3 5. ábra Továbbfejlesztett séma lneárs transzformált LSF paraméterek súlyozott négyzetes hbakrtérummal való osztott vektorkvantálására Meg kell jegyezn, hogy a fent algortmus sem optmáls globálsan, vszont megvan az az előnye a [77] algortmusához képest, hogy fgyelembe vesz a KLT vektorban az osztott vektorkvantálás ksebb ndexű koordnátán a már meglévő eredményt. Így pl. c 3 a lokálsan optmáls eredmény akkor, ha c és c már rögzített, ugyanígy c lokálsan optmáls akkor, ha c 83

90 rögzített és c 3 csupa, míg c esetén a két módszer között nncs különbség. Ez nylvánvalóan jobb megközelítés ahhoz képest, mntha nem vennénk fgyelembe a ksebb ndexű koordnátákon kapott eredményt. Ennek az algortmusnak megfelelő egyszerűsített ábrázolást a 5. ábra mutatja be, ahol megfgyelhető, hogy a ksebb sorszámú szegmensben lévő kvantálás eredménye befolyásolja a nagyobb sorszámú szegmensben a kvanálást. Tanító adat Teszt adat LSD Nagy torzítású keretek (%) LSD Nagy torzítású keretek (%) Módszer (db) -4 db 4 db felett (db) -4 db 4 db felett bt/keret MSE LPCW LSAW IHMW GW KLT KLT+GW Új KLT+GW bt/keret MSE LPCW LSAW IHMW GW KLT KLT+GW Új KLT+GW bt/keret MSE LPCW LSAW IHMW GW KLT KLT+GW Új KLT+GW táblázat Súlyozott négyzetes hbakrtérumot használó LSF és KL kódolók összehasonlítása, és 4 bt/keret btsebességeken 6.. A továbbfejlesztett WMSE séma mérés eredménye A 4. táblázat tartalmazza a mérés eredményeket. A tanító adat 7896 LSF vektorból, a teszt adat pedg 9744 vektorból állt, a teszt adat vektoranak egyke sem származott ugyanabból a beszédmntából, amelyből tanító adat s származk. Az adatbázs 45 férf és nő 8 khz-en mntavételezett angol nyelvű beszédmntájából származott, a -edrangú LPC analízst msec (6 mnta) hosszú beszédkeretre végeztük el. A kódkönyvtárakat, és 4 bt/keret btsebességekre terveztem meg, súlyozott négyzetes hbakrtérum esetében a tervezéskor s a 84

91 súlyozott négyzetes hbát használtam. Referencaként meghatároztam az adott btsebességekre az GW [65][66][77], IHMW [67], LPCW [63][64] és LSAW [68] súlyokkal az osztott LSF vektorkvantálás logartmkus spektráls torzítását (LSD) a tanító és teszt adatra, valamnt az egyszerű (súlyozás nélkül), négyzetes hbakrtérummal s elvégeztem a méréseket. Csakúgy, mnt a kódkönyvtárakat, a KLT transzformácós mátrxot a tanító adaton határoztam meg. Az rodalomból smert LSF alapú sémák mellett referencaként kértékeltem az MSE távolságkrtérumot használó KLT alapú osztott vektorkvantálás, valamnt a GW súlyt használó algortmus (KLT+GW [77]) és az új, előbbekben smertetett KLT alapú osztott vektorkvantálás (Új KLT+GW [65]) logartmkus spektráls torzítását (LSD) a tanító és teszt adatra. A 4. táblázat alapján megállapítható, hogy ha nem használjuk a súlyozást (MSE jelöléssel), akkor a KLT bevezetése mndhárom btsebességen jelentős, körülbelül.8-. db-es logartmkus spektráls torzítás javulást eredményezett a tanító és teszt adat kódolásakor, a magasabb btsebességen jelentősebb javulással. Ha az LSF paraméterek kódolásakor bevezetjük a súlyozott négyzetes hbakrtérum használatát, akkor s marad az MSE alapon kvantáló KLT-s sémának legalább.3-.7 db előnye logartmkus spektráls torzításban mérve, tt s a magasabb btsebességen nagyobb a különbség a KLT javára. Amennyben a rég KLT+GW algortmust használjuk a KLT alapú súlyozott négyzetes hbakrtérummal működő osztott VQval, akkor ez. db-es, gen kcs javulást eredményez. Ezzel azt állapíthatjuk meg, hogy súlyozott négyzetes hbakrtérummal működő osztott VQ esetében a KLT bevezetése nem ér el a MSE esetben tapasztalt körülbelül.8-. db-es logartmkus spektráls torzítás javulást. Látható, hogy a súlyozás nélkül KLT sémához képest az általam javasolt új KLT+GW algortmussal.5-.7 db a javulás, de tt a ksebb javulás a teszt adaton fgyelhető meg. Ez a javulás kmutathatóan jobb a rég KLT+GW séma eredményezte. db-es javulással szemben, és megvzsgálva a KLT nélkül esetet, így már a KLT bevezetése.8-.3 db-es logartmkus spektráls torzítás javulást eredményezett. Így tehát a súlyozott négyzetes hbakrtérum használatával az általam javasolt algortmus képes bztosítan azt a KLT kódolás nyereséget, amelyet a MSE esetében a KLT nyújt, míg ezt az eddg smert algortmusok nem tették lehetővé Ortogonáls lneárs transzformácó használata predktív többléptékű rácskvantálóval LSF kódolásra Az rodalomban smert módon az általam javasolt módszer s a szomszédos LSF vektorok között korrelácót predkcóval használja k. Azonban az s smert a szakrodalomból, hogy nemcsak a keretek között, hanem a kereten belül s megfgyelhető az együtthatók között 85

92 korrelácó [7][7][73][78]. Ennek kódolás célú khasználására alkalmaztuk m s a transzformácós kódolást KLT transzformácóval, de smert az rodalomból DCT alapú kódolás s [78]. Mnd a KLT, mnd a DCT ortogonáls lneárs transzformácó. Az előző fejezetben, lletve e fejezet előző pontjaban s megmutattam részben saját, részben rodalm munkákra hvatkozva, hogy a KLT bevezetése az LSF vektorok kódolásakor jelentősen javítja a kódolás mnőségét. Összehasonlításképpen nemcsak a KLT-t, hanem a dmenzós DCT-t s megvzsgáltam, amely a KLT-vel ellentétben nem függ a tanító adattól, így a tanító adatok rossz megválasztása kevésbé rontja el a végső rendszer működését (ez az előnye az MSLVQ-nak s megvan a betanított vektorkvantálókhoz képest). Az tt vázolt sémán az alább módosítások lehetőséget és hatásat vzsgáltam meg: KLT és DCT transzformácó használata: A transzformácó potencálsan az AR predktor elé (LSF paraméterek transzformálása) vagy után (predkcós hbajel transzformálása) helyezhető el. Különböző távolságkrtérumok használata, de értve az IHMW-n kívül a GW, LPCW és LSAW távolságkrtérumokat, lletve új távolságkrtérumok kdolgozását. A különböző léptéken vett részrácsok unójának hatékonyabb kódolása: A 3. táblázatban látható, hogy például prams alapú korlátozásnál kódszó (.46 bt) jut btre, míg hpergömb alapon ugyanez 858 (.99 bt), am fél btny különbség, de nem lehet khasználn. A kvantálás során a különböző koordnátákban lévő skalár jelek között fontosság fgyelembe vétele. A mérések során azt tapasztaltam, hogy ugyanaz az MSLVQ kvantáló használható akkor s, ha az AR predktor elé vagy után KLT-t vagy DCT-t teszek, ez azzal magyarázható, hogy a transzformácók bázsa ortonormált. Ha a kódoló részegysége közé egy transzformácót s bellesztünk, akkor az MSLVQ léptéktényezőket s szükséges lehet módosítan. Az tapasztaltam, hogy csak gen ks mértékű módosításával kapjuk a legjobb eredményt, főleg a legksebb és a legnagyobb léptéktényezőt kellett módosítan. Természetesen az MSLVQ fő skálázó tényezőjének módosítása s szükséges lehet, és az AR predktort nem az LSF, hanem a transzformált vektorokra kell betanítan, de az ortogonaltás matt tt s csak kcs változtatás szükséges. Az AR predktor természetesen más lesz LSF, DCT vagy KLT vektorok predkcója esetében, lletve a KLT mátrx s más lesz, ha nem az AR predktor elé (LSF vektorok transzformácója), hanem az AR predktor után (a predkcós hbavektor transzformácója) és az MSLVQ közé llesztjük. 86

93 A mérések során azt s megállapítottam, hogy az LSF-KLT-AR predkcó kódolás sorrend előnyösebb az LSF-AR predkcó-klt kódolás sorrendnél. Az rodalomból smert, hogy az LSF vektorfolyamból nyert KLT, lletve DCT vektorfolyamot továbbra s nagy keretek között korrelácó jellemz, így a predkcó továbbra s hatásos lesz, ahogy ezt a mérés eredmények gazolták s A különböző léptéken vett rácsok unójának hatékonyabb kódolása Már szó volt róla, és a 3. táblázatból látható s, hogy például prams alapú korlátozásnál kódszó (.46 bt) jut btre, míg hpergömb alapon ugyanez 858 (.99 bt), am félbtny különbség, de nem lehet khasználn az rodalomban talált megoldásokkal. Elmondható továbbá az, hogy az MSLVQ részrácsanak unójának elemszáma az elemszámok összege azzal a feltétellel, hogy nem foglalkozunk azon kódvektorokkal, amelyek két különböző léptékű rácsba s beletartoznak (például a vektor). Ezeket a vektorokat tehát különbözőnek vesszük, bár mnden koordnátában azonos értékűek, csak éppen több különböző léptéken (másmás LVQ kódkönyvtárban) s megtalálhatóak. Ez azt fogja eredményezn, hogy az MSLVQ tényleges elemszáma valamvel ksebb lesz, mnt amt m számolunk, de maga a rendszerben nem lesz hba (olyan reményenk szernt lényegtelenül kevés - kódvektorunk lesz, amelyet sohasem fogunk ndexeln, más szóval bzonyos lefoglalt ndex sohasem fordulhat elő, de olyan kódvektorra nem fog a kvantáló dönten, amelynek nncs ndex lefoglalva). Ematt a továbbakban az LVQ kódkönyvtárak unót ezzel az egyszerűsítéssel fogjuk értelmezn. Megjegyezzük, hogy a léptéktényezők meghatározásánál fgyeln lehet arra az esetre s, hogy az lyen többször számolt vektorok száma mnmáls legyen. Amennyben a léptéktényezők rraconáls számok (am dgtáls környezetben nem kvtelezhető véges bten), valamnt a kódvektorok egész koordnátájúak, akkor a kvételével bztosan nem lesz a különböző léptékekben azonos kódpont. Raconáls (és természetesen poztív) léptéktényezőkkel létezk közös nevező, és közös nevezőre hozva a számlálók legksebb közös többszörösénél a két léptékelt, de még nem korlátozott rács között átfedés lesz, és az LVQ kódkönyvtárak között s átfedés lesz, ha a közös kódpontok a prams vagy hpergömb alapú korláton belülre esnek. Ezzel a gondolatmenettel pontosan meghatározható az unó elemszáma a léptéktényező és a korlát smeretében, azonban ez a tudás jelentősen bonyolítaná a kódoló struktúráját. Az általam kdolgozott rácskvantáló ndexelő algortmus nem tudja kezeln ezt a problémát, azonban az lyen kódvektorokat k lehet kzárn például Rault-Gullemot vagy Lambln algortmussal, ha az lyen átfedő vektorok fővektorát (ahol nagyság szernt rendezettek a koordnáták) kzárjuk a 87

94 fővektorok halmazából. Az átfedést azonban meg lehet akadályozn olyan módon s, hogy ha két léptéktényezőhöz tartozna nem-nulla átfedő vektor, akkor az egyk léptéktényezőhöz megfelelően kcs számot hozzáadva az új léptéktényezők legksebb közös többszöröse bztosan csak a korláton kívül eredményezne átfedést az eredet rácsban. Vsszatérve az eredet problémára, az eddg alkalmazott btkosztásnál ugyanazt a korlátot alkalmazták mnden léptéken, ez azonban nem mnden esetben hatásos. Legkülső prams sugara Kódkönyvtár elemszáma Legkülső gömb sugarának négyzete Kódkönyvtár elemszáma Hagyományos kosztás [34] bt (9.754 bt) (9.68 bt) bt (.8 bt) (.779 bt) 4 bt (3.458 bt) (3.989 bt) Kosztás pakolt ndexeléshez bt 6,6,6,7,7,7,7,7 494 (9.967 bt) 8,8,8,8,8,8.5,8.5, (9.938 bt) bt 7,7,7,7,7,8,8, (.9 bt).5,.5,.5,.5,.5,.5,, 4536 (.975 bt) 4 bt 9,9,9,9,9,9, (3.9 bt) (3.989 bt) 5. táblázat Az MSLVQ-t alkotó LVQ-k legnagyobb lehetséges korlátja prams és gömb alapú korlátozással, és 4 btre, 8 (lletve 7) darab léptékkel Tekntsük a 5. táblázatban az eddg alkalmazott allokácós technka eredményet, és 4 btre. A prams alapú korlátozásnál bten azzal a helyzettel kell szembenéznünk, hogy ha 7- re állítjuk a korlátot, akkor 9384 (.8 bt!) lesz a 8 kódkönyvtár elemszámának az összege, a következő lehetséges korlátra, 8-ra állítva a korlátot pedg már nem férnénk be a btbe, sőt a 3 btbe sem ( kódszó, 3.34 bt). Összefoglalva, a prams alapú korlátozásnál a btet éppen átlépő kódkönyvtár méret után a következő lépés rögtön 3 btet átlépő kódkönyvtár méret lenne. Ezzel azonban btre nem lehetne rendszert tervezn, helyette azt kellene használn, amt btre s használnánk, mközben ott sem használunk k.9 btet. A tört btes tartalék valamféle khasználására azt a megoldást javaslom, amt egyébként Fscher ndexelő algortmusa, vagy a Rault-Gullemot ndexelő algortmus, vagy az általam az előző fejezetek egykében javasolt ndexelő algortmus s alkalmaz. Adott a N darab különböző léptékhez egy-egy LVQ kódkönyvtár, ezek elemszáma K, K,, K N. Az LVQ kódkönyvtárakon belül tudunk ndexeléssel megcímezn bármely kódvektort, de szükség van az N darab kódkönyvtár egykét s megjelöln. Ekkor az eredő MSLVQ ndex, ha a kódvektor az n ndex léptéken található és ott az ndexe : n = + MSLVQ K j= j (6.7) ahol természetesen n N, < K n, és MSLVQ < K + K + + K N. Ezt a megoldást a továbbakban pakolt ndexelésnek nevezem. A pakolt ndexelés dekódolásához először a n lépték ndexet kell megkeresn (például egy for cklussal), majd ez alapján megkapható az ndex s. Az n [,N] léptékndex az az egész szám, amelyre 88

95 n n K < = MSLVQ = j j K j j Ezután n smeretében már megkapható az ndex s (6.7) alapján: n, ahol n N (6.8) = MSLVQ K j= j (6.9) Például a rég ndexelésnél a btes sémánál 8 db 53 (6.75 bt) elemű halmaz unójának elemszáma persze bten ábrázolható, de ugyanígy beférne a btbe pakolt ndexeléssel 3 darab 53 elemű és 5 darab (7.8 bt) elemszámú halmaz unója s, hszen így <. Ezzel a megoldással több kódpontot tudunk fgyelembe venn a btsebesség növelése nélkül, amtől azt várjuk, hogy ugyanazon a btsebességen a kódolás torzítás csökkenn fog. A 5. táblázat azt mutatja meg, hogy pakolt ndexeléssel mennyvel több kódpontot lehet felhasználn az adott btsebesség mellett. A pakolt ndexelés különösen a prams alapú korlátozásnál fontos, ennek bevezetésével bten kb. 6%-kal több, bten pedg kb. 3.5-ször anny(!) kódvektorunk lesz. Különösen ez utóbb jelent lényeges növekedést. Azonban 4 bten a pakolt ndexelés önmagában nem hoz eredményt, alkalmazása csak úgy tehető meg, hogy egy léptéket elhagyunk. Ematt 4 bten prams alapú korlátozásnál nem 8, hanem csak 7 léptéket használtam pakolt ndexeléssel. Megjegyezzük továbbá, hogy a gömb alapú korlátozásnál a pakolt ndexelés érdekében egy léptékelhagyás sem lenne elegendő, mvel az eredet, pakolás nélkül séma s elég pontosan khasználja a 4 btet (kb bt), ezért tt a pakolt ndexelést nem s vzsgáltam. Azonban gömb alapú korlátozásnál a pakolt ndexelés használható és bten, ekkor 5%-kal, lletve 5%-kal több kódszó használható. A vzsgálatok azt mutatták, hogy ha néhány léptéken emeljük meg a korlátot, akkor a nagyobb léptéktényezők rácsan célszerű a nagyobb korlátot érvényesíten. Ez azt jelent, hogy az MSLVQ külső, már rtkább tartományát toljuk még távolabb az orgótól, így a nagyobb energájú vektorok esetében - amelyek a túlcsordulás (overload) tartományba esnének a kvantálás eredményeképpen kevesebb lesz a túlcsordulás. A ksebb léptékeken való korlátnövelés nem növelné a granulárs tartományt, csupán sűrűbbé tenné a távolabb teret Az MSLVQ túlcsordulás tartományának kezelése Egy rácskvantálónál a túlcsordulás (overload) tartomány kezelése mndg külön kérdés. Ha a túl nagy energájú vektor nem fér bele a rácskvantáló korlátjába, akkor a szakrodalom alapján a leggyakorbb három technka az alább: A rács skálázása: a rácsvektort egy másk, egyébként nem lefoglalt léptéken kódoljuk le, és nemcsak a rácsvektor ndexét, hanem a kvételes léptéket s elküldjük a dekódernek. 89

96 A rácsvektor skálázása: a rácsvektort addg zsugorítjuk, amíg rá nem esk a legkülső pramsra vagy gömbre. A zsugorítást általában egy -nél valamvel ksebb számmal beszorozva végezzük el. Ekkor a rácsvektor alakja nkább megmarad, de az energája jelentősen csökken, azonban ez a technka nem bztos, hogy négyzetes hba értelmében s optmáls eredményt ad. A különleges vektor kódolása más módon, például skalár kvantálókkal. A túlcsordulás tartomány kezelésére én a rácsvektor skálázását választottam, de a zsugorítást a négyzetes hba értelmében optmáls módon végeztem el. Ehhez azonban a + D rácsot szét kellett bontan az alkotó elemere, a D rácsra és a (½,½,,½)+D rácsra, amelyek dszjunktak és unójuk alkotja a + D rácsot. Vegyük most a dmenzós x bemenő vektort, és skalár kvantálóval kvantáljuk mnden koordnátáját (legyen ez y), ekkor a dmenzós kockarácsra jutunk. Ha az L norma páros, akkor egyúttal a D rácsban s benne van y. Ha nem, akkor meg kell +-gyel vagy --gyel változtatn azt a koordnátáját, ahol ez a változtatás a legksebb négyzetes hbát okozza az eredet vektorhoz képest, ez így mnden koordnátában próbát jelent. Ha prams alapú korlátozásnál az L norma, hpergömb alapú korlátozásnál az L norma túl nagy, akkor csak zsugorítan szabad, azaz a felé szabad változtatn a megfelelő koordnáta értékét (vagys ha negatív egy koordnáta értéke, akkor csak -gyel való növelést kell vzsgáln, poztívnál az - gyel való csökkentést, a értékű koordnátákat pedg k kell a vzsgálatból hagyn), de a másk rányban nem szabad mozogn. Ilyen módon egyszer csak eljutunk a D rács azon pramsára vagy hpergömbjére, amely megfelel a korlátnak. Mvel mnden lépésben a MSE értelmében legjobb döntést hoztuk, így a kapott zsugorítás vagy nyújtás MSE értelében s optmáls lesz. Arra mndenképp fgyelnünk kell, hogy a végeredmény páros pramson legyen, hszen ez a D k rács defnícója (a legkülső prams sugara azért lehet páratlan a + D rácsban, mert ezt a + D rács másk komponense, a (½,½,,½)+D k okozza). Hasonló stratéga alkalmazható a (½,½,,½)+D rácsban s, tt csak az (½,½,,½) eltolás vektor hatását kell megfelelő módon fgyelembe venn. Az LVQ eredménye pedg a két eredmény, vagys a (½,½,,½)+D rácson és a D rácson kapott eredmény közül az, amelyk MSE értelemben közelebb van az x bemenő vektorhoz. Ekkor tehát egy LVQ esetén két jelölt közül kerül k a végső győztes. MSLVQ esetén pedg mnden lépték rácskvantálójának két jelöltje van, vagys N darab lépték esetében N jelölt közül kell a végső döntést meghozn. 9

97 Új távolságkrtérum szntézs által analízs technkával Az általam javasolt rendszerben az MSLVQ nem osztott vektorkvantálásként működk, így az általam javasolt új KLT+GW algortmus (amelyet az általános súllyal vett WSE és lneárs transzformácó alapú LSF kódolásra javasoltam) nem különbözk a régtől, hszen az első szegmensre mnd a kettő ugyanúgy működk: a dekódolt LSF vektort és az eredett kell összehasonlítan súlyozott négyzetes hba távolságkrtérummal. Ez valójában egy szntézs által analízs (AbS) megoldás. Az AbS-nek azonban van még egy fontos tulajdonsága: nem az összes lehetséges esetben végzk el a szntézst, hanem először egy ksebb komplextású összehasonlítást végeznek el (pl. négyzetes hba alapon dekódolás nélkül), és ezek közül a legjobb A darab jelöltre végzk el a szntézst, és ott hozzák meg a végső döntést (értelemszerűen A vszonylag ks egész szám, de <A). Meg kell jegyezn azt s, hogy ha nem alkalmaznánk lneárs transzformácót (pl. csak PMSLVQ-t), akkor a WMSE krtérum a rácskvantálónál s alkalmazható lenne akkor, amkor a kockarácsról kell a D rácsra vagy a (½,½,,½)+D rácsra zsugorítan, lletve nyújtan. Az általam készített rendszerben az alábbak szernt állapítottam meg, hogy menny jelöltre kelljen elvégezn a szntézst: Kvantálás az adott léptéken a D rácsra:. A kvantálás egy adott léptéken először a Z kockarácsra történk meg, ez a vektor lesz y.. Ha y a korláton belül van és ráesk a D rácsra, akkor készen vagyunk. 3. Ha y a korláton kívül van, akkor csak zsugorítást engedélyezünk. 4. Zsugorítjuk vagy (ha lehet) nyújtjuk az y vektort egyetlen koordnáta megváltoztatásával a négyzetes hba optmalzálásával. 5. Folytatjuk -től, amíg az ottan feltétel nem teljesül. Kvantálás az adott léptéken az (½,½,,½)+D rácsra:. Kvantálás egy adott léptéken először a (½,½,,½)+Z kockarácsra, a kapott vektor y.. Ha y a korláton belül van és ráesk a (½,½,,½)+D rácsra, akkor készen vagyunk. 3. Ha y a korláton kívül van, akkor csak zsugorítást engedélyezünk. 4. Zsugorítjuk vagy (ha lehet) nyújtjuk az y vektort egyetlen koordnáta megváltoztatásával a négyzetes hba optmalzálásával. (Fgyelem: az ½ értékű koordnátát nem szabad - gyel csökkenten, mert ezzel -½ lesz, am a sem az L, sem az L normán nem változtat semmt és végtelen cklusba kerül az terácó. Hasonló a helyzet a -½ értékkel s). 5. Folytatjuk -től, amíg az ottan feltétel nem teljesül. 9

98 A N lépték mndegykén elvégezzük a fent kvantálást, amely eredménye N darab vektor lesz, mndegykre smert a négyzetes hbája x-hez képest. Vesszük az A N darab legjobb vektort (egy léptékről akár mnd a kettő továbbjuthat), elvégezzük rajtuk a szntézst, és a kapott A darab LSF vektor közül a választott bonyolultabb távolságkrtérum szernt legjobbra döntünk. Ezek közül a következőeket használtam: o WSE, mnden lépték mndkét jelöltjére, vagys A= N o LSD, ahol A szabadon választható a teljes tartományán, azaz A=,, N Az tt smertetett, általam ktalált algortmusban az az újdonság, hogy mnden léptékről jelölt jut el a végső döntésg, nem pedg egy, valamnt az, hogy a rácskvantálásra skerült egy olyan sémát találn, amelyben néhány jelöltet k lehet emeln a teljes kódkönyvtárból, és ezekre akár olyan komplex torzításkrtérum s alkalmazható, mnt a logartmkus spektráls torzítás A koordnáták között fontosság kezelése a rácskvantálás során A rácskvantálás egyk optmaltására vonatkozó tételt Fscher fektette le, amkor s azt bzonyította, hogy memóramentes többdmenzós független Laplace eloszlású forrásra a forráskódolás tétel alapján az entrópakódolóval kegészített aszmptotkusan optmáls vektorkvantáló kódkönyvtára jó közelítéssel egy rács koncentrkus pramsanak sorozatának felel meg. A KLT ebből a szempontból hatásos, hszen dekorrelálja a jelet (a tanító adaton), de a KLT abból a szempontból nem kedvező, hogy a ksebb sorszámú (fontosabb) koordnátákban a jel energája nagyobb, mnt a nagyobb sorszámú (kevésbé fontos) koordnátában. Meg kell azonban említen, hogy ezen a predkcó még változtathat abban a sémában, ahol a KLT és az MSLVQ között predkcó s található, és ezt mutatja s a. ábra, ahol a másodk koordnátában az emprkus sűrűségfüggvény jobban szétterül a közel várható érték közül, mnt az első koordnátában, és ez alapján azt s mondhatnók, hogy ez a koordnáta a predkcó után mntha fontosabbnak látszana az elsőnél. Mndenesetre szükséges lehet a koordnátákon belül valamlyen eloszlás transzformácó, amellyel ezt a fontosság sorrendet fgyelembe tudjuk venn. Mvel az MSLVQ-val részben kezeljük azt a problémát, hogy az orgó felé sűrűbb a kódkönyvtár, mnt attól távolodva, ezért elvetettem az olyan jellegű eloszlás transzformácókat, amelyek a sűrűségfüggvény alakját megváltoztatják, és csak egy specáls módszert választottam, amely egy egyszerű koordnátánként skálázás. Ezzel a megoldással elérhető az, hogy a koordnátákat különböző módon zsugorítva fgyelembe tudjuk venn a fontosságot: amelyk koordnátában a rácskvantáló bemenő vektorát jobban zsugorítjuk, ott az egyenletes lépésközű skalár kvantálók kvantálás 9

99 lépésköze ksebb lesz, így a torzítás s ksebb lesz skalár kvantálás esetében pl. normáls eloszlású bemenő jelre. A zsugorítás lyenfajta értelmezésétől azt várjuk a KLT és DCT esetében, hogy a (kevésbé fontos) nagyobb sorszámú koordnátában ksebb lesz a zsugorítás tényező, mnt egy (fontosabb) ksebb sorszámú koordnátában. Ettől a módszertől s a torzítás csökkenését várjuk. Bár a koordnátánként zsugorítást a lneárs transzformácók, és közülük s elsősorban a KLT motválta, ez akár az LSF-PMSLVQ esetben s hasznos lehet, persze a koordnáták között fontosság sorrend a lneárs transzformácóknál szokott módon nem adódk k, de kadódhat például a koordnátánként jel átlagos energájából. Az átlagenerga fgyelése pedg akár adaptív algortmussal s megvalósítható. Az új transzformácós kódoló séma PMSLVQ-val Az előző néhány pontban smertettem az eddg smert LSF-re használt PMSLVQ sémát, valamnt az általam kdolgozott módosításokat. MSLVQ Beszédkeret KL vektor AR predktor LPC analízs LPC LSF konverzó KLT LSF vektor Koordnátánként zsugorítás α α α N LVQ Norma K LVQ Norma K LVQ Norma K N Legksebb torzítású jelölt kváasztása K, K,, K N Pakolt Kódszó ndexelés Skála ndex Dekóder Vektor ndex Dekódolt KL Dekódolt KL vektor vektorok tárolója 6. ábra Új PMSLVQ séma lneárs transzformácó (tt: KLT) alkalmazásával, pakolt ndexeléssel, koordnátánként zsugorítással és módosított torzítás-krtérummal Az új séma kódolóját a 6. ábra mutatja be, az általam módosított elemeket szürke-fehér sávval, az általam ktalált új elemeket pedg szürke színnel jelöltem meg. Módosított elemen az algortmus módosítását értem, a paraméterek módosítását (pl. ha az AR predktor bemenetén KLT vektor van, akkor más a paramétere, mntha LSF vagy DCT vektort kapna) nem tekntettem lényeg módosításnak. Az új kódolóban KLT az AR predktor elé került, ez jobb eredményt adott, mntha az után lenne az MSLVQ elé így ez a séma a KLT-PMSLVQ betűszavakkal jellemezhető. Nagyon hasonló a DCT-PMSLVQ séma s, ekkor a KLT helyett a 93

100 DCT szerepel. Ha a KLT a predktor után áll, akkor ezt a sémát a P-KLT-MSLVQ betűjellel fogjuk jelezn. Az általam ktalált egyk újdonság ebben a sémában a rácskvantáló bemenetén található koordnátánként zsugorítás, amely nemcsak a KLT-PMSLVQ, hanem a PMSLVQ sémában s javulást okoz. Szntén új elem a rendszerben a pakolt ndexelés s. Ennek a következménye az lett, hogy a különböző léptékeken különböző korlátot lehet alkalmazn. A léptékekhez tartozó LVQ-k azonban nem ezért lettek csíkosan jelölve, hanem amatt, hogy tt a kvantálás módosult úgy, hogy a D rácsra és a (½,½,,½)+D rácsra külön-külön kvantálunk, és a nem granulárs tartományban a négyzetes hba alapján lépkedünk a zsugorítást vagy nyújtás megvalósítása érdekében. Az így kapott két eredmény beállítástól függően - részt vehet a szntézs által analízsben, ahol WSE és LSD torzítást s megvzsgáltam, ematt a legksebb torzítású skála kválasztása elnevezésű egység módosult s legksebb torzítású jelölt kválasztása nevűre Mérés eredmények és tapasztalatok A mérés során a fent kódolás sémákat vzsgáltam meg GW, IHMW, LPCW és LSAW súlyozott négyzetes hbával, valamnt tsztán MSE módszerrel, lletve AbS alapú LSD torzítás krtérumokkal s. A súlyozott négyzetes hbával mnden jelöltet megvzsgáltam (A=A max, ahol A max =6 vagy rtkábban 4, utóbb akkor, amkor csak 7 különböző lépték van), míg LSD esetén A=,3,,A max értékek mndegykét kpróbáltam, ezekre LSD A névvel fogok hvatkozn. A kapott eredményeket logartmkus spektráls torzítás (LSD) szernt értékeltem Az új rendszer létrehozása és a transzformácó és predkcó között sorrend a kódolóban Első lépésben azt határoztam meg, hogy a transzformácó (KLT vagy DCT) és predkcó mlyen sorrendben kövesse egymást a kódolóban a dekódolóban értelemszerűen a kódolóban lévő sorrend nverze szerepel. Szntén ebben a lépésben kellett meghatároznom az MSLVQ 8 darab léptékét s külön-külön mnd a négy sémára, melyek jelzése P-KLT, KLT-P, P-DCT és DCT-P (a végéről az MSLVQ tagot lehagytam, merthogy az mndegykben azonos módon a végén szerepelne), valamnt létre kellett hozn a megfelelő transzformácós mátrxokat és predkcós együtthatókat. Predktorként 4-fokú AR predktort használtam. A KLT-PMSLVQ paraméteret a tanító adaton határoztam meg öt lépésben, ahol egy lépés a tanító adatfájl teljes véggolvasását jelent: 94

101 Első kör: a tanító adat -D LSF vektoranak emprkus várható értékét határoztam meg, amely mnden koordnátában az értékek átlaga. Másodk körben a KLT vektor meghatározása a szokásos módon: A várható értékűvé tett LSF vektorok kereten belül autokorrelácós mátrxát számítottam k, és ennek a sajátvektora (a sajátérték csökkenő sorrendjében) adták k a KLT mátrxot. A sajátvektor kszámítására a Jacob-algortmust használtam. Harmadk körben a KLT vektorokra vonatkozó 4-edfokú AR predktort határoztam meg: A várható értékűvé tett LSF vektorokat tanszformáltam a KL mátrxszal, a kapott -D KL vektoroknak mnden a tíz koordnátájában meghatároztam a szomszédos keretek között autokorrelácós függvényt, amely függvényt 5 együttható ad meg. Ebből a különböző autokorrelácós függvényből számította k a Levnson-Durbn algortmus a darab lneárs predkcós együtthatót, egy predktorra négy együtthatót. Negyedk körben az MSLVQ nyolc darab léptéktényezőjét (α, α,, α 8 ) határoztam meg: A várható értékűvé tett LSF vektorokat transzformáltam a KL mátrxszal, a kapott -D KL vektoroknak a predkcós hbáját kvantáltam az MSLVQ kvantálóval, ahol a nyolc lépték volt a bemenet, amelyet a mérés során folyamatosan változtattam. Mnden léptéktényező halmazhoz meghatároztam a logartmkus spektráls torzítást, és ez alapján hasonlítottam össze a léptéktényező halmazokat. A léptékek kndulásául a PMSLVQ sémában lévő értékek szolgáltak, a rács fő skálázó tényezőjét pedg λ=5-re választottam meg. A módosítást szelektíven végeztem, a legbelső LVQ-tól ndultam kfelé, mndg csak léptéktényezőt módosítottam.5-ös lépésközzel mndkét rányba addg, amíg.3-del túl nem jutottam az addg optmáls ponton. Amkor lyenformán mnmumot találtam, akkor léptéktényezőt vsszalépve azon újra elvégeztem a vzsgálatot. Utolsó lépésként a rács fő skálázó tényezőjét, λ-t pontosítottam: A λ optmáls értéke egyértelműen btsebesség függő (ezt a rács korlátozásával szabályozzuk), hszen ha λ állandó, akkor a rácskorlát növelésével vagy csökkentésével nem a koordnátán belül skalár kvantáló lépésközét változtatnánk, hanem csak a korlátos tartomány sugarát. Ezért mnden pakolt ndexelés konfgurácóra a λ=3,3,3,..,8 értékek közül a tanító adaton legksebb a logartmkus spektráls torzítást adó értéket választottam k. Hasonló módon történt a P-KLT, a DCT-P, P-DCT és a transzformácó nélkül PMSLVQ séma paraméterenek meghatározása. Ez utóbbnál anny megjegyzést teszek, hogy a kezdet, optmalzálás előtt léptéktényező halmaz a [34]-ban található léptéktényező halmaz volt. A léptéktényezőket a 6. táblázat foglalja össze. Látható, hogy a léptéktényező halmaz a [34]-ban 95

102 megadottól nem tér el jelentősen, és az általam használt tanító adatra a különböző módszerek léptéktényező még ennél s kevésbé különböznek. α α α 3 α 4 α 5 α 6 α 7 α 8 Vaslache-Tăbuş [34] PMSLVQ DCT-P KLT-P P-KLT DCT-P, 7 sznt KLT-P, 7 sznt táblázat Léptéktényezők (α ) a különböző sémákban Végezetül a PMSLVQ, KLT-P és P-KLT sémákat az MSE torzítás-krtérummal működő MSLVQ-val hasonlítottam össze prams alapú korlátozásra 6, 7, 8 és 9 hperprams ampltúdókkal a tanító és a teszt adatokra és kértékeltem a spektráls torzítást. Max. prams Bt Tanító Adat Teszt adat ampltúdó keret P KLT-P P-KLT DCT-P P-DCT P KLT-P P-KLT DCT-P P-DCT táblázat A PMSLVQ, KLT-P, P-KLT, DCT-P és P-DCT sémák logartmkus spektráls torzítása (db-ben) különböző prams ampltúdó korlátokkal A méréssorozat eredményét a 7. táblázat tartalmazza. Megállapíthatjuk, hogy a KLT, lletve a DCT bevezetése mnden esetben jelentősen javította az eredet P(-MSLVQ) rendszer mnőségét. Az előző ponthoz képest (KLT+osztott vektorkvantálás+wse) a tanító és teszt adatokon jelentős javulás fgyelhető meg akár a transzformácó nélkül, akár a transzformácós sémákat nézzük, bár a btszámot tt még nem használjuk k hatékonyan. A sémákat összehasonlítva azt láthatjuk, hogy a transzformácó-predkcó sorrend mnden esetben előnyösebb a predkcótranszformácó sorrendnél, habár a különbség nem lényeges, de kmutatható. A transzformácó bevezetése. db körül nyereséget jelentett logartmkus spektráls torzításban mérve. Ezen eredmények alapján a továbbakban vzsgált, bonyolultabb sémáknál a KLT-P és DCT-P sémákat fogom vzsgáln, mvel ezek jobbnak bzonyultak a P-KLT és P-DCT sémáknál A pakolt ndexelés megvalósítása A pakolt ndexelés lehetővé tesz, hogy egyes, de nem az összes léptékeken a hagyományos korlátnál nagyobb korlátot használhassunk, amíg a btsebesség enged. Ennél a sémánál arra vonatkozóan kell döntést hozn, hogy a hagyományos esethez képest melyk léptékeken lehet 96

103 nagyobb korlátot használn. A nagyobb korlát bevezetése megkívánhatja a léptékek újraoptmalzálását s, sőt az MSLVQ fő skálázó tényezőjének a megváltoztatását s. Hpergömb sugár négyzetének korlátja a különböző léptékeken LSD (db) Hpergömb sugár négyzetének korlátja a különböző léptékeken LSD (db).5,.5,,,,,,.8.5,.5,,,,,,.8.5,,.5,,,,,.8.5,,.5,,,,,.8.5,,,.5,,,,.86.5,,,,,.5,,.83.5,,,,.5,,,.85.5,,,,.5,,,.85.5,,,,,.5,,.83.5,,,,,,.5,.85.5,,,,,,.5,.85.5,,,.5,,,,.86.5,,,,,,,.5.94,.5,,.5,,,,.86,.5,.5,,,,,.87,.5,.5,,,,,.87,.5,,.5,,,,.86,.5,,,.5,,,.87,.5,,,.5,,,.87,.5,,,,,.5,.87,.5,,,,.5,,.88,.5,,,,.5,,.88,.5,,,,,.5,.87,,.5,,,,.5,.88,.5,,,,,,.5.96,,.5,,,.5,,.89,,.5,.5,,,,.9,,.5,,.5,,,.9,,.5,,.5,,,.9,,,.5,,.5,,.9,,.5,,,.5,,.89,,.5,.5,,,,.9,,.5,,,,.5,.88,,,.5,,,.5,.9,,.5,,,,,.5.98,,,,.5,,.5,.93,,,.5,.5,,,.94.5,,,,,,,.5.94,,,.5,,.5,,.9,,,.5,.5,,,.94,,,.5,,,.5,.9,,,,.5,.5,,.94,,,.5,,,,.5.3,.5,,,,,,.5.96,,,,.5,.5,,.94,,,,,.5,.5,.97,,,,.5,,.5,.93,,.5,,,,,.5.98,,,,.5,,,.5.3,,,,,.5,,.5.98,,,,,.5,.5,.97,,,.5,,,,.5.3,,,,,.5,,.5.98,,,,.5,,,.5.3,,,,,,.5,.5.33,,,,,,.5, ,.5,.5,.5,, ,.5,.5,.5,, táblázat KLT-P-MSLVQ sémában a.5 ( léptéken) és (a több 6 léptéken) sugárnégyzet korlát lehetséges esete bt/keretre és a kapott torzítás a tanító adaton A korlát növelésének két szélső esete az, amkor a legksebb léptékeken, lletve a legnagyobb léptékeken növeljük meg a korlátot. Az előbb eset a belső, sűrű tartomány kterjesztését jelent a rtkább tartományok felé, az utóbb pedg a granulárs tartomány növekedését okozza. Ezzel a nagyobb energájú, zsugorításra ítélt vektorok kódolása javulhat, hszen a zsugorítást kevesebb alkalommal kell használn. A 8. táblázatban látható a KLT-P sémára vonatkoztatva az, hogy mekkora változást jelent a btes sémában, ha a.5-ös hpergömb sugárnégyzet korlátot 6 léptéken felemeljük -re, ezzel még bten belül maradunk pakolt ndexeléssel. Az MSLVQ a MSE krtérummal működött az előző alpontban meghatározott léptéktényező halmazzal. Ha 8-ból helyen marad a ksebb 97

104 8 korlát, akkor lehetőség van, ez a 8 eset látható kétféle sorrendben a fent táblázatban: balra a korlátok vektorának rendezése ABC szernt, jobb oldalon pedg torzítás (LSD) szernt. A kétféle rendezésből látható, hogy a legjobb séma az, amkor a két legksebb korlát a két legksebb léptéken van, vagy másk rányból nézve, amkor a legnagyobb korlátok a legnagyobb léptékekre kerülnek. Látható az s, hogy mnél magasabb léptékre adunk kcs korlátot, annál rosszabb lesz az eredmény. Végül pedg az s látható, hogy valójában nncs nagy különbség a 8 eset között, de összehasonlítva a hagyományos esettel (csak.5 értékű korlát) már a 8 eset legjobbja vszonylag jelentős javulást eredményeznek. Ezen eredmények alapján a pakolt ndexelést úgy állítottam be a tovább mérésekben, hogy a nagyobb korlátok a nagyobb léptékekhez tartoznak Összehasonlító mérések Az összehasonlító mérésekben a tanító és teszt adatbázson s elvégeztem a méréseket, és 4 bt/keret btsebességeken, és kértékeltem a logartmkus spektráls torzítást azokra az esetekre, amkor a kódoló az MSE hbakrtérummal, a GW, IHMW, LPCW, LSAW súlyozásos négyzetes hbakrtérummal, valamnt az LSD A hbakrtérumokkal végezte a kvantálást. Az egy módszerhez tartozó mérés pontokat (ezek a különböző hbakrtérumokkal kapott logartmkus spektráls torzítások) összekötöttem és ábrázoltam egy hbakrtérum-torzítás dagramon, az összekötés egyetlen célja az volt, hogy több módszert lehessen egy dagramon ábrázoln, és látszódjon az, hogy melyk pont melyk módszerhez tartozk. A módszerek az alábbak voltak, az új elemeket aláhúzással emeltem k: Séma szernt: PMSLVQ, KLT-P, DCT-P Rácskvantáló korlátozása szernt: prams alapú korlátozás, gömb alapú korlátozás Pakolt ndexelés: van, nncs Koordnátánként zsugorítás: van, nncs A transzformácós PMSLVQ sémák megvalósításánál a kódolás paraméterek optmalzálását a már említett öt lépésben, nem pedg összevontan végeztem el, mvel ez utóbb sok paraméter együttes optmalzálását jelentette volna. Ehhez hasonlóan az új elemekkel s több lépésben egészítettem k a meglévő rendszert, így vzsgáln lehetett azt s, hogy egy adott újdonság bevezetése mlyen hatással van a spektráls torzításra. Első lépésben a pakolt ndexeléssel egészítettem k a meglévő rendszert, másodk lépésben pedg a koordnáta zsugorítást s alkalmaztam. A pakolt ndexelés esetén 4 bten prams alapú 98

105 korlátozásnál a 7 léptékes megoldást s megvzsgáltam, hszen a 8 léptékű MSLVQ-nál a pakolt ndexelés bevezetésének nem lenne hatása. Mnden mérésben elvégeztem a PMSLVQ és KLT- PMSLVQ rendszerek kértékelését, így a KLT bevezetése mnden lépésben vzsgálható. A grafkonokat a Függelék. dagramjan láthatjuk. Összességében megállapítható, hogy a grafkonok jellegzetes alakúak, ahol az MSE krtérum adja a legrosszabb eredményt, a WSE krtérumok közül mndg a GW a legjobb és az IHMW a másodk legjobb, míg az LPCW és LSAW eredménye lényegében nem különbözk az MSE eredményetől. Az LSD A krtérumoknál A=..4 tartományban meredek javulás fgyelhető meg A növekedésével úgy, hogy már az LSD krtérum s jobb, mnt a GW krtérum, és az A=4..8 már lényegében elér a mnmáls torzítást. Általánosan elmondható, hogy A=4-nél nagyobb értéket már nem érdemes választan, mert a javulás mnmáls A pakolt ndexelés bevezetésének hatása A pakolt ndexelés bevezetésének hatását a Függelékben az 6. ábra (5. oldal) mutatja be, és 4 bt/keret btsebességre a tanító és teszt adatokon. Látható a grafkonokból a kndulás PMSLVQ sémánál (folytonos vonal), hogy a gömb alapú kódolás jobb mnőségű a prams alapú kódolásnál, ez megegyezk a [34]-ben megadott tapasztalatokkal. A KLT-P séma (szaggatott vonal) esetén azonban csak bten volt jobb a gömb alapú korlátozás, és 4 bten már a prams alapú korlátozás volt jobb (ezt a btsebesség-torzítás dagramok alapján az MSLVQ hatásának tudható be), ennek megfelelően gömb alapú korlátozásnál a KLT bevezetése kcs nyereséggel járt (vagy pl. bten veszteséget könyvelhettünk el), prams alapú kódolásnál pedg lényeges javulás volt megfgyelhető. Pakolt ndexelés nélkül (a mérés pontok ktöltés nélkül alakzatok) a legjobb PMSLVQ-hoz képest a legjobb KLT-P bten.8 db, bten. db (ez lényegében nulla), 4 bten pedg.6 db javulást jelentett a teszt adaton, vagys az alapvető esetben bten nkább, 4 bten már kevésbe lehetett csak azt mondan, hogy a KLT-t érdemes bevezetn. Amennyben a pakolt ndexelést s bevezettük (szürkével ktöltött alakzatok a mérés pontok), akkor a KLT nyeresége s megnőtt egy kcs, de kmutatható mértékben: bten. db, bten.4 db, 4 bten pedg lényegében maradt a.6 db nyereség. Ezek az értékek az LSD A krtérumoknál, valamnt a GW és IHMW krtérumoknál fgyelhetőek meg, MSE esetében a nyereség kevesebb. A pakolt ndexelés bevezetése (csak és bten) mnden sémán belül javulást eredményezett, a sémától függően. db-től.6 db-g fgyelhető meg javulás a teszt 99

106 adaton. Érdekesség, hogy a PMSLVQ esetén a pakolt ndexeléssel már a prams alapú korlátozás adott k jobb eredményt bten Koordnátánként zsugorítás hatása A következő lépés az volt, hogy a pakolt ndexelés mellé a koordnátánként zsugorítást s bevezettem, és megvzsgáltam ennek a hatását. A tanító adaton meghatározott és a mérések során használt zsugorítás tényezőket a 9. táblázat tartalmazza. Módszer Szorzótényező a megfelelő koordnátában az MSLVQ bemenetén P-MSLVQ KLT-P-MSLVQ DCT-P-MSLVQ táblázat Koordnátánként zsugorítás értékek a különböző módszerekre A zsugorítás szorzótényezőket a predkcós hbára alkalmazzuk, -nél nagyobb érték fnomabb kvantálást, -nél ksebb érték durvább kvantálást jelent. Megállapítható, hogy DCT esetén a predkcó után megmaradt a ksebb sorszámú koordnáták fontossága a nagyobbakkal szemben, de a predkcó ezt KLT-nél az első két koordnátában megváltoztatja - ezt egyébként a 7. oldalon (. ábra) látható KLT és KLT emprkus sűrűségfüggvények s sugallják, hszen tt a másodk koordnátában az elsőénél nagyobb szórásnégyzet látszk, mközben a több szórásnégyzet a koordnátabel sorszám növekedésével csökkenőnek látszk. Azonban a nagyobb sorszámú koordnátákban a KLT-P esetén a fontosság sokkal jelentősebben csökken (az első és utolsó aránya -nél nagyobb), mnt DCT-P esetén (az első és utolsó aránya csak 6/9). A módszerek torzítás dagramjat a Függelékben az 6. ábra (5. oldal) tartalmazza. A koordnátánként zsugorítás hatása.3 db-.4 db logartmkus spektráls torzítás javulás volt, és 4 bten a teszt adaton, az ettől való eset eltérés mnmáls volt. Akárcsak a pakolt ndexelésnél, tt s megfgyelhető volt valamekkora javulás, amely önmagában nem számít lényegesnek. Azonban a két javulás együttesen már lényeges javulást okoz, és ha de számítjuk még a KLT bevezetését s, akkor összességében jelentős javulást okoz az új elemek bevezetése, amnt ezt a Függelékben lévő grafkonok mutatják (63. ábra, 53. oldal). Ezekben a grafkonokban a pakolt ndexelés és koordnátánként zsugorítás együttes hatása van feltüntetve PMSLVQ, KLT-P és DCT-P sémákra, valamnt az IHMW hbakrtérumnál az eredet, IHWM hbakrtérumot, gömb alapú korlátozást és PMSLVQ-t használó LSF kódoló [34] eredményet s láthatjuk x-szel jelölve. Megjegyezzük, hogy a gömb alapú korlátozás pakolt ndexelés és koordnátánként zsugorítás nélkül az én teszt adatamra s eredményesebb volt a prams alapúnál, de az újítások matt a prams alapú korlátozás több esetben előnyösebbé vált.

107 Az új módszerek összehasonlítása az smert rendszerekkel Az összehasonlítást, és 4 bt/keretre a Függelékben lévő grafkonokon (63. ábra, 53. oldal), lletve az ezekből készült a. táblázaton végezzük el. Tanító adat Teszt adat LSD Nagy torzítású keretek (%) LSD Nagy torzítású keretek (%) Módszer (db) -4 db 4 db felett (db) -4 db 4 db felett bt/keret Új P-MSLVQ, LSD 4, pr KLT-P-MSLVQ, LSD 4, pr DCT-P-MSLVQ, LSD 4, pr Új P-MSLVQ, GW, pr KLT-P-MSLVQ, GW, pr DCT-P-MSLVQ, GW, pr Új KLT+GW Rég KLT+GW [77] Rég osztott VQ+GW [77] A. és M. Vaslache, I. Tăbuş [34] bt/keret Új P-MSLVQ, LSD 4, gömb KLT-P-MSLVQ, LSD 4, gömb DCT-P-MSLVQ, LSD 4, gömb Új P-MSLVQ, GW, gömb KLT-P-MSLVQ, GW, gömb DCT-P-MSLVQ, GW, gömb Új KLT+GW Rég KLT+GW [77] Rég osztott VQ+GW [77] A. és M. Vaslache, I. Tăbuş [34] bt/keret Új P-MSLVQ, LSD 4, gömb KLT-P-MSLVQ, LSD 4, pr DCT-P-MSLVQ, LSD 4, gömb Új P-MSLVQ, GW, gömb KLT-P-MSLVQ, GW, pr DCT-P-MSLVQ, GW, gömb Új KLT+GW Rég KLT+GW [77] Rég osztott VQ+GW [77] A. és M. Vaslache, I. Tăbuş [34] táblázat GW és LSD 4 hbakrtérumot használó LSF, KLT és DCT alapú PMSLVQ kódolók összehasonlítása az LSF és KLT alapú osztott VQ és az eredet PMSLVQ LSF kódolóval A. táblázat alapján a transzformácó nélkül esetben a koordnátánként zsugorítás és pakolt ndexelés IHMW esetén a PMSLVQ sémánál rendre.8,.6 és.3 db nyereséget jelentett, ha átváltunk a [77]-ben javasolt GW súlyra, akkor a nyereség már.9,.7 és.4 lesz, és 4 bt/keretre. A KLT bevezetése (a több újítás megtartása mellett) az előbb nyereségeken felül tovább.3,.6 és.7 db nyereséget jelent, és 4 bt/keret btsebességen a teszt adaton. A kndulás [34] kódolóhoz képest a nyereség így rendre.,.4 és. db, mndegyk jelentős javulás.

108 A DCT-P-MSLVQ sémában nem kell a KLT mátrx betanításából származó bzonytalansággal szembenéznünk, vszont a transzformácós mátrx távol eshet az optmálstól. A PMSLVQ sémához képest a DCT-P-MSLVQ séma javulása nem akkora, mnt a KLT-P-MSLVQ sémáé, vszont ekkor s megfgyelhető javulás. A DCT bevezetése.5,.4 és.3 db nyereséget jelent, és 4 bt/keretre a teszt adaton, így a kapott nyereség rendre.3,. és.7 db a kndulás [34] kódolóhoz képest, és bten ez jelentős javulást jelent. A jelentős,. db javulást 4 bten s el lehet érn, azonban ekkor már nem elég a GW hbakrtérum, hanem az LSD 4 hbakrtérumot kell használn. Látható ebből a táblázatból, hogy a rég KLT+GW séma [77] és az eredet PMSLVQ séma körülbelül egyforma mnőséget ad a tanító adaton, de a teszt adaton az eredet PMSLVQ a jobb. Ezen a különbségen az új KLT+GW séma javít, a tanító adaton túl s szárnyalja az eredet PMSLVQ-t, de a teszt adaton azt csak megközelíten tudja. Ahogy azt az előzőekben már láthattuk, az új PMSLQ KLT-vel, DCT-vel vagy anélkül s túlszárnyalja az eredet PMSLVQ-t, KLT és DCT használatával a logartmkus spektráls torzításban a javulás jelentős,. db körül vagy még nagyobb. Van azonban egy szempont, amely alapján a PMSLVQ alapú rendszerek rosszul vzsgáztak, ez pedg a 4 db-nél nagyobb torzítású keretek száma. Az lyen keretek száma (a transzparens mnőséghez ez a szám kell legyen!) az Lnde-Buzo-Gray algortmussal betanított osztott vektorkvantálók (KLT+GW és osztott VQ+GW kódolók) esetében sokkal kevesebben voltak, mnt a PMSLVQ rendszer esetében. Ebből a szempontból a PMSLVQ sémáknál a DCT volt a legjobb a tantó és különösen a teszt adaton, am azzal magyarázható, hogy a transzformácó bevezetése javította a rendszer mnőségét, de a KLT mátrx már nem volt optmáls bzonyos keretek esetében A btsebesség-torzítás dagramok értékelése Van egy másk összehasonlítás szempont s, nevezetesen az, hogy az adott logartmkus spektráls torzítást hány bt megtakarításával lehet elérn. A. táblázat nem elég részletes ennek a megválaszolásához, mert csak a keretenként, és 4 btes eseteket mutatja. A dagramok a 8 és 4 bt között a pakolt ndexeléssel megvalósítható összes (tört) keretenként btszámhoz meghatároztam a logartmkus spektráls torzítást tartalmazzák a tanító és teszt adatokra, ezeket a 7. ábra tartalmazza. A rács λ fő skálázó tényezőjét mnden konfgurácóban újraoptmalzáltam változatlan léptéktényező (6. táblázat) és zsugorítás együtthatók (9. táblázat) mellett.

109 A btsebesség-torzítás görbéknek mnd gömb, mnd pedg prams alapú korlátozásnál jellegzetes alakja van, amely független attól, hogy van-e és mlyen transzformácó van a predktor előtt. A görbe döntően szgorúan monoton csökkentést mutat (ahol azt elvárjuk), am azt mutatja, hogy a pakolt ndexelés alkalmas fnom btsebesség vezérlésre. A csökkenés mértéke azonban btsebesség tartományokon keresztül más és más, ez különösen a prams alapú korlátozásra jellemző. Bzonyos tartományban a rácspontok számának növelése jelentős mnőségnövekedést okoz (pl. a 9.8 és bt/keret), ezt azonban egy olyan szakasz követ, amelyekben a rácspontok számának növelése alg okoz torzítás csökkenést (pl. a.. bt/keret, vagy a bt/keret). Ezeknek a lépcsőknek a megléte magyarázza azt s, hogy bt/keret esetében mért lett a KLT-P-MSLVQ sémában a gömb alapú korlátozás a jobb, mközben és 4 bten a prams alapú lett a jobb. A lépcsők ugyanazon btsebességeken fordulnak elő prams alapú korlátozásnál mnden módszernél mnd a tanító, mnd a teszt adaton, ezért ezt a pakolt ndexelésnek és a PMSLVQ-nak tulajdonítom. 7. ábra Pakolt ndexelést használó LSF kódolás sémák torzítása a 8..4 bt/keret tartományon 3

110 A. táblázatból az látszk, hogy a KLT-P-MSLVQ btes eredménye lényegében mnmálsan rosszabb a 4 btes eredet PMSLVQ eredményétől (a tanító adaton. db-vel, a teszt adaton.3 db-vel), és a btes KLT-P-MSLVQ séma pedg jobb az eredet btes PMSLVQ-nál, vagys tt bt nyereség mutatható k. Azonban ez a bt csak azokon az LSD értékeken fordul elő, ahol a prams alapú korlátozás görbéjében lépcső található ( bt, bt). Ugyanez a lépcső után stagnáló szakaszokon.4 btre csökken (pl. teszt adat,.3 db: a KLT- P-MSLVQ-nál bt, a rég PMSLVQ-nál pakolt ndexeléssel.4 bt). A prams alapú korlátozás a gömb alapúval szemben csak a KLT esetén volt eredményes a teljes tartomány nagy részén. Más módszereknél a lépcső aljának környezetében volt a prams alapú korlátozás előnyösebb, egyébként a gömb alapú a jobb. Látható, hogy az új PMSLVQ séma jobb eredményt adott a régnél, ezeket a DCT gömb alapú sémá mnden esetben túlszárnyalták, a legjobb eredményt pedg és 4 bten a KLT alapú rendszer adta hol prams, hol gömb alapú korlátozással. Érdekes, hogy ksebb btsebességek rányában a DCT-P-MSLVQ adta a legjobb eredményt ( bt/keret) még a tanító adatra s, amt azzal magyarázhatunk, hogy a tömörítés nélkül jelre betanított KLT mátrx a ksebb btsebességeken már elveszt optmaltását a predkcós sémában alkalmazva. A btsebesség-torzítás dagramokat elemezve látható, hogy az új módszerek jelentős mnőségbel javulást jelentenek, de a btsebességtől függ az, hogy közülük melyk módszert érdemes választan. Ha nem alkalmazunk KLT-t, akkor egyértelműen a gömb alapú korlátozást érdemes választan, ahol az új PMSLVQ séma az eddg smerthez képest mndg.5 db körül javulást jelent, ezen sémákhoz képest a DCT-P-MSLVQ gömb alapú korlátozással már jelentős,. db körül javulást eredményez logartmkus spektráls torzításban mérve. A KLT bevezetését magasabb btsebességeken érdemes csak megtenn, tt hol a prams, hogy pedg a gömb alapú korlátozás bzonyult eredményesebbnek Az új algortmusok komplextásának összehasonlítása az smert rendszerekével Az új módszerek közül mnd az LSD A, mnd a GW-t használó WED alapú torzításkrtérumot megvzsgáltam az áltagos műveletszámra vonatkozólag, lletve összehasonlítottam egy egyszerű, szntén GW-t használó WED alapú torzításkrtérummal működő osztott vektorkvantálóval, ahol az LSF szegmentácója és mnden szegmensre 8 bt jut. A transzformácó nélkül és GW-t használó PMSLVQ séma műveletszáma mnmálsan tér el az eredet PMSLVQ séma [34] műveletszámától, ha az s a GW súlyt használja, hszen a pakolt ndexelés és a zsugorítás néhány 4

111 művelettel megvalósítható. Az így kapott másodpercny adatra (5 LSF keret/másodperc) vonatkozó műveletszám becsléseket a. táblázat mutatja be, az adatok meghatározásáról a Függelék 9. fejezetében ( oldal) található nformácó. új KLT + PMSLVQ + LSD új KLT + PMSLVQ + LSD 4 új KLT + PMSLVQ + LSD 8 új KLT + PMSLVQ + GW új PMSLVQ + GW Osztott VQ + GW 8 bt/szegmens Egyszerű.6 M.64 M 4.69 M művelet szorzás.7 M. M 3.79 M D tömb M.77 M D tömb osztás log() cos() abs() mn() táblázat Különböző sémák műveletgényének összehasonlítása: az új transzformácós PMSLVQ séma WMSE hbakrtérummal GW súllyal, valamnt LSD, LSD 4 és LSD 8 hbakrtérumokkal, lletve a transzformácó nélkül séma és a szntén GW súlyt használó WMSE alapú osztott vektorkvantáló, ha egy szegmensre 8 bt jut A. táblázat alapján megállapítható, hogy a transzformácó bevezetése a teljes rendszer szempontjából csak az egyszerű műveletek, valamnt a szorzás és az D tömb elérés szempontjából okoz műveletszám növekedést, ott vszont -3-szoros mértékűt. Az így kadódott műveletszám azonban még mndng gen alacsony, és lényegében megegyezk a transzformácó nélkül osztott VQ műveletszámával. Az LSD A mérték alkalmazása azonban dráma műveletszám növekedést okoz, a másodpercenként műveletszámok a ezres nagyságrendből átkerültek a mllós nagyságrendbe. Fgyelembe véve azt, hogy az LSD A mérték alkalmazása csak néhány század db javulást jelent a GW-hez képest, a drasztkus műveletszám növekedés matt nkább csak elmélet jelentősége lehet. Egy gyakorlat alkalmazásban a transzformácós PMSLVQ séma alkalmazása lehet előnyös, hszen a kódolás torzítása az LSD értelemben sokkal kedvezőbb az eddg rendszerekénél, és a komplextása s összemérhető az azokéval Összefoglalás Ebben a fejezetben új sémákat mutattam be LSF vektorok kódolására. Mndegyk séma alkalmazta a súlyozott négyzetes hba alapú vektorkvantálást. Az első sémában a tanszékünkön feltalált GW általános súlyra alkalmazott lneárs transzformácós LSF kódolás sémában mutattam meg, hogy a transzformált tartományban működő osztott vektorkvantálás esetén a 5

112 szegmensek függnek egymástól, és jobb eredményt kapunk, ha a távolságkrtérumban fgyelembe vesszük, hogy azon szomszédos szegmensekben mlyen eredményt kaptunk, amelyekben a vektorkvantáló már meghatározta a kvantált kódpontot. A fejezet másodk felében az egyk előző fejezetben smertetett rácskvantálás és a lneárs transzformácós LSF kódolás előnyet skerrel ötvöztem egyetlen rendszerben. Itt a kvantálást teljes egészében egy rácskvantáló végezte, mégpedg egy többléptékű rácskvantáló a dmenzós + D rácsot használva. A rácskvantáló bemenetén a szakrodalomban és az összes új szabványban s elterjedt AR predktort s alkalmaztam a tovább kódolás nyereség céljából. Az eddg használt többléptékű rácskvantálást két ponton s javítottam: az egyk újítás a pakolt ndexelés, a másk a koordnátánként zsugorítás volt. Az utóbbval a koordnátákban lévő eloszláskülönbségeket használtam k, az előbbvel pedg adott btsebességen több kódpontot lehetett használn. A pakolt ndexelésnél azt tapasztaltam, hogy a nagyobb korlátokat a nagyobb léptékekhez érdemes hozzárendeln. Megmutattam a tanító és teszt adatokon, hogy mndkét újítás javította az LSF kódolás mnőségét az átlagos logartmkus spektráls torzítás tekntetében a meglévő rendszerekhez képest. Ezen felül új távolságkrtérumot s bevezettem, ez pedg a szntézs által analízsen alapult. Az új távolságkrtérum lényege az, hogy a többléptékű vektorkvantáló mnden léptékén két jelöltet különböztet meg a + D két részrácsra való osztásával. A jelöltek közül a négyzetes hba szernt A darab legjobbat megtartottam (8 lépték esetén A 6), és ezekre vsszaállítottam az LSF vektorokat, majd azokra kszámoltam a logartmkus spektráls torzítást. A mérés eredmények azt mutatták, hogy a többléptékű vektorkvantálóban végzett súlyozott négyzetes hbakrtérumot ezzel a módszerrel már A=-vel s túl lehet szárnyaln, és A=4 esetén már lényegében elérjük a legjobb megoldást. A predktív többléptékű rácskvantáló rendszert kegészítettem KLT és DCT transzformácóval s. A lneárs transzformácó bevezetése mnden esetben tovább javulást eredményezett: KLT esetén az összes újítás alkalmazásával logartmkus spektráls torzításban mérhető mnőségjavulás rendre. db (!),.4 db és. db, mndegyk jelentős javulást jelent. A. db felett mnőségjavulást a DCT-vel s el lehet érn, és bten az smert GW vagy IHMW súlyokkal, 4 bten pedg a szntézs által analízs technkával. Alacsonyabb btsebességre azt tapasztaltam, hogy a DCT alapú séma elér és meghaladja a KLT teljesítményét s, továbbá általánosan a DCT alapú séma kevesebb olyan keretet okozott, amely logartmkus spektráls torzítása 4 db felett. Ezért egyszerűbb alkalmazásokban, lletve ha nncs a forrásvektorok autokorrelácós mátrxára jó modellünk (a gyakorlatban ez szokott lenn), akkor a DCT, bonyolultabb esetben a KLT alapú séma megvalósítását javaslom. 6

113 7. Összefoglalás Kutatásam során a többdmenzós jelek kvantálása terén a rácskvantálás elmélet megalapozása, valamnt annak vdeó transzkódolásra és LSF beszédparaméterek predktív transzformácós kódolására az alább eredmények születtek: Olyan rácskvantáláshoz használt ndexelés és elemszámítás algortmusokat dolgoztam k, amelyek képesek az U =..N (b +s D k ) alakú rácsok pramsának felületére eső rácsvektorok számát, lletve egy vektornak az egyed ndexét meghatározn az alább feltételek bármelyke, lletve együttes fennállása mellett: A rácsvektorok koordnátában az értékek tartománya egy véges ntervallumba esk, amely felső határa nem negatív, az alsó pedg nem poztív ( véges koordnátaérték ). A koordnáták értéke közül a értéke kzárható. Ebben a munkában az elemszámítás algortmusok alapját a kockarács egy adott sugarú pramsának elemszámítás algortmusa képezték. A pramson lévő vektorok számának táblázata véges koordnátaértékű kockarácsban a (3.7) képlet alapján számítható. Erre alapulva a véges nemnegatív együtthatójú vektorok száma a (3.8), a nem-nulla koordnátájú, de lmt nélkül esetben a (3.), a nem-nulla koordnátájú, szmmetrkus lmt esetében alkalmazandó számítás algortmust pedg a (3.3) képlet tartalmazza. Az előbb feltételekhez használható ndexelés algortmusokat s kdolgoztam a 3.6 pontban, melyek mnd a kockarács egy pramsára vonatkoztak. A 3.7 pontban pedg egy új ndexelés algortmust adtam U =..N (b +s D k ) alakú rácsokra, amelyek kezeln képesek az előbbekben felsorolt korlátozásokat. Erre az ndexelés algortmusra alapulva a 3.8. pontban megadtam a U =..N (b +s D k ) alakú rácsok egy pramsának elemszámítás algortmusát s, és a és 3.9. pontban pedg ennek az algortmusnak egy olyan változatát mutattam be, amely a fent feltételeket fgyelembe vesz anny egyszerűsítéssel, hogy bzonyos szmmetrát feltételez a koordnátánként lmtekben. A 4. fejezetben azt mutattam meg, hogy a 3. fejezetben smertetett új rácskvantáló ndexelő, kódoló és elemszámítás algortmusokkal létrehozott rácskvantálóval az MPEG- vdeó AC együtthatót kódolva a hagyományos skalár kvantálóra és entrópakódolóra épülő sémánál jobb eredményt lehet elérn. Ebben az algortmusban egy olyan vektorkvantálót készítettem, amely az MPEG kódoláshoz hasonlóan csak a fontos együtthatókat kódolja, a többt -nak vesz. Az új módszer ezt egy fontosság térkép kódolással valósítja meg, ahol a térkép szmbólumat egy artmetka kódoló tömörít. Az tt bevezetett új algortmus a jelentős AC együtthatókból kalakított vektorokat a Barnes-Wall rács megfelelő hperpramsán kódolja, és amennyben a 7

114 rácsot léptékeln kell a túl nagy prams sugár matt, úgy a rendszer többszntű kvantálás üzemmódban kódolja tovább az előző sznt hbajelét. A kapott prams sugarakat, lletve az egyéb skalár nformácókat entrópakódolással s tömörítem, így a rendszer a rácskvantáló ndex bteket kvéve egy entrópakódolt vektorkvantáló. A mérés eredmények azt mutatták, hogy az új transzkóder bzonyos rtka eseteket kvéve - lényegesen jobb kódolás mnőséget eredményez a hagyományos skalár kvantáló alapú transzkóderekhez képest, lletve azonos mnőséghez ksebb btsebesség tartozk. Kutatásam során LSF beszédparaméterek kódolásával s foglalkoztam, ennek az eredményet foglalja össze a 6. fejezet. A fejezet első részében a tanszékünkön feltalált GW általános súlyra alkalmazott lneárs transzformácós LSF kódolás sémában mutattam meg, hogy a transzformált tartományban működő osztott vektorkvantálás esetén a szegmensek függnek egymástól, és jobb eredményt kapunk, ha a távolságkrtérumban fgyelembe vesszük, hogy azon szomszédos szegmensekben mlyen eredményt kaptunk, amelyekben a vektorkvantáló már meghatározta a kvantált kódpontot. A 6. fejezet másodk felében rácskvantálást és a lneárs transzformácós kódolást ötvöztem skerrel egyetlen LSF kódoló rendszerben. Itt a kvantálást teljes egészében egy rácskvantáló végezte, mégpedg egy többléptékű rácskvantáló a dmenzós 8 + D rácsot használva. A rácskvantáló bemenetén AR predktort s alkalmaztam, amely vagy LSF, vagy pedg transzformált LSF vektorok predkcóját végezte. Transzformácónak a Karhunen-Loeve és a Dszkrét Kosznusz transzformácót használtam a tovább kódolás nyereség céljából. Az eddg használt többléptékű rácskvantáláson két ponton s javítottam: az egyk újítás a pakolt ndexelés, a másk a koordnátánként zsugorítás volt. Az utóbbval a koordnátákban lévő eloszláskülönbségeket használtam k, az előbbvel pedg adott btsebességen több kódpontot lehetett használn, lletve tört btes btsebesség értékeket lehetett előállítan, amt btsebesség vezérlésre s lehet használn. A pakolt ndexelés esetében azt tapasztaltam, hogy a nagyobb korlátokat a nagyobb léptékekhez érdemes hozzárendeln. Megmutattam a tanító és teszt adatokon, hogy mndkét újítás javította az LSF kódolás mnőségét az átlagos logartmkus spektráls torzítás tekntetében a meglévő rendszerekhez képest. Ezen felül új távolságkrtérumot s bevezettem, ez pedg a szntézs által analízsen alapult. A predktív többléptékű rácskvantáló rendszert kegészítettem KLT és DCT transzformácóval s. A lneárs transzformácó bevezetése mnden esetben tovább javulást eredményezett. Alacsonyabb btsebességre azt tapasztaltam, hogy a DCT alapú séma elér és meghaladja a KLT teljesítményét s, továbbá általánosan a DCT alapú séma kevesebb olyan keretet okozott, amely logartmkus spektráls torzítása 4 db felett.

115 8. Irodalomjegyzék [] J.H. Conway, N.J.A. Sloane, Sphere packng, Lattces and Groups, Sprnger Verlag, 993 [] S.P. Lloyd, Least squared quantzaton n pcm, unpublshed memorandum, reprnted n IEEE Trans. on Informaton Theory, pp. 9-37, Oct. 98 [3] J. Max, Quantzng for mnmum dstorton, IEEE Trans. on Informaton Theory, pp [4] Y. Lnde, A. Buzo, R.M. Gray, An algorthm for vector quantzer desgn, IEEE Trans. on Communcaton, pp , Oct. 98 [5] C. D. Be, R. M. Gray, An mprovement of the mnmum dstorton encodng algorthm for vector quantzaton, IEEE Trans. on Communcaton, pp. 3-33, Oct. 985 [6] G. S. Stles, C. M. Huang, Q. B, R. W. Harrs, Fast full search equvalent encodng algorthm for mage compresson usng vector quantzaton, IEEE Trans. on Image Processng, pp , July 99 [7] W. L, E. Salar, A fast quantzaton encodng method for mage compresson, IEEE Trans. on Crcuts and Systems for Vdeo Technology, pp.9-5, Aprl 995 [8] H. Gsh, J.N. Perce, Asmptotcally effcent quantzng, IEEE Trans. on Informaton Theory, pp , 968 [9] P. Zador, Assmptotc quantzaton error of contnuous sgnals and ther quantzaton dmenzons, IEEE Trans. on Informaton Theory, pp , 98 [] R.A. Gray, T. Lnder, Ja L, A Lagrangan formulaton of Zador s entropy-constraned quantzaton theorem, IEEE Trans. on Informaton Theory, pp , [] A. Gersho, Assmptotcally optmal block quantzaton, IEEE Trans. on Informaton Theory, pp , 979 [] J.H. Conway, N.J.A. Sloane, A fast encodng method for lattce codes and quantzers", IEEE Trans. on Informaton Theory, pp. 8-84, Nov. 983 [3] J.H. Conway, N.J.A. Sloane, Fast quantzng and decodng algorthms for lattce quantzers and codes, IEEE Trans. on Informaton Theory, pp. 7-3, 98 [4] T. R. Fscher, A pyramd vector quantzer, IEEE Trans. on Inforaton Theory, pp , July 986 [5] F.Chen, Z. Gao, J. Vllasenor, Lattce vector quantzer for generalzed Gaussan sources, Proc. of IEEE Internatonal Conference on Image Processng, 995, pp. 5-9 [6] M.Barlaud, P. Solé, T.. Gadon, M. Antonn, P. Matheu, Pyramdal lattce vector quantzaton for multscale mage codng, IEEE Trans. on Image Processng, pp , 994 [7] P. Rault, C. Gullemot, Lattce vector quantzaton wth reduced or wthout look-up table, SPIE Internatonal Conference on Vsual Communcaton and Image Processng, San Jose, CA, Jan. 998, vol. 339, pp [8] J.M. Moureaux, P. Loyer, M. Antonn, Effcent ndexng method for Zn and Dn lattce quantzers, Proc. of IEEE Internatonal Conference on Image Processng, 996, Vol. 3. pp [9] J.M. Moureaux, P. Loyer, M. Antonn, ELow complexty ndexng method for Zn and Dn lattce quantzers, IEEE Trans. on Communcatons, 998, pp. - [] T. R. Fscher, Entropy-constraned vector quantzaton for transform mage codng, Proc. of IEEE Internatonal Conference on Acoustcs, Speech and Sgnal Processng, Toronto, 99, vol. 3. pp [] Z. Mohdyusof, T. R. Fscher, An entropy-coded lattce vector quantzer for transform and subband mage codng, IEEE Trans. on Image Processng, pp , 996 [] Z. Mohdyusof, T. R. Fscher, Subband mage codng usng a fxed rate lattce vector quantzer, Proc. of IEEE Internatonal Conference on Image Processng, 995, pp. -4 9

116 [3] W.H. Km, Y.H. Hu, T.Q. Nguyen, Wavelet based mage coder wth entropy constraned lattce vector quantzer, IEEE Trans. on Crcuts and System for Analogue and Dgtal Sgnal Processng, pp. 5-3, 998 [4] S. Kasae, M. Derche, Fngerprnt Compresson usng Pecewse-Unform Pyramd Lattce Vector Quantzaton Proc. of IEEE Internatonal Conference on Acoustcs, Speech and Sgnal Processng, 997, pp [5] P. F. Swaszek, A vector quantzer for the Laplace source, IEEE Trans. on Informaton Theory, pp , 99 [6] J.-R. Ohm, Advanced packet-vdeo codng based on layered VQ and SBC technques, IEEE Trans. on Crcuts and Systems for Vdeo Technology, pp.8-, June 993 [7] D.G. Jeong, J.D. Gbson, Image codng wth unform and pecewse-unform vector quantzers, IEEE Trans. On Image Processng, pp.4-46, 995 [8] D.G. Jeong, J.D. Gbson, Unform and pecewse-unform lattce vector quantzaton for memoryless Gaussan and Laplacan sources, IEEE Trans. on Informaton Theory, pp , 993 [9] J. Knpe, X.B. L, B. Han, An mproved lattce vector quantzaton scheme for wavelet compresson, IEEE Trans. on Sgnal Processng, pp.39-43, 998 [3] A. Sad, W. Pearlman, A new, fast and effcent mage codec based on set parttonng n herarchcal trees, IEEE Trans. on Crcuts and Systems for Vdeo Technology, pp.43-5, 996 [3] C. Lambln, J.P. Adoul, D. Massaloux, S. Morsette, Fast CELP codng based on the Barnes- Wall lattce n 6 dmensons, Proc. of IEEE Internatonal Conference on Acoustcs, Speech and Sgnal Processng, 989, Vol.., pp [3] Claude Lambln, Quantfcaton vectorelle algébrque sphérque par le réseau de Barnes- Wall: Applcaton au codage de parole, PhD. tézs, Unversté de Sherbrooke, 988 [33] J. Pan, Two-stage vector quantzaton-pyramdal lattce vector quantzaton and applcaton to speech LSP codng, Proc. of IEEE Internatonal Conference on Acoustcs, Speech and Sgnal Processng, 996, Vol.., pp [34] A. Vaslache, M. Vaslache, I. Tabus, Predctve mltple-scale lattce VQ for LSF quantzaton, Proc. of IEEE Internatonal Conference on Acoustcs, Speech and Sgnal Processng, Phoenx, May 999, pp [35] G. Keesman et al.: Transcodng of MPEG- btstreams, Sgnal Processng: Image Communcatons, Vol. 8, Sept. 996, pp [36] P. A. A. Assuncao and M. Ghanbar: Transcodng of MPEG- vdeo n the frequency doman, Proc. of IEEE Internatonal Conference on Acoustcs, Speech and Sgnal Processng, 997, Vol 4 [37] L. Los, S. Bozók, "Transcodng of MPEG Vdeo Usng Lattce Vector Quantzaton", Proc. of IEEE Internatonal Conference on Image Processng, Vol. pp , Chcago, USA, Oct. 998 [38] Los L., Vu Le Ha, "Transcodng alapú kommunkácó a vdeo- és beszédkódolásban", TV'98 konferenca, Budapest, pp.3-39, 998 május [39] G. Keesman et al.: "Bt Rate Control for MPEG Encoders", Sgnal Processng: Image Communcatons, Vol. 6, Nr. 6, Feb. 995, pp [4] B. Gold et al., "New Applcaton of Channel Vocoders", IEEE Trans. on Acoustcs Speech, Sgnal Processng, Vol. ASSP-9, No., pp. 3, February 98. [4] M.R. Schroeder, "Vocoders: Analyss and Synthess of Speech, n Proceedng of the IEEE, Vol. 54, No. 5, pp , May 966. [4] ETSI EN 3 76 V6.. (999-9): Dgtal cellular telecommuncatons system (Phase ); Enhanced Full Rate (EFR) speech transcodng; (GSM 6.6 verson 6.. Release 997) [43] A.S. Spanas, "Speech Codng: A Tutoral Revew, n Proceedng of the IEEE, Vol. 8, No., pp , October 994.

117 [44] ETS 3 58-: European dgtal cellular telecommuncatons system (Phase ); Full rate speech transcodng (GSM 6.) [45] A.M. Kondoz, "Dgtal Speech: Codng for Low Bt Rate Communcatons Systems." John Wley & Sons, 994. [46] J.R. Crosmer and T.P. Barnwell III, "A Low Bt Rate Segment Vocoder Based on Lne Spectrum Pars, Proc. of IEEE Internatonal Conference on Acoustcs, Speech and Sgnal Processng, pp , 985. [47] G.S. Kang and L.J. Frasen, "Applcaton of Lne-Spectrum Far to Low-Bt-Rate Speech Encoders", Proc. of IEEE Internatonal Conference on Acoustcs, Speech and Sgnal Processng, pp , 985 [48] F.K. Soong and B.H. Juang, "Lne Spectrum Far (LSP) and Speech Data Compresson, Proc. of IEEE Internatonal Conference on Acoustcs, Speech and Sgnal Processng, pp , 984. [49] S. Saoud and J.M. Boucher, "A New Effcent Algorthm to Compute the LSP parameters for Speech Codng, Sgnal Processng, Vol. 8, pp. -, 99. [5] ETS : Terrestral Trunked Rado (TETRA); Speech codec for full-rate traffc channel; Part : TETRA codec [5] ITU-T Recommendaton G.7 (/88) Pulse code modulaton (PCM) of voce frequences [5] CCITT Recommendaton G.7 (988) 3 kbt/s Adaptve Dfferental Pulse Code Modulaton (ADPCM) for audo [53] ITU-T Recommendaton G.7 (/88) 7 khz audo-codng wthn 64 kbt/s [54] ITU-T Recommendaton G.73. (3/96) Speech coders: Dual rate speech coder for multmeda communcatons transmttng at 5.3 and 6.3 kbt/s [55] ITU-T Recommendaton G.76 (/9) 4, 3, 4, 6 kbt/s adaptve dfferental pulse code modulaton (ADPCM) [56] ITU-T Recommendaton G.77 (/9) 5-, 4-, 3- and -bt/sample embedded adaptve dfferental pulse code modulaton (ADPCM) [57] ITU-T Recommendaton G.78 (9/9) Codng of speech at 6 kbt/s usng low-delay code excted lnear predcton [58] ITU-T Recommendaton G.79 (3/96) Codng of speech at 8 kbt/s usng conjugate-structure algebrac-code-excted lnear-predcton (CS-ACELP) [59] ISO/IEC JTC SC9/WG, ISO/IEC FDIS Subparts,, 3, "Codng of Audo- Vsual Objects Part 3: Audo", ISO/IEC JTC SC9/WG N53, Oct (MPEG-4 Audo) [6] J-P. Adoul, P. Mablleau, M. Delprat, and S. Morssette, Fast CELP Codng Based on Algebrac Codes, Proc. of IEEE Internatonal Conference on Acoustcs, Speech and Sgnal Processng, pp , Apr [6] M. Xe and J-P. Adoul, Fast and low-complexty LSF quantzaton usng algebrac vector quantzer, Proc. of IEEE Internatonal Conference on Acoustcs, Speech and Sgnal Processng, Vol., pp , May [6] F. Itakura, "Lne Spectrum Representaton of Lnear Predctve Coeffcents of Speech Sgnals", Journal Acoust. BoG. Amerca, Vol. 57, pp. S35(A), 975. [63] K.K. Palwal and B.S. Atal, "Effcent Vector Quantzaton of LPC Parameters at 4 bts/frame", Proc. of IEEE Internatonal Conference on Acoustcs, Speech and Sgnal Processng, pp , 99. [64] K.K. Palwal and B.S. Atal, "Effcent Vector Quantzaton of LPC Parameters at 4 bts/frame", IEEE Trans. on Speech and Audo Processng, Vol., No., pp. 3-4, January 993. [65] H. L. Vu, L. Los, Effcent Dstance Measure for Quantzaton of LSF and Its Karhunen- Loeve Transformed Parameters, IEEE Trans. on Speech and Audo Processng, vol. 8, pp ,

118 [66] H. L. Vu, L. Los, Optmal Weghtng Functon for Quantzaton of LSF and Its Karhunen- Loeve Transformed Parameters, Proceedngs of the 9th Conference and Exhbton on Televson and Audo Technologes, Budapest, Hungary, pp. 83-9, May [67] R. Laroa, N. Phamdo, N. Farvardn, Robust and Effcent Quantzaton of Speech LSP Parameters Usng Structured Vector Quantzers, Proc. of IEEE Internatonal Conference on Acoustcs, Speech and Sgnal Processng, pp , 99 [68] ] D. Chang, S. Ann, C. W. Lee, A Classfed Vector Quantzaton of LSF Parameters, Sgnal Processng, 997, pp [69] W.R. Gardner Modelng and Quantzaton Technques for Speech Compreson Systems, PhD thess, Dgtal Sgnal Processng Lab, Unversty of Calforna, San Dego, 994, [7] W.R. Gardner, B.D.Rao, Theoretcal analyss of the hgh-rate vector quantzaton of LPC parameters, IEEE Trans. on Speech and Audo Processng, vol. 3, pp , 995 [7] J. Skoglund, J. Lndén, Predctve VQ for nosy channel spectrum codng: AR or MA?, Proc. of IEEE Internatonal Conference on Acoustcs, Speech and Sgnal Processng, Vol., pp , Munch, Germany, 997 [7] M. Skoglund, J. Skoglund, On non-lnear utlzaton of ntervector dependency n vector quantzaton, Proc. of IEEE Internatonal Conference on Acoustcs, Speech and Sgnal Processng, Seattle, USA, 998 [73] S. Srdharan, J. Les, Two novel lossless algorthms to explot ndex redundancy n VQ speech compresson, Proc. of IEEE Internatonal Conference on Acoustcs, Speech and Sgnal Processng, Seattle, USA, 998 [74] H.L. Vu and L. Los, ``Optmal Transformaton of LSP Parameters Usng Neural Network,'' Proc. of IEEE Internatonal Conference on Acoustcs, Speech and Sgnal Processng, pp , 997. [75] H.L. Vu and L. Los, ``Spectral Senstvty of LSP Parameters and Ther Transformed Coeffcents,'' Proc. of the European Conf. Speech Comm. Technology, EUROSPEECH, Rhodos, Greece, pp. 5-54, September 997. [76] N.S. Jayant and P. Noll, "Dgtal Codng of Waveforms: Prncples and Applcatons to Speech and Vdeo." Prentce-Hall, 984. [77] H. L. Vu, Quantzaton Technques of LSF Parameters n Speech Codng Usng Karhunen- Loeve Transformaton, PhD Thess, Techncal Unversty of Budapest, Dept. Of Telecommuncatons, 999 [78] N. Farvardn and R. Laroa, "Effcent Encodng of Speech LSP Parameters Usng the Dscrete Cosne Transformaton", Proc. of IEEE Internatonal Conference on Acoustcs, Speech and Sgnal Processng, pp. 68-7, 989. [79] P. Kroon, E.F. Deprettere, and R.J. Sluyter, "Regular-Pulse Exctaton: A Novel Approach to Effectve and Effcent Multpulse Codng of Speech," IEEE Trans. on Acoustcs, Speech and Sgnal Processng, vol ASSP-34, No. 5, pp.54-63, Oct [8] K. Ozawa, M. Serzawa, T. Myanao, T. Nomura, M. Ikekawa, and S. Taum, "M-LCELP Speech Codng at 4 kb/s wth Mult-Mode and Mult-Codebook," IEICE Trans. Vol.E77-B, No. 9, pp.4-, Sep [8] D.W. Grffn and J.S. Lm, "Multband Exctaton Vocoder", IEEE Trans. on Acoustcs, Speech and Sgnal Processng, Vol. 36, No. 8, pp. 3-35, Augustus 988. [8] W.B. Klejn and K.K. Palwal, eds., "Speech Codng and Synthess." Elsever, 995.

119 9. Függelék 9.. Koordnáta korlátokat s kezelő, kockarácsra vonatkozó prams alapú ndexelés kódoló és dekódoló algortmusának C nyelvű kódja A következő két ábrán (8. ábra és 9. ábra) a 6. ábra (9. oldal) és 7. ábra (3. oldal) pszeudo kódban megadott algortmusanak C nyelvű változata látható, mégpedg függvény formában. nt64 Pyramdal_Encode ( nt64 ponts[max_dim+][max_sugar+], nt *x, nt *lmt_l, nt *lmt_h, nt *tltott, nt dm, nt NoZero ) { nt64 code = ; nt, m, d = dm; for (m = = ; < dm; ++)m += ABS(x[]); for(d = dm; (m > ) && ((--d) > ); ) { nt _max = MIN( lmt_h[d], m ); Az elemszámok tömbje A kódolvandó vektor A alatt koordnátalmt A felett koordnátalmt Tltott értékek halmazának tagság táblázata A vektor dmenzója Jelzőbt: = a s ktltva Az x vektor sugarát kszámolja Haladunk koordnátáról koordnátára for( = x[d] + ; <= _max; ++) f(!tltott[] ) code += ponts[d][m ABS()]; m -= ABS( x[d] ); } f(lmt_l[]> && lmt_h[]> && x[]<) ++code; Ez a cklus számítja k code + K(d,x[d])-t, fgyelembe véve azt s, hogy a koordnáta értéke tltott-e vagy sem Maradék vektor sugara Utoljára -et vagy -t adunk hozzá, attól függően, hogy negatív vagy poztív az utolsó koordnáta return code; } 8. ábra Koordnáta korlátot és értékek ktltását s kezelő új prams alapú ndexelő algortmus a kockarácson A függvények bemenő paraméterként kapják meg a koordnáta korlátokat fgyelembe véve a kockarács pramsanak az elemszámát tartalmazó ponts[][] azonosítójú kétdmenzós tömbre mutató referencát. Hasonlóan mndkét függvény bemenő paraméterként kapja meg a alatt, lletve a felett koordnáta korlátok értéket mnden egyes koordnátára, ezeket az értékeket a lmt_l és lmt_h azonosítójú tömbben tároljuk. Ugyanígy bemenő paraméter a vektor 3

120 dmenzója, lletve azon jelzőbtek tömbje s (tltott azonosítóval), ahol tltott[] megmondja, hogy az adott értéket k kell-e zárn, vagy pedg fgyelembe kell venn. Ezt a tömböt kétdmenzóssá s tehetjük abból a célból, hogy adott együttható értékek tltását a koordnáta sorszáma (amelyet a fent kódban d azonosítójú változó jelöl) alapján s el lehessen végezn (például a -t csak mnden páros sorszámú koordnátában tltom k). A két függvény paramétere között a különbséget a pramson lévő vektor és a kódszó ndex jelent. A kódoló függvénynél (8. ábra) az x vektor a bemenő paraméter, és a függvény vsszatérés értékként adja vssza a kódszó ndexet, míg a dekóder (9. ábra) esetében az x vektorba írja be a függvény a code azonosítójú változóban tárolt kódszó ndexnek megfelelő vektort. vod Pyramdal_Decode ( nt64 ponts[max_dim+][max_sugar+], nt64 code, nt *x, nt *lmt_l, nt *lmt_h, nt *tltott, nt nt m, ) dm, { nt, m, d; nt64 xcode = ; for ( = ; < dm; ++) x[]=; for( d = dm; (--d) > ; ) { nt64 xxcode; nt _mn = -MIN( lmt_l[d], m ); = MIN( lmt_h[d], m ); for(; _mn <= ; --) f(!tltott[] ) { xxcode = xcode + ponts[d][m ABS()]; Az elemszámok tömbje A dekódolandó ndex A dekódolt vektor kerül de A alatt koordnátalmt A felett koordnátalmt Tltott értékek tagság táblázata A vektor dmenzója A prams sugara Változók feladata: xcode code < xxcode? xcode = K(d,) xxcode = K(d,)+N(d,m- ) Az x vektort knullázza A d-edk koordnáta dekódolása legksebb lehetéges értéke Lépkedünk -vel fentről lefelé, hogy vajon x[d] ==? f(code < xxcode) { m -= ABS() x[d] = ; break; } xcode = xxcode; }?code [K(d,),K(d,)+N(d,m- ))? Ha gen, Akkor x[d] =, beírjuk az eredményt és klépünk a belső cklusból } x[] = (code == xcode)? m : -m; } 9. ábra Koordnáta korlátokat fgyelő prams alapú ndex dekódoló algortmus a kockarácson 4

121 9... A kockarács prams alapú ndex kódoló és dekódoló algortmusának műveletgénye A rácskvantálás smertetésekor fontos érvként hangzk el, hogy annak komplextása a vektorkvantálókéhoz képest kcs, azonban a rácskvantálás komplextásának elemzésére, lletve az algortmusok optmalzálásának alternatívára nem találtam összefoglaló rodalm munkát. Ematt nekem sem az a célom az algortmusok komplextásának smertetésével, hogy a komplextás pontos elemzését elvégezzem a komplextás számítás széleskörű rodalm feldolgozásával és a különböző rányzatanak a fgyelembe vételével, valamnt nem szándékozom tárgyaln a különböző processzorokra való optmalzálás lehetőségeket, és nem adok útmutatást sem arra vonatkozólag, hogy különböző archtektúrákon mlyen módon lehet optmálsan mplementáln a rácskvantáló algortmusokat. Ellenkező esetben bármelyk fent problémát csak a terjedelm korlátok nagyságrend túllépésével lehetne megfelelően kezeln. A komplextást bzonyos elem műveletek átlagos számában adom meg egyetlen vektorra, lletve másodpercny adatra vonatkozólag, de nem vzsgálom azt, hogy ezek a műveletek hány utasításnak felelnek meg. A vzsgált elem műveletek: komplextás szempontjából egyszerű műveletek (EM): összeadás, kvonás, -es komplemens, logka és bnárs VAGY és ÉS műveletek, <,, >, stb. mnmum függvény két argumentummal, MIN(,) jelöléssel, abszolút érték számítás ABS() jelöléssel szorzás osztás természetes alapú logartmus LOG() jelöléssel D tömb olvasás/írás, de értve a vektorok koordnátánként olvasását/írását D tömbből olvasás A 8. ábra és 9. ábra kódoló és dekódoló algortmusaból s látszk, hogy a műveletszám nagyjából arányos a vektor dmenzójával, lletve a prams sugárral. Azonban a két algortmusból az s látszk, hogy a műveletszám függ a vektor tartalmától, ezért tt azt a megoldást alkalmaztam, hogy szmulácóval néhány dmenzóra és prams sugárra kszámoltam a prams összes vektorának a kódolásához, lletve dekódolásához szükséges műveleteket, és ezek alapján meghatároztam az átlagos, vektorra eső műveletszámot. A kapott eredményeket a dmenzó és a prams sugarának függvényében ábrázoltam, és mvel a műveletszámot aszmptotkusan lneárs, ezért a művelet dagramjára kszámítottam a lneárs regresszós egyenes, lletve sík egyenletét. 5

122 9... Kockarácson való ndex kódoló algortmus műveletgénye Az ndex kódoló algortmus meghatározásához a 8. ábra algortmusát elemzem olyan módon, hogy megadom az egyes lépésekhez tartozó műveletek számát.. Az x vektor sugarának kszámításához az alább műveletekre van szükség: D darab ABS() D darab D tömbből olvasás D darab EM (összeadás) az változó növeléséhez. A külső cklusban szereplő műveletek:.. A for(;;) cklusfeltételének kértékelése: 3 darab EM.. _max számítása: darab MIN(,).3. Belépés a belső cklusba: darab D tömbből olvasás darab EM.4. Belső cklus: _max x[d] esetben az alább műveletek: 3 darab EM darab D tömbből olvasás darab D tömbből olvasás darab ABS().5. A sugár csökkentése, lépés a következő koordnátára (a külső cklusban): darab EM darab ABS() darab D tömbből olvasás A fentek alapján az ndex kódoló algortmus műveletenek a számát a. táblázat tartalmazza. Ezen táblázat alapján azonban még nem lehet egyszerűen megállapítan a műveletszámot, mert mnd a belső, mnd a külső for(;;) cklus cklusszáma a kódolandó vektor tartalmától függ. Művelet EM MIN() ABS() D tömb olvasás D tömb olvasás Külső ckluson kívül D+4 - D D+3 - Külső for(;;) cklusban, de a belső ckluson kívül 5 - Belső for(;;) ckluson belül 3 -. táblázat Az ndex kódoló algortmus műveletenek a száma D dmenzós vektor kódolásakor 6

123 Az átlagos műveletszámot a dmenzós kockarácson több M prams sugár értékre számítottam k (M {4,5,,8}) szmulácós módszerrel úgy, hogy a prams összes vektorát egyszer kódoltam a prams alapú ndex kódoló algortmussal. A kódolás során az ampltúdó korlátokat olyan nagyra állítottam, hogy azok hatástalanok maradtak, így nagyobb komplextást kaptam. Hasonlóan nem tltottam k egyetlen értéket sem, ezzel szntén a lehető legnagyobb komplextás adódk k. A kapott eredményeket a 3. ábra, lletve a 3. táblázat mutatja be. 5 5 Átlagos műveletszám EM Mn(,) Abs() D táblázat D táblázat Prams sugara 3. ábra Átlagos műveletszám a dmenzós kockarács adott sugarú pramsanak kódolásánál M Rácspontok Szükséges D tömb D tömb EM MIN(,) ABS() száma btszám olvasás olvasás táblázat Átlagos műveletenként komplextás a dmenzós kockarács M sugarú pramsanak kódolásánál 7

124 Látható a 3. ábra, lletve a 3. táblázat alapján, hogy egyedül a mnmum képzés az, amelyk lényegében nem függ a sugártól, csak a dmenzótól, ez a regresszós egyenes kcsny, közel meredekségéből (,48) és a mért adatoktól való vszonylag nagy eltérésben meg s mutatkozk. Az ábráról sejthető, hogy a vzsgált értékekre a lneárs regresszó jó közelítést jelent. A 4. táblázat mutatja be a lneárs regresszós egyenesek egyenletét, valamnt a Pearson-féle szorzatmomentum korrelácós együtthatót (Pearson Product Moment Correlaton, jele: R). Az R korrelácós együttható defnícója az alább R = M ( f ( M ) f ( M )) ( g( M ) g( M )) M ( f ( M ) f ( M )) ( g( M ) g( M )) M ahol M a prams sugár, f(m) a műveletszámot jelöl adott sugárra vonatkozólag, g(m) pedg a lneárs regresszós egyenes. Az R értéke - és között. A táblázatban a kapott R értékek közelek, ez megerősít azt a tényt, hogy a vzsgált tartományban és rögzített dmenzóban a műveletszám jó közelítéssel egyenesen arányos a prams sugarával. Megjegyzem továbbá, hogy egy gyakorlat megvalósításban a dmenzószám rögzített, és gaz ez a doktor munkámban mutatott algortmusokra s: az egyk a 6 dmenzós Barnes-Wall ráccsal működk, a másk pedg dmenzós LSF vektorok kódolását végz. Művelet Regresszós egyenes egyenlete R EM 5.5 M MIN(,).48 M ABS().79 M D tömbből olvasás.767 M D tömbből olvasás.67 M táblázat Az ndex kódoló átlagos műveletszámának függése az M prams sugártól: a regresszós egyenes egyenlete és a Pearson-féle szorzatmomentum korrelácós együttható (R) 9... A kockarács ndex dekódoló algortmus műveletszámának függése a dmenzótól és a prams sugártól Az ndex kódolás műveletszáma azonban nemcsak a prams sugártól, hanem a dmenzószámtól s függ. Amennyben a dmenzó változásának hatását s vzsgáljuk, akkor a műveletszámot már f(d,m) jelöl adott D dmenzóra és M sugárra vonatkozólag, g(d,m) pedg a lneárs regresszós sík lesz. Az R Pearson-féle szorzatmomentum korrelácós együttható defnícója ekkor R = D, M ( f ( D, M ) f ( D, M )) ( g( D, M ) g( D, M )) D, M ( f ( D, M ) f ( D, M )) ( g( D, M ) g( D, M )) 8 D, M

125 A műveletszámok meghatározásához D {4, 5,, 6} vektor dmenzó és M {4,5,,6} prams sugár értékekre végeztem el az összes rácspont kódolását, majd a kapott műveletszámra meghatároztam a regresszós síkot és az R korrelácós együtthatót. Az eredményül kapott síkok egyenletet és az R korrelácós együtthatók értéket a 5. táblázat tartalmazza. Művelet Regresszós sík egyenlete R EM D M MIN(,).95 D +.45 M ABS().993 D +.64 M D tömbből olvasás.984 D M D tömbből olvasás.34 D M táblázat Az ndex kódoló átlagos műveletszámának függése a D dmenzótól és az M prams sugártól: a regresszós sík egyenlete és az R korrelácós együttható értéke A 5. táblázatban található eredmények alapján elmondható, hogy a magas, közel R értékek azt jelzk, hogy a regresszós síkok meglehetősen jó közelítést jelentenek. Összehasonlítva az M együtthatót a különböző műveletekre vonatkozólag, a 4. táblázatban és a 5. táblázatban található értékek között nncs lényeges eltérés. E két tényre alapozva kmondhatjuk, hogy a vzsgált tartományban a prams alapú ndex kódoló algortmus műveletszáma mnd a D dmenzótól, mnd az M sugártól lneársan függ. A tovább számításokhoz a regresszós síkok függvényéből készített felső becslést használom fel az átlagos műveletszám meghatározásához, ezeket a becslő függvényeket a 6. táblázat tartalmazza. Művelet Felső becslés a műveletszámra EM 6 D + 5 M MIN(,) D + M ABS() D + M D tömbből olvasás 3 D + M D tömbből olvasás D + M 6. táblázat Felső becslés az ndex kódoló különböző műveletenek átlagos számára a D {4, 5,, 6} vektor dmenzó és M {4,5,,6} prams sugár értékekre Kockarácson való ndex dekódoló algortmus műveletgénye Az ndex dekódoló algortmus meghatározásához 9. ábra algortmusát elemzem hasonlóan ahhoz, ahogy az ndex kódoló algortmusánál elemeztem a 8. ábra algortmusát. Az ndex dekódoló algortmus műveletenek a számát a 7. táblázat tartalmazza. 9

126 Művelet Külső ckluson Külső cklusban, de a kívül belső ckluson kívül Belső ckluson belül EM D MIN - - ABS - - D tömb olvasás/írás D 3 D tömbből olvasás táblázat Az ndex dekódoló algortmus műveletenek száma D dmenzós vektor ndexének dekódolásakor A 7. táblázat és a 9. ábra algortmusa alapján már k lehet jelenten, hogy a MIN() és az ABS() műveletekből D-, lletve D- végrehajtását kell megtenn, függetlenül attól, hogy mekkora a prams sugara. Ezen lehetne tovább javítan akkor, ha klépünk a cklusból akkor, amkor a maradék vektor sugara -ra csökken, de ez nem jelentene lényeges javulást. Átlagos műveletszám Prams sugara EM Mn(,) Abs() D táblázat D táblázat 3. ábra Átlagos műveletszám a dmenzós kockarács adott sugarú pramsanak dekódolásánál A dekódolás műveletszámának szmulácós meghatározását a kódoláséhoz hasonlóan végeztem el, és a kapott átlagos műveletszámokat a 3. ábra mutatja be. A 8. táblázat a regresszós egyenesek egyenletét és az R korrelácós együtthatót mutatja be. Ez alapján a táblázat alapján megállapítható, hogy mvel R értéke közel - a prams alapú ndex dekódolás komplextása rögzített prams dmenzó esetén jó közelítéssel egyenesen arányos a sugárral a vzsgált tartományban.

127 Művelet Regresszós egyenes egyenlete R EM M MIN(,) 8 ABS() 9 D tömbből olvasás.67 M D tömbből olvasás.67 M táblázat Az ndex dekódolás átlagos műveletszámának függése az M prams sugártól: a regresszós egyenes egyenlete és a Pearson-féle szorzatmomentum korrelácós együttható (R) A 9. táblázat a különböző műveletek számának D dmenzótól és M sugártól való függését mutatja meg regresszós síkokkal közelítve. A magas, közel R értékeket azt jelzk, hogy a regresszós síkok tt s nagyon jó közelítést jelentenek. Összehasonlítva az M együtthatót a különböző műveletekre vonatkozólag, a 8. táblázatban és a 9. táblázatban található értékek között nncs lényeges eltérés. E két tényre alapozva kmondhatjuk, hogy a vzsgált tartományban a prams alapú ndex kódoló algortmus műveletszáma mnd a D dmenzótól, mnd az M sugártól lneársan függ. A regresszós síkok függvényéből készített felső becslést a 3. táblázat tartalmazza. Az ndex kódolásra vonatkozó 6. táblázattal összehasonlítva látható, hogy a műveletszám általában nagyobb a dekóderben, de egyk műveletre sem kétszerese a kóderében lévő műveletszámnak. Művelet Regresszós sík egyenlete R EM.84 D M MIN(,) D -. ABS() D -. D tömbből olvasás 5.6 D M D tömbből olvasás.4 D +.53 M táblázat Az ndex dekódolás átlagos műveletszámának függése a D dmenzótól és az M prams sugártól: a regresszós sík egyenlete és az R korrelácós együttható értéke Művelet Felső becslés a műveletszámra EM D + 8 M MIN(,) D ABS() D D tömbből olvasás 6 D + M D tömbből olvasás D + M 3. táblázat Felső becslés az ndex dekódolás különböző műveletenek átlagos számára a D {4, 5,, 6} vektor dmenzó és M {4,5,,6} prams sugár értékekre

128 A legközelebb rácspont megtalálásának műveletgénye a kockarácson Ez az algortmus valójában a koordnátánként skalár kvantálást végez, amelynek a komplextása D dmenzós vektor esetében: D darab tömbből olvasás és az eredmény vsszaírása, a vektor koordnátánként letapogatásával D darab osztás, lletve az osztó nverzével való szorzás vagy n (n egész) alapú osztó esetében a btek n pozícóval való léptetése. Az nverz meghatározása történhet táblázatosan s, de lehet algortmkus számítás s, ekkor a D koordnátára csak darab nverz számítás esk Skálázott és eltolt D K rács ndex kódoló algortmusának műveletgénye Elsőként a prams alapú ndexelés műveletszámát határozzuk meg a 3.7. fejezet (3.oldal) algortmusa alapján.. A hasítás műveletgénye koordnátánként: darab D tömbből olvasás darab D tömbbe írás darab EM (bnárs ÉS az előjelhez és logka ÉS a döntéshez). A páros vektor felezéséhez (3.34) koordnátánként: darab EM (artmetka léptetés az LSB rányába) 3. A páratlan vektor nemnegatívvá tételéhez (3.35) koordnátánként: darab ABS() darab EM (-gyel csökkentés és artmetka léptetés az LSB rányába) 4. Ezután következk a kapott két vektor ndexelése a kockarácson. Ennek a két műveletnek a műveletgényét dmenzóban a 4. táblázat tartalmazza a prams sugár függvényében. A 5. táblázat már a dmenzószámtól való függést s tartalmazza, az átlagos műveletszám felső becslést pedg a 6. táblázat mutatja be. A nemnegatív vektor ndexelését s ezzel a felülről becsült műveletgénnyel fogjuk számítan annak ellenére, hogy ebben az esetben a negatív értékek kzárása matt a műveletgény ksebb. A két prams sugár összege (3.36) szernt nem lehet nagyobb az eredet sugár felénél, ezért jó közelítéssel a két vektor ndexelésének műveletgényét az eredet dmenzószámra és prams sugár felére vonatkozó műveletszámmal vesszük fgyelembe. 5. A multplexelés műveletgénye:

129 5.a. A (3.37.a) lépés műveletgénye: r M alkalommal kell végrehajtan egy összegzést (a felső becslés érdekében M alkalmat számolunk), amely műveletgénye: darab D tömbből olvasás darab szorzás darab EM 5.b. A (3.37.b) lépés műveletgénye: darab szorzás darab EM 5.c. A (3.37.c) lépés műveletgénye: darab D tömbből olvasás darab EM 5.d. A (3.37.d) lépés műveletgénye: b darab EM, ahol b a bnárs kódszavak száma Művelet Műveletszám a 4. lépés kvételével A 4. lépés átlagos műveletszáma M/ sugárral Teljes műveletszám EM * 5 D + M + b D +.5 M D M + b + 4 MIN(,) - D +.5 M D +.5 M ABS() D D + M 3 D + M D tömbből olvasás * D + 3 D + M 5 D + M + D tömbből olvasás M + D + M D + 3 M + szorzás M + M + 3. táblázat D dmenzós struktúrált rács prams alapú ndexelő algortmusának átlagos műveletszáma (felülről becsülve) az M sugarú pramson, ahol b jelent a rács defnícójában résztvevő bnárs kódszavak számát ( * térbel kódolásnál darab összeadással és darab D tömbből olvasással több művelet szükséges) A fent számítás és a 6. táblázat alapján kapott eredményeket a 3. táblázat tartalmazza. Magyarázatra szorul még a térbel kódolás okozta műveletszám növekedés. Ekkor az M sugarú vektor prams alapú ndexeléssel kapott kódszavához hozzá kell adn az M-nél ksebb összes koncentrkus hperpramsok elemszámát. Formálsan, ha N(M) jelöl a rácspontok számát az M sugarú pramson, akkor a térbel kódolásnál M-nél ksebb összes koncentrkus hperpramsok M R= elemszáma N ( M ) = N( R) k. Az M sugarú v vektor két ndex között így a kapcsolat az alább: térbel_ndex(v) = N k (M) + prams_ndex(v) 3

130 Az N k (M) érték egyetlen táblázatból való olvasással meghatározható, így a térbel ndex kódolás műveletszáma megkapható úgy, hogy a prams alapú kódolás műveletszámát darab összeadással és darab tömbből olvasással megnöveljük. A dolgozatban s szereplő két fontos rács egy pramsán való ndexelés algortmusának átlagos műveletszámát a 3. táblázat tartalmazza. + D 6-D Barnes-Wall rács D=6, b=3 D=, b= EM * 3.5 M M + MIN(,).5 M +.5 M + 6 ABS() M + 3 M + 48 D tömbből olvasás * M + 5 M + 8 D tömbből olvasás 3 M + 3 M + 7 szorzás M + M + 3. táblázat A D és a 6-D Barnes-Wall rács prams alapú ndexelő algortmus átlagos + műveletszámának felső becslése az M sugarú pramson ( * térbel kódolásnál -gyel több művelet szükséges) A D K rácsra kvantálás műveletgénye A K dmenzós D K rácsra való kvantálást a. ábra (. oldal) tartalmazza. Az algortmus a kockarácsra történő kvantálással ndul, de ha az így kapott vektor L normája páratlan, akkor a megfelelő koordnátában meg kell változtatn a kerekítést, és így a korrgált vektor már a D K rácsra esk. A. ábra szernt algortmus műveletgényét a 33. táblázat tartalmazza. EM ABS() D tömb olvasás/írás osztás Kockarácsra kvantálás járulékos 7 K K 3 K K műveletekkel (for(;;) cklus) Sugár páratlan-e Ha a sugár páratlan K K - Összesen legfeljebb 8 K + K 3 K + K 33. táblázat A K dmenzós D K rácsra való kvantálás műveletszáma A 33. táblázat szernt műveletszám a felső korlátot tartalmazza, vagys azt az esetet, amkor a kockarácsra való kvantálás páratlan L normájú vektort eredményez. Megjegyzem, hogy a kockarácsra való kvantálás elvégz a rossz rányba való kerekítés meghatározását s mnden koordnátára (ematt nagyobb a műveletszám a alfejezetben megadott értékeknél), ezt az eredményt azonban csak páratlan sugár esetén használjuk fel. Az algortmus tehát optmalzálható úgy, hogy ezt a lépést khagyjuk, és csak szükség esetén tesszük meg. Tovább 4

131 csökkenthető a műveletszám a teljes rendszeren belül, például úgy, hogy a sugár kszámítása s megtörténk az algortmuson belül, amely értéket később fel lehet használn Skálázott és eltolt D K rácsra kvantálás műveletgénye Ha a D K rácsra való kvantálás algortmusunk megvan, akkor a (.3) mnmum kértékelésével megkapjuk az D K rácsbel vektort és a mellékosztályt meghatározó bnárs vektor ndexét s (.4... fejezet, oldal). A lépések rövden a következők a kvantálandó x vektor és a mellékosztályt meghatározó b bnárs vektorok esetében: ) Kszámoljuk x = x - b -t (=,,b), ez koordnátánként: darab D tömbből olvasás darab EM (kvonás) darab D tömbbe írás a kvonás eredményének tárolására ) Kszámoljuk d(x, s D K )-t (=,,b), és közben nylvántartjuk a mnmálsat: Az s D K rácsra vonatkozó kvantálás a 9..3 fejezetben található. A kapott vektorokat mnden -re külön tároljuk le, ez benne van a kvantálás algortmusban. A torzítás kértékeléséhez szükséges koordnátánként: o darab szorzás o darab EM o darab D tömbből olvasás Kszámoljuk a d(x, s D K ) értékek mnmumának nylvántartásához: o darab EM 3) A kapott mnmum alapján összerakjuk a vektort, ez koordnátánként: darab EM darab D tömbből olvasás darab D tömbbe írás A kapott eredményt a b bnárs vektorok száma és K dmenzó függvényében a 34. táblázat tartalmazza. A dolgozatban szereplő és a mérésem során s használt két fontos rács, a dmenzós + D és a 6 dmenzós Barnes-Wall rácsokra való kvantálás műveletszáma pedg a 35. táblázatban található meg. 5

132 EM ABS() D tömb olvasás/írás szorzás osztás ) lépés b K - 3 b K - - ) kvantálás az s D K rácsra 8 b K + b b K 3 b K + b - b K ) több része b K + b - b K b K - 3) lépés K - 3 K - - Összesen b K + 4 b + K b K 8 b K + b+ 3 K b K b K 34. táblázat Skálázott és b darab bnárs vektorral eltolt D K rácsra való kvantálás műveletszáma + D 6-D Barnes-Wall rács K = 6, b = 3 K =, b = EM ABS() 4 4 D tömbből olvasás szorzás 5 osztás táblázat A D és a 6-D Barnes-Wall rácsra való kvantálás műveletszáma Skálázott és eltolt D K rácsra kvantálás és ndexelés műveletgénye A kvantálás és ndexelés általában együtt fordul elő, a 4. fejezetben smertetett algortmus többszntű vektorkvantálójának egy szntjén egy darab kvantálás és ndexelés szerepel, míg a 6. fejezetben szereplő LSF kódoló mnden skálára elvégz a kvantálást (hperprams vagy hpergömb alapú korlátozással), és a kapott skálák legjobbkának eredményére elvégz az ndexelést. A hpergömb alapú ndexelés műveletszáma nem szerepel tt, mvel a hpergömb alapú ndexelő algortmusnak a Rault-Gullemot [7] algortmust használtam. + D 6-D Barnes-Wall rács EM * 3.5 M M MIN(,).5 M +.5 M + 6 ABS() M + 7 M + 7 D tömbből olvasás * M + 45 M D tömbből olvasás 3 M + 3 M + 7 szorzás M + M + 53 osztás táblázat A D és a 6-D Barnes-Wall rács kvantáló és prams alapú ndexelő algortmusok + együttesének átlagos műveletszámának felső becslése az M sugarú pramson ( * térbel kódolásnál -gyel több művelet szükséges) 6

133 A dolgozatban szereplő és a mérésem során s használt két fontos rács, a + D és a 6-D Barnes- Wall rácsokra való kvantálás és a kapott pramson való ndexelés algortmusok átlagos műveletszámát a 36. táblázat tartalmazza. A prams alapú ndex kódolás, valamnt a prams alapú korlátozásos térbel kódolás műveletszámához a 3. táblázatot, a rácsra való kvantálás műveletszámához pedg a 35. táblázatot kell használn. A prams alapú korlátozásos térbel ndex kódolás műveletszáma lényegében csak két műveletszámban tér el a prams alapú ndex kódolásétól, ezért ezen értékeket nem tüntettem fel külön, csupán utaltam a különbségekre. 9.. Az új LSF kódolás sémák műveletgénye Az általam kdolgozott új sémák komplextását abból a célból vzsgálom meg, hogy összehasonlítsam a nem rácskvantálást, lletve a súlyozott vagy súlyozás nélkül négyzetes hbakrtérumot használó vektorkvantálók komplextásával. Az általam kdolgozott új sémák alapvetően az alább építőelemekből állnak:. Lneárs predkcós együtthatók meghatározása.. LSF reprezentácó kszámítása a lneárs predkcós együtthatókból. 3. Az LSF paraméter vektor lneárs transzformácója. (opconáls) a. Zsugorítás alkalmazása nélkül. b. Zsugorítással. 4. Predktív többskálás rácskvantálás (PMSLVQ): a. predkcó, b. rácskvantálás végrehajtása az összes skálán. 5. Döntés krtérum a különböző skálákon kadódó jelöltek között: a. Négyzetes hba, b. Logartmkus spektráls torzítás. Az. és. lépés közös mnden LSF kódolás sémában, így ezeket a lépéseket nem szükséges tt megvzsgáln. A 3. lépés opconáls, ezen belül az újdonságot a zsugorítás jelent, lletve a transzformácó és a PMSLVQ együttes használata Logartmkus spektráls torzítás kszámításának műveletgénye Az (5.8)-ban megadott logartmkus spektráls torzítás alapvetően két lépésből áll: meg kell határozn a két LPC paraméterhez tartozó logartmkus spektrumot, 7

134 a két logartmkus spektrum négyzetes különbségének ntegrálja adja k a logartmkus spektráls torzítást. A logartmkus spektráls torzítás (5.8) szernt kszámításában folytonos spektrum szerepel, egy gyakorlat mplementácóban vszont dszkrét értékekkel kell számolnunk. Ezért a két folytonos spektrum -es alapú logartmusának négyzetes különbségének [-π, π] felett ntegrálja helyett N pontos Dszkrét Fourer Transzformácót (DFT) alkalmaztam, és a logartmkus spektrum együttható különbségének négyzetét adtam össze. Tovább egyszerűsítést jelent, ha az LSD értékek helyett annak a négyzetével arányos mennységet használunk. Ez az összehasonlítást nem fogja befolyásoln, mert az alább összefüggésben szereplő c arányszám poztív. Így az alább, LSD -tel arányos mennységet kaptam: N ( ) ( ), ˆ = log Ak ω f f N [ ( ) log( A ( ˆ k ω ) )] c LSD = log A ( ) = ( ) k ω k A ˆ k ω k = ahol ω az eredet, ωˆ pedg a kódolt és dekódolt LSF vektor, ( ω ) számolt LPC paraméter lneárs predkcós spektrumának k-adk értéke. A következő pontban megmutatom, hogy hogyan lehet log A ( ω ) ( k ) Amennyben log A ( ˆ ω ) és log ( ω ) ( k ) k (9...) A az ω LSF vektorból ( k ) -et kszámoln. A logartmkus spektrumok rendelkezésre állnak egyegy N / elemű tömbben, akkor már csak a négyzetes különbség összegét kell kszámoln, amnek műveletszámát az alább, 37. táblázat tartalmazza. Művelet EM * D tömbből olvasás Darabszám N N/ N 37. táblázat Az N elemű spektrumok négyzetes különbségének műveletszáma 9... Az új, LSF logartmkus spektrumát használó távolságkrtérum kszámításának műveletgénye Az A(ω) LPC spektrum hagyományos módon az a LPC paraméter vektorból számítható k az alább módon, ahol most ω a frekvencát jelöl: P ( ) = jω A ω a e (9...) = a dszkrét N pontos spektrum k-adk komponense így A k P ( a) = = a e πk j N, k =,,, N- (9...3) 8

135 Azonban a dszkrét spektrum komponense az ω LSF vektorból s meghatározatóak anélkül, hogy meg kelljen tennünk az LSF-LPC konverzót, mégpedg az alább módon: ( ) = (9...4) ( ω ) A ( ω ) + A ( ω ) A k k, páratlan k, páros A páratlan és páros ndexű LSF-ekből származó két polnom pedg meghatározható az alább módon: πk P = + = πk 4πk j j j ( ) N N N A ( + ) k, páratlan ω e cos ω e + e (9...5) πk P = = πk 4πk j j j ( ) N N N A ( ) k, páros ω e cos ω e + e (9...6) ahol ω jelent az -edk LSF paramétert radánban kfejezve. A logartmkus spektrum kszámításához tehát k kell értékeln N / darab frekvenca komponensre a (9...5) és (9...6) értékeket, majd ezekből megkapható a (9...4), amely már közvetlenül felhasználható (9...) spektráls torzítás kszámításához. A szükséges művelet- és memóragény: A P darab cos(ω n ) eredményeket a cklusmagon kívül számítjuk k és a kapott eredményt egy P elemű tömbben tároljuk. Maga a tárolás P darab D tömbbe írás, de a cos() megvalósítása gyakran egy osztással (skalár kvantálással) és egy D tömbből olvasásával történk. πk j N Az e értékeket előre kszámítva egy N elemű tömbben tároljuk (k=..n-), az ezekhez való hozzáférés műveletgénye tehát darab D tömbből olvasás (a valós és képzetes rész kolvasása). A (9...5) és (9...6) kértékeléséhez szükséges egyszerű műveletek és szorzások száma, ahol a műveletek nem komplex adattípusra, hanem a processzoron ábrázolható valós adattípusra vonatkozó műveletek: o 7 P+ darab EM, N / értékre ez 3.5 N P+N o 6 P darab szorzás, N / értékre ez 3 N P o 4 P + darab D tömbből olvasás, N / értékre ez N P+N Az így megkapott értékekből tovább 4 szorzással és 3 egyszerű művelettel, valamnt egy ( k ) log() művelettel megkapható log A ( ω ) o.5 N darab EM o N darab szorzás o N/ darab D tömbbe írás, ezekből pedg N / darab érték van: 9

136 Egy P dmenzós LSF vektor N pontos logartmkus spektruma kszámításának műveletszámát a 38. táblázat tartalmazza. A 39. táblázat a mérésekben használt N=56 és P= értékeknek megfelelő műveletszámot mutatja be. Művelet EM szorzás log() cos() D tömb olvasás/írás Darabszám 3.5 N P+.5 N 3 N P + N N / P N P +.5 N + P 38. táblázat P dmenzós LSF N pontos logartmkus spektruma kszámításának műveletgénye Művelet EM szorzás log() cos() D tömbből olvasás Darabszám táblázat dmenzós LSF vektor 56 pontos logartmkus spektruma kszámításának műveletgénye Az új távolságkrtérum kszámításának műveletgénye A PSMLVQ esetén a 8 darab skálákon kapott 6 jelölt torzításanak komplextását LSD A mérték esetén az alább lépéseket kell megtenn: Meg kell határozn az eredet LSF és az A darab kódolt és dekódolt LSF vektorokhoz tartozó logartmkus spektrumot. Az eredet és az A darab logartmkus spektrum négyzetes különbségének ntegrálja adja k a logartmkus spektráls torzítást, vagys a (9...) összefüggést kell A esetben kszámoln. Az így kapható műveletszámokat A függvényében a 4. táblázat tartalmazza. EM szorzás log() cos() D tömb Log. spektrumok négyzetes különbsége Az előbb A esetben kszámolva 56 A 8 A 56 A Egyetlen Log. spektrum kszámítása Az előbb A+ esetben kszámolva 96 (A+) 89 (A+) 8 (A+) (A+) 554 (A+) LSD A kszámítása 9856 A A 8 A+8 A+ 577 A táblázat Az új LSD A távolságkrtérum kszámításának műveletgénye 3

137 A 4. táblázaton belül külön sorban szerepel az egy vektorhoz tartozó logartmkus spektrum meghatározásának műveletgénye, valamnt ennek A+ vektorra (az A darab dekódolt és az eredet LSF vektorra) vonatkozó értéke. Ugyanígy egyetlen négyzetes különbség ntegrál kértékelésének műveletgénye s k van emelve külön sorba, de alatta látható ennek A szorosa s. A mérésem során előforduló konkrét A értékekre vonatkozó műveletszámokat pedg a 4. táblázat mutatja meg. A EM szorzás log() cos() D tömb táblázat Az új LSD A távolságkrtérum kszámításának műveletgénye A=, 3,...,6 értékekre Az új transzformácós PSMLVQ séma műveletgénye az új torzításkrtérummal A S darab skálát tartalmazó, alkalmazva az alább lépéseket kell elvégezn: + D ráccsal dolgozó PMSLVQ sémát és az új távolságkrtérumot A predkcó előtt el kell végezn a Karhunan-Loeve vagy a DCT transzformácót (ha van), ezután pedg a predkcót. Ha a transzformácót a bázsvektorokkal vett skalár szorzatokként értelmezzük, akkor a transzformácós mátrx ( dmenzós tömb) olvasása helyett bázsvektorokat kell olvasn, amely művelet D tömbből olvasást jelent. A zsugorító tényezők belevehetőek külön-külön mndegyk bázsvektorba, és ekkor nem kell tovább műveletet a zsugorításra felhasználn ugyanez gaz az nverz transzformácó és nverz zsugorítás végrehajtásakor s. Hasonlóan megoldható a predkcó s D tömbből olvasással, ekkor koordnátánként kell crkulárs pufferrel megoldan a késleltetést, ez D tömb 3

138 elemenek olvasását és írását jelent. A D dmenzós transzformácó és P rangú predkcó műveletszámát a 4. táblázat tartalmazza, ugyantt található meg a mérésem során használt D = és P = 4 értékekre vonatkozó konkrét műveletszám s. EM szorzás D tömb olvasás/írás Transzformácó D (3 D + ) D D ( D + ) Predkcó 3 D P D P D ( P + ) Összesen D (3 (D + P) + ) D (D + P) D ( (D + P) + ) D = és P = 4 esetén táblázat A transzformácó és a predkcó kszámításának műveletgénye A predkcós hbavektorból meg kell határozn az S darab skálára a legjobb rácsvektorokat (összesen S darab vektor), vagys a legközelebb rácspont megtalálását kell elvégezn. A + D rácsra vonatkozó konkrét műveletszámot a 35. táblázat tartalmazza (a műveletgénye általánosabban a 34. táblázatban található meg). Azonban a kvantálás nem pontosan azt az eredményt adja, amre nekünk szükségünk van, hszen tt a + D rács defnícójában szereplő mndkét bnárs vektorra kszámoljuk a legközelebb rácsvektort, és mndkettőt letároljuk, nemcsak a négyzetes hba értelmében ksebb torzításút (hszen lehet, hogy LSD értelemben más a helyzet). A tárolás optmalzácó nélkül megnövelhet a műveletszám gényt (például darab D tömbbe írással többet lehet kalkuláln), de ettől a ks módosítástól eltekntek, mvel ez lényeges műveletszám növekedést nem jelent. A műveletszámot így a 35. táblázat S-szeresének veszek. A kapott S darab vektorból megkeressük az A legksebb torzítású vektort. Ez a feladat valójában megegyezk azzal a feladattal, hogy egy már rendezett, a legksebb elemtől kezdődő A elemű tömbbe be kell szúrn S alkalommal új értékeket úgy, hogy a rendezettség megmaradjon és a legnagyobb érték (am lehet a beszúrt érték s) pedg essen k. Ezzel egyenértékű a kapott végeredmény szempontjából az a megoldás s, ahol egy S elemű tömbben meg kell találn az A legksebb értéket. Mvel a beszúrás során az egyk változóból máskba való másolás az egyedül művelet, ezért ezt EM súllyal vettem számításba. Hasonlóan a beszúrás helyének meghatározásához szükséges összehasonlítást s EM-nek vettem, de ezt az eddg számításoknál s így tettem. Az átlagos műveletszámot a részműveletek kfejtésével a 43. táblázat, a mérésemben használt értékekből kadódó átlagos műveletszámot pedg a 44. táblázat tartalmazza. 3

139 EM Az A legksebb érték közé beszúrás pozícójának log meghatározása bnárs kereséssel (A+) A beszúrás (a nagyobbak hátrafelé léptetése majd az A érték tárolása) átlagos műveletszáma Műveletszám S érték beszúrására S log (A+) + A S 43. táblázat A S darab érték közül az A legksebb megkeresésének átlagos műveletszáma A EM táblázat 6 értékből (S = 8) az A darab legksebb megkeresésének átlagos műveletszáma a mérésben használt A értékekre A kapott A darab vektorra meg kell határozn a dekódolt LSF vektort, és k kell számítan a logartmkus spektráls torzítást. Ez a kvantált predkcós hbának a kódolás során előzőleg már megkapott becslő vektorhoz való hozzáadását jelent (így a műveletszám tt nem függ P- től), ha pedg van transzformácó, akkor az nverz transzformácót a becslő vektorhoz való hozzáadás előtt még meg kell tenn. Meg kell jegyezn azonban, hogy az nverz predkcó a dekóderben ennél több műveletet gényel, mert ott elő kell állítan a becslő vektort. A zsugorítás nverzének megvalósítását az nverz transzformácós mátrx módosításával tehetjük meg, ezt a műveletszámot ezért tt nem vettem fgyelembe. Az így kapott műveletszámot az alább, 45. táblázat tartalmazza. EM szorzás D tömb olvasás/írás Inverz transzformácó D (3 D + ) D D ( D + ) Becslő vektorhoz való hozzáadás 3 D - 3 D Összesen D (3 D + 5) D D ( D + 4) D = esetén táblázat Az nverz transzformácó és predkcó dekódolás kszámításának műveletgénye A kapott A darab LSF vektorból meg kell határozn az LSD értelmében legksebb torzításút. Ennek a műveletgényét a 4. táblázat tartalmazza. A legksebb torzítású vektorra el kell készíten a prams alapú ndexet. Ennek a műveletgénye a 3. táblázatban található meg. Itt a pakolt ndexelést alkalmazzuk térbel kódolással, ezért az egyszerű műveletek számát s és az D tömbből olvasás műveletszámát egy kcsny számmal ( körül) meg kellene növeln a 3. táblázatban szereplő értékekhez képest, de ezt az átteknthetőség matt elhanyagoltam. 33

140 Az összevonás eredményét, vagys az új torzításkrtérummal működő új PSMLVQ séma műveletgényének becslését a 46. táblázat tartalmazza. EM szorzás D tömb D tömb osztás log() cos() abs() mn() Transzformácó, predkcó, zsugorítás (4. táblázat) MSLVQ a D rácsra, S darab skálára (35. táblázat) Általában 8 S S 94 S S 4 S S = Inverze a következőknek: zsugorítás, transzformácó és predkcó (45. táblázat) A darab vektorra 35 A A 4 A Négyzetes értelemben legjobb A darab vektor megtalálása (ha A < S = 6, 44. táblázat), majd az LSD A távolságkrtérum kszámítása (4. táblázat) A = A = A = A = A = A = A = A = A = A = A = A = A = A = A = Prams alapú ndexelés a legjobb vektorra, L norma = M (3. táblázat) (a térbel kódolás és a pakolt ndexelés komplextása elhanyagolható) Általában 3.5 M +6 M+ M+5 3 M+ M+3.5 M+ bt : M bt : M bt : M táblázat Az új PSMLVQ séma műveletgénye (felfelé kerekítve) az új torzításkrtérummal A 46. táblázat könnyebb megértése céljából az alábbakban felsorolom azokat a táblázatokat sorszámmal és teljes aláírással, amely táblázatokat falhasználtam ahhoz, hogy megkapjuk a teljes LSF kódoló műveletszámának becslését: 4. táblázat A transzformácó és a predkcó kszámításának műveletgénye 35. táblázat A + D és a 6-D Barnes-Wall rácsra való kvantálás műveletszáma 34

141 4. táblázat Az új LSD A távolságkrtérum kszámításának műveletgénye A=, 3,...,6 értékekre 44. táblázat 6 értékből (S = 8) az A darab legksebb megkeresésének átlagos műveletszáma a mérésben használt A értékekre 3. táblázat A + D és a 6-D Barnes-Wall rács prams alapú ndexelő algortmus átlagos műveletszámának felső becslése az M sugarú pramson ( * térbel kódolásnál -gyel több művelet szükséges) 45. táblázat Az nverz transzformácó és predkcó dekódolás kszámításának műveletgénye Érdekes és fontos adat az s, hogy másodperc alatt a vzsgált műveletekből mennyt kell végrehajtan. A 47. táblázat 5 LSF vektor/másodperc esetére ( msec-os beszédkeretek) mutatja meg a vzsgált műveletek számát az LSD, LSD 4 és LSD 8 távolságkrtérumok esetében. EM szorzás D tömb D tömb osztás log() cos() abs() mn() LSD Egy LSF vektor kódolása másodpercny.6 M.7 M 9785 adat kódolása LSD 4 Egy LSF vektor kódolása másodpercny.64 M. M adat kódolása.57 M LSD 8 Egy LSF vektor kódolása másodpercny 4.69 M 3.79 M adat kódolása.77 M táblázat Az új LSF kódoló séma műveletgénye másodpercny adatra az LSD, LSD 4 és LSD 8 távolságkrtérummal A mérésem során azt a megállapítást tettem, hogy az A = 4 értéknél már nem érdemes magasabbat választan, mert a kódolás mnősége csak mnmálsan javul. Az A érték eképpen korlátozásának célszerűségét a 46. táblázat és a 47. táblázat értéke még nkább megerősítk, hszen ezekből az következk, hogy a kódoló komplextása lényegében az LSD A torzításkrtérum kértékelésének komplextása, így kétszer akkora A érték körülbelül kétszeres komplextást eredményez. 35

142 9..5. Az új transzformácós PSMLVQ séma műveletgénye a GW súllyal Az új PMSLVQ séma műveletgényét az előző oldalakon már megadtam LSD A távolságkrtérumra, az LSD A távolságkrtérum helyett a GW súllyal működő súlyozott négyzetes hbakrtérum alkalmazásához az alább két ponton kell módosítan a táblázatot: Az LSD kszámítása helyett a súlyozott négyzetes hbakrtérumot kell kszámoln a módosított PMSLVQ során kapott 6 (vagy némely esetben 4) darab vektorra. A súlyozott négyzetes hbakrtérum GW súlyát meg kell határozn, a mérésem során Gardner algortmusát [69] alkalmaztam. A súlyozott négyzetes hbakrtérum az N dmenzós x és y vektor között = N w ( x y ), vagys ez koordnátánként szorzást, kvonást, összeadást, valamnt az futó ndex növelését és az ndex tartomány érvényességének ellenőrzését jelent. Továbbá a w, x és y értékek egy-egy tömbből való olvasással kaphatóak meg. Ez összességében szorzásnak, 4 egyszerű műveletnek és 3 tömbből való olvasásnak felel meg egy koordnátára, a mérésemben használt N = esetén ez 6 darab vektorra az előbb értékek 6-szorosa. A GW súlyt használó új transzformácós PSMLVQ séma alkotóeleme a következők: Transzformácó, predkcó, zsugorítás: a műveletszám a 4. táblázatban található. MSLVQ a + D rácsra, 8 darab skálára (a műveletszám a 35. táblázatból), a kapott eredmény 6 dekódolt predkcós hba vektor. Inverze a következőknek: zsugorítás, transzformácó és predkcó, mégpedg az előző lépésben kapott 6 darab vektorra (a 45. táblázat szernt). Súlyozott négyzetes hba kszámítása az előző lépésben kapott 6 darab LSF vektorra. Prams alapú ndexelés a legjobb vektorra, a műveletszám a 3. táblázat alapján. A 46. táblázatból azt s kolvashatjuk, hogy a prams alapú ndex kódolás ugyan függ az M prams sugártól, de az M {8, 9, } értékek között műveletszámban nncs lényeges különbség, ezért a legnagyobb műveletszámmal, az M = esetén kadódóval számolunk a továbbakban. Az így kapott eredményt egyetlen LSF vektorra, lletve másodpercny adatra (5 LSF vektorra) a 48. táblázat tartalmazza. A 48. táblázat alapján megállapíthatjuk, hogy ennek a sémának a műveletgénye gen kcs, különösen az LSD torzításkrtérumot alkalmazó sémával szemben: a műveletek döntő többségét ktevő egyszerű műveletek, szorzások és tömb olvasás és írás műveleteket tekntve jelentős különbség mutatkozk már az LSD -t alkalmazó sémával szemben s. 36

143 EM szorzás D tömb D tömb osztás log() cos() abs() mn() A GW súly kszámítása Gardner algortmusával ([69] Appendx D. alapján) Transzformácó, predkcó, zsugorítás (4. táblázat) MSLVQ a D rácsra, 8 darab skálára (35. táblázat) Inverz zsugorítás, nverz transzformácó, predkcó dekódolása 6 darab vektorra (a 45. táblázat alapján) Súlyozott négyzetes hba kszámítása a 6 darab vektorra Prams alapú ndexelés a legjobb vektorra, L norma esetén (3. táblázat) Térbel kódolás, pakolt ndexelés Összes műveletszám vektorra Összes műveletszám 5 vektorra ( másodpercny adat) táblázat Az új transzformácós PMSLVQ séma műveletgénye a GW súllyal EM szorzás D tömb D tömb osztás log() cos() abs() mn() A GW súly kszámítása Gardner algortmusával ([69] Appendx D. alapján) Predkcó (4. táblázat) MSLVQ a D rácsra, 8 darab skálára (35. táblázat) A predkcó dekódolása 6 darab vektorra (a 45. táblázat alapján) 3 3 Súlyozott négyzetes hba kszámítása a 6 darab vektorra Prams alapú ndexelés a legjobb vektorra, L norma esetén (3. táblázat) Térbel kódolás, pakolt ndexelés Összes műveletszám vektorra Összes műveletszám 5 vektorra ( másodpercny adat) táblázat A transzformácó nélkül PMSLVQ séma műveletgénye a GW súllyal 37

144 A transzformácó nélkül PMSLVQ műveletszámát, amely lényegében az eredet PMSLVQ séma [34] műveletszámával azonos, a 49. táblázat tartalmazza. Látható ebből a táblázatból, hogy a transzformácó elhagyása körülbelül a felére-harmadára csökkent az EM, a szorzás és az D tömbhöz való hozzáférések számát. Összehasonlításképpen a 5. táblázatban egy olyan osztott vektorkvantáló műveletgényét láthatjuk, ahol mnden szegmensre 8 bt jut. Ilyen alkalmazás lehet például egy szegmentácóval működő 4 bt/keret btsebességű LSF kódoló. EM szorzás D tömb D tömb osztás log() cos() abs() mn() A GW súly kszámítása Gardner algortmusával ([69] Appendx D. alapján) Súlyozott négyzetes hba kszámítása a 56 darab vektorra (8 bt/szegmens) Összes műveletszám vektorra Összes műveletszám 5 vektorra ( másodpercny adat) táblázat WMSE alapú osztott vektorkvantáló műveletgénye, ha egy szegmensre 8 bt jut A 47. táblázat, a 48. táblázat és a 5. táblázat összehasonlítása céljából a kapott átlagos műveletszámokat összesítve tartalmazza a 5. táblázat. új KLT + PMSLVQ + LSD új KLT + PMSLVQ + LSD 4 új KLT + PMSLVQ + LSD 8 új KLT + PMSLVQ + GW új PMSLVQ + GW Osztott VQ + GW 8 bt/szegmens EM.6 M.64 M 4.69 M szorzás.7 M. M 3.79 M D tömb M.77 M D tömb osztás log() cos() abs() mn() táblázat Különböző sémák műveletgényének összehasonlítása: az új transzformácós PMSLVQ séma WMSE hbakrtérummal GW súllyal, valamnt LSD, LSD 4 és LSD 8 hbakrtérumokkal, lletve GW súlyt használó WMSE alapú osztott vektorkvantáló, ha egy szegmensre 8 bt jut E táblázat alapján megállapítható, hogy a transzformácót nem használó, a GW súlyon alapuló WMSE alapú 8 bt/szegmens btkosztású osztott vektorkvantáló és az ugyanezzel a súllyal működő új transzformácós PMSLVQ séma műveletgénye között nncs lényeges különbség. Az 38

145 egyetlen hátránya a transzformácós PMSLVQ sémának, hogy osztást s használ, gaz nem nagy számban (a mnmum és az abszolút érték egyszerű művelet egy ma processzoron), vszont az egyszerű műveleteket és a szorzást tekntve ksmértékben ksebb transzformácós PMSLVQ séma műveletgénye. A mérésem eredményenek értékelése során vszont már jeleztem (. táblázat,. oldal), hogy az új séma, és 4 bt/keret btsebességeket legalább. db-lel jobb torzítást jelent a rég osztott vektorkvantálásnál. Ez pedg azt jelent, hogy az eddg használt osztott vektorkvantálók helyett alkalmazva az új transzformácós PMSLVQ sémát a GW alapú súlyozott négyzetes hbakrtérummal a komplextás növekedése nélkül érhetünk el jelentős kódolás mnőség növekedést. A mnőség az LSD A távolságkrtérummal tovább növelhető, de ennek nkább csak elv jelentősége van, mert a komplextás ezzel a távolságkrtérummal drámaan megnövekedk, ahogy ez a 5. táblázatból megfgyelhető. Az LSD A távolságkrtérummal működő új sémák hátránya még az s, hogy log() és cos() függvényeket s alkalmaznak, amelyek egyszerűbb processzorokon bonyolultabb utasításoknak számítanak, és a végrehajtásukra jóval több gép cklus szükséges, mnt a 5. táblázatban feltüntetett első négy műveletcsoporthoz A rácskvantáló és szabványos MPEG- dekódernek megfelelő skalár kvantáló alapú MPEG- vdeó transzkóderek összehasonlítása btsebesség-torzítás dagramokon Ebben a pontban olyan btsebesség-torzítás dagramokat mutatok be, amelyek a 4. fejezetben smertetett rácskvantáló ( LVQ ) MPEG- vdeó transzkóderben való alkalmazásának torzítását mutatja be többféle beállítással a különböző teszt adatokra. Összehasonlításként feltüntetem az MPEG- vdeó dekóderben lévő szabványos skalár kvantálás dekóderének nverzével működő skalár kvantáló ( MPEG- ) transzkóderben való alkalmazásának teljesítményét s. A skalár kvantálás előbb bonyolult megfogalmazását az ndokolja, hogy az MPEG- vdeó kódolás terén a dekóder van szabványosítva, és így a transzkóderben lévő skalár kvantálás a szabványosított dekóderbel kódkönyvtár alapján történk a legközelebb szomszéd kvantálás elvén. Azért, hogy a btsebesség vezérlés kérdése ne tegye az összehasonlítást nehezen ellenőrzhetővé, a btsebesség helyett valójában mnden képtípuson belül ugyanazt a makroblokk skálázó faktort (MQUANT) használtam. A különböző btsebességek így a makroblokk skálázó faktor változtatásával adódtak k mnd az LVQ, mnd az MPEG- alapú transzkóderrel. 39

146 A mérésekhez hatféle képcsoport struktúrát, az I, IP, IPPPP, IBP, IBBPBBPBBP és IBBPBBPBBPBBPBBP képcsoport struktúrákat vzsgáltam meg. Az LVQ paraméteret a Vectra képsorozaton állítottam be, ennek a képsorozatnak az első, utolsó és két közbülső képkockát a 3. ábra mutatja be. A Vectra képsorozaton belül a képek felbontása: CIF (35*88) 4::. 3. ábra A tanításra használt Vectra képsorozat első (balra fent), 6-dk (jobbra fent), 3-dk (balra lent) és utolsó (5-edk, jobbra lent) képkockája A következő ábrák (33. ábra-36. ábra) a méréshez tesztadatként használt képsorozatok első és utolsó valamnt egyes szekvencáknál két közbülső - képet mutatják be, a képek felbontása tt s CIF 4::. 4

147 33. ábra Costgrls képsorozat első (balra fent), 6-dk (jobbra fent), 3-dk (balra lent) és utolsó (47-dk, jobbra lent) képkockája: az dőbel sorrend a vonat mozgásával követhető legnkább Mnd a Costgrls, mnd a Vectra sorozat esetében a képkockák körül keret látható, ez pedg a felhasznált vdeószekvencában van így, nem pedg nyomtatás vagy szerkesztés hba. 34. ábra Mss Amerca képsorozat első és utolsó (.) képkockája 4

148 35. ábra Moble képsorozat (az eredet, 74x576 képméretű Moble and Calendar 4-szeres kcsnyítése) első és utolsó (9.) képkockája 36. ábra Moble képsorozat közepéből álló képsorozat (az eredet, 74x576 képméretű Moble and Calendar közepe kcsnyítés nélkül) első, 6-dk, -dk és utolsó (9.) képkockája 4

Kvantum-tömörítés II.

Kvantum-tömörítés II. LOGO Kvantum-tömörítés II. Gyöngyös László BME Vllamosmérnök és Informatka Kar A kvantumcsatorna kapactása Kommunkácó kvantumbtekkel Klasszkus btek előnye Könnyű kezelhetőség Stabl kommunkácó Dszkrét értékek

Részletesebben

Hely és elmozdulás - meghatározás távolságméréssel

Hely és elmozdulás - meghatározás távolságméréssel Hely és elmozdulás - meghatározás távolságméréssel Bevezetés A repülő szerkezetek repülőgépek, rakéták, stb. helyének ( koordnátának ) meghatározása nem új feladat. Ezt a szakrodalom részletesen taglalja

Részletesebben

Az entrópia statisztikus értelmezése

Az entrópia statisztikus értelmezése Az entrópa statsztkus értelmezése A tapasztalat azt mutatja hogy annak ellenére hogy egy gáz molekulá egyed mozgást végeznek vselkedésükben mégs szabályszerűségek vannak. Statsztka jellegű vselkedés szabályok

Részletesebben

Statisztikai próbák. Ugyanazon problémára sokszor megvan mindkét eljárás.

Statisztikai próbák. Ugyanazon problémára sokszor megvan mindkét eljárás. Statsztka próbák Paraméteres. A populácó paraméteret becsüljük, ezekkel számolunk.. Az alapsokaság eloszlására van kkötés. Nem paraméteres Nncs lyen becslés Nncs kkötés Ugyanazon problémára sokszor megvan

Részletesebben

10. Alakzatok és minták detektálása

10. Alakzatok és minták detektálása 0. Alakzatok és mnták detektálása Kató Zoltán Képfeldolgozás és Számítógépes Grafka tanszék SZTE http://www.nf.u-szeged.hu/~kato/teachng/ 2 Hough transzformácó Éldetektálás során csak élpontok halmazát

Részletesebben

d(f(x), f(y)) q d(x, y), ahol 0 q < 1.

d(f(x), f(y)) q d(x, y), ahol 0 q < 1. Fxponttétel Már a hétköznap életben s gyakran tapasztaltuk, hogy két pont között a távolságot nem feltétlenül a " kettő között egyenes szakasz hossza" adja Pl két település között a távolságot közlekedés

Részletesebben

KOMBINATORIKA ELŐADÁS osztatlan matematika tanár hallgatók számára. Szita formula

KOMBINATORIKA ELŐADÁS osztatlan matematika tanár hallgatók számára. Szita formula KOMBINATORIKA ELŐADÁS osztatlan matematka tanár hallgatók számára Szta formula Előadó: Hajnal Péter 2015. 1. Bevezető példák 1. Feladat. Hány olyan sorbaállítása van a a, b, c, d, e} halmaznak, amelyben

Részletesebben

Support Vector Machines

Support Vector Machines Support Vector Machnes Ormánd Róbert MA-SZE Mest. Int. Kutatócsoport 2009. február 17. Előadás vázlata Rövd bevezetés a gép tanulásba Bevezetés az SVM tanuló módszerbe Alapötlet Nem szeparálható eset Kernel

Részletesebben

Fuzzy rendszerek. A fuzzy halmaz és a fuzzy logika

Fuzzy rendszerek. A fuzzy halmaz és a fuzzy logika Fuzzy rendszerek A fuzzy halmaz és a fuzzy logka A hagyományos kétértékű logka, melyet évezredek óta alkalmazunk a tudományban, és amelyet George Boole (1815-1864) fogalmazott meg matematkalag, azon a

Részletesebben

IDA ELŐADÁS I. Bolgár Bence október 17.

IDA ELŐADÁS I. Bolgár Bence október 17. IDA ELŐADÁS I. Bolgár Bence 2014. október 17. I. Generatív és dszkrmnatív modellek Korábban megsmerkedtünk a felügyelt tanulással (supervsed learnng). Legyen adott a D = {, y } P =1 tanító halmaz, ahol

Részletesebben

4 2 lapultsági együttható =

4 2 lapultsági együttható = Leíró statsztka Egy kísérlet végeztével általában tetemes mennységű adat szokott összegyűln. Állandó probléma, hogy mt s kezdjünk - lletve mt tudunk kezden az adatokkal. A statsztka ebben segít mnket.

Részletesebben

Relációk. Vázlat. Példák direkt szorzatra

Relációk. Vázlat. Példák direkt szorzatra 8.. 7. elácók elácó matematka fogalma zükséges fogalom: drekt szorzat Halmazok Descartes drekt szorzata: Legenek D D D n adott doman halmazok. D D D n : = { d d d n d k D k k n } A drekt szorzat tehát

Részletesebben

ORVOSI STATISZTIKA. Az orvosi statisztika helye. Egyéb példák. Példa: test hőmérséklet. Lehet kérdés? Statisztika. Élettan Anatómia Kémia. Kérdések!

ORVOSI STATISZTIKA. Az orvosi statisztika helye. Egyéb példák. Példa: test hőmérséklet. Lehet kérdés? Statisztika. Élettan Anatómia Kémia. Kérdések! ORVOSI STATISZTIKA Az orvos statsztka helye Élettan Anatóma Kéma Lehet kérdés?? Statsztka! Az orvos döntéseket hoz! Mkor jó egy döntés? Mennyre helyes egy döntés? Mekkora a tévedés lehetősége? Példa: test

Részletesebben

Vázlat. Relációk. Példák direkt szorzatra

Vázlat. Relációk. Példák direkt szorzatra 7..9. Vázlat elácók a. elácó fogalma b. Tulajdonsága: refleív szmmetrkus/antszmmetrkus tranztív c. Ekvvalenca relácók rzleges/parcáls rrendez relácók felsmere d. elácók reprezentálása elácó matematka fogalma

Részletesebben

Hipotézis vizsgálatok. Egy példa. Hipotézisek. A megfigyelt változó eloszlása Kérdés: Hatásos a lázcsillapító gyógyszer?

Hipotézis vizsgálatok. Egy példa. Hipotézisek. A megfigyelt változó eloszlása Kérdés: Hatásos a lázcsillapító gyógyszer? 01.09.18. Hpotézs vzsgálatok Egy példa Kérdések (példa) Hogyan adhatunk választ? Kérdés: Hatásos a lázcsllapító gyógyszer? Hatásos-e a gyógyszer?? rodalomból kísérletekből Hpotézsek A megfgyelt változó

Részletesebben

Indirekt térfogat-vizualizáció. Fourier térfogat-vizualizáció. Tomográfiás rekonstrukció. Radon-transzformáció. A Fourier vetítő sík tétel

Indirekt térfogat-vizualizáció. Fourier térfogat-vizualizáció. Tomográfiás rekonstrukció. Radon-transzformáció. A Fourier vetítő sík tétel Vzualzácós algortmusok csoportosítása Indrekt térfogat-vzualzácó Csébfalv Balázs Budapest Műszak és Gazdaságtudomány Egyetem Irányítástechnka és Informatka Tanszék Drekt vzualzácó: Közvetlenül a dszkrét

Részletesebben

Az elektromos kölcsönhatás

Az elektromos kölcsönhatás TÓTH.: lektrosztatka/ (kbővített óravázlat) z elektromos kölcsönhatás Rég tapasztalat, hogy megdörzsölt testek különös erőket tudnak kfejten. Így pl. megdörzsölt műanyagok (fésű), megdörzsölt üveg- vagy

Részletesebben

Méréselmélet: 5. előadás,

Méréselmélet: 5. előadás, 5. Modellllesztés (folyt.) Méréselmélet: 5. előadás, 03.03.3. Út az adaptív elárásokhoz: (85) és (88) alapán: W P, ( ( P). Ez utóbb mndkét oldalát megszorozva az mátrxszal: W W ( ( n ). (9) Feltételezve,

Részletesebben

s n s x A m és az átlag Standard hiba A m becslése Információ tartalom Átlag Konfidencia intervallum Pont becslés Intervallum becslés

s n s x A m és az átlag Standard hiba A m becslése Információ tartalom Átlag Konfidencia intervallum Pont becslés Intervallum becslés A m és az átlag Standard hba Mnta átlag 1 170 Az átlagok szntén ngadoznak a m körül. s x s n Az átlagok átlagos eltérése a m- től! 168 A m konfdenca ntervalluma. 3 166 4 173 x s x ~ 68% ~68% annak a valószínűsége,

Részletesebben

5. Forráskódolás és hibavédő kódolás

5. Forráskódolás és hibavédő kódolás 5 Forráskódolás és hbavédő kódolás 51 Példa: forráskódolás Egy (szmbólumonként kódolt) forrás legtömörebb bnárs kódjában a kódszavak hossza rendre 2,3,3,3,3,4,4,4,5,5 a) Lehet-e ez a kód egyértelműen megfejthető

Részletesebben

Példák ekvivalencia relációra (TÉTELként kell tudni ezeket zárthelyin, vizsgán):

Példák ekvivalencia relációra (TÉTELként kell tudni ezeket zárthelyin, vizsgán): F NIK INÁRIS RLÁIÓK INÁRIS RLÁIÓK (és hasonló mátrxok s tt!) Defnícó: z R bnárs relácó, ha R {( a, b) a, b } nárs relácók lehetséges tuladonsága:. Reflexív ha ( x,.(a). Szmmetrkus ha ( x, y) ( y,.(b).

Részletesebben

Egy negyedrendű rekurzív sorozatcsaládról

Egy negyedrendű rekurzív sorozatcsaládról Egy negyedrendű rekurzív sorozatcsaládról Pethő Attla Emlékül Kss Péternek, a rekurzív sorozatok fáradhatatlan kutatójának. 1. Bevezetés Legyenek a, b Z és {1, 1} olyanok, hogy a 2 4b 2) 0, b 2 és ha 1,

Részletesebben

8. Programozási tételek felsoroló típusokra

8. Programozási tételek felsoroló típusokra 8. Programozás tételek felsoroló típusokra Ha egy adatot elem értékek csoportja reprezentál, akkor az adat feldolgozása ezen értékek feldolgozásából áll. Az lyen adat típusának lényeges jellemzője, hogy

Részletesebben

Regresszió. Fő cél: jóslás Történhet:

Regresszió. Fő cél: jóslás Történhet: Fő cél: jóslás Történhet: Regresszó 1 változó több változó segítségével Lépések: Létezk-e valamlyen kapcsolat a 2 változó között? Kapcsolat természetének leírása (mat. egy.) A regresszós egyenlet alapján

Részletesebben

METROLÓGIA ÉS HIBASZÁMíTÁS

METROLÓGIA ÉS HIBASZÁMíTÁS METROLÓGIA ÉS HIBASZÁMíTÁS Metrológa alapfogalmak A metrológa a mérések tudománya, a mérésekkel kapcsolatos smereteket fogja össze. Méréssel egy objektum valamlyen tulajdonságáról számszerű értéket kapunk.

Részletesebben

Tanult nem paraméteres próbák, és hogy milyen probléma megoldására szolgálnak.

Tanult nem paraméteres próbák, és hogy milyen probléma megoldására szolgálnak. 8. GYAKORLAT STATISZTIKAI PRÓBÁK ISMÉTLÉS: Tanult nem paraméteres próbák, és hogy mlyen probléma megoldására szolgálnak. Név Illeszkedésvzsgálat Χ próbával Illeszkedésvzsgálat grafkus úton Gauss papírral

Részletesebben

A sokaság/minta eloszlásának jellemzése

A sokaság/minta eloszlásának jellemzése 3. előadás A sokaság/mnta eloszlásának jellemzése tpkus értékek meghatározása; az adatok különbözőségének vzsgálata, a sokaság/mnta eloszlásgörbéjének elemzése. Eloszlásjellemzők Középértékek helyzet (Me,

Részletesebben

Algoritmusok és adatszerkezetek gyakorlat 09 Rendezések

Algoritmusok és adatszerkezetek gyakorlat 09 Rendezések Algortmusok és adatszerkezetek gyakorlat 09 Rendezések Néhány órával ezelőtt megsmerkedtünk már a Merge Sort rendező algortmussal. A Merge Sort-ról tuduk, hogy a legrosszabb eset dőgénye O(n log n). Tetszőleges

Részletesebben

Békefi Zoltán. Közlekedési létesítmények élettartamra vonatkozó hatékonyság vizsgálati módszereinek fejlesztése. PhD Disszertáció

Békefi Zoltán. Közlekedési létesítmények élettartamra vonatkozó hatékonyság vizsgálati módszereinek fejlesztése. PhD Disszertáció Közlekedés létesítmények élettartamra vonatkozó hatékonyság vzsgálat módszerenek fejlesztése PhD Dsszertácó Budapest, 2006 Alulírott kjelentem, hogy ezt a doktor értekezést magam készítettem, és abban

Részletesebben

Darupályák ellenőrző mérése

Darupályák ellenőrző mérése Darupályák ellenőrző mérése A darupályák építésére, szerelésére érvényes 15030-58 MSz szabvány tartalmazza azokat az előírásokat, melyeket a tervezés, építés, műszak átadás során be kell tartan. A geodéza

Részletesebben

1.Tartalomjegyzék 1. 1.Tartalomjegyzék

1.Tartalomjegyzék 1. 1.Tartalomjegyzék 1.Tartalomjegyzék 1 1.Tartalomjegyzék 1.Tartalomjegyzék...1.Beezetés... 3.A matematka modell kálasztása...5 4.A ékony lap modell...7 5.Egy más módszer a matematka modell kálasztására...10 6.A felületet

Részletesebben

Szárítás során kialakuló hővezetés számítása Excel VBA makróval

Szárítás során kialakuló hővezetés számítása Excel VBA makróval Szárítás során kalakuló hővezetés számítása Excel VBA makróval Rajkó Róbert 1 Eszes Ferenc 2 Szabó Gábor 1 1 Szeged Tudományegyetem, Szeged Élelmszerpar Főskola Kar Élelmszerpar Műveletek és Környezettechnka

Részletesebben

VARIANCIAANALÍZIS (szóráselemzés, ANOVA)

VARIANCIAANALÍZIS (szóráselemzés, ANOVA) VARIANCIAANAÍZIS (szóráselemzés, ANOVA) Varancaanalízs. Varancaanalízs (szóráselemzés, ANOVA) Adott: egy vagy több tetszőleges skálájú független változó és egy legalább ntervallum skálájú függő változó.

Részletesebben

Periodikus figyelésű készletezési modell megoldása általános feltételek mellett

Periodikus figyelésű készletezési modell megoldása általános feltételek mellett Tanulmánytár Ellátás/elosztás logsztka BME OMIKK LOGISZTIKA 9. k. 4. sz. 2004. júlus augusztus. p. 47 52. Tanulmánytár Ellátás/elosztás logsztka Perodkus fgyelésű készletezés modell megoldása általános

Részletesebben

Függvények növekedési korlátainak jellemzése

Függvények növekedési korlátainak jellemzése 17 Függvények növekedési korlátainak jellemzése A jellemzés jól bevált eszközei az Ω, O, Θ, o és ω jelölések. Mivel az igények általában nemnegatívak, ezért az alábbi meghatározásokban mindenütt feltesszük,

Részletesebben

Minősítéses mérőrendszerek képességvizsgálata

Minősítéses mérőrendszerek képességvizsgálata Mnősítéses mérőrendszerek képességvzsgálata Vágó Emese, Dr. Kemény Sándor Budapest Műszak és Gazdaságtudomány Egyetem Kéma és Környezet Folyamatmérnök Tanszék Az előadás vázlata 1. Mnősítéses mérőrendszerek

Részletesebben

A DÖNTÉSELMÉLET ALAPJAI

A DÖNTÉSELMÉLET ALAPJAI J 2 A DÖNTÉSELMÉLET ALAJAI óformán életünk mnden percében döntéseket kell hoznunk, és tesszük ezt mnden elmélet megalapozottság nélkül. Sajnos a mndennap életben felmerülő egyed döntésekre még nem skerült

Részletesebben

ALAKOS KÖRKÉS PONTOSSÁGI VIZSGÁLATA EXCEL ALAPÚ SZOFTVERREL OKTATÁSI SEGÉDLET. Összeállította: Dr. Szabó Sándor

ALAKOS KÖRKÉS PONTOSSÁGI VIZSGÁLATA EXCEL ALAPÚ SZOFTVERREL OKTATÁSI SEGÉDLET. Összeállította: Dr. Szabó Sándor MISKOLCI EGYETEM Gépgyártástechnológa Tanszék Mskolc - Egyetemváros ALAKOS KÖRKÉS PONTOSSÁGI VIZSGÁLATA EXCEL ALAPÚ SZOFTVERREL OKTATÁSI SEGÉDLET Összeállította: Dr. Szabó Sándor A orgácsoló megmunkálásokhoz

Részletesebben

Philosophiae Doctores. A sorozatban megjelent kötetek listája a kötet végén található

Philosophiae Doctores. A sorozatban megjelent kötetek listája a kötet végén található Phlosophae Doctores A sorozatban megjelent kötetek lstája a kötet végén található Benedek Gábor Evolúcós gazdaságok szmulácója AKADÉMIAI KIADÓ, BUDAPEST 3 Kadja az Akadéma Kadó, az 795-ben alapított Magyar

Részletesebben

1. Holtids folyamatok szabályozása

1. Holtids folyamatok szabályozása . oltds folyamatok szabályozása Az rányított folyamatok jelentés részét képezk a lassú folyamatok. Ilyenek például az par környezetben található nagy méret kemencék, desztllácós oszlopok, amelyekben valamlyen

Részletesebben

Optikai elmozdulás érzékelő illesztése STMF4 mikrovezérlőhöz és robot helyzetérzékelése. Szakdolgozat

Optikai elmozdulás érzékelő illesztése STMF4 mikrovezérlőhöz és robot helyzetérzékelése. Szakdolgozat Mskolc Egyetem Gépészmérnök és Informatka Kar Automatzálás és Infokommunkácós Intézet Tanszék Optka elmozdulás érzékelő llesztése STMF4 mkrovezérlőhöz és robot helyzetérzékelése Szakdolgozat Tervezésvezető:

Részletesebben

Dr. Ratkó István. Matematikai módszerek orvosi alkalmazásai. 2010.11.08. Magyar Tudomány Napja. Gábor Dénes Főiskola

Dr. Ratkó István. Matematikai módszerek orvosi alkalmazásai. 2010.11.08. Magyar Tudomány Napja. Gábor Dénes Főiskola Dr. Ratkó István Matematka módszerek orvos alkalmazása 200..08. Magyar Tudomány Napja Gábor Dénes Főskola A valószínűségszámítás és matematka statsztka főskola oktatásakor a hallgatók néha megkérdezk egy-egy

Részletesebben

Párhuzamos algoritmusok

Párhuzamos algoritmusok Párhuzamos algortmusok. Hatékonyság mértékek A árhuzamos algortmusok esetében fontos jellemző az m ( n, P, ) munka, amt a futás dő és a rocesszorszám szorzatával defnálunk. A P árhuzamos algortmus az A

Részletesebben

Rendezések. A rendezési probléma: Bemenet: Kimenet: n számot tartalmazó (a 1,a 2,,a n ) sorozat

Rendezések. A rendezési probléma: Bemenet: Kimenet: n számot tartalmazó (a 1,a 2,,a n ) sorozat 9. Előadás Rendezések A rendezési probléma: Bemenet: n számot tartalmazó (a 1,a 2,,a n ) sorozat Kimenet: a bemenő sorozat olyan (a 1, a 2,,a n ) permutációja, hogy a 1 a 2 a n 2 Rendezések Általánosabban:

Részletesebben

MŰSZAKI TUDOMÁNYI DOKTORI ISKOLA. Napkollektorok üzemi jellemzőinek modellezése

MŰSZAKI TUDOMÁNYI DOKTORI ISKOLA. Napkollektorok üzemi jellemzőinek modellezése MŰSZAKI TUDOMÁNYI DOKTORI ISKOLA Napkollektorok üzem jellemzőnek modellezése Doktor (PhD) értekezés tézse Péter Szabó István Gödöllő 015 A doktor skola megnevezése: Műszak Tudomány Doktor Iskola tudományága:

Részletesebben

BUDAPESTI MŰ SZAKI ÉS GAZDASÁGTUDOMÁNYI EGYETEM KÖZLEKEDÉSMÉRNÖKI ÉS JÁRMŰMÉRNÖKI KAR VASÚTI JÁRMŰVEK ÉS JÁRMŰRENDSZERANALÍZIS TANSZÉK

BUDAPESTI MŰ SZAKI ÉS GAZDASÁGTUDOMÁNYI EGYETEM KÖZLEKEDÉSMÉRNÖKI ÉS JÁRMŰMÉRNÖKI KAR VASÚTI JÁRMŰVEK ÉS JÁRMŰRENDSZERANALÍZIS TANSZÉK BUDAPESTI MŰ SZAKI ÉS GAZDASÁGTUDOMÁNYI EGYETEM KÖZLEKEDÉSMÉRNÖKI ÉS JÁRMŰMÉRNÖKI KAR VASÚTI JÁRMŰVEK ÉS JÁRMŰRENDSZERANALÍZIS TANSZÉK MÉRNÖKI MATAMATIKA Segédlet a Bessel-függvények témaköréhez a Közlekedésmérnök

Részletesebben

3D - geometriai modellezés, alakzatrekonstrukció, nyomtatás

3D - geometriai modellezés, alakzatrekonstrukció, nyomtatás 3D - geometra modellezés, alakzatrekonstrukcó, nyomtatás 17. 3D Szegmentálás http://cg.t.bme.hu/portal/node/312 https://www.vk.bme.hu/kepzes/targyak/viiiav54 Dr. Várady Tamás, Dr. Salv Péter BME, Vllamosmérnök

Részletesebben

,...,q 3N és 3N impulzuskoordinátával: p 1,

,...,q 3N és 3N impulzuskoordinátával: p 1, Louvlle tétele Egy tetszőleges klasszkus mechanka rendszer állapotát mnden t dőpllanatban megadja a kanónkus koordnáták összessége. Legyen a rendszerünk N anyag pontot tartalmazó. Ilyen esetben a rendszer

Részletesebben

Teljes eseményrendszer. Valószínőségszámítás. Példák. Teljes valószínőség tétele. Példa. Bayes tétele

Teljes eseményrendszer. Valószínőségszámítás. Példák. Teljes valószínőség tétele. Példa. Bayes tétele Teljes eseményrendszer Valószínőségszámítás 3. elıadás 2009.09.22. Defnícó. Események A 1, A 2,..., sorozata teljes eseményrendszer, ha egymást páronként kzárják és egyesítésük Ω. Tulajdonság: P A ) +

Részletesebben

Sorozatok, sorok, függvények határértéke és folytonossága Leindler Schipp - Analízis I. könyve + jegyzetek, kidolgozások alapján

Sorozatok, sorok, függvények határértéke és folytonossága Leindler Schipp - Analízis I. könyve + jegyzetek, kidolgozások alapján Sorozatok, sorok, függvények határértéke és folytonossága Leindler Schipp - Analízis I. könyve + jegyzetek, kidolgozások alapján Számsorozatok, vektorsorozatok konvergenciája Def.: Számsorozatok értelmezése:

Részletesebben

TÉRBELI STATISZTIKAI VIZSGÁLATOK, ÁTLAGOS JELLEMZŐK ÉS TENDENCIÁK MAGYARORSZÁGON. Bihari Zita, OMSZ Éghajlati Elemző Osztály OMSZ

TÉRBELI STATISZTIKAI VIZSGÁLATOK, ÁTLAGOS JELLEMZŐK ÉS TENDENCIÁK MAGYARORSZÁGON. Bihari Zita, OMSZ Éghajlati Elemző Osztály OMSZ TÉRBELI STATISZTIKAI VIZSGÁLATOK, ÁTLAGOS JELLEMZŐK ÉS TENDENCIÁK MAGYARORSZÁGON Bhar Zta, OMSZ Éghajlat Elemző Osztály OMSZ Áttekntés Térbel vzsgálatok Alkalmazott módszer: MISH Eredmények Tervek A módszer

Részletesebben

Elektrokémia 03. Cellareakció potenciálja, elektródreakció potenciálja, Nernst-egyenlet. Láng Győző

Elektrokémia 03. Cellareakció potenciálja, elektródreakció potenciálja, Nernst-egyenlet. Láng Győző lektrokéma 03. Cellareakcó potencálja, elektródreakcó potencálja, Nernst-egyenlet Láng Győző Kéma Intézet, Fzka Kéma Tanszék ötvös Loránd Tudományegyetem Budapest Cellareakcó Közvetlenül nem mérhető (

Részletesebben

Töréskép optimalizálás Elmélet, megvalósítás, alkalmazás

Töréskép optimalizálás Elmélet, megvalósítás, alkalmazás Elmélet, megvalósítás, alkalmazás Készítették: Borbély Dánel Szerkezet-építőmérnök Msc hallgató Borbély Gábor Alkalmazott matematka Msc hallgató Koppány Zoltán Földmérő- és Térnformatka mérnök Msc hallgató

Részletesebben

Elosztott rendszerek játékelméleti elemzése: tervezés és öszönzés. Toka László

Elosztott rendszerek játékelméleti elemzése: tervezés és öszönzés. Toka László adat Távközlés és Médanformatka Tanszék Budapest Műszak és Gazdaságtudomány Egyetem Eurecom Telecom Pars Elosztott rendszerek játékelmélet elemzése: tervezés és öszönzés Toka László Tézsfüzet Témavezetők:

Részletesebben

A neurális hálózatok alapjai

A neurális hálózatok alapjai A neuráls hálózatok alapja (A Neuráls hálózatok és mszak alkalmazásak cím könyv (ld. források) alapján) 1. Bológa alapok A bológa alapok megsmerése azért fontos, mert nagyon sok egyed neuráls struktúra,

Részletesebben

NKFP6-BKOMSZ05. Célzott mérőhálózat létrehozása a globális klímaváltozás magyarországi hatásainak nagypontosságú nyomon követésére. II.

NKFP6-BKOMSZ05. Célzott mérőhálózat létrehozása a globális klímaváltozás magyarországi hatásainak nagypontosságú nyomon követésére. II. NKFP6-BKOMSZ05 Célzott mérőhálózat létrehozása a globáls klímaváltozás magyarország hatásanak nagypontosságú nyomon követésére II. Munkaszakasz 2007.01.01. - 2008.01.02. Konzorcumvezető: Országos Meteorológa

Részletesebben

Statisztika - bevezetés Méréselmélet PE MIK MI_BSc VI_BSc 1

Statisztika - bevezetés Méréselmélet PE MIK MI_BSc VI_BSc 1 Statisztika - bevezetés 00.04.05. Méréselmélet PE MIK MI_BSc VI_BSc Bevezetés Véletlen jelenség fogalma jelenséget okok bizonyos rendszere hozza létre ha mindegyik figyelembe vehető egyértelmű leírás általában

Részletesebben

IT jelű DC/DC kapcsolóüzemű tápegységcsalád

IT jelű DC/DC kapcsolóüzemű tápegységcsalád IT jelű DC/DC kapcsolóüzemű tápegységcsalád BALOGH DEZSŐ BHG BEVEZETÉS A BHG Híradástechnka Vállalat kutató és fejlesztő által kdolgozott napjankban gyártásban levő tárolt programvezérlésű elektronkus

Részletesebben

A sorozat fogalma. függvényeket sorozatoknak nevezzük. Amennyiben az értékkészlet. az értékkészlet a komplex számok halmaza, akkor komplex

A sorozat fogalma. függvényeket sorozatoknak nevezzük. Amennyiben az értékkészlet. az értékkészlet a komplex számok halmaza, akkor komplex A sorozat fogalma Definíció. A természetes számok N halmazán értelmezett függvényeket sorozatoknak nevezzük. Amennyiben az értékkészlet a valós számok halmaza, valós számsorozatról beszélünk, mígha az

Részletesebben

FEGYVERNEKI SÁNDOR, Valószínűség-sZÁMÍTÁs És MATEMATIKAI

FEGYVERNEKI SÁNDOR, Valószínűség-sZÁMÍTÁs És MATEMATIKAI FEGYVERNEKI SÁNDOR, Valószínűség-sZÁMÍTÁs És MATEMATIKAI statisztika 10 X. SZIMULÁCIÓ 1. VÉLETLEN számok A véletlen számok fontos szerepet játszanak a véletlen helyzetek generálásában (pénzérme, dobókocka,

Részletesebben

Lineáris regresszió. Statisztika I., 4. alkalom

Lineáris regresszió. Statisztika I., 4. alkalom Lneárs regresszó Statsztka I., 4. alkalom Lneárs regresszó Ha két folytonos változó lneárs kapcsolatban van egymással, akkor az egyk segítségével elıre jelezhetjük a másk értékét. Szükségünk van a függı

Részletesebben

Véletlenszám generátorok. 6. előadás

Véletlenszám generátorok. 6. előadás Véletlenszám generátorok 6. előadás Véletlenszerű változók, valószínűség véletlen, véletlen változók valószínűség fogalma egy adott esemény bekövetkezésének esélye értékét 0 és között adjuk meg az összes

Részletesebben

1. feladatsor: Vektorterek, lineáris kombináció, mátrixok, determináns (megoldás)

1. feladatsor: Vektorterek, lineáris kombináció, mátrixok, determináns (megoldás) Matematika A2c gyakorlat Vegyészmérnöki, Biomérnöki, Környezetmérnöki szakok, 2017/18 ősz 1. feladatsor: Vektorterek, lineáris kombináció, mátrixok, determináns (megoldás) 1. Valós vektorterek-e a következő

Részletesebben

Digitális Domborzat Modellek (DTM)

Digitális Domborzat Modellek (DTM) Dgtáls Domborzat Modellek (DTM) DTM fogalma A földfelszín számítógéppel kezelhető topográfa modellje Cél: tetszőleges pontban magasság érték nterpolálása a rendelkezésre álló támpontok alapján Interpolácós

Részletesebben

Számítógép-architektúrák II.

Számítógép-architektúrák II. Várady Géza Számítógép-archtektúrák II. Pécs 2015 A tananyag a azonosító számú, A gépészet és nformatka ágazatok duáls és modulárs képzésenek kalakítása a Pécs Tudományegyetemen című projekt keretében

Részletesebben

MATEMATIKAI STATISZTIKA KISFELADAT. Feladatlap

MATEMATIKAI STATISZTIKA KISFELADAT. Feladatlap Közlekedésmérnök Kar Jármőtervezés és vzsgálat alapja I. Feladatlap NÉV:..tk.:. Feladat sorsz.:.. Feladat: Egy jármő futómő alkatrész terhelésvzsgálatakor felvett, az alkatrészre ható terhelı erı csúcsértékek

Részletesebben

1. Generátorrendszer. Házi feladat (fizikából tudjuk) Ha v és w nem párhuzamos síkvektorok, akkor generátorrendszert alkotnak a sík vektorainak

1. Generátorrendszer. Házi feladat (fizikából tudjuk) Ha v és w nem párhuzamos síkvektorok, akkor generátorrendszert alkotnak a sík vektorainak 1. Generátorrendszer Generátorrendszer. Tétel (Freud, 4.3.4. Tétel) Legyen V vektortér a T test fölött és v 1,v 2,...,v m V. Ekkor a λ 1 v 1 + λ 2 v 2 +... + λ m v m alakú vektorok, ahol λ 1,λ 2,...,λ

Részletesebben

Nagy Gábor compalg.inf.elte.hu/ nagy

Nagy Gábor  compalg.inf.elte.hu/ nagy Diszkrét matematika 3. estis képzés 2018. ősz 1. Diszkrét matematika 3. estis képzés 10. előadás Nagy Gábor nagygabr@gmail.com nagy@compalg.inf.elte.hu compalg.inf.elte.hu/ nagy Komputeralgebra Tanszék

Részletesebben

Algoritmusok, adatszerkezetek I.

Algoritmusok, adatszerkezetek I. NEUMANN JÁNOS INFORMATIKAI KAR Sergyán Szabolcs Algortmusok, adatszerkezetek I. ÓE-NIK 5014 Budapest, 2015. Készült az Óbuda Egyetem án az ÓE-NIK 5014. sz. jegyzetszerződés kereten belül 2014-ben. Szerző:

Részletesebben

Táblázatok 4/5. C: t-próbát alkalmazunk és mivel a t-statisztika értéke 3, ezért mind a 10%-os, mind. elutasítjuk a nullhipotézist.

Táblázatok 4/5. C: t-próbát alkalmazunk és mivel a t-statisztika értéke 3, ezért mind a 10%-os, mind. elutasítjuk a nullhipotézist. 1. Az X valószínőség változó 1 várható értékő és 9 szórásnégyzető. Y tıle független várható értékkel és 1 szórásnégyzettel. a) Menny X + Y várható értéke? 13 1 b) Menny X -Y szórásnégyzete? 13 1 összesen

Részletesebben

Osztályozó algoritmusok vizsgálata

Osztályozó algoritmusok vizsgálata Osztályozó algortmusok vzsgálata Önálló laboratórum beszámoló Készítette: Kollár Nándor Konzulens: Kupcsk András 2009-2-4 Osztályozás A gép tanulás, adatfeldolgozás területének egyk ága az osztályozás,

Részletesebben

7. Regisztráció. Kató Zoltán. Képfeldolgozás és Számítógépes Grafika tanszék SZTE (

7. Regisztráció. Kató Zoltán. Képfeldolgozás és Számítógépes Grafika tanszék SZTE ( Kató Zoltán: Ipar Képfeldolgozás 7. Regsztrácó Kató Zoltán Képfeldolgozás és Számítógépes Grafka tanszék SZE (http://www.nf.u-szeged.hu/~kato/teachng/ Kató Zoltán: Ipar Képfeldolgozás Kép mozak agyobb

Részletesebben

A multikritériumos elemzés célja, alkalmazási területe, adat-transzformációs eljárások, az osztályozási eljárások lényege

A multikritériumos elemzés célja, alkalmazási területe, adat-transzformációs eljárások, az osztályozási eljárások lényege A multkrtérumos elemzés célja, alkalmazás területe, adat-transzformácós eljárások, az osztályozás eljárások lényege Cél: tervváltozatok, objektumok értékelése (helyzetértékelés), döntéshozatal segítése

Részletesebben

A szimplex algoritmus

A szimplex algoritmus A szimplex algoritmus Ismétlés: reprezentációs tétel, az optimális megoldás és az extrém pontok kapcsolata Alapfogalmak: bázisok, bázismegoldások, megengedett bázismegoldások, degenerált bázismegoldás

Részletesebben

Matematika A1a Analízis

Matematika A1a Analízis B U D A P E S T I M Ű S Z A K I M A T E M A T I K A É S G A Z D A S Á G T U D O M Á N Y I I N T É Z E T E G Y E T E M Matematika A1a Analízis BMETE90AX00 Vektorok StKis, EIC 2019-02-12 Wettl Ferenc ALGEBRA

Részletesebben

Regresszió. Csorba János. Nagyméretű adathalmazok kezelése március 31.

Regresszió. Csorba János. Nagyméretű adathalmazok kezelése március 31. Regresszió Csorba János Nagyméretű adathalmazok kezelése 2010. március 31. A feladat X magyarázó attribútumok halmaza Y magyarázandó attribútumok) Kérdés: f : X -> Y a kapcsolat pár tanítópontban ismert

Részletesebben

KÓDOLÁSTECHNIKA PZH. 2006. december 18.

KÓDOLÁSTECHNIKA PZH. 2006. december 18. KÓDOLÁSTECHNIKA PZH 2006. december 18. 1. Hibajavító kódolást tekintünk. Egy lineáris bináris blokk kód generátormátrixa G 10110 01101 a.) Adja meg a kód kódszavait és paramétereit (n, k,d). (3 p) b.)

Részletesebben

Bevezetés a programozásba. 3. Előadás Algoritmusok, tételek

Bevezetés a programozásba. 3. Előadás Algoritmusok, tételek Bevezetés progrmozásb 3. Elődás Algortmusok, tételek ISMÉTLÉS Specfkácó Előfeltétel: mlyen körülmények között követelünk helyes működést Utófeltétel: mt várunk kmenettől, m z összefüggés kmenet és bemenet

Részletesebben

Diszkrét matematika 2.C szakirány

Diszkrét matematika 2.C szakirány Diszkrét matematika 2.C szakirány 2017. tavasz 1. Diszkrét matematika 2.C szakirány 11. előadás Nagy Gábor nagygabr@gmail.com nagy@compalg.inf.elte.hu compalg.inf.elte.hu/ nagy Komputeralgebra Tanszék

Részletesebben

A korlátozás programozás alapjai

A korlátozás programozás alapjai A korlátozás programozás alapa Kovács András akovacs@mt.bme.hu Bevezetés Ez a segédlet a Mesterséges Intellgenca Labor c. tárgyat felvett hallgatókhoz szól, és feltételez a logka programozás elmélet alapanak,

Részletesebben

The original laser distance meter. The original laser distance meter

The original laser distance meter. The original laser distance meter Leca Leca DISTO DISTO TM TM D510 X310 The orgnal laser dstance meter The orgnal laser dstance meter Tartalomjegyzék A műszer beállítása - - - - - - - - - - - - - - - - - - - - - - - - - 2 Bevezetés - -

Részletesebben

A bankközi jutalék (MIF) elő- és utóélete a bankkártyapiacon. A bankközi jutalék létező és nem létező versenyhatásai a Visa és a Mastercard ügyek

A bankközi jutalék (MIF) elő- és utóélete a bankkártyapiacon. A bankközi jutalék létező és nem létező versenyhatásai a Visa és a Mastercard ügyek BARA ZOLTÁN A bankköz utalék (MIF) elő- és utóélete a bankkártyapacon. A bankköz utalék létező és nem létező versenyhatása a Vsa és a Mastercard ügyek Absztrakt Az előadás 1 rövden átteknt a két bankkártyatársasággal

Részletesebben

Nemlineáris függvények illesztésének néhány kérdése

Nemlineáris függvények illesztésének néhány kérdése Mûhel Tóth Zoltán docens, Károl Róbert Főskola E-mal: zol@karolrobert.hu Nemlneárs függvének llesztésének néhán kérdése A nemlneárs regresszós és trendfüggvének llesztésekor számos esetben alkalmazzuk

Részletesebben

Funkcionálanalízis. n=1. n=1. x n y n. n=1

Funkcionálanalízis. n=1. n=1. x n y n. n=1 Funkcionálanalízis 2011/12 tavaszi félév - 2. előadás 1.4. Lényeges alap-terek, példák Sorozat terek (Folytatás.) C: konvergens sorozatok tere. A tér pontjai sorozatok: x = (x n ). Ezen belül C 0 a nullsorozatok

Részletesebben

Röntgen diagnosztikai eljárások:

Röntgen diagnosztikai eljárások: Röntgen dagnosztka eljárások: Vázlatosan smertesse egy röntgen alapú képalkotó berendezés felépítését! ogyan keletkezk a röntgen foton, m határozza meg az energáját? Mt nevezünk kollmátornak? Mt mond k

Részletesebben

Biostatisztika e-book Dr. Dinya Elek

Biostatisztika e-book Dr. Dinya Elek TÁMOP-4../A/-/-0-005 Egészségügy Ügyvtelszervező Szakrány: Tartalomfejlesztés és Elektronkus Tananyagfejlesztés a BSc képzés keretében Bostatsztka e-book Dr. Dnya Elek Tartalomjegyzék. Bevezetés a mátrok

Részletesebben

ALGORITMUSOK, ALGORITMUS-LEÍRÓ ESZKÖZÖK

ALGORITMUSOK, ALGORITMUS-LEÍRÓ ESZKÖZÖK ALGORITMUSOK, ALGORITMUS-LEÍRÓ ESZKÖZÖK 1. ALGORITMUS FOGALMA ÉS JELLEMZŐI Az algortmus egyértelműen végreajtató tevékenység-, vagy utasítássorozat, amely véges sok lépés után befejeződk. 1.1 Fajtá: -

Részletesebben

Analízis előadás és gyakorlat vázlat

Analízis előadás és gyakorlat vázlat Analízis előadás és gyakorlat vázlat Készült a PTE TTK GI szakos hallgatóinak Király Balázs 2010-11. I. Félév 2 1. fejezet Számhalmazok és tulajdonságaik 1.1. Nevezetes számhalmazok ➀ a) jelölése: N b)

Részletesebben

Jelek és rendszerek 1. 10/9/2011 Dr. Buchman Attila Informatikai Rendszerek és Hálózatok Tanszék

Jelek és rendszerek 1. 10/9/2011 Dr. Buchman Attila Informatikai Rendszerek és Hálózatok Tanszék Jelek és rendszerek 1 10/9/2011 Dr. Buchman Attila Informatikai Rendszerek és Hálózatok Tanszék 1 Ajánlott irodalom: FODOR GYÖRGY : JELEK ÉS RENDSZEREK EGYETEMI TANKÖNYV Műegyetemi Kiadó, Budapest, 2006

Részletesebben

Mindent olyan egyszerűvé kell tenni, amennyire csak lehet, de nem egyszerűbbé.

Mindent olyan egyszerűvé kell tenni, amennyire csak lehet, de nem egyszerűbbé. HA 1 Mindent olyan egyszerűvé kell tenni, amennyire csak lehet, de nem egyszerűbbé. (Albert Einstein) HA 2 Halmazok HA 3 Megjegyzések A halmaz, az elem és az eleme fogalmakat nem definiáljuk, hanem alapfogalmaknak

Részletesebben

Informatikai Rendszerek Alapjai

Informatikai Rendszerek Alapjai Informatikai Rendszerek Alapjai Dr. Kutor László A redundancia fogalma és mérése Minimális redundanciájú kódok 1. http://uni-obuda.hu/users/kutor/ IRA 2014 könyvtár Óbudai Egyetem, NIK Dr. Kutor László

Részletesebben

3D-s számítógépes geometria

3D-s számítógépes geometria 3D-s számítógépes geometra 11. 3D szegmentálás http://cg.t.bme.hu/portal/node/31 https://www.vk.bme.hu/kepzes/targyak/viiiav01 Dr. Várady Tamás BME, Vllamosmérnök és Informatka Kar Irányítástechnka és

Részletesebben

Robotok direkt geometriája

Robotok direkt geometriája Robotok drekt geometrája. A gyakorlat célja Drekt geometra feladatot megvalósító osztály mplementálása. A megvalósított függvénycsomag tesztelése egy Stanford kar végberendezése pozícójának meghatározásához.

Részletesebben

minden x D esetén, akkor x 0 -at a függvény maximumhelyének mondjuk, f(x 0 )-at pedig az (abszolút) maximumértékének.

minden x D esetén, akkor x 0 -at a függvény maximumhelyének mondjuk, f(x 0 )-at pedig az (abszolút) maximumértékének. Függvények határértéke és folytonossága Egy f: D R R függvényt korlátosnak nevezünk, ha a függvényértékek halmaza korlátos. Ha f(x) f(x 0 ) teljesül minden x D esetén, akkor x 0 -at a függvény maximumhelyének

Részletesebben

Algoritmuselmélet 7. előadás

Algoritmuselmélet 7. előadás Algoritmuselmélet 7. előadás Katona Gyula Y. Budapesti Műszaki és Gazdaságtudományi Egyetem Számítástudományi Tsz. I. B. 137/b kiskat@cs.bme.hu 2002 Március 11. ALGORITMUSELMÉLET 7. ELŐADÁS 1 Múltkori

Részletesebben

Az Informatika Elméleti Alapjai

Az Informatika Elméleti Alapjai Az Informatika Elméleti Alapjai dr. Kutor László Minimális redundanciájú kódok Statisztika alapú tömörítő algoritmusok http://mobil.nik.bmf.hu/tantargyak/iea.html Felhasználónév: iea Jelszó: IEA07 BMF

Részletesebben

Irányításelmélet és technika II.

Irányításelmélet és technika II. Irányításelmélet és technika II. Legkisebb négyzetek módszere Magyar Attila Pannon Egyetem Műszaki Informatikai Kar Villamosmérnöki és Információs Rendszerek Tanszék amagyar@almos.vein.hu 200 november

Részletesebben

Híradástechikai jelfeldolgozás

Híradástechikai jelfeldolgozás Híradástechikai jelfeldolgozás 13. Előadás 015. 04. 4. Jeldigitalizálás és rekonstrukció 015. április 7. Budapest Dr. Gaál József docens BME Hálózati Rendszerek és SzolgáltatásokTanszék gaal@hit.bme.hu

Részletesebben

Diszkrét matematika 2.

Diszkrét matematika 2. Diszkrét matematika 2. 2018. november 23. 1. Diszkrét matematika 2. 9. előadás Fancsali Szabolcs Levente nudniq@cs.elte.hu www.cs.elte.hu/ nudniq Komputeralgebra Tanszék 2018. november 23. Diszkrét matematika

Részletesebben

Hadamard-mátrixok Előadó: Hajnal Péter február 23.

Hadamard-mátrixok Előadó: Hajnal Péter február 23. Szimmetrikus kombinatorikus struktúrák MSc hallgatók számára Hadamard-mátrixok Előadó: Hajnal Péter 2012. február 23. 1. Hadamard-mátrixok Ezen az előadáson látásra a blokkrendszerektől független kombinatorikus

Részletesebben