NL1005084C2 - Werkwijze voor het uitvoeren van een beeldbewerkingsoperatie op looplengte gecodeerde bitmaps. - Google Patents

Werkwijze voor het uitvoeren van een beeldbewerkingsoperatie op looplengte gecodeerde bitmaps. Download PDF

Info

Publication number
NL1005084C2
NL1005084C2 NL1005084A NL1005084A NL1005084C2 NL 1005084 C2 NL1005084 C2 NL 1005084C2 NL 1005084 A NL1005084 A NL 1005084A NL 1005084 A NL1005084 A NL 1005084A NL 1005084 C2 NL1005084 C2 NL 1005084C2
Authority
NL
Netherlands
Prior art keywords
run
runs
length
resulting
series
Prior art date
Application number
NL1005084A
Other languages
English (en)
Inventor
Maurice Lambert Martin Luttmer
Original Assignee
Oce Tech Bv
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 Oce Tech Bv filed Critical Oce Tech Bv
Priority to NL1005084A priority Critical patent/NL1005084C2/nl
Priority to JP10010617A priority patent/JPH10229492A/ja
Priority to US09/012,559 priority patent/US6078691A/en
Priority to EP98200191A priority patent/EP0855680B1/en
Priority to DE69813329T priority patent/DE69813329T2/de
Application granted granted Critical
Publication of NL1005084C2 publication Critical patent/NL1005084C2/nl

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • G06T9/005Statistical coding, e.g. Huffman, run length coding
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/42Global feature extraction by analysis of the whole pattern, e.g. using frequency domain transformations or autocorrelation
    • G06V10/421Global feature extraction by analysis of the whole pattern, e.g. using frequency domain transformations or autocorrelation by analysing segments intersecting the pattern

Description

Werkwijze voor het uitvoeren van een beeidbewerkingsoperatie op loopiengte gecodeerde bitmaps 5
De uitvinding heeft betrekking op een werkwijze voor het uitvoeren van een beeidbewerkingsoperatie op pixels van één of meer in pixels verdeelde beelden, waarbij een beeld wordt gerepresenteerd door een reeks van opeenvolgende runs met looplengtes en corresponderende pixelwaarden waarbij een loopiengte het 10 aantal opeenvolgende pixels representeert met onderlinge identieke pixelwaarden en de beeidbewerkingsoperatie successievelijk op groepen van opeenvolgende pixels wordt uitgevoerd.
Dergelijke beeldbewerkingsoperaties kenmerken zich doordat een resulterende pixelwaarde van een enkele pixel wordt bepaald door de pixelwaarde 15 van meerdere pixels. Zoals bijvoorbeeld een verkleiningsbewerking van een beeld waarbij verschillende pixelwaarden worden gemiddeld tot een resulterende pixelwaarde. Hierbij worden bijvoorbeeld groepen van pixels achtereenvolgens gemiddeld zodat uiteindelijk een beeld met minder pixels wordt verkregen.
Een ander voorbeeld van een dergelijke beeidbewerkingsoperatie is het op 20 een of andere wijze combineren van pixels afkomstig van verschillende beelden. Hierbij kan bijvoorbeeld worden gedacht aan het uitvoeren van een zogenaamde overlay van een eerste beeld met een tweede beeld waarbij één van de beelden als transparant wordt beschouwd voor het andere beeld.
Nu is een nadeel van dergelijke beeldbewerkingsoperaties het grote aantal 25 bewerkingsstappen.
Een bijkomend probleem is dat beelden van pixels, om geheugen of transmissie capaciteit te sparen, vaak zijn gecomprimeerd. Zoals bijvoorbeeld een comprimering op basis van een looplengtecodering. Alvorens de beeidbewerkingsoperatie dan uit te kunnen voeren, moet een dergelijk 30 gecomprimeerd beeld eerst worden gedecomprimeerd. Het na bewerking verkregen resulterende beeld moet vervolgens weer worden gecomprimeerd.
Het decomprimeren en comprimeren betekenen additionele bewerkingsstappen naast de bewerkingsstappen die al nodig zijn voor de beeidbewerkingsoperatie op zich.
35 In het Amerikaanse octrooi US 5 327 248 wordt een beeldbewerkingsinrichting beschreven waarbij bewerkingen worden uitgevoerd op pixels van bitmaps die waar mogelijk in gecomprimeerde vorm blijven. De pixels zijn hierbij gegroepeerd in ! 0 0 5 0 8 4 2 blokken waarbij elk blok apart is gecomprimeerd. Alleen de blokken met de te bewerken pixels worden geselecteerd en gedecomprimeerd. Na het bewerken van de pixels van een gedecomprimeerd blok, volgt weer een comprimering van de bewerkte blokken van pixels. Alhoewel dus niet de hele bitmap per definitie behoeft 5 te worden gedecomprimeerd voor een bewerking, is er desalniettemin nog steeds, zij het een geringere, hoeveelheid decomprimering en comprimering nodig.
In het Amerikaanse octrooi US 5 444 549 wordt een beeldbewerkingsinrichting beschreven waarbij beelddata in een richting loodrecht op de beeldlijnen wordt verkleind door bepaalde beeldlijnen weg te laten. Bijvoorbeeld 10 door, bij een gewenste verkleining met een factor 1/8, steeds de achtste beeldlijn weg te laten. De hierin beschreven uitvinding maakt nu gebruik van looplengtecodering om te bepalen welke lijn het best kan worden weggelaten. Het weglaten van een lijn die namelijk de minste veranderingen in pixelwaarden heeft ten opzichte van een referentielijn, geeft het minste verlies aan informatie. De 15 verandering in pixelwaarden wordt hierbij afgeleid van de looplengte van looplengte gecodeerde data en de verschillen hierin ten opzichte van voorgaande lijnen. Hierbij wordt dus juist met opzet een looplengtecodering geïntroduceerd. Het nadeel hierbij is dat nu een looplengtecodering moet worden gebruikt als onderdeel van de verkleiningsbewerking, zelfs als een comprimering op zich niet vereist of gewenst is. 20 De werkwijze overeenkomstig de uitvinding heft de genoemde nadelen op en wordt daartoe gekenmerkt door een eerste selectiestap voor het selecteren van ten minste twee runs uit één of meer reeksen van runs van één of meer beelden op basis van pixelpositieinformatie omvattend waarden voor een kolom en een rij van een in kolommen en rijen van pixels verdeeld beeld, een 25 looplengtebewerkingsoperatie voor het bewerken van de looplengtes en de pixelwaarden van de geselecteerde runs overeenkomstig de beeldbewerkingsoperatie voor het verkrijgen van een resulterende run met een resulterende looplengte en een resulterende pixelwaarde, een inkortingsstap voor het inkorten van de looplengte van de bewerkte runs met een waarde afgeleid van 30 de bepaalde resulterende looplengte, het opslaan van de resulterende run in een reeks van resulterende runs, een stapgroottebepalingsstap voor het bepalen van een stapgrootte afgeleid van de resulterende looplengte, een tweede selectiestap voor het selecteren van de één of meer ingekorte runs en/of één of meer volgende runs uit de éne of de meerdere reeksen van runs van het éne of de meerdere 35 beelden op basis van de stapgrootteinformatie en het herhaaldelijk uitvoeren van de bovengenoemde stappen totdat alle runs zijn bewerkt.
Door in plaats van de beeldbewerkingsoperatie op de afzonderlijke pixels zelf 1005084 3 maar een hiermee equivalente looplengtebewerkingsoperatie op de runs uit te voeren, wordt nu decomprimering en comprimering vermeden. Voorts wordt de corresponderende looplengtebewerkingsoperatie waar mogelijk ineens uitgevoerd op een serie van identieke pixels van een run in plaats van herhaaldelijk equivalente 5 beeldbewerkingsoperaties op de afzonderlijke pixels zelf.
Het na inkorting verkregen deel van een geselecteerde run wat niet in één looplengtebewerkingsoperatie kan worden bewerkt, wordt in een volgende looplengtebewerkingsoperatie opnieuw geselecteerd voor bewerking. Na een initiële selectie van runs op basis van een beginpositie zoals begin van een eerste of 10 volgende lijn, worden daarna runs geselecteerd op basis van een stapgrootte afgeleid van het aantal door de looplengtebewerkingsoperatie bewerkte pixels. Door een geschikt stapgrootte mechanisme te kiezen die mede wordt bepaald door de looplengtes van de bewerkte runs, kan nu evenzeer stapsgewijs een geheel beeld worden bewerkt.
15 Een verdere uitvoering van de werkwijze overeenkomstig de uitvinding wordt gekenmerkt door een combinatiestap voor het combineren van de na een looplengtebewerkingsoperatie verkregen resulterende runs. Van de nieuwe, na bewerking ontstane resulterende runs kunnen naburige runs onderling identieke pixelwaarden bezitten. Deze kunnen met voordeel worden gecombineerd tot grotere 20 runs zodat de compressie optimaal blijft.
Een eerste uitvoeringsvorm van de werkwijze wordt gekenmerkt doordat de eerste en tweede selectiestappen runs selecteren uit een eerste en een tweede reeks van runs welke een eerste respectievelijk tweede beeld representeren waarbij per selectiestap runs met een identieke pixelbeginpositie uit beide reeksen worden 25 geselecteerd, de looplengtebewerkingsoperatie het vergelijken omvat van de pixelwaarde van een run uit de eerste reeks met de pixelwaarde van een run uit de tweede reeks waarbij in het geval dat de pixelwaarde van de eerste run een eerste waarde heeft, de pixelwaarde van de run uit de tweede reeks wordt gekozen als pixelwaarde van een resulterende run en in het andere geval de pixelwaarde van 30 run uit de eerste reeks wordt gekozen als waarde van de resulterende run en waar verder als looplengte van de resulterende run wordt gekozen de kleinste looplengte van de runs uit de eerste en tweede reeks en de stapgroottebepalingstap als stapgrootte de in de voorafgaande looplengtebewerkingsoperatie bepaalde kleinste looplengte neemt.
35 Hierbij kunnen twee verschillende looplengte gecodeerde beelden worden gecombineerd, bijvoorbeeld als een overlay van het éne beeld over het andere, zonder de beelden eerst te decomprimeren en en weer te comprimeren. Van de 1005084 4 voor betreft pixelpositie overlappende runs met ten minste een identieke pixelbeginpositie van de twee te combineren beelden kan steeds een nieuwe run worden gegenereerd met een looplengte gelijk aan de kleinste looplengte van de overlappende runs en een pixelwaarde bepaald door de run welke bijvoorbeeld als 5 niet transparant moet worden beschouwd. Het resulterende deel van de run met de grootste looplengte kan in een volgende looplengtebewerkingsstap worden bewerkt.
Een tweede voordelige uitvoeringsvorm van de werkwijze wordt verkregen doordat de eerste en tweede selectiestappen runs selecteren uit een eerste, tweede en derde reeks van runs welke respectievelijk een eerste, tweede en derde beeld 10 representeren, waarbij per seiectiestap runs met een identieke pixelbeginpositie worden geselecteerd uit de eerste, tweede en derde reeks van runs, de looplengtebewerkingsoperatie als resulterende pixelwaarde van de resulterende run het gewogen gemiddelde neemt van de pixelwaarden van de geselecteerde runs uit de eerste en tweede reeks van runs met als weegfactor de pixelwaarde van de runs 15 uit de derde reeks van runs en als resulterende looplengte van de resulterende run de kleinste looplengte neemt van de geselecteerde runs van de eerste, tweede en derde reeks van runs, de inkortingsstap de looplengte van de grootste geselecteerde looplengte inkort met de lengte van de resulterende looplengte en de stapgroottebepalingstap als stapgrootte de resulterende looplengte neemt. In 20 tegenstelling tot de hiervoor genoemde eerste uitvoeringsvorm waarbij één van de beelden altijd als volledig niet-transparant wordt beschouwd, wordt bij deze uitvoeringsvorm de mate van transparantie bepaald door de pixelwaarden van een derde beeld.
Een derde uitvoeringsvorm van de werkwijze wordt gekenmerkt doordat de 25 eerste en tweede selectiestappen runs selecteren met een identieke pixelbeginpositie uit een eerste respectievelijk tweede opeenvolgende beeldlijn waarbij in het geval dat de looplengtes van de geselecteerde runs allen groter dan één zijn; de looplengtebewerkingsoperatie het middelen omvat van de pixelwaarde van een run uit de eerste beeldlijn met de pixelwaarde van een run uit de tweede 30 beeldlijn waarbij als resulterende pixelwaarde van de resulterende run de aldus bepaalde gemiddelde pixelwaarde wordt genomen en waar verder als resulterende looplengte van de resulterende run de helft van de kleinste looplengte van de looplengtes van de beide runs wordt gekozen, de inkortingsstap de looplengte van de grootste geselecteerde run inkort met twee maal de lengte van de resulterende 35 looplengte en de stapgroottebepalingsstap als stapgrootte twee maal de in de voorafgaande looplengtebewerkingsoperatie bepaalde resulterende looplengte neemt.
1005084 5
Hierbij worden niet de pixelwaarden van afzonderlijke pixels gemiddeld maar pixelwaarden van de te combineren looplengtes. Hierdoor is een decomprimering of comprimering eveneens niet nodig en wordt door het groepsgewijs middelen van pixelwaarden van looplengtes in plaats van pixels, een reductie van 5 bewerkingsstappen verkregen.
De werkwijze overeenkomstig de uitvinding zal worden beschreven aan de hand van de volgende figuren, waarvan
Fig. 1 een eerste uitvoering overeenkomstig de uitvinding weergeeft;
Fig. 2 het selecteren van een volgende run uit een reeks van runs op basis 10 van een pointer en een opgegeven aantal pixels volgens Fig. 1 weergeeft;
Fig. 3 een uitvoering van een overlaybewerking van twee bitmaps volgens Fig. 1 weergeeft;
Fig. 4 een tweede uitvoering overeenkomstig de uitvinding weergeeft;
Fig. 5 en 6 het uitvoeren van een resolutieconversiebewerking bij runs met 15 een looplengte van één volgens Fig. 4 weergeven en
Fig. 7 het uitvoeren van een resolutieconversiebewerking bij runs met looplengtes groter dan één volgens Fig. 4 weergeeft.
In Fig.1 is een eerste uitvoering van de werkwijze overeenkomstig de 20 uitvinding weergegeven. Hierbij wordt verondersteld dat de te bewerken looplengte gecodeerde bitmap is opgebouwd een reeks van runs {R} met bijbehorende looplengtes R.LEN en waarden R.VAL. Voorts wordt verondersteld dat de gecodeerde bitmap een één-dimensionale looplengtecomprimering heeft ondergaan. Bij een niet gecodeerde bitmap waarvan de pixels zijn gerangschikt in rijen X en 25 kolommen Y van pixels, wordt aangenomen dat de één-dimensionale looplengtecodering in X-richting heeft plaatsgevonden. Verder is Xmax het aantal pixels op een lijn in X-richting en Ymax het aantal lijnen in de Y-richting.
In de beschreven uitvoering in Fig. 1 wordt in stap 101 bij aanvang de lijnindex Y op de eerste lijn gezet door deze de waarde nul toe te kennen. Verder 30 worden in stap 101 pointers PTR.I, PTR.J...respectievelijk verwijzend naar een run Rl, RJ...uit respectievelijk reeksen van runs {Rl}, {RJ} .. op hun aanvangswaarde gezet. In dit geval verwijzen de aanvangswaarden van de pointers naar runs met een pixelbeginpositie X=0 en Y=0. Vervolgens worden voor alle lijnen Y een lus doorlopen met een stapsgewijze ophoging 102 van de lijnindex Y en een 35 controlestap 103 op het bereiken van de laatste lijn Y. In deze lus wordt, in stap 104, vervolgens de pixelindex X voor het eerste pixel van een lijn Y gezet door deze de waarde nul toe te kennen. In stap 105, waarvan de meer uitgebreide 1005084 6 uitvoering in Fig. 2 zal worden weergegeven, worden de eerste te bewerken runs Rl, RJ......uit één of meerdere reeksen van runs {Rl}, {RJ},.. geselecteerd. Hierbij kunnen de runs Rl, RJ .... afkomstig zijn uit een reeks runs {..} van één bitmap of elk uit verschillende reeksen runs {..}, van verschillende bitmaps. In stap 105 5 wordt op basis van de pointers PTR.I en PTR.J welke naar de huidige run wijzen en een aantal al hiervan bewerkte pixels R1 .LEN, een volgende run geselecteerd uit de corresponderende reeks van runs {Rl} en {RJ}. Aangezien in stap 105 het aantal al bewerkte pixels R1 .LEN nog gelijk aan nul is, wordt de run geselecteerd waar de pointers PTR.I en PTR.J naar verwijzen. In dit geval de runs corresponderend met 10 de beginpixelpositie X=0 en Y=0.
De geselecteerde runs Rl, RJ ... worden gekenmerkt door de looplengtes RI.LEN, RJ.LEN ... en de corresponderende pixelwaarden RI.VAL, RJ.VAL .. In stap 106 worden de aldus geselecteerde runs Rl, RJ onderworpen aan een in Fig. 3 nader uitgewerkte looplengtebewerking F resulterend in een eerste resultaat run R1 15 met looplengte R1.LEN en pixelwaarde R1.VAL. In stap 107 wordt vervolgens de pixelindex X verhoogd met de looplengte R1.LEN van de eerste resultaat run R1.
Vervolgens wordt in een tweede lus, deze selectie en bewerking herhaald voor alle pixels van een lijn Y. In de lus wordt de pixelindex X in stap 108 gecontroleerd op het overschrijden van het maximaal aantal Xmax van pixels op een 20 lijn Y. Is dit het geval, dan wordt in stap 118 de pixelwaarde R1.VAL en looplengte R1.LEN van de run R1 op de lijn Y opgeslagen als respectievelijk resultaatwaarde R.VAL en resultaat looplengte R.LEN.
In stap 109 wordt op basis van de looplengte R1.LEN en de in stap 102 geïnitialiseerde pointers PTR.I en PTR.J, de volgende runs Rl, RJ,... geselecteerd 25 die volgen na de eerste geselecteerde runs Rl, RJ, ...uit dezelfde reeksen {Rl}, {RJ},.. Deze selectie zal nader worden toegelicht aan de hand van Fig. 2. In stap 110 wordt vervolgens weer de al eerder, in stap 106 genoemde en in Fig. 3 nader te omschrijven, looplengtebewerking F uitgevoerd op de geselecteerde runs Rl, RJ,...
Deze looplengtebewerking F resulteert in een tweede resultaat run R2 met 30 looplengte R2.LEN en pixelwaarde R2.VAL. Alhoewel de uit te voeren looplengtebewerking F nog niet in detail is geïllustreerd, wordt in de volgende stappen wel alvast aangegeven hoe met voordeel twee verkregen resultaat runs eventueel kunnen worden gecombineerd tot één uiteindelijke resultaat run R met looplengte R.LEN en pixelwaarde R.VAL.
35 Hiertoe wordt in stap 111 gecontroleerd of de eerste resultaatwaarde R1 .VAL
identiek is aan de tweede resultaatwaarde R2.VAL. Is dit het geval, dan worden in stap 112 de looplengtes R1.LEN en R2.LEN bij elkaar opgeteld en toegekend aan 1005084 7 de eerste resultaat looplengte R1.LEN. Hierbij wordt nog niet een resultaat run R weggeschreven aangezien in een volgende doorgang van de lus, deze looplengte, bij weer identieke resultaatwaarden, eventueel nog kan worden verlengd.
Hierbij zij opgemerkt dat in de praktijk er natuurlijk een maximum is aan de 5 maximaal te coderen looplengte, alleen al door een beperking in het aantal hiervoor te gebruiken bits. Echter in de beschrijving van de werkwijze van uitvinding is, om een ander overzichtelijk te houden, afgezien van deze en andere, voor de vakman triviale, details.
In stap 113 wordt de pixelindex X vervolgens opgehoogd met de tweede 10 resultaat looplengte R2.LEN waarna de lus met een nieuwe pixelindex X wordt doorlopen.
Blijken in stap 111 de eerste resultaat waarde R1 .VAL en de tweede resultaat waarde R2.VAL niet identiek te zijn, dan wordt een uiteindelijke resultaat waarde R.VAL weggeschreven. In stap 114 wordt de eerste resultaat waarde R1.VAL 15 toegekend aan de uiteindelijk resultaatwaarde R.VAL. In stap 115 wordt de bijbehorende eerste resultaatlengte R1 .LEN toegekend aan de uiteindelijke resultaatlengte R.LEN. Deze aldus gevormde resultaat run R wordt als resultaat van de genoemde bewerking F op de geselecteerde runs Rl en RJ weggeschreven. Dit gebeurt in stap 119 door resultaatwaarde R.VAL en de resultaatlengte R.LEN op te 20 slaan.
In stap 116 wordt als nieuwe waarde voor de eerste resultaatwaarde R1.VAL, de tweede resultaatwaarde R2.VAL genomen. In stap 117 wordt als nieuwe lengte voor de eerste resultaatlengte R1.LEN, de tweede resultaatlengte R2.LEN genomen. Zo kan bij het opnieuw doorlopen van de lus, worden gekeken of de tweede 25 resultaatrun R2 wellicht wel kan worden gecombineerd met een volgende resultaatrun.
Door de met de looplengtebewerking F verkregen resultaatruns R aldus waar mogelijk te combineren, wordt een zo beperkt mogelijke reeks van resultaat runs R verkregen.
30 In Fig. 2 zijn de stappen 105 en 109 van Fig. 1 verder uitgewerkt.Deze stappen 105 en 109 betreffen het selecteren van de runs Rl, RJ,... van een lijn Y uit de reeksen van runs {Rl}, {RJ}.....van één of meerdere bitmaps. Hierbij moeten runs Rl, RJ .. worden geselecteerd welke op een specifieke afstand, uitgedrukt in aantal pixels, komen na een, door een pointer PTR.I, PTR.J gespecificeerde run uit 35 de reeks van runs {Rl}, {RJ} ....In Fig. 2 is deze selectie beschreven van één run R uit een reeks runs {..} van één bitmap. Vanzelfsprekend wordt in het geval van vereiste selectie uit een reeks runs {..}van een tweede bitmap, de in Fig. 2 1005084 8 beschreven werkwijze opnieuw doorlopen. Als invoerwaarde voor de afstand LEN wordt de eerste resultaatlengte R1.LEN genomen. Deze is in eerste instantie gedefinieerd in stap 101 van Fig. 1 en vervolgens steeds in stap 112 of 117 van Fig.1. Als waarde voor de pointer PTR wordt in eerste instantie de in stap 105 5 gevonden waarde genomen en in tweede instantie de in stap 109 te bepalen volgende waarden.
Als in stap 301 blijkt dat de lengte R.PTR.LEN van de door de pointer PTR geselecteerde run R.PTR kleiner is dan of gelijk is aan de ingevoerde afstand LEN, wordt de pointer PTR in stap 302 één stap verhoogd zodat verwezen wordt naar de 10 volgende run in dezelfde lijn. Als resultaatwaarde R.VAL wordt dan de waarde R.PTR.VAL van de door de opgehoogde pointer PTR geselecteerde run R.PTR genomen (stap 303). Als resultaatlengte R.LEN wordt de looplengte R.PTR.LEN van dezelfde run genomen (stap 304). Deze resultaatwaarde R.VAL en resultaatlengte R.LEN komen overeen met de waarde en lengte van de volgende geselecteerde 15 run zoals aangeduid in Fig. 1.
Blijkt daarentegen in stap 301 dat de lengte R.PTR.LEN daarentegen groter is dan de afstand LEN, wordt in stap 305 als nieuwe lengte R.PTR.LEN de geselecteerde lengte R.PTR.LEN van de door de pointer PTR geselecteerde run R.PTR verminderd met de afstand LEN. Deze nieuwe lengte R.PTR.LEN wordt dan 20 weer in stap 304 als resultaatlengte R.LEN genomen.
In Fig. 3 is een mogelijke uitwerking van de looplengtebewerking F zoals bedoeld in stap 106 en 110 van Fig. 1 weergegeven. Hierbij wordt verondersteld dat geselecteerde en te bewerken runs RA en RB afkomstig zijn van twee verschillende bitmaps A en B en althans de pixelbeginpositie van beide runs gelijk zijn. Dus run 25 RA is een geselecteerde run uit de reeks {RA} voor bitmap A en run RB is een geselecteerde run uit de reeks {RB} voor bitmap B. De looplengtebewerking F bestaat in het over elkaar heen leggen van de runs van de beide bitmaps waarbij pixels van de bitmap A transparant kunnen zijn voor de pixels van bitmap B.
In stap 401 wordt gecontroleerd of de waarde RA.VAL van de geselecteerde 30 run RA van de bitmap A moet worden aangemerkt als zijnde transparant.
Is dit het geval, dan wordt in stap 402 als resultaatwaarde R.VAL de waarde RB.VAL van de geselecteerde run RB van de bitmap B genomen. In het andere geval wordt, in stap 403 als resultaatwaarde R.VAL de waarde RA.VAL van de geselecteerde run RA van de bitmap B genomen.
35 In beide gevallen wordt vervolgens, in stap 404, als resultaatlooplengte R.LEN het minimum van de beide geselecteerde looplengtes RA.LEN en RB.LEN genomen.
1005084 9
Zoals al eerder opgemerkt, is het grote voordeel van de boven omschreven werkwijze dat niet voor ieder pixel behoeft te worden bekeken of deze wel of niet transparant is. Door meerdere pixels in de vorm van een run tegelijk te bewerken, kan deze overlay bewerking sneller worden uitgevoerd. Daarbij komt nog het 5 voordeel dat, in geval van een pixelgewijze bewerking, een looplengte gecodeerde bitmap eerst zou moeten worden gedecodeerd, om vervolgens na bewerking, weer zou moeten worden gecodeerd.
Hierbij zij opgemerkt dat de hierboven beschreven uitvoering er van uit gaat dat de bitmap B als volledig niet-transparant moet worden beschouwd. Een andere 10 uitvoering wordt verkregen door bijvoorbeeld de bitmap B als gedeeltelijk transparant te beschouwen. De mate van transparantie van de bitmap kan dan weer voor elke pixel worden representeerd door een derde bitmap C met per pixel opgeslagen de mate van transparatie. Als resultaatwaarde R.VAL van een dergelijke overlay-bewerking kan dan het gewogen gemiddelde van de pixelwaarden van de beide 15 bitmaps A en B worden genomen. Er van uitgaande dat de in de bitmap B
opgeslagen waarde voor de transparantie op één is genormeerd, wordt dan R.VAL gegeven door:
R.VAL=(RC.VAL * RA.VAL) + (1 - RC.VAL) * RB.VAL
20 waarbij RA.VAL en RB.VAL de waarden van runs uit de bitmap A en B zijn en RC.VAL de mate van transparantie is welke geldt voor de beide runs.
Nu is de uitvinding niet beperkt tot de in Fig. 3 beschreven overlay-bewerking 25 van twee looplengte gecodeerde bitmaps. Als voorbeeld van een bewerking op runs van een zelfde bitmap wordt hierna een uitvoering beschreven welke een resolutieconversie van een looplengte gecodeerde bitmap bewerkstelligd.
Hierbij zal niet alleen een beschrijving van de looplengtebewerking F op zich worden gegeven maar ook, in analogie met de werkwijze in Fig. 1, de uit te voeren 30 stappen rond de looplengtebewerking F.
In Fig. 4 is daartoe een tweede uitvoering van de werkwijze overeenkomstig de uitvinding weergegeven. Evenals in de werkwijze volgens Fig.1, wordt hierbij weer verondersteld dat de te bewerken looplengte gecodeerde bitmaps, bitmaps representeren welke zijn verdeeld in lijnen met lijnindex Y waarbij de pixels in een 35 lijn de pixelindex X hebben. Hierbij wordt,in stap 501, de lijnindex Y op de eerste lijn van bitmap gezet door de waarde nul hier aan toe te kennen. In stap 502 wordt de waarde van de lijnindex Y vergeleken met de waarde Ymax voor de laatste lijn.
1005084 10
Zolang de laatste lijn nog niet is bereikt, wordt verder gegaan met het zetten, in stap 503 van de lijnindex X op de eerste te bewerken pixel van een lijn Y door deze evenzeer de waarde nul toe te kennen.
De uit te voeren bewerking is een resolutieconversiebewerking. Hierbij moet 5 de resolutie in twee richtingen worden verkleind met een factor twee. Hierbij wordt het beeld verdeeld in blokjes van 2x2 pixels waarbij ieder van deze blokjes wordt omgezet naar 1 pixel met als pixelwaarde het gemiddelde van de 4 pixelwaarden van de pixels van het betreffend blok.
In stap 504 worden daartoe aan de hand van de pixelindex X en de lijnindex 10 Y uit de reeks van runs {Rl}, welke de te bewerken bitmap representeren, twee runs R1 en R2 van twee opeenvolgende lijnen met lijnindex Y en Y+1 geselecteerd. Als de lijnindex nog de waarde nul heeft, zijn dit de eerste runs van de beide lijnen.
In stap 505 wordt gecontroleerd of de looplengte R1.LEN van de run R1 gelijk aan nul is. Is dit het geval, dan wordt, in stap 506 gecontroleerd of de 15 pixelindex X de maximale waarde Xmax heeft bereikt. In dat geval wordt de lijnindex Y met een stapgrootte van twee verhoogd in stap 507 en worden de volgende twee lijnen doorlopen. Heeft de pixelindex X nog niet de maximale waarde Xmax bereikt, dan wordt, in stap 507 de volgende, naastliggende run R1 uit de lijn Y geselecteerd.
Is echter, de lengte R1.LEN van de eerste geselecteerde run R1 groter dan 20 nul, dan wordt evenzo, in stap 508 gecontroleerd of de lengte R2.LEN van de run R2 van lijn Y+1 gelijk aan nul is. Is dat het geval, dan wordt, in stap 509, de volgende, naastliggende run R2 uit de lijn Y+1 geselecteerd.
In stap 510 wordt vervolgens gecontroleerd of de looplengte R1.LEN van run R1 uit de lijn Y de waarde één heeft. Is dat het geval, dan volgt een aan de hand 25 van Fig. 5 nader beschreven eerste bewerkingsstap 511. Is de looplengte R1 .LEN niet gelijk aan één, dan wordt,in stap 512 gecontroleerd of de looplengte R2.LEN van de run R2 uit de lijn Y+1 de waarde één heeft. Is dit laatste het geval, dan wordt een, aan de hand van Fig. 6 nader beschreven tweede bewerkingsstap 513 uitgevoerd.
30 Zijn beide looplengtes R1.LEN en R2.LEN van de lijnen Y en Y+1 groter dan één, dan wordt een in Fig. 6 nader beschreven derde bewerkingsstap 514 uitgevoerd.
Elke bewerkingsstap levert een uiteindelijke resultaatrun R op met een waarde R.VAL en een looplengte R.LEN. Een en ander wordt herhaald voor alle 35 runs zodat een uiteindelijke reeks van runs {R} wordt verkregen welke de looplengte gecodeerde bitmap representeert maar nu met de halve resolutie van de oorspronkelijke bitmap. Het spreekt vanzelf dat een verkregen resultaatrun R steeds 1005084 11 wordt opgeslagen alhoewel dit niet expliciet in Fig. 7 is weergegeven.
In Fig. 5 wordt de eerste bewerkingsstap 511 van Fig. 4 nader beschreven. Hierbij is de looplengte R1.LEN van de run R1 op lijn Y dus gelijk aan één.
In stap 601 wordt de geselecteerde run R1 als vorige geselecteerde run R1P 5 aangemerkt. In stap 611 wordt de volgende run R1 van de lijn Y geselecteerd. In stap 602 wordt gecontroleerd of de looplengte R2.LEN van de geselecteerde run R2 van de volgende lijn Y+1 gelijk aan één is. Is dit het geval, dan wordt in stap 603 de geselecteerde run R2 als vorige geselecteerde run R2P aangemerkt. In stap 604 wordt dan als nieuwe run R2 genomen de volgende naastliggende run in de lijn 10 Y+1. In stap 605 wordt vervolgens de uiteindelijke resultaat waarde R.VAL bepaald als een gemiddelde van de waarden R1P.VAL, R2PVAL, RIVAL en R2.VAL van de runs R1P, R2P, R1 en R2.
De lengte R2.LEN wordt vervolgens in stap 606 met één verminderd.
Is echter in stap 602 gebleken dat de looplengte R2.LEN van de run R2 15 ongelijk aan één is, dan wordt in stap 607 meteen de resultaat waarde R.VAL
bepaald als een gemiddelde van de resultaatwaarden R1P.VAL, R1.VAL, R2.VAL en R2.VAL van de runs R1P, R1 en R2. Hierbij is de waarde R2.VAL dus twee keer geteld. De looplengte R2.LEN wordt vervolgens in stap 608 nu met twee verminderd.
20 Met stap 609 wordt als resultaat looplengte R.LEN de waarde één genomen.
In stap 610 wordt de looplengte R1.LEN vervolgens met één verminderd.
In Fig. 6 wordt de bewerkingsstap 513 van Fig. 4 nader uitgewerkt. Hierbij is de looplengte R2.LEN van de run R2 gelijk aan één. De looplengte R1 .LEN is echter groter dan één.
25 In stap 701 wordt run R2 als vorige run R2P aangemerkt en als nieuwe run R2 wordt de volgende run op de lijn Y+1 genomen (stap 706). In stap 702 wordt nu als resultaat waarde R.VAL een gemiddelde van de resultaatwaarden R2P.VAL, R2.VAL, R1.VAL en R1.VAL genomen van de runs R2P, R2 en R1. In stap 703 wordt als resultaatlengte R.LEN één genomen. In stap 704 wordt de looplengte 30 R1.LEN met twee en in stap 705 de looplengte R2.LEN met één verminderd.
In Fig. 7 wordt tenslotte de bewerkingsstap 514 van Fig. 4 nader beschreven. Hierbij zijn dus de looplengtes R1.LEN en R2.LEN beiden groter dan een.
Als in stap 801 blijkt dat de looplengte R1.LEN kleiner is dan de looplengte R2.LEN, dan wordt in stap 803 de helft bepaald van de looplengte R1.LEN. Hierbij 35 wordt de verkregen waarde afgerond om de eerste gehele kleinere waarde met behulp van de mathematische ENTIER-functie. De verkregen waarde wordt toegekend aan de variabele NUM. In het andere geval, als R2.LEN de kleinste 1005084 12 looplengte is, wordt in stap 802, hetzelfde gedaan maar nu van de looplengte R2.LEN.
Als resultaat looplengte R.LEN wordt, in stap 806 de waarde van de variabele NUM genomen. De looplengtes R1.LEN en R2.LEN worden in stap 807 5 respectievelijk 808 verminderd met twee maal de waarde van de variabele NUM.
Pas in de werkwijze volgens Fig. 7 is er dus sprake van het uitvoeren van de middeling voor een reeks pixels, in tegenstelling tot de hiervoor beschreven situaties in de Figuren 5 en 6 waar ten minste één van de te bewerken runs een lengte van één hadden.
1005084

Claims (5)

1. Werkwijze voor het uitvoeren van een beeldbewerkingsoperatie op pixels van één of meer in pixels verdeelde beelden, waarbij 5 een beeld wordt gerepresenteerd door een reeks van opeenvolgende runs met looplengtes en corresponderende pixelwaarden waarbij een looplengte het aantal opeenvolgende pixels representeert met onderlinge identieke pixelwaarden en de beeldbewerkingsoperatie successievelijk op groepen van opeenvolgende pixels wordt uitgevoerd, gekenmerkt door 10 een eerste selectiestap voor het selecteren van ten minste twee runs uit één of meer reeksen van runs van één of meer beelden op basis van pixelpositieinformatie omvattend waarden voor een kolom en een rij van een in kolommen en rijen van pixels verdeeld beeld, een looplengtebewerkingsoperatie voor het bewerken van de looplengtes en 15 de pixelwaarden van de geselecteerde runs overeenkomstig de beeldbewerkingsoperatie voor het verkrijgen van een resulterende run met een resulterende looplengte en een resulterende pixelwaarde, een inkortingsstap voor het inkorten van de looplengte van de bewerkte runs met een waarde afgeleid van de bepaalde resulterende looplengte, 20 het opslaan van de resulterende run in een reeks van resulterende runs, een stapgroottebepalingsstap voor het bepalen van een stapgrootte afgeleid van de resulterende looplengte, een tweede selectiestap voor het selecteren van de één of meer ingekorte runs en/of één of meer volgende runs uit de éne of de meerdere reeksen van runs 25 van het éne of de meerdere beelden op basis van de stapgrootteinformatie en het herhaaldelijk uitvoeren van de bovengenoemde stappen totdat alle runs zijn bewerkt.
2. Werkwijze volgens conclusie 1, gekenmerkt door een combinatiestap voor 30 het combineren van de na een looplengtebewerkingsoperatie verkregen resulterende runs.
3. Werkwijze volgens conclusie 1 of 2, gekenmerkt doordat de eerste en tweede selectiestappen runs selecteren uit een eerste en een 35 tweede reeks van runs welke een eerste respectievelijk tweede beeld representeren waarbij per selectiestap runs met een identieke pixelbeginpositie uit beide reeksen worden geselecteerd, 1005064 de looplengtebewerkingsoperatie het vergelijken omvat van de pixelwaarde van een run uit de eerste reeks met de pixelwaarde van een run uit de tweede reeks waarbij in het geval dat de pixelwaarde van de eerste run een eerste waarde heeft, 5 de pixelwaarde van de run uit de tweede reeks wordt gekozen als waarde van een resulterende run en in het andere geval de pixelwaarde van de run uit de eerste reeks wordt gekozen als resulterende pixelwaarde van de resulterende run en waar verder als resulterende looplengte van de resulterende run wordt gekozen de kleinste looplengte van de runs uit de eerste en tweede reeks, 1. de inkortingsstap de looplengte van de grootste geselecteerde looplengte inkort met de lengte van de resulterende looplengte en de stapgroottebepalingstap als stapgrootte resulterende looplengte neemt.
4. Werkwijze volgens claim 1 of 2, gekenmerkt doordat de eerste en tweede 15 selectiestappen runs selectereren uit een eerste, tweede en derde reeks van runs welke respectievelijk een eerste, tweede en derde beeld representeren, waarbij per selectiestap runs met een identieke pixelbeginpositie worden geselecteerd uit de eerste, tweede en derde reeks van runs, de looplengtebewerkingsoperatie als resulterende pixelwaarde van de 20 resulterende run het gewogen gemiddelde neemt van de pixelwaarden van de geselecteerde runs uit de eerste en tweede reeks van runs met als weegfactor de pixelwaarde van de runs uit de derde reeks van runs en als resulterende looplengte van de resulterende run de kleinste looplengte neemt van de geselecteerde runs van de eerste, tweede en derde reeks van runs, 25 de inkortingsstap de looplengte van de grootste geselecteerde looplengte inkort met de lengte van de resulterende looplengte en de stapgroottebepalingstap als stapgrootte de resulterende looplengte neemt.
5. Werkwijze volgens conclusie 1 of 2, gekenmerkt doordat 30 de eerste en tweede selectiestappen runs selecteren met een identieke pixelbeginpositie uit een eerste respectievelijk tweede opeenvolgende beeldlijn waarbij in het geval dat de looplengtes van de geselecteerde runs allen groter dan één zijn; de looplengtebewerkingsoperatie het middelen omvat van de pixelwaarde van 35 een run uit de eerste beeldlijn met de pixelwaarde van een run uit de tweede beeldlijn waarbij als resulterende pixelwaarde van de resulterende run de aldus bepaalde gemiddelde pixelwaarde wordt genomen en waar verder als resulterende 1005084 looplengte van de resulterende run de helft van de kleinste looplengte van de looplengtes van de beide runs wordt gekozen, de inkortingsstap de looplengte van de grootste geselecteerde run inkort met twee maal de lengte van de resulterende looplengte en 5 de stapgroottebepalingsstap als stapgrootte twee maal de in de voorafgaande looplengtebewerkingsoperatie bepaalde resulterende looplengte neemt. 1005084
NL1005084A 1997-01-24 1997-01-24 Werkwijze voor het uitvoeren van een beeldbewerkingsoperatie op looplengte gecodeerde bitmaps. NL1005084C2 (nl)

Priority Applications (5)

Application Number Priority Date Filing Date Title
NL1005084A NL1005084C2 (nl) 1997-01-24 1997-01-24 Werkwijze voor het uitvoeren van een beeldbewerkingsoperatie op looplengte gecodeerde bitmaps.
JP10010617A JPH10229492A (ja) 1997-01-24 1998-01-22 ランレングス符号化ビットマップに画像処理操作を行う方法及びこの方法を実行する画像処理装置
US09/012,559 US6078691A (en) 1997-01-24 1998-01-23 Method, apparatus, and article of manufacture for performing image processing operations on runlength-encoded bitmaps
EP98200191A EP0855680B1 (en) 1997-01-24 1998-01-23 Runlength-encoded image manipulation
DE69813329T DE69813329T2 (de) 1997-01-24 1998-01-23 Manipulation von in Lauflänge kodierten Bildern

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
NL1005084 1997-01-24
NL1005084A NL1005084C2 (nl) 1997-01-24 1997-01-24 Werkwijze voor het uitvoeren van een beeldbewerkingsoperatie op looplengte gecodeerde bitmaps.
US09/012,559 US6078691A (en) 1997-01-24 1998-01-23 Method, apparatus, and article of manufacture for performing image processing operations on runlength-encoded bitmaps
US1255998 1998-01-23

Publications (1)

Publication Number Publication Date
NL1005084C2 true NL1005084C2 (nl) 1998-07-27

Family

ID=26642521

Family Applications (1)

Application Number Title Priority Date Filing Date
NL1005084A NL1005084C2 (nl) 1997-01-24 1997-01-24 Werkwijze voor het uitvoeren van een beeldbewerkingsoperatie op looplengte gecodeerde bitmaps.

Country Status (4)

Country Link
US (1) US6078691A (nl)
EP (1) EP0855680B1 (nl)
JP (1) JPH10229492A (nl)
NL (1) NL1005084C2 (nl)

Families Citing this family (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0997002A2 (en) * 1998-05-13 2000-05-03 Koninklijke Philips Electronics N.V. Encoding of an input information signal
US7257158B1 (en) 1998-05-18 2007-08-14 Kendyl A. Román System for transmitting video images over a computer network to a remote receiver
US7233619B1 (en) 1998-12-21 2007-06-19 Roman Kendyl A Variable general purpose compression for video images (ZLN)
US8290034B2 (en) 1998-12-21 2012-10-16 Zin Stai Pte. In, Llc Video transmission and display including bit-wise sub-sampling video compression
US8068544B2 (en) * 1998-12-21 2011-11-29 Zin Stai Pte. In, Llc Compression with doppler enhancement
US20030005428A1 (en) * 2001-05-26 2003-01-02 Roman Kendyl A. Global media exchange
US8416847B2 (en) * 1998-12-21 2013-04-09 Zin Stai Pte. In, Llc Separate plane compression using plurality of compression methods including ZLN and ZLD methods
US7671864B2 (en) * 2000-01-14 2010-03-02 Roman Kendyl A Faster image processing
US8170095B2 (en) * 1998-12-21 2012-05-01 Zin Stai Pte. In, Llc Faster image processing
US7016417B1 (en) * 1998-12-23 2006-03-21 Kendyl A. Roman General purpose compression for video images (RHN)
US8004572B2 (en) * 1999-05-17 2011-08-23 Zin Stai Pte. In, Llc System for transmitting a video stream over a computer network to a remote receiver
AUPQ251999A0 (en) 1999-08-27 1999-09-23 Canon Kabushiki Kaisha Run-based compositing
AU746985B2 (en) * 1999-08-27 2002-05-09 Canon Kabushiki Kaisha Run-based compositing
US6803931B1 (en) 1999-11-04 2004-10-12 Kendyl A. Roman Graphical user interface including zoom control box representing image and magnification of displayed image
US7191462B1 (en) * 1999-11-08 2007-03-13 Kendyl A. Román System for transmitting video images over a computer network to a remote receiver
JP4136292B2 (ja) * 2000-08-09 2008-08-20 株式会社リコー 画像処理装置
JP2002091407A (ja) * 2000-09-20 2002-03-27 Ricoh Co Ltd 画像表示装置
US7016547B1 (en) * 2002-06-28 2006-03-21 Microsoft Corporation Adaptive entropy encoding/decoding for screen capture content
US7433824B2 (en) * 2002-09-04 2008-10-07 Microsoft Corporation Entropy coding by adapting coding between level and run-length/level modes
DE60330198D1 (de) 2002-09-04 2009-12-31 Microsoft Corp Entropische Kodierung mittels Anpassung des Kodierungsmodus zwischen Niveau- und Lauflängenniveau-Modus
US7688894B2 (en) * 2003-09-07 2010-03-30 Microsoft Corporation Scan patterns for interlaced video content
US7782954B2 (en) * 2003-09-07 2010-08-24 Microsoft Corporation Scan patterns for progressive video content
US7724827B2 (en) * 2003-09-07 2010-05-25 Microsoft Corporation Multi-layer run level encoding and decoding
JP4609141B2 (ja) * 2005-03-25 2011-01-12 富士ゼロックス株式会社 画像処理装置、画像処理方法及び画像処理プログラム
US7684981B2 (en) * 2005-07-15 2010-03-23 Microsoft Corporation Prediction of spectral coefficients in waveform coding and decoding
US7693709B2 (en) * 2005-07-15 2010-04-06 Microsoft Corporation Reordering coefficients for waveform coding or decoding
US7599840B2 (en) * 2005-07-15 2009-10-06 Microsoft Corporation Selectively using multiple entropy models in adaptive coding and decoding
US7933337B2 (en) * 2005-08-12 2011-04-26 Microsoft Corporation Prediction of transform coefficients for image compression
US8599925B2 (en) * 2005-08-12 2013-12-03 Microsoft Corporation Efficient coding and decoding of transform blocks
US7565018B2 (en) * 2005-08-12 2009-07-21 Microsoft Corporation Adaptive coding and decoding of wide-range coefficients
US8184710B2 (en) * 2007-02-21 2012-05-22 Microsoft Corporation Adaptive truncation of transform coefficient data in a transform-based digital media codec
US7774205B2 (en) * 2007-06-15 2010-08-10 Microsoft Corporation Coding of sparse digital media spectral data
US8179974B2 (en) 2008-05-02 2012-05-15 Microsoft Corporation Multi-level representation of reordered transform coefficients
CN101600029B (zh) * 2008-06-06 2013-05-08 博通集成电路(上海)有限公司 背景噪声降低系统及方法
US8406307B2 (en) 2008-08-22 2013-03-26 Microsoft Corporation Entropy coding/decoding of hierarchically organized data
JP5740149B2 (ja) * 2010-12-22 2015-06-24 クラリオン株式会社 表示制御装置、表示レイヤ合成プログラム
KR101508409B1 (ko) 2011-12-27 2015-04-08 삼성전기주식회사 Mrlc를 이용한 오버레이 구현 장치 및 방법

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5856575A (ja) * 1981-09-29 1983-04-04 Fujitsu Ltd 画像デ−タ拡大方式
JPS5981961A (ja) * 1982-11-02 1984-05-11 Hitachi Ltd 画像処理方法
EP0279420A2 (en) * 1987-02-20 1988-08-24 International Business Machines Corporation Method and apparatus for creating transposed image data from a run end or run length representation of an image
US4792981A (en) * 1987-09-21 1988-12-20 Am International, Inc. Manipulation of run-length encoded images
EP0407614A1 (en) * 1989-02-02 1991-01-16 Dai Nippon Insatsu Kabushiki Kaisha Image processing apparatus

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3089062B2 (ja) * 1991-10-17 2000-09-18 キヤノン株式会社 画像処理装置及び方法
US5327248A (en) * 1992-03-23 1994-07-05 Ricoh Company, Ltd. Compressed image virtual editing system

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5856575A (ja) * 1981-09-29 1983-04-04 Fujitsu Ltd 画像デ−タ拡大方式
JPS5981961A (ja) * 1982-11-02 1984-05-11 Hitachi Ltd 画像処理方法
EP0279420A2 (en) * 1987-02-20 1988-08-24 International Business Machines Corporation Method and apparatus for creating transposed image data from a run end or run length representation of an image
US4792981A (en) * 1987-09-21 1988-12-20 Am International, Inc. Manipulation of run-length encoded images
EP0407614A1 (en) * 1989-02-02 1991-01-16 Dai Nippon Insatsu Kabushiki Kaisha Image processing apparatus

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
HOSHINO T ET AL: "PATTERN COLORING TERMINAL USING RUN-LENGTH CODING", SYSTEMS, COMPUTERS, CONTROLS, vol. 13, no. 1, February 1982 (1982-02-01), pages 82 - 89, XP000645228 *
PATENT ABSTRACTS OF JAPAN vol. 007, no. 144 (E - 183) 23 June 1983 (1983-06-23) *
PATENT ABSTRACTS OF JAPAN vol. 008, no. 194 (E - 264) 6 September 1984 (1984-09-06) *

Also Published As

Publication number Publication date
JPH10229492A (ja) 1998-08-25
EP0855680B1 (en) 2003-04-16
EP0855680A1 (en) 1998-07-29
US6078691A (en) 2000-06-20

Similar Documents

Publication Publication Date Title
NL1005084C2 (nl) Werkwijze voor het uitvoeren van een beeldbewerkingsoperatie op looplengte gecodeerde bitmaps.
US4918541A (en) Image processing method and apparatus
KR0154739B1 (ko) 프랙탈 영상 압축 장치 및 방법
US6836564B2 (en) Image data compressing method and apparatus which compress image data separately by modifying color
US6351570B1 (en) Image coding and decoding apparatus, method of image coding and decoding, and recording medium for recording program for image coding and decoding
JP2949066B2 (ja) 圧縮方法、伸長方法、並列コンテキストモデラー、並列エントロピーコーダー、並列エントロピーデコーダー、画像圧縮装置及び画像伸長装置
US5355167A (en) Orthogonal transform coding apparatus
US6614939B1 (en) Image compression apparatus and decoding apparatus suited to lossless image compression
US4841377A (en) Continuous image estimation method
KR20000052771A (ko) 벡터양자화 코드북 발생방법
US5113457A (en) Image information code processing system
US6021230A (en) Interpolation method for binary image
US5912742A (en) Image data compression-expansion circuit
US6512853B2 (en) Method and apparatus for compressing digital image data
EP0845191B1 (en) A method and apparatus for compressing digital image data
US6647143B1 (en) Method and device of compressing digital image data
JP3509397B2 (ja) マルコフモデル画像符号化装置
JP4432469B2 (ja) 符号化装置、符号化方法及びそのプログラム
JP3527415B2 (ja) ベクトル量子化で用いるコードブックの作成装置および方法、ベクトル量子化方法、記録媒体
JPS63164575A (ja) 画像デ−タの符号化方式
EP0387013B1 (en) Data encoding
US7155062B1 (en) System and method for performing pattern matching image compression
JP3070535B2 (ja) パタンマッチング符号化装置、パタンマッチング符号化方法及びパタンマッチング符号化装置の制御プログラムを記録した媒体
JP2861816B2 (ja) パターン認識辞書生成装置とパターン認識装置
JPH0123034B2 (nl)

Legal Events

Date Code Title Description
PD2B A search report has been drawn up
VD1 Lapsed due to non-payment of the annual fee

Effective date: 20040801