CN108234814A - 控制方法和存储介质 - Google Patents

控制方法和存储介质 Download PDF

Info

Publication number
CN108234814A
CN108234814A CN201711263617.2A CN201711263617A CN108234814A CN 108234814 A CN108234814 A CN 108234814A CN 201711263617 A CN201711263617 A CN 201711263617A CN 108234814 A CN108234814 A CN 108234814A
Authority
CN
China
Prior art keywords
image
image data
template
cpu
score
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201711263617.2A
Other languages
English (en)
Other versions
CN108234814B (zh
Inventor
国枝宽康
堀信二郎
井口良介
大林正明
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Publication of CN108234814A publication Critical patent/CN108234814A/zh
Application granted granted Critical
Publication of CN108234814B publication Critical patent/CN108234814B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/00127Connection or combination of a still picture apparatus with another apparatus, e.g. for storage, processing or transmission of still picture signals or of information associated with a still picture
    • H04N1/00132Connection or combination of a still picture apparatus with another apparatus, e.g. for storage, processing or transmission of still picture signals or of information associated with a still picture in a digital photofinishing system, i.e. a system where digital photographic images undergo typical photofinishing processing, e.g. printing ordering
    • H04N1/00185Image output
    • H04N1/00196Creation of a photo-montage, e.g. photoalbum
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/243Classification techniques relating to the number of classes
    • G06F18/2431Multiple classes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/00127Connection or combination of a still picture apparatus with another apparatus, e.g. for storage, processing or transmission of still picture signals or of information associated with a still picture
    • H04N1/00132Connection or combination of a still picture apparatus with another apparatus, e.g. for storage, processing or transmission of still picture signals or of information associated with a still picture in a digital photofinishing system, i.e. a system where digital photographic images undergo typical photofinishing processing, e.g. printing ordering
    • H04N1/00161Viewing or previewing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/00127Connection or combination of a still picture apparatus with another apparatus, e.g. for storage, processing or transmission of still picture signals or of information associated with a still picture
    • H04N1/00132Connection or combination of a still picture apparatus with another apparatus, e.g. for storage, processing or transmission of still picture signals or of information associated with a still picture in a digital photofinishing system, i.e. a system where digital photographic images undergo typical photofinishing processing, e.g. printing ordering
    • H04N1/00167Processing or editing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/00127Connection or combination of a still picture apparatus with another apparatus, e.g. for storage, processing or transmission of still picture signals or of information associated with a still picture
    • H04N1/00132Connection or combination of a still picture apparatus with another apparatus, e.g. for storage, processing or transmission of still picture signals or of information associated with a still picture in a digital photofinishing system, i.e. a system where digital photographic images undergo typical photofinishing processing, e.g. printing ordering
    • H04N1/00185Image output
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/387Composing, repositioning or otherwise geometrically modifying originals
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/60Editing figures and text; Combining figures or text

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Evolutionary Biology (AREA)
  • Evolutionary Computation (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Artificial Intelligence (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Processing Or Creating Images (AREA)
  • Editing Of Facsimile Originals (AREA)

Abstract

一种控制方法和存储介质。用于通过在模板中布置图像来生成布局图像的信息处理装置的控制方法包括:基于第一评估轴对从获取的运动图像数据获取的第一图像数据组进行评估,并且基于与第一评估轴不同的第二评估轴对从获取的静止图像数据获取的第二图像数据组进行评估。

Description

控制方法和存储介质
技术领域
本公开总体上涉及图像处理,尤其涉及一种图像处理装置、控制方法和存储介质。
背景技术
用于通过在模板中布置由通过使用例如数字照相机拍摄照片获取的图像数据表示的图像来生成布局图像的处理是已知的。这种处理被称为“自动布局处理”。日本专利No.5,449,460讨论了一种通过分析图像来评估图像并然后将具有较高评估值的图像布置在双页扩展(double-page spread)上以创建相册来执行自动布局处理的方法。
在日本专利No.5,449,460中讨论的方法中,关于图像的评估,没有考虑图像是从静止图像数据获取的图像还是从运动图像数据获取的图像。因此,日本专利No.5,449,460中讨论的方法存在的问题是,在评估中不可能反映图像数据的获取源的差异。
发明内容
本公开的各方面总体上涉及生成具有高用户满意度的布局图像。
根据本公开的一个或更多个方面,一种用于通过在模板中布置图像来生成布局图像的图像处理装置的控制方法包括:获取一个或更多个运动图像数据;获取一个或更多个静止图像数据;基于第一评估轴对从所获取的一个或更多个运动图像数据获取的第一图像数据组进行评估,并且基于与第一评估轴不同的第二评估轴对从所获取的一个或更多个静止图像数据获取的第二图像数据组进行评估;基于评估来从第一图像数据组和第二图像数据组中选择一个或更多个图像数据;获取关于具有要布置图像的至少一个区块的模板的模板信息;以及输出布局图像,在该布局图像中,由选择的一个或更多个图像数据表示的一个或更多个图像被布置在对应于所获取的模板信息的模板中包括的一个或更多个区块中。
根据下面参照附图对示例性实施例的描述,本公开的另外的特征将变得清楚。
附图说明
图1是根据本公开的一个或更多个方面的示出图像处理装置的硬件配置的框图。
图2是根据本公开的一个或更多个方面的示出第一示例性实施例中的相册创建应用的软件配置的框图。
图3是根据本公开的一个或更多个方面的示出由相册创建应用显示的设置画面的图。
由图4A和图4B组成的图4是根据本公开的一个或更多个方面的示出由相册创建应用执行的自动布局处理的流程图。
图5是根据本公开的一个或更多个方面的示出用于管理关于图像数据的图像分析信息的表格的图。
图6A、6B和6C是根据本公开的一个或更多个方面的用于说明图像数据组的划分的图。
图7是根据本公开的一个或更多个方面的用于说明场景的分类的图。
图8A和8B是根据本公开的一个或更多个方面的用于说明对于主区块和子区块的评分的图。
图9A、9B、9C、9D、9E、9F、9G、9H和9I是根据本公开的一个或更多个方面的用于说明图像数据的选择的图。
图10是根据本公开的一个或更多个方面的用于说明图像数据的布局的图。
图11是根据本公开的一个或更多个方面的更详细地示出图像选择单元的配置的图。
由图12A和12B组成的图12是根据本公开的一个或更多个方面的示出图像选择处理的细节的流程图。
图13是根据本公开的一个或更多个方面的第一示例性实施例中的用于管理用于确定模板的处理的软件的框图。
图14是根据本公开的一个或更多个方面的示出第一示例性实施例中的用于确定用于生成布局图像的模板的处理的流程图。
图15是根据本公开的一个或更多个方面的示出第二示例性实施例中的相册创建应用的软件配置的框图。
图16是根据本公开的一个或更多个方面的示出在重新布设相册时执行的处理的流程图。
图17是根据本公开的一个或更多个方面的示出各种模板的图。
图18是根据本公开的一个或更多个方面的第二示例性实施例中的用于管理用于确定模板的处理的软件的框图。
图19是根据本公开的一个或更多个方面的示出第二示例性实施例中的用于确定用于生成布局图像的模板的处理的流程图。
图20是根据本公开的一个或更多个方面的示出用于调整在编辑之后获得的相册中包含的每个对象的出现频率的画面的图。
图21是根据本公开的一个或更多个方面的示出在设置值的每个组合中的编辑之后获得的相册中的单个双页扩展布局图像的图。
具体实施方式
下面将参照附图详细地描述本公开的各种示例性实施例、特征和方面。此外,下面的示例性实施例不应该被解释为限制本公开,并且不是示例性实施例中描述的特征的所有组合对于本公开提供的解决方案而言总是必要的。此外,相同的组成元件被分配相应的相同的附图标记,并且不重复其描述。
在下面的示例性实施例中,描述了用于激活用于创建相册的应用程序(以下称为“相册创建应用”)并执行自动布局处理以生成布局图像的过程。除非另有说明,否则在以下描述中使用的术语“图像”包括静止图像、运动图像和运动图像中包括的帧图像,并且还包括存在于社交网络服务(SNS)服务器上的静止图像、运动图像和运动图像中包括的帧图像。
图1是示出根据本公开的第一示例性实施例的图像处理装置的硬件配置的框图。图像处理装置的例子包括个人计算机(PC)、智能电话、平板终端、照相机和打印机,并且在本示例性实施例中,图像处理装置被假定为PC。
参照图1,图像处理装置100包括:中央处理单元(CPU)101,只读存储器(ROM)102,随机存取存储器(RAM)103,硬盘驱动器(HDD)104,显示器105,键盘106,鼠标107和数据通信单元108。这些元件经由数据总线109相互连接。
可包括一个或更多个处理器、一个或更多个存储器、中央算术设备、电路、固件、硬件、其他元件等的CPU 101可以是控制整个图像处理装置100的系统控制单元。此外,CPU101可根据一个或更多个程序、指令、代码等来执行本示例性实施例中描述的图像处理方法。此外,虽然在图1中仅示出了一个CPU,但是CPU 101不限于此,而且可以包括多个CPU。
由CPU 101执行的程序、指令、代码等和操作系统(OS)被存储在ROM 102中。RAM103提供用于临时存储当由CPU 101执行程序时要使用的各种信息的存储器。HDD 104是用于存储例如保留图像文件的数据库和诸如图像分析之类的处理的结果的存储介质。在本示例性实施例中,HDD 104存储相册创建应用,其细节在下面描述。
显示器105(显示单元)是向用户显示用户界面(UI)或图像的布局结果的设备。显示器105可以配备有触摸传感器功能。键盘106是输入设备中的一个,并且,例如,用于将预定信息输入到显示器105上显示的UI上。预定信息例如是指示双页扩展数量或者预计创建的相册的页面的数量的信息。鼠标107是输入设备中的一个,并且,例如,用于点击显示器105上显示的UI上的按钮。此外,例如通过用户操作鼠标107双击在显示器105上显示的与相册创建应用相对应的图标,来激活相册创建应用。
数据通信单元108(通信单元)是被提供以与诸如打印机或服务器之类的外部装置进行通信的设备。例如,由相册创建应用产生的数据经由数据通信单元108被发送到连接到图像处理装置100的打印机(未示出)或服务器(未示出)。而且,数据通信单元108接收存在于服务器(未示出)或社交网络服务(SNS)服务器(未示出)上的静止图像数据。此外,尽管在本示例性实施例中,数据通信单元108从SNS服务器接收静止图像数据,但这不是限制的示例,而且数据通信单元108也可以接收运动图像数据。
数据总线109将上述单元(102至108)连接至CPU 101。
<相册的自动布局>
图2是本示例性实施例中的相册创建应用的软件框图。在本示例性实施例中,存储在HDD 104中的相册创建应用通过用户操作鼠标107双击在显示器105上显示的与相册创建应用相对应的图标来被激活。而且,相册创建应用例如通过经由数据通信单元108从外部服务器安装而存储在HDD 104中。本公开通篇描述的各单元是用于执行本公开中所描述的处理的示例性的和/或更可取的模块。所述模块可以是硬件单元(例如,电路、现场可编程门阵列、数字信号处理器、特定用途集成电路等)和/或软件模块(例如,计算机可读程序等)。以上并没有穷尽地描述执行各步骤的模块。然而,哪里有执行某个处理的步骤,就可以有执行相同处理的对应的功能模块或单元(通过硬件和/或软件执行)。通过描述的步骤的全部组合和与这些步骤对应的单元的技术方案被包括在本公开中。
尽管相册创建应用具有各种功能,但是在本示例性实施例中,具体描述了由自动布局处理单元219提供的自动布局功能。自动布局功能是通过在事先准备的模板中布置通过基于静止图像或动态图像的内容或属性信息对静止图像或运动图像进行分类和选择而获取的图像数据来生成布局图像,并且将所生成的布局图像显示在显示器105上的功能。
如图2所示,相册创建应用包括相册创建条件指定单元201和自动布局处理单元219。
相册创建条件指定单元201接收根据下面描述的用例如鼠标107执行的UI操作的相册创建条件的指定,并将指定的相册创建条件输出到自动布局处理单元219。指定的相册创建条件包括,例如,作为处理目标的主要角色或图像数据的标识符(ID),相册的双页扩展数量,模板信息,图像校正的开启/关闭条件,使用运动图像的开启/关闭条件,以及相册模式的指定。图像数据的指定可以是,例如,使用关于各个图像数据的辅助信息或属性信息(例如,图像拍摄的日期和时间)的指定,或者,基于包括图像数据的文件系统的结构的指定,例如,设备或目录(文件夹)的指定。此外,双页扩展对应于在单独的片材(或页面)上打印的一对相互相邻的页面。而且,假设本示例性实施例中的相册创建应用经由单个显示窗口来生成一个双页扩展布局。另外,相册创建条件指定单元201显示例如如图3所示的设置画面,并通过接收对设置画面的输入来接收相册创建条件的指定。
运动图像获取单元202从诸如HDD 104之类的存储区域获取由相册创建条件指定单元201指定的运动图像组(运动图像数据组)。此外,运动图像获取单元202可以经由数据通信单元108从例如网络上的服务器或SNS服务器的存储区域获取运动图像组。这里使用的术语“运动图像组”是指用于提取要用于相册创建的图像数据的候选的各运动图像数据的集合。运动图像获取单元202使用在OS中作为标准装备包括的解码器功能,将所获取的运动图像数据从压缩状态转换为解压缩状态,使得运动图像数据能够被运动图像分析单元203分析。
运动图像分析单元203分析由运动图像获取单元202获取的运动图像数据。
更具体地,运动图像分析单元203从运动图像数据剪切连续的帧,指定两个连续帧之间的特征量的差异,并指定运动量。运动图像数据包括通过拍摄具有大运动量的图像拍摄目标的图像而获取的运动图像数据和通过拍摄具有小运动量的图像拍摄目标的图像而获取的运动图像数据。关于从前一个运动图像数据获得的图像数据,运动量被认为是大的,并且关于从后一个运动图像数据获得的图像数据,运动量被认为是小的。
更具体地,运动图像分析单元203将每个剪切帧的整个区域划分为多个区域,并且生成关于多个区域的RGB值的直方图。然后,运动图像分析单元203检测关于在两个连续帧之间的RGB值的直方图的差异,并且识别与检测到的具有大差异的直方图相对应的区域的数量。然后,如果与检测为具有大差异的直方图相对应的区域的数量等于大于阈值,则运动图像分析单元203确定两个连续帧之间的特征量的差大。然后,如果与检测为具有大差异的直方图相对应的区域的数量小于阈值,则运动图像分析单元203确定两个连续帧之间的特征量的差小。
然后,由于两个连续帧之间的特征量的差异大的情况指示这些帧彼此不相似,所以由运动图像分析单元203确定这些帧是其中被摄体的运动大(运动量大)的帧。由于两个连续帧之间的特征量的差异小的情况指示这些帧彼此相似,所以由运动图像分析单元203确定这些帧是其中被摄体的运动小(运动量小)的帧。关于运动量的确定,除了上述的使用的帧之间的特征量的差异之外,还可以使用以运动图像格式使用的运动向量。此外,尽管在本示例性实施例中RGB值的差异被检测为帧之间的特征量的差异,但是例如可以在另一配置中检测关于亮度值的差异。这样,运动图像分析单元203能够将从一个运动图像数据中提取的多个帧划分成具有大运动量的帧组和具有小运动量的帧组,并分别管理各个帧组。
运动图像分析单元203以预定间隔提取从运动图像数据剪切并以时间序列顺序管理的帧,并将每个提取的帧设置为分析目标。运动图像分析单元203将从被确定为具有大运动量的帧组中提取分析目标帧的间隔设置为短间隔,并且将从被确定为具有小运动量的帧组中提取分析目标帧的间隔设置为长间隔。例如,运动图像分析单元203以三帧的间隔从被确定为具有大运动量的帧组中提取分析目标帧,并以五帧的间隔从被确定为具有小运动量的帧组中提取分析目标帧。
而且,运动图像分析单元203对所提取的分析目标帧执行分析处理。更具体地,运动图像分析单元203执行例如对象检测,尺寸识别,微笑确定,闭眼确定,抖动和模糊确定以及亮度确定。对象检测是用于从分析目标帧检测诸如人脸、动物或食物之类的对象的处理。尺寸识别是用于识别由对象检测检测到的对象的尺寸的处理。微笑确定是用于在由对象检测所检测到的对象是人脸的情况下确定检测到的人脸是否是微笑的处理。闭眼确定是用于在由对象检测所检测到的对象是人脸的情况下确定检测到的人脸是否指示闭眼的处理。抖动和模糊确定是用于确定分析的帧中的抖动或模糊量的处理。亮度确定是用于确定分析的帧的亮度量(平均亮度值)的处理。
此外,运动图像分析单元203根据上述处理的结果执行用于向分析的帧分配得分的评分处理。更具体地,例如,运动图像分析单元203以如下方式执行评分处理:包含诸如人脸、动物或食物之类的对象的帧的得分比不包含该对象的帧的得分高。此外,运动图像分析单元203能够通过对象检测来确定帧是否包含对象。而且,例如,运动图像分析单元203以包含大对象的帧的得分比包含小对象的帧的得分高的这种方式执行评分处理。此外,运动图像分析单元203能够通过尺寸识别来识别包含在每个帧中的对象的尺寸。而且,例如,运动图像分析单元203以包含带微笑的脸的帧的得分比包含不带微笑的脸的帧的得分高的这种方式执行评分处理。另外,运动图像分析单元203以包含较多的带微笑的脸的帧的得分比包含较少的带微笑的脸的帧的得分高的这种方式执行评分处理。此外,运动图像分析单元203能够通过微笑确定来识别包含在每个帧中的脸是否带微笑或者包含在每个帧中的带微笑的脸的数量。而且,例如,运动图像分析单元203以包含没有闭眼的脸的帧的得分比包含闭眼的脸的帧的得分高的这种方式执行评分处理。另外,运动图像分析单元203以包含较少的闭眼的脸的帧的得分比包含较多的闭眼的脸的帧的得分高的这种方式执行评分处理。此外,运动图像分析单元203能够通过闭眼确定来识别包含在每个帧中的脸是否闭眼或者包含在每个帧中的闭眼的脸的数量。而且,运动图像分析单元203以具有小抖动或模糊的帧的得分比具有大抖动或模糊的帧的得分高的这种方式执行评分处理。此外,运动图像分析单元203能够通过抖动和模糊确定来识别每个帧的抖动或模糊的量。另外,在抖动和模糊确定中,运动图像分析单元203使用拉普拉斯滤波器来计算分析目标帧的边缘量,并且当边缘量较大时确定该帧具有较少的模糊。此外,运动图像分析单元203可以根据运动量来改变要进行抖动和模糊确定的区域。例如,在对通过跟踪和拍摄运动被摄体的图像所获取的运动图像数据所剪裁的帧执行抖动和模糊确定的情况下,被摄体的图像被拍摄为锐利的图像,但是背景的图像被拍摄为模糊的图像。因此,如果整个图像被设置为抖动和模糊确定的目标区域,则可以确定确定目标帧具有大的模糊。因此,例如,关于运动量大的帧,运动图像分析单元203可以仅在例如包含脸的被摄体区域上执行抖动和模糊确定。另外,运动图像分析单元203以如下这种方式进行评分处理:使得明亮帧(具有大的平均亮度值)的得分高于暗帧(具有小的平均亮度值)的得分。
此外,运动图像分析单元203可以缩小用于分析的帧。例如,在通过对象检测来检测人脸时,运动图像分析单元203指定要检测的脸的朝向。此时,运动图像分析单元203可被配置为仅检测面向特定朝向的脸,而不是在指定所有的朝向的同时检测脸。而且,例如,运动图像分析单元203可以被配置为对包含面向特定朝向的脸的帧或者包含具有预定值以上的尺寸的脸的帧执行微笑确定或闭眼确定。另外,例如,运动图像分析单元203可以被配置为仅对具有预定值以上的亮度的帧执行尺寸识别、微笑确定、闭眼确定或者抖动和模糊确定。采用这种配置,即使在从运动图像数据剪切大量帧的情况下,也可以减少处理时间。
此外,由运动图像分析单元203执行的评分的方法不限于上述方法。例如,运动图像分析单元203可以以如下这种方式执行评分处理:具有大运动量的帧的得分高于具有小运动量的帧的得分。此外,运动图像分析单元203可以将预定得分值添加到在变焦之后获得的帧或者在摇摆之后获得的帧的得分。这使得能够在得分中反映拍摄运动图像期间的用户的意图。
利用这些分析处理操作,运动图像分析单元203能够识别运动图像中的哪个帧是适当的图像。
帧获取单元204基于运动图像分析单元203执行的分析(评估)的结果从运动图像剪切帧,并且将剪切后的帧作为图像数据存储在HDD 104中。更具体地,帧获取单元204从由运动图像分析单元203分析并管理的每个帧组中获得具有预定值以上的总得分的帧。可替换地,帧获取单元204可以获取具有较高总得分的预定数量的帧。此时,帧获取单元204存储帧的运动量、照相机工作以及与该帧相关联的得分。通过由运动图像分析单元203进行分析来获取帧的运动量、照相机工作和得分。此外,关于诸如用于相册创建的图像或在用户在相册创建之后替换图像时使用的候选图像之类的图像的使用的信息可以与该帧相关联地存储。而且,例如,根据特定帧的得分确定特定帧成为用于相册创建的图像和候选图像中的哪一个。具体而言,具有较高得分的帧成为用于相册创建的图像。另外,例如,获取指示运动图像数据从诸如指定的文件夹、指定的服务器或SNS服务器之类的哪个存储单元获取的信息,关于运动图像的拍摄日期和时间、提取的帧的尺寸或者运动图像的图像拍摄时间的信息可以在此时被存储。此外,所提取的帧被图像转换单元206顺序转换为预定格式的图像数据。
图像获取单元205从诸如HDD 104之类的存储区域获取由相册创建条件指定单元201指定的图像组(图像数据组)。此外,图像获取单元205可以经由数据通信单元108从例如网络上的服务器或SNS服务器的存储区域获取图像组。这里使用的术语“图像组”是指要用于相册创建的图像数据的候选。例如,可能存在这样的情况,在相册创建条件指定单元201中,将“20XX年1月1日到20XX年12月31日”指定为与生成了用于布局的图像数据(拍摄了与图像数据相对应的照片)的日期和时间(以下称为“图像拍摄日期和时间”)有关的条件。在这种情况下,图像获取单元205获取从20XX年1月1日到20XX年12月31日期间生成的所有图像数据作为图像组。
存储在存储区域中的图像数据是,例如,静止图像数据或通过从运动图像数据剪切帧而获得的剪切图像数据。静止图像数据或剪切图像数据是从成像设备获取的。成像设备可以被包括在图像处理装置100中,或者可以被包括在图像处理装置100外部的外部装置(例如,PC,智能手机,数字照相机或平板终端)中。在从外部装置获取图像数据的情况下,图像处理装置100经由数据通信单元108获取图像数据。此外,图像处理装置100可以经由数据通信单元108从网络或服务器获取静止图像数据或剪切图像数据。CPU 101分析附加到图像数据的数据,并确定从哪里获取每个图像数据。此外,当经由相册创建应用从SNS服务器获取图像数据时,CPU 101可以通过相册创建应用来管理从哪里获取图像数据。另外,要由相册创建应用使用的图像数据不限于上述类型的图像数据,而可以是另一类型的图像数据。
图像转换单元206转换关于由图像获取单元205获取的图像数据的像素数信息和颜色信息。此外,指示通过图像转换单元206将图像数据转换成什么像素数信息和颜色信息的信息被事先确定,并且这样的信息被存储在相册创建应用或由相册创建应用使用的参数文件中。在本示例性实施例中,图像转换单元206将由图像获取单元205获取的图像数据转换为短边的像素数为420个像素且颜色信息为sRGB的图像数据。
图像分析单元207对图像数据执行分析处理。在本示例性实施例中,图像分析单元207对由图像转换单元206执行的转换获得的图像数据执行分析处理。更具体地,图像分析单元207从转换的图像数据获取特征量,并执行转换的图像数据中的对象检测和脸检测、检测到的脸的面部表情识别以及检测到的脸的个人识别。而且,图像分析单元207从附加到由图像获取单元205获取并且在转换之前获得的图像数据的数据(例如,Exif信息)获取图像拍摄日期和时间信息。图像拍摄日期和时间信息不限于从Exif信息获取的信息,而且可以是指示生成或更新图像数据的日期和时间的信息。此外,图像拍摄日期和时间信息可以是指示图像数据被上传到本地服务器或SNS服务器或者图像数据是从本地服务器或SNS服务器下载的日期和时间的信息。在下面的描述中,这样的日期和时间信息也被视为图像拍摄日期和时间信息。此外,假定本地服务器是被包括在图像处理装置100中的存储区域,例如,HDD 104。
图像分类单元208使用图像拍摄日期和时间信息、拍摄图像数量、以及诸如检测到的脸信息之类的对象检测结果信息,对图像数据组执行下面描述的场景分割和场景分类。术语“场景”是指诸如“旅行”、“日常生活”和“婚礼”之类的图像拍摄场景。场景可以说是,例如,在特定的时间段在图像拍摄机会中产生的图像数据的集合。
主要角色信息输入单元209将由相册创建条件指定单元201指定的主要角色的ID(识别信息)输入到图像评分单元210。
图像评分单元210以对于布局适合的图像数据获得高得分的方式对每个图像数据进行评分。根据由图像分析单元207获取的信息和由图像分类单元208获取的信息来执行评分。此外,可以另外或替代地使用不同的信息。在本示例性实施例中,图像评分单元210以这样的方式对每个图像数据进行评分,使得其中包含由主要角色信息输入单元209输入的主要角色的ID的图像数据的得分变成高得分。
扩展数量输入单元211将由相册创建条件指定单元201指定的相册的扩展(双页扩展)的数量输入到扩展分配单元212。
扩展分配单元212将图像组划分(分组)成多个部分,并且将每个部分分配给每个扩展。扩展分配单元212根据输入的扩展数量将图像组划分为多个部分,并且将图像组的每个部分分配给每个扩展。例如,在扩展数量为5的情况下,扩展分配单元212将获取的图像组划分为五个小图像组,并且将一个小图像组分配给每个扩展。此外,虽然在本示例性实施例中,描述了根据扩展数量将图像组划分成多个部分并且将图像组的每个划分部分分配给每个扩展的配置,但是,也可以采用根据页数将图像组划分成多个部分并且将图像组的每个划分部分分配给每个页的配置。
图像选择单元213基于由图像评分单元210给出的得分,从由扩展分配单元212分配给相应扩展的图像组的部分中选择图像数据。
模板设置单元214从HDD 104中读取与由相册创建条件指定单元201指定的模板信息相对应的多个模板,并将该多个模板输入到图像布局单元215。此外,在本示例性实施例中,假定多个模板事先保留在存储在HDD104中的相册创建应用中。而且,多个模板包含,例如,关于每个整个模板的尺寸的信息和关于每个模板中包括的区块的数量、每个区块的尺寸以及每个区块的位置的信息。
图像布局单元215确定每个扩展的布局。更具体地,图像布局单元215从由模板设置单元214输入的多个模板中选择适合于由图像选择单元213选择的图像数据的模板,并且确定每个图像的放置位置。由此,确定每个扩展的布局。
布局信息输出单元218根据由图像布局单元215确定的布局,输出用于在显示器105上显示布局图像的布局信息。布局图像是例如这样的图像,其中由图像选择单元213所选择的图像数据表示的图像被布置在所选择的模板中,并且布局信息是表示布局图像的位图数据。
图像校正单元217执行诸如遮光校正(亮度校正)、红眼校正和对比度校正之类的各种校正处理操作。校正条件输入单元216将由相册创建条件指定单元201指定的图像校正的开启/关闭条件输入到图像校正单元217。图像校正的开启/关闭可以针对每种校正类型被指定,或者可以针对所有的校正类型被统一指定。在图像校正条件被设置为开启的情况下,图像校正单元217对图像数据执行校正处理,并且,在图像校正条件被设置为关闭的情况下,图像校正单元217不对图像数据进行校正处理。此外,图像校正单元217根据图像校正的开启/关闭,对从图像转换单元206输入的图像数据进行校正处理。关于从图像转换单元206输入到图像校正单元217的图像数据的像素数信息能够根据由图像布局单元215确定的布局图像的尺寸而改变。虽然在本示例性实施例中,在生成布局图像之后对每个图像数据进行图像校正,但是图像校正不限于此,而且可以在将图像布设(布置)在模板中之前对每个图像数据进行校正。
从布局信息输出单元218输出的图像数据例如以诸如图3所示的格式显示在显示器105上。
当在本示例性实施例中的相册创建应用被安装在图像处理装置100中时,通过在图像处理装置100上运行的OS在显示器105上显示的顶部画面(桌面)上生成启动图标。然后,当用户通过鼠标107的操作双击启动图标时,存储在HDD 104中的相册创建应用的程序被加载到RAM 103上。然后,加载到RAM 103上的程序由CPU 101执行,使得相册创建应用被激活。
图3是示出由激活的相册创建应用提供的UI配置画面301的示例的图。UI配置画面301被显示在显示器105上。用户经由UI配置画面301设置下面描述的相册创建条件使相册创建条件指定单元201获取由用户指定的设置内容。UI配置画面301上的路径框302指示作为相册创建目标的图像或运动图像组的在HDD 104中的存储位置(路径)。用户可以通过鼠标107的操作来点击文件夹选择按钮303,从而以用户可选择的这种方式在树结构中显示各自包含作为相册创建目标的图像或运动图像组的文件夹。然后,在路径框302中显示包含由用户选择的图像或运动图像组的文件夹路径。
主要角色指定图标304是用于用户指定主要角色的图标,并且人脸图像被显示为图标。在主要角色指定图标304中并排显示不同的脸部图像的多个图标,并且允许用户通过用鼠标107点击来选择所显示的图标中的任何一个图标。然后,与所选择的图标相对应的人物被设置为要创建的相册的主要角色。此外,每个脸部图像与个人ID相关联。此外,主要角色指定图标304被用来从由作为分析目标的图像数据表示的图像中包含的人物当中指定用作中心人物的主要角色。脸部图像被事先从例如由每个图像数据表示的图像检测,并被与个人ID相关联地登记在脸部数据库中。主要角色指定图标304指示,例如,用户选择的人物的脸部图像,或者,通过下述方法从在脸部数据库中登记的人物的脸部图像当中确定的人物的脸部图像。另外,还可以根据图4所示的过程自动设置主要角色。
扩展数量框305用于接收来自用户的相册中的扩展数量的设置。用户可以经由键盘106直接在扩展数量框305中输入数字,或者可以使用鼠标107从列表中在扩展数量框305中输入数字。
模板指定图标306根据模板的相应风格(例如流行风格和别致风格)来显示示范性图像。在模板指定图标306中并排显示多个模板图标,并且允许用户通过用鼠标107点击来选择所显示的图标中的任何一个图标。然后,与所选择的图标相对应的模板被设置为用于要创建的相册的模板。在本示例性实施例中,模板具有要在其中放置图像数据的图像放置帧(区块)。然后,将图像数据嵌入到模板中包含的区块中,从而完成一个布局图像。
模式指定部分307是与要创建的相册的模式相对应的图标。此外,相册的模式是要优先将包含预定对象的图像布置在模板中的模式,并且在本示例性实施例中,包括“人物”、“动物”和“食物”的三种模式。此外,相册的模式可以被重写为例如相册的主题。例如,在选择模式“人物”的情况下,优先在模板中布置包含人物的图像。而且,在选择模式“动物”的情况下,优先在模板中布置包含动物的图像。另外,在选择模式“食物”的情况下,优先在模板中布置包含食物的图像。此外,可以有这样一种模式,用于优先地将表示包含除了上述三个对象以外的对象的图像的图像数据布置在模板中。而且,可以同时选择多个模式。在这种情况下,包含与所选择的多个模式相对应的多个对象中的至少一个的图像被优先地布置在模板中。通过用鼠标107进行点击,允许用户选择对应于各个模式的多个图标中的任何一个图标。然后,将与所选择的图标相对应的模式设置为要创建的相册的模式。
此外,相册的模式不限于上述三种模式,而且还可以包括其他模式,例如,“建筑物”,“车辆”和“花”。
此外,虽然在本示例性实施例中描述了用户经由模式指定部分307选择相册的模式的配置,但是,例如,可以采用其中CPU 101根据相册创建应用的程序来自动选择相册的模式的配置。在这种情况下,例如,CPU 101分析由图像获取单元205获取的图像数据组,以指定图像数据组中包含的最多的对象的类别。然后,CPU 101选择与指定的类别相对应的模式。
复选框308用于接收来自用户的图像校正的开启/关闭的设置。复选框308被打勾的状态是指定了图像校正的开启的状态,并且复选框308未被打勾的状态是指定图像校正的关闭的状态。此外,UI配置画面301被配置为使得针对所有的校正处理操作统一设置开启/关闭,但是可以被配置为使得能够针对各个校正处理操作单独设置开启/关闭。OK按钮309是用于接收来自用户的设置完成的按钮。当用户用鼠标107点击OK按钮309时,相册创建条件指定单元201获取在UI配置画面301上设置的内容。然后,相册创建条件指定单元201将获取的设置信息输出到自动布局处理单元219。在这种情况下,输入到路径框302中的路径被发送到图像获取单元205。此外,在主要角色指定图标304中选择的主要角色的个人ID被发送到主要角色信息输入单元209。另外,在扩展数量框305中输入的扩展数量被发送到扩展数量输入单元211。此外,在模板指定图标306中选择的模板信息被发送到模板设置单元214。此外,复选框308中的图像校正的开启/关闭的设置被发送到校正条件输入单元216。
重置按钮310用于重置UI配置画面301上的各种设置信息。
此外,可以在UI配置画面301上进行除了上述设置之外的设置。例如,还可以进行关于运动图像的设置以及对图像或运动图像数据的获取源的设置。
在这种情况下,例如,在UI配置画面301中包括:服务器名称框,服务器选择按钮,运动图像使用复选框以及目标时段框。
服务器名称框指示包含要用于相册创建的图像组的服务器名称或SNS名称。而且,服务器选择按钮用于以用户可选择的这种方式在列表结构中显示服务器名称或SNS名称,每个服务器名称或SNS名称包含要用于相册创建的图像组。然后,在服务器名称框中显示用户选择的服务器名称或SNS名称。当在服务器名称框中显示服务器名称或SNS名称的情况下通过鼠标107点击OK按钮309时,显示指定的服务器或SNS的登录画面。当经由显示的登录画面通过用户的操作完成登录到指定的服务器或者SNS时,CPU 101变得能够从指定的服务器或者SNS获取图像数据。
运动图像使用复选框用于从用户接收关于是否使用存储于在路径框302中指定的文件夹中或存储于在服务器名称框中指定的服务器或SNS中的运动图像用于相册创建的设置。运动图像使用复选框被打勾的状态是指定了使用运动图像用于相册创建的状态,并且,运动图像使用复选框未被打勾的状态是指定了未使用运动图像用于相册创建的状态。
目标时段框用于从用户接收用于相册创建的图像组或运动图像组的图像拍摄日期和时间段的条件的设置。此外,目标时段框显示指定的图像拍摄日期和时间段。当在目标时段框中显示图像拍摄日期和时间段的情况下通过鼠标107点击OK按钮309时,提取在指定的图像拍摄日期和时间段中生成的图像组或运动图像组作为用于相册创建的目标。
由图4A和图4B组成的图4是示出根据本示例性实施例的由相册创建应用执行的自动布局处理的流程图。例如,通过CPU 101将与存储在HDD 104中的相册创建应用相对应的程序加载到ROM 102或RAM 103上并执行该程序来实现图4所示的流程图。参照图4描述自动布局处理。如以下描述中所述,在创建相册时,本示例性实施例根据图像拍摄时间将要用于相册创建的图像组划分为子图像组,并从通过划分而获得的子图像组中选择要布置在页面上的图像。
首先,在步骤S401中,CPU 101经由相册创建条件指定单元201来设置相册创建条件。更具体地,例如,CPU 101经由图3所示的画面从用户接收相册创建条件的设置。设置相册创建条件的细节如上面参照图3所述。
在步骤S402中,CPU 101经由运动图像获取单元202获取存储在作为搜索目标的存储区域中的运动图像数据。关于运动图像数据的获取的细节如上面关于运动图像获取单元202的描述所述。此外,能够经由图3所示的画面(例如,一个服务器名称框)来设置作为搜索目标的存储区域。要被设置作为搜索目标的存储区域包括,例如,HDD 104,服务器和SNS服务器。在步骤S401中,CPU 101能够识别作为搜索目标的存储区域。
在步骤S403中,CPU 101经由运动图像分析单元203分析在步骤S402中获取的运动图像数据。对运动图像数据的分析的细节如以上关于运动图像分析单元203的描述所述。
在步骤S404中,CPU 101经由帧获取单元204从在步骤S403中分析的运动图像数据中剪切帧,并且将剪切的帧作为图像数据存储在HDD 104中。用于从运动图像数据剪切帧的处理的细节如上面关于帧获取单元204的描述所述。
在步骤S405中,CPU 101确定针对作为搜索目标的存储区域中存储的所有运动图像数据是否完成了步骤S402至S404中的处理。如果确定处理还没有完成(步骤S405中的“否”),则处理返回到步骤S402,在步骤S402中,CPU 101获取尚未经过处理的运动图像数据。如果确定处理已经完成(步骤S405中的“是”),则处理进行到步骤S406。
在步骤S406中,CPU 101经由图像获取单元205获取存储在作为搜索目标的存储区域中的图像数据。此外,如关于获取运动图像数据的设置那样,能够经由图3所示的画面(例如服务器名称框)设置作为搜索目标的存储区域。要被设置作为搜索目标的存储区域包括,例如,HDD 104,服务器和SNS服务器。在步骤S401中,CPU 101能够识别作为搜索目标的存储区域。而且,在这种情况下获取的图像数据包括在步骤S401至S405的处理中通过从运动图像数据剪切帧而获取的图像数据。
在步骤S407中,CPU 101经由图像转换单元206执行图像数据的转换。图像数据的转换的细节如以上关于图像转换单元206的描述所述。
在步骤S408中,CPU 101经由图像分析单元207从步骤S407中转换的图像数据中获取特征量。特征量的例子包括焦点。用于检测边缘以获取关于焦点的特征量的方法的例子包括使用常用的索贝尔滤波器。
边缘的梯度,换句话说,亮度梯度,可以通过经由索贝尔滤波器检测边缘并将边缘的起点和终点之间的亮度差除以其起点和终点之间的距离来计算。通过计算图像中边缘的平均梯度所获得的结果,使得能够认为具有较大平均梯度的图像比具有较小平均梯度的图像更好对焦。然后,通过设置相对于梯度彼此不同的多个阈值,使得能够通过确定梯度等于或大于哪个阈值来输出聚焦量的评估值。
在本示例性实施例中,事先设置了两个不同的阈值,并且在“○”、“Δ”和“×”三个级别中确定聚焦量。例如,以如下这样的方式通过实验来事先设置阈值:希望用于相册的焦点的梯度被设置为级别“○”,焦点的容许梯度被设置为级别“Δ”,并且焦点的非容许梯度被设置为级别“×”。此外,例如,阈值的设置可以由例如相册创建应用的创建者提供,或者可以被配置为能够在用户界面上执行。
在步骤S409中,CPU 101经由图像分析单元207对在步骤S407中转换的图像数据中执行对象检测处理。首先,CPU 101从由在步骤S407中转换的图像数据表示的图像中检测人脸。可以使用已知的方法来处理脸部检测,并且,例如,可以使用从多个事先准备的弱分类器中生成强分类器的AdaBoost。在本示例性实施例中,可通过根据AdaBoost等生成的强分类器来检测人物(对象)的脸部图像。而且,CPU 101不仅获取脸部图像,而且还获取检测到的脸部图像的位置的左上坐标值和右下坐标值。获取这种两种类型的坐标使得CPU 101能够获取脸部图像的位置和脸部图像的尺寸。此外,CPU 101还能够通过使用AdaBoost执行脸部检测处理来获取关于检测到的对象的可靠性的信息。下面描述可靠性的细节。而且,在步骤S409中,CPU 101可以不仅通过脸部还通过用作检测目标的诸如动物的另一个对象(例如,狗或猫,花,食物,建筑物,静止物品或车辆)根据AdaBoost生成强分类器。这也使得CPU101能够检测除脸部以外的对象。在本示例性实施例中,在步骤S409中,CPU 101不仅执行用于检测脸部的处理,还执行用于检测动物和食物的处理。
在步骤S410中,CPU 101经由图像分析单元207执行个人识别处理。更具体地,CPU101通过在步骤S409中提取的脸部图像和针对每个个人ID存储在脸部字典数据库中的代表性脸部图像之间进行相似度的比较来执行个人识别。CPU 101确定在步骤S409中提取的脸部图像与每个代表性脸部图像之间的相似度,并且,将具有等于或大于阈值的相似度且具有最高相似度的代表性脸部图像的ID设置为在步骤S409中提取的人脸图像的ID。换句话说,CPU 101将与具有等于或大于阈值的相似度且具有最高相似度的代表性脸部图像相对应的人物识别为与在步骤S409中提取的脸部图像相对应的人物。此外,在步骤S409中提取的脸部图像与存储在脸部词典数据库中的每个代表性脸部图像之间的相似度小于阈值的情况下,CPU 101将新的个人ID分配给提取的脸部图像,并且将提取的脸部图像作为新人物向面部词典数据库登记。
关于在步骤S408至S410中获取的每个图像数据的图像分析信息500与用于识别每个图像数据的图像ID 501相关联地存储在诸如RAM 103或HDD 104之类的存储区域中。例如,如图5所示,在步骤S408中获取的图像拍摄日期和时间信息502和焦点确定结果504以及在步骤S409中检测到的脸部图像的数量506和位置信息507以表格形式存储。此外,针对在步骤S410中获取的每个个人ID分别存储关于脸部图像的位置信息。此外,由一个图像数据表示的一个图像可以包含多个人的脸部图像,并且在这种情况下,多个个人ID与表示包含多个人的脸部图像的图像的图像数据的图像ID 501相关联。而且,在一个图像中不包含脸部图像的情况下,无个人ID与表示不包含脸部图像的图像的图像数据的图像ID 501相关联。另外,虽然在本示例性实施例中针对人物的脸部图像来管理其数量和位置,但是也可以采用其他对象(例如,动物的脸部或食物)的数量和位置也被管理的配置。
图像属性503指示每个图像数据的属性。例如,作为从本地服务器获取的静止图像数据的图像数据具有“静止图像”的属性。此外,例如,在自从本地服务器获取的运动图像数据剪切之后存储的图像数据具有“运动图像”的属性。另外,例如,从SNS服务器获取的图像数据具有“SNS”的属性。以这种方式,属性可以是指示图像数据是从静止图像数据获取的还是从运动图像数据获取的信息,或者可以是指示存储图像数据的存储区域(例如,SNS服务器或HDD 104)的信息。因此,在本示例性实施例中,属性也可以被认为是指示图像数据的获取源的信息。此外,可以根据除了上述方法之外的方法来区分属性。而且,例如,可以以如下方式更加详细地区分每个属性:例如,在从通过用数字照相机拍摄照片而生成的静止图像数据获取的图像数据与从通过用智能设备拍摄照片而生成的静止图像数据获取的图像数据之间进行区分。而且,在本示例性实施例中,具有“SNS”属性的图像数据是从SNS服务器获取的静止图像数据。具有属性“SNS”的图像数据可以根据图像数据是从静止图像数据获取还是从运动图像数据获取而被详细区分。另外,可以用指示每个图像数据是否对应于每个属性的标志来管理每个图像数据的属性。
对象分类505表示由每个图像数据表示的图像中包含的对象的类别(类型)以及类别的可靠性。此外,CPU 101能够使用例如AdaBoost来检测被包含在由每个图像数据表示的图像中的对象。而且,此时,还检测由每个图像数据表示的图像中包含的对象的类别以及类别的可靠性。在AdaBoost中,用于区分模式的弱分类器被串行互连,形成一个强分类器。而且,使用AdaBoost的相册创建应用事先学习与对应于预定类别的图样一致的弱分类器。然后,在由某个图像数据表示的图像包含许多与对应于预定类别的图样一致的弱分类器的情况下,所述某个图像数据中的预定类别的对象的可靠性变高。此外,虽然这里已经描述了使用AdaBoost来进行对象检测和获取可靠性的示例,但是本示例性实施例不限于该示例。例如,也可以采用使用包括深度神经网络(DNN)的卷积神经网络(CNN)进行对象检测和获取可靠性的配置。
在本示例性实施例中,假设检测到三种类别(类型)“人物”、“动物”和“食物”的对象,并且对象分类505存储由每个图像数据表示的图像中检测到的对象的类别。换句话说,对象分类505是指示由每个图像数据表示的图像包含哪个类别的对象的信息。此外,这样的信息也可以用例如标志来管理。而且,如上所述,由于待检测的对象不限于三个类别“人物”、“动物”和“食物”,所以对象分类505还可以存储指示其他类别的信息,例如“花”,“建筑物”,“静止物品”和“车辆”。
类别的可靠性是指示由图像数据表示的图像中包含的对象可能被包括在哪个类别中的信息,并且具有较高可靠性的类别更可能是被包含在由图像数据表示的图像中的对象的类别。此外,可靠性可以是,例如,指示由图像数据表示的图像中包含的每个对象的尺寸的信息。在这种情况下,例如,具有高可靠性的类别的对象的尺寸大于具有低可靠性的类别的对象的尺寸。而且,关于与由图像数据表示的图像中未包含的对象相对应的类别的信息未被存储在对象分类505中。此外,关于类别的信息按可靠性的降序被存储在对象分类505中的帧TOP1、TOP2和TOP3中。另外,在由图像数据表示的图像中包含四个或更多类别的对象的情况下,可以提供诸如帧TOP4和TOP5之类的其它帧。
在步骤S411中,CPU 101确定针对作为搜索目标的存储区域中存储的所有图像数据是否完成了步骤S407至S410的处理。如果确定处理还没有完成(步骤S411中的“否”),则处理返回到步骤S406,在步骤S406中,CPU 101获取尚未经过处理的图像数据。如果确定处理已经完成(步骤S411中的“是”),则处理进行到步骤S412。
在步骤S412中,CPU 101经由图像分类单元208进行场景分割。场景分割是指将在步骤S401至S411中获取的所有图像数据按场景分割,并将分割后的图像数据作为多个图像组管理。更具体地,CPU 101基于从在步骤S408中获取的图像拍摄日期和时间信息计算的各个图像数据的图像拍摄日期和时间的时间差,将全部图像数据分割成多个图像组。此外,在下面的描述中,通过分割所有的图像数据(主图像组)而获得的每个图像组被称为“子图像组”。在本示例性实施例中,例如,CPU 101根据以下方法执行场景分割。首先,如果按图像拍摄日期和时间的升序在第N个拍摄图像数据的图像拍摄日期和时间与第(N+1)个拍摄图像数据的图像拍摄日期和时间之间的差等于或少于一天,则CPU 101执行以下操作。首先,如果按图像拍摄日期和时间的升序在第N个拍摄图像数据的图像拍摄日期和时间与第(N+1)个拍摄图像数据的图像拍摄日期和时间之间的差等于或大于16个小时,则CPU 101在第N个拍摄图像数据和第(N+1)个拍摄图像数据之间设置组的边界。而且,可能存在如下情况:在每个拍摄图像数据之间,按照图像拍摄日期和时间的升序的相邻的拍摄图像数据之间的图像拍摄日期和时间的差小于16个小时。在这种情况下,如果在一天拍摄的拍摄图像数据组中的第一个拍摄图像数据的图像拍摄日期和时间与最后一个拍摄图像数据的图像拍摄日期和时间之间的差小于4个小时,则CPU 101将这一天拍摄的拍摄图像数据组设置为一个子图像组。另一方面,可能存在这样的情况:这一天拍摄的拍摄图像数据组中的第一个拍摄图像数据的图像拍摄日期和时间与最后一个拍摄图像数据的图像拍摄日期和时间之间的差等于或大于4个小时。在这种情况下,如果这一天拍摄的拍摄图像数据的数量小于50(在一天拍摄的拍摄图像数量小于50),则CPU 101设置这一天拍摄的拍摄图像数据组作为一个子图像组。图6A示出了这样的拍摄图像数据的分组的示例。在图6A至图6C中,横坐标轴指示图像拍摄日期和时间(左侧越旧,右侧越新),纵坐标轴指示拍摄图像数据的数量。参照图6A,拍摄的图像数据组被分割成八个子图像组,其包括组601到608。在图6A中,每个箭头指示组的边界。此外,在场景分割方法的以上描述中使用的关于图像拍摄日期和时间的差的阈值以及关于拍摄图像数据的数量的阈值仅仅是示例,并不限于上述值。此外,通过分割获得的图像组被称为“分割图像组”,并且针对每个场景设置一个分割图像组。
在步骤S413中,CPU 101经由图像分类单元208进行场景分类。更具体地,CPU 101按照每种场景对通过在步骤S412中进行场景分割而获得的子图像组进行评分,并且,除了下述的场景分割的可靠性低的情况之外,将子图像组分类到具有最高得分的各个类型的场景中。此外,在下面的描述中,步骤S413中的评分操作被称为“场景分类评分”。在本示例性实施例中,假设场景的类型包括“旅行”、“日常生活”和“仪式”,并且描述了每个子图像组被分类到这些场景中的任何一个的示例。此外,使用场景分类表来进行场景分类评分,在该场景分类表中存储关于与各个类型的场景相对应的特征量的信息。
这里,描述事先存储在程序中的生成场景分类表的方法。首先,由程序的设计者收集事先确定被分类为“旅行”、“日常生活”和“仪式”的各个场景的多个图像数据组,并且针对收集到的图像数据组获取特征量。在这种情况下获取的特征量的例子包括图像拍摄时段、拍摄图像数量以及图像拍摄人数。图像拍摄时段是每个图像数据组中的第一个生成图像数据和最后一个生成图像数据之间的图像拍摄时间差。拍摄图像数量是每个图像数据组中的图像的数量。图像拍摄人数是由每个图像数据组表示的每个图像中包含的平均脸部数。结果,例如,对于包括事先确定为旅行场景的多个图像数据的一个图像数据组,获取包括图像拍摄时段、拍摄图像数量和图像拍摄人数的特征量。此外,特征量并不限于图像拍摄时段、拍摄图像数量和图像拍摄人数,并且也可以使用其他特征量,或者也可以仅使用这些特征量中的任何一个。
然后,对于事先收集的其他图像数据组,也进行诸如上述的图像拍摄时段、拍摄图像数量和图像拍摄人数之类的特征量的获取。接下来,基于从针对每个场景收集的多个图像数据组中获取的特征量,获得图像拍摄时段的平均值和标准偏差,拍摄图像数量的平均值和标准偏差,以及每一个图像的图像拍摄人数的平均值和标准偏差。以这种方式获得的值与各种类型的场景彼此相关联,从而生成指示每种类型场景的平均值和标准偏差的场景分类表。
在本示例性实施例中,假设图7所示的表700被用作场景分类表。在表700中,事先与场景ID 701相关联地登记图像拍摄时段702、拍摄图像数量703以及图像拍摄人数704中的每一个的平均值和标准偏差。在场景分类处理之前,CPU 101事先将表700存储在诸如ROM102或HDD104之类的存储区域中。此外,表700可以事先并入相册创建应用的程序中,或者可以事先并入相册创建应用之外的程序中。
这里,描述场景分类评分。在相册创建应用被激活之后,CPU 101针对每个子图像组计算图像拍摄时段、拍摄图像数量以及图像拍摄人数的各个特征量的得分,所述子图像组是通过在步骤S412中对由用户经由路径框302或服务器名称框指定的图像数据组进行场景分割而获得的。CPU101根据下面的式(1)和(2)使用图7所示的每个场景的平均值和标准偏差,针对每个子图像组计算图像拍摄时段、拍摄图像数量以及图像拍摄人数的得分及其平均得分。此外,将下式中的对应于预定类型场景的预定特征量的平均值和对应于预定类型场景的预定特征量的标准偏差登记在表700中。而且,特征量是针对三个特征项即图像拍摄时段、拍摄图像数量以及图像拍摄人数而获取的。因此,本示例中的特征项的数量是3。
首先,CPU 101根据式(1)计算针对各个类型的场景和各个特征量的子图像组的得分。
式(1)
与子图像组中的预定类型场景相对应的预定特征量的得分=50-|10×(与预定类型场景相对应的预定特征量的平均值-子图像组中的预定特征量)/与预定类型场景相对应的预定特征量的标准偏差|
由此,例如,在子图像组中,获取与“旅行”场景相对应的图像拍摄时段、拍摄图像数量以及图像拍摄人数的各个得分。此外,CPU 101不仅获取关于“旅行”场景的得分,还获取关于其他类型的场景的得分。
接下来,CPU 101根据式(2)对根据式(1)获得的各个得分进行平均,从而获取关于子图像组中的每种场景的得分。
式(2)
关于子图像组中的预定类型场景的得分=(与子图像组中的预定类型场景相对应的图像拍摄时段的得分+拍摄图像数量的得分+图像拍摄人数的得分)/特征项数量
由此,例如,在子图像组中,获取关于“旅行”、“日常生活”和“仪式”的各种场景的得分。此外,CPU 101针对每个子图像组执行场景分类评分。
以上述方式,针对每个子图像组获取“旅行”、“日常生活”和“仪式”的各个得分。然后,CPU 101将具有排名第一的得分的场景分类为相应的子图像组的场景。例如,与图6A所示的通过场景分割获得的场景5相对应的子图像组5被假定为具有36个小时的图像拍摄时段,300的拍摄图像数量,以及1.7的图像拍摄人数。然后,在子图像组5中,关于“旅行”的得分变成45.32,关于“日常生活”的得分变成18.38,关于“仪式”的得分变成-29.92,使得子图像组5被分类为“旅游”,这是具有最高得分的场景。此外,哪个子图像组被分类为以可区分的方式用场景ID管理的哪个场景。而且,在关于各个场景的得分中存在相同得分的情况下,CPU 101根据预定的优先排序将子图像组分类为具有相同得分的任何一个场景。具体地,CPU 101将子图像组分类为具有相同得分的场景中的优先较高的场景。此外,例如,在本示例性实施例中,优先排序被假定为“日常生活”>“仪式”>“旅行”的顺序。优先排序不限于该顺序,而且,例如,可以将优先排序配置为由用户可设置的。
步骤S414中,CPU 101确定对于在步骤S412中获取的全部子图像组是否完成了步骤S413中的场景分割。如果确定场景分割还没有完成(步骤S414中的“否”),则处理返回到步骤S413,在步骤S413中,CPU 101针对尚未经过场景分割的子图像组执行场景分割。如果确定场景分割已经完成(步骤S414中的“是”),则处理进行到步骤S415。
在步骤S415中,CPU 101经由图像评分单元210进行主要角色设置。对于由用户指定的图像组执行主要角色设置,并且根据两种(自动和手动)类型的设置方法中的任一种来进行主要角色设置。例如,CPU 101能够基于在步骤S410中进行的个人识别的结果和在步骤S412中进行的场景分割的结果,获取:图像数据组中的每个个人ID的出现次数,每个场景中的每个个人ID的出现次数,以及每个个人ID出现的场景的次数。在选择自动设置方法的情况下,CPU 101基于这些信息自动设置主要角色,而不依赖于用户的指定。在本示例性实施例中,在由用户指定的图像数据组被分割成用于各个场景的多个分割图像数据组的情况下,CPU 101将多个场景中出现次数大的个人ID设置为主要角色ID。此外,在图像数据组是单个场景的情况下,CPU 101将单个场景中出现次数大的个人ID设置为主要角色ID。而且,在用户指定主要角色指定图标304的情况下,CPU101将经由主要角色信息输入单元209指定的个人ID发送到图像评分单元210。在用户指定个人ID的情况下,以上述方式自动设置的主要角色ID被忽略,并且CPU 101将由用户指定的个人ID设置为主要角色ID。此外,这个设置被称为“手动设置”。
在步骤S416中,CPU 101经由图像评分单元210进行图像评分。在步骤S416中的图像评分是指为每个图像数据分配从下面描述的角度评估的得分(评分),并且如下所述在选择表示要在模板中布设的图像的图像数据时被参考。而且,在本示例性实施例中,对于通过从运动图像数据剪切帧而获取的图像数据,CPU 101还考虑由运动图像分析单元203进行的分析的结果来分配得分。这里,参照图8A和8B以及图10来描述评分方法。
图10示出了用于图像数据的布局的模板组。包括在模板组中的多个模板中的每一个对应于每个双页扩展。模板1001是单个模板,并且包含主区块1002以及子区块1003和1004。主区块1002是模板1001中的主区块(其中布设(布置)有图像的帧),并且,其尺寸大于子区块1003和1004的尺寸。此外,由分类为相同类型的场景的多个图像数据表示的图像可以被布设在单个模板中,或者由分类为不同类型的场景的多个图像数据表示的图像可以被布设在单个模板中。在步骤S416中,CPU 101进行用于将与图像数据所属的场景类型相对应的主区块的得分和子区块的得分两者都分配给该图像数据的处理,作为图像评分处理。
在图像评分中,使用区块特征表,在该区块特征表中,针对每种类型的场景存储关于要在主区块和子区块中使用的图像的特征量的信息。
这里,描述用于生成区块特征表的方法。图8A示出了针对“旅行”、“日常生活”和“仪式”类型的场景中的每一种总结在主区块和子区块中使用的图像数据的特征的表。首先,被分类到各种类型场景的图像数据中,由程序的设计者收集被确定为符合要在主区块中使用的图像特征的多个图像数据。而且,还收集确定为符合要在子区块中使用的图像特征的多个图像数据。由此,收集符合图8A所示的特征的多个图像数据。然后,由图像分析单元207提取每个所收集的图像数据中的特征量,例如,脸部图像的数量,每个脸部图像的位置以及每个脸部图像的尺寸。然后,针对每个场景类型和每个区块类型(主区块和子区块中的每一个)计算提取的特征量的平均值和标准偏差,从而生成区块特征表。此外,在图像评分之前,区块特征表被事先存储在诸如ROM 102或HDD 104之类的存储区域中。而且,区块特征表可以事先并入相册创建应用的程序中,或者可以事先并入相册创建应用之外的程序中。
此外,如图8A所示,根据各个类型的区块采用不同的评分标准。例如,在某个子图像组的场景类型为“旅行”的情况下,对于主区块,包含在子图像组中的图像中的包含人物或风景的图像被分配高得分,对于子区块,包含人物的脸部的特写或侧面的图像被分配高得分。而且,在某个子图像组的场景类型为“日常生活”的情况下,对于主区块,包含在子图像组中的图像中的包含人物的脸部的特写或侧面的图像被分配高得分,对于子区块,包含人物或风景的图像被分配高得分。另外,在某个子图像组的场景类型为“仪式”的情况下,对于主区块,包含在子图像组中的图像中的包含距离相近的两个人物的图像被分配高得分,对于子区块,包含大量人的图像被分配高得分。这样,用于评估的特征,换句话说,评估标准,根据场景和区块的类型而不同。
在图像评分中,CPU 101使用下式(3)针对与图像数据所属的场景类型相对应的模板中的每个区块对图像数据进行评分。此外,根据在步骤S413中进行的场景分类的结果,可以识别由用户指定的图像数据组的每个图像数据属于哪种类型的场景。而且,在下式(3)中,与预定类型场景和预定区块相对应的预定特征量的平均值以及与预定类型场景和预定区块相对应的预定特征量的标准偏差事先向区块特征表登记。另外,针对三个特征项,即脸部图像的数量、每个脸部图像的位置以及主要角色ID的每个图像的尺寸来获取特征量。因此,在本示例中,特征项的数目是3。
式(3)
关于图像数据的对应于预定区块的预定特征量的得分=50-|10×(对应于图像数据所属的场景类型和预定区块的预定特征量的平均值-图像数据的预定特征量)/对应于图像数据所属的场景类型和预定区块的预定特征量的标准偏差|
由此,例如,获取关于被分类为“旅行”场景的图像数据的与主区块相对应的“主要角色ID的脸部图像的数量”的得分。此外,CPU 101还不仅获得关于与主区块相对应的特征量的得分,而且获取关于与子区块相对应的特征量的得分。另外,CPU 101还不仅获取关于与“主要角色ID的脸部图像的数量”相对应的特征量的得分,而且获取关于与“每个脸部图像的位置”和“每个脸部图像的尺寸”相对应的特征量的得分。
接下来,CPU 101根据式(4)对根据式(3)获得的各个得分进行平均,从而获取关于图像数据的预定区块的得分。
式(4)
关于图像数据的预定区块的得分=(与图像数据所属的场景类型和预定区块相对应的脸部图像的数量的得分+每个脸部图像的位置的得分+每个脸部图像的尺寸的得分)/特征项的数量
由此,针对图像数据进行关于主区块和子区块两者的得分的评分。
此外,在本示例性实施例中,CPU 101还基于由相册创建条件指定单元201指定的模式,向以上述方式计算的得分添加得分。更具体地,例如,CPU 101根据用模式指定部分307指定的模式和对每个图像数据进行的对象分类的结果来添加得分。例如,在相册的模式被设置为“人物”的情况下,如果在图5所示的对象分类505中包括类别“人物”,则CPU 101添加得分,并且如果类别“人物”不包括在其中,则CPU 101不添加得分。此外,此时要添加的得分可以根据类别“人物”的可靠性或可靠性的顺序而改变。关于“动物”或“食物”的模式,也以类似于“人物”模式的方式添加得分。而且,在指定了多个模式的情况下,CPU 101针对各个设置模式添加得分。更具体地,例如,如果相册的模式被设置为“人物”和“动物”,则CPU101在类别“人物”和/或类别“动物”被包括在对象分类505中的情况下添加得分。另外,如果在对象分类505中包括类别“人物”和类别“动物”,则CPU 101添加在类别“人物”被包括在其中的情况下添加的得分和类别“动物”被包括在其中的情况下添加的得分两者。
此外,CPU 101对由用户指定的图像数据组中的每个图像数据进行图像评分。通过图像评分分配的得分用作在稍后阶段的步骤S423中进行的图像选择处理中的选择标准。如上所述,即使对于相同的图像数据,选择标准也根据图像数据被分类到的场景而变化。此外,由于期望要用于相册的图像对焦,所以可以针对图5所示的表中的焦点特征量为“○”的图像ID的图像添加预定得分。此外,由于具有大量像素的图像在相册中布局时锯齿少,因此可以针对表示具有大量像素的图像的图像数据添加预定的得分。通过采用这种配置,在下面描述的图像选择处理中,CPU 101能够优先于表示不包含与相册模式相对应的类别的对象的图像的图像数据来选择表示包含该对象的图像的图像数据。
图8B示出了通过布局评分获得的得分的结果的例子。表800表示针对每个图像ID801的图像数据对主区块和子区块分别进行评分的结果,并且针对每个图像ID 801的图像数据登记得分802。例如,在图8B中,图像ID“1”的图像数据对于主区块被给予20个点,并且,图像ID“2”的图像数据对于主区块被给予45个点。因此,这指示图像ID“2”的图像数据更接近用户对于主区块的确定标准。
此外,在本示例性实施例中,在已经以上述方式设置了得分的情况下,CPU 101将与由运动图像分析单元203进行的分析结果相对应的得分添加到通过从运动图像数据剪切而获得的图像数据的对于主区块和子区块的两个得分。更具体地,CPU 101添加与由运动图像分析单元203进行的评分处理(对象检测,尺寸识别,微笑确定,闭眼确定,抖动和模糊确定,以及亮度确定)相对应的得分。另外,CPU 101通过参照图5所示的表中的图像属性503,能够识别被评分的图像数据中的哪些图像数据是通过从运动图像数据剪切而获取的图像数据。
另外,在仅对通过从运动图像数据剪切而获取的图像数据添加点数时,该图像数据的得分有可能变成比从静止图像数据获取的图像数据的得分一律高。因此,例如,CPU101可以从通过从运动图像数据剪切而获取的所有图像数据的各个得分中减去添加到通过从运动图像数据剪切而获取的各图像数据的得分的平均值,或者可以将得分的平均值添加到从静止图像数据获取的所有图像数据。采用这种配置,对于通过从运动图像数据剪切而获取的多个图像数据当中添加了较高得分的图像数据,添加比对从静止图像数据获取的图像数据添加的得分高的得分。换句话说,以这样的方式进行评分,即,通过从运动图像数据剪切而获取的各图像数据当中的添加了较高得分的图像数据被更优先地选择。
此外,用于由图像评分单元210进行的评估的评估轴和用于由运动图像分析单元203进行的评估的评分轴彼此不同。更具体地,例如,用于评估的各个特征量彼此不同。因此,采用添加与由运动图像分析单元203进行的分析的结果相对应的得分的配置,使得能够考虑从运动图像数据获取的图像数据的独特适当性来评分。因此,评估中可以反映图像数据的获取源的差异。
在本示例性实施例中,对图像获取单元205获取的所有图像数据进行由图像评分单元210进行的评估。然后,针对图像获取单元205所获取的各图像数据当中的从运动图像数据获取的图像数据,添加基于针对运动图像的评估轴(基于运动图像分析单元203进行的分析的结果)的得分。然而,本示例性实施例不限于该配置,而且,例如,根据从运动图像数据获取的图像数据和从静止图像数据获取的图像数据,可以使用完全不同的评估轴。换句话说,图像评分单元210可以对从静止图像数据获取的图像数据进行仅基于关于图像评分单元210的上述评估轴的评分,并且可以对从运动图像数据获取的图像数据进行仅基于关于运动图像分析单元203的上述评估轴的评分。
在步骤S417中,CPU 101确定对图像获取单元205获取的所有图像数据是否完成了步骤S416中的图像评分。如果确定图像评分尚未完成(步骤S417中的“否”),则处理返回到步骤S416,在步骤S416中,CPU 101对尚未进行图像评分的图像数据进行图像评分。如果确定图像评分已经完成(步骤S417中的“是”),则处理进行到步骤S418。
在本示例性实施例中,CPU 101经由图像布局单元215布设由多个模板(多个扩展)的每一个中的多个场景中的每一个中包括的各个图像数据表示的图像,因此生成多个布局图像。因此,多个场景的数量和多个模板的数量(扩展的预定数量)可以彼此一致。
因此,在步骤S418中,CPU 101确定在步骤S412中通过场景分割所获取的场景的数量(子图像组的数量)是否等于由扩展数量输入单元211输入的扩展的数量(在扩展数量框305中输入的扩展的数量)。如果确定场景的数量不等于扩展的数量(步骤S418中的“否”),则处理进行到步骤S419。如果确定场景的数量等于扩展的数量(步骤S418中的“是”),则处理进行到步骤S422。例如,如果如图6A所示场景的数量是8,并且在扩展数量输入单元211中输入的数字是8,则处理进行到步骤S422。
在步骤S419中,CPU 101经由扩展分配单元212确定在步骤S412中通过场景分割获取的场景的数量是否小于由扩展数量输入单元211输入的扩展的数量。如果确定场景的数量不小于(大于)扩展的数量(步骤S419中的“否”),则处理进行到步骤S421。如果确定场景的数量小于扩展的数量(步骤S419中的“是”),则处理进行到步骤S420。例如,如果如图6A所示场景的数量是8,并且在扩展数量输入单元211中输入的数字是10,则场景的数量小于扩展的数量,使得处理进行到步骤S420。
在步骤S420中,CPU 101经由扩展分配单元212进行子场景分割。子场景分割是指在“分割的场景的数量<扩展的数量”的情况下,进一步分割通过场景分割而获得的每个场景。这里,描述了如图6A所示的分割场景的数量是8,而指定的扩展的数量是10的情况。图6B示出了对图6A中所示的场景分割的结果进行的子场景分割的结果。这里,分割的一些间隔被设置为较小的间隔,并在由虚线箭头指示的部分被划分,使得分割的场景的数量被设置为10个。
描述了分割的标准。CPU 101在图6A所示的分段场景中搜索其中图像数据的数量大的分割部分。这里,为了将分割的场景的数量增加2个,即从8个增加到10个,CPU 101确定图像数据的数量大的两个分割部分。换句话说,CPU 101可从与包括最大数量的图像数据的分割图像数据组相对应的场景中按顺序指定进一步分割的场景。关于与包括相同数量的图像数据的分割图像数据组相对应的场景,CPU 101选择被包括在对应的分割图像数据组中的图像数据之间的图像拍摄日期和时间的差异的最大值中的较大者的场景之一。如果还没有能够被选择的场景,则例如,CPU 101可以优先地将与包括在较早时间生成的图像数据的分割图像数据组相对应的场景进一步分割。
在图6A中,被包括在对应的分割图像数据组中的图像数据的数量大的场景从较大数量起依次是场景5、场景1、和场景2。由于在场景1和场景2的图像数据的数量相等的同时,在对应的分割图像数据组中的从第一个生成的图像数据到最后一个生成的图像数据的时间差中场景2比场景1大,所以CPU 101将场景2设置为分割目标。因此,在图6A所示的情况下,CPU 101分割场景5和场景2中的每一个。
首先,描述分割场景2的方法。场景2在图像数据的数量上具有两个山脉,并且被包括在两个山脉中的图像数据在具有各个山脉的图像拍摄日期中不同。因此,CPU 101在与图像拍摄日期切换的部分相对应的图6B中的由虚线箭头指示的部分处分割场景2。接下来,描述分割场景5的方法。场景5在图像数据的数量上具有三个山脉,并且与场景2一样,被包括在三个山脉中的图像数据在具有各个山脉的图像拍摄日期中不同。虽然场景5具有图像拍摄日期切换的两个部分,但是在这种情况下,CPU101以图像拍摄日期为单位分割场景5,使得分割场景之间的图像数据的数量的差异变小。因此,CPU 101在图6B中的由虚线箭头指示的部分处分割场景5。
以上述方式,CPU 101将分割图像数据组的数量(即,场景的数量)从8个改变为10。具体地,在场景的再分割中,如果图像拍摄日期中不同的图像数据被包括在所选择的场景中时,则进行分割使得将图像拍摄日期不同的各个图像数据组被设置为新的场景。然后,如果图像拍摄日期延续三天或更多天,则进行分割使得被包括在每个分割场景中的图像数据的数量的差异变得最小,并且具有相同图像拍摄日期的图像被包括在同一个场景中。此外,虽然这里描述了在不同的图像拍摄日期之间的部分处进行分割的例子,但是在作为分割目标的场景中的图像数据的图像拍摄日期为一天的情况下,在这一天中的图像拍摄时间的时间差变为最大的部分处进行分割。上述过程使得场景的数量与扩展的数量一致。此外,分割产生的场景可以再次被分类,或者可以接管分割之前获得的场景的分类。
在步骤S421中,CPU 101经由扩展分配单元212进行场景整合。场景整合指的是在“分割的场景的数量>相册的扩展数量”的情况下整合分割的场景(子图像组)。具体地,CPU101以场景数量和扩展数量一致的这种方式进行场景整合。这里,作为示例描述了如图6A所示的分割场景的数量是8,而指定的扩展的数量是6的情况。图6C示出了对图6A中所示的场景分割的结果进行的场景整合的结果。在由虚线表示的部分之前和之后的场景在两个地方处被整合,使得分割的场景的数量被设置为6。
描述整合的标准。首先,CPU 101检测在分割的场景中图像数据的数量小的场景。这里,为了将场景的数量从8个减小到6个,CPU 101检测图像数据的数量小的两个场景。在图6A中,被包括在对应的分割图像数据组中的图像数据的数量小的场景从较小数量起依次是场景8、场景3和场景7。此外,场景3和7在图像数据的数量上是相等的。
接下来,CPU 101将被包括在对应的分割图像数据组中的图像数据的数量最小的场景8设置为整合目标。接下来,由于场景3和场景7在对应的分割图像数据组中包括的图像数据的数量上相等,所以CPU 101选择将哪个场景设置为整合目标。这里,由于与场景7相邻的场景8是用于整合的目标(由于场景7和场景8将被整合),因此CPU 101将场景3设置为整合目标。
接下来,CPU 101确定是否将作为整合目标的子图像数据组与其中被包括在对应的分割图像数据组中的图像数据的图像拍摄日期和时间较早的场景或者其中其图像拍摄日期和时间较晚的场景整合。此时,CPU 101将与作为整合目标的场景相邻的两个场景当中的被包括在对应的分割图像数据组中的图像数据的图像拍摄日期和时间的时间差较小的场景设置为整合目的地。因此,在图6A所示的情况下,对于场景3,CPU 101将与其相邻的场景2和4中的一个场景设置为整合目的地。这里,当对场景3与较早场景2和较晚场景4中的每一个之间的对应的分割图像数据组中包括的图像数据的图像拍摄日期和时间的时间差进行比较时,场景3和场景4之间的时间差较小。因此,CPU 101确定将场景3与场景4整合。从而,这里,在图6C中由虚线指示的部分处进行场景整合。
在只有一个相邻场景诸如场景8的情况下,CPU 101将仅一个相邻场景设置为整合目的地。
以这种方式,用在图6C中用虚线指示的部分之前和之后的场景进行场景整合。此外,场景整合包括,例如,根据整合场景来更新指示包括在场景中的图像文件的信息。此外,虽然在本示例性实施例中,其中图像拍摄日期和时间的差异小的子图像组被整合在一起,但是本示例性实施例不限于该配置。例如,可以将作为整合目标的子图像组与具有少量拍摄图像的子图像组整合。
在步骤S422中,CPU 101经由扩展分配单元212进行扩展分配。根据步骤S418至S421,使得子图像组的数量和扩展的指定数量彼此相等。在本示例性实施例中,CPU 101对第一扩展进行以具有第一图像拍摄日期和时间的子图像组开始的分配。因此,CPU 101按照图像拍摄日期和时间的顺序将子图像组分配给相册的各个双页扩展。由此,可以创建按照图像拍摄日期和时间的顺序布置子图像组的相册。此外,如下所述,在一次双页扩展中,图像不需要按照图像拍摄日期和时间的顺序布置。
在步骤S423中,CPU 101经由图像选择单元213进行图像选择。这里,参照图9A,9B,9C,9D,9E,9F,9G,9H和9I来描述CPU 101从分配给某个扩展的分割图像数据组中选择四个图像数据的示例。此外,扩展是两页的区域,但是,第一扩展和最后一个扩展是一页的区域。
图9A示出分配给扩展的分割图像数据组中的具有最早的图像拍摄日期和时间的图像数据与具有最晚的图像拍摄日期和时间的图像数据之间的图像拍摄日期和时间的时间差(分割图像拍摄时段),换句话说,分割图像数据组的图像拍摄时段。此外,这里,按照主区块和子区块的顺序来进行图像数据的选择。这里,假定对应于扩展的模板包含一个主区块1002(图10)。因此,要选择作为第一图像数据的图像数据是用于主区块的图像数据。CPU101选择在与图9B所示的分割图像拍摄时段相对应的多个图像数据当中的在步骤S416中分配的对于主区块具有最高得分的图像数据(1),作为用于主区块的图像数据。
要选择作为第二或后续图像数据的图像数据是用于子区块的图像数据。根据如下所述的方法以不集中于分割图像拍摄时段的一部分的这种方式进行第二或后续图像数据的选择。首先,如图9C所示,CPU 101将分割的图像拍摄时段划分为两个时段。接下来,如图9D所示,CPU 101从在不选择第一图像数据的分割图像拍摄时段(图9D中的由实线指示的时段)中生成的多个图像数据中选择第二图像数据。此外,CPU 101选择在不选择第一图像数据的分割图像拍摄时段中生成的多个图像数据中的对于子区块具有最高分数的图像数据(2),作为第二图像数据。接下来,如图9E所示,CPU 101将图9D所示的每个分割图像拍摄时段分成两个时段。然后,如图9F所示,CPU 101从在不选择第一图像数据和第二图像数据中的任一个的分割图像拍摄时段(图9F中的由实线指示的时段)中生成的多个图像数据中选择第三图像数据。此外,CPU 101选择在不选择第一图像数据和第二图像数据中的任一个的分割图像拍摄时段中生成的多个图像数据中的对于子区块具有最高分数的图像数据(3),作为第三图像数据。然后,CPU 101选择在不选择第一图像数据、第二图像数据和第三图像数据中的任一个的分割图像拍摄时段中生成的多个图像数据中的对于子区块具有最高分数的图像数据,作为第四图像数据。
接下来,描述这样的示例,其中,在不选择第一图像数据、第二图像数据和第三图像数据中的任一个的分割图像拍摄时段中没有生成图像,因此无法从分割图像拍摄时段选择第四图像数据。这里,如图9G所示,假设在尚未选择图像数据的分割图像拍摄时段(图9G中由阴影线表示的时段)中没有生成图像数据。在这种情况下,如图9H所示,CPU 101将每个分割图像拍摄时段划分成两个时段。接下来,如图9I所示,CPU 101从除了被识别为在其中不包含生成的图像数据的分割图像拍摄时段以外的且尚未选择图像数据的分割图像拍摄时段(在图9I中用实线表示的时段)中生成的图像数据中选择第四条图像数据。此外,CPU101选择在分割图像拍摄时段中生成的多个图像数据中的对于子区块具有最高得分的图像数据(4),作为第四图像数据。
图11是更详细地示出图像选择单元213的配置的图。图像选择单元213从分配给作为处理目标的扩展的子图像组中选择图像数据。
个数设置单元1101设置要从分配给作为处理目标的扩展的子图像组中选择的图像数据的个数。换句话说,个数设置单元1101设置将要布置在用于作为处理目标的扩展的布局图像中的图像的数量。此外,例如,此时设置的个数可以是用户经由例如图3所示那样的设置画面进行输入而设置的数量,也可以是事先针对每一个扩展设置的数量。
图像组获取单元1102从由图像获取单元205获取的图像组中获取要分配给作为处理目标的扩展的子图像组。而且,图像组获取单元1102获取:关于每个图像数据的图像拍摄日期和时间信息,关于图像类型的信息,关于对象分类的信息,对于主区块的得分,以及对于子区块的得分。关于图像类型的信息能够通过参考图5所示的图像属性503来获取。另外,能够通过参考图5所示的对象分类505来获取关于对象分类的信息。
循环计数器1103管理用于从由图像组获取单元1102获取的子图像组中选择图像数据的处理(图像选择处理)被执行的次数。此外,具体地,要由循环计数器1103计数的图像选择处理是在步骤S1205至S1218(图12)中执行的处理,并且在下面描述其细节。由此管理的次数用于确定要使用的得分轴,并且还用于设置将分配给作为处理目标的扩展的子图像组的图像拍摄时段划分成多少个图像拍摄区间。此外,在本示例性实施例中,由于每次执行一次循环就选择要布置在模板中的一个图像,因此由循环计数器1103计数的次数等于所选择的图像数据的数量。
得分轴设置单元1104根据由循环计数器1103计数的处理次数来设置用于图像选择处理的得分轴。“设置使用的得分轴”是指“设置基于使用哪个得分轴分配的得分”,并且在这里设置用于主区块的得分轴(用于主区块的评估标准)和用于子区块的得分轴(用于子区块的评估标准)中的任何一个。此外,在由循环计数器1103计数的处理次数为0的情况下,得分轴设置单元1104参考基于用于主区块的得分轴分配的得分,来选择要布置在主区块中的图像(主图像)。另一方面,在由循环计数器1103计数的处理次数为1以上的情况下,得分轴设置单元1104参考基于用于子区块的得分轴分配的得分来选择要布置在子区块中的图像(子图像)。此外,在存在多个主区块的情况下,即使由循环计数器1103计数的处理次数为1次以上,得分轴设置单元1104也可以参考基于用于主区块的得分轴分配的得分。而且,得分轴设置单元1104可以例如根据事先被选择为将被布置在模板中包括的区块中的任何一个区块中的图像数据(事先选择的图像数据)的图像数据的个数,来改变要设置的得分轴。在这种情况下,例如,在事先选择的图像数据的个数为0的情况下,得分轴设置单元1104参考基于用于主区块的得分轴分配的得分来选择要布置在主区块中的图像(主图像)。另一方面,在事先选择的图像数据的个数为1以上的情况下,得分轴设置单元1104参考基于用于子区块的得分轴分配的得分来选择要布置在子区块中的图像(子图像)。此外,甚至在该配置中,在存在多个主区块的情况下,即使事先选择的图像数据的个数为1以上,得分轴设置单元1104也可以参考基于用于主区块的得分轴分配的得分。
划分单元1105将由图像组获取单元1102获取的子图像组的图像拍摄时段划分为预定数量的区间。首先,划分单元1105基于关于由图像组获取单元1102获取的子图像组的图像拍摄时间信息,识别分配给作为处理目标的扩展的子图像组的图像拍摄开始时间和图像拍摄结束时间,从而计算图像拍摄时段。更具体地,划分单元1105识别被包括在子图像组中的多个图像数据当中的最早生成的图像数据的图像拍摄时间和最晚生成的图像数据的图像拍摄时间,由此计算图像拍摄时段。接下来,划分单元1105基于由循环计数器1103计数的处理次数将所计算的图像拍摄时段划分成多个区间。在本示例性实施例中,当由循环计数器1103计数的处理次数由C表示时,假定划分单元1105将图像拍摄时段大致等分为2C个区间。此外,本示例性实施例不限于该配置,而且,例如,划分单元1105可以将图像拍摄时段大致等分为C个区间。
图像属性设置单元1106根据由循环计数器1103计数的处理次数,设置要在图像选择处理中选择的图像数据的属性。另外,在图像选择处理的至少一次中,假设本示例性实施例优先于从静止图像数据获取的图像数据来选择从运动图像数据获取的图像数据。而且,从存储在本地服务器中的静止图像数据获取的图像数据是属性为“静止图像”的图像数据,并且从存储在本地服务器中的运动图像数据获取的图像数据是属性为“运动图像”的图像数据。由此,可以在相册中布置各种图像。此外,上传到SNS服务器的图像数据(具有“SNS”属性的图像数据)是由用户有意识地选择和上传的图像数据,并且很可能是用户喜欢的图像数据。因此,在图像选择处理的至少一次中,假定本示例性实施例优先于具有“静止图像”属性的图像数据来选择具有“SNS”属性的图像数据。因此,在本示例性实施例中,在由循环计数器1103计数的处理次数为0的情况下,图像属性设置单元1106以从具有“SNS”属性的各图像数据选择图像数据的这种方式将“SNS”设置为指定属性。然后,在由循环计数器1103计数的处理次数为1的情况下,图像属性设置单元1106以从具有“运动图像”属性的各图像数据选择图像数据的这种方式将“运动图像”设置为指定属性。然后,在由循环计数器1103计数的处理次数为2以上的情况下,图像属性设置单元1106以从具有“静止图像”属性的各图像数据选择图像数据的这种方式将“静止图像”设置为指定属性。采用这种配置,可以控制要布置在每个区块中的图像数据的属性。而且,在本示例性实施例中,具有属性“SNS”或“运动图像”的图像数据在具有“静止图像”属性的图像数据之前被选择。因此,例如,即使要在模板中布置少量的图像的情况下,也可以更可靠地将具有属性“SNS”或“运动图像”的图像数据所表示的图像布置在模板中。另外,例如,在由循环计数器1103计数的处理次数为2以上的情况下,图像属性设置单元1106可以被配置为不设置指定属性。此外,例如,可以根据图像选择处理中事先选择的图像数据的数量来进行图像选择处理中要选择的图像数据的属性的设置。例如,在这种情况下,在图像选择处理中事先选择的图像数据的数量是0的情况下,图像属性设置单元1106以从具有“SNS”属性的各图像数据选择图像数据的这种方式将“SNS”设置为指定属性。然后,在图像选择处理中事先选择的图像数据的数量是1的情况下,图像属性设置单元1106以从具有“运动图像”属性的各图像数据选择图像数据的这种方式将“运动图像”设置为指定属性。然后,在图像选择处理中事先选择的图像数据的数量是2以上的情况下,图像属性设置单元1106以从具有“静止图像”属性的各图像数据选择图像数据的这种方式将“静止图像”设置为指定属性。另外,例如,在图像选择处理中事先选择的图像数据的数量是2以上的情况下,图像属性设置单元1106可以被配置为不设置指定属性。
此外,由循环计数器1103计数的处理次数或与事先选择的图像数据的个数相对应的属性不限于上述配置中的处理次数或个数。在以上描述中,按照“SNS”、“运动图像”和“静止图像”的顺序设置图像数据的属性,但是可以按照例如“运动图像”、“SNS”和“静止图像”的顺序设置图像数据的属性。此外,可以存在不指定图像数据的属性的这种设置。在这种情况下,指定属性被表示为“无”,并且以可选择具有任何属性的图像数据的这种方式被设置。因此,以不根据指定属性而根据指定对象或得分的设置来选择图像数据的这种方式进行设置。
而且,如上所述,还存在这样的配置,其中,例如,具有属性“SNS”的图像数据根据图像数据是从静止图像数据获得的图像数据(具有“静止图像”的属性)还是从运动图像数据获取的图像数据(具有“运动图像”的属性)来被详细地区分。在该配置中,在由循环计数器1103计数的处理次数为0的情况下,图像属性设置单元1106以从具有“SNS”和“运动图像”属性的各图像数据选择图像数据的这种方式将“SNS”和“运动图像”设置为指定属性。然后,在由循环计数器1103计数的处理次数为1的情况下,图像属性设置单元1106以从具有“SNS”和“静止图像”属性的各图像数据选择图像数据的这种方式将“SNS”和“静止图像”设置为指定属性。然后,在由循环计数器1103计数的处理次数为2的情况下,图像属性设置单元1106以从具有“本地”和“运动图像”属性的图像数据选择图像数据的这种方式将“本地”和“运动图像”设置为指定属性。然后,在由循环计数器1103计数的处理次数为3以上的情况下,图像属性设置单元1106以从具有“本地”和“静止图像”属性的图像数据选择图像数据的这种方式将“本地”和“静止图像”设置为指定属性。这样,可以采用优先于从SNS服务器获取的图像数据来选择从本地服务器获取的图像数据的配置。
区间信息设置单元1107针对由划分单元1105进行划分而获得的每个区间将由图像组获取单元1102获取的子图像组中包含的各图像数据划分为组,并获取关于在每个区间中生成的图像数据的信息,例如,图像拍摄信息和得分。
模式设置单元1108设置由相册创建条件指定单元201指定的相册的模式(“人物”,“动物”和“食物”之一)。模式设置单元1108以包含与设置的模式相对应的对象的图像被布置在模板中的方式进行控制。
图像选择单元1109基于得分轴设置单元1104设置的得分轴、模式设置单元1108设置的模式、以及由区间信息设置单元1107管理的每个区间中的图像数据的得分,来进行图像选择处理。更具体地,图像选择单元1109从包括在每个区间中的多个图像数据中选择具有最高得分的一个图像数据,所述多个图像数据中的每个表示包含指定对象的图像并具有指定属性。指定对象被设置为不仅仅依赖于得分而选择图像数据,并且在指定对象被设置的情况下,随后的图像选择处理使得表示包含指定对象的图像的图像数据被选择。例如,在指定对象是具有“动物”类别的对象的情况下,在随后的图像选择处理中,选择表示包含具有“动物”类别的对象的图像的图像数据。此外,可以将多个对象设置为指定对象。而且,图像选择单元1109不再选择事先选择的图像数据。换句话说,图像选择单元1109选择除了事先选择的图像数据之外的新的图像数据。
此外,此时参考的得分是基于由得分轴设置单元1104设置的得分轴分配的得分。如上参照图9A至图9I所述,图像数据不是从没有图像的区间选择的。而且,尽管在本示例性实施例中,从每个区间选择了每个表示包含指定对象的图像并具有指定属性的各图像数据当中的具有最高得分的一个图像数据,但是本示例性实施例不限于此配置。例如,可以从每个区间选择每个表示包含指定对象的图像并具有指定属性的各图像数据当中的具有较高得分的多个图像数据。此外,图像选择单元1109将包含对应于指定对象的类别直到对象分类505的帧TOP3的图像数据视为表示包含指定对象的图像的图像数据。而且,即使图像数据包含对应于指定对象的类别直到对象分类505的帧TOP3,在类别的可靠度等于或小于阈值的情况下,图像选择单元1109不需要将图像数据视为表示包含指定对象的图像的图像数据。
相似性确定单元1110确定由图像选择单元1109选择的图像数据所表示的图像是否与事先选择为表示要被布置在模板中的图像的图像数据的图像数据所表示的图像相似。如果相似度等于或大于阈值,则相似性确定单元1110确定两个图像彼此相似,并且,如果相似度小于阈值,则相似性确定单元1110确定这两个图像彼此不相似。被确定为不相似的图像数据被保留,并且被确定为相似的图像数据被丢弃。相似性确定单元1110能够使用诸如模式匹配或SHIFT算法之类的已知方法来获取由各个图像数据表示的图像之间的相似度。例如,在由0至100的范围输出由各个图像数据表示的图像之间的相似度的情况下,相似性确定单元1110假定,相似度越接近100,两个图像彼此相似。因此,如果由各个图像数据表示的图像之间的相似度等于或大于阈值,则相似性确定单元1110确定两个图像彼此相似,并且,如果由各个图像数据表示的图像之间的相似度小于阈值,则相似性确定单元1110确定两个图像彼此不相似。此外,可以根据表示作为比较目标的图像的多个图像数据之间的图像拍摄时间的差异来改变用于相似性确定的确定阈值。例如,在由于例如连续图像拍摄而导致图像拍摄时间差小(例如,15秒或更少)的情况下,可以将确定阈值设置为低值(例如,60),在其他情况下,可以将确定阈值设置为高值(例如,80)。
整合单元1111从由相似性确定单元1110确定为不相似的多个图像数据当中指定表示要被布置在模板中的图像的图像数据。更具体地,整合单元1111从由相似性确定单元1110确定为不相似的多个图像数据中选择排名最高的图像数据,并且将所选择的图像数据指定为表示要被布置在模板中的图像的图像数据。此外,在存在由相似性确定单元1110确定为不相似的仅一个图像数据的情况下,选择这个图像数据。此外,本示例性实施例不限于该配置,而且,例如,可以采用从与包括事先选择的图像数据的区间不相邻的区间选择图像数据的配置。
图像管理单元1112将由整合单元1111指定作为表示要被布置在模板中的图像的图像数据的图像数据,作为事先选择的图像数据进行管理。而且,图像管理单元1112确定事先选择的图像数据的个数是否已经达到由个数设置单元1101设置的期望的图像数据的个数。此外,重复图像选择处理,直到由图像管理单元1112管理的事先选择的图像数据的个数达到期望的图像数据的个数。此外,此时,以防止再次选择事先选择的图像数据的方式进行控制。
虽然这里描述了被选择作为主图像的图像数据和被选择作为子图像的图像数据包含相同的对象的例子,但也可以采用其中这样的图像数据包含各个不同的对象的配置。例如,由于在循环次数为0的情况下选择主图像,因此可以在循环次数为0时和循环次数为非0时之间改变指定对象。采用该配置,被选择为主图像的图像数据和被选择为子图像的图像数据可以包含各个不同的对象。
由图12A和12B组成的图12是示出步骤S423中的图像选择处理的细节的流程图。例如,通过CPU 101将与存储在HDD 104中的相册创建应用相对应的程序加载到ROM 102或RAM103上并执行该程序来实现图12所示的流程图。在图12的流程图中,从分配给作为处理目标的一个扩展的子图像组中选择图像数据。因此,在相册被配置有多个扩展的情况下,图12的流程图中所示的处理被执行与扩展数量相对应的次数。
在步骤S1201中,CPU 101经由个数设置单元1101设置要从分配给作为处理目标的扩展的子图像组中选择的图像数据的个数。该处理的细节如上面在个数设置单元1101的描述中所述。
在步骤S1202中,CPU 101经由图像组获取单元1102从由图像获取单元205获取的图像组中获取分配给作为处理目标的扩展的子图像组。该处理的细节如上面在图像组获取单元1102的描述中所述。
在步骤S1203中,CPU 101经由模式设置单元1108设置相册的模式。该处理的细节如上面在模式设置单元1108的描述中所述。此外,在步骤S1203中的处理已经被执行的情况下,CPU 101将相册的模式切换到在步骤S1203中选择的模式,并执行后续处理。
在步骤S1204中,CPU 101经由循环计数器1103对步骤S423中的图像选择处理已经被执行的次数进行计数。在初始状态下,由于还未执行图像选择处理,因此由循环计数器1103计数的计数数目为0。此外,在本示例性实施例中,在由循环计数器1103计数的计数数目为0的情况下,在之后执行的图像选择处理中选择主图像,并且,在由循环计数器1103计数的计数数目是1以上的情况下,在随后的图像选择处理中选择子图像。
在步骤S1205中,CPU 101经由得分轴设置单元1104根据由循环计数器1103计数的计数数目来设置要在随后的图像选择处理中使用的得分轴。该处理的细节如上面在得分轴设置单元1104的描述中所述。
在步骤S1206中,CPU 101经由图像属性设置单元1106根据由循环计数器1103计数的计数数目来设置要在随后的图像选择处理中选择的图像数据的属性。该处理的细节如上面在图像属性设置单元1106的描述中所述。
在步骤S1207中,CPU 101经由划分单元1105将由图像组获取单元1102获取的子图像组的图像拍摄时间划分为预定数量的区间。该处理的细节如上面在划分单元1105的描述中所述。
在步骤S1208中,CPU 101经由区间信息设置单元1107针对按照由划分单元1105划分的子图像组的图像拍摄时间管理的每个区间,将由图像组获取单元1102获取的子图像组中包括的多个图像数据划分成组。然后,CPU 101获取关于在每个区间中生成的图像数据的信息,例如,图像拍摄信息和得分。
在步骤S1209中,CPU 101确定在按照由划分单元1105划分的子图像组的图像拍摄时间管理的区间中的目标区间中生成的图像数据是否已经被选择。如果确定已经选择了在目标部分中生成的图像数据(步骤S1209中的“是”),则处理进行到步骤S1216。如果确定尚未选择在目标部分中生成的图像数据(步骤S1209中的“否”),则处理进行到步骤S1210。此外,在第一循环中,由于子图像组的图像拍摄时间尚未被划分,所以目标区间是子图像组的整个图像拍摄时段。
在步骤S1210中,CPU 101确定是否事先设置了指定对象。例如,在一些情况下,在下面描述的步骤S1221中通过指定对象的更新处理将指定对象改变为“无”。因此,在CPU101确定指定对象被改变为“无”并因此指定对象未被设置的情况下(步骤S1210中的“否”),处理进行到步骤S1213,并且,在指定对象未被改变为“无”并因此指定对象被事先设置(步骤S1210中的“是”)的情况下,处理进行到步骤S1211。
在步骤S1211中,CPU 101确定在目标区间中生成的多个图像数据当中是否存在表示包含指定对象的图像并具有指定属性的图像数据。此外,CPU 101能够通过参考关于在目标区间中生成的每个图像数据的图像分析信息500来进行步骤S1211中的确定。更具体地说,CPU 101确定对于在目标区间中生成的每个图像数据,该图像数据是否是表示包含指定对象的图像并具有指定属性的图像数据。然后,如果有至少一个图像数据被确定为表示包含指定对象的图像并具有指定属性的图像数据,则步骤S1211中的确定结果变为“是”(步骤S1211中的“是”),处理进行到步骤S1212。此外,CPU 101确定其中在图像分析信息500中的对象分类505的区域中包括指定对象的类别的图像数据是表示包含指定对象的图像的图像数据。而且,CPU 101确定其中在图像分析信息500中的图像属性503的区域中包括指定属性的图像数据是具有指定属性的图像数据。
如果不存在表示包含指定对象的图像并具有指定属性的图像数据,则步骤S1211中的确定结果变为“否”(步骤S1211中为“否”),则处理进行到步骤S1216,而没有从目标区间中生成的多个图像数据中选择图像数据。
此外,可以根据由循环计数器1103计数的处理次数或事先选择的图像数据的数量来改变指定对象的类别(类型)。在本示例性实施例中,在由循环计数器1103计数的处理次数是初始值(0)的情况下,假定与在步骤S1203中设置的模式相对应的类别的对象保留,直到在步骤S1221中改变指定对象。
在步骤S1212中,CPU 101从目标区间中生成的多个图像数据中选择一个图像数据。该处理的细节如上面在图像选择单元1109的描述中所述。此外,这里,从每个表示包含指定对象的图像并且每个具有指定属性的多个图像数据中选择具有最高得分的一个图像数据。因此,在本示例性实施例中,例如,将优先于表示不包含指定对象的图像并具有高得分的图像数据来选择表示包含指定对象的图像并具有低得分的图像数据。而且,在本示例性实施例中,例如,将优先于不具有指定属性但具有高得分的图像数据来选择具有指定属性但具有低得分的图像数据。因此,在将“SNS”设置为指定属性的情况下,将优先于从非SNS服务器获取的图像数据来选择从SNS服务器获取的图像数据。
这样,本示例性实施例不是仅仅通过参考得分来选择图像数据,而是通过参考指定对象和指定属性来选择图像数据。采用该配置,如果存在符合子图像组中的条件的图像数据,则本示例性实施例能够更可靠地选择表示包含指定对象的图像的图像数据。此外,在本示例性实施例中,在由循环计数器1103计数的处理次数为0的情况下,指定对象是与用户设置的模式相对应的类别的对象。因此,CPU 101能够输出通过优先于不包含对象的图像来将包含与用户设置的模式相对应的类别的对象的图像布置在模板中而生成的布局图像。换句话说,本示例性实施例能够更可靠地输出其中包含与用户设置的模式相对应的类别的对象的图像被布设的布局结果。而且,如果存在符合子图像组中的条件的图像数据,则本示例性实施例能够更可靠地选择指定属性的图像数据,并且还能够更可靠地输出其中布设由指定属性的图像数据所表示的图像的布局结果。
此外,CPU 101能够通过参考关于每个图像数据的图像分析信息500来识别由每个图像数据表示的图像是否包含指定对象,或者识别每个图像数据的属性或得分。换句话说,如果图像分析信息500中包括指示图像包含指定对象的信息(关于与指定对象相对应的类别的信息),则CPU101能够识别由图像数据表示的图像包含指定对象。而且,如果图像分析信息500中包括指示图像数据具有指定属性的信息(关于指定属性的信息),则CPU 101能够识别图像数据具有指定属性。因此,在步骤S1212中,CPU 101选择其中在目标区间中生成的每个图像数据的对象类别505的区域中包括指定对象的类别的图像数据,并且指定属性被包括在其图像属性503的区域中。
在步骤S1213中,CPU 101从目标区间中生成的多个图像数据中选择一个图像数据。此外,这里,由于指定对象没有被事先设置,因此不参考指定对象。因此,从仅具有指定属性的多个图像数据中选择具有最高得分的一个图像数据。
而且,在步骤S1212和S1213中,如果不存在符合条件的图像数据,则不选择任何一个图像数据,并且处理进行到下一个步骤。
在步骤S1214中,CPU 101确定由在步骤S1212或S1213中的处理中选择的图像数据所表示的图像是否与在前一个循环中的下述的步骤S1218中的处理中事先选择的图像数据所表示的图像相似。该处理的细节如上面在相似性确定单元1110的描述中所述。如果确定两个图像彼此不相似(步骤S1214中的“否”),则处理进行到步骤S1216,同时CPU 101保持在步骤S1212或S1213中进行的选择。如果确定两个图像彼此相似(在步骤S1214中为“是”),则在步骤S1215中,CPU 101取消在步骤S1212或S1213中进行的选择,换句话说,不保留在步骤S1212或S1213中选择的图像数据,并且,处理进行到步骤S1216。此外,在没有选择任何一个图像数据的情况下,省略步骤S1214中的处理,并且,处理进行到步骤S1216。
在步骤S1216中,CPU 101确定是否已经以由划分单元1105划分的子图像组的图像拍摄时间管理的所有区间为目标,并且已经对其进行了步骤S1212或S1213中的处理。如果CPU 101确定已经以所有区间为目标并且已经对其进行了图像选择处理(步骤S1216中的“是”),则处理进行到步骤S1217。另一方面,如果确定不是所有区间都已经作为目标并且没有对其进行图像选择处理(步骤S1216中的“否”),则CPU 101选择还没有作为目标的区间之一,并然后再次进行步骤S1209和后续步骤中的处理。
在步骤S1217中,CPU 101确定是否已经通过以所有区间作为目标选择了至少一个图像数据,并且已经对其进行了图像选择处理。如果CPU101确定至少一个图像数据已经被选择(步骤S1217中的“是”),则处理进行到步骤S1218,并且,如果没有选择任何一个图像数据(步骤S1217中的“否”),则处理进行到步骤S1221。
在步骤S1221中,CPU 101进行指定对象的更新。此外,更新后获得的指定对象的内容没有特别的限制,而且可以被适当地设置。例如,可以根据事先设置的优先排序来更新指定对象,或者可以将主要被包含在由分配给作为处理目标的扩展的子图像组所表示的多个图像中的对象更新为指定对象。而且,指定对象的设置可以被设置为“无”。另外,在不需要更新的情况下(在使用与上次相同的指定对象来进行图像选择处理的情况下),可以省略步骤S1221中的处理。
在步骤S1222中,CPU 101进行指定属性的更新。而且,可以适当地设置更新后获得的指定属性。例如,可以根据事先设置的优先排序来更新指定属性,或者可以将主要被包含在由分配给作为处理目标的扩展的子图像组所表示的多个图像中的属性更新为指定属性。而且,指定属性的设置可以被设置为“无”。另外,在不需要更新的情况下(在使用与上次相同的指定属性来进行图像选择处理的情况下),可以省略步骤S1222中的处理。此后,处理进行到步骤S1209,并且基于在步骤S1221或S1222中更新的信息来进行图像选择处理。
这样,由于如果进行步骤S1221和S1222中的至少一个,则改变作为搜索目标的图像数据的条件,所以CPU 101变成可以选择新的图像数据。此外,在已经进行了步骤S1221或S1222中的信息更新的情况下,CPU 101将已经使用在更新之前获得的信息所针对的区间视为还没有作为目标的区间,并且再次进行步骤S1209和后续步骤中的处理。
此外,在本示例性实施例中,在步骤S1217中确定没有选择任何一个图像数据的情况下,首先,CPU 101不更新指定对象,而是更新指定属性,来重新进行图像选择处理。然后,在即使在重复更新指定属性之后也没有选择任何一个图像数据的情况下,CPU 101进行指定对象的更新。
在步骤S1218中,CPU 101经由整合单元1111从在步骤S1214中确定为不相似并保持被选择的各图像数据当中指定表示将要布置在模板中的图像的图像数据。该处理的细节如上面在整合单元1111的描述中所述。
在步骤S1219中,CPU 101经由图像管理单元1112管理在步骤S1218中被指定为表示将被布置在模板中的图像的图像数据的图像数据作为事先选择的图像数据。该处理的细节如上面在图像管理单元1112的描述中所述。
在步骤S1220中,CPU 101确定由图像管理单元1112管理的事先选择的图像数据的个数是否已达到个数设置单元1101设置的期望的图像数据的个数。如果确定事先选择的图像数据的个数已经达到期望的图像数据的个数(步骤S1220中的“是”),则CPU 101结束图像选择处理,然后,处理进行到步骤S424。另一方面,如果确定事先选择的图像数据的个数尚未达到期望的图像数据的个数(步骤S1220中的“否”),则处理返回到步骤S1204,其中CPU101将循环计数器1103的计数递增,从而重新进行图像选择处理。当计数递增并且处理的次数C的值增加时,图像拍摄时段被划分成比上一次更大的数量的区间。在本示例性实施例中,具体地,子图像组的图像拍摄时段被划分为上一次两倍的数量的区间。更精细的管理区间使得能够选择上一次在步骤S1211中未被选择的图像数据。而且,在本示例性实施例中,由于图像数据不是从包括事先选择的图像数据的区间中选择的,因此在接近事先选择的图像数据的图像拍摄日期和时间的日期和时间处生成的图像数据不可能被选择。因此,可以选择多种图像数据。
返回参照图4,在步骤S424中,CPU 101经由模板设置单元214获取与由相册创建条件指定单元201指定的模板信息相对应的多个模板。
在步骤S425中,CPU 101经由图像布局单元215确定作为处理目标的扩展的图像布局。此时,首先,CPU 101从在步骤S424中获取的多个模板中确定适合于在步骤S423中选择的图像数据的模板。参照图13和图14来描述用于确定模板的方法。
图13是用于执行本示例性实施例中的存储在相册创建应用中的用于确定模板的处理的软件的框图。
选择图像信息获取单元1301获取在步骤S423中选择的图像数据的个数和关于图像数据的信息。关于图像数据的信息是指,例如,由图像数据表示的图像的宽度和高度,关于图像数据的图像拍摄日期和时间信息,以及图像数据的得分。
模板选择单元1302从在步骤S424中获取的模板当中选择具有数量与在步骤S423中选择的图像数据的个数一致的区块的模板。
选择图像排序单元1303按照图像拍摄日期和时间的顺序对在步骤S423中选择的图像数据进行排序。
模板选择单元1304从由模板选择单元1302选择的模板当中选择适合于主图像的模板。在本示例性实施例中,具有较早的图像拍摄日期和时间的图像数据被假定布设在靠近模板的左上角的区块中,并且具有较晚的图像拍摄日期和时间的图像数据被假定为布设在靠近模板的右下角的区块中。因此,首先,模板选择单元1304从由模板选择单元1302选择的模板当中选择其中主区块的位置对应于表示主图像的图像数据的图像拍摄日期和时间的顺序的模板。更具体地,例如,在表示主图像的图像数据的图像拍摄日期和时间的顺序是第三的情况下,选择其中主区块是全部区块中的从左起的第三区块的模板。此外,由于选择图像排序单元1303按照图像拍摄日期和时间的顺序对图像数据进行排序,所以模板选择单元1304能够识别表示主图像的图像数据的图像拍摄日期和时间的顺序。而且,模板选择单元1304从以上述方式选择的模板当中最后选择用于在其中布置主图像的区块的纵横比与主图像的纵横比一致(或接近)的模板。
模板选择单元1305从由模板选择单元1304选择的模板当中选择适合于子图像的模板。更具体地,首先,模板选择单元1305选择其中子区块的位置与表示子图像的图像数据的图像拍摄日期和时间的顺序相对应的模板。而且,模板选择单元1305从以上述方式选择的模板当中最后选择其中子区块的纵横比与子图像的纵横比一致(或接近)的模板。
图14是示出本示例性实施例中的用于确定要用于生成布局图像的模板的处理的流程图。例如,通过CPU 101将对应于存储在HDD 104中的相册创建应用的程序加载到ROM102或RAM 103上并执行该程序来实现图14所示的流程图。
首先,在步骤S1401中,CPU 101经由选择图像信息获取单元1301获取在步骤S423中选择的图像数据的个数和关于所选择的图像数据的信息。此外,这里,假定在步骤S423中选择的图像数据的个数是3。该处理的细节如上面在选择图像信息获取单元1301的描述中所述。
在步骤S1402中,CPU 101经由模板选择单元1302选择具有数量与在步骤S423中选择的图像数据的个数一致的区块的模板。此外,由于在步骤S423中选择的图像数据的个数是3,因此选择具有数量为3个区块的模板。这里,作为具有数量为3个区块的模板,假设选择图10中示出的模板(1-1)至(4-4)。
在步骤S1403中,CPU 101经由选择图像排序单元1303按照图像拍摄日期和时间的顺序对在步骤S423中选择的图像数据进行排序。此外,这里,假定分别由三个图像数据表示的每个图像的图像拍摄日期和时间按照如图10中所示的箭头(A)所示的这种顺序。而且,这里,图像1005被假定是用于主区块的图像(主图像),并且图像1006和图像1007中的每一个被假定是用于子区块的图像(子图像)。
在步骤S1404中,CPU 101经由模板选择单元1304从由模板选择单元1302选择的模板当中选择适合于主图像的模板。该处理的细节如上面在模板选择单元1304的描述中所述。如上所述,在本示例性实施例中,具有较早的图像拍摄日期和时间的图像数据被假定布设在靠近模板的左上角的区块中,并且具有较晚的图像拍摄日期和时间的图像数据被假定为布设在靠近模板的右下角的区块中。然后,由于作为主图像的图像1005是图像拍摄日期和时间最晚并且是纵向取向的图像,因此,这里,选择图10中所示的模板(3-1)到(3-4)。
在步骤S1405中,CPU 101经由模板选择单元1305从在步骤S1404中选择的模板当中选择适合于子图像的模板。该处理的细节如上面在模板选择单元1305的描述中所述。作为子图像的图像1006是图像拍摄日期和时间最早并且是纵向取向的图像。而且,作为子图像的图像1007是图像拍摄日期和时间第二最晚并且是横向取向的图像。因此,选择图10中所示的模板(3-2)。此外,此时,还指定了子图像布置在其中的子区块。
这样,在步骤S425中,CPU 101确定要用于生成布局图像的模板,并确定在模板的哪个区块布设哪个图像。更具体地,CPU 101将关于所选择的模板中包括的区块的信息和与要在各个区块中布设的图像相对应的图像数据彼此相关联地进行管理。
在步骤S426中,CPU 101经由图像校正单元217进行图像校正。此外,CPU 101在从校正条件输入单元216输入图像校正的开启的设置的情况下进行图像校正。要进行的图像校正的例子包括亮度校正、红眼校正和对比度校正。而且,在从校正条件输入单元216输入图像校正的关闭的设置的情况下,CPU 101不进行图像校正。也能够对例如沿着短边具有1200个像素并且已经被转换为sRGB的颜色空间的图像数据进行图像校正。
在步骤S427中,CPU 101经由布局信息输出单元218生成布局信息。更具体地,CPU101将关于在步骤S425中选择的模板的区块的信息以及已经进行了步骤S426中的图像校正的与各个区块相对应的图像数据彼此相关联地管理。此外,这里要使用的图像是与在步骤S407中生成并在步骤S408至S417中使用的转换图像不同的图像。然后,CPU 101生成其中图像被布设在模板中的位图数据。此时,当进行布设时,CPU 101使得经过布设的每个图像的倍率根据关于每个对应的区块的尺寸信息而改变或不改变。
在步骤S428中,CPU 101确定对于所有的扩展是否完成了步骤S423至S427的处理。如果确定处理还没有完成(步骤S428中的“否”),则处理返回到步骤S423,然后,CPU 101针对尚未作为处理目标的扩展进行步骤S423至S427中的处理。如果确定处理已经完成(步骤S428中的“是”),则自动布局处理结束。
当自动布局处理结束时,CPU 101基于所生成的布局信息在显示器105上显示其中图像布置在模板中的布局图像。此外,此时,CPU 101可以显示用于创建一个相册的多个布局图像。而且,CPU 101可以将生成的布局信息发送到打印机,从而打印布局图像。
这样,在本示例性实施例中,CPU 101根据用户指定的相册的模式来改变要用于布局的图像。更具体地,CPU 101优先于不包含对象的图像将包含与用户指定的相册的模式相对应的对象的图像布置到至少一个区块中。由此,可以生成包含与用户指定的相册的模式相对应的对象的布局图像。此外,在本示例性实施例中,根据在运动图像的分析期间获取的运动量或得分来改变用于对通过从运动图像剪切而获取的图像数据进行评分或选择的方法。这使得能够使用运动图像的分析结果进行图像选择,并且在布局中反映运动图像的独特适当性。
<相册的编辑>
当自动布局处理结束时,CPU 101在显示器105上显示针对每个扩展生成的布局图像。在本示例性实施例中,假设允许用户可选地编辑完成的布局图像。例如,在各个区块中布置的图像中存在用户希望改变的图像的情况下,用户用鼠标107点击用户希望改变的图像。之后,用户选择要布置的图像而不是用户希望改变的图像,从而可以新布置用户可选地选择的图像而不是被点击的图像。
此外,在本示例性实施例中,用于调整在编辑之后要获得的相册中的每个对象的出现频率的UI 2001(例如,图20所示的UI 2001)被显示在用于布局图像的编辑画面中。此外,这样的编辑画面由相册创建应用提供。在UI 2001中,显示与生成的相册(在编辑之前获得的相册)的模式相对应的内容。更具体地,显示用于调整在编辑之后要获得的相册中的包含与相册的模式相对应的对象的图像的出现频率(图像被选择为将被布置在模板中的图像的频率)的条。例如,在所生成的相册的模式是“动物”的情况下,显示用于调整在编辑之后要获得的相册中包含“动物”的对象的图像的出现频率的条2004。此外,在本示例性实施例中,假设显示用于调整在编辑之后要获得的相册中的包含“人物”的对象的图像的出现频率的条2002,而不管相册的模式如何。而且,虽然在本示例性实施例中,用于调整包含除“人”之外的对象的图像的出现频率的条被配置为仅在相册的模式不是“人”的情况下显示,但是本示例性实施例不限于该配置。例如,可以采用不管相册的模式如何都显示这种条的配置。
在下文中,将详细描述使用UI 2001编辑相册的方法。这里,以所生成的相册的模式是“动物”的情况作为示例来描述该方法。
允许用户通过进行用于移动手柄2003或手柄2005的输入来调整在编辑之后要获得的相册中的包含与每个条相对应的对象的图像的出现频率。在本示例性实施例中,事先准备三种设置值,即“较频繁”(最大值),“正常”(中间值)和“较不频率”(最小值),并且,根据对应于用户的输入的设置值(对应于手柄2003或手柄2005的位置的设置值)来调整每个图像的出现频率。当用户按下OK按钮2006时,基于设置的条件编辑相册。因此,基于所设置的条件再次进行自动布局处理。具体地,重新进行步骤S416至S428中的处理。此外,此时,适当地再次使用在编辑之前获得的相册的创建期间在步骤S401至S415的处理中获取的各种信息。当用户按下取消按钮2007时,出现频率的调整被取消,从而UI 2001被关闭。而且,例如,在要再次进行的自动布局处理中,可以重新进行步骤S423至S428中的处理。在这种情况下,在步骤S423的图像选择处理中,参考在编辑之前获得的相册的创建期间在步骤S416中分配的得分。
此外,用于设置包含与每个条相对应的对象的图像的出现频率的方法不限于上述配置。例如,可以采用从下拉列表中选择设置值的配置。而且,设置值可以不是“较频繁”、“正常”和“较不频繁”,而是例如数字、标记或其他表达。另外,设置值并不限于最大值、中间值和最小值的三种,也可以是分类更细的设置值。
图21是示出在每个设置值中的编辑之后获得的相册中的单个双页扩展布局图像的图。
区域2104指示要在主区块中布置的图像的类型,并且,区域2105和2106分别指示要在子区块中布置的图像的类型。标志“人物+动物”指示包含人物和动物两种对象的图像。标志“人物”指示包含人物对象但不包含动物对象的图像。指示“动物”指示包含动物对象但不包含人物对象的图像。指示“东西”指示既不包含人物对象也不包含动物对象的图像。
如表2101所示,在“人物”的设置值和“动物”的设置值均为“较频繁”的情况下,包含在布局图像中的全部图像是“人物+动物”类型的图像。而且,在“人物”的设置值为“正常”并且“动物”的设置值为“较频繁”的情况下,在主区块中布置“人物+动物”类型的图像,并且,在各个子区块中布置“动物”类型的图像。另外,在“人物”的设置值为“较不频繁”以及“动物”的设置值为“较频繁”的情况下,包含在布局图像中的全部图像是“动物”类型的图像。
此外,在“人物”的设置值为“较频繁”并且“动物”的设置值为“正常”的情况下,在主区块中布置“人物+动物”类型的图像,并且,在各个子区块中布置“人物”类型的图像。而且,在“人物”的设置值为“较频繁”并且“动物”的设置值为“较不频繁”的情况下,包含在布局图像中的全部图像是“人物”类型的图像。
此外,在“人物”的设置值和“动物”的设置值都为“正常”的情况下,在主区块中布置“人物+动物”类型的图像,并且,在各个子区块中布置“人物”类型的图像和“动物”类型的图像。而且,在“人物”的设置值为“正常”并且“动物”的设置值为“较不频繁”的情况下,在主区块中布置“人物”类型的图像,并且,在各个子区块中布置“东西”类型的图像。另外,在“人物”的设置值为“较不频繁”并且“动物”的设置值为“正常”的情况下,在主区块中布置“动物”类型的图像,并且,在各个子区块中布置“东西”类型的图像。此外,在“人物”的设置值和“动物”的设置值都为“较不频繁”的情况下,包含在布局图像中的全部图像是“东西”类型的图像。
此外,要被布置在各个图样中的图像的类型不限于上述配置的图像的类型,而且,要被布置在各个图样中的图像的类型仅需要彼此不同。
例如,在布局图像中可以包括其中未设置要布置的图像的类型的区块。在这种情况下,可以在区块中布置任何类型的图像,并且,例如,在其中布置尚未被选择的图像中具有最高得分的图像。
而且,虽然在图21中要用于在每个图样中生成布局图像的模板的类型相同,但是本示例性实施例不限于该配置。由于在每个图样中要选择的图像数据不同,因此可以在每个图样中适当地选择适合于所选图像数据的模板。
以上述方式,在本示例性实施例中,可以根据用户设置的对象的各个设置值来改变编辑之后获得的相册中包括的各个对象的数量。换句话说,可以根据用户设置的对象的各个设置值的组合来改变每个对象被包括在编辑之后获得的布局图像中包括的多个图像中的比例。此外,在本示例性实施例中,不仅可以改变图像本身,而且可以改变编辑之后获得的相册中包括的图像的类型。换句话说,可以根据用户设置的对象的各个设置值以包括不同类型的图像的方式来创建相册。
图16是示出在重新布设相册时执行的处理的流程图。例如,通过CPU101将与存储在HDD 104中的相册创建应用相对应的程序加载到ROM 102或RAM 103上并执行该程序来实现图16所示的流程图。图16的流程图所示的处理在如下的时候开始:在经由UI 2001的画面接收到来自用户的编辑内容的输入之后,CPU 101接收来自用户的对相册的重新布设指令(编辑指令)(当OK按钮2006被按下时)。此外,在相册的重新布设期间,指定对象根据经由UI2001设置的设置值而改变。
在步骤S1601中,CPU 101经由图像评分单元210根据经由UI 2001从用户接收的编辑内容进行图像评分。更具体地,CPU 101根据各个类别的设置值来增加或减少在步骤S416的描述中所述的上述图像评分方法中分配给各个图像数据的得分。例如,CPU 101将预定得分添加到包含具有“较频繁”设置值的类别的对象的图像数据的得分,并且从包含具有“较不频繁”设置值的类别的对象的图像数据的得分中减去预定得分。此外,CPU 101不增加或减小包含具有“正常”设置值的类别的对象的图像数据的得分。
步骤S1602至S1607中的处理类似于步骤S417至S422中的处理,因此省略描述。
在步骤S1608中,CPU 101经由图像选择单元213进行图像选择。参照图12描述在重新布设期间进行的图像选择处理。
图12是示出步骤S1608中的图像选择处理的细节的流程图。例如,通过CPU 101将与存储在HDD 104中的相册创建应用相对应的程序加载到ROM 102或RAM 103上并执行该程序来实现图12所示的流程图。在图12的流程图中,从分配给作为处理目标的一个扩展的子图像组中选择图像数据。因此,在相册被配置有多个扩展的情况下,图12的流程图中所示的处理被执行与扩展数量相对应的次数。
此外,在本示例性实施例中,根据用户经由UI 2001设置的对象的各个设置值和由循环计数器1103计数的计数数目来设置要在图像选择处理中选择的图像数据的类型。此外,如上所述,在本示例性实施例中,由循环计数器1103计数的计数数目对应于事先选择的图像数据的个数。更具体地,根据用户经由UI 2001设置的对象的各个设置值和由循环计数器1103计数的计数数目来设置指定对象和排除对象。在排除对象被设置的情况下,在随后的图像选择处理中不选择包含排除的对象的图像数据。
在循环计数器1103计数的计数数目为0的情况下,在图像选择处理中选择主图像。因此,CPU 101以如下方式设置指定对象和排除对象:选择与用户设置的每个对象的设置值相对应的类型的主图像。例如,如图21所示,在“人物”的设置值和“动物”的设置值都是“较频繁”的情况下,或者,在“人物”的设置值是“正常”并且“动物”的设置值是“较频繁”的情况下,在主区块中布置“人物+动物”类型的图像。因此,“人物”的对象和“动物”的对象都被设置为指定对象。此外,在“人物”的设置值为“较不频繁”并且“动物”的设置值为“正常”的情况下,在主区块中布置“动物”类型的图像。因此,将“动物”的对象设置为指定对象,并且将“人物”的对象设置为排除对象。而且,在“人物”的设置值为“正常”并且“动物”的设置值为“较不频繁”的情况下,在主区块中布置“人物”类型的图像。因此,将“人物”的对象设置为指定对象,并且将“动物”的对象设置为排除对象。另外,在“人物”的设置值和“动物”的设置值都为“较不频繁”的情况下,在主区块中布置“东西”类型的图像。因此,“人物”的对象和“动物”的对象都被设置为排除对象。此时,除被设置为排除对象的对象以外的对象(这里,“食物”的对象)可以被设置为指定对象。此外,虽然在本示例性实施例中,预定值被设置为“正常”,将具有等于或大于预定值的设置值的对象设置为指定对象,并且具有小于预定值的设置值的对象被设置为排除对象,但是本示例性实施例不限于该配置。仅需要采用根据设置值的组合来改变要布置的图像的类型的配置。
此外,在循环计数器1103计数的计数数目为1以上的情况下,在图像选择处理中选择子图像。因此,CPU 101以如下方式设置指定对象和排除对象:选择与用户设置的每个对象的设置值相对应的类型的子图像。例如,如图21所示,在“人物”的设置值和“动物”的设置值都是“较频繁”的情况下,将“人物+动物”类型的图像布置在相应的子区块中。因此,没有设置排除对象,并且,“人物”的对象和“动物”的对象都被设置为指定对象。而且,在“人物”的设置值为“较频繁”并且“动物”的设置值为“正常”的情况下,在各个子区块中布置“人物”类型的图像。因此,将“人物”的对象设置为指定对象,并且将“动物”的对象设置为排除对象。另外,在“人物”的设置值为“正常”并且“动物”的设置值为“较频繁”的情况下,或者,在“人物”的设置值为“较不频繁”并且“动物”的设置值为“较频繁”的情况下,在各个子区块中布置“动物”类型的图像。因此,将“动物”的对象设置为指定对象,并且将“人物”的对象设置为排除对象。此外,在“人物”的设置值和“动物”的设置值都为“较不频繁”的情况下,在各个子区块中布置“东西”类型的图像。因此,没有设置指定对象,并且,“人物”的对象和“动物”的对象都被设置为排除对象。此时,除被设置为排除对象的对象以外的对象(这里,“食物”的对象)可以被设置为指定对象。
以上述方式,可以根据用户经由UI 2001设置的对象的各个设置值来改变要被布置在各个区块中的图像数据的类型。
步骤S1201至S1209中的处理类似于在编辑之前获得的相册的创建期间执行的处理,因此省略描述。
在步骤S1210中,CPU 101确定是否事先设置了指定对象或排除对象。虽然在相册的编辑期间以上述方式设置了指定对象或排除对象,但是在一些情况下,可以不设置指定对象或排除对象。这些情况包括,例如,在尚未被选择的图像数据之中不存在表示包含指定对象并且不包含排除对象的图像的图像数据的情况。而且,这些情况包括,例如,选择表示要布置在未设置将要布置什么类型的图像的区块中的图像的图像数据的情况。该处理的细节类似于在编辑之前获得的相册创建期间执行的处理的细节。
在步骤S1211中,CPU 101确定在目标区间中生成的多个图像数据当中,是否存在表示包含指定对象并且不包含排除对象的图像并且具有指定属性的图像数据。更具体地,CPU 101确定在目标区间中生成的每个图像数据是否为表示包含指定对象并且不包含排除对象的图像且具有指定属性的图像数据。然后,如果确定存在表示包含指定对象并且不包含排除对象的图像且具有指定属性的至少一个图像数据(步骤S1211中的“是”),则处理进行到步骤S1212。如果确定不存在表示包含指定对象并且不包含排除对象的图像且具有指定属性的任何一个图像数据(步骤S1211中的“否”),则不从目标区间中生成的图像数据中选择图像数据,并且处理进行到步骤S1216。此外,CPU 101确定其中在图像分析信息500中的对象分类505的区域中不包括排除对象的类别的图像数据是表示不包含排除对象的图像的图像数据。关于指定对象和指定属性的确定与在编辑之前获得的相册的创建期间执行的处理中的相似。
在步骤S1212中,CPU 101从目标区间中生成的多个图像数据中选择一个图像数据。该处理的细节如上面在图像选择单元1109的描述中所述。此外,这里,从每个表示包含指定对象并且不包含排除对象的图像并且每个具有指定属性的多个图像数据中选择具有最高得分的一个图像数据。因此,在本示例性实施例中,例如,将优先于表示不包含指定对象的图像并具有高得分的图像数据来选择表示包含指定对象的图像并具有低得分的图像数据。而且,在本示例性实施例中,例如,将优先于不具有指定属性但具有高得分的图像数据来选择具有指定属性但具有低得分的图像数据。另外,在本示例性实施例中,例如,将优先于包含排除对象但具有高得分的图像数据来选择不包含排除对象但具有低得分的图像数据。
这样,在本示例性实施例中,根据每个对象的设置值来设置指定对象或排除对象。采用该配置,如果存在符合子图像组中的条件的图像数据,则可以更可靠地选择与每个对象的设置值相对应的类型的图像。因此,可以更可靠地输出布局结果,在该布局结果中布设与各个对象的设置值相对应的类型的图像。
步骤S1213至S1220中的处理与在编辑之前获得的相册的创建期间执行的处理类似。
在步骤S1221中,CPU 101进行指定对象和/或排除对象的更新。此外,更新后获得的指定对象或排除对象的内容没有特别的限制,而且可以被适当地设置。例如,可以根据事先设置的优先排序来更新指定对象或排除对象,或者可以将主要被包含在由分配给作为处理目标的扩展的子图像组所表示的多个图像中的对象更新为指定对象。此外,可以将除了主要被包含在由分配给作为处理目标的扩展的子图像组所表示的多个图像中的对象之外的对象更新为排除对象。而且,指定对象或排除对象的设置可以被设置为“无”。另外,在不需要更新的情况下(在使用与上一次相同的指定对象或排除对象来进行图像选择处理的情况下),可以省略步骤S1221中的处理。
步骤S1222中的处理与在编辑之前获得的相册的创建期间执行的处理类似。
此外,在本示例性实施例中,在步骤S1217中确定没有选择任何一个图像数据的情况下,首先,CPU 101不更新指定对象或排除对象,而是更新指定属性,来重新进行图像选择处理。然后,在即使在重复更新指定属性之后也没有选择任何一个图像数据的情况下,CPU101进行指定对象或排除对象的更新。
如果确定事先选择的图像数据的个数已经达到期望的图像数据的个数(步骤S1220中的“是”),则CPU 101结束图像选择处理,然后处理进行到步骤S1609。
步骤S1609至S1613中的处理与步骤S424至S428中的处理类似。
这样,CPU 101以这样的方式进行控制:布置与用户输入的各个对象的设置值相对应的类型的图像,从而能够生成反映用户意图的布局图像。
此外,不仅在相册的编辑期间,而且还在编辑之前获得的相册的创建期间,可以应用以与用户输入的各个对象的设置值相对应的类型的图像被布置的这种方式进行的控制。在这种情况下,例如,可以采用如下配置:其中,在编辑之前获得的相册的创建之前,不仅接收到如图3所示的设置画面的输入,还接收到如图20所示的设置画面的输入。然后,可以采用其中执行图16所示的步骤S1601至S1613中的处理而不是图4中所示的步骤S416至S428中的处理的配置。
在本发明的第二示例性实施例中,描述了考虑到裁剪的影响来选择模板的配置。此外,省略了与第一示例性实施例中相似的组成元件的描述。
除了图10所示的模板以外,HDD 104还存储例如在第二示例性实施例中的包括诸如图17所示的模板之类的各种模板。模板(5-1)和(6-1)中的每一个具有方形的主区块和方形的子区块,并且,主区块的尺寸大于每个子区块的尺寸。此外,模板(7-1)具有方形的主区块和方形的子区块,并且,主区块的尺寸小于模板(5-1)和(6-1)中的每一个的主区块的尺寸。此外,模板(8-1)、(9-1)和(10-1)中的每一个具有矩形主区块和方形或矩形子区块,并且,主区块的尺寸小于图10中所示的每个模板的主区块的尺寸。
这样,准备不仅具有矩形形状而且具有诸如方形形状的各种形状的模板,从而可以向用户提供设计优良的多种模板。此外,不仅可以提供具有矩形或方形区块的模板,而且可以提供具有诸如圆形、椭圆形或三角形之类的其他形状的区块的模板。而且,可以提供具有相应不同形状的区块的模板,比如,具有矩形主区块和方形子区块的模板等。
此外,在自动布局处理中,可以执行作为用于去除图像的部分区域以使图像成为适合区块的尺寸和形状的处理的裁剪(修剪)。另外,经过裁剪的区域的位置或数量根据区块的尺寸和形状以及图像的尺寸和形状而变化。
而且,在自动布局处理中,CPU 101能够获取关于要在其中布置图像的区块的尺寸和位置的信息。因此,只要能够进一步获取关于包含在图像中的对象的位置的信息,CPU101就能够确定被包含在图像中的对象是否由于裁剪而被部分地切断。此外,术语“对象被部分地切断”具体指的是包含对象的至少一部分的区域被去除。因此,当确定图像中包含的对象将被部分地切断时,CPU 101改变将被使用的模板,从而图像可以被布置在模板中,而图像中包含的对象不被部分地切断。
然而,图像分析单元207可能不能根据对象的类别准确地检测对象的位置(不能获取关于位置的信息)。更具体地,例如,CPU 101能够经由图像分析单元207精确地检测“人物”的对象的位置,但是不能够精确地检测除“人物”以外的对象(例如,“动物”或“食物”)的位置。因此,对于包含除“人物”以外的对象的图像,CPU 101可以选择模板而不确定被包含在图像中的对象是否由于裁剪而被部分地切断。因此,对于包含除“人物”以外的对象的图像,期望将图像布置在尽可能减少裁剪量的区块中。
因此,在第二示例性实施例中,CPU 101根据相册的模式来改变要用于布局生成的模板。更具体地,在选择与不能准确地检测到关于其位置的信息的对象相对应的模式的情况下,CPU 101以尽可能多减少图像的裁剪量的这种方式进行控制。这防止了由于裁剪而导致不能精确地检测关于其位置的信息的对象被部分地切断。
此外,由成像设备获取的图像数据所表示的大部分图像是矩形的。由于矩形和方形的纵横比不同,因此,为了以适合如上所述的方形区块中的这种方式布置矩形图像,需要裁剪矩形图像。而且,由于矩形和方形的纵横比大不相同,所以此时的裁剪量可能变大。因此,在第二示例性实施例中,在相册的模式不是“人物”的情况下,CPU 101选择具有矩形区块的模板。这使得能够以图像的裁剪量变小的这种方式进行控制。
将更详细地描述在第二示例性实施例中执行的控制。在第二示例性实施例中,在相册的模式是“人物”的情况下,CPU 101从具有如图10所示的矩形区块的模板和具有如图7所示的不同于矩形的区块的模板中选择要用于布局生成的模板。这是因为CPU 101能够精确地检测“人物”的对象的位置,因此能够以如下方式执行裁剪:防止对象被部分地切断,而不管区块的形状如何。
而且,在相册的模式不是“人物”(例如“动物”或“食物”)的情况下,CPU 101从具有如图10所示的矩形区块的模板当中选择要用于布局生成的模板。换句话说,在相册的模式不是“人物”的情况下,CPU 101不从具有如图7所示的不同于矩形的区块的模板当中选择要用于布局生成的模板。这是因为,由于CPU 101不能准确地检测除“人物”以外的对象的位置,因此在将图像布置在除矩形之外的形状的区块中的情况下,对象可能被部分地切断。
图15是示出第二示例性实施例中的相册创建应用的软件配置的框图。此外,省略了与第一示例性实施例中的相册创建应用相似的组成元件的描述。
第二示例性实施例中的相册创建应用包括模板选择单元1501。模板选择单元1501获取由模板设置单元214从HDD 104获取的与由相册创建条件指定单元201指定的模板信息相对应的多个模板。
图像布局单元1502确定扩展的布局。更具体地,图像布局单元1502从由模板选择单元1501输入的多个模板当中选择适合于由图像选择单元213选择的图像数据的模板,然后,确定每个图像在模板上的放置位置。
图18是用于执行第二示例性实施例中的存储在相册创建应用中的用于确定模板的处理的软件的框图。省略了与第一示例性实施例中相似的组成元件的描述。
模式获取单元1801获取关于由相册创建条件指定单元201指定的相册的模式的信息,从而指定相册的模式。
模板选择单元1802基于由模式获取单元1801指定的模式来选择模板。此外,用于选择模板的方法如上面在模板选择单元1501的描述中所述。
模板选择单元1302从由模板选择单元1802选择的模板当中选择具有数量与在步骤S423中选择的图像数据的个数一致的区块的模板。
模板选择单元1803从由模板选择单元1302选择的模板当中选择适合于主图像的模板。在第二示例性实施例中,具有较早的图像拍摄日期和时间的图像数据被假定布设在靠近模板的左上角的区块中,并且具有较晚的图像拍摄日期和时间的图像数据被假定为布设在靠近模板的右下角的区块中。因此,首先,模板选择单元1803从由模板选择单元1302选择的模板当中选择其中主区块的位置对应于表示主图像的图像数据的图像拍摄日期和时间的顺序的模板。更具体地,例如,在表示主图像的图像数据的图像拍摄日期和时间的顺序是第三的情况下,选择其中主区块是全部区块中的从左起的第三区块的模板。此外,由于选择图像排序单元1303按照图像拍摄日期和时间的顺序对图像数据进行排序,所以模板选择单元1803能够识别表示主图像的图像数据的图像拍摄日期和时间的顺序。
此外,在第二示例性实施例中,在相册的模式是“人物”的情况下,模板选择单元1803优选地选择具有除矩形以外的形状的主区块的模板,只要对象不是由于裁剪而被部分地切断。在主图像中包含的对象由于为了将主图像布置在除矩形之外的形状的主区块中所进行的裁剪而被部分地被切断的情况下,模板选择单元1803选择具有矩形主区块的模板。
而且,在表示主图像的图像数据是从运动图像数据剪切的图像数据,并且是运动量大的图像数据的情况下,模板选择单元1803选择具有小尺寸的区块的模板。这是因为尽管由运动量大的图像数据所表示的图像可能具有很多的模糊或抖动,但是图像被缩小,然后被布置在小尺寸的区块中,使得图像的模糊或抖动被减轻。另一方面,由于运动量少的图像数据所表示的图像不太可能具有很多模糊或抖动,所以在图像数据是运动量少的图像数据的情况下,模板选择单元1803选择具有大尺寸区块的模板。此外,虽然这里描述了基于运动量是大还是少来选择模板的配置,但是本示例性实施例不限于该配置。在CPU 101能够检测图像的模糊量或抖动量的情况下,可以使用这样的检测值来进行模板选择。而且,例如,CPU101能够使用拉普拉斯滤波器来检测图像中的边缘量。CPU 101可以将所检测到的边缘量小的情况视为模糊量或者抖动量大。在任何情况下,只需要以如下这样的方式来进行控制:具有大模糊量或抖动量的图像被布置在小区块中,并且,具有小模糊量或抖动量的图像被布置在大区块中。
模板选择单元1804从由模板选择单元1803选择的模板当中选择适合于子图像的模板。模板选择单元1804选择其中子区块的位置对应于从在步骤S423中选择的多个图像数据中的表示子图像的图像数据的图像拍摄日期和时间的顺序的模板。此外,在第二示例性实施例中,在相册的模式是“人物”的情况下,模板选择单元1804优选地选择具有除矩形以外的形状的区块的模板,只要对象不是由于裁剪而被部分地切断。在子图像中包含的对象由于为了将子图像布置在除矩形之外的形状的子区块中所进行的裁剪而被部分地被切断的情况下,模板选择单元1804选择具有矩形子区块的模板。这样,模板选择单元1804选择要最终用于生成布局图像的模板。
甚至在第二示例性实施例中,在步骤S425中,CPU 101经由图像布局单元215确定作为处理目标的扩展的图像布局。此时,首先,CPU 101从在步骤S424中获取的多个模板当中确定适合于在步骤S423中选择的图像数据的模板。参照图19来描述用于确定模板的方法。
图19是示出第二示例性实施例中的用于确定用于生成布局图像的模板的处理的流程图。例如,通过CPU 101将对应于存储在HDD 104中的相册创建应用的程序加载到ROM102或RAM 103上并执行该程序来实现图19所示的流程图。
在步骤S1901中,CPU 101经由选择图像信息获取单元1301获取在步骤S423中选择的图像数据的个数和关于所选择的图像数据的信息。该处理与步骤S1401中的处理类似。
在步骤S1902中,CPU 101经由模板选择单元1302选择具有数量与在步骤S423中选择的图像数据的个数一致的区块的模板。该处理与步骤S1402中的处理类似。
在步骤S1903中,CPU 101经由选择图像排序单元1303按照图像拍摄日期和时间的顺序对在步骤S423中选择的图像数据进行排序。该处理与步骤S1403中的处理类似。
在步骤S1904中,CPU 101确定对应于主图像的图像数据是否是通过从运动图像数据剪切帧而获取的图像数据。如果CPU 101确定图像数据是通过从运动图像数据剪切帧而获取的图像数据(步骤S1904中的“是”),则处理进行到步骤S1905。然后,如果CPU 101确定图像数据不是通过从运动图像数据剪切帧而获取的图像数据(步骤S1904中的“否”),则处理进行到步骤S1906。
在步骤S1905中,CPU 101确定与主图像相对应的图像数据的运动量是否大于预定阈值TH。如果确定运动量大于预定阈值TH(步骤S1905中的“是”),则处理进行到步骤S1907,并且,如果确定运动量不大于预定阈值TH(步骤S1905中的“否”),处理进行到步骤S1906。
在步骤S1906中,CPU 101确定主图像是否包含除“人物”之外的类别的对象。如果确定主图像包含除“人物”以外的类别的对象(步骤S1906中的“是”),则处理进行到步骤S1909,以及,如果确定主图像不包含除“人物”以外的类别的对象(步骤S1906中的“否”),则处理进行到步骤S1908。
在步骤S1908中,CPU 101经由模板选择单元1803从在步骤S1902中选择的模板当中选择适合于主图像的模板。此外,此时,与主图像相对应的图像数据不是通过从运动图像数据中剪切帧而获得的图像数据,并且,主图像不包含除“人物”以外的类别的对象。可替换地,虽然与主图像相对应的图像数据是通过从运动图像数据中剪切帧而获得的图像数据,但是,其运动量小,并且,主图像不包含除“人物”以外的类别的对象。因此,首先,CPU 101选择具有大的方形主区块的模板。然后,CPU 101确定如果以主图像适合于所选择的模板的主区块中的方式对主图像执行了裁剪,则包含在主图像中的对象将是否被部分地切断。如果CPU 101确定包含在主图像中的对象将不被部分地切断,则CPU 101使处理前进到步骤S1910,同时选择具有大的方形主区块的模板。另一方面,如果CPU101确定包含在主图像中的对象将被部分地切断,则CPU 101选择具有其纵横比类似于主图像的纵横比的大的矩形主区块的模板,然后使处理前进到步骤S1910。
在步骤S1910中,CPU 101经由模板选择单元1804从在步骤S1908中选择的模板当中选择适合于子图像的模板。此时,CPU 101可以选择具有其纵横比类似于每个子图像的纵横比的子区块的模板,或者可以选择具有方形子区块的模板。此外,与基于主图像的模板选择一样,CPU 101可以根据子图像是否包含除“人物”以外的类别的对象来改变要选择的模板。而且,此时,还指定了在其中布置有子图像的子区块。
在步骤S1909中,CPU 101经由模板选择单元1803从在步骤S1902中选择的模板当中选择适合于主图像的模板。此外,此时,与主图像相对应的图像数据不是通过从运动图像数据中剪切帧而获得的图像数据,并且,主图像包含除“人物”以外的类别的对象。可替换地,虽然与主图像相对应的图像数据是通过从运动图像数据中剪切帧而获得的图像数据,但是,其运动量小,并且,主图像包含除“人物”以外的类别的对象。因此,CPU 101选择具有其纵横比类似于主图像的纵横比的大的矩形主区块的模板,然后使处理前进到步骤S1911。
在步骤S1911中,CPU 101经由模板选择单元1804从在步骤S1909中选择的模板当中选择适合于子图像的模板。此时,CPU 101可以选择具有其纵横比类似于每个子图像的纵横比的子区块的模板,或者可以选择具有方形子区块的模板。此外,与基于主图像的模板选择一样,CPU 101可以根据子图像是否包含除“人物”以外的类别的对象来改变要选择的模板。而且,此时,还指定了在其中布置有子图像的子区块。
在步骤S1907中,CPU 101确定主图像是否包含除“人物”之外的类别的对象。如果确定主图像包含除“人物”以外的类别的对象(步骤S1907中的“是”),则处理进行到步骤S1913,并且,如果确定主图像不包含除“人物”以外的类别的对象(步骤S1907中的“否”),则处理进行到步骤S1912。
在步骤S1912中,CPU 101经由模板选择单元1803从在步骤S1902中选择的模板当中选择适合于主图像的模板。此外,此时,与主图像相对应的图像数据是通过从运动图像数据中剪切帧而获得的图像数据,并是具有大运动量的图像数据,并且,主图像不包含除“人物”以外的类别的对象。因此,首先,CPU 101选择具有小的方形主区块的模板。然后,CPU101确定如果以主图像适合于所选择的模板的主区块中的方式对主图像执行了裁剪,则包含在主图像中的对象将是否被部分地切断。如果CPU101确定包含在主图像中的对象将不被部分地切断,则CPU 101使处理前进到步骤S1914,同时选择具有小的方形主区块的模板。另一方面,如果CPU 101确定包含在主图像中的对象将被部分地切断,则CPU 101选择具有其纵横比类似于主图像的纵横比的小的矩形主区块的模板,然后使处理前进到步骤S1914。
在步骤S1914中,CPU 101经由模板选择单元1804从在步骤S1912中选择的模板当中选择适合于子图像的模板。此时,CPU 101可以选择具有其纵横比类似于每个子图像的纵横比的子区块的模板,或者可以选择具有方形子区块的模板。此外,与基于主图像的模板选择一样,CPU 101可以根据子图像是否包含除“人物”以外的类别的对象来改变要选择的模板。而且,此时,还指定了在其中布置有子图像的子区块。
在步骤S1913中,CPU 101经由模板选择单元1803从在步骤S1902中选择的模板当中选择适合于主图像的模板。此外,此时,与主图像相对应的图像数据是通过从运动图像数据中剪切帧而获得的图像数据,并是具有大运动量的图像数据,并且,主图像包含除“人物”以外的类别的对象。因此,CPU 101选择具有其纵横比类似于主图像的纵横比的小的矩形主区块的模板,然后使处理前进到步骤S1915。
在步骤S1915中,CPU 101经由模板选择单元1804从在步骤S1913中选择的模板当中选择适合于子图像的模板。此时,CPU 101可以选择具有其纵横比类似于每个子图像的纵横比的子区块的模板,或者可以选择具有方形子区块的模板。此外,与基于主图像的模板选择一样,CPU 101可以根据子图像是否包含除“人物”以外的类别的对象来改变要选择的模板。而且,此时,还指定了在其中布置有子图像的子区块。
以上述方式,在步骤S425中,CPU 101确定要用于生成布局图像的模板,并确定哪个图像布置哪个区块中。具体地,CPU 101将关于所选择的模板中包括的每个区块的信息和与要在每个区块中布设的图像相对应的图像数据彼此相关联地进行管理。
如上所述,在第二示例性实施例中,当布置包含其位置信息不能被获取的对象(比如,除“人物”以外的类别的对象)的图像时,CPU 101选择具有其纵横比类似于图像的纵横比的区块的模板。采用该配置,可以防止或者减少其位置信息不能被获取的对象被部分地切断。
此外,如上所述,在第二示例性实施例中,当布置由通过从运动图像数据剪切帧而获得并具有大运动量的图像数据所表示的图像时,CPU101选择具有小区块的模板。采用该配置,可以防止或减少通过图像的模糊或抖动而给用户带来的视觉效果。而且,当布置由通过从运动图像数据剪切帧而获得的图像数据所表示的图像时,不管图像数据的运动量是大还是小,CPU 101都可以选择具有小区块的模板。
此外,在上面的描述中描述了如下配置:其中,CPU 101基于关于与主图像相对应的图像数据是否是从运动图像数据获取的图像数据所进行的确定(运动图像确定),或者关于在主图像中是否包含除“人物”以外的类别的对象所进行的确定(对象确定),来进行模板的选择。然而,本示例性实施例并不限于该配置。例如,在没有基于运动图像确定或对象确定进行模板的选择的情况下,CPU 101可以仅基于相册的模式进行模板的选择。在这种情况下,CPU 101从相册创建条件指定单元201获取关于相册的模式的信息,由此指定相册的模式。然后,CPU 101进行用于从由模板设置单元214获取的多个模板当中选择与指定的模式相对应的模板的过滤处理。以这种方式提取的模板由图像布局单元1502获取,从而创建在其中使用所选模板的相册。在这种情况下,在相册的指定模式是“人物”的模式的情况下,CPU 101提取具有如图10所示的矩形区块的模板和具有如图17所示的矩形以外的形状的区块的模板。然后,在对象将不会由于裁剪而被部分地切断的情况下,CPU 101优先选择具有矩形以外的形状的区块的模板,并且,在对象将会由于裁剪而被部分地切断的情况下,CPU101优先选择具有矩形区块的模板。此外,在相册的指定模式是除“人物”以外的模式的情况下,CPU 101提取并选择具有如图10所示的矩形区块的模板。因此,在指定相册的模式是除“人物”以外的模式的情况下,也可以采用其中CPU 101选择具有矩形区块的模板而不管主图像中是否包含除“人物”以外的类别的对象的配置。
本发明不限于上述示例性实施例。例如,虽然在上述示例性实施例中已经描述了其中上述图像选择处理被用于相册的自动布局处理的配置,但是,例如,图像选择处理可以被用于把作为打印目标的图像数据自动呈现给用户的呈现功能。因此,上述图像选择处理可以通过用于执行呈现功能的程序来进行。此外,例如,本发明也可以应用于用于生成单页印刷品的配置。在这种情况下,例如,CPU 101可以将上述示例性实施例中的一个扩展视为单页印刷品来对其进行处理。而且,由于通常在单页印刷品上只布设一个图像数据,所以假设在单页印刷品的模板中只包含一个区块。该区块可以被认为是主区块,也可以被认为是子区块。此外,在能够设置印刷品的张数的配置的情况下,CPU 101可以将在上述示例性实施例中的一个扩展视为所设置的单页印刷品的张数来对其进行处理。在这种情况下,例如,CPU 101可以把用于第一张单页印刷品的模板中所包括的区块视为主区块,并且可以将第二张或下一张单页印刷品视为子区块。
而且,虽然在上述示例性实施例中,已经描述了执行自动布局处理的图像处理装置是依赖于本地环境的图像处理装置的配置,但是,例如,上述的图像处理装置可以是存在于网络服务器上的图像处理装置。在这种情况下,用户在图像处理装置上上传图像数据使得图像处理装置能够进行自动布局处理。
虽然在上述示例性实施例中,关于诸如图像评分之类的评估,通过分配得分来进行评估,但是示例性实施例不限于该配置。换句话说,可以在不使用得分的情况下进行评估,并且,例如,也可以采用如下配置:其中,可以按照评估的降序来分配“双圆”、“圆”、“三角形”和“十字”的评估结果,并且,例如,根据评估结果进行场景分类或图像选择。
尽管在上述示例性实施例中采用了关于图像选择处理来参考指定对象和指定属性两者的配置,但是示例性实施例不限于该配置。例如,可以采用其中不进行指定属性的设置的配置。在这种情况下,例如,在步骤S1212中,CPU 101选择包含指定对象并具有最高得分的一个图像数据。而且,例如,可以采用其中不进行指定对象的设置的配置。在这种情况下,例如,在步骤S1212中,CPU 101选择具有指定属性并具有最高得分的一个图像数据。
在上述示例性实施例中,为了在布局图像中布置包含与相册的模式相对应的类别的对象的图像,以这样的方式执行控制:表示图像的图像数据的得分变高,并且在将对象设置为指定对象的情况下来进行图像选择处理。然而,示例性实施例不限于这种配置,而且,例如,也可以采用如下配置:其中,仅进行以表示图像的图像数据的得分变高的控制和在将对象设置为指定对象的情况下执行图像选择处理所进行的控制之一。因此,例如,采用如下配置:其中,以表示图像的图像数据的得分变高的方式进行控制,并且在图像选择处理中仅参考得分(或者,仅参考得分和指定属性)。甚至在该配置中,在图像选择处理中,也可以优先选择表示包含与相册的模式相对应的类别的对象的图像的图像数据。
此外,本公开也可以通过进行下述处理来实现。具体地,用于实现上述示例性实施例的功能的软件(程序)经由网络或任何类型的存储介质被提供给系统或装置,并且系统或装置的计算机或包括一个或更多个处理器、一个或更多个存储器、电路、固件、硬件、其他元件等的计算机化的配置(或CPU或微处理单元(MPU))读出和执行程序来进行处理。而且,程序可以由单个计算机执行,或者可以由彼此结合操作的多个计算机执行。另外,不是所有的上述处理操作都需要通过软件来实现,而是上述处理操作的一部分或者全部可以通过硬件来实现。
其它实施例
本公开的(多个)实施例或其他方面也可以通过如下实现:一种系统或装置的计算机或计算机化的配置,该系统或装置读出并执行在存储介质(其也可被更充分地称为“非暂态计算机可读存储介质”)上记录的计算机可执行指令(例如,一个或多个程序),以执行上述(多个)实施例中的一个或多个的功能,并且/或者,该系统或装置包括用于执行上述(多个)实施例中的一个或多个的功能的一个或多个电路(例如,专用集成电路(ASIC));以及由该系统或者装置的计算机执行的方法,例如,从存储介质读出并执行计算机可执行指令,以执行上述(多个)实施例中的一个或多个的功能,并且/或者,控制所述一个或多个电路以执行上述(多个)实施例中的一个或多个的功能。所述计算机或计算机化的配置可以包括一个或更多处理器、一个或更多个存储器、电路、固件、硬件、其他元件等(例如,中央处理单元(CPU),微处理单元(MPU)),并且可以包括分开的计算机或分开的处理器的网络,以读出并执行所述计算机可执行指令。所述计算机可执行指令可以例如从网络或存储介质被提供给计算机化的配置。所述存储介质可以包括例如硬盘、随机存取存储器(RAM)、只读存储器(ROM)、分布式计算系统的存储器、光盘(诸如压缩光盘(CD)、数字通用光盘(DVD)或蓝光光盘(BD)TM)、闪存设备以及存储卡等中的一者或更多。
本发明的实施例还可以通过如下的方法来实现,即,通过网络或者各种存储介质将执行上述实施例的功能的软件(程序)提供给系统或装置,该系统或装置的计算机或是中央处理单元(CPU)、微处理单元(MPU)读出并执行程序的方法。
虽然针对示例性实施例描述了本公开,但是,应该理解,本公开不限于公开的示例性实施例。所附权利要求的范围应当被赋予最宽的解释,以便涵盖所有这类修改以及等同的结构和功能。

Claims (15)

1.一种用于信息处理装置的控制方法,所述信息处理装置通过在模板中布置图像来生成布局图像,所述控制方法包括:
获取一个或更多个运动图像数据;
获取一个或更多个静止图像数据;
基于第一评估轴对从所获取的一个或更多个运动图像数据获取的第一图像数据组进行评估,并且基于与第一评估轴不同的第二评估轴对从所获取的一个或更多个静止图像数据获取的第二图像数据组进行评估;
基于评估来从第一图像数据组和第二图像数据组中选择一个或更多个图像数据;
获取关于具有要布置图像的至少一个区块的模板的模板信息;以及
输出布局图像,在该布局图像中,由所选择的一个或更多个图像数据表示的一个或更多个图像被布置在与所获取的模板信息相对应的模板中包括的一个或更多个区块中。
2.根据权利要求1所述的控制方法,其中,第一评估轴是用于基于图像数据的第一特征量进行评估的评估轴,并且第二评估轴是用于在不基于图像数据的第一特征量的情况下进行评估的评估轴。
3.根据权利要求2所述的控制方法,其中,第一特征量是图像数据的抖动、图像数据的模糊以及图像数据的运动量中的至少一个。
4.根据权利要求1所述的控制方法,还包括从运动图像数据中提取多个图像数据,
其中,第一评估轴是用于基于所提取的多个图像数据中的相继图像数据之间的特征量的差异进行评估的评估轴。
5.根据权利要求1所述的控制方法,其中,针对第一图像数据组执行基于第一评估轴的评估和基于第二评估轴的评估。
6.根据权利要求1所述的控制方法,
其中,根据分配给每个图像数据的得分来进行评估,以及
其中,较高的得分被分配给评价较高的图像数据。
7.根据权利要求1所述的控制方法,其中,在基于第二评估轴向第一图像数据组和第二图像数据组分别分配得分之后,基于第一评估轴向第一图像数据组的得分添加得分或者从第一图像数据组的得分中减去得分,基于以下得分的得分被添加到第二图像数据组的得分或从第二图像数据组的得分中减去:所述以下得分是基于第一评估轴添加到第一图像数据组的得分或从第一图像数据组的得分中减去的得分。
8.根据权利要求1所述的控制方法,
其中,从第一图像数据组和第二图像数据组中选择多个图像数据,以及
其中,在从运动图像数据获取的第一图像数据和从静止图像数据获取并且评价高于第一图像数据的第二图像数据被包括在第一图像数据组和第二图像数据组中的情况下,优先于第二图像数据来选择第一图像数据。
9.根据权利要求1所述的控制方法,
其中,从第一图像数据组和第二图像数据组中选择多个图像数据,以及
其中,在从运动图像数据获取的第三图像数据和从运动图像数据获取并且评价高于第三图像数据的第四图像数据被包括在第一图像数据组和第二图像数据组中的情况下,对于所选择的多个图像数据中的至少一个图像数据,优先于第三图像数据来选择第四图像数据。
10.根据权利要求1所述的控制方法,其中,选择除了事先选择的图像数据以外的图像数据,作为表示要被布置在与所获取的模板信息相对应的模板中包括的任何一个区块中的图像的图像数据。
11.根据权利要求1所述的控制方法,其中,输出布局图像,在该布局图像中,由从静止图像数据获取的图像数据表示的图像被布置在与所获取的模板信息相对应的模板中包括的第一尺寸的区块中,并且由从运动图像数据获取的图像数据表示的图像被布置在与所获取的模板信息相对应的模板中包括的比第一尺寸小的第二尺寸的区块中。
12.根据权利要求1所述的控制方法,其中,输出布局图像,在该布局图像中,由从运动图像数据获取的第五图像数据表示的图像被布置在与所获取的模板信息相对应的模板中包括的第一尺寸的区块中,并且由从运动图像数据获取的第六图像数据表示并且模糊量大于由第五图像数据表示的图像的图像被布置在与所获取的模板信息相对应的模板中包括的比第一尺寸小的第二尺寸的区块中。
13.根据权利要求1所述的控制方法,其中,在第七图像数据和第八图像数据被包括在所述多个图像数据中的情况下,优先于第七图像数据来选择第八图像数据,所述第七图像数据是从以下运动图像数据获取的:该运动图像数据是从包括在信息处理装置中的存储区域获取的;所述第八图像数据是从以下静止图像数据获取的:所述静止图像数据是从用于社交网络服务的服务器获取的。
14.根据权利要求1所述的控制方法,
其中,被包括在第一图像数据组和第二图像数据组中的每个图像数据具有指示与该图像数据相关联的该图像数据的获取源的信息,并且
其中,在与指示从运动图像数据获得第九图像数据的信息相关联的第九图像数据和与指示从静止图像数据获取第十图像数据的信息相关联的第十图像数据被包括在第一图像数据组和第二图像数据组中的情况下,优先于第十图像数据来选择第九图像数据。
15.一种计算机可读存储介质,存储计算机可执行指令,所述计算机可执行指令在由计算机执行时使计算机执行用于信息处理装置的控制方法,所述信息处理装置通过在模板中布置图像来生成布局图像,所述控制方法包括:
获取一个或更多个运动图像数据;
获取一个或更多个静止图像数据;
基于第一评估轴对从所获取的一个或更多个运动图像数据获取的第一图像数据组进行评估,并且基于与第一评估轴不同的第二评估轴对从所获取的一个或更多个静止图像数据获取的第二图像数据组进行评估;
基于评估来从第一图像数据组和第二图像数据组中选择一个或更多个图像数据;
获取关于具有要布置图像的至少一个区块的模板的模板信息;以及
输出布局图像,在该布局图像中,由选择的一个或更多个图像数据表示的一个或更多个图像被布置在与所获取的模板信息相对应的模板中包括的一个或更多个区块中。
CN201711263617.2A 2016-12-09 2017-12-05 控制方法和存储介质 Active CN108234814B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2016-239736 2016-12-09
JP2016239736A JP6873678B2 (ja) 2016-12-09 2016-12-09 画像処理装置、制御方法、及びプログラム

Publications (2)

Publication Number Publication Date
CN108234814A true CN108234814A (zh) 2018-06-29
CN108234814B CN108234814B (zh) 2020-03-31

Family

ID=60673062

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201711263617.2A Active CN108234814B (zh) 2016-12-09 2017-12-05 控制方法和存储介质

Country Status (4)

Country Link
US (1) US10506110B2 (zh)
EP (1) EP3334141B1 (zh)
JP (1) JP6873678B2 (zh)
CN (1) CN108234814B (zh)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7034819B2 (ja) * 2018-04-23 2022-03-14 キヤノン株式会社 画像処理装置、画像処理方法、およびプログラム
EP3588371A3 (en) * 2018-06-25 2020-03-11 Panasonic Intellectual Property Corporation of America Information processing device, information processing method, and program
JP7341677B2 (ja) * 2019-02-28 2023-09-11 キヤノン株式会社 装置、方法、及びプログラム
US11379683B2 (en) 2019-02-28 2022-07-05 Stats Llc System and method for generating trackable video frames from broadcast video
JP7250567B2 (ja) * 2019-02-28 2023-04-03 キヤノン株式会社 装置、方法、及びプログラム
JP7286393B2 (ja) * 2019-04-17 2023-06-05 キヤノン株式会社 画像処理装置、画像処理方法、及びプログラム
JP2021027555A (ja) * 2019-08-08 2021-02-22 キヤノン株式会社 画像処理装置、制御方法及びプログラム
JP7328066B2 (ja) * 2019-08-08 2023-08-16 キヤノン株式会社 プログラム、情報処理装置、および情報処理方法
US11157722B2 (en) * 2019-10-10 2021-10-26 Unisys Corporation Systems and methods for facial recognition in a campus setting
CN111460929B (zh) * 2020-03-17 2022-07-19 稿定(厦门)科技有限公司 不特定图框图像填充方法及装置
US11366983B2 (en) * 2020-09-09 2022-06-21 International Business Machines Corporation Study-level multi-view processing system

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1458625A (zh) * 2002-05-15 2003-11-26 西门子公司 对随时间变化的诊断过程的评估
US20120117473A1 (en) * 2010-11-09 2012-05-10 Edward Han System and method for creating photo books using video
US8730397B1 (en) * 2009-08-31 2014-05-20 Hewlett-Packard Development Company, L.P. Providing a photobook of video frame images

Family Cites Families (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004013505A (ja) * 2002-06-06 2004-01-15 Konica Minolta Holdings Inc 画像処理装置、画像処理方法、画像処理プログラム及び画像処理プログラムを記録した記録媒体
US7280753B2 (en) 2003-09-03 2007-10-09 Canon Kabushiki Kaisha Display apparatus, image processing apparatus, and image processing system
JP2006293985A (ja) 2005-03-15 2006-10-26 Fuji Photo Film Co Ltd アルバム作成装置、アルバム作成方法、及びプログラム
JP4493627B2 (ja) 2006-05-26 2010-06-30 富士フイルム株式会社 インデックスアルバム冊子作成方法および装置ならびにプログラム
JP4228320B2 (ja) 2006-09-11 2009-02-25 ソニー株式会社 画像処理装置および方法、並びにプログラム
JP4564512B2 (ja) 2007-04-16 2010-10-20 富士通株式会社 表示装置、表示プログラム、および表示方法
JP2010154021A (ja) * 2008-12-24 2010-07-08 Noritsu Koki Co Ltd マルチ画像プリント注文装置およびマルチ画像プリント注文プログラム
US20110285748A1 (en) 2009-01-28 2011-11-24 David Neil Slatter Dynamic Image Collage
US8319666B2 (en) 2009-02-20 2012-11-27 Appareo Systems, Llc Optical image monitoring system and method for vehicles
JP5686673B2 (ja) * 2010-07-22 2015-03-18 富士フイルム株式会社 画像処理装置、画像処理方法およびプログラム
JP5246286B2 (ja) 2011-03-15 2013-07-24 カシオ計算機株式会社 画像記録装置、画像記録方法及びプログラム
JP5449460B2 (ja) 2011-06-28 2014-03-19 富士フイルム株式会社 画像処理装置、画像処理方法および画像処理プログラム
JP6012308B2 (ja) 2012-07-09 2016-10-25 キヤノン株式会社 画像処理装置、画像処理方法、及びプログラム
JP6045232B2 (ja) 2012-07-09 2016-12-14 キヤノン株式会社 画像処理装置、画像処理方法、及びプログラム
JP6071288B2 (ja) 2012-07-09 2017-02-01 キヤノン株式会社 画像処理装置、画像処理方法、及びプログラム
JP6016489B2 (ja) 2012-07-09 2016-10-26 キヤノン株式会社 画像処理装置、画像処理装置の制御方法、プログラム
JP5719406B2 (ja) 2012-09-14 2015-05-20 富士フイルム株式会社 合成画像作成システム、画像処理装置および画像処理方法
JP5655112B2 (ja) 2012-09-14 2015-01-14 富士フイルム株式会社 合成画像作成システム、画像処理装置および画像処理方法
US8958662B1 (en) 2014-08-20 2015-02-17 Interactive Memories, Inc. Methods and systems for automating insertion of content into media-based projects
US8990672B1 (en) 2014-08-25 2015-03-24 Interactive Memories, Inc. Flexible design architecture for designing media-based projects in a network-based platform
US9507506B2 (en) 2014-11-13 2016-11-29 Interactive Memories, Inc. Automatic target box in methods and systems for editing content-rich layouts in media-based projects
JP6463996B2 (ja) 2015-03-06 2019-02-06 キヤノン株式会社 情報処理装置、方法およびプログラム
JP6525645B2 (ja) 2015-03-06 2019-06-05 キヤノン株式会社 情報処理装置、プログラム、及び情報処理方法
JP2017004252A (ja) 2015-06-10 2017-01-05 株式会社ウイル・コーポレーション 画像情報処理システム
EP3128733B1 (en) 2015-08-07 2020-04-01 Canon Kabushiki Kaisha Information processing method, information processing apparatus, and program
JP6494504B2 (ja) 2015-12-25 2019-04-03 キヤノン株式会社 情報処理装置、制御方法およびプログラム

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1458625A (zh) * 2002-05-15 2003-11-26 西门子公司 对随时间变化的诊断过程的评估
US8730397B1 (en) * 2009-08-31 2014-05-20 Hewlett-Packard Development Company, L.P. Providing a photobook of video frame images
US20120117473A1 (en) * 2010-11-09 2012-05-10 Edward Han System and method for creating photo books using video

Also Published As

Publication number Publication date
JP2018097480A (ja) 2018-06-21
CN108234814B (zh) 2020-03-31
US20180167522A1 (en) 2018-06-14
EP3334141A1 (en) 2018-06-13
US10506110B2 (en) 2019-12-10
JP6873678B2 (ja) 2021-05-19
EP3334141B1 (en) 2023-04-19

Similar Documents

Publication Publication Date Title
CN108228114A (zh) 控制方法和存储介质
CN108234814A (zh) 控制方法和存储介质
KR102240626B1 (ko) 화상처리방법, 화상처리장치, 및 프로그램
JP7487362B2 (ja) 画像処理装置、画像処理方法、及びプログラム
JP7286392B2 (ja) 画像処理装置、画像処理方法、及びプログラム
JP7286393B2 (ja) 画像処理装置、画像処理方法、及びプログラム
JP6719206B2 (ja) 画像処理装置、画像処理方法、およびプログラム
JP2018097491A (ja) 画像処理装置、画像処理方法、及びプログラム
CN106454064A (zh) 图像处理装置以及图像处理方法
CN108377351A (zh) 用于在模板上布局图像的图像处理装置和图像处理方法
JP6904692B2 (ja) 画像処理装置、制御方法、及びプログラム
JP7336211B2 (ja) 画像処理装置、制御方法、及びプログラム
JP7336209B2 (ja) 画像処理装置、制御方法、及びプログラム
JP7027101B2 (ja) 情報処理装置、制御方法、及びプログラム
JP2021144618A (ja) 画像処理装置、画像処理方法、及びプログラム
JP7336210B2 (ja) 画像処理装置、制御方法、及びプログラム
JP7336212B2 (ja) 画像処理装置、制御方法、及びプログラム
JP2017130109A (ja) プログラム、情報処理装置および制御方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant