U.S. patent application number 11/805605 was filed with the patent office on 2007-09-27 for image processing method and image processing system using the same.
This patent application is currently assigned to Seiko Epson Corporation. Invention is credited to Masakatsu Endo, Toshihiko Katayama, Hideki Morozumi, Makoto Oyanagi, Kenji Sakuda, Kazunori Suenaga, Yoichi Wakai.
Application Number | 20070222862 11/805605 |
Document ID | / |
Family ID | 32328387 |
Filed Date | 2007-09-27 |
United States Patent
Application |
20070222862 |
Kind Code |
A1 |
Endo; Masakatsu ; et
al. |
September 27, 2007 |
Image processing method and image processing system using the
same
Abstract
An image processing method is performed by an image supply
device storing image data and an image output device performing
image processing with respect to the image data, which are
connected via a communication path through which the image data is
communicated. A control information item including a script for
image processing, which is described by a markup language, is
communicated between the image supply device and the image output
device. The image data is transmitted to the image output device,
based on the script.
Inventors: |
Endo; Masakatsu; (Nagano,
JP) ; Morozumi; Hideki; (Nagano, JP) ; Sakuda;
Kenji; (Nagano, JP) ; Suenaga; Kazunori;
(Nagano, JP) ; Oyanagi; Makoto; (Nagano, JP)
; Katayama; Toshihiko; (Nagano, JP) ; Wakai;
Yoichi; (Nagano, JP) |
Correspondence
Address: |
MARTINE PENILLA & GENCARELLA, LLP
710 LAKEWAY DRIVE
SUITE 200
SUNNYVALE
CA
94085
US
|
Assignee: |
Seiko Epson Corporation
|
Family ID: |
32328387 |
Appl. No.: |
11/805605 |
Filed: |
May 23, 2007 |
Related U.S. Patent Documents
|
|
|
|
|
|
Application
Number |
Filing Date |
Patent Number |
|
|
10734375 |
Dec 12, 2003 |
|
|
|
11805605 |
May 23, 2007 |
|
|
|
Current U.S.
Class: |
348/207.2 ;
348/E5.022 |
Current CPC
Class: |
H04N 2201/0022 20130101;
H04N 2201/0015 20130101; H04N 2201/0055 20130101; H04N 1/00188
20130101; H04N 1/00132 20130101; H04N 1/00278 20130101; H04N
1/00167 20130101; H04N 2201/0027 20130101; H04N 2201/0049 20130101;
H04N 1/00172 20130101 |
Class at
Publication: |
348/207.2 ;
348/E05.022 |
International
Class: |
H04N 5/225 20060101
H04N005/225 |
Foreign Application Data
Date |
Code |
Application Number |
Dec 12, 2002 |
JP |
P2002-360983 |
Mar 14, 2003 |
JP |
P2003-070525 |
Claims
1. An image output device, adapted to be communicatively connected,
by way of a communication path, to an image supply device storing
an image data file, comprising: a communicator, operable to:
receive, from the image supply device, a job specifying file
describing a stored location of the image data file; transmit, to
the image supply device, a first command including a first tag
specifying a base path to obtain an object ID assigned to the image
data file associated with the job specifying file; receive the
object ID from the image supply device; and receive, from the image
supply device, the image data file based on the object ID; and an
image output section, operable to output an image based on the
image data file.
2. The image output device as set forth in claim 1, wherein the
first command further includes a second tag specifying the image
data file.
3. The image output device as set forth in claim 1, wherein the
first tag includes a numeral value.
4. The image output device as set forth in claim 3, wherein: the
first tag includes a <basePathID> tag and a
</basePathID> tag; and the numeral value is placed between
the <basePathID> tag and the </basePathID> tag.
5. The image output device as set forth in claim 1, wherein: the
first command further includes a second tag specifying, with a
numeral value, a relative path from a base directory to the image
file; and the first tag specifies the base directory.
6. The image output device as set forth in claim 1, wherein: the
communicator is operable to transmit, to the image supply device, a
second command operable to obtain a part of the image data file;
and the communicator is operable to receive the whole of the image
data file by transmitting the second command at plural times.
7. The image output device as set forth in claim 1, further
comprising: a first protocol, adapted to specify the image data
file with a path; and a second protocol, which is a protocol lower
than the first protocol, and adapted to specify the image data file
with an object ID, wherein: the communicator is operable to convert
a first-protocol-based command including the object ID to a
second-protocol-based command; and the communicator is operable to
receive the image data file with the second-protocol-based
command.
8. An image supply device, adapted to be communicatively connected,
by way of a communication path, to an image output device operable
to output an image based on an image data file, comprising: a
storage, storing the image data file; and a communicator, operable
to: transmit, to the image output device, a job specifying file
describing a stored location of the image data file; receive, from
the image output device, a first command including a first tag
specifying a base path to obtain an object ID assigned to the image
data file associated with the job specifying file; transmit, the
object ID to the image output device; and transmit, to the image
output device, the image data file based on the object ID.
9. The image supply device as set forth in claim 8, wherein the
communicator is operable to transmit, to the image output device, a
reply including the first tag and a second tag specifying the
object ID, when the communicator receives the first command.
10. The image supply device as set forth in claim 9, wherein the
reply further includes a third tag specifying the image data
file.
11. The image supply device as set forth in claim 8, wherein the
first tag includes a numeral value.
12. The image supply device as set forth in claim 11, wherein: the
first tag includes a <basePathID> tag and a
</basePathID> tag; and the numeral value is placed between
the <basePathID> tag and the </basePathID> tag.
13. The image supply device as set forth in claim 9, wherein: the
reply further includes a third tag specifying, with a numeral
value, a relative path from a base directory to the image file; and
the first tag specifies the base directory.
14. The image supply device as set forth in claim 8, wherein: the
communicator is operable to receive, from the image output device,
a second command operable to obtain a part of the image data file;
and the communicator is operable to transmit the whole of the image
data file by transmitting the part of the image data file in
response to the second command at plural times.
15. The image supply device as set forth in claim 8, further
comprising: a first protocol, adapted to specify the image data
file with a path; and a second protocol, which is a protocol lower
than the first protocol, and adapted to specify the image data file
with an object ID, wherein: the communicator is operable to
transmit the object ID in response to a first-protocol-based
command transmitted from the image output device; and the
communicator is operable to transmit the image data file in
response to a second-protocol-based command transmitted from the
image output device.
16. A method of transmitting and receiving an image data file,
comprising: connecting, by way of a communication path, an image
supply device storing the image data file and an image output
device operable to output an image based on the image data file;
transmitting, from the image supply device to the image output
device, a job specifying file describing a stored location of the
image data file; transmitting, from the image output device to the
image supply device, a first command including a first tag
specifying a base path to obtain an object ID assigned to the image
data file associated with the job specifying file; transmitting the
object ID from the image supply device to the image output device;
and transmitting, from the image supply device to the image output
device, the image data file based on the object ID.
Description
CROSS REFERENCE TO RELATED APPLICATION
[0001] This application is a continuation of application Ser. No.
10/734,375, filed on Dec. 12, 2003, the disclosure of which is
incorporated herein by reference.
BACKGROUND OF THE INVENTION
[0002] The present invention relates to an image processing method
and an image processing system, wherein control information and
image data files are transmitted over a communication path, and
images based on the image data files which are stored in an image
supply device, are output by way of an image output device.
[0003] Japanese Patent Publication No. 2002-330394A discloses a
so-called direct print system, wherein a digital still camera is
connected to a printer without involvement of a personal computer
or the like, and images captured by the digital still camera are
printed by the printer.
[0004] In the direct print system, image data, a print job start
command, and the like are exchanged between the digital still
camera and the printer through use of a protocol unique to a
vendor.
[0005] However, since each vendor uses its own protocol, images
captured by a digital still camera can be printed by a printer of a
certain vendor but may not be printed by a printer of another
vendor. In such a case, if a single protocol is used by a plurality
of vendors, images captured by a digital still camera could be
printed by a printer of any of the vendors. However, a printer has
functions unique to each vendor, and difficulty is encountered in
the use of a complete single protocol. Further, printer's functions
evolve year by year. Once a standard protocol has been prescribed,
addition of a new function becomes difficult.
SUMMARY OF THE INVENTION
[0006] It is therefore an object of the invention to provide an
image processing system and an image processing method, which
facilitate revision of a protocol after prescription of the
protocol while ensuring compatibility between a plurality of
vendors.
[0007] According to the invention, there is provided an image
processing method, performed by an image output device connected to
an image supply device storing image data, via a communication path
through which the image data is communicated, the method comprising
steps of:
[0008] receiving, from the image supply device, a control
information item including a script for image processing with
respect to the image data, the script being described by a markup
language; and
[0009] performing the image processing with respect to the image
data based on the control information item.
[0010] In such a configuration, a protocol can be made easy to
correct after prescription in relation to the control information
item to be exchanged between the image supply device and the image
output device by utilization of extensibility of a syntax of the
markup language while compatibility between a plurality of vendors
is maintained.
[0011] Preferably, the image output device is a printer, and the
image supply device is a digital camera.
[0012] In such a configuration, mutual direct printing can be
performed between a digital camera offered by any of a plurality of
vendors and a printer offered by any of a plurality of vendors,
without use of host equipment such as a personal computer.
[0013] Preferably, the markup language enables additional
definition of a document form.
[0014] Here, it is preferable that the markup language is one of a
standard generalized markup language (SGML), an extensible markup
language (XML), and a language having a hierarchical compatibility
with the SGML or the XML.
[0015] Preferably, the script includes a control command for the
image processing, a response for the control command, and a
notification of a status of the image output device, which are
described by the markup language.
[0016] Preferably, the control information item does not contain
the image data therein.
[0017] In such a configuration, the control information item
described by the markup language can be communicated independently
of the image data to be subjected to the image processing, without
changing an existing format of the image data. The format of image
data includes, e.g., JPEG.
[0018] Preferably, the image processing method further comprises a
step of generating a control signal for controlling an image output
mechanism, based on the control information item and the image
data.
[0019] In such a configuration, the image supply device can be
manufactured inexpensively without a function for generating from
the image data a control signal for controlling the image output
device.
[0020] Preferably, the image processing method further comprises a
step of providing a parser, which analyzes a syntax of the markup
language to interpret a tag of the markup language which is related
to the image processing.
[0021] In such a configuration, the parser can be realized by a
simple circuit or program, and the image output device can be made
inexpensive.
[0022] According to the invention, there is also provided an image
processing method, performed by an image output device connected to
an image supply device storing image data, via a communication
path, the method comprising steps of:
[0023] storing templates each associated with at least one control
information item;
[0024] communicating, with the image supply device, a control
information item including a script for image processing, which is
described by a markup language and generated from one of the
templates based on the control information item;
[0025] receiving image data stored in the image supply device,
based on the script; and
[0026] performing the image processing with respect to the image
data, based on the script.
[0027] In such a configuration, since the script can be prepared by
editing one of the templates, the script can be generated
quickly.
[0028] According to the invention, there is also provided an
information processing method, performed by an image supply device
connected to an image output device via a communication path, the
method comprising steps of:
[0029] receiving, from the image output device, a status
information item indicating a status of the image output device;
and
[0030] generating a control information item including a script for
image processing performed by the image output device, which is
described by a markup language.
[0031] According to the invention, there is also provided an
information processing method, performed by an image supply device
connected to an image output device via a communication path, the
method comprising steps of:
[0032] communicating, with the image output device, a control
information item including a script for image processing, which is
described by a markup language; and
[0033] providing a parser, which analyzes a syntax of the markup
language to interpret a tag of the markup language which is related
to the image processing.
[0034] In such a configuration, the parser can be realized by a
simple circuit or program, and the image output device can be made
inexpensive.
[0035] According to the invention, there is also provided an image
processing method, performed by an image supply device connected to
an image supply output via a communication path, the method
comprising steps of:
[0036] storing templates each associated with at least one control
information item; and
[0037] communicating, with the image output device, a control
information item including a script for image processing, which is
described by a markup language and generated from one of the
templates based on the control information item.
[0038] In such a configuration, since the script can be prepared by
editing one of the templates, the script can be generated
quickly.
[0039] According to the invention, there is also provided an image
processing method, performed by an image supply device connected to
an image supply output via a communication path through which the
image data is communicated, the method comprising steps of:
[0040] storing a job specification file for specifying an image
processing job and the image data;
[0041] generating, based on the job specification file, a script
including a command for initiating the image processing job, the
script being described by a markup language; and
[0042] transmitting the script to the image output device.
[0043] According to the invention, there is also provided an image
processing method performed by an image supply device storing image
data and an image output device performing image processing with
respect to the image data, which are connected via a communication
path through which the image data is communicated, the method
comprising steps of:
[0044] communicating, between the image supply device and the image
output device, a control information item including a script for
the image processing, which is described by a markup language;
[0045] transmitting the image data to the image output device,
based on the script; and
[0046] performing the image processing, at the image output device,
with respect to the image data.
[0047] Preferably, the image output device controls a flow of the
image processing.
[0048] In such a configuration, the image supply device is required
to perform only a small amount of information processing. Even when
the image supply device has a low level of information processing
performance, the image supply device can be made inexpensive.
[0049] Here, it is preferable that the image processing method
further comprises a step of transmitting, from the image supply
device to the image output device, a job start command as the
script, in a case where a predetermined actuation on a control
panel of the image supply device is detected. The image output
device performs the image processing in response to the job start
command.
[0050] In such a configuration, even when a user interface of the
image output device is not multifunctional, an image can be output
through use of a user interface (control panel) of the image supply
device. Therefore, good operability is ensured.
[0051] It is further preferable that the image processing method
further comprises steps of:
[0052] generating, at the image output device, a transmission
request for image data designated by the job start command; and
[0053] transmitting the transmission request to the image supply
device,
[0054] wherein the image supply device transmits the image data in
response to the transmission request.
[0055] Preferably, the image supply device controls a flow of the
image processing.
[0056] In such a configuration, the image input device is required
to perform only a small amount of information processing. Even when
the image output device has a low level of information processing
performance, the image output device can be made inexpensive.
[0057] Here, it is preferable that the image processing method
further comprises a step of transmitting, from the image output
device to the image supply device, a job start command as the
script, in a case where a predetermined actuation on a control
panel of the image output device is detected. The image supply
device transmits the image data in response to the job start
command.
[0058] In such a configuration, even when a user interface of the
image supply device is not multifunctional, an image can be output
through use of a user interface (control panel) of the image output
device. Therefore, good operability is ensured.
[0059] According to the invention, there is also provided an image
processing method performed by an image supply device storing image
data and an image output device performing image processing with
respect to the image data, which are connected via a communication
path through which the image data is communicated, the method
comprising steps of:
[0060] storing, in the image supply device, a job specification
file for specifying at least one image processing job and;
[0061] transmitting the job specification file to the image output
device;
[0062] generating, at the image output device, a control
information item described by a markup language, based on the job
specification file; and
[0063] transmitting the control information item to the image
supply device.
[0064] Here, it is preferable that: the image supply device
specifies one of the image data and the job specification file, by
a script including a job start command described by the markup
language; the image output device determines which one of the image
data and the job specification file is specified by the job start
command; the image output device acquires the image data from the
image supply device, in a case where the image output device
determines that the job start command specifies the image data; and
the image output device first acquires the job specification file
from the image supply device, in a case where the image output
device determines that the job start command specifies the job
specification file, and then acquires the image data specified by
the job specification file, from the image supply device.
[0065] In such a configuration, at least one image data to be
subjected to the image processing can be specified on a
per-image-data basis or collectively by the job specification file.
Image output jobs of various patterns can be performed.
[0066] It is also preferable that the job specification file
includes at least one processing condition information item each
associated with one of the at least one image processing job.
[0067] It is also preferable that the job specification file is
stored by a digital print order format (DPOF) standard.
[0068] According to the invention, there is also provided an image
processing method performed by an image supply device storing image
data and an image output device performing image processing with
respect to the image data, which are connected via a communication
path through which the image data is communicated, the method
comprising steps of:
[0069] transmitting, from the image output device to the image
supply device, a status information item pertaining to an operation
status of the image output device, at least a part of which is
described by a markup language; and
[0070] generating, at the image supply device, a control
information item pertaining to a resuming operation of the image
output device, at least a part of which is described by a markup
language.
[0071] Preferably, the status information item includes a
resumption information item which specifies a printed object which
is allocated at a predetermined position in a page layout, and the
method further comprises steps of:
[0072] storing the resumption information item in the image supply
device;
[0073] transmitting, as the control information item, a first
script including a job start command for resuming a print operation
at the image output device, and a second script specifying one
image data to be first printed when the print operation is resumed,
based on the resumption information item, in a case where the state
information item indicates that the print operation is halted;
and
[0074] resuming the print operation from the printed object, in
accordance with the first script and the second script.
[0075] In such a configuration, in the event of occurrence of a
failure in the image output device, the print operation can be
correctly resumed, after recovery, from a location in the job where
the processing has been interrupted.
[0076] Here, it is preferable that the resumption information item
is transmitted only in a case where the print operation is
halted.
[0077] In such a configuration, frequent communication of
resumption information is not required. Hence, print processing can
be correctly resumed, after recovery, without involvement of an
increase in processing during normal operation.
[0078] It is also preferable that the resumption information item
is transmitted every time a page break is conducted during the
print operation.
[0079] In such a configuration, even when difficulty is encountered
in transmitting resumption information at the time of occurrence of
a failure, the print operation can be correctly resumed after
recovery.
[0080] It is also preferable that the resumption information item
includes at least one of a path information item indicating where
the one image data is stored in the image supply device and a
number information item indicating how many times the printed
object is to be supplied to the image output device
repetitively.
[0081] In such a configuration, in the image output device, image
data to be first printed is accurately determined at the time of
resumption. Hence, print processing can be accurately resumed after
recovery.
[0082] Here, it is further preferable that the number information
item is corrected so as to indicate a remained number of the
repetitive supply of the one image data before the one image data
is supplied to the image output device, in a case where a page
break is conducted during the supply of the one image data.
[0083] In such a configuration, even when a value larger than one
is set for the number of repetitive supply is to be performed,
print processing can be accurately resumed after recovery.
[0084] It is also preferable that the image processing method
further comprises steps of:
[0085] detecting, at the image output device, a first condition for
halting the print operation;
[0086] transmitting, as the status information item, a third script
indicating that the first condition is detected;
[0087] halting the print operation after the third script is
transmitted;
[0088] detecting, at the image output device, a second condition
for resuming the print operation; and
[0089] transmitting, as the status information item, a fourth
script indicating that the second condition is detected.
[0090] In such a configuration, the print operation is resumed in
response to a predetermined command after having been recovered
thoroughly, and print processing can be accurately resumed after
recovery.
[0091] According to the invention, there is also provided an image
processing system, comprising:
[0092] an image supply device, operable to store image data;
and
[0093] an image output device, connected to the image supply device
via a communication path through which the image data is
communicated, and operable to perform image processing with respect
to the image data,
[0094] wherein each of the image supply device and the image output
device has a communication controller operable to communicate a
control information item including a script for the image
processing which is described by a markup language.
[0095] According to the invention, there is also provided an image
output device, comprising:
[0096] a communicator, connected to an image supply device storing
image data via a communication path through which the image data is
communicated;
[0097] a communication controller, operable to communicate, with
the image supply device, a control information item including a
script for image processing, which is described by a markup
language; and
[0098] a processor, operable to perform the image processing to
output an image based on the image data and the control information
item.
[0099] According to the invention, there is also provided an image
supply device, comprising:
[0100] a storage, which stores image data;
[0101] a communicator, connected to an image output device
performing image processing with respect to the image data via a
communication path through which the image data is communicated;
and
[0102] a communication controller, operable to communicate, with
the image output device, a control information item including a
script for the image processing which is described by a markup
language.
[0103] According to the invention, there is also provided a
computer program product comprising a computer program which causes
a computer to serve as the communication controller in the above
image output device.
[0104] According to the invention, there is also provided a
computer program product comprising a computer program which causes
a computer to serve as the communication controller in the above
image supply device.
BRIEF DESCRIPTION OF THE DRAWINGS
[0105] The above objects and advantages of the present invention
will become more apparent by describing in detail preferred
exemplary embodiments thereof with reference to the accompanying
drawings, wherein:
[0106] FIG. 1 is a block diagram showing the configuration of an
image output system according to a first embodiment of the
invention;
[0107] FIG. 2 is a view showing an example protocol used between an
image output device and an image supply device in the image output
system of the first embodiment;
[0108] FIG. 3 is a block diagram showing an exemplary configuration
of a printer serving as the image output device in the image output
system of the first embodiment;
[0109] FIG. 4 is a view showing relationships among a plurality of
functions of the image output device in the image output system of
the first embodiment;
[0110] FIG. 5 is a block diagram showing an exemplary configuration
of a digital camera serving as the image supply device in the image
output system of the first embodiment;
[0111] FIG. 6 is a view showing relationships among a plurality of
functions of the image supply device in the image output system of
the first embodiment;
[0112] FIG. 7 is a view for describing image output processing on
the DPS protocol level in the image output system of the first
embodiment;
[0113] FIG. 8 is a view for describing image output processing on
the image transfer protocol level in the image output system of the
first embodiment;
[0114] FIG. 9 is a view showing an example XML script for an image
output job start command employed in the first embodiment;
[0115] FIG. 10 is a view showing an example XML script for a file
acquisition command employed in the first embodiment;
[0116] FIG. 11 is a view showing another example of the protocol
used between the image output device and the image supply device in
the image output system of the first embodiment;
[0117] FIG. 12 is a view showing another example of the protocol
used between the image output device and the image supply device in
the image output system of the first embodiment;
[0118] FIG. 13 is a view for describing a directory structure of
the Digital Print Order Form (DPOF) standard;
[0119] FIG. 14 is a view showing an example of a job specification
file AUTPRINT.MRK of the DPOF standard;
[0120] FIG. 15 is a view for describing image output processing on
the DPS protocol level in an image output system of a second
embodiment;
[0121] FIG. 16 is a view for describing image output processing on
the image transfer protocol level in the image output system of the
second embodiment;
[0122] FIG. 17 is a view showing an example XML script for an
object ID acquisition command employed in the second
embodiment;
[0123] FIG. 18 is a view showing an example XML script for a
response to the object ID acquisition command employed in the
second embodiment;
[0124] FIG. 19 is a view showing an example XML script for a file
information acquisition command employed in the second
embodiment;
[0125] FIG. 20 is a view showing an example XML script for a
response to the file information acquisition command employed in
the second embodiment;
[0126] FIG. 21 is a status transition view pertaining to an image
output device in an image output system of a third embodiment;
[0127] FIG. 22 is a flowchart for describing recovery processing
performed during normal printing operation of the image output
system of the third embodiment;
[0128] FIG. 23 is a flowchart for describing recovery processing of
the image output system of the third embodiment;
[0129] FIG. 24 is a view showing an example XML script for job
status notification employed in the third embodiment;
[0130] FIG. 25 is a view showing an example XML script for device
status notification employed in the third embodiment;
[0131] FIG. 26 is a view showing an example XML script for a print
job start command employed at the time of resumption of a job in
the third embodiment;
[0132] FIG. 27 is a view for describing resumption of printing
operation in the image output system of the third embodiment;
[0133] FIG. 28 is a flowchart for describing another example of
recovery processing of the image output system according to the
third embodiment of the invention;
[0134] FIG. 29 is a flowchart for describing another example of
recovery processing of the image output system according to the
third embodiment of the invention; and
[0135] FIG. 30 is a block diagram showing the configuration of an
image output system according to a fourth embodiment of the
invention.
DETAILED DESCRIPTION OF THE INVENTION
[0136] Preferred embodiments of the invention will be described
hereinbelow with reference to the accompanying drawings.
[0137] FIG. 1 shows an image output system according to a first
embodiment of the invention. This image output system can be taken
as one type of so-called direct print system. In this embodiment,
an image output device 1 is a device for outputting images on the
basis of image data. The image output device 1 is embodied in the
form of a printer or the like which prints images on paper on the
basis of image data. An image supply device 2 is a device capable
of storing image data and transmitting image data as required. The
image supply device 2 is embodied in the form of a digital still
camera or the like which stores captured images on a predetermined
storage medium as image data.
[0138] A communication path 3 is a transmission medium for
connecting the image output device 1 to the image supply device 2.
The communication path 3 is not limited to a cable communication
path, and a wireless communication path may also be employed. In
the first embodiment, a universal serial bus (USB) cable is used as
the communication path 3. In a case where the communication path 3
is a cable communication path, an unillustrated connector is
provided on the image output device 1 and the image supply device
2, thereby connecting connectors provided on respective ends of the
cable of the communication path 3 to connectors of the devices 1
and 2.
[0139] In the image output device 1 shown in FIG. 1, a communicator
11 is a circuit for communicating various information items as
electrical signals via the communication path 3. A communication
controller 12 is a circuit or device which controls the
communicator 11 to exchange information with a mating device in
accordance with various protocols. The communicator 11 and the
communication controller 12 exchange, by way of the communication
path 3, control information pertaining to an image output as a
series of scripts described in markup languages.
[0140] An output controller 13 is a circuit or device which
controls and monitors an output mechanism 14, thereby controlling
image output processing (i.e., print processing in a case where the
image output device 1 is a printer). In the first embodiment, the
output controller 13 controls a processing flow pertaining to an
image output. The output mechanism 14 is a mechanical and/or
electrical constitution section for outputting images. In the case
of a printer, the output mechanism 14 corresponds to a print
mechanism and a paper feed mechanism. The output controller 13 and
the output mechanism 14 output an image on the basis of image
data.
[0141] A control panel 15 is a circuit or device which is to be
manipulated by the user and outputs a signal in response to
manipulation. Various switches or a touch panel is used as the
control panel 15, as required. A display 16 is a device for display
various information items. Various indicators or a liquid-crystal
display is used as the display 16, as required.
[0142] A power supply 17 is a circuit which is connected to
commercial power or an AC/DC converter and feeds supplied power to
internal circuits.
[0143] In the image supply device 2 shown in FIG. 1, a communicator
21 is a circuit which exchanges various information items in the
form of electrical signals by way of the communication path 3. A
communication controller 22 is a circuit or device which controls
the communicator 21 to exchange information with a mating device in
accordance with various protocols. The communicator 21 and the
communication controller 22 exchange, by way of the communication
path 3, control information pertaining to an image output as a
series of scripts described in markup languages.
[0144] A central controller 23 is a circuit or device which
performs various processing operations while exchanging various
information items with circuits or devices having various
functions, such as the communication controller 22 and a storage
medium 24.
[0145] The storage medium 24 is a device which stores at least one
image data file 31. The image data file 31 is a file which includes
image data pertaining to, e.g., images captured by a digital
camera, or other images. The format of the image data is, e.g., a
JPEG (Joint Photographic Experts Group) format or an EXIF
(Exchangeable Image File) format.
[0146] Semiconductor memory, a memory card using semiconductor
memory, a magnetic storage medium, an optical storage medium, or an
electro-optical storage medium is used as the storage medium 24.
The storage medium may be fixed or removably attached to the image
supply device 2.
[0147] A control panel 25 is a circuit or device which is to be
manipulated by the user and outputs a signal in response to
manipulation. Various switches or a touch panel is used as the
control panel 25, as required. A display 26 is a device for display
various information items, such as images based on image data.
Various indicators or a liquid-crystal display is used as the
display 26, as required.
[0148] A battery 27 supplies power to internal circuits of the
image supply device 2. A storage battery or a disposable battery is
used as the battery 27. When the image supply device 2 is a device
requiring portability, the battery 27 is provided as a power
source. When the image supply device 2 is a device which does not
require portability, a power supply as well as the power supply 17
of the image output device 1, may be provided as a power
source.
[0149] FIG. 2 shows an example protocol used between the image
output device 1 and the image supply device 2.
[0150] As shown in FIG. 2, in the first embodiment, the
communication path 3; that is, a USB cable, is used as a physical
layer. In the image output device 1 and the image supply device 2,
both pertaining to the first embodiment, a USB layer is adopted as
a layer for controlling the physical layer. A still image capture
device class (SIC) is used as a USB class. As a result, a data
transmission path is realized. In relation to the USB standards,
USB 1.1 and USB 2.0 are currently in use. However, the next version
or subsequent versions, which would be proposed in future, may also
be used, or a communication standard equivalent to the USB may also
be used instead. When a USB is used for the communication path 3,
the image output device 1 serves as a host, and the image supply
device 2 serves as a device.
[0151] A picture transfer protocol (PTP) is used at a higher level
for specifying control of a digital still picture device (DSPD)
from the outside or transfer of image data to the outside of the
digital still picture device (DSPD). "PIMA15740:2000" proposed by
Photographic and Imaging Manufacturers Association, Inc is
available as a set of PTP standards. Here, PTP is a protocol which
offers a communications system for exchanging image data between
DSPDs. In relation to the PTP, an object (e.g., an image data file)
stored in a storage is specified not by a path but by an object ID
(i.e., an object handle).
[0152] In the first embodiment, a direct print service (hereinafter
abbreviated as "DPS") protocol is used at a higher level of the PTP
for supplying image data stored in the image supply device 2, such
as a digital camera, directly to the image output device 1, such as
a printer, by way of the communication path 3, to thereby perform
printing operation. In relation to the DPS protocol, control
information about an image output is exchanged as a series of
scripts described in an markup language (here, XML: Extensible
Markup Language) between the image output device 1 and the image
supply device 2 by way of the communication path 3.
[0153] Control information pertaining to an image output includes
various commands pertaining to image output processing, responses
to the commands, and notification of statuses of devices. The
script includes only control information and does not include any
image data which are objects of image output operation.
Specifically, the script includes information about a location for
storing image data files, but does not include image data.
[0154] A low-level layer of the DPS protocol is not limited to the
PTP. Therefore, a wrapper layer is provided between the DPS
protocol and a low-level layer (here a PTP) for achieving
consistency between the DPS protocol and low-level layers of a
plurality of types.
[0155] In the first embodiment, among the previously-described
protocols, the physical layer is embodied by the communicator 11,
the communication path 3, and the communicator 21. The USB layer is
embodied by the communicator 11 and the communicator 21. The PTP
layer, the wrapper layer, and the DPS protocol layer are realized
by the communication controller 12 and the communication controller
22.
[0156] Specifically, each of the communication controllers 12, 22
serves as a first entity for interpreting a DPS protocol, which is
an image output control protocol to be used for exchanging control
information pertaining to image output described in markup
languages; a second entity for interpreting a PTP, which is an
image data file management protocol located at a level lower than
the first entity, and used for managing the image data stored in
the image supply device 2 and transferring the image data to the
image output device 1; and a third entity which is located at a
level lower than the second entity for controlling a physical layer
of the communication path 3. Here, the term "entity" refers to a
substance for realizing a communications function relating to a
certain protocol.
[0157] The wrapper layers in the respective communication
controllers 12, 22 effect a protocol conversion between an image
output control protocol and an image data file management protocol
of the first entity, both protocols being suitable for the type of
the image data file management protocol of the second entity.
Namely, the wrapper layers of the respective communication
controllers 12, 22 replace a high-level protocol (DPS protocol)
command with a low-level protocol (PTP) command, as required.
[0158] FIG. 3 shows an example configuration of a printer serving
as the image output device 1. In the printer, a CPU 41 is a device
which executes a program, to thereby perform processing described
in the program. A ROM 42 is a memory which stores programs and data
in advance. A RAM 43 is a memory which temporarily stores a program
and data when executing the program.
[0159] A program to be used for producing print control data from
image data and a program for effecting communication in accordance
with a DPS protocol and an image transfer protocol are stored, as
programs to be executed by the CPU 41, in the ROM 42 or another
unillustrated storage medium.
[0160] A print engine 44 is a circuit or device which controls the
output mechanism 14, to thereby perform print processing in
accordance with the print control data supplied from the CPU
41.
[0161] A USB host interface 45 corresponds to the communicator 11
shown in FIG. 1 and is a host interface circuit which is specified
by the USB.
[0162] A bus 46 is a signal channel for interconnecting the CPU 41,
the ROM 42, the RAM 43, the print engine 44, the USB host interface
45, the control panel 15, and the display 16. The number of buses
46 and a topology of connection of the CPU 41 and the print engine
44 to the bus 46 are not limited to those shown in FIG. 3.
[0163] The control panel 15 and the display 16, which are shown in
FIG. 3, are analogous to those shown in FIG. 1.
[0164] FIG. 4 shows relationships between a plurality of functions
of the image output device 1. A communication control function 51
is a function for effecting communication control under an image
transfer protocol.
[0165] A DPS protocol processing function 52 includes a DPS command
processing function 61, which produces and interprets control
information specified by the DPS protocol; an XML script generating
function 62, which produces an XML script corresponding to the
control information; and an XML server 63, which subjects to syntax
analysis the control information described in an XML.
[0166] The XML server 63 may be designed to enable analysis of all
syntaxes in an XML or analysis of only syntaxes used in the DPS
protocol. In such a case, the only requirement for the XML server
63 is to be able to discern only a tag required to describe an XML
script related to the DPS protocol.
[0167] The XML script generating function 62 may be set so as to
previously store templates of XML scripts in the ROM 42 according
to the types of control information items, such as commands, and to
generate an XML script showing control information by editing the
template.
[0168] An image processing function 53 is a function for changing
the format of image data. A print data generating function 54 is a
function for generating print control data from image data whose
format has been changed. A print control function 55 is a function
for performing print processing in accordance with the print
control data.
[0169] A status management function 56 is a function for monitoring
processing statuses of the previously-descried respective
functions.
[0170] The functions are realized by the CPU 41 executing the
program.
[0171] FIG. 5 shows an example configuration of a digital camera
serving as the image supply device 2. In the digital camera, a CPU
71 is a device which executes a program, to thereby perform
processing described by the program. A ROM 72 is a memory for
storing programs and data in advance. A RAM 73 is a memory for
temporarily storing a program and data when executing the
program.
[0172] A program to be used for controlling individual sections
during photographing operation and a program for effecting
communication and management of image data in accordance with a DPS
protocol and an image transfer protocol are stored, as programs to
be executed by the CPU 71, in the ROM 72 or another unillustrated
storage medium.
[0173] An imaging device 74 images a subject in accordance with a
command from the CPU 71 and stores obtained image data into a
memory card 75.
[0174] The memory card 75 corresponds to the storage medium 24
shown in FIG. 1 and is a storage medium for storing image data
obtained through imaging. Semiconductor memory or a magnetic
recording device, which is fixed in a device, may be used in place
of the memory card 75.
[0175] A USB device interface 76 corresponds to the communicator 21
shown in FIG. 1 and is a device interface circuit specified by the
USB.
[0176] A bus 77 is a signal channel for interconnecting the CPU 71,
the ROM 72, the RAM 73, the imaging device 74, the memory card 75,
the USB device interface 76, the control panel 25, and the display
26. The number of buses 77 and the topology of connection of the
CPU 71 to the bus 77 are not necessarily limited to those shown in
FIG. 5.
[0177] The control panel 25 and the display 26, which are shown in
FIG. 5, are analogous to those shown in FIG. 1.
[0178] FIG. 6 shows relationships between a plurality of functions
of the image supply device 2. A communication control function 81
is a function for effecting communication control under an image
transfer protocol.
[0179] A DPS protocol processing function 82 includes a DPS command
processing function 91, which produces and interprets control
information specified by the DPS protocol; an XML script generating
function 92, which produces an XML script corresponding to the
control information; and an XML server 93, which subjects to syntax
analysis the control information described in an XML.
[0180] The XML server 93 may be designed to enable analysis of all
syntaxes in an XML or analysis of only syntaxes used in the DPS
protocol. In such a case, the only requirement for the XML server
93 is to be able to discern only a tag required to describe an XML
script related to the DPS protocol.
[0181] The XML script generating function 92 may be set so as to
previously store templates of XML scripts in the ROM 72 according
to the types of control information items, such as commands, and to
generate an XML script showing control information by editing the
template.
[0182] A file system management function 83 is a function which
stores image data as an image data file 31 in the memory card 75
serving as the storage medium 24, in accordance with a
predetermined directory structure and a file structure.
[0183] A user interface function 84 is a function for accepting
operation of the control panel 25 performed by the user and
displaying various information items on the display 26.
[0184] A setting management function 85 is a function for setting
requirements, such as print processing, in accordance with the
user's operation. A status management function 86 is a function for
monitoring processing statuses of the aforementioned functions.
These functions are realized by the CPU 71 executing the
program.
[0185] Operations of the individual devices in the system will now
be described. FIG. 7 shows image output processing at the DPS
protocol level. FIG. 8 shows image output processing at the image
transfer protocol level.
[0186] First, when a predetermined operation has been performed by
way of, e.g., the control panel 25, the image supply device 2
transmits an image output job start command to the image output
device 1 by way of the communication path 3 (step S1).
[0187] At that time, in the image supply device 2, the
communication controller 22 produces and transmits an XML script of
an image output job start command "DPS_StartJob" in accordance with
the DPS protocol. Here, image data which are objects of image
output are specified within the XML script.
[0188] The image output job start command "DPS_StartJob" includes
the next job requirement setting information and image output
information.
[0189] As required, the job requirement setting information include
quality information for setting the quality of an image output
pertaining to a current job, paper type information pertaining to a
current print job, paper size information pertaining to a current
print job, image format information, image optimization setting
information, and page layout information.
[0190] As required, the image input information include cropping
area information for specifying an area required when cropping
operation is performed, an object ID of image data, copy number
information pertaining to each image, a job ID unique to each job,
path information pertaining to image data or a job specification
file, and repeated supply count information pertaining to each
image data (i.e., information showing the number of times identical
image data are consecutively supplied to the image output device
1).
[0191] FIG. 9 shows an example XML script of an image output job
start command "DPS_StartJob". A job tag is a tag to be used for
specifying one job. Here, when a reference is made to an XX tag,
the tag designates both a <XX> tag and a </XX> tag (the
same also applies to any counterparts in the following
descriptions). A jobconfig tag and a printInfo tag are arranged
below the job tag. The jobconfig tag is for specifying job
requirement setting information.
[0192] In the script shown in FIG. 9, a quality tag, a paperSize
tag, a paperType tag, a fileType tag, a date tag, a fileName tag,
an imageOptimize tag, and a layoutItem tag are arranged below the
jobconfig tag.
[0193] The quality tag is for specifying quality information, such
as a standard, a draft, or a fine. The paperSize tag is for
specifying paper size information pertaining to a current job, such
as an A4-size. A paper size is specified by a predetermined numeral
(e.g., 02010000). The paperType tag is for specifying paper type
information pertaining to a current job, such as standard paper or
photographic paper. The paper size is specified by a predetermined
numeral (e.g., 03020000). The fileType tag is for specifying image
format information pertaining to a current job, such as EXIF, JPEG,
TIFF, and GIF, and an image format is specified by a predetermined
numeral (e.g., 04150000).
[0194] The date tag is for specifying whether or not date
information specified by a printInfo tag is to be printed. The
fileName tag is for specifying whether or not the file path
information specified by the printInfo tag is to be printed. The
imageOptimize tag is for specifying image optimization setting
information showing whether or not image optimization is to be
effected. The layoutItem tag is for specifying a page layout of a
current job. An image format is specified by a predetermined
numeral (e.g., 08010000).
[0195] The printInfo tag is for specifying image output
information. An image tag is arranged at a position lower than the
printInfo tag. The image tag is for specifying an image which is an
object of image output. In the script shown in FIG. 9, an imageID
tag and an imageDate tag are arranged at a position lower than the
image tag. The imageID tag is for specifying an object ID of image
data which are objects of image output. The imageDate tag is for
designating a date to be printed beside an image.
[0196] The script shown in FIG. 9 includes only one image tag.
However, in a case where a plurality of images are to be output, an
image data object ID is specified for each of the plurality of
images by the image tag. When a single image is to be output
repetitively a plurality of times, a copies tag is arranged
subsequent to an image tag of the image, whereby the number of
times feeding operation to be repeated is specified.
[0197] A dps tag shown in FIG. 9 is a tag which shows an XML script
pertaining to a DPS and takes, as an attribute, an URL (Uniform
Resource Locator) which is a location at which name space
information to be used for DPS is stored.
[0198] Logically, the communication controller 22 of the image
supply device 2 transmits the XML script of the job start command
in accordance with a DPS protocol. However, the communication
controller 22 converts the XML script into a command of an image
transfer protocol and processes that command on the image transfer
protocol level.
[0199] Specifically, the communication controller 22 of the image
supply device 2 first transmits a file transfer request command
"RequestObjectTransfer" (step SS1) in accordance with the image
transfer protocol. The command is transmitted to the image output
device 1 by way of the USB layer and the physical layer.
[0200] In the image output device 1, the communication controller
12 transmits a command "GetObjectInfo" for inquiring an attribute
of a file to be transferred upon receipt of the file transfer
request command "RequestObjectTransfer" in accordance with the
image transfer protocol (step SS2). The command is transmitted to
the image supply device 2 by way of the USB layer and the physical
layer.
[0201] In the image supply device 2, the communication controller
22 transmits file information about an XML script of a command
"DPS_StartJob" (a file format, a file volume, or the like) upon
receipt of a command "GetObjectInfo" in accordance with the image
transfer protocol (step SS3). The file information is transmitted
to the image output device 1 by way of the USB layer and the
physical layer.
[0202] In the image output device 1, the communication controller
12 specifies the XML script upon receipt of the file information in
accordance with the image transfer protocol, thereby transmitting a
file acquisition command "GetObject" (step SS4). The file
information is transmitted to the image supply device 2 by way of
the USB layer and the physical layer.
[0203] In the image supply device 2, the communication controller
22 transmits a specified file (an XML script of a command
"DPS_StartJob") upon receipt of the command "GetObject" in
accordance with the image transfer protocol (step SS5). The file is
transmitted to the image output device 1 by way of the USB layer
and the physical layer.
[0204] In the image output device 1, the communication controller
12 receives the file in accordance with the image transfer
protocol, thereby receiving the command "DPS_StartJob" at a DPS
protocol layer.
[0205] Here, the image output device 1 is a printer shown in FIGS.
3 and 4. In a case where the image supply device 2 is a digital
camera shown in FIGS. 5 and 6, communication under a DPS protocol
is effected by the DPS protocol processing functions 52, 82 and
communication control functions 51, 81. Communication under an
image transfer protocol is performed between the communication
control function 51 and the communication control function 81.
[0206] Next, the image output device 1 interprets an XML script of
the acquired image output job start command (step S2), and image
data which are objects of image output, the objects being described
in the XML script, are acquired from the image supply device 2
(step S3).
[0207] In the first embodiment, after an image output job start
command has been received from the image supply device 2, the image
output device 1 controls a processing flow of the image output job.
Specifically, the image output device 1 manages progress in image
output processing, and information and image data, both being
required for image output processing, are acquired from the image
supply device 2, as required.
[0208] At that time, in the image output device 1, the
communication controller 12 specifies an image data file 31 by an
object ID (corresponding to an object ID in the PTP) described in
the XML script in accordance with the DPS protocol, thereby issuing
the file acquisition command "DPS_GetFile" of the XML script. An
object ID in a PTP pertaining to a certain object and an object ID
in the DPS protocol may be set to a single value or different
values. When the object IDs have different values, the object ID of
the DPS protocol and the object ID of the PTP are mapped, as
necessary.
[0209] FIG. 10 shows an example XML script of the file acquisition
command "DPS_GetFile" used in the first command. The getFileRequest
tag is a tag showing a file acquisition command. The fileID tag and
a buffPtr tag are arranged at positions lower than the
getFileRequest tag. The fileID tag is for specifying an object ID
of a file which is an object of acquisition. The buffPtr tag is for
specifying a pointer of a buffer to be used for receiving the
acquired file.
[0210] The communication controller 12 converts the file
acquisition command "DPS_GetFile" of the DPS protocol into a file
acquisition command "GetObject" of the image transfer protocol and
then transmits the thus-converted command. The command is
transmitted to the image supply device 2 by way of the USB layer
and the physical layer.
[0211] In place of the file acquisition command "DPS_GetFile" to be
used for acquiring all files, a partial file acquisition command
"DPS_GetPartialFile" to be used for acquiring a part of a file may
be transmitted several times, to thereby acquire the overall file.
In such a case, the partial file acquisition command
"DPS_GetPartialFile" is converted into a command "GetPartialObject"
of the image transfer protocol.
[0212] In the image supply device 2, the communication controller
22 reads a file (i.e., an image data file 31) of a specified object
ID upon receipt of the command "GetObject" in accordance with the
image transfer protocol and transmits the file. The file is
transmitted to the image output device 1 by way of the USB layer
and the physical layer.
[0213] In the image output device 1, when the communication
controller 12 has received the file in accordance with the image
transfer protocol, the file is also considered to have been
received by the DPS protocol layer.
[0214] Here, when the image output device 1 is the printer shown in
FIGS. 3 and 4 and the image supply device 2 is the digital camera
shown in FIGS. 5 and 6, the DPS protocol processing function 52 and
the communication control function 51, both belonging to the image
output device 1, and the communication control function 81 and the
file system management function 83, both belonging to the image
supply device 2, are used for acquiring the image data.
[0215] In the image output device 1, when the image data are
acquired, an image based on the image data is output (step S4). At
that time, in the image output device 1, the output controller 13
and the output mechanism 14 perform the image output
processing.
[0216] Here, when the image output device 1 is the printer shown in
FIGS. 3 and 4, the image processing function 53, the print data
generating function 54, and the print control function 55 are used
for image output processing.
[0217] As mentioned above, according to the first embodiment, the
image output device 1 and the image supply device 2 communicate
control information pertaining to image output as a series of
scripts described in a markup language by way of the communication
path 3. As a result, correction of the protocol after prescription
can be facilitated by utilization of extensibility of the syntax of
a markup language while compatibility among a plurality of vendors
is maintained.
[0218] According to the first embodiment, an XML which enables
additional definition of a document type is used as a markup
language. As a result, correction of the protocol after
prescription can be facilitated.
[0219] According to the first embodiment, each of the communication
controllers 12, 22 serves as a first entity for interpreting a DPS
protocol to be used for exchanging control information pertaining
to image output described in a markup language; a second entity
which is located at a level lower than the first entity and
interprets a PTP to be used for managing the image data file stored
in the image supply device 2 and transferring the image data to the
image output device 1; and a third entity which is located at a
level lower than the second entity and controls a physical layer (a
USB in this embodiment) of the communication path 3. As a result,
various existing protocols can be used at hierarchical levels lower
than the PTP. When correction of a protocol pertaining to image
output is desired after the protocol has been prescribed, the only
requirement is to amend the DPS protocol, and hence the amount of
correction can be reduced.
[0220] According to the first embodiment, the communication
controllers 12, 22 convert the DPS protocol of the first entity
into the image data file management transfer protocol or vice versa
in accordance with the kind of image data file management transfer
protocol of the second entity (PTP in the embodiment) at a wrapper
layer. As a result, the wrapper layer absorbs a difference between
the adopted image data file management transfer protocols. Hence,
when correction of a protocol pertaining to image output is desired
after having been prescribed, the only requirement is to amend the
image output control protocol without involvement of any
substantial corrections on the wrapper layer, and hence the amount
of correction can be reduced.
[0221] According to the first embodiment, the output controller 13
of the image output device 1 controls the processing flow of image
output operation. As a result, the volume of information processing
to be performed by the image supply device 2 essentially does not
increase. Hence, the present system can be embodied even when the
image supply device has a low level of information processing
performance.
[0222] According to the first embodiment, the communication
controllers 12, 22 communicate, as control information pertaining
to image output and in the form of a series of scripts described in
a markup language, a control command for image output processing, a
response to the control command, and notification of a status of
the device (including a job status). As a result, a control command
which is on a text basis and easy to read, a response to the
control command, and notification of status of the device can be
communicated, and the protocol can be made easy to correct after
prescription while compatibility between a plurality of vendors is
maintained.
[0223] According to the first embodiment, the communication
controllers 12, 22 communicate, as a series of scripts described in
a markup language, a script which does not include image data to be
an object of image output and includes only control information
pertaining to image output. As a result, the control information
described in a markup language can be communicated independently of
the data which are to become an object of image output, without
modifying the format of data to be an object of image output from
an existing format.
[0224] According to the first embodiment, the image output device 1
has an output mechanism 14 for outputting an image, and an output
controller 13 which produces, from image data, control data to be
used for controlling an output mechanism and controls the output
mechanism on the basis of the control data. As a result, the image
supply device 2 can be dispensed with a function for producing,
from image data, control data to be used for controlling the output
mechanism (e.g., a function included in a conventional printer
driver used in a personal computer), and hence the image supply
device 2 can be made inexpensive.
[0225] According to the first embodiment, when the XML server 63 of
the image output device 1 is configured to determine only a tag
required to describe the control information pertaining to image
output from among the tags described in a markup language, the XML
server 64 can be implemented by a small-amount circuit or program,
thereby rendering the image output device 1 inexpensive.
[0226] According to the first embodiment, when the XML server 93 of
the image supply device 2 is configured to determine only a tag
required to describe the control information pertaining to image
output from among the tags described in a markup language, the XML
server 93 can be implemented by a small-amount circuit or program,
thereby rendering the image supply device 2 inexpensive.
[0227] According to the first embodiment, the communication
controllers 12, 22 store templates of scripts according to types of
control information and produce scripts of control information from
the templates. As a result, only portions for which templates have
not been determined must be edited, thereby enabling generation of
a script of control information within a short time period.
[0228] According to the first embodiment, when a predetermined
operation has been performed by way of the control panel 25, the
communication controller 22 and the communicator 21, both belonging
to the image supply device 2, transmit an image output job start
command to the image output device 1 as control information. Upon
receipt of the image output job start command by way of the
communication controller 12 and the communicator 11, the output
controller 13 of the image output device 1 commences image output
processing in accordance with the image output job start command.
As a result, the image output can be performed by the user
operating the control panel 25 of the image supply device 2. When
the image supply device 2 has the user-friendly control panel 25,
operability of the control panel 25 is improved.
[0229] According to the first embodiment, when the image data
stored in the image supply device 2 are required during image
output processing, the communication controller 12 of the image
output device 1 transmits to the image supply device 2 a request
for transmission of image data. Upon receipt of the request for
transmission of the image data, the communication controller 22 of
the image supply device 2 transmits the image data to the image
output device 1. As a result, the only requirement for the image
supply device 2 is to send the image data in accordance with the
request from the image output device 1. Hence, the quantity of
image processing operation of the image supply device 2 essentially
does not increase, and the present system can be embodied even when
the image supply device 2 has a low level of information processing
performance.
[0230] The image output system of the first embodiment has a first
entity for interpreting an image output control protocol as being
located at a level higher than the third entity for controlling a
physical layer of the communication path, and the second entity for
interpreting the image data file management protocol. Basically,
regardless of the types of the communication path and the third
entity, an image can be output through use of control information
pertaining to the image output suited for the DPS protocol through
use of the first entity, by only changing the second entity.
[0231] Consequently, the vendor of the image supply device can
construct the first entity without awareness of the type of a
communication path adopted by each vendor of the image output
device. Identical control information can be exchanged between the
image supply device and the respective image output devices by
combination of the thus-constructed first entity with the second
entity corresponding to the selected communication path. Similarly,
even a vendor of the image output device can exchange single
control information between the image output device and the
respective image supply devices by combination of the
thus-constructed first entity with the second entity corresponding
to the selected communication path. Therefore, control information
compatibility pertaining to image output among a plurality of
vendors is ensured.
[0232] Further, in the image output system, the control information
pertaining to image output is described in a markup language.
Therefore, the control information is on a text basis and easy to
read, and addition and correction of the control information after
prescription is easy. Moreover, when control information pertaining
to image output is desired to be subjected to addition or amendment
after prescription, the only requirement is to correct the first
entity, whereby the amount of correction required at the time of
addition and modification is made smaller.
[0233] Moreover, according to the first embodiment, a PTP is used
as an image data file management protocol. As a result, various
existing protocols can be used at the second and third entities
corresponding to the protocols located at a level lower than the
image data file management protocol. An image output system which
communicates control information pertaining to image output can be
formed within a short time period. Further, the protocol becomes
easily subjected to addition or correction after prescription. The
same advantage can be expected to be yielded even when a USB mass
storage class is used as the image data file management protocol in
place of the PTP.
[0234] According to the first embodiment, the third entity controls
the USB. The third entity also uses a still image class as the
class of the USB. As a result, an existing entity can be utilized
for at least the third entity. An image output system which
exchanges control information pertaining to image output can be
formed within a short time period. Further, addition or correction
of the protocol after prescription becomes easy.
[0235] According to the first embodiment, the communication
controllers 12, 22 convert the image output control protocol of the
first entity into the image data file management protocol of the
same or vice versa at the wrapper layer, according to the type of
the image data file management protocol of the second entity (the
PTP in the embodiment). As a result, the wrapper layer absorbs a
difference between the adopted image data file management
protocols, as required. Therefore, the image output control
protocol of the first entity is not corrected essentially even when
the image data file management protocol of the second entity is
changed to another protocol or corrected. Accordingly, addition or
correction of the protocol after prescription becomes easy.
Moreover, an image output system for communicating control
information pertaining to image output can be formed within a short
time period.
[0236] According to the first embodiment, the output controller 13
of the image output device 1 controls a processing flow of image
output. As a result, the quantity of information processing to be
performed by the image supply device 2 essentially does not
increase. The system can be implemented even when the image supply
device 2 has a low level of information processing performance.
[0237] According to the first embodiment, the communication
controllers 12, 22 communicate, as control information pertaining
to image output and in the form of a series of scripts described in
a markup language, a control command for image output processing, a
response to the control command, and notification of a status of
the device (including a job status). As a result, a control command
which is on a text basis and easy to read, a response to the
control command, and notification of status of the device can be
communicated, and the protocol can be made easy to correct after
prescription while compatibility between a plurality of vendors is
maintained.
[0238] In the first embodiment, each of the communication
controllers 12, 22 has one second entity and one third entity. As
illustrated in a case shown in FIG. 11 where three entities are
provided, each of the communication controllers 12, 22 may have a
plurality of sets, each consisting of a second entity and a
corresponding third entity.
[0239] The image output system shown in FIG. 11 has, as layers
located at levels lower than the first entity, a second entity for
interpreting a PTP and a third entity for controlling a physical
layer at the still image class of the USB; a second entity for
implementing a file system using an SCSI and a third entity for
controlling a physical layer at a USB mass storage class; a second
entity for implementing a file system; and a third entity for
controlling a physical layer at a TCP/IP and a wireless LAN
protocol. As a result, the image output system enables exchange of
identical control information through use of any one of
combinations of the plurality of image data file management
protocols and a communication path.
[0240] The image output system shown in FIG. 11 has a wrapper layer
between the first entity and the respective second entities. The
wrapper layer translates control information between the image
output control protocol of the first entity and the respective
image data file management protocols of the same, according to the
type of the image data file management protocol of the second
entity. Further, the image output device 1 and the image supply
device 2 of the image output system have a selector for selecting a
combination for use in exchanging the control information, from
among a plurality of combinations of the second and third entities.
The selector is implemented by the communication controllers 12,
22, or the output controller 13 and the central controller 23.
[0241] As a result, the wrapper layer (protocol converter) can
absorb a difference between image data file management protocols
utilized by the second entity. Therefore, the image output control
protocol of the first entity is not subjected to any substantial
correction even when the image data file management protocol of the
first entity is changed or corrected to another protocol.
Accordingly, the protocol becomes easily subjected to addition or
amendment after prescription. Further, an image output system for
communicating control information pertaining to an image output can
be formed within a short time period. Moreover, as a result of the
selector making a switch between the second and third entities,
control information pertaining to an image output can be
continuously communicated by utilization of a combination of the
second and third entities that differs from that utilized thus
far.
[0242] In relation to the protocol hierarchy shown in FIGS. 2 and
11, a wrapper layer is provided between the DPS protocol layer and
the low-level protocol layer in order to cope with variations in
the low-level protocol layer. However, as shown in FIG. 12, a
function equivalent to that of the wrapper layer is imparted to the
lowest layer of the DPS protocol layer, and a layer for managing a
control flow of print processing of the DPS protocol may be
provided as an application layer, such as another program (i.e., an
entity).
[0243] In an image output system according to a second embodiment
of the invention, the image supply device 2 stores image data and a
job specification file for specifying an image output job. The
image output device 1 acquires the job specification file, and on
the basis of the information about the job specification file,
generates control information pertaining to an image output
described in a markup language.
[0244] In the second embodiment, the image data and the job
specification file are stored in the storage medium 24 by the DPOF
(Digital Print Order Format). The current version of DPOF is
version 1.10. However, the next version and subsequent versions,
which will be proposed in future, may also be adopted.
Alternatively, another standard which will yield the same working
effect may also be used in place of the DPOF.
[0245] FIG. 13 is a view for describing a directory structure of
the DPOF standard. According to a directory structure of the DPOM
standard, low-level directories located at the root level include a
directory DCIM located at a level higher than the image data file,
and a directory MISC located at a level higher than the job
specification file. A directory unique to a vendor (e.g., 100EPSON
in the embodiment) is provided at a level lower than the directory
DCIM. An image data file (e.g., IMAGE 01.JPEG) is provided in the
directory. The directory MISC includes AUTPRINT.MRK, which is a
print job specification file. The job specification file
AUTPRINT.MRK of DPOF standard includes print job information, image
source information, and print setting information.
[0246] FIG. 14 is a view showing an example job specification file
AUTPRINT.MRK of the DPOF standard. The AUTPRINT.MRK shown in FIG.
14 includes three jobs. A job ID (PRT PID), a print type (PRT TYP),
the number of copies (PRT QTY), the location where image data are
stored (IMG SRC), and image data format (IMG FMT) are specified for
each of the jobs.
[0247] The image output device 1 and the image supply device 2,
both belonging to the second embodiment, are basically identical
with those described in connection with the first embodiment.
However, as will be described below, the communication controller
12 and the communication controller 22, both belonging to the
second embodiment, are changed.
[0248] Operations of individual devices of the system will now be
described. FIG. 15 is a view for describing image output processing
at the DPS protocol level in the image output system of the second
embodiment. FIG. 16 is a view for describing image output
processing at the image transfer protocol level in the image output
system of the second embodiment.
[0249] When a predetermined operation is performed by way of, e.g.,
the control panel 25, the image supply device 2 transmits the image
output job start command to the image output device 1 by way of the
communication path 3 (step S21).
[0250] At that time, the communication controller 22 in the image
supply device 2 generates and transmits an XML script of an image
output job start command "DPS_StartJob". Here, use of the job
specification file is described in the XML script. Specifically, in
the script, such as that shown in FIG. 9, the job specification
file is specified by an image ID tag for specifying image data. An
object ID of the job specification file is used for the specifying
operation.
[0251] Communication processing to be performed when the XML script
of the image output job start command "DPS_StartJob" is transmitted
from the image supply device 2 to the image output device 1 is
identical with that pertaining to step S1 in the first embodiment,
and hence its explanation is omitted.
[0252] Next, the image output device 1 interprets the thus-acquired
XML script (step S22), and the job specification file described in
the XML script is acquired by way of the image supply device 2
(step S23).
[0253] At that time, in the image output device 1, the
communication controller 12 specifies the job specification file in
accordance with the DPS protocol through use of an object ID
(corresponding to an object ID in the PTP) described in the XML
script, thereby transmitting the file information acquisition
command "DPS_GetFileInfo" of the XML script. The communication
controller 12 converts the file information acquisition command
"DPS_GetFileInfo" of the DPS protocol into the file information
acquisition command "GetObjectInfo" of the image transfer protocol
and transmits the thus-converted command (step SS11). This command
is transmitted to the image supply device 2 by way of the USB layer
and the physical layer.
[0254] In the image supply device 2, upon receipt of the command
"GetObjectInfo" in accordance with the image transfer protocol, the
communication controller 22 transmits file information about the
file of the specified object ID (step SS12). The file information
is transmitted to the image output device 1 by way of the USB layer
and the physical layer.
[0255] In the image output device 1, upon receipt of the file
information in accordance with the image transfer protocol, the
communication controller 12 describes the file information as an
XML script and passes the script to the DPS protocol layer.
[0256] Next, in the image output device 1, the communication
controller 12 issues a file acquisition command "DPS_GetFile" of an
XML script in accordance with the DPS protocol by designating the
job specification file through use of an object ID. The
communication controller 12 converts the file acquisition command
"DPS_GetFile" of the DPS protocol into the file acquisition command
"GetObject" of the image transfer protocol and transmits the
thus-converted command (step SS13). This command is transmitted to
the image supply device 2 by way of the USB layer and the physical
layer.
[0257] In the image supply device 2, upon receipt of the command
"GetObject" in accordance with the image transfer protocol, the
communication controller 22 reads and transmits the file of the
specified object ID (i.e., the job specification file) (step SS14).
The file is transmitted to the image output device 1 by way of the
USB layer and the physical layer.
[0258] In the image output device 1, the communication controller
12 has received the file in accordance with the image transfer
protocol, whereupon the file is also considered to have been
received on the DPS protocol layer.
[0259] Here, if the image output device 1 corresponds to the
printer shown in FIGS. 3 and 4, and the image supply device 2
corresponds to the digital camera shown in FIGS. 5 and 6, the DPS
protocol processing function 52 and the communication control
function 51, both belonging to the image output device 1, and the
communication control function 81 and the file system management
function 83, both belonging to the image supply device 2, are used
for acquiring the job specification file.
[0260] Upon acquisition of the job specification file, the
communication controller 12 of the image output device 1 interprets
the job specification file (step S24).
[0261] The communication controller 12 of the image output device 1
acquires from the image supply device 2 image data specified by way
of the jobs described in the job specification file (step S25).
[0262] At that time, the location where the image data file is
stored is described in the job specification file AUTPRINT.MRK of
the DPOF standard by the relative path. Hence, in order to acquire
the object ID of the image data, the communication controller 12 in
the image output device 1 generates and transmits the command
"DPS_GetObjectID", which is to be used for specifying a path and
acquiring an object ID for a file of that path, according to the
DPS protocol.
[0263] FIG. 17 is a view showing an example XML script of the
object ID acquisition command "DPS_GetObjectID" employed in the
second embodiment. A getObjectIDRequest tag is a tag showing an
object ID acquisition command. A basePathID tag and an imagePath
tag are arranged at levels lower than the getObjectIDRequest tag.
The basePathID tag is for specifying a directory which is a basis
of a relative path to be specified by the imagePath tag. The
imagePath tag is for specifying a file for which an object file is
to be acquired, from the directory specified by the basePathID tag
through use of the relative path.
[0264] When the command "DPS_GetObjectID" has been issued on the
DPS protocol layer, the communication controller 12 of the image
output device 1 transmits the command "SendObjectInfo", the command
"SendObject", the XML script and file information pertaining to the
XML script in accordance with the image transfer protocol (steps
SS21 to SS24). These commands, the file information, and the XML
scripts are transmitted to the image supply device 2 by way of the
USB layer and the physical layer.
[0265] In the image supply device 2, the communication controller
22 receives the commands, the file information, and the XML scripts
in accordance with the image transfer protocol and receives the
command "DPS_GetObjectID", which is an XML script, in accordance
with the DPS protocol.
[0266] In accordance with the DPS protocol, the communication
controller 22 of the image supply device 2 interprets the XML
script of the received command "DPS_GetObjectID", specifies the
object ID allocated to a file of the path specified by the command
"DPS_GetObjectID", and generates and transmits the XML script
showing the object ID as a response to the command
"DPS_GetObjectID".
[0267] FIG. 18 is a view showing an example XML script of a
response to the object ID acquisition command "DPS_GetObjectID"
used in the second embodiment. An opResult tag is for specifying a
processing result code of an object ID acquisition command.
Further, a getObjectIDResponse tag is for specifying a return value
of the result of processing of the object ID acquisition command. A
basePathID tag, an imagePath tag, and an imageID tag are provided
at levels lower than the getObjectIDResponse tag. The basePathID
tag and the imagePath tag are identical with those specified in the
command. The image ID tag is for specifying an object ID acquired
as a result of processing of the command.
[0268] Upon receipt of the response to the command
"DPS_GetObjectID" on the DPS protocol layer in accordance with the
image transfer protocol, the communication controller 22 of the
image supply device 2 first transmits a file transfer request
command "RequestObjectTransfer" (step SS31). This command is
transmitted to the image output device 1 by way of the USB layer
and the physical layer.
[0269] In the image output device 1, upon receipt of the file
transfer request command "RequestObjectTransfer" in accordance with
the image transfer protocol, the communication controller 12
transmits a command "GetObjectInfo" for inquiring an attribute of
the file to be transferred (step SS32). This command is transmitted
to the image supply device 2 by way of the USB layer and the
physical layer.
[0270] In the image supply device 2, upon receipt of the command
"GetObjectInfo" in accordance with the image transfer protocol, the
communication controller 22 transmits the file information
pertaining to an XML script of the response to the command
"DPS_GetObjectID" (step SS33). The file information is transmitted
to the image output device 1 by way of the USB layer and the
physical layer.
[0271] In the image output device 1, upon receipt of the file
information in accordance with the image transfer protocol, the
communication controller 12 transmits the file acquisition command
"GetObject" by specifying an XML script of the response (step
SS34). The file information is transmitted to the image supply
device 2 by way of the USB layer and the physical layer.
[0272] In the image supply device 2, upon receipt of the command
"GetObject" in accordance with the image transfer protocol, the
communication controller 22 transmits the thus-specified file (an
XML script of the response to the command "DPS_GetObjectID") (step
SS35). The file is then transmitted to the image output device 1 by
way of the USB layer and the physical layer.
[0273] In the image output device 1, upon receipt of the file in
accordance with the image transfer protocol, the communication
controller 12 is considered to have received the response
corresponding to the command "DPS_GetObjectID" on the DPS protocol
layer.
[0274] In this way, the image output device 1 acquires the object
ID of the image data file specified by the job specification
file.
[0275] In the image output device 1, the communication controller
12 specifies the image data file by the object ID acquired in
accordance with the DPS protocol, thereby transmitting the file
information acquisition command "DPS_GetFileInfo" of the XML
script.
[0276] FIG. 19 is a view showing an example XML script of the file
information acquisition command "DPS_GetFileInfo" used in the
second embodiment. A getFileInfoRequest tag is for specifying a
file information acquisition command. A fileID tag is located at a
level lower than the getFileInfoRequest tag. A fileID tag is for
specifying an object ID of the file which is an object of file
information acquisition.
[0277] The communication controller 12 of the image output device 1
converts the file information acquisition command "DPS_GetFileInfo"
of the DPS protocol into the file information acquisition command
"GetObjectInfo" of the image transfer protocol and transmits the
thus-converted command. The command is transmitted to the image
supply device 2 by way of the USB layer and the physical layer.
[0278] In the image supply device 2, upon receipt of the command
"GetObjectInfo" in accordance with the image transfer protocol, the
communication controller 22 transmits the file information about
the file of the specified object ID. The file information is
transmitted to the image output device 1 by way of the USB layer
and the physical layer.
[0279] In the image output device 1, upon receipt of the file
information in accordance with the image transfer protocol, the
communication controller 12 describes the file information as an
XML script and passes the script to the DPS protocol layer.
[0280] FIG. 20 is a view showing an example XML script of the
response to the file information acquisition command
"DPS_GetFileInfo" used in the second embodiment. An opResult tag is
for specifying a processing result code of the object ID
acquisition command. A getFileInfoResponse tag is for specifying a
return value of the processing result of the file information
acquisition command. A fileType tag and a fileSize tag are provided
at levels lower than the getFileInfoResponse tag. The fileType tag
is for specifying a file format of the file information. A fileSize
tag is for specifying a file size of the file information. The file
format is specified by any of numbers previously allocated to
respective formats.
[0281] Next, in the image output device 1, the communication
controller 12 transmits a file acquisition command "DPS_GetFile" of
the XML script in accordance with the DPS protocol by specifying an
image data file through use of the acquired object ID. The
communication controller 12 converts the file acquisition command
"DPS_GetFile" of the DPS protocol into a file acquisition command
"GetObject" of the image transfer protocol and transmits the
thus-converted command. The command is transmitted to the image
supply device 2 by way of the USB layer and the physical layer.
[0282] In place of the file acquisition command "DPS_GetFile" for
acquiring an entire file, an entire file may be acquired by
transmitting a plurality of times the partial file acquisition
command "DPS_GetPartialFile" for acquiring a part of the file. The
partial file acquisition command "DPS_GetPartialFile" is converted
into the command "GetPartialObject" of the image transfer
protocol.
[0283] In the image supply device 2, upon receipt of the command
"GetObject" in accordance with the image transfer protocol, the
communication controller 22 reads and transmits a file of the
specified object ID (i.e., an image data file 31). This file is
transmitted to the image output device 1 by way of the USB layer
and the physical layer.
[0284] In the image output device 1, upon receipt of the file in
accordance with the image transfer protocol, the communication
controller 12 is considered to have received the file even on the
DPS protocol layer.
[0285] Here, if the image output device 1 corresponds to the
printer shown in FIGS. 3 and 4, and the image supply device 2
corresponds to the digital camera shown in FIGS. 5 and 6, the DPS
protocol processing function 52 and the communication control
function 51, both belonging to the image output device 1, and the
communication control function 81 and the file system management
function 83, both belonging to the image supply device 2, are used
for acquiring the image data.
[0286] Upon acquisition of the image data, the image output device
1 outputs an image based on the image data (step S26). At that
time, in the image output device 1, the output controller 13 and
the output mechanism 14 perform image output processing.
[0287] Here, in a case where the image output device 1 corresponds
to the printer shown in FIGS. 3 and 4, the image processing
function 53, the print data generating function 54, and the print
control function 55 are used for image output processing.
[0288] In this way, according to the second embodiment, the job
specification file stored in the image supply device 2 is
transferred to the image output device 1, and the image output
device 1 interprets the job specification file, thereby executing a
job. However, there may be configured the image supply device 2
interprets the job specification file, generates a job start
command in accordance with contents of the job specification file,
and transmits the command to the image output device 1. In this
case, the image output device 1 may be arranged to interpret the
job start command and execute the job.
[0289] The image output system of the second embodiment can be
embodied by combination with any of the other embodiments.
[0290] As mentioned above, according to the second embodiment, the
image supply device 2 stores image data and a job specification
file for specifying an image output job (e.g., an AUTPRINT.MRK file
of the DPOF in the embodiment). The image output device 1 acquires
the job specification file, interprets the thus-specified job, and
on the basis of information about the job specification file
generates control information pertaining to an image output
described in a markup language. As a result, an existing job
specification file of the DPOF standard can be used, and a
complicated image output job can be executed readily.
[0291] According to the second embodiment, the image supply device
2 enables specification of either the job specification file, or
one or more image data sets which are objects of image output,
through use of the image output job start command. When the image
data are specified by the image output job start command, the image
output device 1 acquires the image data from the image supply
device 2 in accordance with the image output job start command.
When the job specification file is specified by the image output
job start command, the job specification file is acquired from the
image supply device 2 in accordance with the image output job start
command. The image data specified by the job specification file are
acquired from the image supply device 2. As a result, the image
data which are to be an object of image output can be specified on
a per-image-data basis or while being merged by the job
specification file. Image output jobs of various patterns can be
effected.
[0292] An image output system according to a third embodiment of
the invention is arranged to perform recovery processing when the
image output system of the first or second embodiment has recovered
from a self-unrecoverable failure (e.g., paper jam, power
disconnection, or disconnection of a communication path).
[0293] In the image output system of the third embodiment, the
image output device 1 transmits, to the image supply device 2,
resumption information for a print object allocated to a
predetermined position (e.g., a top, a bottom, or the like) within
a page layout during print processing serving as image output.
After print processing has been aborted by a failure, control
information for specifying the first print object after resumption
is received from the image supply device 2 along with a print job
start command for newly starting print processing. Print processing
is resumed from that print object. Meanwhile, the image supply
device 2 receives and stores the resumption information. When print
processing is resumed, the control information for specifying a
first print object after resumption is transmitted to the image
output device 1 on the basis of the finally-stored resumption
information along with the print job start command for newly
starting print processing.
[0294] The image output device 1 and the image supply device 2,
both belonging to the third embodiment, are analogous to those of
the first embodiment in terms of basic configuration, and the
following functions are added.
[0295] Operations of the respective devices in the system will now
be described.
[0296] FIG. 21. is a status transition view of an image output
device in the image output system of the third embodiment.
[0297] When no print job is present, the image output device 1 is
in a no-job status (i.e., an idle state). When a print job is
supplied from the image supply device 2, the image output device 1
shifts to a printing state, where print processing is performed.
When the print job is completed and is not followed by any other
print job, the image output device 1 shifts to the no-job state.
This status is managed by the output controller 13 of the image
output device 1.
[0298] When a failure has arisen in the printing state, the image
output device 1 shifts to a hold state, where print processing is
interrupted. When the failure is self-recoverable, the image output
device 1 returns to the printing state after the failure has been
eliminated, thereby resuming the interrupted print processing.
Meanwhile, when the failure is self-unrecoverable, such as a paper
jam or disconnection of a communication path, the image output
device 1 remains in the hold state until a reset command is
received. When the reset command is received, the image output
device 1 discards the interrupted print job and shifts to the
no-job state. When the remainder of the print job is still present
or a new print job has arisen afterwards, the image output device 1
shifts to the printing state.
[0299] If the power of the image output device 1 is disconnected,
the print job of the image output device 1 will disappear. When
power is turned on, the image output device 1 enters the no-job
state.
[0300] Next will be described recovery processing. As will be
described below, recovery processing procedures can be set to any
of a plurality of types of procedures in accordance with the type
of a failure.
[0301] First, there will be described example recovery processing
required to be performed in the event of occurrence of a
self-unrecoverable failure, such as a paper jam, disconnection of a
communication path, normal disconnection of power, or anomalous
disconnection of power. FIG. 22 is a flowchart for describing
processing to be performed during normal print processing of the
image output system of the third embodiment. FIG. 23 is a flowchart
for describing example recovery processing of the image output
system of the third embodiment.
[0302] In the printing state, the image output device 1 performs
print processing. When a page break is detected (step S101), job
status information at the top of the new page is transmitted to the
image supply device 2. Specifically, the image output device 1
transmits, to the image supply device 2 as resumption information
(i.e., job status information used for recovery processing), a job
ID (corresponding to a value of "PRT PID" of DPOF) of the print job
that specifies the image data first appearing in a page layout of
the page of interest (new page); a path of a location where the
image data are stored (corresponding to a value of "IMG SRC" of
DPOF); and the number of repeated supply operations (corresponding
to a value of "PRT QTY" of DPOF) (step S102).
[0303] In the third embodiment, when a page change has been
performed, the communication controller 12 of the image output
device 1 generates an XML script of a job status notification
command "DPS_NotifyJobStatus" for notification of job status
information at that time point, in accordance with a DPS protocol
and transmits the script. In the XML script of the command
"DPS_NotifyJobStatus", the value of the job ID is surrounded by a
tag <prtPid>, </prtPid> showing the job ID; the value
of the path of the location where the image data are stored is
surrounded by a tag <imagePath>, </imagePath> showing a
path of the location where the image data are stored; and the value
of the number of repeated supply operations is surrounded by a tag
<copyId>, </copyId> showing the number of repeated
supply operations.
[0304] FIG. 24 is a view showing an example XML script of the job
status notification command "DPS_NotifyJobStatus" used in the third
embodiment. A notifyJobStatusRequest tag is for showing a job
status notification command. A jStatus tag, a prtPid tag, an
imagePath tag, a copyId tag, a progress tag, and a jEndReason tag
are arranged at levels lower than the notifyJobStatusRequest
tag.
[0305] When the job specification file is used, the value of the
job specification file AUTPRINT.MRK of the DPOF acquired by the
image output device 1 is used for the value specified by the prtPid
tag, the value specified by the image Path tag, and the value
specified by the copyId tag, whereby a job ID for the job that is
being processed at that time, a path of image data, and the number
of repeated supply operations are set.
[0306] The jStatus tag is for specifying that the job is in the
printing state, the no-job state, or the hold state. The progress
tag is for specifying, in an N/T format, the total number of pages
T in a job and a page number N that is now being printed. The
jEndReason tag is for specifying a value showing a cause of
termination of a job, such as a normal end, termination made by the
user, or an abnormal end. When the image output device 1 is in the
no-job state, a value is specified by the jEndReason tag.
[0307] In the script shown in FIG. 24, the job ID, the image path,
and the number of repeated supply operations are specified by the
prtPid tag, the image Path tag, and the copyId tag. When the job
specification file is not used, the image data specified by the
imageID tag in the job start command and the number of repeated
supply operations specified by the copies tag may be used in the
job status notification command instead.
[0308] Upon receipt of resumption information, such as the job ID,
a path of the location where image data first appearing in a page
of interest is stored, and the number of times image data are to be
repetitively supplied, from the image output device 1 at every a
page change (step S11), the image supply device 2 updates the
resumption information with that received from the image output
device 1 (step S112).
[0309] In the third embodiment, the communication controller 22 of
the image supply device 2 receives the XML script that is the
command "DPS_NotifyJobStatus" for each page, in accordance with the
DPS protocol. A job ID, a path of a location where image data are
stored, and the number of times image data are to be repetitively
supplied are extracted from the XML script, and the thus-extracted
information is stored.
[0310] Thus, the image supply device 2 sequentially stores
resumption information, such as a job ID of a print job which
specifies image data at a predetermined location (in the
embodiment, the top of the page), a path of a location where the
image data are stored, and the number of times the image data are
to be repetitively supplied, for each page for which print
processing has been started. Only the updated job ID, the path of
the location where the image data are stored, and the number of
times the image data are to be repetitively supplied are required,
and hence outdated information may be deleted.
[0311] When a self-unrecoverable failure, such a paper jam or an
operation for disconnecting power, has arisen in the printing state
(step S121), the image output device 1 shifts to a hold state and
reports occurrence of a failure to the image supply device 2 (step
S122). When power is normally disconnected by deactivation
operation, the image output device 1 reports disconnection by use
of a battery or the power of a capacitor.
[0312] In the third embodiment, in the event of occurrence of a
failure, the communication controller 12 of the image output device
1 generates an XML script of a command "DPS_NotifyDeviceStatus"
which reports the status of a device, in accordance with the DPS
protocol and transmits the thus-generated command. In the XML
script of the command "DPS_NotifyDeviceStatus", the value showing
the failure state is surrounded by the tag <errorStatus>,
</errorStatus>, and the value showing the cause of the
failure is surrounded by a tag <reason>, </reason>
showing the cause of the failure.
[0313] FIG. 25 is a view showing an example XML script of the
device status notification command "DPS_NotifyDeviceStatus" used in
the third embodiment. A notifyDeviceStatusRequest tag shows a
device status notification command. An errorStatus tag, a reason
tag, a disconnectEnable tag, and a capabilityChange tag are
arranged at levels lower than the notifyDeviceStatusRequest
tag.
[0314] The errorStatus tag is for specifying a failure status, such
as no failure, a recoverable failure, or an unrecoverable failure.
The reason tag is for specifying the cause of a failure, such as no
failure, a paper-related failure, an ink-related failure, a
hardware-related failure, and a data-related failure. The
disconnectEnable tag is for specifying whether or not connection is
released. The capabilityChange tag is for specifying whether or not
a change has arisen in the print requirements allowed by the image
output device 1.
[0315] Upon receipt from the image output device 1 of a
notification relating to occurrence of a failure (step S131), the
image supply device 2 reads the latest resumption information
reported by the image output device 1 (e.g., a job ID, a path of a
location where image data first appearing in a page of interest is
stored, the number of times the image data is repetitively
supplied, or the like) (step S132).
[0316] In the third embodiment, the communication controller 22 of
the image supply device 2 receives the XML script of the command
"DPS_NotifyDeviceStatus" in accordance with the DPS protocol and
ascertains a failure status from the XML script.
[0317] The image supply device 2 adds the latest resumption
information to the print job start command which has already been
transmitted at the time of initiation of the print job and
transmits the command (step S133).
[0318] In the third embodiment, the communication controller 22 of
the image supply device 2 transmits the XML script of the command
"DPS_StartJob" that has set the latest job ID, a path of a location
where image data first appearing in a page of interest is stored,
and the number of times the image data is repetitively supplied, in
accordance with the DPS protocol.
[0319] FIG. 26 is a view showing an example XML script of the print
job start command "DPS_StartJob" obtained at resumption of the job.
In this embodiment, an object ID of the job specification file
(e.g., 00000002 in the embodiment) is specified by the imageID tag.
A job ID showing the position for resumption, the path of the
location where image data first appearing in a page of interest is
stored, and the number of times the image data is repetitively
supplied, are specified by the prtPid tag, the imagePath tag, and
the copies tag.
[0320] Upon receipt of the print job start command (step S124), the
image output device 1 transmits a request for transmission of the
previously-used job specification file specified by the print job
start command.
[0321] In the third embodiment, the communication controller 12 of
the image output device 1 receives the job start command
"DPS_StartJob" of an XML script in accordance with the DPS protocol
and issues a file acquisition command "DPS_GetFile" by specifying a
job specification file.
[0322] In accordance with the request for transmission of the job
specification file, the image supply device 2 transmits the job
specification file (step S134). The image output device 1 receives
the job specification file (step S125).
[0323] In the third embodiment, the communication controller 12 of
the image output device 1 issues the file acquisition command
"DPS_GetFile" in the DPS protocol, to thereby acquire the job
specification file from the image supply device 2.
[0324] When, by reference to contents of the job specification
file, the image output device 1 has found, within the job
specification file, a position corresponding to the job ID
specified by the print job start command, the path of the location
where image data first appearing in a page of interest is stored,
and the number of times the image data is repetitively supplied,
the position is specified as a position where the print job is to
be resumed (step S126).
[0325] The image output device 1 resumes the print job from that
position for resumption (step S127) and acquires the image data
from the image supply device 2, as required (steps S127, S135).
[0326] As a result, the print job that has been interrupted as a
result of occurrence of a failure is resumed after the reset
command, and printing is resumed from the top of the page where the
failure has arisen. FIG. 27 is a view for describing resumption of
printing. For instance, even when a failure has arisen during the
course of printing of images 101b, 101d after printing of images
101a, 101c, a position, where printing operation is to be resumed,
in the job specification file is specified on the basis of the job
ID, the path, and the repetitive number, all pertaining to the
image 101a first appearing in the page of interest, whereupon the
print job is resumed. As shown in FIG. 27, when a plurality of
images are arranged within one page, a job ID for an image of the
print job that appears first is stored, and printing is resumed
from that image.
[0327] When a layout shown in FIG. 27 is made by the job
specification file shown in FIG. 14, a job ID "001," a path
"/DCIM/100EPSON/IMAGE01.JPG," and the number of repeated operations
"002" are stored as resumption information pertaining to
IMAGE01.JPG allocated to the image 101a. When a failure has arisen
at the position shown in FIG. 27, printing is resumed with the same
layout from the first job shown in FIG. 14.
[0328] When a page break has arisen during the course of repeated
supply of an object of printing, the image output device 1 changes
the value of the number of repeated supply operations to be
reported to the image supply device 2 to a remaining number of
repeated supply operations and reports the changed value. As a
result, when a page break has arisen during the course of repeated
supply of an object of printing, the image supply device 2 changes
the number of repeated supply operations to be stored to a
remaining number of repeated supply operations. In this case, a
position where the job is to be resumed is arranged so as to be
detected by the job ID and the file path, or a corresponding number
of repeated supply operations within the job specification file to
be transmitted to the image output device 1 is changed
similarly.
[0329] Next, there will be described example recovery processing to
be performed when disconnection of the communication path 3 and
abnormal disconnection of power to the image output device 1 have
arisen, with reference to FIG. 28. In this case, processing to be
performed during normal operation is identical with that in the
previously-described case (see FIG. 22).
[0330] First, in the event that disconnection of the communication
path 3 or abnormal disconnection of power to the image output
device 1 has arisen (step S141), communication between the image
output device 1 and the image supply device 2 is disconnected, and
hence the image supply device 2 eventually detects disconnection of
communication (e.g., connection of a USB) (step S151).
[0331] When the communication path 3 or power has recovered, the
image output device 1 performs resetting or rebooting operation
(step S123). When communication is established by way of the
communication path 3, the image supply device 2 detects recovery of
the communication with the image output device 1 (step S152).
[0332] When the connection has recovered, as mentioned previously,
the image supply device 2 transmits resumption information to the
image output device 1 along with the print job start command. The
image output device 1 resumes the print job accordingly.
[0333] In the case of the above-described example recovery
processing, the image output device 1 transmits resumption
information to the image supply device 2 on a per-page basis. When
having detected occurrence of a failure such as a paper jam, the
image output device 1 may instead automatically transmit resumption
information to the image supply device 2. This case will now be
described with reference to FIG. 29.
[0334] In this case, the processing to be performed during normal
operation, such as that described in connection with the above
case, is not particularly required. In the event of occurrence of a
failure, resumption information is transmitted from the image
output device 1 to the image supply device 2.
[0335] As shown in FIG. 29, in the case of the recovery processing,
if a failure has arisen, the image output device 1 reports
occurrence of the failure (step S122) and transmits resumption
information to the image supply device 2 (step S161).
[0336] The image supply device 2 receives the notification about
occurrence of the failure (S131). Upon receipt of the resumption
information (step S171), the image supply device 2 stores the
received resumption information (step S172) and retains in a
standby state until the image output device 1 recovers (step
S173).
[0337] When the image output device 1 has recovered by resetting or
rebooting operation (step S123), the image supply device 2 detects
recovery of the image output device 1 and transmits the resumption
information to the image output device 1 along with the print job
start command (step S174). On the basis of the print job start
command and resumption information, the image output device 1
resumes the print job in the manner mentioned previously.
[0338] The image output system of the third embodiment can be
combined with any one of the other embodiments.
[0339] In the third embodiment, three items, such as a job ID, a
path, and the number of repeated feeding operations are to be
performed, are used as information showing a position for resuming
printing operation. If the position for resuming printing operation
can be specified accurately, only one or two of the items may be
used. Further, another job status information item may also be used
for resumption information.
[0340] In the third embodiment, job status information about first
image data in a page layout of a page appearing after occurrence of
a page break is used for resumption information. However, job
status information about final image data in a page layout of a
page appearing before occurrence of a page break may also be used
for resumption information. In this case, a print job is resumed
from a location after the position matching the resumption
information in a series of print jobs.
[0341] As mentioned above, according to the third embodiment, the
image output device 1 transmits, to the image supply device 2,
resumption information showing an object of printing allocated to a
predetermined location (in the embodiment, the page top) in a page
layout during print processing performed as an image out operation.
After the print processing has been aborted by a failure, the image
output device 1 receives, from the image supply device 2, control
information for specifying an object to be printed first at the
time of resumption, along with the print job start command, and
resumes the print processing from the object. The image supply
device 2 receives and stores the resumption information. When the
print processing is resumed, the image supply device 2 transmits,
to the image output device 1, control information for specifying
the object on the basis of the latest resumption information in
conjunction with the print job start command. As a result, the
image output device 1 is reset, and print processing can be resumed
accurately after recovery even when information has disappeared as
a result of resetting of the image output device 1.
[0342] According to the third embodiment, for example, only when
the image output device 1 has detected a failure, resumption
information is transmitted to the image supply device 2. As a
result, frequent exchange of resumption information for recovery
purpose is not required. Therefore, print processing can be
accurately resumed after recovery without involvement of an
increase in processing during normal operation.
[0343] According to the third embodiment, for example, the image
output device 1 transmits resumption information to the image
supply device 2 on a per-page basis. As a result, even when
transmission of resumption information has failed in the event of
occurrence of a failure, print processing can be resumed accurately
after recovery.
[0344] According to the third embodiment, the resumption
information includes at least one of a job ID of: a print job
pertaining to an object of printing allocated to a predetermined
position in a page layout; information showing a location in the
image supply device 2 where the object of printing is stored; and
the number of times the object of printing is to be repetitively
supplied. As a result, a printing resumption position can be
accurately specified after recovery.
[0345] According to the third embodiment, the image supply device 2
uses, for resumption information, at least the number of times an
object of printing is to be repetitively supplied. When a page
break has arisen during the course of repeated supply of an object
of printing, the number of repeated supply operations is changed to
a remaining number of repeated supply operations. As a result, even
when a plurality of numbers of repeated supply operations are set,
print processing can be accurately resumed after recovery.
[0346] According to the third embodiment, when the image output
device 1 has detected a failure, detection of the failure is
reported to the image supply device 2. Subsequently, print
processing is aborted. When the image supply device 2 receives a
reset command, resumption information is transmitted to the image
output device 1 along with the print job command. As a result,
printing is resumed in response to a reset command after thorough
recovery, and the print processing can be resumed accurately after
recovery.
[0347] An image output system according to a fourth embodiment of
the invention has a plurality of image output devices 1-1 to 1-n.
When a failure has arisen in a certain image output device 1-j, an
alternative image output device 1-k is retrieved, and image output
processing is continuously performed by the alternative image
output device 1-k.
[0348] FIG. 30 is a block diagram showing the configuration of the
image output system of the fourth embodiment. The image output
device 1-i (i=1, . . . , n) is analogous to the
previously-described image output device 1 and has the communicator
11 corresponding to a communication path 3-i. An image supply
device 2-1 is analogous to the previously-described image supply
device 2 and has, as a communicator 21, one or more communicators
which can be connected to the plurality of image output devices 1-1
to 1-n by way of a cable communication path 3-1 or wireless
communication paths 3-2 to 3-n. Information for specifying the
first object of printing when printing is resumed is transmitted to
an image output device 1-k (k.noteq.j) different from the image
output device 1-j that has caused a failure, by way of any one of
the communicators. At that time, the information described in
connection with the third embodiment may be transmitted as
information to be transmitted to the different image output device
1-k (k.noteq.j), thereby resuming printing in the manner as
mentioned in connection with the third embodiment. As a result,
even when recovery is difficult at the image output device 1-j, the
different image output device 1-k can accurately resume printing.
Further, printing can be accurately, immediately resumed by the
other image output device 1-k without awaiting recovery. This
effect can be yielded similarly by a pull-printing type system.
[0349] If a failure has arisen during the course of printing
operation performed by the image output device 1-1, the image
supply device 2-1 selects any one from the remaining image output
devices 1-2 to 1-n and, by way of any communicator, transmits
information for specifying the first object of printing at the time
of resumption of printing. On the basis of this information, the
image output device 1-k that has received the information specifies
the location where the job is to be resumed, thereby initiating
print processing from that location.
[0350] The image supply device 2-1 may select an image output
device 1-r capable of interpreting an image output control protocol
(e.g., the previously-described DPS protocol and PTP) employed by
the image output device 2-1 from among the plurality of image
output devices 1-2 to 1-n and may transmit, to the image output
device 1-r, information for specifying an object to be printed
first after the resumption.
[0351] The image supply device 2-1 may select, from among the
plurality of image output devices 1-2 to 1-n, the image output
device 1-r capable of performing printing operation under printing
requirements specified by the interrupted print job, and may
transmit information for specifying an object to be printed first
after the resumption at the image output device 1-r. As a result,
printing can be resumed in the same printing state as that achieved
by the original image output device even when another image output
device is used. Such printing requirements include a paper size, a
paper type, color correction processing unique to a vendor, and
superimposed printing of a frame image (i.e., a frame image is
printed so as to overlap an image based on image data).
[0352] The image output system of the fourth embodiment can be
combined with any one of the other embodiments.
[0353] Particularly, in a case where the image output system of
this embodiment is combined with the configuration shown in FIG.
11, when any one of respective second entities of the image supply
device 2-1 can establish communication with any one of the second
entities of the image output devices 1-1 to 1-3 which are
counterparts of communication, by way of the communication path 3-i
(i=1, 2, 3), the image supply device 2-1 may select a communicable
second entity. As a result, erroneous use of a second entity
incapable of communication is prevented, whereby control
information pertaining to image output can be exchanged without
fail.
[0354] Alternatively, the selector of the image supply device 2-1
may be configured to select second and third entities for each type
of control information about image output the first entity attempts
to transmit. As a result, an optimum low-level layer is used for
each type of control information. Consequently, features of the
respective image data file management protocols can be used in
combination, thereby improving efficiency of communication and
control.
[0355] Still alternatively, the selector of the image supply device
2-1 may select second and third entities differing from the current
second and third entities, thereby switching the second and third
entities to and from which control information about the image
output is to be communicated. As a result, even when a failure has
arisen in the second or third entity selected by the selector of
the image supply device 2-1 or the second or third entity of the
image output device 1-i (i=1, 2, 3) that has established
communication with the second or third entity, the selector of the
image supply device 2-1 can continuously exchange control
information about image output by utilization of other second and
third entities of the image supply device 2-1. Consequently, the
reliability of operation of the image output system is
enhanced.
[0356] Still alternatively, the communicator 21 and the
communication controller 22 of the image supply device 2-1 may be
provided with a priority table showing the sequence of priority of
a plurality of pairs of second and third entities. The selector of
the image supply device 2-1 first selects a second entity having a
higher priority in the priority table. When an alternative is
selected in the event of a failure, second and third entities
having higher priority levels may be selected. As a result, the
selector of the image supply device 2-1 selects second and third
entities in accordance with previously-set priority levels.
Consequently, the second and third entities of the image supply
device 2-1 can be selected from the user's desired viewpoint from
among various viewpoints, such as a communication speed,
reliability, or the like.
[0357] The previously-described embodiments are preferable examples
of the invention. However, the invention is not limited to these
embodiments. The invention is susceptible to various modifications
or alterations within the scope of the invention.
[0358] For instance, in the respective embodiments, control
information is described through use of XML which is one of the
markup languages. However, another markup language such as SGML
(Standard Generalized Markup Language) may be used for describing
the control information.
[0359] In the previously-described respective embodiments, the PTP
and the USB are used at hierarchical levels lower than the DPS
protocol level. However, another protocol, such as a TCP/IP
(Transmission Control Protocol/Internet Protocol) may also be used.
At that time, a LAN cable, Bluetooth, a wireless LAN, or the like
may also be used as a transmission medium.
[0360] The command names and the tag names of the DPS protocol used
in the respective embodiments are not limited to those mentioned
previously; other names may also be employed. Commands of the DPS
protocol may also be embodied by other commands having the same
function or a combination thereof.
[0361] In the respective embodiments, the image output device 1 can
be embodied as a printer, and the image supply device 2 can be
embodied as a digital camera for recording a moving image and/or a
still image. Alternatively, the image output device 1 may also be
embodied as another recording device for recording an image on a
medium such as paper or a display for projecting an image of light
such as a display. The image supply device 2 may also be embodied
as an electronic device having a built-in digital camera or an
electronic device which receives an image signal. Such an
electronic device includes a mobile telephone, a PDA, a music
player, a TV set, a video recording/reproducing apparatus, a
picture phone, a videoconferencing system, etc. Further, the image
supply device 2 may be embodied as a device having portability or a
device not having much portability.
[0362] In the respective embodiments, upon completion of transfer
of the image data required for image output from the image supply
device 2 to the image output device 1, a notice indicating that
connection with the image output device 1 can be released may be
transmitted from the image output device 1 to the image supply
device 2.
[0363] In the respective embodiments, a USB mass storage class may
also be employed as the image data file management transfer
protocol in place of the PTP.
[0364] The images described in connection with the embodiments may
be embodied as text images in addition to picture images. Further,
the object of image output may be a text, e.g., a title table or
lyrics of a music album, such as a music CD or a music MD. In this
case, for instance, the image supply device 2 or the image output
device 1 acquires text data from a distribution server on the
Internet in accordance with the information recorded on a music
album.
[0365] In the second embodiment, the image output device 1 acquires
a job specification file, analyzes the job specification file, and
executes an image output job. Instead, the image supply device 2
may analyze a job specification file, produce an image output job
start command as control information pertaining to image output,
and transmit the command to the image output device 1, thereby
executing an image output job.
* * * * *