HU228534B1 - Method and apparatus for encoding pixel colour values of digital video images - Google Patents
Method and apparatus for encoding pixel colour values of digital video images Download PDFInfo
- Publication number
- HU228534B1 HU228534B1 HU9602710A HUP9602710A HU228534B1 HU 228534 B1 HU228534 B1 HU 228534B1 HU 9602710 A HU9602710 A HU 9602710A HU P9602710 A HUP9602710 A HU P9602710A HU 228534 B1 HU228534 B1 HU 228534B1
- Authority
- HU
- Hungary
- Prior art keywords
- color
- code
- run
- value
- codeword
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims description 19
- 239000003086 colorant Substances 0.000 claims description 20
- 230000008901 benefit Effects 0.000 description 4
- 238000007906 compression Methods 0.000 description 2
- 230000006835 compression Effects 0.000 description 2
- 230000002452 interceptive effect Effects 0.000 description 2
- OKTJSMMVPCPJKN-UHFFFAOYSA-N Carbon Chemical compound [C] OKTJSMMVPCPJKN-UHFFFAOYSA-N 0.000 description 1
- RSPISYXLHRIGJD-UHFFFAOYSA-N OOOO Chemical compound OOOO RSPISYXLHRIGJD-UHFFFAOYSA-N 0.000 description 1
- 241001122767 Theaceae Species 0.000 description 1
- 235000013405 beer Nutrition 0.000 description 1
- 210000004556 brain Anatomy 0.000 description 1
- 229910052799 carbon Inorganic materials 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 238000013144 data compression Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N11/00—Colour television systems
- H04N11/04—Colour television systems using pulse code modulation
- H04N11/042—Codec means
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T9/00—Image coding
- G06T9/005—Statistical coding, e.g. Huffman, run length coding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N1/00—Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
- H04N1/46—Colour picture communication systems
- H04N1/64—Systems for the transmission or the storage of the colour picture signal; Details therefor, e.g. coding or decoding means therefor
- H04N1/644—Systems for the transmission or the storage of the colour picture signal; Details therefor, e.g. coding or decoding means therefor using a reduced set of representative colours, e.g. each representing a particular range in a colour space
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Color Television Systems (AREA)
- Image Processing (AREA)
- Compression Of Band Width Or Redundancy In Fax (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Processing Of Color Television Signals (AREA)
Description
Eljárás és berendezés digitális videó képek, pixel szín értékeinek kódolására
A találmány tárgya videó képek kódolására és dekódolására vonatkozik, elsősorban képéiemek, a szakterületen pixel néven emlegetett elemi képpontok színét meghatározó értékek kódolására és dekódolására.
A szakterületen ismert a futam kódolásnak, vagy futamhossz kódolásnak nevezett módszer, mint az egyik Interaktív Kompakt Lemezes (CD-i) szabvány kódolás. Ez megengedi egy sorozat egymással szomszédos pixel tömör kódolását, ahol egy ízben adják meg a szín információ ah-szolűt kódját, és annak ismétlése helyett a rákövetkező azonos színű pixelek számát (η) , További részleteket találunk például W..M, Kewman és R.E.
Sproul következő könyvében; Rrincipies of Interactive Computer Graphics” (International Student Edition, 1973, McGrawHíil), kiemelve a 287-289 oldalakat, mely helyen, tárgyait legfőbb szempontokat a technika állását bemutató 1-3. ábráink kapcsán a következőkben mi is összefoglaljuk..
Amíg a futam kódolás hatékony eljárás sz olyan adatok tömörítésre ahol hosszú futamok fordulnak elő, kevésbé jó rövidebb futamok, sörön változó tartalmú képek esetében.· Ráadásul itt a futam kódolás sok számítási (számlálási) munkával jár. Találmányunkkal ezért szerettünk volna jelentős adattömörítésre alkalmas, ugyanakkor nem tűi számításigényes eljárást kidolgozni .
Találmányunk célkitűzéséhez olyan digitális videó képek pixel szia értékeinek kódolására szolgáló eljárással jutottunk el, amelyben a képben előforduló minden különböző színhez egy szín értéket rendelünk. A megoldás szerint egy adott képhez egy alapszint rendelünk hozzá, és a legalább két egymás utáni alapszínű pixelből álló futamokhoz agy a futamot jelentő első kódszőt, és egy a futamhosszat jelentő második kódszót rendelünk. A nem-alapszínű pixelekhez olyan kódot rendelünk, amely legalább az adott nem-alapszínű szín értékéből áll.
A kódoló berendezésben van egy a legalább két egymás utáni alapszínű pixelből álló futamokat felismerő egység, és az ilyen futamokat egy a futamot jelentő első kódszóval, és egy a futamhosszat jelentő második, .kódszóvai kódoló egység van, amely egyben a nem-alapszínű pixelekhez olyan kódot hozzárendelő egység, amely kód legalább az adott szín értékéből áll.
Van továbbá egy berendezésünk olyan videó jel megjelenítésére., amely videó jel képek, pixeleinek kódolt szín értékeiből áll, benne a legalább két egymás utáni, valamely előre megadott alapszínnel rendelkező pixelből álló futamok egy a futamot jelentő első kódszóval, és egy a .futamhosszat jelentő második kódszóval vannak kódolva, és a nem-alapszínű pixelek olyan kóddal vannak kódolva, amely legalább az adott szín értékét tartalmazza. A berendezés legalább egy táblázatos pixelenként! szín hozzárendelő· egységgel van ellátva. Ez a táblázat tartalmaz egy kijelölt alapszínt, és a berendezésnek olyan pixel megjelenítő egysége van, amely a legalább két egymás utáni alapszínű pixelből álló futamok, és a nem-alapszínű önmagukban álló pixelek, megjelenítésére egyaránt alkalmas.
Egy előnyös kivitel esetén a nem-alapszínű pixeleket önmagukban álló pixelekként kódoljuk as adott szín értékével. A két vagy több egymás utáni azonos, de nem-alapszínű pixelt tartalmazó· futamokhoz egy a futamot jelentő első kódszőt, egy a futamhosszat jelentő második kódszőt, és egy az adott szín értéket tartalmazó harmadik, kódszót rendelünk.
Az első ködszóban agy futamhossz tartományt azonosító alkődot helyezhetünk el, és a második kódszóval a tartományon belüli futamhosszat azonosíthatjuk.
•ί
Az alapszín képen belüli változásához (pl. splít-screen” megjelenítés esetében) egy további kódot alkalmazunk, amely egy szín értéket tartalmaz, és .amelynek alkalmazását, követően attól a helytől az adatfolyamban az alapszín ezen további kódban szereplő szín értékre változik, A leírásban, a továbbiakban ez mint az alapszín megváltoztatását jelölő kőd ('-ALAPSZÍN VÁLTÁS) kapósán fog szerepelni. Ezen további kodban alkalmazhatunk egy a futamot jelentő első kódszót egy az alapszín változását jelentő alkoddal, továbbá szintén alkalmazhatunk egy az új alapszín szín értékét tartalmazó második kódszót.
A futam kódolásnak köszönhető esetleges kis hatásfok elkerülése végett az alapszín nagyon rövid, egy vagy két pixeles futamait az alapszín egy vagy két pixelen történő közvetlen szín érték megadásával kódoljuk.
Az egymást követő egyes képek esetén más és más: lehet a jellemző alapszín. Ezért hasznos lehet ha az alapszint meghatározó további kódot a képkezdetet jelölő kódsorozatban helyezzük el.
Változhat azonban egyetlen képen beiül is, például részterületenként ís a jellemző alapszín. Ilyenkor célszerűen egy képen belül nem egy, hanem egy sorozat gyakori színt határozunk meg alapszínekként. Ezen alapszínekhez valamely első hosszúságú szín kódot rendelünk, az egyéb színekhez valamely második hosszúságú szín kódot rendelünk, úgy, az első hosszúság rövidébb legyen mint a második hosszúság. Az alapszínek legalább két pixeles futamait az alapszín futamot jelentő első kődszőval, és külön a 1. kódokban a futamhosszat és a szín kódot
megadó | második kődszőval | kódoljuk. | ||
A | találmány előnyös | kiviteli alakjait a | : továbbiakban | pél |
da Kent | v á1a s z tott megο1dá | sokkal és ábrákkal | illusztráljuk. | .Az |
ábrákon | a kővetkezők lath | sédek. | ||
ábra: Egy ismert | szín kód egyetlen | önmagában álló | ||
pixelre, | ||||
.··> | ábra: Egy ismert | szín kód egy L fut | .amhosszúságra. |
3. ábra: Egy pixel sorozat szín értékeinek az 1. és 2.
ábrák szerinti kódjai.
4. ábra: A kódolt értékeket összefoglaló táblázat találmányunk. egy első kivitelének megfelelően.
5. ábra: A 4, ábra szerinti kódolás egy alternatívája, találmányunk egy további alternatív kivitelének megfelelően.
6. és 7, ábrák: Alapszín, és nem-alapszín pixelek kódolt értékeit összefoglaló táblázatok.
8. ábra: Egy dekóder-ben alkalmazott pixel kód detektor fokozat blokkvázlata.
9-13. ábrák: A 3. ábra szerinti elrendezés működését illusztráló folyamatábrák.
A? 1-3. ábrák segítségével érdemes áttekintenünk a hagyományos módszerrel történő kódolást. Ha minden egyes pixel szín értéke 7 bitet foglal el (I. ábra) , akkor a CD-i s-zabvány szerinti futam kódolás {2.. ábra) 2 foyte-ot igényel. Az egyik byte tartalmazza 7 biten a C szín értéket, mig az L futamhosszúság a második byte-on van kódolva. Kettőnél nagyobb futamhossznál a futam kódolás a tömörebb.
Mindamellett különböző értékek esetén a futam kódolás gazdaságtalanabb. A CD-I .szabvány szerinti futam kódolás hatékonyságához legalább két egymást követő azonos érték szükséges. A szín érték kódon megtakarított bitet (ez az MSB) igy arra használják, hogy 0 értéke esetén önálló szín kódot (1, ábra)z míg 1 értéke esetén olyan szín kódot kell érteni, amelyet a következő byte mint futam kőd követ (2. ábra). Ezek az egy és kát byte hosszúságú kódok keveredhetnek, mint az a 3. ábrán látszik.
Első kiviteli alakunknál arra az esetre vonatkozó kódolást látunk, amikor egy kép alapvetően egyetlen alapszint tartalmaz, például a háttér színét, és ezen kívül egyéb szín tekintetében ritkán fordul elő hosszabb futam. Kézenfekvő ekkor az alapszín pixelek futam kódolása és az egyéb szín futamok egyedi kódolása. Ekkor szükségtelen az adatfolyamban megjelölni., hogy mely kódok reprezentálnak futam kódot, és melyek nem: az első bit beállítására {lásd .az 1. és a 2. ábrákat) nincs szükség. Továbbá a futam kódolásánál csak annak hosszát keli megadni, mivel egyetlen alapszínt jelöltünk ki.
Mint a továbbiakban leírásra kerül., eljárásunkban a hatékonyság fokozására változó hosszúságú kódolást is alkalmazunk, változó hosszúságú kódszavakkal. Előnyös kiviteli alakunknál minden változó hosszúságú kőd négybites szavak is továbbiakban a szakirodalomban elterjedt névvel níbble”) egész számú többszöröséből áll.
Minden pixel színe tehát négy biten van kódolva. Ez tizenhat lehetséges színt jelent, például táblázatos hozzárendelés (look up tabló) révén. Esetünkben azonban a kódolási eljárás javítása céljából egy kombinációt kizárunk, így marad tizenöt .
A színt azonosító níbble értékeket (GOöI-llll) nem tömörít jak, csak egyszerűen beillesztjük a bitfolyamba, Az alapszín futamhossz kódolása a 4. ábra táblázatából látható; az első oszlopban feltüntetett megnevezéseket (pl. SBöRT, MÉDIUM, stb.) pusztán önkényesen választottuk, nem. rendelkeznek szigorúan vett jelentéssel. A futamhossz kódolás előnye a leghosxszab'fo kódnál látszik, ahol 333 alapszínű pixel kódolásához csupán 4 nibbla szükséges, ellentétben a pixelenként! 1 nífofole s zü ks églettel.
Ά három pixel vagy annál hosszabb futamok kódolására a 0 (0300 níbble) van fenntartva. Ez jelöli a 0 kódú alapszín futamának kezdetét, ha az ezt követő négybites kód - níbble 0011 és 1111 közé esik, akkor a futamhossz 3 és lö pixel közé esik (SHORT), amelyet maga a kód ad meg. Ha a második négyeitea kód szintén 3003, akkor a futsmhossz 1? és 31 pixel közé esik (MÉDIUM), amelyet úgy számítunk ki, hogy a négybites kőd értékéhez 16-ot hozzáadunk.
s's' φ.
I $
Ha a sorozat második négybites kódja 0001, ás a harmadik négybitas kód a GOöO-1111 tartományban van, akkor a futamhossz 32 és 4? pixel közé esik (LON.G) .
Végűi, ha a sorozat második négybites kódja 0010, akkor a következő két nibble együttesen határozza meg a 43 és 303 pixel közé eső futamhossz értéket íLONGER),
Azon célból, hogy lehetőség legyen egyetlen önmagában álló alapszínű pixel futamhossz nélküli megadására, fenntartjuk a 0001 kódot. Ez az oka, mint korábban említettük, hogy csak 15 szín megkülönböztetését tesszük lehetővé. Ha a 0001 nem közvetlenül 0000 után jön (mint. ahogy egymás után állnak 17, 32, vagy 49 pixeles .futamhossz esetén), akkor a 0001 egyetlen önmagában álló alapszínű pixelt jelent. A 4. ábrából kitűnik, hogy sosem áll kettőnél több 0000 kód egymás után: ez lehetővé teszi az MPEG szabvány követelményeinek kielégítését, ahoiis ilyen kódsorozat jelzi az újraszinkronizálást.
Mivel az eddig vázolt kódolási rendszer csak 3-303 pixel hosszúságú futamot definiál, így két egymás utáni alapszínű pixelt két egymás utáni 0001 kódsző jelent (SINGLEt). A 16-os futamhossz egy 15-ös futam és egy 0001 kódszó egymásután javai kerül leírásra. Ezen rendszer használata a terjedelem növekedését kizárja - más szóval egy H pixelből álló kép maximum N kódszóval kerül leírásra, de rendszerint lényegesen kevesebbel .
Olyan környezetben, ahol nem szükséges négybites szavak egész számú többszöröseire korlátozódni, még hatékonyabb tömörítésre vezet a Huffman-kődolás alkalmazása (amikoris a legrövidebb kódot rendeljük a leggyakrabban előforduló kódolandó értékhez) . Használhatunk 8 bites kódokat ahol. nagy színfelbontás szüksége, illetve 2 biteseket, ha csak néhány színünk van.
Egy kiviteli változat szerint az 5, ábra táblázatának megfelelően megengedjük a ÖOOÖ kóddal azonosított alapszín dinamikus változtatását. Ez hasznos lehet, ha egy képen belül változik az alapszín, avagy jelentős területen található az alapszínként választotton kívül is egyéb homogén színezetű rész. Ilyen esetben az alapszín dinamikus változtatásával járó többletet bőségesen ellensúlyozza a futam kódolásból eredd tömörítési lehetőség.
A 4. és 5. ábrák összevetése tévén látjuk, .hogy a két eljárás- .igen hasonló, mindössze abban különbözik, hogy a korábban látott 4 pixeles és annál hosszabb futamokra vonatkozó kódok most l-el rövídebb futamhosszat jelentenek, míg a 3 pixeles futamra vonatkozó korábbi kőd (0000 0011) az alapszín megváltoztatását jelölő kőd (ALAPSZÍN VÁLTÁS), amely azt adja tudtul, hogy a rákövetkező nifoble (cccc) 1-15 közötti értéke az új alapszín kódja. A 0000 érték az általános alapszín megjelölésre van fenntartva. Az új alapszín addig érvényes, mígnem egy O-Oöö öúll 0ÖQ1 köd (alapszín váltás t eredeti alapszín) , vagy egy harmadik alapszínre történő átállítás nem történik. Megjegyzendő, hogy megváltoztatott alapszínnél a 15 pixeles futam (SliORT-t) kódjában a harmadik nifoble az éppen érvényben levő .alapszín.
Egy kiviteli változat szerint megengedjük az általános alapszín megváltoztatását. Ennek ára 12 további bit. Sgy átmeneti váltás egy nem-alapszín futam kódolásához 24 bitbe kerül (12 az átváltásra, 12 az eredeti alapszínre való visszatérésre) , amely 9 vagy ennél több pixelre nézve jelent nyereséget.
Egy további kiviteli változat szerint bármely szín sorozat futam koddal kerül kódolásra, de az alapszín azonosításával a gyakori előfordulás révén mégis megtakarítást érünk el az adatmennyiségben. Az alapszín és nem-alapszín futamok kódolási rendszerére a 6< és 7. ábrák táblázatai vonatkoznak. Itt 0-15 színkódokat alkalmazunk (a 7. ábrán mint cccc kódszavak), csak a 0 értéket tartjuk fenn az alapszín számára. Mível a 0-t használjuk a futam, kezdetének azonosítására is (bármely színre) , az egyedüli alapszínű pixel kódja -(0000 1111) szükséges többletet jelent. Ha egy második szint rendelünk az alapszínhez, az egyedüli alapszínű pixel egyetlen nifoble által megad{. * ható, a 4. és 5. ábráknak megfelelően, az elérhető színek számának -csökkentése árán. Mint a €. ábrán, látható, a rendszer előnye 3---S alapszínű pixel futamoknál mutatkozik, amelyek mindegyike két nibble kódolású, lö vagy ennél hosszabb alapszínű pixel futamoknál ugyanezen futamhossz kódolási rendszer mint nem-alapszin kódolás (7. ábra) működik, azaz futam kőd í-OQQÖ), tartomány kőd (1100 - MÉDIUM; llöl - LOMG), futamhossz kőd (4 bit - MÉDIUM; 8 bit - LONGj , és szín kőd követi egymást .
Amint az a 7, ábrán látható, az. 1-3 hosszúságú nemaiapszin futamok egyszerűen mint külön előforduló szín kódok jelentkeznek. 4-7 pixel futamként van kódolva (Ό000), futamhosszal {4-7 megfelelője binárisan 1000-1011), és szán kóddal (cccc) . .Hasonlóan a 4, és 5. ábráknak megfelelően a SHORT+ kódnál 8 pixel hosszúságú nem-alapszín futam 7-es futamként van kódolva, amelyet egy egyedi pixel követ.
Mivel a kódolt pixel értékek rendszerint blokkokban kerülnek tárolásra és átvitelre, a blokkvég jelzésére további kódot alkalmazunk (ÖÖOö ÖÖÖQ). Az egyes kódok kezdetét rendszer szinten kezelt nyilvántartássál oldjuk meg, Így nem lehet a fenti szekvenciát egyéb előfordulással összetéveszteni, amilyen például a 25 alapszínű pixel futam kódján belül van.
Egy további kiviteli változatban az alapszín választásból származó előny kiterjed egy sorozat gyakori szénre. így az 5. ábrán szereplő AbAPSEÍM VÁLTÁS elkerülhető. A gyakori szín sorozat különösen előnyös, ha hosszú kódokat alkalmasunk, pl. 8 bitnél, 256 szín esetén. Itt a 16 leggyakoribb színt 4 bites szavakkal kódoljuk (8 bites helyett), így 3-9' bites futamok kétszer 8 biten azonosíthatók, mint például a következőnél látjuk;
OÖÖ üüú OLLL ooco ahol az első két nibble egy alapszín (gyakori szín; futamát jelzi, a harmadik nibble a futamhossz ;0ööí-től 0111-ig), a negyedik nibble a 4 bites szín kőd. A harmadik nibble első í : ί bitje Ο, ez teszi lehetővé a teljes szín paletta kódolhatóságát (mikoris ez a bit 1).
Bár nagyobb bitszámnál az említett rendszer előnye jelentősebb, az ilyen aisorozat képzés 4 bitre is jő, a korlátozott futamhosszak ellenére is.
Vizsgáljuk meg most a fenti rendszerhez szükséges berendezést. A kódolásra célszerűen alkalmas programmal ellátott mikroprocesszort használhatunk, amely elvégzi az alapszín meg™ választását, a pixelek és kódok megfeleltetését, az alapszín futamainak és magányos plxeljeinek felismerését. Célhardver is jő lehet erre a célra, habár a programmal ellátott mikroprocesszort flexibilitása előnyösebbé teszi.
A 4. ábra szerinti rendszert megvalósító dekőderben levő kőd detektort mutat a 8. ábra. A 20 kontroliét vezérli a kimenőben megjelenő: (a pixeleknek megfelelő) nibbie értékeket, és az órajelet. A 20 kontroliét a 22 vonalon kéri a bemenő nibbie értéket a .24 vonal trigger jelével. Ez a bemenő nibbie a 26 multiplexer első bemenetére, és a 28, 30, 32 komparátorokra jut, amelyek kimenetel a 20 kontrolierre vannak kötve. Ezek komparálják a bemenő nibbie értéket a 0000, 0001, és Qölö kódokkal. Ha a 28 komparátor kimenete pozitív, (0000 kőd), futam kezdődik, amikor a 20 kontroller a 34 vonalon a 26 multiplexert utasítja, hogy a bemenő szín dekódolása helyett válassza a 36 regiszterben található alapszín kódot,
A futam felismerése után a következő nibbie esetén ha a 28, 30, 32 komparátorok bármelyikének kimenete pozitív, akkor -a 4. ábra szerinti jelölésekkel - MÉDIUM, LORG, vagy LONGER futamról van szó. Ha a 28, 30, 32 komparátorok egyikének kimenete sem. pozitív, akkor SHGRT futamról van sző, 3-15 futamhosszal. Ekkor a nibbie értékét a 8 bites 38 számlálóba töltjük, a 40 vonal órajelének, segítségévei. Mig a 38 számláló lefelé számlái, a 42 vonal kimenő órajele a 44 kimenetre a 36 regiszterben található alapszint adja, mígnem a 46 vonalon a 38 számláló nuiláződása nem jut a 20 kontroliét tudomására.
Ha futam felismerése után a következő nibble esetén a 28, 38, 32 komparátorok bármelyikének, kímenete pozitív, akkor a nibble értékét a 38 számláiéba törtjük, mint a kisebb helyiértékűt (a 28, 30 korsparátorok egyikének jelzése esetén), illetve a következő két nibble értékét töltjük a 38 számlálóba, mint a kisebb majd a nagyobb helyiérté köt, a 32 kompará torok jelzése esetén. A nagyobb helyiértéknek megfelelő órajel a 48 vonalon éri el a 38 számlálót.
A 8. ábra 20 kontrollerénsk működése határozza meg, hogy a kőd futamot határoz-e meg, és milyen hosszúságút, a 9-13. ábrák folyamatábrája szerint. Az induló .¾ pont utáni 71 lépésben egy űj nibble kerül bevitelre. A 72 lépésben megvizsgáljuk, 0000-t töltöttünk-e be. Ha nem, a kód egy pixel szín kódja (nem alapszín). A 73 lépésben a 26 multiplexert úgy állítjuk be, hogy ez a szín kőd jusson tovább. A 74 lépésben a kimeneti órajelet a számlálási órajelnek megfelelően sz.in.kr(mostuk, majd visszatérünk az A pontba.
Ha a 72 lépésben öQöö-t detektálunk, egy futam 10. ábra szerinti kezelése történik. A 81 lépésben egy új nibble kerül bevitelre. A 82 lépésben a 26 multiplexert úgy állítjuk be, hogy ez a GÖOÖ (alap)szín kőd jusson tovább a 36 regiszterből. A 83, 84, és 85 lépésekben vizsgáljuk, hogy MÉDIUM, LONG, vagy LCNGER futamról van-e sző. Ha egyik sem, akkor a futamhossz 3lő közé esik, és a nibble-t a 86 lépésben a 38 számlálóba töltjük, a kisebb helyíértékre. Egy ciklusban a 87 lépéssel kimenő órajelet adunk, a 88 lépésben dekrementáijuk a 38 számlálót, és a 89 lépésben megvizsgáljuk, elérte-e a 38 számláló a nullát. Ezután visszatérünk az A pontba.
Ha a 83, 81, és 85 lépések bármelyikében ”Y” (igen) á válasz, akkor a futamhossz 17-303 közé esik. A 83 lépés esetén (a második nibble 0000} a futamhossz 17-31 közé esik, és a 11. ábra szerint járunk sí. A 91 lépésben 16 Időrésben adjuk ki a 0000 szín kódot a 36 regiszterből, majd a 92 lépésben behívjuk a következő nibble értéket, és ezt betöltjük a 93 lépésben a ftft ft’ s s **ft ftft.
* V χ X ft « * ft * fr ft s* ft ft. ftftft ft ft ft K ft * y« XX számlálóba.. Egy ciklusban a. 34 lépésben megvizsgáljuk, clérte-e a 38 számláló a nullát, a 95 lépéssel kimenő órajelet adunk, a 96 lépésben dekrementáljuk a 38 számlálót.
Ha a 84 lépésben a második nibble értékét OOOI-nek találjuk, a futamhossz 32-47 közé esik, és a 12. ábra szerint járunk el. A 12. ábra szerinti LONG futam kezelése lényegében megegyezik a 11. ábra szerinti MÉDIUM futam kezelésével# az egyes 10~zel nagyobb számozású lépések azonosak., csak a 101 lépésben 32 időrésben adjuk ki a QOOű szín kódot.
Ha a 85 lépésben ”Y” {igen) a válasz, vagyis L-ONGER futamról van szó·# melynek hossza 48-303, akkor a 13. ábra szerint járunk el. Itt a 111 lépésben 48-szor adjuk ki a Qööö szín kódot a 36 regiszterből, majd a 112 lépésben behívjuk a következő nibble értéket, és ezt betöltjök a 113 lépésben a 38 számláló nagyobb helyiértékére, majd a 114 lépésben behívjuk a következő nibble értéket, és ezt betöltjük a 115 lépésben a 38 számláló kisebb heiyiértékére< A 116-118 lépések szerinti -ciklus azonos a 104-10-6 lépések, szerintivel.
A 8. ábrából ugyan nem tűnik ki, de a ha az alapszín változtatását megengedjük (az 5. ábra szerint), akkor a 20 kontrol le rr el a 36 regiszter tartalmát megváltoztathatjuk, az OOOO-tól különböző is lehet. Továbbá amikor a 91, 101, és 111 lépésekben több időrésben adjuk ki a 36 regiszter tartalmazta szín kódot, akkor ezt nem 16, 32, ül. 48 kimeneti időrésben tesszük# hanem 15, 31, i.ll« 47 időrésben.
A. 6. és 7. ábrák szerinti kivitelek megvalósítása érdekében a 8. ábra szerinti hardveren eszközölendő változtatás az eddig leírtakhoz képest a szakember -számára kézenfekvő. Értelemszerűen a 28# 30, 32 kompará torokat a megváltoztatott kódok felismerésére keli beállítani, a 36 regiszterbe a .20 kentrollerrel vezérelten nem-alapszíneket is lehet ekkor tölteni. Hasonló megfontolásokat tehetünk a gyakori szin sorozatok bevezetésekor is.
Claims (12)
- Szabadalmi igénypontok1. Eljárás digitális videó képek pixel szín. értékeinek kódolására, amelyben a képben előforduló minden különböző színhez egy szín értéket rendelünk, azzal jellemezve.# hogy egy adott képhez egy alapszínt rendelünk hozzá# és a legalább két egymás utáni alapszínű pixelből álló futamokhoz egy a futamot jelentő első kódszót# és egy a futamhosszat jelentő második kődszót rendelünk# és a nam-alapszinű pixelekhez olyan kódot rendelünk, amely legalább az adott szín értékéből áll.
- 2. Az 1. igénypont szerinti eljárás, azzal jellemezve# hogy a nem-alapszínü pixeleket önmagukban álló pixelekként kódoljuk az adott szín értékével.
- 3. Az 1. igénypont szerinti eljárás·# azzal jellemezve# hogy a két vagy több egymás utáni azonos de nem-alapszínű pixelt tartalmazó· futamokhoz egy a futamot jelentő első kódszót, egy & futamhosszat jelentő második kódszót, és egy az adott szín értéket tartalmazó harmadik kódszót rendelünk,
- 4. Az 1. igénypont szerinti eljárás, azzal jellemezve# hogy az első kódszóban egy futamhossz tartományt azonosító al kódot, .helyezünk al, és a második kődszóvai a tartományon belüli futamhosszat azonosítjuk.
- 5. Az 1-4. igénypontok bármelyike szerinti eljárás, azzal jellemezve, hogy egy szia értéket tartalmazó további kódot is alkalmazunk# amelynek alkalmazását követően az alapszín ezen további kódban szereplő szín értékre változik.
- 6. Az 5. igénypont szerinti eljárás# azzal jellemezve, hogy a további kodban egy a futamot jelentő első kóds-zőt alkalmazunk egy az alapszín változását jelentő a1kóddal, és egyX Φ13 φφ.az. új -alapszín szír masunk.értékét tartalmasé második kődszó ka í
- 7, Az 1. igénypont .szerinti eljárás, azzal jellemezve, hogy az alapszín egy vagy két pixeles futamait az alapszín egy vagy két pixelen történő szín érték megadásával kódoljuk.
- 8. Az 5, igénypont szerínti eljárás, azzal jellemezve, hogy az alapszint meghatározó további kódot a képkezdetet jelölő kódsorozatban helyezzük el.
- 9. Az 1. igénypont szerinti eljárás, azzal jellemezve, hogy egy képen belül egy sorozat gyakori színt határozunk meg alapszínekként, az alapszínekhez valamely első hosszúságú szín kódot rendelünk, az egyéb színekhez valamely második hosszúságú szín kódot rendelünk, úgy, az első hosszúság rövidebb legyen mint .a második hosszúság; és az alapszínek legalább két pixeles- futamait az alapszín futamot, jelentő első- kódszóval, és külön alkódokban a futamhosszat és a szín kódot megadó második kódseővai kódoljuk.
- 10. Az 1. igénypont szerinti eljárás, azzal jellemezve, hogy a futam kódban a második kódszó megelőzi az első kódszót,
- 11. Berendezés digitális videó- képek pixel szín -értékeinek kódolására, amelyben a képben előforduló minden különböző színhez egy szín érték van hozzárendelve, azzal jellemezve, hogy egy adott képhez egy alapszín van hozzárendelve, és a berendezésben van egy a. legalább két egymás utáni alapszínű pixelből álló futamokat felismerő egység, és az ilyen futamokat egy a futamot jelentő első kődszovaí, és egy a futamhosszat jelentő második kó-d-szoval kódoló egysége van, amely egyben a nem-alapszínü pixelekhez olyan kódot hozzárendelő egység, amely kőd legalább az adott szín értékéből áll.
- 12. Berendezés videó jel megjelenítésére, amely videó jel, képek pixeleinek kódolt szín értékeiből áll, azzal jellemezve., hogy legalább· két egymás utáni, valamely előre megadott alapszínnel rendelkező pixelből álló futamok egy a futamot jelentő első kódszóval, és egy a futamhosszat jelentő második kódszóval vannak kódolva, és a nem-alapszínű pixelek olyan kóddal vannak kódolva, amely legalább az adott szín értékét tartalmazza, a berendezés legalább egy táblázatos pixelenként! szin hozzárendeld egységgel van ellátva, amely táblázat tartalmaz egy kijelölt alapszínt, és a berendezésnek olyan pixel megjelenítő egysége van, amely a legalább két egymás utáni alapszínű pixelből álló futamokat, és a nem-alapszinö Önmagukban álló pixeleket, megjelenítő egység.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
GBGB9502172.1A GB9502172D0 (en) | 1995-02-03 | 1995-02-03 | Video image encoding |
GBGB9503063.1A GB9503063D0 (en) | 1995-02-03 | 1995-02-16 | Video image colour encoding |
PCT/IB1996/000062 WO1996025010A2 (en) | 1995-02-03 | 1996-01-26 | Video image colour encoding |
Publications (3)
Publication Number | Publication Date |
---|---|
HUP9602710A2 HUP9602710A2 (en) | 1997-05-28 |
HUP9602710A3 HUP9602710A3 (en) | 1999-07-28 |
HU228534B1 true HU228534B1 (en) | 2013-03-28 |
Family
ID=26306435
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
HU9602710A HU228534B1 (en) | 1995-02-03 | 1996-01-26 | Method and apparatus for encoding pixel colour values of digital video images |
Country Status (23)
Country | Link |
---|---|
US (1) | US6301389B1 (hu) |
EP (1) | EP0754393B1 (hu) |
JP (1) | JP3688297B2 (hu) |
CN (1) | CN1181694C (hu) |
AR (1) | AR001077A1 (hu) |
AT (1) | ATE191600T1 (hu) |
AU (1) | AU695626B2 (hu) |
BR (1) | BR9605110A (hu) |
CA (1) | CA2187018C (hu) |
CZ (1) | CZ289508B6 (hu) |
DE (1) | DE69607529T2 (hu) |
EA (1) | EA000082B1 (hu) |
ES (1) | ES2145991T3 (hu) |
GR (1) | GR3033579T3 (hu) |
HK (1) | HK1013385A1 (hu) |
HU (1) | HU228534B1 (hu) |
IL (1) | IL117028A (hu) |
IN (1) | IN187262B (hu) |
MY (1) | MY115792A (hu) |
PL (1) | PL186340B1 (hu) |
PT (1) | PT754393E (hu) |
TR (1) | TR199600787T1 (hu) |
WO (1) | WO1996025010A2 (hu) |
Families Citing this family (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB9806767D0 (en) * | 1998-03-31 | 1998-05-27 | Philips Electronics Nv | Pixel colour valve encoding and decoding |
FR2806227B1 (fr) * | 2000-03-09 | 2003-09-05 | Auteuil Participation Et Conse | Procede pour le codage d'images |
US20030086605A1 (en) * | 2001-11-08 | 2003-05-08 | Doner John R. | Compression method for aviation weather products |
EP1494456A1 (en) * | 2003-07-01 | 2005-01-05 | Deutsche Thomson-Brandt GmbH | Method for run-length encoding of a bitmap data stream |
US7010033B2 (en) * | 2004-02-02 | 2006-03-07 | Adams Platform Pty Ltd. | System and method for compressing and encoding video |
KR100595663B1 (ko) * | 2004-04-13 | 2006-07-03 | 엘지전자 주식회사 | 휴대폰의 이미지 파일 압축/신장 방법 |
US8457417B2 (en) * | 2005-05-27 | 2013-06-04 | Telefonaktiebolaget Lm Ericsson (Publ) | Weight based image processing |
EP1988703A1 (en) * | 2007-05-02 | 2008-11-05 | TTPCOM Limited | Image transformation |
WO2010018494A1 (en) * | 2008-08-11 | 2010-02-18 | Nxp B.V. | Image compression |
JP5228111B2 (ja) * | 2008-09-23 | 2013-07-03 | テレフオンアクチーボラゲット エル エム エリクソン(パブル) | 画素ブロック処理 |
US20120082395A1 (en) * | 2010-09-30 | 2012-04-05 | Microsoft Corporation | Entropy Coder for Image Compression |
CN103186544B (zh) * | 2011-12-28 | 2017-11-14 | 广东新岸线计算机系统芯片有限公司 | 一种色位深度存取方法和系统 |
US9772850B2 (en) * | 2014-11-14 | 2017-09-26 | Intel Corporation | Morton coordinate adjustment processors, methods, systems, and instructions |
US9772849B2 (en) | 2014-11-14 | 2017-09-26 | Intel Corporation | Four-dimensional morton coordinate conversion processors, methods, systems, and instructions |
US9772848B2 (en) | 2014-11-14 | 2017-09-26 | Intel Corporation | Three-dimensional morton coordinate conversion processors, methods, systems, and instructions |
US20160373735A1 (en) * | 2015-06-18 | 2016-12-22 | Telekom Malaysia Berhad | Method For Encoding Four Bits Color Construct Code |
JP6855722B2 (ja) * | 2016-09-21 | 2021-04-07 | 富士ゼロックス株式会社 | 画像処理装置およびプログラム |
US10341689B1 (en) * | 2017-05-23 | 2019-07-02 | Moddable Tech, Inc. | Weighted runlength encoding |
CN116453455B (zh) * | 2023-06-14 | 2023-11-14 | 长春希达电子技术有限公司 | 像素复用方法、数据传输系统以及显示屏控制系统和方法 |
Family Cites Families (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4229768A (en) * | 1978-03-30 | 1980-10-21 | Canon Kabushiki Kaisha | Information processing apparatus |
US4301469A (en) * | 1980-04-30 | 1981-11-17 | United Technologies Corporation | Run length encoder for color raster scanner |
US4610027A (en) * | 1983-12-30 | 1986-09-02 | International Business Machines Corporation | Method for converting a bit map of an image to a run length or run end representation |
US4646356A (en) * | 1984-06-29 | 1987-02-24 | International Business Machines Corporation | Method for converting a bit map of an image to a run length or run end representation |
US4673977A (en) * | 1985-06-20 | 1987-06-16 | International Business Machines Corporation | Method of spatially thresholding a discrete color image |
US4760459A (en) * | 1986-07-30 | 1988-07-26 | Kabushiki Kaisha Toshiba | Binary data compression and expansion processing apparatus |
US4843466A (en) * | 1988-04-27 | 1989-06-27 | Universal Video Communications Corp. | Method and system for decompressing color video slope encoded data |
US4847677A (en) * | 1988-04-27 | 1989-07-11 | Universal Video Communications Corp. | Video telecommunication system and method for compressing and decompressing digital color video data |
JPH02179071A (ja) * | 1988-12-28 | 1990-07-12 | Fuji Photo Film Co Ltd | 画像圧縮装置 |
US5353132A (en) * | 1989-02-06 | 1994-10-04 | Canon Kabushiki Kaisha | Image processing device |
JP2766302B2 (ja) * | 1989-04-06 | 1998-06-18 | 株式会社東芝 | 可変長符号並列解読方法および装置 |
US5172237A (en) * | 1989-05-17 | 1992-12-15 | Ricoh Corporation | High quality color image compression system |
JP2511158B2 (ja) * | 1989-12-19 | 1996-06-26 | シャープ株式会社 | 画像圧縮装置 |
US5046119A (en) * | 1990-03-16 | 1991-09-03 | Apple Computer, Inc. | Method and apparatus for compressing and decompressing color video data with an anti-aliasing mode |
US5198898A (en) * | 1990-10-10 | 1993-03-30 | Fuji Xerox Co., Ltd. | Data compressing system for compressing serial image data with color information |
JP3095810B2 (ja) * | 1991-05-31 | 2000-10-10 | 株式会社リコー | 画像データ符号化装置 |
JPH05130434A (ja) * | 1991-10-31 | 1993-05-25 | Canon Inc | 画像圧縮装置 |
US5339164A (en) * | 1991-12-24 | 1994-08-16 | Massachusetts Institute Of Technology | Method and apparatus for encoding of data using both vector quantization and runlength encoding and using adaptive runlength encoding |
US5552832A (en) * | 1994-10-26 | 1996-09-03 | Intel Corporation | Run-length encoding sequence for video signals |
-
1996
- 1996-01-26 JP JP52410396A patent/JP3688297B2/ja not_active Expired - Lifetime
- 1996-01-26 AT AT96900402T patent/ATE191600T1/de active
- 1996-01-26 BR BR9605110A patent/BR9605110A/pt not_active IP Right Cessation
- 1996-01-26 WO PCT/IB1996/000062 patent/WO1996025010A2/en active IP Right Grant
- 1996-01-26 TR TR96/00787T patent/TR199600787T1/xx unknown
- 1996-01-26 DE DE69607529T patent/DE69607529T2/de not_active Expired - Lifetime
- 1996-01-26 PT PT96900402T patent/PT754393E/pt unknown
- 1996-01-26 CA CA002187018A patent/CA2187018C/en not_active Expired - Lifetime
- 1996-01-26 PL PL96316679A patent/PL186340B1/pl unknown
- 1996-01-26 HU HU9602710A patent/HU228534B1/hu unknown
- 1996-01-26 ES ES96900402T patent/ES2145991T3/es not_active Expired - Lifetime
- 1996-01-26 EP EP96900402A patent/EP0754393B1/en not_active Expired - Lifetime
- 1996-01-26 CN CNB961902248A patent/CN1181694C/zh not_active Expired - Lifetime
- 1996-01-26 CZ CZ19962885A patent/CZ289508B6/cs not_active IP Right Cessation
- 1996-01-26 AU AU43985/96A patent/AU695626B2/en not_active Expired
- 1996-01-30 US US08/593,963 patent/US6301389B1/en not_active Expired - Lifetime
- 1996-01-31 IN IN159CA1996 patent/IN187262B/en unknown
- 1996-02-02 AR AR33528696A patent/AR001077A1/es unknown
- 1996-02-02 MY MYPI96000392A patent/MY115792A/en unknown
- 1996-02-04 IL IL11702896A patent/IL117028A/xx not_active IP Right Cessation
-
1997
- 1997-01-26 EA EA199700011A patent/EA000082B1/ru not_active IP Right Cessation
-
1998
- 1998-12-22 HK HK98114635A patent/HK1013385A1/xx not_active IP Right Cessation
-
2000
- 2000-05-31 GR GR20000401274T patent/GR3033579T3/el unknown
Also Published As
Similar Documents
Publication | Publication Date | Title |
---|---|---|
HU228534B1 (en) | Method and apparatus for encoding pixel colour values of digital video images | |
US5644305A (en) | High-efficiency encoding apparatus and high-efficiency decoding apparatus | |
EP0558016B1 (en) | Method and apparatus for encoding an image signal using a multi-stage quantizing number determiner | |
US4725885A (en) | Adaptive graylevel image compression system | |
US6219457B1 (en) | Method and system for decoding data encoded in a variable length code word | |
US5768434A (en) | Quadtree-structured walsh transform coding | |
EP0597576A2 (en) | Data transmission apparatus | |
JP2509469B2 (ja) | 変換による連続画像の適応型符号化及び復号方法及び装置 | |
US5446806A (en) | Quadtree-structured Walsh transform video/image coding | |
USRE37507E1 (en) | Variable length coding/decoding method of image data and apparatus thereof | |
US4754336A (en) | Picture data communication system with scanning pattern change | |
US6836564B2 (en) | Image data compressing method and apparatus which compress image data separately by modifying color | |
EP0562420A2 (en) | Method and apparatus for vector coding of video transform coefficients | |
US5134478A (en) | Method and apparatus for compressing and decompressing a digital video signal using predicted and error images | |
US5592227A (en) | Method and apparatus for compressing a digital signal using vector quantization | |
GB2274224A (en) | Image data compression | |
US5694127A (en) | Method and apparatus for efficiently generating variable length code data | |
US6529551B1 (en) | Data efficient quantization table for a digital video signal processor | |
US6584226B1 (en) | Method and apparatus for implementing motion estimation in video compression | |
US6396955B1 (en) | Image compression and expansion device | |
JP2003531553A (ja) | 固定圧縮率を使用する効率的なビデオデータアクセス | |
US5825934A (en) | Adaptive image coding method and apparatus | |
US4953020A (en) | Television transmission system with differential encoding of transform coefficients | |
GB2120504A (en) | Compression process for a digitized image | |
US5825422A (en) | Method and apparatus for encoding a video signal based on inter-block redundancies |