U.S. patent application number 12/986671 was filed with the patent office on 2011-05-05 for image output system including a plurality of units connected by communications with master-slave relation.
Invention is credited to Masakatsu Endo, Kenji Sakuda.
Application Number | 20110102608 12/986671 |
Document ID | / |
Family ID | 27790941 |
Filed Date | 2011-05-05 |
United States Patent
Application |
20110102608 |
Kind Code |
A1 |
Endo; Masakatsu ; et
al. |
May 5, 2011 |
IMAGE OUTPUT SYSTEM INCLUDING A PLURALITY OF UNITS CONNECTED BY
COMMUNICATIONS WITH MASTER-SLAVE RELATION
Abstract
A printer periodically sends a request inquiry command
"Interrupt In" to a digital camera at a high rate. The digital
camera returns a printer status request, a print request, a print
cancel request, etc., to the printer as a reply to "Interrupt In."
The camera operates as a usual storage class USB device for the
printer except that the camera performs the described operation.
Therefore, the printer makes a search for a directory in the camera
and reads an image file, a print page layout file, etc., required
for print on its own initiative.
Inventors: |
Endo; Masakatsu; (Nagano,
JP) ; Sakuda; Kenji; (Nagano, JP) |
Family ID: |
27790941 |
Appl. No.: |
12/986671 |
Filed: |
January 7, 2011 |
Related U.S. Patent Documents
|
|
|
|
|
|
Application
Number |
Filing Date |
Patent Number |
|
|
10506453 |
Jun 7, 2005 |
7893962 |
|
|
PCT/JP03/02325 |
Feb 28, 2003 |
|
|
|
12986671 |
|
|
|
|
Current U.S.
Class: |
348/207.2 ;
348/E5.024 |
Current CPC
Class: |
H04N 1/00278 20130101;
H04N 1/2166 20130101; H04N 2201/0015 20130101; H04N 2201/0049
20130101; H04N 2101/00 20130101 |
Class at
Publication: |
348/207.2 ;
348/E05.024 |
International
Class: |
H04N 5/225 20060101
H04N005/225 |
Foreign Application Data
Date |
Code |
Application Number |
Mar 1, 2002 |
JP |
P. 2002-056675 |
Mar 1, 2002 |
JP |
P.2002-056676 |
Claims
1. An image output system comprising: an image source unit; an
image output unit; and a communication interface for connecting
said image source unit and said image output unit, said image
source unit having: an operation unit for issuing an image output
instruction; request command generation means being responsive to
the image output instruction for generating a request command for
requesting said image output unit to perform image output operation
based on predetermined output condition setting; request command
transmission means for transmitting the request command through
said communication interface to said image output unit; data
storage for storing a resource file used for said image output unit
to perform the image output operation; and slave communication
means for accessing the resource file in the data storage as
controlled in a slave manner by said image output unit, and said
image output unit having: request command reception means for
receiving the request command through said communication interface
from said image source unit; resource file acquisition means for
acquiring the resource file through said communication interface
from said image source unit by controlling the slave communication
means; and control means for controlling the image output operation
based on the received request file and the acquired resource file.
Description
CROSS-REFERENCE TO RELATED APPLICATIONS
[0001] This application is a continuation of U.S. patent
application Ser. No. 10/506,453, filed on Jun. 7, 2005, which is a
national phase entry of PCT/JP03/02325, filed on Feb. 28, 2003. The
disclosures of these prior applications are hereby incorporated by
reference in their entirety for all purposes.
TECHNICAL FIELD
[0002] This invention relates to a unit-to-unit communication
control method suited for a print system, etc., including a digital
camera and a digital printer connected by a communication interface
having master-slave relation, such as a USB (Universal Serial Bus),
for example.
[0003] The USB is known as one of communication interfaces having
master-slave relation. That is, one of the two units connected to
each other by the USB is "USB host" taking the initiative in
communications and the other is "USB device" operating as a slave
in response to a control command from the USB host.
[0004] The USB is widely available as a communication interface
between a personal computer and a peripheral machine. A general
personal computer operating system (OS) for supporting the USB
includes as standard a USB controller as the USB host. Of course, a
peripheral machine for supporting the USB includes a USB controller
as a USB device.
[0005] The USB devices involve a plurality of classes (types)
different in communication control method. The device classes
defined in the USB standard include storage class, HID class, STI
class, printer class, and the like. So long as the peripheral
machine functions as the USB device of any device class defined in
the standard, the USB controller included as standard in the
personal computer OS can normally communicate with the peripheral
machine. However, if the peripheral machine operates as an
out-of-standard device class (for example, an original class
defined by the peripheral machine manufacturer), it is not
guaranteed that the USB controller included as standard in the
personal computer OS can normally communicate with the peripheral
machine.
[0006] One of the peripheral machines of the personal computer is a
digital camera. As the USB is widely available as mentioned above,
the model including a USB device function is also mainstream in the
digital camera. For the digital camera, it is considered that the
desirable device class is "storage class," because in the device
class, the personal computer can handle the digital camera as data
storage and can make a search for a directory in the digital camera
as desired for reading/writing any desired image file.
[0007] By the way, in digital printers such as ink jet printers and
laser printers, a digital printer of direct connection type that
can be connected to directly to a digital camera without
intervention of a personal computer and read image data directly
from the digital camera for printing. In the digital printer of
direct connection type, the USB is also preferred as a
communication interface with a digital camera. In this case, it is
considered that preferably the printer functions as the USB host
and the digital camera functions as the USB device of the storage
class, because, in this case, if the digital camera can function as
the USB device of the storage class, it can also be connected to
the personal computer and can also be connected to the direction
connection type printer.
[0008] Thus, in the print system of direct connection type wherein
the printer operates as the USB host and the digital camera
operates as the USB device, the printer handles the digital camera
simply as data storage. In this case, according to the USB
standard, means for sending a control command independently from
the printer of the USB host to the digital camera of the USB device
is provided; in contrast, however, means for sending a control
command independently from the digital camera of the USB device to
the printer of the USB host is not provided (namely, is not defined
in the standard). Consequently, if the USB standard is simply
followed, the following problem occurs:
[0009] In the print system of direct connection type as described
above, user operation of selection of the image to be printed,
setting of a print condition, a print request, and the like can be
performed using the printer; in contrast, however, the user
operation is hard to perform using the digital camera. However, the
user can easily perform the above-mentioned operation using the
digital camera rather than the printer, because the user can easily
operate the digital camera with the digital camera held with one
hand and can see an image on a high-definition color liquid crystal
display panel of the digital camera for selection.
[0010] It is considered that a similar problem is involved not only
in the print system of direct connection type described above, but
also in a system of any other type using a communication interface
having master-slave relation.
DISCLOSURE OF THE INVENTION
[0011] It is therefore an object of the invention to make it
possible to control an image output unit by button operation on an
image source unit as a slave on communication control when the
image output unit such as a digital printer and the image source
unit such as a digital camera are connected through a communication
interface having the master-slave relation such as a USB. To
accomplish the object, according to the invention, there is
provided an image output system including:
[0012] an image source unit;
[0013] an image output unit; and
[0014] a communication interface for connecting the image source
unit and the image output unit,
[0015] the image source unit having:
[0016] an operation unit for issuing an image output
instruction;
[0017] request command generation means being responsive to the
image output instruction for generating a request command for
requesting the image output unit to perform image output operation
based on predetermined output condition setting;
[0018] request command transmission means for transmitting the
request command through the communication interface to the image
output unit;
[0019] data storage for storing a resource file used for the image
output unit to perform the image output operation; and
[0020] slave communication means for accessing the resource file in
the data storage as controlled in a slave manner by the image
output unit, and
[0021] the image output unit having:
[0022] request command reception means for receiving the request
command through the communication interface from the image source
unit;
[0023] resource file acquisition means for acquiring the resource
file through the communication interface from the image source unit
by controlling the slave communication means; and
[0024] control means for controlling the image output operation
based on the received request file and the acquired resource
file.
[0025] According to the invention, there is also provided an image
output system including:
[0026] an image source unit;
[0027] an image output unit; and
[0028] a communication interface for connecting the image source
unit and the image output unit,
[0029] the image source unit having:
[0030] request command generation means for generating a request
command for requesting the image output unit to perform image
output operation based on predetermined output condition setting;
and
[0031] resource file creation means for creating a resource file
used for the image output unit to perform the image output
operation, and
[0032] the image output unit having:
[0033] request command reception means for receiving the request
command through the communication interface from the image source
unit;
[0034] resource file acquisition means for acquiring the resource
file through the communication interface from the image source
unit; and
[0035] control means for controlling the image output operation
based on the received request file and the acquired resource
file.
[0036] According to the invention, there is also provided an image
output method including the steps of:
[0037] connecting an image source unit and an image output unit
through a communication interface;
[0038] in the image source unit, generating a request command for
requesting the image output unit to perform image output operation
based on predetermined output condition setting;
[0039] in the image source unit, creating a resource file used for
the image output unit to perform the image output operation;
[0040] in the image output unit, receiving the request command
through the communication interface from the image source unit;
[0041] in the image output unit, acquiring the resource file
through the communication interface from the image source unit;
and
[0042] in the image output unit, controlling the image output
operation based on the received request file and the acquired
resource file.
[0043] According to the invention, there is also provided an image
source unit being connected to an image output unit through a
communication interface, including:
[0044] request command generation means for generating a request
command for requesting the image output unit to perform image
output operation based on predetermined output condition
setting;
[0045] resource file creation means for creating a resource file
used for the image output unit to perform the image output
operation; and
[0046] data storage for storing the resource file.
[0047] Preferably, the request command is transmitted to the image
output unit through the communication interface in response to an
inquiry issued from the image output unit, and the resource file is
transmitted to the image output unit through the communication
interface in response to a request issued from the image output
unit.
[0048] Preferably, the image source unit further includes an
operation unit for issuing an image output instruction, wherein the
request command is generated in response to the image output
instruction.
[0049] According to the invention, there is also provided an
information processing method executed in an image source unit
connected to an image output unit through a communication
interface, the method including the steps of:
[0050] generating a request command for requesting the image output
unit to perform image output operation based on predetermined
output condition setting;
[0051] creating a resource file used for the image output unit to
perform the image output operation; and
[0052] storing the created resource file in data storage.
[0053] Preferably, the information processing method further
includes the steps of transmitting the request command to the image
output unit through the communication interface in response to an
inquiry issued from the image output unit; and transmitting the
resource file to the image output unit through the communication
interface in response to a request issued from the image output
unit.
[0054] Preferably, the information processing method further
includes the step of issuing an image output instruction as an
operation unit is operated, wherein the request command is
generated in response to the image output instruction.
[0055] According to the invention, there is also provided an image
output unit being connected to an image source unit through a
communication interface, including:
[0056] request command reception means for receiving a request
command for requesting the image output unit to perform image
output operation based on predetermined output condition setting
through the communication interface from the image source unit;
[0057] resource file acquisition means for acquiring a resource
file used for the image output unit to perform the image output
operation through the communication interface from the image source
unit; and
[0058] control means for controlling the image output operation
based on the received request file and the acquired resource
file.
[0059] According to the invention, there is also provided an
information processing method executed in an image output unit
connected to an image source unit through a communication
interface, the method including the steps of:
[0060] checking whether or not a request command for requesting the
image output unit to perform image output operation based on
predetermined output condition setting is generated in the image
source unit;
[0061] when it is checked that the request command is generated,
receiving the request command through the communication interface
from the image source unit;
[0062] acquiring a resource file used for the image output unit to
perform the image output operation through the communication
interface from the image source unit; and
[0063] controlling the image output operation based on the received
request file and the acquired resource file.
[0064] According to the invention, there is also provided a data
communication system including:
[0065] a master unit;
[0066] a slave unit; and
[0067] a communication interface for connecting the master unit and
the slave unit,
[0068] the slave unit having request command generation means for
generating a request command for requesting the master unit to
perform predetermined operation based on predetermined operation
condition setting,
[0069] the master unit having inquiry command transmission means
for periodically transmitting an inquiry command through the
communication interface to the slave unit,
[0070] the slave unit having request command transmission means for
transmitting the request command through the communication
interface to the master unit if the request command is generated
when the inquiry command is received,
[0071] the master unit having:
[0072] request command reception means for receiving the request
command through the communication interface from the slave unit;
and
[0073] control means for controlling the predetermined operation
based on the received request file.
[0074] According to the invention, there is also provided an
information processing method including the steps of:
[0075] connecting a master unit and a slave unit through a
communication interface,
[0076] in the slave unit, generating a request command for
requesting the master unit to perform predetermined operation based
on predetermined operation condition setting,
[0077] in the master unit, periodically transmitting an inquiry
command through the communication interface to the slave unit,
[0078] in the slave unit, transmitting the request command through
the communication interface to the master unit if the request
command is generated when the inquiry command is received,
[0079] in the master unit, receiving the request command through
the communication interface from the slave unit; and
[0080] in the master unit, controlling the predetermined operation
based on the received request file.
[0081] Preferably, the information processing method further
includes the steps of in the slave unit, creating a resource file
used for the master unit to perform the predetermined operation; in
the slave unit, storing the created resource file in data storage;
and in the master unit, acquiring the resource file through the
communication interface from the slave unit, wherein the
predetermined operation is controlled based on the received request
file and the acquired resource file.
[0082] According to the invention, there is also provided a slave
unit being connected to a master unit through a communication
interface, including:
[0083] request command generation means for generating a request
command for requesting the master unit to perform predetermined
operation based on predetermined operation condition setting;
and
[0084] request command transmission means for transmitting the
request command to the master unit through the communication
interface in response to an inquiry issued from the master
unit.
[0085] Preferably, the slave unit further includes resource file
creation means for creating a resource file used for the master
unit to perform the predetermined operation; data storage for
storing the created resource file; and resource file transmission
means for transmitting the resource file to the master unit through
the communication interface in response to a request issued from
the master unit.
[0086] Preferably, the slave unit further includes an operation
unit for issuing an operation instruction, wherein the request
command is generated in response to the operation instruction.
[0087] According to the invention, there is also provided an
information processing method executed in a slave unit being
connected to a master unit through a communication interface, the
method including the steps of:
[0088] generating a request command for requesting the master unit
to perform predetermined operation based on predetermined operation
condition setting; and
[0089] transmitting the request command to the master unit through
the communication interface in response to an inquiry issued from
the master unit.
[0090] Preferably, the information processing method further
includes the steps of creating a resource file used for the master
unit to perform the predetermined operation; storing the created
resource file in data storage; and transmitting the resource file
to the master unit through the communication interface in response
to a request issued from the master unit.
[0091] Preferably, the information processing method further
includes the step of issuing an operation instruction as an
operation unit is operated, wherein the request command is
generated in response to the operation instruction.
[0092] Preferably, the information processing method further
includes the step of displaying the operation condition setting on
a display panel in response to the operation instruction.
Preferably, the slave unit includes a digital camera and the master
unit includes a digital printer.
[0093] Preferably, the inquiry command is periodically transmitted
from a USB host controller in the master unit, and when the inquiry
command is received, if the request command is generated, a storage
class USB device controller in the slave unit transmits the request
command.
[0094] Preferably, the information processing method further
includes the step of storing the generated request command in data
storage in a predetermined file format by a storage class USB
device controller, wherein a USB host controller in the master unit
periodically checks whether or not the read request command is
stored in the data storage.
[0095] Preferably, the resource file includes an image file in a
general-purpose format including a JPEG format, the method further
including the step of converting an image file in the
general-purpose format into a data format dependent on the master
unit.
[0096] According to the invention, there is also provided a master
unit being connected to a slave unit through a communication
interface, including:
[0097] inquiry command transmission means for periodically
transmitting an inquiry command through the communication interface
to the slave unit,
[0098] request command reception means for receiving a request
command for requesting the master unit to perform predetermined
operation based on predetermined operation condition setting
through the communication interface from the slave unit; and
[0099] control means for controlling the predetermined operation
based on the received request file.
[0100] Preferably, the master unit further includes resource file
acquisition means for acquiring a resource file used for the master
unit to perform the predetermined operation through the
communication interface from the slave unit, wherein the control
means controls the predetermined operation based on the received
request file and the acquired resource file.
[0101] According to the invention, there is also provided an
information processing method executed in a master unit connected
to a slave unit through a communication interface, the method
including the steps of:
[0102] periodically transmitting an inquiry command for checking
whether or not a request command for requesting the master unit to
perform predetermined operation based on predetermined operation
condition setting is generated in the slave unit through the
communication interface to the salve unit;
[0103] when it is checked that the request command is generated,
receiving the request command through the communication interface
from the slave unit; and
[0104] controlling the predetermined operation based on the
received request file.
[0105] Preferably, the information processing method further
includes the step of acquiring a resource file used for the master
unit to perform the predetermined operation through the
communication interface from the slave unit, wherein the
predetermined operation is controlled based on the received request
file and the acquired resource file.
[0106] Preferably, the resource file is acquired at the timing
dependent on the condition of the master unit.
[0107] Preferably, the slave unit includes a digital camera and the
master unit includes a digital printer.
[0108] Preferably, the inquiry command is periodically transmitted
from a USB host controller in the master unit, and when the inquiry
command is received, if the request command is generated, a storage
class USB device controller in the slave unit transmits the request
command.
[0109] Preferably, the generated request command is stored in data
storage in a predetermined file format by a storage class USB
device controller, and the information processing method further
includes the step of periodically controlling the slave unit by a
USB host controller so as to check whether or not the read request
command is stored in the data storage.
[0110] Preferably, the operation condition setting is described in
either the request command or the resource file.
[0111] Preferably, the resource file includes an image file in a
general-purpose format including a JPEG format, and the information
processing method further includes the step of converting an image
file in the general-purpose format into a data format dependent on
the master unit.
BRIEF DESCRIPTION OF THE DRAWINGS
[0112] FIG. 1 is a block diagram to show the general configuration
of a print system of direction connection type according to a first
embodiment of the invention.
[0113] FIG. 2 is a block diagram to show logical pipes (logical
communication channels) used when a USB device controller of a
digital camera and a USB device controller of a digital printer
communicate with each other.
[0114] FIG. 3 is a sequence chart to show an example of an initial
communication procedure just after communication connection between
the digital printer and the digital camera through USB is
established.
[0115] FIG. 4 is a sequence chart to show an example of a
communication procedure in the case where a print request is issued
from the digital camera and print is executed on the printer.
[0116] FIG. 5 is a sequence chart to show an example of a
communication procedure in the case where a print cancel request is
issued after a print request is issued from the digital camera.
[0117] FIGS. 6 and 7 are sequence charts to show an example of a
communication procedure of a print system of direction connection
type according to a second embodiment of the invention.
BEST MODE FOR CARRYING OUT THE INVENTION
[0118] In a print system of direct connection type according to a
first embodiment of the invention, a digital camera 10 and a
digital printer 20 such as a color ink jet printer or a color laser
printer is directly connected through a USB communication interface
cable 30, as shown in FIG. 1. The digital camera 10 includes memory
10 for retaining a photo image file (for example, a JPEG file or
any other general-purpose format file), a photographing unit 13 for
taking a photograph and converting into an electric signal, a
camera controller 15 for controlling the operation of the parts of
the camera 10, and a USB device controller 17 for communicating
with a USB host such as the digital printer 20.
[0119] The camera controller 15 includes various operation buttons
including a shutter button, a color liquid crystal display panel,
and the like although not shown. The camera controller 15 drives
the photographing unit 13 for taking a photograph in response to
shutter button operation, receives the electric signal of the taken
photograph from the photographing unit 13, creates an image file,
writes the image file into the memory 11, and reads any desired
image from the memory 11 in response to predetermined image
reference button operation for displaying the image on the color
liquid crystal display panel. Further, the camera controller 15
generates a control command for making a request for acquiring the
printer status (printer status request) on a regular basis, selects
the image file to be printed out of the memory 11 in response to
image selection button operation of the user, generates print set
data representing setting of print conditions (for example, the
number of print sheets, the paper type, the paper size, the print
quality, image correction, print layout, the image to be printed,
etc.) in response to print setting button operation of the user,
generates a control command for making a request for print
execution containing the print set data (print request) in response
to print request button operation of the user following the image
selection button operation, and generates a control command for
making a request for print cancel (print cancel request) in
response to print cancel button operation of the user.
[0120] The USB device controller 17 has a function of communicating
with the USB host in compliance with the USB standard as the USB
storage class device and thus enables the USB host to make a search
for various directories in the memory 11 and read/write any desired
image file. Further, the USB device controller 17 has an additional
function complying with the principle of the invention. That is,
this additional function enables the USB device controller 17 to
transmit a control command such as a printer status request, a
print request, or a print cancel request generated by the camera
controller 15 to the digital printer 20 in a substantially equal
mode to that of transmitting the control command independently from
the digital camera 10 (namely, substantially with no delay and
immediately when the control command is generated) according to a
method described later.
[0121] The digital printer 20 includes a print controller 21 for
returning the printer status, reading the image to be printed from
the memory 11, rendering the print image, and performing other
various types of control in response to a printer status request, a
print request, a print cancel request, etc., from the digital
camera 10, a USB host controller 25 for communicating with a USB
device as the USB host, a print engine 23 for printing out under
the control of the print controller 21, and the like.
[0122] The print controller 21 includes a function of receiving an
image file in a general-purpose compression format such as a JPEG
file or any other general-purpose format file from the digital
camera 10 and decompressing the image file into bit map image data,
a color conversion function of converting RGB pixel values of the
bit map image data into CMYK pixel values, and a half toning
function of converting pixel values of multiple-step gradation of
the bit map image data into pixel values of area coverage gradation
representing dots and blank. Thus, the digital camera 10 need not
include the functions of decompressing the image file to be printed
such as a JPEG file in the memory 11, executing color conversion of
the image file, and half toning of the image file, and may provide
the image file for the digital printer 20 intact. Consequently, the
configuration of the digital camera 10 need not be customized for
each model of digital printer 20 and the merit of using a
general-purpose digital camera as the digital camera 10 can be
provided.
[0123] The USB host controller 25 has a function of accessing the
memory 11 in the digital camera 10 functioning as the storage class
USB device in compliance with the USB standard, thereby
reading/writing any desired data in any desired directory. Further,
the USB host controller 25 has an additional function complying
with the principle of the invention. That is, this additional
function enables the USB host controller 25 to receive the
above-described printer status request, print request, print cancel
request, etc., from the digital camera 10 in a substantially equal
mode to that of transmitting the request, etc., independently from
the digital camera 10 (namely, substantially with no delay and
immediately when the control command is generated) according to a
method described later.
[0124] Thus, the additional functions of the USB device controller
17 of the digital camera 10 and the USB device controller 25 of the
digital printer 20 complying with the principle of the invention
enable the digital camera 10 substantially independently to perform
control for or work upon the digital printer 20 with respect to
print condition setting, print request, etc. Here, it is to be
noted that the additional functions do not hinder the communication
function between the USB host and the USB storage class device
defined in the USB standard (namely, make the function remain
effective) as understood from the description given later.
Therefore, to connect the digital camera 10 to a personal computer
through the USB, the USB host controller included as standard in
the OS of the personal computer can recognize the digital camera 10
as a USB storage class device and can normally communicate with the
digital camera (of course, the personal computer ignores the
additional functions described above). This means that to connect
the digital camera 10 to a personal computer through the USB, a
special USB controller dedicated to the digital camera 10 need not
be installed in the personal computer, providing a large merit for
the user.
[0125] The additional functions will be discussed below in
detail:
[0126] As shown in FIG. 2, the three types of communication pipes
(communication channels) of a control pipe 41, a bulk pipe 43, and
an interrupt pipe 45 are used between the USB device controller 17
and the USB host controller 25. Here, the control pipe 41 is used
to transmit various control commands from the digital camera 10 to
the digital printer 20 and from the digital printer 20 to the
digital camera 10. The bulk pipe 43 is used for data transmission
such as transmission of an image file from the digital camera 10 to
the digital printer 20 and transmission of the printer status from
the digital printer 20 to the digital camera 10. The interrupt pipe
45 is used to transmit a request inquiry command of "Interrupt In"
from the digital printer 20 to the digital camera 10.
[0127] These three types of pipes are all defined in the USB
standard. However, the USB standard does not make any definition as
to use of the interrupt pipe 45 concerning communications of a USB
storage device. In the embodiment, as the effective use of the
interrupt pipe 45 is made, various control commands can be sent
substantially independently from the digital camera 10 of the USB
storage type device to the digital printer 20 of the USB host. That
is, while the digital printer 20 is connected with the digital
camera 10 through the USB, it sends an "Interrupt In" command
through the interrupt pipe 45 to the digital camera 10 periodically
at very high speed viewed from the user, such as at least one per
millisecond, for example. Whenever the digital camera 10 receives
the "Interrupt In" command, it returns a response to the command
through the control pipe 41 to the digital printer 20. In this
case, if a control command such as a printer status request, a
print request, or a print cancel request described above is
generated in the digital camera 10 at the point in time at which
the "Interrupt In" command is received, the digital camera 10
returns the control command to the digital printer 20 as a response
to the "Interrupt In" command. The digital printer 20 interprets
the returned control command and executes the operation requested
by the digital printer 10 (for example, return of the printer
status, execution of print, cancel of print, etc.). Consequently,
it is made possible to cause the digital printer 20 to operate
under the substantially initiative control of the digital camera
10.
[0128] To execute print in response to the print request, the
digital printer 20 reads various data resources required for print
(for example, an image file to be printed, a definition file of
print page layout, etc.,) on its own initiative from the digital
camera 10 using the fact that the digital camera 10 is of the
storage class. Thus, the digital camera 10 may perform the
operation as the storage class, of previously recording the data
resources required for print in its own memory 11 and reading the
data resources in response to a read request from the digital
printer 20.
[0129] The communication flow between the digital printer 20 and
the digital camera 10 through the USB will be discussed below more
specifically with reference to FIGS. 3 to 5:
[0130] FIG. 3 shows an example of an initial flow of communications
conducted in the beginning when communication connection between
the digital printer 20 and the digital camera 10 through the USB is
established.
[0131] When both the digital printer 20 and the digital camera 10
are connected by a USB communication cable in a state in which they
are already powered on or when both the digital printer 20 and the
digital camera 10 are powered on in a state in which they are
already connected by a USB communication cable, USB communication
connection is established between the digital printer 20 and the
digital camera 10. When the USB communication connection is
established, the USB host controller 25 of the digital printer 20
acquires a "device descriptor" describing the configuration of the
digital camera as the USB device from the USB device controller 17
of the digital camera 10 (step S1). The device descriptor from the
digital camera 10 contains an "interface descriptor" describing
that the digital camera 10 is a storage class device. The interface
descriptor contains a "string descriptor" listing a plurality of
endpoints of the USB used by the digital camera 10 (end points at
which a packet is transmitted or received using any of the three
types of pipes 41, 43, 45 shown in FIG. 2). This string descriptor
specifically describes an "Interrupt In" end point of an additional
end point complying with the principle of the invention in addition
to end points to be possessed by the storage class device defined
in the USB standard (for example, "Bulk Out" end point and "Bulk
In" end point). Therefore, the USB host controller 25 of the
digital printer 20 recognizes that the digital camera 10 is a
storage class device and a device using an "Interrupt In" command
(a command for making an inquiry about USB device request) from the
interface descriptor and the string descriptor.
[0132] In this connection, to connect the digital printer 20 to a
USB port of a personal computer, the device descriptor of the same
contents as described above is sent to the personal computer, but
the USB host controller included as standard in the OS of the
personal computer ignores the additional "Interrupt In" end point.
Therefore, the digital printer 20 operates as a usual storage class
device not using "Interrupt In" with respect to the personal
computer.
[0133] The printer 20 acquiring the device descriptor of the
digital camera 10 sends a "printer protocol confirmation command"
to the digital camera 10 through the control pipe 41 within a
predetermined short time (for example, within one second) since the
point in time (step S4), thereby notifying the digital camera of
the type of communication protocol used by the printer 20 (namely,
the type of using the "Interrupt In" command), the protocol
version, etc.
[0134] After the communication connection is established, the
printer 20 transmits an "Interrupt In" command through the
interrupt pipe 45 to the digital camera 10 periodically at a high
rate such as one per millisecond, for example, (step S2, S5, etc.).
Whenever the digital camera 10 receives the "Interrupt In" command,
it checks whether or not some control command is generated in the
digital camera 10 at the point in time. If no control command
exists, the digital camera returns a "Nak" message meaning that no
request exists as a reply to the "Interrupt In" command through the
control pipe 41 to the printer 20 (step S3, etc.). On the other
hand, if some control command is generated in the digital camera 10
at the point in time at which the "Interrupt In" command is
received, the digital camera 10 returns the control command through
the control pipe 41 to the printer 20 as a reply to the "Interrupt
In" command (step S6, etc.).
[0135] Such control commands include a printer status request, a
print request, a print cancel request, and the like as previously
described. For example, at step S6 in FIG. 3, a printer status
request is returned to the printer 20 as a reply to the "Interrupt
In" command at step S5. The printer 20 receiving the printer status
request checks the most recent printer status and writes the data
indicating the printer status into a predetermined directory in the
memory 11 of the digital camera 10 through the bulk pipe 45 (step
S7), thereby informing the digital camera 10 of the most recent
printer status (and the digital camera 10 displays the printer
status on a liquid crystal display panel, etc., although not
shown).
[0136] If the printer 20 becomes ready to accept a print request
after the communication connection is established, upon reception
of a first printer status request (step S6), the printer 20 not
only sends the printer status data to the digital camera 10 (step
S7), but also transmits a message to indicate that the printer is
ready to accept a print request through the control pipe 41 to the
digital camera 10 (step S8).
[0137] The timing at which a printer status request is generated in
the digital camera 10 can be set as desired depending on the design
of the digital camera 10; for example, it can be set to periodical
timing of five-second interval, one-second interval, etc., between
the instant at which a print request is issued to the printer 20
and the instant at which print is complete, between the instant at
which a print cancel request is issued to the printer 20 and the
instant at which print is canceled, etc., for example.
[0138] FIG. 4 shows an example of a communication procedure in the
case where a print request is issued from the digital camera 10 and
print is executed on the printer 20.
[0139] While the printer 20 is connected with the digital camera
10, it continues to send an "Interrupt In" command to the digital
camera 10 periodically at a high rate (step S11, S13, S17, S21,
S25) as previously described. If a print request is generated upon
reception of an "Interrupt In" command as at step S13, the digital
camera 10 returns the print request through the control pipe 41 to
the printer 20 as a reply to the "Interrupt In" command as shown at
step S14. The print request contains print setting data indicating
the user-specified print conditions. The print setting data
describes the path name and the file name of the image file to be
printed in the memory 11 in addition to general print conditions of
the number of print sheets, the paper size, the print quality, an
image correction method, etc. Further, to print using a
predetermined print page layout (layout and dimensions of one or
more images printed in one page, layout and dimensions of
qualification of a photo frame, an insertion character, an
insertion drawing, etc., the path name, the file name, etc.), the
print setting data describes the path name, the file name, etc., of
a layout file defining the print page layout in the memory 11.
[0140] The printer 20 receiving the print request as described
above sends a command to read the resource file required for print
requested by the print request from the memory 11 of the digital
camera 10 (resource file request command) to the digital camera 10
at step S15, and at step S16 reads the resource file required for
print independently from the memory 11 of the digital camera 10
through the mediation of the storage class USB device controller 17
of the digital camera 10 making a response to the command and
prints using the resource file. Here, the resource files required
for print are the image file to be printed (the path name and the
file name are described on the print request) and to use a
predetermined print page layout, the layout file defining the print
page layout (the path name and the file name are described on the
print request), a file of a photo frame, insertion text, an
insertion drawing, etc., used in the print page layout (the path
name and the file name are described in the layout file), etc. The
printer 20 reads these resource files on its own initiative from
the memory of the digital camera 10 and performs processing of
decompression, color conversion, half toning, etc., and thus the
digital camera 10 need not perform complicated processing.
[0141] The printer 20 continues to send an "Interrupt In" command
to the digital camera 10 periodically at a high rate still after
accepting the print request. When a first printer status request is
returned as at step S18 from the digital camera 10 in response to
the "Interrupt In" command after accepting the print request, the
printer 20 transmits the printer status (step S19) and sends a
message to the effect that the print request is accepted through
the control pipe 41 to the digital camera 10 (step S20). The print
request acceptance message describes the id number to identify the
print job by the digital camera 10 (in the example in the figure,
"01"). Accordingly, the digital camera 10 recognizes that the print
request of the print job with the id number "01" previously sent is
accepted at the printer 20 and the print processing is started.
After this, the digital camera 10 can control the operation of the
digital camera 10 itself so as not to issue a print request of a
new print job until the digital camera receives a notification of
print completion concerning the print job with the id number
"01."
[0142] While the printer 20 prints, whenever the printer 20
receives a printer status request as a reply to the "Interrupt In"
command (step S22), it not only transmits the printer status (step
S23), but also checks the most recent print state (for example, the
remaining number of print incomplete sheets or the number of print
complete sheets) and transmits a message indicating the most recent
print state through the control pipe 41 to the digital camera 10
(step S24).
[0143] Upon completion of the print, when the printer 20 receives a
printer status request as a reply to the "Interrupt In" command
first after the completion (step S26), the printer 20 not only
transmits the printer status (step S27), but also sends a message
to the effect that the print is complete through the control pipe
41 to the digital camera 10 (step S28). Since the print completion
message contains the id number of the complete print job, the
digital camera 10 can recognize which print job is complete from
the id number. Upon completion of the print job, the digital camera
10 can control the operation of the digital camera 10 itself so as
to be able to issue a print request of a new print job.
[0144] FIG. 5 shows an example of a communication procedure in the
case where a print cancel request is issued after a print request
is issued from the digital camera 10.
[0145] Steps S13 to S24 at which a print request is issued and
print is executed are similar to steps S13 to S24 in FIG. 4
previously described. After this, if a print cancel request is
generated in the digital camera 10 before the print is complete,
the print cancel request is sent as a reply to the "Interrupt In"
command (step S25) just after the print cancel request from the
digital camera 10 through the control pipe 41 to the printer 20
(step S31). The print cancel request contains the id number of the
print job to be canceled.
[0146] The printer 20 receiving the print cancel request cancels
execution of the print job of the id number. When the printer
receives a printer status request as a reply to the "Interrupt In"
command first after the print is canceled (step S33), the printer
20 not only transmits the printer status (step S34), but also sends
a message to the effect that the print is canceled through the
control pipe 41 to the digital camera 10 (step S35). Since the
print cancel message contains the id number of the canceled print
job, the digital camera 10 can recognize which print job is
complete from the id number.
[0147] As described above, while operating as the storage class USB
device for the printer 20, the digital camera 10 returns any of
various requests (control commands) generated in the digital camera
10 to the printer 20 as a reply to an "Interrupt In" command
(request inquiry) frequently coming from the printer 20, whereby
the printer 20 can be operated substantially under the initiative
control from the digital camera 10.
[0148] FIGS. 6 and 7 show an example of a communication procedure
of a print system of direction connection type according to a
second embodiment of the invention.
[0149] In the embodiment, a digital camera 10 operates as a usual
storage class USB device without using the additional function
using the "Interrupt In" command described above. Every control
command such as a printer status request, a print request, or print
cancel generated in the digital camera 10 is written into a
predetermined directory in memory 11 in the form of a file with a
specific file name or a specific identifier indicating what command
the control command is (for example, a text file, hereinafter
referred to as "command file"). A printer 20 checks whether or not
a command file exists in the predetermined directory in the memory
11 periodically at a very high rate for the user, such as at least
one per millisecond, for example. If a command file exists, the
printer 20 reads the command file and recognizes the control
command from the digital camera 10. Accordingly, the printer 20 can
be operated substantially under the initiative control from the
digital camera 10.
[0150] An example of a specific communication procedure will be
discussed below:
[0151] The three types of directories named " printjob," "
printsts," and " imgdata," for example, are provided in the memory
11 in the digital camera 10, as shown at step S51 in FIG. 6. The "
printjob" directory stores a file corresponding to a print request
of the digital camera 10 (which will be hereinafter called "print
request file"). In the embodiment, the "print request file"
involved in one print job is a set of two types of files as
described later. In the description to follow, the two types of
files are collectively called "print request file." The " printsts"
directory stores several types of files corresponding to messages
indicating the state of each print job from the printer 20 (for
example, print request acceptance message, print state message,
etc., described above in the preceding embodiment). The " imgdata"
directory stores various types of resources files used for print,
for example, an image file of a taken photograph, a layout file
defining a specific print page layout, and an image file, a text
file, etc., of a photo frame, insertion text, an insertion drawing,
etc., used in the print page layout. In FIG. 6, only one image file
and one layout file exist in the " imgdata" directory; in fact,
however, usually a plurality of image files and a plurality of
layout files exist.
[0152] Not only the digital camera 10, but also the digital printer
20 previously has knowledge of the three types of directories in
the memory 11, the use purposes of the directories, and the
meanings of the file names and the identifiers of the files written
in the directories. This knowledge may be previously fixedly
programmed in the digital printer 20 or when USB communication
connection between the digital camera 10 and the digital printer 20
is established, the digital printer 20 may be notified of the
knowledge according to a device descriptor or a special declaration
statement from the digital camera 10.
[0153] It is assumed at step S41 in FIG. 6 that the user uses the
digital camera 10 and selects the image to be printed, specifies
the print page layout to be used, and performs button operation for
preparation for print such as setting of print conditions and then
operates a button for giving a print execution instruction. Then,
at step S42, the digital camera 10 responds to the button operation
and creates an "image and layout specification file" specifying the
image to be printed and the print page layout to be used (for
example, the path name and file name of the image file, the path
name and file name of the layout file, and the like) and a "print
setting file" describing setting of the print conditions to be used
and writes a set of the two files (namely, the above-mentioned
"print request file") into the " printjob" directory in the memory
11.
[0154] On the other hand, the printer 20 checks the " printjob"
directory in the memory 11 periodically at a high rate such as at
least one per millisecond, for example, as shown at step S61, S62,
S63, etc. If no print request file exists in the " printjob"
directory as at step S61, the printer 20 performs no operation.
However, if print request file (namely, image and layout
specification file and print setting file) exists in the "
printjob" directory as at step S62, the printer 20 reads the print
request file. The printer 20 grasps the path name and file name of
the image file to be printed and the path name and file name of the
layout file, described in the print request file, and reads the
image file and the layout file from the " imgdata" directory in the
memory 11.
[0155] Further, the printer 20 grasps the path name and file name
of the image file or the text file of a photo frame, insertion
text, an insertion drawing, etc., described in the layout file and
reads the image file or the text file of a photo frame, insertion
text, an insertion drawing, etc., from the " imgdata" directory in
the memory 11 although not shown in the figure. The printer 20 uses
the read resource files and starts print processing in accordance
with the print condition setting described in the print request
file (particularly, the print setting file). At the same time, the
printer 20 writes a "print request acceptance file" indicating
acceptance of the print request (the file in which the id number of
the corresponding print job is written) into the " printsts"
directory in the memory 11.
[0156] If only the same print request file as the already read
print request file exists in the " printjob" directory as the
result of the periodical check as shown at step S63, the printer 20
continues the print processing based on the already read print
request file.
[0157] The printer 20 writes a print state file describing the most
recent print state (for example, the remaining number of unprinted
sheets or the number of print complete sheets) into the " printsts"
directory in the memory 11 as shown at step S64 periodically or
each time the print state changes after starting the print
processing. As a write method of the print state file, "overwrite"
(namely, a method of erasing the previous print request acceptance
file or print state file and writing a new print state file) is
adopted in the embodiment; however, it need not necessarily be
adopted and "additional write" (namely, a method of writing a new
print state file without erasing the previous print request
acceptance file or print state file) may be adopted.
[0158] On the other hand, the digital camera 10 checks the "
printjob" and " printsts" directories in the memory 11 periodically
(preferably at a high rate similar to that of the printer 20) as
shown at step S43, S44, etc., after issuing the print request at
step S42. As the result of the checking, if a print request
acceptance file from the printer 20 exists in the " printsts"
directory, the digital camera 10 reads the print request acceptance
file, thereby recognizing that the previously issued print request
is accepted at the printer 20 as at step S43. If a print state file
exists in the " printsts" directory, the digital camera 10 reads
the print state file, thereby recognizing the most recent print
state as shown at step S44.
[0159] FIG. 7 shows the remaining communication procedure following
the described communication procedure.
[0160] Upon completion of the print, the printer 20 erases the
print request file of the completed print job from the " printjob"
directory in the memory 11 and writes a "print completion file"
indicating completion of the print (the id number of the completed
print job is written) into the " printsts" directory in the memory
11 as shown at step S65. Then, the digital camera 10 finds the
print completion file in the " printsts" directory in the
periodical check and reads the print completion file, thereby
recognizing which print job is completed as shown at step S45.
[0161] Then, if the digital camera 10 recognizes that no print
request file exists in the " printjob" directory in the periodical
check as shown at step S46, the digital camera 10 becomes ready to
issue a new print request. If the user performs button operation
for making a new print request as shown at step S47, the digital
camera 10 creates a new print request file and writes the print
request file into the " printsts" directory as shown at step S48
according to the same procedure as previously described. After
this, the new print request is read into the printer 20 according
to a similar procedure to that previously described (step S67) and
print processing is performed accordingly.
[0162] As described above, the digital camera 10 writes a control
command into a predetermined directory in the memory 11 in the form
of a file and the printer 20 frequently monitors the directory, and
if a command file is written, immediately the printer reads the
command file, whereby if the digital camera 10 functions only as
usual storage for the printer 20, the printer 20 can be controlled
from the digital camera 10 substantially on its own initiative.
[0163] While the embodiments of the invention have been described,
such description is for illustrative purposes only, and it is to be
understood that the invention is not limited to the embodiments
thereof. Therefore, various changes and modifications can be made
in the invention without departing from the spirit and scope
thereof.
* * * * *