NO329337B1 - Mixed raster content files - Google Patents

Mixed raster content files 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
Norwegian (no)
Other versions
NO20031441L (en
NO20031441D0 (en
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/en
Publication of NO20031441L publication Critical patent/NO20031441L/en
Publication of NO329337B1 publication Critical patent/NO329337B1/en

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

Abstract

A system and process for generating and using mixed raster content files is described. MRC files may be created directly from an application, rather than being processed from a composite image, to separate a single image into background, foreground, and selection masks for each page. Also, an improved MRC structure is described in which only relevant portions are contained in background, foreground, and selection layers for each page. <IMAGE>

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. [01 ] Aspects of the present invention are directed to generating and using files. More specifically, the present invention relates to generating and using files with mixed raster content.

[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. [02] The use of non-modifiable files has increased with the rise of the internet. One standard file format for publishing documents is the Adobe Acrobat file format (commonly associated with the .PDF file extension). Other file formats include JPEG and bitmap files. An advantage of these files is that one can use these file formats to exchange information over the internet with minimal concern about modification of the documents.

[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. [03] Another file format that is commonly used is MRC files (mixed-raster-content), i.e. files with mixed raster content. This file format divides an image into three equal-sized images and stores them at different resolutions and, in some cases, with different compression ratios or technologies. Figure 2 shows a typical process for generating MRC files. An image generator 301 produces a source image 302. The source image 302 has an image resolution of 300 dpi. The source image 302 is divided by a separation process 303 into three separate images 304-306. The three separate images comprise a black and white (B/W) mask image 304, an image foreground 305 and an image background 306. The three images 304-306 have the same dimensions (x,y) as the source image 302. Figure 2 is the resolution of the three images 304-306 respectively shown as 300 dpi, 300 dpi and 100 dpi. The three images can be selectively compressed in a compression process 307 in different ratios using different types of compression technologies.

[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. [04] Despite the advantages of being able to decompose a source image 302 into various other files 304-306, the decomposition process (separation process 303) for MRC files is time consuming, as is well known to those skilled in the art. The separation process 303 attempts to analyze all the components of an image and separate out aspects for inclusion in each of the files 304-306. There exists a need to generate MRC files without the long delay.

[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. [05] Furthermore, the composite files 304-306 can be large, even if they have little content. Figure 3 shows an example of a conventional MRC file. The file comprises three layers, including a background layer 401, a selector layer or black and white layer or mask layer 402 and a foreground layer 403. For illustration purposes, the composite image 411 is shown as the resulting image when the three layers (401-403) are combined. As known to those skilled in the art, the background layer has a color resolution per pixel of 24 bits per pixel (24 bpp), the selector layer a color resolution per pixel of 1 bpp and the foreground layer a color resolution of 24 bpp.

[06] Hvert lag omfatter ett bilde. Hvert bilde har samme dimensjoner (x,y) [06] Each layer includes one image. Each image has the same dimensions (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. (as shown in figures 2 and 3). For example, the background layer 401 includes one image with content 404 in the center. The selector layer 402 comprises one image with three-part content 405-407. The content 405 is "Black text", which is meant to represent black text. The content 406 is "Color text A", which is text that has a color A in the composite image 411, but which is nevertheless represented as black text in the selector layer 402. This is because the selector layer 402 has a color resolution of only 1 bpp. Correspondingly, the content 407 is "Color text B", which is text that has a color B in the composite image 411, but is still black text in the selector layer 402. The foreground layer 403 comprises three sets of color palettes comprising black 408, color A 409 and color B 410. One problem with the MRC file in Figure 3 is the significant amount of unused space. The unused space increases the underlying image size in each layer. This unused space increases the time required for the encoding, decoding and compression steps. Furthermore, the combination of unused space and content sometimes results in poor compression of the layers. Accordingly, there is a need to minimize the amount of unused space in the composite files 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. 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, pages 444-448, discusses how the description of a digital document can be transformed into something efficient for multi-layer raster formats.

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. The present invention is defined in the independent claims 1, 2, 4, 5, 7, 8, 10, 11 and 12. Preferred embodiments are indicated in the associated non-independent claims.

[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. [07] Aspects are directed to generating and using MRC files to fulfill one or more of the needs described above. In some aspects, MRC files are generated by printer drivers without needing to be processed in a separation process. In other embodiments, each layer in MRC files may comprise one or more images (or subimages) to enable compression that is more efficient than having a single image covering each layer. These different aspects can be used separately or in combination.

[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. [08] These and other special features of the invention will be obvious after a review of the following detailed description of various embodiments.

[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. [09] The foregoing summary of the invention, as well as the following detailed description of preferred embodiments, will be better understood when read in conjunction with the accompanying figures, which are included by way of example and not as limitations with respect to the claimed invention.

[10] Figur 1 er et skjematisk diagram av et generelt digitalt datamaskinmiljø som kan anvendes for å implementere forskjellige aspekter ved oppfinnelsen. [10] Figure 1 is a schematic diagram of a general digital computer environment that can be used to implement various aspects of the invention.

[11] Figur 2 viser en konvensjonell prosess for å skape en fil med blandet raster-innhold. [11] Figure 2 shows a conventional process for creating a file with mixed raster content.

[12] Figur 3 viser en fil med blandet raster-innhold av den konvensjonelle typen. [12] Figure 3 shows a file with mixed raster content of the conventional type.

[13] Figur 4 viser en prosess for å skape en fil med blandet raster-innhold i henhold til aspekter ved oppfinnelsen. [13] Figure 4 shows a process for creating a file with mixed raster content according to aspects of the invention.

[14] Figur 5 viser et eksempel på en fil med blandet raster-innhold i henhold til aspekter ved foreliggende oppfinnelse. [14] Figure 5 shows an example of a file with mixed raster content according to aspects of the present invention.

[15] Figur 6 viser et annet eksempel på en fil med blandet raster-innhold i henhold til aspekter ved foreliggende oppfinnelse. [15] Figure 6 shows another example of a file with mixed raster content according to aspects of the present invention.

[16] Figurene 7A og 7B viser forskjellige prosesser for å skape filer med blandet raster-innhold i henhold til aspekter ved foreliggende oppfinnelse. [16] Figures 7A and 7B show various processes for creating mixed raster content files according to aspects of the present invention.

[17] Figurene 8A og 8B viser alternative prosesstrinn for prosessen i figur 7A. [17] Figures 8A and 8B show alternative process steps for the process of Figure 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. [18] Figures 9A and 9B show various processes for rendering a composite image from a file with mixed raster content in accordance with aspects of the present invention.

[19] Figur 10 viser en annen eksempelvis prosess for å skape en fil med blandet raster-innhold i henhold til aspekter ved foreliggende oppfinnelse. [19] Figure 10 shows another exemplary process for creating a file with mixed raster content according to aspects of the present invention.

[20] Figur 11 viser en eksempelvis prosess for å flette sammen bilder i henhold til aspekter ved foreliggende oppfinnelse. [20] Figure 11 shows an exemplary process for merging images according to aspects of the present invention.

[21] Figur 12 viser forskjellige resultater av å flette sammen bilder i henhold til aspekter ved foreliggende oppfinnelse. [21] Figure 12 shows various results of merging images according to aspects of the present invention.

[22] Figur 13 viser en eksempelvis prosess for å sette innbyrdes nærhetsverdi mellom bilder i henhold til aspekter ved foreliggende oppfinnelse. [22] Figure 13 shows an exemplary process for setting a mutual proximity value between images according to aspects of the present invention.

[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. [23] Figure 14 shows two images and different representations of the space occupied by combining them according to aspects of the present invention.

[24] Figurene 15A, 15B og 15C viser forskjellige muligheter for det å beregne plassforbruk for kombinerte bilder i henhold til aspekter ved foreliggende oppfinnelse. [24] Figures 15A, 15B and 15C show different possibilities for calculating space consumption for combined images according to aspects of the present invention.

[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. [25] The following description is aimed at files with mixed raster content. It is understood that the described concepts and methods can be applied to other types of files. Different processes are also described. These processes are provided as examples that may be used, and are not intended to be the only possible representations of the various processes that may be used to generate or use the enhanced mixed raster content files. Furthermore, the color of the pixels in the selector layer is generally designated as black and white. It is understood that the selector layer can only have a color resolution of 1 bit per pixel and therefore can only represent the pixels as off or on (or color state 1 and color state 0). Black and white are used to simplify the terminology. However, any colors can be used instead of these (e.g. fuchsia and cyan), or "off and on" and the like.

[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. [26] Figure 1 illustrates a schematic diagram of a conventional digital computer environment that may be used to implement various aspects of the present invention. In figure 1, a computer 100 comprises a processing unit 110, a system memory 120 and a system bus 130 which connects various system components including the system memory to the processing unit 110. The system bus 130 can be any of many types of system buses, including a memory bus or memory controller, a peripheral bus and a local bus that uses any of a number of available bus architectures. The system memory 120 comprises a read-only memory (ROM) 140 and a random-access memory (RAM) 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. [27] A BIOS (basic input/output system) 160, which contains the basic routines that transfer information between elements of the computer 100, for example during startup, is stored in ROM 140. The computer 100 also includes a hard disk drive 170 for reading from and writing to a hard disk (not shown), a magnetic disk drive 180 for reading from or writing to a removable magnetic disk 190 and an optical disk drive 191 for reading from or writing to a removable optical disk 192, such as a CD-ROM or another optical medium. Hard disk drive 170, magnetic disk drive 180, and optical disk drive 191 are respectively connected to system bus 130 via a hard disk drive interface 192, a magnetic disk drive interface 193, and an optical disk drive interface 194. The drives and their associated computer-readable media provide non-volatile storage of computer-readable instructions, data structures, program modules and other data for the personal computer 100. Those skilled in the art will appreciate that other types of computer-readable media capable of storing data that can be accessed by a computer, such as magnetic cassettes, flash memory cards, digital image discs , Bernoulli cassettes, RAM, ROM and the like, can also be used in the exemplified operating environment.

[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. [28] A number of program modules may be stored in the hard disk drive 170, magnetic disk 190, optical disk 192, ROM 140, or RAM 150, including an operating system 195, one or more application programs 196, other software modules 197, and program data 198. A user may input commands and information to the computer 100 via input devices such as a keyboard 101 and a pointing device 102. Other input devices (not shown) may include a microphone, joystick, game controller, satellite dish, scanner or the like. These and other input devices are often connected to the processing unit 110 via a serial port interface 106 which is connected to the system bus, but may also be connected via other interfaces, such as a parallel port, a game output or a universal serial bus (USB). Furthermore, these devices can also be connected directly to the system bus 130 via a suitable interface (not shown). A monitor 107 or another type of display device is also connected to the system bus 130 via an interface, such as a video card 108. In addition to the monitor, personal computers typically include other peripheral output devices (not shown), such as speakers and printers. In some embodiments, a font digitizer 165 and an associated pen or position pointer 166 are provided to digitize freehand written information. Although a connection between the character digitizer 165 and the serial port interface 106 is shown, in practice the character digitizer 165 may be connected directly to the processing unit 110, via a parallel port or other interface and the system bus 130, which is well known to those skilled in the art. Furthermore, although the font digitizer 165 is shown separate from the monitor 107, the writable input area of the font digitizer 165 may coincide with the display area of the monitor 107. Still further, the font digitizer 165 may be integrated into the monitor 107, or may exist as a separate device located above or on in another way, the monitor 107 is attached or built on.

[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. [29] The computer 100 may operate in a network environment via logical connections to one or more remote computers, such as a remote computer 109. The remote computer 109 may be a server, a router, a network PC, a peer device, or another common network node, and typically includes many or all of the elements described above in connection with the computer 100, although only a memory storage device 111 is illustrated in Figure 1. The logical connections shown in Figure 1 include a local area network (LAN) 112 and a wide area network (WAN) 113. Such network environments are common for offices, company-wide computer networks, intranets and the Internet.

[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. [30] When used in a LAN, the computer 100 is connected to the local network 112 via a network interface or network card 114. When used in a WAN, the personal computer 100 typically includes a modem 115 or other devices to establish a communication link over the remote network 113, for example internet. The modem 115, which may be internal or external, is coupled to the system bus 130 via the serial port interface 106. In a network environment, software modules shown in connection with the personal computer 100, or portions thereof, may be stored in the memory storage device located elsewhere .

[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. [31] It will be understood that the network connections shown are only examples, and that other techniques can be used to establish a communication link between the computers. The existence of the various well-known protocols, such as TCP/IP, Ethernet, FTP, HTTP and the like, is poisoned, and the system can be operated in a client-server environment so that a user can download web pages from a web server. Any of various conventional browsers can be used to display and manipulate information on web pages.

[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. [32] Figure 4 shows a process for creating a file with mixed raster content according to aspects of the invention. An image generator 500 (for example, a drawing program, a word processing program, an online publishing system, or the like) produces the contents of the MRC file (the three layers: the selector layer 502, the foreground layer 503, and the background layer 504) without creating a composite image that needs to be converted (i.e. separated) using the process 303 of Figure 2. Producing this file may include function calls to a graphics rendering engine 501 (eg, the GDI API available from Microsoft Corporation of Redmond, Washington). Other graphics engines 501 can also be used. Alternatively, the entire rendering process can take place in the image generator 500. Finally, the MRC file can optionally be compressed by the selective compression engine 505. This compression is not necessary, which is indicated by the box having a dashed frame.

[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. [33] Figure 5 shows an example of a file with mixed raster content according to aspects of the present invention. The MRC file comprises three layers: a background layer 601, a selector layer 602 and a foreground layer 603. A composite image 604 is shown for explanatory purposes. The background layer comprises content 605. The content 605 may be represented by an image of the same size as the composite image 604. Alternatively, the background content may be represented by an image comprising a bounding rectangle that is smaller than the size of the composite image 604. The selector layer 602 comprises content 606 represented by "color text A" which, while represented by text having font color A, the selector layer 606 represents as black text. The foreground layer 603 comprises black text 607, a colored rectangle 608 with color A and content 609 in the form of "colored text B" with font color B. The colored rectangle 608 can be omitted in a number of cases. For example, if the text consists of one color and can be represented by the combination of the selector and background layers. The content 607-609 can be represented by a single image with the same size as the composite image 604 (corresponding to the description with identical size above). Alternatively, the content 607-609 can be represented by two or more images (or partial images). The images may be bounded by bounding areas (rectangles or other shapes, as known to those skilled in the art) which are represented by the bounding frames that surround each of the contents 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. [34] As shown in Figure 5, the selector layer 602 is used when an image foreground overlaps an image background. In this case, moving content to the foreground layer from the selector layer will make rendering faster, as there is no need to check and select or perform alpha blending when there is no overlap between the foreground and background content. Another aspect is that solid text and certain line art can be saved as binary images in the foreground layer with an appropriate color palette, instead of being saved as a binary image in the selector layer plus a color map in the foreground layer. It is believed that moving content out of the selector layer and into the foreground layer will improve compression and rendering performance.

[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. [35] Another combination is shown in Figure 5, where selector and background layers are provided, but not foreground layers. In this case, when there is a non-white pixel in the selection layer but no corresponding pixel in the foreground layer, the color of the pixel in the composite image is that of the selection layer. This combination is common and can be more efficient in terms of rendering performance and compression than the combination of background, selector, and foreground layers.

[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 [36] The foreground layer can have a high color resolution (eg 24 bbp). In one embodiment, all the images in the foreground layer have the same color resolution. Alternatively, the images in the foreground can have one or more color resolutions. For example, the content 607 may have a color resolution of 1 bpp, while the content

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 608 and 609 have a different color resolution of 24 bpp. There are situations where the actual color to be associated with an area can be determined on the basis of less than a high color resolution. In yet another embodiment

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. thus, the content 608 may have a color resolution of 8 bpp while the content 609 may have a color resolution different from 1 bpp and 8 bpp (including, but not limited to, 2 bpp, 4 bpp, 16 bpp, 24 bpp, 32 bpp or equivalent ). Using the color resolution necessary to represent a range of colors (rather than a pre-selected resolution for an entire layer) enables better and/or more efficient compression by eliminating redundant color-specifying bits per pixel and/or faster compression and rendering performance.

[37] Evnen til å definere fargeoppløsningen for hvert bilde eller hver samling av bilder i et lag gjelder også for bakgrunnslaget. [37] The ability to define the color resolution for each image or collection of images in a layer also applies to the background layer.

[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. [38] Figure 6 shows another representation of an MRC file. Here, the image background 610 is combined with "color text C" 611 and "black text" 612 to form a composite image 613. Each image 610, 611 and 612 has a size smaller than the size of the composite image. In this alternative example, the combined sum of images 610, 611 and 612 is less than the size of the composite image.

[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. [39] Figure 7A shows an exemplary process for creating a file with mixed raster content according to aspects of the present invention. The process starts in step 701 from the image generating program. First, text and line drawings are processed in step 702. If there are text and/or line drawings, they are added to the selector layer in step 703. The color of the lines or text is used in step 704 to create a color range for the foreground. The color area can be rectangular or any other shape necessary to delimit the area in the foreground layer to sufficiently specify the color of the text and/or lines from step 702. Next, the images in the image file are processed in step 705, and added in the background layer in step 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. [40] The example in Figure 7A shows the possibility of processing images directly from a program, which is sent to a device driver, or from a queued metafile. In contrast, the conventional method of generating the MRC file is to take an intact composite image and divide it into different components in a separation process 303. The separation process 303 is error prone and consumes significant resources to perform the image decomposition process. However, the example in Figure 7A allows for generating MRC files without the separation process, as the example in Figure 7A handles the different components of an image while the different components can still be accessed separately.

[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; [41] Figure 7B shows an alternative process for generating an MRC file. In this case, when a graphics engine starts the MRC generation process in step 701, the graphics function calls in step 708 are listed with the appropriate image regions. The list may include one or more of the following for each image area: Boundary area;

Typen grafikk som skal produseres; og The type of graphics to be produced; and

Fargen som anvendes. The color used.

[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. [42] Then, in step 709, if the image area is text or line drawings, the image area is added to the selector layer in step 703.1 otherwise, in step 710, the image area is added to the foreground/background layer. Any type of image is added to the foreground/background layer so that the foreground/background layer is a good representation of the document.

[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. [43] Figures 8A and 8B show different possibilities for step 704 of Figure 7A. In Figure 8A, the font or brush color for text and images, respectively, is determined in step 801 and sent to step 803. Further, in step 802, the bounding area(s) (which may be rectangles or other shapes that define the bounding of the text and /or the dashes), and is sent to step 803. Steps 801 and 802 can be performed in any order, or can also be performed simultaneously. It is further understood that the fields determined in step 802 need not be completely filled. For example, a line drawing of a circle can have a bounding area in the form of a torus. In step 803, the area or areas identified in step 802 are painted as filled areas on the foreground layer.

[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. [44] Figure 8B shows another alternative for step 704. First, each pixel in the selector layer 804 is scanned. If the pixel is black, which is determined in step 805, the color of the background pixel is used to fill in the color of a corresponding foreground pixel in step 806. The scanning step 804 can include every pixel in the entire selector layer.

[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. [45] Alternatively, as the selector layer may be divided into images containing content, step 804 may scan only the images in the selector layer. Since the area of the selector layer not occupied by images will not contain content, these areas need not be scanned in step 804.

[46] I et annet aspekt ved oppfinnelsen er formatet til MRC-filen modifisert. [46] In another aspect of the invention, the format of the MRC file is modified.

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. Figure 9A shows an exemplary process for rendering a composite image from a file with mixed raster content from Figure 6.1 step 901 the system begins to construct a composite image from the various MRC layers. For all the pixels in the composite image, it is determined in step 902 whether the pixel is in a selector layer. If so, the system then determines in step 905 whether the pixel in the selector layer is white. If the pixel is white, the system checks in step 906 whether there is a corresponding pixel in the background layer. If there is no such pixel in the background layer, the default background color is used in step 909, otherwise the color of the corresponding pixel in the background layer is used in step 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. [47] If the pixel in the selector layer is not white in step 905, the system checks in step 907 whether there is a corresponding pixel in the foreground layer. If there is no such pixel in the foreground layer, the color of the pixel in the selector layer is used in step 908. If in step 907 there is a pixel in the foreground layer, the color of the corresponding pixel in the foreground layer is used in step 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. [48] If there is no pixel in the selector layer in step 902, the system determines whether there is such a pixel in the foreground layer in step 903. If there is a pixel in the foreground layer, the system applies in step 904 the color of the corresponding pixel in the foreground layer. Otherwise, the system determines in step 906 whether a pixel exists in the background layer, and continues as described above.

[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). [49] If there was no pixel in the selector layer as determined in step 902, the system determines whether there is a corresponding pixel in the foreground layer in step 903. If not, the color of the corresponding pixel in the background layer is used (step 906). If there is no corresponding pixel in the image background, a standard pixel color can be used (for example white or grey, or it can possibly be marked as transparent). If the result of step 903 is yes, the color from the corresponding pixel in the foreground layer is used (step 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. [50] Figure 9B shows a process for combining the multiple layers into a composite image. Initially in step 901, the system obtains the bounding rectangles, or other shapes, for the contents of the layers. The system then creates four lists. The first list (NOL FGBG) represents areas where the foreground does not overlap with the selection layer's areas and areas where the background does not overlap with the foreground's areas. The second list (SEL) represents areas where the selector layer does not overlap with the foreground layer. The third list (SELFG) represents areas where only the selector layer and the foreground layer overlap. The fourth list (BGFGSEL) represents areas where the background, selector, and foreground layers all overlap.

[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. [51] Then, in step 913, the composite image is filled with a standard background color. Each list is processed in steps 914-917.1 step 914 fills each area in the first list (NOL_FGBG), when there is a foreground layer, with the image foreground. Otherwise, the area is filled with the image background.

[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. [52] In step 915, each area in the second list (SEL) is processed. If the pixel in the selector layer is white, no modifications are made to the composite image. Otherwise, the color of the pixel in the selection layer is used.

[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. [53] In step 916, for each area in the third list (SELFG), if the pixel in the selector layer is white, no modifications are made to the composite image. Otherwise, the color of the pixel in the foreground layer is used.

[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. [54] In step 917, for each area in the fourth list (BGFGSEL), if the pixel in the selector layer is white, the background color is used. Otherwise, the color of the pixel in the foreground layer is used.

[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. [55] Figure 10 shows another exemplary process for creating a file with mixed raster content. The process illustrated in Figure 10 produces the MRC file in Figure 6. The process begins at step 1001 where it is initialized. In one example, step 1000 may be receiving a command to print the MRC file. Since step 1000 may be part of an application, part of a graphics toolbox called by an application, or may be any number of other mechanisms for initiating creation of the MRC file, step 1000 is shown in a box with a dashed border.

[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. [56] For the sake of simplicity, the following is described in connection with creating MRC files in a printer driver. The following includes reference to the GDI API, available in the WINDOWS® operating system from Microsoft Corporation, which includes various function calls for image manipulation. One must understand that other operating systems, such as LINUX and APPLE-based systems, will include variations of the different function calls. Accordingly, as all types of operating systems and printer drivers are intended to be covered by the scope of this specification, the references to GDI function calls are not intended to be limiting, and are provided for explanatory purposes only.

[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: [57] To construct a printer driver using GDI, a number of function calls are available. The following describes a number of function calls that help separate content into different layers. The function calls can be generally described as DrvXXX GDI API functions. Specifically, they include:

• DrvCopyBits • DrvCopyBits

• DrvBitBIt • DrvBitBIt

• DrvStretchBIt • DrvStretchBIT

• DrvStrokePath • DrvStrokePath

• DrvFillPath • DrvFillPath

• DrvStrokeAndFillPath • DrvStrokeAndFillPath

• DrvLineTo • DrvLineTo

• DrvTextOut • DrvTextOut

• DrvAlphaBlend • DrvAlphaBlend

• DrvGradientFill • DrvGradientFill

• DrvPlgBIt • DrvPlgBIT

• DrvStretchBltROP • DrvStretchBltROP

• DrvTransparentBIt • DrvTransparentBIT

[58] Disse funksjonskallene er delt inn i forgrunnsgenererende funksjoner og bakgrunnsgenererende funksjoner som følger: [58] These function calls are divided into foreground generating functions and background generating functions as follows:

Forgrunnsgenererende funksjoner Foreground generating functions

• DrvStrokePath • DrvStrokePath

DrvLineTo DrvLineTo

DrvTextOut DrvTextOut

DrvBitBIt DrvBitBit

Bakgrunnsgenererende funksjoner Background generating functions

DrvCopyBits DrvCopyBits

DrvBitBIt DrvBitBit

DrvStretchBIt DrvStretchBIT

DrvAlphaBlend DrvAlphaBlend

DrvGradientFill DrvGradientFill

DrvPlgBIt DrvPlgBIT

DrvStretchBltROP DrvStretchBltROP

DrvTransparentBIt DrvTransparentBIT

DrvFillPath DrvFillPath

DrvStrokeAndFillPath 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. [59] One understands that graphics renderers change over time. Accordingly, the above list is provided as an example only. It is understood that other function calls can be used or will be known to the person skilled in the art, and these are considered to be within the scope of graphics functions as shown above.

[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. [60] For explanatory purposes, the printing process can be divided into two steps. These two steps are represented by the left and right halves of Figure 10. During the first step, two bitmap or bitmap files are created in step 1001. The two files are the selector layer and a combined background/foreground layer. The combination layer can be referred to as BFGG_SURFACE and the selector layer as SELSURFACE. Both bitmap files cover the entire page. In step 1002, the system determines whether one of the received function calls was a foreground generating DrvXXX call. Alternatively, the FillPath and StrokeAndFillPath function calls, unlike the BitBlt function calls, can be used when a brush is a solid color and applies different raster operations. If yes, in step 1004 it renders both BFGG_SURFACE and SEL_SURFACE by applying a corresponding EngXXX function call (which is part of the GDI API) to BFGG_SURFACE and SEL SURFACE separately. If the function call was a background generating DrvXXX function call (represented as "no" from determination step 1002), it renders BFGG_SURFACE using a corresponding EngXXX function call from the GDI toolbox in step 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. [61] Furthermore, for each DrvXXX function call, a data node is created that contains at least part of the following information: • Bounding rectangle or area that can be affected by the DrvXXX function call. • The color value of the text for the DrvTextOut function call and for line drawings.

• En ID for å identifisere typen DrvXXX-funksjonskall. • An ID to identify the type of DrvXXX function call.

[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. [62] In addition, each node is added to a list of background elements (BGEJJST) or a list of foreground elements (FGEJJST) for processing in the second step. Process steps 1003 and 1005 show that the node can be brought into each list. However, since these steps can be performed before or after steps 1004 and 1006, steps 1003 and 1005 are shown with dotted frames.

[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. [63] BFGG_SURFACE can have the same resolution as the highest resolution to be used for the background and foreground images. Alternatively, the resolution of BGFG_SURFACE can be set to the same resolution as the page resolution in the final image.

[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. [64] The second step begins after all DrvXXX function calls are processed. At this stage, images have been generated for the three layers. In step 1007, the process determines whether the images in the background/foreground list overlap. If yes, the images are processed and added to the images to be combined by the MRC process(es). If the images do not overlap, the process attempts to add the images to the selector list in step 1009. To determine where a selector image is needed, an intersection test is performed for each image in BGEJJST with each image in FGEJJST. All areas (rectangular or not) where foreground elements and background elements intersect are handled by a selector image.

[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. [65] In one embodiment, the process attempts to move as much of the images in the selector layer as possible into the foreground layer. In another embodiment, the process attempts to minimize the sum of the areas of all the images to reduce the compressed size and increase the performance of the compression, decompression and rendering steps. In a further embodiment, the process attempts to have the lowest possible total number of images in all layers. These embodiments can be combined or used separately. They are described together for explanatory purposes.

[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. [66] In step 1010, the process attempts to reduce the number of elements or images per layer. For example, two non-overlapping text images of the same color can be combined.

[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 [67] In step 1010, the process attempts to reduce the number of elements in the layers. In this step, elements from the same layer are combined to make larger elements large. It should be noted that this step will be able to introduce new items into the lists. The following lists different methods of combining the items. One or more of these can be used to determine how elements in the layers should be grouped: • The combined element should avoid creating new overlaps with elements in other layers, if this does not provide advantages in terms of other aspects such as

er listet nedenfor; are listed below;

• 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 • The area of the combined element should not be much greater than the sum of the individual elements. A threshold value can be set (for example 30% - 40%) against which a comparison is made to determine when a combined

eement blir for stort; og eement becomes too large; and

• 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). • Rendering-specific function calls may have qualifiers (for example, foreground elements created using DrvTextOut should not be combined with elements created using other DrvXXX function calls because they may have different BPP values. Furthermore, in foreground elements created using DrvTextOut, only elements of the same color can be combined).

[68] Etter at det er bestemt hvordan siden skal dekomponeres, foreligger det tre lister: • BGEJJST; [68] After it has been decided how the page should be decomposed, there are three lists: • BGEJJST;

• SLEJJST; og • SLEJJST; and

• FGEJJST. • 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. [69] Each list contains a list of nodes that describe the area (eg a rectangle or other shape) to be cut from the page. In a further embodiment, the lists can include a scale factor that describes how the image in the list should be scaled in the final image. The scale factor makes it possible to store each image element at a different resolution, even within the same layer.

[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. [70] Finally, the various layers are rendered in step 1011. For each element in the list of background elements that do not cut selector images, an image can be created by cutting out an area from BFGG_SURFACE and placing it in the background layer. For each element in the list of foreground elements that don't clip selector images, an image can be created by clipping an area from SEL_SURFACE and adding it to the foreground layer. For elements in the background and foreground list that intersect selector images, images are created for each layer using both SEL_SURFACE and BFGG_ 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. [71] For example, also referring to the clipping/pixel-by-pixel comparison capability of Figure 9B, with a background element intersecting the selector image, the image background can be constructed by clipping an area from the BGFG_ SURFACE. Then, for each pixel in the image background, the process checks the corresponding pixel in SEL_ SURFACE. If the pixel in SEL_ SURFACE is black, the pixel value in the image background is replaced with a nearby background pixel whose corresponding pixel in SEL_ SURFACE is white. For a foreground element that intersects the selector image, the image foreground can be constructed by clipping an area from BFGG_ SURFACE. Then, for each pixel in the image foreground, the process checks the corresponding pixel in SEL_ SURFACE. If the pixel in SEL_ SURFACE is white, the pixel value in the image background is replaced with a nearby foreground pixel whose corresponding pixel in SEL_ SURFACE is black. One advantage of moving images to the selector layer and/or reducing the number of images per layer is that the resulting layers can be compressed with better efficiency.

[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. [72] As mentioned above, different compression techniques can be used to compress the different images. For example, one can compress each image that is 1 bpp using G4 compression. Each image that is 24 bpp can be compressed using JPEG compression, which is well known to those skilled in the art.

[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. [73] Figure 11 shows a process for merging images. The images can be processed together, or can be divided into groups (hereinafter referred to as "image sets"). The images in the image sets can be grouped by image type. Alternatively, the image sets can be grouped in the order in which they were created. The image sets can have a predetermined maximum number of images, but this is not necessary.

[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. [74] In figure 11, image set comprises 1 N images. The images are arranged in order of how close they are to each other. Proximity is described below in connection with Figure 13. Proximity can be considered the physical distance between the images, or can describe how close the images are to each other for merging purposes. If two images overlap, their mutual proximity value is equal to "0", which means that they have the lowest proximity value and thus should be merged. Image pairs that should not be merged can be given a proximity value of 1 or higher. It is understood that any scale can be used to describe closeness.

[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: [75] All the images in image set 1 are compared with each other, and each pair of images is ranked according to their mutual proximity value. If N = 5 in Figure 11, the image pairs will be as follows:

Bilde 1, Bilde 2 Picture 1, Picture 2

Bilde 1, Bilde 3 Picture 1, Picture 3

Bilde 1, Bilde 4 Picture 1, Picture 4

Bilde 1, Bilde 5 Picture 1, Picture 5

Bilde 2, Bilde 3 Picture 2, Picture 3

Bilde 2, Bilde 4 Picture 2, Picture 4

Bilde 2, Bilde 5 Picture 2, Picture 5

Bilde 3, Bilde 4 Picture 3, Picture 4

Bilde 3, Bilde 5 Image 3, Image 5

Bilde 4, Bilde 5 Image 4, Image 5

[76] Nærhetsverdien for hvert par bestemmes, og parene ordnes som vist i figur 11 for bildesett 1 på venstre side i figuren. [76] The proximity value for each pair is determined, and the pairs are arranged as shown in figure 11 for image set 1 on the left side of the figure.

[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. [77] In step 1101, for the first image pair, the process determines whether the proximity value is lower than a predetermined threshold value. If so, the images are merged in step 1102 and the proximity value is recomputed for the remaining images. If the proximity value in step 1101 is higher than the threshold value, merging can be stopped in step 1104. For example, the threshold value can be set to any value between the lowest proximity value (which means that the images should be merged) and the highest proximity value (which means that the images should not be braided). The range of the threshold value can be 0.4 - 0.6. It is noted that the threshold value may be higher or lower than this range, depending on the type of images, the relationship between the types of images, and other factors.

[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. [78] As described above, the process attempts to merge images that have a low mutual proximity value. Another advantage can be obtained by minimizing the number of resulting images that the MRC operation must process. In this case, although the images do not necessarily have a mutual proximity value lower than the threshold value used in 1101, a desired number of images per image set may be specified to minimize the number of images that must be processed. Step 1103 represents a determination of whether the number of images in the image set is lower than the desired number of images in the image set. For example, the desired number of images may be 4. Thus, although the mutual proximity value of any pair of images may be high, the images may still be merged (step 1102) to reduce the number of resulting images, and the proximity value of the resulting image pairs is calculated again in step 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. [79] Figure 12 shows an example of the merge function running through pairs of images as well as the resulting images. The individual images are represented by image areas 1 - N, respectively numbered 1201 - 1205. The merging process 1206 runs over images 1201 - 1205. Merging any pair of images can be a simple merging process (process 1207) where the resulting image (image area A, which is a single image and is treated as an image background) does not result in MRC images. Alternatively, the resulting interlacing may be a complex interlacing with MRC as shown in process 1208. There are at least two types of interlaced results from the MRC interlacing 1208. The first 1211 is an image area C where background and selector layers have been produced. The third 1212 is an image area D where background, selector and foreground layers have been produced. This order of a single (background) image, MRC with background and selector layers, and MRC with background, selector and foreground layers is also the preferred one when determining the type of merging to be performed. That is, one would rather produce an MRC file with a single background layer than an MRC file with background, selector and foreground layers.

[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. [80] Figure 13 shows a process for determining the proximity value for two arbitrary image areas. Two image areas A, 1301, and B, 1302, are checked for overlap in step 1303. If the images overlap, the proximity value is set to 0 in step 1307. If not, the process determines in step 1304 whether both images are MRC images. If both images are MRC images, the proximity value for the images (step 1308) is set to a value between 0 and a high value (the high value here being 1). This intermediate value can be a fixed value for all cases (eg 0.5). Alternatively, the value can be set as a ratio. In one example, the ratio may be the efficiency ratio of combining the image areas. In other words, the ratio can be the unused space in the merged image divided by the total area of the combined images. This relationship is shown in the form of an equation in step 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. [81] Figure 14 shows an example of determining the unused space. In Figure 14, the text image A, 1401, is considered for combination with the text image B, 1402. In this example, the bounding areas 1401 and 1402 are shown as rectangles. The combined image area from the two areas 1401 and 1402 results in an unused space 1403 which is shown delimited by a dashed line. In an alternative embodiment, the unused space can be calculated based on a rectangular grid, resulting in the total area comprising 1401, 1402, the area 1403 enclosed by the dashed lines, as well as the outlying areas 1404 and 1405. The first example includes the unused the square area 1403.1 the second example includes the unused square area 1403, 1404 and 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. [82] Referring back to Figure 13, if both images at the relevant time are not MRC images, the process determines in step 1305 whether both images are text/line images. If this is the case, and if the images have the same color (step 1306), the proximity value is set in step 1308 as described above.

[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. [83] If the text/line mappings do not have the same color, it is necessary to apply MRC, so that the proximity value is set high (e.g. 1) as shown in step 1309. Alternatively, the proximity value can be set high in the manner shown in step 1310, where the proximity value is set to a coefficient multiplied by the new MRC area created by merging the two images divided by the total area of the combined images.

[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. [84] If the outcome of step 1305 is no, the proximity value is set in step 1310. Alternatively, the proximity value can be set as shown in step 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. [85] Once the merged files are created, an indication of how much space is occupied by the original images can be stored in the combined images. There are different methods for calculating the space for interlaced images. Figure 15A shows three images (1-3) each having a size of three units. It is understood that any unit of area measurement may be used, including square centimeters, square millimeters, square inches, pixels and the like. Image 1 overlaps with image 3, and image 2 overlaps with image 3.1 Figure 15B shows 1501 the combination of images 1 and 2. After merging the combined image 1+3 with image 2, the resulting combination is represented by 1502.1 1502 is the number actually used units equal to 7. However, this number can be approximated by taking the combination of images 1 and 3 (1502) and adding the size of image 2.1504, giving an approximate size of 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. [86] Figure 15C shows yet another representation. Here, images 1 and 2 are first combined, resulting in image 1505. Adding image 3 results in image 1506, which also has a size of 7 units as the center unit in image 2 and the lower unit in image 3 are not counted separately, but together. Alternatively, this value for the size of the occupied space in the combined image may include 1507 for images 1 and 2 and image 3, 1508, giving a total of 9 units. In yet another embodiment, the size of the interlaced image may be replaced by the total size of the combined image.

[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. [87] Although exemplary systems and methods comprising the present invention are shown as examples, it is of course understood that the invention is not limited to these embodiments. The person skilled in the art can make modifications, especially in light of the foregoing ideas. For example, each of the elements of the above-described embodiments can be used alone or in combination with elements from the other embodiments. Although the invention is defined by application of the subsequent patent claims, these claims are exemplary in that the invention is intended to include the elements and steps described here in any combination or partial combination. Accordingly, there are any number of alternative combinations for defining the invention, incorporating one or more elements from the specification, including the description, claims and figures, in different combinations or sub-combinations. It will be obvious to those skilled in the art, in light of the present specification, that alternative combinations of aspects of the invention, either alone or in combination with one or more elements or steps defined herein, may be used as modifications or rearrangements of the invention or as a part of the invention. It is intended that the written description of the invention provided herein shall cover all such modifications and rearrangements.

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.1. Process for generating a mixed raster content file, comprising the steps of: processing text or line art; adding said text or line art to a selector layer; processing a list of images to form a set of foreground, selector, and background images; applying a color to a font of said text or a color to said line and adding an area of said color to said font of said text or said color to said line in a foreground layer; and add images to a background layer. 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.2. Process for rendering a file of mixed raster content into a composite image, comprising the steps of: determining whether a pixel exists in a selector layer; determining whether said pixel is white; determining whether said pixel exists in a foreground layer; and applying a color in said pixel from said foreground layer to color a corresponding pixel in said composite image when said decisions determined that said pixel is found in said selector layer, that said pixel is not white in said selector layer and that said pixel is found in said foreground layer. 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.3. Process according to claim 2, further comprising the steps of: if it is determined that a pixel is not found in said selector layer, then determine whether a corresponding pixel exists in said foreground layer; and applying a color in said corresponding pixel from said foreground layer to color a corresponding pixel in said composite image when said decisions determine that said pixel is found in said foreground layer, otherwise apply a color in a corresponding pixel in a background layer. 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.4. Computer-readable medium, wherein said medium comprises a data structure with mixed raster content that can be rendered into a composite image, wherein said data structure with mixed raster content comprises: a background layer; a foreground layer; and a selector layer, said selector layer comprising an image which is smaller than said composite image. 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.5. Computer-readable medium, wherein said medium comprises a data structure with mixed raster content comprising: a background layer; a foreground layer; and a selector layer, said foreground layer comprising one or more images with color palettes. 6. Datamaskin-lesbart medium ifølge krav 5, der nevnte ett eller flere bilder omfatter to eller flere bilder som har forskjellig fargeoppløsning.6. Computer-readable medium according to claim 5, wherein said one or more images comprise two or more images that have different color resolutions. 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.7. Computer-readable medium in which a computer program is stored, wherein said computer program generates a file with mixed raster content, said computer program performing the steps of: processing text or line drawings; adding said text or line art to a selector layer; applying a color to a font of said text or a color to said stroke and adding an area of said color to said font of said text or said color to said stroke in a foreground layer, and adding images to a background layer. 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.8. Computer-readable medium in which a computer program is stored, wherein said computer program renders a file with mixed raster content into a composite image, said program performing the steps of: determining whether a pixel exists in a selector layer; determining whether said pixel is white; and applying a color in said pixel from said foreground layer to color a corresponding pixel in said composite image when said decision step determines that said pixel is found in said selector layer, that said pixel is not white in said selector layer and that said pixel is found in said foreground layer. 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.9. Computer-readable medium according to claim 8, where said program further performs the steps of: if a pixel is not found in said selector layer, then determine whether a corresponding pixel exists in said foreground layer; and applying a color in said corresponding pixel from said foreground layer to color a corresponding pixel in said composite image when said decision step determines that said pixel exists in said foreground layer, otherwise apply a color in a corresponding pixel in a background layer. 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.10. Computer-readable medium in which a data structure is stored, said data structure having a mixed raster content comprising: a selector layer having a color resolution of one bit per pixel, a color being associated with the selector layer and the selector layer representing color text . 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.11. Process for rendering images, comprising the steps of: determining a bounding area for each image; generating at least two lists, where said first list represents the areas where there is no overlap between images and said second list represents the areas where there is overlap; render the non-overlapping areas area by area; and render the overlapping areas pixel by pixel. 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.12. Process for rendering composite images, comprising the steps of: determining a bounding area for each image; generate four lists, where said first list represents the areas where there is no overlap between images, where said second list represents those areas where the selector layer's areas do not overlap with the foreground layer's areas, where said third list represents the areas where only the selector layer's and foreground layer's areas overlap and where the aforementioned fourth list represents the areas where the areas of the background layer, selector layer and foreground layer overlap. 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.13. Process according to claim 12, further comprising the step of filling said composite image with said areas in the foreground layer from said first list when said areas in the foreground layer are found in said first list, otherwise filling said composite image with areas in the background layer. 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.14. Process according to claim 12, further comprising the step of filling said composite image with said area in the foreground layer from said second list when said second list contains a non-white area in the selector layer. 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.15. Process according to claim 12, further comprising the step of filling said composite image with said area in the selector layer from said third list when said third list contains a non-white area in the selector layer, otherwise filling said composite image with said area in the foreground layer. 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.16. Process according to claim 12, further comprising the step of filling said composite image with an area in the foreground layer when said area in the selector layer is not white, otherwise filling said composite image with said area in the background layer.
NO20031441A 2002-04-30 2003-03-28 Mixed raster content files NO329337B1 (en)

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 (en) 2003-03-28
NO20031441L NO20031441L (en) 2003-10-31
NO329337B1 true NO329337B1 (en) 2010-09-27

Family

ID=22464255

Family Applications (1)

Application Number Title Priority Date Filing Date
NO20031441A NO329337B1 (en) 2002-04-30 2003-03-28 Mixed raster content files

Country Status (20)

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

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
EP1546917B1 (en) * 2002-08-28 2015-11-18 Xmpie (Israel) Ltd. Apparatus and method for processing variable print documents
KR100910974B1 (en) * 2002-10-02 2009-08-05 엘지전자 주식회사 Method for managing a graphic data of high density optical disc
US20040123247A1 (en) * 2002-12-20 2004-06-24 Optimost Llc Method and apparatus for dynamically altering electronic content
JP2004260273A (en) * 2003-02-24 2004-09-16 Oki Data Corp Image forming apparatus
US20050222687A1 (en) * 2004-04-02 2005-10-06 Gordana Vunjak-Novakovic Cartilage implant assembly and method for implantation
KR100538224B1 (en) * 2003-06-09 2005-12-21 삼성전자주식회사 Method and apparatus for scanning and printing in inkjet printer
JP4125208B2 (en) * 2003-09-29 2008-07-30 キヤノン株式会社 Image processing apparatus and image processing method
JP4049136B2 (en) * 2004-08-10 2008-02-20 ブラザー工業株式会社 Image processing apparatus and program
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 (en) * 2005-10-18 2011-01-05 シャープ株式会社 Image processing apparatus, image processing method, and image processing program
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 (en) * 2006-03-31 2011-08-31 キヤノン株式会社 Image processing apparatus, control method, and computer program
CN100538620C (en) * 2006-04-29 2009-09-09 光宝科技股份有限公司 Method of printing and print object control device
CN100545831C (en) * 2006-09-27 2009-09-30 北京大学 A kind of grating processing method of transparent page and device
CN100576238C (en) 2006-09-30 2009-12-30 北京大学 A kind of grating image processing method and device
KR101282030B1 (en) * 2007-01-26 2013-07-04 삼성전자주식회사 Image forming apparatus for security transmission of data and method thereof
JP4914318B2 (en) * 2007-09-14 2012-04-11 株式会社リコー Image processing apparatus, image processing system, image processing method, program, and recording medium
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
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
US20100245889A1 (en) * 2009-03-30 2010-09-30 Nguyen Uoc H Methods and Systems for Rendering Data
US20100245918A1 (en) * 2009-03-30 2010-09-30 Nguyen Uoc H Methods and Systems for Rendering Data
US8339653B2 (en) * 2009-03-30 2012-12-25 Sharp Laboratories Of America, Inc. Methods and systems for rendering data based on overlap characteristics
US8339670B2 (en) * 2009-03-30 2012-12-25 Sharp Laboratories Of America, Inc. Methods and systems for rendering data based on graphic-list partitioning
US8339671B2 (en) * 2009-03-30 2012-12-25 Sharp Laboratories Of America, Inc. Methods and systems for rendering data by partitioning a graphics list
US8411319B2 (en) * 2009-03-30 2013-04-02 Sharp Laboratories Of America, Inc. Methods and systems for concurrent rendering of graphic-list elements
AU2009202377A1 (en) * 2009-06-15 2011-01-06 Canon Kabushiki Kaisha Combining overlapping objects
JP2011040970A (en) * 2009-08-10 2011-02-24 Canon Inc Data processing apparatus and data processing method
JP5434555B2 (en) * 2009-12-14 2014-03-05 富士ゼロックス株式会社 Image information processing apparatus and program
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 (en) * 2012-02-16 2018-06-18 삼성전자주식회사 Methods for encoding and decoding image files, machine-readable storage medium and communication terminal
TWI505203B (en) * 2012-11-02 2015-10-21 Avisonic Technology Corp Image processing method and image processing apparatus for generating vehicular image
JP5886265B2 (en) * 2013-11-28 2016-03-16 シャープ株式会社 Portable terminal device, program, and recording medium
US10268698B2 (en) * 2014-11-21 2019-04-23 Adobe Inc. Synchronizing different representations of content
CN106157341B (en) * 2015-03-30 2019-05-14 阿里巴巴集团控股有限公司 Generate the method and device of synthesising picture
DE102016204044A1 (en) * 2016-03-11 2017-09-14 Bayerische Motoren Werke Aktiengesellschaft METHOD AND HEAD-UP DISPLAY FOR PERSPECTIVELY TRANSFORMING AND DISPLAYING AN IMAGE CONTENT AND VEHICLE
CN108376416A (en) * 2018-01-16 2018-08-07 天津大学 A kind of image generating method and device
CN108924557B (en) * 2018-06-11 2022-02-08 海信视像科技股份有限公司 Image processing method, image processing device, electronic equipment and storage medium
US11704843B2 (en) * 2021-03-03 2023-07-18 Adobe Inc. Advanced application of color gradients to text
KR20220126914A (en) * 2021-03-10 2022-09-19 삼성전자주식회사 An electronic device that outputs an image using the alpha value of the image and control method thereof

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
US6400844B1 (en) * 1998-12-02 2002-06-04 Xerox Corporation Method and apparatus for segmenting data to create 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
JP2000175053A (en) * 1998-12-07 2000-06-23 Xerox Corp Processing method of mixed raster contents plane expressing compression pixel map of document
JP2000175052A (en) * 1998-12-07 2000-06-23 Xerox Corp Processing method and system for pixel map expression
JP2001136361A (en) * 1999-11-01 2001-05-18 Canon Inc Picture communication equipment and its method
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
EP1359545B1 (en) 2006-05-31
NO20031441L (en) 2003-10-31
MXPA03002793A (en) 2005-02-14
JP4299034B2 (en) 2009-07-22
KR100935267B1 (en) 2010-01-06
CA2423528A1 (en) 2003-10-30
EP1359545A1 (en) 2003-11-05
BR0301147A (en) 2004-08-17
ES2265532T3 (en) 2007-02-16
ZA200302351B (en) 2004-03-10
DE60305573T2 (en) 2006-11-02
DK1359545T3 (en) 2006-09-25
TWI322387B (en) 2010-03-21
AU2003203331B2 (en) 2008-10-30
NO20031441D0 (en) 2003-03-28
CN1293464C (en) 2007-01-03
CN1455332A (en) 2003-11-12
JP2003331298A (en) 2003-11-21
ATE328335T1 (en) 2006-06-15
DE60305573D1 (en) 2006-07-06
KR20030085472A (en) 2003-11-05
PL359440A1 (en) 2003-11-03
TW200306500A (en) 2003-11-16
CA2423528C (en) 2011-03-22
HK1058849A1 (en) 2004-06-04
AU2003203331A1 (en) 2003-11-20
US7110137B2 (en) 2006-09-19
MY144550A (en) 2011-09-30
RU2360288C2 (en) 2009-06-27
US20030202212A1 (en) 2003-10-30
US20070013951A1 (en) 2007-01-18

Similar Documents

Publication Publication Date Title
NO329337B1 (en) Mixed raster content files
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
US7583397B2 (en) Method for generating a display list
US7894098B1 (en) Color separation of pattern color spaces and form XObjects
EP1577838A2 (en) A method of rendering graphical objects
US8659620B2 (en) Methods and apparatus for rendering images
US6701008B1 (en) Method, computer readable medium and apparatus for extracting characters from color image data
CN101790749B (en) Multi-sample rendering of 2d vector images
US20020012132A1 (en) Rendering page descriptions
JP4747780B2 (en) Image processing apparatus, image processing method, and image processing program
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