CN1878234A - Imaging device, control method, and program - Google Patents

Imaging device, control method, and program Download PDF

Info

Publication number
CN1878234A
CN1878234A CN 200610091264 CN200610091264A CN1878234A CN 1878234 A CN1878234 A CN 1878234A CN 200610091264 CN200610091264 CN 200610091264 CN 200610091264 A CN200610091264 A CN 200610091264A CN 1878234 A CN1878234 A CN 1878234A
Authority
CN
China
Prior art keywords
reproduction
variable
color
situation
color matching
Prior art date
Legal status (The legal status 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 status listed.)
Granted
Application number
CN 200610091264
Other languages
Chinese (zh)
Other versions
CN100405815C (en
Inventor
妙木裕
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Publication of CN1878234A publication Critical patent/CN1878234A/en
Application granted granted Critical
Publication of CN100405815C publication Critical patent/CN100405815C/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Image Processing (AREA)
  • Facsimile Image Signal Circuits (AREA)
  • Color Image Communication Systems (AREA)
  • Processing Or Creating Images (AREA)

Abstract

A printing control method comprises a rendering step for rendering a description language document, a color matching step for converting color information specified in the description language document into color information for a printing device which is to print the description language document, and a control step for controlling whether to perform the conversion in the color matching step before the rendering or following the rendering. Appropriately controlling whether to perform color matching before rendering or following rendering enables color reproducibility to be improved.

Description

Imaging device, control method and program
Technical field
The present invention relates to utilize the imaging device for example reproduction (rendering) carried out of printing equipment and the field of color matching.
Background technology
In general, when the color of the reproduction instruction defined in PDL (page-description language) document to monitor or printer (output device) output, the PDL document is carried out Color Gamut Mapping/conversion.Use the configuration file (profile) (ICC configuration file etc.) of output device to carry out this Color Gamut Mapping/conversion, so that the PDL document is shone upon/is transformed in the colour gamut of output device.This method has for example disclosed in the open No.7-107312 of Japan Patent.
In addition, the open No.8-235346 of Japan Patent has described the object with different attribute (color space etc.) has been converted to each optimized image data structure, and switches the color matching processing that will put on image data structure in real time.
Have such certain situation, wherein opacity (alpha value) is included in the PDL document reproduction instruction as color assignment.Under according to the image of reproduction instruction and situation, need alpha blended according to the doubling of the image of other reproduction instruction with opacity.In these cases, reproduce the result according to being to carry out alpha blended and difference after before being used for the alpha blended of reproduction instruction, being mapped to the colour gamut of output device (for example printer) or being mapped to the colour gamut of output device.But, there is not single factor to be used for determining which is regularly better for Color Gamut Mapping.The influence of reproducing color and alpha value, output device, the configuration file that when Color Gamut Mapping, uses that the result is subjected to stipulate in reproduction instruction, reproducing intention (intent) etc.
In addition, the colouring instruction in the PDL document comprises under the situation of gradient (gradient), needs gradient to reproduce.In this case, reproduce the result also according to being different carrying out that gradient carries out that gradient is reproduced before proceeding to the mapping of colour gamut of equipment or the colour gamut of the equipment of being mapped to before reproducing.This shows, be the reproduction of some type for example before alpha blended and the gradient or after carry out color matching, be worth further research.
Summary of the invention
In view of the above problems, the invention provides about before reproducing, still after reproducing, carrying out the suitable control of color matching, so as to improving the reproducibility of color.
According to one aspect of the present invention, a kind of control method is provided, comprising: reproduce step, be used to reproduce the descriptive language document; The color matching step is used for the colouring information of stipulating at the descriptive language document converted to that be used for will be to the colouring information of the imaging device of described descriptive language document imaging; And controlled step, being used for control is to carry out described conversion in the color matching step before reproducing or after reproducing.
Further feature of the present invention will be clear that from the explanation of the embodiment of the example of carrying out with reference to the accompanying drawings.
Description of drawings
Fig. 1 is the figure of the illustrative configurations of expression one embodiment of the present of invention;
Fig. 2 represents the figure according to the configuration of the computer installation of first embodiment;
Fig. 3 is the figure of expression according to the configuration of the print apparatus of first embodiment;
Fig. 4 is the calcspar of the overall arrangement of expression first embodiment;
Fig. 5 is the figure of the content of the SVG document files that uses of expression first embodiment;
Fig. 6 is the example of content of the reproduction of the SVG document files that uses of first embodiment;
Fig. 7 is the figure that is used to illustrate the regulation of the intermediate code that first embodiment uses;
Fig. 8 represents the example by the intermediate code of the dump (dump) of the SVG document files acquisition of changing first embodiment use;
Fig. 9 is the flow chart (1) of the operation of the image reproducer among expression first embodiment;
Figure 10 is the flow chart (2) of the operation of the image reproducer among expression first embodiment;
Figure 11 is the flow chart that is used for being illustrated in the first embodiment path padding (processing of definition);
Figure 12 represents the figure of the configuration example of the checking result database among first embodiment;
Figure 13 is the flow chart that is used for representing the alpha blended operation (operation of definition) of first embodiment;
Figure 14 is the flow chart that is illustrated in the printer output beamhouse operation among first embodiment;
Figure 15 is the example (1) by the bitmap of the reconstructor reproduction of first embodiment;
Figure 16 is the example (2) by the bitmap of the reconstructor reproduction of first embodiment;
Figure 17 is the calcspar of the overall arrangement of expression second embodiment;
Figure 18 is the figure of the content of the SVG document files that uses of expression second embodiment;
Figure 19 is the reproduction of content example of the SVG document files of second embodiment use;
Figure 20 is the figure that is used to illustrate the regulation of the intermediate code that second embodiment uses;
Figure 21 represents the example by the intermediate code of the dump of the SVG document acquisition of changing second embodiment use;
Figure 22 is the flow chart (1) of the operation of the reconstructor among expression second embodiment;
Figure 23 is the flow chart (2) of operation that is used for representing the reconstructor of second embodiment;
Figure 24 is the flow chart that is used to represent path solid color padding in a second embodiment (operation of definition);
Figure 25 is the flow chart that is used to represent alpha blended operation (operation of definition) in a second embodiment;
Figure 26 is a flow chart of representing path gradient operation (operation of definition) in a second embodiment;
Figure 27 is a flow chart of representing path gradient operation (operation of definition) in a second embodiment; And
Figure 28 is a flow chart of representing printer output operation (operation of definition) in a second embodiment.
Embodiment
First embodiment
Describe the first embodiment of the present invention with reference to the accompanying drawings in detail.
The PDL that present embodiment uses be SVG (scalable vector graphics) 1.1.SVG 1.1 regulation can Http:// www.w3.org/TR/SVG11/ finds
In user PC (client computer), the SVG document files is converted into the intermediate code data by interpreter.Then, reconstructor becomes data bitmap to the intermediate code data transaction.Utilize present embodiment, when the intermediate code data are converted into data bitmap, color matching and reproduce the precision of back color matching before measure reproducing, and select higher one of precision.The result who selects be stored for this and later current again.Printer uses by reproducing the data bitmap that obtains and exports, so as to producing print result.
The overall arrangement of present embodiment at first, is described with reference to Fig. 1.In Fig. 1, Reference numeral 101 expression client computer PC, the user is operated by this client computer PC, and this client computer PC links to each other with network 103 by network interface.Reference numeral 102 expressions are by the printer of network receiving printing orders, and it also links to each other with network 103 by network interface.Client computer PC 101 can send print command to printer 102 by network 103.
Below with reference to Fig. 2 and Fig. 3 the computer installation of present embodiment use and the configuration of printer are described.
Fig. 2 is the calcspar of an example of the configuration of expression client computer PC 101.CPU 201 controls whole device according to the control program that is stored among the RAM 202, and this will be described hereinafter.RAM 202 is internal storage units, and storage is used for the control program of the device that CPU 201 realizes, also stores for example file and picture etc. of data.Network interface 203 is used to connect network, and is used for transmission/reception data etc. under the control of CPU 201.External memory 204 is to be used to disk of storing data etc.Reference numeral 205 expression displays, 206 expression keyboards, 207 expression pointing devices are mouse etc. for example.Program stored uses the function that also is stored in the operating system among the RAM 202 to carry out following processing when needed in RAM 202.Specifically, these program implementation realize following function:
(1) read/write will temporarily be stored in the content of the data among the RAM 202;
(2) from external memory 204 read datas/data are write external memory 204;
(3) by network interface transmission/reception data;
(4) receive input, and on display 205, show from keyboard 206 and pointing device 207.
Fig. 3 is the calcspar of an example of the configuration of expression printer 102.Reference numeral 208,209,210 and 211 represent CPU respectively, RAM, network interface and external memory, they and CPU 201 shown in Figure 2, RAM 202, and network interface 203 and external memory 204 are identical.The Printer Engine that Reference numeral 212 expressions print.Program stored control Printer Engine 212 in RAM 209 prints so that follow the print command that receives by network interface 210.At this moment, by the processing of program stored in RAM 209, the content of the data of temporary transient storage can be by read/write in RAM 209, and the data on the external memory 211 also can be by read/write.
Below with reference to Fig. 4 square configuration in the computer installation that present embodiment uses is described.Fig. 4 is primarily aimed at the logical block configuration that each components list that relates to shows client computer PC 101, printer 102 and network 103 with physical configuration shown in Figure 1 in the operation of present embodiment.Specifically, this figure is a calcspar, is used for the configuration of read-me module, document entity, memory data and communication path.
The border of the square of Reference numeral 301 expression client computer PC 101, the processing block that this method representation is operated under the control of operating system in this case.Interpreter 309, reconstructor 310 and CMM (color management module) 311 is stored in the external memory 204 as program module usually.When being carried out by user command, operating system or another system, interpreter 309, reconstructor 310 and CMM 311 are read into RAM under the control of operating system, thereby become executable.SVG document files 302 is stored in the external memory 204, and interpreter 309 can use the function of operating system to come the content of this SVG document files 302 of read/write.
Each program that comprises interpreter 309 and reconstructor 310 can use the function of operating system to come the content of the intermediate code data 303 of read/write store in RAM 202 in the same way.Each program that comprises reconstructor 310 also can use the function of operating system to come the content of the data bitmap 304 that read/write stores in the same way in RAM 202.
Interpreter 309 converts SVG document files 302 to intermediate code data 303, and this is a kind of conversion that can mechanically be determined by macaronic standard.Thereby the details of operation of interpreter 309 is no longer explanation in the present embodiment, and the content of conversion only is described.Reconstructor 310 produces data bitmap 304 from middle code data 303, and data bitmap 304 is sent to the controller 314 of printer 313 by network 103.At this moment, use the function of CMM 311 to carry out color matching.
CMM 311 carries out required color matching.This color matching is used:
(1) the input configuration file 305 of the input color space of expression SVG document files 302 and intermediate code data 303;
(2) the reproduction configuration file 306 in the reproducing color therewith space of expression reconstructor 310;
(3) printer profile 307 of the device color space of expression printer 313; And
(4) be given for the reproduction intention 308 of the matching process that carries out color matching.
CMM is provided as the part of operating system or usually as the program library that can be used by operating system, as at ICM under the Microsoft Windows situation (color of image management) or the ColorSync under Apple Mac OS situation, and only when carrying out color matching, just use its function.Thereby present embodiment no longer describes the operation of CMM 311 in detail, only provides the example that its function is used.
Externally generate checking result database 312 on the storage device 204 by the database program (not shown).The program that comprises reconstructor 310 uses the function of database-driven device (not shown) to come the content of read/write checking result database 312.
The square border of Reference numeral 313 expression printers 102.Controller 314 is the programs that are stored among the RAM 209, and it always is in executable state.Controller 314 receives data bitmap 304 by network interface 210 from reconstructor 310.Then, data bitmap 304 is stored among the RAM 209 as data bitmap 315, and controller 314 control Printer Engines 212 print according to data bitmap 315.
Below with reference to Fig. 5 and Fig. 6 the SVG document files that present embodiment uses is described.At first, Fig. 5 represents the content of SVG document files 302.
Row 1 is the XML statement, illustrates to write the SVG document files to meet XML 1.0 standards.
Row 2 and row 3 are file type statements, and the document type definition (DTD) of quoting SVG 1.1 is as outside son group.
Row 4 and 5 is used for as root element<svg〉beginning label of element.For<svg〉element specified width, which width and height, they are respectively 21.0cm and 29.7cm (being the A4 size), user coordinates (0,0) is to (210,297), and other SVG file name space and compatible SVG version.
Row 6 is<desc〉element, it describes the SVG document files.<desc〉content of element is not used in and reproduces the SVG document.Row 7,10 and 13 is comment element, also is not used in to reproduce the SVG document.
Row 8 and 9 is<circle〉element, be used to reproduce first circle.It is defined as (80,80) in the user coordinate system with centre coordinate, and radius value is defined as 50 in the user coordinate system.Other also stipulates to have the Fill Color of the yellow of 0.7 opacity (alpha value), blue profile color and 2 profile width in user coordinate system.
Row 11 and 12 is used to reproduce the second circle<circle〉element.It is defined as (140 in the user coordinate system with centre coordinate, 80), and radius value is defined as 50 in the user coordinate system, for the inside of this circle in addition also regulation have: have the Fill Color of 0.5 opacity (alpha value), blue profile color and 2 profile width in user coordinate system.
Row 14 and 15 is used to reproduce the 3rd circle<circle〉element.This is defined as (110,130) in the user coordinate system with centre coordinate, and radius value is defined as 50 in the user coordinate system.Other is also stipulated: have the Fill Color of the green of 0.3 opacity (alpha value), blue profile color and 2 profile width in user coordinate system.
Row 16 is as root element<svg〉end mark of element, the beginning label correspondence in this end mark and row 4 and 5.
Fig. 6 represents to reproduce an example of SVG document files shown in Figure 5.Reference numeral 501 expression corresponding in row 8 and 9<circle first circle of element, 502 expressions corresponding in row 11 and 12<circle second circle of element, 503 expressions corresponding in row 14 and 15<circle the 3rd circle of element.The demarcation rectangle of the whole SVG document of Reference numeral 504 expressions.The size of delimiting rectangle 504 is wide 21.0cm and high 29.7cm.The dotted line of vertical and level, near the coordinate shown in the circle at the intersection point place of dotted line and the intersection point at dotted line are used for illustrating the coordinate figure with at the required coordinate of the explanation of back, and they are not included in the actual reproduction.
Below with reference to Fig. 7 and Fig. 8 the intermediate code that present embodiment uses is described.Fig. 7 represents the standard of the intermediate code that present embodiment uses.
The opcode (command code) of reproduction instruction is represented in Reference numeral 601 expressions, and its form with numeral provides.9 generic operation sign indicating numbers have been defined in the present embodiment.Command code is stored in the intermediate code data 303 as the integer of a byte.The memonic symbol that Reference numeral 602 expressions provide for the ease of people's identifying operation sign indicating number.Memonic symbol only is used for the situation of dump intermediate code (output to display, printer, file etc., be mainly used in debugging), and is not included in the intermediate code data 303.Reference numeral 603 has represented to represent the operand of the parameter of command code.For different command codes, the quantity of operand is different with meaning.Operand is stored in the intermediate code data as the floating number of 2 bytes.
Only use the increment of mm in the intermediate code of present embodiment.Under the situation of regulation coordinate or length, all explanations are all carried out with the value that is converted into mm in operand.Coordinate figure is with absolute value representation, and wherein Ye upper left side is an initial point.Under the situation of specified color, use RGB (red, green, indigo plant) or RGBA (red, green, indigo plant, Alpha) in operand, each value among R (red), G (green), B (indigo plant) and the A (Alpha) is defined as in the scope of 0.0-1.0.In the RGB color assignment, Alpha's value is got and is done 1.0.
The beginning of command code 0 (memonic symbol PageStart) expression page or leaf.Operand is page width W (mm) and page or leaf high H (mm).The end of command code 1 (memonic symbol PageEnd) expression page or leaf.This there is not operand.Command code 2 (memonic symbol Fill) is the Fill Color regulation.Filling by this Fill regulation is applicable to all thereafter reproduction instruction.The operand that is used for this is the RGBA corresponding to Fill Color.
Command code 3 (memonic symbol Stroke) defined outline.Utilize the profile of Stroke regulation to be applicable to after this all reproduction instruction.Operand is the width W (mm) corresponding to the RGB and the profile of profile.Utilize present embodiment, the color of profile is implicit to be 1.0 alpha value.The beginning in command code 4 (memonic symbol PathStart) expression path.It there is not operand.
The end in command code 5 (memonic symbol PathEnd) expression path.Operand is a closed sign F.Under the situation that is set to " 1 ", this means from the path end position to the starting position and use straight line reproduced, so as to closed path.Under the situation that is defined as " 0 ", then hold fire.
The reproduction position of command code 6 (memonic symbol PathMoveTo) expression mobile route.This has between PathStart instruction and PathEnd instruction is effective.PathMoveTo only moves and reproduces the position, and does not carry out the reproduction of its reality.Operand is the shift position coordinate by value (mm) regulation of value of X (horizontal direction) (mm) and Y (vertical direction).
Command code 7 (memonic symbol PathLineTo) expression position reproduction straight line from the current location in path to operands specify.This is effective between PathStart instruction and PathEnd instruction.Operand is the toe-in bundle coordinate by value (mm) regulation of value of X (horizontal direction) (mm) and Y (vertical direction).
Command code 8 (memonic symbol PathArc) expression is from arc of current path position reproduction.This is effective between PathStart instruction and PathEnd instruction.PathArc always reproduces arc along clockwise direction.Operand is the coordinate by the arc center of the value (mm) of value of X (horizontal direction) (mm) and Y (vertical direction) regulation, and the length of arc is (by angle D (°) regulation).
Fig. 8 represents the content of the intermediate code data 303 that the interpreter 309 by the SVG document files 302 that is used to change content shown in Figure 5 obtains.Intermediate code data 303 are only to store the database data of 1 byte integer command code and 2 byte floating number operands.Fig. 8 represents to be labeled and to have this database data of memonic symbol, with facility it is carried out manual identified.
Row 1 is a page sign on, utilizes the width of operands specify page or leaf and height to be 210.0mm and 297.0mm.This equates shown in Figure 5<svg〉the element beginning label, wherein the length increase is by from centimetre being converted to millimeter.
Row 2 is the filling instructions that will use in reproduction subsequently, and this filling instruction has the operand of the Fill Color of regulation yellow, and alpha value is 0.7, and promptly (R, G, B, A)=(1.0,1.0,0.0,0.7).This is equivalent to first<circle shown in Figure 5〉filling of element and the attribute that fills opacity, wherein the numerical value of description of the text string of color assignment and opacity is described and has been converted into the RGBA expression.
Row 3 is the profile instructions that will use in reproduction subsequently, the operand that this profile instruction has the profile color of regulation blueness, that is and, (B)=(0.0,0.0,1.0), live width is 2.0mm for R, G.This is equivalent to 3<circle shown in Figure 5〉stroke property and the stroke width attribute of element, wherein the text string of color assignment is described and has been converted into RGB and expresses, and length legislations is converted to millimeter from user coordinate system.
Row 4 is the instruction groups that are used to reproduce a circle to row 7.It is that ((80.0mm, 30.0mm) beginning has the angle of 360 degree to this circle from coordinate for 80.0mm, circle 80.0mm) that the reproduction position move of row 5 and the arc reproduction instruction of row 6 are reproduced a centre coordinate.The inside of circle is filled by yellow, and alpha value is to come voluntarily 0.7 of 2 instruction, and profile is reproduced as blueness, and live width is to come voluntarily the 2mm of 3 instruction.This corresponding among Fig. 5 first<circle reproduction result 501 among element and Fig. 6, wherein coordinate convention and length legislations are converted to millimeter from user coordinate system.
Row 8 is the filling instructions that will use in reproduction subsequently, has the operand of the Fill Color of regulation redness, and alpha value is 0.5, that is, (R, G, B, A)=(1.0,0.0,0.0,0.5).This is corresponding to second<circle shown in Figure 5〉filling of element and the attribute that fills opacity, wherein the numerical value of description of the text string of color assignment and opacity is described and has been converted into the RGBA expression.
Row 9 is the instruction groups that are used to reproduce a circle to row 12.The reproduction position move of row 10 and the arc reproduction instruction of row 11 reproduce a centre coordinate be (140.0mm, 80.0mm), from coordinate (140.0mm, the circle that 30.0mm) begins, has 360 angles of spending.Fill with red the inside of circle, and alpha value is to come voluntarily 0.5 of 8 instruction, and profile is reproduced as blueness, and live width is to come voluntarily the 2mm of 3 instruction.This is corresponding to the second<circle of Fig. 5〉the reproduction result 502 of element and Fig. 6, wherein coordinate convention and length legislations are converted to millimeter from user coordinate system.
Row 13 is the filling instructions that will use in reproduction subsequently, has the operand of the Fill Color of regulation green, and alpha value is 0.3, that is, (R, G, B, A)=(0.0,1.0,0.0,0.3).This is corresponding to the 3rd<circle shown in Figure 5〉filling of element and the attribute that fills opacity, wherein the numerical value of description of the text string of color assignment and opacity is described and has been converted into the RGBA expression.
Row 14 is the instruction groups that are used to reproduce a circle to row 17.It is that ((110.0mm, 80.0mm) beginning has the angle of 360 degree to this circle from coordinate for 110.0mm, circle 130.0mm) that the reproduction position move of row 15 and the arc reproduction instruction of row 16 are reproduced a centre coordinate.Fill with green the inside of circle, and alpha value is to come voluntarily 0.3 of 13 instruction, and profile is reproduced as blueness, and live width is to come voluntarily the 2mm of 3 instruction.This is corresponding to the 3rd<circle of Fig. 5〉the reproduction result 503 of element and Fig. 6, wherein coordinate convention and length legislations are converted to millimeter from user coordinate system.
The overview of the operation of reconstructor 310 is described below with reference to Fig. 9 and Figure 10.Fig. 9 and Figure 10 represent to be used to reproduce the operational flowchart of intermediate code data 303 with the reconstructor 310 of generation data bitmap 304, and described data bitmap is sent to the controller 314 of printer 313.
Operating process is from step S801.Step S802 is the processing that is used for initializing variable.The intermediate code data 303 that obtain by conversion SVG document files 302 are read into variable dlc." fill " is the variable that is used to keep filling employed color that is applied to reproduction instruction, and wherein (r, g, b, a) expression is by the element of the color of RGBA expression.Initialization value is (1.0,1.0,1.0,1.0), that is, and and opaque fully (alpha value is 1.0) white." stroke " is the variable that is used to keep employed color of profile and live width that is applied to reproduction instruction, and wherein (b w) represents the element of color with RGB, and live width (is unit with the pixel) for r, g.Initial value is (0.0,0.0,0.0,1), that is, width is the black line of 1 pixel.
Step S803 is the processing that is used for obtaining from middle code data dlc next command code and operand.The command code and the operand that obtain are stored in respectively among variable " op " and " operand ".Step S804, S806, S809, S811, S813, S816, S821, S823 and S825 are used for determining the type of command code op, make to carry out suitable processing according to each command code.
At step S804, be under the situation of 0 (memonic symbol PageSart) in command code " op ", flow process proceeds to step S805.Otherwise flow process proceeds to step S806.
Step S805 is the preliminary treatment to the variable bmp of storage bitmap data 304.Notice that the element w of bmp represents the width (is unit with the pixel) of data bitmap.For the page width W (mm) in the operand " operand " is converted to bitmap increment (pixel), multiply by operand (W) with output resolution ratio res.The element h of bmp represents the height (is unit with the pixel) of data bitmap.For the high H of page or leaf (mm) in the operand " operand " is converted to bitmap increment (pixel), multiply by operand (H) with output resolution ratio res.The element res of bmp is with the output resolution ratio of PPM (every millimeter pixel) expression printer 313.
Element data[in bmp] be to be used for the storage bitmap array of data, horizontal size is w (pixel), vertical dimension is h (pixel).Data[] element (b a) represents each color of pixel with RGBA for r, g.Data[] the value of element be initialized to current " fill " value, that is, and opaque and white (alpha value is 1.0) fully.The element pre-or-post[of bmp] be used to store color matching before pixel carried out reproducing or reproduce the array of back color matching, its size and array data[] identical.Under the situation of color matching, " pre " is held as described value before having carried out reproducing, and carrying out reproducing under the situation of back color matching, and " post " is held.Initial value is post.After this was handled, flow process was returned step S803.
Command code op is under the situation of 1 (memonic symbol PageEnd) in step S806, calls the processing that printer output defines at step S807, and flow process finishes at step S808.Otherwise flow process proceeds to step S809.The processing of this printer output definition will describe with reference to Figure 14 in the back.
At step S809, be under the situation of 2 (memonic symbol Fill) at command code op, flow process proceeds to step S810.Otherwise flow process proceeds to step S811.
Step S810 is that the renewal of variable " fill " is handled.In operand " operand " regulation color (R, G, B, A) be stored in variable " fill " element (r, g, b, a) in.In case this processing finishes, flow process is returned step S803.
At step S811, be under the situation of 3 (memonic symbol Stroke) at command code op, flow process proceeds to step S812.Otherwise flow process proceeds to step S813.
Step S812 is that the renewal of variable " stroke " is handled.In operand " operand " regulation color (R, G, B) and live width (W) be stored in variable " stroke " element (r, g, b, w) in.At this moment, for the increment of operand (mm) being converted to the increment (pixel) of bitmap, multiply by W (mm) with output resolution ratio bmp.res.In case this processing finishes, flow process is returned step S803.
At step S813, be under the situation of 4 (memonic symbol PathStart) at command code op, flow process proceeds to step S814.Otherwise flow process proceeds to step S816 from step S815.
Step S814 be to the variable that is used for reproducing in the path " path[] and the preliminary treatment of " cursor ".This path[] be the array that is used for the coordinate figure of store path.Path[] element (x y) is the coordinate figure of the coordinate of delegated path, and its increment is a pixel.This cursor is the variable that is used to store current reproduction position, and (x is the coordinate figure that the position is reproduced in expression y) to element, and its increment also is a pixel in this case.In case this processing finishes, flow process is just returned step S803.
At step S816, be under the situation of 5 (memonic symbol PathEnd) at command code op, flow process advances to step S817.Otherwise flow process advances to step S821.
Step S817 is used for determining that whether operand " operand " is 1 processing.Under it was 1 situation, flow process advanced to step S818, otherwise flow process advances to step S819.
Step S818 is the closed path reproduction processes.Command code 7 (memonic symbol PathLineTo) is inserted at the current reading location of variable dlc.When operand is the starting position of current path (it is path[0]), carry out conversion, so path[0 from bitmap increment (pixel) to operand increment (mm)] by divided by output resolution ratio bmp.res.In addition, command code 5 (memonic symbol PathEnd) also is inserted into, to carry out the path end process once more.Do not need the closed path reproduction processes specifically, so operand is 0.In case this processing finishes, flow process is returned step S803 from step S827.
Step S819 is the processing that is used to need to determine whether the path filling.The value of the variable " cursor " of the current reproduction position in expression path and as the variable path[0 of starting position, path] value compare, under the situation that they equate, determine that then the path is closed, thereby need to fill, so flow process advances to step S820.Otherwise flow process is returned step S803 from step S827.
Step S820 is used to call the processing of the path being filled the processing of definition.The processing that definition is filled in this path will describe with reference to Figure 11 in the back.
At step S821, be under the situation of 6 (memonic symbol PathMoveTo) at command code op, flow process proceeds to step S822.Otherwise flow process advances to step S823.
Step S822 is that the renewal of variable of the current reproduction position in expression path is handled.The coordinate figure of in operand operand, stipulating (x, y) be stored in variable cursor element (x, y) in.At this moment, for the increment of this operand (mm) being converted to the increment (pixel) of bitmap, (X Y) multiply by output resolution ratio bmp.res to operand.In case this processing finishes, flow process is just returned step S803 from step S827.
At step S823, be under the situation of 7 (memonic symbol PathLineTo) at command code op, flow process proceeds to step S824.Otherwise flow process advances to step S825.
Step S824 is the processing that is used for reproducing the straight line of data bitmap bmp.Starting point is that (x, y), it is the current reproduction position in path to cursor.End point be by the coordinate figure of operand operand regulation (X, Y), but for the increment of operand (mm) being converted to the increment (pixel) of bitmap, bmp.data[operand (X, Y)] multiply by output resolution ratio bmp.res.For profile, use the color (RGB) and the live width (pixel) of variable " stroke ".The coordinate figure of reproduced straight line (pixel) is added in variable path[], the coordinate figure of Tian Jiaing (end points of line) is stored among the variable cursor at last.In case this processing finishes, flow process is just returned step S803 from step S827.
At step S825, be under the situation of 8 (memonic symbol PathArcTo) at command code op, flow process proceeds to step S826.Otherwise, to handle and skipped, flow process turns back to step S803 from step S827, and this is because do not have this situation in intermediate code regulation shown in Figure 7.
Step S826 is the processing that is used for reproducing the arc of data bitmap bmp.Starting point is that (x, y), it is the current reproduction position in path to cursor.Central point be by the coordinate figure of operand operand regulation (X, Y), but for the increment of operand (mm) being converted to the increment (pixel) of bitmap, bmp.data[operand (X, Y)] multiply by output resolution ratio bmp.res.Angle be by the angle D of operand operand regulation (°).For profile, use the color (RGB) and the live width (pixel) of variable " stroke ".Reproduced coordinate figure (is unit with the pixel) is added in variable path[], the coordinate figure of Tian Jiaing is stored in the variable " cursor " at last.In case this processing finishes, flow process is just returned step S803 from step S827.
With reference to Fig. 8,15 and 16 illustrate an example of the operation of reconstructors 310 after a while.
Below with reference to Figure 11 path padding is described.Figure 11 is used to be illustrated as the flow chart that the processing operation of definition is filled in the path.The processing of this definition is called from the step S820 of flow chart shown in Figure 9.
Step S901 begins path padding, bmp wherein, and path and fill are the parameters when the processing of this definition is called.Parameter b mp is initialised at the step S805 of the flow chart of Fig. 9 and Figure 10, and has and at step S820, S824, the identical value of upgrading among the S826 of variable bmp.The step S814 of parameter p ath in the flow chart of Fig. 9 and Figure 10 is initialised, and has and at step S824, the identical value of upgrading among the S825 of variable path.The step S802 of parameter f ill in the flow chart of Fig. 9 and Figure 10 is initialised, and has and the identical value of upgrading in step S810 of variable fill.
Step S902 is that initialization of variable is handled.Here, " coord " be used for from the upper left side to lower right sweep bitmap data b mp.data[] time keep the variable of coordinate figure, wherein (x, y) expression is the coordinate figure of increment with the pixel.Initial value is (0,0), the upper left side of expression data bitmap bmp.data.The flow chart of Figure 11 is a circulation, and wherein variable coord is a cyclic variable.
Step S903 is the whether processing in the path of being represented by variable path of coordinate figure that is used for determining expression variable coord.Only determine that at step S819 variable path is a closed path, thereby always just call this under the situation of closed path at this by path of variable " path " expression and handle, and can carry out whether being in determining in this path about coordinate figure arbitrarily at step S820.Under the situation of determining to be in this path, flow process advances to step S904.If not in the path, then flow process advances to step S907.
Step S904 is whether the alpha value of the color that is used for determining that variable fill represents is the processing of 1.0 (opaque fully).At alpha value is under the situation of 1.0 (opaque fully), and then determining does not need alpha blended, and flow process advances to step S905.Not (that is, having transparency) under 1.0 the situation at alpha value, then determine to carry out alpha blended, and flow process advances to step S906.
Step S905 is to be that the filling that (opaque fully) carries out under 1.0 the situation is handled at alpha value.In this case, do not need alpha blended, thereby replace at data bitmap bmp.data[with the color of variable fill regulation] in the color at coordinate position coord place.
Step S906 calls processing for the processing of alpha blended definition what alpha value was not that (that is, having transparency) carries out under 1.0 the situation.For the return value of the processing of alpha blended definition be follow the color of alpha blended (RGBA) and whether reproduced before color matching or reproduce the sign (pre or post) of back color matching.As a result, data bitmap bmp.data[] value and at the sign bmp.pre_or_post[at coordinate position coord place] value that is returned replaces.Processing for the alpha blended definition describes with reference to Figure 12 and 13 after a while.
Step S907 is a circular treatment to S910.Step S907 makes the horizontal direction value coord.x of variable coord increase by 1 processing.Step S908 is the horizontal direction value coord.x that is used for the determining variable coord size of the data bitmap that equals horizontal direction that whether become, i.e. the processing of bmp.w.Under the situation that they equate, flow process advances to step S909, if unequal, then flow process is returned step S903.
Step S909 is that the horizontal direction value coord.x that is used for initializing variable coord is 0, and makes the vertical direction value coord.y of variable coord increase by 1 processing.Step S910 is the vertical direction value coord.y that is used for the determining variable coord size of the data bitmap that equals vertical direction that whether become, i.e. the processing of bmp.h.Under the situation that they equate, flow process advances to step S911, if unequal, then flow process is returned step S903.
Step S911 finishes.Though the return value of undefined processing is as the processed data bitmap bmp.data[of parameter b mp] be updated.
Below with reference to Figure 12 and 13 explanation alpha blended operations.Figure 12 represents to verify the configuration of result database 312.
At this, Reference numeral 1001 expressions constitute the row of the record of checking result database 312, the data during 1002 expression storages are expert at.The RGBA that Reference numeral 1003 and 1004 storages will be carried out the color of alpha blended expresses.
Row 1005,1006 and 1007 storages are used for discerning input configuration file 305, and the ID of printer profile 307 and reproduction intention 308 is so that reconstructor 310 use CMM 311.The color that row 1008 storage conducts obtain with the result of the alpha blended of RGBA expression, color matching was still reproduced back color matching (value of " pre " or " post ") before row 1009 storages had been reproduced.
Figure 13 is the flow chart of expression for the processing of alpha blended definition, and the step S906 of the processing of this definition from flow chart shown in Figure 11 is called.In the processing of this definition, use 3 kinds of color matching functions of CMM 311, i.e. CMM.gm, CMM.cc and CMM.1ab.
CMM.gm carries out Color Gamut Mapping.Parameter (prof2 intent) is color assignment " color " for color, prof1, configuration file " profil1 ", and configuration file " prof2 ", and reproduce intention " intent ".The function of CMM.gm is the color " color " according to the colour gamut of " intent " mapping " prof1 " expression of the colour gamut of " prof2 " expression, and the color of the colour gamut of conduct " prof1 " expression is returned.
CMM.cc carries out color conversion.(color, prof1 prof2) are color assignment " color " to parameter, configuration file " profil1 " and configuration file " prof2 ".The function of CMM.cc is that the color " color " of the colour gamut of " prof1 " expression is converted to the colour gamut of " prof2 " expression, and does not shine upon.And the color of the colour gamut of conduct " prof2 " expression is returned.Its prerequisite is that the color of being stipulated by " color " is in the colour gamut of " prof2 " expression.
CMM.1ab proceeds to L *a *b *The conversion of value.L *a *b *Color space is a kind of uniform color space, and it was drafted by CIE (Commission Internationale de1 ' Eclairage) in 1976, according to luminance index L *And chromaticity index a *And b *Expression.(color prof) is color assignment " color " and configuration file " prof " to parameter.The function of CMM.Lab is that the color " color " of colour gamut that prof is represented converts L to *a *b *Value is also returned.
Step S1101 is the beginning of alpha blended.Parameter " color1 " and " color2 " are the parameters when the processing of call definition.Parameter " color1 " be initialised at Fig. 9 and step S805 shown in Figure 10 and at the step S905 of Figure 11, that S906 or other step are updated, at data bitmap bmp.data[] in the color value at arbitrary coordinate place.Parameter " color2 " is the color value of the variable " fill " that is initialised at Fig. 9 and step S802 shown in Figure 10 and be updated at step S810.
Step S1102 is the initialization process that is used for variable." return " is the variable that is used to keep return value, and wherein (b a) represents the element of color to element with RGBA for r, g.The color matching or the variable of reproduction back color matching before element pre_or_post has been used to keep carrying out reproduce, and retention value " pre " or value " post "." inputProf " is the variable that is used to keep import the content of configuration file 306." printerProf " is the variable that is used to keep the content of printer profile 307." intent " is the variable that is used to keep reproduce the content of intention 308.
Step S1103 is used for verifying the processing of being verified results whether in 312 registrations of checking result database.Search for as shown in figure 12 checking result database of its configuration, to search the record of registration, variable color1 wherein, variable color2, variable i nputProf, variable printerProf, and variable i ntent is as parameter.Find at first wherein that color1 is matched with row 1003, color2 is matched with row 1004, and inputProf is matched with row 1005, and PrinterProf is matched with row 1006, and intent is matched with the record of row 1007.As the value of the row 1008 of this found record of Search Results and row 1009 be stored in separately variable " return " (b is a) and (pre_or_post) for r, g.At step S1103, determine whether to find record, under the situation that finds record, flow process advances to step S1112, and end process.Under the situation of found record not, flow process advances to step S1104.Because this configuration, whether the evaluation result that the SVG document of input provides the true reappearance of color is being registered under the situation about verifying in the result database 312 about reproducing one of preceding color matching/reproductions back color matching, this result can be used immediately.
Step S1104 is carrying out being used to obtain L under the situation of color matching before the reproduction *a *b *The processing of value.At first, use the CMM.gm function of CMM311 that the colour gamut of intention " intent " from the input Color Gamut Mapping to printer 313 reproduced in the value utilization of the value of parameter c olor1 and parameter c olor2, and the result is stored among variable preInpt1 and the preInput2.The input colour gamut is represented that by inputProf the colour gamut of printer 313 is represented by printerProf.
Then, carry out the mixed processing between the value of the value of variable preInput1 and variable preInput2, and the result is stored among the variable preRender.By to the value of preInput1 (r, g, b, a) and the value of preInput2 (b a) carries out following calculating and carries out described mixed processing for r, g.
preRender.r=preInput1.r×preInput1.a+preInput2.r×preInput2.a×(1-preInput1.a)
preRender.g=preInput1.g×preInput1.a+preInput2.g×preInput2.a×(1-preInput1.a)
preRender.b=preInput1.b×preInput1.a+preInput2.b×preInput2.a×(1-preInput1.a)
preRender.a=preInput1.a+preInput2.a×(1-preInput1.a)
At last, the CMM.cc function of use CMM 311 from importing the colour gamut that colour gamut (being represented by inputProf) is transformed into printer 313, stores the value of mixing resultant preRender among the variable prePrinter then.In addition, use the CMM.1ab function of CMM 311 value of prePrinter to be converted to the L that will be stored among the variable preLab *a *b *Value.
Step S1105 is used to obtain L under the situation of having carried out reproduction back color matching *a *b *The processing of value.At first, carry out the mixed processing between the value of the value of parameter c olor1 and parameter c olor2, and the result is stored among the variable postRender.By to the value of color1 (r, g, b, a) and the value of color2 (b a) carries out following calculating and carries out described mixed processing for r, g.
preRender.r=color1.r×color1.a+color2.r×color2.a×(1-color1.a)
preRender.g=color1.g×color1.a+color2.g×color2.a×(1-color1.a)
preRender.b=color1.b×color1.a+color2.b×color2.a×(1-color1.a)
preRender.a=color1.a+color2.a×(1-color1.a)
Then, use the CMM.gm functional utilization of CMM 311 to reproduce intention " intent ", the value of mixing resultant preRender is mapped to the colour gamut (representing) of printer 313 from input colour gamut (being represented by inputProf) by printerProf.The result is stored among the variable postInput.At last, from importing the colour gamut (being represented by printerProf) that colour gamut (being represented by inputProf) is transformed into printer 313, the result is stored among the variable postPrinter CMM.cc function of use CMM 311 then the value of mixing resultant postInput.In addition, use the CMM.1ab function of CMM 311 value of postPrinter to be converted to the L that will be stored among the variable postLab *a *b *Value.
Step S1106 is the L that is used for the logic of acquisition input colour gamut (being represented by inputProf) *a *b *The processing of value.At first carry out the mixed processing between the value of the value of parameter c olor1 and parameter c olor2, and the result is stored among the variable tRender.Mix in the mode identical with step S1105.Then, use the CMM.1ab function of CMM 311 value of mixing resultant tRender to be converted to the L that will be stored among the variable tLab *a *b *Value.
Step S1107 is used for obtaining at L *a *b *CIE L between value preLab and tLab and postLab and the tLab *a *b *The processing of colour-difference (CIE 1976).Aberration Δ E between preLab and tLab PreAnd the aberration Δ E between postLab and tLab PostBy to preLab value (L *, a *, b *), postLab value (L *, a *, b *) and tLab value (L *, a *, b *) carry out following calculating and calculate.
ΔE pre 2=(preLab.L *-tLab.L *) 2+(preLab.a *-tLab.a *) 2+(preLab.b *-tLab.b *) 2
ΔE post 2=(postLab.L *-tLab.L *) 2+(postLab.a *-tLab.a *) 2+(postLab.b *-tLab.b *) 2
Result of calculation is stored among variable deltaE_Pre and the deltaE_Post separately.At step S1108, aberration deltaE_Pre and aberration deltaE_Post are compared.Under the less situation of the value of variable deltaE_Pre, flow process advances to step S1109, otherwise flow process advances to step S1110.
Step S1109 is the processing of carrying out under following situation: the value of the situation of color matching relatively approaches logical value (that is, under the situation of relatively generation deltaE_Pre<deltaE_Post of step S1108) before being used to reproduce.Keep the reproduction result's of input colour gamut (representing) the value of preRender by inputProf be stored in variable " return " (r, g, b, a) in, value " pre " is stored among (pre_or_post) of variable " return ".
Step S1110 is the processing of carrying out under the following situation: the value of the situation of color matching relatively approaches logical value (that is, under the situation that relatively produces deltaE_Pre 〉=deltaE_Post of step S1108) after being used to reproduce.Keep the reproduction result's of input colour gamut (representing) the value of postRender by inputProf be stored in variable " return " (r, g, b, a) in, value " post " is stored among (pre_or_post) of variable " return ".
Step S1111 is the processing that is used in checking result database 312 registration checking results.Record is registered in the checking result database, the configuration of this checking result database as shown in figure 12, variable color1 wherein, variable color2, variable i nputProf, variable printerProf, variable i nten and variable return are as parameter.In other words, color1 is registered in the row 1003 of checking result database, and color2 is registered in 1004 in the checking result database.In addition, inputProf is registered in the row 1005 of checking result database, and printerProf is registered in the row 1006 of checking result database, and intent is registered in the row 1007 of checking result database.In addition, (b a) is registered in the row 1008 of checking result database return, and return (pre_or_post) is registered in the row 1009 of checking result database for r, g.
Because above-mentioned configuration, can make about following both evaluation:
(1) in the input colour gamut, in the result who utilizes alpha blended to reproduce and after alpha blended, carry out difference between the result of color matching, and
(2) in the input colour gamut, in the result who utilizes alpha blended to reproduce and after color matching, carry out difference between the result of alpha blended.
One with less difference is registered in the checking result database.Thereby, requiring under the same conditions (color value, input configuration file, output profiles, reproduce intention) under the situation about handling,, can obtain the result fast and need not calculate once more by from the checking result database, reading the result of registration.
Finish in step S1112 flow process.The value of variable " return " is returned as return value.
The output function of printer is described below with reference to Figure 14.Figure 14 is the flow chart of explanation about the operation of the processing of printer output definition.The processing of this definition is called from the step S807 of the flow chart of Fig. 9.
Step S1201 begins the processing of this definition.Parameter b mp has with initialization in the step S805 of Fig. 9, flow chart shown in Figure 10 and at step S820,824 variable bmp identical values reproduced with S826.
Step S1202 is that initialization of variable is handled.Wherein " coord " is that wherein (x is y) with pixel increment denotation coordination value at the variable that is used to keep coordinate figure from the upper left side during to lower right sweep bitmap data b mp.data.Flowchart configuration shown in Figure 20 is for being a kind of circular treatment, and wherein variable " coord " is once (primary) cyclic variable." inputProf " is the variable that is used to keep import the content of configuration file 305." printerProf " is the variable that is used to keep the content of printer profile 307." intent " is the variable that is used to keep reproduce the content of intention 308.Oputputbmp[] be the array that is used to be kept for the data bitmap of printer output, its size and bmp.data[] measure-alike.
Step S1203 is used for obtaining by from bmp.data[] and bmp.pre_or_post[] variable " coord " and the processing of the data bitmap of the coordinate figure of the value representation of " pre " or " post ".The value that is obtained is respectively stored among variable " data " and " pre_or_post ".
Step S1204 is used for determining whether variable pre_or_post has the processing of value " pre ".Carrying out for pixel under the situation that alpha blended reproduces, at the variable bmp.pre_or_post[of the step S805 value of being initialized to post] have the value pre or the post that store therein at step S906.Under the situation of other reproduction, basic void value is stored.Thereby, in step S1204 YES remain genuine unique situation be pixel be carried out reproduce before color matching and alpha blended situation about reproducing.In this case, flow process advances to step S1206.Otherwise flow process advances to step S1205.
Step S1205 is the CMM.gm function that is used to use CMM311, according to reproducing intention " intent " the processing of pixel data (data bitmap) from the input Color Gamut Mapping to the colour gamut of printer 313.The result is overwritten on the variable " data ".
At step S1206, the color value of variable " data " has been mapped to the colour gamut (being represented by printerProf) of printer 313.The CMM.cc function of use CMM 311 is transformed into variable " data " colour gamut (being represented by printerProf) of printer 313 from input colour gamut (being represented by inputProf).The result is stored at printer output data bitmap outputbmp[] in the coordinate position of variable " coord " expression.
Step S1207 is a circular treatment to step S1210.Step S1207 is used to make the horizontal direction value coord.x of variable coord to increase by one processing.Step S1208 is whether the horizontal direction value coord.x that is used for determining variable coord becomes and equal that the size of data bitmap is the processing of bmp.w on the horizontal direction.Under the situation that they equate, flow process advances to step S1209, if unequal, then flow process is returned step S1203.
Step S1209 is used to make the vertical direction value coord.y of variable coord to increase by one processing.Step S1210 is whether the vertical direction value coord.y that is used for determining variable coord becomes and equal that the size of data bitmap is the processing of bmp.h on the vertical direction.Under the situation that they equate, flow process advances to step S1211, if unequal, then flow process is returned step S1203.
Step S1211 is used for sending the printer output data bitmap outputbmp[that produces to the controller 314 of printer 313] processing.Printer 313 is stored the data bitmap of reception as data bitmap 315 in RAM 209, and exports to carry out according to data bitmap 315 control Printer Engines 212.
Step S1212 finishes.There is not return value.
At last, will use intermediate code data shown in Figure 8, an example of the operation of reconstructors 310 will be described with reference to Figure 15 and 16.Figure 15 and Figure 16 are illustrated in after the flow process shown in Fig. 9 to 11 and 13, and reconstructor 310 reproduces the mode of intermediate code data shown in Figure 8.
The intermediate code data are read into variable dlc at step S802.Variable " fill " be initialized to fill (r, g, b, a)=(1.0,1.0,1.0,1.0).Variable " stroke " be initialized to stroke (r, g, b, w)=(0.0,0.0,0.0,1).
In first command code of dlc (PageStart), be initialised at step S804 and S805 variable bmp.Suppose that printer resolution is 300dpi (dots per inch), the resolution that converts PPM (every millimeter pixel) to is 11.811PPM, because 1 inch is 25.4mm.Printer resolution after using this to change obtains bmp.w=210.0 * 11.811=2480.31 ≌ 2480 (decimal system rounds), bmp.h=297.0 * 11.811=3507.867 ≌ 3507 (decimal system rounds), wherein bmp.res=11.811 (PPM).In addition, array bmp.data[] and bmp.pre_or_post[] size be 2480 * 3507=844856.Bmp.data[] be initialized to the fill that is initialised at step S802 (r, g, b, a)=(1.0,1.0,1.0,1.0).Pre_or_post[] be initialized to " post ".
In second command code (Fill) of dlc, be updated at step S809 and S810 variable fill.At this, and fill (r, g, b, a)=(1.0,1.0,0.0,0.7).
In the 3rd command code (Stroke) of dlc, be updated at step S811 and S812 variable " stroke ".At this moment, obtain live width by making 2.0 operand multiply by resolution bmp.res, it equals 2.0 * 11.811=23.622 ≌ 23 (decimal system rounds), so as to produce stroke (r, g, b, w)=(0.0,0.0,1.0,23).
At the 4th operand (PathStart) of dlc, be initialised at step S813 and S814 variable " path[] " and " cursor ".Here do not carry out the processing relevant with operand, thus cursor (x, y)=(0,0).
In the 5th command code (PathMoveTo) of dlc, be updated at step S821 and S822 variable " cursor ".This is obtained by making coordinate figure multiply by resolution bmp.res, i.e. cursor.x=80.0 * 11.811=944.88 ≌ 944 (decimal system rounds), and cursor.y=30.0 * 11.811=354.33 ≌ 354 (decimal system rounds).
Utilize the 6th command code (PathArc) of dlc, arc 1301 is reproduced.Starting point 1302 is currencys of variable " cursor ", and it is (944,354).Multiply by resolution bmp.res by (80.0,80.0) that make operand and obtain central point 1303, it is 80.0 * 11.811=944.88 ≌ 944 (decimal system rounds), so as to producing (944,944), and is 360 degree according to this operand angle.Profile is blue, and it is the currency of variable " stroke ", and live width is 23 pixels.Be added to variable path[at starting point 1302 beginning, the coordinate of describing and turn back to the profile of starting point 1302 clockwise along arc 1304].
Utilize the 7th command code (PathEnd) of dlc, operand is not 1, does not therefore carry out the processing of step S818.Be maintained at path[] in starting point and end point all by 1302 the expression (944,354), thereby, determine that at step S819 this is a closed path.This calls the processing (Figure 11) that definition is filled in the path at step S820.
Fill in the processing in the path, whether each pixel coordinate of determining data bitmap is at path[] in, if at path[] in, then carry out handling according to the colouring of " fill ".According to the currency of variable " fill ", promptly (b a)=(1.0,1.0,0.0,0.7) fills for r, g.Alpha value is not 1.0, thereby calls the processing (Figure 13) of alpha blended definition at step S906.
Suppose at step S1103 and in the checking result database, do not find record, then carry out alpha blended to S1111 and handle at step S1104.Wherein, at bmp.data[] initialized value (1.0,1.0,1.0,1.0) and fill (1.0,1.0,0.0,0.7) between mix.Color matching or reproduce the back color matching and select before reproducing according to input configuration file 305, printer profile 307 and the content of reproducing intention 308, but supposition here selected to reproduce before color matching.Also suppose the data bitmap bmp.data[of the point in profile 1301 that obtains as mixing resultant] value be (0.9,0.2,0.2,1.0), and the supposition pre_or_post[] value be " pre ".Such reproduction result as shown in figure 15.
In the 8th command code (Fill) of dlc, be updated at step S809 and S810 variable " fill ".Here, and fill (r, g, b, a)=(1.0,0.0,0.0,0.5).
In the 9th command code (PathStart) of dlc, be initialised at step S813 and step S814 variable " path[] " and " cursor ".Do not carry out the processing relevant herein with operand, thus cursor (x, y)=(0,0).
In the tenth command code (PathMoveTo) of dlc, be updated at step S821 and S822 variable " cursor ".This is obtained by making coordinate figure multiply by resolution bmp.res, i.e. cursor.x=140.0 * 11.811=1653.54 ≌ 1653 (decimal system rounds), and cursor.y=30.0 * 11.811=354.33 ≌ 354 (decimal system rounds).
Utilize the 11 command code (PathArc) of dlc, arc 1304 is reproduced.Starting point 1305 is currencys of variable " cursor ", and it is (1653,354).By making (140.0 of operand, 80.0) multiply by resolution bmp.res and obtain central point 1306, it is 140.0 * 11.811=1653.54 ≌ 1653 (decimal system rounds) and 80.0 * 11.811=944.88 ≌ 944 (decimal system rounds), so as to producing (1653,944), and according to this operand, angle is 360 degree.Profile is blue, and it is the currency of variable " stroke ", and live width is 23 pixels.Be added to variable path[at starting point 1305 beginning, the coordinate of describing and turn back to the profile of starting point 1305 clockwise along arc 1304].
Utilize the 12 command code (PathEnd) of dlc, operand is not 1, does not therefore carry out the processing of step S818.Be maintained at path[] in starting point and end point all by 1305 the expression (1653,354), thereby, determine that at step S819 this is a closed path.This calls the processing (Figure 11) that definition is filled in the path at step S820.
In fill to handle in the path, whether the coordinate of each pixel of determining data bitmap was at path[] in, if at path[] in, then carry out handling according to the colouring of " fill ".According to the currency of variable " fill ", promptly (b a)=(1.0,0.0,0.0,0.5) fills for r, g.Alpha value is not 1.0, thereby calls the processing (Figure 13) of alpha blended definition at step S906.
Suppose for this situation and also in the checking result database, do not find record, then carry out alpha blended to S1111 and handle at step S1104 at step S1103.At this, for the profile overlapping areas 1308 of arc 1301, at bmp.data[] value (0.0,0.0,1.0,1.0) and fill (1.0,0.0,0.0,0.5) between mix.For with the inside overlapping areas 1307 of arc 1301, at bmp.data[] value (0.9,0.2,0.2,1.0) and fill (1.0,0.0,0.0,0.5) between mix.
For remaining zone 1306, at bmp.data[] initial value (1.0,1.0,1.0,1.0) and fill (1.0,0.0,0.0,0.7) between mix.Color matching is handled or is reproduced the back color matching and handle according to input configuration file 305, printer profile 307 and the content of reproducing intention 308 and select before reproducing, but supposition has here selected to reproduce the back color matching.
About mixing resultant, with the profile overlapping areas 1308 of arc 1301, data bitmap bmp.data[] value be (0.5,0.0,0.5,1.0).And, with the inside overlapping areas 1307 of arc 1301, data bitmap bmp.data[] value be (0.95,0.1,0.1,1.0).At remaining regional data bitmap bmp.data[] value be (1.0,0.5,0.5,1.0).Pre_or_post[] value all be " post ".Like this, reproduce the result as shown in figure 16.Then, for the 13 to the 17 command code of dlc, carry out identical processing.
At the 18 command code (PageEnd), call the processing (Figure 14) of printer output definition at step S807.
At this moment, for pre_or_post[] have the pixel of value " pre ", for example the pixel in the zone in the overlapping arc 1301 of another arc of discord 1304 is mapped to the printer colour gamut at step S1205.Then, at step S1206, proceed to the conversion of printer colour gamut for all pixels.At step S1211, Zhi Bei printer output bitmap is sent to the controller 314 of printer 313 like this, so as to obtaining final output.
Though Fig. 4 represents intermediate code data 303 and data bitmap 304 and 305 and is maintained among the RAM, can carry out such configuration, wherein data are stored in permanent memory for example in file, the database etc.In addition, also it is contemplated that such configuration, the intermediate code data that wherein are used for identical PDL document are by high-speed cache, and are used to processing subsequently.
In addition, though Fig. 7 represents the regulation of intermediate code, the regulation of operable intermediate code is not limited thereto.For example, increment is not limited to millimeter, can be other selectable increment, or both combinations.Path description can be that Bessel's curve, elliptic arc maybe can be with other optional paths of mathematical expression.Colouring is not limited to single color, can allow complicated colouring, for example paintbrush, image, gradient etc.Color is not limited to RGB or RGBA, can allow by the color profile regulation, by the device color assignment, by the color code regulation, etc.In addition, it only is an example that command code is used the integer of 1 byte and the configuration of the floating number that operand uses 2 bytes, can use other coding method.Perhaps, be sent in the configuration of printer 103 PDL that can use printer 103 to explain in intermediate code.
In addition, though Figure 11 represents to use general-purpose algorithm to scan whole bitmap, and determine whether each coordinate is included in the situation in the path of parameter " path " expression, the another kind of method that can expect is, extract the coordinate in the path that is included in parameter " path " expression in advance, and carry out reproduction about these coordinates.
In addition, Figure 13 represents to use CIE L *a *b *Aberration (CIE 1976) still also can use other aberration, for example CIE Δ E as the situation of aberration 94(CIE 1994) or CIE Δ E 2000(CIE 2000).
Thereby, according to the present invention, under the situation that need carry out the alpha blended reproduction to the PDL document, can more suitably carry out color matching.And, determine the PDL document for example be used among SVG etc. alpha blended drawing instruction, extract this instruction and when reproducing, the colouring information of stipulating can accurately carry out color matching (S906 of Figure 11) with the colouring information of printing equipment in PDL.Specifically, can control, so that checking:
(1) before the reproduction that relates to alpha blended, carries out color matching, still
(2) after the reproduction that relates to alpha blended, carry out color matching,
Be more accurate, and select more accurate a kind of.Thereby, when relating to the reproduction of alpha blended, can realize that the color to wanting processed PDL data is real color matching.And using the record of storage in checking result database 312 is efficiently, because this does not need to calculate the repeatedly like combinations of color matching and reproduction.
Second embodiment
Describe the second embodiment of the present invention in detail referring now to accompanying drawing.
The PDL that present embodiment uses is SVG (scalable vector graphics) 1.1.The regulation of SVG 1.1 can Http:// www.w3.org/TR/SVG11/Find.In user PC (client computer), the SVG document files is converted into the intermediate code data by interpreter.At this moment, color matching also was to use and reproduces the back color matching before regulation was to use and reproduces.The information of this regulation is embedded in the intermediate code data.Then, reconstructor becomes data bitmap to the intermediate code data transaction.
Reconstructor reproduces preceding color matching or reproduces the back color matching according to Information Selection that embeds and execution, but preceding color matching is always reproduced in reproduction for gradient.Be carried out the pixel of reproducing preceding color matching and after this always be carried out identical color matching.At last, data bitmap is sent to printer, and printer uses this data bitmap to export, so as to producing print result.
The overall arrangement of second embodiment is with shown in Figure 1 identical.The configuration of computer installation and printer is also identical with Fig. 2, configuration shown in Figure 3.
Then square configuration in the computer installation that second embodiment uses is described with reference to Figure 17.Figure 17 represents the logical block as the physical configuration of mainly relevant with present embodiment client PC 101, printer 102 and network 103.Specifically, this figure is the calcspar of the configuration of representation program module, document entity, storage data and communication path.
Below in the explanation of carrying out with reference to Figure 17, among Figure 17 and Fig. 4 components identical will be omitted.
The content of the SVG file 1702 that the function read/write that the program that comprises interpreter 1710 can be used operating system is externally preserved in the storage device 204.The program that comprises interpreter 1710 and reconstructor 1711 can be used the content of the intermediate code data 1703 of function read/write store in RAM 202 of operating system in the same manner.In addition, the program that comprises reconstructor 1711 can be used the content of the data bitmap 1704 of function read/write store in RAM 202 of operating system in the same manner.
Be provided with unit 1709 be used for being provided with reproduce before color matching still reproduce the back color matching, the result of setting is stored among the RAM 202.
The SVG document files
Below with reference to Figure 18 and Figure 19 the SVG document files that present embodiment uses is described.At first, Figure 18 represents the content of SVG document files 1702.
Row 1 is the XML statement, illustrates to write the SVG document files to meet XML 1.0 standards.
Row 2 and row 3 are DTDs, and the document type definition (DTD) of quoting SVG 1.1 is as outside son group.
Row 4 and row 5 are for as root element<svg〉beginning label of element.For<svg〉regulation of element has: width and highly be respectively 21.0cm and 29.7cm (being the A4 size), user coordinates (0,0) be to (210,297), and also have SVG NameSpace and compatible SVG version.
Row 6 is<desc〉element, it describes the SVG document files.<desc〉content of element is not used in and reproduces the SVG document.Row 7,14 and 17 as comment element also is not used in reproduction SVG document.
Row 8 is the SVG colouring server definition that are used to reproduce gradient to row 13.This definition makes that can carry out URI under the title " SampleGradient " from " fill " attribute of subsequently reproduction element or " stroke " attribute quotes.At this, in starting point, the gradient that is defined is R (red)=FFH, G (green)=0, and B (blue)=0 in end point, is R (red)=FFH, G (green)=FFH, B (blue)=66H.
Row 14 and 15 is used to reproduce rectangle gradient<rect〉element.This regulation (30,30) is as upper left coordinate figure in the user coordinate system, and in user coordinate system width and highly be respectively 120 and 80.Other regulation has: the profile color of colouring, rectangle of inside with rectangle of " SampleGradient " gradient is " blue ", and the profile width in user coordinate system is 2.
Row 16 and 17 is<circle〉element, be used to reproduce opaque circle.This regulation (90,140) is as the centre coordinate in the user coordinate system, and the radius value that is defined in the user coordinate system is 50.Other regulation has: the Fill Color in circle is R (red)=33H, G (green)=FFH, and B (blue)=33H, opacity (alpha value) is 0.7, the color of circle contour is " blue ", and the profile width in user coordinate system is 2.
Row 16 is as root element<svg〉end mark of element, it is corresponding to the beginning label of being expert in 4 and 5.
Figure 19 represents to reproduce an example of SVG document files shown in Figure 180.Reference numeral 1901 expression is corresponding to being expert in 14 and 15<rect〉rectangle of element, 1902 expressions corresponding in row 16 and 17<circle the opaque circle of element.The demarcation rectangle of the whole SVG file of Reference numeral 1903 expressions.The size of delimiting rectangle 1903 is that 21.0cm is wide and 29.7
The cm height.The dotted line of vertical and level, near the coordinate that illustrates the circle at the intersection point place of dotted line, intersection point at dotted line are used for representing the coordinate figure of the coordinate that will need in the explanation of back, are not included in the actual reproduction.
Intermediate code below with reference to Figure 20 and 21 explanation present embodiments uses.Figure 20 illustrates the regulation of the intermediate code of present embodiment use.
The command code of reproduction instruction is represented in Reference numeral 2001 expressions, and provides with the form of numeral.Present embodiment has defined 9 generic operation sign indicating numbers.Command code is stored in the intermediate code data 1703 as the integer of 1 byte.
The memonic symbol that Reference numeral 2002 expressions provide for convenient people's identifying operation sign indicating number.Only just use memonic symbol under the situation of dump intermediate code, memonic symbol is not included in the intermediate code data 1703.
Reference numeral 2003 expression representatives are used for the operand of the parameter of command code.The quantity of operand and meaning are different between operand.Operand is stored in the intermediate code data 1703 as 2 byte floating numbers.
In the intermediate code of present embodiment, only use the increment of mm.Under the situation of regulation coordinate or length, all explanations are all carried out with the value that is converted into mm in operand.Coordinate figure with wherein the page or leaf the upper left side be the absolute value representation of initial point, be one group of X (horizontal direction) (mm) and Y (vertical direction) (mm).Under the situation of specified color, use RGB (red, green, indigo plant) or RGBA (red, green, indigo plant, Alpha) in operand, each of the value of R (red), G (green), B (indigo plant) and A (Alpha) is defined as in the scope of 0.0-1.0.In the RGB color assignment, Alpha's value is got and is done 1.0.
The beginning of command code 0 (memonic symbol PageStart) expression page or leaf.Operand is page width W (mm), page or leaf high H (mm) and reproduces preceding color matching or reproduce the sign F of color matching afterwards.F is a color matching before 0 expression is reproduced, and F is that the back color matching is reproduced in 1 expression.
The end of command code 1 (memonic symbol PageEnd) expression page or leaf.This there is not operand.Command code 2 (memonic symbol Fill) is the monochromatic regulation of filling.Be applied to thereafter all reproduction instruction by the filling of this Fill regulation.The operand that is used for this is the RGBA corresponding to Fill Color.
Command code 3 (memonic symbol GradLinear) regulation is filled according to linear gradient.Linear gradient is stipulated by gradient vector.Operand is that gradient vector begins coordinate X1 and Y1, gradient vector end coordinate X2 and Y2, and gradient begins color R1G1B1, and gradient finishes color R2G2B2.Under the situation of the gradient in Figure 19 shown in 1901, gradient vector has beginning coordinate (30,30), end coordinate (150,30).Begin color and finish color by gradient, the color nominal is turned to 0.0 to 1.0, begin color (1.0,0.0,0.0) and finish color (1.0,1.0,0.4) so as to obtaining gradient respectively divided by FFH.By beginning color perpendicular to the mobile abreast gradient of the direction of gradient vector and finishing color and fill.And, under situation about need fill in the X coordinate place of beginning before the coordinate, use gradient to begin color in this part.In addition, under the situation of need the X coordinate place after end coordinate filling, use gradient to finish color in this part.Under the situation of gradient 1901, for gradient vector, use beginning color (1.0,0.0,1.0) to fill in X<30, use end color (1.0,1.0,0.4) to fill in X>150.In the middle of the color by Fill or GradLinear regulation, Gui Ding color is applied to reproduction instruction subsequently at last.
Command code 4 (memonic symbol Stroke) defined outline.The profile that utilizes Stroke to stipulate is applied to all reproduction instruction thereafter.Operand is the width W (mm) corresponding to the RGB and the profile of profile.Profile stipulates with RGB, thereby for the color of profile, uses 1.0 alpha value.The beginning in command code 5 (memonic symbol PathStart) expression path.This there is not operand.
The end in command code 6 (memonic symbol PathEnd) expression path.This operand is a closed sign F.Be set under the situation of " 1 " at this, mean from the route result position and utilize straight line reproduced, so as to closed path to the starting position.Under the situation that is defined as " 0 ", then do not take operation.
The reproduction position of command code 7 (memonic symbol PathMoveTo) expression mobile route.This is effective between PathStart instruction and PathEnd instruction.PathMoveTo only moves and reproduces the position, and does not carry out the reproduction of its reality.This operand is the shift position coordinate by value (mm) regulation of value of X (horizontal direction) (mm) and Y (vertical direction).
Command code 8 (memonic symbol PathLineTo) expression from the current location in path to position reproduction straight line by operands specify.This is effective between PathStart instruction and PathEnd instruction.This operand is the toe-in bundle coordinate by value (mm) regulation of value of X (horizontal direction) (mm) and Y (vertical direction).
Command code 9 (memonic symbol PathArc) expression is from arc of current path position reproduction.This is effective between PathStart instruction and PathEnd instruction.PathArc always reproduces arc along clockwise direction.This operand is the coordinate by the arc center of X-Y regulation, and by angle D (°) length of the arc of regulation.
Figure 21 represents the content by the intermediate code data 1703 of SVG document files 1702 acquisitions of interpreter 1710 conversions content shown in Figure 180.Intermediate code data 1703 are only to store the database data of 1 byte integer command code and 2 byte floating number operands.Figure 21 represents to be labeled and to have the dump of this database data of memonic symbol, with facility to its manual identified.
Row 1 is a page sign on, and it utilizes the width of operands specify page or leaf and height to be 210.0mm and 297.0mm.Also stipulate to reproduce preceding color matching or reproduced the back color matching.In this case, regulation 1.0 is promptly reproduced the back color matching.This equates shown in Figure 180<svg〉element beginning label and Figure 17 be provided with 1709, wherein length legislations is by from centimetre being converted to millimeter.
Row 2 is the colouring instructions that are used for linear gradient that will use in reproduction subsequently, wherein the beginning coordinate of operands specify gradient vector (30.0mm, 30.0mm), end coordinate (150.0mm, 30.0mm), beginning color (R, G, B)=(1.0,0.0,0.0), and the end color (R, G, B)=(1.0,1.0,0.4).This be equivalent to gradient definition and from<rect the URI of " fill " attribute of element quotes, as shown in figure 18.The beginning coordinate of gradient vector and end coordinate are calculated by the starting position and the end position of rectangle, and color assignment is turned between 0.0 and 1.0 by nominal.
Row 3 is the profile instructions that will use in reproduction subsequently, the operand with profile color of regulation blueness, that is and, (B)=(0.0,0.0,1.0), live width is 2.0mm for R, G.This is equivalent to shown in Figure 180<rect〉element and<circle the stroke property and the stroke width attribute of element, wherein the text string of color assignment is described and has been converted into RGB and expresses, and length legislations is converted to millimeter from user coordinate system.
Row 4 is the instruction groups that are used to reproduce rectangle to row 9.Ensuing reproduction is carried out to the operands specify of the path END instruction of the line reproduction instruction of row 8 and row 9 by the reproduction position move of row 5,6.In other words, reproduction connection coordinate (30.0mm, 30.0mm) _ (150.0mm, 30.0mm) _ (150.0mm, 110.0mm) _ (30.0mm, 110.0mm) (30.0mm, closed path 30.0mm).The inside origin of the rectangle linear gradient of 2 instruction is voluntarily filled, and profile is reproduced as blueness, has voluntarily the live width of the 2mm of 3 instruction.This corresponding to Figure 18<rect the reproduction result 1901 of element and Fig. 9, wherein coordinate convention is converted to millimeter from user coordinate system.
Row 10 is the filling instructions that will use in reproduction subsequently, wherein the operands specify Fill Color be (R, G, B, A)=(0.2,1.0,0.2,0.7).This is equivalent to shown in Figure 180<circle〉filling of element and the attribute that fills opacity.Color assignment is turned between 0.0 and 1.0 by nominal.
Row 11 is the instruction groups that are used to reproduce a circle to row 14.It is that ((90.0mm, 90.0mm) beginning have 360 degree angles from coordinate for they for 90.0mm, circle 140.0mm) that the reproduction position move of row 12 and the arc reproduction instruction of row 13 are reproduced a centre coordinate.The inner utilization of circle is come voluntarily the single color of 10 instruction, and (B A)=(0.2,1.0,0.2,0.7) fills for R, G, and profile is reproduced as blueness, has voluntarily the live width of the 2mm of 3 instruction.This corresponding to Figure 18<circle the reproduction result 1902 of element and Figure 19, wherein coordinate convention and length legislations are converted to millimeter from user coordinate system.
Row 15 is EOP instructions.There is not operand.This equates Figure 18<svg the end mark of element.
The overview of the operation of reconstructor 1711 is described below with reference to Figure 22 and Figure 23.Figure 22 and Figure 23 represent that reconstructor 1711 reproduces intermediate code data 1703 to produce the operational flowchart of data bitmap 1704, and described data bitmap is sent to the controller 314 of printer 313.
Operating process is from step S1801.Step S1802 is the processing that is used for initializing variable.The intermediate code data 1703 that obtain by conversion SVG document files 1702 are read into variable dlc." fill " is the variable that is used to keep filling used color that is applied to reproduction instruction, and wherein (r, g, b, a) expression is by the element of the color of RGBA expression.Initial value is (1.0,1.0,1.0,1.0), that is, and and opaque fully (alpha value is 1.0) white." stroke " is the variable that is used to keep used color of profile and live width that is applied to reproduction instruction, and wherein (b w) represents the element of color with RGB, and live width (is unit with the pixel) for r, g.Initial value is (0.0,0.0,0.0,1), that is, width is the black line of 1 pixel." grad " is the variable that the linear gradient that is used to keep to be applied to reproduction instruction is filled the gradient vector that will use.At this, (x1 is y1) with (x2 y2) is the coordinate (pixel) of starting point and end point respectively, and (r1, g1 is b1) with (r2, g2 b2) utilize RGB to express the color of representing gray scale (gradation) starting point and end point respectively.There is not initial value." paint " is used to determine to be to use solid color " fill " also to be to use the variable of linear gradient " grad ", and keeps the value of " fill " or " grad ".Initial value is " fill ".
Step S1803 is the processing that is used for obtaining from middle code data dlc next command code and operand.The command code and the operand that obtain are stored in respectively among variable " op " and " operand ".Step S1804, S1806, S1809, S1811, S1813, S1815, S1818, S1825, S1827 and S1829 are used for determining the type of command code op, make to carry out suitable processing corresponding to each command code.
At step S1804, be under the situation of 0 (memonic symbol PageSart) in command code " op ", flow process proceeds to step S1805.Otherwise flow process proceeds to step S1806.
Step S1805 is used to carry out various initialized processing.At first, " inputProf " is the variable that is used to keep import the content of configuration file 305." printerProf " is the variable that is used to keep the content of printer profile 307." intent " is the variable that is used to keep reproduce the content of intention 308." bmp " is the variable that is used for storage bitmap data 1704.Notice that the element w of bmp represents the width (pixel) of data bitmap.Page width W (mm) in operand " operand " multiply by output resolution ratio res, and thereby is converted into bitmap increment (pixel).The element h of Bmp represents the height (pixel) of data bitmap.The high H of page or leaf (mm) in operand " operand " multiply by output resolution ratio res, and thereby is converted into bitmap increment (pixel).Element res in bmp is with the output resolution ratio of PPM (every millimeter pixel) expression printer 313.
Element among the bmp " pdef " storage is reproduced preceding color matching or is reproduced the back color matching.Be that " post " is held as this value under 1 the situation at the sign F of operand " operand ", otherwise " pre " is held as this value.
Element data[in bmp] be to be used for the storage bitmap array of data, its horizontal size is w (pixel), vertical dimension is h (pixel).Data[] element (r, g, b, a) expression represent each color of pixel with RGBA.Data[] the value of element be initialized to current " fill " value, that is, and the white of opaque fully (alpha value is 1.0).Value at variable " pdef " is under the situation of color matching before " pre " thereby regulation are reproduced, and is reproducing intention " intent " afterwards, uses the CMM.gm function the colour gamut of the value of fill from the input Color Gamut Mapping to printer 313, and the value of Storage Mapping.The element pre-or-post[of bmp] be used for storing color matching before each pixel of bitmap carried out reproducing or reproduce the array of back color matching, its size and array data[] identical.Under the situation of color matching, " pre " is held as described value before having carried out reproducing, and carrying out reproducing under the situation of back color matching, and " post " is held.Initial value is the value of variable pdef.After this was handled, flow process was returned step S1803.
Op is under the situation of 1 (memonic symbol PageEnd) in step S1806 command code, calls the processing that printer output defines at step S1807, and flow process finishes at step S1808.Otherwise flow process proceeds to step S1809.The processing of this printer output definition will describe with reference to Figure 28 in the back.
At step S1809, be under the situation of 2 (memonic symbol Fill) at command code op, flow process proceeds to step S1810.Otherwise flow process proceeds to step S1811.
Step S1810 is that the renewal of variable " Fill " is handled.In operand " operand " regulation color (R, G, B, A) be stored in variable " fill " element (r, g, b, a) in.In addition, the value of variable " paint " is set to " fill ", thereby uses solid color to fill in colouring subsequently.In case this processing finishes, flow process is returned step S1803.
At step S1811, be under the situation of 3 (memonic symbol GradLinear) at command code op, flow process proceeds to step S1812.Otherwise flow process proceeds to step S1813.
Step S1812 is that the renewal of variable " grad " is handled.In operand " operand " regulation the gray scale vector (X1, Y1, X2, Y2, R1, G1, B1, R2, G2, B2) be stored in variable " grad " element (x1, y1, x2, y2, r1, g1, b1, r2, g2, b2) in.In addition, the value of variable " paint " is set to " grad ", thereby uses gradient in colouring subsequently.In case this processing finishes, flow process is returned step S1803.
At step S1813, be under the situation of 4 (memonic symbol Stroke) at command code op, flow process proceeds to step S1814.Otherwise flow process advances to step S1815.
Step S1814 is that the renewal of variable " stroke " is handled.In operand " operand " regulation color (R, G, B) and live width (W) be stored in variable " stroke " element (r, g, b, w) in.At this moment, for the increment of operand (mm) being converted to the increment (pixel) of bitmap, bmp.res multiply by W with output resolution ratio.In case this processing finishes, flow process is returned step S1803.
At step S1815, be under the situation of 5 (memonic symbol PathStart) at command code op, flow process advances to step S1816.Otherwise flow process advances to step S1818 from step S1817.
Step S1816 is the preliminary treatment of the variable that is used for reproducing in the path " path[] " and " cursor ".This path[] be the array that is used for the coordinate figure of store path.Path[] element (x y) is the coordinate figure of the coordinate of delegated path, and its increment is a pixel.This cursor is used to store the variable that the position is reproduced in current path, and wherein (x is the coordinate figure that the position is reproduced in expression y) to element, and increment also is a pixel in this case.In case this processing finishes, program is just returned step S1803.
At step S1818, be under the situation of 6 (memonic symbol PathEnd) at command code op, flow process advances to step S1819.Otherwise flow process advances to step S1825.
Step S1819 is whether the sign F that is used for determining operand " operand " is 1 processing.Be that flow process advances to step S1820 under 1 the situation, otherwise flow process advance to step S1821.
Step S1820 is the closed path reproduction processes.Command code 8 (memonic symbol PathLineTo) is inserted at the current reading location of variable dlc.When operand is as path[0] the starting position of current path the time, carry out conversion, so path[0 from bitmap increment (pixel) to operand increment (mm)] by divided by output resolution ratio bmp.res.In addition, command code 6 (memonic symbol PathEnd) also is inserted into, to carry out the path end process once more.Do not need the closed path reproduction processes specifically, so operand is 0.In case this processing finishes, flow process is returned step S1803 from step S1831.
Step S1821 is the processing that is used to need to determine whether the path filling.The value of the variable " cursor " of the current reproduction position in expression path and as the variable path[0 of starting position, path] value compare, under the situation that they equate, determine that then the path is closed, thereby need to fill, so flow process advances to step S1822.Otherwise flow process is returned step S1803 from step S1831.
Step S1822 is used to determine the processing that is to use solid color also to be to use gradient to paint.Value at variable paint is under the situation of fill, determines to use the solid color colouring, and flow process advances to step S1823, otherwise, just to determine to use the gradient colouring, flow process advances to step S1824.
Step S1823 is the processing that is used to call to the processing of monochromatic path colouring definition.The processing of this path colouring definition will describe with reference to Figure 24 in the back.
Step S1824 is the processing that is used to call to the processing of path gradient definition.The processing of this path gradient definition will describe with reference to Figure 26 and 27 in the back.
At step S1825, be under the situation of 7 (memonic symbol PathMoveTo) at command code op, flow process proceeds to step S1826.Otherwise flow process advances to step S1827.
Step S1826 is that the renewal of variable of the current reproduction position in expression path is handled.The coordinate figure of in operand operand, stipulating (X, Y) be stored in variable cursor element (x, y) in.At this moment, for the increment of this operand (mm) being converted to the increment (pixel) of bitmap, (X Y) multiply by output resolution ratio bmp.res to operand.In case this processing finishes, flow process is just returned step S1803 from step S1831.
At step S1827, be under the situation of 8 (memonic symbol PathLineTo) at command code op, flow process proceeds to step S1828.Otherwise flow process advances to step S1829.
Step S1828 is the processing that is used for reproducing the straight line of data bitmap bmp.Starting point is that (x, y), it is the current reproduction position in path to cursor.End point be by the coordinate figure of operand operand regulation (X, Y), but for the increment of operand (mm) being converted to the increment (pixel) of bitmap, bmp.data[operand (X, Y)] multiply by output resolution ratio bmp.res.For profile, the color (RGB) and the live width (pixel) of variable " stroke " are used to profile.The coordinate figure of reproduced straight line (pixel) is added in variable path[], the coordinate figure of Tian Jiaing (end points of line) is stored among the variable cursor at last.In case this processing finishes, flow process is just returned step S1803 from step S1831.
At step S1829, be under the situation of 9 (memonic symbol PathArcTo) at command code op, flow process proceeds to step S1830.Otherwise, to handle and skipped, flow process turns back to step S1803 from step S1831, and this is because do not have this situation in intermediate code regulation shown in Figure 20.
Step S1830 is the processing that is used for reproducing one section arc of data bitmap bmp.Starting point is that (x, y), it is the current reproduction position in path to cursor.Central point be by the coordinate figure of operand operand regulation (X, Y), but for the increment of this operand (mm) being converted to the increment (pixel) of bitmap, bmp.data[operand (X, Y)] multiply by output resolution ratio bmp.res.Angle be by the angle D of operand operand regulation (°).The color (RGB) and the live width (pixel) of variable " stroke " are used to profile.The coordinate figure of reproduced arc (pixel) is added in variable path[], the coordinate figure of Tian Jiaing is stored among the variable cursor at last.In case this processing finishes, flow process is just returned step S1803 from step S1831.
Below with reference to Figure 24 path padding is described.Figure 24 is used to be illustrated as the flow chart that the processing operation of definition is filled in the path.The processing of definition is called from the step S1823 of flow chart shown in Figure 23.
Step S1901 begins path padding, and bmp wherein, path and fill are the parameters when the processing of definition is called.Parameter b mp is initialised at the step S1805 of the flow chart of Figure 22 and Figure 23, and has and at step S1823, S1824, the identical value of upgrading among S1828 and the S1830 of variable bmp.The step S1816 of parameter " path " in the flow chart of Figure 22 and Figure 23 is initialised, and has and at step S1828, the identical value of upgrading among the S1830 of variable path.Parameter f ill is initialised at the step S1802 of Figure 22, and has and the identical value of upgrading in step S1810 of variable fill.
Step S1902 is that initialization of variable is handled.At this, " coord " be used for from the upper left side to lower right sweep bitmap data b mp.data[] time keep the variable of coordinate figure, wherein (x y) with the pixel is the incremental representation coordinate figure.Initial value is (0,0), the upper left side of expression data bitmap bmp.data.The flow chart of Figure 24 is a circulation, and wherein variable coord is a cyclic variable.
Step S1903 be used for determining expression variable coord coordinate figure whether by the processing in the path of variable " path " expression.Only determine that at step S1821 variable " path " is a closed path thereby always just calls this under the situation of closed path at this by path of variable " path " expression and handle, and can carry out whether being in determining in the path about coordinate figure arbitrarily.Under the situation of determining to be in this path, flow process advances to step S1904.If not in the path, then flow process advances to step S1907.
Step S1904 is used for determining whether the alpha value of the color of variable " fill " expression is the processing of 1.0 (opaque fully).At alpha value is under the situation of 1.0 (opaque fully), and then determining does not need alpha blended, and flow process advances to step S1905.At alpha value is not under the situation of 1.0 (promptly having transparency), then determine to carry out alpha blended, and flow process advances to step S1906.
Step S1905 is that the alpha value at variable " fill " is that the filling of carrying out under the situation of 1.0 (opaque fully) is handled.In this case, do not need alpha blended, thereby replace at data bitmap bmp.data[with the color of variable " fill " regulation] in the color of coordinate position coord.
Step S1906 is that the alpha value at variable " fill " is not the processing of carrying out under the situation of 1.0 (promptly having transparency) to the processing of alpha blended definition of calling.To the return value of the processing of alpha blended definition, follow alpha blended color (RGBA) so and close carried out reproducing before color matching or reproduce after the sign of color matching (pre or post).As a result, data bitmap bmp.data[] value and at the sign bmp.pre_or_post of coordinate position coord] value that is returned replaces.Processing to the alpha blended definition describes with reference to Figure 25 after a while.
Step S1907 is a circular treatment to S1910.Step S1907 makes the horizontal direction value coord.x of variable coord increase by 1 processing.Step S1908 is the horizontal direction value coord.x that is used for the determining variable coord size of the data bitmap that equals horizontal direction that whether become, i.e. the processing of bmp.w.Under the situation that they equate, flow process advances to step S1909, if unequal, then flow process is returned step S1903.
Step S1909 is that the horizontal direction value coord.x that is used for initializing variable coord is 0, and makes the vertical direction value coord.y of variable coord increase by 1 processing.Step S1910 is the vertical direction value coord.y that is used for the determining variable coord size of the data bitmap that equals vertical direction that whether become, i.e. the processing of bmp.y.Under the situation that they equate, flow process advances to step S1911, if unequal, then flow process is returned step S1903.
Step S1911 finishes.Though the return value of undefined processing is utilized the processed data bitmap bmp.data[of parameter b mp] and bmp.pre_or_post[] be updated.
Below with reference to Figure 25 alpha blended reproduction operation is described.Figure 25 is the flow chart of expression to the processing of alpha blended definition.The step S1906 of the processing of this definition from flow chart shown in Figure 24 is called.
Step S2001 is the beginning of alpha blended.Parameter " color1 " and " color2 " and " pre_or_post " are the parameters when the processing of calling this definition.Parameter " color1 " be initialised at the step S1805 of Figure 22 and at the step S1905 of Figure 24, S1906 or other step be updated at data bitmap bmp.data[] in the color value at arbitrary coordinate place.Parameter " color2 " is the color value of the variable " fill " that is initialised at the step S1802 of Figure 22 and be updated at step S1810.Parameter p re_or_post is the variable bmp.pre_or_post[that is updated at the step S2110 of the step S1906 of Figure 24 and Figure 26] the value of statistical indicant at arbitrary coordinate place.
Step S2002 is the initialized processing that is used for each variable." return " is the variable that is used to keep return value, wherein element (r, g, b, a) element of the color of representing with RGBA.The color matching or the variable of reproduction back color matching before element pre_or_post has been used to keep carrying out reproduce, and retention value " pre " or value " post "." inputProf " is the variable that is used to keep import the content of configuration file 305." printerProf " is the variable that is used to keep the content of printer profile 307." intent " is the variable that is used to keep reproduce the content of intention 308.
Step S2003 is the processing that is used for the value of definite parameter p re_or_post.At parameter p re_or_post is under the situation of " pre ", and flow process advances to step S2004.Otherwise flow process advances to step S2005.
Step S2004 is the reproduction processes of carrying out under the situation of color matching before reproducing.At first, follow and reproduce intention " intent ", the CMM.gm function of using CMM 312 is the colour gamut of the value of parameter c olor2 from the input Color Gamut Mapping to printer 313, and the result is stored among the parameter c olor2 once more.Value at parameter p re_or_post is under the situation of " pre ", the data bitmap at this coordinate place has been carried out Color Gamut Mapping, does not therefore have the required processing of parameter c olor1.Then, color1 and the value of color2 after mapping are mixed, and the result be stored in variable return (r, g, b, a) in.At last, value " pre " is stored among the variable return.pre_or_post.Mixed processing can utilize following formula from the value of color1 (r, g, b, a) and the value of color2 (b a) calculates for r, g.
return.r=color1.r×color1.a×(1-color2.a)+color2.r×color2.a
return.g=color1.g×color1.a×(1-color2.a)+color2.g×color2.a
return.b=color1.b×color1.a×(1-color2.a)+color2.b×color2.a
return.a=color1.a×(1-color2.a)+color2.a
Step S2005 is the reproduction processes of carrying out under the situation of reproducing the back color matching.The value of the value of variable color1 and variable color2 is mixed, the result be stored in variable return (r, g, b, a) in, and " post " be stored among the variable return.pre_or_post.Identical among this mixed processing and the step S2004.
Step S2006 finishes.The value of variable " return " is returned as return value.
Operation below with reference to Figure 26 and 27 explanation path gradients reproductions.Figure 26 is used for the processing of definition is handled in explanation to path gray scale (gradation) flow chart.The processing of definition is called from the step S1824 of the flow chart shown in Figure 23.
Step S2101 is the beginning of path gradient operation.Parameter " bmp ", " path " and " grad " is the parameter of using when the processing of calling this definition.Parameter b mp have with in the step S1805 initialization of the flow chart shown in Figure 22 and 23 and at step S1823, the identical value of variable bmp that S1824, S1828 and S1830 are updated.Parameter " path " have with in the step S1816 initialization of the flow chart shown in Figure 22 and 23 and the identical value of variable " path " that is updated at step S1828 and S1830.Parameter " grad " has and the identical value of preparing in step S1802 shown in Figure 22 and be updated in step S1812 of variable " grad ".
Step S2102 is that initialization of variable is handled.At this, " coord " be from the upper left side to lower right sweep bitmap data b mp.data[] time be used to keep the variable of coordinate figure, wherein (x y) with the pixel is the incremental representation coordinate figure.Initial value is (0,0), the upper left side of expression data bitmap bmp.data.It is circular treatment that flow chart shown in Figure 26 is configured to, and wherein variable " coord " is a cyclic variable." inputProf " is the variable that is used to keep import the content of configuration file 305." printerProf " is the variable that is used to keep the content of printer profile 307." intent " is the variable that is used to keep reproduce the content of intention 308.Variable c1 and the color value of c2 storage by using the CMM.gm function to obtain reproduce intention " intent " is mapped to parameter c olor1 and color2 printer 313 from input colour gamut (being represented by inputProf) colour gamut (being represented by printerProf) so that follow.
Step S2103 be used for determining expression variable " coord " coordinate figure whether by the processing in the path of variable " path " expression.Only determine that at step S1821 variable " path " is a closed path thereby by the path of variable " path " expression always under the situation of closed path at this, just call this processing, and can carry out whether being in determining in this path about the arbitrary coordinate value in step 1824.Under the situation of determining to be in this path, flow process advances to step S2104.If not in the path, then flow process advances to step S2111.
Step S2104 is used for the preliminary treatment of acquisition at the color value of the gradient at the coordinate figure place of variable " coord " expression.At step S2104, from value shown in Figure 27 " a ", " b " and " c " calculates " ratio ", and each of these values is stored variables corresponding.
Below with reference to Figure 27 explanation " a ", " b ", the value of " c " and " ratiio ".Figure 27 represents by the starting position of the gradient vector of parameter " grad " expression, begins color, end position and end color, and by the coordinate position of variable " coord " expression and the relation between the gradient color.The starting position of Reference numeral 2201 expression gradient vectors.The end position of Reference numeral 2202 expression gradient vectors.The position of Reference numeral 2203 expression variablees " coord ".Reference numeral 2204 is illustrated in the distance between starting position 2201 and the end position 2202.This will be represented as Label 2205 is illustrated in the starting position 2201 of variable " coord " and the distance between the position 2203.This will be represented as
Figure A20061009126400452
Reference numeral 2206 is illustrated in the end position 2202 of variable " coord " and the distance between the position 2203.This will be represented as
Figure A20061009126400461
Gradient color in the position of variable " coord " is in from the beginning color has advanced by the position of the distances of 2207 expressions towards finishing color direction.Now, by by
Figure A20061009126400462
(it is a distance 2207) is ratio=(a+b-c)/2a divided by distance 2204 values that obtained.Now, ratio herein is less than under 0 the situation, shown in 2208, the position 2203 of variable coord before starting position 2201, that is, and towards the left of figure.Under the situation in this ratio is in 0 to 1 scope, shown in 2209, the position 2203 of variable coord is between starting position 2201 and end position 2202.This ratio greater than 1 situation under, shown in 2210, the position 2203 of variable coord outside end position 2202, that is, and right-hand towards figure.
Whether step S2105 is less than definite processing of 0 about variable ratio.Under less than 0 situation, flow process advances to step S2106, otherwise flow process advances to step S2107.
Step S2106 be position in variable " coord " expression under the situation of a position before the gradient vector of variable " grad " expression, be used for the color value " color " in the gradient of the position of variable " coord " is provided with the processing of the beginning color c1 of gradient vector.
Whether step S2107 is greater than definite processing of 1 about variable ratio.Under greater than 1 situation, flow process advances to step S2108.Otherwise flow process advances to step S2109.
Step S2108 be position in variable " coord " expression under the situation of a position outside the gradient vector of variable " grad " representative, be used for the color value " color " in the gradient of the position of variable " coord " is provided with the processing of the end color c2 of gradient vector.
Step S2109 be position in variable " coord " expression under the situation of a position within the gradient vector of variable " grad " representative, be used for calculating processing at the color value " color " of the gradient of the position of variable " coord ".In this step, variable " ratio " is taken at the value between 0 to 1, the distance of this expression from c1 to color, and wherein the beginning color c1 from gradient vector is 1 to the distance that finishes color c.Thereby, utilize following formula to calculate " color ":
color=(c2-c1)_ratio+c1
Step S2110 is that the renewal of parameter b mp is handled.Data bitmap bmp.data[] value and the sign bmp.pre_or_post[of coordinate position coord] replace by the value of variable color and pre respectively.
Step S2111 is a circular treatment to S2114.Step S2111 makes the horizontal direction value coord.x of variable coord increase by 1 processing.Step S2112 is that whether the become size of the data bitmap that equals horizontal direction of the horizontal direction value coord.x that is used for determining variable coord is the processing of bmp.w.Under the situation that they equate, flow process advances to step S2113, if unequal, then flow process is returned step S2103.
Step S2113 is used for the horizontal direction value coord.x of variable coord is initialized as 0, and makes the vertical direction value coord.y of variable coord increase by 1 processing.Step S2114 is that whether the become size of the data bitmap that equals vertical direction of the vertical direction value coord.y that is used for determining variable coord is the processing of bmp.h.Under the situation that they equate, flow process advances to step S2115, if unequal, then flow process is returned step S2103.
Finish in this flow process of step S2115.Ding Yi processing does not have return value hereto, but data bitmap bmp.data[] and sign bmp.pre_or_post[] be updated.
The operation of printer output is described below with reference to Figure 28.Figure 28 is a flow chart of describing the operation of the processing that printer output is defined.The processing of this definition is called from the step S1807 of flow chart shown in Figure 22.
Step S2301 begins the processing of this definition.Parameter b mp has and is initialised and at step S1823 S1824, S1828, the identical value of variable bmp that S1830 is reproduced with step S1805 at Figure 22 and flow chart shown in Figure 23.
Step S2302 is that initialization of variable is handled.At this, " coord " is that wherein (x y) is the incremental representation coordinate figure at the variable that is used to keep coordinate figure from the upper left side during to lower right sweep bitmap data b mp.data with the pixel.Flow chart shown in Figure 24 is configured to circular treatment, and wherein variable " coord " is a cyclic variable." inputProf " is the variable that is used to keep import the content of configuration file 305." printerProf " is the variable that is used to keep the content of printer profile 307." intent " is the variable that is used to keep reproduce the content of intention 308.Oputputbmp[] be the array that is used to be kept for the data bitmap of printer output, its size and bmp.daa[] measure-alike.
Step S2303 is used for obtaining by from bmp.data[] and bmp.pre_or_post[] variable " coord " and the processing of the data bitmap of the coordinate figure of the value representation of " pre " or " post ".The value that obtains is respectively stored among variable " data " and " pre_or_post ".
Step S2304 is used for the definite processing whether definite variable pre_or_post has value " pre ".At this is under the genuine situation, and then the color of pixel value has been mapped to the colour gamut of printer 313.In this case, flow process advances to step S2306.Otherwise flow process advances to step S2305.
Step S2305 is used to use the CMM.gm function of CMM 312 according to reproducing intention " intent " the processing of pixel data from the input Color Gamut Mapping to the colour gamut of printer 313.Override variable " data " with the result.
At step S2306, the color value of variable " data " has been mapped to the colour gamut of printer 313, therefore uses the colour gamut of CMM.cc function from the input color gamut conversion to printer 313 of CMM 312.The result is stored at printer output data bitmap outputbmp[] in the coordinate position of variable " coord " expression.
Step S2307 is a circular treatment to step S2310.Step S2307 is used to make the horizontal direction value coord.x of variable coord to increase by one processing.Step S2308 is whether the horizontal direction value coord.x that is used for determining variable coord becomes and equal that the size of data bitmap is the processing of bmp.w on the horizontal direction.Under the situation that they equate, flow process advances to step S2309, if unequal, then flow process is returned step S2303.
Step S2309 is used to make the vertical direction value coord.y of variable coord to increase by one processing.Step S2310 is whether the vertical direction value coord.y that is used for determining variable coord becomes and equal that the size of data bitmap is the processing of bmp.h on the vertical direction.Under the situation that they equate, flow process advances to step S2311, if unequal, then flow process is returned step S2303.
Step S2311 is used for sending the printer output data bitmap outputbmp[that produces to the controller 314 of printer 313] processing.Printer 313 is stored the data bitmap of reception as data bitmap 315 in RAM 209, and exports to carry out according to data bitmap 315 control Printer Engines 212.
Step S2312 finishes.There is not return value.
The color matching of usually known use configuration file needs interpolation to handle to obtain the color according to color matching.This interpolation is handled and is caused the error of calculation.The configuration that gray scale is divided (gradation) was carried out in utilization before color matching, color between 2201 and 2202 is increment and obtained with the pixel, and each of these colors is carried out color matching.Carrying out before the color matching under the situation that gray scale (path gradient) reproduces, it is wrong between 2201 and 2202 with the pixel to be that color that increment reproduces contains, to being that the color that increment has an error is carried out color matching with the pixel.Thereby may not obtain level and smooth gradient.
On the contrary, utilize the draw present embodiment of instruction of PDL, level (path gradient) reproduces and is carried out like this, that is and, make and before reproducing, carry out color matching, and no matter before reproducing/how color matching after reproducing be provided with 1709.Because this configuration has obtained to follow the color of the color matching between gradient starting position 2201 and the end position 2202, and can calculate the color of pixel between 2201 and 2202 according to the ratio of Figure 27.Thereby, can realize changing smoothly the gradient of color.
The advantage of above-mentioned present embodiment is, even under the situation of the reproduction of having stipulated particular type (wherein basis is before reproduction or carrying out color matching after the reproduction problem to take place), also can carry out suitable color matching.
Other embodiment
In the first and second above-mentioned embodiment, though that the intermediate code data are described as be in client computer PC 101 is reproduced, the intermediate code data can be sent to printer 103 from client computer 101, so that can be reproduced at printer 103.
And, though in the first and second above-mentioned embodiment, reproduction has been described as in the input colour gamut of representing by the input configuration file (color space), carrying out, also can in by the reproduction colour gamut (color space) of reproducing configuration file 306 expressions, have reproduced.Perhaps, can in reproduction printer colour gamut (color space), reproduce by printer profile 307 expressions.
In addition, though as the PDL that uses in the first and second above-mentioned embodiment SVD 1.1 is illustrated, the present invention never is limited to this, can use other version or any other PDL of SVG, as long as can convert intermediate code to.
In addition, though the example at demonstration/printing one page is illustrated in the first and second above-mentioned embodiment, under the situation of PDL, can make intermediate code, viewer program and controller corresponding with it corresponding to multipage.
In addition, in above-mentioned first and second embodiment, the SVG document has been used single input configuration file and reproduced intention.But, can carry out such configuration, wherein can be to the object of each type in SVG document regulation input configuration file such as image, figure, text object and reproduce intention for example.In addition, can expect a kind of like this system, wherein can and reproduce intention each single object regulation input configuration file.
In addition, though an example at linear gradient is illustrated in above-mentioned first and second embodiment, the present invention can be corresponding to the gradient of a plurality of optional types, for example radial gradient (radial gradient) etc.And, though front and back are described as gradient vector utilizing the beginning color respectively and finish color and paint, also have other technology, for example repeat gradient vector, mirror image gradient vector etc.
In addition, be connected by network with printer, also can use other connection type though Fig. 1 represents client computer PC.For example, can carry out such configuration, wherein PC directly is connected with printer, perhaps wherein data for example storage card or CD are transferred by medium.
In addition, though Fig. 2 represents to be stored in the program among the RAM 202, the invention is not restricted to this, can carry out following configuration, wherein program is read into and carries out from external memory 204, perhaps is received and carries out by network interface 203.In addition,, can carry out such configuration though Fig. 2 is not shown, wherein program from the built-in memory cell of special use for example ROM be read out and carry out.In addition, for example input unit such as phonetic entry of other input unit be can provide, keyboard 206 and pointing device 207 are used for replacing or being additional to.In addition, can find out and other the situation of computer equipment common display 205, keyboard 206 and pointing device 207.
Though Figure 17 represents intermediate code data 1703 and data bitmap 1704 and 315 and is maintained among the RAM, can carry out such configuration, wherein data are stored in permanent memory for example in file, the database etc.In addition, also can find out such configuration, the intermediate code data that wherein are used for identical PDL document are by high-speed cache, and are used to processing subsequently.
And this, though Figure 20 represents the regulation of intermediate code, the regulation of operable intermediate code is not limited thereto.For example, increment is not limited to millimeter, and can be other selectable increment, or both combinations.The path regulation can be other optional path of Bessel's curve and linear gradient, elliptic arc or the enough mathematical expressions of energy.Colouring is not limited to solid color, and can allow complicated colouring, for example paintbrush, image, radial gradient etc.Color is not limited to RGB and RGBA, and can allow by color profile regulation, by the color assignment of device, by the color code regulation etc.In addition, command code is used the integer of 1 byte and operand used the configuration of the floating number of 2 bytes only is example, also can use other coding method.Perhaps, be sent in the structure of printer 103 PDL that can use printer 103 to explain in intermediate code.
In addition, though Figure 24 and 26 expressions use general-purpose algorithms to scan whole bitmap, and determine whether each coordinate is included in the situation in the path of parameter " path " expression.The another kind of method that can find out is to extract the coordinate in the path that is included in parameter " path " expression in advance, and carry out the reproduction about these coordinates.In addition, can use more effective technology for gradient, the color value of compute gradient vector in advance for example, and in the path, repeatedly use this value.
For example printer is relevant though the above embodiments are with imaging device, and the present invention also can be used for monitor and other display unit.
Now, can carry out such configuration, be used to wherein to realize that the program of software of the function of the various embodiments described above directly or is remotely offered system or equipment, the program code that it is provided is read and carried out to the computer of this system or equipment.In this case, program code needn't be the form of program, as long as it has the function of program.
Thereby in order to realize according to functional processing of the present invention, the recording medium that is installed in the program code itself in the computer and stores this program also constitutes the above embodiments.In other words, the foregoing description comprises the computer program itself that is used to realize these embodiment, and the recording medium that is used to store this program.
As long as have the function of program, the form of program is inessential, is that object code, the program that will be carried out by interpreter, the script data that will be provided for operating system etc. all can.
Be used to provide the storage medium of program to include but not limited to: floppy disk, hard disk, CD and magneto optical disk.Some examples comprise: MO, and CD-ROM, CD-R, CD-RW, tape, Nonvolatile memory card, ROM and DVD (DVD-ROM, DVD-R).
Be used to provide other configuration of program to comprise client computer, it at first uses web browser to visit homepage on the internet, and from the homepage computer program itself or utilize file from the installation function compression to download to storage medium for example hard disk is first-class.In addition, the program code that constitutes the program of the various embodiments described above can be divided into a plurality of files, and each file is downloaded by the different homepage from the Internet, to realize its function.Therefore it should be understood that these embodiment also comprise the webserver, it allows a plurality of user's download program files, so that the function of these embodiment of computer realization.
In addition, can carry out a kind of like this configuration, the program that wherein is used for realizing the processing of these embodiment is stored in for example CD-ROM and be distributed to the user of storage medium encryptedly, and have only the user who satisfies predetermined condition just to allow the homepage from the Internet to download key information, so that program is decrypted.Key information can be used to carry out encrypted program, so that it is installed on the computer and is performed.
In addition, can carry out a kind of like this configuration, wherein the function of these embodiment is by the computer realization of carrying out the program that has been read out.In addition, can carry out a kind of like this configuration, wherein the operating system etc. of operation is carried out part or all of actual treatment according to the instruction of program on computers, so as to realizing the function of embodiment.
Though the embodiment with reference to example describes the present invention, should be appreciated that the embodiment of the example that the invention is not restricted to these disclosures.The scope of claims should be given the wideest explanation, thereby comprises all remodeling, equivalent structure and function.

Claims (16)

1. imaging device comprises:
Transcriber is used to reproduce the descriptive language document;
The color matching device, being used for the colouring information of stipulating at described descriptive language document is converted to will be to the colouring information of the imaging device of described descriptive language document imaging; And
Choice device, be used under the situation that described descriptive language document is needed alpha blended reproduce, determining still to be described reproduction after, to carry out described conversion before the described reproduction by described color matching device, and according to wherein one or another kind of of result's selection of determining.
2. imaging device as claimed in claim 1, wherein by being chosen in of carrying out of described choice device confirm following situation as a result the time carry out, described situation is: the situation that the wherein described conversion of being undertaken by the described color matching device situation of carrying out before described reproduction, and wherein said conversion is carried out after described reproduction.
3. imaging device as claimed in claim 1, also comprise holding device, be used to keep selecting used condition and selection result thereof, wherein under the condition identical, carry out using when alpha blended is reproduced the information that in described holding device, keeps with described condition by described choice device.
4. imaging device as claimed in claim 1, wherein said choice device comprises:
Setting device, being used for being provided with is to carry out described conversion by described color matching device before the described reproduction or after described reproduction; And
Control device is used for controlling under described transcriber reproduces the situation of specific reproduction instruction so that the described conversion of being undertaken by described color matching device carried out before described reproduction, and no matter the setting of described setting device how.
5. imaging device as claimed in claim 4, wherein said specific reproduction instruction are the gradient instructions.
6. image formation control method comprises:
Reproduce step, be used to reproduce the descriptive language document;
The color matching step, being used for the colouring information of stipulating at described descriptive language document is converted to will be to the colouring information of the imaging device of described descriptive language document imaging; And
Select step, be used under the situation that described descriptive language document is needed alpha blended reproduce, determining still to be described reproduction after, to carry out described conversion before the described reproduction in described color matching step, and according to determining wherein one or another kind of of result's selection.
7. method as claimed in claim 6, wherein behind the result who is chosen in the following situation of confirmation that described selection step is carried out, carry out, described situation is: the situation that the wherein described conversion of carrying out in the described color matching step situation of carrying out before described reproduction, and wherein said conversion is carried out after described reproduction.
8. method as claimed in claim 6, also comprise the maintenance step, be used to remain on described selection step and select used condition and selection result thereof, wherein under the condition identical, carry out using when alpha blended is reproduced the information that in described maintenance step, keeps with described condition.
9. method as claimed in claim 6, wherein said selection step comprises:
Step is set, and being used for being provided with is to carry out described conversion in described color matching step before the described reproduction or after described reproduction; And
Controlled step is used for controlling under described reproduction step is reproduced the situation of specific reproduction instruction so that the described conversion of carrying out in described color matching step carried out before described reproduction, and no matter the described setting that step is set how.
10. method as claimed in claim 9, wherein said specific reproduction instruction are the gradient instructions.
11. an image formation control method comprises:
Reproduce step, be used to reproduce the descriptive language document;
The color matching step, being used for the colouring information of stipulating at described descriptive language document is converted to will be to the colouring information of the imaging device of described descriptive language document imaging; And
Controlled step, being used for control is to carry out described conversion in described color matching step before the described reproduction or after described reproduction.
12. an imaging device comprises:
Transcriber is used to reproduce the descriptive language document;
The color matching device, being used for the colouring information of stipulating at described descriptive language document is converted to will be to the colouring information of the imaging device of described descriptive language document imaging;
Setting device, being used for being provided with is to carry out described conversion by described color matching device before the described reproduction or after described reproduction; And
Control device is used for controlling under described transcriber reproduces the situation of specific reproduction instruction so that the described conversion of being undertaken by described color matching device carried out before described reproduction, and no matter the setting of described setting device how.
13. imaging device as claimed in claim 12, wherein said specific reproduction instruction is the gradient instruction.
14. an image formation control method comprises:
Reproduce step, be used to reproduce the descriptive language document;
The color matching step, being used for the colouring information of stipulating at described descriptive language document is converted to will be to the colouring information of the imaging device of described descriptive language document imaging;
Step is set, and being used for being provided with is to carry out described conversion in described color matching step before the described reproduction or after described reproduction; And
Controlled step is used for controlling under described reproduction step is reproduced the situation of specific reproduction instruction so that the described conversion of carrying out in described color matching step carried out before described reproduction, and no matter the described setting that step is set how.
15. method as claimed in claim 14, wherein said specific reproduction instruction is the gradient instruction.
16. an image formation control method comprises:
Reproduce step, be used to reproduce the descriptive language document;
The color matching step, being used for the colouring information of stipulating at described descriptive language document is converted to will be to the colouring information of the imaging device of described descriptive language document imaging; And
Controlled step, being used for control is to carry out described conversion in described color matching step before the described reproduction or after described reproduction.
CNB2006100912648A 2005-06-08 2006-06-08 Imaging device, control method, and program Expired - Fee Related CN100405815C (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2005168569A JP4480160B2 (en) 2005-06-08 2005-06-08 Printing apparatus, printing apparatus control method, printing apparatus control program, storage medium, and Web server
JP2005168569 2005-06-08
JP2005168570 2005-06-08

Publications (2)

Publication Number Publication Date
CN1878234A true CN1878234A (en) 2006-12-13
CN100405815C CN100405815C (en) 2008-07-23

Family

ID=37510516

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2006100912648A Expired - Fee Related CN100405815C (en) 2005-06-08 2006-06-08 Imaging device, control method, and program

Country Status (2)

Country Link
JP (1) JP4480160B2 (en)
CN (1) CN100405815C (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101269582B (en) * 2007-03-20 2011-05-18 精工爱普生株式会社 Printing control according to combinations of color materials, printing control method and printing device
CN106547530A (en) * 2015-09-23 2017-03-29 北京搜狗科技发展有限公司 A kind of interface processing method and device
CN114423621A (en) * 2019-08-21 2022-04-29 太阳化学公司 Metal decoration digital proofing method

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8699042B2 (en) * 2008-06-12 2014-04-15 Konica Minolta Laboratory U.S.A., Inc. Systems and methods for multi-mode color blending
JP5033747B2 (en) * 2008-09-29 2012-09-26 京セラドキュメントソリューションズ株式会社 Image processing apparatus, image processing method, and image processing program

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3548223B2 (en) * 1994-04-18 2004-07-28 キヤノン株式会社 Image processing method and apparatus
JPH087312A (en) * 1994-06-17 1996-01-12 Canon Inc Optical information recording/reproducing apparatus
JP3554034B2 (en) * 1994-09-02 2004-08-11 キヤノン株式会社 Color printing apparatus and method
JP3063957B2 (en) * 1995-03-01 2000-07-12 富士ゼロックス株式会社 Image processing device
US6208351B1 (en) * 1997-12-22 2001-03-27 Adobe Systems Incorporated Conversion of alpha-multiplied color data
US6462748B1 (en) * 2000-02-25 2002-10-08 Microsoft Corporation System and method for processing color objects in integrated dual color spaces
JP2004193876A (en) * 2002-12-10 2004-07-08 Canon Inc Image processing method
JP4804044B2 (en) * 2005-06-07 2011-10-26 キヤノン株式会社 Image processing apparatus and image processing method

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101269582B (en) * 2007-03-20 2011-05-18 精工爱普生株式会社 Printing control according to combinations of color materials, printing control method and printing device
CN106547530A (en) * 2015-09-23 2017-03-29 北京搜狗科技发展有限公司 A kind of interface processing method and device
CN114423621A (en) * 2019-08-21 2022-04-29 太阳化学公司 Metal decoration digital proofing method
CN114423621B (en) * 2019-08-21 2023-10-20 太阳化学公司 Digital proofing method for metal decoration

Also Published As

Publication number Publication date
JP2006345197A (en) 2006-12-21
CN100405815C (en) 2008-07-23
JP4480160B2 (en) 2010-06-16

Similar Documents

Publication Publication Date Title
CN1273931C (en) Method and system for improving image quality
CN1223170C (en) Method for correcting colour image data by correction table
CN100345158C (en) Method and system for producing formatted data related to geometric distortions
CN1167265C (en) Image communication system and method thereof
CN1315331C (en) Video signal converter, video signal conversion method and video service system
CN1197351C (en) Image synthesizing device, recording medium, and program
CN1144447C (en) Color correction apparatus and method in image system
CN1294540C (en) Coding-decoding coordinate interpolating symbol key-work data and key-value data apparatus and medium thereof
CN1828432A (en) Color determination device and color determination method
CN101031022A (en) Image processing apparatus, image forming apparatus, control method of image processing apparatus
CN101065784A (en) Processing of computer graphics
CN1645942A (en) Image-processing apparatus, image-capturing apparatus, image-processing method and image-processing program
CN1681288A (en) Image processing apparatus, image data generation and transmission method and image data generation and transmission program
CN1993976A (en) Lossless compression of color image data using entropy encoding
CN1605466A (en) One unit print using multiple picture elements as hus reproducing
CN101068300A (en) Image forming device and application program execution method
CN1596547A (en) Moving picture coding apparatus, moving picture decoding apparatus, moving picture coding method, moving picture decoding method, program, and computer-readable recording medium containing the program
CN1774031A (en) Image processing apparatus and image processing method as well as computer program
CN1379366A (en) Image processing device and method
CN1878234A (en) Imaging device, control method, and program
CN1910900A (en) Unauthorized copy preventing device and method thereof, and program
CN1445979A (en) Image processing device, method and program
CN1744720A (en) Variable length decoding device
CN1885431A (en) Semiconductor memory device and control method for the semiconductor memory device
CN1707502A (en) Image processing apparatus and control method therefor,

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20080723

Termination date: 20170608

CF01 Termination of patent right due to non-payment of annual fee