HU228615B1 - Method of coding of digital video pictures - Google Patents

Method of coding of digital video pictures Download PDF

Info

Publication number
HU228615B1
HU228615B1 HU0500030A HUP0500030A HU228615B1 HU 228615 B1 HU228615 B1 HU 228615B1 HU 0500030 A HU0500030 A HU 0500030A HU P0500030 A HUP0500030 A HU P0500030A HU 228615 B1 HU228615 B1 HU 228615B1
Authority
HU
Hungary
Prior art keywords
values
filter
coefficient
interpolation filter
coefficient values
Prior art date
Application number
HU0500030A
Other languages
English (en)
Inventor
Jani Lainema
Original Assignee
Nokia Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nokia Corp filed Critical Nokia Corp
Publication of HUP0500030A2 publication Critical patent/HUP0500030A2/hu
Publication of HU228615B1 publication Critical patent/HU228615B1/hu

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/523Motion estimation or motion compensation with sub-pixel accuracy
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/117Filters, e.g. for pre-processing or post-processing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/172Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a picture, frame or field
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/189Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
    • H04N19/196Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding being specially adapted for the computation of encoding parameters, e.g. by averaging previously computed encoding parameters
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/189Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
    • H04N19/196Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding being specially adapted for the computation of encoding parameters, e.g. by averaging previously computed encoding parameters
    • H04N19/197Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding being specially adapted for the computation of encoding parameters, e.g. by averaging previously computed encoding parameters including determination of the initial value of an encoding parameter
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • H04N19/463Embedding additional information in the video signal during the compression process by compressing encoding parameters before transmission
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/80Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
    • H04N19/89Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving methods or arrangements for detection of transmission errors at the decoder

Description

Eljárás oígitáus videó képsor képeinek kódolására
A találmány videó kódolás során alkalmazott mozgáskompenzáclóval kapcsolatos. Közelebbről, a találmány olyan eljárásra vonatkozik, amely mozgáskompenzálí videó kódolóban és dekódolókban a képek pixelértékelnek helyreállítására használt interpolációs szűrők együtthatóinak kódolására szolgák A találmány tárgya továbbá az eljárást Implementáló videó kódoló, videó dekódoló és videó átviteli rendszer.
n számos különböző videó kódolási szabvány létezik. Ezek közé tartozik a Nemzetközi Távközlési Társulás Távközlési Szabványosítás Szekciójának (ITÜ-T) H.263 ajánlása, a Nemzetközi Szabványügyi Szervezet (ISO) MPEG csoportjának MPEG-1, MPEG-2 és MPEG-4 szabványa. Az említett videó kódolási szabványok mozgáskompenzált predikcton és predikciós hibakódoláson alapulnak, A mozgáskompenzált predikciónál egy videó képsor egymást követő keretei közötti elmozdulást elemzik és kódolják, majd a mozgáslnformáció felhasználásával ttvreálitt’ állítását olyan m iacíos szűrők felhasználásával végzik, amelyek képesek a pixel és szubpixel pozíciót szükséges képpont-értékek előállítására. A továbbiakban a mozgáskompenzált predikció és az interpoláció szűrők alkalmazásával végzett képheiyreáilítás alapeivét ismertet) ük részlet esen.
A digitális videó képsorok, például a filmen rögzített szokásos mozgóképek állóképek, ún.. keretek sorozatából állnak. A mozgás látványát úgy Idézik elő, hogy a kereteket egymás után viszonylag nagy sebességgel tipikusan 15-30 keret/másodpere sebességgel jelenítik meg. A viszonylag nagy keretsebesség: miatt az egymást követő keretek képtartalma nagyon hasonló, Így az egymást követő keretek jelentős mennyiségű redundáns információt tartalmaznak.
A digitális videó képsor minden egyes kerete képpontok rendezett halmazát tartalmazza. Egy széles körben használt digitális videó formátumban, nevezetesen a QCiF (Quarter Common interehange Formát) formátumban, a keret 176 x 144 pixelt tartalmaz, így minden egyes keretben 25344 pixel található, A keret minden
1007S7-14402/HG/GL pixelét bizonyos számú bit reprezentálja, melyek a pixelnek megfelelő képterület fényerejére és/vagy színtanaiméra (krominanciájám) vonatkozó Információt hordoznak. Általában az ún. YüV színmódéit használják a képek fényerejének és színtartalmának ^prezentáláséra, A fényerő., vagyis az Y komponens a kép intenzitását, vagyis világosságát reprezentálja, míg a kép szlntartalmát két színkomponens, az ü és V komponens reprezentálja.
A képtartafom fényerejének és színtartalmának reprezentálásán alapuló színmodelíek bizonyos szempontból előnyösebbek az olyan színmodellekbez viszonyítva, melyek az elsődleges színek, vagyis a vörös, a zöld és a kék (RGB) ^prezentálásán alapulnak. Mivel az emberi látórendszer érzékenyebb az intenzitásváltozásokra, mint a színváltozásokra, az YUV színmodellek oly módon használják ki ezt a tulajdonságot hogy a. színkomponensek (ü, V) esetén .kisebb térbeli felbontást alkalmaznak, mint az intenzitáskomponens (Y) esetén, ily módon a képben található színinformáció kódolásához szükséges információ mennyisége lecsökkenthető, miközben a kép minősége alig csökken.
A krominanela komponensek kisebb térbeli felbontását általában térbeli aiülmintavéteíezéssel érik el. Egy 16x16 képpontot tartalmazó blokkot egy, az intenzitás információt reprezentáló, 16x16 értéket tartalmazó biokkal, valamint két olyan krominanoía komponenssel kódolják, amelyek agy-agy olyan 8x8 értéket tartalmazó blokkból állnak, amelyek mindegyike az Intenzitásértékeket tartalmazó 16x18~os blokkal ekvivalens képterületet reprezentál. A kromlnancía komponenseket ily módon térben kétszeresen aiuimintavéteiezik mind a vízszintes, mind a függőleges irányban. Az így kapott 16x18 intenzitásblokkot és a két 8xS~as krominanciabtokkot együttesen YUV makroblokknak vagy röviden makroblokknak nevezik.
Egy QCIF formátumú kép 11x8 makroblokkot tartalmaz. Ha az Intenzitásbiokkokat és a krominaneiablokkokat 8 bites felbontással ~~ vagyis a 0-255 közötti értékekkel - reprezentálják, az egy makrobiokkhoz szükséges bitek száma (16x16x8)-i-2x(8xSx8)~3ö72. Ebből adódóan egy QCIF formátumú videó keret reprezentálásához szükséges bitek száma komponensenként 8 bites felbontás alkalmazása esetén 99x3072-304128. Ez azt jelenti, hogy az ilyen QCIF formátumú kereteket tartalmazó videó képsor továbbításához, rögzítéséhez vaoy megjelenítéséhez szükséges adatmennyiség 30 keret/másodperc sebességet feltételezve több, mint 9 Mb/s. Ez az adatsebesség a gyakorlatban használhatatlan a videó képrögzítő, videó adatátviteli és videó képmegjelenítő alkalmazásokban, mivel rendkívül nagy tárolókapacitást, adatátviteli csatornakapacitást és hardverteljesítményt tesz szükségessé.. Emiatt olyan videó kódolási szabványokat, például a fent említett szabványokat fejlesztetek: ki, amelyek lecsökkentik a videó adatok reprezentálásához és átviteléhez szükséges információ mennyiségét, miközben a képminőséget elfogadható szinten tartják.
A korábban említett videó kódolási szabványok különböző tulajdonságú videó képrögzítő és videó adatátvitel rendszerekben történő felhasználásra készültek. Az ISO MPEG-1 szabványt például kifejezetten olyan esetekre fejlesztették ki, ahol a rendelkezésre álló sávszélesség legfeljebb körülbelül 1,5 Mb/s. Az MPEG-2 videó kódolási szabvány elsősorban olyan digitális tárolóközegek és videó műsorszóró és kommunikációs rendszerek esetén használható, amelyeknél a rendelkezésre álló sávszélesség legfeljebb körülbelül 10 Mb/s. Az ITÜ-T H.263 ajánlását olyan rendszerekben érdemes használni, amelyekben a rendelkezésre álló sávszélesség általában sokkal kisebb. Különösen az olyan esetekben előnyős a használata, ahol a videó adatokat valós időben kell továbbítani vezetékes hálózatban, például ISDN hálózatban vagy a hagyományos telefonhálózatban (PSTN), ahol a rendelkezésre álló adatátviteli sávszélesség tipikusan 64 kbit/s nagyságrendű. A mobil videotelefon alkalmazásokban, ahol az átvitel legalább részben rádiókommunikációs összeköttetésen zajlik, a rendelkezésre álló sávszélesség akár 26 kbií/s-.ra is lecsökkenhet.
Bár a jelenleg használatos különböző videó kódolási szabványokat különböző esetekre fejlesztették ki, a továbbítandó információ mennyiségének lecsökkentése céljából általuk alkalmazót mechanizmusoknak számos közös vonása van. Például mindegyik kódolás úgy működik, hogy a továbbítandó videó képsorban lévő redundáns és érzékelhetőség szempontjából: irreleváns információ mennyiségét lecsökkenti. Alapvetően háromféle redundancia létezik a videó képsorokban: térbeli, időbeli és spektrátis redundancia.. A térbeli redundanciát egy képsor egyetlen keretén belüli szomszédos pixelek közötti korreláció leírására használják. Az Időbeli redundancia azt a tényt fejezi ki, hogy egy képsor egyik keretében megjelenő objektumok valószínűleg megjelennek a következő keretekben is. A spektrálís redundancia egy kép különböző színkomponensei közötti korrelációt fejezi ki.
Kellően hatékony tömörítés általában nem érhető el az egy adott képsorban fellépő különböző típusú redundanciák egyszerű csökkentésével. így a legtöbb jelenleg használt videó kódoló a videó képsor azon részeinek minőségét is lecsökkenti, amelyek szubjektiven a legkevésbé fontosak. Ezenkívül a tömörített videó bitfolyam redundanciáját is íecsökkentík hatékony veszteségmentes kódolással, ami tipikusan entrópia kódolást jelent.
A mozgáskompenzált predíkcíó az időbeli redundancia csökkentésének egyik formája, ahol is egy képsorban lévő néhány vagy gyakran számos keret tartalmát a képsor más keretei alapján „megjósolják” oly módon, hogy nyomon követik egy kép bizonyos objektumjainak vagy területeinek mozgását a keretekben. A mozgáskompenzált predíkcíó felhasználásával tömörített kereteket általában 1NTERkódoiású kereteknek vagy P-kereteknek nevezik, míg a mozgáskompenzált predíkcíó alkalmazása nélkül tömörített kereteket INTRA-kódolású kereteknek vagy l-kereteknek nevezik. Egy megjósolt - vagyis mozgáskompenzált, INTER-kődolású kép legtöbbször nem elegendően pontos ahhoz, hogy a kép tartalmát kellő minőséggé! reprezentálja, ezért az egyes INTER-kódolású keretekhez egy térbeli tömörítésű predlkclós hiba (RE) keretet is társítanak. Számos videó tömörítési eljárás kétírányban jósok kereteket használ, melyeket gyakran B-képeknek vagy B-kereteknek neveznek, A B-képeket referencia képpárok - I vagy P keretek - között helyezik el, és jóslásukat az egyik vagy mindkét referencia kép alapján végzik el.
Egy tipikus tömörített videó képsorban szereplő, különböző típusú keretek a 3. ábrán láthatók. Amint a 3. ábrán látható, a képsor egy INTRA-kódolású 30 í-keretteí kezdődik. A 3. ábrán 33 nyilakkal jelöltük az előre irányuló jóslás! folyamatot, amelynek segítségévei a 34 P-keretekef létrehozzák. A kétirányú jóslás! folyamatot., melynek segítségével a 36 B-kereteket hozzák létre, a 3. ábrán 31a, illetve 31b nyilakkal jelöltük.
Az 1. és 2. ábrán egy mozgáskompenzált predikciőt használó, általánosított videó kódoló rendszer blokkvázlata látható. Az 1. ábra olyan 10 kódolót szemléltet, amely mozgáskompenzáit predikciőt .alkalmaz, míg a 2. ábra a 10 kódolóhoz tartozó 20 dekódolót mutat be. Az 1. ábrán látható 10 kódoló 11 mozgásmezö-becsiö egységet, 12 mozgásmezö-ködolö egységet, 13 mozgáskompenzált predikclós egységet, 14 predikclőshiba-ködoló egységet, 15 predikcíöshíba-dekódoió egységet, 13 muftlplexelő egységet, 17 keretmemóuáf. és 19 összeadót tartalmaz. A 20 dekódoló 21 mozgáskompenzált predlkcíós egységet, 22 predlkcíoshiba-dekodoló egységet, 23 demultlplexeiő egységet és 24 keretmemóriát tartalmaz.
A mozgáskompenzált predikciot alkalmazó videó kódolók működési elve az, hogy minimalizálják az E«(x,y> predikciósblba-keretben lévő információ mennyiségét, ahol az En(x.,y) predikcióshiba-keret a kódolás alatt álló aktuális ln(x,y) keret és egy Pn(x,y) predikclós keret különbsége. A predikcióshiba-keret így az alábbi módon definiálható:
- 4(x,.y> - /«(χ, j). (i)
A Pn(x,y) predikclós keretet egy Rn(x,y) referenciákéról pixeiértékeinek felhasználásával állítják elő, ahol az R«(x,y) referenciákéról általában egy korábban kódolt és továbbított keret, például az aktuális keretet közvetlenül megelőző keret, és amely a 10 kódoló 17 keretrnemórlálábői olvasható ki. A Pn(x,y) predikclós keretet úgy állítják elő, hogy az KR(x,y) referenciakeretben olyan predikclós pixeleket keresnek, amelyek lényegében megfelelnek az aktuális keretben lévő pixeleknek. Az aktuális keretben lévő pixelek és a referenciakeretben azoknak megfelelő predikclós pixelek közötti viszonyt - például relatív elhelyezkedést, elfordulást, arányt, stb. leiró mozgásinformáciö meghatározása után a predikclós keretet úgy állítják ele, hogy a predikclós pixeleket a mozgásinformáciö felhasználásával mozgatják. így a referenciakeret pixeiértékeinek felhasználásával olyan predikclós keretet állítanak elő, amely az aktuális keret közelítő reprezentációját adja. A fent említett predikcióshiba-keret az aktuális keretnek a predikclós keret által biztosított közelítő reprezentációja és magánaK az aktuális keretnek a különbségét adja meg. A mozgáskompenzált predíkelóf alkalmazó videó kódolók egyik alapvető előnye abból adódik, hogy az aktuális keret jóslásához szükséges mozgásinformáciö és a predikcióshiba-keret által megadott predíkciőshiba-inforrnáciő segítségével az aktuális keret viszonylag tömören írható le.
A keretben lévő pixelek nagy száma miatt általában nem hatékony az egyes pixelekhez tartozó mozgásinformáciö külon-külön történő továbbítása a dekódernek.
Ehelyett a legtöbb videó kódolási eljárásnál az aktuális keretet nagyobb S* képszegmensekre osztják és az Sk képszegmensekhez tartozó- mozgásínfo-rmációí továbbítják a dekődernek. A mozgásinformáció tipikusan minden keret minden egyes makrobiokkja esetén, adott és a makrobíokkon beiül az összes pixelhez ugyanaz a mozgásinformáciő tartozik. Bizonyos, videó kódolási szabványoknál, például az 1TU-T jelenleg fejlesztés alatt álló H.28L ajánlásában, a makroblokk felosztható kisebb blokkokra, és minden egyes kisebb blokkhoz saját mozgásinformáció tartozik.
A mözgásinformációt általában (Ax(x.,y)4y-(x,y)l mozgásvektorok Írják le. A Áx(x,y) és Ay(x,y) számpárok az aktuális b(x,y} keretben lévő (x,y) pixelnek az Rf,(x,y) referenciakeretben lévő pixelhez viszonyított vízszintes és függőleges elmozdulását adja meg. A {Ax{x,y>,Ay(x,y)j mozgásvektorokat a 11 mozgásmezőbecslő egység számítja ki és az aktuális keret (Ax(-),Áy( )1 mozgásvektorainak halmazát mozgásvektortérnek nevezik.
Az aktuális videokeret makrobtokkjának helyét tipikusan a bal felső sarok (x,y) koordinátája határozza meg. így az olyan videó kódolási eljárásoknál, ahol egy keret minden egyes rnakrobiokkjához tartozik mozgásinformáció, az egyes mozgásvektorok az Wx,y> aktuális keretben lévő makroblokk bal felső sarkát reprezentáló pixelnek az Rn(x,y) referenciakeretben lévő jósolt pixelekből álló, lényegében megfelelő blokk bal felső sarkának pixeléhez viszonyított vízszintes irányú Ax(x,y) és függőleges Irányú Ay(x,y) elmozdulását Írják le, ahogy ez a 4b ábrán is látható.
A mozgásbecslés számítástechnikai szempontból rendkívül Intenzív feladat. A 4a ábrán látható Rn(x,y) referenciakeret és például az aktuális keretben lévő NxH pixelt tartalmazó négyzet alakú makroblokk esetén a mozgásbecslés célja olyan MxN~es pixelblokk megkeresése a referenciakeretben, amely bizonyos feltételek alapján illeszkedik az aktuális keretben lévő makroblokk tulajdonságaihoz, Ilyen feltétel lehet például az aktuális keretben lévő makroblokk pixelei és az azzal összehasonlított referencia keretben lévő, pixelekből álló blokk közötti abszolút eltérések összege. Ezt a folyamatot általában biokkiileszfésnek nevezik. Szükségesnek tartjuk megjegyezni, hogy az illesztendő blokk geometriája és a referenciakeretben lévő blokk geometriája általában nem egyezik meg, mivel a valós objektumok méretváltozáson eshetnek át, elfordulhatnak vagy torzulhatnak. A *
'♦'Φ jelenlegi nemzetközi videó kódolási szabványoknál, például a fent említett szabványoknál, csak eltolási mozgásmodellt használnak, igy a rögzített derékszögű geometria alkalmazása elegendő.
Annak érdekében, hogy a legjobb eséllyel megtaláljuk az illeszkedő blokkot, Ideális esetben a teljes referenciakeretet végig kell nézni. Ez. azonban nem praktikus, mivel a videó kódolóval szemben túlságosan nagy számítási igényt támaszt. A keresési területet ezért általában a pillanatnyi keret makrobfokkjának eredeti helye körüli hP,Pl területre korlátozzák, ahogy ez a 4c ábrán látható.
A 10 kódolóból a 2.Ö deködolóba továbbítandó mozgásinformáció mennyiségének további csökkentése érdekében a mozgásvekíorteret egy mozgásmodeií alkalmazásával a 10 kódoló 12 mozgásmező-kódoió egységével kódolják. E folyamat során a képszegmensek mozgásvektorait bizonyos előre meghatározott függvények felhasználásával újból kifejezik, vagyis modellezik a mozgás vektorteret. Szinte az összes jelenleg használt mozgásvektortér-modell olyan additív mozgásmodeií, amelyet az alábbi általános képletek írnak le;
.V-)
>v-s ahol a? és bj a mozgásegyütthatók. A mozgásegyütthatókat az 1. és 2. ábrán látható 2 információfolyamban továbbítják a 20 dekodölönak. Az ή és g, függvények a mozgásvektortér bázisfüggvényei; Az említett függvények ismertek mind a 10 kódoló, mind a 20 dekódoló számára. Az együtthatók és a bázisfüggvények felhasználásával előállítható egy fAz(r;y);Áv(
?)) közelítő mozgásvektortér. Mivel a bázisfüggvények mind a 10 kódoló, mind a 20 dekódoló számára Ismertek (mivel azokban vannak eltárolva), a 10 kódolónak csak a mozgásegyütthatókat kell továbbítania, ezáltal lecsökkenthető a keret mozgásinformációjának reprezentálásához szükséges információ mennyisége,
A legegyszerűbb mozgásmodeií az eltolási mozgásmodeií, amely csak két együtthatót tesz szükségessé az egyes szegmensek mozgásvektoraínak leírására. A mozgásvektorok értékeit az alábbi kifejezések adják meg;
* Λ X »
-8Δχ(Χ,>!} ~ ί?β:
<W„y) = V (4)
Ezt a modellt használják az ITU-T H.2S3 ajánlásban és az ISO MPEG-1, MPEG-2, MPEG-4 szabványokban a 16x16-os és 8x8-as pixelblokkok mozgásának leírására. Az eltolási mozgásmodellt alkalmazó rendszerek tipikusan teljes píxeiíelbontás vagy a teljes pixelfelbontás egész számú törtrésze, például fél pixel vagy negyed pixel felbontás mellett végzik a mozgásbecslést.
A Pn(x,y) predikciós keretet a 10 kódoló 13 mozgáskompenzált predikciós egysége az alábbi képlet alapján állítja elő:
A 14 predikciősblba-kődoló egységben az Ev(x;y} predikciőshibs-keretet tipikusan úgy tömörítik össze, hogy azt bizonyos kétdimenziós függvények véges sorával reprezentálják. Erre a célra például kétdimenziós diszkrét koszinusz transzformáció (DCT) használható. A transzformáció együtthatóit kvantálják, majd például Huffman-kódoiássaí enfrópíakódoiást végeznek az 1. és 2. ábrán látható 1 információfolyamban a 20 dekódolónak történő továbbításuk előtt. A kvantáláskor fellépő hiba miatt ez a művelet általában az En(x,y) predikcióshiba-keret minőségromlásával, vagyis információvesztéssel jár. A minőségromlás kompenzálása céljából a 10 kódoló tartalmaz egy 15 predikcióshiba-deködoló egységet ís, amely a transzformáció együtthatóinak felhasználásával egy £.,(x,v) dekódolt predikcíóshlba-keretet állít elő. A 19 összeadó összeadja a lokálisan dekódolt .£j!(x,j) predikcióshiba--keretet és a P«(x,y) hibakerefef, és az így kapott 4 (*>>') dekódolt aktuális keretet eltárolják a 17 keretmemőrlában a következő Rn+i(x,y) reíerenciakeretkénf történő további felhasználás céljából.
A mo2gásvektorokkal kapcsolatos információt továbbító 2 információfolyarnof a 16 multiplexerben egyesítik a predikciós hibával kapcsolatos információval és a tipikusan legalább az említett kétféle információt tartalmazó 3 információfolyamot a 20 dekódolónak továbbítják.
9A továbbiakban a 10 kódolónak megfelelő 20 videó dekódoló működését ismertetjük.
Az előzőleg helyreállított Rn(x,y)' referenciakeretet a 20 dekódoló 24 keretmernónája tatralmazzs. A Pn(x,..y> predikciós keretet a 20 dekódoló 21 mozgáskompenzált predikelós egysége állítja elő az (5) egyenlet alapján a kapott mozgásegyütthatókra vonatkozó Információ és az előzőleg helyreállított Rn(x,y) referenciakeret pixelértékei felhasználásával. Az. En(x,y) predikcióshiba-keret elküldött transzformációs együtthatóit a 22 predikcióshiba-dekódoiő egységben a dekódolt A„(r,y) dekódolt predikcióshiba-keret előállítására használják fel. Az
Zft.(x,/) dekódolt aktuális keret pixeleit a PR(x,y) predikelós keret és az
Ad·*'? >9 dekódolt predikcióshiba-keret összeadásával állítják elő:
iA,y) -· 4 (-u y) ·;· ·&« í u y) ~ 4, h ·*· Ax(x> y)> y * 4v(%, y4, (x, AA
Ezt az 4(x,y) dekódolt aktuális keretet következő R^(x,y) referenciakeretként a 24 keretmemóriában tárolják el.
A digitális videó mozgáskompenzált kódolásának és dekódolásának fenti leírásában az aktuális keretben lévő makrobfokknak az Rn(x,y> referenciakerethez viszonyított elmozdulását leíró [áx(x,y),Ay(x,y)j mozgásvektor bármely pixelre rámutathat a referenciakeretben. Ez azt jelenti, hogy a digitális videó képsor keretei közötti elmozdulás csak a keretben lévő képpontok által meghatározott felbontással., ún, teljes pixeles felbontással reprezentálható. A valóságos mozgás azonban tetszőleges pontosságú lehet, így a fent bemutatott: rendszer a digitális videó képsor egymást követő keretei közötti elmozdulásnak csak közelítő modelljét adhatja. A videó keretek elmozdulásának teljes pixeles felbontással történő modellezése tipikusan nem elegendően pontos ahhoz, hogy lehetővé fegye az egyes makroblokkokhoz vagy keretekhez tartozó predikciós hiba (PE) információ hatékony minimalizálását, A valóságos mozgás még pontosabb modellezéséhez és a kódolótól a dekódolöba továbbítandó predikelós hiba információ mennyisé: lecsökkentésére egyes videó kódolási szabványok lehetővé teszik, ásvekterok képpontok közé mutassanak. Magyarán, a mozgásvektorok
V « <
4> « £ #«* x<
* «ί 4 * * * »#** » *«·♦·* ♦ -»* ** szubpixel felbontással Is rendelkezhetnek. A mozgásvektorok szubpixel pontosságú felbontásának lehetővé tétele ugyanakkor tovább növeli a végrehajtandó kódolási és dekődolásl műveletek komplexitását, emiatt továbbra Is előnyös korlátozni a mozgásvektor térbeli felbontásának mértékét. Ennek következtében a videó kódolási szabványok, például a korábban említett szabványok a mozgásvektorok számára tipikusan csak a teljes, fél vagy negyed pixeles felbontást teszik lehetővé.
A legtöbb szubpixel felbontású becslés megvalósítható kéílépéses folyamattal, ahogy ez az 5. ábrán bemutatott példában látható, ahol az általánosított videó kódolási eljárásban a mozgásvektorok teljes pixel vagy fél pixel felbonfásúak. Első lépésben egy megfelelő mozgásbecsiő eljárással, például a korábban említett blókkifleszfési eljárással meghatároznak egy teljes pixel felbontású mozgásvekfort. Az igy kapott, teljes pixel felbontású mozgásvektor az 5, ábrán látható.
A második lépésben az első lépés során meghatározott mozgásvekfort a kívánt fél pixel felbontás elérése céljából tovább finomítják. Az 5. ábrán látható példánál ezt úgy végzik el, hogy létrehoznak nyolc új 18x18 pixelből álló keresöblokkot, ahol minden egyes blokk bal felső sarkának helyét X-szel jelölik meg, ahogy ez az 5. ábrán látható. Ezeket a helyeket a [Ax+m/2,áy+n/2j kifejezés Írja le, ahol m és n a -1, 0 és +1 értéket veheti tét, azonban a két paraméter értéke egyidejűleg nem lehet Ö. Mivel csak az eredeti képpontok pixelértékei Ismertek, a fél pixel távolságra elhelyezkedő szuhpixetek értékeit, például az intenzitás és/vagy kromínaneia értékeket, mind a nyolc új keresési blokk esetén megjósolják valamilyen interpolációs eljárás alkalmazásával.
A szubpixeiek értékeinek fél pixel felbontással történő interpolálását követően mind a nyolc keresési blokkot összehasonlítják azzal a makrohlokkal, amelynek mozgásvektoráf keresik. Akárcsak a teljes pixel felbontású mozgásvekfor meghatározása céljából végrehajtott blokkillesztési folyamat során, a makroblokkoí ezúttal is összehasonlítják mind a nyolc keresési blokkal valamilyen feltételrendszer, például az abszolút eltérések összege (SAD) módszer alapján. Az összehasonlítás eredményeként általában egy minimum SAD értéket határoznak meg. A videó képsorban megvalósuló mozgás jellegétől függően ez a minimum érték megfelelhet az eredeti, teljes pixel felbontású mozgásvektor által specifikált helynek vagy egy fél pixel felbontású helynek. Ily módon lehetővé válik annak meghatározása, hogy egy *« *-♦«·> XX ***« *4 * 4 8 * ν a 8 <
« » 8 »κ« ♦>
* 8 * Λ * *
4*>« * vt* Λ* mozgásvektornak teljes pixel vagy fél pixel helyre kell mutatnia, és amennyiben a szubpixel-íethöntás megfelelő, lehetővé válik a helyes szobplxekfelbontású mozgás vektor meghatározása is.
A gyakorlatban a referencíakerethen lévő szubpixel érték becslését a környező pixelértékekből történő interpolálással végzik. Egy nem egész értékű (x,y}={n+Ax,m+Ay) helyen elhelyezkedő F(x,y) szubpixel érték interpolálása elvégezhető egy kétdimenziós művelettel, amely matematikailag az alábbi módon írható le:
Tx
V /(k + Á'J 4· £)F'(« -r k, ??; + Z), ahol f(k,1) szűröegyütthatók, n és m pedig az x és y értékek csonkolásával nyert egész számok. A szűröegyütthatók értéke általában függ az x és y értékétől, továbbá az interpolációs szűrők általában ún. szétválasztható szűrők, vagyis Is a F(x,y) szubpixel értékek az alábbi módon számíthatók:
F(x, y)
A-.·- λ;
(8)
A mozgásvektorokat a kódoló számítja ki. Miután a megfelelő mozgásegyütthatókat továbbították a dekodölónak, elöreesatolt módon történik a kívánt szubpixetek interpolálása olyan interpolációs eljárás alkalmazásával, amely megegyezik a kódolóban használt eljárással. Ily módon a 24 keretmemóriában a referenciakeretet követő keret előállítható a referenciakeretből és a továbbított mozgásvektorökhót,
A videó kódolókban és dekódolókban használt Interpolációs szűrök szokás szerint rögzített szöroegyüttható-értékeket használnak és a kódolás alatt álló videó képsor összes keretéhez ugyanazt a szűrőt, vagyis azonos típusé szűrőket megegyező szűrőegyütthatö-értékekkel használják. Ugyanazt a szűrőt használják a későbbiekben is az összes videó képsorhoz, függetlenül azok természetétől és attól, hogy hogyan lettek rögzítve. Wedi („Adaptlve Interpolálton Filter fór Mollon Ccmpensated Hybrld Videó Coding”. Pioture Coding Symposium (PGS 2001}·, Szöul, • X »♦ * ν * <β
--12 ♦ * «· ν - »·♦.
Korea, 2001. április) az interpolációs szűrök adaptív szüröegyütthatő-értékekke! történő felhasználását javasolja a videó kódolási folyamat bizonyos egyszerűsítésének kompenzálása érdekében Az említett tanulmányban Wedi bemutatja, hogyan idéz elő járulékos predikeíós hibákat a képgyűjtési folyamat során végzett felbontás-csökkentés, a mozgásvektorok véges megengedett felbontása és az elmozdulási mozgásmodell korlátozott érvényessége. Egy videó képben a felbontás csökkenése a képrögzítés! folyamat során használt nem-ideális aluláteresztő szűrök alkalmazásából és következésképpen a Nyqujst-féte mintavételezési elv figyelmen kívül hagyásából adódik. A felbontás csökkenése zavarja a mozgáskompenzáll predikelől a videó képsorban és- további predikeíós hibakomponenst állít elő. A mozgásvektorok véges megengedett pontossága, például a teljes pixel, fél pixel vagy negyed pixel felbontása, továbbá az egymást követő videó keretek között csak vízszintes és függőleges elmozdulást reprezentáló eltolási mozgásmodell korlátái további predikeíós hibákat okoznak. Wedi -szerint a kódolás hatékonysága tovább javítható egy interpolációs szűrő szürőegyűtthatőértékeinek oly módon történő módosításával, hogy az kompenzálja a felbontás csökkenéséből , a mozgásvektorok véges pontosságából és az eltolási mozgásmodell korlátozott érvényességéből adódó további predikeíós hibákat.
A problémát általánosabban megközelítve, tisztában kell lenni azzal, hogy mivel egy videó képsorban a mozgás természete és· Jellemzői változnak, az optimális Interpolációs szűrő az idő és a kép helyének függvényében változik. Az említett tanulmányban Wedi bemutat egy olyan példát, amelynél dinamikus adaptív szűrőegyütthafó-értékeket tartalmazó interpolációs szüret integrálnak a H.2SL videó kódolóba, pontosabban a kódoló 4. tesztmodel! (TMl-4) által meghatározott változatába. A H.26L videó kódoló TML-4 változata negyed pixel felbontású mozgásvektort és Wiener-íéle interpolációs szűrőt használt, amely szűrő hat szimmetrikus szürőegyütthatót tartalmazott, vagyis a szűrő egy S-fokozatú szűrő volt. A Wedi által bemutatott példa az. Interpolációs szűrő szörőegyütthatöinak keretenként! módosítását, a szörőegyüffoatök differenciális kódolását, továbbá azoknak a dekődolóba a fő videó adatok meilékinformáclójaként történő továbbítását javasolja, Ezen az elven alapulva olyan javaslat is született, hogy a H.26L videó kódoló 8, tesztmodelljében alkalmazott dinamikusan adaptív szőlőegyüttható” & *·' * X * * · < \ JÍ
V - X * * < V < « f « * » * ?.»'V .·. \ · értékeket tartalmazó .interpolációs szűrőket használjanak. Ezt. a megoldást mutatja be az ITU „Adaptive Interpolálton Filter for H28LF clmö Irata (Study Group· 16, Guesíion 6, Videó Codlng Experts Group (VCEG), VCEG-N23, 2001, szeptember), valamint a „More Results on Adaptive Interpolálton Filter for H.28L” című irata (Study Group 16, Qeesíion 6, Videó Codlng Experts Group (VCEG), VCEG-O16r1, 2001. november).
A dinamikusan adaptív interpolációs szűrők felhasználása fontos szerepet játszik a kódolt videó adatfolyam kódolási hatékonysága szempontjából, továbbá hatással van a kódolt videó adatok hibatűrésére Is. A kódolási hatékonyságot eiórecsatolt módon kell érteni. Egy olyan videó kódoló rendszerben, amely rögzített szürőegyütthatö-értékekkel rendelkező interpolációs szűrőt használ, szükségtelen olyan információi előállítani, amely a kódolt videó bitfolyamban lévő szüroegyütthatoértékekre vonatkozik. A szűrőegyüfthatő-értékek egyszerűen rögzíthetők a videó kódolóban és a videó dekódolóban. Magyarán, egy konkrét videó kódolási szabványt implementáló videó kódoló rendszer, amely rögzített interpolációs szűrőket használ, az együttható értékeket a szabvány előírásainak megfelelően előre beprogramozzák mind a kódolóba, mind pedig a dekódolóba. Ha azonban a dinamikusan adaptív szöröegyütthatók alkalmazása megengedett, szükségessé válik az együtthatóértékekre vonatkozó információ továbbítása is. Mivel a szűrőegyütthatókat periodikusan -- például keretenként - módosítják, megnövekszik a videó kódolóból a videó dekódolóba továbbítandó információ mennyisége, és ez hátrányosan befolyásolja a kódolás hatékonyságát, A kis bitsebességű videó kódolási alkalmazásoknál a továbbítandó információ mennyiségének bármilyen növelése álta iá ba n nem k ívánatos,
A fentiek miatt a mozgás optimális modellezéséhez és kompenzálásához a dinamikus Interpolációs szűrök hatékony reprezentálása szükséges.
A hibatűrés kapcsán meg kell jegyeznünk, hogy a dinamikusan változtatható interpolációs szűrő vonatkozó információnak a kódolóból a történő továbbítási módja befolyásolhatja a videó adatoknak az átviteli hibákra való érzékenységét, nevezetesen, egy videó kódoló rendszerben, amely dinamikusan adaptív Interpolációs szűrőket használ, egy videó képsor kereteinek a dekódolóban történő megfelelő helyreállítása a szűrőegyüttható-értékek hibátlan vételén és dekódolásán alapúi. Amennyiben az ό vonatkozó információban entrópiaködolása.
hiba keletkezik a kódolóból dekódolöba történő továbbítás során, valószínűleg sérült lesz a helyreállított videó adat is, A szűrőegyütthatók kódolásának három ismert létezik. Az első a szűróegyöttható-értékek kölön-küiön történő . második módszer a szűrőegyötthatö-értékek differenciált entrópiakódolása a már kódot szűrők szőröegyütthatőínak ismeretében (Wedi által javasolt kódolási eljárás), míg a harmadik eljárás szőrök egy csoportjának definiálásából, majd a kiválasztott szűrő indexének kódolásából áll.
Az interpolációs szűrők szőröegyütthatőínak kódolására használható, fent említett, ismert megoldások közös problémája az eltérő felhasználási forgatókönyvekben rejlik. Az első eljárás, amelynél az interpolációs szürőegyütthatók külon-külön vannak kódolva, gyenge minőségű kódolást eredményez, mivel nem basznál fel semmilyen a priori információt, vagyis a korábban kódolt interpolációs szűrőegyöttbatő-értékekre vonatkozó információt, következésképpen ennél az eljárásnál túlzottan nagy mennyiségű információt kell a kódolt videó bitfolyamhoz hozzáadni az interpolációs szürőegyütthafö-értékek leírásához. Az együtthatók differenciális kódolása, melyet Wedi is javasol, hatékony ugyan, de nem használható olyan környezetben, ahol átviteli hibák előfordulhatnak, mivel a szörőegyütthatók értékei a korábbi szürőegyütthatók hibátlan dekódolásától függenek. Mint korábban említettük, amennyiben a kódolt videó bitfolyam sérül a kódolóból dekódolöba történő továbbítás során, a dekódolóhan helyreáilitoti videó adatok valószínűleg szintén hibásak lesznek. A harmadik ismert megoldásnál a szűrők előre meghatározott csoportja korlátozott felhasználást tesz lehetővé, ezáltal lecsökkenti a kódolás hatékonyságát. Magyarán, ez az eljárás nem bírja teljesen kihasználni a dinamikusan adaptív szűröegyüttható-értékekkel rendelkező- interpolációs szűrők felhasználásából adódó előnyöket.
Szükségesnek látszik tehát egy olyan, adaptív interpolációs szűrők együtthaíőértékeínek kódolására szolgáié eljárás kidolgozása, amely egyrészt hatékony, másrészt nem csökkenti a kódolt videó bitfolyam hibatűrését.
A találmány egyesíti a díflerendakódolás jó kódolási hatékonyságát és a hibatűrő képességet, Igy lehetővé válik a találmány szinte bármilyen környezetben történő felhasználása. A találmány különösen alkalmas olyan videó kódoló rendszerekben történő implementálásra, melyek hiba előidézésére alkalmas »♦* * környezetben működnek, például ott, ahol kódolt videó bitfolyamét kell továbbítani zajos rád iókornmuníkációs összeköttetésen.
A kitűzött célokat egyrészt olyan eljárással érjük el, amely digitális videó képsor képeinek kódolására szolgái kódolt videó adatok előállítása céljából; A digitális videó képsor pixelértékekböl álló videó keretek sorozatából áll. A digitális videó képsor kereteiben lévő pixelértékeknek a kódolt videó adatokból történő heíyreáilitására együílhaíöértékek által reprezentált együtthatókkal rendelkező interpolációs szűröt használunk. Az interpolációs szűrő együtthatóértékest előre meghatározott alapszörö alapján különbségi kódolással kódoljuk, ezáltal különbségi értékek csoportját állítjuk elő, majd átalakítjuk a kódolt videó adatok között továbbítandó különbségi értékek csoportját oly módon, hogy lehetővé váljon a pixelértékek helyreállítása a különbségi értékek csoportja alapján,
A videó kódolóból a videó dekodolóba továbbított, kódolt videó adatokban célszerűen olyan kódolt értékeket továbbítunk, amelyekből a különbségi értékek csoportjára lehet következtetni, és a különbségi értékek csoportját a videó kódolóból a videó dekódolóba történő továbbítás előtt célszerűen entrópíaködolássai kódoljuk.
Célszerűen olyan előre megbatározott alapszűrőt használunk, amelynek olyan további együtthatói vannak, amelyek statisztikailag hasonlóak, az interpolációs szűrő egyötthatóértékeíhez.
Egy kiválasztott képszegmens pixelértékeinek interpolálásához célszerűen az interpolációs szűrő együtthatóit használjuk.
Az előre meghatározott alapszínében célszerűen rögzített együtthatóértékeket használunk.
Az előre meghatározott alapszGrőben célszerűen olyan együtthatókat használunk, amelyek illeszkednek a videó képsor statisztikai jellemzőihez.
Célszerűen szimmetrikus interpolációs szűrőt használunk és ez esetben a szííröegyütthatöknak csak a felét kódoljuk.
Az interpolációs szűrő együtthatóértékeit célszerűen meghatározott sorrendben, előnyösen az első együttható értéktől az utolsó együttható értékig kódoljuk.
* 4
Az együtthatőértékeket azok térbeli sorrendjétől eltérő sorrendben is kódolhatjuk.
Előnyös, ha az interpolációs szűrő együtthsiőértékeinek összegét rögzítjük. Az előre meghatározott alapszűrő további együtthatóértékeihez célszerűen hozzáadunk egy konstans értéket, ezáltal lecsökkentjük az interpolációs szűrő együtfhatőértékei és az előre meghatározott alapszőrő további együíthatőértékei közötti eltérések nagyságát.
A kitűzött célokat másrészt olyan videó kódoló megvalósításával érjük el, amely videó keretek sorozatából álló digitális videó képsorban lévő képeket a videó képsort leíró kódolt videó adatok előállítása céljából kódoló eszközt tartalmaz, ahol a videó képsor minden egyes kerete plxeiértékekbői áll, továbbá amely videó kódoló a dekódolás! folyamat során a digitális videó képsor kereteiben lévő pixelértékeket helyreállító interpolációs szűrőt meghatározó eszközt tartalmaz, ahol az interpolációs szűrőnek együtthatóértékek által reprezentált együtthatói vannak. A videó kódoló tartalmaz még az interpolációs szűrő kimenete alapján az interpolációs szűrő együtthatóértékel és az előre meghatározott alap-szűrő együtthatóértékei közötti eltérést kiszámító és különbségi értékek csoportját előállító eszközt, valamint a kódolt videó adatok között továbbítandó különbségi értékek csoportját a pixeiértékeknek a dekődolási folyamat során történő helyreállítását lehetővé tevő módon átalakító eszközt.
A videó móddá célszerűen tartalmaz egy, a kódolt videó adatokban szereplő különbségi értékek csoportjának átalakítása előtt a különbségi értékek csoportján entrópiakódolást végző eszközt is.
A videó kódoló előnyösen szimmetrikus interpolációs szűrőt tartalmaz, és ez esetben az entróplakódolást végző eszköz a különbségi értékek csoportjának csak a télét kódoló eszközként van megvalósítva.
A kitűzött célokat továbbá olyan, eljárással érjük el, amely videó keretek sorozatából álló digitális videó képsort leíró videó adatok dekódolására szolgái, ahol a videó képsor minden egyes kerete pixelértékekből áll, továbbá ahol egyűfthatőértékek által reprezentált együtthatókat tartalmazó interpolációs szűrőt használunk a digitális videó képsor kereteiben lévő pixelértékek helyreállítására. Az eljárás során a videó adatokból kinyerjük különbségi értékek egy csoportját, * .<· <· 9 ΛΛ * A «
amely különbségi értékek az interpolációs szűrő és egy előre meghatározott aíapszürö együtthatőértékei közötti eltéréseket adják meg, majd a különbségi értékek -csoportja és az előre meghatározott alapszóra alapján előállítunk egy további szűrőt, végül a további szűrő segítségével helyreállítjuk a pixelértékeket.
Az előre meghatározott alapszörőt célszerűen további együtthatóértékek által reprezentált további együtthatókkal látjuk el, és a további szűrőt úgy állítjuk elő, hogy összeadjuk a különbségi értékeket és az előre meghatározott aíapszürö további együtthaíóértékeit.
A különbségi értékek csoportját célszerűen entrapiadeköóoíással nyerjük ki a videó adatokból.
A kitűzött célokat továbbá olyan videó dekódoló megvalósításával érjük el, amely egy bitfolyamban továbbított videó adatokat fogadó eszközt tartalmaz, ahol a fogadott videó adatok olyan digitális videó képsort írnak te, amely videó keretek sorozatából áll, ahol a videó képsor minden egyes kerete píxeíértékekboí áll. A videó dekódoló a bitfolyamból különbségi értékek egy csoportját kinyerő eszközt, egy előre meghatározott aíapszürö és a különbségi értékek alapján Interpolációs szűrőt előállító eszközt, valamint az interpolációs szűrő és a fogadott videó adatok alapján a videó képsor bármely keretében lévő pixelértékeket helyreállító eszközt
Az előre meghatározott alapszűrőnek célszerűen további együtthatőértékek által reprezentált további együtthatói vannak, és a videó dekódoló célszerűen tartalmaz egy, a különbségi értékek csoportját az előre meghatározott aíapszürö további együtthatóértékeivel összeadó, ezáltal interpolációs szűröt előállító eszközt.
A videó dekódoló célszerűen tartalmaz egy, a bitfolyamból kinyert különbségi értékek csoportján enfrópiadekódoíásí végző eszközt.
A kitűzött célokat végül olyan videó kódoló rendszer megvalósításával érjük el, amely videó keretek sorozatából álló digitális videó képsorban lévő képeket kódoló és a videó képsort leíró bitfolyamban továbbítandó kódolt videó adatokat előállító kódolót tartalmaz, ahol a videó képsor minden egyes kerete pixelértékekböl áll, továbbá amely kódoló a digitális videó képsor bármely keretében lévő pixelértékeknek a dekódoíási folyamat során történő helyreállítására szolgáló interpolációs szűrőt meghatározó eszközt tartalmaz, ahol az interpolációs szűrőnek együtthaíöértékek által reprezentált szö-rőegyütthatől vannak. A videó kódoló rendszer a videó képsor bármely keretében lévő pixelértékeknek a dekódolást folyamat során történő helyreállítása céljából továbbított hiíoíyamban lévő kódolt videó adatokat fogadó dekódoló! is tartalmaz.
A videó kódoló rendszerben lévő dekódoló tartalmaz továbbá az interpolációs szűrő és egy előre meghatározott aíapszűrö közötti eltérést kiszámító és különbségi értékek egy csoportját előállító eszközt, valamint a bitfolyamban továbbítandó különbségi értékek csoportját átalakító eszközt is. A videó kódoló rendszerben lévő dekódoló tartalmaz még a bitfolyamból a különbségi értékek csoportját kinyerő eszközt és az előre meghatározott alapszöró és a kinyert különbségi értékek csoportja alapján egy további szűrőt előállító eszközt, ahol a pixelértékeknek a dekódolás! folyamat során történő helyreállítása a további szűrő alapján történik.
A találmányt a továbbiakban a rajz alapján ismertetjük részletesen. Szükségesnek tartjuk ugyanakkor megjegyezni, hogy a rajzok csak illusztrációként szolgálnak és nem jelentik a találmány korlátozását, A rajzon:
- az 1. ábra egy szokásos videó kódoló általánosított blokkvázlatát mutatja;
- a 2. ábra egy szokásos videó dekódoló általánosított blokkvázlatát mutatja;
- a 3. ábra a videó kódolás során használt keretek típusait szemlélteti vázlatosan;
- a 4a ábra egy aktuális keretben lévő makroblokkot szemléltet vázlatosan;
- a 4b ábra a blokkillesztéshez használt referenciakeretet szemléltet vázlatosan;
- a 4c ábra egy, az aktuális keretberr lévő makrohlokk eredeti helye körüli keresési területet szemlélteti vázlatosan;
- az 5, ábra egy korábban alkalmazott, szubpixei felbontással történő mozgásbecslési eljárást szemlélteti vázlatosan;
- a 6a ábra egy optimális interpolációs szűrő vázlatrajza;
- a 6 b ábra az alapszó rőre és különbségi együtthatókra szétválasztott optimális Interpolációt szemlélteti vázlatosan:
~ 1ö~
XX
- a 6c ábra a kódolandó és a dekódolónak továbbítandó- különbségi együtthatókat szemlélteti vázlatosan;
- a 7, ábra a találmány szerinti, videó kódoló és videó dekódoló berendezést tartalmazó végberendezés blokkvázlata;
» a 8a ábra a találmány szerinti videó kódoló egyik lehetséges változatának blokkvázlata;
- a 8b ábra a találmány szerinti videó kódoló egy másik lehetséges változaté nak blokkvázlata;
- a 8c ábra a találmány szerinti videó kódoló egy harmadik lehetséges vá itozatán a k blokkvázlata;
- a 9a ábra a találmány szerinti videó dekódoló egyik lehetséges változatának blokkvázlata;
- a Sb ábra a találmány szerinti videó dekódoló egy másik lehetséges változatának blokkvázlata; és
- a 9c ábra a találmány szerinti videó dekódoló egy harmadik lehetséges változatának blokkvázlata.
A találmány szerinti kódoló a szűröegyütíhatókaí különbségi kódolással kódolja előre megbatározott bázis szürőegyütthatók alapján. A 8a-6c ábrák a találmány szerinti eljárást szemléltetik. A 6a ábrán látható oszlopdiagram az interpolációs szürőegyütthatók értékeit szemlélteti, ahol az egyes oszlopok megfelelnek az egyes szörőegyüíthatóknak. Az oszlopok magassága az adott szüróegyüttható értékét szemlélteti, vagyis a vízszintes tengely fölé nyúló oszlopok pozitív együtthatőértékeket, a vízszintes tengely alá nyúló oszlopok pedig negatív együtthatőértékeket reprezentálnak. Amint a 8a és 6b ábrán látható, a 118 oszlopdiagram olyan szűrőt reprezentál, amelyet a kódoló egy kiválasztott képszegmens rnozgásínterpoiációja számára legjobbnak talál, míg a 140 oszlopdiagram az aíapszűrőt reprezentálja. A 8a ábrán látható példánál a szűrő olyan 8-fokozatú szimmetrikus szűrő, melynek hat szűrőegyütthatója van. A szüröegyütíhatők puszta elküldése helyett csak a kiválasztott 11 ö szűrő és a 140 afapszürő együtthatóértékei közötti 138 eltérést kódoljuk és továbbítjuk. A különbségi 120 együtthatók elküldött értékelt a 6c ábra szemlélteti.
A találmány révén hatékony kódolás érhető el, mivel a kis értékű különbségek hatékonyan kódolhatók: entrópiakódotással. Amikor ezeket a különbségi értékeket beszúrjuk egy videó kódoló által előállított, kódolt videó bitfolyamba és a videó bitfolyamat a kódolóból a megfelelő dekődölőnak továbbítjuk, az interpolációs szűrő együtthatói a dekódolóban visszaállíthatok oly módon, hogy a különbségi értékeket kiolvassuk a kódolt bitfolyamból és hozzáadjuk azokat az alapszürőnek a dekódolóban eltárolt, előre meghatározott megfelelő együtthatóértékeihez.
Szükségesnek tartjuk megjegyezni,, hogy az alapszörő adaptálható a videó képsor statisztikai jellemzőihez és a beérkező szűrőegyütthatókhoz, ezáltal tovább javítható a kódolás hatékonysága. Lehetőség nyílik arra is, hogy az alapszüröt a teljes ködolő-dekódoló egység számára előre meghatározzuk. Magyarán, ugyanaz az előre meghatározott alapszörő használható az összes kódolandó videó képsorhoz, függetlenül azok tulajdonságaitól vagy azok rögzítési módjától. Lehetőség van arra is, hogy az alapszűrőt a videó adatokhoz adaptáljuk, vagyis különböző alapszüröket használjunk különböző videó képsorokhoz vagy az alapszüröt bizonyos előre meghatározott szabályok szerint egy adott videó képsor kódolása közben módosítsuk.
Ha a szűrő szimmetrikus, ahogy ez a 8a~8c ábrákon látható, a szűrőegyütthatóknak csak a felét kell kódolni A többi szürőegyüttható meghatározható egyszerű: másolással. A 8c ábrán látható példánál az adaptív Interpolációs szűrőnek a kódolt videó bitfolyamban továbbított együtthatóértékeinek reprezentáíásához szükséges információ mennyisége tovább csökkenthető annak felismerésével, hogy a 4,, 5. és 8. szürőegyüttható értéke megegyezik a 3., 2., illetve 1. szürőegyüttható értékével. így ebben az esetben az interpolációs szűrő hat együtthatóját valójában három értékkel lehet kódolni, vagyis az első együttható az első interpolációs szürőegyüttható és az előre meghatározott alapszörő első együtthatója közötti különbséget, a második együttható a második interpolációs szürőegyüttható és az előre meghatározott alapszűrő második együtthatója közötti különbséget, míg a harmadik együttható a harmadik interpolációs szürőegyüttható és az. előre meghatározott alapszörő harmadik együtthatója közötti különbséget reprezentálja. Ily módon csak ezt a három különbségértéket kell elhelyezni a kódolóból a dekődolőba továbbítandó kódolt videó bitfolyamban, mivel a dekódoló a *
*χ ♦ másik három interpolációs szűrőegyütfhaiöt az első három visszaállított szűröegyüöhafó-srték megfelelő másolásával elő tudja állítani. Hasonló megközelítés alkalmazható abban az esetben ís, amikor az alapszűrő és az interpolációs szűrő nem páros, hanem páratlan számú együtthatót tartalmaz, és az együtthatóérfékek szimmetrikusak. Ebben az esetben nyilvánvaló, hogy a kódolandó különbségértékek száma (nZ2)+1, ahol n az .alapszűrő» Iliéivé az interpolációs szűrő együtthatóinak a száma.
A találmány szerinti eljárás kombinálható más együtthatókódolási eljárásokkal is. Például a leggyakrabban használt szűrökből létrehozható egy szürőcsoport és a szűröcsoport a benne szereplő szűrök Indexeivel kódolható. A ritkábban használt szűröket viszont érdemes a találmány szerinti eljárással kódolni, ami lehetővé teszi a rendelkezésre áltó szűrők maximális variálását és ezáltal kiküszöböli a harmadikként említett, ismert együttható-kódolási eljárás hátrányait.
A szűrőágyűithatök kódolási sorrendjének nem szükséges követnie a térbeli sorrendet. Az interpolációs szűrőegyötthafó-értékeket reprezentáló különbségi értékeket nem szükséges ugyanabban a sorrendben továbbítani a kódolt videó bitfolyamban, mint ahogy az együtthatók a szűrőben követik egymást. Ebben az esetben előre meg kell adni egy olyan szabályt, amely meghatározza azt a sorrendet, amely szerint a különbségi értékek egymást követik a bitfolyamban, és ezt a sorrendet Ismernie kell mind a kódolónak, mind pedig a dekódolónak.
Lehetőség van arra, hogy az alapszürőt ugyanannak a szűrőnek a beérkező szőrőegyütthatölhoz illesszük. Ha például az elsőként továbbított szűröegyüftható nagyobb, mint az alapszűrő együtthatója, a második alapszűrő együtthatója lecsökkenthető. Ez különösen igaz abban az esetben, ha ismert a szűröegyütthafók összege.
A szürőegyütthatók összege tipikusan egy rögzített érték. Ilyenkor szükségtelen az utolsó szőröegyüttható kódolása, mivel az kiszámítható oly módon, hogy az előző együtthatók összegét kivonjuk a teljes összegből. Amennyiben a szűröegyütthafók összege nem rögzített érték, külön továbbított konstans vagy konstansok adhatók az alapszűrö együtthatóihoz vagy a szűrő kimenetéhez az együttható-különbségek abszolút értékének csökkentése céljából.
A 7. ábrán olyan., videó kódolót és videó dekodolót tartalmazó végberendezés látható, amely alkalmas a találmány szerinti eljárás végrehajtására. A 7. ábrán látható 60 multimédia terminál az ÍFU-Ϊ H.324 ajánlás alapján van implementálva. A 80 multimédia terminál multimédiás adóvevő eszköznek tekinthető és olyan egységeket tartalmaz., amelyek rögzítik, kódolják és m ultiplexei ik a kommunikációs hálózaton keresztül továbbítandó multimédia adatfolyamokat továbbá olyan egységeket tartalmaz, amelyek fogadják, demultlplexelik, dekódolják és megjelenítik a fogadott multimédia tartalmat Az ITÜ-T H.324 ajánlás rögzíti a terminál egészének működését és utal más olyan ajánlásokra, amelyek a terminál különböző részegységeinek működését írják le, Az ilyen multimédia terminál felhasználható valós idejű alkalmazásokban, például videotelefon rendszerekben vagy nem valós idejű alkalmazásokban, például videó klipeknek például egy Interneten elérhető multimédiás tartalomszolgáltató szerverről történő lehívására vagy letöltésére.
A jelen találmány ismertetése során nyilvánvaló, hogy a 7. ábrán látható H.324 ajánlás szerinti terminál csak egy a számos lehetséges multimédia terminál közül, amely alkalmas a találmány szerinti eljárás implementálására. Szükségesnek tartjuk továbbá megjegyezni, hogy számos más megoldás is létezik a terminál elhelyezésére és implementálására. Amint a 7. ábrán látható, a multimédia terminál elhelyezhető egy vezetékes telefonhálózathoz, például egy analóg PSTN hálózathoz csatlakozó kommunikációs berendezésben, Ebben az esetben a multimédia terminál olyan 71 modemmel van ellátva, amely az ITÜ-T V.8, V.34, esetleg V.Sbis ajánlás szerint működik.. A multimédia terminál külső modemhez is csatlakoztatható. A modem lehetővé teszi a multimédia terminál által előállított multiplexeit digitális adatok és vezérlőjelek analóg jelekké történő átalakítását a PSTN hálózaton keresztül történő továbbítás céljából. Lehetővé teszi továbbá, hogy a multimédia terminál analóg adatokat és vezérlőjeleket fogadjon a PSTN hálózattól és azokat olyan digitális adatfolyammá alakítsa át, amelyet a terminál megfelelő módon képes demultiplexefol és feldolgozni.
Egy H.324 ajánlás szerinti multimédia terminál implementálható oly módon Is, hogy közvetlenül egy digitális vezetékes hálózathoz, például egy ISDN hálózathoz csatlakozzon. Ebben az esetben a 71 modemet, a 7. ábrán szaggatott vonallal jelölt
7.2 ISDN felhasználó-hálózat interfész helyettesíti.
A H.324 ajánlás szerinti multimédia terminálok kialakíthatok úgy is, hogy alkalmasak legyenek mobil kommunikációs alkalmazásokban történő felhasználásra. Vezeték nélküli kommunikációs összeköttetés alkalmazása esetén a 71 modem úlyen megfelelő vezeték .nélküli interfésszei, például a 7. ábrán szaggatott vonallal jelzett 73 rádió adóvevővel helyettesíthető. A H.324/M .ajánlás szerinti multimédia terminál tartalmazhat például olyan rádió adóvevőt, amely lehetővé teszi a 2. generációs GSM mobil telefonhálózathoz vagy a 3. generációs UMTS (öniversal Mobile Telephoné System) hálózathoz történő csatlakoztatását.
Szükségesnek tartjuk megjegyezni, hogy a kétirányú kommunikációra alkalmasan kialakított, vagyis videó adatok továbbítására és vételére egyaránt alkalmas multimédia terminálokban célszerűen mind a videó kódoló, mind pedig a videó dekódoló a találmány szerinti módon van kialakítva. Az Ilyen kódolóból és dekódolóból álló egységet gyakran egyetlen kombinált funkcionális egységként egy ún. kódoló-dekódoló formájában valósítják meg.
A továbbiakban a 7. ábra segítségévei egy tipikus H.324 ajánlás szerinti multimédia terminált ismertetünk részletesen. A 80 multimédia terminál számos különböző eszköz, ún, végberendezést tartalmazhat, igy például 81 videó eszközt, 82 audio eszközt vagy 83 telematikai eszközt. A 81 videó eszköz lehet például videoképeket rögzítő videokamera, a beérkező videó tartalmat megjelenítő monitor vagy szükség esetén videó feldolgozó egység. A 82 audio eszköz tipikusan mikrofon, például beszédüzenetek rögzítésére szolgáló mikrofon vagy a fogadott audio tartalmat reprodukáló hangszóró. Az audio eszköz lehet továbbá audio feldolgozó egység. A 63 telematikai eszköz többek között adatterminál, billentyűzet, elektronikus jegyzettömb, állóképeket továbbító és fogadó egység, például faxkészülék lehet.
A 81 videó eszköz egy 85 videó kődöló--dekódolóhoz kapcsolódik. A 86 videó kódoló-dekódoló a találmány szerinti videó kódolót és ahhoz tartozó videó dekódolót tartalmaz. A továbbiakban ilyen összetett, kódolót és dekódolót tartalmazó egységet mutatunk be. A 85 videó kódoló-dekódoló a rögzített videó adatok megfelelő formában történő kódolását végzi egy kommunikációs összeköttetésen történő későbbi továbbítás céljából, és dekódolja a kommunikációs hálózattól kapott, tömörített videó tartalmat. A 7, ábrán látható példánál azt feltételezzük, hogy az ily módon megvalósított videó kódoló-dekódoló dinamikusan adaptív interpolációs szűrőket használ Feltételezzük továbbá, hogy a videó ködoló-dekődolő kódoló része úgy van kialakítva, hogy kódolja az interpolációs szürőegyütthatókaf majd azokat a megfelelő dekódolónak továbbítja a találmány szerinti eljárás alapján, a korábban ismertetett módon. A videó kődoló-dekódoló dekódoló része szintén ügy van kialakítva, hogy fogadja és dekódolja azokat szűrőegyüttható-értékeket, amelyek a találmány ugyanazon változata alapján: vannak kódolva .
A multimédia terminál 82 audio eszköze egy, a 7 ábrán látható 66 audio ködoiő-deködolöboz kapcsolódik. Akárcsak a 65 videó kódoló-dekódolö, a 68 audio kődoló-dekódoló is tartalmaz egy kódoló és egy dekódold egységet, amely a multimédia terminál 62 audio eszköze által rögzített audio adatokat a kommunikációs összeköttetésen történő továbbításra alkalmas formátumra alakítja át, és a hálózaton keresztül érkező kódolt audio adatokat átalakítja olyan formátumra, amely lehetővé teszi a reprodukálás, például a terminál hangszóróján történő megszólaltatást. A 88 audio kódoló-dekodolö kimenetét egy 87 késleltető egységnek továbbítjuk. A 87 késleltető egység kompenzálja a videó kódolási folyamat során fellépő késleltetéseket, ezáltal szinkronba hozza az audio és a videó tartalmat.
A multimédia terminál 84 rendszervezérlő egysége a végpont és a hálózat közötti jelzést vezérli egy 68 jelzési egység által felügyelt, megfelelő vezérlöprotokoil alapján, ezáltal közös üzemmódot létesít az adó és a vevő terminál között. A 88 jelzési egység információkat továbbít az adó és a vevő terminál kódolási, illetve dekódolás! lehetőségeire vonatkozóan, és lehetővé teszi különböző kódolási módok alkalmazását a videó kódolóban, A 64 rendszervezérlő egység az adaftitkositás használatát is vezérli. Az: adatátvitel' során alkalmazandó titkosítás típusára vonatkozó információt a 89 titkosító egység egy 70 multiplexer/demultiplexer egységnek továbbítja.
A multimédia terminálból történő adattovábbítás alatt a 70 multipiexeddemultlpiexer egység egyesíti a kódolt és szinkronizált videó és audio adatfolyamokat a 63 telematikai eszköztől érkező adathemenettei és az esetleges vezérlési adatokkal, és azokból egyetlen bltfolyamot állít elő. A bitfolyamon végrehajtandó esetleges adaltifkosítás típusára vonatkozó információt, melyet a 89 titkosító egység állít elő, a titkosítási mód kiválasztására használjuk. így amikor egy multiplexeit és esetleg titkosított multimédiás adatfolyam érkezik, a 79 ** * X multípiexer/demulöplexer egység gondoskodik a bitfolyam visszafejtéséről, a két média komponens szétválasztásáról, majd az egyes komponenseknek a megfelelő kódoló-dekódolóhoz és/vagy végberendezéshez a dekódolás és reprodukálás céljából történő továbbításáról.
A 8a ábrán a találmány szerinti videó kódoló egyik célszerű kiviteli alakjának blokkvázlata látható. A 8a ábrán látható 700 videó kódoló felépítése sok szempontból hasonlít az 1. ábrán bemutatott, korábban használt videó kódoló felépítéséhez. A kódolónak csak azon részeit módosítottuk, amelyek a szubpixel értékek interpolálását és a kódolt videó bitfolyam előállításával kapcsolatos műveleteket végzik. A 780 videó kódoló legtöbb egysége hasonló módon működik az 1, ábrán korábban bemutatott, eddig használt 1Ö videó kódoló megfelelő egységeinek működéséhez. Az egyszerűség kedvéért ezeknek az egységeknek az ismertetésétől eltekintünk. A 700 videó kódoló 711 mozgásmezö-becslö egységet, 712 mozgásmezö-ködolö egységet, 713 mozgáskompenzáíl predikciós egységet, 714 predíkciősbiba-ködolö egységet, 715 predíkoiöshíba-dekódoió egységet, 718 muitiplexelő egységet, 717 kerefmemóriát és 719 összeadói tartalmaz. Amint a 8a ábrán látható, a 711 mozgásmezo-becslő egység olyan 710 különbségi együtthatószámító egységet tartalmaz, amelyet a kiválasztott szűrő és egy 709 alapszürő közötti eltérés kiszámítására használunk.
A továbbiakban a 7ÖŐ videó kódoló működését ismertetjük részletesen. Az Ismert videó kódolókhoz hasonlóan a találmány szerinti 700 videó kódoló mozgáskompenzált predikciót alkalmaz egy Rn(x,y} referenciákéról alapján, és így állít elő INTER-kódotásű videó keretet reprezentáló bitfolyamof. A mozgáskompenzált predikciót. szubpíxel felbontással végzi és olyan interpolációs szűrőt alkalmaz, amelynek dinamikusan változtatható szöröegyütthafó-értékei vannak annak érdekében, hogy a mozgásbecslő folyamat során elő tudja állítani a
A 700 videó kódoló blokkonként történő mozgáskompenzált predikciót bajt végre, továbbá minden egyes blokkra kétlépéses folyamatban szubpixel-felbontás mellett Implementálja a mozgáskompenzációt, Az első lépésben teljes pixel felbontású mozgásvektort határoz meg blokklllesztéssel, vagyis olyan pixeiértékeket tartalmazó blokkot keres az Rfi.(x,y) referencíakeretben, amely a legjobban Illeszkedik a kódolandó, aktuális képblokk pixelértékeíhez. A blokki liesztésí műveletet a 711 mozgásmező-beoslö egység a 717 kerettárolóval együttműködve hajtja végre, ahol az R,,(x,y) referenciakeret pixelértékeit a 717 kerettárolóból olvassak ki. A mozgáskompenzált predikciő második lépésében az első lépésben meghatározott mozgásvekfort tovább finomítjuk a kívánt mértékű szubpixeles felbontásra. Ennek végrehajtásához a 711 mozgásmező-becsiő egység a korábban azonosított, az aktuálisan kódolandó képblokkhoz legjobban illeszkedő területen található Rn(x,y) referencia-keret pixelértékeinek interpolálásával éj, szubpixet felbontású keresési blokkokat állít elő. A folyamat részeként a 711 mozgásmező-becsiő egység meghatároz egy optimális interpolációs szűrőt a szubpixel értékek interpolálására. Az interpolációs szúrd együttható értékeit megfelelően mődositjuk az egyes ké kódolása során. A találmány egyik lehetséges változatánál az interpolációs szűrő együtthatóit ritkábban, például keretenként egy alkalommal vagy egy kódolandó új videó képsor kezdetén mődositjuk.
A szükséges szubpixel értékek Interpolálását és az új keresőblokkok előállítását követően a 711 mozgásmező-becsiő egység további keresést bajt végre annak meghatározása érdekében, hogy az új keresőblokkok valamelyike jobban illeszkedik-e az aktuális képbíokkhoz, mint az eredetileg azonosított, teljes pixel felbontású, legjobban illeszkedő blokk. Ily módon a 711 mozgásmező-becsiő egység meghatározza, hogy az éppen kódolt képblokkra jellemző mozgásvektornak teljes pixel felbontású helyre vagy szubpixel felbontású helyre kell-e mutatnia.
A 711 mozgásmező-becsiő egység a meghatározott mozgás vektort a 712 mozgásmezö-kődolü egységnek továbbítja, amely egy mozgásmodell alapján a korábban ismertetett módon közelítést ad a mozgásvektorra. Ezt követően a 713 mozgáskompenzált predikciős egység az aktuális képblokkhoz a közelített mozgásvektor és a predikciős hifeainforroscíó felhasználásával becslést végez, A jóslás eredménye és annak kódolt adatai a 714 predikciós hibakódoló egységben találhatók. Az aktuális képblokkhoz tartozó, kódolt predikciős hibainformációt ezután a 714 predikelőshiba-ködolö egységből a 716 multiplexer egységnek továbbítjuk. A 716 multiplexer egység egyrészt a közelített mozgásvektorra vonatkozó információt fogad mozgásegyüttbatók formájában a 712 mozgásmező-kődoió egységtől, másrészt az aktuális kéoblokk mozgáskompenzáif becslése során használt optimális interpolációs szűrőre vonatkozó Információt fogad a 711 mozgásmezö-becslő egységtől A szóban forgó kiviteli alaknál a 711 mozgásmezö-becslő egység a 710 különbségi együtthatókat kiszámító egység számítási eredményei alapján az aktuális blokkhoz tartozó optimális Interpolációs szűrő szűrőegyütthatól és a 700 kódolóban eltárolt, előre meghatározott 709 alapszörö együtthatói közötti különbséget megadó 705 különbségi értékek csoportját továbbiba. A 715 multiplexer egység ezt kővetően olyan kódolt 703 bitfoíyamot állít elő, amely a mozgásinformáció (mozgási együtthatók), a predikciós hibaadafok, a szürőegyütthatók különbségi értékei és más lehetséges vezérlési információk egyesítésével az aktuális képbiokkra jellemző. Szükség esetén a különböző típusú információk mindegyikét entrőplakódoissssl kódoljuk a bitfolyamba történő beszúrást, majd a megfelelő· dekódolőnak történő
A találmány egyik lehetséges változatánál a 711 mozgásmezö-becslő egység az optimális interpolációs szűrő szűrőegyütthatölra jellemző 704 értékek csoportját küldi el a 718 különbségi együtthatókat kiszámító egységnek, amely - a 8b ábrán látható módon - a 711 mozgásmezö-becslő egység és a 715 multiplexer egység között helyezkedik el. A 710 különbségi együtthatókat kiszámító egység a 709 alapszörö alapján kiszámítja a 705 különbségi értékeket és azokat a 715 multiplexer egységnek továbbítja.
A találmány egy másik lehetséges változatánál a 710 különbségi együtthatókat kiszámító egység a 716 multiplexer egységen belül helyezkedik el. Ebben az esetben az optimális interpolációs szűrő 704 szürőegyütlhatci közvetlenül továbbíthatók -a. 711 mozgásmezö-becslő egységből a 718 multiplexer egységnek, ahogy ez a 8c ábrán látható.
A 9a ábra a 8a ábrán látható 700 videó kódolóhoz tartozó 8Ö0 videó dekódoló egyik célszerű kiviteli alakjának blokkvázlatát szemlélteti. A 800 videó dekódoló 721 mozgáskompenzált predikciós egységet, 722 predikclóshiba-dekódolé egységet, 723 demultiplexeiő egységet és 824 keretmemöriát tartalmaz. A 800 videó dekódoló legtöbb egysége a 2. ábrán látható, szokásos 20 dekódoló megfelelő egységeihez hasonló funkciókkal rendelkezik, illetve azokkal hasonló módon működik. A 9a ábrán látható, találmány szerinti 8ÖÖ videó dekódoló azonban tartalmaz egy olyan 810 szűröheiyreállitó egységet is, amely a 6 b és 8o ábrán látható 130 különbségi értékek *
X és az előre meghatározott 809 alapszöré alapján helyreállítja a 8a ábrán látható 110 optimális Interpolációs szűrőt Az előre meghatározott. 809 afapszüro· célszerűen azonos a 8a-8c ábrákon látható 709 alapszürovel.
A továbbiakban a 800 videó dekódoló működését ismertetjük részletesen, A 823 demultiplexer egység kódolt 883 bitfolyamét fogad, szétválasztja a 803 bitfolyamot komponenseire, vagyis a mozgásegyütthatókra. predlkciős hibainformációra, szűrőegyütthatók különbségi értékeire és esetleges vezérlési információkra, majd a különböző adattípusokra vonatkozóan elvégzi az esetleg szükséges enfrőpiadekódolást. A 803 demultiplexer egység a beérkező 803 bitfolyamból kinyert predlkclós hiba információt a 822 predikclósblba-deködoló egységnek továbbítja. A 883 bitfolyamból kinyert: mozgásinformációt a 823 demultiplexer egység a 821 mozgáskompenzálf predikoíős blokknak továbbítja. A találmánynak ennél a kiviteli alakjánál a 823 demultiplexer egység a fogadott és entrópíadekódolt különbségi értékeket egy 802 jellel a 821 mozgáskompenzált pretíikciős blokknak továbbítja oly módon, hogy lehetővé tegye a 818 szürőhelyreáHíló egység számára a Ss ábrán látható 110 optimális interpolációs szűrő helyreállítását oly módon, hogy a 803 bitfolyamból kinyert különbségi értékeket hozzáadja a 880 dekódolóban eltárolt, előre meghatározott 809 alapszűrő együtthatóihoz, A 821 mozgáskompenzált predlkciős egység ezt követően a helyreállított együtthatóértékek által meghatározott optimális interpolációs szűrő felhasználásával predikcíót hajt végre az: éppen dekódolás alatt álló képblokkra vonatkozóan. Közelebbről ez azt jelenti, hogy a 821 mozgáskompenzáit predlkciős egység a 824 keretmemőriában eltárolt R(x,Y) referenciakeret pixelértékeinek kiolvasásával és szükség esetén azoknak a kinyert mozgásinformáció alapján tetszőleges szubpixel értékekre történő interpolálásával megjósolja az aktuális képblokkot. Az aktuális képblokk predíkclóját ezután egyesíti a megfelelő predlkclós hibaadatokkal és helyreállítja a szobán forgó képbfokkot,
A találmány egyik lehetséges változatánál a 818 szűröhelyreállifő egység a. 821 mozgáskompenzáit predlkclós egységen kívül helyezkedik el, ahogy ez a 9b ábrán látható. A 823 demultiplexer egységtől érkező 802 jelben lévő különbségi értékekből a 810 szurőhelyreáliitó egység: előállítja az optimális interpolációs szűröket és a helyreállított 805 szűröegyütthatokat a 821 mozgáskompenzálf * *1 ·** **
♦ * * * « * J<wt predikciós egységnek továbbítja. Egy másik lehetséges kiviteli alaknál a 810 szörőhelyreállító egység a 823 demuitiplexer egységen belöl helyezkedik el. Ez esetben a 823 demuitiplexer egység továbbítja az optimális Interpolációs szűrő helyreállított együtthatóit a 821 mozgáskompenzált predikciós egységnek.
A találmány szerinti kódoló a szűröegyütthatőkat az előre meghatározott alapszűrő együtthatóitól függően differenciáltan kódolja, ezáltal lehetővé teszi a dekódoló számára az optimális interpolációs szűrő helyreállítását a különbségi értékek alapján. Az alapszűrő együtthatóit ismernie keli mind a kódolónak, mind pedig a dekódolónak, és azoknak statisztikailag ésszerű határok között a videó képsorban használt tényleges szűrők együtthatóihoz közeli értéknek kell lenniük a jő kódolási hatékonyság elérése érdekében. Magyarán, a találmány szerinti eljárásnál konkrét együtthatóértékekkel rendelkező alapszörőt határozunk meg és az alapszürő együtthatói, valamint a ténylegesen felhasznált interpolációs szűrő együtthatói közötti különbséget kódoljuk és továbbítjuk a videó bitfolyamban. Ily módon az adaptív interpolációs szűrőnek a kódolt videó bitfolyamban továbbított együtthatóinak reprezentá lásához szükséges Információ mennyisége lecsökken ahhoz az eljáráshoz viszonyítva, amelynél az adaptív szűrő összes együtthatóját külön kódolják. Amennyiben az alapszürő együtthatói nagyon hasonlóak a ténylegesen felhasznált interpolációs szűrő együtthatóihoz, a kódolandó különbségi értékek kicsik lesznek, nymodon előnyös, ha az előre meghatározott alapszürő statisztikailag hasonló a ténylegesen felhasznált interpolációs szűrőhöz, mivel ebben az esetben a különbségi értékek lecsökkennek, ami tovább javítja a kódolás hatékonyságát.
Szemben a VVedi által javasolt differenciális kódolási eljárással, a találmány szerinti eljárás viszonylag jó hibatűréssel rendelkezik. Amennyiben hiba következik be a kódolt videó bitfolyamnak a kódolóból dekódolóba történő továbbítása során, a keletkező hiba csak az alapszürő és a ténylegesen alkalmazott interpolációs szűrő közötti különbséget érinti.
Szükségesnek tartjuk megjegyezni, hogy a találmány szerinti multimédia terminál, videó kódoló, videó dekódoló és videó ködolő-dekődoíö funkcionális rdver formájában, illetve és dekódolás! eljárások formájában történő egységei egyaránt megvalósíthatok szoftver vagy dedikált ha a kettő kombinációjaként. A találmány szerinti videó kódolási különösen alkalmasak olyan számítógépi program
- 30 ♦ λ k «» χ ♦ «Λ + * * X « « «r * «ί e χ 4 «» > χ· # « φ « φ * «η»44 * *4W «*>
meg valósításra, amely a találmány szerinti eljárás funkcionális lépéseit végrehajtó, számítógép által olvasható utasításokat tartalmaz. Ily módon a találmány szerinti kódoló, dekódoló és videó kódolő-dekódolö szintén implementálható olyan számítógépi programkód formájában, amely egy tárolóközegen van eltárolva és amelyet egy számítógép, például személyi számítógép hajt végre, ezáltal az adott számítógép videó kódolási és/vagy dekódoíási funkcióval látható el.
Bár a találmányt konkrét kiviteli alakokon keresztül mutattuk be, a szakmában jártas szakemberek számára nyilvánvaló, hogy a találmány tetszőlegesen módosítható az igénypontok által meghatározott oltalmi körön belül.

Claims (35)

  1. SZABADALMI IGÉNYPONTOK
    1. Eljárás videó képsorban lévő kép kódolására, ahol egy referencia keretben lévő szubpixel értékeket egy több együttható értékkel rendelkező interpolációs szűrő segítségévei rekonstruáljuk, és egy kódolandó blokk predlkciójáí a rekonstruált szubpixel értékek alapján végezzük, azzal jellemezve, hogy az interpolációs szűrő (110) együttható értékeit egy alapszőrő (140, 709) együttható értékeire vonatkozóan differenciálisán kódoljuk, ezáltal különbségi értékek (130, 705) egy csoportját állítjuk elő, ahol az alapszűrő (140, 709) együttható értékei közül legalább egynek nullától eltérő értéke van; és a különbségi értékek (130, 705) csoportját elhelyezzük a kódolt videó adatokban.
  2. 2. Az 1. igénypont szerinti eljárás, azzal jellemezve, hogy a képet blokkokra osztjuk fel, és az interpolációs szűrő (110) együttható értékeit az egyes képblokkok kódolásakor módosítjuk,
  3. 3. Az 1, igénypont szerinti eljárás, azzal jellemezve, hogy az alapszőrő (140, 709) együttható értékei előre meghatározott együttható- értékeket tartalmaznak.
  4. 4. Az 1, igénypont szerinti eljárás, azzal jellemezve, hogy további lépésként az alapszűrő (140, 709) együttható értékeit a videó képsor statisztikai adati alapján módosítjuk.
  5. 5. Az 1. igénypont szerinti eljárás, azzal jellemezve, hogy szimmetrikus interpolációs szűrőt (110) használunk és az interpolációs szűrő (110) együttható értékeinek csak a felét kódoljuk.
  6. 6. Az 1. igénypont szerinti eljárás, azzal jellemezve, hogy az alapszó rönek (140, 709) további együttható értékel vannak, ahol az alapszűrő (140, 709) további együttható értékeihez konstans értéket adunk hozzá, ezáltal lecsökkentjük az interpolációs szűrő (110) együttható értékei és az alapszűrő (140, 709) további együttható értékei közötti eltérések nagyságát.
    » * ·♦
  7. 7.. Berendezés videó képsor kódoláséra, amely berendezés tartalmaz: egy referencia keretben lévő szubpixei értékek rekonstruálására szolgáló interpolációs szűrőt (11Ö) meghatározó eszközt, ahol az interpolációs szűrőnek (110) több együttható értéke van; és a rekonstruált szubpixei értékek alapján egy kódolandó blokk predikcióját azzal jellemezve, hogy a berendezés tartalmaz továbbá az interpolációs szűrő (110) együttható értékei és az alapszűrő (140, 709} együttható értéket közötti különbségeket kiszámító és különbségi értékek (130, 705) egy csoportját előállító eszközt, ahol az aíapszűrö (140, 709) együttható értékei közűi legalább egynek nullától eltérő értéke van; és a különbségi értékek (130, 705) csoportját kódolt videó adatokban elhelyező eszközt.
  8. 8. A 7. igénypont szerinti berendezés, azzal jellemezve, hogy tartalmaz továbbá egy, a különbségi értékek (130, 705) csoportjának a kódolt videó adatokban történő elhelyezése előtt a különbségi értékek (130, 705) csoportján enfrőpiakődolást végző eszközt,
  9. 9. A 8. igénypont szerinti berendezés, azzal jellemezve, hogy szimmetrikus interpolációs szűrőt (110) tartalmaz és az entrópiakódolást végző eszköz a különbségi értékek (130,. 705) csoportjának csak a felét kódoló eszközként van kialakítva lö. Eljárás kódolt videó adatok dekódolására, ahol egy referencia keretben lévő szubpixei értékeket egy interpolációs szűrő (110) és a kódolt videó adatok alapján rekonstruáljuk, és elvégezzük egy kódolandó blokk predikcióját a rekonstruált szubpixei értékek alapján, azzal jellemezve, hogy további lépésként a kódolt videó adatokból kinyerjük különbségi értékek (802) egy csoportját, ahol a különbségi értékek (302) csoportja az interpolációs szűrő (110) és egy aíapszűrö (809) együttható értékel közötti eltéréseket adja meg, ahol az alapszűrő (809) együttható értékei közül legalább egynek nullától elférő értéke van ; és a különbségi értékek (802) csoportja és az aíapszűrö (809) alapján előállítjuk az interpolációs szűrőt (110).
  10. 11. A íö. igénypont szerinti eljárás, azzal jellemezve, hogy sz alapszűrőt (889) további együttható értékek által reprezentált további együtthatókkal látjuk el; és az interpolációs szűrőt (110) úgy állítjuk elő, hogy összeadjuk a különbségi értékeket (802) és az alapszűrő (809) további együttható értékeit.
  11. 12. A 11, Igénypont szerinti eljárás, azzal jellemezve, hogy a különbségi értékek (802) csoportját entrőpladekődoíással nyerjük ki a kódolt videó adatokból.
  12. 13. Berendezés kódolt videó adatok dekódolására, amely berendezés egy referencia keretben tévő szubpixel értékeket egy interpolációs szűrő (110) és a kódolt videó adatok alapján rekonstruáló eszközt és egv kódolandó blokk predikcióját a rekonstruált szubpixel értékek alapján elvégző eszközt tartalmaz, azzal jellemezve, hogy tartalmaz továbbá különbségi értékek egy csoportját a kódolt videó adatokból kinyerő eszközt., ahol a különbségi értékek csoportja az interpolációs szűrő (110) és egy alapszűrő (809) együttható értékei közötti eltéréseket adja meg, és ahol az alapszűrő (889) együttható értékei közül legalább egynek nullától elférő értéke van; és egy, az eiapszürő (809) és a különbségi értékek csoportja alapján az interpolációs szűrőt (110) előállító eszközt.
  13. 14. A 13, igénypont szerinti berendezés, azzal jellemezve, hogy az alapszűrőnek (809) további együttható értékek által reprezentált további együtthatói vannak; és a berendezés tartalmaz továbbá egy, a különbségi értékek csoportját az alapszűrő (809) további együttható értékeivel összeadó, ezáltal az interpolációs szűrőt 8110) előállító eszközt.
  14. 15. A 13. igénypont szerinti berendezés, azzal jellemezve, hogy a bitfolyamból kinyert különbségi értékek csoportján entrőpiadekódolást végző eszközt tartalmaz.
    18. Videó kódoló rendszer, amely tartalmaz kódoló egységet (708) a videó képsor kódolására, amely kódoló egység (700) egy referencia keretben lévő szubpixei értékek rekonstruálására szolgáló Interpolációs szűrőt határoz meg, ahol az interpolációs szűrő több együttható értéket tartalmaz:
    dekódoló egységet (800) a kódolt videó adatok dekódolására, amely dekódoló egység (800) tartalmaz egy, a referencia keretben lévő szubpixei értékek rekonstruálását az interpolációs szűrő és a kódolt videó adatok alapján végző interpoláló eszközt; és predikeíós eszközt (820) egy dekódolandó blokkon a rekonstruált szubpixei értékek alapján történő predikeíőt végrehajtására, azzal jellemezve, hogy a kódoló egység (700) tartalmaz továbbá az interpolációs szűrő (110) együttható értékei és egy alapszűrö (140, 709) együttható értékei közötti eltéréseket kiszámító és különbségi értékek (130, 705) egy csoportját előállító eszközt (71ÖJ, ahol az alapszüro (140, 709) együttható értékel közül legalább egynek nullától eltérő értéke van; és a különbségi értékek (130, 703) csoportját a kódolt videó adatokban elhelyező multiplexek) eszközt (820); továbbá a dekódoló egység (800) tartalmaz a kódolt videó adatokból a különbségi értékek csoportját kinyerő demultiplexeié eszközt; és az alapszörő (800) és a különbségi értékek csoportja alapján az interpolációs szűrőt (110) előállító számító eszközt (810).
  15. 17. Videó kódoló berendezés videó képsorban lévő kép kódolására, amely berendezés egy referencia keretben lévő szubpixei értékek rekonstruálására szolgáló interpolációs szűrőt mégháfámzóan van kialakítva, ahol az Interpolációs szűrő több együttható értéket tartalmaz, és amely berendezés tartalmaz egy, a rekonstruált szubpixei értékek alapján egy kódolandó blokkon predikeíőt végrehajtó predikeíós eszközt, azzal jellemezve, hogy a berendezés tartalmaz továbbá egy, az interpolációs szűrő (110) együttható értékei és egy alápszűrő (140, 709) együttható értékel közötti különbségeket kiszámító és különbségi értékek (130, 708) egy csoportját előállító számító eszközt, ahol az alapszűrő (140, 709) együttható értékes közül legalább egynek nullától eltérő értéke van, és a különbségi értékek (130, 705) csoportját kódolt videó adatokban elhelyező multiplexek) eszközt (820).
  16. 18. A 17. igénypont szerinti berendezés, azzal jellemezve, hogy tartalmaz továbbá egy, a különbségi értékek (130, 705) csoportjának a kódolt videó adatokban történő elhelyezése előtt a különbségi értékeken (130, 705) entrópiakódolást végző kódoló eszközt.
  17. 19, Berendezés kódolt videó adatok dekódolására, amely berendezés tartalmaz egy referencia keretben lévő szubpixei értékeket egy interpolációs szűrő és a kódolt videó adatok alapján rekonstruáló interpolációs eszközt, és a rekonstruált szubpixei értékek alapján egy dekódolandó blokkon predikciót végrehajtó predikciős eszközt, azzal jellemezve, hogy a berendezés tartalmaz továbbá különbségi értékek egy csoportját a kódolt videó adatokból kinyerő demultiplexelő eszközt; és egy alapszűrő (809) és a különbségi értékek csoportja alapján az interpolációs szűrőt előállító szűrőképző eszközt, ahol az alapszürő (809) több együttható értéket tartalmaz, ahol az együttható értékek közül legalább egynek nullától eltérő értéke van.
  18. 20. A 19, Igénypont szerinti berendezés, azzal jellemezve, hogy az alapszűrőnek (809) további együttható értékek által reprezentált további együtthatói vannak; és a videó dekódoló berendezés tartalmaz továbbá egy, az interpolációs szűrő előállítása céljából a különbségi értékek csoportját és az alapszürő (809) további együttható értékeit összeadó eszközt.
  19. 21. Számítógép által olvasható közeg, amelyen olyan számítógépi program van eltárolva, amely egy videó képsorban lévő képek kódolási eljárását végrehajtó programkódokat tartalmaz, ahol az eljárás az alábbi lépéseket tartalmazza;
    egy referenciakeretben lévő szubpixel értékek rekonstruálása egy több együttható értékkel rendelkező interpolációs szűrővel; és a rekonstruált szubpixel értékek alapján egy kódolandó blokkon predikoió végrehajtása, ahol az eljárás további jellemzője, hogy kiszámítjuk az interpolációs szűrő (110) együttható értékei és egy alapszűrő (140, 907) együttható értékei közötti különbséget és előállítjuk a különbségi értékek (130, 705) egy csoportját, ahol az siapszürő (140, 709) együttható értékei közül legalább egynek nullától eltérő értéke van; és a különbségi értékek (130, 705) csoportját elhelyezzük kódolt videó adatokban.
  20. 22. A 21, igénypont szerinti számítógép által olvasható közeg, azzal jellemezve, hogy az eljárás további lépéseként a különbségi értékek (130, 705) csoportjának a kódolt videó adatokban történő elhelyezését megelőzően a különbségi értékek csoportján entrópiakódoiást végzünk.
  21. 23. Számítógép által olvasható közeg, amelyen olyan számítógépi program van eltárolva, amely kódolt videó adatok dekódolására szolgáló eljárást megvalósító programkódokat tartalmaz, ahol az eljárás az alábbi lépéseket tartalmazza:
    egy referenciakeretben lévő szubpixel értékek rekonstruálása a rekonstruált interpolációs szűrő és a kódolt videó adatok alapján, valamint predikoió végrehajtása egy dekódolandó blokkon a rekonstruált szubpixel értékek alapján, ahol az eljárás további jellemzője, hogy kinyerjük a kódolt videó adatokból a különbségi értékek egy csoportját; és az alapszűrő (809) együttható értékei és a különbségi értékek csoportja alapján rekonstruálunk egy interpolációs szűrőt, ahol az alapszűrő (809) együttható értékei közül legalább egynek nullától elférő értéke van.
  22. 24. A 23, igénypont szerinti számítógép által olvasható közeg, azzal jellemezve, hogy az eljárás további lépéseként entrópiadekódolásf végzünk a különbségi értékek csoportján.
  23. 25. Az 1. igénypont szerinti eljárás, ezzel jellemezve, hogy további lépésként az. interpolációs szűrő együttható értékeit a videó képsorban lévő minden egyes kép kódolásakor módosítjuk,
  24. 26. A 17. igénypont szerinti berendezés, azzal jellemezve, hogy az interpolációs szűrő együttható értékei a videó képsorban lévő minden egyes kép kódolásakor módosítva vannak.
  25. 27. A 17. igénypont szerinti berendezés, azzal jellemezve, hogy a kép több blokkra van felosztva és az interpolációs szűrő (110) együttható értékei az egyes képblokkok kódolásakor módosítva vannak.
  26. 28. A 17. igénypont szerinti berendezés, azzal jellemezem, hogy az alapszűrő (140, 709) együttható értékei a videó képsor kódolásához használandó, előre definiált együttható értékeket tartalmaznak.
  27. 29. A 17. igénypont szerinti berendezés, azzal jellemezve, hogy az alapszörő {140, 709) együttható értékel a videó képsor statisztikai adatai alapján vannak módosítva.
  28. 30. A 10. Igénypont szerinti eljárás, azzal jellemezve, hogy az alapszörő (809) együttható értékei a videó képsor dekódolásához használandó, előre definiált együttható értékeket tartalmaznak.
  29. 31. A 10. igénypont szerinti eljárás, azzal jellemezve, hogy az interpolációs szűrő (110) együttható értékeit a videó képsorban lévő minden egyes kép dekódolásakor módosítjuk.
  30. 32. A 10. igénypont szerinti eljárás, azzal jellemezve, hogy a képet több blokkra osztjuk fel, és a különbségi értékek kinyerését minden egyes blokkra elvégezzük,
  31. 33. A 10. igénypont szerinti eljárás, azzal jellemezve, hogy további lépésként az aíapszűrő (809) együttható értékeit a videó képsor statisztikai adatai alapján módosítjuk.
  32. 34. A 19, igénypont szerinti berendezés, azzal jellemezve, hogy ez alapszűrő (809) együttható értékei s videó képsor dekódolásához használandó, előre definiált együttható értékeket tartalmaznak.
  33. 35. A 19. igénypont szerinti berendezés, azzal jellemezve, hogy az interpolációs szűrő (110) együttható értékei a videó képsorban lévő minden egyes kép dekódolásakor módosítva vannak.
  34. 36. A 19. igénypont szerinti berendezés, azzal jellemezve, hogy a videó kép több blokkra van felosztva és a különbségi értékek kinyerése minden egyes blokkhoz
  35. 37, A 19. igénypont szerinti berendezés, azzal jellemezve, hogy az alapszörő (809) együttható értékei a videó képsor statisztikai adatai alapján vannak módosítva.
HU0500030A 2002-01-14 2003-01-14 Method of coding of digital video pictures HU228615B1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US34881102P 2002-01-14 2002-01-14
PCT/IB2003/000061 WO2003058945A2 (en) 2002-01-14 2003-01-14 Coding dynamic filters

Publications (2)

Publication Number Publication Date
HUP0500030A2 HUP0500030A2 (hu) 2005-07-28
HU228615B1 true HU228615B1 (en) 2013-04-29

Family

ID=23369646

Family Applications (1)

Application Number Title Priority Date Filing Date
HU0500030A HU228615B1 (en) 2002-01-14 2003-01-14 Method of coding of digital video pictures

Country Status (12)

Country Link
US (1) US7379501B2 (hu)
EP (1) EP1466477B1 (hu)
JP (1) JP4494789B2 (hu)
KR (1) KR100945546B1 (hu)
CN (1) CN100553321C (hu)
AU (1) AU2003201069C1 (hu)
BR (2) BR0304545A (hu)
HU (1) HU228615B1 (hu)
MX (1) MXPA04006814A (hu)
RU (1) RU2302707C2 (hu)
SG (1) SG149694A1 (hu)
WO (1) WO2003058945A2 (hu)

Families Citing this family (103)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100568739C (zh) * 2000-05-09 2009-12-09 索尼公司 数据处理装置和方法
JP4102973B2 (ja) * 2002-04-24 2008-06-18 日本電気株式会社 動画像の符号化方法および復号化方法、これを用いた装置とプログラム
JP2004061446A (ja) * 2002-07-31 2004-02-26 Fujitsu Ten Ltd パターンマッチング処理方法及び画像処理装置
US20040091047A1 (en) 2002-11-11 2004-05-13 Sony Corporation Method and apparatus for nonlinear multiple motion model and moving boundary extraction
JP4462823B2 (ja) * 2002-11-20 2010-05-12 ソニー株式会社 画像信号の処理装置および処理方法、それに使用される係数データの生成装置および生成方法、並びに各方法を実行するためのプログラム
US9330060B1 (en) 2003-04-15 2016-05-03 Nvidia Corporation Method and device for encoding and decoding video image data
US8660182B2 (en) * 2003-06-09 2014-02-25 Nvidia Corporation MPEG motion estimation based on dual start points
US7817869B2 (en) * 2004-05-07 2010-10-19 Sony Corporation Variable support robust transform for multiple description coding
US8503530B2 (en) * 2004-05-27 2013-08-06 Zhourong Miao Temporal classified filtering for video compression
JP2008503960A (ja) * 2004-06-23 2008-02-07 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ ピクセル補間
JP4736456B2 (ja) * 2005-02-15 2011-07-27 株式会社日立製作所 走査線補間装置、映像表示装置、映像信号処理装置
JP2008536414A (ja) * 2005-04-13 2008-09-04 ゴットフリート・ヴィルヘルム・ライプニッツ・ウニヴェルジテート・ハノーヴァー ビデオの拡張された符号化方法及び装置
US8208564B2 (en) * 2005-06-24 2012-06-26 Ntt Docomo, Inc. Method and apparatus for video encoding and decoding using adaptive interpolation
WO2007011851A2 (en) * 2005-07-15 2007-01-25 Texas Instruments Incorporated Filtered and warped motion compensation
FR2889778A1 (fr) * 2005-08-12 2007-02-16 Thomson Licensing Sas Procede de codage et de decodage d'images video avec echelonnabilite spatiale
KR100754841B1 (ko) * 2005-10-28 2007-09-04 경희대학교 산학협력단 비트율 왜곡 비용에 기초하여 선택된 보간 필터를 이용하여공간 계층간 예측을 수행하는 스케일러블 h.264부호화/복호화 방법
US8731071B1 (en) 2005-12-15 2014-05-20 Nvidia Corporation System for performing finite input response (FIR) filtering in motion estimation
EP2001239B1 (en) * 2006-03-27 2017-09-13 Sun Patent Trust Picture coding apparatus and picture decoding apparatus
EP1841230A1 (en) * 2006-03-27 2007-10-03 Matsushita Electric Industrial Co., Ltd. Adaptive wiener filter for video coding
US8724702B1 (en) * 2006-03-29 2014-05-13 Nvidia Corporation Methods and systems for motion estimation used in video coding
EP1840875A1 (en) * 2006-03-31 2007-10-03 Sony Deutschland Gmbh Signal coding and decoding with pre- and post-processing
US8208553B2 (en) * 2006-05-04 2012-06-26 Altera Corporation Methods and apparatus for quarter-pel refinement in a SIMD array processor
US8831111B2 (en) * 2006-05-19 2014-09-09 The Hong Kong University Of Science And Technology Decoding with embedded denoising
TWI367457B (en) 2006-07-03 2012-07-01 Nippon Telegraph & Telephone Image processing method and apparatus, image processing program, and storage medium for storing the program
US8660380B2 (en) 2006-08-25 2014-02-25 Nvidia Corporation Method and system for performing two-dimensional transform on data value array with reduced power consumption
US9307122B2 (en) * 2006-09-27 2016-04-05 Core Wireless Licensing S.A.R.L. Method, apparatus, and computer program product for providing motion estimation for video encoding
US9055303B2 (en) 2006-10-10 2015-06-09 Nippon Telegraph And Telephone Corporation Video encoding method and decoding method, apparatuses therefor, programs therefor, and storage media for recording the programs
EP2082585A2 (en) * 2006-10-18 2009-07-29 Thomson Licensing Method and apparatus for video coding using prediction data refinement
KR101354659B1 (ko) * 2006-11-08 2014-01-28 삼성전자주식회사 멀티 코덱을 지원하는 움직임 보상 방법 및 장치
MX2009005663A (es) 2006-11-30 2009-09-07 Ntt Docomo Inc Dispositivo de codificacion de imagen dinamico, metodo de codificacion de imagen dinamico, programa de codificacion de imagen dinamico, dispositivo de descodificacion de imagen dinamico, metodo de descodificacion de imagen dinamico y programa de desc
US8942505B2 (en) * 2007-01-09 2015-01-27 Telefonaktiebolaget L M Ericsson (Publ) Adaptive filter representation
US8509316B2 (en) 2007-01-09 2013-08-13 Core Wireless Licensing, S.a.r.l. Adaptive interpolation filters for video coding
KR101369746B1 (ko) 2007-01-22 2014-03-07 삼성전자주식회사 적응적 보간 필터를 이용한 영상 부호화, 복호화 방법 및장치
US8756482B2 (en) 2007-05-25 2014-06-17 Nvidia Corporation Efficient encoding/decoding of a sequence of data frames
US9118927B2 (en) 2007-06-13 2015-08-25 Nvidia Corporation Sub-pixel interpolation and its application in motion compensated encoding of a video signal
US8571104B2 (en) * 2007-06-15 2013-10-29 Qualcomm, Incorporated Adaptive coefficient scanning in video coding
US8428133B2 (en) 2007-06-15 2013-04-23 Qualcomm Incorporated Adaptive coding of video block prediction mode
US8873625B2 (en) 2007-07-18 2014-10-28 Nvidia Corporation Enhanced compression in representing non-frame-edge blocks of image frames
MX2010003531A (es) * 2007-10-05 2010-04-14 Nokia Corp Codificacion de video con filtros direccionales de interpolacion adaptable alineados a pixeles.
US8090031B2 (en) * 2007-10-05 2012-01-03 Hong Kong Applied Science and Technology Research Institute Company Limited Method for motion compensation
EP2048886A1 (en) * 2007-10-11 2009-04-15 Panasonic Corporation Coding of adaptive interpolation filter coefficients
US8638852B2 (en) 2008-01-08 2014-01-28 Qualcomm Incorporated Video coding of filter coefficients based on horizontal and vertical symmetry
WO2009088340A1 (en) 2008-01-08 2009-07-16 Telefonaktiebolaget Lm Ericsson (Publ) Adaptive filtering
KR20100090307A (ko) * 2008-03-07 2010-08-13 가부시끼가이샤 도시바 동화상 부호화 및 복호 장치
KR101591825B1 (ko) * 2008-03-27 2016-02-18 엘지전자 주식회사 비디오 신호의 인코딩 또는 디코딩 방법 및 장치
US8705622B2 (en) * 2008-04-10 2014-04-22 Qualcomm Incorporated Interpolation filter support for sub-pixel resolution in video coding
US8831086B2 (en) * 2008-04-10 2014-09-09 Qualcomm Incorporated Prediction techniques for interpolation in video coding
US8971412B2 (en) 2008-04-10 2015-03-03 Qualcomm Incorporated Advanced interpolation techniques for motion compensation in video coding
US9967590B2 (en) 2008-04-10 2018-05-08 Qualcomm Incorporated Rate-distortion defined interpolation for video coding based on fixed filter or adaptive filter
RU2477576C2 (ru) * 2008-04-10 2013-03-10 Квэлкомм Инкорпорейтед Поддержка интерполяционного фильтра для субпиксельного разрешения в видеокодировании
US8462842B2 (en) * 2008-04-10 2013-06-11 Qualcomm, Incorporated Symmetry for interpolation filtering of sub-pixel positions in video coding
US9077971B2 (en) * 2008-04-10 2015-07-07 Qualcomm Incorporated Interpolation-like filtering of integer-pixel positions in video coding
US8804831B2 (en) 2008-04-10 2014-08-12 Qualcomm Incorporated Offsets at sub-pixel resolution
US8055087B2 (en) * 2008-04-29 2011-11-08 Sony Corporation Sample level variation for spatial sub-sampled images
US8059908B2 (en) * 2008-04-29 2011-11-15 Sony Corporation Adaptive area of influence filter for irregular spatial sub-sampled images
US8059909B2 (en) * 2008-04-29 2011-11-15 Sony Corporation Adaptive generation of irregular spatial sub-sampling for images
US8811484B2 (en) 2008-07-07 2014-08-19 Qualcomm Incorporated Video encoding by filter selection
US10123050B2 (en) * 2008-07-11 2018-11-06 Qualcomm Incorporated Filtering video data using a plurality of filters
WO2010014087A1 (en) * 2008-07-30 2010-02-04 Micro Motion, Inc. Optimizing processor operation in a processing system including one or more digital filters
EP2154893A1 (en) * 2008-08-13 2010-02-17 Thomson Licensing Method for modifying a reference block of a reference image, method for encoding or decoding a block of an image by help of a reference block and device therefor and storage medium or signal carrying a block encoded by help of a modified reference block
US8548041B2 (en) 2008-09-25 2013-10-01 Mediatek Inc. Adaptive filter
US20110235711A1 (en) * 2008-10-03 2011-09-29 Sony Corporation Image processing device and method
US8666181B2 (en) 2008-12-10 2014-03-04 Nvidia Corporation Adaptive multiple engine image motion detection system and method
US9143803B2 (en) * 2009-01-15 2015-09-22 Qualcomm Incorporated Filter prediction based on activity metrics in video coding
US20110116546A1 (en) * 2009-07-06 2011-05-19 Xun Guo Single pass adaptive interpolation filter
KR101701342B1 (ko) 2009-08-14 2017-02-01 삼성전자주식회사 적응적인 루프 필터링을 이용한 비디오의 부호화 방법 및 장치, 비디오 복호화 방법 및 장치
JP2011050001A (ja) * 2009-08-28 2011-03-10 Sony Corp 画像処理装置および方法
CN101854549B (zh) * 2010-05-28 2012-05-02 浙江大学 基于空域预测的视频和图像编解码方法和装置
KR101710883B1 (ko) 2009-11-04 2017-02-28 삼성전자주식회사 필터 정보를 이용한 영상 압축 장치 및 방법과 영상 복원 장치 및 방법
EP2515541A4 (en) * 2009-12-18 2015-08-26 Sharp Kk BILDFILTER, CODING DEVICE, DECODING DEVICE AND DATA STRUCTURE
JP5439162B2 (ja) 2009-12-25 2014-03-12 株式会社Kddi研究所 動画像符号化装置および動画像復号装置
JP5759387B2 (ja) * 2010-01-08 2015-08-05 シャープ株式会社 符号化装置および復号装置
WO2011087932A1 (en) * 2010-01-14 2011-07-21 Dolby Laboratories Licensing Corporation Buffered adaptive filters
US9219921B2 (en) * 2010-04-12 2015-12-22 Qualcomm Incorporated Mixed tap filters
US9154807B2 (en) * 2010-06-25 2015-10-06 Qualcomm Incorporated Inclusion of switched interpolation filter coefficients in a compressed bit-stream
WO2012005558A2 (ko) * 2010-07-09 2012-01-12 삼성전자 주식회사 영상 보간 방법 및 장치
SG189184A1 (en) 2010-10-01 2013-05-31 Samsung Electronics Co Ltd Image intra prediction method and apparatus
US10045046B2 (en) * 2010-12-10 2018-08-07 Qualcomm Incorporated Adaptive support for interpolating values of sub-pixels for video coding
JP5571542B2 (ja) * 2010-12-22 2014-08-13 日本電信電話株式会社 映像符号化方法、及び映像復号方法
EP2661879B1 (en) 2011-01-03 2019-07-10 HFI Innovation Inc. Method of filter-unit based in-loop filtering
US8982960B2 (en) 2011-02-23 2015-03-17 Qualcomm Incorporated Multi-metric filtering
JP5670226B2 (ja) * 2011-03-04 2015-02-18 Kddi株式会社 動画像符号化装置、動画像符号化方法、およびプログラム
JP5552092B2 (ja) * 2011-06-13 2014-07-16 日本電信電話株式会社 動画像符号化装置、動画像符号化方法及び動画像符号化プログラム
JP5649523B2 (ja) * 2011-06-27 2015-01-07 日本電信電話株式会社 映像符号化方法,装置,映像復号方法,装置およびそれらのプログラム
JP5907367B2 (ja) * 2011-06-28 2016-04-26 ソニー株式会社 画像処理装置および方法、プログラム、並びに記録媒体
AP3992A (en) 2011-07-15 2017-01-08 Ge Video Compression Llc Sample array coding for low-delay
TWI595776B (zh) * 2012-06-27 2017-08-11 Sony Corp Image processing device and method
JP5972687B2 (ja) * 2012-07-02 2016-08-17 株式会社Nttドコモ 動画像予測符号化装置、動画像予測符号化方法、動画像予測符号化プログラム、動画像予測復号装置、動画像予測復号方法及び動画像予測復号プログラム
JP5798539B2 (ja) * 2012-09-24 2015-10-21 株式会社Nttドコモ 動画像予測符号化装置、動画像予測符号化方法、動画像予測復号装置及び動画像予測復号方法
WO2014052740A1 (en) * 2012-09-28 2014-04-03 Vid Scale, Inc. Adaptive upsampling for multi-layer video coding
JP2014082541A (ja) * 2012-10-12 2014-05-08 National Institute Of Information & Communication Technology 互いに類似した情報を含む複数画像のデータサイズを低減する方法、プログラムおよび装置
CN103905825B (zh) * 2012-12-27 2018-02-13 中国电信股份有限公司 视频图像的运动补偿方法和装置
US10356426B2 (en) * 2013-06-27 2019-07-16 Google Llc Advanced motion estimation
US10432974B2 (en) 2014-02-13 2019-10-01 Intel Corporation Methods and apparatus to perform fractional-pixel interpolation filtering for media coding
US10306229B2 (en) 2015-01-26 2019-05-28 Qualcomm Incorporated Enhanced multiple transforms for prediction residual
CN106331722B (zh) * 2015-07-03 2019-04-26 华为技术有限公司 图像预测方法和相关设备
EP3125429A1 (en) 2015-07-28 2017-02-01 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Partitioned block frequency domain adaptive filter device comprising adaptation modules and correction modules
CN105739935B (zh) * 2016-01-22 2019-06-04 厦门美图移动科技有限公司 一种多终端联合显示方法、装置及系统
US10623774B2 (en) 2016-03-22 2020-04-14 Qualcomm Incorporated Constrained block-level optimization and signaling for video coding tools
US11323748B2 (en) 2018-12-19 2022-05-03 Qualcomm Incorporated Tree-based transform unit (TU) partition for video coding
US11750784B2 (en) * 2019-05-31 2023-09-05 Medicapture, Inc. Automatic video file repair method and system
US11356707B2 (en) * 2019-09-23 2022-06-07 Qualcomm Incorporated Signaling filters for video processing
CN112004081A (zh) * 2020-06-15 2020-11-27 广东科学技术职业学院 一种视频编码方法

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0294955B1 (en) * 1987-06-09 1995-04-12 Sony Corporation Motion vector estimation in television images
US5784107A (en) * 1991-06-17 1998-07-21 Matsushita Electric Industrial Co., Ltd. Method and apparatus for picture coding and method and apparatus for picture decoding
JP2991833B2 (ja) 1991-10-11 1999-12-20 松下電器産業株式会社 インターレス走査ディジタルビデオ信号の符号化装置及びその方法
GB2301971B (en) * 1995-06-06 1999-10-06 Sony Uk Ltd Video compression
US6122017A (en) 1998-01-22 2000-09-19 Hewlett-Packard Company Method for providing motion-compensated multi-field enhancement of still images from video
US6937772B2 (en) * 2000-12-20 2005-08-30 Eastman Kodak Company Multiresolution based method for removing noise from digital images
DE10120395A1 (de) * 2001-04-25 2002-10-31 Bosch Gmbh Robert Einrichtung zur Interpolation von Abtastwerten sowie Bildencoder und Bilddecoder

Also Published As

Publication number Publication date
WO2003058945A3 (en) 2003-12-31
EP1466477B1 (en) 2013-02-27
EP1466477A2 (en) 2004-10-13
JP2005514872A (ja) 2005-05-19
AU2003201069A1 (en) 2003-07-24
EP1466477A4 (en) 2006-10-25
RU2302707C2 (ru) 2007-07-10
US20030169931A1 (en) 2003-09-11
JP4494789B2 (ja) 2010-06-30
KR20040075348A (ko) 2004-08-27
CN100553321C (zh) 2009-10-21
KR100945546B1 (ko) 2010-03-08
MXPA04006814A (es) 2004-12-06
WO2003058945A2 (en) 2003-07-17
SG149694A1 (en) 2009-02-27
RU2004124831A (ru) 2006-01-27
HUP0500030A2 (hu) 2005-07-28
CN1615645A (zh) 2005-05-11
US7379501B2 (en) 2008-05-27
BR0304545A (pt) 2004-11-03
BRPI0304545B1 (pt) 2018-07-03
AU2003201069C1 (en) 2008-11-06
AU2003201069B2 (en) 2008-02-28

Similar Documents

Publication Publication Date Title
HU228615B1 (en) Method of coding of digital video pictures
RU2477575C2 (ru) Способ интерполяции значений под-пикселов
US7263125B2 (en) Method and device for indicating quantizer parameters in a video coding system
Akramullah Digital video concepts, methods, and metrics: quality, compression, performance, and power trade-off analysis
JP2001525150A (ja) ユニバーサル・シリアルバス接続用の二重圧縮ビデオ・ビットストリーム・カメラ
KR20060105408A (ko) 영상 신호의 스케일러블 인코딩 및 디코딩 방법
MXPA04008889A (es) Metodo para la codificacion de movimiento en una secuencia de video.
KR20060085150A (ko) 베이스 레이어의 내부모드 블록의 예측정보를 이용하여영상신호를 엔코딩/디코딩하는 방법 및 장치
KR0178221B1 (ko) 픽셀의 평균값을 이용한 개선된 패턴 벡터 부호화 시스템
US20060120457A1 (en) Method and apparatus for encoding and decoding video signal for preventing decoding error propagation
GB2379820A (en) Interpolating values for sub-pixels
AU2007237319B2 (en) Method for sub-pixel value interpolation
KR20040046318A (ko) 화상통신 시스템에서 영상신호 처리방법

Legal Events

Date Code Title Description
GB9A Succession in title

Owner name: NOKIA TECHNOLOGIES OY, FI

Free format text: FORMER OWNER(S): NOKIA CORPORATION, FI