1. Field of the Invention
The present invention relates to a process of adding copy-forgery-inhibited pattern data.
2. Description of the Related Art
It is known to print content such as a form document or a resident card on special paper called copy protection paper which has been subjected to special printing to prevent or restrain an original material from being copied. In an original material, an image printed on copy protection paper is difficult for human eyes to perceive. However, if the original material is copied, a character string such as “Copied” appears on a copied material. This makes it possible to easily distinguish a copied material from an original material. This causes a person who has copied the original material to hesitate to use the copied material. By letting the public know that form documents or the like are printed on copy protection paper, it is possible to cause persons to hesitate to copy form documents or the like. However, a problem with copy protection paper is its high cost compared with plain paper. Another problem is that only a character string preprinted on copy protection paper during production of the copy protection paper appears on a copied material. This limits use of the copy protection paper. Specific examples of techniques associated with copy protection paper can be found, for example, in U.S. Pat. No. 5,788,285 or U.S. Pat. No. 6,000,728.
Nowadays, various kinds of contents such as form documents, resident cards, etc. are produced in digital form. However, in many cases, at present, contents produced by computer are not used as digital data but they are used to print on plain paper using a printer.
In recent years, great advances in performance of printers have been made, and it has become possible to achieve copy protection effects not by using copy protection paper but by using a computer and a printer (see, for example, Japanese Patent Laid-Open No. 2001-197297). In this technique, when a content produced using a computer is printed, a copy protection pattern (hereinafter, also referred to as a copy-forgery-inhibited pattern) is superimposed on the background of the content. The copy-forgery-inhibited pattern image on an original material (produced by using a printer) is perceived by human eyes as a simple pattern. However, if the original material is copied, a particular character string or the like appears on the copied material. Therefore, this feature of the original material restrains the original material from being copied, as with the special copy protection paper described above.
When a copy-forgery-inhibited pattern image produced using a computer is output such that the copy-forgery-inhibited pattern image is superimposed on content data, it is possible to use ordinary paper on which to output the copy-forgery-inhibited pattern image, and thus this technique is advantageous in terms of cost compared with the technique using forgery-protected paper. Furthermore, because it is allowed to produce a copy-forgery-inhibited pattern image when content data is printed, it is possible to freely determine a character string or the like which will be visualized when an original printed material is copied. Another advantage is that a character string is not limited to a predetermined one such as “COPIED” but an arbitrary character string such as a user name or a date/time may be used.
As described above, if an original printed material including a copy-forgery-inhibited pattern image is copied, a particular character string or an image appears in a visible form on the copied material, whereby it is possible to suppress use of the copied material. To achieve the above effects, a copy-forgery-inhibited pattern image used herein basically includes two areas: a first area which is included in an original material and which will remain in a copied material; and a second area which is also included in the original material but which will disappear or will become low in intensity on the copied material compared with the intensity of the image in the first area. The dots in these two areas are similar in density on an original printed material and thus, macroscopically, it is difficult to perceive an embedded character string such as “COPIED”, which will appear in a visible form on a copied material. However, microscopically, dots are different between the two areas as described below. A hidden image of a character string or the like which appears when an original material is copied is called a “latent” image, and an image which disappears or becomes low in intensity on a copied material is called a “background” image. Thus, a copy-forgery-inhibited pattern image basically includes a latent mark image and a background image. In some cases, a copy-forgery-inhibited pattern image further includes a camouflage image as will be described later. Note that the latent mark is also referred to as a foreground image, for example, when a user interface is discussed.
In the latent (foreground) image area, dots are formed in the shape of clusters so that dots remain on a copied material. On the other hand, in the background image area, dots are formed at dispersed locations so that dots disappear or an image intensity becomes low on a copied material. Note that dots are formed so that there is no difference in the macroscopic density between the foreground and background areas.
Note that printing of the copy-forgery-inhibited pattern does not necessarily need to be performed in the above-described manner, but the copy-forgery-inhibited pattern may be formed in another manner as long as a character string such as “COPIED” or the like appears in a form visible by a user when an original material is copied. For example, a character string or the like may be formed as a background area with dots which disappear on a copied material so that the character string appears in an open shape (void shape) as a result of disappearing of the dots. Note that in this case, the purpose of the copy-forgery-inhibited pattern printing is also achieved.
In general, copiers have a limitation on the reproduction ability depending on the input resolution of detecting small dots on a document or the output resolution of forming small dots on paper. The background area of the copy-forgery-inhibited pattern image is formed of dots with a size smaller than the lower resolution limit of the copier, and the latent mark area is formed of dot clusters with a size greater than the lower resolution limit of the copier so that the latent mark area with dot clusters with the large size is reproduced on a copied material while the background area with the dots with the small size is not reproduced on the copied material and thus the latent image is visualized. Note that small-sized dots of the background area do not necessarily need to completely disappear on a copied material. Even when dots of the background area are reproduced on a copied material, if the density is lower than that of large-sized dot clusters of the latent mark area on the copied material, the latent mark area is converted into a clear visible image.
It is known to use a camouflaging technique to make a latent image difficult to perceive. In the camouflaging technique, a pattern with a density different from that of the latent mark area and that of the background area is formed over the entire area of an copy-forgery-inhibited pattern image so that a perceivable camouflage image is formed on an original material and the presence of the camouflage image makes it difficult to perceive the latent mark. For example, a copy-forgery-inhibited pattern image including a camouflage image may be formed as a decorative pattern.
In general, a user is allowed to arbitrarily make a decision as to whether a copy-forgery-inhibited pattern image is applied to an image to be printed. More specifically, the user is allowed to determine whether to embed a copy-forgery-inhibited pattern image in an image to be printed of a job on a job-by-job basis, and is also allowed to determine the property of the copy-forgery-inhibited pattern image. However, for users, it is troublesome to determine whether to apply a copy-forgery-inhibited pattern image to an image to be printed of a job on a job-by-job basis and/or determine the property of the copy-forgery-inhibited pattern image. Besides, when users are allowed to determine whether to apply a copy-forgery-inhibited pattern image to an image to be printed of a job on a job-by-job basis, there is a possibility that no copy-forgery-inhibited pattern image is applied to an image such as a confidential document which is desirable to have a copy-forgery-inhibited pattern image. Conversely, there is a possibility that an improper copy-forgery-inhibited pattern image is applied to an image to be printed in accordance with an intention of a user. This can cause the image to have a security problem.
One method to avoid the above problems is not to allow a user to make setting associated with printing of a copy-forgery-inhibited pattern but to automatically make setting by a printer driver.
However, this technique still has the following problems, if the property of the copy-forgery-inhibited pattern is automatically set regardless of users and/or regardless of printers. That is, depending on an image to be printed or depending on a user of a printing system, a copy-forgery-inhibited pattern image is unnecessarily embedded in the image or an improper copy-forgery-inhibited pattern image is embedded in the image.
More specifically, there is a possibility that a copy-forgery-inhibited pattern is applied even to a document which is low in confidentiality level and thus does not need to have the copy-forgery-inhibited pattern. In this case, application of the copy-forgery-inhibited pattern can cause the document to become ugly in its appearance. In a case in which an improper image is embedded as copy-forgery-inhibited pattern in a document, there is a possibility that the copy-forgery-inhibited pattern applied to the document cannot functions as the copy-forgery-inhibited pattern.
The type of copy-forgery-inhibited pattern to be embedded in a document can vary depending on a user of a printing system. However, the automatic setting described above does not allow modifications depending on users. Even when a user does not want to embed any copy-forgery-inhibited pattern in a document, a copy-forgery-inhibited pattern is automatically embedded in the document against the intention of the user.
In view of the above, it is desirable to properly set a property associated with printing of a copy-forgery-inhibited pattern each time printing is executed, not according to an unreasonable and arbitrary decision of a user but according to a predetermined reasonable rule.
According to an aspect of the present invention, there is provided an information processing apparatus adapted to control printing of copy-forgery-inhibited pattern data embedded in document data, including a defining unit configured to define a confidentiality level, according to which to determine content of a copy-forgery-inhibited pattern, commonly to a plurality of document data such that it is allowed to change the confidentiality level of each document data as required, a copy-forgery-inhibited pattern setting unit configured to, when one of the plurality of document data is specified, set the content of the copy-forgery-inhibited pattern to be embedded in the specified document data in accordance with a confidentiality level defined for the specified document data, and a control unit configured to control printing in accordance with the specified document data and the content of the copy-forgery-inhibited pattern set by the copy-forgery-inhibited pattern setting unit.
According to another aspect of the present invention, there is provided a method of controlling printing such that copy-forgery-inhibited pattern data is embedded in document data. The method includes defining a confidentiality level, according to which to determine a content of a copy-forgery-inhibited pattern, commonly to a plurality of document data such that it is allowed to change the confidentiality level of each document data as required, when one of the plurality of document data is specified, setting the content of the copy-forgery-inhibited pattern to be embedded in the specified document data in accordance with a confidentiality level defined for the specified document data, and controlling printing in accordance with the specified document data and the content of the copy-forgery-inhibited pattern set for the specified document data.
Other features and advantages of the present invention will be apparent from the following description taken in conjunction with the accompanying drawings, in which like reference characters designate the same or similar parts throughout the figures there.
A preferred embodiment of the present invention will now be described in detail with reference to the drawings. It should be noted that the relative arrangement of the components, the numerical expressions and numerical values set forth in these embodiments do not limit the scope of the present invention unless it is specifically stated otherwise.
Referring to FIGS. 1 to 19, a configuration of a system including an information processing apparatus serving as a host computer and a printer serving as a printing apparatus, a printing process, and a process of producing basic print data of a copy-forgery-inhibited pattern according to an embodiment of the present invention are described below.
In the present embodiment, a part of a copy-forgery-inhibited pattern which is visualized when an original material is copied is referred to as a latent mark area or a foreground area, and a part which disappears or becomes low in density compared with the density of the latent mark area is referred to as a background area. Text information such as “INVALID” or “VOID” is described in the latent mark area. Note that in the present invention, the copy-forgery-inhibited pattern image is not limited to the above-described type. For example, a copy-forgery-inhibited pattern image may be formed such that a character string appears in an open shape (void shape) on a copied material. In this case, a latent mark area and a background area are formed in an opposite manner in terms of concentrated and dispersed dots to the manner in which a latent mark area appears in a normal form on a copied material. Also note that in the present invention, there are no particular restrictions on the type, the color, the shape, the size, and the like of the copy-forgery-inhibited pattern image. There is also no restriction on the process of producing the copy-forgery-inhibited pattern image.
Configuration of Printing System
Referring to
As shown in
A keyboard controller (KBC) 5 controls a key input operation of a keyboard 9 or a pointing device (not shown). A CRT controller (CRTC) 6 controls a displaying operation of a CRT display 10. Note that displaying of a copy-forgery-inhibited pattern image on the CRT display 10 is also controlled by the CRT controller 6. A disk controller (DKC) 7 controls a hard disk (HD) on which there are stored a boot program, various kinds of application program, font data, user files, a file being edited, a printer control command generation program (hereinafter referred to as a printer driver), etc. The disk controller 7 also controls an access operation to the external memory 11 such as a floppy (registered trademark) disk (FD). A printer controller (PRTC) 8, which is connected to a printer 1500 via a bidirectional interface 21, is responsible for control of communication with the printer 1500. More specifically, the printer controller 8 controls the transmission of print job data, various request data, various response data from the printer, etc.
For example, the CPU 1 rasterizes outline font data in a display information area of the RAM 2 thereby making it possible to display information on the CRT 10 in a WYSIWYG manner. In accordance with commands issued by clicking icons or the like displayed on the CRT 10 with a mouse cursor or the like, the CPU 1 opens various kinds of windows and performs various kinds of data processing. When a printing operation is performed, a user is allowed to open a window for setting printing conditions and set the printer driver in terms of printing conditions including printer setting and the printing mode.
The printer 1500 is controlled by a CPU 12 disposed therein. In accordance with a control program stored in the program ROM area of the ROM 13 or a control program stored in an external memory 14, the CPU 12 outputs an image signal as print output information to a printing unit (printer engine) 17 connected to a system bus 15 via a printing unit I/F 16. The ROM 13 includes the program ROM area in which the control program executed by the CPU 12 is stored. The ROM 13 also includes a font ROM area in which font data for use in producing the print output information is stored. When the printer used does not have a hard disk or the like serving as the external memory 14, information used by the host computer 3000 is stored in a data ROM area of the ROM 13.
The CPU 12 is capable of communicating with the host computer 3000 via an input unit 18. This allows it to transmit information from the printer 1500 to the host computer 3000. A RAM 19 is used by the CPU 12 as a main memory or a work area. The storage capacity of the RAM 19 may be extended by connecting an optional RAM to an extension port (not shown). The RAM 19 is also used as an output information rendering area, an environment data storage area, a NVRAM, etc. Accessing to the above-described external memory 14 such as the hard disk (HD) or the IC card is controlled by a memory controller (MC) 20. The external memory 14 is optionally connected to store font data, an emulation program, form data, etc. An operation panel 1501 is used by a user to input a command/data and includes switches and LED indicators.
The number of external memories 14 is not limited to one, but there may be provided a plurality of external memories 14 for storing not only standard font data but also a program of interpreting various kinds of printer control languages. The printer 1500 may also include a NVRAM (not shown) to store printer mode setting information input via the operation panel 1501.
In the present embodiment, the printing unit 17 is an electrophotographic engine capable of printing an image by forming dots in accordance with print image data. Note that the present invention is not limited to the electrophotographic printing method, and other types of printing methods may also be used. For example, the present invention may also be applied to any type of printing apparatus adapted to perform printing by forming dots, such as an ink-jet printer.
The graphic engine 202 loads one of printer drivers 203 prepared for respective printing apparatus (printers) from the external memory 11 into the RAM 2 and transfers data output from the application 201 to the printer driver 203. If the graphic engine 202 receives GDI (Graphic Device Interface) functions from the application 201, the graphic engine 202 converts the received GDI functions into DDI (Device Driver Interface) functions and outputs them to the printer driver 203. If the printer driver 203 receives the DDI functions from the graphic engine 202, the printer driver 203 converts the received DDI functions into control commands such as PDL (Page Description Language) commands which can be handled by the printer. The resultant printer control commands are output as print data to the printer 1500 via the system spooler 204 loaded by the OS in the RAM 2 and further via the interface 21.
In the present embodiment, the printing system includes a copy-forgery-inhibited pattern processing unit 205 in the printer driver 203. The copy-forgery-inhibited pattern processing unit 205 may be a build-in module of the printer driver 203 or may be a library module which is separately installed. When a copy-forgery-inhibited pattern image is printed, the printer driver 203 performs processing including rendering of the copy-forgery-inhibited pattern image by using the copy-forgery-inhibited pattern processing unit 205.
Software Modules for Printing
First, the configuration shown in
The spooler 302 analyzes the received print commands and converts them into intermediate codes in units of pages. The resultant intermediate codes are output to the spool file 303. The spool file in which the intermediate codes are written in units of pages are called a page description file (PDF). The spooler 302 acquires from the printer driver 203 information indicating processing conditions (such as a N-up printing mode, a two-sided printing mode, finishing such as stapling, a color/monochrome mode, etc.) associated with the print image data set in the printer driver 203. The acquired information is stored in units of jobs in the spool file 303. This setting file stored in units of jobs is called a job setting file (or a spool description file (SDF)). The details of the job setting file will be described later. Although in the present embodiment, the spool file 303 is produced in the external memory 11, it may be produced in the RAM 2. The spooler 302 loads a spool file manager 304 from the external memory 11 into the RAM 2 and notifies the spool file manager 304 of the status in terms of the production of the spool file 303. The spool file manager 304 determines whether it is ready to start printing, on the basis of the process setting associated with the print image data stored in the spool file 303.
If the spool file manager 304 determines that it is ready to start printing using the graphic engine 202, the spool file manager 304 loads a despooler 305 from the external memory 11 into the RAM 2, and requests the despooler 305 to perform printing according to the intermediate code described in the page description file stored in the spool file 303.
The despooler 305 processes the intermediate code described in the page description file stored in the spool file 303 in accordance with the job setting file including process setting information stored in the spool file 303 to reproduce a GDI function, and outputs the resultant GDI function via the graphic engine 202. In this process, the copy-forgery-inhibited pattern processing unit 205 is loaded and rendering of the copy-forgery-inhibited pattern image is performed by the copy-forgery-inhibited pattern processing unit 205. That is, in the present embodiment, the copy-forgery-inhibited pattern processing unit 205 performs processing associated with printing of the copy-forgery-inhibited pattern image in cooperation with the despooler 305 and the spool file manager 304. The processing performed herein includes producing of commands associated with the copy-forgery-inhibited pattern image as will be described later.
Note that the copy-forgery-inhibited pattern processing unit 205 may be a build-in module of the printer driver 203 or may be a library module which is separately installed.
If the print command (DDI function) that the dispatcher 301 has received from the graphic engine 202 is based on the print command (GDI function) issued from the despooler 305 to the graphic engine 202, the dispatcher 301 sends the print command not to the spooler 302 but to the printer driver 203. The printer driver 203 produces a printer control command described, for example, in a page description language or the like on the basis of the DDI function acquired from the graphic engine 202, and outputs it to a printer 1500 via the system spooler 204.
In the example of the configuration shown in
Note that the data indicating the properties of the printer driver is stored as a setting file in the form of a structure provided by an operating system (in the case of a Windows (trademark) operating system, such a structure is called DEVMODE). The information stored in this structure also includes, for example, information specifying whether to store data in the spool file manage 304 as one of items associated with the setting of the spool file 303. When the spool file manager 304 reads process setting data via the printer driver, if it is determined that “Store” is specified in the process setting data, then a page description file and a job setting file are produced and stored in the spool file 303 in the above-described manner. The spool file manage 304 then displays a pop-up window screen on which a list of jobs spooled in the spool file 303 is displayed.
On this pop-up window screen, if previewing of a single job or merged jobs is specified, the spool file manager 304 loads the previewer 306 from the external memory 11 into the RAM 2 and displays, on the previewer 306, a preview image of the specified job in accordance with the intermediate codes described in the spool file 303.
Storing of Intermediate Print Data
First, in step S501, the spooler 302 receives a print request from an application via the graphic engine 202. In response to the request from the application, a dialog for making print settings such as that shown in
In step S502, the spooler 302 determines whether the received print command is a “start job” command. If it is determined in step S502 that the received command is the “start job” command, the processing flow proceeds to step S503, in which the spooler 302 creates the spool file 303 for temporarily storing intermediate data. In step S504, the spooler 302 notifies the spool file manager 304 of the status of the print process. In step S505, the spooler 302 initializes a page counter to 1. In response, the spool file manager 304 reads the information, such as process setting information, associated with the job whose printing operation has been started, from the spool file 303 and stores the read information in the spool file manager 304.
If it is determined in step S502 that the command is not the “start job” command, the processing flow proceeds to step S506. In step S506, the spooler 302 determines whether the received command is an “end job” command. If the spooler 302 determines that the received command is not the “end job” command, the processing flow proceeds to step S507 to determine whether the command is a “new page” command. If it is determined in step S507 that the command is the “new page” command, the processing flow proceeds to step S508 to notify the spool file manager 304 of the status of the print process. The page counter is then incremented, and the page description file in which the intermediate codes are described is closed. A next page description file is then created. If it is determined in step S507 that the received print command is not the “new page” command, the processing flow proceeds to step S509, in which the spooler 302 makes a preparation to write intermediate codes in the page description file.
In step S510, the spooler 302 converts the DDI function of the print command into an intermediate code to be stored in the spool file 303. In step S511, the spooler 302 writes the print command, which has been converted in step S510 into the form of the intermediate code allowed to be stored, into the page description file in the spool file 303. The processing flow then returns to step S501 to receive a next print command from the application. The process from steps S501 to S511 is repeated until an “end job” (End Doc) command is received from the application. Meanwhile, the spooler 302 acquires information such as information indicating the process settings stored in the DEVMODE structure from the printer driver 203, and stores the information as a job setting file in the spool file 303. If it is determined in step S506 that the print command from the application is the “end job” command, it is determined that no more print commands will be sent from the application, and thus the processing flow proceeds to step S512 to notify the spool file manager 304 of the status of the print process. The process is then ended.
Producing of Spool File
In step S601, the spool file manager 304 receives a notification of the status of the print process from the spooler 302 or the despooler 305. In step S602, the spool file manager 304 determines whether the notification received in step S504 is a print start notification from the spooler 302. If the answer to step S602 is Yes, then the processing flow proceeds to step S603 to read data indicating the print process settings from the spool file 303 and start job management. On the other hand, if it is determined in step S602 that the notification is not a print start notification from the spooler 302, the processing flow proceeds to step S604, in which the spool file manager 304 determines whether the process status notification is a print end notification indicating the end of printing of one logical page issued in step S508 by the spooler 302. If the answer to step S604 is Yes, the processing flow proceeds to step S605. In step S605, logical page information associated with the present logical page is stored. In step S606, it is determined whether it is allowed to start printing of one physical page using n logical pages which have been spooled by this point of time. If the answer to step S606 is Yes, the processing flow proceeds to step S607 to determine the physical page number from the number of logical pages assigned to one physical page to be printed.
More specifically, the calculation of physical pages is performed as follows. For example, when it is specified in the process setting data to lay out four logical pages on one physical page, it becomes possible to start printing of a first physical page when a spooling of a fourth logical page is completed. In this case, it is determined that it is possible to start printing of the first physical page. Subsequently, it becomes possible to start printing of a second physical page when spooling of an eighth logical page is completed. Even if the total number of logical pages is not a multiple of the number of logical pages laid out on one physical page, logical pages to be laid out on one physical page can be determined from the spool end notification issued in step S512.
In step S608, a message is sent to notify that information indicating logical pages of a physical page ready to be printed, information indicating the physical page number of that physical page, and other associated information have been stored in the format shown in
In the case in which it is determined in step S604 that the process status notification is not a print end notification indicating the completion of printing of one logical page from the spooler 302, the processing flow proceeds to step S609. In step S609, the spool file manager 304 determines whether the notification is the job end notification issued in step S512 from the spooler 302. If the answer to step S609 is Yes, the processing flow proceeds to step S606. If the answer to step S609 is No, the processing flow proceeds to step S610, in which the spool file manager 304 determines whether the received notification is a print end notification indicating completion of printing of one physical page from the despooler 305. If the answer to step S610 is Yes, the processing flow proceeds to step S611 to determine whether printing of all data specified by the process setting data is completed. If the answer to step S611 is Yes, the processing flow proceeds to step S612 to notify the despooler 305 of the completion of printing. However if the answer to step S611 is No, the processing flow proceeds to step S606 described above. Note that in the present embodiment, it is assumed that the despooler 305 is adapted to perform the print process in units of physical pages. In step S608, information required for print processing of one physical page is sequentially stored in a file so that the stored information can be reused. If such information does not need to be reused, a high-speed memory such as a shared memory may be used and the information may be sequentially overwritten therein in units of physical pages thereby achieving an increase in the processing speed and saving the resources. When spooling progresses faster than despooling or when despooling is started after all pages have been spooled, a print-ready notification issued in step S608 for each physical page may be omitted. That is, in this case, a notification indicating that it has become ready to perform a plurality or all of physical pages may be issued depending on the progress of the despooling process. This allows a reduction in the number of times the print-ready notification is issued.
In a case in which it is determined in step S610 that the notification is not a print end notification indicating completion of one physical page from the despooler 305, the processing flow proceeds to step S613, in which the spool file manager 304 determines whether the notification is a print end notification indicating completion of all physical pages from the despooler 305. If the answer to step S613 is Yes, the processing flow proceeds to step S614, in which the spool file manager 304 deletes the corresponding page description file in the spool file 303 and ends the processing. However, if the notification is not a print end notification indicating completion of all physical pages from the despooler 305, the processing flow proceeds to step S615 to perform other processing and wait for a next notification.
Outputting of Spool File
The despooler 305 reads necessary information (a page description file and a job setting file) from the spool file 303 in accordance with a print command issued by the spool file manager 304, and produces print image data in accordance with the read information. The resultant print image data is transmitted to the printer in a similar manner as described above with reference to
In the process of producing print image data, first in step S701, a notification from the spool file manager 304 is input. In step S702, the despooler 305 determines whether the input notification is a job end notification. If the answer to step S702 is Yes, the processing flow proceeds to step S703 to set an end flag. The processing flow then proceeds to step S705. If it is determined in step S702 that the notification is not the job end notification, the processing flow proceeds to step S704 to determine whether the print start command to print one physical page in step S608 has been issued. If the answer to step S704 is No, the processing flow proceeds to step S710 to perform error handling. The processing flow then returns to step S701 to wait for a next notification. In a case in which it is determined in step S704 that the command is a print start command to print one physical page, the processing flow proceeds to step S705, in which the despooler 305 stores the ID of the physical page to be printed, described in the notification received in step S704. In step S706, the despooler 305 determines whether the print process is completed for all physical pages indicated by IDs stored in step S705. If the answer to step S706 is Yes the flow proceeds to step S707 to determine whether the end flag has been set in step S703. If the answer to step S707 is Yes, it is determined that printing of the current job is completed, and a notification indicating that the process by the despooler 305 is completed is sent to the spool file manager 304. The process is then ended. On the other hand, if it is determined in step S707 that the end flag has not been set, the processing flow returns to step S701 to wait for a next notification. In a case in which it is determined in step S706 that there are more physical pages to be printed, the processing flow proceeds to step S708. In step S708, the despooler 305 sequentially reads the IDs of unprocessed physical pages, reads information required to produce print image data of physical pages indicated by the read physical page IDs, and performs the print process thereon. In the print process, the despooler 305 converts print commands stored in the spool file 303 into form (GDI functions) that allows the graphic engine 202 to deal with, and transfers the resultant data to the graphic engine 202. In the present example, it is assumed that it is specified in the process setting data to print a plurality of logical pages on one physical page (in a N-up page layout). In this case, print commands are converted so that a specified number of logical pages are placed on one physical page. When the print process is completed, the processing flow proceeds to step S709 to notify the spool file manager 304 of the completion of producing of the print image data of one physical page. The processing flow then returns to step S706 to repeat the above-described process until the print process is completed for all physical pages to be printed, indicated by the IDs stored in step S705.
The print process performed by the dispatcher 301, the spooler 302, the spool file manager 304, and the despooler 305 has been described above. In the print process described above, the application 201 is released from the print process when the spooler 302 has produced all intermediate codes and stored them in the spool file 303. Therefore, the application 201 is released earlier than would be released when print image data is directly output to the printer driver 203. Because the print image data is temporarily stored as intermediate files (the page description file and the job setting file) in the spool file 303 according to the print settings of the printer driver, a user is allowed to see a preview image, which allows the user to understand how the print image data will be actually printed. This also allows the user to modify the print settings as required or to combine or rearrange a plurality of print jobs without having to activate the application and print image data.
In the print process using the spooler 302, a job output setting file is produced when the despooler 305 sends a print request to the graphic engine 202. A job output setting file is also produced when the print data is previewed or when a plurality of jobs are combined. Note that the job output setting file is similar to the job setting file when a single job is concerned. When a plurality of jobs are combined, the job output setting file is produced on the basis of original job setting information associated with the respective jobs. The details of the job output setting file are described below.
Configuration of Job Output Setting File
In the present embodiment, because printing of a copy-forgery-inhibited pattern image is performed so as to add the copy-forgery-inhibited pattern image to a physical page as will be described later with reference to
Note that in the present embodiment, information associated with the property of printing of the copy-forgery-inhibited pattern set via a setting screen such as that shown in
The details of the job output setting file have been described above. Note that the job setting file may be described in a similar format to that of the job output setting file. That is, the job setting file includes information associated with a job in terms of a print appearance (one-sided printing, two-sided printing, or booklet printing), a print layout (N-up printing or poster printing), additional information (copy-forgery-inhibited pattern information, a watermark, a date, a user name, etc.), the number of copies to be printed, and a paper size. That is, for each physical page, information indicating the layout order of logical pages, information indicting whether to print on the upper or lower surface of a sheet in the two-sided printing, information indicating whether to print in the color mode, and other information are described.
Referring again to
Printing of Copy-Forgery-Inhibited Pattern Image
Reference numeral 2102 denotes a check box for specifying whether a print job includes printing of a copy-forgery-inhibited pattern image. Information indicating whether to print the copy-forgery-inhibited pattern image is stored in the additional print information field 1106 shown in
If a button 2107 is pressed, a dialog screen such as that shown in
In
A box 2206 includes radio buttons used to select a type of an object to be used in the copy-forgery-inhibited pattern printing. For example, if a user selects “text” in the box 2206, a text object is specified. On the other hand, if a user selects “image” in the box 2206, image data such as bitmap data (BMP) is specified. In the example shown in
In the box 2207, a character string to be used as a copy-forgery-inhibited pattern is displayed. The character string displayed in this box 2207 is allowed to be edited. In the box 2208, a font selected for use for the character string is displayed. Although in the present embodiment, only a font name is selectable, the box 2208 may be extended so as to also allow it to select a font family (such as a bold font family, an italic font family, etc.) and/or a modified font. In the box 2209, a font for use for the character string used as the copy-forgery-inhibited pattern is selectably displayed. In the present embodiment, a font size is selectable from three sizes: a “large” size, a “middle” size, and a “small” size. Alternatively, the number of points or the like may be input to specify the font size. In a box 2210, there are provided radio buttons for selecting an order of printing a copy-forgery-inhibited pattern and document data. When a “watermark mode” is selected, the copy-forgery-inhibited pattern is first rendered and then the document data is rendered, as will be described in detail later with reference to
As described above, the user is allowed to set the property of printing of the copy-forgery-inhibited pattern while referring to the preview image displayed on this dialog screen.
Data Format of Setting Information Associated with Copy-Forgery-Inhibited Pattern Printing
Referring to
In a field 2001 shown in
Rendering of Copy-Forgery-Inhibited Pattern
First, referring to the flow chart shown in
In step S1901, rendering is performed in accordance with copy-forgery-inhibited pattern information shown in
Now, referring to a flow chart shown in
In step 1902, the counter is initialized. In step S1903, it is determined whether the counter value is equal to a predetermined maximum allowable number of pages per physical page. If the determination is that the counter value is equal to the predetermined maximum allowable number of pages per physical page, then the process proceeds to step S1908, or otherwise the process proceeds to step S1904. In step S1904, the counter is incremented by 1. In step S1905, in accordance with the number of logical pages per physical page and the counter value, the effective printing area in which to draw the current logical page is calculated. In step S1906, the current logical page number is detected from the information associated with the physical page given in the form shown in
In step S2701, if a start command is issued via the user interface, the copy-forgery-inhibited pattern drawing process is started. Next, in step S2702, an input background image, a background threshold pattern, a foreground threshold pattern, a foreground/background area defining image, and a camouflage area defining image, are read. In step S2703, a starting pixel at which to start drawing of the copy-forgery-inhibited pattern image is determined. For example, in a case in which the tilt block image is formed by means of raster scanning starting from the upper left corner to the lower right corner, a pixel in the upper left corner is selected as the starting pixel.
Next, in step S2704, the copy-forgery-inhibited pattern processing unit 205 places background threshold patterns, foreground threshold patterns, base images, and camouflage images, in the form of an array of tiles starting from the upper left corner of the copy-forgery-inhibited pattern image area in accordance with formula (1) shown below.
nWriteDotOn=nCamouflage×(nSmallDotOn×nHiddenMark+nLargeDotOn×nHiddenMark) (1)
On the basis of the result of the calculation according to equation (1), a determination is made as to whether to write pixel values corresponding to dots of a printed material into a memory area. Note that the pixel values represent colors at respective pixels. Also Note that the background threshold pattern and the foreground threshold pattern are pattern data consisting of “1”s indicating that writing of corresponding dots should be performed and “0”s indicating that writing of corresponding dots should not be performed. These pattern data are represented in a binarized form using dither matrices indicating the dot positions of the foreground image (latent image) and the background image.
Terms in equation (1) are explained below. nComouflage takes a value of 0 when in the camouflage image, a pixel of interest is a pixel of the camouflage pattern, or otherwise takes a value of 1. nSmallDotOn takes a value of 1 when a pixel of interest of the background threshold pattern is black but takes a value of 0 when the pixel of interest is white (note that the color is not limited to white). nLargeDotOn takes a value of 1 when a pixel of interest of the foreground threshold pattern is black but takes a value of 0 when the pixel of interest is white (note that the color is not limited to white).
nHiddenMark takes a value of 1 when in the base image, a pixel of interest is a pixel of the latent mark image, but takes a value of 0 when the pixel of interest is a pixel of the background image.
HiddenMark is an inversion of nHiddenMark, that is, nHiddenMark takes a value of 0 in the foreground area and a value of 1 in the background area.
Note that the calculation for a pixel of interest does not necessarily need to be performed for all terms in equation (1), but unnecessary calculation may be omitted. This allows an increase in the processing speed.
For example, if nHiddenMark=1, then nHiddenMark=0. If nHiddenMark=0, then nHiddenmark=1. Therefore, if nHiddenMark=1, then the value given by formula (2) described below can be employed as the value of nLargeDotOn. On the other hand, if nHiddenMark=0, then the value given by formula (2) can be employed as the value of nSmallDotOn. Note that because formula (1) is in the form of the product of nComouflage and the other term, if nComouflage=0 then nWriteDotOn=0, and thus the calculation of formula (2) may be omitted when nComouflage=0.
(nSmallDotOn×nHiddenMark+nLargeDotOn×nHiddenMark) (2)
In the production of the copy-forgery-inhibited pattern image, the unit pattern size which is drawn periodically is given by the least common multiple of the sizes of the background threshold pattern, the foreground threshold pattern, the base pattern, and the camouflage image in each of vertical and horizontal directions. Therefore, the copy-forgery-inhibited pattern processing unit 205 may produce only the unit pattern and may produce the total copy-forgery-inhibited pattern image by placing the unit pattern periodically in the form of an array of tiles. This allows a reduction in the processing time spent to produce the copy-forgery-inhibited pattern image.
In step S2705, the CPU 1 checks the result of the calculation of the value of nWriteDotOn performed in step S2704. If nWriteDotOn=1, the process proceeds to step S2706. However, if nWriteDotOn=0, the process proceeds to step S2707.
In step S2706, the pixel values of dots to be printed are written. The pixel values may be varied depending on the color of the copy-forgery-inhibited pattern image. For example, when a black copy-forgery-inhibited pattern is to be formed, the pixel values of corresponding dots of the copy-forgery-inhibited pattern image are set to a value corresponding to the black level. In a case in which a copy-forgery-inhibited pattern is to be formed in another specified color, the pixel values are set to a value corresponding to cyan, magenta, or yellow so as to obtain the specified color taking into account the toner or ink colors available on the printer used. In a case in which each pixel of image data is expressed using one to several bits, the pixel value may be expressed using index color. In the method of representing image data using index color, colors which appear frequently in the color image are expressed by indexes. For example, white is expressed by index 0, cyan is expressed by index 1, and so on. According to the above definition of the color indexes, the pixel values of the respective pixels are expressed by index numbers. For example, the pixel value of a first pixel is expressed by index 1, the pixel value of a second pixel is expressed by index 2, and so on.
In step S2707, a determination is made as to whether the process is completed for all pixels in the area of interest. If the process is not completed for all pixels in the area of interest, the process proceeds to step S2708. In step S2708, an unprocessed pixel is selected, and the selected pixel is processed by again performing steps 2704 to S2706.
In step S2750, a copy-forgery-inhibited pattern is produced on the basis of the pixel values determined in steps S2704 to S2708.
Thus, the copy-forgery-inhibited pattern image is produced by performing the above-described process on the input background image. In the copy-forgery-inhibited pattern image obtained via the above-described process, there is a possibility that the dot density becomes high near the boundary between the foreground and the background in the foreground/background area defining image, and thus the outline of the foreground becomes perceivable, which can reduce the effectiveness of the copy-forgery-inhibited pattern. To avoid the above problem, boundary processing may be performed to prevent the dot density from becoming high near the boundary between the foreground and the background in the foreground/background area defining image.
In the printing system configured in the above-described manner so as to be capable of printing copy-forgery-inhibited pattern image, the property of printing of the copy-forgery-inhibited pattern image may be automatically set. Some specific examples of processes of automatically setting the property of printing of the copy-forgery-inhibited pattern image are described below. In these examples, the setting is performed by the printer driver.
Setting of Copy-Forgery-Inhibited Pattern According to Confidentiality Level of Image to be Printed
Note that this process is performed when the copy-forgery-inhibited pattern processing unit 205 (
First, in step S5101, information indicating the confidentiality level specified for a document to be printed is acquired. More specifically, if a user specifies a document using a pointing device such as a mouse, the host computer 3000 identifies the document specified by the user. On the basis of the identifier (file name) of the specified document, file information which will be described later with reference to
In step S5102, information specifying a copy-forgery-inhibited pattern corresponding to the confidentiality level determined in step S5101 is acquired. In the present embodiment, setting of the property of the copy-forgery-inhibited pattern is performed by specifying style information (which indicates the type of copy-forgery-inhibited pattern image), which will be described in further detail later. Thus, setting of the property of the copy-forgery-inhibited pattern depending on the confidentiality level is performed by specifying style information. As described above with reference to
In step S5103, it is determined whether the style of the copy-forgery-inhibited pattern corresponding to the confidentiality level determined in step S5101 is included in a set of predefined styles of copy-forgery-inhibited patterns such as those shown in
If the specified copy-forgery-inhibited pattern style is found in the set of predefined styles, the processing flow proceeds to step S5104. In step S5104, the copy-forgery-inhibited pattern style is described in the field 1106 shown in
Acquisition of Information Indicating the Confidentiality Level Assigned to Copy-Forgery-Inhibited Pattern Image
In the process shown in
First, in step S5201, the document management module waits for an occurrence of an event. If an event occurs, the processing flow proceeds to step S5202. In step S5202, it is determined whether the event is an end command. If so, the process is ended. However, is the answer to step S5202 is No, the processing flow proceeds to step S5203 to determine whether the event is deleting of a file being monitored. If the answer to step S5203 is Yes, a record associated with the file is deleted from file information stored in the document management module. The processing flow then returns to step S5201 to wait for a next event. In the example shown in
Referring again to
If it is determined in step S5213 that the event is changing of the confidentiality level, then the process proceeds to step S5214. In step S5214, the confidentiality level information described in the field 5304 for the file is updated. Thereafter, the process returns to step S5201 to wait for a next event. On the other hand, if it is determined in step S5213 that the event is not changing of the confidentiality level, the processing flow proceeds to step S5215. In step S5215, another event handling process is performed. Thereafter, the process returns to step S5201 to wait for a next event.
When printing is performed, the copy-forgery-inhibited pattern processing unit 205 acquires a file name (a document identifier or a document ID) from an application program via the graphic engine 202, and searches the file information shown in
In an area 5601 of the setting screen shown in FIG. 25, files and folders are displayed in a tree view form or the like. A box 5602 is used to define the confidentiality level for one or more files and/or one or more folders selected in the area 5601.
A drop-down list box 5603 is used to define a default confidentiality level to be assigned to general files or folders. In general, it is troublesome to define the confidentiality level separately for all files. In this regard, the capability of defining the default confidentiality level via the box 5603 is useful. A check box 5604 is used to lock the defined confidentiality level. For files whose confidentiality level is locked via this check box 5604, information indicating that the confidentiality level is locked is described in the confidentiality level field 5304 shown in
In
Correspondence Between Confidentiality Levels and Styles of Copy-Forgery-Inhibited Pattern and a Method of Defining the Correspondence
Details of the process, in step S5102 in
In
In the example shown in
In
The “current style” allows it to employ the current style which is allowed to be dynamically defined or modified via the setting screen shown
To define a new correspondence or change an existing correspondence between a confidentiality level and a style shown in the box 5501, a style to be assigned to a confidentiality level shown in the area 5502 is selected in the box 5503.
In
In the present embodiment, as described above, the printer driver automatically sets the property of printing of a copy-forgery-inhibited pattern image in accordance with the confidentiality level defined for an image to which to apply the copy-forgery-inhibited pattern image. This makes it possible to properly set the property of a copy-forgery-inhibited pattern image each time an image such as a document is printed, without needing an operation by a user, that is, without depending on an arbitrary decision by the user. Furthermore, it becomes possible for a user to make detailed settings associated with the property of the copy-forgery-inhibited pattern for each document.
In a second embodiment of the present invention, as in the first embodiment described above, the printer driver automatically sets the property of printing of a copy-forgery-inhibited pattern image. However, in this second embodiment, unlike the first embodiment, the setting is made in accordance with user information.
Setting of Property of Copy-Forgery-Inhibited Pattern According to User Information
First, in step S6101, the printer driver 203 acquires, from the OS, user information associated with a document to be printed. In general, the OS has job information (in the case of the Windows (trademark), job information is stored as JOB_INFO structure) including information indicating a user name of a user who has issued a job. The user name is then identified from the acquired user information.
In step S6102, information indicating copy-forgery-inhibited pattern styles assigned to respective users identified by the user information. A method of assigning copy-forgery-inhibited pattern styles to users and a data format of assignment information will be described later with reference to FIGS. 27 to 30.
In step S6103, it is determined whether the information indicating the assignment of copy-forgery-inhibited pattern styles acquired in step S6102 includes a copy-forgery-inhibited pattern style assigned to the present user of interest. If an assigned copy-forgery-inhibited pattern style is found, the process proceeds to step S6104. In step S6104, the found copy-forgery-inhibited pattern style is stored in the field 1106 shown in
Correspondence Between User Information and Styles and a Method of Defining of the Correspondence
Referring to
In
In the present embodiment, copy-forgery-inhibited pattern styles definable in the fields in the column 6202 includes not only those defined via the box 2103 but may also include current property” and “no copy-forgery-inhibited pattern printing”. In the present embodiment, it is assumed that these pieces of information are stored in the registry, although it is allowed to store the information in other forms such as a file.
In
In
If an OK button 6304 is clicked, the setting made in this dialog screen becomes effective and the dialog screen is closed. If a Cancel button 6305 is clicked, the setting made in this dialog screen is canceled and the dialog screen is closed. If a Help button 6306 is clicked, help information associated with this dialog screen is displayed.
If an OK button 6404 is clicked, the setting made in this dialog screen becomes effective and the dialog screen is closed. If a Cancel button 6405 is clicked, the setting made in this dialog screen is canceled and the dialog screen is closed. If a Help button 6406 is clicked, help information associated with this dialog screen is displayed.
Although in the present embodiment, it is assumed that new user information is added by inputting it via the box 6401, user information extracted from print jobs may be stored in a log file or the like and user information may be displayed in the form of a list so that it is allowed to select user information from the list. Alternatively, user information may be acquired from a system adapted to manage users on a network (for example, Active Directory in the Windows (trademark)) and may be displayed in the form of a list or the like such that it is allowed to select user information from the list. Note that there is no particular restriction on the method of acquiring user information as long as the data can be managed in a data format similar to that shown in
In the present embodiment, as described above, the printer driver automatically sets the property of printing of a copy-forgery-inhibited pattern image in accordance with user information. This makes it possible to properly set the property of a copy-forgery-inhibited pattern image each time an image such as a document is printed, without needing an operation by a user, that is, without depending on an arbitrary decision by the user.
In a third embodiment described below, file information shown in
In this case, the external computer first detects an identifier of a document selected on a client computer via a network. Thereafter, in accordance with the detected identifier, setting information indicating a confidentiality level assigned to the identifier of the document is acquired in step S5101.
If the determination in step S5103 is affirmative, then the external computer issues a command to the client computer via the network to perform printing in accordance with the assigned copy-forgery-inhibited pattern style in a similar manner to step S5104. If the client computer receives the command, the client computer performs printing such that a copy-forgery-inhibited pattern of the specified copy-forgery-inhibited pattern style is applied to a document. Note that the command sent to the client computer includes at least information indicating the specified copy-forgery-inhibited pattern style (such as that described in the field 5402 in
The client computer includes a module having capabilities similar to those of the copy-forgery-inhibited pattern processing unit 205, and this module analyzes the copy-forgery-inhibited pattern setting information received from the external computer and applies a copy-forgery-inhibited pattern image to document image in accordance with the result of the analysis.
In the case in which the determination in step S5103 is negative, the external computer sends a command to the client computer via the network to perform printing in accordance with an existing (current) copy-forgery-inhibited pattern style in a similar manner to step S5105. Also in this case, the module, similar to the copy-forgery-inhibited pattern processing unit 205, provided in the client computer analyzes the received command and performs printing of a copy-forgery-inhibited pattern image in accordance with the command. The existing (current) copy-forgery-inhibited pattern style may be set by the client computer in a similar manner as described above with reference to
Note that the third embodiment disclosed herein may be applied to the second embodiment described.
As can be seen from the above explanation, the third embodiment allows documents to be shared by a plurality of client computers via a network. In this case, an administrator or a similar user who manages the documents is allowed to define copy-forgery-inhibited pattern styles for respective documents which are shared by the plurality of client computers.
In the first embodiment described above, a copy-forgery-inhibited pattern image is applied to a document in accordance with a confidentiality level defined for the document. In the second embodiment, a copy-forgery-inhibited pattern image is applied to a document not according to a confidentiality level but according to user information. In the third embodiment, management of copy-forgery-inhibited pattern styles assigned to respective documents is performed not by the client computer but by the external computer, and management information is supplied from the external computer to the client computer via a network. In a fourth embodiments described below, modifications to the first to third embodiments are discussed.
Process Performed by Host Computer
Referring to flow chart shown in
First, in step S3101, the host computer 3000 receives user information and a document identifier from one of external client computers and identifies the received user information and the document identifier. The user information received in this step is that issued in step S3211 shown in
In following steps S3102, S3103, and S3104, the host computer 3000 acquires information indicating a confidentiality level assigned to the document and information indicating the correspondence between copy-forgery-inhibited pattern styles and confidentiality levels in similar manners to those in steps S5101 and S5102 shown in
If the answer to step S3104 is Yes, the process proceeds to step S3105. In step S3105, it is determined whether the user information received in step S3101 is included in a set of user information identifying exceptional users defined for the document specified by the client computer. More specifically, the host computer 3000 examines the file information shown in
If it is determined in step S3105 that the user identified by the user information identified in step S3101 is one of exceptional users defined for the specified document data specified in step S3101, it is allowed to perform setting associated with the copy-forgery-inhibited pattern image without depending on the confidentiality level defined for the document data. On the other hand, if it is determined in step S3105 that the user identified by the user information identified in step S3101 is not included in the exceptional users defined for the document data specified in step S3101, setting associated with the copy-forgery-inhibited pattern image is performed in accordance with the confidentiality level defined for the specified document data.
Thus, if the answer to step S3105 is No, it is determined that the copy-forgery-inhibited pattern style corresponding to the file information as defined in
On the other hand, if the answer to step S3104 is No or if the answer to step S3105 is Yes, the process proceeds to step S3108. In step S3108, it is determined that an existing (current) copy-forgery-inhibited pattern style is employed as a copy-forgery-inhibited pattern style to be notified to the client computer. Note that the settings associated with the copy-forgery-inhibited pattern printing employed herein in step S3108 are similar to those employed in step S5105 in
Process Performed by Client Computer
In step S3212, a document is specified in accordance with a selection command issued by a user and an identifier identifying the specified document is sent from the client computer to the host computer 3000. In this process, a user at the client computer views documents stored in the host computer 3000 serving as the document management server at a remote location, and the selection of a document by the user via the client computer is detected (in step S31012) by the host computer 3000.
In step S3213, the client computer receives a notification of a specified copy-forgery-inhibited pattern style from the host computer 3000. The notification received in this step S3213 corresponds to that issued in step S3107 in
The client computer performs printing in accordance with the specified copy-forgery-inhibited pattern style received in step S3213 in a similar manner to step S5104 or S5105 in
Information in a field 5307 of file information indicates exceptional users who are not subject to the rule of using a copy-forgery-inhibited pattern style specified for a confidentiality level. For exceptional users defined herein, the host computer 3000 makes an affirmative determination in step S3105. That is, for exceptional users defined in the field 5307, it is allowed to perform printing in accordance with setting performed in step S3108 regardless of the confidentiality level defined for the document specified by the client computer (even if the highest confidentiality level is assigned to the document). For example, administrators or users having a special right may be specified as exceptional users.
In the fourth embodiment, as described above, it is allowed to define exceptional users for respective documents thereby allowing it to embed copy-forgery-inhibited patterns in documents in a more flexible manner.
Note that the present invention may be applied to a system including a plurality of apparatus or devices (such as a host computer, an interface device, a reader, a printer, etc,) or a single apparatus or a device (such as a copier, a printer, a facsimile machine, etc.).
The objects of the present invention may also be achieved by providing to a system or an apparatus a storage medium having software program code stored thereon for implementing the functions disclosed in the embodiments by executing the process defined, for example, in the flow chart shown in
In this case, the program code read from the storage medium implements the functions disclosed in the embodiments described above, and the storage medium on which the program code is stored falls within the scope of the present invention.
Specific examples of storage media which can be employed in the present invention to supply the program code include a floppy (registered trademark) disk, a hard disk, an optical disk, a magneto-optical disk, a CD-ROM, a CD-R, a magnetic tape, a nonvolatile memory card, and a ROM.
Furthermore, the functions according to any of the above-described embodiments of the present invention can be implemented not only by executing a program code on a computer, but also by performing a part or all of the process with an operating system (OS) running on the computer in accordance with the program code. Such implementation of the functions also falls within the scope of the invention.
A program may be loaded into a memory of an extension card inserted in a computer or into a memory of an extension unit connected to the computer, and the CPU or the like may perform part or all of the process according to the loaded program.
While the present invention has been described with reference to exemplary embodiments, it is to be understood that the invention is not limited to the disclosed exemplary embodiments. The scope of the following claims is to be accorded the broadest interpretation so as to encompass all modifications, equivalent structures and functions.
This application claims the benefit of Japanese Application No. 2005-348251 filed Dec. 1, 2005 and No. 2006-297991 fled Nov. 1, 2006, which are hereby incorporated by reference herein in their entirety.
Number | Date | Country | Kind |
---|---|---|---|
2005-348251 | Dec 2005 | JP | national |
2006-297991 | Nov 2006 | JP | national |