图像处理方法、图像处理装置和存储介质转让专利

申请号 : CN201711293972.4

文献号 : CN108230262B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 堀信二郎国枝宽康井口良介大林正明

申请人 : 佳能株式会社

摘要 :

本发明公开一种图像处理方法、图像处理装置和存储介质。一种图像处理方法,所述图像处理方法包括:对多个图像数据执行被摄体识别处理,基于经过所述识别处理的多个图像数据中的至少一部分图像数据和模板数据生成布局数据,基于所述布局数据控制布局图像在显示器上的显示,获取与特定被摄体的优先度相关的设置信息,以及响应于对显示的布局图像中的图像的替换请求,提取替换候选图像。在替换候选图像的提取中,基于与优先度相关的设置信息提取替换候选图像。

权利要求 :

1.一种图像处理方法,所述图像处理方法包括:

对多个图像数据执行被摄体识别处理;

对所述多个图像数据的各个分配得分;

基于所述识别处理的结果向包含特定被摄体的图像分配表示所述特定被摄体的识别信息;

基于经过所述识别处理的多个图像数据中的至少一部分图像数据和模板数据,生成布局数据;

基于所述布局数据控制布局图像在显示器上的显示;

获取与特定被摄体的优先度相关的设置信息;以及

响应于对显示的布局图像中的图像的替换请求,提取替换候选图像,其中,在替换候选图像的提取中,在存在分配了所述识别信息的第一图像和得分高于第一图像的得分、并且被分配了所述识别信息的第二图像的情况下,基于与优先度相关的设置信息,比第一图像更优先地提取第二图像作为替换候选图像,而在存在分配了所述识别信息的第一图像和得分高于第一图像的得分、并且未被分配所述识别信息的第二图像的情况下,基于与优先度相关的设置信息,比第二图像更优先地提取第一图像作为替换候选图像。

2.根据权利要求1所述的图像处理方法,所述图像处理方法还包括:基于至少是模板数据对经过了所述识别处理的多个图像数据的各个分配得分,其中,在布局数据的生成中,基于所分配的得分生成所述布局数据,以及其中,在替换候选图像的提取中,如果存在能够基于与优先度相关的设置信息和所述识别信息来提取的多个图像,则通过进一步使用所分配的得分提取所述替换候选图像。

3.根据权利要求1所述的图像处理方法,

其中,在替换候选图像的提取中,能够基于多个提取条件来提取多个所述替换候选图像,以及其中,基于第二提取条件提取的替换候选图像的个数随基于第一提取条件的替换候选图像的提取结果而变化。

4.根据权利要求1所述的图像处理方法,

其中,在设置信息的获取中,获取使所述特定被摄体优先出现的优先模式设置信息来作为与优先度相关的设置信息。

5.根据权利要求1所述的图像处理方法,

其中,在设置信息的获取中,获取与所述特定被摄体的出现频率相关的设置信息作为与优先度相关的设置信息,以及其中,在替换候选图像的提取中,基于与所述特定被摄体的出现频率相关的设置信息提取所述替换候选图像。

6.根据权利要求1所述的图像处理方法,所述图像处理方法还包括:替换图像;

其中,在布局图像的显示控制中,显示提取的多个替换候选图像,以及其中,在图像的替换中,使用用户从所述多个替换候选图像中选择的图像来替换要在所述布局图像中替换的图像。

7.根据权利要求1所述的图像处理方法,

其中,所述特定被摄体是特定个体。

8.根据权利要求1所述的图像处理方法,

其中,所述被摄体是个体被划分的类别中的其中一种类别。

9.一种非易失性计算机可读存储介质,所述存储介质存储使计算机执行图像处理方法的计算机程序,该方法包括:对多个图像数据执行被摄体识别处理;

对所述多个图像数据的每一个分配得分;

基于所述识别处理的结果向包含特定被摄体的图像分配表示所述特定被摄体的识别信息;

基于经过所述识别处理的多个图像数据中的至少一部分图像数据和模板数据,生成布局数据;

基于所述布局数据控制布局图像在显示器上的显示;

获取与特定被摄体的优先度相关的设置信息;以及

响应于对显示的布局图像中的图像的替换请求,提取替换候选图像,其中,在替换候选图像的提取中,在存在分配了所述识别信息的第一图像和得分高于第一图像的得分、并且被分配了所述识别信息的第二图像的情况下,基于与优先度相关的设置信息,比第一图像更优先地提取第二图像作为替换候选图像,而在存在分配了所述识别信息的第一图像和得分高于第一图像的得分、并且未被分配所述识别信息的第二图像的情况下,基于与优先度相关的设置信息,比第二图像更优先地提取第一图像作为替换候选图像。

10.一种图像处理装置,所述图像处理装置包括:

识别单元,其被配置为对多个图像数据执行被摄体识别处理;

评分单元,其被配置为对所述多个图像数据的各个分配得分;

分配单元,其被配置为基于所述识别处理的结果向包含特定被摄体的图像分配表示所述特定被摄体的识别信息;

生成单元,其被配置为基于经过了所述识别单元执行的所述识别处理的多个图像数据中的至少一部分图像数据和模板数据,生成布局数据;

显示控制单元,其被配置为基于所述布局数据来控制布局图像在显示器上的显示;

设置获取单元,其被配置为获取与特定被摄体的优先度相关的设置信息;以及提取单元,其被配置为响应于显示的布局图像中的图像的替换请求提取替换候选图像,其中,在存在分配了所述识别信息的第一图像和得分高于第一图像的得分、并且被分配了所述识别信息的第二图像的情况下,所述提取单元基于与优先度相关的设置信息,比第一图像更优先地提取第二图像作为替换候选图像,而在存在分配了所述识别信息的第一图像和得分高于第一图像的得分、并且未被分配所述识别信息的第二图像的情况下,所述提取单元基于与优先度相关的设置信息,比第二图像更优先地提取第一图像作为所述替换候选图像。

11.根据权利要求10所述的图像处理装置,其中,所述评分单元还被配置为基于至少是模板数据对经过了所述识别处理的多个图像数据的各个分配得分,其中,所述生成单元基于所述评分单元所分配的得分生成所述布局图像,以及其中,如果存在能够基于与优先度相关的设置信息和所述识别信息提取的多个图像,则所述提取单元通过进一步使用所述评分单元所分配的得分来提取所述替换候选图像。

12.根据权利要求10所述的图像处理装置,

其中,所述提取单元能够基于多个提取条件提取多个所述替换候选图像,以及其中,基于第二提取条件提取的替换候选图像的个数随基于第一提取条件的替换候选图像的提取结果而变化。

13.根据权利要求10所述的图像处理装置,

其中,所述设置获取单元获取使所述特定被摄体优先出现的优先模式的设置信息作为与优先度相关的设置信息。

14.根据权利要求10所述的图像处理装置,

其中,所述设置获取单元接收与所述特定被摄体的出现频率相关的设置信息作为与优先度相关的设置信息,以及其中,所述提取单元基于与所述特定被摄体的出现频率相关的设置信息来提取所述替换候选图像。

说明书 :

图像处理方法、图像处理装置和存储介质

技术领域

[0001] 本公开涉及一种图像处理方法,图像处理装置和非易失性计算机可读存储介质,尤其涉及一种对图像数据执行诸如编辑等处理的图像处理方法,图像处理装置和非易失性计算机可读存储介质。

背景技术

[0002] 已开发了一种在模板的槽内布局诸如照片等图像数据来创建相薄(相册)的技术。在自动向槽分配图像时,可能不会分配用户喜爱的图像。在这种情况下,有必要使用户能够用新的图像对图像进行替换。在日本特开第5449460号公报中,基于摄像时间和摄像位置将多个图像分组,并将组与相薄的页相关联。在替换向槽分配的图像时,从与页相关联的组中选择替换候选图像并进行显示。
[0003] 如上所述,根据日本特开第5449460号公报,基于摄像时间和摄像位置将多个图像分组。因此,为了替换特定槽中的图像,提取具有相近的摄像时间和相近的摄像位置的图像作为替换候选图像。然而,没有考虑到图像中出现的被摄体,因此存在不会总是优先显示作为用户中意图像的替换候选图像的可能。

发明内容

[0004] 本公开提供一种通过考虑图像中的被摄体来提取反应用户偏好的替换候选图像的技术。
[0005] 根据本公开的一方面,一种图像处理方法包括:对多个图像数据执行被摄体识别处理;基于经过所述识别处理的多个图像数据中的至少一部分图像数据和模板数据,生成布局数据;基于所述布局数据控制布局图像在显示器上的显示;获取与特定被摄体的优先度相关的设置信息;以及响应于对显示的布局图像中的图像的替换请求,提取替换候选图像。在替换候选图像的提取中,基于与优先度相关的设置信息提取替换候选图像。
[0006] 根据以下参照附图对示例性实施例的详细描述,本发明的其他特征将变得清楚。

附图说明

[0007] 图1是能够执行根据本公开的应用的硬件框图。
[0008] 图2是根据本公开的应用的软件框图。
[0009] 图3是通过根据本公开的应用显示的显示画面的示意图。
[0010] 图4A和图4B是根据本公开的自动布局处理的处理流程图。
[0011] 图5是表示根据本公开的图像分析信息的表。
[0012] 图6A、图6B和图6C例示了根据本公开的图像划分。
[0013] 图7是表示根据本公开的场景分类的表。
[0014] 图8A和图8B是表示根据本公开的图像得分的表。
[0015] 图9A至图9I例示了根据本公开的图像选择。
[0016] 图10A和图10B是根据本公开的图像布局处理的示意图。
[0017] 图11是例示根据本公开的图像选择单元的框图。
[0018] 图12A和图12B是根据本公开的图像选择步骤的详细流程图。
[0019] 图13是详细例示根据本公开的模板设置单元的框图。
[0020] 图14例示了根据本公开的模板设置步骤的详细处理流程。
[0021] 图15是通过根据本公开的应用显示的显示画面的示意图。
[0022] 图16是显示根据本公开自动布局处理的结果的显示画面的示意图。
[0023] 图17例示了根据本公开的图像替换的处理流程。
[0024] 图18是显示根据本公开的替换候选图像的显示画面的示意图。
[0025] 图19A和图19B例示了搜索根据本公开的替换候选图像的详细处理流程。
[0026] 图20是表示根据本公开的替换候选图像的选择条件的示例的表。
[0027] 图21是表示根据本公开的替换候选图像的选择条件的示例的表。
[0028] 图22是通过根据本公开的应用显示的显示画面的示意图。
[0029] 图23A和图23B是通过根据本公开的应用显示的显示画面的示意图。

具体实施方式

[0030] 以下参考附图描述示例性实施例。以下实施例并不旨在限制本公开,并且本示例性实施例中描述的所有特征组合并不是本公开的解决方法所必须的。用相同的附图标记表示相同的构成要素,并且不重复描述构成要素。在以下实施例中,描述了启动信息处理装置上运行的用于相薄创建的应用程序(在下文中还被称作“相薄创建应用”)来自动创建布局的步骤。除非特别说明,否则这里使用的术语“图像”指用户拍摄的静止图像、运动图像(视频)或运动图像中的帧图像、或者从社交网络服务(SNS)下载的静止图像、运动图像(视频)或运动图像中的帧图像。
[0031] 图像处理装置的硬件配置
[0032] 图1是根据本公开的示例性实施例的图像处理装置的硬件配置的框图。图像处理装置的示例包括个人计算机(PC)和智能手机。根据本示例性实施例,图像处理装置是PC。如图1所示,图像处理装置100包括通过数据总线109相互连接的中央处理单元(CPU)101、只读存储器(ROM)102、随机存取存储器(RAM)103、硬盘驱动器(HDD)104、显示器105、键盘106、鼠标107和数据通信设备108。
[0033] CPU 101是对图像处理装置100执行全局控制的系统控制单元。此外,CPU 101根据计算机程序执行下述根据本示例性实施例的图像处理方法。尽管图1例示了的单一的CPU,但CPU的数量并不限于一个。可以采用多个CPU。
[0034] ROM 102存储CPU 101执行的计算机程序以及操作系统(OS)。在CPU 101执行程序时,RAM 103提供临时存储各种信息的存储器。HDD104是用于例如存储图像文件和保持诸如图像分析等的处理结果的数据库的存储介质。根据本示例性实施例,HDD 104存储用于相薄创建(下文将详细描述)的应用程序。
[0035] 显示器105是向用户示出根据本示例性实施例的用户界面(UI)和图像布局的结果的设备。显示器105可以具有触摸传感器功能。键盘106是输入设备的一种,并用于例如向显示器105上显示的UI输入预定信息。根据本示例性实施例,经由键盘106输入相薄(相册)的跨页数。鼠标107是输入设备的一种,并用于例如点击显示器105上显示的UI上的按钮。
[0036] 数据通信设备108是用于与诸如打印机或服务器等的外部设备通信的设备。例如,向与经由数据通信设备108与PC连接的打印机或服务器(均未例示)发送自动布局数据。此外,数据通信设备108接收服务器或SNS上的静止图像数据和运动图像数据。
[0037] 数据总线109将上述单元(102至108)与CPU 101连接。
[0038] 图像处理装置的功能配置
[0039] 下文将描述图像处理装置的功能配置。图2是根据本示例性实施例的相薄创建应用的软件框图。根据本示例性实施例,在用户使用鼠标107双击显示器105上显示的应用图标时启动HDD 104中存储的相薄创建应用。相薄创建应用具有多种功能。根据本示例性实施例,尤其描述了通过自动布局处理单元219提供的自动布局功能。如图2所示,应用包括相薄创建条件指定单元201和自动布局处理单元219。自动布局功能是用于根据照片的内容或属性对照片进行分类和筛选,布局照片,并生成要在显示器105上显示的相薄图像的功能。
[0040] 通过使用鼠标107,相薄创建条件指定单元201根据UI上执行的操作对自动布局处理单元219指定相薄创建条件。根据本示例性实施例,指定的相薄创建条件包括主人公,跨页数,模板类型,相薄创建模式以及关于是否进行图像较正的信息。此外,能够指定表示优先地布局图像中出现的哪个被摄体的被摄体优先条件。可以使用诸如拍摄日期和时间等的个别图像数据的附属信息和属性信息来指定静止图像/运动图像。可选地,还可以使用基于诸如device或目录等包括静止图像/运动图像数据的文件系统的结构的信息。请注意,在显示处理中,跨页对应于一个显示窗口。在打印处理中,跨页对应于在不同的片材上打印的相邻的一对页面。
[0041] 运动图像获取单元202从HDD 104获取通过相薄创建条件指定单元201指定的运动图像组(运动图像数据组)。这里使用的术语“运动图像组”指在创建相薄时要用于布局从运动图像剪切的图像的候选运动图像组。通过使用OS中嵌入的视频解码器解压获取的压缩运动图像数据,以能够对图像执行分析。
[0042] 运动图像分析单元203分析运动图像获取单元202获取的运动图像数据。作为运动图像数据的分析结果,基于获取的运动图像的压缩信息确定运动量大或小。可选地,可以基于摄影师的摄像技巧(例如,变焦和摇射)识别用户的关注帧。此外,可以将诸如人脸检测等的被摄体检测和摄像模糊/背景虚化(散焦)分析与上述分析结合来对图像评分。通过分析处理,能够识别出色取景(good shot)位于运动图像中的位置。
[0043] 帧获取单元204基于运动图像分析单元203的分析结果从运动图像中剪切帧,并作为图像数据将帧存储在HDD 104中。此时,帧获取单元204与剪切的图像数据相关联地存储运动图像分析单元203检测的运动量,摄像技巧以及评分。在存储图像数据后,帧获取单元204可以基于评分确定诸如“用于相薄的图像”或“用户在创建相薄后针对替换使用的候选图像”等的图像数据的用途信息,并与图像数据相关联地存储用途信息。
[0044] 图像获取单元205从HDD 104获取通过相薄创建条件指定单元201指定的图像组(图像数据组)。运动图像获取单元202可以经由数据通信设备108从诸如网络上的服务器或SNS等的存储区域获取图像组。这里使用的术语“图像组”指在相薄的创建中使用的候选图像组。例如,在相薄创建条件指定单元201中,如果将条件“XXXX年1月1日至XXXX年12月31日”指定为针对要布局的图像的拍摄日期和时间的条件,则获取XXXX年1月1日和XXXX年12月31日之间拍摄的所有图像数据作为图像组。
[0045] 存储区域(例如,HDD 104)中存储的图像的示例包括静止图像和从运动图像剪切出来的剪切图像。从诸如数码相机和智能设备等的摄像设备获取静止图像和剪切图像。摄像设备可以配置在图像处理装置100或外部装置中。当摄像设备配置于外部设备中时,经由数据通信设备108获取图像。静止图像和剪切图像可以是经由数据通信设备108从网络或服务器获取的图像。从网络或服务器获取的图像的示例是社交网络服务图像(以下简称为“SNS图像”)。通过CPU 101执行的程序分析附属于个别图像的数据,并确定文件源。可以经由应用从SNS获取SNS图像,由此可以通过应用管理SNS图像的来源。该图像并不限于上述图像。可以使用其他种类的图像。
[0046] 图像转换单元206转换通过图像获取单元205获取的图像数据的像素数信息和颜色信息。请注意,通过图像转换单元206预先决定转换后的图像数据的像素数信息和颜色信息,并且在相薄创建应用或相薄创建应用使用的参数文件中预先存储该信息。根据本示例性实施例,将图像获取单元205获取的图像数据转换为具有由短边上420像素定义的像素数和sRGB的颜色信息的图像数据。
[0047] 图像分析单元207分析图像数据。根据本示例性实施例,图像分析单元207分析通过图像转换单元206转换的图像数据。更具体地说,从转换的图像数据获取特征量。此后,执行转换的图像数据的被摄体检测、人脸检测、检测的人脸的面部表情识别和使用检测的人脸的个人识别(识别处理)。此外,从图像获取单元205获取的未转换图像数据附属的数据(例如,Exif信息)中获取摄像日期和时间信息。可以使用图像数据的创建日期和时间或修改日期和时间来代替从Exif信息获得的摄像日期和时间。可选地,还可以使用与上传图像数据到服务器或SNS或者从服务器或SNS下载图像数据的日期和时间相关的信息。在下文中,还可以使用该日期和时间信息作为摄像日期和时间信息。
[0048] 图像分类单元208通过使用摄像日期和时间信息,图像个数和检测的人脸信息对图像数据执行(下文描述的)场景划分处理和场景分类处理。术语“场景”指拍摄的图像的场景,诸如“旅行”、“日常生活”、“婚礼”等。例如,场景表示在某段时间的摄像机会处拍摄的图像数据的集合。
[0049] 主人公信息输入单元209向图像评分单元210输入相薄创建条件指定单元201指定的主人公的ID(识别信息)。
[0050] 图像评分单元210对各个图像数据进行评分,以使适合布局的图像数据具有高分。根据图像分析单元207获得的信息和图像分类单元208获得的信息进行评分。可以附加或可选地使用其他信息。根据本示例性实施例,图像评分单元210对各个图像数据进行评分,以使得包含从主人公信息输入单元209输入的主人公ID的图像数据具有高分。
[0051] 跨页数输入单元211向跨页分配单元212输入相薄创建条件指定单元201指定的相薄中的跨页数。
[0052] 跨页分配单元212划分图像组(成为子图像组)并向跨页中的一者分配各个子图像组。跨页数输入单元211根据输入的跨页数划分图像组,并向跨页中的一者分配各个子图像组。例如,在跨页数为5时,跨页分配单元212将获取的图像组划分为5份以形成5个子图像组,并向跨页中的一者分配各个子图像组。尽管参照根据跨页数划分的图像组和向跨页中的一者分配的各个划分的子图像组描述了本示例性实施例,但可以根据页数划分图像组,并可以向页中之一分配各划分的子图像组。
[0053] 图像选择单元213基于图像评分单元210对图像数据给予的得分从跨页分配单元212向各跨页分配的子图像组选择图像数据。
[0054] 模板设置单元214从HDD 104读取与相薄创建条件指定单元201指定的模板信息(模板数据)对应的多个模板。此后,模板设置单元214将模板输入到图像布局单元215。根据本示例性实施例,在HDD 104中存储的相薄创建应用中保存多个模板。此外,多个模板中的各个包括例如与整个模板的大小相关的信息和与模板的槽数以及各槽的大小和位置相关的信息。
[0055] 图像布局单元215确定跨页的布局。更具体地说,从模板设置单元214输入的多个模板中选择适合图像选择单元213选择的图像数据的模板,并确定各图像的布局位置。通过这种方式确定跨页的布局。
[0056] 布局信息输出单元218根据图像布局单元215确定的布局执行显示控制,以输出用于在显示器105上显示布局图像的布局信息。布局图像是例如包括通过图像选择单元213选择的图像数据表示的、并在选择的模板中配置的图像的图像。布局信息是表示图像的位图数据。
[0057] 图像校正单元217执行诸如遮光校正(亮度校正),红眼校正和对比度校正等的校正处理。图像校正条件输入单元216向图像校正单元217输入针对相薄创建条件指定单元201指定的图像校正的ON/OFF条件。可以针对各类型的校正指定图像校正的打开/关闭操作,或者可以一次性针对所有类型的校正指定图像校正的打开/关闭操作。如果图像校正条件是ON,则图像校正单元217对图像数据执行校正处理。然而,如果图像校正条件是OFF,则图像校正单元217不对图像数据执行校正处理。请注意,图像校正单元217根据图像校正的ON/OFF设置对从图像转换单元206输入的图像数据执行校正处理。根据图像布局单元215确定的布局图像的大小能够改变从图像转换单元206向图像校正单元217输入的图像数据的像素数信息。根据本示例性实施例,在生成布局图像后对各图像数据执行图像校正。但图像校正并不限于此。可以在模板中布局(配置)图像之前执行各图像数据的校正。
[0058] 例如,以如图3所例示的格式在显示器105上显示从布局信息输出单元218输出的图像数据。
[0059] 在替换布局的图像时,替换候选图像搜索单元220用作图像替换控制单元,其在图像数据组中搜索其中一个可能会替换布局的图像的候选图像,并提取符合搜索条件的图像。更具体地说,替换候选图像搜索单元220通过参照相薄创建条件指定单元201指定的被摄体优先条件和图像选择单元213及图像评分单元210执行的处理结果来提取候选图像。在接收到提取结果后,图像布局单元215和布局信息输出单元218生成布局数据,并基于作为显示单元的显示器上显示的布局图像(布局结果)执行控制来替换布局图像中的图像中一个图像。以下参照图16和后续附图更详细地描述该处理。
[0060] 根据本示例性实施例,在图像处理装置100中安装了相薄创建应用后,在图像处理装置100上运行的OS(操作系统)的顶部画面(桌面)上显示开始图标。如果用户使用鼠标107在显示器105上显示的桌面上双击开始图标,则将HDD 104中存储的相薄创建应用的程序载入RAM103。通过CPU 101执行RAM 103的程序,并启动相薄创建应用。
[0061] 相薄创建时的设置画面
[0062] 图3例示了通过启动的创建应用提供的UI配置画面301的示例。在显示器105上显示UI配置画面301。用户经由UI配置画面301设置(下文更详细描述的)相薄创建条件,以使得相薄创建条件指定单元201获取用户指定的设置信息。UI配置画面301上的路径框302表示用于相薄创建的图像/运动图像组在HDD 104中的定位(路径)。在用户使用鼠标107点击文件夹选择按钮303时,以树形结构显示包括用于相薄创建的图像/运动图像组的文件夹,以使得用户能够选择文件夹。此时,在路径框302中显示包括用户选择的图像/运动图像组的文件夹的文件夹路径。
[0063] 主人公指定图标304是用户用于指定主人公的显示项。以图标形式显示人脸图像。在主人公指定图标304中,并排显示其上具有不同人脸图像的多个图标。用户能够通过使用鼠标107点击图标之一来选择图标。通过这种方式,将与选择的图标对应的人设置为要创建的相薄的主人公。请注意,各人脸图像与个人ID相关联。此外,主人公指定图标304用于从通过要分析的图像数据表示的图像中识别作为中心人物的主人公。例如,预先从通过图像数据表示的图像中检测出人脸图像,并将人脸图像与个人ID相关联地注册在人脸数据库中。
主人公指定图标304是例如其上具有用户在人脸数据库中注册的人物人脸图像中选择的人物人脸图像或者通过下述方法确定的人物人脸图像的图标。可选地,通过图4A和图4B中例示的程序能够自动设置主人公。
[0064] 跨页数框305从用户接收相薄的跨页数的设置。用户使用键盘106向跨页数框305输入数字。可选地,用户通过使用鼠标107从列表中选择数字以直接向跨页数框305输入数字。
[0065] 模板指定图标306是用于显示针对各模板的主题(例如,流行样式或时尚样式)的示例图像的显示项。在模板指定图标306上并排显示多个模板图标。用户能够通过使用鼠标107点击图标来选择一个模板图标。此时,将与选择的图标对应地模板设置为用于相薄创建的模板。根据本示例性实施例,模板包括用于配置图像数据的图像配置帧(槽)。在模板的槽内嵌入图像数据。通过这种方式完成布局图像。
[0066] 模式指定单元307是针对要创建的相薄的模式设置的显示项。请注意,相薄的模式是在模板中优先布局包含预定被摄体的图像的模式。根据本示例性实施例,提供了“人(人像)”、“动物”和“美食”三种模式。例如,在选择“人”模式时,在模板中优先放置各包括人的图像。可选地,例如,当选择“动物”模式时,在模板中优先放置各包括动物的图像。可选地,例如,当选择“美食”模式时,在模板中优先放置各包括美食的图像。此外,还提供在模板中优先放置表示包括除上述三种类型的被摄体外的被摄体的图像的图像数据的模式。此外,可以同时选择多个模式。在这种情况下,在模板中优先放置与选择的模式对应的、包含多个类型的被摄体中的至少一者的图像。通过使用鼠标107点击与多个模式对应的图标中的任何一者,用户能够选择图标。因此,将与选择的图标对应的模式设置为要创建的相薄的模式。尽管参照用户经由模式指定单元307选择的相薄的模式描述了本示例性实施例,但可以通过例如CPU 101自动地选择模式。在这种情况下,CPU 101通过分析图像获取单元205获取的图像数据组来识别图像数据组中最频繁出现的被摄体的类别。其后,CPU 101选择与识别的类别对应的模式。
[0067] 应当注意,被摄体可以是个体(人情况中的个人),或者可以是如图3中所例示的生物(如“人”或“动物”)的分类类别中的一种。可选地,被摄体可以是个体所属(例如,“家庭”或“宠物”)的组。即,被摄体不仅可以是个体,还可以是将个体分类了的类别。能够根据可识别的等级界定模式指定单元307中的被摄体。
[0068] 由于在布局图像时,通过模式指定单元307指定的主要被摄体的优先度高,因此在对各图像给予得分时,向包含通过模式指定单元307指定的主要被摄体的图像的得分增加额外的得分。此外,最好在(下文参照图17至图20详细描述的)针对替换的候选图像提取条件中使用模式指定单元307的指定结果。
[0069] 复选框308从用户接收图像校正的ON/OFF设置。如果勾选了复选框308,则开启图像校正。然而,如果没有勾选复选框308,则关闭图像校正。请注意,将UI配置画面301设计为一次性地打开或关闭所有校正处理。然而,还可以将UI配置画面301设计为打开或关闭各个校正处理。OK按钮309是从用户接收表示设置完成的信息的按钮。在用户使用鼠标107点击OK按钮309时,相薄创建条件指定单元201获取在UI配置画面301上设置的信息。其后,相薄创建条件指定单元201向自动布局处理单元219输出获得的设置信息。此时,向图像获取单元205发送路径框302中设置的路径。此外,向主人公信息输入单元209发送在主人公指定图标304中选择的主人公的个人ID。此外,向跨页数输入单元211发送向跨页数框305输入的跨页数。此外,向模板设置单元214发送通过模板指定图标306选择的模板信息。向图像校正条件输入单元216发送在复选框308中对图像校正的ON/OFF设置。
[0070] 重置按钮310是用于重新设置UI配置画面301上显示的所有设置信息的按钮。请注意,除了UI配置画面301上显示的设置信息外,还可以进行其他设置。例如,还可以进行运动图像的设置和图像/运动图像的供给源的设置。在这种情况下,在UI设置画面301中包括例如服务器名称框、服务器选择按钮、运动图像用途复选框和目标时间段框等。
[0071] 服务器名称框表示包括用于相薄创建的图像组的服务器或SNS的名称。此外,服务器选择按钮用于以列表形式显示包括用于相薄创建的图像组的服务器或SNS的名称,以使用户能够选择服务器名称或SNS名称中的一者。此时,在服务器名称框中显示用户选择的服务器名称或SNS名称。如果在服务器名称框中显示着服务器名称或SNS名称的状态下,用户使用鼠标107点击OK按钮309,则显示用户用于登录指定的服务器或SNS的登录画面。在用户通过显示的登录画面上的用户操作完成向指定的服务器或SNS的登录后,CPU 101能够从指定的服务器或SNS获取图像数据。
[0072] 运动图像用途复选框从用户接收关于是否要将在路径框302中指定的文件夹中或者在服务器名称框中指定的服务器或SNS中存储的运动图像用于相薄创建的设置。如果勾选了运动图像用途复选框,则将服务器或SNS上存储的运动图像用于相薄创建。然而,如果没有勾选运动图像用途复选框,则不将服务器或SNS上存储的运动图像用于相薄创建。
[0073] 目标时间段框从用户接收针对要用于相薄创建的静止图像/运动图像组中的图像的拍摄日期和时间范围的条件设置。此外,目标时间段框显示指定的日期和时间范围。如果在目标时间段框中显示着日期和时间范围的状态下使用鼠标107点击OK按钮309,则选择并提取在指定日期和时间范围期间拍摄的静止图像组/运动图像组来用于相薄创建。
[0074] 自动布局处理的流程
[0075] 图4A和图4B是例示通过根据本示例性实施例的相薄创建应用执行的自动布局处理的流程图。通过例如CPU 101将与HDD 104中存储的相薄创建应用对应的程序加载到ROM 102或RAM 103中并执行该程序,来执行图4A和图4B中例示的流程图中处理。下文参照图4A和图4B描述自动布局处理。如下所述,根据本示例性实施例,为了创建相薄,根据摄像日期和时间将用于相薄创建的图像组划分为子组,并从各子组中选择要在页面中配置的图像。
[0076] 在步骤S401中,CPU 101通过相薄创建条件指定单元201指定相薄创建条件。更具体地说,例如,CPU 101经由图3中例示的画面从用户接收相薄创建条件。上文已参照图3详细描述过相薄创建条件的设定。
[0077] 在步骤S402中,CPU 101通过使用运动图像获取单元202获取要搜索的存储区域中包括的运动图像数据。上文在对运动图像获取单元202的描述中已经详细描述了运动图像数据的获取。请注意,能够使用例如图3中例示的画面(例如,服务器名称框)设置要搜索的存储区域。例如,将HDD 104、服务器或SNS设置为要搜索的存储区域。在步骤S401中,CPU 101能够确定要搜索的存储区域。
[0078] 在步骤S403中,CPU 101使用运动图像分析单元203分析步骤S402中获取的运动图像数据。上文已在对运动图像获取单元202的描述中详细描述了运动图像数据的分析。
[0079] 在步骤S404中,CPU 101使用帧获取单元204从在步骤S403中分析的运动图像数据中剪切帧,并以图像数据的形式将剪切的帧存储在HDD 104中。上文已在对帧获取单元204的描述中详细描述了从图像数据剪切帧的处理。
[0080] 在步骤S405中,CPU 101确定是否对要搜索的存储区域中包括的所有运动图像数据完成了步骤S402至S404中的处理。如果没有对所有运动图像数据完成处理(在步骤S405中为“否”),则处理返回获取未处理运动图像数据的步骤S402。然而,如果对所有运动图像数据完成了处理(在步骤S405中为“是”),则处理进入步骤S406。
[0081] 在步骤S406中,CPU 101通过使用图像获取单元205获取要搜索的存储区域中包含的图像数据。请注意,如运动图像数据的获取设置,能够使用例如图3中例示的画面(例如,服务器名称框)设置要搜索的存储区域。例如,将HDD 104、服务器或SNS设置为要搜索的存储区域。在步骤S401中,CPU 101能够确定要搜索的存储区域。此时获取的图像数据包括通过步骤S401至S405执行的处理从运动图像数据中剪切帧而获取的图像数据。请注意,如果手动制作图像布局,可以进行从步骤S406至步骤S426的处理。
[0082] 在步骤S407中,CPU 101使用图像转换单元206转换图像数据。上文已在对图像转换单元206的描述中详细描述了图像数据的转换。
[0083] 在步骤S408中,CPU 101从在步骤S407中通过图像分析单元207转换了的图像数据中获取特征量。特征量的示例是焦点。为了检测边缘并获得焦点的特征量,可以采用例如广泛使用的索贝尔滤波器。能够通过使用索贝尔滤波器检测边缘并用边缘的起点和终点之间的亮度差除以起点和终点之间的距离来计算边缘梯度,即,亮度梯度。从图像中的边缘的平均梯度的计算结果看,能够认为平均梯度大的图像比平均梯度小的图像更加聚焦。因此,通过针对梯度设置多个不同的阈值,并确定图像的平均梯度大于或等于哪个阈值,能够输出焦点量的评估值。
[0084] 根据本示例性实施例,预先设置两个不同的阈值,并在三个等级(A、B和C)上确定焦点量。通过实验等预先设置阈值,以使要针对相薄采用的焦点梯度的评估值为“A”,许可的焦点梯度的评估值为“B”,不接受的焦点梯度的评估值为“C”。可以通过例如相薄创建应用的供应商来提供阈值的设置。可选地,可以许可经由用户界面设置阈值。
[0085] 在步骤S409中,CPU 101通过图像分析单元207对在步骤S407中转换的图像数据执行被摄体检测处理。首先,CPU 101从通过步骤S407中转换的图像数据表示的图像中检测人的人脸。可以采用广泛应用的技术执行人脸检测处理。例如,采用从多个准备好的弱分类器中生成强分类器的Adaboost。根据本示例性实施例,通过Adaboost创建的强分类器检测人(被摄体)的人脸图像。除了提取人脸图像外,CPU 101还获得检测到的人脸图像的左上坐标值和右下坐标值。通过获得这两种坐标值,CPU 101能够获取人脸图像的位置和大小。请注意,CPU 101还能够通过使用Adaboost执行人脸检测处理获得与检测到的被摄体的可靠度相关的信息。下文将详细描述可靠度。在步骤S409中,除了检测人脸外,CPU101还可以通过Adaboost生成强分类器来检测诸如动物(如,狗或猫)、花、美食、建筑或雕像等被摄体。通过这种方式,CPU 101还能够检测出除人脸外的被摄体。根据本示例性实施例,在步骤S409中,除检测人脸的处理外,CPU 101还执行检测动物和美食的处理。
[0086] 在步骤S410中,CPU 101使用图像分析单元207执行个人识别(识别处理)。更具体地说,CPU通过评估步骤S409中提取的人脸图像和人脸字典数据库中针对各个人ID存储的代表性人脸图像之间的相似度来执行个人识别。CPU 101确定步骤S409中提取的人脸图像和各代表性人脸图像之间的相似度,并将从步骤S409中提取的人脸图像的ID设置为在具有大于或等于阈值的相似度的人脸图像中具有最高相似度的代表性人脸图像的ID。即,将与具有大于或等于阈值的相似度的人脸图像中具有最高相似度的代表性人脸图像对应的人识别为与步骤S409中提取的人脸图像对应的人。请注意,如果步骤S409中提取的人脸图像和人脸字典数据库中保存的所有代表性人脸图像的各个之间的相似度小于阈值,则CPU 101向提取的人脸图像分配新的个人ID,并作为新人将人脸图像和个人ID注册在人脸字典数据库中。除人外,CPU 101还可以识别诸如动物等的被摄体。在步骤S410中,基于被摄体识别的结果向各图像添加识别信息。请注意,除了诸如个人ID等基于个体的识别信息外,还可以向各图像添加诸如人、动物和物件等基于类别的识别信息,来作为识别信息。
[0087] 将在步骤S408至S410中获取的各图像数据的图像分析信息500与用于识别图像数据的图像ID 501相关联,并存储在诸如RAM 103或HDD104等的存储区域。例如,如图5所示,以表格形式存储在步骤S408中获得的摄像日期和时间信息502和焦点评估结果504、在步骤S409中检测到的人脸图像数506,以及位置信息507。请注意,针对在步骤S404中获取的各个个人ID存储人脸图像的位置信息。此外,通过一个图像数据表示的图像可以包括多个人的人脸图像。在这种情况下,多个个人ID与表示包括多个人的人脸图像的图像的图像数据的图像ID 501相关联。如果图像不包括人脸,则没有个人ID与表示不包括人脸图像的图像的图像数据的图像ID 501相关联。根据本示例性实施例,仅管理人脸图像数和人脸图像的位置。然而,还可以管理其他被摄体(例如,动物的脸或者美食)的个数和被摄体的位置。
[0088] 图像属性503表示各图像数据的属性。例如,从运动图像数据剪切的,并保存的图像数据具有“运动图像”属性。此外,例如,从SNS服务器获取的图像数据具有“SNS”属性。如上所述,属性可以是表示是从静止图像获取,还是从运动图像获取图像数据的信息,或者可以关于与存储了图像数据的存储区域(如,SNS服务器或HDD)的信息。即,根据本示例性实施例,属性是关于图像数据的供给源的信息。请注意,可以通过除上述方法外的方法对属性分类。还可以将各属性分类为诸如“通过数码相机拍摄的静止图像”和“通过智能设备拍摄的静止图像”等的子组。可以通过表示图像数据是否与各属性对应的标记来管理各图像数据的属性。
[0089] 被摄体类别505表示在各图像数据表示的图像中包括的被摄体的类别(种类)以及类别的可靠度。请注意,CPU 101能够使用例如Adaboost检测在各图像数据表示的图像中包括的被摄体。此时,CPU 101还检测在图像数据表示的图像中包括的被摄体的类别和类别的可靠度。Adaboost级联对图案分类的弱分类器来形成强分类器。因此,在相薄创建应用预先使用Adaboost执行学习处理,并且通过图像数据表示的图像包括与预定类别对应的图案匹配的大量弱分类器时,特定图像数据中的预定类别的被摄体的可靠度会提高。请注意,在此示例中,使用Adaboost检测被摄体并获得可靠度。然而,可以使用包括DeepNeuralNetwork的ConvolutionalNeuralNetwork检测被摄体并获得可靠度。
[0090] 根据本示例性实施例,检测到“人”,“动物”和“美食”三种类别的被摄体,并且在被摄体类别505中存储与各图像数据表示的图像中检测的被摄体的类别相关的信息。即,被摄体类别505是表示各图像数据表示的图像中包括的被摄体属于哪种类别的信息。请注意,使用例如标记来管理信息。
[0091] 类别的可靠度是与类别成为通过图像数据表示的图像中包括的被摄体的类别的概率相关的信息。因此,随着类别可靠度的提高,类别成为通过图像数据表示的图像中包括的被摄体的类别的概率也会提高。请注意,可靠度可以是例如表示通过图像数据表示的图像中的各被摄体的大小的值。在这种情况下,例如,可靠度高的类别的被摄体的大小大于可靠度低的类别的被摄体的大小。不在被摄体分类505中存储与通过图像数据表示的图像中不包括的被摄体对应的类别信息。此外,以类别可靠度的递减顺序在被摄体类别505中的TOP 1、TOP 2和TOP 3栏中存储类别。请注意,如果通过图像数据表示的图像包括4种或以上类别的被摄体,可以设置诸如TOP 4和TOP 5栏。
[0092] 在步骤S411中,CPU 101确定是否对要搜索的存储区域中包括的所有图像数据完成了步骤S407至S410中的处理。如果还没有对所有图像数据完成该处理(在步骤S411中为“否”),则处理返回获取未处理图像数据的步骤S406。如果对所有图像数据完成了该处理(在步骤S411中为“是”),则处理进入步骤S412。
[0093] 在步骤S412中,CPU 101使用图像分类单元208执行场景划分处理。执行场景划分处理以基于场景将步骤S401至S411中获得的所有图像数据划分成多个图像组,并作为多个图像组来管理图像。更具体地说,CPU101基于使用步骤S408中获取的摄像日期和时间信息计算的、图像数据之间的摄像日期和时间的时间差,以将所有图像数据划分为多个图像组。在下文的描述中,将通过划分所有的图像数据(主图像组)获得的各图像组称为“子图像组”。根据本示例性实施例,通过使用例如以下方法来执行场景划分处理。如果第N个最早拍摄的图像数据和第N+1个最早拍摄的图像数据之间的摄像日期和时间的差小于或等于1天,则如下述进一步执行处理。如果第N个最早拍摄的图像数据和第N+1个最早拍摄的图像数据之间的摄像日期和时间的差大于或等于16小时,则在第N个最早拍摄的图像数据和第N+1个最早拍摄的图像数据之间设置组边界。此外,在拍摄的任意两个暂时相邻的图像数据之间的摄像日期和时间的差小于16小时的情况下,如果在一天内拍摄的、图像的图像数据组中,第一个拍摄的图像数据和最后一个拍摄的图像数据之间的摄像日期和时间的差小于4小时,则将在一天内拍摄的图像的图像数据组定义为子图像组(组)。然而,如果在一天内拍摄的图像的图像数据组中,第一个拍摄的图像数据和最后一个拍摄的图像数据之间的摄像日期和时间的差大于或等于4小时,并且如果一天内拍摄的图像数据数(即,一天内拍摄的图像数)小于50,则将一天内拍摄的图像的图像数据组定义为子图像组(组)。在图6A中例示了此种拍摄的图像数据的分组方法的示例。在图6A至图6C中,横坐标表示摄像日期和时间(越向左配置的图像越旧,越向右配置的图像越新),而纵坐标表示拍摄的图像数据数。在图6A中,将拍摄的图像数据组划分成8个子图像组。图6A中的箭头表示组边界。请注意,在上述场景划分方法中,仅例示了针对摄像日期和时间的时间差的阈值以及针对拍摄的图像数据数的阈值,但阈值并不限于上述值。请注意,将通过划分生成的图像组称“划分的图像组”,并且针对各个场景形成一个划分的图像组。
[0094] 在步骤S413中,CPU 101使用图像分类单元208执行场景分类处理。更具体地说,CPU 101针对各类型的场景对步骤S412中通过场景划分处理获得的各子图像组进行评分。除非后述的场景分类的可靠度低,否则将子图像组分类为具有最高得分的场景类型。在下文的描述中,将步骤S413中的评分称作“场景分类评分”。根据本示例性实施例,场景的类型是“旅行”、“日常生活”和“典礼”,并且描述了作为这些场景中的一者的子图像组的分类示例。在场景分类评分中,使用了场景分类表。场景分类表存储与各类型的场景对应的特征量相关的信息。
[0095] 下文描述了程序中预存的场景分类表的创建方法。程序的开发者预先收集各分类为“旅行”、“日常生活”和“典礼”场景中的一者的多个图像数据组,并首先对收集的图像数据组获得特征量。此时获得的特征量的示例包括拍摄的图像的日期和时间范围、拍摄的图像数和图像中的人数。拍摄的图像的日期和时间范围表示各图像数据组中最初拍摄的图像数据和最后拍摄的图像数据之间的时间差。拍摄的图像数表示各图像数据组中拍摄的图像的个数。图像中的人数表示各图像数据组中的各图像中包含的人脸的平均数。因此,针对由多个图像数据组成、并预先分类为例如旅行场景的各个图像数据组获得特征量(即,摄像日期和时间范围、拍摄的图像数和图像中的人数)。请注意,特征量并不限于图像的摄像日期和时间范围、拍摄的图像数和图像中的人数。可以使用其他特征量。可选地,可以只使用一个特征量。
[0096] 其后,同样地,预先针对其他图像数据组获得特征量(图像的摄像日期和时间范围、拍摄的图像数和图像中的人数)。随后,基于从针对各场景收集的多个图像数据组获得的特征量,获得摄像日期和时间范围的平均值和标准偏差、拍摄的图像数的平均值和标准偏差和每图像的人数的平均值和标准偏差。通过将以这种方式获得的值与各类型的场景关联,生成表示针对各类型场景的平均值和标准偏差的场景分类表。
[0097] 根据本示例性实施例,图7中例示的表700用作场景分类表。在表700中,与场景ID 701相关联地注册摄像日期和时间范围702、拍摄的图像数703和每图像的人数704中的各个的平均值和标准偏差。在开始场景分类处理前,CPU 101在诸如ROM 102或HDD 104等的存储区域中存储表700。请注意,可以预先将表700并入相薄创建应用的程序中,或者可以并入除相薄创建应用外的程序中。
[0098] 下文将描述场景分类评分处理。在启动相薄创建应用后,CPU 101针对在步骤S412中通过用户使用路径框302或服务器名称框指定的图像数据组执行的场景划分处理而形成的各个子图像组计算得分。计算的得分的示例包括拍摄的图像的日期和时间、拍摄的图像数和图像中的人数的各个特征量的得分。CPU 101针对各子图像组计算图像的日期和时间范围、拍摄的图像数和图像中的人数的得分,并使用图7中例示的各场景的平均值和标准偏差从方程式(1)和(2)计算各子图像组的平均分。请注意,在表700中注册下述方程式中与预定类型的场景对应的预定特征量的平均值和与预定类型的场景对应的预定特征量的标准偏差。此外,对图像的日期和时间范围、拍摄的图像数和图像中的人数这三个特征项的各个获得特征量。因此,在此示例中,特征项的数量是3。
[0099] CPU 101使用方程式(1)获得针对各类型场景和各特征量的子图像组的得分:
[0100] 针对子图像组的与预定类型的场景对应的预定特征量的得分=50‑|10×(与预定场景类型对应的预定特征量的平均值‑子图像组的预定特征量)/与预定类型的场景对应的预定特征量的标准偏差|……(1)
[0101] 由此获得,例如在子图像组中,与“旅行”场景对应的图像的日期和时间范围、拍摄的图像数和图像中的人数的各个的得分。请注意,除了“旅行”场景的得分外,CPU 101还获得其他类型的场景的得分。
[0102] 随后,为了获得针对各类型的场景的子图像组的得分,CPU将使用方程式(1)获得的得分平均化,如下:
[0103] 针对预定类型的场景的子图像组的得分=(摄像日期和时间范围的得分+拍摄的图像数的得分+图像中的人数的得分)/特征项数……(2)
[0104] 通过这种方式,获得针对例如“旅行”、“日常生活”和“典礼”场景的子图像组的得分。请注意,CPU 101对各子图像组执行场景分类评分处理。
[0105] 由此,针对各子图像组计算“旅行”、“日常生活”和“典礼”的得分。其后,CPU 101将子图像组的场景分类为具有最高得分的场景。例如,如果与在图6A中的场景划分后的场景5对应的子图像组5的图像日期和时间范围为36小时,拍摄的图像数为300以及每图像的人数为1.7,则针对“旅行”的子图像5的得分是45.32,针对“日常生活”的得分是18.38以及针对“典礼”的得分是‑29.92。由此,将子图像组5分类为具有最高得分的场景的“旅行”。请注意,通过使用场景ID管理将哪个子图像组分类为哪个场景,以便能够识别。还请注意,如果获得了相同场景得分,则CPU101根据预定的优先度将子图像组分类为其中的一种场景。更具体地说,CPU 101将子图像组分类为在具有相同得分的场景中具有最高优先度的场景。根据本示例性实施例,优先度的顺序如下:日常生活>典礼>旅行。然而,优先度顺序并不限于此。例如,可以允许用户设置优先度顺序。
[0106] 在步骤S414中,CPU 101确定是否对在步骤S412中获得的所有子图像组完成了步骤S413中的场景分类处理。如果还没有对所有子图像组完成场景分类处理(在步骤S414中为“否”),则处理返回对未处理的子图像组执行场景分类处理的步骤S413。如果对所有子图像组完成了场景分类处理(在步骤S414中为“是”),则处理进入步骤S415。
[0107] 在步骤S415中,CPU 101使用图像评分单元210执行主人公设置处理。对用户指定的图像组执行主人公设置处理。自动或手动地执行处理。基于步骤S410中执行的个人识别处理的结果和步骤S412中执行的场景划分处理的结果,CPU 101能够获取图像数据组中的各个人ID的出现次数,各场景中的各个人ID的出现次数和各个人ID出现的场景的个数。在选择自动设置方法时,CPU 101在不使用用户指定的状态下基于上述信息自动设置主人公。根据本示例性实施例,在将用户指定的图像数据组针对各场景划分为多个划分的图像数据组时,CPU 101将主人公ID设置为在多个场景中频繁出现的个人ID。此外,在由单一场景组成图像数据组时,CPU 101将主人公ID设置为在单一场景中频繁出现的个人ID。可选地,在用户指定了主人公指定图标304时,CPU 101将经由主人公信息输入单元209指定的个人ID发送给图像评分单元210。在用户指定个人ID时,忽略以上述方式自动设置的主人公ID,并且CPU 101将主人公ID设置为用户指定的个人ID。将此设置称作“手动设置”。
[0108] 在步骤S416中,CPU 101使用图像评分单元210执行图像评分处理。步骤S416中执行的图像评分处理是给予通过后述观点对各图像数据进行评估而获得的得分(评分)的处理。在选择表示要在模板中放置的图像的图像数据时使用该得分(下文更详细地进行描述)。根据本示例性实施例,进一步考虑运动图像分析单元203做出的分析结果,对通过从运动图像数据剪切帧而获得的图像数据给予得分。下文参照图8A和图8B以及图10A和图10B描述评分方法。
[0109] 图10A例示了用于布局图像数据的模板组。模板组中包含的多个模板中的各个与跨页中的一者对应。模板1001包括主槽1002和子槽1003和1004。主槽1002是模板1001中最引人注意的槽(放置了图像的帧)。主槽1002在尺寸上比子槽1003和1004大。请注意,模板中可能配置了通过作为相同类型的场景分类的图像数据表示的图像,或者通过作为不同类型的场景分类的图像数据表示的图像。在步骤S416中,CPU 101执行向图像数据给予与图像数据所属类型的场景对应的主槽的得分和子槽的得分两者的处理。
[0110] 在图像评分处理中,使用槽特征表。槽特征表针对各类型场景存储关于要在主槽和子槽中采用的图像的特征量的信息。
[0111] 下文描述槽特征表的生成方法。图8A是针对“旅行”、“日常生活”和“典礼”各场景汇总的主槽和子槽所采用的图像数据的特征的表。在作为各类型的场景分类的图像数据中,通过程序的开发者收集与主槽要采用的图像特征相匹配分类的多个图像数据。另外,还收集与子槽要采用的图像特征相匹配分类的多个图像数据。即,收集与图8A中例示的特征匹配图像数据。其后,图像分析单元207提取诸如各收集的图像数据中的人脸图像数、人脸图像位置、人脸图像大小等特征量。随后,图像分析单元207针对各槽类型(主槽和子槽)的各类场景计算所提取的特征量的平均值和标准偏差。从而生成槽特征表。请注意,在执行图像评分处理前,在诸如ROM 102和HDD 104等的存储区域中预先存储槽特征表。可以提前将槽特征表嵌入相薄创建应用的程序中,或嵌入除相薄创建应用外的程序中。
[0112] 请注意,如图8A所例示,评分标准根据槽类型变化。例如,在特定的子图像组的场景类型是“旅行”时,针对主槽,在子图像组中包括的图像中包含人和风景的图像得分具有高分,而针对子槽,包含特写脸和侧脸的图像得分具有高分。此外,例如,在特定子图像组的场景类型是“日常生活”时,针对主槽,在子图像组中包括的图像中包含特写脸和侧脸的图像得分具有高分,而针对子槽,包含人和风景的图像具有高分。此外,例如,在特定子图像组的场景类型是“典礼”时,针对主槽,在子图像组中包括的图像中包含彼此接近的两个人的图像具有高分,而针对子槽,包括大量人的图像具有高分。如上所述,要评估的特征,即评估标准,根据场景类型和槽类型变化。
[0113] 在图像评分处理中,CPU 101对与图像数据所属的场景类型对应的各模板的槽的图像数据进行评分,如下:
[0114] 针对与预定类型的槽对应的预定特征量的图像数据的得分=50‑|10×(与图像数据所属的预定场景和预定类型的槽对应的特征量的平均值‑图像数据的预定特征量)/与图像数据所属的预定类型的场景和预定类型的槽对应的预定特征量的标准偏差|……(3)。
[0115] 请注意,从步骤S413中执行的场景分类处理的结果能够识别用户指定的图像数据组的图像数据所属的场景类型。此外,在槽特征表中注册与预定类型的场景和预定类型的槽对应的预定特征量的平均值和与预定类型的场景和预定类型的槽对应的预定特征量的标准偏差。此外,针对主人公ID的人脸图像数、人脸图像的位置和人脸图像的大小这三个特征项获得特征量。因此,在此示例中,特征项的个数是3。
[0116] 因此,获得例如与作为“旅行”场景分类的图像数据的主槽对应的“主人公ID的人脸数”的得分。除了与主槽对应的特征量的得分外,CPU 101还获得与子槽对应的特征量的得分。此外,除了“主人公ID的人脸数”的得分外,CPU 101还获得与“人脸的位置”和“人脸的大小”对应的特征量的得分。
[0117] 随后,CPU 101使用以下方程式(4)将通过方程式(3)获得的得分平均化,以获得预定槽的图像数据的得分。
[0118] 特定槽的图像数据的得分=(与图像数据所属的场景类型和预定槽对应的人脸数的得分+人脸位置的得分+人脸大小的得分)/特征项数……(4)。
[0119] 通过这种方式,对主槽和子槽两者的图像数据执行评分。
[0120] 此外,根据本示例性实施例,CPU 101基于相薄创建条件指定单元201指定的模式对如上述计算的得分加分。更具体地说,例如,CPU 101根据模式指定单元307指定的模式和各图像数据的被摄体分类结果进行加分。例如,在将相薄的模式设置为“人”的情况下,如果图5例示的被摄体类别505中包括“人”类别,则CPU 101进行加分。然而,如果被摄体类别505中不包括“人”类别,则CPU 101不进行加分。请注意,可以根据“人”类别的可靠度和可靠度等级的顺序改变此时增加的分数。在“动物”和“美食”模式中,以与“人”模式相似的方式进行加分。如果指定了多种模式,则CPU 101针对各个设置模式进行加分。即,在例如将相薄模式设置为“人”和“动物”时,如果被摄体类别505包括“人”和/或“动物”类别,则CPU 101进行加分。请注意,如果被摄体类别505包括“人”和“动物”类别,则CPU 101加上包括“人”类别时要增加的分数和包括“动物”类别时要增加的分数两者。
[0121] 请注意,CPU 101对用户指定的图像数据组中的各图像数据执行图像评分处理。将通过图像评分处理得出的得分用作随后在步骤S423中执行的图像选择处理中的选择标准。如上所述,即使针对相同的图像数据,选择标准也根据分类的场景而不同。由于期望用于相薄的图像是对焦的,因此可以对在图5中例示的表中具有焦点特征量为“A”的图像ID的图像的得分加上预定的分数。此外,由于具有高像素数的图像在被放置在相薄上时有锯齿,因此可以对表示具有高像素数的图像的图像数据的得分加上预定的分数。
[0122] 图8B例示了布局评分处理的评分结果的示例。表800表示针对各主槽和子槽的、在图像ID栏801中列出的各图像数据的评分结果。针对图像ID栏801中注册的各图像注册得分802。例如,在图8B中,针对主槽,向图像ID为1的图像给20分,并且针对主槽,向图像ID为2的图像给45分。即,表800表明针对主槽,图像ID为2的图像比图像ID为1的图像更接近用户的判断标准。
[0123] 此外,根据本示例性实施例,在如上述给予得分的情况下,针对主槽和子槽两者,CPU 101向从运动图像数据进行剪切而获得的图像数据的得分加上与运动图像分析单元203的分析结果对应的分数。请注意,通过参照图5中例示的表中的图像属性503,CPU 101能够识别哪个经过了评分处理的图像数据是通过从运动图像数据进行剪切而获得的图像数据。
[0124] 此外,如果简单地将得分加到通过从运动图像数据进行剪切而获得的图像数据上,图像数据的得分极有可能均高于从静止图像获得的图像数据的得分。因此,例如,CPU 101从通过从运动图像数据进行剪切而获得的各个图像数据的得分减去向通过从运功图像数据剪切而获得的图像数据增加的分数的平均值。可选地,CPU 101可以将平均值加到从静止图像数据获得的所有图像数据的得分上。通过采用这种技术,将比向从静止图像数据获得的图像数据增加的分数高的分数加到从运动图像数据进行剪切而获得的图像数据中具有高加分的图像数据上。即,执行评分处理,在通过从运动图像数据进行剪切而获得的图像数据中,更优先地选择具有更高加分的图像数据。
[0125] 在步骤S417中,CPU 101确定是否对通过图像获取单元205获取的所有图像数据执行了步骤S416中的图像评分处理。如果还没有对所有图像数据执行处理(在步骤S417中为“否”),则处理返回到对未处理图像数据执行图像评分处理的步骤S416。如果对所有图像数据执行了该处理(在步骤S417中为“是”),则处理进入步骤S418。
[0126] 根据本示例性实施例,CPU 101使用图像布局单元215在各模板(各跨页)中放置通过包括各场景的图像数据表示的图像来生成多个布局图像。因此,场景的个数需要与模板的个数相同(预定的跨页数)。
[0127] 因此,在步骤S418中,CPU 101使用跨页分配单元212确定通过步骤S412中的场景划分获得的场景数(子图像组的个数)与通过跨页数输入单元211输入的跨页数相同。如果个数不相同(在步骤S418中为“否”),则处理进入步骤S419。然而,如果个数相同(在步骤S418中为“是”),则处理进入步骤S422。例如,如图6A所例示,如果场景数是8,并且向跨页数输入单元211输入的数是8,则处理进入步骤S422。
[0128] 在步骤S419中,CPU 101使用跨页分配单元212确定通过步骤S412中的场景划分获得的场景数是否小于通过跨页数输入单元211输入的跨页数。如果场景数不少于(大于)输入的跨页数(在步骤S419中为“否”),则处理进入步骤S421。然而,如果场景数少于跨页数(在步骤S419中为“是”),则处理进入步骤S420。例如,如图6A所例示,如果场景数是8,而向跨页数输入单元211输入的数是10,则场景数比跨页数少。因此,处理进入步骤S420。
[0129] 在步骤S420中,CPU 101使用跨页分配单元212执行子场景划分处理。在子场景划分处理中,如果划分的场景数比跨页数少,则再划分通过场景划分处理生成的各场景。下文将基于如图6A所例示的划分的场景数是8,而指定的跨页数是10的假设进行描述。图6B例示了图6A中执行的子场景划分处理的结果。在此示例中,更细致地设置了划分的间隔,并且在虚线箭头指示的时间点处执行划分,以将划分数设置为10。
[0130] 下文将描述划分标准。在图6A例示的划分中,搜索具有大量图像数据的划分范围。在这种情况下,为了使划分数增加2(从8到10),选择各具有大量图像数据的两个范围。即,从与划分的图像数据组对应的场景中,以划分的图像数据中包括的图像数据数的递减顺序选择要再划分的场景。如果存在与图像数据数相同的划分的图像数据对应的场景,则选择在对应的划分的图像数据中包含的图像数据之间的摄像日期和时间的最大差值中的较大的一者的场景。如果仍然难以进行选择,则例如可以优先地再划分与包括更早生成的图像数据的划分的图像数据对应的场景。
[0131] 在图6A中,在对应的划分的图像数据组中包括的图像数据数最多的场景是场景5,随后依次为场景1和场景2。场景1和2具有相同的数据数。然而,在场景2中,在对应的划分的图像数据组中最初生成的图像数据和最后生成的图像数据之间具有更大的时间差。因此,划分场景2。即,在图6A中,划分各场景5和场景2。
[0132] 首先描述场景2的划分。场景2具有两个图像数据数的峰值,并且两个峰值中的一个中包含的图像数据的拍摄日期和时间与另一个中的图像数据的不同。因此,在图6B中,在通过虚线箭头指示的、与摄像日期和时间发生变化的时间点对应的时间点处划分图像数据。接下来描述场景5的划分。场景5具有三个图像数据数的峰值。如场景2,在这三个峰值中包含的图像数据的摄像日期和时间不同。在场景5中,存在摄像日期和时间发生变化的两个时间点。在这种情况下,基于摄像日期和时间划分图像数据,以使划分后的图像数据数的差减小。即,在图6B中,在通过虚线箭头指示的时间点处划分图像数据。
[0133] 通过这种方式,划分数,即场景数从8变为10。更具体地说,在场景再划分处理中,如果选择的场景包括具有不同摄像日期和时间的图像数据,则划分场景以使得具有不同摄像日期和时间的各图像数据组形成新的场景。此外,如果摄像日期和时间范围是三天或更长,则划分场景以使得划分的场景中包含的图像数据数的差最小并且在相同的场景中包括具有相同摄像日期和时间的图像。以上,作为示例描述了在摄像日期和时间发生变化的时间点处划分场景。然而,如果要划分的场景中的图像数据的摄像日期和时间在一天内,则在一天内拍摄的图像数据中在摄像时间上的时间差最大的时间点处划分场景。通过上述步骤,使场景数和跨页数相同。可以再次将通过划分生成的场景分类,或者可以继续应用划分前的场景分类。
[0134] 在步骤S421中,CPU 101使用跨页分配单元212执行场景合并处理。在场景合并处理中,如果场景划分数>相薄的跨页数,则合并划分的场景(子图像组)。更具体地说,CPU 101执行场景合并处理,以使场景数与跨页数相同。在此示例中,如图6A所例示,场景划分数是8,而指定的跨页数是6。图6C例示了图6A中例示的场景的合并结果。通过合并各虚线指示的时间点前后的场景,将划分数设置为6。
[0135] 下文描述了合并标准。首先,CPU 101在划分的场景中检测图像数据数少的场景。在此示例中,为了将场景数从8减少为6,检测到图像数据数少的两个场景。在图6A中,在对应的划分的图像数据组中包含的图像数据数最少的场景是场景8,随后依次是场景3和场景
7。请注意,场景3和场景7具有相同的数据数。
[0136] 然后,CPU 101选择在对应的划分的图像数据组中包括的图像数据数最少的场景8作为要合并的场景。其后,由于场景3和7的在对应的划分的图像数据组中包含的数据数相同,则CPU 101确定要合并哪一个。在此示例中,由于要合并与场景7邻近的场景8(由于合并场景7和场景8),因此选择场景3作为要合并的场景。
[0137] 随后,CPU 101确定是否使要合并的子图像数据组与对应的划分的图像数据组中包含的图像数据的摄像日期和时间更早的场景或对应的划分的图像数据组中包含的图像数据的摄像日期和时间晚于要合并的子图像数据组的场景合并。在这种情况下,CPU 101在与要合并的场景相邻的两个场景中选择在对应的划分的图像数据组中包括的图像数据之间的摄像日期和时间的时间差较短的场景作为目标合并场景。因此,在图6A中,要使场景2和场景4中的一者与场景3合并。因此,将场景3和作为与场景3相邻的场景中的一者的场景2之间以及场景3和作为与场景3相邻的场景中的一者的场景4之间在对应的划分的图像数据组中包括的图像的摄像日期和时间上的时间差进行比较。在这种情况下,场景3和场景4之间的时间差小于场景3和场景2之间的时间差。因此,CPU 101确定将场景3与场景4合并。即,在图6C中,在虚线指示的时间点处合并场景。
[0138] 如场景8,如果场景仅具有一个相邻场景,则CPU 101选择仅有的一个相邻场景作为目标合并场景。
[0139] 通过这种方式,在图6C中,合并通过虚线指示的时间点前后的场景。请注意,场景合并处理还包括,例如根据合并的场景更新场景中包括的关于图像文件的信息。根据本示例性实施例,将在摄像日期和时间上的时间差小的子图像组相互合并。然而,要合并的子图像组并不限于此。例如,可以将要合并的子图像组与包含的摄像图像数少的子图像组合并。
[0140] 在步骤S422中,CPU 101使用跨页分配单元212执行跨页分配处理。通过步骤S418至S421中执行的处理,使子图像组数和指定的跨页数相同。根据本示例性实施例,首先将摄像日期和时间最早的子图像组分配到第一跨页。即,以摄像日期和时间的升序将子图像组分配到相薄的跨页。通过这种方式,能够创建以摄像日期和时间的升序配置子图像组的相薄。请注意,在跨页中,不需要以摄像日期和时间的升序配置图像(下文更详细地描述)。
[0141] 在步骤S423中,CPU 101使用图像选择单元213执行图像选择处理。下文将参照图9A至图9I描述图像选择处理的示例。在此示例中,从分配到特定跨页的划分的图像数据组中选择四个图像数据。请注意,跨页是两页的区域。但是,最初的跨页和最后的跨页是一页的区域。
[0142] 图9A例示了向跨页分配的划分的图像数据组中的图像数据的最早摄像日期和时间和最晚摄像日期和时间的时间差(划分的日期和时间范围)。即,图9A例示了划分的图像数据组的日期和时间范围。在此示例中,首先针对主槽选择图像数据,其次针对子槽。在此示例中,与跨页对应的模板包括一个主槽1002。因此,作为第一图像选择的图像数据是用于主槽的图像数据。CPU 101在与图9B中例示的划分的日期和时间范围对应的图像数据中选择在步骤S416中得出的针对主槽的具有最高得分的图像数据(1)作为用于主槽的图像数据。
[0143] 作为第二图像及后续图像选择的图像数据是用于子槽的图像数据。以如下方式选择用于第二图像和后续图像的图像数据,以使得不会仅从划分的日期和时间范围的特定部分选择所有的图像数据。如图9C所例示,首先CPU 101将划分的日期和时间范围划分为两部分。然后,如图9D所例示,CPU 101在还没有从中选择用于第一图像的图像数据的划分的日期和时间范围的一部分的期间(如图9D中的实线示出的部分范围)内生成的图像数据中选择用于第二图像的图像数据。请注意,为了在还没有从中选择用于第一图像的图像数据的划分的日期和时间范围的部分期间内生成的图像数据中选择用于第二图像的图像数据,选择针对子槽的具有最高得分的图像数据(2)。其后,如图9E所例示,CPU 101将划分的日期和时间范围的两部分的各部分划分为两部分。其后,如图9F所例示,CPU 101在既没有选择用于第一图像的图像数据,也没有选择用于第二图像的图像数据的划分的日期和时间范围的两部分中的一部分期间(如图9F的实线示出的范围)内生成的图像数据中选择用于第三图像的图像数据。请注意,为了从既没有选择作为第一图像的图像数据,也没有选择作为第二图像的图像数据的划分的日期和时间范围的部分期间内生成的图像数据中选择用于第三图像的图像数据,选择针对子槽的具有最高得分的图像数据(3)。随后,为了从均没有选择用于第一图像、第二图像和第三图像的图像数据的划分的日期和时间范围的部分期间内生成的图像数据中选择用于第四图像的图像数据,选择针对子槽的具有最高得分的图像数据。
[0144] 例如,假设发生以下情况:在均没有选择第一、第二和第三图像数据的划分的日期和时间范围的部分中不存在生成的图像数据,因此,不能在划分的日期和时间范围的部分中生成的图像数据中选择第四图像数据。下文将描述在这种情况下的处理。如图9G所例示,假设不存在在还没有选择任何图像数据的划分的日期和时间范围的部分期间(通过图9G中的斜线表示的部分)内生成的图像数据。在这种情况下,如图9H所例示,CPU 101进一步将划分的日期和时间范围的各部分划分为两部分。然后,如图9I所例示,CPU 101在不是被确定没有在其中生成图像数据的部分,并且还没有在其中选择任何图像数据的划分的日期和时间范围的部分(如实线示出的部分)中生成的图像数据中选择第四图像数据。请注意,CPU 101从划分的日期和时间范围的部分中生成的图像数据中选择针对子槽的具有最高得分的图像数据(4)作为第四图像数据。
[0145] 图11更详细地例示了图像选择单元213的配置。图像选择单元213从向待处理跨页分配的子图像组中选择图像数据。
[0146] 图像个数设置单元1101设置要从向待处理跨页分配的子图像组中选择的图像数据的个数。即,图像个数设置单元1101设置向待处理跨页的布局图像中配置的图像的个数。请注意,例如,可以通过用户经由图3例示的设置画面输入此时设置的图像个数,或者可以预先对各跨页设置图像个数。
[0147] 图像组获取单元1102从通过图像获取单元205获取的图像组获取向待处理跨页分配的子图像组。此外,图像组获取单元1102获取各图像数据的摄像日期和时间信息、图像类型信息、被摄体分类信息、主槽得分和子槽得分。参照图5中例示的图像属性503能够获取图像类型信息。此外,参照图5中例示的被摄体分类信息505能够获得被摄体分类信息。
[0148] 循环计数器1103管理从通过图像组获取单元1102获取的子图像组选择图像数据的处理(图像选择处理)的迭代次数。更具体地说,循环计数器1103计数迭代次数的图像选择处理是从下文更详细地描述的步骤S1205至S1218中的处理形成的。管理的迭代次数用于确定要使用的得分轴,并用于设置要再次对向跨页分配的子图像组的日期和时间范围进行划分的划分次数。根据本示例性实施例,由于针对各循环选择一个要在模板中放置的图像,因此循环计数器1103计数的迭代次数与选定的图像数据的个数相同。
[0149] 得分轴设置单元1104根据循环计数器1103计数的处理的迭代次数设置图像选择处理中使用的得分轴。术语“设置要使用的得分轴”指“采用基于不同的得分轴的得分中的哪一个的设置”。在这种情况下,设置用于主槽的得分轴(针对主槽的评估标准)和用于子槽的得分轴(针对子槽的评估标准)中的一者。请注意,如果循环计数器1103计数的处理的迭代次数是0,选择要在主槽中放置的图像(主图)。由此参照基于主槽得分轴的得分。相比之下,如果循环计数器1103计数的处理的迭代次数是1或以上,则选择要在子槽中放置的图像(子图)。由此参照基于子槽得分轴的得分。在存在多个主槽的情况下,即使循环计数器1103计数的处理的迭代次数是1或以上,也可以参照基于主槽得分轴的得分。此外,得分轴设置单元1104可以根据例如已经选择的图像数据(选定的图像数据)的个数改变要设置的得分轴。在这种情况下,例如,如果选定的图像数据的个数是0,则选择要在主槽中放置的图像(主图),并且由此参照基于主槽得分轴的得分。相比之下,如果选定的图像数据的个数是1或以上,则选择要在子槽中放置的图像(子图),并由此参照子槽得分轴的得分。请注意,即使在这种情况下,在存在多个主槽时,即使选定的图像数据的个数是1或以上,也可以参照基于主槽得分轴的得分。
[0150] 划分单元1105将通过图像组获取单元1102获取的子图像组的日期和时间范围划分为预定个子范围。划分单元1105从通过图像组获取单元1102获取的子图像组的摄像日期和时间信息中识别向待处理跨页分配的子图像组的摄像开始日期和时间以及摄像结束日期和时间,并计算日期和时间范围。即,划分单元1105从子图像组中包含的图像数据的摄像日期和时间中识别最早摄像日期和时间以及最晚摄像日期和时间,并计算日期和时间范围。随后,划分单元1105基于循环计数器1103计数的迭代次数将计算的日期和时间范围划分为多个子范围。根据本示例性实施例,使C成为通过循环计数器1103计数的处理迭代次数。然后,划分单元1105大体均等地将日期和时间范围划分为2^C个子范围。然而,划分技术并不限于上述技术。例如,可以大体均等地将日期和时间范围划分为C个子范围。
[0151] 图像属性设置单元1106根据循环计数器1103计数的处理迭代次数设置在图像选择处理中选定的图像数据的属性。根据本示例性实施例,为了在相薄中配置各种各样的图像数据,相比从静止图像数据获取的图像数据(具有“静止图像”属性的图像数据),更积极地选择从运动图像数据获取的图像数据(具有“运动图像”属性的图像数据)。上传到SNS服务器的图像数据(具有“SNS”属性的图像数据)是用户特意选择并上传的图像数据,因此,更可能成为用户最喜爱的图像数据。因此,根据本示例性实施例,相比从静止图像数据获取的图像数据,更积极地选择从SNS服务器获取的图像数据。根据本示例性实施例,如果循环计数器1103计数的处理迭代次数是0,则图像属性设置单元1106将“SNS”设置为指定属性,以从具有“SNS”属性的图像数据中选择图像数据。此外,如果循环计数器1103计数的处理迭代次数是1,则图像属性设置单元1106将“运动图像”设置为指定属性,以从具有“运动图像”属性的图像数据中选择图像数据。如果循环计数器1103计数的处理迭代次数是2或以上,则将图像属性设置单元1106将“静止图像”设置为指定属性,以从具有“静止图像”属性的图像数据中选择图像数据。通过采用这种技术,能够控制要在各槽中放置的图像数据的属性。请注意,可以根据例如在图像选择处理中已经选择的图像数据的个数设置图像选择处理中选择的图像数据的属性。例如,在这种情况下,如果在图像选择处理中已经选择的图像数据的个数是0,则图像属性设置单元1106将“SNS”设置为指定属性,以从具有“SNS”属性的图像数据中选择图像数据。如果在图像选择处理中已经选择的图像数据的个数是1,则图像属性设置单元1106将“运动图像”设置为指定属性,以从具有“运动图像”属性的图像数据中选择图像数据。如果在图像选择处理中已经选择的图像数据的个数是2或以上,则图像属性设置单元1106将“静止图像”设置为指定属性,以从具有“静止图像”属性的图像数据中选择图像数据。
[0152] 请注意,通过循环计数器1103计数的处理迭代次数和与选定的图像数据的个数对应的属性并不限于此。在以上描述中,以“SNS”、“运动图像”和“静止图像”的顺序进行设置。然而,例如,可以以“运动图像”、“SNS”和“静止图像”的顺序进行设置。可选地,可以在没有指定属性的状态下进行设置。在这种情况下,将“无”设置为指定属性,以能够选择任何一种属性的图像数据。
[0153] 子范围信息设置单元1107根据划分单元1105划分的子范围划分通过图像组获取单元1102获取的子图像组中包含的图像数据。其后,子范围信息设置单元1107获取诸如在各子范围中拍摄的图像数据的摄像信息和得分等的信息。
[0154] 模式设置单元1108设置相薄创建条件指定单元201指定的相薄模式(“人”、“动物”和“美食”中的一者)。模式设置单元1108执行控制以在模板中放置包括与设置的模式对应的被摄体的图像。
[0155] 图像选择单元1109基于得分轴设置单元1104设置的得分轴、模式设置单元1108设置的模式和子范围信息设置单元1107管理的各子范围中的图像数据的得分执行图像选择处理。更具体地说,图像选择单元1109从各子范围中包含的、表示包含指定被摄体的图像的、具有指定属性的图像数据中选择具有最高得分的一个图像数据。按顺序设置指定的被摄体以使得不仅仅依靠得分选择图像数据。如果设置了指定被摄体,则在后续图像选择处理中选择表示包括指定被摄体的图像的图像数据。例如,如果指定被摄体是“动物”类别的被摄体,则在后续图像选择处理中选择表示包括“动物”类别的被摄体的图像的图像数据。请注意,能够设置多个被摄体作为指定被摄体。
[0156] 请注意,此时参照的得分是基于得分轴设置单元1104设置的得分轴获得的得分。如以上参照图9A至图9I所述,没有从不具有图像的子范围中选择图像。尽管参照针对各子范围在表示各包含指定被摄体的图像的、具有指定属性的图像数据中对具有最高得分的一个图像数据进行的选择描述了本示例性实施例,但选择处理并不限于此。例如,可以从各子范围选择各表示包含指定被摄体的图像的、并具有指定属性的图像数据中选择具有高分的多个图像数据。请注意,图像选择单元1109将包括在被摄体类别505的TOP 1至TOP 3栏的任意一栏中与指定被摄体对应的类别的图像数据视作表示包括指定被摄体的图像的图像数据。请注意,即使在被摄体类别505的TOP 1至TOP 3栏的任意一栏中包括与指定被摄体对应的类别,如果类别的可靠度等于或低于阈值,图像选择单元1109也不需要将图像数据视作表示包括指定被摄体的图像的图像数据。
[0157] 相似度确定单元1110确定通过图像选择单元1109选择的图像数据表示的图像是否与通过已经作为表示要在模板中放置的图像的图像数据而选择的图像数据表示的图像相似。如果相似度大于或等于阈值,则相似度确定单元1110确定图像彼此相似。然而,如果相似度小于阈值,则相似度确定单元1110确定图像彼此不相似。保留被确定为不相似的图像数据。删除被确定为相似的图像数据。相似度确定单元1110能够通过使用诸如模式匹配或SHIFT方法等公认的方法获得通过图像数据表示的图像之间的相似度。例如,在输出的通过图像数据表示的图像间的相似度是0~100的范围时,相似度越接近100,两者越相似。因此,如果通过图像数据表示的图像间的相似度大于或等于用于确定的阈值时,确定两者相似。然而,如果通过图像数据表示的图像间的相似度小于用于确定的阈值,则确定两者不相似。请注意,用于相似度确定的阈值可以根据表示要比较的图像的图像数据间的摄像日期和时间上的时间差而变化。例如,如果由于连拍等使得摄像日期和时间的差短(例如,少于15秒),则可以将用于确定的阈值设低(例如,60)。否则,可以将用于确定的阈值设高(例如,
80)。
[0158] 合并单元1111从表示通过相似度确定单元1110确定为不相似的图像的图像数据中识别表示要在模板中放置的图像的图像数据。更具体地说,合并单元1111从表示通过相似度确定单元1110确定为不相似的图像的图像数据中选择具有最高得分的图像数据作为表示要在模板中放置的图像的图像数据。在仅发现一个被确定为不相似的图像数据时,选择该图像数据。请注意,所述处理并不限于上述处理。例如,可以从不与包含选定的图像数据的子范围邻近的子范围中选择图像数据。
[0159] 图像管理单元1112作为选定的图像数据管理通过合并单元1111识别为表示要在模板中放置的图像的图像数据的图像数据。此外,图像管理单元1112确定选择的图像个数是否达到通过图像个数设置单元1101设置的图像个数(所需的图像个数)。在通过图像管理单元1112管理的选择的图像个数达到要求得图像个数之前,重复图像选择处理。此时,执行控制,以使得不重复选择选定的图像数据。
[0160] 尽管参照作为主图选择的图像数据和作为子图选择的图像数据包括相同的被摄体的示例对上文进行了描述,但图像数据可以包括不同的被摄体。例如,在循环计数为0时,选择主图。因此,在循环计数不为0时,可以改变循环计数为0时使用的指定被摄体。通过采用这种技术,作为主图选择的图像数据和作为子图选择的图像数据包括不同的被摄体。
[0161] 图12A和图12B是详细例示步骤S423中执行的图像选择处理的流程图。例如,CPU 101在将与HDD 104中存储的相薄创建应用对应的程序载入到ROM 102或RAM 103上后,执行图12A和图12B中例示的流程图。在图12A和图12B例示的流程图中,从向待处理跨页中的一者分配的子图像组中选择图像数据。因此,如果相薄是由多个跨页组成,则执行图12A和图
12B的流程图中例示的处理的次数等于跨页数。
[0162] 在步骤S1201中,CPU 101通过使用图像个数设置单元1101设置要从向待处理跨页分配的子图像组中选择的图像数据的个数。在上文对图像个数设置单元1101的描述中已经详细描述了该处理。
[0163] 在步骤S1202中,CPU 101使用图像组获取单元1102从图像获取单元205获取的图像组中获取要向待处理跨页分配的子图像组。在上文对图像获取单元1102的描述中已经详细描述了该处理。
[0164] 在步骤S1203中,CPU 101使用模式设置单元1108设置相薄的模式。在上文对模式设置单元1108的描述中已经详细描述了该处理。在执行步骤S1219中的处理时,CPU 101将相薄的模式切换为在步骤S1219中选择的模式,并执行后续处理。
[0165] 在步骤S1204中,CPU 101使用循环计数器1103计数步骤S1205中执行的图像选择处理的迭代次数。由于在初始状态中不执行图像选择处理,因此循环计数器1103上的计数是0。根据本示例性实施例,如果循环计数器1103上的计数是0,则在后续的图像选择处理中选择主图。然而,如果循环计数器1103上的计数是1或以上,则在后续的图像选择处理中选择子图。
[0166] 在步骤S1205中,CPU 101根据循环计数器1103计数的计数,使用得分轴设置单元1104设置后续图像选择处理中使用的得分轴。在上文对得分轴设置单元1104的描述中已经详细描述了该处理。
[0167] 在步骤S1206中,CPU 101根据循环计数器1103计数的计数,使用图像属性设置单元1106设置要在后续图像选择处理中选择的图像数据的属性。在上文对图像属性设置单元1106的描述中已经详细描述了该处理。
[0168] 在步骤S1207中,CPU 101使用划分单元1105将图像组获取单元1102获取的子图像的日期和时间范围划分为预定个子范围。在上文对划分单元1105的描述中已经详细描述了该处理。
[0169] 在步骤S1208中,CPU 101根据通过划分单元1105划分子图像组的日期和时间范围而获得、并通过划分单元1105管理的子范围来划分通过图像组获取单元1102获取的子图像组中包括的图像数据。其后,CPU 101获取与各子范围中拍摄的图像数据相关的信息(例如,摄像信息和得分)。
[0170] 在步骤S1209中,CPU 101确定通过划分单元1105划分子图像组的日期和时间范围获得并管理的子范围中是否选择了在关注子范围中拍摄的图像数据。如果选择了在关注子范围中拍摄的图像数据,则处理进入步骤S1216。然而,如果没有选择在关注子范围中拍摄的图像数据,则处理进入步骤S1210。请注意,由于在第一次循环中没有划分子图像组的日期和时间范围,因此关注子范围是子图像组的整个日期和时间范围。
[0171] 在步骤S1210中,CPU 101确定是否设置了指定被摄体。例如,可以通过步骤S1222中更新指定被摄体的处理将指定被摄体变更为“无”。因此,如果将指定被摄体变更为“无”,则由此没有设置指定被摄体,则处理进入步骤S1213。然而,如果没有将指定被摄体变更为“无”,则由此设置了指定被摄体,则处理进入步骤S1211。
[0172] 在步骤S1211中,CPU 101确定在关注子范围中拍摄的图像数据中是否存在表示包括指定被摄体的图像的、具有指定属性的图像数据。请注意,CPU 101能够通过参照在关注子范围中拍摄的各图像数据的图像分析信息500进行步骤S1211中的确定。更具体地说,CPU 101确定在关注子范围中拍摄的各图像数据是否表示包括指定被摄体的图像并具有指定属性。如果在关注子范围中拍摄的图像数据中的至少一者表示包括指定被摄体的图像并具有指定属性,则步骤S1211中的确定结果为“是”,并且由此处理进入步骤S1212。请注意,CPU 
101将在图像分析信息500的被摄体类别505的栏中具有指定被摄体的类别的图像数据确定为表示包括指定被摄体的图像的图像数据。请注意,CPU 101将在图像分析信息500的图像属性503的栏中具有指定被摄体的类别的图像数据确定为表示包括指定被摄体的图像的图像数据。
[0173] 如果不存在表示包括指定被摄体的图像的、具有指定属性的图像数据,则步骤S1211中的确定结果为“否”,并且由此处理进入步骤S1216,而不从关注子范围期间拍摄的图像数据中选择任何图像数据。
[0174] 可以根据循环计数器1103计数的处理迭代次数或选定的图像数据的个数来改变指定被摄体的类别(类型)。根据本示例性实施例,在循环计数器1103计数的处理迭代次数是初始值(0)时,在步骤S1222中改变指定被摄体之前,指定被摄体是与步骤S1203中设置的模式对应的类别的被摄体。
[0175] 在步骤S1212中,CPU 101选择在关注子范围中拍摄的图像数据中的一者。在上文对图像选择单元1109的描述中已经详细描述了该处理。在这种情况中,从表示各包括指定被摄体的图像的、具有指定属性的图像数据中选择具有最高得分的一个图像数据。因此,根据本示例性实施例,例如,与不包括指定被摄体并具有高分的图像数据相比,更积极地选择表示包括指定被摄体的图像的、具有低分的图像数据。此外,根据本示例性实施例,例如,与具有高分但不具有指定属性的图像数据相比,更积极地选择具有指定属性但具有低分的图像数据。
[0176] 如上所述,根据本示例性实施例,通过参照指定被摄体和指定属性来选择图像数据,而不是简单地仅参照得分来选择图像数据。通过采用这种技术,如果子图像组中存在符合条件的图像数据,则能够更加可靠地选择表示包括指定被摄体(主要是与设置模式对应的类别的被摄体)的图像的图像数据。即,能够更可靠地输出在布局中放置了包括指定被摄体的图像的布局结果。此外,如果子图像组中存在符合条件的图像数据,则能够更可靠地选择具有指定属性的图像数据,由此能够更可靠地输出在布局中放置了通过具有指定属性的图像数据表示的图像的布局结果。
[0177] 请注意,CPU 101通过参照图像数据的图像分析信息500能够确定通过各图像数据表示的图像是否包括指定被摄体并能够获取图像数据的属性和得分。即,如果图像分析信息500包括表示包括指定被摄体的信息,则CPU 101能够识别通过图像数据表示的图像包括指定被摄体。换言之,如果被摄体类别505中包括与指定被摄体对应的分类信息,则CPU101能够确定通过图像数据表示的图像包括指定被摄体。此外,如果图像分析信息500包括表示属性是指定属性的信息(即,如果图像属性503中包括与指定属性相关的信息),则CPU 101能够确定图像数据具有指定属性。因此,在步骤S1212中,CPU 101搜索在子范围期间拍摄的图像数据的图像分析信息500,并选择具有被摄体分类栏505中的指定被摄体的分类且具有图像属性503栏中的指定属性的图像数据。
[0178] 在步骤S1213中,CPU 101选择在关注子范围期间拍摄的图像数据中一者。在这种情况下,由于没有设置指定被摄体,则不参照指定被摄体。因此,仅从具有指定属性的图像数据中选择具有最高得分的图像数据。
[0179] 在步骤S1212和S1213中,如果不存在符合条件的图像数据,则处理进入下一步,而不选择任何一个图像数据。
[0180] 在步骤S1214中,CPU 1110通过使用相似度确定单元1110确定通过在步骤S1212或S1213中的处理中选择的图像数据表示的图像是否与通过前次循环中在步骤S1218中选择的图像数据表示的图像相似。上文在对相似度确定单元1110的描述中已经详细描述了该处理。如果确定图像不相似,则处理进入步骤S1216,并维持步骤S1212或S1213中进行的选择。然而,如果确定图像相似,则取消步骤S1212或S1213中进行的选择,即,不保留在步骤S1212或S1213中的处理中选择的图像数据(步骤S1215),并且处理进入步骤S1216。如果没有选择任何图像数据,则跳过步骤S1214中的处理,并且处理进入步骤S1216。
[0181] 在步骤S1216中,CPU 101确定是否对通过划分单元1105划分子图像组的日期和时间范围获得并管理的所有关注子范围执行了步骤S1212或步骤S1213中的处理。如果对所有关注子范围执行了图像选择处理,则CPU 101的处理进入步骤S1215。然而,如果还没有对所有关注子范围执行图像选择处理,则CPU 101选择还未被选择的任何一个子范围作为关注子范围,并再次执行步骤S1209中的处理和后续处理。
[0182] 在步骤S1217中,CPU 101确定是否对所有关注子范围执行了图像选择处理,并由此选择了至少一个图像数据。如果选择了至少一个图像数据,则CPU 101的处理进入步骤S1218。然而,如果没有选择图像数据,则CPU 101的处理进入步骤S1221。
[0183] 在步骤S1221中,CPU 101更新指定被摄体。请注意,更新后的指定被摄体的内容并不限于特定的内容。可以适当地设置内容。例如,可以根据预先设置的优先度更新指定被摄体,或者可以将在通过向待处理跨页分配的子图像组表示的多个图像中包括的被摄体更新为指定被摄体。可选地,可以将指定被摄体的设置设置为“无”。如果不需要进行更新(如果使用与前次循环相同的指定被摄体执行图像选择处理),则可以跳过步骤S1221中的处理。
[0184] 在步骤S1222中,CPU 101更新指定的属性。请注意,可以适当地设置更新后的指定属性。例如,可以根据预先设置的优先度更新指定属性,或者可以通过更新将向待处理跨页分配的子图像组中包括的许多图像具有的属性设置为指定属性。可选地,指定属性的设置可以是“无”。如果不需要进行更新(如果使用与前次循环相同的指定属性执行图像选择处理),则可以跳过步骤S1222中的处理。其后,处理进入基于在步骤S1221或S1222中更新的信息执行图像选择处理的步骤S1209。
[0185] 通过这种方式,如果执行S1221和S1222中至少一者中的处理,则变更要搜索的图像数据的条件。因此,CPU 101能够重新选择图像数据。如果CPU 101更新步骤S1221或S1222中的信息,则CPU 101将使用先前信息处理过的子范围视作还未处理的子范围,并由此再次对子范围执行步骤S1209和后续步骤中的处理。
[0186] 根据本示例性实施例,在步骤S1217中,如果确定没有选择图像数据,则CPU 101不更新指定被摄体,而首先更新指定属性。其后,CPU 101再次执行图像选择处理。如果即使在重复地更新指定属性后仍没有选择图像数据,则更新指定被摄体。
[0187] 在步骤S1218中,CPU 101通过使用合并单元1111从在步骤S1212中确定为不相似并被选择的图像数据中识别表示要在模板中放置的图像的图像数据。在上文对合并单元1111的描述中已经详细描述了该处理。
[0188] 在步骤S1219中,CPU 101通过使用图像管理单元1112而作为选定的图像数据来管理在步骤S1218中被识别为表示要在模板中放置的图像的图像数据的图像数据。在上文对图像管理单元1112的描述中已经详细描述了该处理。
[0189] 在步骤S1220中,CPU 101确定通过图像管理单元1112管理的选定的图像数据的个数是否达到图像个数设置单元1101设置的图像个数(所需的图像个数)。如果选定的图像数据的个数达到了所需的图像个数,则CPU 101完成图像选择处理,并且处理进入步骤S424。然而,如果选定的图像数据的个数没有达到所需的图像个数,则CPU 101的处理再次进入步骤S1204,在步骤S1204中,CPU 101将循环计数器1103中的值增加1,并再次执行图像选择处理。在增加计数器并增加处理C的迭代次数时,将日期和时间范围划分为比前次处理更多的子范围。更具体地说,根据本示例性实施例,将子图像组的日期和时间范围划分为在个数上等于前次划分个数的两倍的多个子范围。由于管理了大量的子范围,因此能够在步骤S1211中选择前次处理中没有选择的图像数据。此外,根据本示例性实施例,由于没有从包括已经选定的图像数据的子范围中选择图像数据,因此CPU 101不选择在与选定的图像数据的摄像日期和时间临近的日期和时间处拍摄的图像数据的可能性高。因此,选择了各种各样的图像数据。
[0190] 回到图4A和图4B,在步骤S424中,CPU 101通过使用模板设置单元214根据相薄创建条件指定单元201指定的模板信息来获取多个模板。
[0191] 在步骤S425中,CPU 101通过使用图像布局单元215确定待处理跨页的图像布局。此时,CPU 101首先从步骤S424中获取的多个模板中选择适合步骤S423中选择的图像数据的模板。下文参照图13和图14描述模板的确定方法。
[0192] 图13是在根据本示例性实施例的相薄创建应用中存储的、控制模板确定处理的软件的框图。
[0193] 选定图像信息获取单元1301获取步骤S424中选择的图像数据的个数和与选定的图像数据相关的信息。与图像数据相关的信息的示例包括通过图像数据表示的图像的长和宽、图像数据的摄像日期和时间信息以及图像数据的得分。
[0194] 模板选择单元1302从步骤S424中获取的模板中选择具有与步骤S424中选择的多个图像数据的个数相等的个数的槽的模板。
[0195] 选定图像整理单元1303按照摄像日期和时间的升序整理步骤S424中选择的图像数据。
[0196] 模板选择单元1304从通过模板选择单元1302选择的模板中选择适合主图的模板。根据本示例性实施例,图像数据的摄像日期和时间越早,在越靠近模板左上槽的槽中放置图像数据。图像数据的摄像日期和时间越晚,在越靠近右下槽的槽中放置图像数据。为了通过这种方式放置图像数据,首先,模板选择单元1304从选择的模板中选择具有位于与步骤S424中选择的图像数据中要用作主图的图像数据的摄像日期和时间的顺序对应的位置处的主槽的各模板。即,例如,如果要用作主图的图像数据的摄像日期和时间的顺序是第三,则模板选择单元1304选择具有的主槽是所有槽中从左数第三个槽的模板。请注意,由于通过选定图像整理单元1303整理图像数据,因此模板选择单元1304能够识别要用作主图的图像数据的摄像日期和时间的范围。最后,模板选择单元1305从以这种方式选择的模板中选择具有长宽比与主图的长宽比相同(或相近)的主槽的模板。
[0197] 模板选择单元1305从模板选择单元1304选择的模板中选择适合子图的模板。更具体地说,首先,模板选择单元1305选择具有位于与步骤S412中选择的图像数据中要用作子图的图像数据的摄像日期和时间的顺序对应的位置处的子槽的各模板。此外,模板选择单元1305从以这种放置选择的模板中选择具有长宽比与子图的长宽比相同(或相近)的子槽的模板。
[0198] 图14是例示用于创建根据本示例性实施例的布局图像的模板的确定处理的流程图。例如通过CPU 101将与HDD 104中存储的相薄创建应用对应的程序加载到ROM 102或RAM 103上,并执行该程序来执行图14中例示的流程图中的处理。
[0199] 在步骤S1401中,首先,CPU 101使用选定图像信息获取单元1301获取步骤S424中选择的图像数据的个数和与选定的图像数据相关的信息。在此示例中,在步骤S424中选择的图像数据的个数是3。在上文对选定图像信息获取单元1301的描述中已经详细描述了该处理。
[0200] 在步骤S1402中,CPU 101使用模板选择单元1302选择具有的槽数与在步骤S424中选择的图像数据的个数相等的模板。由于在步骤S424中选择的图像数据的个数是3,因此选择具有三个槽的模板。在这种示例中,假设选择图10A中例示的模板(1‑1)至(4‑4)作为各具有三个槽的模板。
[0201] 在步骤S1403中,CPU 101使用选定图像整理单元1303以摄像日期和时间的升序整理步骤S424中选择的图像数据。在这种示例中,假设通过三个图像数据表示的图像的摄像日期和时间的顺序如图10B所例示。此外,在这种示例中,图像1005是用于主槽的图像(主图),并且图像1006和1007是用于子槽的图像(子图)。
[0202] 在步骤S1404中,CPU 101使用模板选择单元1304从通过模板选择单元1302选择的模板中选择适合主图的模板。在上文对模板选择单元1304的描述中已经详细描述了该处理。如上所述,根据本示例性实施例,图像数据的摄像日期和时间越早,在越靠近模板左上槽的槽中放置图像数据。图像数据的摄像日期和时间越晚,在越靠近右下槽的槽中放置图像数据。此外,由于作为主图的图像1005具有最新的摄像日期和时间,并具有纵向细长的形状,因此在此示例中选择图10A中例示的模板(3‑1)至(3‑4)。
[0203] 在步骤S1405中,CPU 101使用模板选择单元1305在步骤S1404中选择的模板中选择适合子图的模板。在上文对模板选择单元1305的描述中已经详细描述了该处理。作为子图中一者的图像1006具有最早的摄像日期和时间,并具有纵向细长的形状。此外,作为另一个子图的图像1007具有第二最早摄像日期和时间,并具有横向细长的形状。因此,选择图10A中例示的模板(3‑2)。同时,确定在哪个子槽中放置哪个子图。
[0204] 通过这种方式,在步骤S425中,CPU 101确定要使用哪个模板创建布局图像,以及要在模板的哪个槽中放置哪个图像。更具体地说,CPU 101将与选择的模板中包括的各槽相关的信息和与槽中放置的图像对应的图像数据相关联地进行管理。
[0205] 在步骤S426中,CPU 101使用图像校正单元217执行图像校正。如果从图像校正条件输入单元216输入表示开启图像校正的设置,则CPU101执行图像校正。图像校正的示例包括亮度校正、红眼校正和对比度校正。然而,如果从图像校正条件输入单元216输入表示关闭图像校正的设置,则CPU 101不执行图像校正。即,处理直接从步骤S425进入步骤S427。例如,能够对甚至是短边1200像素并转换到sRGB颜色空间内的图像数据执行图像校正。
[0206] 在步骤S427中,CPU 101使用布局信息输出单元218生成布局信息。更具体地说,CPU 101将与步骤S425中选择的各槽对应的、经过了步骤S426中的图像校正的图像数据与槽相关联,并管理图像数据。请注意,此时使用的图像是在步骤S407中生成的分析图像。即,图像不是在步骤S408至S417中使用的图像。其后,CPU 101生成其中放置了图像的模板的位图数据。此时,CPU 101在图像不适合槽的情况下根据槽大小信息缩放要放置的图像,并放置图像。
[0207] 在步骤S428中,确定是否对所有跨页完成了步骤S423至S427中的处理。如果还没有对所有跨页完成处理(在步骤S428中为“否”),则处理返回步骤S423,并对未处理的跨页执行步骤S423至S427中的处理。然而,如果对所有跨页完成了处理(在步骤S428中为“是”),则自动布局处理完成。
[0208] 根据本示例性实施例,通过根据相薄的模式切换用于布局的图像,能够创建包括指定模式的主要被摄体的布局。此外,根据在运动图像分析时获得的运动量和得分改变通过从运动图像进行剪切获得的图像数据的评分和选择方法。因此,能够基于运动图像分析的结果选择图像,并由此布局能够反映具有运动图像能够提供的优点。
[0209] 自动布局的结果
[0210] 通过上述处理生成布局数据。在显示器105上显示生成的布局图像。图16是表示通过自动布局处理生成的布局图像的相薄的示意图。在图16中,通过相薄应用显示的显示区域1601包括上部的缩略图显示区域1602和下部作为布局图像的相薄1603的显示区域。缩略图显示区域1602包括相薄的跨页的缩略图。
[0211] 当用户在缩略图显示区域1602中选择想要的一张缩略图时,选择与缩略图对应的跨页,并使缩略图突出显示来作为缩略图1604。同时,在下部将与选定的缩略图1604对应的选定的跨页显示为相薄1603的选定页1604。在图16中,3至4页是选定页1604,并且在相薄1603的显示区域中显示这些页。将布局处理中选择的照片分配到照片槽1605。经由此显示画面使得能够通过编辑操作来编辑相薄1603。
[0212] 根据本示例性实施例,如图15所例示,在用于编辑布局图像的编辑画面中显示有UI 1501。UI 1501用于控制编辑过的相册中的主要被摄体的出现频率。UI 1501根据创建的相薄(未编辑的相薄)的模式显示信息。更具体地说,UI 1501显示用于控制包括与模式对应的被摄体的图像在编辑过的相薄中的出现频率(作为要在模板中放置的图像而选择的图像的频率)的条。例如,如果创建的相薄的模式是“动物”,则显示用于控制包括“动物”被摄体的图像在编辑过的相薄中的出现频率的条1504。根据本示例性实施例,以使不管相薄的模式是什么,都显示用于控制包括“人”被摄体的图像在编辑过的相薄中的出现频率的条1502的方式进行设计。此外,根据本示例性实施例,以使仅在相薄模式是“动物”或“美食”时显示用于控制包括除“人”外的被摄体(即,“动物”或“美食”被摄体)的图像的出现频率的条的方式进行设计。然而,设计并不限于此。可以总是显示条,而不管相薄模式是什么。
[0213] 其后,将参考创建的相薄的模式为“动物”来进行描述。用户能够通过输入操作来移动拖动手柄1503或拖动手柄1505控制包括与各条对应的被摄体的图像在编辑过的相薄中的出现频率。根据本示例性实施例,提供了“过多”,“正常”和“过少”这三个设置值,并根据基于用户输入的设置值(根据拖动手柄1503或拖动手柄1505的位置的设置值)控制各图像的出现频率。在用户按下OK按钮1506时,基于设置的条件编辑相薄。即,基于设置条件再次执行自动布局处理。更具体地说,再次执行步骤S416至S428中的处理。此时,适当地再次利用通过创建相薄时的步骤S401至S415中的处理获得的各信息。如果用户按下了取消按钮1507,则取消控制的出现频率,并关闭UI 1501。请注意,例如,在再次执行的自动布局处理中,可以再次执行步骤S423至S428中的处理。在这种情况下,在步骤S423中执行的图像选择处理中,参照创建相薄时在步骤S416中的得分(针对未编辑相薄的得分)。
[0214] 此外,根据本示例性实施例,能够执行使用新图像替换图像的操作(图像替换操作)。下文参照图17至图23A和图23B描述与图像替换相关的编辑操作和控制。
[0215] 在所有的编辑操作都完成后,用户选择按钮1606对编辑过的相薄进行订购。通过按下此按钮,经由网络将编辑过的相薄上传到购物车中。即,经由网络将相薄的数据上传到特定公司的服务器上。因此,用户能够使用公司提供的购物平台对相薄进行订购。
[0216] 图像替换
[0217] 下文将描述放置的图像的替换方法。图17是通过用作图像替换控制单元(替换候选图像搜索单元220)(参照图2)的CPU 101执行的图像替换控制的流程图。
[0218] 在步骤S1701中,首先,用户选择想要替换成其他图像的图像(以下也称为“要替换的图像”)。此时,CPU 101接收与用户选择的图像的槽相关的信息。更具体地说,用户选择向多个槽1605分配的图像中的一个图像。在此处理流程中,假设在执行步骤S1701前,用户已经输入了替换图像的指令。在此示例中,如果用户选择显示画面中的UI部分(例如,图像替换按钮),则请求进行图像替换。可以在用户选择用户想要替换的图像后输入指令。在这种情况中,在用户选择预定的图像时,显示“图像替换”图标。如果用户选择“图像替换”项,则CPU 101接收图像替换请求。在接收到图像替换请求后,CPU 101获取要替换的图像的槽的位置信息以及与选择的图像相关的信息。获取的图像信息的示例包括诸如图像中包含的被摄体的个人ID和分类信息,以及得分等的识别信息。
[0219] 在步骤S1702,CPU 101获得与特定被摄体的优先度相关的设置信息。在这种情况下,获取与参照图3描述的被摄体的模式设置相关的设置信息。因此,能够获取与优先的被摄体相关的信息。
[0220] 在步骤S1703中,CPU 101将选择的图像(要替换的图像)定义为用于搜索用于图像替换的替换候选图像的原始图像(以下称作“候选原始图像”)。在步骤S1704中,CPU 101列出在候选原始图像的附近获得的替换候选图像,并搜索替换候选图像中的一者,并提取替换候选图像。下文参照图19A和图19B更详细地描述替换候选图像的提取处理。在下文的描述中,也将替换候选图像简称为“候选图像”。
[0221] 在步骤S1705中,将步骤S1704中的提取结果显示为用于图像替换的候选图像。图18例示了步骤S1705中显示的用户界面1801的示例。用于示出候选图像的用户界面1801显示步骤S1704中提取的四个候选图像1802至1805。此外,提供了以下两个按钮:用于在用于替换的槽之前的槽中显示候选图像的按钮1808(以下称作“前候选按钮”),以及用于在用于替换的槽之后的槽中显示候选图像的按钮1809(以下称作“后候选按钮”)。此外,设置以下两个按钮:用于请求候选图像的变更的“其他候选”按钮1806以及用户取消替换操作的取消按钮1807。
[0222] 在步骤S1706中,CPU 101确定是否选择前候选按钮1808。如果选择了前候选按钮1808(在步骤S1706中为“是”),则处理进入步骤S1707,在步骤S1707中,CPU 101将向位于用于替换的槽之前的槽分配的图像定义为候选原始图像。
[0223] 然而,在步骤S1706中,如果没有选择前候选按钮1808(在步骤S1706中为“否”),则处理进入CPU 101确定是否选择后候选按钮1809的步骤S1708。在步骤S1708中,如果CPU 101确定选择后候选按钮1809(在步骤S1708中为“是”),则从处理进入步骤S1709,在步骤S1709中,将向位于用户最初选择的用于替换的槽之后的槽分配的图像定义为候选原始图像。
[0224] 在步骤S1708中,如果没有选择后候选按钮1809(在步骤S1708中为“否”),则从处理进入CPU 101确定是否选择“其他候选”按钮1806的步骤S1710。在步骤S1710中,如果选择了“其他候选”按钮1806(在步骤S1710中为“是”),则CPU 101确定不存在用户想要的候选图像,并且处理返回步骤S1704。在步骤S1704中,再次搜索候选图像。此时,CPU101搜索除之前作为候选图像选择的图像之外的候选图像。
[0225] 然而,在步骤S1710中,如果没有选择“其他候选”按钮1806(在步骤S1710中为“否”),则处理进入步骤S1711,在步骤S1711中,CPU 101确定用户是否选择了候选图像1802至1805中的一者。在步骤S1711中,如果选择了一个候选图像(在步骤S1711中为“是”),则CPU 101确定存在用户想要的候选图像,并且处理进入步骤S1712。然而,在步骤S1711中,如果确定是“否”,则处理再次返回步骤S1706。
[0226] 在步骤S1712中,CPU 101向用于替换的槽分配用户选择的候选图像。此外,在步骤S1712中,CPU 101在显示画面中显示向槽分配了选择的图像的新布局图像。通过形成步骤S1706至S1711的循环,CPU 101能够在从用户接收到指令之前等待下一处理。尽管图17中未作例示,但如果用户按下取消按钮1807,则此时CPU 101能够中断一系列的图像替换处理。
[0227] 替换候选图像的提取处理的详情
[0228] 下文将参照图19A和图19B描述与替换候选图像的提取相关的处理流程。图19A和图19B是详细例示步骤S1704中执行的处理的流程图。在步骤S1704中,CPU 101在候选原始图像的时间附近的图像中搜索候选图像,并提取候选图像。如这里所使用,术语“时间附近的图像”指位于与分区(如图9A至9I所例示)对应的摄像日期和时间子范围内的任何子图像组或者在预定时间段内的图像组。
[0229] 在图19A和图19B中,如图18所示,提取四个候选图像,并且使用图20中例示的条件表中表示的提取条件来提取四个候选图像。图20是表示在图3中例示的模式指定单元307考虑到与用户指定的主要被摄体的优先度相关的设置的情况中使用的提取条件的表格。例如,如果在模式指定单元307中选择图3例示的“人”,则使用图20中在“人”栏列出的提取条件。相比之下,如果在模式指定单元307中选择图3中例示的“动物”,则使用图20中在“动物”栏中的提取条件。如上所述,在不同的模式(“人”和“动物”)中使用不同的提取条件。
[0230] 如图19A和图19B所例示,首先,在步骤S1901中,获取与被摄体的优先度相关的设置(优先的被摄体的模式信息),并使用与优先度相关的设置和图20中例示的表格确定候选图像1的提取条件。以下,基于将“动物”选择为优先模式的假设进行描述。参照图20,在模式是“动物”时,候选图像1的提取条件是“人”和“动物”。因此,CPU 101设置图像包括人和动物两者的条件来提取图像作为候选图像1。
[0231] 随后,在步骤S1902中,CPU 101基于步骤S1901中设置的提取条件搜索图像。在步骤S1903中,作为步骤S1902中的搜索结果,CPU 101确定是否提取了符合条件的图像。在步骤S1903中,如果提取了符合条件的图像(在步骤S1902中为“是”),则处理进入步骤S1904,在步骤S1904中,将在步骤S1902中提取的图像设置为替换候选图像1。其后,处理进入步骤S1905。然而,在步骤S1903中,如果没有找到符合条件的图像(在步骤S1902中为“否”),则处理直接进入步骤S1905。
[0232] 在步骤S1905中,CPU 101设置提取条件和图像个数来提取候选图像2。从图20中可以看出,候选图像2的提取条件是“动物”。因此,CPU101设置图像包括动物,不包括人的条件来提取图像作为候选图像2。请注意,根据候选图像1的提取结果改变要提取的图像个数。例如,如果在步骤S1903中提取了候选图像1,则要提取的候选图像2的个数是1。然而,如果在步骤S1903中没有提取候选图像1,则将要提取的候选图像2的个数设置为2。即,如果没有找到符合第一提取条件的图像,则增加符合第二提取条件的图像个数,以最终提取并向用户示出四个候选图像。
[0233] 在步骤S1906中,基于在步骤S1905中设置的提取条件和要提取的图像的个数来搜索图像。在步骤S1907中,CPU 101确定是否提取了符合提取条件的图像。如果在步骤S1906中提取了符合条件的图像(在步骤S1907中为“是”),则处理进入将提取的图像设置为候选图像2的步骤S1908。其后,处理进入步骤S1909。然而,在步骤S1906中,如果没有找到符合条件的图像(在步骤S1907中为“否”),则处理直接进入步骤S1909。
[0234] 在步骤S1909中,CPU 101设置提取条件和图像个数来提取候选图像3。从图20中可以看出,候选图像3的提取条件是“人”。因此,CPU 101将图像包括人,不包括动物的条件设置为候选图像3的提取条件。请注意,根据候选图像1和候选图像2的提取结果改变要提取的图像的个数。更具体地说,根据候选图像1和候选图像2的搜索结果,要提取的候选图像3的个数在最大值3和最小值1之间变化。
[0235] 在步骤S1910中,CPU 101基于步骤S1909中设置的提取条件搜索图像。在步骤S1911中,CPU 101确定是否提取了符合提取条件的图像。在步骤S1910中,如果提取了符合条件的图像(在步骤S1911中为“是”),则处理进入步骤S1912,在步骤S1912中,将提取的图像设置为候选图像3。其后,处理进入步骤S1913。然而,如果在步骤S1910中没有找到符合条件的图像(在步骤S1911中为“否”),则处理直接进入步骤S1913。
[0236] 在步骤S1913中,CPU 101设置提取条件和图像个数来提取候选图像4。从图20可以看出,候选图像4的提取条件是“物件”。条件“物件”指图像既不包括人也不包括动物。因此,CPU 101将图像既不包括人也不包括动物的条件设置为候选图像4的提取条件。根据候选图像1、2和3的提取结果改变要提取的图像个数。更具体地说,根据候选图像1、2和3的搜索结果,要提取的候选图像4的个数在最大值4和最小值1之间变化。
[0237] 在步骤S1914中,CPU 101使用步骤S1913中设置的提取条件来搜索图像。在步骤S1915中,CPU 101确定是否提取了符合提取条件的图像。如果在步骤S1914中提取了符合条件的图像(在步骤S1915中为“是”),则处理进入步骤S1916。在步骤S1916中,将提取的图像定义为候选图像4,并且处理进入步骤S1917。然而,如果在步骤S1914中没有找到符合条件的图像(在步骤S1915中为“否”),则处理直接进入步骤S1917。
[0238] 在步骤S1917中,CPU 101确定候选图像的个数是否不足。在此示例中,如果提取了四个图像(在步骤S1917中为“否”),则CPU 101确定候选图像的个数充足并完成处理。然而,如果图像的个数小于4(在步骤S1917中为“是”),则处理进入步骤S1918,在步骤S1918中,从候选原始图像附近的图像中选择其余的候选图像。在这种情况下,提取条件能够是从摄像日期和时间与用于图像替换的槽中放置的图像的摄像日期和时间最接近的图像开始,以摄像日期和时间的顺序相继地选择图像。
[0239] 如上所述,通过基于被摄体的优先度提取替换候选图像,能够向用户示出符合用户偏好的预定数量的替换候选图像。例如,该候选图像比基于仅摄像日期或创建日期从预定时间段内的图像中提取的候选图像更能反映用户对被摄体的偏好。请注意,能够将图像的得分用作提取条件。在这种情况下,具有高分的图像在某种程度上反映了用户偏好。然而,并非所有具有高分的图像都具有用户分配的高的被摄体优先度。例如,即使用户在优先度模式中设置了“动物”,也存在在要搜索的图像组中仅包括人的图像比包括动物的图像具有更高分的情况。在这种情况下,如在本示例性实施例中,通过使用与特定被摄体的优先度相关的设置作为候选图像的提取条件,使关于图像中是否包括特定被摄体的确定优先,而不是使图像的得分优先。由此,更多地反映了用户分配的被摄体优先度。
[0240] 尽管参照对四个候选图像的选择进行了以上描述,但候选图像的个数并不限于此。针对诸如智能手机等显示区域小的设备,根据显示器的显示能力,候选图像的个数可以是两个或者可以变化。可选地,如果用户指定形成相薄的图像中的原始图像的个数少,则难以基于多个条件搜索候选图像。在这种情况下,可以根据图像的总数控制条件和候选个数。还请注意,提取条件并不限于图20中例示的条件。候选图像1的提取条件可以是图像包括动物但不包括人。因此,提取条件可以是反映被摄体优先度的任何条件。
[0241] 此外,在提取候选图像的情况下,如果提取的符合提取条件的图像个数比指定的提取图像的个数多,则从多个图像中选择具有高分的图像。例如,如果在提取两个候选图像2的情况下找到五个符合提取条件的图像,则能够从五个图像中提取两个具有高分的图像来作为候选图像2。与替换候选图像提取处理的详情相关的变型例
[0242] 此外,基于特定被摄体的优先度的设置并不限于上述特定被摄体的模式选择。例如,如图15所例示,可以将与指定被摄体的出现频率相关的设置用作基于优先度的设置。下文在指定的人数是“正常”并指定的动物数是“过多”的假设下参照图5描述提取处理。
[0243] 图21例示了表示用作优先度设置的图15中的出现频率设置的表格的示例。在设置替换候选图像的提取条件时参照该表格。如图21所例示,在人数是“正常”并且动物数是“过多”时,在候选图像1和2的提取条件中,对人和动物都设置“是”。因此,候选图像1和2的提取条件是图像包括人和动物两者。由于在候选图像3的提取条件中对人设置了“否”,而对动物设置了“是”,则候选图像3的提取条件是图像不包括人但包括动物。由于在候选图像4的提取条件中对人和动物都设置了“否”,则候选图像4的提取条件是图像既不包括人也不包括动物。
[0244] 通过这种方式,即使如图15所例示的那样使用了与被摄体的出现频率相关的设置,也能够使用图21例示的提取条件根据图19A和图19B中例示的流程图提取四个候选图像。请注意,在设置出现频率时使用的提取条件并不限于此。能够将提取条件设置为反映用作被摄体优先度的出现频率的设置的任何设置。
[0245] 如图3所例示,对“人”、“动物”和“美食”三个被摄体中的一者设置了优先模式。此外,如图15所例示,进行了与两个被摄体(人和动物)的出现频率相关的设置。然而,也可以对其他被摄体进行设置。即,通过使用图像识别技术,能够识别其他被摄体。因此,能够对其他被摄体进行优先模式和出现频率的设置。例如,能够从个人的识别结果中推断家庭结构。如上所述,在使用多种类型的被摄体的图像识别结果创建相薄时,能够控制各类型的被摄体的出现频率。
[0246] 然而,如果对要识别的多个主要被摄体的各个显示控制用户界面,则需要大量的显示区域,因此可能会降低可操作性。因此,通过使用用户为创建相薄指定的一些图像的图像识别结果,能够显示仅针对图像中识别的主要被摄体的用户界面。
[0247] 例如,假设基于人、狗、猫、汽车、火车、家具和食物等类别执行图像识别,识别出(辨别出)人、狗和汽车的类别的被摄体。此外,假设基于识别出的人执行个人识别,并识别出各个人。此外,假设基于家庭成员频繁出现在相同的图像中的事实或基于用户指定的家庭结构识别家庭类别的被摄体。在这种情况下,如图22所例示,将识别的主要被摄体分类(组),并能够显示基于类别执行控制的用户界面。图22例示了从个人识别结果创建“家庭”类别、从狗创建“宠物”类别以及从汽车创建“车辆”类别等的示例。在用作类别的被摄体包括用作被摄体的个体成员的主要被摄体时,在对各类别设置的滚动条2001、2002和2003的各个附近设置展开按钮2004。如果选择了展开按钮2004,则将用户界面变为展开了类别的内容的用户界面。
[0248] 图23A和图23B是展开后的用户界面的示意图。图23A例示了各针对家庭组中包括的基于人的主要被摄体中一者的滚动条2101、2102和2103。在按下展开按钮2004时显示滚动条。图23A例示了显示用于“父亲”、“母亲”和“孩子1”这三个人的用户界面的示例。用户界面包括返回按钮2104。如果按下了返回按钮2104,当前用户界面返回原始的用户界面(图22中例示的显示用户界面的画面)。图23B例示了宠物组情况中的其他示例。在将宠物分类为狗和猫时,如果按下展开按钮2004,则显示图23B中例示的用户界面。通过这种方式,能够有效地使用显示区域。同时能够提高可操作性。
[0249] 其他实施例
[0250] 本发明并不限于上述示例性实施例。例如,尽管参照相薄创建应用描述了上述示例性实施例,本技术还适用于具有用于自动选择推荐图像的图像选择处理的应用和图像处理装置。
[0251] 此外,尽管参照在本地环境中运行的图像处理装置对图1进行了描述,但图像处理装置运行的环境并不限于此。例如,图像处理装置可以是服务器上运行的装置。在这种情况下,可以使用服务器中存储的图像,或者上传到服务器的图像。
[0252] 尽管参照成为照片的图像或基于摄像日期和时间的分组描述了上述实施例,但可以基于图像创建日期和时间执行分组。
[0253] 根据上述实施例,根据与被摄体的优先度相关的设置,用户指定被摄体的模式或出现频率,并且基于被摄体的指定模式或指定的出现频率提取替换候选图像。然而,基于例如通过分析用于创建相薄的图像组获得的、在图像组中包含的被摄体的类型的分布,可以自动设置模式或出现频率。
[0254] 其他实施例
[0255] 本发明的实施例还可以通过如下的方法来实现,即,通过网络或者各种存储介质将执行上述实施例的功能的软件(程序)提供给系统或装置,该系统或装置的计算机或是中央处理单元(CPU)、微处理单元(MPU)读出并执行程序的方法。
[0256] 虽然参照示例性实施例描述了本发明,但是应当理解,本发明并不限于所公开的示例性实施例。应当对权利要求的范围赋予最宽的解释,以使其涵盖所有这些变型例以及等同的结构及功能。