Abstract:
Improvement of printing speed is set out in an image processing apparatus, which is connected communicably with a printing apparatus, for transferring a recorded image to the printing apparatus and having the printing apparatus print the image. To achieve this object, the present invention has the following configuration. Namely, the invention provides an image processing method of an image capturing apparatus, communicably connected with a printing apparatus which prints transmitted image data. The image processing method comprises: a receiving step (step S 101 , S 104 ) of receiving information regarding a printing condition of the printing apparatus for printing the transmitted image data; a processing step (step S 103 , S 106 ) of processing image data to be transmitted to the printing apparatus based on the information regarding the printing condition received in the receiving step; and a transmitting step (step S 108 ) of transmitting the image data processed in the processing step to the printing apparatus.

Description:
FIELD OF THE INVENTION 
   The present invention relates to an image processing technique for processing an image recorded by an image capturing apparatus in a printing system, where a printing apparatus and the image capturing apparatus are communicably connected for directly transferring an image recorded by the image capturing apparatus to the printing apparatus and printing the image. 
   BACKGROUND OF THE INVENTION 
   Recently prevailing is a function for directly connecting a printer (printing apparatus) with a digital camera (image capturing apparatus) via an interface, e.g., USB, to directly have the printer print a photograph image recorded in a recording medium of the digital camera (e.g., refer to Japanese Patent Application Laid-Open No. 2003-280848). According to this function, it is possible to print a photograph, sensed by a digital camera, without an involvement of a personal computer. Therefore, this function is very effective for a user who is not good at operating a personal computer. 
   However, currently available printers are considerably inferior to personal computers in terms of CPU processing power. For this reason, in a case where a digital camera is directly connected with a printer to perform printing, the printing speed is lower than the case where printing is performed through a personal computer. 
   To realize a particularly high-quality color-print image, it is necessary to perform various image processing on image data. In a case where printing is performed through a personal computer, various image processing can be executed by the personal computer. By virtue of this, the printer&#39;s processing load is relatively reduced, and even a printer with low CPU processing power can achieve sufficient printing speed. On the contrary, in a case where a digital camera is directly connected with a printer to perform printing, various image processing must be performed by the printer. Since this causes an increased processing load in the printer, sufficient printing speed cannot be achieved by the current printer&#39;s CPU processing power. 
   Furthermore, in keeping with the high resolution trend of currently available digital cameras, the amount of image data is increasing. As a result, not only the processing time of the printer is longer, but also the data transfer time for reading the image data from a digital camera by the printer tends to be increasing. This causes deterioration in printing speed. 
   To cope with the above problems, for instance, it may be considered to simplify the processing function of the printer to reduce printer&#39;s processing load. However, in this case, image quality deterioration will entail in return for reduction of the processing time, and this is not appropriate. 
   Furthermore, for instance, the amount of image data sensed by a digital camera may be reduced (thinned) before transmitting the image data from the digital camera to the printer for reducing the data transfer time. However, reducing image data without careful consideration results in image quality deterioration; thus, it is not appropriate. 
   SUMMARY OF THE INVENTION 
   The present invention has been proposed in view of the above problems, and has as its object to improve printing speed without causing image quality deterioration in a printing system where a printing apparatus and an image capturing apparatus are communicably connected for directly transferring an image recorded by the image capturing apparatus to the printing apparatus and printing the image. 
   In order to achieve the above object, a print processing system according to the present invention has the following configuration. More specifically, a printing system, where a printing apparatus and an image capturing apparatus are communicably connected, for printing image data, which is transmitted by the image capturing apparatus, by the printing apparatus, the printing apparatus comprising: notification unit configured to notify the image capturing apparatus of information regarding a printing condition for printing image data transmitted by the image capturing apparatus, and the image capturing apparatus comprising: processing unit configured to process image data to be transmitted to the printing apparatus based on the information regarding the printing condition which is notified by the notification unit; and transmission unit configured to transmit the image data processed by the processing unit to the printing apparatus. 
   According to the present invention, it is possible to improve printing speed without causing image quality deterioration in a printing system where a printing apparatus and an image capturing apparatus are communicably connected for directly transferring an image recorded by the image capturing apparatus to the printing apparatus and printing the image. 
   Other features and advantages of the present invention will be apparent from the following description taken in conjunction with the accompanying drawings, in which like reference characters designate the same or similar parts throughout the figures thereof. 

   
     BRIEF DESCRIPTION OF THE DRAWINGS 
     The accompanying drawings, which are incorporated in and constitute a part of the specification, illustrate embodiments of the invention and, together with the description, serve to explain the principles of the invention. 
       FIG. 1  is a block diagram showing a configuration of functions of a print processing system according to an embodiment of the present invention; 
       FIG. 2  is a view showing how image data is subjected to resizing and thereafter subjected to rotating; 
       FIG. 3  is a view showing how part of image data is subjected to trimming, and thereafter subjected to resizing and rotating; 
       FIG. 4  is a flowchart describing an algorithm for performing resizing and rotating on image data by a digital camera and performing printing by a printer based on the processed image data; and 
       FIG. 5  is a flowchart showing an algorithm for performing resizing and rotating on trimmed image data by a digital camera and performing printing by a printer based on the processed image data. 
   

   DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS 
   Preferred embodiments of the present invention will now be described in detail in accordance with the accompanying drawings. 
   First, a brief overview of each embodiment of the present invention is described. To achieve the object of the present invention, a digital camera according to the following embodiments acquires information regarding a printing condition from a printer, and in a case where the digital camera determines that it is necessary to perform rotation processing on image data based on the information, the rotation processing which has conventionally been performed by the printer is executed by the digital camera. 
   The image processing time in a conventional printer not only includes the processing time for converting image data having, e.g., a JPEG format, stored in a digital camera to CMYK data suitable for printing by the printer, but also includes the processing time for converting a general landscape image sensed by a digital camera to a portrait image to match the printing paper conveyance direction of the printer (processing time for rotating the image data received from a digital camera by 90°). The present invention focuses attention on the fact that the time required for the rotation processing imposes a heavy load on a printer having low CPU processing power, similar to the conversion processing to CMYK data. 
   Furthermore, a digital camera according to the following embodiments is constructed in a way that the image size (the vertical pixel number and the horizontal pixel number) of image data is changed based on the information regarding a printer&#39;s printing condition, before the image data is transmitted to the printer. 
   This is because, in the conventional printer, in a case where image data sensed by a high-resolution digital camera is received and printed on a relatively small size of paper or a case where image data is trimmed and printed (an arbitrary portion of a sensed image, called a trimming frame, is extracted for printing), all the pixels included in the image data are not used but thinned out before printing. In other words, despite the long image data transfer time, the conventional printer utilizes only part of the data included in the image data and discards the rest. The present invention focuses attention on the construction of the conventional printer whose processing is comprehensively inefficient. Hereinafter, each embodiment of the present invention is described in detail. 
   First Embodiment 
     FIG. 1  is a block diagram showing a configuration of functions of a print processing system comprising a digital camera (image capturing apparatus) according to an embodiment of the present invention. 
   In  FIG. 1 , numeral  1  denotes a printing system, which is constituted with a printer  11  and a digital camera  12  mutually connected via an interface cable  13 , e.g., a USB. 
   The printer  11  comprises: a communication controller  11   a , a printing data management memory  11   b , an image resizing processor  11   c , an image rotation processor  11   d , an image color processor  11   e , an image expansion/compression processor  11   f , and a print controller  11   g.    
   The digital camera  12  comprises: a communication controller  12   a , a printing data management memory  12   b , an image resizing processor  12   c , an image rotation processor  12   d , and an image expansion/compression processor  12   e.    
   The communication controller  11   a  transmits to the communication controller  12   a  of the digital camera  12 , the vertical-and-horizontal pixel number (information regarding a printing condition) which is calculated based on a printing condition such as a paper size and a resolution of the printer  11 , a memory capacity, performance information (information regarding printer&#39;s printing capability) such as the amount of storable image data, and so on. 
   The communication controller  12   a  receives the vertical-and-horizontal pixel number as well as the performance data from the printer  11 , and transfers the data to the image resizing processor  11   c  and the like to be utilized in resizing or the like. 
   Note that in the example shown in  FIG. 1 , although the construction for implementing the present invention is realized with a hardware, it goes without saying that the present invention may be realized by storing a software program in a memory (not shown) which executes the present invention under computer control. 
     FIG. 2  is a view showing a process of how image data, which is sensed by the digital camera  12 , is adapted for printing of the printer  11 . In  FIG. 2 , numeral  201  denotes image data of an original image sensed by the digital camera  12 . Numeral  202  denotes image data where the vertical-and-horizontal pixel number of the original image  201  sensed by the digital camera  12  is resized to match the printing condition of the printer  11 . Numeral  203  denotes image data where the image data  202  is rotated 90°, since the resized image data  202  does not match the printing direction of the printer  11  (i.e., because the image data  202  has a landscape direction while the printing direction of the printer  11  is a portrait direction). 
     FIG. 3  is a view showing a process of how image data, which is sensed by the digital camera  12 , is adapted for trimming and printing of the printer  11 . In  FIG. 3 , numeral  301  denotes image data of an original image sensed by the digital camera  12 . Numeral  302  denotes image data in the trimming frame, which designates the portion to be printed in the image data  301 . Numeral  303  denotes image data where the image data designated by the trimming frame  302  is extracted from the image data  301  and the vertical-and-horizontal pixel number of the extracted image is resized to match the printing condition of the printer  11 . Numeral  304  denotes image data where the image data  303  is rotated 90°, since the resized image data  303  does not match the printing direction of the printer  11  (i.e., because the image data  303  has a landscape direction while the printing direction of the printer  11  is a portrait direction). 
     FIG. 4  is a flowchart executed by the printing system  1  shown in  FIG. 1 , which describes an algorithm for performing image resizing and image rotating by the digital camera  12  in accordance with the printing condition of the printer  11 . 
   In step S 101 , the printer  11  calculates the vertical-and-horizontal pixel number to be printed on paper in accordance with the printing condition, such as the size of paper and resolution. The calculated vertical-and-horizontal pixel number is notified from the communication controller  11   a  of the printer  11  to the communication controller  12   a  of the digital camera  12  using a communication protocol which is arbitrarily determined in advance between the printer  11  and the digital camera  12 . The notified vertical-and-horizontal pixel number is stored in the printing data management memory  12   b  of the digital camera  12 . 
   In step S 102 , the digital camera  12  compares the vertical-and-horizontal pixel number notified by the printer  11  with the vertical-and-horizontal pixel number of the image data currently subjected to printing, and determines whether or not resizing of the image data is necessary. If the vertical-and-horizontal pixel number of the image data  201  shown in  FIG. 2  is larger than the vertical-and-horizontal pixel number notified by the printer  11 , it is determined that resizing is necessary, and the control proceeds to step S 103 . Meanwhile, if the vertical-and-horizontal pixel number of the image data  201  is equal to or smaller than the vertical-and-horizontal pixel number notified by the printer  11 , it is determined that resizing is not necessary, and the control proceeds to step S 104 . 
   In step S 103 , the digital camera  12  performs resizing by the image resizing processor  12   c  so that the image data  201  fits the vertical-and-horizontal pixel number required by the printer, which is notified in step S 101 . To obtain the vertical-and-horizontal pixel number to be fit, the value stored in the printing data management memory  12   b  in step S 101  is referred. For instance, as shown in  FIG. 2 , assume that the vertical-and-horizontal pixel number of the image data  201  is 1200×1600, and that the vertical-and-horizontal pixel number that can be printed with the current printing condition of the printer  11  is 600×800. In this case, in step S 103 , the image data  201  is resized to image data  202  having 600 vertical pixels and 800 horizontal pixels. In this stage, since the vertical-and-horizontal pixel number that constitutes the image data  201  and the vertical-and-horizontal pixel number that can be printed by the printer  11  are not necessarily similar figures, part of the image data  201  is cut off at the time of resizing, or resizing is performed while resigning a margin. 
   In step S 104 , the printer  11  notifies the digital camera  12  whether the image data constituted with the vertical-and-horizontal pixel number notified in step S 101  is to be subjected to resizing and rotating before it is transferred to the printer  11  or the image data is not to be subjected to rotating before it is transferred to the printer  11 . 
   In step S 105 , the digital camera  12  determines whether or not image rotation has been requested by the printer  11  in step S 104 . If rotation has been requested, the control proceeds to step S 106 ; otherwise, the control proceeds to step S 107 . 
   In step S 106 , the digital camera  12  performs image rotation on the resized image data  202  by the image rotation processor  12   d , and obtains image data  203 . 
   In step S 107 , the digital camera  12  performs compression on the image data, which has been resized or rotated as needed based on the request from the printer  11 , by the image expansion/compression processor  12   e . Although a compression method is not particularly specified herein, generally a reversible compression method represented by PackBits or the like, or a nonreversible compression method represented by JPEG or the like is selected. 
   In step S 108 , the digital camera  12  transfers the image data compressed in step S 107  to the printer  11  via the communication controller  12   a  and the communication controller  11   a.    
   In step S 109 , the printer  11  expands the received image data by the image expansion/compression processor  11   f  to obtain the image data. 
   In step S 110 , the printer  11  determines whether or not the image data which has been expanded upon reception requires image rotation, and also determines whether or not image rotation has been performed by the digital camera  12 . If it is determined that image rotation is necessary but has not been performed, the control proceeds to step S 111 ; otherwise, the control proceeds to step S 112 . If image rotation has been performed by the digital camera  12 , the control proceeds to step S 112 . 
   In step S 111 , the printer  11  performs image rotation on the expanded image data by the image rotation processor  11   d.    
   In step S 112 , the printer  11  determines whether or not the image data which has been expanded upon reception requires resizing, and also determines whether or not resizing has been performed by the digital camera  12 . If it is determined that resizing is necessary but has not been performed, the control proceeds to step S 113 ; otherwise, the control proceeds to step S 114 . Meanwhile, if image resizing has been performed by the digital camera  12 , the control proceeds to step S 114 . 
   In step S 113 , the printer  11  performs resizing on the expanded image data by the image resizing processor  11   c.    
   In step S 114 , the printer  11  performs color processing by the image color processor  11   f  on the image data which has been expanded and, as needed, rotated and resized. 
   In step S 115 , the printer  11  transfers the color-processed image data to the print controller  11   g  to perform printing. Upon completion of printing, the control proceeds to step S 116  to end the processing. 
   As is apparent from the above description, according to the first embodiment, by virtue of performing image data resizing and rotating by the digital camera instead of the printer as has been performed conventionally, it is possible to reduce the printer&#39;s processing load and processing time. Furthermore, since the embodiment contributes to reduction in the amount of image data transmitted from the digital camera to the printer, it is also possible to reduce data transfer time. As a result, in a case where a digital camera is directly connected to a printer having inferior CPU processing power to that of a personal computer for directly printing image data stored in the digital camera, the printing speed does not lag behind a case of printing image data through a personal computer. Furthermore, since the above-described processing does not involve simplification of the processes or deletion of image data necessary for printing, it does not cause image quality deterioration. 
   Second Embodiment 
     FIG. 5  is a flowchart executed by the printing system shown in  FIG. 1 , which describes an algorithm for performing image resizing and image rotating by the digital camera  12  in accordance with a printing condition of the printer  11 . In particular, this flowchart shows a case where part of the image data is trimmed and printed. 
   In step S 201 , the printer  11  calculates the vertical-and-horizontal pixel number to be printed on paper in accordance with the printing condition, such as the size of paper and resolution. The calculated vertical-and-horizontal pixel number is notified from the communication controller  11   a  of the printer  11  to the communication controller  12   a  of the digital camera  12  using a communication protocol which is arbitrarily determined in advance between the printer  11  and the digital camera  12 . The notified vertical-and-horizontal pixel number is stored in the printing data management memory  12   b  of the digital camera  12 . 
   In step S 202 , the digital camera  12  compares the vertical-and-horizontal pixel number notified by the printer  11  with the vertical-and-horizontal pixel number of the trimmed image data currently subjected to printing, and determines whether or not resizing of the image data is necessary. If the vertical-and-horizontal pixel number of the trimming frame  302  indicated by the dotted line in the image data  301  shown in  FIG. 3  is larger than the vertical-and-horizontal pixel number notified by the printer  11 , it is determined that resizing is necessary, and the control proceeds to step S 203 . Meanwhile, if the vertical-and-horizontal pixel number of the trimming frame  302  is equal to or smaller than the vertical-and-horizontal pixel number notified by the printer  11 , it is determined that resizing is not necessary, and the control proceeds to step S 204 . 
   In step S 203 , the digital camera  12  performs resizing by the image resizing processor  12   c  so that the image data in the trimming frame  302  fits the vertical-and-horizontal pixel number required by the printer, which is notified in step S 201 . To obtain the vertical-and-horizontal pixel number to be fit, the value stored in the printing data management memory  12   b  in step S 201  is referred. For instance, as shown in  FIG. 3 , assume that the vertical-and-horizontal pixel number of the image data  301  is 1200×1600, the vertical-and-horizontal pixel number of the trimming frame is 750×1000, and the vertical-and-horizontal pixel number that can be printed with the current printing condition of the printer  11  is 600×800. In this case, in step S 203 , the image data  302  in the trimming frame is resized to image data  303  having 600 vertical pixels and 800 horizontal pixels. In this stage, since the vertical-and-horizontal pixel number that constitutes the image data  302  in the trimming frame and the vertical-and-horizontal pixel number that can be printed by the printer  11  are not necessarily similar figures, part of the image data  301  in the trimming frame is cut off at the time of resizing, or resizing is performed while resigning a margin. 
   In step S 204 , the printer  11  notifies the digital camera  12  whether the image data constituted with the vertical-and-horizontal pixel number notified in step S 201  is to be subjected to resizing and rotating before it is transferred to the printer  11  or the image data is not to be subjected to rotating before it is transferred to the printer  11 . 
   In step S 205 , the digital camera  12  determines whether or not image rotation has been requested by the printer  11  in step S 204 . If rotation has been requested, the control proceeds to step S 206 ; otherwise, the control proceeds to step S 207 . 
   In step S 206 , the digital camera  12  performs image rotation on the resized image data  303  by the image rotation processor  12   d , and obtains image data  304 . 
   In step S 207 , the digital camera  12  performs compression on the image data, which has been resized or rotated as needed based on the request from the printer  11 , by the image expansion/compression processor  12   e . Although a compression method is not particularly specified herein, generally a reversible compression method represented by PackBits or the like, or a nonreversible compression method represented by JPEG or the like is selected. 
   In step S 208 , the digital camera  12  transfers the image data compressed in step S 207  to the printer  11  via the communication controller  12   a  and the communication controller  11   a.    
   In step S 209 , the printer  11  expands the received image data by the image expansion/compression processor  11   f  to obtain the image data. 
   In step S 210 , the printer  11  determines whether or not the image data which has been expanded upon reception requires image rotation, and also determines whether or not image rotation has been performed by the digital camera  12 . If it is determined that image rotation is necessary but has not been performed, the control proceeds to step S 211 ; otherwise, the control proceeds to step S 212 . If image rotation has been performed by the digital camera  12 , the control proceeds to step S 212 . 
   In step S 211 , the printer  11  performs image rotation on the expanded image data by the image rotation processor  11   d.    
   In step S 212 , the printer  11  determines whether or not the image data which has been expanded upon reception requires resizing, and also determines whether or not resizing has been performed by the digital camera  12 . If it is determined that resizing is necessary but has not been performed, the control proceeds to step S 213 ; otherwise, the control proceeds to step S 214 . Meanwhile, if image resizing has been performed by the digital camera  12 , the control proceeds to step S 214 . 
   In step S 213 , the printer  11  performs image resizing on the expanded image data by the image resizing processor  11   c  in accordance with the trimming frame designated by the digital camera  12 . In this case, the digital camera  12  notifies the printer  11  of the area which is designated as a trimming frame. 
   In step S 214 , the printer  11  performs color processing by the image color processor  11   f  on the image data which has been expanded and, as needed, rotated and resized. 
   In step S 215 , the printer  11  transfers the color-processed image data to the print controller  11   g  to perform printing. Upon completion of printing, the control proceeds to step S 216  to end the processing. 
   Note that with respect to the vertical-and-horizontal pixel number notified from the printer  11  to the digital camera  12 , the printer  11  may notify the vertical-and-horizontal pixel number, for instance, approximately twice as many as the pixel number that is necessary for actual printing on the paper (note that the amount of data needs to be equal to or smaller than the amount of data storable in the memory of the printer  11 ). For this reason, it is better to obtain in advance the capacity information regarding the amount of data storable in the memory of the printer. 
   In other words, the digital camera serving as an image capturing apparatus receives capacity information regarding the amount of image data receivable by the printer, and performs resizing of image data to achieve the vertical-and-horizontal pixel number that is equal to or larger than the vertical-and-horizontal pixel number defined by the predetermined printing condition and that is equal to or smaller than the received capacity information. 
   By virtue of the above control, it is possible to prevent such situation where the printer cannot receive image data from the digital camera because of a large image size. 
   In addition, even in a case where the printer requires the vertical-and-horizontal pixel number larger than the pixel number necessary for actual printing on paper for the purpose of image processing unique to the printer, e.g., correction processing based on an image analysis or print data generation processing, since a larger number of vertical and horizontal pixels is notified, it is possible to assure the necessary amount of data. 
   Note that instead of having the printer  11  enlarge the vertical-and-horizontal pixel number in proportion to the pixel number necessary for actual printing on paper, the embodiment may be constructed so that the digital camera  12  performs resizing of image data to achieve the pixel number larger than the notified vertical-and-horizontal pixel number. 
   As is apparent from the above description, according to the second embodiment, by virtue of performing image data trimming based on a printing condition of the printer by the digital camera instead of the printer as has been performed conventionally, it is possible to eliminate transfer operation of image data that is not processed by the printer, and overall processing efficiency is improved. 
   As a result, it is possible to realize reduction in data transfer time. Furthermore, since the amount of image data to be processed by the printer is reduced, it is also possible to realize reduction in image processing time in the printer. 
   Other Embodiment 
   As mentioned above, the object of the present invention can also be achieved by providing a storage medium, storing program codes of a software realizing the above-described functions of the embodiments, to a computer system or apparatus, reading the program codes, by a computer (CPU or MPU) of the system or apparatus, from the storage medium, then executing the program. In this case, the program codes read from the storage medium realize the functions according to the embodiments, and the storage medium storing the program codes constitutes the invention. Further, the storage medium, such as a floppy (registered trademark) disk, a hard disk, an optical disk, a magneto-optical disk, CD-ROM, CD-R, a magnetic tape, a non-volatile type memory card, and ROM can be used for providing the program codes. 
   Furthermore, besides aforesaid functions according to the above embodiments are realized by executing the program codes which are read by a computer, the present invention includes a case where an OS (operating system) or the like working on the computer performs part or the entire processes in accordance with designations of the program codes and realizes functions according to the above embodiments. 
   Furthermore, the present invention also includes a case where, after the program codes read from the storage medium are written in a function expansion card which is inserted into the computer or in a memory provided in a function expansion unit which is connected to the computer, a CPU or the like contained in the function expansion card or unit performs part or the entire processes in accordance with designations of the program codes and realizes functions of the above embodiments. 
   The present invention is not limited to the above embodiments and various changes and modifications can be made within the spirit and scope of the present invention. Therefore, to apprise the public of the scope of the present invention, the following claims are made. 
   CLAIM OF PRIORITY 
   This application claims priority from Japanese Patent Application No. 2004-023583 filed on Jan. 30, 2004, which is hereby incorporated by reference herein.