The present invention relates to a printing system having a printing apparatus and an image supply device such as a digital camera, a control method therefor, and a photo-direct printing apparatus.
In recent years, digital cameras (image sensing apparatuses) capable of photographing an image by a simple operation and converting the photographed image into digital image data have widely been used. To print an image photographed by this camera and use the print as a photograph, digital image data of the photographed image is temporarily input from the digital camera to a PC (computer), and undergoes image processing by the PC. Then, the processed image data is output from the PC to a color printer, which prints the data.
To the contrary, there have been developed color print systems capable of directly transferring digital image data from a digital camera to a color printer and printing the data without the mediacy of any PC, and so-called photo-direct (PD) printers capable of directly mounting in a color printer a memory card which is mounted in a digital camera and stores a sensed image, and printing the photographed image stored in the memory card.
Especially when image data is to be directly transferred from a digital camera to a printer and printed, demands have arisen for the advent of a photo-direct printer capable coping with digital cameras of various vendors because the specifications and operating methods of digital cameras are different between vendors. Such photo-direct printer apparatus receives and prints image data not only from the above-mentioned digital camera, but also from a cell phone, PDA, and other devices. Further, the printer has various functions. The printer and device cannot predict the capabilities of the partners, and must exchange pieces of function information.
The present invention has been made in consideration of the above situation, and has as its feature to provide a printing system capable of receiving and printing image data from image supply devices of various vendors by interface-independent image data transfer and printing instruction, a control method therefor, and a photo-direct printing apparatus.
It is another feature of the present invention to provide a printing system capable of defining a standard protocol between an image supply device and a printing apparatus, and executing print processing regardless of the model or vendor, a control method therefor, and a photo-direct printing apparatus.
According to the invention, there is provided a printing system in which an image supply device and a printing apparatus are directly connected via a general-purpose interface, and image data is transmitted from the image supply device to the printing apparatus and printed, the system comprising:
transmission means for transmitting function information of the printing apparatus from the printing apparatus to the image supply device after establishing a communication procedure by an application installed in the printing apparatus and the image supply device; and
means for causing the printing apparatus to execute print operation in accordance with a print condition set by the image supply device on the basis of the function information transmitted by the transmission means.
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 thereof.
The accompanying drawings, which are incorporated in and constitute a part of the specification, illustrate embodiments of the invention and, together with the descriptions, serve to explain the principle of the invention.
A preferred embodiment of the present invention will be described in detail below with reference to the accompanying drawings.
In
The access cover 1003 is rotatably held at one end by the upper case 1002 so as to open/close the opening formed in the upper surface. Opening the access cover 1003 enables exchanging a print head cartridge (not shown), ink tank (not shown), or the like stored in the main body. Although not shown, a projection formed on the back surface of the access cover 1003 rotates a cover opening/closing lever when the access cover 1003 is opened/closed. The lever rotation position is detected by a microswitch or the like, thereby detecting the open/closed state of the access cover 1003.
A power key 1005 is provided on the upper surface of the upper case 1002. An operation panel 1010 having a liquid crystal display 1006, various key switches, and the like is arranged on the right side of the upper case 1002. The structure of the operation panel 1010 will be described in detail with reference to
In
The arrangement of the main part concerning control of the PD printer apparatus 1000 according to the embodiment will be explained with reference to
In
Signal exchange between the controller 3000 and the printer engine 3004 is performed via the USB bus 3021 or an IEEE 1284 bus 3022.
Reference numeral 4001 denotes a PC card interface which reads image data stored in the mounted PC card 3011 or writes data in the PC card 3011; and numeral 4002 denotes an IEEE 1284 interface which exchanges data with the printer engine 3004. The IEEE 1284 interface 4002 is a bus used to print image data stored in the digital camera 3012 or PC card 3011. Reference numeral 4003 denotes a USB interface which exchanges data with the PC 3010; numeral 4004 denotes a USB host interface which exchanges data with the digital camera 3012; numeral 4005 denotes an operation panel interface which receives various operation signals from the operation panel 1010 or outputs display data to the display 1006; numeral 4006 denotes a viewer interface which controls display of image data on the viewer 1011; numeral 4007 denotes an interface which controls an interface between various switches and LEDs 4009, and the like; numeral 4008 denotes a CPU interface which controls data exchange between these interfaces and the DSP 3002; and numeral 4010 denotes an internal bus (ASIC bus) which is connected to these units.
Operation with the above arrangement will be roughly described.
<General PC Printer Mode>
A general PC printer mode is a print mode in which an image is printed on the basis of print data sent from the PC 3010.
In this mode, when data from the PC 3010 is input via a USB connector 1013 (
<Direct Print Mode from PC Card>
When the PC card 3011 is mounted in or dismounted from the card slot 1009, an interrupt occurs. The DSP 3002 can detect that the PC card 3011 has been mounted or dismounted (removed). If the PC card 3011 is mounted, compressed (e.g., JPEG-compressed) image data stored in the PC card 3011 is loaded and stored in the memory 3003. If printing of the stored image data is designated using the operation panel 1010, the compressed image data is decompressed and stored in the memory 3003. Conversion from an RGB signal into a YMCK signal, gamma correction, error diffusion, and the like are executed to convert the stored data into print data printable by the printer engine 3004. The print data is output to the printer engine 3004 via the IEEE 1284 interface 4002, and printed.
<Direct Print Mode from Camera>
In
When the digital camera 3012 is connected to the PD printer apparatus 1000, as shown in
An object of the embodiment is to provide a PD printer apparatus capable of connecting digital cameras of a plurality of vendors and printing data. Protocols when the PD printer apparatus 1000 according to the embodiment and a digital camera are connected to perform printing will be explained in detail.
In the embodiment, communication control between the PD printer apparatus 1000 and the digital camera 3012 is performed using a general-purpose file and general-purpose format. This embodiment proposes NCDP (New Camera Direct Print).
In
If it is detected that the PD printer apparatus 1000 and DSC 3012 have been connected by the cable 5000, as shown in
In
For example, it is also possible that the “extended procedures” use a Capability command, similar to the “recommended procedures”, and the Capability contents contain vendor-unique parameter types and parameter values which are inherent in the “extended procedures”.
Image printing processes by the “basic procedures” and “recommended procedures” will be explained.
In 900, the PD printer apparatus 1000 transmits to the DSC 3012 a command (NCDPStart) which designates shift to NCDP. If the DSC 3012 supports NCDP, it sends back “OK” (901). An example using PTP will be described in detail later with reference to
After the PD printer apparatus 1000 and DSC 3012 confirm that they both support NCDP, the PD printer apparatus 1000 transmits to the DSC 3012 an instruction (ProcedureStart) for shifting to the NCDP mode (902). If the DSC 3012 sends in 903 the “basic procedures” which correspond to the simple print mode, the print mode shifts to a mode by the “basic procedures”. In this case, if an image to be printed is selected and printing is designated by operation to the DSC 3012, the DSC 3012 sends to the PD printer apparatus 1000 a command (JobStart) which designates the start of printing (904). In response to this, the PD printer apparatus 1000 shifts to the simple print mode, transmits a command (GetImage) to the DSC 3012, and requests a JPEG image (905). The DSC 3012 transmits a JPEG image (ImageData) to the PD printer apparatus 1000 (906), and print processing in the PD printer apparatus 1000 starts. After printing of the designated image ends, the PD printer apparatus 1000 transmits to the DSC 3012 a command (JobEnd) representing the end of the print job (907). If the DSC 3012 sends back an acknowledgement (OK) in response to this command (908), print processing by the “basic procedures” ends. The “basic procedures” is decided on the assumption of simply exchanging information for designating an image to be printed, so when a print operation has been decided in the “basic procedures”, the print operation is immediately started without exchanging Capability as described later. However, whether to perform processing by the “basic procedures” may be decided by the capabilities of both the DSC and PD printer apparatus.
In this embodiment, the DSC acquires which of the “basic procedures”, “recommended procedures”, and “extended procedures” are supported by the printer. However, the present invention is not limited to this method, and the DSC may select proper procedures on the basis of printer information such as the printer name or vendor name. For example, the DSC holds “a list of printer names which support the recommended procedures”. The DSC selects the recommended procedures if the name of a connected printer is found in the list, and the basic procedures if the name is not found.
In the embodiment, the JobStart command in the “basic procedures” designates only the image to be printed. An image format and file size are explained to be determined in advance. This means a print operation is able to be performed without exchanging Capability. However, even if Capability is not exchanged, a print condition of an image format and print size and the like can be designated. The DSC may designate, in the JobStart command, items which are recognized by the printer and DSC to be “always supported by the printer” or “appropriately processed by the printer in accordance with its capability”, similar to the image format. For this, upon exchanging information of devices and only when it is determined that both are predetermined devices, a print condition can be designated by a print job (script) without Capability. However, in order to simplify the setting operation, the “basic procedures” is important for providing an operation procedure for a beginner.
In
As shown in
The script notation of Capability information facilitates porting to the architecture of another communication protocol, and standardization of exchange of function information. The script notation may comply with XML.
The user of the DSC 3012 which has received the Capability information determines which of the functions of the PD printer apparatus 1000 is used to perform printing. The user selects an image to be printed, and selects and decides the print conditions of the image from the functions of the PD printer apparatus 1000. After the image to be printed, the print conditions, and the like are decided and the start of printing is designated, a print instruction (JobStart) is sent to the PD printer apparatus 1000. The PD printer apparatus 1000 issues a command (GetImagexn) which requests image data (912). In response to this, the DSC 3012 transmits corresponding image data (ImageData) in an image format (Tiff, JPEG, RGB, or the like) receivable by the PD printer apparatus 1000 (913). A plurality of image data can be transmitted for printing of one image. This is because, when, for example, 2×2 layout printing is designated, image data of four images must be transmitted for one paper sheet. After printing of the designated image ends, the PD printer apparatus 1000 transmits to the DSC 3012 a command (JobEnd) representing the end of the print job (907). If the DSC 3012 sends back an acknowledgement (OK) in response to this command (908), processing shifts to image selection/print processing by the “recommended procedures”.
In the embodiment, the printer 1000 issues a Capability information to the DSC 3012 without any request from the DSC 3012. The present invention is not limited to this method, and it is also possible that the DSC requests Capability of the printer and the printer notifies the DSC of Capability in response to the request. With respect the above described point of view:
In this example, a paper feed error occurs in the PD printer apparatus 1000 during print processing by the “recommended procedures”. In 914, the PD printer apparatus 1000 transmits to the DSC 3012 status information (Status) representing the paper feed error. The DSC 3012 transmits to the PD printer apparatus 1000 a command representing whether to continue (JobContinue) or abort (JobAbort) print processing on the basis of the decision by the user of the DSC 3012. If “abort” is designated, the PD printer apparatus 1000 aborts print processing, transmits a print job end notification (JobEnd), and ends printing. If “continue” is designated, the PD printer apparatus 1000 waits for recovery of the paper feed error, and then continues print processing.
The above-described processing procedures will be explained with reference to the flow chart of
In step S1, communication is established between the digital camera (DSC) 3012 and the PD printer apparatus 1000 (700). In step S2, whether these devices support NCDP is determined, and if YES, the processing shift to NCDP. The flow advances to step S3 to receive a procedure instruction from the DSC 3012, and the processing shifts to the designated procedure. If the “basic procedures” are designated, the flow advances from step S4 to step S5 to execute print processing by the “basic procedures”. If the “recommended procedures” are designated, the flow advances from step S6 to step S7 to execute print processing by the “recommended procedures”. If the “extended procedures” are designated, the flow advances from step S8 to step S9 to execute print processing by “extended procedures” corresponding to each vendor. Otherwise, the flow advances to step S10 to execute printing in a mode unique to the PD printer apparatus 1000 and DSC 3012.
In
According to the embodiment, a shift to a condition being able to print has a priority. For a unskilled person who is a poor at complicated setting, it becomes easier to print without setting complicated settings. On the other hand, for a good skilled person, a print image can be obtained under a higher print condition. In this way, a print system can be configured based on the level of user's skill.
An example (PTP wrapper) of realizing various NCDP commands (
[NCDPStart]
After the PD printer apparatus 1000 and DSC 3012 are physically connected, the PD printer apparatus 1000 transmits GetDeviceInfo to the DSC 3012 in 1400, and requests, of the DSC 3012, information on an object held by the DSC 3012. In response to this, the DSC 3012 transmits, to the PD printer apparatus 1000 by DeviceInfoDataset, information on the object held by the DSC 3012. By OpenSession in 1402, the PD printer apparatus 1000 assigns the DSC 3012 as a resource, if necessary assigns a handle to a data object, and issues a start request for procedures of performing special initialization. If the DSC 3012 sends back an acknowledge (OK), PTP communication starts. In 1403, the PD printer apparatus 1000 transmits GetObjectHandles to the DSC 3012, and requests all script handles (Storage ID: FFFFFF, Object Type: Script). In 1404, the DSC 3012 sends back a list of all handles (ObjectHandleArray) held by the DSC 3012. In 1405 and 1406, the ith object handle information is acquired from the PD printer apparatus 1000. If this object contains a keyword (e.g., password “Marco”) representing the identification of the DSC 3012, the PD printer apparatus 1000 instructs in 1407 the DSC 3012 to transmit object information (SendObjectInfo). If the PD printer apparatus 1000 receives an acknowledge (OK), it transmits the object information to the DSC 3012 by SendObject. The object contains, e.g., “Polo” as a response keyword to the first keyword.
In this manner, the PD printer apparatus 1000 and DSC 3012 can recognize each other as connected partners. After that, the processing can shift to NCDP procedures (701 in
[ProcedureStart]
In 1501, the PD printer apparatus 1000 notifies the DSC 3012 by SendObjectInfo of object information to be transmitted, in order to notify the DSC 3012 of the procedures: “basic procedures”, “recommended procedures”, and “extended procedures” which are supported by the PD printer apparatus 1000. If the DSC 3012 sends an acknowledge (OK), the PD printer apparatus 1000 notifies the DSC 3012 by SendObject in 1502 of transmission of an object. In 1503, the PD printer apparatus 1000 transmits, by ObjectData, information on the procedures supported by the PD printer apparatus 1000. In 1504, the DSC 3012 notifies the PD printer apparatus 1000 that GetObject operation is to be activated (shift to a push mode) (RequestObjectTransfer). If the PD printer apparatus 1000 notifies the DSC 3012 in 1505 that the PD printer apparatus 1000 is to receive information on object information (GetObjectInfo), the DSC 3012 sends back the information to the PD printer apparatus 1000 by ObjectInfoDataset in 1506. If the PD printer apparatus 1000 designates and requests the object information in 1507, the DSC 3012 notifies the PD printer apparatus 1000 by ObjectDataset of procedures (“basic”, “recommended”, “extended”, or the like) used by the DSC 3012 (1508).
In this fashion, the DSC 3012 can instruct the PD printer apparatus 1000 of the print mode of an image.
[NCDPEnd]
In these procedures, the PD printer apparatus 1000 notifies the DSC 3012 in 1600 of object information to be transmitted (SendObjectInfo). The PD printer apparatus 1000 notifies the DSC 3012 by SendObject of transmission of the object information, and notifies the DSC 3012 by ObjectData of exit from the NCDP mode. If the PD printer apparatus 1000 receives an acknowledge (OK), it transmits CloseSession in 1601, and ends communication. As a result, the NCDP communication procedures end.
[Capability]
In these procedures, the PD printer apparatus 1000 notifies the DSC 3012 in 1700 by SendObjectInfo of object information to be transmitted. In 1701, the PD printer apparatus 1000 notifies the DSC 3012 by SendObject of transmission of the object information, and notifies the DSC 3012 by ObjectData of the functions of the PD printer apparatus 1000 in the script format (
[GetImage]
In 1800, the PD printer apparatus 1000 requests information on an object held by the DSC 3012. In 1801, the DSC 3012 sends information (ObjectInfoDataset) on the object to the PD printer apparatus 1000. In 1802, the PD printer apparatus 1000 designates the object, and issues an acquisition request (GetObject). In 1803, the DSC 3012 transmits the requested image file (ObjectDataset) to the PD printer apparatus 1000. As a result, the PD printer apparatus 1000 can acquire a desired image file from the DSC 3012.
[StatusSend]
In 1900, the PD printer apparatus 1000 notifies the DSC 3012 by SendObjectInfo of object information to be transmitted. In 1901, the PD printer apparatus 1000 transmits an information set (ObjectInfoDataset) on the object information to the DSC 3012. In response to an acknowledge (OK) from the DSC 3012, the PD printer apparatus 1000 transmits status information such as an error in the PD printer apparatus 1000 by SendObject and ObjectDataset. Data which is transmitted from the PD printer apparatus 1000 to the DSC 3012 is text data (script)
[PageEnd]
[JobEnd]
In
[JobStart]
In 2200, the DSC 3012 sends RequestObjectTransfer to the PD printer apparatus 1000, and prompts the PD printer apparatus 1000 to issue a GetObject command. If the PD printer apparatus 1000 issues GetObjectInfo in 2201, the DSC 3012 transmits information on object information to be transmitted. If the PD printer apparatus 1000 requests the object information (GetObject: 2203), the DSC 3012 transmits ObjectDataset in 2204, and issues a print instruction to the PD printer apparatus 1000. Data (print start instruction) which is transmitted from the DSC 3012 to the PD printer apparatus 1000 is text data (script).
[JobAbort]
[JobContinue]
In
The present invention may be applied to a system including a plurality of devices (e.g., a host computer, interface device, reader, and printer) or an apparatus (e.g., a copying machine or facsimile apparatus) formed from a single device.
The object of the present invention is also achieved when a storage medium (or recording medium) which stores software program codes for realizing the functions of the above-described embodiment (processes executed on the camera side and various print processes executed on the printer side) is supplied to a system or apparatus, and the computer (or the CPU or MPU) of the system or apparatus reads out and executes the program codes stored in the storage medium. In this case, the program codes read out from the storage medium realize the functions of the above-described embodiment, and the storage medium which stores the program codes constitutes the present invention. The functions of the above-described embodiment are realized when the computer executes the readout program codes. Also, the functions of the above-described embodiment are realized when an OS (Operating System) or the like running on the computer performs part or all of actual processing on the basis of the instructions of the program codes.
The functions of the above-described embodiment are also realized when the program codes read out from the storage medium are written in the memory of a function expansion card inserted into the computer or the memory of a function expansion unit connected to the computer, and the CPU of the function expansion card or function expansion unit performs part or all of actual processing on the basis of the instructions of the program codes.
As has been described above, according to the above-described embodiment, a PD printer apparatus and DSC are respectively set as a host and slave. Before print operation, Capability information of the PD printer apparatus is transmitted to the DSC. The DSC decides an optimal print mode on the basis of the Capability information.
The Capability information is transmitted as a script. This facilitates porting to another communication protocol and standardization.
Communication procedures between devices use a general-purpose file and general-purpose format. An upper layer defines the communication procedure layer of an application according to the embodiment. Communication procedures independent of various interface specifications can be defined.
In the print system of the embodiment, many unspecified devices are connected via various interfaces. Information must be exchanged by standard specifications supported by various interfaces. Function information which is necessary for transmission/reception between devices is realized by “file transfer” or “object transfer”, easily complying with various interface specifications.
The image supply device includes a PDA, cell phone, television, video device, and image storage device, in addition to a digital camera.
The general-purpose interface includes connection to a network such as the Internet, in addition to the above-mentioned USB and IEEE 1394.
The present invention is not limited to the above embodiments and various changes and modifications can be made within the spirit and scope of the present invention. Therefore, to apprise the public of the scope of the present invention, the following claims are made.
Number | Date | Country | Kind |
---|---|---|---|
2002-163431 | Jun 2002 | JP | national |
2003-151231 | May 2003 | JP | national |
Number | Name | Date | Kind |
---|---|---|---|
4433925 | Fujiwara et al. | Feb 1984 | A |
5488558 | Ohki | Jan 1996 | A |
5793366 | Mano et al. | Aug 1998 | A |
5967676 | Cutler et al. | Oct 1999 | A |
6104886 | Suzuki et al. | Aug 2000 | A |
6115137 | Ozawa et al. | Sep 2000 | A |
6120129 | Iwasaki et al. | Sep 2000 | A |
6145950 | Ohtsuka et al. | Nov 2000 | A |
6166826 | Yokoyama | Dec 2000 | A |
6236486 | Nocker, IV | May 2001 | B1 |
6298405 | Ito et al. | Oct 2001 | B1 |
6394571 | Yano et al. | May 2002 | B1 |
6425019 | Tateyama et al. | Jul 2002 | B1 |
6469770 | Hoshino et al. | Oct 2002 | B2 |
6513073 | Kawai et al. | Jan 2003 | B1 |
6535298 | Winter et al. | Mar 2003 | B2 |
6552743 | Rissman | Apr 2003 | B1 |
6559963 | Kamimura | May 2003 | B1 |
6559971 | Watts et al. | May 2003 | B1 |
6577338 | Tanaka et al. | Jun 2003 | B1 |
6618553 | Shiohara | Sep 2003 | B1 |
6753903 | Lin | Jun 2004 | B1 |
6774933 | Suzuki | Aug 2004 | B1 |
6806978 | Tamura et al. | Oct 2004 | B1 |
6819442 | Takahashi | Nov 2004 | B2 |
6850270 | Suzuki | Feb 2005 | B1 |
6860578 | Yamada et al. | Mar 2005 | B2 |
6914687 | Hosoda et al. | Jul 2005 | B1 |
6914698 | Hunter | Jul 2005 | B1 |
6922258 | Pineau | Jul 2005 | B2 |
6930796 | Matsuura et al. | Aug 2005 | B1 |
6965404 | Hosoda et al. | Nov 2005 | B2 |
7034880 | Endsley et al. | Apr 2006 | B1 |
7038714 | Parulski et al. | May 2006 | B1 |
7062579 | Tateyama et al. | Jun 2006 | B2 |
7071972 | Koyama | Jul 2006 | B2 |
7072063 | Moriyama et al. | Jul 2006 | B2 |
7076550 | Noguchi et al. | Jul 2006 | B1 |
7107516 | Anderson et al. | Sep 2006 | B1 |
7327387 | Tanaka et al. | Feb 2008 | B2 |
7375845 | Shiota et al. | May 2008 | B2 |
7388682 | Ihara | Jun 2008 | B1 |
20010005442 | Ueda et al. | Jun 2001 | A1 |
20010013949 | Tateyama | Aug 2001 | A1 |
20010030692 | Yoneda | Oct 2001 | A1 |
20010048534 | Tanaka et al. | Dec 2001 | A1 |
20020029277 | Simpson-Young et al. | Mar 2002 | A1 |
20020059482 | Ashizaki et al. | May 2002 | A1 |
20020167592 | Toyoda et al. | Nov 2002 | A1 |
20020171857 | Hisatomi et al. | Nov 2002 | A1 |
20030020945 | Lopez et al. | Jan 2003 | A1 |
20030158979 | Tateyama et al. | Aug 2003 | A1 |
20030206316 | Anderson et al. | Nov 2003 | A1 |
20030231341 | Aichi et al. | Dec 2003 | A1 |
20040207875 | Endo | Oct 2004 | A1 |
20070013781 | Kageyama et al. | Jan 2007 | A1 |
Number | Date | Country |
---|---|---|
0 859 326 | Aug 1998 | EP |
0 881 817 | Dec 1998 | EP |
0 883 276 | Dec 1998 | EP |
0 920 184 | Jun 1999 | EP |
1130895 | Sep 2001 | EP |
1 186 989 | Mar 2002 | EP |
7-288621 | Oct 1995 | JP |
9-223096 | Aug 1997 | JP |
10-173833 | Jun 1998 | JP |
10-200766 | Jul 1998 | JP |
10-240460 | Sep 1998 | JP |
10-271370 | Oct 1998 | JP |
10285246 | Oct 1998 | JP |
10-341327 | Dec 1998 | JP |
11-249840 | Sep 1999 | JP |
2000-35864 | Feb 2000 | JP |
2000-118086 | Apr 2000 | JP |
2000-151883 | May 2000 | JP |
2000-318270 | Nov 2000 | JP |
2001-290612 | Oct 2001 | JP |
2001-298694 | Oct 2001 | JP |
2002-44344 | Feb 2002 | JP |
2002-55896 | Feb 2002 | JP |
2002-86853 | Mar 2002 | JP |
2002-091841 | Mar 2002 | JP |
2002-095071 | Mar 2002 | JP |
2002-111947 | Apr 2002 | JP |
2004-013349 | Jan 2004 | JP |
WO 9750243 | Dec 1997 | WO |
0137101 | May 2001 | WO |
0203133 | Jan 2002 | WO |
Number | Date | Country | |
---|---|---|---|
20040041865 A1 | Mar 2004 | US |