# Patent

## Title
Image sensing apparatus, printing system, and print control method

## Abstract

When image data is transmitted from a digital camera (DSC) to a PD printer apparatus and printed, the PD printer apparatus transmits its Capability to the DSC. The DSC restricts the setting items of a UI screen displayed on the display to functions of the PD printer apparatus in accordance with Capability, and displays the items.

## Background
FIELD OF THE INVENTION
The present invention relates to an image sensing apparatus such as a digital camera, a printing system having an image sensing apparatus and printing apparatus, and a print control method therefor.
BACKGROUND OF THE INVENTION
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 into a PC (computer), and undergoes image processing by the PC. Then, the processed 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. In such printer apparatus which is directly connected to a digital camera of each vendor and prints data, print information arbitrarily set by each camera and print conditions in the printer apparatus must be matched.
SUMMARY OF THE INVENTION
The present invention has been made in consideration of the above situation, and has as its feature to provide an image sensing apparatus which transmits function information of a printing apparatus from the printing apparatus to the image sensing apparatus and decides settable items by the image sensing apparatus in accordance with the function information, thereby matching print conditions between the image sensing apparatus and the printing apparatus, a printing system, and a print control method therefor.
It is another feature of the present invention to provide an image sensing apparatus which changes selectable function information displayed on the image sensing apparatus in accordance with function information received from a printing apparatus, a printing system, and a print control method therefor.
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.



BRIEF DESCRIPTION OF THE DRAWINGS
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.
FIG. 1 depicts a schematic perspective view showing a PD printer apparatus according to an embodiment of the present invention;
FIG. 2 depicts a schematic view showing the operation panel of the PD printer apparatus according to the embodiment;
FIG. 3 is a block diagram showing the arrangement of the main part concerning control of the PD printer apparatus according to the embodiment;
FIG. 4 is a block diagram showing the ASIC arrangement of the PD printer apparatus according to the embodiment;
FIG. 5 depicts a view for explaining connection between the PD printer apparatus and a digital camera according to the embodiment;
FIG. 6 depicts a conceptual view for explaining the software arrangement of the PD printer apparatus and digital camera which support NCDP according to the embodiment;
FIG. 7 depicts a chart for explaining the outline of NCDP communication procedures according to the embodiment;
FIG. 8 depicts a table for explaining commands in NCDP according to the embodiment;
FIG. 9 depicts a chart for explaining print procedures by “basic procedures” in NCDP according to the embodiment;
FIG. 10 depicts a chart for explaining print procedures by “recommended procedures” in NCDP according to the embodiment;
FIG. 11 depicts a chart for explaining print procedures when an error occurs in the “recommended procedures” in NCDP according to the embodiment;
FIG. 12 depicts a view for explaining an example of Capability transmitted in NCDP according to the embodiment;
FIG. 13 is a flow chart for explaining the outline of NCDP communication procedures according to the embodiment;
FIG. 14 depicts a chart for explaining an example of realizing by using a PTP architecture an instruction (NCDPStart) which designates the start of NCDP procedures;
FIG. 15 depicts a chart for explaining an example of realizing, by using the PTP architecture, procedures (ProcedureStart) in which a shift instruction to each procedure is received from a camera in NCDP procedures;
FIG. 16 depicts a chart for explaining an example of realizing by using the PTP architecture an instruction (NCDPEnd) which designates the end of NCDP procedures;
FIG. 17 depicts a chart for explaining an example of realizing by using the PTP architecture an instruction (Capability) for transmitting Capability from the PD printer apparatus to the camera in NCDP procedures;
FIG. 18 depicts a chart for explaining an example of realizing by using the PTP architecture the procedures of an instruction (GetImage) in which the PD printer apparatus acquires an image file held by the camera in NCDP procedures;
FIG. 19 depicts a chart for explaining an example of realizing, by using the PTP architecture, the procedures of an instruction (StatusSend) for transmitting an error status from the PD printer apparatus to the camera in NCDP procedures;
FIG. 20 depicts a chart for explaining an example of realizing, by using the PTP architecture, the procedures of an instruction (PageEnd) for transmitting the end of printing one page from the PD printer apparatus to the camera in NCDP procedures;
FIG. 21 depicts a chart for explaining an example of realizing, by using the PTP architecture, procedures of issuing a print job end instruction (JobEnd) from the PD printer apparatus to the camera in NCDP procedures;
FIG. 22 depicts a chart for explaining an example of realizing, by using the PTP architecture, procedures of issuing a print instruction (JobStart) from the camera to the PD printer apparatus in NCDP procedures;
FIG. 23 depicts a chart for explaining an example of realizing, by using the PTP architecture, procedures of issuing a print abort instruction (JobAbort) from the camera to the PD printer apparatus in NCDP procedures;
FIG. 24 depicts a chart for explaining an example of realizing, by using the PTP architecture, procedures of issuing a print restart instruction (JobContinue) from the camera to the PD printer apparatus in NCDP procedures;
FIG. 25 is a flow chart for explaining DSC processing in the “basic procedures” executed in step S5 of FIG. 13 according to the embodiment;
FIG. 26 is a flow chart for explaining DSC processing in the “recommended procedures” executed in step S7 of FIG. 13 according to the embodiment;
FIG. 27 depicts a view showing the arrangement of the back surface of a digital camera (DSC) according to the embodiment;
FIG. 28A depicts a view showing an example of Capability from the PD printer apparatus;
FIG. 28B depicts a view for explaining an example of a style setting screen (UI screen) in the DSC;
FIG. 29 depicts a view showing another example of Capability from the PD printer apparatus;
FIGS. 30A and 30B depict views for explaining an example of a style setting screen (UI screen) in the DSC that corresponds to Capability in FIG. 29; and
FIG. 31 is a block diagram showing the arrangement of the DSC according to the embodiment.



DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT
A preferred embodiment of the present invention will be described in detail below with reference to the accompanying drawings.
FIG. 1 depicts a schematic perspective view showing a photo-direct printer apparatus (to be referred to as a PD printer apparatus hereinafter) 1000 according to the embodiment of the present invention. The PD printer apparatus 1000 has a general PC printer function of receiving data from a host computer (PC) and printing the data, and a function of directly reading and printing image data stored in a storage medium such as a memory card, or receiving image data from a digital camera and printing the data.
In FIG. 1, the main body which defines the casing of the PD printer apparatus 1000 according to the embodiment has casing members: a case M 1001, upper case 1002, access cover 1003, and discharge tray 1004. The lower case 1001 forms almost the lower half of the PD printer apparatus 1000, whereas the upper case 1002 forms almost the upper half of the main body. A combination of these cases forms a hollow structure with a storage space where each mechanism (to be described later) is stored. The upper and front surfaces have openings. The discharge tray 1004 is rotatably held at one end by the lower case 1001, and the opening in the front surface of the lower case 1001 is opened/closed by rotating the discharge tray 1004. To execute print operation, the discharge tray 1004 is rotated toward the front side to open the opening. Print sheets can be discharged from the opening, and the discharged print sheets can be sequentially stacked. The discharge tray 1004 houses two auxiliary trays 1004a and 1004b. These trays are pulled out to enlarge/reduce the paper support area in three stages, as needed.
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 attached to 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 FIG. 2. Reference numeral 1007 denotes an automatic feeder which automatically feeds print sheets into the apparatus main body; numeral 1008 denotes a paper interval selection lever for adjusting the interval between the print head and the print sheet; and numeral 1009 denotes a card slot into which an adapter capable of mounting a memory card is inserted. Image data stored in a memory card can be directly received and printed via the adapter. The memory card (PC) includes, e.g., a compact flash memory, smart media, and memory stick. Reference numeral 1011 denotes a viewer (liquid crystal display) which is detachable from the main body of the PD printer apparatus 1000 and is used to display an image of one frame, an index image, and the like when images stored in the PC card are searched for an image to be printed; and numeral 1012 denotes a USB terminal for connecting a digital camera (to be described later). A USB bus connector for connecting a personal computer (PC) is attached to the back surface of the PD apparatus 1000.
FIG. 2 depicts a schematic view showing the operation panel 1010 of the PD printer apparatus 1000 according to the embodiment.
In FIG. 2, the liquid crystal display 1006 displays menu items for various settings of data on items printed on the right and left of the display 1006. The displayed items are, for example, the first photograph number of a print range, a designated frame number (start frame designation/print frame designation), the last photograph number of a printed range (end), the number of prints (number of copies), the type of paper (print sheet) used for printing (paper type), setting of the number of photographs to be printed on one paper sheet (layout), designation of the print quality (quality), designation whether to print a photographing date (date printing), designation whether to correct and print a photograph (image correction), and display of the number of paper sheets necessary for printing (number of paper sheets). These items are selected or designated with cursor keys 2001. Reference numeral 2002 denotes a mode key which allows switching the type of printing (index printing, printing of all frames, printing of one frame, or the like) every time the key 2002 is pressed. A corresponding one of LEDs 2003 is turned on accordingly. Reference numeral 2004 denotes a maintenance key for performing printer maintenance such as cleaning of the print head; numeral 2005 denotes a print start key which is pressed to designate the start of printing or establish maintenance setting; and numeral 2006 denotes a print stop key which is pressed to stop printing or designate to stop maintenance.
The arrangement of the main part concerning control of the PD printer apparatus 1000 according to the embodiment will be explained with reference to FIG. 3. In FIG. 3, the same reference numerals as in the foregoing drawings denote the same parts, and a description thereof will be omitted.
In FIG. 3, reference numeral 3000 denotes a controller (control board); numeral 3001 denotes an ASIC (application specific LSI) whose arrangement will be described in detail below with reference to the block diagram of FIG. 4; numeral 3002 denotes a DSP (Digital Signal Processor) which incorporates a CPU and performs various control processes to be described later, and image processes such as conversion from a luminance signal (RGB) to a density signal (CMYK), scaling, gamma conversion, and error diffusion; numeral 3003 denotes a memory having a program memory 3003a which stores the control program of the CPU of the DSP 3002, a RAM area which stores a program in running, and a memory area functioning as a work memory which stores image data and the like; numeral 3004 denotes a printer engine which is an ink-jet printer type printer engine for printing a color image using a plurality of color inks in this embodiment; numeral 3005 denotes a USB connector serving as a port for connecting a digital camera (DSC) 3012; numeral 3006 denotes a connector for connecting the viewer 1011; and numeral 3008 denotes a USB bus hub which transmits data from a PC 3010 and outputs the data to the printer engine 3004 via a USB bus 3021 when the PD printer apparatus 1000 prints on the basis of image data from the PC 3010. The connected PC 3010 can directly exchange data and signals with the printer engine 3004 and execute printing (functions as a general PC printer). Reference numeral 3009 denotes a power connector which receives from a power supply 3019 a DC voltage converted from a commercial AC voltage. The PC 3010 is a general personal computer. Reference numeral 3011 denotes a memory card (PC card) described above; and numeral 3012 denotes the digital camera (DSC: Digital Still Camera).
Signal exchange between the controller 3000 and the printer engine 3004 is performed via the USB bus 3021 or an IEEE 1284 bus 3022.
FIG. 4 is a block diagram showing the arrangement of the ASIC 3001. Also in FIG. 4, the same reference numerals as in the foregoing drawings denote the same parts, and a description thereof will be omitted.
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 (FIG. 3), the data is directly sent to the printer engine 3004 via the USB hub 3008 and USB 3021, and printing is done on the basis of the data from the PC 3010.
<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>
FIG. 5 depicts a view for explaining connection between the PD printer apparatus 1000 and the digital camera 3012 according to the embodiment.
In FIG. 5, a cable 5000 has a connector 5001 which is connected to the connector 1012 of the PD printer apparatus 1000, and a connector 5002 which is connected to a connector 5003 of the digital camera 3012. The digital camera 3012 can output via the connector 5003 image data which is saved in an internal memory. The digital camera 3012 can take various arrangements such as an arrangement having an internal memory as a storage means, and an arrangement having a slot for mounting a removable memory. The PD printer apparatus 1000 and digital camera 3012 are connected via the cable 5000 shown in FIG. 5. Image data from the digital camera 3012 can be directly printed by the PD printer apparatus 1000.
When the digital camera 3012 is connected to the PD printer apparatus 1000, as shown in FIG. 5, the display 1006 of the operation panel 1010 displays only a camera mark. Display and operation on the operation panel 1010 become invalid, and display on the viewer 1011 also becomes invalid. After that, only key operation to the digital camera 3012 and image display on the display (not shown) of the digital camera 3012 are valid. The user can designate printing by using the digital camera 3012.
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).
FIG. 6 depicts a view showing an example of the NCDP arrangement.
In FIG. 6, reference numeral 600 denotes a USB interface; numeral 601 denotes a Bluetooth interface; numeral 602 denotes an application layer which is assembled in constructing an NCDP system; and numeral 603 denotes a layer which is used to execute existing protocols and interfaces and contains PTP (Picture Transfer Protocol), SCSI and Bluetooth BIPs (Basic Image Profiles), a USB interface, and the like. NCDP according to the embodiment assumes that an architecture such as a protocol layer is adopted and NCDP is supported as an application on the architecture. In this case, the PD printer apparatus 1000 and digital camera 3012 are respectively defined as a USB host and USB slave. The PD printer apparatus 1000 and digital camera 3012 have the same NCDP arrangement, as shown in FIG. 6.
FIG. 7 depicts a chart for explaining the flow of NCDP communication procedures between the PD printer apparatus 1000 and the digital camera (DSC) 3012 according to the embodiment.
If it is detected that the PD printer apparatus 1000 and DSC 3012 have been connected by the cable 5000, as shown in FIG. 5, these devices can communicate with each other. Applications installed in these devices are executed to start shift to NCDP procedure 701. Reference numeral 702 denotes an NCDP initial state in which whether these devices can execute NCDP is decided. If so, the flow shifts to NCDP procedure 701. If the DSC 3012 does not support NCDP, no NCDP communication control is executed. If the DSC 3012 designates image data transfer/printing by “basic procedures” after shift to NCDP, as represented by 703, the flow shifts to a simple print mode in which an image file is transferred from the DSC 3012 to the PD printer apparatus 1000 and printed. If the DSC 3012 designates image data transfer/printing by “recommended procedures”, as represented by 704, various negotiations are done between the DSC 3012 and the PD printer apparatus 1000 to decide print conditions. Thereafter, the flow shifts to a more advanced print mode in which an image file is transferred from the DSC 3012 to the PD printer apparatus 1000 and printed. If the DSC 3012 designates “extended procedures”, as represented by 705, a mode in which printing is done with an advanced layout function such as DPOF, XHTML-print, or SVG, and vender-unique specifications of each vendor is set. Note that detailed specifications by the “extended procedures” are defined by extended specifications unique to each DSC vendor, and will not be particularly explained. Image printing processes by the “basic procedures” and “recommended procedures” will be described with reference to FIGS. 9 to 11.
FIG. 8 depicts a table for explaining commands which are defined to perform NCDP printing according to the embodiment.
In FIG. 8, a “corresponding mode” corresponds to the above-described “basic procedures”, “recommended procedures”, and “extended procedures” which are designated from the DSC 3012. The “recommended procedures” can use all commands. The “basic procedures”, which correspond to the simple print mode, can use only shift to NCDP, end of NCDP, shift commands to the modes of the “basic procedures”, “recommended procedures”, and “extended procedures”, acquisition of image data from the camera 3012, and a print instruction from the camera 3012. In FIG. 8, the “extended procedures” can use only shift to NCDP, end of NCDP, and shift commands to the modes of the “basic procedures”, “recommended procedures”, and “extended procedures”. As described above, the “extended procedures” can employ other commands in accordance with the specifications of each vendor.
Image printing processes by the “basic procedures” and “recommended procedures” will be explained.
FIG. 9 depicts a chart for explaining NCDP communication procedures in image printing by the “basic procedures”. The “basic procedures” correspond to the simple print mode in which only one image file is transferred from the DSC 3012 to the PD printer apparatus 1000 and printed. Corresponding image formats are an RGB image of VGA size (640×480 pixels) and a JPEG image of VGA size (640×480 pixels). The image file size is about 1 Mbyte or less. The DSC 3012 transmits an image file by an image format supported by the PD printer apparatus 1000. In this case, no error handling is executed.
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 as an example of performing NCDP confirmation procedures.
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. Whether to perform processing by the “basic procedures” is also decided by the capabilities of both the DSC and PD printer apparatus.
FIG. 10 depicts a chart for explaining NCDP communication procedures in image printing by the “recommended procedures”. The same reference numerals as in FIG. 9 denote the same procedures in FIG. 10, and a description thereof will be omitted. The “recommended procedures” can set a “more advanced print mode” which assumes negotiations between the PD printer apparatus 1000 and the DSC 3012. Printing of a plurality of photographs and layout printing can be realized. Also, error handling can be executed.
In FIG. 10, after the PD printer apparatus 1000 and DSC 3012 confirm that they both support NCDP, similar to FIG. 9, the DSC 3012 designates the “recommended procedures” (910). Procedures by the “recommended procedures” are executed. As represented by 911, the PD printer apparatus 1000 notifies the DSC 3012 of, as Capability information, all the functions of the PD printer apparatus 1000 and functions including paper setting. The Capability information is transmitted in a script format (text) to the DSC 3012.
FIG. 12 depicts an example of the Capability information.
As shown in FIG. 12, the Capability information contains the type and size of printable paper, the print quality, the image data format, the presence/absence of date printing, the presence/absence of file name printing, the layout, the presence/absence of image correction, and as an option the presence/absence of functions corresponding to the specifications of each camera vendor.
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 have been decided and the start of printing has been 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 items 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”.
FIG. 11 depicts a chart for explaining communication procedures when an error occurs in the PD printer apparatus 1000 in NCDP communication procedures in image printing by the “recommended procedures”. The same reference numerals as in FIG. 10 denote the same procedures, and a description thereof will be omitted.
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 FIG. 13.
FIG. 13 is a flow chart for explaining the processing procedures shown in FIG. 7.
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 shifts 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.
An example (PTP wrapper) of realizing various NCDP commands (FIG. 8) described above by using general-purpose PTP will be explained. The embodiment will describe NCDP using PTP, but the present invention is not limited to this. For example, a direct print service API may be supported by another interface and another class.
[NCDPStart]
FIG. 14 depicts a chart for explaining an example of realizing by using a PTP architecture an instruction (NCDPStart) which designates the start of NCDP procedures.
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 FIG. 7). Transport layers capable of exchanging files can reliably exchange keywords. That is, keywords can be exchanged using the PTP architecture without adding an NCDP-unique command and the like in the embodiment. The keyword is not limited to the above example, and the DSC 3012 and PD printer apparatus 1000 may use the same keyword. To shorten the time taken for negotiations by the keyword, the keyword may be set at the start of a script handle. This can shorten the time taken to confirm partner devices.
[ProcedureStart]
FIG. 15 depicts a chart for explaining an example in which an instruction which designates shift procedures to the NCDP print mode is received from the DSC 3012, and an instruction (ProcedureStart) (902) from the PD printer apparatus 1000 to the DSC 3012 for shifting to the mode is realized by using the PTP architecture.
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]
FIG. 16 depicts a chart for explaining an example of realizing by using the PTP architecture an instruction (NCDPEnd) for ending communication control procedures in NCDP according to the embodiment.
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]
FIG. 17 depicts a chart for explaining an example of realizing, by using the PTP architecture, communication procedures by a Capability instruction which notifies the DSC 3012 of the function of the PD printer apparatus 1000 in NCDP according to the embodiment.
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 (FIG. 12).
[GetImage]
FIG. 18 depicts a chart for explaining an example of realizing, by using the PTP architecture, communication procedures (GetImage) in which the PD printer apparatus 1000 acquires image data (JPEG image) held by the DSC 3012 in NCDP according to the embodiment.
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]
FIG. 19 depicts a chart for explaining an example of realizing, by using the PTP architecture, communication procedures (StatusSend) in which the PD printer apparatus 1000 notifies the DSC 3012 of an error status in NCDP according to the embodiment.
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 (ObjectlnfoDataset) 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]
FIG. 20 depicts a chart for explaining an example of realizing, by using the PTP architecture, communication procedures (PageEnd) in which the PD printer apparatus 1000 notifies the DSC 3012 of the end of print processing of one page in NCDP according to the embodiment.
[JobEnd]
FIG. 21 depicts a chart for explaining an example of realizing, by using the PTP architecture, communication procedures (JobEnd) in which the PD printer apparatus 1000 notifies the DSC 3012 of the end of a print job in NCDP according to the embodiment.
In FIGS. 20 and 21, after procedures 1900 and 1901 in FIG. 19 are executed, the PD printer apparatus 1000 notifies the DSC 3012 in 1910 of FIG. 20 of the end of print processing of one page. In 1911 of FIG. 21, the PD printer apparatus 1000 notifies the DSC 3012 of the end of the print job. Data (page end and job end) which are transmitted from the PD printer apparatus 1000 to the DSC 3012 are text data (script).
[JobStart]
FIG. 22 is a chart for explaining an example of realizing, by using the PTP architecture, communication procedures (JobStart) in which the PD printer apparatus 1000 notifies the DSC 3012 of the start of a print job in NCDP according to the embodiment.
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]
FIG. 23 depicts a chart for explaining an example of realizing, by using the PTP architecture, communication procedures (JobAbort) in which the DSC 3012 issues a print abort instruction to the PD printer apparatus 1000 in NCDP according to the embodiment.
[JobContinue]
FIG. 24 depicts a chart for explaining an example of realizing, by using the PTP architecture, communication procedures (JobContinue) in which the DSC 3012 issues a print restart instruction to the PD printer apparatus 1000 in NCDP according to the embodiment.
In FIGS. 23 and 24, after procedures 2200 to 2203 in FIG. 22 are executed, the DSC 3012 issues a print abort instruction to the PD printer apparatus 1000 in 2301 of FIG. 23. In 2401 of FIG. 24, the DSC 3012 notifies the PD printer apparatus 1000 of a print restart instruction. Data (print abort instruction and print restart instruction) which are transmitted from the DSC 3012 to the PD printer apparatus 1000 are text data (script).
[Function Confirmation by Capability]
Communication procedures between the PD printer apparatus 1000 and the DSC 3012 and processes in the PD printer apparatus 1000 and the DSC 3012 which are features according to the embodiment will be explained.
The embodiment assumes that the DSC 3012 connected to the PD printer apparatus 1000 is an unspecific digital camera manufactured by each vendor. For example, all pieces of information of the PD printer apparatus 1000 are transmitted as Capability from the PD printer apparatus 1000 to the DSC 3012. The DSC 3012 changes and displays the UI screen in accordance with the function information. That is, a function not supported by the PD printer apparatus 1000 cannot be selected by the DSC 3012. This prevents mismatching of print conditions between the PD printer apparatus 1000 and the DSC 3012.
FIG. 25 is a flow chart for explaining processing in the DSC 3012 in the “basic procedures” executed in step S5 of FIG. 13.
As described above, in the “basic procedures”, the PD printer apparatus 1000 receives data of one image from the DSC 3012, and prints it under predetermined print conditions. In this case, the DSC 3012 displays the print screen on a display 2700 (FIG. 27) of the DSC 3012 in step S21. If the user selects an image to be printed and designates printing in step S22, the DSC 3012 advances to step S23 to transmit the image data to the PD printer apparatus 1000.
FIG. 26 is a flow chart for explaining processing in the DSC 3012 in the “recommended procedures” executed in step S7 of FIG. 13. In these processing procedures, the DSC 3012 can acquire Capability from the PD printer apparatus 1000, change the UI screen displayed on the display 2700 in accordance with Capability, set various print conditions, and issue a print instruction complying with the print conditions.
In step S31, the DSC 3012 receives and acquires Capability of the printing apparatus which is transmitted from the PD printer apparatus 1000. The DSC 3012 advances to step S32 to analyze Capability and change the selection items of the UI screen displayed on the display 2700 of the DSC 3012 in accordance with Capability. A detailed example of this will be described in detail with reference to FIGS. 28A to 30. In step S34, various print conditions and information on an image to be printed that are set by the user by using the UI screen are input. If a print instruction is finally input, the DSC 3012 advances to step S35 to create a print job file which designates printing of the designated image under the designated print conditions and transmit the print job file to the PD printer apparatus 1000. The DSC 3012 advances to step S36 to transmit image data designated by the print job file to the PD printer apparatus 1000. In step S37, the DSC 3012 determines whether all image data have been transmitted. This is because, in the “recommended procedures”, a plurality of images can be printed and a plurality of images can be laid out and printed on one paper sheet depending on the PD printer apparatus 1000. If YES in step S37, the DSC 3012 returns to step S34 to determine whether a print instruction for the next image or a print end instruction has been input. If the end of printing is designated, the processing ends.
A detailed example will be explained.
FIG. 27 is a view showing the arrangement of the back surface of the digital camera (DSC) 3012 according to the embodiment.
In FIG. 27, the liquid crystal display 27 displays an image to be sensed, a sensed image, an index image, or the like. In setting various camera settings, print conditions, or the like, the display 2700 displays the menu. Reference numeral 2701 denotes a display area for the number of prints where numerical values “0” to “999” can be set; and numeral 2702 denotes a key for setting trimming. If the key 2702 is pressed, a frame is displayed on an image displayed on the display 2700. The frame size is changed with a cursor key (not shown), or the frame is moved, performing desired trimming. Reference numeral 2703 denotes a key for designating the start of printing; numeral 2704 denotes a cancel key which cancels setting processing in progress; and numeral 2705 denotes a style key which is used to set the print quality, paper sheet, layout, and the like. If the key 2705 is pressed, the display of the display 2700 is changed to a setting screen to be described later. In the following description, for descriptive convenience, one image is printed, and various print conditions are set for the image. The present invention is not limited to this. It is also possible to select a plurality of images and set different print conditions for the images.
In the above-described print processing by the “basic procedures” (flow chart of FIG. 25), the DSC 3012 may display, in the UI screen, only buttons necessary to designate an image to be printed and the start of printing.
FIGS. 28A and 28B are views for explaining an example of the style setting screen (UI screen) (FIG. 28B) in the DSC 3012 when the PD printer apparatus 1000 having Capability as shown in FIG. 28A is connected to the DSC 3012.
FIG. 28A depicts a view showing an example of Capability received in step S31 of FIG. 26. Capability exhibits that the PD printer apparatus 1000 connected to the DSC 3012 has a paper size “L size” or “card”, and three print qualities “low (draft)”, “normal”, and “fine”. The layout is “borderless” and “1×1” for “L size”, and “borderless” or “1×1” for “card”. Date printing “on/off” can be designated.
In accordance with these settings, a display cursor 2800 is positioned in a paper size designation area (paper) in the setting screen shown in FIG. 28B. If the right or left direction is designated with a cursor key or the like in this state, only “L size” and “card” described in Capability of FIG. 28A are selectively displayed. Remaining paper sizes such as “A4 size” and “letter” are not set. Similarly, when the cursor 2800 is positioned at “print quality”, only the three print qualities “low (draft)”, “normal”, and “fine” described in Capability are selectively displayed. As for “borderless/border” and date printing “date”, only “border/borderless” and “on/off” are selectively displayed. In this case, Capability of FIG. 28A describes only the layout “1×1”, and no layout column for selecting a layout is set in the style setting screen of FIG. 28B. In the embodiment, UI for selecting a layout is not shown, but the layout “1×1” may be displayed for notifying an user of the real layout. In other words, even if only one layout can be set, the set layout may be displayed such that an user can confirm the layout.
FIG. 29 depicts a view showing an example of Capability received in step S31 of FIG. 26 from another PD printer apparatus 1000.
Capability reveals that the PD printer apparatus 1000 connected to the DSC 3012 can perform printing at paper sizes “L size”, “2L size”, “card”, “4×6”, “A4 size”, and “letter”, has three print qualities “low (draft)”, “normal”, and “fine” and layouts “borderless”, “1×1”, “1×2”, and “2×2”, and allows index designation. As the paper type, “plain paper (Plain)” and “photo paper (Photo)” can be designated. Date printing “on/off”, image optimization, and the like can also be designated.
In FIG. 29, Capability unique to each printer vendor can be designated using an Option item. A DSC which complies with the printer specifications of the vendor can print an image in accordance with the printer specifications.
FIGS. 30A and 30B depicts a view showing an example of the style setting screen (UI screen) displayed on the display 2700 of the DSC 3012 upon reception of Capability as shown in FIG. 29.
As is apparent from a comparison between FIGS. 30A and 30B and FIG. 28B described above, items capable of designating “layout” and “paper type” are newly added and displayed in FIGS. 30A and 30B in accordance with the difference in Capability. In FIGS. 30A and 30B, “A4 size” which is not displayed in FIG. 28B is displayed as a paper size in accordance with Capability of FIG. 29. In accordance with this paper size, the layout designated with a cursor 2910 is changed to “1×1”, “1×2”, “2×2”, “2×4”, “4×4”, and “index”. The setting contents in FIGS. 30A and 30B correspond to the contents of an underlined portion in Capability of FIG. 29. Also when the cursor 2910 is moved to another setting item, e.g., the paper type, settable contents are based on information specified by Capability of FIG. 29.
FIG. 31 is a block diagram showing the arrangement of the DSC 3012 according to the embodiment.
In FIG. 31, reference numeral 3100 denotes a CPU which controls the overall DSC; numeral 3101 denotes a ROM which stores the processing procedures of the CPU 3100; numeral 3102 denotes a RAM which is used as a work area for the CPU 3100; and numeral 3103 denotes switches which are used for various operations and include various switches, cursors, and the like shown in FIG. 27. The liquid crystal display 2700 is used to confirm a sensed image and display a menu for various settings. Reference numeral 3105 denotes an optical unit which is mainly comprised of a lens and driving system; numeral 3106 denotes a CCD element; numeral 3107 denotes a driver which drives and controls the optical unit 3105 under the control of the CPU 3100; numeral 3108 denotes a connector for connecting a storage medium 3109 (compact flash® memory card, smart medium, or the like); and numeral 3110 denotes a USB interface (USB slave side) for connecting a PC or the PD printer 1000 in the embodiment.
As described above, according to the embodiment, the DSC displays a setting screen based on the function of the PD printer apparatus, and sets print conditions. Designation of image printing under print conditions using a function not supported by the PD printer apparatus can be prevented in the PD printer apparatus. User-desired Image Printing can be reliably achieved.
In changing the setting screen in the DSC, the UI Screen including all settable items may be created in the DSC in advance. In this case, items which cannot be selected these items by the user. This setting eliminates the need for reconstructing a UI.
The Capability format complies with XML, and a common parser (analysis processing) can be used in UPnP connection or the like, resulting in high versatility.
Capability contents depend on the ability of the printer or DSC itself in the above embodiment, but may reflect a setting state at that time.
For example, the contents of Capability information to be sent may be changed depending on whether the printer has high-quality color ink, normal color ink, or only black ink.
At this time, the contents of Capability information may describe only the setting state.
It is more preferable to describe all corresponding abilities (in the above example, high-quality ink, normal ink, and black ink), similar to the above-described embodiment, and add information representing the current settings of the device.
On the Capability-receiving side, a UI which reflects the current settings can be displayed as a UI which is displayed in print settings.
That is, the current device settings obtained by Capability information can be displayed as the default values of choices in setting items in print settings.
This arrangement allows print settings preferable for the current device settings without any redundant selection operation.
The user can obtain the compatible abilities of the device, and recognize that the device settings must be changed in accordance with print settings.
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.
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.

## Claims

1. A digital camera which can be connected to any one of a plurality of types of printers and cause the connected printer to print an image captured by the digital camera, comprising:
a communication unit configured to receive, upon establishing a communication with the connected printer using a predetermined application of the digital camera, paper size information indicating printable paper sizes on which the connected printer can print, from the connected printer;
a display control unit configured to i) provide a setting screen to be displayed on a display unit of the digital camera, the setting screen including selectable items for selecting a paper size on which the printer prints among the printable paper sizes and the setting screen being common to the plurality of types of printers, and ii) change the selectable items of the setting screen based on the paper size information received by said communication unit, without changing the entirety of the setting screen in accordance with a type of the connected printer, wherein the selectable items correspond to the printable paper sizes;
an operation unit having the display unit, configured to be operable to designate an image to be printed by the connected printer and an item of the selectable items in the setting screen displayed on the display unit, to set the paper size on which the connected printer prints the designated image; and
a transmission unit configured to transmit image data corresponding to the designated image and paper size information of the paper size corresponding to the item designated by said operation unit to the connected printer,
wherein said display control unit analyzes the paper size information received from the connected printer by said communication unit before enabling designation of the image to be printed and an item of the selectable items using said operation unit.

2. The digital camera according to claim 1, wherein if a plurality of selectable items are described in the paper size information, then said display control unit causes the display unit to display the setting screen including the paper size as selectable items, and if only one paper size is described in the paper size information, then said display control unit causes the display unit to display the setting screen not including the paper size as selectable items.

3. The digital camera according to claim 1, wherein the paper size information is described by text data.

4. The digital camera according to claim 1, wherein the digital camera and the connected printer are connected with each other via a USB interface.

5. The digital camera according to claim 1, wherein the digital camera and the connected printer communicate with each other using a protocol for transmitting image data.

6. The digital camera according to claim 1, wherein said communication unit receives a script file describing the paper size information, wherein the script file describes paper size information on which the printer can print and selectable items which the printer can execute with respect to each of a plurality of print functions of the printer.

7. A control method of a digital camera which can be connected to any one of a plurality of types of printers and cause the connected printer to print an image captured by the digital camera, the following steps executed by a computer of the digital camera, the method comprising the steps of:
establishing a communication with the connected printer using predetermined applications of the digital camera and the connected printer;
receiving paper size information indicating printable paper sizes on which the connected printer can print, from the connected printer;
providing a setting screen to be displayed on a display unit of the digital camera, the setting screen including selectable items for selecting a paper size on which a printer prints among the printable paper sizes and the setting screen being common to the plurality of types of printers, and changing the selectable items of the setting screen based on the paper size information received in said receiving step, without changing the entirety of the setting screen in accordance with a type of the connected printer, wherein the selectable items correspond to the printable paper sizes;
designating an image to be printed by the connected printer and an item of the selectable items in the setting screen displayed on the display unit, to set the paper size corresponding to the designated item; and
transmitting image data corresponding to the image designated in said designating step and the paper size corresponding to the item designated in said designating step to the connected printer,
wherein in said providing step, the paper size information is analyzed before enabling designation of the image to be printed and an item of the selectable items of the setting screen.

8. The digital camera according to claim 6, wherein the script file includes a list of the paper size information on which the printer can print and the selectable items.