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 PDF

Info

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
Application number
HU9602710A
Other languages
English (en)
Inventor
Asher John Hoskins
David Edward Penna
Original Assignee
Koninkl Philips Electronics Nv
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
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=26306435&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=HU228534(B1) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Priority claimed from GBGB9502172.1A external-priority patent/GB9502172D0/en
Application filed by Koninkl Philips Electronics Nv filed Critical Koninkl Philips Electronics Nv
Publication of HUP9602710A2 publication Critical patent/HUP9602710A2/hu
Publication of HUP9602710A3 publication Critical patent/HUP9602710A3/hu
Publication of HU228534B1 publication Critical patent/HU228534B1/hu

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N11/00Colour television systems
    • H04N11/04Colour television systems using pulse code modulation
    • H04N11/042Codec means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • G06T9/005Statistical coding, e.g. Huffman, run length coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/46Colour picture communication systems
    • H04N1/64Systems for the transmission or the storage of the colour picture signal; Details therefor, e.g. coding or decoding means therefor
    • H04N1/644Systems 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)

  1. Szabadalmi igénypontok
    1. 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. 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. 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. 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. 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. 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 egy
    X Φ
    13 φφ.
    az. új -alapszín szír masunk.
    értékét tartalmasé második kődszó ka í
  7. 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. 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. 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. 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. 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. 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.
HU9602710A 1995-02-03 1996-01-26 Method and apparatus for encoding pixel colour values of digital video images HU228534B1 (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Also Published As

Publication number Publication date
JP3688297B2 (ja) 2005-08-24
DE69607529D1 (de) 2000-05-11
EP0754393B1 (en) 2000-04-05
AU695626B2 (en) 1998-08-20
TR199600787T1 (tr) 1997-03-21
MY115792A (en) 2003-09-30
WO1996025010A3 (en) 1996-10-10
PL186340B1 (pl) 2003-12-31
HUP9602710A2 (en) 1997-05-28
CZ289508B6 (cs) 2002-02-13
IL117028A0 (en) 1996-06-18
CA2187018C (en) 2005-10-18
CZ288596A3 (en) 1997-03-12
DE69607529T2 (de) 2000-10-12
EA199700011A1 (ru) 1997-09-30
IN187262B (hu) 2002-03-16
WO1996025010A2 (en) 1996-08-15
JPH10500273A (ja) 1998-01-06
AU4398596A (en) 1996-08-27
BR9605110A (pt) 1997-10-14
CA2187018A1 (en) 1996-08-15
HK1013385A1 (en) 1999-08-20
GR3033579T3 (en) 2000-09-29
US6301389B1 (en) 2001-10-09
EP0754393A1 (en) 1997-01-22
PT754393E (pt) 2000-09-29
ES2145991T3 (es) 2000-07-16
EA000082B1 (ru) 1998-06-25
AR001077A1 (es) 1997-09-24
CN1181694C (zh) 2004-12-22
PL316679A1 (en) 1997-02-03
CN1148927A (zh) 1997-04-30
IL117028A (en) 1999-06-20
HUP9602710A3 (en) 1999-07-28
ATE191600T1 (de) 2000-04-15

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