NO329337B1 - Filer med blandet raster-innhold - Google Patents

Filer med blandet raster-innhold Download PDF

Info

Publication number
NO329337B1
NO329337B1 NO20031441A NO20031441A NO329337B1 NO 329337 B1 NO329337 B1 NO 329337B1 NO 20031441 A NO20031441 A NO 20031441A NO 20031441 A NO20031441 A NO 20031441A NO 329337 B1 NO329337 B1 NO 329337B1
Authority
NO
Norway
Prior art keywords
layer
color
pixel
foreground
images
Prior art date
Application number
NO20031441A
Other languages
English (en)
Other versions
NO20031441L (no
NO20031441D0 (no
Inventor
Henry W Burgess
Ming Liu
Raman Narayanan
Radoslav Nickolov
Wei Zhu
Original Assignee
Microsoft Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Corp filed Critical Microsoft Corp
Publication of NO20031441D0 publication Critical patent/NO20031441D0/no
Publication of NO20031441L publication Critical patent/NO20031441L/no
Publication of NO329337B1 publication Critical patent/NO329337B1/no

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/60Editing figures and text; Combining figures or text
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/40Document-oriented image-based pattern recognition
    • G06V30/41Analysis of document content
    • G06V30/413Classification of content, e.g. text, photographs or tables
    • 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/41Bandwidth or redundancy reduction

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Multimedia (AREA)
  • Artificial Intelligence (AREA)
  • Signal Processing (AREA)
  • Human Computer Interaction (AREA)
  • General Engineering & Computer Science (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)
  • Processing Or Creating Images (AREA)
  • Image Generation (AREA)
  • Medicines Containing Antibodies Or Antigens For Use As Internal Diagnostic Agents (AREA)
  • Analysing Materials By The Use Of Radiation (AREA)
  • Holo Graphy (AREA)
  • Image Processing (AREA)
  • Medicines That Contain Protein Lipid Enzymes And Other Medicines (AREA)
  • Record Information Processing For Printing (AREA)
  • Communication Control (AREA)

Abstract

Et system og en prosess for å generere og anvende filer med blandet raster-innhold er beskrevet MRC-filer kan skapes direkte fra en applikasjon, heller enn å prosesseres fra et sammensatt bilde, for å separere ett enkelt bilde til bakgrunns-, forgrunns- og utvelgermasker for hver side. Videre beskrives en forbedret MRC-struktur der kun relevante andeler er inneholdt i bakgrunns-, forgrunns- og utvelgerlagene for hver side.

Description

[01 ] Aspekter ved foreliggende oppfinnelse er rettet mot det å generere og anvende filer. Mer spesifikt vedrører foreliggende oppfinnelse det å generere og anvende filer med blandet raster-innhold.
[02] Bruken av ikke-modifiserbare filer har økt med fremveksten av internett. Ett standard filformat for å publisere dokumenter er filformatet Adobe Acrobat (i alminnelighet assosiert med filendelsen .PDF). Andre filformater omfatter JPEG og punktgrafikk-filer. En fordel med disse filene er at en kan anvende disse filformatene for å utveksle informasjon over internett med minimal bekymring for modifikasjon av dokumentene.
[03] Et annet filformat som er vanlig å anvende er MRC-filer (mixed-raster-content), det vil si filer med blandet raster-innhold. Dette filformatet deler inn et bilde i tre like store bilder og lagrer dem med forskjellig oppløsning, og, i enkelte tilfeller, med forskjellige komprimeringsforhold eller -teknologier. Figur 2 viser en typisk prosess for å generere MRC-filer. En bildegenerator 301 produserer et kildebilde 302. Kildebildet 302 har en bildeoppløsning på 300 dpi. Kildebildet 302 deles av en separeringsprosess 303 inn i tre separate bilder 304-306. De tre separate bildene omfatter et sort/hvitt (S/H) maskebilde 304, en bildeforgrunn 305 og en bildebakgrunn 306. De tre bildene 304-306 harde samme dimensjonene (x,y) som kildebildet 302.1 figur 2 er oppløsningen til de tre bildene 304-306 henholdsvis vist som 300 dpi, 300 dpi og 100 dpi. De tre bildene kan selektivt komprimeres i en komprimeringsprosess 307 i forskjellige forhold ved hjelp av forskjellige typer komprimeringsteknologier.
[04] Tross fordelene ved det å kunne dekomponere et kildebilde 302 til forskjellige andre filer 304-306, er dekomponeringsprosessen (separasjonsprosessen 303) for MRC-filder tidkrevende, som er velkjent for fagmannen. Separasjonsprosessen 303 forsøker å analysere alle komponentene av et bilde og separere ut aspekter for innlemmelse i hver av filene 304-306. Det eksisterer et behov for å generere MRC-filer uten den lange forsinkelsen.
[05] Videre kan komposittfilene 304-306 være store, selv om de har lite innhold. Figur 3 viser et eksempel på en konvensjonell MRC-fil. Filen omfatter tre lag, inklusive et bakgrunnslag 401, et utvelgerlag eller sort/hvitt-lag eller maskelag 402 og et forgrunnslag 403. For illustrasjonsformål er det sammensatte bildet 411 vist som det resulterende bildet når de tre lagene (401-403) er kombinert. Som kjent for fagmannen har bakgrunnlaget en fargeoppløsning per piksel som er 24 bit per piksel (24 bpp), utvelgerlaget en fargeoppløsning per piksel som er 1 bpp og forgrunnslaget en fargeoppløsning på 24 bpp.
[06] Hvert lag omfatter ett bilde. Hvert bilde har samme dimensjoner (x,y)
(som vist i figurene 2 og 3). For eksempel omfatter bakgrunnslaget 401 ett bilde med innhold 404 i senteret. Utvelgerlaget 402 omfatter ett bilde med tredelt innhold 405-407. Innholdet 405 er "Sort tekst", som er ment å representere sort tekst. Innholdet 406 er "Fargetekst A", som er tekst som har en farge A i det sammensatte bildet 411, men som likevel i utvelgerlaget 402 er representert som sort tekst. Dette er fordi utvelgerlaget 402 har en fargeoppløsning som kun er 1 bpp. Tilsvarende er innholdet 407 "Fargetekst B", som er tekst som har en farge B i det sammensatte bildet 411, men som likevel er sort tekst i utvelgerlaget 402. Forgrunnslaget 403 omfatter tre sett av fargepaletter omfattende sort 408, farge A 409 og farge B 410. Et problem med MRC-filen i figur 3 er den betydelige mengden ubrukt plass. Den ubenyttede plassen øker den underliggende bildestørrelsen i hvert lag. Denne ubenyttede plassen øker tiden som er nødvendig for innkodings-, dekodings- og komprimeringstrinnene. Videre resulterer kombinasjonen av ubenyttet plass og innhold noen ganger i dårlig komprimering av lagene. Følgelig er det behov for å minimere mengden av ubenyttet plass i komposittfilene 304-306.
Bottou U et al: "Efficient conversion of digital documents to multilayer raster formats" Document Analysis and Recognition, 2001. Proceedings, Sixth International Conference on Seattle, WA, USA, 10-13 Sept. 2001, side 444-448, diskuterer hvordan beskrivelsen av et digitalt dokument kan omgjøres til noe effektivt for flerlags rasterformater.
Den foreliggende oppfinnelsen er definert i de selvstendige kravene 1, 2, 4, 5, 7, 8, 10, 11 og 12. Foretrukkede utførelsesformer er angitt i de tilhørende uselvstendige krav.
[07] Aspekter er rettet mot det å generere og anvende MRC-filer for å fylle ett eller flere av de ovenfor beskrevne behovene. I enkelte aspekter blir MRC-filer generert av printerdrivere uten at de trenger å prosesseres i en separeringsprosess. I andre utførelsesformer kan hvert lag i MRC-filer omfatte ett eller flere bilder (eller underbilder) for å muliggjøre en komprimering som er mer effektiv enn det å ha ett enkelt bilde som dekker hvert lag. Disse forskjellige aspektene kan anvendes separat eller i kombinasjon.
[08] Disse og andre særtrekk ved oppfinnelsen vil være åpenbare etter en gjennomgang av det etterfølgende detaljerte beskrivelsen av forskjellige utførelsesformer.
[09] Den foregående oppsummeringen av oppfinnelsen, så vel som den etterfølgende detaljerte beskrivelsen av foretrukne utførelsesformer, vil forstås bedre når de leses sammen med de vedlagte figurene, som er inkludert som eksempler og ikke som begrensninger med hensyn til oppfinnelsen som kreves.
[10] Figur 1 er et skjematisk diagram av et generelt digitalt datamaskinmiljø som kan anvendes for å implementere forskjellige aspekter ved oppfinnelsen.
[11] Figur 2 viser en konvensjonell prosess for å skape en fil med blandet raster-innhold.
[12] Figur 3 viser en fil med blandet raster-innhold av den konvensjonelle typen.
[13] Figur 4 viser en prosess for å skape en fil med blandet raster-innhold i henhold til aspekter ved oppfinnelsen.
[14] Figur 5 viser et eksempel på en fil med blandet raster-innhold i henhold til aspekter ved foreliggende oppfinnelse.
[15] Figur 6 viser et annet eksempel på en fil med blandet raster-innhold i henhold til aspekter ved foreliggende oppfinnelse.
[16] Figurene 7A og 7B viser forskjellige prosesser for å skape filer med blandet raster-innhold i henhold til aspekter ved foreliggende oppfinnelse.
[17] Figurene 8A og 8B viser alternative prosesstrinn for prosessen i figur 7A.
[18] Figurene 9A og 9B viser forskjellige prosesser for å gjengi et sammensatt bilde fra en fil med blandet raster-innhold i henhold til aspekter ved foreliggende oppfinnelse.
[19] Figur 10 viser en annen eksempelvis prosess for å skape en fil med blandet raster-innhold i henhold til aspekter ved foreliggende oppfinnelse.
[20] Figur 11 viser en eksempelvis prosess for å flette sammen bilder i henhold til aspekter ved foreliggende oppfinnelse.
[21] Figur 12 viser forskjellige resultater av å flette sammen bilder i henhold til aspekter ved foreliggende oppfinnelse.
[22] Figur 13 viser en eksempelvis prosess for å sette innbyrdes nærhetsverdi mellom bilder i henhold til aspekter ved foreliggende oppfinnelse.
[23] Figur 14 viser to bilder og forskjellige representasjoner av plassen som opptas ved sammenslåing av disse i henhold til aspekter ved foreliggende oppfinnelse.
[24] Figurene 15A, 15B og 15C viser forskjellige muligheter for det å beregne plassforbruk for kombinerte bilder i henhold til aspekter ved foreliggende oppfinnelse.
[25] Den følgende beskrivelsen er rettet mot filer med blandet raster-innhold. Det er underforstått at de beskrevne konseptene og fremgangsmåtene kan anvendes for andre typer filer. Det beskrives også forskjellige prosesser. Disse prosessene er gitt som eksempler som kan anvendes, og betraktes ikke som de eneste mulige fremstillingene av de forskjellige prosessene som kan anvendes for å generere eller anvende de forbedrede filene med blandet raster-innhold. Videre betegnes generelt fargen til pikslene i utvelgerlaget som sort og hvit. Det er underforstått at utvelgerlaget kun kan ha en fargeoppløsning på 1 bit per piksel og derfor kun kan representere pikslene som av eller på (eller fargetilstand 1 og fargetilstand 0). Sort og hvitt anvendes for å forenkle terminologien. Hvilke som helst farger kan imidlertid anvendes i stedet for disse (f. eks. fuksia og cyan), eller "av og på" og liknende.
[26] Figur 1 illustrerer et skjematisk diagram av et konvensjonelt digitalt datamaskinmiljø som kan anvendes for å implementere forskjellige aspekter ved foreliggende oppfinnelse. I figur 1 omfatter en datamaskin 100 en prosesseringsenhet 110, et systemminne 120 og en systembuss 130 som kopler forskjellige systemkomponenter inklusive systemminnet til prosesseringsenheten 110. Systembussen 130 kan være en hvilken som helst blant mange typer systembusser, inklusive en minnebuss eller minnekontroller, en periferibuss og en lokal buss som anvender en hvilken som helst av en rekke tilgjengelige bussarkitekturer. Systemminnet 120 omfatter et leseminne (ROM, read-only-memory) 140 og et hurtigaksessminne (RAM, random-access-memory) 150.
[27] Et BIOS (basic input/output system) 160, som inneholder de grunnleggende rutinene som overfører informasjon mellom elementer i datamaskinen 100, for eksempel under oppstart, er lagret i ROM 140. Datamaskinen 100 omfatter også en harddiskstasjon 170 for å lese fra og skrive til en harddisk (ikke vist), en magnetdiskstasjon 180 for å lese fra eller skrive til en flyttbar magnetdisk 190 og en optisk-disk stasjon 191 for å lese fra eller skrive til en flyttbar optisk disk 192, så som et CD-ROM eller et annet optisk medium. Harddiskstasjonen 170, magnetdiskstasjonen 180 og optisk-disk stasjonen 191 er henholdsvis koplet til systembussen 130 via et harddiskstasjon-grensesnitt 192, et magnetdiskstasjon-grensesnitt 193 og et optisk-disk stasjon grensesnitt 194. Stasjonene og deres assosierte datamaskin-lesbare medier tilveiebringer ikke-volatil lagring av datamaskin-lesbare instruksjoner, datastrukturer, programmoduler og andre data for den personlige datamaskinen 100. Fagmannen vil forstå at andre typer datamaskin-lesbare medier med evne til å lagre data som kan aksesseres av en datamaskin, så som magnetkassettter, flashminnekort, digitale bildedisker, Bernoulli-kassetter, RAM, ROM og liknende, også kan anvendes i det eksemplifiserte operasjonsmiljøet.
[28] Et antall programmoduler kan være lagret i harddiskstasjonen 170 magnetdisken 190, den optiske disken 192, ROM 140 eller RAM 150, inklusive et operativsystem 195, ett eller flere applikasjonsprogrammer 196, andre programvaremoduler 197 og programdata 198. En bruker kan mate inn kommandoer og informasjon til datamaskinen 100 via innmatingsanordninger så som et tastatur 101 og en pekeranordning 102. Andre innmatingsanordninger (ikke vist) kan omfatte en mikrofon, styrespak, spillkontroll, parabolantenne, skanner eller liknende. Disse og andre innmatingsanordninger er ofte forbundet med prosesseringsenheten 110 via et serieport-grensesnitt 106 som er koplet til systembussen, men kan også være forbundet via andre grensesnitt, så som en parallellport, en spillutgang eller en universell seriell buss (USB). Videre kan disse anordningene også være koplet direkte til systembussen 130 via et passende grensesnitt (ikke vist). En monitor 107 eller en annen type skjermanordning er også koplet til systembussen 130 via et grensesnitt, så som et skjermkort 108.1 tillegg til monitoren omfatter personlige datamaskiner typisk andre periferi-utmatingsanordninger (ikke vist), så som høyttalere og skrivere. I noen utførelsesformer er det tilveiebragt en skriftdigitaIisator 165 og en tilhørende penn eller posisjonspeker 166 for å digitalisere frihånds inntegnet informasjon. Selv om en forbindelse mellom skriftdigitalisatoren 165 og serieportsgrensesnittet 106 er vist, kan skriftdigitalisatoren 165 i praksis være koplet direkte til prosesseringsenheten 110, via et parallellports- eller annet grensesnitt og systembussen 130, som er velkjent for fagmannen. Videre, selv om skriftdigitalisatoren 165 er vist atskilt fra monitoren 107, kan det skrivbare innmatingsområdet for skriftdigitalisatoren 165 sammenfalle med skjermarealet til monitoren 107. Enda videre kan skriftdigitalisatoren 165 være integrert i monitoren 107, eller kan eksistere som en separat anordning som ligger over eller på annen måte er vedheftet eller påbygget monitoren 107.
[29] Datamaskinen 100 kan operere i et nettverksmiljø via logiske forbindelser til én eller flere fjerndatamaskiner, så som en fjerndatamaskin 109. Fjerndatamaskinen 109 kan være en server, en ruter, en nettverks-PC, en peer-anordning eller en annen vanlig nettverksnode, og omfatter typisk mange av eller alle de elementene som er beskrevet ovenfor i forbindelse med datamaskinen 100, selv om kun en minnelagringsanordning 111 er illustrert i figur 1. De logiske forbindelsene som er vist i figur 1 omfatter et lokalt nettverk (LAN) 112 og et fjernnett (WAN) 113. Slike nettverksmiljøer er vanlige for kontorer, bedriftsomspennende datanettverk, intranett og internett.
[30] Når den anvendes i et LAN er datamaskinen 100 forbundet til det lokale nettverket 112 via et nettverksgrensesnitt eller nettverkskort 114. Når den anvendes i et WAN omfatter den personlige datamaskinen 100 typisk et modem 115 eller andre anordninger for å etablere en kommunikasjonslink over fjernnettverket 113, for eksempel internett. Modemet 115, som kan være internt eller eksternt, er koplet til systembussen 130 via serieport-grensesnittet 106.1 et nettverksmiljø kan programvaremoduler som er vist i forbindelse med den personlige datamaskinen 100, eller deler av denne, være lagret i den på et annet sted lokaliserte minnelagringsanordningen.
[31] En vil forstå at de viste nettverksforbindelsene kun er eksempler, og at det kan anvendes andre teknikker for å etablere en kommunikasjonslink mellom datamaskinene. Eksistensen av de forskjellige velkjente protokollene, så som TCP/IP, Ethernet, FTP, HTTP og liknende, tas forgift, og systemet kan opereres i et klient-tjener miljø slik at en bruker kan laste ned nettsider fra en nettserver. En hvilken som helst av forskjellige konvensjonelle nettlesere kan anvendes for å vise og manipulere informasjon på nettsider.
[32] Figur 4 viser en prosess for å skape en fil med blandet raster-innhold i henhold til aspekter ved oppfinnelsen. En bildegenerator 500 (for eksempel et tegneprogram, et tekstbehandlingsprogram, et nettbasert publiseringssystem eller liknende) produserer innholdet i MRC-filen (de tre lagene: utvelgerlaget 502, forgrunnslaget 503 og bakgrunnslaget 504) uten å skape et sammensatt bilde som må konverteres (dvs. separeres) ved hjelp av prosessen 303 i figur 2. Det å produsere denne filen kan omfatte funksjonskall til en grafikkgjengivelsesmotor 501 (for eksempel GDI API-et som er tilgjengelig fra Microsoft Corporation i Redmond, Washington). Andre grafikkmotorer 501 kan også anvendes. Alternativt kan gjengivelsesprosessen i sin helhet foregå i bildegeneratoren 500. Endelig kan MRC-filen eventuelt komprimeres av den selektive komprimeringsmotoren 505. Denne komprimeringen er ikke nødvendig, som er indikert ved at boksen har stiplet ramme.
[33] Figur 5 viser et eksempel på en fil med blandet raster-innhold ifølge aspekter ved foreliggende oppfinnelse. MRC-filen omfatter tre lag: et bakgrunnslag 601, et utvelgerlag 602 og et forgrunnslag 603. Et sammensatt bilde 604 er vist for forklaringsformål. Bakgrunnslaget omfatter innhold 605. Innholdet 605 kan være representert ved et bilde med samme størrelse som det sammensatte bildet 604. Alternativt kan bakgrunnsinnholdet være representert av et bilde som omfatter et avgrensende rektangel som er mindre enn størrelsen til det sammensatte bildet 604. Utvelgerlaget 602 omfatter innhold 606 representert ved "fargetekst A" som, mens det er representert ved tekst som har fontfarge A, utvelgerlaget 606 representerer som sort tekst. Forgrunnslaget 603 omfatter sort tekst 607, et farget rektangel 608 med fargen A og innhold 609 i form av "farget tekst B" med fontfarge B. Det fargede rektangelet 608 kan utelates i en rekke tilfeller. For eksempel dersom teksten består av én farge og kan representeres ved kombinasjonen av utvelger- og bakgrunnslagene. Innholdet 607-609 kan være representert ved ett enkelt bilde med samme størrelse som det sammensatte bildet 604 (tilsvarende beskrivelsen med identisk størrelse ovenfor). Alternativt kan innholdet 607-609 være representert ved to eller flere bilder (eller delbilder). Bildene kan være avgrenset av avgrensningsområder (rektangler eller andre former, som kjent for fagmannen) som er representert ved de avgrensende rammene som omgir hvert av innholdene 607-609.
[34] Som vist i figur 5 anvendes utvelgerlaget 602 når en bildeforgrunn overlapper en bildebakgrunn. I dette tilfellet vil det å flytte innhold til forgrunnslaget fra utvelgerlaget gjøre gjengivelsen raskere, ettersom det ikke er behov for å sjekke og velge ut eller å utføre alfablending når det ikke er noen overlapp mellom forgrunns- og bakgrunnsinnholdet. Et annet aspekt er at ensfarget tekst og visse strektegninger kan lagres som binærbilder i forgrunnslaget med en passende fargepalett, i stedet for å lagres som et binærbilde i utvelgerlaget pluss en fargeavbildning i forgrunnslaget. Det antas at det å flytte innhold ut av utvelgerlaget og inn i forgrunnslaget vil bedre komprimeringen og gjengivelsesytelsen.
[35] En annen kombinasjon er vist i figur 5, der det er tilveiebragt utvelger- og bakgrunnslag, men ikke forgrunnslag. I dette tilfellet, når det er en ikke-hvit piksel i utvelgerlaget, men ingen motsvarende piksel i forgrunnslaget, er fargen til pikselen i det sammensatte bildet den i utvelgerlaget. Denne kombinasjonen er vanlig og kan være mer effektiv med tanke på gjengivelsesytelsen og komprimeringen enn kombinasjonen av bakgrunns-, utvelger- og forgrunnslag.
[36] Forgrunnslaget kan ha en høy fargeoppløsning (for eksempel 24 bbp). I én utførelsesform har alle bildene i forgrunnslaget samme fargeoppløsning. Alternativt kan bildene i forgrunnen ha én eller flere fargeoppløsninger. For eksempel kan innholdet 607 ha en fargeoppløsning på 1 bpp, mens innholdet
608 og 609 har en forskjellig fargeoppløsning på 24 bpp. Det finnes situasjoner der den faktiske fargen som skal assosieres med et område kan bestemmes på grunnlag av mindre enn en høy fargeoppløsning. I nok en annen utførelsesform
kan således innholdet 608 ha en fargeoppløsning på 8 bpp mens innholdet 609 kan ha en fargeoppløsning som er forskjellig fra 1 bpp og 8 bpp (omfattende, men ikke begrenset til, 2 bpp, 4 bpp, 16 bpp, 24 bpp, 32 bpp eller tilsvarende). Det å anvende den fargeoppløsningen som er nødvendig for å representere et spekter av farger (i stedet for en forhåndsvalgt oppløsning for et helt lag) muliggjør en bedre og/eller mer effektiv komprimering ved å eliminere overflødige fargespesifiserende bit per piksel og/eller hurtigere komprimerings-og gjengivelsesytelse.
[37] Evnen til å definere fargeoppløsningen for hvert bilde eller hver samling av bilder i et lag gjelder også for bakgrunnslaget.
[38] Figur 6 viser en annen representasjon av en MRC-fil. Her er bildebakgrunnen 610 kombinert med "fargetekst C" 611 og "sort tekst" 612 for å danne et sammensatt bilde 613. Hvert bilde 610, 611 og 612 har en størrelse som er mindre enn størrelsen til det sammensatte bildet. I dette alternative eksempelet er den kombinerte summen av bilder 610, 611 og 612 mindre enn størrelsen til det sammensatte bildet.
[39] Figur 7A viser en eksempelvis prosess for å skape en fil med blandet raster-innhold i henhold til aspekter ved foreliggende oppfinnelse. Prosessen starter i trinn 701 fra det bildegenererende programmet. Først prosesseres tekst og strektegninger i trinn 702. Dersom det finnes tekst og/eller strektegninger, legges de i trinn 703 til i utvelgerlaget. Fargen til strekene eller teksten anvendes i trinn 704 for å skape et fargeområde for forgrunnen. Fargeområdet kan ha en rektangulær eller en hvilken som helst annen form som er nødvendig for å avgrense området i forgrunnslaget for i tilstrekkelig grad å spesifisere fargen til teksten og/eller strekene fra trinn 702. Deretter prosesseres bildene i bildefilen i trinn 705, og legges til i bakgrunnslaget i trinn 706.
[40] Eksempelet i figur 7A viser muligheten for å prosessere bilder direkte fra et program, som er sendt til en enhetsdriver, eller fra en køordnet metafil. Til motsetning er den konvensjonelle fremgangsmåten for å generere MRC-filen den å ta et intakt, sammensatt bilde og dele det inn i forskjellige komponenter i en separasjonsprosess 303. Separasjonsprosessen 303 er feilutsatt og konsumerer betydelige ressurser for å utføre bildedekomponeringsprosessen. Eksempelet i figur 7A gir imidlertid mulighet for å generere MRC-filer uten separasjonsprosessen, ettersom eksempelet i figur 7A håndterer de forskjellige komponentene av et bilde mens de forskjellige komponentene fremdeles kan aksesseres separat.
[41] Figur 7B viser en alternativ prosess for å generere en MRC-fil. I dette tilfellet, når en grafikkmotor starter MRC-genereringsprosessen i trinn 701, blir grafikkfunksjonskallene i trinn 708 listet med de aktuelle bildeområdene. Listen kan omfatte ett eller flere av følgende for hvert bildeområde: Avgrensningsområde;
Typen grafikk som skal produseres; og
Fargen som anvendes.
[42] Deretter, i trinn 709, dersom bildeområdet er tekst eller strektegninger, legges bildeområdet til i utvelgerlaget i trinn 703.1 motsatt fall, i trinn 710, legges bildeområdet til i forgrunns/bakgrunnslaget. Enhver type bilde legges til i forgrunns/bakgrunnslaget, slik at forgrunns/bakgrunnslaget er en god representasjon av dokumentet.
[43] Figurene 8A og 8B viser forskjellige muligheter for trinn 704 i figur 7A. I figur 8A bestemmes skrift- eller børstefargen for henholdsvis tekst og bilder i trinn 801, og sendes til trinn 803. Videre, i trinn 802, bestemmes også det eller de avgrensende områdene (som kan være rektangler eller andre former som definerer avgrensningen av teksten og/eller strekene), og sendes til trinn 803. Trinnene 801 og 802 kan utføres i hvilken som helst rekkefølge, eller kan også utføres samtidig. Det er videre underforstått at feltene som er bestemt i trinn 802 ikke trenger å være helt fylte. For eksempel kan en strektegning av en sirkel ha et avgrensende område i form av en torus. I trinn 803 blir området eller områdene som er identifisert i trinn 802 malt som fylte områder på forgrunnslaget.
[44] Figur 8B viser et annet alternativ for trinn 704. Først skannes hver piksel i utvelgerlaget 804. Dersom pikselen er sort, hvilket avgjøres i trinn 805, anvendes fargen til bakgrunnspikselen for å fylle inn fargen til en motsvarende forgrunnspiksel i trinn 806. Skannetrinnet 804 kan omfatte hver piksel i hele utvelgerlaget.
[45] Alternativt, ettersom utvelgerlaget kan være delt inn i bilder som inneholder innhold, kan trinn 804 kun skanne bildene i utvelgerlaget. Ettersom det området av utvelgerlaget som ikke opptas av bilder ikke vil inneholde innhold, trenger ikke disse områdene å skannes i trinn 804.
[46] I et annet aspekt ved oppfinnelsen er formatet til MRC-filen modifisert.
Figur 9A viser en eksempelvis prosess for gjengivelse av et sammensatt bilde fra en fil med blandet raster-innhold fra figur 6.1 trinn 901 begynner systemet å konstruere et sammensatt bilde fra de forskjellige MRC-lagene. For alle pikslene i det sammensatte bildet bestemmes det i trinn 902 hvorvidt pikselen er i et utvelgerlag. I så fall bestemmer systemet deretter i trinn 905 om pikselen i utvelgerlaget er hvit. Dersom pikselen er hvit, sjekker systemet i trinn 906 om det finnes en motsvarende piksel i bakgrunnslaget. Dersom det ikke finnes en slik piksel i bakgrunnslaget, anvendes den standard bakgrunnsfargen i trinn 909, ellers anvendes fargen til den motsvarende pikselen i bakgrunnslaget i trinn 910.
[47] Dersom pikselen i utvelgerlaget ikke er hvit i trinn 905, sjekker systemet i trinn 907 hvorvidt det finnes en motsvarende piksel i forgrunnslaget. Dersom det ikke finnes en slik piksel i forgrunnslaget, anvendes fargen til pikselen i utvelgerlaget i trinn 908. Dersom det i trinn 907 finnes en piksel i forgrunnslaget, anvendes fargen til den motsvarende pikselen i forgrunnslaget i trinn 904.
[48] Dersom det ikke finnes noen piksel i utvelgerlaget i trinn 902, bestemmer systemet hvorvidt det finnes en slik piksel i forgrunnslaget i trinn 903. Dersom det finnes en piksel i forgrunnslaget, anvender systemet i trinn 904 fargen til den motsvarende pikselen i forgrunnslaget. Ellers bestemmer systemet i trinn 906 hvorvidt det finnes en piksel i bakgrunnslaget, og fortsetter som beskrevet ovenfor.
[49] Dersom det ikke fantes noen piksel i utvelgerlaget som bestemt i trinn 902, bestemmer systemet hvorvidt det finnes en motsvarende piksel i forgrunnslaget i trinn 903. Hvis nei anvendes fargen til den motsvarende pikselen i bakgrunnslaget (trinn 906). Dersom det ikke finnes en motsvarende piksel i bildebakgrunnen, kan det anvendes en standard pikselfarge (for eksempel hvit eller grå, eller den kan eventuelt merkes som gjennomsiktig). Dersom utkommet av trinn 903 er ja, anvendes fargen fra den motsvarende pikselen i forgrunnslaget (trinn 904).
[50] Figur 9B viser en prosess for å kombinere de flere lagene til et sammensatt bilde. I starten i trinn 901 oppnår systemet de avgrensende rektanglene, eller andre former, for innholdet i lagene. Deretter skaper systemet fire lister. Den første listen (NOL FGBG) representerer områder der forgrunnen ikke overlapper med utvelgerlagets områder og områder der bakgrunnen ikke overlapper med forgrunnens områder. Den andre listen (SEL) representerer områder der utvelgerlaget ikke overlapper med forgrunnslaget. Den tredje listen (SELFG) representerer områder der kun utvelgerlaget og forgrunnslaget overlapper. Den fjerde listen (BGFGSEL) representerer områder der bakgrunns-, utvelger- og forgrunnslagene alle overlapper.
[51] Deretter, i trinn 913, fylles det sammensatte bildet med en standard bakgrunnsfarge. Hver liste prosesseres i trinnene 914-917.1 trinn 914 fylles hvert område i den første listen (NOL_FGBG), når det finnes et forgrunnslag, med bildeforgrunnen. Ellers fylles området med bildebakgrunnen.
[52] I trinn 915 prosesseres hvert område i den andre listen (SEL). Dersom pikselen i utvelgerlaget er hvit, foretas det ingen modifikasjoner av det sammensatte bildet. Ellers anvendes fargen til pikselen i utvelgerlaget.
[53] I trinn 916, for hvert område i den tredje listen (SELFG), dersom pikselen i utvelgerlaget er hvit, foretas det ingen modifikasjoner av det sammensatte bildet. Ellers anvendes fargen til pikselen i forgrunnslaget.
[54] I trinn 917, for hvert område i den fjerde listen (BGFGSEL), dersom pikselen i utvelgerlaget er hvit, anvendes fargen til bakgrunnen. Ellers anvendes fargen til pikselen i forgrunnslaget.
[55] Figur 10 viser en annen eksempelvis prosess for å skape en fil med blandet raster-innhold. Prosessen som er illustrert i figur 10 produserer MRC-filen i figur 6. Prosessen begynner i trinn 1001 der den initieres. I ett eksempel kan trinn 1000 være mottak av en kommando om å printe MRC-filen. Ettersom trinn 1000 kan være en del av en applikasjon, deler av en grafikk-verktøykasse som kalles av en applikasjon eller kan være en rekke andre mekanismer for å igangsette opprettelse av MRC-filen, er trinn 1000 vist i en boks med stiplet ramme.
[56] For enkelhets skyld blir det følgende beskrevet i forbindelse med det å skape MRC-filer i en printerdriver. Det følgende omfatter henvisning til GDI API-et, som er tilgjengelig i operativsystemet WINDOWS® fra Microsoft Corporation, som omfatter forskjellige funksjonskall for bildemanipulering. En må forstå at andre operativsystemer, så som LINUX og APPLE-baserte systemer, vil omfatte variasjoner av de forskjellige funksjonskallene. Følgelig, ettersom alle typer operativsystemer og printerdrivere er ment å dekkes av omfanget til denne beskrivelsen, er henvisningene til GDI-funksjonskall ikke ment å være begrensende, og er utelukkende gitt for forklaringsformål.
[57] For å konstruere en printerdriver ved anvendelse av GDI er en rekke funksjonskall tilgjengelige. Det følgende beskriver et antall funksjonskall som bidrar til å separere innhold til forskjellige lag. Funksjonskallene kan beskrives generelt som DrvXXX GDI API-funksjoner. Spesifikt omfatter de:
• DrvCopyBits
• DrvBitBIt
• DrvStretchBIt
• DrvStrokePath
• DrvFillPath
• DrvStrokeAndFillPath
• DrvLineTo
• DrvTextOut
• DrvAlphaBlend
• DrvGradientFill
• DrvPlgBIt
• DrvStretchBltROP
• DrvTransparentBIt
[58] Disse funksjonskallene er delt inn i forgrunnsgenererende funksjoner og bakgrunnsgenererende funksjoner som følger:
Forgrunnsgenererende funksjoner
• DrvStrokePath
DrvLineTo
DrvTextOut
DrvBitBIt
Bakgrunnsgenererende funksjoner
DrvCopyBits
DrvBitBIt
DrvStretchBIt
DrvAlphaBlend
DrvGradientFill
DrvPlgBIt
DrvStretchBltROP
DrvTransparentBIt
DrvFillPath
DrvStrokeAndFillPath
[59] En forstår at grafikkgjengivere endrer seg over tid. Følgelig er listen ovenfor utelukkende gitt som et eksempel. Det er underforstått at andre funksjonskall kan anvendes eller vil bli kjent for fagmannen, og disse ansees å ligge innenfor rammen av grafikkfunksjoner som vist ovenfor.
[60] For forklaringsformål kan printeprosessen deles inn i to trinn. Disse to trinnene er representert ved den venstre og den høyre halvdelen i figur 10. Under det første trinnet skapes to punktgrafikk- eller bitmap-filer i trinn 1001. De to filene er utvelgerlaget og et kombinert bakgrunns/forgrunnslag. Kombinasjonslaget kan henvises til som BGFG_SURFACE og utvelgerlaget som SELSURFACE. Begge punktgrafikkfilene dekker hele siden. I trinn 1002 avgjør systemet om ett av de mottatte funksjonskallene var et forgrunnsgenererende DrvXXX-kall. Alternativt kan FillPath- og StrokeAndFillPath-funksjonskallene, i motsetning til BitBlt-funksjonskallene, anvendes når en børste er en massiv farge og anvender forskjellige rasteroperasjoner. Om ja gjengir den i trinn 1004 både BGFG_SURFACE og SEL_SURFACE ved å anvende et motsvarende EngXXX-funksjonskall (som er en del av GDI API-et) på BGFG_SURFACE og SEL SURFACE separat. Dersom funksjonskallet var et bakgrunnsgenererende DrvXXX-funksjonskall (representert som "nei" fra bestemmelsestrinnet 1002), gjengir den BGFG_SURFACE ved anvendelse av et motsvarende EngXXX-funksjonskall fra GDI-verktøykassen i trinn 1006.
[61] Videre, for hvert DrvXXX-funksjonskall, skapes en datanode som inneholder i hvert fall deler av følgende informasjon: • Avgrensende rektangel eller område som kan påvirkes av DrvXXX-funksjonskallet. • Fargeverdien til teksten for DrvTextOut-funksjonskallet og for strektegninger.
• En ID for å identifisere typen DrvXXX-funksjonskall.
[62] I tillegg legges hver node til i en liste over bakgrunnselementer (BGEJJST) eller en liste over forgrunnselementer (FGEJJST) for prosessering i det andre trinnet. Prosesstrinnene 1003 og 1005 viser at noden kan bringes inn i hver liste. Ettersom disse trinnene kan gjennomføres før eller etter trinnene 1004 og 1006, er imidlertid trinnene 1003 og 1005 vist med stiplede rammer.
[63] BGFG_SURFACE kan ha samme oppløsning som den høyeste oppløsningen som skal anvendes for bakgrunns- og forgrunnsbildene. Alternativt kan oppløsningen til BGFG_SURFACE settes til samme oppløsning som sideoppløsningen i det endelige bildet.
[64] Det andre trinnet begynner etter at alle DrvXXX-funksjonskallene er prosessert. På dette stadiet er det generert bilder for de tre lagene. I trinn 1007 avgjør prosessen hvorvidt bildene i bakgrunns/forgrunnslisten overlapper. Hvis ja, blir bildene prosessert og lagt til bildene som skal kombineres av MRC-prosessen(e). Dersom bildene ikke overlapper, forsøker prosessen å legge til bildene i utvelgerlisten i trinn 1009. For å avgjøre hvor det er behov for et utvelgerbilde, utføres en skjæringstest for hvert bilde i BGEJJST med hvert bilde i FGEJJST. Alle områder (rektangulære eller ikke) der forgrunnselementer og bakgrunnselementer skjærer hverandre håndteres av et utvelgerbilde.
[65] I én utførelsesform forsøker prosessen å flytte så mye av bildene i utvelgerlaget som mulig inn i forgrunnslaget. I en annen utførelsesform forsøker prosessen å minimere summen av arealene til alle bildene for å redusere den komprimerte størrelsen og øke ytelsen ved komprimerings-, dekomprimerings-og gjengivelsestrinn. I en ytterligere utførelsesform forsøker prosessen å ha et lavest mulig totalt antall bilder i alle lagene. Disse utførelsesformene kan kombineres eller anvendes separat. De er beskrevet samlet for forklaringsformål.
[66] I trinn 1010 forsøker prosessen å redusere antallet elementer eller bilder per lag. For eksempel kan to ikke-overlappende tekstbilder med samme farge kombineres.
[67] I trinn 1010 forsøker prosessen å redusere antallet elementer i lagene. I dette trinnet kombineres elementer fra det samme laget for å gjøre større elementer til store. Det skal bemerkes at dette trinnet vil kunne introdusere nye elementer i listene. Det følgende lister forskjellige fremgangsmåter for å kombinere elementene. Én eller flere av disse kan anvendes for å bestemme hvordan elementer i lagene skal grupperes: • Det kombinerte elementet bør unngå å skape nye overlapper med elementer i andre lag, dersom dette ikke gir fordeler med tanke på andre aspekter som
er listet nedenfor;
• Arealet til det kombinerte elementet bør ikke være mye større enn summen av de individuelle elementene. Det kan settes en terskelverdi (for eksempel 30% - 40%) som en sammenlikner mot for å avgjøre når et kombinert
eement blir for stort; og
• Gjengivelses-spesifikke funksjonskall kan ha kvalifikatorer (for eksempel bør ikke forgrunnselementer som er skapt ved hjelp av DrvTextOut kombineres med elementer som er skapt ved hjelp av andre DrvXXX-funksjonskall fordi de kan ha forskjellige BPP-verdier. Videre, i forgrunnselementer som er skapt ved hjelp av DrvTextOut, kan kun elementer med samme farge kombineres).
[68] Etter at det er bestemt hvordan siden skal dekomponeres, foreligger det tre lister: • BGEJJST;
• SLEJJST; og
• FGEJJST.
[69] Hver liste inneholder en liste over noder som beskriver området (f.eks. et rektangel eller en annen form) som skal skjæres ut fra siden. I en ytterligere utførelsesform kan listene omfatte en skalafaktor som beskriver hvordan bildet i listen skal skaleres i det endelige bildet. Skalafaktoren gjør det mulig å lagre hvert bildeelement med forskjellig oppløsning, selv innenfor samme lag.
[70] Endelig gjengis de forskjellige lagene i trinn 1011. For hvert element i listen av bakgrunnselementer som ikke skjærer utvelgerbilder kan det skapes et bilde ved å skjære ut et område fra BGFG_SURFACE og plassere det i bakgrunnslaget. For hvert element i listen av forgrunnselementer som ikke skjærer utvelgerbilder kan det skapes et bilde ved å skjære ut et område fra SEL_SURFACE og legge det til i forgrunnslaget. For elementer i bakgrunns- og forgrunnslisten som skjærer utvelgerbilder skapes det bilder for hvert lag ved å anvende både SEL_SURFACE og BGFG_ SURFACE.
[71] For eksempel, også med henvisning til skjærings/piksel-for-piksel sammenlikningsmuligheten i figur 9B, kan, med et bakgrunnselement som skjærer utvelgerbildet, bildebakgrunnen konstrueres ved å skjære ut et område fra BGFG_ SURFACE. Deretter, for hver piksel i bildebakgrunnen, sjekker prosessen den motsvarende pikselen i SEL_ SURFACE. Dersom pikselen i SEL_ SURFACE er sort, erstattes pikselverdien i bildebakgrunnen med en nærliggende bakgrunnspiksel hvis motsvarende piksel i SEL_ SURFACE er hvit. For et forgrunnselement som skjærer utvelgerbildet kan bildeforgrunnen konstrueres ved å skjære ut et område fra BGFG_ SURFACE. Deretter, for hver piksel i bildeforgrunnen, sjekker prosessen den motsvarende pikselen i SEL_ SURFACE. Dersom pikselen i SEL_ SURFACE er hvit, erstattes pikselverdien i bildebakgrunnen med en nærliggende forgrunnspiksel hvis motsvarende piksel i SEL_ SURFACE er sort. Én fordel ved å flytte bilder til utvelgerlaget og/eller redusere antallet bilder per lag er at de resulterende lagene kan komprimeres med bedre effektivitet.
[72] Som nevnt ovenfor kan det anvendes forskjellige komprimeringsteknikker for å komprimere de forskjellige bildene. For eksempel kan en komprimere hvert bilde som er 1 bpp ved anvendelse av G4-komprimering. Hvert bilde som er 24 bpp kan komprimeres med JPEG-komprimering, som er velkjent for fagmannen.
[73] Figur 11 viser en prosess for å flette sammen bilder. Bildene kan prosesseres samlet, eller kan deles inn i grupper (i det følgende betegnet "bildesett"). Bildene i bildesettene kan være gruppert etter typen bilde. Alternativt kan bildesettene være gruppert i den rekkefølgen de er skapt. Bildesettene kan ha et forbestemt maksimalt antall bilder, men dette er ikke nødvendig.
[74] I figur 11 omfatter bildesett 1 N bilder. Bildene er arrangert i rekkefølge etter hvor nær de er hverandre. Nærhet er beskrevet nedenfor i forbindelse med figur 13. Nærhet kan betraktes som de fysiske avstanden mellom bildene, eller kan beskrive hvor nært bildene er hverandre med tanke på flettingsformål. Dersom to bilder overlapper, er deres innbyrdes nærhetsverdi lik "0", hvilket betyr at de har den laveste nærhetsverdien og således bør flettes. Bildepar som ikke bør flettes kan gis en nærhetsverdi som er 1 eller høyere. Det er underforstått at en hvilken som helst skala kan anvendes for å beskrive nærhet.
[75] Alle bildene i bildesett 1 sammenliknes med hverandre, og hvert par av bilder rangeres etter innbyrdes nærhetsverdi. Dersom N = 5 i figur 11, vil bildeparene være som følger:
Bilde 1, Bilde 2
Bilde 1, Bilde 3
Bilde 1, Bilde 4
Bilde 1, Bilde 5
Bilde 2, Bilde 3
Bilde 2, Bilde 4
Bilde 2, Bilde 5
Bilde 3, Bilde 4
Bilde 3, Bilde 5
Bilde 4, Bilde 5
[76] Nærhetsverdien for hvert par bestemmes, og parene ordnes som vist i figur 11 for bildesett 1 på venstre side i figuren.
[77] I trinn 1101, for det første bildeparet, avgjør prosessen hvorvidt nærhetsverdien er lavere enn en forbestemt terskelverdi. I så fall flettes bildene i trinn 1102, og nærhetsverdien beregnes på nytt for de gjenværende bildene. Dersom nærhetsverdien i trinn 1101 er høyere enn terskelverdien, kan flettingen stanses i trinn 1104. For eksempel kan terskelverdien være satt til en hvilken som helst verdi mellom den laveste nærhetsverdien (som betyr at bildene bør flettes) og den høyeste nærhetsverdien (som betyr at bildene ikke bør flettes). Området for terskelverdien kan være 0,4 - 0,6. Det bemerkes at terskelverdien kan være høyere eller lavere enn dette området, avhengig av typen bilder, forholdet mellom typen bilder og andre faktorer.
[78] Som beskrevet ovenfor forsøker prosessen å flette sammen bilder som har lav innbyrdes nærhetsverdi. En annen fordel kan oppnås ved det å minimere antallet resulterende bilder som MRC-operasjonen må prosessere. I dette tilfellet, selv om bildene ikke nødvendigvis har en innbyrdes nærhetsverdi som er lavere enn terskelverdien som anvendes i 1101, kan det spesifiseres et ønsket antall bilder per bildesett for å minimere antallet bildet som må prosesseres. Trinn 1103 representerer en bestemmelse av hvorvidt antallet bilder i bildesettet er lavere enn det ønskede antallet bilder i bildesettet. For eksempel kan det ønskede antall bilder være 4. Selv om den innbyrdes nærhetsverdien for et hvilket som helst bildepar kan være høy, kan bildene således likevel bli flettet (trinn 1102) for å redusere antallet resulterende bilder, og nærhetsverdien til de resulterende bildeparene blir beregnet på nytt i trinn 1105.
[79] Figur 12 viser et eksempel på at flettefunksjonen løper gjennom par av bilder samt de resulterende bildene. De enkeltstående bildene er representert ved bildeområder 1 - N, henholdsvis nummerert 1201 - 1205. Fletteprosessen 1206 løper over bildene 1201 - 1205. Fletting av et hvilket som helst bildepar kan være en enkel fletteprosess (prosesss 1207) der det resulterende bildet (bildeområdet A, som er ett enkelt bilde og som behandles som en bildebakgrunn) ikke resulterer i MRC-bilder. Alternativt kan den resulterende flettingen være en kompleks fletting med MRC som vist i prosess 1208. Det finnes minst to typer flettede resultater fra MRC-flettingen 1208. Det første 1211 er et bildeområde C der det er produsert bakgrunns- og utvelgerlag. Det tredje 1212 er et bildeområde D der det er produsert bakgrunns- og utvelger- og forgrunnslag. Denne rekkefølgen med et enkeltstående (bakgrunns) bilde, MRC med bakgrunns- og utvelgerlag og MRC med bakgrunns-, utvelger- og forgrunnslag er også den foretrukne under bestemmelse av typen fletting som skal utføres. Det vil si at en heller ønsker å produsere en MRC-fil med ett enkeltstående bakgrunnslag enn en MRC-fil med bakgrunns-, utvelger- og forgrunnslag.
[80] Figur 13 viser en prosess for å bestemme nærhetsverdien for to vilkårlige bildeområder. To bildeområder A, 1301, og B ,1302, sjekkes for overlapp i trinn 1303. Dersom bildene overlapper, settes nærhetsverdien til 0 i trinn 1307. Hvis ikke avgjør prosessen i trinn 1304 om begge bildene er MRC-bilder. Dersom begge bildene er MRC-bilder, settes nærhetsverdien for bildene (trinn 1308) til en verdi mellom 0 og en høy verdi (idet den høye verdien her er 1). Denne mellomverdien kan være en fast verdi for alle tilfeller (f.eks. 0,5). Alternativt kan verdien settes som et forholdstall. I ett eksempel kan forholdstallet være effektivitetsforholdet ved å kombinere bildeområdeene. Med andre ord kan forholdet være den ubenyttede plassen i det flettede bildet dividert med det totale arealet til de kombinerte bildene. Dette forholdet er vist i form av en likning i trinn 1308.
[81] Figur 14 viser et eksempel på bestemmelse av den ubenyttede plassen. I figur 14 vurderes tekstbildet A, 1401, for kombinasjon med tekstbildet B, 1402.1 dette eksempelet er de avgrensende områdene 1401 og 1402 vist som rektangler. Det kombinerte bildeområdet fra de to områdene 1401 og 1402 resulterer i en ubenyttet plass 1403 som er vist avgrenset av en stiplet linje. I en alternativ utførelsesform kan den ubenyttede plassen beregnes på grunnlag av et rektangulært gridd, hvilket resulterer i det totale området som omfatter 1401, 1402, arealet 1403 som innelukkes av de stiplede linjene, samt de utenforliggende arealene 1404 og 1405.1 det første eksempelet inkluderer den ubenyttede plassen arealet 1403.1 det andre eksempelet inkluderer den ubenyttede plassen arealet 1403, 1404 og 1405.
[82] Med henvisning tilbake til figur 13, dersom begge bildene på det angjeldende tidspunktet ikke er MRC-bilder, avgjør prosessen i trinn 1305 hvorvidt begge bildene er tekst/strek-avbildninger. Dersom dette er tilfelle, og dersom bildene har samme farge (trinn 1306), settes nærhetsverdien i trinn 1308 som beskrevet ovenfor.
[83] Dersom tekst/strek-avbildningene ikke har samme farge, er det nødvendig å anvende MRC, slik at nærhetsverdien settes høyt (f.eks. 1) som vist i trinn 1309. Alternativt kan nærhetsverdien settes høyt på måten som er vist i trinn 1310, der nærhetsverdien settes til en koeffisient multiplisert med det nye MRC-arealet som skapes ved flettingen av de to bildene dividert med det totale arealet til de kombinerte bildene.
[84] Dersom utfallet av trinn 1305 er nei, settes nærhetsverdien i trinn 1310. Alternativt kan en sette nærhetsverdien som vist i trinn 1309.
[85] Når de flettede filene er opprettet, kan en lagre en angivelse av hvor mye plass som opptas av de originale bildene i de kombinerte bildene. Det finnes forskjellige metoder for å beregne plassen for flettede bilder. Figur 15A viser tre bilder (1-3) som hver har en størrelse på tre enheter. Det er underforstått at en hvilken som helst areal-måleenhet kan anvendes, inklusive kvadratcentimeter, kvadratmillimeter, kvadrattommer, piksler og tilsvarende. Bilde 1 overlapper med bilde 3, og bilde 2 overlapper med bilde 3.1 figur 15B viser 1501 kombinasjonen av bildene 1 og 2. Etter fletting av det kombinerte bildet 1+3 med bilde 2, er den resulterende kombinasjonen representert ved 1502.1 1502 er antallet faktisk benyttede enheter lik 7. Dette antallet kan imidlertid beregnes tilnærmet ved å ta kombinasjonen av bildene 1 og 3 (1502) og legge til størrelsen til bilde 2,1504, hvilket gir en tilnærmet størrelse 8.
[86] Figur 15C viser nok en annen representasjon. Her kombineres først bildene 1 og 2, hvilket resulterer i bildet 1505. Tillegging av bildet 3 resulterer i bildet 1506, som også har en størrelse på 7 enheter ettersom senterenheten i bilde 2 og den nedre enheten i bilde 3 ikke telles separat, men sammen. Alternativt kan denne verdien for størrelsen på den opptatte plassen i det kombinerte bildet omfatte 1507 til bildene 1 og 2 og bildet 3, 1508, hvilket gir totalt 9 enheter. I nok en ytterligere utførelsesform kan størrelsen til det flettede bildet erstattes med den totale størrelsen til det kombinerte bildet.
[87] Selv om eksempelvise systemer og fremgangsmåter som omfatter foreliggende oppfinnelse er vist som eksempler, er det selvfølgelig underforstått at oppfinnelsen ikke er begrenset til disse utførelsesformene. Fagmannen kan foreta modifikasjoner, spesielt i lys av de foregående idéene. For eksempel kan hvert av elementene av de ovenfor beskrevne utførelsesformene anvendes alene eller i kombinasjon med elementer fra de andre utførelsesformene. Selv om oppfinnelsen er definert ved anvendelse av de etterfølgende patentkravene, er disse kravene eksempelvise i det at oppfinnelsen er ment å omfatte de elementer og trinn som er beskrevet her i enhver kombinasjon eller delkombinasjon. Følgelig finnes det et hvilket som helst antall alternative kombinasjoner for å definere oppfinnelsen, som innlemmer ett eller flere elementer fra spesifikasjonen, omfattende beskrivelsen, patentkravene og figurene, i forskjellige kombinasjoner eller delkombinasjoner. Det vil være åpenbart for fagmannen, i lys av den foreliggende spesifikasjonen, at alternative kombinasjoner av aspekter ved oppfinnelsen, enten alene eller i kombinasjon med ett eller flere elementer eller trinn som er definert her, kan anvendes som modifikasjoner eller omorganiseringer av oppfinnelsen eller som en del av oppfinnelsen. Intensjonen er at den skriftlige beskrivelsen av oppfinnelsen som er gitt her skal dekke alle slike modifikasjoner og omorganiseringer.

Claims (16)

1. Prosess for å generere en fil med blandet raster-innhold, omfattende de trinn å: prosessere tekst eller strektegninger; legge til nevnte tekst eller strektegninger i et utvelgerlag; prosessere en liste av bilder for å danne et sett av forgrunns-, utvelger-, og bakgrunnsbilder; anvende en farge til en font av nevnte tekst eller en farge til nevnte strek og legge til et område av nevnte farge til nevnte font av nevnte tekst eller nevnte farge til nevnte strek i et forgrunnslag; og legge til bilder i et bakgrunnslag.
2. Prosess for å gjengi en fil med blandet raster-innhold til et sammensatt bilde, omfattende de trinn å: avgjøre om en piksel finnes i et utvelgerlag; avgjøre om nevnte piksel er hvit; avgjøre om nevnte piksel finnes i et forgrunnslag; og anvende en farge i nevnte piksel fra nevnte forgrunnslag for å fargelegge en motsvarende piksel i nevnte sammensatte bilde når nevnte avgjørelser bestemte at nevnte piksel finnes i nevnte utvelgerlag, at nevnte piksel ikke er hvit i nevnte utvelgerlag og at nevnte piksel finnes i nevnte forgrunnslag.
3. Prosess ifølge krav 2, videre omfattende de trinn å: dersom det avgjøres at en piksel ikke finnes i nevnte utvelgerlag, deretter avgjøre om det eksisterer en motsvarende piksel i nevnte forgrunnslag; og anvende en farge i nevnte motsvarende piksel fra nevnte forgrunnslag for å fargelegge en motsvarende piksel i nevnte sammensatte bilde når nevnte avgjørelser bestemmer at nevnte piksel finnes i nevnte forgrunnslag, ellers anvende en farge i en motsvarende piksel i et bakgrunnslag.
4. Datamaskin-lesbart medium, der nevnte medium omfatter en datastruktur med blandet raster-innhold som kan gjengis til et sammensatt bilde, der nevnte datastruktur med blandet raster-innhold omfatter: et bakgrunnslag; et forgrunnslag; og et utvelgerlag, idet nevnte utvelgerlag omfatter et bilde som er mindre enn nevnte sammensatte bilde.
5. Datamaskin-lesbart medium, der nevnte medium omfatter en datastruktur med blandet raster-innhold som omfatter: et bakgrunnslag; et forgrunnslag; og et utvelgerlag, idet nevnte forgrunnslag omfatter ett eller flere bilder med fargepaletter.
6. Datamaskin-lesbart medium ifølge krav 5, der nevnte ett eller flere bilder omfatter to eller flere bilder som har forskjellig fargeoppløsning.
7. Datamaskin-lesbart medium i hvilket det er lagret et dataprogram, der nevnte dataprogram genererer en fil med blandet raster-innhold, idet nevnte dataprogram utfører de trinn å: prosessere tekst eller strektegninger; legge til nevnte tekst eller strektegninger i et utvelgerlag; anvende en farge til en font av nevnte tekst eller en farge til nevnte strek og legge til et område av nevnte farge til nevnte font av nevnte tekst eller nevnte farge til nevnte strek i et forgrunnslag, og legge til bilder i et bakgrunnslag.
8. Datamaskin-lesbart medium i hvilket det er lagret et dataprogram, der nevnte dataprogram gjengir en fil med blandet raster-innhold til et sammensatt bilde, idet nevnte program utfører de trinn å: avgjøre om en piksel finnes i et utvelgerlag; avgjøre om nevnte piksel er hvit; og anvende en farge i nevnte piksel fra nevnte forgrunnslag for å fargelegge en motsvarende piksel i nevnte sammensatte bilde når nevnte avgjørelsestrinn bestemmer at nevnte piksel finnes i nevnte utvelgerlag, at nevnte piksel ikke er hvit i nevnte utvelgerlag og at nevnte piksel finnes i nevnte forgrunnslag.
9. Datamaskin-lesbart medium ifølge krav 8, der nevnte program videre utfører de trinn å: dersom en piksel ikke finnes i nevnte utvelgerlag, deretter avgjøre om det eksisterer en motsvarende piksel i nevnte forgrunnslag; og anvende en farge i nevnte motsvarende piksel fra nevnte forgrunnslag for å fargelegge en motsvarende piksel i nevnte sammensatte bilde når nevnte avgjørelsestrinn bestemmer at nevnte piksel eksisterer i nevnte forgrunnslag, ellers anvende en farge i en motsvarende piksel i et bakgrunnslag.
10. Datamaskin-lesbart medium i hvilket det er lagret en datastruktur, der nevnte datastruktur har et blandet raster-innhold som omfatter: et utvelgerlag som har en fargeoppløsning på én bit per piksel, idet det er assosiert en farge med utvelgerlaget og utvelgerlaget representerer fargetekst.
11. Prosess for å gjengi bilder, omfattende de trinn å: bestemme et avgrensningsområde for hvert bilde; generere minst to lister, der nevnte første liste representerer de områdene der det ikke er overlapp mellom bilder og nevnte andre liste representerer de områdene der det er overlapp; gjengi de ikke-overlappende områdene område for område; og gjengi de overlappende områdene piksel for piksel.
12. Prosess for å gjengi sammensatte bilder, omfattende de trinn å: bestemme et avgrensningsområde for hvert bilde; generere fire lister, der nevnte første liste representerer de områdene der et ikke er overlapp mellom bilder, der nevnte andre liste representerer de områdene der utvelgerlagets områder ikke overlapper med forgrunnslagets områder, der nevnte tredje liste representerer de områder der kun utvelgerlagets og forgrunnslagets områder overlapper og der nevnte fjerde liste representerer de områdene der bakgrunnslagets, utvelgerlagets og forgrunnslagets områder overlapper.
13. Prosess ifølge krav 12, videre omfattende det trinn å fylle nevnte sammensatte bilde med nevnte områder i forgrunnslaget fra nevnte første liste når nevnte områder i forgrunnslaget finnes i nevnte første liste, ellers fylle nevnte sammensatte bilde med områder i bakgrunnslaget.
14. Prosess ifølge krav 12, videre omfattende det trinn å fylle nevnte sammensatte bilde med nevnte område i forgrunnslaget fra nevnte andre liste når nevnte andre liste inneholder et ikke-hvitt område i utvelgerlaget.
15. Prosess ifølge krav 12, videre omfattende det trinn å fylle nevnte sammensatte bilde med nevnte område i utvelgerlaget fra nevnte tredje liste når nevnte tredje liste inneholder et ikke-hvitt område i utvelgerlaget, ellers fylle nevnte sammensatte bilde med nevnte område i forgrunnslaget.
16. Prosess ifølge krav 12, videre omfattende det trinn å fylle nevnte sammensatte bilde med område i forgrunnslaget når nevnte område i utvelgerlaget ikke er hvitt, ellers fylle nevnte sammensatte bilde med nevnte område i bakgrunnslaget.
NO20031441A 2002-04-30 2003-03-28 Filer med blandet raster-innhold NO329337B1 (no)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US10/134,636 US7110137B2 (en) 2002-04-30 2002-04-30 Mixed raster content files

Publications (3)

Publication Number Publication Date
NO20031441D0 NO20031441D0 (no) 2003-03-28
NO20031441L NO20031441L (no) 2003-10-31
NO329337B1 true NO329337B1 (no) 2010-09-27

Family

ID=22464255

Family Applications (1)

Application Number Title Priority Date Filing Date
NO20031441A NO329337B1 (no) 2002-04-30 2003-03-28 Filer med blandet raster-innhold

Country Status (20)

Country Link
US (2) US7110137B2 (no)
EP (1) EP1359545B1 (no)
JP (1) JP4299034B2 (no)
KR (1) KR100935267B1 (no)
CN (1) CN1293464C (no)
AT (1) ATE328335T1 (no)
AU (1) AU2003203331B2 (no)
BR (1) BR0301147A (no)
CA (1) CA2423528C (no)
DE (1) DE60305573T2 (no)
DK (1) DK1359545T3 (no)
ES (1) ES2265532T3 (no)
HK (1) HK1058849A1 (no)
MX (1) MXPA03002793A (no)
MY (1) MY144550A (no)
NO (1) NO329337B1 (no)
PL (1) PL359440A1 (no)
RU (1) RU2360288C2 (no)
TW (1) TWI322387B (no)
ZA (1) ZA200302351B (no)

Families Citing this family (45)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8064090B2 (en) * 2002-08-28 2011-11-22 Xmpie (Israel) Ltd. System and method for processing variable print documents
AU2003256037A1 (en) * 2002-08-28 2004-03-19 Xmpie (Israel) Ltd. Apparatus and method for processing variable print documents
KR100910974B1 (ko) * 2002-10-02 2009-08-05 엘지전자 주식회사 고밀도 광디스크의 그래픽 데이터 관리방법
US20040123247A1 (en) * 2002-12-20 2004-06-24 Optimost Llc Method and apparatus for dynamically altering electronic content
JP2004260273A (ja) * 2003-02-24 2004-09-16 Oki Data Corp 画像形成装置
US20050222687A1 (en) * 2004-04-02 2005-10-06 Gordana Vunjak-Novakovic Cartilage implant assembly and method for implantation
KR100538224B1 (ko) * 2003-06-09 2005-12-21 삼성전자주식회사 잉크 젯 프린터의 스캔 및 인쇄 방법 및 장치
JP4125208B2 (ja) * 2003-09-29 2008-07-30 キヤノン株式会社 画像処理装置及び画像処理方法
JP4049136B2 (ja) * 2004-08-10 2008-02-20 ブラザー工業株式会社 画像処理装置及びプログラム
GB2421106A (en) * 2004-12-07 2006-06-14 Hewlett Packard Development Co A method and apparatus for preparing variable-data documents for publishing
EP1670257B1 (en) * 2004-12-10 2018-09-26 Ricoh Company, Ltd. Compressing a mutlivalue image with control of memory space requirement
US7880925B2 (en) * 2005-08-02 2011-02-01 Kabushiki Kaisha Toshiba Apparatus and method for generating an image file with a color layer and a monochrome layer
JP4606298B2 (ja) * 2005-10-18 2011-01-05 シャープ株式会社 画像処理装置、画像処理方法、および画像処理プログラム
US7730398B2 (en) 2005-10-25 2010-06-01 Research In Motion Limited Image stitching for mobile electronic devices
US7995075B2 (en) 2006-03-02 2011-08-09 Mediatek Inc. Display data extraction methods, devices and computer systems utilizing the same
JP4764231B2 (ja) 2006-03-31 2011-08-31 キヤノン株式会社 画像処理装置、制御方法、コンピュータプログラム
CN100538620C (zh) * 2006-04-29 2009-09-09 光宝科技股份有限公司 打印方法及打印对象控制装置
CN100545831C (zh) * 2006-09-27 2009-09-30 北京大学 一种透明页面的光栅化处理方法及装置
CN100576238C (zh) 2006-09-30 2009-12-30 北京大学 一种光栅图像处理方法和装置
KR101282030B1 (ko) * 2007-01-26 2013-07-04 삼성전자주식회사 데이터의 보안 전송을 위한 화상형성장치 및 그 전송방법
JP4914318B2 (ja) * 2007-09-14 2012-04-11 株式会社リコー 画像処理装置、画像処理システム、画像処理方法、プログラム、および記録媒体
US8218887B2 (en) * 2007-09-28 2012-07-10 Abbyy Software, Ltd. Enhanced method of multilayer compression of PDF (image) files using OCR systems
US8619083B2 (en) * 2009-01-06 2013-12-31 Microsoft Corporation Multi-layer image composition with intermediate blending resolutions
US20100245918A1 (en) * 2009-03-30 2010-09-30 Nguyen Uoc H Methods and Systems for Rendering Data
US8339670B2 (en) * 2009-03-30 2012-12-25 Sharp Laboratories Of America, Inc. Methods and systems for rendering data based on graphic-list partitioning
US8339672B2 (en) * 2009-03-30 2012-12-25 Sharp Laboratories Of America, Inc. Methods and systems for rendering data using graphic-list partitions and associated rendering processors
US8339653B2 (en) * 2009-03-30 2012-12-25 Sharp Laboratories Of America, Inc. Methods and systems for rendering data based on overlap characteristics
US8411319B2 (en) * 2009-03-30 2013-04-02 Sharp Laboratories Of America, Inc. Methods and systems for concurrent rendering of graphic-list elements
US20100245889A1 (en) * 2009-03-30 2010-09-30 Nguyen Uoc H Methods and Systems for Rendering Data
US8339671B2 (en) * 2009-03-30 2012-12-25 Sharp Laboratories Of America, Inc. Methods and systems for rendering data by partitioning a graphics list
AU2009202377A1 (en) * 2009-06-15 2011-01-06 Canon Kabushiki Kaisha Combining overlapping objects
JP2011040970A (ja) * 2009-08-10 2011-02-24 Canon Inc データ処理装置、および、データ処理方法
JP5434555B2 (ja) * 2009-12-14 2014-03-05 富士ゼロックス株式会社 画像情報処理装置及びプログラム
US20120092480A1 (en) * 2010-05-28 2012-04-19 Putman Matthew C Unique digital imaging method employing known background
US20120127198A1 (en) * 2010-11-22 2012-05-24 Microsoft Corporation Selection of foreground characteristics based on background
KR101868637B1 (ko) * 2012-02-16 2018-06-18 삼성전자주식회사 이미지 파일의 인코딩 및 디코딩 방법, 기계로 읽을 수 있는 저장 매체 및 멀티미디어 장치
TWI505203B (zh) * 2012-11-02 2015-10-21 Avisonic Technology Corp 產生車用影像的影像處理方法及影像處理裝置
JP5886265B2 (ja) * 2013-11-28 2016-03-16 シャープ株式会社 携帯端末装置、プログラム、及び記録媒体
US10268698B2 (en) * 2014-11-21 2019-04-23 Adobe Inc. Synchronizing different representations of content
CN106157341B (zh) 2015-03-30 2019-05-14 阿里巴巴集团控股有限公司 生成合成图片的方法及装置
DE102016204044A1 (de) * 2016-03-11 2017-09-14 Bayerische Motoren Werke Aktiengesellschaft Verfahren und head-up-display zum perspektivischen transformieren und anzeigen eines bildinhalts sowie fahrzeug
CN108376416A (zh) * 2018-01-16 2018-08-07 天津大学 一种图像生成方法以及装置
CN108924557B (zh) * 2018-06-11 2022-02-08 海信视像科技股份有限公司 图像处理方法、装置、电子设备及存储介质
US11704843B2 (en) * 2021-03-03 2023-07-18 Adobe Inc. Advanced application of color gradients to text
KR20220126914A (ko) * 2021-03-10 2022-09-19 삼성전자주식회사 이미지의 알파 값을 이용하여 이미지를 출력하는 전자 장치 및 그 제어 방법

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5778092A (en) * 1996-12-20 1998-07-07 Xerox Corporation Method and apparatus for compressing color or gray scale documents
US6324305B1 (en) * 1998-12-22 2001-11-27 Xerox Corporation Method and apparatus for segmenting a composite image into mixed raster content planes
US6373981B1 (en) * 1998-12-21 2002-04-16 Xerox Corporation Method and apparatus for segmenting data to create mixed raster content planes
US6400844B1 (en) * 1998-12-02 2002-06-04 Xerox Corporation Method and apparatus for segmenting data to create mixed raster content planes
JP2000175052A (ja) * 1998-12-07 2000-06-23 Xerox Corp ピクセルマップ表現の処理方法及び装置
JP2000175053A (ja) * 1998-12-07 2000-06-23 Xerox Corp 文書の圧縮ピクセルマップ表現を表す混合ラスタコンテントプレ―ンの処理方法
JP2001136361A (ja) * 1999-11-01 2001-05-18 Canon Inc 画像通信装置およびその方法
US6608928B1 (en) * 1999-11-03 2003-08-19 Xerox Corporation Generic pre-processing of mixed raster content planes
US6633670B1 (en) * 2000-03-31 2003-10-14 Sharp Laboratories Of America, Inc. Mask generation for multi-layer image decomposition
US6701012B1 (en) * 2000-07-24 2004-03-02 Sharp Laboratories Of America, Inc. Out-of-layer pixel generation for a decomposed-image layer
US6941014B2 (en) * 2000-12-15 2005-09-06 Xerox Corporation Method and apparatus for segmenting an image using a combination of image segmentation techniques
US7027647B2 (en) * 2001-12-31 2006-04-11 Hewlett-Packard Development Company, L.P. Coder matched layer separation for compression of compound documents
US6941024B2 (en) * 2002-01-14 2005-09-06 Hewlett-Packard Development Company, L.P. Coder matched layer separation and interpolation for compression of compound documents

Also Published As

Publication number Publication date
CN1455332A (zh) 2003-11-12
MXPA03002793A (es) 2005-02-14
US7110137B2 (en) 2006-09-19
PL359440A1 (en) 2003-11-03
DE60305573D1 (de) 2006-07-06
BR0301147A (pt) 2004-08-17
AU2003203331A1 (en) 2003-11-20
MY144550A (en) 2011-09-30
TW200306500A (en) 2003-11-16
EP1359545A1 (en) 2003-11-05
NO20031441L (no) 2003-10-31
RU2360288C2 (ru) 2009-06-27
ATE328335T1 (de) 2006-06-15
CA2423528A1 (en) 2003-10-30
JP2003331298A (ja) 2003-11-21
JP4299034B2 (ja) 2009-07-22
US20070013951A1 (en) 2007-01-18
NO20031441D0 (no) 2003-03-28
ES2265532T3 (es) 2007-02-16
CN1293464C (zh) 2007-01-03
KR100935267B1 (ko) 2010-01-06
CA2423528C (en) 2011-03-22
US20030202212A1 (en) 2003-10-30
KR20030085472A (ko) 2003-11-05
ZA200302351B (en) 2004-03-10
DE60305573T2 (de) 2006-11-02
HK1058849A1 (en) 2004-06-04
EP1359545B1 (en) 2006-05-31
AU2003203331B2 (en) 2008-10-30
TWI322387B (en) 2010-03-21
DK1359545T3 (da) 2006-09-25

Similar Documents

Publication Publication Date Title
NO329337B1 (no) Filer med blandet raster-innhold
US6587583B1 (en) Compression/decompression algorithm for image documents having text, graphical and color content
US6313847B1 (en) Blending graphics objects in a frame buffer
US6020897A (en) Dehalftoning of digital images
US6246791B1 (en) Compression/decompression algorithm for image documents having text, graphical and color content
US5542031A (en) Halftone computer imager
EP1577838B1 (en) A method of rendering graphical objects
US7894098B1 (en) Color separation of pattern color spaces and form XObjects
US20050067498A1 (en) Method for generating a display list
US8659620B2 (en) Methods and apparatus for rendering images
US6701008B1 (en) Method, computer readable medium and apparatus for extracting characters from color image data
CN101790749B (zh) 多点采样绘制二维矢量图像
US20020012132A1 (en) Rendering page descriptions
JP4747780B2 (ja) 画像処理装置、画像処理方法、及び画像処理プログラム
US7286142B2 (en) System and method for optimising halftoning printer performance
US8749813B2 (en) Methods, devices and systems for encoding graphical primitives
US20040051884A1 (en) Method of encoding raster data based on variations of color
US7672521B2 (en) System and method for improved page composition
US8941881B2 (en) Method and apparatus for rasterizing transparent page
US20110199635A1 (en) Printing Method Using Multiple Processors
US7564586B1 (en) Method, system and computer program for compressing and transmitting image raster data
AU2007240228A1 (en) Improved hybrid rendering
AU2003203486A1 (en) Rendering Page Descriptions

Legal Events

Date Code Title Description
CHAD Change of the owner's name or address (par. 44 patent law, par. patentforskriften)

Owner name: MICROSOFT TECHNOLOGY LICENSING, US

MM1K Lapsed by not paying the annual fees