首页> 中国专利> 控制方法、图像处理设备和非暂时性计算机可读存储介质

控制方法、图像处理设备和非暂时性计算机可读存储介质

摘要

本发明提供一种控制方法、图像处理设备和非暂时性计算机可读存储介质。图像处理设备的该控制方法包括:指定一个或多个图像数据;基于所指定的一个或多个图像数据的特征来生成新模板,所生成的新模板包括布局有所指定的一个或多个图像数据的至少一个或多个插槽;以及通过将所指定的一个或多个图像数据布局到所生成的新模板中所包括的一个或多个插槽,来生成布局图像。

著录项

  • 公开/公告号CN112346669A

    专利类型发明专利

  • 公开/公告日2021-02-09

    原文格式PDF

  • 申请/专利权人 佳能株式会社;

    申请/专利号CN202010776056.1

  • 申请日2020-08-05

  • 分类号G06F3/12(20060101);

  • 代理机构11293 北京怡丰知识产权代理有限公司;

  • 代理人迟军;李艳丽

  • 地址 日本国东京都大田区下丸子3丁目30-2

  • 入库时间 2023-06-19 09:51:02

说明书

技术领域

本发明涉及控制方法、图像处理设备和非暂时性计算机可读存储介质。

背景技术

通过在模板上布局图像数据来生成布局图像是一种已知技术。该技术的示例是日本特开2017-117406中论述的技术。

由于传统上通过使用预定模板来生成布局图像,因此使用不适合于要布置的图像数据特征的模板时可能会出现问题。

发明内容

本发明的方面是消除利用传统技术的上述问题。

本发明的特征是提供一种用于通过使用适合于要布局的图像数据的特征的模板来生成布局图像的技术。

本发明的一方面提供一种图像处理设备的控制方法,所述控制方法包括:指定一个或多个图像数据;基于所指定的一个或多个图像数据来生成新模板,所生成的新模板包括布局有所指定的一个或多个图像数据的至少一个或多个插槽;以及通过将所指定的一个或多个图像数据布局到所生成的新模板中所包括的一个或多个插槽,来生成布局图像。

本发明的一方面提供一种图像处理设备,用于指定一个或多个图像数据;基于所指定的一个或多个图像数据的特征来生成新模板,所生成的新模板包括布局有所指定的一个或多个图像数据的至少一个或多个插槽;以及通过将所指定的一个或多个图像数据布局到所生成的新模板中所包括的一个或多个插槽,来生成布局图像。

本发明的一方面提供一种存储有程序的非暂时性计算机可读存储介质,所述程序被配置为使得计算机进行图像处理设备的控制方法,所述控制方法包括:指定一个或多个图像数据;基于所指定的一个或多个图像数据的特征来生成新模板,所生成的新模板包括布局有所指定的一个或多个图像数据的至少一个或多个插槽;以及通过将所指定的一个或多个图像数据布局到所生成的新模板中所包括的一个或多个插槽,来生成布局图像。

通过以下参考附图对典型实施例的描述,本发明的更多特征将变得明显。

附图说明

并入说明书并构成说明书的一部分的附图示出本发明的实施例,并且与说明书一起用于说明本发明的原理。

图1是示出打印系统的图。

图2是用于描述图像处理设备的硬件结构的框图。

图3是示出由图册(album)生成应用提供的输入画面的示例的图。

图4是示出由图册生成应用进行的自动布局处理的流程图。

图5是示出由图册生成应用提供的编辑画面的示例的图。

图6是示出由图册生成应用进行的模板生成处理的流程图。

图7是示出由图册生成应用为了生成模板或者模板L或R所进行的处理的流程图。

图8A和8B是示出由图册生成应用进行的使用纵向对齐和横向对齐的模板生成处理的流程图。

图9A和9B是用于描述插槽(slot)布局方法的图。

图10A至10F是各自示出所生成的对开页模板(spread template)的示例的图。

图11是示出由图册生成应用进行的插槽调整处理的流程图。

图12A和12B是用于描述插槽调整的图。

图13A至13F是用于描述模板类型的图。

图14A至14C是用于描述模板评分的图。

图15是用于描述模板评分的图。

图16A至16E是用于描述图像数据布局方法的图。

图17A至17C是用于描述布局图像评分的图。

图18是示出由图册生成应用在编辑期间进行的自动布局处理的流程图。

具体实施方式

以下将参考附图来详细描述本发明的典型实施例。以下的典型实施例不旨在限制在权利要求书中阐述的本发明,并且在以下的典型实施例中描述的特征的所有组合对于本发明的解决方案而言不一定是必不可少的。

在以下的典型实施例中,将给出从在图像处理设备上运行用于生成图册的应用程序(以下也称为“图册生成应用”)起直到生成自动布局为止的过程的说明。除非另外说明,否则以下描述的图像包括静止图像、运动图像和运动图像中的帧图像、以及社交网络服务(SNS)服务器上的静止图像、运动图像和运动图像中的帧图像。

(第一典型实施例)

图1是示出根据本典型实施例的打印系统的图。打印系统包括图像处理设备100、图像形成设备200、网络300、外部服务器400和图像形成设备500。

图像处理设备100是通过使用图册生成应用来生成图册数据的设备。在本典型实施例中,图册数据是指用于订购和制作图册(照片图册)的数据,并且包括多个布局信息。布局信息是指用于打印要布局并打印在图册中所包括的对开页(两个迎面页)上的布局图像的信息。在本典型实施例中,图册生成应用可以通过下面描述的自动布局处理来自动生成图册数据和布局信息。图像处理设备100的示例包括个人计算机(PC)、智能电话、平板终端、照相机和打印机。在本典型实施例中,图像处理设备100是PC。

图像形成设备200基于从图像处理设备100接受的打印作业,来进行用于使用记录剂在记录介质上形成图像的图像形成处理(打印处理)。在本典型实施例中,将给出图像处理设备100将所生成的布局信息发送(输出)至外部服务器400的情况的描述。可选地,例如,图像处理设备100可被配置为将所生成的布局信息作为打印作业发送至图像形成设备200。在这种情况下,通过图像形成设备200生成基于布局信息的图册。图像形成设备200所使用的打印方法不受特别限制。示例包括喷墨法、电子照相法和热升华法。

网络300将图像处理设备100与外部服务器400连接。网络300是用于在图像处理设备100和外部服务器400之间发送信息的通信网络。网络300可以是有线或无线网络。

外部服务器400经由网络300从图像处理设备100接收下面描述的布局信息。换句话说,外部服务器400是控制图册的订单接收和管理的服务器。当通过用户操作图像处理设备100来进行图册购买和订购过程时,外部服务器400使图像形成设备500基于所接受的布局信息通过图像形成处理来生成图册。然后,将图像形成设备500所生成的图册递送给进行了图册购买和订购过程的用户。

图2是用于描述根据本典型实施例的图像处理设备100的硬件结构的框图。在图2中,图像处理设备100包括中央处理单元(CPU)101、只读存储器(ROM)102、随机存取存储器(RAM)103、硬盘驱动器(HDD)104、显示器105、键盘106、鼠标107和数据通信单元108。图像处理设备100的这些组件通过数据总线109彼此连接。CPU 101、ROM 102和RAM 103构成图像处理设备100的计算机。

CPU(处理器)101是系统控制单元并且控制整个图像处理设备100。CPU 101基于程序来进行在本典型实施例中描述的图像处理方法。在图2中,CPU的数量为一个。然而,这不是限制性的,并且图像处理设备100可以包括多个CPU。

ROM 102存储CPU 101所要执行的程序和操作系统(OS)。RAM 103提供用于在CPU101执行程序时临时存储各种类型的信息的存储器。HDD 104是用于存储图像文件以及保持图像分析的处理结果的数据库的存储介质。在本典型实施例中,RAM 103存储下面描述的图册生成应用。

显示器105(显示单元)是用于向用户呈现根据本典型实施例的用户界面(UI)以及图像的布局结果的装置。显示器105可以包括触摸传感器功能。键盘106是输入装置其中之一。例如,键盘106用于向显示器105上所显示的UI输入预定信息。预定信息的示例包括与要生成的图册的对开页数量和页面数量有关的信息。鼠标107是输入装置其中之一。例如,鼠标107用于点击显示器105上所显示的UI上的按钮。例如,当用户通过操作鼠标107双击显示器105上所显示的与图册生成应用相对应的图标时,激活图册生成应用。

数据通信单元108(通信单元)是用于与诸如打印机和服务器等的外部设备进行通信的装置。例如,由图册生成应用生成的数据经由数据通信单元108被发送至与图像处理设备100连接的未示出的打印机或服务器。数据通信单元108还接收未示出的服务器或SNS服务器上的静止图像数据。在本典型实施例中,数据通信单元108从SNS服务器接收静止图像数据。数据通信单元108也可以接收运动图像数据。

数据总线109将上述单元(102至108)与CPU 101连接。

<自动图册布局>

当将根据本典型实施例的图册生成应用安装在图像处理设备100上时,在图像处理设备100上正运行的OS的顶层画面(桌面)上显示图册生成应用的启动图标。当用户通过使用鼠标107双击显示器105上所显示的桌面上的启动图标时,HDD 104中所存储的图册生成应用(程序)被加载到RAM 103中。CPU 101执行加载到RAM 103中的程序,由此激活图册生成应用。

在本典型实施例中,图册生成应用进行自动布局处理,该自动布局处理是用于自动指定模板并通过在模板上对图像进行布局来生成布局图像的处理。生成布局图像还生成用于输出(显示/打印)该布局图像的布局信息。因此,自动布局处理也是用于自动生成布局信息的处理。要自动指定的模板传统上是预先存储在图册生成应用中并且具有预定的插槽形状、大小和位置的模板。因此,存在该模板可能不适合于要布局的图像数据的问题。具体地,例如,存在以下问题:要布局的图像数据的高宽比和模板中的插槽的高宽比彼此差异很大,使得布局后的图像数据的成品质量下降。有鉴于这些问题,在本典型实施例中,进行用于生成适合于要布局的图像数据的模板的处理。

在自动布局处理中,传统上,生成并评价了多个布局信息,并且基于该评价确定了实际要使用的布局信息。然而,传统的布局信息的评价未考虑对用于布局信息的模板的评价。有鉴于此,在本典型实施例中,评价用于布局信息的模板。在选择实际要使用的布局信息时,参考对用于布局信息的模板的评价。

<由图册生成应用显示的画面>

图3是示出由激活的图册生成应用提供的输入画面301的示例的图。将输入画面301显示在显示器105上。用户经由输入画面301设置下面要描述的图册生成条件,并且图册生成应用获得用户所指定的设置。

输入画面301上的路径框302显示图册生成中所要使用的图像数据组在HDD 104中的存储场所(路径)。当用户通过操作鼠标107来点击文件夹选择按钮303时,以用户可选择的方式按树形结构来显示包含图册生成中所要使用的图像数据组的文件夹。在路径框302中显示到包含用户所选择的图像数据组的文件夹的路径。在以上描述中,尽管通过指定包含图像数据的文件夹来指定图册生成中所要使用的图像数据,但这样的结构不是限制性的。可选地,用户可以从文件夹内的图像数据中选择图册生成中所要使用的图像数据。

对开页数量框304接受来自用户的与图册中的对开页数量有关的设置。用户经由键盘106直接将数字输入到对开页数量框304中,或者通过使用鼠标107从列表中将数字输入到对开页数量框304中。对开页是指覆盖图册中的两个对向页面的区域。这里,将图册中所包括的对开页中的、打印布局图像(即,通过在模板上进行图像布局所形成的图像)的对开页的数量(即,主体中所包括的对开页的数量)输入到对开页数量框304。

材料指定框305接受与从图册数据生成的图册中所要使用的材料有关的设置。材料设置的具体示例包括与图册的大小、图册的封面的薄片类型以及图册的除封面以外的页面的薄片类型有关的设置。可选地,可以设置从图册数据要生成的图册的装订方法。

生成方法指定框306接受与图册数据的生成方法有关的设置。在本典型实施例中,图册数据的生成方法包括自动生成和手动生成。下面将描述这些方法的详情。

OK按钮307是用于基于从输入画面301输入的信息来开始生成图册数据的按钮。

重置按钮308是用于重置输入画面301上的各设置信息的按钮。

在输入画面301上,也可以设置除上述以外的设置。例如,可以设置与运动图像有关的设置以及与图像数据和运动图像数据的获取源有关设置。作为另一示例,可以设置图册的主人公。在设置主人公时,控制图册以主要包括包含被设置为主人公的人物的图像。作为又一示例,可以设置图册模式。图册模式旨在按优先级将包括预定对象的图像布局在模板上。在各模式中,图册主要包括与该模式相对应的对象。这里要设置的模式的示例包括“人物”、“动物”和“食物”。图3所示的输入画面301还可以包括例如显示由基于输入设置所生成的布局信息表示的完成图册的概念渲染的区域。

在本典型实施例中,在选择自动生成作为图册数据的生成方法的情况下,图册生成应用基于从输入画面301输入的条件来自动生成图册数据,然后显示用于编辑自动生成的图册数据的编辑画面。另一方面,在选择手动生成作为图册数据的生成方法的情况下,图册生成应用显示用于编辑没有布局图像数据的图册数据的编辑画面。在编辑画面上接受用户的选择,并且对图像数据进行布局以生成图册数据。

图5是示出由图册生成应用提供的编辑画面501的示例的图。编辑画面501包括对开页列表502、对开页显示部503、图像列表504、订购按钮505和候选显示区域506。

对开页列表502列出要选择的候选对开页。用户可以通过用鼠标107点击对开页来选择对开页列表502中所包括的对开页其中之一。

对开页显示部503显示从对开页列表502中选择的对开页。当自动布局处理完成并且生成了与所选择的对开页相对应的布局图像时,对开页显示部503显示布局图像。

对开页列表502和对开页显示部503不限于对开页显示。例如,对开页列表502和对开页显示部503可被配置为显示逐页面的区域。可选地,对开页列表502和对开页显示部503可以在显示对开页的状态和显示页面的状态之间切换。在这种情况下,例如,对开页列表502和对开页显示部503在单页面显示中显示正面和背面,并且在对开页显示中显示主体。

图像列表504列出与在路径框302中指定的路径相对应的图像数据(用户所选择的图像数据)的缩略图图像。将与从图像列表504中选择的缩略图图像相对应的图像数据布局在对开页显示部503上所显示的对开页上。换句话说,用户可以通过用鼠标107点击图像列表504中所包括的缩略图图像其中之一来指定要在对开页显示部503上所显示的对开页上布局的图像数据。在该处理中,用户可以选择多个缩略图图像。可以将路径框302中除用户所选择的图像数据的缩略图图像以外的图像数据的缩略图图像添加到图像列表504。例如,通过将图像数据从文件夹拖放到图像列表504中,来将新图像数据添加到图像列表504。在将图像数据添加到图像列表504的情况下,如下面在步骤S403中所述分析所添加的图像数据。

订购按钮505是用于基于所生成的图册数据来订购图册的按钮。在用户按下订购按钮505并进行预定的订购过程之后,图册数据被发送到外部服务器400。

候选显示区域506是用于显示在生成对开页显示部503上所显示的对开页上布局的布局图像时要使用的候选模板的区域。下面将描述对候选显示区域506的操作的详情。

在图5中,在对开页列表502或对开页显示部503中未显示布局图像。在通过自动布局处理在对开页上对布局图像进行布局的情况下,在对开页列表502和对开页显示部503中显示布局图像。

<自动布局处理>

下面将首先描述在选择自动生成作为图册数据的生成方法的情况下进行的自动布局处理。

图4是示出根据本典型实施例的图册生成应用所进行的自动布局处理的流程图。图4所示的流程图例如通过CPU 101将与HDD 104中所存储的图册生成应用相对应的程序读取到RAM 103中并执行该程序来实现。图4所示的流程图在选择自动生成作为图册数据的生成方法的状态下操作OK按钮307的情况下开始。

在步骤S401中,CPU 101获得与输入到输入画面301的图册生成条件有关的各种类型的信息。

在步骤S402中,CPU 101参考在步骤S401中获得的信息,并且获得与在路径框302中指定的路径相对应的文件夹中所存储的图像数据。

在步骤S403中,CPU 101分析在步骤S402中获得的图像数据。具体地,CPU 101进行特征量提取处理、对象检测处理和面部检测处理。CPU101还从附带图像数据的元数据(可交换图像文件格式(Exif)信息)中获得图像大小以及摄像日期和时间。

将描述特征量提取处理。特征量的示例包括由图像数据表示的图像上的对焦(focus)。例如,通过使用一般的Sobel滤波器来检测用于获得特征量“对焦”(对焦量)的边缘。Sobel滤波器用于检测边缘,并且可以将各边缘的起点和终点之间的强度差除以起点和终点之间的距离,以计算边缘倾斜度、即强度梯度。然后计算图像中的平均边缘倾斜度。平均倾斜度更大的图像与平均倾斜度更小的图像相比可被视为更精确地聚焦。考虑到具有不同值的多个倾斜度阈值,可以通过判断倾斜度大于或等于哪个阈值来输出对焦量的评价值。在本典型实施例中,预先设置两个不同的阈值以判断三个等级A、B和C的对焦量。这些阈值是通过实验预先设置的,使得将图册期望的对焦量评价为“A”,将可接受的对焦量评价为“B”,并且将不可接受的对焦量评价为“C”。例如,阈值设置可以是由图册生成应用的创建者设置的。可以从UI设置阈值。在本典型实施例中,还提取与图像数据的摄像日期和时间以及由图像数据表示的图像的大小和高宽比有关的信息作为特征量。

将描述面部检测处理和对象检测处理。通过面部检测处理,CPU 101从由步骤S402中获得的图像数据表示的图像中检测到人物面部。对于面部检测处理,可以使用传统方法。例如,使用用于从已提供的多个弱鉴别器生成强鉴别器的自适应增强(AdaBoost)。在本典型实施例中,通过使用由AdaBoost生成的强鉴别器来检测人物(对象)的面部图像。连同面部图像的提取一起,CPU 101获得所检测到的面部图像的位置的左上坐标值和右下坐标值。这两个类型的坐标值使得CPU 101能够获得面部图像的位置和大小。在对象检测处理中,CPU 101还通过使用由AdaBoost生成的强鉴别器来检测除面部图像以外的预定对象。在本典型实施例中,通过对象检测处理所要检测的对象是诸如猫和狗等的动物。对象不限于诸如猫和狗等的动物,并且可以检测诸如花、食物、建筑物、雕像和车辆等的对象。代替AdaBoost,可以使用深度神经网络来搜索对象。

这里获得的与各图像数据有关的图像分析信息通过用于图像识别的标识符(ID)来区分并且被存储在HDD 104中。

在步骤S404中,CPU 101判断是否分析了在步骤S402中获得的所有图像数据。在判断为“是”的情况下(步骤S404中为“是”),处理进入步骤S405。在判断为“否”的情况下(步骤S404中为“否”),处理返回至步骤S402。在步骤S402中,CPU 101获得尚未分析的图像数据。

在步骤S405中,CPU 101进行图像评分。步骤S405中的图像评分是指用于基于步骤S403的分析结果来对各个图像数据赋予评价得分的处理(评分处理)。在本典型实施例中,CPU 101基于步骤S403的分析结果来从多个方面进行图像评分。换句话说,根据本典型实施例的图像评分对各图像数据赋予多个得分。具体地,在本典型实施例中,从两个方面(即,基于特征量(特别是图像质量)的一个方面和基于面部检测的结果的一个方面)对各图像数据赋予得分。

首先,将描述基于图像质量的图像评分。在本典型实施例中,例如,基于图像质量的图像评分使用诸如对焦和像素数等的特征量。具体地,例如,赋予基于图像质量的得分,使得在步骤S403中在对焦的特征量上获得“A”的图像数据被赋予比在对焦的特征量上获得“B”或“C”的图像数据的得分高的得分。作为另一示例,对图像数据赋予基于图像质量的得分,使得表示像素数更高的图像的图像数据被赋予比表示像素数更低的图像的图像数据的得分高的得分。在基于图像质量的图像评分中使用的特征量可以是诸如与在摄像期间使用的镜头有关的信息等的摄像信息、或者输入到图册生成应用的图像的压缩格式。还可以使用基于图像数据而显示的图像的大小、分辨率和对比度。

接着,将描述基于面部检测结果的图像评分。基于与在步骤S403中是否检测到人物面部有关的信息和与在步骤S403中检测到的面部的大小有关的信息来进行图像评分。例如,对图像数据赋予得分,使得包括人物面部的图像数据与不包括人物面部的图像数据相比被赋予更高的得分。作为另一示例,对图像数据赋予得分,使得人物面部占据大面积(大小)的图像数据与人物面部占据小面积的图像数据相比被赋予更高的得分。作为另一示例,对图像数据赋予得分,使得包括微笑面部的图像数据与包括不微笑面部的图像数据相比被赋予更高的得分。

接着,将描述基于对象检测结果的图像评分。基于与在步骤S403中是否检测到动物有关的信息和与在步骤S403中检测到的动物的大小有关的信息来进行图像评分。例如,对图像数据赋予得分,使得包括动物的图像数据与不包括动物的图像数据相比被赋予更高的得分。作为另一示例,对图像数据赋予得分,使得动物占据大面积(大小)的图像数据与动物占据小面积的图像数据相比被赋予更高的得分。

在步骤S406中,CPU 101判断是否对在步骤S402中获得的所有图像数据完成了步骤S405的图像评分。在判断为“是”的情况下(步骤S406中为“是”),处理进入步骤S407。在判断为“否”的情况下(步骤S406中为“否”),处理返回至步骤S405。在步骤S405中,CPU 101对尚未进行图像评分的图像数据进行图像评分。

在步骤S407中,CPU 101将在步骤S402中获得的图像数据分类成组。对这些图像数据进行分组,使得在该处理中生成的组的数量与在对开页数量框304中输入的对开页数量一致。具体地,CPU 101首先基于通过步骤S403的分析所获得的特征量(摄像日期和时间),按摄像日期和时间的升序对在步骤S402中获得的图像数据进行排序。然后,CPU 101获得各个图像数据的摄像时间之间的时间差。然后,CPU 101通过按时间差更大的顺序划分排序后的图像数据来将这些图像数据分类成组。然后,CPU 101将如此得到的图像数据的组指派到要按时间序列顺序生成的对开页。更具体地,CPU 101将包括摄像日期和时间更早的图像数据的组指派到页码更小的对开页。以这种方式,指定在哪个对开页上布局哪个图像数据。

在步骤S408中,CPU 101在尚未自动布局的对开页中指定要自动布局的对开页。在本典型实施例中,指定尚未自动布局的对开页中的具有最小两个页码的对开页。这里,CPU101获得要布局在所指定的对开页上的图像数据和这些图像数据的分析结果。

在步骤S409中,CPU 101生成在步骤S408中指定的对开页的自动布局所要使用的模板。下面描述该处理的详情。

图6是示出根据本典型实施例的图册生成应用所进行的模板生成处理的流程图。图6所示的流程图例如通过CPU 101将与HDD 104中所存储的图册生成应用相对应的程序读取到RAM 103中并执行该程序来实现。图6所示的流程图示出与步骤S409相对应的处理。

在步骤S601中,CPU 101基于通过步骤S403的分析所获得的特征量(摄像日期和时间),按摄像日期和时间的升序对在步骤S402中获得的图像数据进行排序。

在步骤S602中,CPU 101指定在步骤S601中排序后的图像数据的高宽比,并且生成高宽比阵列。高宽比阵列包括通过按与步骤S601中的图像数据的顺序相同的顺序布置所指定的高宽比而获得的值。在本典型实施例中,高宽比(aspect ratio)是指“由图像数据表示的图像的高度/由图像数据表示的图像的宽度”。在图像数据具有各种高宽比的情况下,通过下面要描述的模板生成处理可能无法生成合适的模板。因此,CPU 101进行用于减少图像数据的高宽比的变化的处理。具体地,CPU 101计算“由图像数据表示的图像的短边的长度/由图像数据表示的图像的长边的长度”的值是(2/3+3/4)/2以上且小于1的图像数据的数量N_l。CPU 101还计算“由图像数据表示的图像的短边的长度/由图像数据表示的图像的长边的长度”的值小于(2/3+3/4)/2的图像数据的数量N_s。在N_s≤N_l的情况下,CPU 101将高宽比小于1的图像数据的高宽比替换为3/4,并且将高宽比大于1的图像数据的高宽比替换为4/3。另一方面,在N_s>N_l的情况下,CPU 101将高宽比小于1的图像数据的高宽比替换为2/3,并且将高宽比大于1的图像数据的高宽比替换为3/2。CPU 101维持高宽比为1的图像数据的高宽比不变。结果,在例如将五个数据指派至在步骤S408中指定的对开页的情况下,生成诸如{1,1,1,4/3,3/4}等的高宽比阵列。

在步骤S603中,CPU 101指定尚未指定的模板类型。在本典型实施例中,通过模板生成处理生成图10A至10F所示的模板的类型(模板类型)。在图10A至10F中,各模板的中心线表示与对开页的中心线相对应的线,即与图册的装订部相对应的线。尽管图10A至10F示出已布局了插槽的结构,但通过后续处理来确定在由虚线表示的布局区域中要布局哪些插槽。通过模板生成处理生成的模板的示例包括可以布局跨右页和左页这两者布局的插槽的模板的类型、以及不布局跨右页和左页这两者布局的插槽的模板的类型。示例还包括不在左页上而仅在右页上布局插槽的模板的类型。示例进一步包括具有大量空白的模板的类型和具有少量空白的模板的类型。示例还进一步包括如下的模板的类型,该模板不仅包括基于要使用的图像数据的特征确定了形状的插槽,而且还包括具有预定大小、位置和形状的固定插槽。在本典型实施例中,CPU 101指定图10A至10F所示的模板类型中的尚未被指定的模板类型。图10A至10F所示的模板类型仅是示例,并且可以指定其它模板类型。要指定的模板类型可以基于图册生成条件而改变。例如,在通过骑马钉装订或插页装订来装订图册的情况下,即使在跨对开页的左页和右页这两者布局的图像的情况下,图像的可视性也不会下降。因此,在通过骑马钉装订或插页装订来装订图册的情况下,可以使用包括跨对开页的左页和右页这两者布局的插槽的模板的类型。另一方面,在通过胶粘装订或线装平订来装订图册的情况下,跨对开页的左页和右页这两者布局的图像的可视性下降。因此,使用包括跨对开页的左页和右页这两者布局的插槽的模板的类型是不期望的。因而,在通过胶粘装订或线装平订来装订图册的情况下,CPU 101控制模板类型,使得在步骤S603中不指定可以包括跨对开页的左页和右页这两者布局的插槽的模板(例如,参见图10B、10D和10E)。在通过骑马钉装订或插页装订来装订图册的情况下,可以指定所有的模板类型。要指定的模板类型也可以基于对开页的页码而改变。例如,假定在图册的特定页面上布局背景图像。还假定将特定类型的模板(诸如图10A所示的模板等)控制成用作布局背景图像的页面所用的模板类型。在这种情况下,可以控制成仅指定该特定类型的模板。

在步骤S604中,CPU 101基于在步骤S603中指定的模板类型来分割在步骤S602中生成的高宽比阵列,以生成高宽比阵列L和高宽比阵列R。在本典型实施例中,模板生成处理自动生成两个模板(模板L和模板R),因此可以生成由两个模板L和R的组合组成的模板、以及由模板L和R中的任一个组成的模板。前者模板的示例是图10A所示的模板的类型。后者模板的示例包括图10B至10F所示的模板的类型。在通过使用图10A所示的模板的类型来生成布局图像时,将指派给步骤S408中所指定的对开页的图像数据分割成两个组。这些组中的任一个组被布局在模板L上,并且另一个组被布局在模板R上。在步骤S603中指定图10A所示的模板类型的情况下,CPU 101由此通过对高宽比阵列进行二分割来获得分割结果。具体地,例如,步骤S602中生成的高宽比阵列为{1,1,4/3,3/4}。在这种情况下,CPU 101获得高宽比阵列L{1,1}和高宽比阵列R{4/3,3/4}作为分割结果。这里,CPU 101可以获得多个分割结果。具体地,例如,除了通过对高宽比阵列进行二分割所获得的分割结果以外,CPU 101还可以通过对高宽比阵列进行二分割、然后将一个至三个高宽比从分割得到的高宽比阵列其中之一移动到另一高宽比阵列,来获得分割结果。在通过使用图10B至10F所示的模板的类型中的任一类型来生成布局图像时,将指派给在步骤S408中指定的对开页的所有图像数据都布局在该一个模板上。为此,在步骤S603中指定图10B至10F所示的模板类型中的任一模板类型的情况下,CPU 101通过将所有的高宽比都指派给高宽比阵列L而不指派给高宽比阵列R来获得分割结果。具体地,例如,在步骤S602中生成的高宽比阵列是{1,1,4/3,3/4}的情况下,CPU 101获得高宽比阵列L{1,1,4/3,3/4}和高宽比阵列R{}作为分割结果。尽管高宽比阵列L主要用于在步骤S408中指定的对开页的左页,但可以将基于高宽比阵列L所生成的模板布局在右页上或者布局在包括左页和右页这两者的对开页上。高宽比阵列R是意图用于在步骤S408中指定的对开页的右页的高宽比阵列。

在步骤S605中,CPU 101从在步骤S604中获得的分割结果中指定尚未用于模板生成的分割结果。

在步骤S606中,CPU 101基于在步骤S605中指定的分割结果来生成模板L。模板L主要对应于意图用于在步骤S408中指定的对开页的左页的模板。然而,这不是限制性的,并且模板L可以对应于意图用于右页的模板或意图用于对开页的模板。

在步骤S607中,CPU 101基于在步骤S605中指定的分割结果来生成模板R。模板R对应于用于在步骤S408中指定的对开页的右页的模板。现在将描述步骤S606和S607的处理的详情。

图7是示出根据本典型实施例的图册生成应用所进行的用于生成模板L或R的处理的流程图。图7所示的流程图例如通过CPU 101将与HDD104中所存储的图册生成应用相对应的程序读取到RAM 103中并执行该程序来实现。图7所示的流程图示出与步骤S606和S607相对应的处理。

在步骤S701中,CPU 101获得在步骤S605中指定的分割结果中所包括的高宽比阵列L和R中的任一个。在当前处理是步骤S606的处理的情况下,CPU 101获得高宽比阵列L。在当前处理是步骤S607的处理的情况下,CPU 101获得高宽比阵列R。

在步骤S702中,CPU 101计算在步骤S701中获得的高宽比阵列中所包括的值的所有组合,并且获得与各个组合相对应的二维阵列。在要布局在模板L上的图像数据的数量为N的情况下,获得2^(N-1)个二维阵列。更具体地,例如,在高宽比阵列L为{1,1,1}的情况下,获得四个模式的二维阵列{{1,1,1}}、{{1},{1,1}}、{{1,1},{1}}和{{1},{1},{1}}。各二维阵列中所包括的一维阵列与要布局在模板的各个列中的图像数据的高宽比相对应。在本典型实施例中,将步骤S703至S706的处理重复与这里获得的二维阵列的数量相同的次数。在图像数据的数量N大并且获得大量二维阵列的情况下,步骤S703至S706的处理需要大量时间来重复。在这种情况下,例如,可以删除这里获得的二维阵列中的一些二维阵列,以减少重复步骤S703至S706的处理的时间。具体地,例如,可以删除至少一个一维阵列中所包括的高宽比的数量为N/10或更少的二维阵列。

在步骤S703中,CPU 101从在步骤S702中获得的多个二维阵列中指定尚未用于模板生成的二维阵列。

在步骤S704中,CPU 101通过基于在步骤S703中指定的二维阵列以纵向对齐对插槽进行布局来生成模板L。下面描述该处理的详情。

图8A是示出由根据本典型实施例的图册生成应用进行的通过纵向对齐的模板生成处理的流程图。图8A所示的流程图例如通过CPU 101将与HDD 104中所存储的图册生成应用相对应的程序读取到RAM 103中并执行该程序来实现。图8A所示的流程图示出与步骤S704相对应的处理。

在步骤S801中,CPU 101通过从上方起顺次布局具有在步骤S703中指定的二维阵列中的第n个一维阵列内所包括的高宽比的一个或多个插槽来生成插槽区域。由于n的初始值为1,因此这里CPU 101将具有第一个一维阵列内所包括的高宽比的插槽布局在插槽区域上。在布局多个插槽的情况下,在这些插槽之间插入预定宽度d的空白。此外,在布局多个插槽的情况下,CPU 101在不改变高宽比的情况下缩放(扩大或减小)这些插槽,使得所添加的(所布局的)插槽具有相同的宽度。具体地,CPU101缩放这些插槽,使得所添加的插槽具有预定宽度。例如,步骤S703中指定的二维阵列为{{4/3,3/4},{4/3,3/4,3/4}}。在这种情况下,第一个一维阵列是{4/3,3/4},并且如图9A的(1)所示在插槽区域中布局插槽。

在步骤S802中,CPU 101判断是否基于在步骤S703中指定的二维阵列中所包括的所有一维阵列布局了插槽。在判断为“是”的情况下(步骤S802为“是”),处理进入步骤S805。在判断为“否”的情况下(步骤S802为“否”),处理进入步骤S803。

在步骤S803中,CPU 101将n的值递增,并从上方起顺次在先前布局的插槽右侧的列中布局具有在步骤S703中指定的二维阵列中的第n个一维阵列内所包括的高宽比的一个或多个插槽。在步骤S703中指定的二维阵列是{{4/3,3/4},{4/3,3/4,3/4}}的情况下,第二个一维阵列是{4/3,3/4,3/4}}。因此,如图9A的(2)所示在插槽区域中布局插槽。

在步骤S804中,CPU 101在不改变高宽比的情况下缩放在步骤S803中添加的列中所包括的插槽,以使得在步骤S803中添加的列的高度与在步骤S803中添加的列左侧的列的高度相同。在步骤S703中指定的二维阵列为{{4/3,3/4},{4/3,3/4,3/4}}的情况下,如图9A的(3)所示在插槽区域中布局插槽。处理返回至步骤S802。

在步骤S805中,CPU 101将通过步骤S801至S804的处理所生成的插槽区域缩放到在步骤S603中指定的模板的类型的布局区域。由此如图9A的(4)所示缩放插槽区域。CPU101将缩放后的插槽区域布局在布局区域中。在当前处理是模板L的生成处理中所包括的处理的情况下,将插槽区域缩放到模板L的布局区域并且布局在模板L的布局区域中。另一方面,在当前处理是模板R的生成处理中所包括的处理的情况下,将插槽区域缩放到模板R的布局区域并且布局在模板R的布局区域中。以这种方式,通过纵向对齐生成模板L或R。

在通过将插槽区域布局在布局区域中来生成模板L或R之后,CPU101可以调整模板L或R中所包括的插槽的大小。下面描述原因。

例如,图册生成的实际处理可以包括以下步骤:将布局图像打印在比对开页大小大的纸张薄片上,并将该薄片裁切成对开页大小。这里,在薄片的裁切位置中可能发生一些误差。例如,在将包括沿着模板的端部布局的插槽的布局图像打印在对开页上、并且在裁切这样的对开页时裁切位置向外偏移的情况下,在插槽中的图像和对开页的端部之间可能发生意外的空白。

作为另一示例,在插槽布置在模板的端部附近、并且在插槽的端部与模板的端部之间存在窄空白的情况下,结果在打印后的对开页的端部分中发生窄空白。然而,就成品质量而言,具有窄空白的布局图像是不期望的。

由于这样的原因,根据插槽位置可能会获得不符合要求的图册。因而,在本典型实施例中,在插槽的端部位于沿着模板的端部的位置或者位于模板的端部附近的位置的情况下,CPU 101放大插槽。

具体地,在通过将插槽区域布局在布局区域中来生成模板L(或R)之后,CPU 101进行图11所示的处理。图11是示出根据本典型实施例的图册生成应用所进行的插槽调整处理的流程图。图11所示的流程图例如通过CPU 101将与HDD 104中所存储的图册生成应用相对应的程序读取到RAM 103中并执行该程序来实现。图11所示的流程图是在将插槽区域布局在布局区域中之后开始的。下面将描述在生成模板L的情况下的处理。在生成模板R的情况下,对模板R而不是模板L进行处理。

在步骤S1101中,CPU 101从所生成的模板L中所包括的插槽中指定尚未经过后续阶段的判断处理的插槽。CPU 101还指定所指定的插槽在模板L中的位置。

在步骤S1102中,CPU 101判断是否调整在步骤S1101中指定的插槽的大小。具体地,CPU 101判断在步骤S1101中指定的插槽的特定边是否布置在从模板L的预定边起的预定距离内。该特定边是指与该预定边基本上平行的边。在本典型实施例中,不仅在将特定边布置在模板L的预定边内侧和附近的情况下,而且在将特定边布置在模板L的预定边的外侧和附近的情况下,都调整插槽大小。在判断为“是”的情况下(步骤S1102为“是”),处理进入步骤S1103。在判断为“否”的情况下(步骤S1102中为“否”),处理进入步骤S1104。

在步骤S1103中,CPU 101调整在步骤S1101中指定的插槽的大小。具体地,CPU 101通过将插槽的特定边的位置移动到模板L外侧的区域来放大插槽。更具体地,例如,在生成图12A所示的模板1201作为模板L的情况下,放大位于模板L的端部附近的插槽1202和1204,以生成图12B所示的模板。不位于模板L的端部附近的插槽1203没有被放大。考虑到在图册生成期间裁切位置的误差的可能大小来设置区域1205。在调整插槽的情况下,将插槽的特定边移动到区域1205的位置。这样即使在图册生成期间在裁切位置中出现误差的情况下,也可以防止发生空白。将打印在模板外侧布局一个或多个插槽的区域。尽管CPU 101使这样的插槽仅在一个方向上延伸,但在插槽布置在模板的多个边附近的情况下,CPU 101可以使该插槽在多个方向上延伸。

在步骤S1104中,CPU 101判断是否已对所有的插槽进行了步骤S1102的判断处理。在判断为“否”的情况下(步骤S1104中为“否”),处理返回至步骤S1101。在判断为“是”的情况下(步骤S1104中为“是”),该流程图的处理结束,并且处理进入步骤S705。

在步骤S705中,CPU 101通过基于在步骤S703中指定的二维阵列以横向对齐对插槽进行布局来生成模板。现在将描述该处理的详情。

图8B是示出由根据本典型实施例的图册生成应用进行的在横向上的模板生成处理的流程图。图8B所示的流程图例如通过CPU 101将与HDD104中所存储的图册生成应用相对应的程序读取到RAM 103中并执行该程序来实现。图8B所示的流程图示出了与步骤S705相对应的处理。

在步骤S811中,CPU 101通过从左侧起顺次布局具有在步骤S703中指定的二维阵列中的第n个一维阵列内所包括的高宽比的一个或多个插槽来生成插槽区域。由于n的初始值为1,因此这里CPU 101将具有第一个一维阵列中所包括的高宽比的插槽布局在插槽区域上。在布局多个插槽的情况下,在这些插槽之间插入预定宽度d的空白。此外,在布局多个插槽的情况下,CPU 101在不改变高宽比的情况下缩放插槽,以使得所添加的插槽具有相同的高度。具体地,CPU 101缩放插槽,以使得所添加的插槽具有预定高度。在步骤S703中指定的二维阵列是{{4/3,3/4},{4/3,3/4,3/4}}的情况下,第一个一维阵列是{4/3,3/4}。因此,如图9B的(1)所示在插槽区域中布局插槽。

在步骤S812中,CPU 101判断是否基于在步骤S703中指定的二维阵列中所包括的所有一维阵列布局了插槽。在判断为“是”的情况下(步骤S812中为“是”),处理进入步骤S815。在判断为“否”的情况下(步骤S812中为“否”),处理进入步骤S813。

在步骤S813中,CPU 101将n的值递增,并且从左侧起顺次在先前布局的插槽下方的行中布局具有在步骤S703中指定的二维阵列中的第n个一维阵列内所包括的高宽比的一个或多个插槽。在步骤S703中指定的二维阵列是{{4/3,3/4},{4/3,3/4,3/4}}的情况下,第二个一维阵列是{4/3,3/4,3/4}。因此,如图9B的(2)所示在插槽区域中布局插槽。

在步骤S814中,CPU 101在不改变高宽比的情况下缩放在步骤S813中添加的行中所包括的插槽,以使得在步骤S813中添加的行的宽度与在步骤S813中添加的行上方的行的宽度相同。在步骤S703中指定的二维阵列是{{4/3,3/4},{4/3,3/4,3/4}}的情况下,如图9B的(3)所示在插槽区域中布局插槽。然后,处理返回至步骤S812。

在步骤S815中,CPU 101将通过步骤S811至S814的处理所生成的插槽区域缩放到在步骤S603中指定的模板类型的布局区域。因此,如图9B的(4)所示缩放插槽区域。CPU 101将缩放后的插槽区域布局在布局区域中。在当前处理是模板L的生成处理中所包括的处理的情况下,将插槽区域缩放到模板L的布局区域并且布局在模板L的布局区域中。另一方面,在当前处理是模板R的生成处理中所包括的处理的情况下,将插槽区域缩放到模板R的布局区域并且布局在模板R的布局区域中。以这种方式,通过横向对齐生成模板L或R。该流程图的处理结束,并且处理进入步骤S706。

在本典型实施例中,模板是通过纵向对齐方法和横向对齐方法这两者生成的。由此可以生成插槽列的数量分别不同的多个模板和插槽行的数量分别不同的多个模板。

在步骤S706中,CPU 101判断是否基于所有的二维阵列生成了模板。在判断为“是”的情况下(步骤S706中为“是”),处理进入步骤S707。在判断为“否”的情况下(步骤S706中为“否”),处理返回至步骤S703。在步骤S703中,CPU 101指定新的二维阵列。

在步骤S707中,CPU 101判断在步骤S704中生成的模板和步骤S705中生成的模板中是否存在重复的模板。在存在重复的模板的情况下,CPU101删除这些模板中的任一模板。

在如上所述生成模板L和R之后,处理进入步骤S608。

在步骤S608中,CPU 101生成一个或多个对开页模板。例如,在步骤S603中指定的模板类型是不包括跨左页和右页这两者布局的插槽的模板类型、并且生成了模板L和模板R的情况下,CPU 101通过将模板L与模板R连接来生成对开页模板。图10A示出如此生成的对开页模板的示例。在生成了多个模板L和多个模板R的情况下,CPU 101将多个模板L中的各模板L与多个模板R中的各模板R连接。换句话说,通过本处理,CPU 101生成与模板L的数量×模板R的数量一样多的对开页模板。

作为另一示例,在步骤S603中指定的模板类型是可以布局跨左页和右页这两者布局的插槽而不是固定插槽的模板类型的情况下,并且还作为另一示例,在步骤S603中指定的模板类型是仅在右页上布局插槽而不在左页上布局插槽的模板类型的情况下,由于仅生成一个或多个模板L,因此CPU 101生成模板L作为对开页模板。以这种方式生成了例如图10B、10C和10D所示的对开页模板。

作为又一示例,在步骤S603中指定的模板类型是包括固定插槽的模板类型。在这种情况下,由于仅生成一个或多个模板L,因此CPU 101通过将模板L与固定插槽连接来生成一个或多个对开页模板。以这种方式生成了例如图10E和10F所示的对开页模板。

在步骤S609中,CPU 101判断是否所有的分割结果都用于模板生成。在判断为“是”的情况下(步骤S609为“是”),处理进入步骤S610。在判断为“否”的情况下(步骤S609为“否”),处理返回至步骤S605。然后,CPU 101通过使用尚未指定的分割结果来生成模板。

在步骤S610中,CPU 101判断是否已经指定了所有的模板类型。在判断为“是”的情况下(步骤S610为“是”),该流程图的处理结束。在判断为“否”的情况下(步骤S610中为“否”),处理返回至步骤S603。在步骤S603中,CPU 101指定尚未指定的模板类型。

在如上所述完成模板生成处理时,处理进入步骤S410。

在步骤S410中,CPU 101进行模板评分。模板评分是指用于对在步骤S409中生成的模板赋予得分的处理(评分处理)。现在将描述该处理的详情。在本典型实施例中,基于模板中的空白区域(除插槽之外的区域)和模板中所包括的插槽来进行评分。

在本典型实施例中,CPU 101首先通过使用等式(1)来进行基于空白区域(其是指模板中的除插槽区域以外的区域)的评分。

SCORE

基于空白区域的评分方法不限于前述。例如,在前面的描述中,CPU101对对开页模板赋予得分。然而,例如,在要评价的模板包括模板L和模板R的情况下,CPU 101可以对各个模板L和R赋予得分,并且对对开页模板赋予这些得分的平均值。另外,可以基于空白区域的位置来控制评分。例如,在上部分和下部分包括空白的横长模板(例如,参见图13E)以及左部分和右部分包括空白的横长模板(例如,参见图13F)的情况下,即使在这些模板的空白面积相同的情况下,在用户看来,后者模板中的空白量也大于前者模板中的空白量。因此,用于对在上部分和下部分包括空白的模板进行评分的THR

接着,CPU 101通过使用等式(2)和(3)来进行基于插槽的评分。

N

SCORE

然后,CPU 101计算SCORE

例如,选择表示高宽比为2/3的图像的四个图像数据作为要布局在步骤S408中指定的对开页上的图像数据。还假定在步骤S409中生成图14A所示的六个模板,则例如,CPU101如图14B所示管理赋予各个模板的得分。利用该结构,模板(1)和(4)具有最高模板得分,并且模板(6)具有最低模板得分。

在本典型实施例中,使用SCORE

为了计算模板得分,可以参考除SCORE

可选地,可以参考基于从对开页的中心线到跨对开页的中心线的插槽的边的距离的得分SCORE

在计算除SCORE

在步骤S410中,CPU 101可以基于要评价的模板的类型来切换评价方法。具体地,例如,CPU 101可以基于要评价的模板的类型来从SCORE

CPU 101首先判断要评价的模板是否包括跨对开页的中心线的插槽。具体地,CPU101判断各插槽的四个角点是否全部包括在左页面和右页面中的任一页面中。在各插槽的角点全部包括在左页面和右页面中的任一页面中的情况下,判断为模板是不包括跨对开页的中心线的插槽的类型(例如,参见图13A和13B)。另一方面,在插槽的角点不是全部包括在左页面和右页面中的任一页面中的情况下,判断为模板是包括跨对开页的中心线的插槽的类型(例如,参见图13C至13F)。在插槽具有除矩形形状之外的多边形形状的情况下,代替四个点,CPU 101判断与多边形形状的角相对应的点是否全部包括在左页面和右页面中的任一页面中。

接着,CPU 101判断要评价的模板是否包括与模板的端部接触的插槽。具体地,CPU101判断插槽的角点中的任何角点是否在模板的端部处或在模板外侧。在插槽的角点中的任何角点在模板的端部处或在模板外侧的情况下,判断为模板是包括与模板的端部接触的插槽的类型(例如,参见图13E和图13F)。另一方面,在插槽的角点都不在模板的端部处或在模板外侧的情况下,判断为模板是不包括与模板的端部接触的插槽的类型(例如,参见图13A至13D)。该判断结果用于判断是否进行使用于对在左部分和右部分包括空白的模板进行评分的THR

在步骤S411中,CPU 101基于在步骤S410中赋予的评价(模板得分),从在步骤S409中生成的模板中选择一个或多个模板。在本典型实施例中,CPU 101从在步骤S409中生成的模板中选择模板得分高于或等于预定阈值的所有模板。在不存在模板得分高于或等于预定阈值的模板的情况下,CPU 101从在步骤S409中生成的模板中选择具有最高模板得分的模板。用于选择模板的方法不限于前述方法。例如,尽管前述阈值被描述为具有固定值,但可以将通过从赋予步骤S409中生成的模板的模板得分中减去预定值所获得的值确定为阈值。作为另一示例,CPU 101可以从在步骤S409中生成的模板中按模板得分的降序选择模板,直到达到预定数量或比例为止。

在该处理中,CPU 101可以控制相似模板的选择。例如,从所有的模板中选择具有最高模板得分的模板s1。在这种情况下,CPU 101从要选择的模板中删除与模板s1的相似度高的所有模板。例如,基于各个模板中所包括的插槽的中心点的平均坐标来计算相似度。例如,模板s1包括两个插槽并且插槽的中心点的坐标为(1,5)和(3,11)。在这种情况下,模板s1中的插槽的中心点的平均坐标P

在步骤S412中,CPU 101通过将指派给在步骤S408中指定的对开页的图像数据分配到在步骤S411中选择的模板内的插槽,来生成布局图像(布局图像生成处理)。在步骤S411中选择多个模板的情况下,这里CPU101从在步骤S411中选择的模板中指定尚未布局图像数据的模板。然后,CPU 101在如此指定的模板上布局图像数据。下面将参考图16A至16E描述用于布局图像数据的方法的详情。

图16A示出由要布局在步骤S408中指定的对开页上的图像数据表示的图像的形状的示例。图16B示出布局了图像数据的模板的示例。图16C例示示出与对应于图16A的图像数据有关的信息的表以及示出与对应于图16B的模板中所包括的插槽有关的信息的表。与各图像数据有关的信息例如包括指派给该图像数据的图像编号以及该图像数据的高宽比、得分(图像得分)和摄像时间。与各插槽有关的信息例如包括指派给该插槽的插槽编号以及该插槽的高宽比、得分(插槽得分)和位置。与插槽的位置有关的信息例如由整数表示。模板左侧的插槽被指派较低的编号。CPU101首先基于高宽比来对表内容进行排序。在存在高宽比相同的行的情况下,CPU 101控制排序顺序,使得摄像时间更早或位置编号更低的行出现在上方。图16D示出如此得到的表的示例。然后,CPU 101将图像数据分配给与表中的相同行顺序相对应的插槽。具体地,在图16D的示例中,图像编号为1的图像数据分配给插槽编号为2的插槽,将图像编号为2的图像数据分配给插槽编号为1的插槽,并且将图像编号为3的图像数据分配给插槽编号为3的插槽。在向插槽分配图像数据时,适当地缩放图像数据,使得图像数据的至少一边与插槽的相应边接触。在缩放后的图像数据的一部分从插槽突出的情况下,剪裁该突出部分。然而,根据本典型实施例,由于插槽的形状是基于图像数据的高宽比,因此可以减小剪裁部分的大小。图16E示出所生成的最终布局图像的示例。

在步骤S413中,CPU 101对在步骤S412中生成的布局图像进行评分。下面将参考图17A至17C详细描述布局图像评分。

例如,假定在步骤S412的布局图像生成处理中在图17A和17B所示的模板上布局图像数据。图17C所示的表1701是与要布局在步骤S408中指定的对开页上的图像数据有关的信息的表。表1702是与图17A所示的模板1中的插槽有关的信息的表。表1703是与图17B所示的模板2中的插槽有关的信息的表。如步骤S412所述对各表进行排序。在布局图像评分中,CPU 101基于与布局图像中所布局的图像数据有关的信息和与图像数据被分配至的插槽有关的信息之间的相关度来计算布局图像的得分。具体地,CPU 101首先计算图像数据的图像得分的排名和插槽的插槽得分的排名之间的得分相关度、以及图像数据的摄像时间的排名和插槽的位置的排名之间的位置相关度。然后,CPU 101基于这些相关度来对布局图像赋予得分。例如,随着相关度的增大,布局图像的得分增加。随着相关度的减小,布局图像的得分降低。原因之一是:例如在将要布局在步骤S408中指定的对开页上的图像数据中的图像得分最高的图像数据分配给插槽得分最高的插槽的情况下,布局图像的成品质量提高。另一原因是:例如在将要布局在步骤S408中指定的对开页上的图像数据中的摄像时间最早的图像数据分配给位于最左位置的插槽的情况下,布局图像的成品质量提高。在图17A至17C所示的示例中,使用模板1的布局图像和使用模板2的布局图像具有相同的得分相关度。然而,使用模板2的布局图像的位置相关度比使用模板1的布局图像的位置相关度高。因此,使用模板2的布局图像被赋予比使用模板1的布局图像的得分更高的得分。

在步骤S414中,CPU 101判断是否基于在步骤S411中选择的所有模板生成了布局图像。在判断为“是”的情况下(步骤S414中为“是”),处理进入步骤S415。在判断为“否”的情况下(步骤S414中为“否”),处理返回至步骤S412。在步骤S412中,CPU 101指定尚未用于生成布局图像的模板,并且基于所指定的模板来生成布局图像。

在步骤S415中,CPU 101从在步骤S412中生成的布局图像中选择要布局在步骤S408中指定的对开页上并且显示在对开页显示部503并输出到对开页显示部503的布局图像。在本典型实施例中,CPU 101基于在步骤S410中赋予的得分和在步骤S413中赋予的得分来选择布局图像。具体地,CPU 101选择在步骤S410和S413中赋予的得分的总和最高的布局图像。例如,用于生成布局图像A的模板的得分为70(在步骤S410中赋予的得分),并且布局图像A的得分为80(在步骤S413中赋予的得分)。此外,用于生成布局图像B的模板的得分为90(在步骤S410中赋予的得分),并且布局图像B的得分为70(在步骤S413中赋予的得分)。在这种情况下,相对于布局图像A,优先选择布局图像B。然而,这样的结构不是限制性的。例如,CPU 101可以对在步骤S410和S413中赋予的得分中的至少任一得分指派权重,并且通过优先考虑步骤S410和S413中赋予的得分中的任一得分来进行选择。可选地,CPU 101可以基于在步骤S410和S413中赋予的得分中的任一得分来进行选择。以这种方式,从多个布局图像中选择要实际布局在对开页上的布局图像。

在步骤S416中,CPU 101判断是否指定了所有的对开页以针对所有的对开页生成布局图像。在判断为“是”的情况下(步骤S416中为“是”),处理进入步骤S417。在判断为“否”的情况下(步骤S416中为“否”),处理返回至步骤S408。在步骤S408中,CPU 101指定新的对开页,然后生成要布局在该对开页上的布局图像。

在步骤S417中,CPU 101将在步骤S415中选择的布局图像显示在编辑画面501上。具体地,CPU 101将对开页和这些对开页上所布局的布局图像显示在对开页列表502中。在从对开页列表502中选择这些对开页其中之一的情况下,CPU 101将所选择的对开页和所选择的对开页上所布局的布局图像以放大方式显示在对开页显示部503上,并且使得能够接受对所选择的对开页的编辑操作。该处理结束。

利用这样的结构,可以通过使用适当的模板来生成布局图像。

<图册数据的编辑>

将描述当在编辑画面501上进行对图册数据的编辑操作时要进行的自动布局处理。在选择手动生成作为图册数据的生成方法的情况下或者在图4所示的处理完成的情况下,显示编辑画面501。在显示编辑画面501的状态下,用户可以适当地编辑从对开页列表502中选择的对开页上所布局的布局图像。具体地,例如,用户可以进行编辑操作,以向从对开页列表502中选择的对开页上所布局的布局图像添加一个或多个图像数据、或者改变布局图像中已布局的一个或多个图像数据。在本典型实施例中,不仅在图4所示的处理中,而且在通过编辑操作添加要布局在对开页上的图像数据的情况下,都可以进行自动布局处理。在本典型实施例中,在通过编辑操作改变布局图像中已布局的图像数据的情况下,不进行自动布局处理。更具体地,在无需改变已分配了要改变的图像数据的插槽的大小、形状或位置的情况下,将新图像数据分配至这些插槽。然而,这样的结构不是限制性的,并且在通过编辑操作改变布局图像中已布局的图像数据的情况下,也可以进行自动布局处理。更具体地,可以基于除要改变的图像数据以外的已布局的图像数据以及通过改变所要布局的新图像数据来再次生成新的模板以生成布局图像。

图18是示出根据本典型实施例的由图册生成应用在编辑期间进行的自动布局处理的流程图。图18所示的流程图例如通过CPU 101将与HDD104中所存储的图册生成应用相对应的程序读取到RAM 103中并执行该程序来实现。在编辑画面501上进行对图册数据的编辑操作的情况下,开始图18所示的流程图。编辑操作的具体示例包括用于添加要在对开页显示部503上所显示的对开页上布局的图像数据的操作。

在步骤S1801中,CPU 101获得与输入到输入画面301的图册生成条件有关的各种类型的信息。

在步骤S1802中,CPU 101将在对开页显示部503上显示的对开页指定为要编辑的对开页。

在步骤S1803中,CPU 101指定要用于编辑的图像数据。具体地,CPU 101指定在接受编辑操作之前在对开页显示部503上显示的对开页上已布局的图像数据、以及通过编辑操作给出了添加指示的新图像数据。紧接在通过选择手动生成作为图册数据的生成方法来显示编辑画面501之后,不在对开页上布局图像数据。在未在对开页上布局的图像数据的状态下给出图像数据的添加指示的情况下,CPU 101随后仅指定通过编辑操作给出了添加指示的新图像数据。CPU 101获得这里指定的图像数据的特征量。

在步骤S1804中,CPU 101生成要用于在步骤S1802中指定的对开页的自动布局的模板。该处理的详情除了一些点以外与步骤S409的处理相同。以下说明不同之处。

在基于自动生成的指示进行的自动布局处理的步骤S601中,按时间序列顺序对图像数据进行排序。相比之下,在基于编辑操作进行的自动布局处理的步骤S601中,CPU 101首先按对开页上的布局顺序对对开页上已布局的图像数据进行排序。然后,CPU 101将给出了添加指示的新图像数据布置在基于对开页上的布局顺序而排序的图像数据之后。然而,这样的结构不是限制性的。CPU 101可以与基于自动生成的指示进行的自动布局处理同样,再次按时间序列顺序对图像数据进行排序。

在步骤S1805中,CPU 101进行模板评分。该处理的详情与步骤S410的处理相同。

在步骤S1806中,CPU 101基于在步骤S1805中赋予的评价(得分),从在步骤S1804中生成的模板中选择一个或多个模板。该处理的详情与步骤S411的处理相同。

在步骤S1807中,CPU 101通过将与步骤S1802中指定的对开页相对应的图像数据分配给步骤S1806中选择的模板内的插槽来生成布局图像。该处理的详情与步骤S412的处理相同。

在步骤S1808中,CPU 101对在步骤S1807中生成的布局图像进行评分。该处理的详情与步骤S413的处理相同。

在步骤S1809中,CPU 101判断是否基于在步骤S1806中选择的所有模板生成了布局图像。在判断为“是”的情况下(步骤S1809中为“是”),处理进入步骤S1810。在判断为“否”的情况下(步骤S1809中为“否”),处理返回至步骤S1807。在步骤S1807中,CPU 101指定尚未用于生成布局图像的模板,并且基于所指定的模板来生成布局图像。

在步骤S1810中,CPU 101从在步骤S1807中生成的布局图像中选择要布局在步骤S1802中指定的对开页上的布局图像。该处理的详情与步骤S415的处理相同。

在步骤S1811中,CPU 101将在步骤S1810中选择的布局图像显示在对开页显示部503上。

利用这样的结构,即使在基于编辑操作进行的自动布局处理中,也可以通过使用适当的模板来生成布局图像。

在本典型实施例中,编辑画面501可以将在编辑对开页显示部503上所显示的布局图像时可使用的候选模板显示在候选显示区域506中。通过选择这些候选模板其中之一,用户可以将对开页显示部503上所显示的布局图像改变为使用所选择的模板的布局图像。这里显示的模板候选的示例包括步骤S412或S1807中生成且步骤S415或S1810中未被选择的布局图像所使用的模板。在该处理中,例如,CPU 101可以将在步骤S412或S1807中生成且在步骤S415或S1810中未被选择的布局图像所使用的模板按模板得分的降序显示。可选地,例如,可以从在步骤S412或S1807中生成且在步骤S415或S1810中未被选择的布局图像所使用的模板中提取模板得分高的模板。作为提取的结果,可以控制成仅显示模板得分高的模板而不显示模板得分低的模板。作为另一示例,可以显示除在步骤S412或S1807中生成且在步骤S415或S1810中未被选择的布局图像所使用的模板以外的模板。具体地,例如,代替基于用户所选择的图像数据的特征而自动生成的模板,可以显示预先存储在图册生成应用中的模板。例如在步骤S411中通过相似度的判断删除了一些模板的情况下,这样的模板可被控制成不显示在候选显示区域506中。这可以防止在候选显示区域506中显示多个相似的候选模板。通过选择候选显示区域506中所显示的模板其中之一,用户可以将对开页显示部503上所显示的对开页上所布局的布局图像改变为使用所选择的模板的布局图像。在该处理中,在用户选择步骤S412或S1807中生成且步骤S415或S1810中未被选择的布局图像所使用的模板的情况下,已生成了布局图像,并且CPU 101显示已生成的布局图像。另一方面,在用户选择预先存储在图册生成应用中的模板的情况下,CPU 101进行使用该模板的自动布局处理,并显示如此得到的布局图像。

候选显示区域506代替显示候选模板,可以显示通过使用候选模板的自动布局处理所生成的布局信息(即,候选布局信息)。在这种情况下,在候选显示区域506中显示步骤S412或S1807中生成且步骤S415或S1810中未被选择的布局图像。

用户可以通过进行预定操作(诸如按下编辑画面501上的未示出的按钮等)来将编辑画面501的模式从自动编辑模式切换到手动编辑模式。在自动编辑模式中,在向对开页添加图像数据的情况下,进行图18所示的处理以自动生成布局图像。在手动编辑模式中,在向对开页添加图像数据的情况下,用户手动指定所添加的图像数据的布局位置和大小以生成布局图像。用户可以通过在这些模式之间切换来选择期望的编辑方法。

在如此编辑了对开页上所布局的布局图像的情况下,还编辑布局信息以使得输出编辑后的布局图像。在编辑之后,用户可以通过按下订购按钮505来订购基于编辑后的布局信息的图册。

以这种方式,即使在执行自动布局处理之后,用户也可以适当地编辑图册数据和布局信息。

(其它典型实施例)

本发明不限于前述典型实施例。在前述典型实施例中,尽管用于选择图像的前述处理(图像选择处理)被描述为用在图册的自动布局处理中,但例如,该图像选择处理可用于向用户自动呈现要打印的图像数据的呈现功能。换句话说,前述图像选择处理可以由用于执行呈现功能的程序来进行。可选地,本发明的典型实施例可应用于用于生成单张打印品的结构。在这种情况下,例如,CPU 101可以根据前述典型实施例将单张打印品作为对开页进行处理。由于单个图像数据通常布局在单张打印品上,因此单张打印品所用的模板各自应包括仅一个插槽。在可以逐场景地设置打印品的数量的情况下,CPU 101可以根据前述典型实施例将所设置的数量的单张打印品作为对开页进行处理。

在前述典型实施例中,模板生成处理针对各对开页或页面基于图像数据的特征来生成多个模板。然而,这样的结构不是限制性的。例如,可以针对对开页或页面生成仅一个模板。在这样的结构中,例如,可以省略模板评分。

在前述典型实施例中,尽管模板生成处理通过基于图像数据的特征确定插槽的形状来生成适合于图像数据的模板,但这样的结构不是限制性的。例如,可以基于图像数据的特征来确定模板中的插槽的位置和大小。具体地,例如,可以通过控制插槽的位置和插槽的大小、使得表示大尺寸图像的图像数据所用的插槽布局在模板的左页,来生成模板。作为另一示例,可以控制插槽,使得表示大尺寸图像的图像数据所用的插槽的大小大于表示小尺寸图像的图像数据所用的插槽的大小。

在前述典型实施例中,自动布局处理中的用于生成布局图像的处理仅使用基于图像数据的特征所生成的新模板。然而,这样的结构不是限制性的。可以通过不仅使用所生成的新模板而且还使用预先存储在图册生成应用中的模板来生成布局图像。

在前述典型实施例中,基于图像数据的特征来生成多个模板,然后将图像数据分配给这多个模板中的各模板中所包括的插槽以生成多个布局图像。然后基于模板得分来指定多个布局图像其中之一,并且显示所指定的布局图像;这样的结构不是限制性的。例如,可以在生成布局图像之前基于模板得分来指定一个或多个模板。然后可以通过仅使用所指定的模板来生成一个或多个布局图像。在生成多个布局图像的情况下,以步骤S415中描述的方式将布局图像其中之一指定为要显示在对开页显示部503上并输出到对开页显示部503的布局图像。这里,可以通过参考或不参考模板得分来指定一个布局图像(即,可以仅参考布局图像的得分)。

在前述典型实施例中,尽管基于图像数据的特征所生成的新模板中所包括的插槽被布局成彼此不重叠,但这样的结构不是限制性的。这些插槽中的一些插槽可被布局成彼此重叠。

在前述典型实施例中,尽管给出了进行自动布局处理的图像处理设备100在本地环境中的情况的描述,但例如,图像处理设备100可以在网络服务器上。在这种情况下,用户将图像数据上传到图像处理设备100,然后图像处理设备100可以进行自动布局处理。

在前述典型实施例中,尽管通过在图像评分、模板评分和布局图像评分中赋予得分来进行评价,但这样的结构不是限制性的。更具体地,可以在不使用得分的情况下进行评价。例如,可以按降序以诸如“S”、“A”、“B”和“C”等的等级进行评价。可以基于所进行的评价来进行场景分类和图像选择。

其它实施例

本发明的实施例还可以通过如下的方法来实现,即,通过网络或者各种存储介质将执行上述实施例的功能的软件(程序)提供给系统或装置,该系统或装置的计算机或是中央处理单元(CPU)、微处理单元(MPU)读出并执行程序的方法。

尽管已经参考典型实施例说明了本发明,但是应当理解,本发明不限于所公开的典型实施例。所附权利要求书的范围符合最宽的理解,以包含所有这样的修改以及等同结构和功能。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号