Patent Publication Number: US-9904879-B2

Title: Image processing apparatus, image processing method, and storage medium

Description:
BACKGROUND OF THE INVENTION 
     Field of the Invention 
     The present disclosure generally relates to image processing and, more particularly, to an image processing apparatus, an image processing method, and a storage medium. 
     Description of the Related Art 
     Data of a massive number of digital pictures shot by users using digital still cameras (hereinafter also “DSC”), multifunctional cellular phones having camera functions, and so forth, and saved in personal computers (PCs) which users own, or storage of storage services provided on the Internet. 
     There has been the need for a user, desiring to find where a desired image has been saved in the massive number of digital pictures, to browse through a vast number of images. This has been detrimental with regard to the usability of browsing and searching for images. 
     Now, Japanese Patent Laid-Open No. 2009-245071 proposes a method to create one or multiple layout candidates by changing past layout parameters stored in a layout table. 
     When printing a layout result, printing the same layout on an A3-size sheet and an A6-size sheet will give the user different impressions of the printed product, since the printed size of the subject differs. 
     However, layout evaluation is performed in Japanese Patent Laid-Open No. 2009-245071 without taking printing size into consideration whatsoever, and accordingly there has been a problem in that optimal layout may not be obtained depending on the paper size. 
     SUMMARY OF THE INVENTION 
     It has been found desirable to provide an apparatus, method, and storage medium enabling a suitable layout to be obtained in accordance with output size. 
     According to an aspect of the present disclosure, an apparatus includes an acquisition unit configured to acquire at least one image group including at least one image; a creating unit configured to create a layout candidate by laying out images included in the image group that has been acquired by the acquisition unit; an evaluating unit configured to evaluate the layout candidate created by the creating unit, based on individual evaluation of each of the images in accordance with a feature of a subject in the images that have been laid out in layouts; and an output unit configured to output the layout candidate created by the creating unit, at a predetermined output size. The feature of the subject in the images include a size of the subject in the image identified by an output size of the layout candidate output by the output unit. 
     Further features of the present disclosure will become apparent from the following description of exemplary embodiments with reference to the attached drawings. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         FIG. 1  is a hardware configuration diagram of an image processing apparatus according to a first embodiment. 
         FIG. 2  is a software block diagram according to the first embodiment. 
         FIG. 3  is a flowchart illustrating image analysis processing according to the first embodiment. 
         FIG. 4  is a flowchart illustrating image analysis processing according to the first embodiment. 
         FIG. 5  is a flowchart illustrating person group generating processing according to the first embodiment. 
         FIG. 6  is a flowchart illustrating automatic layout proposal processing according to the first embodiment. 
         FIG. 7  is a diagram illustrating a display example of a person group according to the first embodiment. 
         FIGS. 8A and 8B  are diagrams illustrating display examples of image groups according to the first embodiment. 
         FIG. 9  is a diagram illustrating an example of a format for saving image analysis results. 
         FIGS. 10A and 10B  are diagrams illustrating an example of a user interface (UI) for manually inputting ratings, and an example of a UI for manually inputting event information. 
         FIG. 11  is a diagram illustrating an example of a UI for manually inputting person attribute information. 
         FIG. 12  is a diagram illustrating an example of a format for saving person attribute information. 
         FIG. 13  is a diagram illustrating an example of a layout template. 
         FIG. 14  is a diagram illustrating an example of a format for saving the layout template in  FIG. 13 . 
         FIG. 15  is a diagram illustrating an example of a layout template. 
         FIG. 16  is a diagram illustrating an example of a format for saving the layout template in  FIG. 15 . 
         FIG. 17  is a flowchart illustrating automatic layout generating processing according to the first embodiment. 
         FIG. 18  is a flowchart illustrating unnecessary image filtering processing according to the first embodiment. 
         FIGS. 19A through 19C  are explanatory diagrams;  FIG. 19A  regarding automatic trimming processing,  FIG. 19B  regarding a method to calculate brightness suitability, and  FIG. 19C  regarding a method to calculate saturation suitability. 
         FIG. 20  is an explanatory diagram regarding trimming omission determination processing. 
         FIG. 21  is a diagram illustrating a display example of automatic layout generating results according to the first embodiment. 
         FIG. 22  is a diagram illustrating an example of holding a decided theme and main character information. 
         FIG. 23  is a diagram illustrating an example of holding a decided theme and main character information. 
         FIG. 24  is a diagram illustrating an example of holding generated layout information. 
         FIG. 25  is an example of a flowchart illustrating processing to calculate evaluation values for the images. 
         FIG. 26  is another example of a flowchart illustrating processing to calculate evaluation values for the images. 
     
    
    
     DESCRIPTION OF THE EMBODIMENTS 
     Various exemplary embodiments, features, and aspects of the disclosure will be described in detail below with reference to the drawings. 
     First Embodiment 
     A first embodiment of the present disclosure will be described regarding automatically generating a layout output product using an input image group. It should be noted that the following description is but an exemplary illustration by way of an embodiment, and that the present disclosure is by no way restricted to the following embodiment. 
       FIG. 1  is a block diagram illustrating a hardware configuration example of an image processing apparatus according to the first embodiment. An image processing apparatus  115  includes a central processing unit (CPU)  100 , read-only memory (ROM)  101 , random access memory (RAM)  102 , a secondary storage device  103 , a display device  104 , an input device  105 , an internal imaging device  106 , an interface  107 , an interface  108 , and a wireless local area network (LAN) adapter  109 . These components are mutually connected by a control bus/data bus  110 . The wireless LAN adapter  109  is connected to a wireless LAN which exists at the location where the image processing apparatus  115  is installed. As used herein, the term “unit” generally refers to any combination of software, firmware, hardware, or other component that is used to effectuate a purpose. 
     The image processing apparatus  115  is a computer, for example. The CPU  100  executes information processing which will be described in the first embodiment, following programs. The ROM  101  stores programs such as an application which will be described below, which are executed by the CPU  100 . The RAM  102  serves as memory to temporarily store various types of information when the CPU  100  is executing programs. The secondary storage device  103  is a storage medium which saves databases or the like in which are stored image files and image analysis results. A hard disk is one example of the secondary storage device  103 . The display device  104  is a display monitor for example, which provides processing results of the first embodiment, a user interface (UI) described below, and so forth, to the user. The display device  104  may have touch panel functions. The input device  105  is a mouse, keyboard, or the like, for the user to input instructions such as processing for image correction, or the like. 
     Images that have been imaged by the internal imaging device  106  are subjected to predetermined image processing, and thereafter stored in the secondary storage device  103 . The image processing apparatus  115  can also read in image data from an external imaging device  111  connected via an interface  108 . The wireless LAN is further connected to the Internet  113  via a modem/router (not shown in the drawings), and thus the image processing apparatus  115  can acquire image data from an external server  114  connected to the Internet  113 . 
     A printer  112  which outputs images and the like is connected to the image processing apparatus  115  via an interface  107 . The printer  112  is further connected to the Internet  113 , and can exchange print data with the image processing apparatus  115  either via the interface  107  or over the Internet via the wireless LAN and wireless LAN adapter  109 . 
       FIG. 2  is a block diagram illustrating the configuration of software, such as the aforementioned application and so forth, according to the present embodiment. 
     Image data acquired by the hardware is normally compressed according to a compression format such as Joint Photography Expert Group (JPEG) or the like. Accordingly, an image codec module  200  decompresses the image data according to the compression format by which the image data was compressed, and converts the image data into RGB point-sequential bitmap format image data. The converted bitmap data is transmitted to a display/UI control module  201 , and is displayed on the display device  104  such as a display monitor or the like. 
     The bitmap data is further input to an image sensing module  203 , and there is subjected to various types of image analysis processing, detailed description of which will be given later. Various types of attribute information of the image obtained in this analysis processing are saved in a predetermined format in the above-described secondary storage device  103 , by a database module  202 . Hereinafter, the terms “image analysis processing” and “sensing processing” will be used interchangeably. 
     A scenario generating module  204  generates layout conditions to be automatically generated, in accordance with various conditions which the user has input. A layout generating module  205  performs processing to automatically generate a layout following the scenario which has been generated. 
     The generated layout is used to generate display bitmap data at a rendering module  206 . The bitmap data is sent to the display/UI control module  201 , and the results are displayed on the display device  104 , which is a display monitor or the like. On the other hand, the rendering results are further sent to a print data generating module  207 , there converted into print command data, and sent to a printer. 
       FIGS. 3 through 6  are basic image processing flowcharts of the application according to the present embodiment. More specifically,  FIGS. 3 and 4  illustrate a flow including processing performed before and after the processing performed at the image sensing module  203 , where multiple image data groups including one or more images are acquired, analysis processing is performed on each image, and the results are stored in a database.  FIG. 5  illustrates a flow of processing to group face information considered to be the same person, based on detected face position information.  FIG. 6  illustrates a flow of processing to decide a scenario for layout creation based on image analysis information and various types of information which the user has input, and to automatically generate a layout based on the scenario. 
     In S 301  in  FIG. 3 , one or more image data groups including one or more images are acquired. Examples of the way in which the image data group is acquired include the user connecting to the image processing apparatus  115  an imaging device or memory card storing images which have been shot, so that the images are read in. Other examples include acquiring an image data group of images which have been shot by an internal imaging device and saved in the secondary storage device  103 , and acquiring an image data group from a location other than the image processing apparatus  115 , such as from an external server  114  on the Internet, for example, via wireless LAN or the like. 
     Upon acquiring the image data group, a thumbnail group thereof is displayed on the UI as illustrated in  FIGS. 8A and 8B .  FIG. 8A  illustrates a UI  801  where image thumbnails  802  are displayed in increments of folders where the images are stored in the secondary storage device  103 .  FIG. 8B  illustrates an arrangement where image data is managed by date in a UI  901  formed like a calendar. Clocking on a date portion  902  brings up a thumbnail list of images taken on that date, such as illustrated in  FIG. 8A . 
     Next, the images are decoded in S 302 . More specifically, an application searches for images which have been newly saved and not subjected to sensing processing yet, and the extracted images are converted from compressed data into bitmap data by the image codec module  200 . 
     Next, in S 303  the bitmap data is subjected to various types of sensing processing. The term sensing processing as used here includes the various types of processing illustrated in Table 1. Examples of sensing processing in the present embodiment that are given here are face detection, feature amount analysis, and scene analysis. Data type results such as illustrated in Table 1 are calculated for each. 
     
       
         
           
               
             
               
                 TABLE 1 
               
             
            
               
                   
               
               
                 Example of Attribute Information Obtained 
               
               
                 as Result of Image Analysis 
               
            
           
           
               
               
               
               
            
               
                 General sensing 
                 Detailed sensing 
                 Data 
                   
               
               
                 classification 
                 classification 
                 type 
                 Value 
               
               
                   
               
               
                 Basic feature 
                 Average luminance 
                 int 
                 0-255 
               
               
                 amount of 
                 Average saturation 
                 int 
                 0-255 
               
               
                 image 
                 Average hue 
                 int 
                 0-359 
               
               
                 Face detection 
                 Number of faces 
                 int 
                 0-MAXFACE 
               
               
                   
                 Coordinate position 
                 int*8 
                 0-Width or 
               
               
                   
                   
                   
                 Height 
               
               
                   
                 Average Y in face region 
                 int 
                 0-255 
               
               
                   
                 Average Cb in face region 
                 int 
                 −128-127   
               
               
                   
                 Average Cr in face region 
                 int 
                 −128-127   
               
               
                 Scene analysis 
                 Scene results 
                 char 
                 Landscape 
               
               
                   
                   
                   
                 Nightscape 
               
               
                   
                   
                   
                 Portrait 
               
               
                   
                   
                   
                 Underexposure 
               
               
                   
                   
                   
                 Others 
               
               
                   
               
            
           
         
       
     
     Each sensing processing will be described. The overall average luminance and average saturation, which are basic feature amounts of the image, can be obtained by known methods, so detailed description thereof will be omitted. The average luminance for each pixel in the image can be obtained by converting (conversion expression omitted from description here) RGB components into known luminance/color-difference components (e.g., YCbCr) components, and calculating the average value of the Y component. The average saturation can be obtained by calculating S in the following Expression for each pixel, and then calculating the average of all S&#39;s.
 
 S =√{square root over ( Cb   2   +Cr   2 )}  (1)
 
     The average hue (AveH) in the image is a feature amount to evaluate the shade of color of the image. The hue of each pixel can be calculated using a known hue intensity saturation (HIS) conversion expression, and AveH can be obtained by averaging the obtained values of the entire image. These feature amounts may be calculated for the entire image as described above, or the image may be divided in to regions of predetermined sizes and the feature amounts calculated for each region. 
     Next, person face detection processing will be described. Known methods can be used as a person face detection technique employed in the present embodiment. 
     Japanese Patent Laid-Open No. 2002-183731 describes a method where eye regions are detected from an input image, and around the eye regions are taken as a face candidate region. The luminance gradient and weight of luminance gradient for each pixel are calculated with regard to the candidate region, and these values are compared with the gradient of an ideal face reference image, and gradient weight thereof, that have been set beforehand. If the average angle between the gradients is not greater than a predetermined threshold value, the input image is determined to include a face region. 
     Japanese Patent Laid-Open No. 2003-30667 describes a method where a skin color region is first detected from the image, and the position of eyes can be detected in this region by detecting pixels having the color of the human iris. 
     Japanese Patent Laid-Open No. 8-63597 describes a method where a degree of matching is calculated between multiple templates having shapes of faces, and an image. The template of which the degree of matching is the highest is selected, and if the highest degree of matching is not smaller than a predetermined threshold value, the region within the selected template is set as a face candidate region. The position of the eyes can be detected using the same template. 
     Further, Japanese Patent Laid-Open No. 2000-105829 describes a method where first, a nose image pattern is used as a template, and a position in the entire image or in a region specified within the image is scanned, and a position which matches the template best is output as a nose position. Next, the region above the nose position in the image is considered to be the region where eyes exist, so this eye-existing region is scanned using an eye image pattern as a template and the degree of matching is calculated. An eye-existing candidate position set, which is a set of images in which the degree of matching is greater than a certain threshold value, is thus obtained. Continuous regions included in this eye-existing candidate position set are divided as clusters, and the distance between each cluster and the nose position is calculated. The cluster regarding which the distance is the shortest is determined to be the eye position, whereby organ position detection can be realized. 
     Other methods to detect faces of persons include the methods to detect faces and organ positions such as described in Japanese Patent Laid-Open Nos. 8-77334, 2001-216515, 5-197793, 11-53525, 2000-132688, 2000-235648, and 11-250267. The person face detection processing method is not restricted in particular, and the method described in Japanese Patent No. 2541688 may be employed. 
     Person face detection face processing enables the number of faces and the coordinate positions of each face to be obtained for each input image. Finding the face coordinate position in the image enables the feature amount of the face region to be analyzed. For example, obtaining the average YCbCr value of the pixel values included in the face region, for each face region, allows the average luminance and average color difference to be obtained for the face regions. 
     Also, scene analysis processing can be performed using feature amounts of images. This scene analysis processing can be carried out by methods disclosed in Japanese Patent Laid-Open Nos. 2010-251999 and 2010-273144, for example. Scene analysis processing enables IDs to be obtained which distinguish photography scenes, such as Landscape, Nightscape, Portrait, Underexposure, and Others. While sensing information is acquired by the above-described sensing processing in the present embodiment, other sensing information may be utilized as well. 
     The sensing information thus acquired is saved in the database module  202 . The sensing information may be described in a general-purpose format such as eXtensible Markup Language (XML) for example, such as illustrated in  FIG. 9 , and stored in the database module  202  in this format.  FIG. 9  illustrates an example of describing attribute information for each image divided into three categories. 
     The first is the Baseinfo tag. This is a tag to store information added to an image file acquired beforehand, such as image size and photography date/time information. This tag includes an identifier (ID) for each image, the location where the image file is stored, image size, photography date/time, and so forth. 
     The second is the SensInfo tag. This is a tag to store the results of the above-described image analysis processing. Stored here are the average luminance, average saturation, average hue, and scene analysis results, for the entire image. Also stored here are face positions of persons in the image, and information relating to face color. 
     The third is the UserInfo tag. This is a tag to store information which the user has input for each image. Details of this tag will be described later. 
     The method of storing image attribute information in a database is not restricted to the above-described method. Any other known format may be used. 
     In S 305  in  FIG. 3 , determination is made whether or not the image processed in S 302  and S 303  above is the last image in the image data group. If the last image, the flow advances to S 306 , and otherwise, returns to S 302 . 
     In S 306 , processing to generate a group for each person is performed using the face position information detected in S 303 . Grouping person faces beforehand enables efficient tagging of persons by the user later. 
     Forming person groups here is executed by the processing flow illustrated in  FIG. 5 , using a known personal recognition method. Such personal recognition processing is executed by extracting feature amounts of facial organs, such as the eyes and the mouth, and comparing the similarity in the relationship therebetween. An example of personal recognition processing is disclosed in Japanese Patent No. 3469031, so detailed description will be omitted here. 
       FIG. 5  is a basic flowchart of the person group generating processing in S 306 . First, in S 501 , images saved in the secondary storage device  103  are sequentially read out and decoded. In S 502 , the database module  202  is accessed so as to acquire the number of faces included in the image being processed and the positional information regarding the faces. Next, in S 504 , a normalized face image is generated, to perform personal recognition processing. 
     The term “normalized face image” here refers to a face image obtained by cropping out faces which exist in the image, and performing conversion on these faces, which have various sizes, orientations, and resolutions, so that the sizes and orientations are all the same. The positions of organs such as the eyes and mouth are important to perform personal recognition, so the size of normalized face images preferably is such that these organs can be accurately recognized. Generating such a normalized face image does away with the need to handle faces of various resolutions in the feature amount detecting processing. 
     Next, in S 505 , face feature amounts are calculated from the normalized face images. Face feature amounts are features including the position and size of organs such as the eyes, mouth, and nose, and further including facial outline and so forth. 
     Further, in S 506 , it is determined whether or not the feature amounts of faces in the image currently being processed have similarity with face feature amounts in a database in which are stored feature amounts for each person identifier (dictionary ID) beforehand (hereinafter referred to as “face dictionary”). This similarity is calculated by comparing feature amounts managed within the dictionary ID, and facial amounts newly input. The feature amounts used at this time is the position of organs such as the eyes, nose, and mouth, the distance between the organs, and so forth. The greater the similarity between the feature amounts is, the higher the degree of similarity is, and less similarity there is between the feature amounts, the lower the degree of similarity is. The degree of similarity may assume a value between 0 and 100. Whether similar or not is determined by comparing the calculated degree of similarity with a preset threshold value, and determining that the face is of the same person as that of the dictionary ID in a case where the degree of similarity exceeds the threshold value. This threshold value may be uniform for all dictionary IDs, or may be set differently for each dictionary ID. 
     In a case where the determination in S 506  is Yes, the flow advances to S 509 , where the feature amounts of this face are added to the dictionary ID as the same person. 
     In a case where the determination in S 506  is No, the flow advances to S 508 , where a new dictionary ID is issued and added to the face dictionary, since the face currently being evaluated is determined to be a person different from any person registered in the face dictionary so far. The processing of S 502  through S 509  is applied to all face regions detected from the input image group, thus groping the persons appearing in that image. 
     The results of the person group generating processing are described using ID tags for each face as illustrated in the XML format in  FIG. 12 , and saved in the above-described database. 
     While description has been made above regarding an arrangement where person group generating processing is executed after sensing processing has been completed for all images, as illustrated in  FIG. 3 , and arrangement may be made such as illustrated in  FIG. 4  for example, where sensing processing is performed on one image in S 403 , following which grouping processing is performed in S 405  using the face detection position information. Either way, the same results can be generated. 
     The person groups obtained from this person group generating processing are displayed in a UI  701  such as illustrated in  FIG. 7 . In  FIG. 7 , reference numeral  702  denotes a representative face image of a person group, and reference numeral  703  denotes a region to the side thereof where the name of this person group is displayed. Immediately after the automatic person grouping processing ends, the person names are displayed as “No name 1”, “No name 2”, and so forth, as illustrated in  FIG. 7 . These person names will hereinafter be referred to as “person ID”. Reference numeral  704  denotes the multiple face images included in the person group. The UI  701  in  FIG. 7  is capable of receiving input of person names upon having specified a region  703  for “No name X”, input of information for each person, such as birthday, relation, and so forth. 
     The above-described sensing processing may be performed using background tasking of the operating system. In this case, the user can continue the sensing processing of the image group even if performing a different task on the computer. 
     Various types of attribute information relating to the image can be manually input by the user in the present embodiment. Table 2 illustrates examples of such attribute information (hereinafter “manually registered information”) in list form. There are two general classifications in this manually registered information, one of which is very general and relates to settings for the overall image, and the other is information to be set for individual persons subjected to the above-described group processing. 
     
       
         
           
               
             
               
                 TABLE 2 
               
             
            
               
                   
               
               
                 Example of Attribute Information which User can Manually Input 
               
            
           
           
               
               
               
               
               
            
               
                   
                 Classification 
                 Information 
                 Data type 
                 Value 
               
               
                   
                   
               
               
                   
                 Image 
                 Rating 
                 int 
                 0-5 
               
               
                   
                   
                 Event 
                 char 
                 “travel” 
               
               
                   
                   
                   
                   
                 “graduation” 
               
               
                   
                   
                   
                   
                 “Wedding” 
               
               
                   
                 Person 
                 Name 
                 char 
                 “NAME” 
               
               
                   
                   
                 Birthday 
                 char 
                 YYYYMMDD 
               
               
                   
                   
                 Relationship 
                 char 
                 “family” 
               
               
                   
                   
               
            
           
         
       
     
     One attribute information set for each image is a rating manually set by the user, to indicate how high he/she rates the image, on a scale of several levels. For example,  FIG. 10A  illustrates a UI  1301  where the user can select a desired thumbnail image  1302  with a mouse pointer  1303 , and right-click to bring up a dialog box from which the user can input a rating. The arrangement illustrated in  FIG. 10A  involves selecting a number of stars in accordance with the rating. In the present embodiment, the higher the rating is, the more stars the user selects. 
     Alternatively, the rating may be set automatically, rather than the user setting the rating manually. For example, an arrangement may be made where the user clicks a desired image file in the state of the image thumbnail list display in  FIG. 8A  to transition to a single-image display screen, and the rating is set according to the number of times that this transition has been made. Determination may be made that the greater the number of times counted which the user has viewed the image, the more the user likes this image, and accordingly the higher the rating is, for example. 
     As another example, the number of times of printout may be set for the rating. For example, if a user prints an image, it may be assumed that the user is printing that image because he/she likes that image, so the rating is set higher. Determination may be made that the greater the count of prints, the more the user likes this image, and accordingly the higher the rating is, for example. 
     As described above, the rating may be set manually be the user, or may be automatically set depending on the number of times of views or the number of prints. Information of these settings and counts are individually stored in the UserInfo tag of the database module  202 , in the XML format illustrated in  FIG. 9 . For example, the rating is stored in a FavoriteRate tag, the viewing count is stored in a ViewingTimes tag, and the print count is stored in a PrintingTimes tag. 
     An example of information to be set for each image is event information, examples of which are “travel” indicating a family vacation trip, “graduation”, “wedding”, and so on. 
     An event may be specified by specifying a desired date on the calendar by the mouse pointer  1402  such as illustrated in  FIG. 10B , and inputting the name of the event for that date. The specified event name will be included in the XML format illustrated in  FIG. 9 , as a part of the attribute information of that image. The format in  FIG. 9  associates the event name and the image using an Event tag in the UserInfo tag. Note that hereinafter, the term “associate” means to correlate. 
     Next, person attribute information will be described.  FIG. 11  illustrates an UI  1501  for inputting person attribute information. Reference numeral  1502  in  FIG. 11  denotes a representative face image of a certain person (“father” in this case). Reference numeral  1503  denotes a display region for a person name (person ID) of the certain person. Reference numeral  1504  denotes images (thumbnails) detected from other images, regarding which determination has been made in S 506  that the face feature amounts are similar. Thus, a list of images  1504  regarding which determination has been made in S 506  that the face feature amounts are similar, is displayed beneath the person ID  1503  in  FIG. 11 . 
     Immediately after the sensing processing has ended, there is no name input to each person group as illustrated in  FIG. 7 , but any person name can be input by instructing the “No name” portion  702  using a mouse pointer. 
     The birthday of each person, and the relationship as to the user operating the application, can be set as attribute information for each person. Clicking on the representative face  1502  of the person in  FIG. 11  enables the birthday of the person clicked on to be input at a first input portion  1505 . Relationship information as to the person clicked on can be input at a second input portion  1506 . 
     This input person attribute information is managed in the database module  202  separately from the image attribute information, in an XML format such as illustrated in  FIG. 12 , unlike the attribute information correlated with the images in the previous description. 
     Various layout templates prepared beforehand are used in the layout generating processing according to the present embodiment. Examples of layout templates are illustrated in  FIGS. 13 and 15 , where multiple image placement frames (hereinafter used interchangeably with the term “slots”)  1702 ,  1902 , and  1903  are provided in the size of a sheet for layout. 
     A great number of such templates are prepared; these may be saved in the secondary storage device  103  at the point that the software for carrying out the present embodiment is installed in the image processing apparatus  115 . Another method is to obtain a desired template group from an external server  114  on the Internet, via the interface  107  or the wireless LAN adapter  109 . 
     These templates are described in a highly versatile structured language, such as XML, in the same way as that used in storing the sensing results as described above.  FIGS. 14 and 16  illustrate examples of XML data. 
     In these examples, first, basic information of the layout page is described at the BASIC tag. Conceivable examples of basic information include layout theme, page size, resolution (dpi) of the page, and so forth. In the initial state of the templates in these examples, a Theme tag, which is the layout theme, is blank. The default settings for the basic information are page size of A4 and resolution of 300 dpi. 
     ImageSlot tags describe information of the image placement frames described above. An ImageSlot tag includes the two tags of ID tag and POSITION tag, which describe the ID and position of the image placement frame thereof. This position information is defined on an X-Y coordinate system of which the upper left corner is the origin, for example, as illustrated in  FIGS. 14 and 16 . 
     The ImageSlot tags are also used to set, for each slot, the shape of the slot and a recommended person group name to be placed in the slot. The template illustrated in  FIG. 13  has a rectangular shape for all slots, as indicated by “rectangle” in the Shape tag in  FIG. 14 , and the person group name is recommended to be “MainGroup” by the PersonGroup tag. 
     The template illustrated in  FIG. 15  has a rectangular shape for the slot  1902  situated at the middle, of which ID=0, as indicated by “rectangle” in the first Shape tag in  FIG. 16 , and the person group name is recommended to be “SubGroup”. The slots  1903  of which ID=1 and ID=2 have oval shapes, as indicated by “ellipse” in the second and third Shape tags in  FIG. 16 , and the person group name is recommended to be “MainGroup”. Many such templates are held in the present embodiment. 
     The application according to the present embodiment is arranged to be able to perform analysis processing on input image groups, automatically group persons, and display on a UI. The user can view the results, input attribute information for each person group such as name and birthday, and set ratings for each of the images. Moreover, a great number of layout templates, classified by theme, can be held. 
     The application according the present embodiment which satisfies the above-described conditions performs processing to automatically generate a collage layout which the user might like, and presents this to the user, at a certain timing (hereinafter referred to as “layout proposal processing”). 
       FIG. 6  illustrates a basic flowchart for performing layout proposal processing. First, in S 601 , a scenario for the layout proposal processing is decided. A scenario involves deciding the theme and template of the layout to be proposed, setting of a person to be emphasized in the layout (main character), selection information if an image group to be used for generating a layout, and so forth. Scenario deciding methods will now be described by exemplifying two scenarios. 
     For example, in one assumed case, settings have been made such that layout proposal processing is to be automatically performed two weeks before the birthday of each person, and a person “son” automatically grouped in  FIG. 11  is close to his first birthday. In this case, the theme “growth”, which is a growth record, is decided as the theme for the layout to be proposed. Next, a template suitable for a growth record, such as illustrated in  FIG. 15  is selected, and “growth” is described in the XML Theme tag portion, as illustrated in  FIG. 22 . Next, “son” is set as the main character “MainGroup” to be emphasized in the layout. Further, “son” and “father” are set as the “SubGroup” to be secondarily emphasized in the layout. Thereafter an image group to be used in the layout is selected. In the case of this example, a great number of image groups including images including the person “son” is extracted from groups of images shot from the day on which the person “son” was born, up to the present, and compiled into a list. This is an example of deciding a scenario for a growth record layout. 
     As a different example, in another assumed case, settings have been made such that in a case where certain event information has been registered within one month, layout proposal processing is executed. Once it has been determined from the event information registered in  FIG. 10B  that the user has gone on a family vacation, and there is a great number of images from that trip stored in the secondary storage device  103  for example, the scenario generating module  204  decides a scenario for proposing a layout for the family vacation. In this case, “travel” is decided as the theme for the layout to be proposed for the vacation trip. Next, a template such as illustrated in  FIG. 13  is selected, and “travel” is described in the XML Theme tag portion, as illustrated in  FIG. 23 . Next, “son”, “mother”, and “father” are set as the main character “MainGroup” to be emphasized in the layout. Thus, XML features can be employed to set multiple persons as the “MainGroup”. Thereafter, an image group to be used in the layout is selected. In the case of this example, the database is referenced, and a great number of image groups including images associated with the vacation event is extracted and compiled into a list. This is an example of deciding a scenario for a family vacation layout. 
     Next, automatic layout generating processing based on the above-described scenario is executed in S 602  in  FIG. 6 .  FIG. 17  illustrates a detailed processing flow of the layout generating module  205 . The processing steps in  FIG. 17  will now be described in order. 
     Template information decided in the above-described scenario deciding processing, after the theme and person group information have been set, is acquired in S 2101 . 
     Next, in S 2103  feature amounts for each image are acquired from the database, based on the image list decided for the scenario as described above, and an image group attribute information list is generated. The image group attribute information list has a configuration where there are many IMAGEINFO tags illustrated in  FIG. 9  arrayed as there are images in the image list. 
     Thus, image data itself is not directly handled in the automatic layout generating processing according to the present embodiment; rather, attribute information saved in a database from having performed sensing processing for each image beforehand, is used. This avoids the need for a very large memory region to store the image group, which would be necessary if the image data itself were handled at the time of performing the layout generating processing. This realizes reduction in the memory capacity needed for the layout generating processing. 
     Specifically, attribute information of the input image group is first used in S 2105  to perform filtering of unnecessary images from the input image group. The filtering processing is performed according to the flow illustrated in  FIG. 18 . First in S 1601  in  FIG. 18 , determination is made for each image, regarding whether or not the average luminance thereof is included between threshold values (ThY_Low and ThY_High). If the determination results are No, the flow advances to S 1606  where the image being handled (hereinafter “image of interest”) is removed from being a layout candidate. 
     In the same way, the average luminance and average color difference components are determined for each face region included in the image of interest, regarding whether included between threshold values which indicate a good skin color region, S 1602  through S 1604 . Only in a case where all determinations of S 1602  through S 1604  yield Yes is an image applied to the subsequent layout generating processing. Specifically, in S 1602 , determination is made regarding whether or not an AveY of a face region where ID=N is included in a range of predetermined thresholds (ThfY_Low and ThfY_High). In S 1603 , determination is made regarding whether or not an AveCb of a face region where ID=N is included in a range of predetermined thresholds (ThfCb_Low and ThfCb_High). In S 1604 , determination is made regarding whether or not an AveCr of a face region where ID=N is included in a range of predetermined thresholds (ThfCr_Low and ThfCr_High). In S 1605 , determination is made whether the last face or not. If not the last face, the flow returns to S 1602 , and if the last face, the processing ends. 
     This filtering processing is for removing images which clearly are unnecessary in the subsequent temporary layout creation processing, so the threshold values are preferably set relatively loosely. For example, if the difference between ThY_High and ThY_Low in the determination of overall image luminance in S 1601  is drastically small as compared to the dynamic range of the images, the number of images which yield a Yes determination will be that much smaller. This is avoided in the filtering processing according to the present embodiment by setting the difference between the two thresholds as wide as possible while eliminating images which are clearly abnormal. 
     Next, a great number (L) of temporary layouts are generated in S 2107  in  FIG. 17 , using the image group obtained for layout in the processing described above. Generating of the temporary layouts is performed by repeating processing of arbitrarily fitting the input images into the image placement frames of the acquired template. At this time, the parameters of image selection, placement, and trimming, are randomly decided, for example. 
     An example of a standard for selecting images involves deciding which images to select from the image group when there are N image placement frames in the layout. An example of a standard for placement involves deciding which placement frames the selected multiple images are to be placed in. An example of a standard for trimming involves deciding a trimming ratio, which is how much to trim. The trimming ratio may be represented in terms of 0 to 100%, and trimming is performed at a predetermined trimming ratio with the center of the image as a reference, as illustrated in  FIG. 19A . Reference numeral  2301  in  FIG. 19A  denotes the entire image, and  2302  denotes the frame where trimming has been performed at a trimming ratio of 50%. 
     As many temporary layouts as possible are generated based on the image selection, placement, and trimming standards. The temporary layouts that have been generated can be expressed as in the XML code illustrated in  FIG. 24 . The ID of the image selected for each slot is described in the ImageID tag, and the trimming ratio is described in the TrimmingRatio tag. 
     Note that the number L of temporary layouts generated here is decided by the processing amount of evaluation processing in a later-described layout evaluation step, and the capabilities of the image processing apparatus  115  performing the processing thereof. For example, several hundreds of thousands of temporary layouts are preferably generated. 
     The processing amount of evaluation processing in the layout evaluation step increases or decreases depending on how complex the layout template to be created is. For example, the greater the number of slots to be handled within the template is, the greater the evaluation processing amount becomes, and the more complex the layout conditions instructed for each slot are, the greater the evaluation processing amount becomes. Accordingly, the number L may be dynamically determined after having estimated the complexity of the template to be generated beforehand. Setting the number L is this way enables the response at the time of automatic layout creating, and the quality of the layout results, to be optimally controlled. 
     The generated layouts may be saved as files in the secondary storage device  103  in the XML format illustrated in  FIG. 24  with IDs appended to each, or may be stored in the RAM  102  using other data structures. 
     Qualitative evaluation of the great number of generated temporally layouts is then performed in S 2108  in  FIG. 17 . Specifically, the L temporary layouts which have been created are each subjected to evaluation, using predetermined layout evaluation amounts. Table 3 illustrates an example of layout evaluation amounts in the present embodiment. The layout evaluation amounts according to the present embodiment can be primarily classified into three categories. 
     
       
         
           
               
             
               
                 TABLE 3 
               
             
            
               
                   
               
               
                 Example of Layout Evaluation Values in Automatic Layout 
               
            
           
           
               
               
               
            
               
                   
                   
                 Importance by theme 
               
               
                   
                 Score 
                 (weighting W) 
               
            
           
           
               
               
               
               
               
               
            
               
                 Category 
                 Evaluation items 
                 range 
                 growth 
                 travel 
                 . . . 
               
               
                   
               
               
                 Evaluation of 
                 Suitability of brightness 
                 0-100 
                 0.5 
                 1.0 
                   
               
               
                 individual 
                 Suitability of saturation 
                 0-100 
                 0.5 
                 1.0 
               
               
                 image 
                 Suitability as to 
                 0-100 
               
               
                   
                 printing size 
               
               
                 Evaluation of 
                 Person match 
                 0-100 
                 1.0 
                 0.5 
               
               
                 image and slot 
               
               
                 match 
               
               
                   
                 Determination of 
                 0-100 
                 1.0 
                 0.5 
               
               
                   
                 trimming omission 
               
               
                 Evaluation of 
                 image similarity 
                 0-100 
                 0.5 
                 1.0 
               
               
                 balance in 
               
               
                 page 
               
               
                   
                 Variation in shade of 
                 0-100 
                 0.5 
                 1.0 
               
               
                   
                 color 
               
               
                   
                 Variation in face size 
                 0-100 
                 0.5 
                 1.0 
               
               
                 Other 
                 User preferences 
                 0-100 
                 0.8 
                 0.8 
               
               
                   
               
            
           
         
       
     
     The first is evaluation amounts of individual images. This involves determining the brightness and saturation of the image, state of shaking or blurring or the like, suitability regarding the print size, and so forth, and grading by scores. An example of grading by scores according to the present embodiment will be described. For example, suitability of brightness is set such that the score value is 100 within a predetermined range for average luminance, and the score drops outside of that predetermined range, as illustrated in  FIG. 19B . Also, suitability of saturation is set such that the score value is 100 if the saturation of the overall image is greater than a predetermined saturation value, and the score gradually drops if smaller than the predetermined value, as illustrated in  FIG. 19C . Suitability regarding the printing size will be described later in detail. 
     The second is evaluation of suitability between images and slots. Examples of evaluation of suitability between images and slots include person match, and trimming omission determination regarding omission by trimming. The person match represents the ratio of matching between the person specified for a slot and the person in the image actually placed in this slot. For example, if “father” and “son” have been specified in the PersonGroup specified in the XML code for a certain slot, and there are two people in an image assigned to the slot, the person match score is 100 if both of these two persons are in the image. If only one of the two is in the image, the person match score is 50, and the person match score is 0 if neither is in the image. The match for the entire page is obtained by averaging the matches calculated for each slot. Trimming omission of a trimming region  2702  is determined as follows, for example. In a case where a position  2703  of a face in the image has been identified, a trimming omission score value is calculated on a scale of 0 to 100, in accordance with the area of the face which has been omitted by the trimming. If the area omitted by trimming is 0, the score is 100, and conversely if the entire face region is missing, the score is 0, as illustrated in  FIG. 20 . 
     The third is evaluation of valance within the layout page. Examples of evaluation values to evaluate balance include similarity of images, variation in pixel value distribution, and variation in objects. 
     Image similarity will now be described as an evaluation amount for evaluating balance within the layout page. Image similarity is the similarity of images within each layout page, calculated for each of the layout pages of which a great number is generated. For example, if a layout based on a vacation theme is to be created, and images which are very similar are arrayed in the layout, this may not be a very good layout in some cases. Accordingly, the similarity may be evaluated by date/time of photography. Images with close date/time of photography are likely to have been taken at close locations, while images with more removed date/time of photography are more likely to have been taken for difference scenes. The date/time of photography may be acquired from the image attribute information stored beforehand in the database module  202  for each image, as illustrated in  FIG. 9 . Similarity is calculated from the date/time of photography as follows. Assumption will be made that a temporary layout, which is currently a temporary layout of interest, has a layout of four images as illustrated in Table 4. 
     Date/time of photography information is attached to each image identified by image ID. Specifically, the year, month, date, and time (year YYYY, month MM, date DD, hour HH, minute MM, and second SS) is attached as date/time of photography. The amount of time between the two images out of these four images of which the date/time of photography is the closest, i.e., the photography time interval is short, is calculated. 
     
       
         
           
               
               
             
               
                 TABLE 4 
               
               
                   
               
               
                 Image ID 
                 Date/time of photography (YYYYMMDD:HHMMSS) 
               
               
                   
               
             
            
               
                   
               
            
           
           
               
               
            
               
                 25 
                 20100101:120000 
               
               
                 86 
                 20100101:150000 
               
               
                 102 
                 20100101:170000 
               
               
                 108 
                 20100101:173000 
               
               
                   
               
            
           
         
       
     
     In this case, the 30 minutes between the image IDs  102  and  108  is the shortest interval. This interval is taken as MinInterval, and stored in increments of seconds. That is to say, 30 minutes is 1800 seconds. This MinInterval is calculated for each of the L temporary layouts, and stored in an array stMinInterval[ 1 ]. Next, the greatest value MaxMinInterval in the stMinInterval[ 1 ] is obtained. Accordingly, a similarity evaluation value Similarity[1] of the 1st temporary layout can be obtained as follows.
 
Similarity[1]=100×stMinInterval[1]/MaxMinInterval
 
     As can be seen here, the greater the smallest photography time interval is, the closer Similarity[1] is to 100, and the smaller the photography time interval is the closer Similarity[1] is to 0. Accordingly, this is effective as an image similarity evaluation value. 
     Description will be made regarding variation in pixel value distribution, as an evaluation amount for evaluating balance within the layout page. Variation in shade of color will be described here as an example of variation in pixel value distribution. For example, if a layout based on a vacation theme is to be created, and images which are very similar in color (e.g., blue sky, green mountains, etc.) are arrayed in the layout, this may not be a very good layout in some cases. Accordingly, in this case, layouts with greater variation in color are evaluated highly. Variance of average hue AveH of the images in the 1st temporary layout, which is currently the temporary layout of interest, is calculated, and stored as color shade variation tmpColorVariance[1]. Next, the greatest value MaxColorVariance in the tmpColorVariance[1] is obtained. Accordingly, a color shade variation evaluation value ColorVariance[1] of the 1st temporary layout can be obtained as follows.
 
ColorVariance[1]=100×tmpColorVariance[1]/MaxColorVariance
 
     As can be seen here, the greater the variation in average hue of the images placed in the page is, the closer ColorVariance[1] is to 100, and the smaller the variation in average hue is, the closer ColorVariance[1] is to 0. Accordingly, this is effective as a color shade variation evaluation value. Note however, that variation in pixel value distribution is not restricted to the above-described example. 
     Description will be made regarding variation in objects, as an evaluation amount for evaluating balance within the layout page. Variation in size of faces will be described here as an example of variation in objects. For example, if a layout based on a vacation theme is to be created, and images with faces which are very similar in size are arrayed in the layout, this may not be a very good layout in some cases. A good layout might be images with large faces and small faces laid out in a well-balanced manner. Accordingly, in this case, layouts with greater variation in face size are evaluated highly. A variance value of face size (distance along diagonal line from upper left to lower right of face) after placement in the 1st temporary layout, which is currently the temporary layout of interest, is calculated, and stored as tmpFaceVariance[1]. Next, the greatest value MaxFaceVariance in the tmpFaceVariance[1] is obtained. Accordingly, a face size variation evaluation value FaceVariance[1] of the 1st temporary layout can be obtained as follows.
 
FaceVariance[1]=100×tmpFaceVariance[1]/MaxFaceVariance
 
     As can be seen here, the greater the variation in the size of faces placed in the page is, the closer FaceVariance[1] is to 100, and the smaller the variation in the size of faces is, the closer FaceVariance[1] is to 0. Accordingly, this is effective as a face size variation evaluation value. Note however, that variation in objects is not restricted to the above-described example. 
     Another category which can be considered here is user preference evaluation. User preference evaluation deals with the fact that even if a layout has low evaluation values as determined by the above-described various types of evaluation amounts, a layout which includes photographs which the user personally likes may be a good layout for that user, in some cases. Accordingly, evaluation using evaluation amounts based on user preferences is preferably performed, so as to avoid inhibiting selection of such layouts. The user can set ratings for each of the images beforehand, and accordingly preferences can be evaluated beforehand. Preferences can also be automatically evaluated based on number of times viewed, amount of time viewed, and so forth, for example. Information used for such evaluations can be calculated based on information managed in a FavoriteRate tag, ViewingTimes tag, and PrintingTimes tag. 
     Average values FavorteRateAve[1], ViewingTimesAve[1], and PrintingTimesAve[1], obtained from each of the values of tag information of the images placed in each slot, are calculated for the 1st temporary layout. Summation thereof enables the user preference evaluation value UserFavor[1] to be obtained as follows.
 
UserFavor[1]=FavorteRateAve[1]+ViewingTimesAve[1]+PrintingTimesAve[1]
 
     The higher the user has rated, the more times viewed, and the more times printed, the images used in the layout, the higher the UserFavor[1] value is. Accordingly, determination can be made in the present embodiment that the higher the UserFavor[1] value is, the closer the layout is to what the user prefers. 
     Each of the multiple evaluation values calculated for each temporary layout as described above, are integrated as described below, to yield a layout evaluation value for each temporary layout. EvalLayout[1] represents the integrated evaluation value of the 1st temporary layout, and EvalValue[n] represents the value of the N evaluation values calculated above (including each of the evaluation values in Table 3). The integrated evaluation value can be obtained as follows. 
     
       
         
           
             
               
                 
                   
                     EvalLayout 
                     ⁡ 
                     
                       [ 
                       l 
                       ] 
                     
                   
                   = 
                   
                     
                       ∑ 
                       
                         n 
                         = 
                         0 
                       
                       N 
                     
                     ⁢ 
                     
                         
                     
                     ⁢ 
                     
                       
                         EvalValue 
                         ⁡ 
                         
                           [ 
                           n 
                           ] 
                         
                       
                       × 
                       
                         W 
                         ⁡ 
                         
                           [ 
                           n 
                           ] 
                         
                       
                     
                   
                 
               
               
                 
                   ( 
                   2 
                   ) 
                 
               
             
           
         
       
     
     In the above expression, W[n] is weighting of each evaluation value of each scene in Table 3. A different weighting is set for each layout theme. For example, comparing the themes growth record “growth” and vacation “travel” in Table 3, it is often preferable for a vacation theme to have as many good-quality photographs from as many difference scenes laid out. Accordingly, the weighting is set with emphasis on individual evaluation values of images, and balance evaluation value within the page. On the other hand, in the case of growth record “growth”, it is often preferable for the main character to match each slot, since it is the growth record of this main character that is of interest. Accordingly, the weighting is set with emphasis on evaluation of match between images and slots, rather than balance in the page or individual evaluation values of images. Note that the importance level for each theme has been set as shown in Table 3 in the present embodiment. 
     The EvalLayout[1] calculated in this way is used in S 2109  to generate a layout list LayoutList[k] for layout result display. The method for creating the layout list LayoutList[k] will be described in detail later. This layout list LayoutList[k] is used to correlate a k&#39;th layout order in the rendering display in S 603  illustrated in  FIG. 6 , as to a layout order 1 regarding which evaluation has ended. The content of the layout list LayoutList[k] is the value of the layout order value 1. Display is performed in order from those with a small k in the layout list LayoutList[k]. 
     Returning to  FIG. 6 , the layout results obtained by the above-described processing are rendered in S 603  in  FIG. 6  and are displayed as illustrated in  FIG. 21 . In S 603 , a layout identifier stored in LayoutList[0] is first read out, and the temporary layout result corresponding to the identifier is read out from the secondary storage device  103  or RAM  102 . Template information, and image names assigned to the slots in the template, are set in the layout result as described above. Accordingly, the layout result is rendered using a drawing function of the operating system (OS) operating on the image processing apparatus  115 , based on this information, and displayed as indicated by reference numeral  2902  in  FIG. 21 . 
     In  FIG. 21 , pressing a Next button  2904  causes the layout identifier stored in LayoutList[1], which has the next highest score, to be read out, rendered in the same way as described above, and then displayed. Thus, the user can view proposed layouts of many variations. Pressing a Previous button  2903  displays layouts displayed earlier. Further, if the user likes a displayed layout, the layout result  2902  can be printed from the printer  112  connected to the image processing apparatus  115 , by the user pressing a print button  2905 . 
     Now, the suitability as to printing size at the time of performing qualitative evaluation of the great number (L) of layouts in S 2108  in  FIG. 17  will be described. 
     Description of suitability as to printing size will be described with regard to a case of placing a group photograph (image), in which there are ten people, for example, in a slot around ¼ the size of the layout. In a case of printing on an A6-size printing medium, the printing size of the image will be ¼ the size of the A6 sheet, so the persons in the printed image will be so small that the user will have difficult in distinguishing facial expressions of the subjects. On the other hand, in a case of printing on an A3-size printing medium, the printing size of the image will be equivalent to an A5-size sheet, so the user will have no difficult in distinguishing facial expressions of the subjects as they are sufficiently large. 
     Also, description of suitability as to printing size will be described with regard to a case of placing a photograph (image), which is a full-image shot of the face of one person, in a slot around ¼ the size of the layout. In a case of printing on an A6-size printing medium, the printing size of the image is ¼ the size of the A6 sheet which is small, but the face is large as to the slot, so the user will have no difficult in distinguishing facial expressions. On the other hand, in a case of printing on an A3-size printing medium, the printing size of the image is equivalent to an A5-size sheet, so the face is so large that it is excessively conspicuous. In the case of the former, which is the case where there is a great number of persons in the image, the fact that the print size is too small as to the information amount of the subjects decided by the face size and number of faces affects the situation. In the case of the latter, which is the case where there is a small number of persons in the image (e.g., one), the fact that the print size is too large as to the information amount of the subject decided by the face size and number of faces affects the situation. An example will be illustrated regarding scoring information amount of subjects using the face size and number of faces (scoring suitability as to printing size), to decide an optimal layout as to the printing size in the present embodiment. 
     While the method to identify the face size and number of faces is not restricted in particular, in the present embodiment the face position information detected in the sensing in S 303  is used. In S 303 , face position information as to the images in the image group is registered in the database module  202  beforehand, having been calculated in the background. The face position information is not calculated each time layout evaluation is performed; rather, face position information registered (saved) in the database module  202  is used for the sake of calculation efficiency. 
     Now, calculation processing of evaluation values of each image, based on the face size and number of faces, will be described with reference to  FIG. 25 .  FIG. 25  illustrates a flow of evaluation value calculation processing of each image based on the face size and number of faces, and is executed by the CPU  100 . An example will be described here regarding a case of using paper as the printing medium. The layout to be presented to the user is decided based on the evaluation results obtained by this calculation processing. 
     Determination is made in S 2201  regarding whether or not a face is included in the image, based on face position information. In a case where one or more faces are included, determination is made that the subject of the image is a person. 
     The face region percentage in an image regarding which determination has been made that the subject is a person is calculated in S 2202  based on the face size and number of faces. In the first embodiment, first, the total value of all face regions included in the image is calculated based on the face position information detected in S 303 . Specifically, n persons worth of face position information is used to add the size of the n persons worth of face regions, thereby calculating the total size of all face regions in the single image. The total size of the face region thus obtained is divided by the entire image size, thereby calculating a face region percentage which is a ratio of faces occupying the image. The size is obtained in terms of pixels in the present embodiment. 
     Now, a face region percentage of the group photograph including ten persons in an image A (face region percentage a of image A), and a face region percentage of the single shot photograph including the face of one person in an image B (face region percentage b of image B), for example, are calculated. 
     In a case where part of the original image is to be trimmed and used, in S 2202  the face region percentage in the trimmed image is calculated. The face region percentage calculated from the face region size and number of faces will also be referred to as “subject feature” hereinafter. 
     Note that the method for calculating the face region percentage is not restricted to the above-described, and any method may be used as long as the face region percentage in each image can be obtained. 
     In S 2203 , the output size of the image (the print size of the image in the present embodiment) is identified. 
     First, a slot size in a layout image for placement of the images (a layout template in the present embodiment) is identified. In a case where the slot information is described in the layout template for example, the slot size can be calculated from this information. In this case, an image is placed in a slot around ¼ the layout size, for example. 
     The print size of the images (print size of image A, print size of image B) are obtained. In a case where the sheet size of the layout image (layout template) is already decided, such as in a case where the user has specified the sheet size for printing beforehand, the image print size can be calculated from the sheet size and slot size. In this case, the print size is print size c in a case of printing the layout image on an A6-size sheet, and is print size d in a case of printing the layout image on an A3-size sheet, for example. 
     The print size of the face region is then calculated in S 2204 . The print size of the face region in a case of printing the layout image can be obtained by multiplying the face region percentage by the print size. The print size of the face region in a case of printing the image A on an A6-size sheet is a times c, and the print size of the face region in a case of printing the image B on an A6-size sheet is b times c. The print size of the face region in a case of printing the image A on an A3-size sheet is a times d, and the print size of the face region in a case of printing the image B on an A3-size sheet is b times d. 
     In S 2205 , an evaluation amount (Face Evaluation Value) is calculated from the face size and number of faces, and face print size (Face Size). 
     The print size of the face region is considered to be undesirable if too small or too large in the present embodiment. Specifically, the evaluation value is lowered in a case where the face print size is too small, and the evaluation value is also lowered in a case where the face print size is too large. The suitability of the print size can be calculated from the following Expressions. Specifically, a threshold e and threshold f are set, and the evaluation amount is 100 as long as the face region print size is between these two. If the face region print size is equal to or smaller than the threshold value e, the evaluation value is gradually lowered, and if the face region print size is equal to or greater than the threshold value f, the evaluation value is gradually lowered.
 
Face Evaluation Value=100*Face Size/ e  
 
(case where Face Size≦e)
 
Face Evaluation Value=100
 
(case where e&lt;Face Size&lt;f)
 
Face Evaluation Value=100*(1−(Face Size− f )/(Max Size− f ))
 
(case where Face Size&gt;f)
 
     The suitability as to the print size calculated by the above method is normalized so as to be in the form of a score. Thus, the strength of impact which the evaluation of each image has on the evaluation of layout candidates is changed depending on the subject size in each image according to the print size. Note that in a case of integrating the suitability regarding print size and other evaluation amounts at the time of evaluating individual images, the suitability regarding print size may be multiplied by a weighting coefficient according to theme and then added. The layout is evaluated in the present embodiment from a perspective of observing the layout image as a printed product. Specifically, the image size is converted to a size when printed on paper of a specified sheet size. 
     Thus, better evaluation of layout candidates according to the print size can be performed by evaluating the suitability as to the print size, as another layout evaluation. Accordingly, a suitable layout according to the print size can be provided when proposing layout images (layout candidates) to the user in order of evaluation rank. 
     In S 604 , determination is made regarding whether or not to display another version. In a case of displaying another version (Yes in S 604 ), the flow returns to S 602  and continues, and in a case of not displaying another version (No in S 604 ), the flow ends. Whether or not to display another version is determined according to whether there has been an instruction to that effect, such as the user pressing a button (the Next button for example) to display another version, for example. 
     The suitability as to print size according to the present embodiment yields different results depending on the size of the image when printed, and the face region size in the image. For example, the evaluation amount will differ depending on whether the number of faces is one or ten, even if the face region is the same size. 
     Accordingly, images to be laid out on the printing medium can be appropriately evaluated, even if conditions on the monitor to confirm the layout image are the same, for example. 
     Second Embodiment 
     While description has been made in the first embodiment where the face size and number of faces are subject features, and individual evaluation of images is performed accordingly, in a second embodiment evaluation is performed based on other information amount which images have. Configurations which are the same as those in the first embodiment will be omitted from description. 
     Taking note of information amount which an image has, there are images in an image group which have a much information amount and image which have little information amount. Placing an image with much information amount in a small-sized slot may result in the user feeing that the information cannot be sufficiently obtained. On the other hand, placing an image with little information amount in a large-sized slot may result in the user feeling that information is insufficient. This is further accentuated by the sheet size. For example, placing an image with much information amount in a slot having a small-sized print size tends to result in the user feeing that the information cannot be sufficiently obtained even more readily, and placing an image with little information amount in a slot having a large-sized print size tends to result in the user feeling that information is insufficient even more readily. 
     Optimal placement in the present embodiment is performed according to person information amount of images in the layout image. While description has been made in the first embodiment that the size and number of faces of persons in the image are used, description will be made here regarding features of other subjects which affect the information amount of subjects. First, description will be made regarding a case where the main object in the image is a person, as an example of subject features which affect the information amount of subjects. 
     In a case where the main object in the image is persons, the face size of the persons, the number of faces of the persons, the direction of the faces, the degree of backlight of the faces, body parts of the persons other than the faces, and so forth affect information amount, so these are defined as features of the subject. The evaluation amount based on the features is set to be great if the information amount is great, and the evaluation amount is set to be small if the information amount is small. 
     An example of subject features and the magnitude of effect of information amount is illustrated in Table 5. 
     
       
         
           
               
             
               
                 TABLE 5 
               
             
            
               
                   
               
               
                 Example of Subject Features and the Magnitude 
               
               
                 of Effect of Information Amount 
               
            
           
           
               
               
               
               
            
               
                   
                   
                   
                 Amount of 
               
               
                 Subject 
                 Items 
                 Conditions 
                 information 
               
               
                   
               
               
                 Person 
                 Number of faces 
                 Many 
                 Large 
               
               
                   
                 Direction of face 
                 Front 
                 Large 
               
               
                   
                   
                 Side 
                 Medium 
               
               
                   
                   
                 Back 
                 Small 
               
               
                   
                 Degree of backlight 
                 Much backlight 
                 Small 
               
               
                   
                   
                 Little backlight 
                 Large 
               
               
                   
                 Body 
                 Only face 
                 Small 
               
               
                   
                   
                 Torso 
                 Medium 
               
               
                   
                   
                 Full-body 
                 Large 
               
               
                   
               
            
           
         
       
     
     In a case where the number of faces is great, the information amount is great. If a face is facing directly forward, the information amount is great, if sideways the information amount is medium, and if backwards the information amount is small. Backlight tends to blot out faces in photographs, and sufficient information amount cannot be obtained. Accordingly, the greater the amount of backlight at the face, the smaller the information amount, and the smaller the amount of backlight, the greater the information amount. The greater the amount of body in the photograph is, the more can be determined what that person is doing and what sort of state that person is in, is information amount is greater. Accordingly, if only the face is in the photograph, the information amount is small, if the torso is in the photograph the information amount is medium, and if the full body is in the photograph the information amount is great. 
     Evaluation values are set for each such information amount. If the face is facing directly forward, the information amount is greatest as compared to other face directions, so the evaluation value in a case where the face is facing directly forward is 1, 0.5 if facing sideways, and 0.1 if facing backwards. 
     Evaluation values according to degree of backlight are set such that complete backlight is 0.1 and no backlight is 1, for example. The degree of backlight in the present embodiment is obtained in accordance to skin color of the face, with continuous evaluation values between the two degrees of backlight mentioned above. Evaluation values for degree of backlight are not restricted to this. For example, an arrangement may be made where numerical information indicating degree of backlight is divided into multiple ranges, with evaluation values being set to each. 
     Evaluation values according to body parts of a person in the image are set such that the evaluation value is 1 if only a face is in the photograph, 1.5 if the torso is in the image, and 2 if the entire body is in the image. Continuous evaluation values are set between the above-described body parts. 
     In the present embodiment, the evaluation amounts of all of the above-described items are multiplied to obtain the information amount of a person. If multiple persons are in the image, the evaluation amount of each person is added to yield the information amount of persons in that image. 
     Further, the face region percentage, slot size, print size of the slot, and print size of the face region, are calculated in the present embodiment in the same way as with the first embodiment. Dividing the obtained person information amount by the print size of the face region yields the person information amount per unit face region print size. 
     A person evaluation amount (Person Evaluation Value) of the image is calculated based on the person information amount (Person Information Value) per unit face region print size. The evaluation amount of an image containing suitable information amount as to the print size is set to 100, and the evaluation amount is reduced if the information amount as to the print size is too small or too great. For example, a threshold g and threshold h are set, and the evaluation amount is 100 as long as the calculated person evaluation amount of the image is between these two. If the person evaluation amount is smaller than the threshold value g, the evaluation value is gradually lowered in accordance with the person evaluation amount, and if the person evaluation amount is greater than the threshold value h, the evaluation value is gradually lowered in accordance with the person evaluation amount. 
     The suitability as to the print size calculated by the above method is normalized so as to be in the form of a score. In a case of integrating the suitability regarding print size and other evaluation amounts at the time of evaluating individual images, the suitability regarding print size may be multiplied by a weighting coefficient according to theme and then added. 
     The layout is evaluated in the present embodiment from a perspective of observing the layout image as a printed product. Specifically, the image size is converted to a size when printed on paper of a specified sheet size. 
     Thus, better evaluation of layout candidates according to the print size can be performed by evaluating the suitability as to the print size, as another layout evaluation. Accordingly, a suitable layout according to the print size can be provided when proposing layout images (layout candidates) to the user in order of evaluation rank. 
     The suitability as to print size according to the present embodiment yields different results depending on the size of the image when printed, and the face region size in the image. Accordingly, the likelihood that an image with a great person information amount will be placed in a small slot and output with a small print size can be reduced or avoided. Also, the likelihood that an image with a small person information amount will be placed in a great slot and output with a great print size can be reduced or avoided. 
     While description has been made in the present embodiment that the evaluation values of all items are multiplied to yield person information amount, an arrangement may be made where only part of the items are used to yield person information amount. 
     Third Embodiment 
     While description has been made in the first and second embodiments regarding individual evaluation of images in a case where the subject is a person, in a third embodiment description will be made regarding individual evaluation of images in a case where the subject is other than a person. Configurations which are the same as those in the first embodiment will be omitted from description. 
     Examples of a subject other than a person include scenery and text. Description will be made regarding the features of the subjects of scenery and text, and information amount thereof, using Table 6. Table 6 illustrates an example of the features of subjects, and magnitude of information amount. 
     
       
         
           
               
               
               
               
               
             
               
                   
                 TABLE 6 
               
               
                   
                   
               
               
                   
                   
                   
                   
                 Amount of 
               
               
                   
                 Subject 
                 Items 
                 Conditions 
                 information 
               
               
                   
                   
               
             
            
               
                   
                 Scenery 
                 Number of landmarks 
                 Many 
                 Large 
               
               
                   
                   
                 Spatial frequency 
                 High 
                 Large 
               
               
                   
                   
                   
                 Low 
                 Small 
               
               
                   
                   
                 Color distribution 
                 Broad 
                 Large 
               
               
                   
                   
                   
                 Narrow 
                 Small 
               
               
                   
                 Text 
                 Number 
                 Much 
                 Large 
               
               
                   
                   
                 Language 
                 Japanese 
                 Large 
               
               
                   
                   
                   
                 English 
                 Small 
               
               
                   
                   
                 Proper nouns 
                 Included 
                 Large 
               
               
                   
                   
               
            
           
         
       
     
     In a case where the subject in the image is scenery, an example of a feature of the subject which affects the information amount is the number of landmarks included in the image. The more landmarks there are in the image, the greater the information amount of the image is. The number of landmarks included in each image can be estimated by identifying the location of photography, direction of shooting, and focal length at the time of shooting, using GPS function, gyro sensors, and so forth included in a smartphone or digital camera, and referencing a map database. Note however, that the method to obtain the number of landmarks is not restricted to this. 
     Also, in a case where the subject in the image is scenery, an example of a feature other than subjects which affects the information amount is the spatial frequency of the image. The spatial frequency of the image is also correlated with the information amount. A blue sky has little information amount, while a town shot has a great amount of information. Images of the blue sky have low spatial frequency, while town shots have high spatial frequency. That is to say, the higher the spatial frequency is, the greater the information amount can be said to be. 
     Further, in a case where the subject in the image is scenery, an example of a feature other than subjects which affects the information amount is the color distribution. The color distribution of the image is also correlated with the information amount. Images including various subjects have variation in color, and have a wide color distribution, while an image including only a single subjected is biased in color distribution, and the color distribution is narrow. That is to say, the wider the color distribution is, the greater the information amount can be said to be. 
     Also, in a case where the image is text, an example of a feature of subjects which affects the information amount is the number of letters. Text information is often important information for the user. For example, text on a sign in an image taken while on vacation or an event, a description at a sightseeing stop, and so forth, may have been photograph to record the text information, which will be important information for the user. Accordingly, in the present embodiment the greater the number of letters is, the greater the information amount is. 
     Also, in a case where the image is text, an example of a feature of subjects which affects the information amount is the type of language of the text. Comparing Japanese and English, one letter in Japanese carries more information amount that one letter in English, so in the present embodiment, the information amount of Japanese per letter is great and the information amount of English per letter is small. While Japanese and English have been exemplified here, information amount may be appropriately set for other languages as well. 
     Also, in a case where the image is text, an example of a feature of subjects which affects the information amount is whether the text is a proper noun. Proper nouns are often important information for the user, such as the name of a sightseeing spot, so in the present embodiment, information amount is great if a proper noun is included. 
     Evaluation values according to information amount are set for each of the features of subjects as described above. The features of subjects are obtained for each image, based on the evaluation amounts of each item, and divided by the print size of the image, thereby yielding subject information amount per unit print size. This subject information amount can be used to decide evaluation amounts for each of the images, by the same method used in the first and second embodiments. 
     Now, a calculation method according to the present embodiment regarding features of subjects in images will be described. First, face regions and text regions are detected in an image. Persons serving as subjects can be detected by the face region detection in the sensing in S 303 , described in the first embodiment. Detection of text (text region) can be detected using known techniques. 
     Face region position information is added to detected face regions, text region position information is added to detected text region, and scenery region position information is added to other regions. 
     Evaluation values of the images are calculated. A calculation method of evaluation values in an image, in a case where multiple features of subjects affecting the information amount coexist in an image, will be described using Table 6.  FIG. 26  illustrates a flow of calculation processing of evaluation values in each image, and is executed by the CPU  100 . 
     Determination is made in S 2501  regarding whether or not there are any face regions included in the image. Determination is made that a face region is included in the present embodiment in a case where face region position information has been added. 
     In a case where one or more face regions are included in the image (Yes in S 2501 ), an evaluation value “a” is calculated in S 2202 , based on subject features in a case where the subject is a person. This feature amount “a” can be calculated by the method described in the first and second embodiments. The flow then advances to S 2503 . On the other hand, if no face region is included in the image (No in S 2501 ), the flow advances to S 2503 . 
     Determination is made in S 2503  regarding whether or not there are any text regions included in the image. Determination is made that a text region is included in the present embodiment in a case where text region position information has been added. 
     In a case where one or more text regions are included in the image (Yes in S 2503 ), an evaluation amount “b” is calculated in S 2504  based on subject features in a case where the subject is text. The flow then advances to S 2505 . On the other hand, if no text region is included in the image (No in S 2503 ), the flow advances to S 2505 . 
     Determination is made in S 2505  regarding whether or not there are any scenery regions included in the image. Determination is made that a scenery region is included in the present embodiment in a case where scenery region position information has been added. 
     In a case where one or more scenery regions are included (Yes in S 2505 ), an evaluation amount “c” is calculated in S 2506  based on subject features in a case where the subject is scenery. The flow then advances to S 2507 . On the other hand, if no scenery region is included in the image (No in S 2505 ), the flow advances to S 2507 . 
     In S 2507 , the calculated evaluation values a, b, and c are totaled, and an evaluation value of the image is obtained. Note that weighting may be changed depending on theme when adding. For example, when the theme is persons, the evaluation amount of persons may be weighted more. On the other hand, when the theme is a vacation, evaluation is performed based not only on the evaluation amount of information amount of persons, but also based on the evaluation amount of information amount of scenery and text. 
     The suitability as to the print size calculated by the above method is normalized so as to be in the form of a score. In a case of integrating the suitability regarding print size and other evaluation amounts at the time of evaluating individual images, the suitability regarding print size may be multiplied by a weighting coefficient according to theme and then added. 
     The layout is evaluated in the present embodiment from a perspective of observing the layout image as a printed product. Specifically, the image size is converted to a size when printed on paper of a specified sheet size. 
     Thus, better evaluation of layout candidates according to the print size can be performed by evaluating the suitability as to the print size, as another layout evaluation. Accordingly, a suitable layout according to the print size can be provided when proposing layout images (layout candidates) to the user in order of evaluation rank. 
     While description has been made by way of  FIG. 26  with evaluation values being calculated in the order of whether or not there are face regions, whether or not there are text regions, and whether or not there are scenery regions, calculation of the evaluation values of the image is not restricted to this order. 
     Other Embodiments 
     The basic configuration of the present disclosure is not restricted to the above-described configurations. The above-described embodiments are exemplary arrangements to realize the advantages of the present disclosure, and if using similar but different techniques or different parameters obtains advantages equivalent to those of the present disclosure, these are also included in the scope of the present disclosure. 
     The above-described third embodiment describes obtaining evaluation values of each image by calculating evaluation values for features of each of persons, scenery, and text as a subject, but is not restricted thusly. For example, an arrangement may be made where determination is made beforehand regarding what the subject in the image is, and evaluation value is obtained for each image from features relating to that subject alone. This can reduce the amount of time for calculating evaluation values of the images. 
     Now, determination of a subject in an image will be described in brief. Position information of face regions, text regions, and scenery regions included in the image can be used to determine the subject of the image, for example. In a case where one or more face regions are in the image, for example, determination is made that the subject is persons. However, if one or more face regions exist in the image but the person region is equal to or smaller than a certain size determined beforehand, the subject is determined to be persons and scenery. If a text region is in the image and the text region is equal to or greater than a certain size set beforehand, text is added to the subject. That is to say, in this case, the subject may be any one of text alone, person and text, and person and scenery and text. If no face region is included, and not text region is included or an included text region is smaller than the certain size, the subject is determined to be scenery. 
     While description has been made in the above-described embodiments that print size and evaluation amount based on features of subjects in the image are used for quantitative evaluation of the great number of layouts in S 1508 , the present disclosure is not restricted thusly. For example, evaluation amount based on print size and features of subjects in the image may be used in S 1507 . Specifically, an arrangement may be made where, at the time of generating the great number of temporary layouts in S 1507 , combinations of slots and images where the evaluation amount based on the print size and features of subjects in the image yield values at or below a value set beforehand are not used to create layouts. Thus, temporary layouts of which the evaluation value will clearly be low are not created, so processing time can be reduced. 
     While description has been made in the above embodiments that a great number of layouts is generated in S 1508  as intermediate layouts, a great number of layouts does not necessarily have to be created. For example, in a case of selecting a small number of images which the user wants to user with a template, an optimal layout can be created by the following method. 
     First, the user selects a layout template and output sheet size. Assumption will be made here that conditions of images suited for each slot are described in the layout template, in the same way as with the first embodiment. Next, an image group which the user wants to use with the layout is selected. The number of images selected here may be greater than the number of slots. Next, analysis of each image is performed, and information necessary for determining whether the images satisfy conditions of the slots is acquired. An arrangement may be made here where if analysis results indicate that the image clearly is a defective image or the like, that image is deleted from the image group. Images are then selected which match the conditions described for each slot, based on the analysis information. If there are multiple images satisfying image conditions suitable for a slot, a good image may be decided using the print size and features of the subject described in the embodiments above. The evaluation values described in the first and second embodiments are calculated using the print size and features of the subject in a case of the images being placed in the slots, and images with high evaluation values are taken as final selection images. Thus, a layout can be generated by placing images, satisfying conditions of images suitable for the slots, in the layout image, and printed on a sheet size specified beforehand. 
     While an example has been described in the above embodiments regarding a case of printing the created layout, the output method is not restricted to printing. For example, a display made on a display apparatus such as a monitor or the like may be the final product. In a case of a smartphone, the size of the final product will be around 4 inches, and a final product displayed on a tablet display with be 7 to 10 inches. A final product displayed on a laptop PC monitor with be 10 to 15 inches, and a final product displayed on a PC monitor with be 20 inches or greater. In these cases, evaluation may be performed based on display size as the output size, instead of recording medium size when printing. 
     Also, while persons have been exemplified as objects in the above-described embodiments, objects are not restricted to persons. For example, recognition processing may be performed on pets such as dogs or cats to recognize these, and accordingly pets may be set as objects. Also, buildings, small items, and so forth can be recognized by shape recognition processing through edge detection and so forth, so buildings, small items, and so forth can be set as objects. 
     While a computer has been exemplified as the image processing apparatus in the above-described embodiments, this is not restrictive. The present disclosure is applicable to apparatuses which perform image processing, such as printers, copying machines, facsimile apparatuses, cellular phones, personal digital assistants (PDAs), image viewers, digital cameras, and so forth, for example. 
     The present disclosure maybe applied to a system configured including multiple apparatuses (e.g., a host computer, interface equipment, reader, printer, etc.), or may be applied to a standalone apparatus (e.g., printer, copying machine, facsimile apparatus, etc.). 
     The material of the printing medium is not restricted to paper, and anything printable by being provided with recording material may be employed. This recording material is not restricted to liquid ink; rather various types of recording material may be employed. 
     The above-described embodiments may also be realized by executing the following processing. That is to say, software (program) realizing the functions of the above-described embodiments are supplied to a system or apparatus via a network or various types of storage mediums, and a computer (CPU or microprocessor unit (MPU)) of the system or apparatus reads out and executes the program. The program may be executed on a single computer, or multiple computers may be operated collaboratively to execute the program. There is no need to realize all of the above-described processing by software, and part or all of the processing may be realized by hardware such as application specific integrated circuits (ASIC) or the like. The CPU is not restricted to one CPU executing all processing; rather, multiple CPUs may collaboratively execute the processing. 
     According to the above-described embodiments, a suitable layout according to output size can be obtained by evaluating layout candidates in accordance with the size of subjects in the images, identified by the size of layout candidates to be output. 
     Embodiment(s) of the present disclosure can also be realized by a computer of a system or apparatus that reads out and executes computer executable instructions (e.g., one or more programs) recorded on a storage medium (which may also be referred to more fully as a ‘non-transitory computer-readable storage medium’) to perform the functions of one or more of the above-described embodiment(s) and/or that includes one or more circuits (e.g., application specific integrated circuit (ASIC)) for performing the functions of one or more of the above-described embodiment(s), and by a method performed by the computer of the system or apparatus by, for example, reading out and executing the computer executable instructions from the storage medium to perform the functions of one or more of the above-described embodiment(s) and/or controlling the one or more circuits to perform the functions of one or more of the above-described embodiment(s). The computer may comprise one or more processors (e.g., central processing unit (CPU), micro processing unit (MPU)) and may include a network of separate computers or separate processors to read out and execute the computer executable instructions. The computer executable instructions may be provided to the computer, for example, from a network or the storage medium. The storage medium may include, for example, one or more of a hard disk, a random-access memory (RAM), a read only memory (ROM), a storage of distributed computing systems, an optical disk (such as a compact disc (CD), digital versatile disc (DVD), or Blu-ray Disc (BD)™), a flash memory device, a memory card, and the like. 
     While the present disclosure has been described with reference to exemplary embodiments, it is to be understood that the disclosure is not limited to the disclosed exemplary embodiments. The scope of the following claims is to be accorded the broadest interpretation so as to encompass all such modifications and equivalent structures and functions. 
     This application claims the benefit of priority from Japanese Patent Application No. 2013-184046, filed Sep. 5, 2013, which is hereby incorporated by reference herein in its entirety.