CN101796538B - 以基于相对面积的控制在页面上布置图形对象的方法和系统 - Google Patents
以基于相对面积的控制在页面上布置图形对象的方法和系统 Download PDFInfo
- Publication number
- CN101796538B CN101796538B CN200880105067.4A CN200880105067A CN101796538B CN 101796538 B CN101796538 B CN 101796538B CN 200880105067 A CN200880105067 A CN 200880105067A CN 101796538 B CN101796538 B CN 101796538B
- Authority
- CN
- China
- Prior art keywords
- layout
- drawing object
- page
- candidate
- scoring
- 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.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 title claims description 168
- 238000009826 distribution Methods 0.000 claims description 54
- 230000009471 action Effects 0.000 claims description 5
- 230000008569 process Effects 0.000 description 53
- 238000010276 construction Methods 0.000 description 51
- 238000011156 evaluation Methods 0.000 description 40
- 230000011218 segmentation Effects 0.000 description 34
- 230000006870 function Effects 0.000 description 24
- 239000004744 fabric Substances 0.000 description 20
- 239000011449 brick Substances 0.000 description 10
- 239000003550 marker Substances 0.000 description 10
- 238000002372 labelling Methods 0.000 description 9
- 230000008859 change Effects 0.000 description 8
- 241000406668 Loxodonta cyclotis Species 0.000 description 6
- 230000004087 circulation Effects 0.000 description 6
- 239000000203 mixture Substances 0.000 description 6
- 238000004422 calculation algorithm Methods 0.000 description 5
- 238000012854 evaluation process Methods 0.000 description 5
- 239000012634 fragment Substances 0.000 description 5
- 238000012360 testing method Methods 0.000 description 5
- 230000003467 diminishing effect Effects 0.000 description 4
- 230000002068 genetic effect Effects 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 210000004556 brain Anatomy 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 3
- 238000005070 sampling Methods 0.000 description 3
- 239000004065 semiconductor Substances 0.000 description 3
- 238000013517 stratification Methods 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000005259 measurement Methods 0.000 description 2
- 230000015654 memory Effects 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- 240000003293 Magnolia grandiflora Species 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000009795 derivation Methods 0.000 description 1
- 230000003292 diminished effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 238000009432 framing Methods 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 229910052757 nitrogen Inorganic materials 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 229910052698 phosphorus Inorganic materials 0.000 description 1
- 238000007639 printing Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000003252 repetitive effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 230000001568 sexual effect Effects 0.000 description 1
- 229910052717 sulfur Inorganic materials 0.000 description 1
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T11/00—2D [Two Dimensional] image generation
- G06T11/60—Editing figures and text; Combining figures or text
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Processing Or Creating Images (AREA)
- Editing Of Facsimile Originals (AREA)
- Document Processing Apparatus (AREA)
Abstract
在一个方面,基于分配给图形对象(100)的相应的标称尺寸,确定要布置在页面(102)上的图形对象(100)的相应的目标表现尺寸。构造图形对象(100)在页面(102)上的不同的候选布局。基于图形对象(100)在候选布局中的实际表现尺寸与它们的目标表现尺寸的比较,确定图形对象(100)的最终布局(98)。在另一方面,确定相应标称尺寸到图形对象(100)的两个或更多个不同的候选分配(142,144)。根据两个或更多个候选分配(142,144)中的每一个,构造图形对象(100)在页面(102)上的相应的一组一个或多个候选布局(120)。
Description
对相关申请的交叉引用
本申请还涉及下列共同未决的申请,其中的每一在这里通过引用并入:
2003年9月30号提交的美国专利申请No.10/675724;
2003年9月30号提交的美国专利申请No.10/675823;
2005年5月12号提交的美国专利申请No.11/127326;
2005年5月12号提交的美国专利申请No.11/128543;
2004年4月23号提交的美国专利申请No.10/831436;
2005年4月15号提交的美国专利申请No.11/126637;
2005年6月10号提交的美国专利申请No.11/151167;
2005年3月1号提交的美国专利申请No.11/069512;
2004年11月12号提交的美国专利申请No.10/987288;以及
2006年3月1号提交的美国专利申请No.11/364933。
背景技术
个人和组织正快速地积累大量的数字图像内容收集,包括静止图像,文本,图形,动画图形,以及全动感视频图像。这种内容可以被单个地呈现,或者以很多种不同形式组合呈现,包括文档,目录,演示,静态照片,商业视频,家庭电影,以及描述一个或多个关联的数字内容文件的元数据。随着这些收集在数量和多样性上的增长,个人和组织将越来越多地需要用于组织和呈现他们的收集中的数字内容的系统和方法。为了满足该需求,已经提出了用于组织和呈现数字图像内容的各种不同系统和方法。
例如,有几种手动数字图像影集化的系统,使得用户能够手动创建数字照片影集。这些系统典型地提供用于组织一个集合的图像以及在一个或多个页面上布置这些图像的工具。在这些常见类型的用于手动地创建数字照片影集的工具中,有用于选择集合中的将出现在影集的页面上的图像的子集的工具,用于在页面上手动地重新布置图像的图形用户接 口,以及用于修改将出现在影集中的图像的各种特性比如尺寸和取向的基本图像编辑工具。用户通常发现使用完全手动数字图像影集化系统生成数字照片影集的过程乏味并且耗时。
一些自动化的数字图像影集化系统允许用户根据与图像关联的元数据中指定的日期和时间来将数字图像组织到影集页面中。这些系统还通常允许用户标注在数字照片影集页面中出现的图像。一些自动化的数字图像影集化系统提供各种预定的布局模板,供用户选择用于创建数字照片影集。在这些系统中,用户将来自收集中的图像分配到选择的布局模板上各种预定的图像位置,并且系统根据对于选择的模板上的各种预定图像位置规定的参数自动调节图像的尺寸,放置,旋转,以及框架配合(framing)。
一些数字图像影集化系统被设计为以最小的用户输入自动产生影集页面。一种这样的系统包括页面生成器模块和图像放置模块。页面生成器模块基于第一遗传进化算法将收集中的图像分配到影集页面。图像放置模块基于第二遗传进化算法为分配给给定页面的图像生成页面布局的遗传结构。这些遗传结构定义放置在给定页面上的图像的位置,比例,以及旋转取向。布局评估模块将这些布局与某些其他偏好和页面要求比较。当生成了适当的布局时,可以显示,打印,或以其他方式转移最终影集布局供后续使用。
另一种自动化的数字图像影集化系统包括页面布局模块,其将按事件组织的并且基于一组影集化参数自动布局的影集呈现给用户。页面上布局的图像的数量通过参数化的方法或者通过对图像属性的分析来确定。该参数化的方法将页面分成一组方格,并基于将图像布局到该方格上的一组规则确定要在页面上布局的图像的数量。在该系统中,图像在页面上的实际布局还可以通过将图像的属性比如它们的尺寸与一组模板匹配来确定。
另一种自动化的数字图像影集化系统基于力模型来在页面上自动放置图像,该力模型假设每个图像对位于相同页面上的其他图像施加力。该力是将图像分开的距离的函数。该系统通过在作用在图像上的净力的方向将每个图像移动是该净力的函数的距离,修改图像在页面上的初始布局。
需要的是在页面上自动布置图形对象的系统和方法,其能够由对于 每个布局中的一个或多个图形对象的相对尺寸的明确偏好引导或控制。
发明内容
在一个方面,本发明特征在于一种在页面上布置图形对象的方法。根据该方法,对于每个图形对象,基于分配给该图形对象的相应的标称尺寸,确定该图形对象在该页面上的相应的目标表现尺寸。构造所述图形对象在页面上的不同的相应的候选布局。在该过程中,计算每个候选布局中图形对象在页面上的相应的实际表现尺寸。至少部分基于所述实际表现尺寸与相应的所述目标表现尺寸的比较,确定图形对象在页面上的最终布局。输出图形对象的该最终布局。
在一个方面,本发明特征在于一种在页面上布置图形对象的方法。根据该方法,确定相应的标称尺寸到图形对象的两个或更多候选分配。每个候选分配不同于其他的候选分配。根据两个或更多个候选分配中的每个,构造图形对象在页面上的一个或多个候选布局的相应组。输出一个或多个所述候选布局。
根据包括附图和权利要求的下列详细描述,本发明的其它特征和优点将变得明显。
附图说明
图1是图形对象在页面上的布局的概图。
图2是图1所示图形对象布局的概图,其中用虚线椭圆标出由组成单元素图形对象形成的多元素图形对象。
图3A-3D是由6个组成图形对象形成的多元素图形对象的四个呈现的概图。
图4是用于在一个或多个页面上布置图形对象的系统的实施例的框图。
图5是由图4的系统实施的图形对象布置方法的实施例的流程图。
图6是包括相应的标称尺寸和相应的长宽比到要布置在页面上的图形对象的分配的页面寄存器的实施例的概图。
图7是在页面上布置图形对象的方法的实施例的流程图。
图8是用于交互地浏览图形对象在页面上的不同布局的用户接口的概图。
图9是在主窗口中呈现图形对象的选择的候选布置,并在侧窗口中呈现图形对象的可选布置的用户接口的概图。
图10是图8的用户接口的概图,其在主窗口中呈现用户选择的图形对象的可选布置。
图11是基于相应的标称尺寸到图形对象的一个或多个分配,生成图形对象在页面上的一个或多个布置的方法的实施例的流程图。
图12是生成相应的标称尺寸到要布局在页面上的图形对象的候选分配的方法的实施例的流程图。
图13A是图形对象的序列的概图。
图13B是图13A所示的图形对象在一组预定的对象类型类别上的分布的概图。
图13C是基于图13B所示的图形对象分布生成图形对象序列的方法的实施例的概图。
图13D是根据图13C所示的方法从图13A所示的图形对象生成的序列的概图。
图14A-16B是相应的标称尺寸到图13D中所示的序列中的图形对象的候选分配的实施例的概图。
图17是生成相应的标称尺寸到图形对象的候选分配的方法的实施例的流程图。
图18是比较相应标称尺寸到图形对象的分配的方法的实施例的流程图。
图19A是分配给图13B所示的图形对象的标称尺寸在预定对象类型类别的组上的分布的概图。
图19B是分配给图19A所示的图形对象的标称尺寸的分布的概图,其中每个对象类型类别中的标称尺寸按幅度来排序。
图20是用于在一个或多个页面上布置图形对象的系统的实施例的框图。
图21是在页面上布置图形对象的方法的实施例的流程图。
图22是页面的分割和对应于该页面分割的层次化树结构的概图。
图23A和23B是评估图形对象在页面上的布局的方法的实施例的流程图。
图24是确定通过树结构的路径的可用性的方法的实施例的流程图。
图25是生成通过图形对象在页面上的相对布局的一组路径的方法的实施例的流程图。
图26A-26J示出了关于示范性的候选相对布局根据图25的方法生成的路径组。
图27是表征树结构的节点的包围框的方法的实施例的流程图。
图28是生成图形对象在页面上的初始布置的方法的实施例的流程图。
图29A-29C是页面的不同分割以及对应的层次化树结构的概图。
图30A是第一图形对象的呈现以及描述该呈现的树结构的概图。
图30B是第二图形对象的呈现以及描述该呈现的树结构的概图。
图30C是包含对应于图30A和图30B所示的第一和第二图形对象的叶节点的粗糙树结构,以及从该粗糙树结构导出的对应的精细树结构的概图。
图30D是对应于图30C所示的粗糙树结构以及精细树结构的图形对象在页面上的相对布局。
图31A和31B是生成图形对象在页面上的布局的方法的实施例的第一和第二部分的相应流程图。
图32是分配页面空间的区域给树结构的根节点的方法的实施例的流程图。
图33是分配页面空间的区域给树结构的节点的子节点的方法的实施例的流程图。
具体实施方式
在下面的描述中,相似的附图标记用于标识相似的特征。此外,附图意在以示意方式示例说明示范性实施例的主要特征。附图并不意在描绘实际实施例的所有特征,或者所描绘特征的相对尺寸,并且不是按比例绘制的。
I.介绍
文中详细描述的实施例提供了在一个或多个页面上布置图形对象的方法。这些实施例能够由对于每个布局(或布置)中一个或多个图形对象的相对尺寸的明确偏好来引导或控制。一些实施例利用这一特征以便 生成对于不同的图形对象给予特别的显著性(即,特写)的多个可选布置。以这种方式,这些可选布置提供跨图形对象在页面上的可能布置的分布的布局的抽样。一些实施例利用这一特征以使得用户能够输入对于一个或多个图形对象的相对尺寸的偏好,其中相对尺寸偏好引导布局生成过程来强调(例如变大)或削弱(例如变小)特定布局中的某些图形对象。以这种方式,用户能够将系统引导到满足用户的审美偏好的图形对象的特定布局,即使用户在脑海中没有图形对象的具体布置。
如文中所用的,术语“页面”指的是其中可以布置图形对象的任何类型的离散区域,包括用离散的物理介质(例如纸张)实施的物理页面,其上可以打印图形对象的布局,以及包含图形对象的布局的虚拟,数字或电子页面,其可以用例如电子显示器装置呈现给用户。
术语“图形对象”广义地指任何类型的可以视觉感知的内容,其可以在物理或虚拟页面上表现,包括图像和文本。基于图像的图形对象(或简称“图像”)可以是任何类型的数字或电子图像的完整或部分版本,包括:图像传感器(例如视频摄像机,静态图像照相机,或者光学扫描仪)捕捉的图像,或者这样的图像的经过处理(例如,滤波,重新格式化,增强或以其他方式修改)的版本;计算机生成的位图或者矢量图形图像;文本图像(例如包含文本的位图图像);以及肖像图像。术语“图形对象”包含单元素图形对象以及多元素图形对象,多元素图形对象是由一个或多个图形对象的结合的组或者集合形成的。将单元素图形对象分配给特定的多元素图形对象表示该组成单元素图形对象是相关的。一般来说,多元素图形对象中的单元素图形对象的类型可以是相同的或者不同的。
在一些实施中,基于图像的图形对象(例如比如照片的图像)可以被指定为固定面积图像或者可变面积图像。在这些实施中,固定面积图像的面积或者尺寸在生成的布局中并不改变,而允许可变面积的图像的尺寸改变。可变面积图像可以有或者可以没有与在相同页面上表现的图像的相对面积相关联的限制。
在示出的实施例中,每个基于图像的图形对象被分配了相应的高宽比。该高宽比被定义为图像高度与图像宽度的比值。每个可变面积图像还可以被分配相应的正的标量值的标称尺寸。术语“标称尺寸”指的是指定的或者理论的尺寸,其可以或者可以不与实际的或者表现的尺寸不 同。图形对象的“尺寸”指的是图形对象占据的页面面积的量。在一些实施例中,允许用户设定分配给图像的标称尺寸值。在其他实施例中,图形对象布置系统自动地分配标称尺寸值给图形对象。
图1示出了包括多个单元素图形对象12-32的示范性页面10。
如图2所示,单元素图形对象12-32中选择的单元素图形对象可以被编组为图形对象42,意图是其组成图形对象(即14-24)在图形对象在页面上的布局中相互接近地出现。在图2所示的该示例中,多元素图形对象42可以包括不同类型的单元素图形对象(例如,基于图像的图形对象和文本图形对象)。此外,多元素图形对象的各单元素图形对象可以随意地布置,或者按特定的有序序列布置(例如,视频剪辑的关键帧的时间上有序的序列)。与任何其他图形对象不具有结合关系的单元素图形对象为只有一个呈现的“简并”图形对象。
如图3A-3D所示,具有超过一个的组成图形对象的图形对象52可以以一个以上的方式来呈现(或布置)。在一些实施中,单元素图形对象在多元素图形对象中的呈现限于图形对象的水平和垂直布置。在这些实施中的一些中,呈现可以进一步限于单元素图形对象的某些优选的水平和垂直布置。例如,一个实施仅允许其中文本图形对象仅在同一多元素图形对象中的图像的右侧或者下方出现的呈现。在这种情况下,包括图像和文本块的图形对象可以以两种不同的方式来呈现。图3A-3D示出了包括六个图形对象(例如视频关键帧)的序列54的图形对象52,可以以四种不同的方式呈现。
总体上,图形对象可以根据“严格面积”型或者“砖块”型来布置在页面上。在严格面积型布局中,相同页面上的图形对象的相对面积可以满足预先规定的比例。例如,用户可以规定相同页面上的所有图形对象具有相同的面积。在砖块型布局中,选择相同页面上的各图形对象的相对面积,使得图像之间没有空白空间。关于严格面积型布局和砖块型布局的额外细节可以从2004年9月30号提交的美国专利申请No.10/675724和2004年9月30号提交的美国专利申请No.10/675823获得。
II.用于在页面上布置图形对象的大致框架
图4示出了用于在一个或多个页面上布置图形对象70的系统60的 实施例,其包括页面分配模块62,页面布局生成器模块64,以及用户接口模块66,用户通过该用户接口模块与图形对象布置系统60交互。一般来说,图形对象布置系统60的模块62-66不限于具体的硬件或软件配置,而是它们可以在任何计算或者处理环境中实施,包括在数字电子电路中,或者在计算机硬件,固件,设备驱动器,或软件中实施。例如,在一些实施中,这些模块可以嵌入在很多种数字和模拟电子设备中的任意一种中的硬件中,所述电子设备包括台式和工作站计算机,数字静态图像照相机,数字视频摄像机,打印机,扫描仪,以及便携式电子设备(例如移动电话,膝上型计算机和笔记本计算机,以及个人数字助理)。在一些实施中,用于实施模块62-66的计算机程序指令和模块62-66生成的数据被存储在一个或多个机器可读的介质中。适合于有形地包含这些数据和指令的存储设备包括所有形式的非易失性存储器,包括例如半导体存储器设备,诸如EPROM,EEPROM,以及闪存设备;磁盘,诸如内部硬盘和可移动盘;磁光盘;以及CD-ROM。
图5示出页面分配模块62和页面布局生成器模块64协作地生成图形对象在一个或多个页面中的每一个上的相应布局的方法的实施例。
页面分配模块62将图形对象分配给一个或多个页面(图5,块68)。页面分配模块62对图形对象70的集合进行操作,该集合可以由用户指定或者可以由图形对象布置系统60自动地确定。页面分配模块62使用很多种页面分配方法中的任意一种将图形对象70分配给一个或多个页面。在一些方案中,页面分配模块62基于页面填充标准将图形对象70分配给页面,页面填充标准诸如用户规定的或者默认的可以在页面上布置的图形对象70的最大数量,或者用户规定的或者默认的页面的固定数量。在这些方案中,页面分配模块62可以根据一个或多个布置标准将图形对象70分配给页面,布置标准诸如用户规定的图形对象的布置,或者关于与图形对象70关联的元数据来规定的默认布置规则。例如,页面分配模块62可以基于与图形对象70关联的日期和时间元数据来按时间顺序将图形对象70分配给页面。或者,页面分配模块62可以基于对图形对象70的基于事件的分析来分配图形对象70给页面。页面分配模块62将图形对象页面分配数据72传送给初始布局生成器模块64,图形对象页面分配数据72规定了图形对象70到页面的分配。
页面布局生成器模块64根据图形对象分配数据72输出相应的图形 对象在每个页面上的最终或者确定的布局74(图5,块76)。如本文所使用的,术语“确定的布局”和“最终布局”同义地用于指其中规定了图形对象的位置和尺寸的图形对象在页面上的布局。在一些实施例中,页面布局生成器模块64基于评分,评估,或者合适性函数,确定对于一个给定页面的最终布局,该评分,评估,或者合适性函数促进其中图形对象的尺寸更接近于分配给图形对象的标称尺寸的最终布局的产生。这种评分,评估,或者合适性函数可以用于很多种不同的布局生成实施例,如下文更详细地描述的。在一些实施中,页面布局生成器模块64以布置成特定文件格式(例如PDF或XML)的规范的形式输出最终布局74。
页面布局生成器模块64输出图形对象70在一个或多个页面上的最终布局74给用户接口模块66,用户接口模块66在显示器77上呈现(或表现)最终布局(图5,块78)。在一些实施中,用户接口模块66允许用户交互地浏览图形对象布置系统60自动生成的页面。用户接口模块66还允许用户规定对页面的编辑。对给定页面的任何规定的编辑由用户接口模块66解释。用户接口模块66将解释过的用户命令指令发送到页面布局生成器模块64。页面布局生成器模块64重复图5的方法的一个或多个方面,以确定根据从用户接口模块66接收的编辑修改的一个或多个页面的最终布局74。用户接口模块66将修改的最终布局74呈现给用户。用户接着可以浏览修改的页面,对一个或多个修改的页面规定编辑,或者命令系统60表现一些或者全部页面。
III.以基于相对面积的控制在页面上布置图形对象
A.介绍
如下文详细解释的,页面布局生成器模块64能够由对于每个页面布局中一个或多个图形对象的相对尺寸的明确偏好引导或控制。该特征使得用户能够输入对于一个或多个图形对象的相对尺寸的偏好,其中该相对尺寸偏好使得页面布局生成器模块64根据用户的偏好强调(例如变大)或者削弱(例如变小)特定布局中的某些图形对象。这允许用户将系统引导到满足用户的审美偏好的图形对象的特定布局,即使用户在脑海中没有图形对象的具体布置也是如此。在一些实施例中,页面生成器模块64使用对于一个或多个图形对象的相对尺寸的明确偏好,通过 对于不同的图形对象给出特别的显著性,生成跨图形对象在页面上的可能布置的宽广分布的可选布局的抽样。该特征允许用户在选择用于表现的最终布局之前,快速地浏览很多种不同页面布局。
参考图6,页面布局生成器模块64基于页面分配模块62产生的页面分配数据72(见图4)以及规定每个页面的相应的页面寄存器生成最终页面布局74。在示例的实施例中,每个页面由页面寄存器80规定,页面寄存器80包括计划布置在该页面上的图形对象(例如IMG_1,IMG_2,...,IMG_N)的列表,以及到列表中的每个图形对象的相应的高宽比值(例如a1,a2,...,aN)以及相应的标称尺寸值(例如e1,e2,...,eN)的分配。如上所述,基于图像的图形对象(例如图像)的高宽比定义为图形对像的高度与其宽度的比。标称尺寸值(例如e1,e2,...,eN)可以由用户或者图形对象布置系统64设定。一组图形对象在页面上的任何特定布局的视觉外观由在页面寄存器中为该页面规定的高宽比值和标称尺寸值之间的关联确定,其中高宽比值和标称尺寸值之间的不同关联典型地导致产生具有不同视觉外观的页面布局。
B.以相对面积控制生成页面布局
1.概览
图7示出页面布局生成器模块64用来在页面上布置一组图形对象的方法的实施例,布置的方式使得页面布局生成器模块64能够被对于每个布局(或布置)中的一个或多个图形对象的相对尺寸的明确偏好引导或控制。
根据图7的方法,页面布局生成器模块64基于分配给每个图形对象的相应的标称尺寸,为该图形对象确定图形对象在页面上的相应的目标表现尺寸(图7,块82)。在一些实施例中,页面布局生成器模块64将每个图形对象i的目标表现尺寸(ti)设定为被分配用于布置图形对象的页面上总面积(AALLOCATED)的一分数部分,该分数等于相应的标称尺寸(ei)与分配给要布置在该页面上的所有N个图形对象的各相应标称尺寸之和的比值。即,
页面布局生成器模块64构造各图形对象在页面上的不同的相应候选布局(图7,块84)。在该过程中,页面布局生成器模块64计算每个候选布局中图形对象在页面上的相应实际表现尺寸。如下面进一步说明的,可以以很多种不同方式来构造不同的候选布局,包括但不限于基于树结构的页面分割方案以及基于遗传算法的图形对象布置方案。
页面布局生成器模块64至少部分基于各实际表现尺寸与各相应的目标表现尺寸的比较,确定各图形对象在页面上的最终布局(图7,块86)。在一些实施例中,页面布局生成器模块64基于评分,评估,或者合适性函数,确定对于给定页面的最终布局,该评分,评估,或者合适性函数促进其中图形对象的尺寸更接近于分配给图形对象的标称尺寸的最终布局的产生。这种评分,评估,或者合适性函数可以并入很多种不同的页面布局生成系统,如下文更详细地描述的。
在已经确定了图形对象的最终布局之后(图7,块86),页面布局生成器模块64输出图形对象的最终布局(图7,块88)。页面布局生成器模块64可以以包括描述了最终页面布局的数据结构(例如表格或列表)的规范的形式,输出最终布局。在一些实施例中,该规范以XML(可扩展标记语言)文件格式存储在机器可读介质上。适合于有形地包含规范的存储设备包括所有形式的非易失性计算机可读介质和易失性计算机可读介质,包括但不限于例如半导体存储器设备,诸如EPROM,EEPROM,以及闪存设备;磁盘,诸如内部硬盘和可移动盘;磁光盘;以及CD-ROM。最终布局规范可以由用户接口模块66或打印模块用于在显示器或者打印介质(例如纸张)上表现最终布局。
2.配置用于相对面积控制的页面布局生成器模块的示范性类型
一般来说,页面布局生成器模块64可以以很多种不同方式确定图形对象在给定页面上的最终布局。
在一些实施例中,页面布局生成器模块64使用每个页面的基于树结构的分割确定给定页面的最终布局。在该过程中,页面布局生成器模 块64迭代地构造一系列连续的布局,其中每个包括添加到该系列中前一个布局的额外的一个图形对象。在每次迭代中,页面布局生成器模块64基于相应的评分从前一个连续的布局构造当前的连续布局。该评分是从各实际表现尺寸与相应的目标表现尺寸的比较来计算的,各实际表现尺寸是为由该额外的图形对象在前一连续布局中不同的相应相对位置定义的各候选当前布局计算的。关于基于树结构的页面分割实施例的结构和操作的其他细节包含在下面的第IV章中。
在其他实施例中,页面布局生成器模块64通过根据遗传算法进化相应的遗传结构(该遗传结构定义了放置在给定页面上的图形对象的位置,比例,和旋转取向),并且基于上述的评分,评估,或者合适性函数连同特定的偏好和页面要求,从得到的布局中选择最终布局,来确定给定页面的最终布局。关于基于遗传进化的图形对象布置实施例的结构和操作的其他细节包含在例如美国专利No.6636648和美国专利申请公开No.2002/0122067中。
在其他实施例中,页面布局生成器模块64通过基于力模型在页面上放置图像来确定给定页面的最终布局,该力模型假设每个图像对位于相同页面上的其他图像施加力。该力是将图像分开的距离的函数。在作用在图像上的净力的方向将每个图像移动是该净力的函数的距离。关于基于力模型的图形对象布置实施例的结构和操作的其他细节包含在例如美国专利No.6636650中。
不管用什么类型的图形布置模型,页面布局生成器模块64的每个实施例基于促进其中图形对象的尺寸更接近于分配给图形对象的标称尺寸的最终布局的产生的评分,评估,或者合适性函数,确定一组给定图形对象的最终页面布局。在一些实施例中,页面布局生成器模块64基于候选布局中的图形对象的实际表现尺寸匹配相应的目标表现尺寸的程度,为每个候选布局计算相应的布局评分。该评分函数典型地并入了提供给定布局中的图形对象的实际尺寸与它们分配的标称尺寸的接近程度的指示的度量。在一些这种实施例中,页面布局生成器模块64基于实际表现尺寸与相应的目标表现尺寸的比值,为每个候选布局中的每个图形对象计算相应的图形对象评分。页面布局生成器模块64从各相应的图形对象评分为每个候选布局计算相应的布局评分。
在一个示范性实施例中,根据下面的伪代码为给定的候选页面布局 计算布局评分(layout_score):
layout_score=SINITIAL;
group_multiplier=MINITIAL;
For each photo{
ratio=actual_area/target_area
graphic_object_score=1.0;
if(ratio<σ1){
graphic_object_score=ratio/σ1
if(ratio<σ2){
graphic_objeot_score=
(graphic_object_score)2;
}
}
if(graphic_object_score<δT){
group_multiplier=
group_multiplier*θPENALTY;
}
layout_score=layout_score+
graphic_object_score;
}
layout_score=layout_score*group_multiplier
在该示范性实施例中,参数SINITIAL是初始布局评分,其典型地设置为0。参数MINITIAL为组乘数变量的初始值并且典型地设定为1.0。变量“actual_area”对应于给定候选页面布局中图形对象的实际表现尺寸,并且变量“target_area”对应于在图7的块82中确定的图形对象的目标表现尺寸。参数σ1是第一比值阈值,其具有在范围[0,1]内的值,并且其指出由于相应的实际面积被认为相对于目标面积较小而评分应当被惩罚的图形对象。参数σ2是第二比值阈值,其具有范围[0,1]内的小于σ1的值,并且其指出由于相应的实际面积被认为相对于目标面积过度小而评分应当被额外惩罚的图形对象。在一个示范性实施中,σ1=0.9而σ2=0.5。参数δT是图形对象评分阈值,其指出评分被认为充分低而总体布局评分应当被惩罚的图形对象,惩罚是通过将“group_multiplier”变量的值降低由惩罚因子参数θPENALTY设定的量来 实现的。在一个示范性实施中,δT=0.25并且θPENALTY=0.8。
在这些实施例中,页面布局生成器模块64典型地选择具有最高布局评分的布局作为最终布局,输出给用户接口模块66用于呈现给用户。在一些实施例中,页面布局生成器模块64存储多个最高评分的布局的规范。一个或多个这些布局规范可以响应于用户浏览一个或多个可选布局的请求,输出给用户接口模块66。
C.以相对面积控制生成可选布局
1.用于浏览图形对象布局的用户接口
图8示出了用于交互地浏览系统60(见图4)自动生成的页面的用户接口90的实施例。用户接口90包括主窗口92,图形对象浏览窗口94,以及布局浏览窗口96。主窗口92呈现图形对象100(即IMG_443,IMG_429,IMG_421,IMG_423,IMG_425以及IMG_442)在页面102上的当前布局98。图形对象浏览窗口94包含图形对象100的降低分辨率缩略图版本104的阵列。布局浏览窗口96包含影集的各页面的当前布局的降低分辨率缩略图版本106,其在图8所示的示范性影集中由单个页面构成。
用户接口90给用户提供用于提交让系统60生成在一个或多个方面不同于当前布局98的图形对象100的规定数量的可选布局的请求的选项。可选布局的数量可以由用户规定;或者可选布局的数量可以是默认数量。用户可以在让系统生成可选布局的请求中输入对于一个或多个图形对象100的相对尺寸的偏好。该相对尺寸偏好在强调(例如变大)或这削弱(例如变小)特定布局中的某些图形对象方面引导布局生成过程。页面布局生成器模块64以如下描述的随机化的方式,或者根据如下描述的预定方法,或者根据用户的偏好(如果在请求中有规定),产生数量等于规定的可选布局页面数量的页面寄存器。页面布局生成器64生成这些页面寄存器,使得每个页面寄存器包括相应的标称尺寸到图形对象的独特分配(见,例如图6),如下文详细描述的。
图9示出了包括主窗口115和侧窗口118的用户接口113。主窗口115呈现用户选择的布局116。侧窗口118呈现页面布局生成器模块64生成的图形对象100的可选布置120的缩略图图像。当前布局98的缩略图106(见图8)包括在侧窗口118(或者“变化”)的顶部,在图9中标注为“Variation 1”。用户可以通过例如使用指示器(例如计算机鼠标)选择侧窗口118中的对应的缩略图版本120,选择呈现在主窗口115中的可选布置。用户可以通过选择“<<Apply”按钮122,用所选择的一个可选布置替换呈现在用户接口90的主窗口中的当前布局98(见图8)。图10示出了用户已经在可选布局116中的缩略图像(即“Variation 2”)被选定的同时,选择了“<<Apply”按钮122之后的用户接口90。
2.生成可选图形对象布局
a.概览
在一些实施例中,页面布局生成器模块64根据下面的处理步骤生成给定一组图形对象的可选布局:
1.产生一组页面寄存器,其中每个包含图形对象的高宽比和分配给图形对象的标称尺寸之间的独特关联;
2.生成每个页面寄存器的候选布局;以及
3.选择确定为在一个或多个方面不同的候选布局。
在步骤1中产生的各页面寄存器典型地导致不同的相应候选页面布局的产生,因为各可选页面寄存器包含图形对象的高宽比和图形对象的标称尺寸之间的独特关联。
系统60的一些实施例允许用户规定一个或多个图形对象在该组可选候选布局中应当被强调(例如变大),或者削弱(例如变小)。在这些实施例中,上述的工作流程是相同的;然而,选择的图形对象在每个候选布局中将根据用户规定的偏好被强调或者削弱。根据这些实施例,页面布局生成器模块64根据下面的处理步骤生成给定一组图形对象的可选布局:
1.产生一组页面寄存器,其中每个包含图形对象的高宽比和分配给图形对象的标称尺寸之间的独特关联,并且选择的图形对象根据用户的偏好被强调或者削弱;
2.生成每个页面寄存器的候选布局;以及
3.选择确定为在一个或多个方面不同并且其中选择的图形对象根据用户的偏好被强调或者削弱的候选布局。
图11示出了生成图形对象在页面上的一个或多个可选布局的方法 的实施例。
根据图11的方法,页面布局生成器模块64确定相应的标称尺寸到图形对象的两个或更多候选分配(图11,块110)。如下文详细描述的,每个候选分配不同于其他候选分配。
页面布局生成器模块64根据两个或更多个候选分配中的每个,构造图形对象在页面上的一个或多个候选布局的相应组(图11,块112)。如上所述,可以以很多种不同方式来构造不同的候选布局,包括但不限于基于树结构的页面分割方案以及基于遗传算法的图形对象布置方案。
页面布局生成器模块64输出一个或多个候选布局(图11,块114)。在一些实施例中,页面布局生成器模块64输出布局被确定为不同于其他布局的候选布局。
b.确定不同的候选分配
页面布局生成器模块64可以有很多种不同的方式来确定相应标称尺寸到图形对象的一个或多个候选分配(图11,块110)。本章中描述的实施例被设计为产生这样一组页面寄存器,其包含的候选分配倾向于导致由页面布局生成器模块64产生不同的候选布局。
图12示出生成相应标称尺寸到要布置在页面上的图形对象的候选分配的方法的实施例。根据该方法,页面布局生成器模块64将每个图形对象分类到从一组预定的图形对象类型类别选择的一个相应的类别中(图12,块130)。页面布局生成器模块64基于分别分配给图形对象的类别,产生图形对象的序列(图12,块132)。在一些实施例中,该序列被设计为使得不同的候选布局中特写(或强调)不同的图形对象。页面布局生成器模块64从该图形对象序列产生一个或多个候选分配(图12,块134)。
一般来说,该组预定的图形对象类型类别可以包含很多种不同的图形对象类型类别(见图12,块130)。在图13A-16B,19A以及19B中所示的实施例中,图形对象被分类到从肖像类别(P),风景类别(L),正方形类别(S),宽风景类别(W),以及窄肖像类别(N)中选择的相应类别。这种分类特别适合于分类基于图像的图形对象,诸如照片。这些类别中的每个由该类别中的图形对象的高宽比(即,高度对宽度)定义。在一个这种示范性实施例中,肖像类别(P)包含具有约4∶3的 高宽比的图像;风景类别(L)包含具有约3∶4的高宽比的图像;正方形类别(S)包含具有约1∶1的高宽比的图像;宽风景类别(W)包含具有小于3∶4的高宽比的图像;窄肖像类别(N)包含具有大于4∶3的高宽比的图像。
图13A示出9个图形对象136(即P1,L2,P3,P4,L5,S6,W7,L8,和N9)的示范性序列,其中每个图形对象由对应于其图形对象类型类别的首字符跟着对应于其序号的数字来标记。图13B示出了这些图形对象136在该组预定对象类型类别W,L,S,P和N上的分布138。
一般来说,页面布局生成器模块64可以以很多不同方式基于分别分配给图形对象的类别,产生图形对象的序列(图12,块132)。在一些实施例中,页面布局生成器模块64从不同于从其中选择分别在前的图形对象的图形对象类型类别的图形对象类型类别中选择序列的连续的图形对象。例如,图13C示出了产生这种序列的一个示范性方法。在该方法中,页面布局生成器模块64根据图13C所示的扫描线的有序序列从左到右扫描分布138。页面布局生成器模块64以扫描线顺序来排序图形对象136。得到的图形对象136的序列140示于图13D中。
页面布局生成器模块64可以以很多种不同方式从序列140生成一个或多个候选分配(见图12,块134)。
在一些实施例中,对于在要布置到页面上的该组图形对象中表示的每个图形对象类型类别,页面布局生成器模块64生成一个相应的候选分配,其中该对象类型类别的一个图像被特写。在一些这种实施例中,对于包含至少一个图形对象的代表的图形对象类型类别中的每一个,页面布局生成器模块64生成相应的一个候选分配,其中标称尺寸中最大的一个被分配给对应的代表的图形对象类型类别中的相应的一个图形对象。在一个这种示范性实施例中,页面布局生成器模块64根据下面的伪代码生成包含相应的候选分配的各页面寄存器(“候选分配生成程序A”):
Set marker=0
for(i=0;i<C;i++){
start a new″current″page register with all the
graphic objects
select the graphic object at position″marker″in
the graphic object sequence
marker=marker+1
designate the selected graphic object as
″featured″on the page
designate all other graphic objects as″not
featured″
store the designations in the current page
register
add the current page register to a list of
alternative page registers
}
I.候选分配生成程序A
在该程序中,变量C是要布局到该页面上的图形对象的集合代表的图形对象类型类别的数量。
图14A和14B分别示出包含标称尺寸146,148到有序的序列140中的图形对象的相应分配的示范性页面寄存器142,144。页面寄存器142在候选分配生成程序A的for循环的第一次迭代之后生成。标记被放在序列中的第二图形对象(即L2)上,该标记已经在程序A的for循环的第一次迭代期间被递增。第一对象(W7)通过其分配的标称尺寸4,而其他图形对象被分配相应的标称尺寸1,而被在页面寄存器142中特写。页面寄存器144在上述伪代码的for循环的第二次迭代之后生成,其中标记“M”被放在序列140中的第三图形对象(即S6)上,该标记的值已经在第二次for循环迭代期间被递增。第二对象(L2)通过其分配的标称尺寸4,而其他图形对象被分配相应的标称尺寸1,而被在页面寄存器144中特写。
如果要布局到该页面上的图形对象的集合代表的图形对象类型类别的数量(C)大于或者等于调用模块(例如用户接口90)请求的可选布局的数量,页面布局生成器模块64从候选分配生成程序A产生的可 选页面寄存器生成候选布局,并输出要求数量的候选布局。
如果要布局到该页面上的图形对象的集合代表的图形对象类型类别的数量(C)小于调用模块(例如用户接口90)请求的可选布局的数量,则执行一个或多个额外的候选分配生成程序,来产生足够数量的候选分配,以满足请求的可选布局的数量。在一些实施例中,候选布局生成器模块64生成额外的可选候选分配,其中图形对象被分配或者从第一组一个或多个标称尺寸,或者从第二组一个或多个标称尺寸选择的相应的标称尺寸,其中第二组中的每个标称尺寸小于第一组中最小的标称尺寸。在示例的实施例中,第一组由单个标称尺寸4构成,第二组由单个标称尺寸1构成。每个可选候选分配具有不同数量的被分配了从第一组标称尺寸中选择的标称尺寸的图形对象。在一个这种示范性实施例中,页面布局生成器模块64根据下面的伪代码(“候选分配生成程序B”)生成额外的包含相应的候选分配的页面寄存器。在该程序中NADDITIONAL=NREQUESTED-NGENERATED,其中NREQUESTED是调用模块请求的可选布局的数量,NGENERATED是页面布局生成器模块64已经生成的候选分配的数量。同时,N是要放置在该页面上的照片的数量。
If(NADDITIONAL>N-2)
then{
for(i=2;i<N;i++){
start a new″current″page register with
all the graphic objects
select the i photos at and after the at
position″marker″in the graphic object
sequence,wrapping around to the
beginning of the sequence if necessary
marker=(marker+i)modulo(N)
designate the selected graphic object as
″featured″on the page
designate all other graphic objects as″not
featured″
store the designations in the current page
register
add the current page register to a list of
alternative page registers
}
}
else{
for(i=1;i≤NADDITIONAL;i++){
start a new″current″page register with
all the graphic objects
x=(2*i-1)/(2*NADDITIONAL)
x=x*(N-2)
x=x+2
select the x photos at and after the at
position″marker″in the graphic object
sequence,wrapping around to the
beginning of the sequence as necessary
marker=(marker+x)modulo(N)
designate the selected graphic object as
″featured″on the page
designate all other graphic objects as″not
featured″
store the designations in the current page
register
add the current page register to a list of
alternative page registers
}
}
II.候选分配生成程序B
图15A和15B分别示出包含标称尺寸156,158到有序序列140中的图形对象的相应分配的示范性页面寄存器152,154,假定就在程序A完成之后,条件(NADDITIONAL>N-2)为真(即,迫使控制前进通过程序B的第一for循环)。页面寄存器152在for循环的第一次迭代之后生成。 标记“M”被放在序列140中的图形对象(即L8)上,因为在候选分配生成程序A的结束处,标记将已经指向图形对象L5;并且在程序B的第一次for循环迭代期间,其值被增加2。对象L5和P3通过其分配的标称尺寸4,而其他图形对象被分配相应的标称尺寸1,而被在页面寄存器152中特写。页面寄存器154在候选分配生成程序B的第一for循环的第二次迭代之后生成,其中标记“M”被放在序列140中的图形对象L2上。第八、第九和第一对象(L8,P4和W7)通过其分配的标称尺寸4,而其他图形对象被分配相应的标称尺寸1,而被在页面寄存器154中特写。
图16A和16B分别示出包含标称尺寸166,168到有序序列140中的图形对象的相应分配的示范性页面寄存器162,164,假定就在程序A完成之后,条件(NADDITIONAL>N-2)为假(即,迫使控制前进通过程序B的第二for循环)。页面寄存器162在候选分配生成程序B的第二for循环的第一次迭代之后生成,其中标记“M”被放在序列140中的图形对象P4上。对象L5,P3和L8通过其分配的标称尺寸4,而其他图形对象被分配相应的标称尺寸1,而被在页面寄存器162中特写。页面寄存器164在候选分配生成程序B的第二for循环的第二次迭代之后生成,其中标记“M”被放在序列140中的图形对象P3上。对象P4,W7,L2,S6,P1,N9和L5通过其分配的标称尺寸4,而其他图形对象被分配相应的标称尺寸1,而被在页面寄存器164中特写。
在一些实施例中,如果需要额外的可选候选分配来满足请求的可选候选页面布局的数量,页面布局生成器模块64随机生成可选候选分配。例如,在一些实施例中,对于每个相应的候选分配,页面布局生成器模块64将从第一组一个或多个标称尺寸中选择的相应的标称尺寸分配给随机数量的随机选择的要布置在页面上的图形对象;页面布局生成器模块64将从第二组一个或多个标称尺寸中选择的相应的标称尺寸分配给其他的图形对象。在一些这种实施例中,第二组中的每个标称尺寸小于第一组中最小的标称尺寸。图17示出了这种类型的一个示范性实施例。
根据图17的候选分配生成方法,产生要布置在该页面上的图形对象的当前随机序列(图17,块170)。确定要在对应的候选布局中特写的,当前随机序列中当前随机数量(R)个图形对象的一个当前组(图17,块172)。在一些实施例中,当前随机序列中的前R个图形对象被 选择为图形对象的当前组。将从第一组一个或多个标称尺寸中选择的各相应标称尺寸分配给当前随机序列中的当前组的图形对象(图17,块174)。将从第二组一个或多个标称尺寸中选择的各相应标称尺寸分配给当前随机序列中剩下的图形对象,该第二组中的每个标称尺寸小于第一组中最小的标称尺寸(图17,块176)。将当前分配与所有之前生成的候选分配比较(图17,块178)。如果当前分配不同于所有之前生成的候选分配(图17,块180),将当前分配加到可选候选分配的列表中(图17,块182);否则如果当前分配类似于(或者并不充分不同于)任何之前生成的候选分配,则放弃当前分配(图17,块184)。
图17的过程可以重复直到可选候选分配的列表具有期望的长度,或者直到已经执行了最大数量的尝试。
图18是比较相应标称尺寸到图形对象的分配的方法的实施例的流程图(见图17,块178)。根据该方法,每个图形对象被分类到从一组预定的图形对象类型类别中选择的相应类别(图18,块186)。页面布局生成器模块64为当前分配和之前生成的候选分配中的每一个产生分配给图形对象的标称尺寸在各图形对象类型类别上的相应分布(图18,块188)。图19A示出了分配给图13B所示的图形对象176的一组示范性标称尺寸在预定的对象类型类别的组上的分布192。比较当前分配的分布与为之前产生的候选分配生成的分布(图18,块190)。图19B示出了分配给图19A所示的图形对象的标称尺寸的分布194,其中每个对象类型类别中的标称尺寸按幅度排序。分布194可以用作比较分配的基础。例如,如果两个分配具有相同的图19B所示类型的分布,则认为它们是相同的;否则,认为分配是不同的。
图18所示的比较过程也可以用于确保从图12的块134输出的候选分配是独特的。
IV.示范性页面布局生成器实施例
A.介绍
在本章中描述的实施例中,页面布局生成器模块64使用每个页面的基于树结构的分割为给定页面确定最终布局。在该过程中,页面布局生成器模块64迭代地构造一系列连续的布局,其中每个布局包括添加到该系列中前一布局的额外的一个图形对象。在每次迭代中,页面布局 生成器模块64基于相应的评分从前一个连续的布局构造当前的连续布局。该评分是从各实际表现尺寸与相应的目标表现尺寸的比较来计算的,目标表现尺寸是为该额外的图形对象在前一连续布局中不同的相应相对位置定义的各候选当前布局计算的。
图20示出页面布局生成器模块64的实施例,其包括初始布局生成器模块264,布局评估模块266,以及最终布局生成器模块270。
一般来说,页面布局生成器模块64的模块264-270不限于任何具体的硬件或软件配置,而是它们可以在任何计算或者处理环境中实施,包括在数字电子电路中,或者在计算机硬件,固件,设备驱动器,或软件中实施。例如,在一些实施中,这些模块可以嵌入在很多种数字和模拟电子设备中的任意一种中的硬件中,所述电子设备包括台式和工作站计算机,数字静态图像照相机,数字视频摄像机,打印机,扫描仪,以及便携式电子设备(例如移动电话,膝上型计算机和笔记本计算机,以及个人数字助理)。在一些实施中,用于实施模块264-270的计算机程序指令和模块264-270生成的数据被存储在一个或多个机器可读的介质中。适合于有形地包含这些数据和指令的存储设备包括所有形式的非易失性存储器,包括例如半导体存储器设备,诸如EPROM,EEPROM,以及闪存设备;磁盘,诸如内部硬盘和可移动盘;磁光盘;以及CD-ROM。
图21示出初始布局生成器模块264,布局评估模块266,以及最终布局生成器模块270协作生成图形对象在一个或多个页面上的布局的方法的实施例。
初始布局生成器模块264基于图形对象分配数据78生成图形对象70在每个页面上的初始布置280(或初始相对布局)(图21,块282)。如文中所使用的,术语“相对布局”指的是图形对象在页面上的一种布局,其中规定了图形对象的相对位置但是没有规定图形对象的绝对位置。在一些实施中,初始布局生成器模块264将每个相对页面布局的规范存储在代表二叉树的相应数据结构268中,该二叉树具有对应于图形对象的叶节点,以及对应于对应页面的分割的内部节点。初始布局生成器模块264将图形对象70在页面上的初始布置280传送到最终布局生成器模块270。
最终布局生成器模块270从接收自初始布局生成器模块264的布置生成图形对象在页面上的最终布置(图21,块288)。在该过程中,最 终布局生成器模块270确定图形对象在一个或多个页面上的相应的确定的布局290。如文中所使用的,术语“确定的布局”或“最终布局”指的是图形对象在页面上的一种布局,其中规定了图形对象的位置和尺寸。最终布局生成器模块270输出图形对象在一个或多个页面上的最终确定的布局290给用户接口模块66。
在生成图形对象在一个或多个页面上的初始布置280和最终布置290的过程中(图21,块282,288),初始布局生成器264和最终布局生成器模块270生成图形对象70在一个或多个页面上的各种候选布置和一组最终布置。初始布局生成器264和最终布局生成器模块270将这些布置的规范传送到布局评估模块266,布局评估模块266确定布局可用性,计算图形对象在页面上的各种布局尺寸,以及计算这些候选布置的评分。如下文详细描述的,可用性测试结果,尺寸,以及评分由初始布局生成器264和最终布局生成器模块270用于从各种生成的候选布置中选择图形对象的初始布置80和最终布置290。
B.树结构
参考图22,初始布局生成器模块264根据相应的候选相对布局分割每个页面300,候选相对布局由对应的树结构302代表。树结构302的每个叶节点对应于页面300上相应的图形对象(GO1,GO2,GO3,GO4,GO5,GO6)。树结构302的每个内部节点(H,V)对应于对应页面300上的水平或者垂直分割中的一个。在页面300的该示范性的候选相对布局和对应的树结构302中,根H节点104代表页面300的水平分割306。左内部V节点308代表页面300的上垂直分割310,右内部V节点312代表页面300的下垂直分割314。内部H节点316,318分别代表页面300的水平分割322,320。树结构302中的叶节点的位置规定了对应的图形对象(GO1,GO2,GO3,GO4,GO5,GO6)在页面300上的独特相对位置。
C.候选布局评估
候选布局评估可以包括下面的一个或多个步骤:确定候选布局是否可用;计算图形对象的尺寸;以及计算布局评分。布局评估模块266有多种不同的评估方法供其选择。选择哪个方法可以基于期望的布局型式 以及发出评估布局的请求的模块的要求。其他因素,诸如方法运行时间,计算资源,以及存储器限制也可以影响布局评估方法的选择。
用于选择一种布局评估方法的过程示出于图23A和23B中。
参考图23A,如果期望砖块布局型式(块271),那么确定在要布置在页面上的该组图形对象中是否有至少一个固定面积的图形对象(块273)。在示出的实施例中,仅当所有图形对象都是可变面积的情况下,才认为砖块型布局是可用的。因此,如果布局中有至少一个固定面积的图形对象(块273),布局评估过程的执行终止(块275)。
假定所有图形对象都是可变面积类型的,再确定调用模块是否要求图形对象面积的计算服从于对相邻图形对象之间的间隔的明确限制(块277)。如果答案是肯定的,首先检查候选树是否代表了如下文详细描述的可用布局(块279)。如果布局不可用(块279),那么这样通知调用模块,并且放弃该候选布局(块281)。如果布局是可用的(块279),那么这样通知调用模块(如果需要),并且使用下文详细描述的基于线性系统的面积确定评估方法来评估布局(块283)。
如果调用模块不要求遵守与图形对象之间的间隔相关联的限制(块277),那么布局评估模块266执行两个流程中之一。在第一流程中,布局评估模块266验证候选布局是可用的并且采用基于线性系统的面积确定评估过程(块285)。在第二流程中,布局评估模块266使用基于包围框的面积确定评估过程,而不测试布局可用性(块287)。在典型实施中,第二流程(块287)快于第一流程(块285)。在一些实施例中,使用下面的规则来选择使用第一流程和第二流程中的哪个来评估布局:如果调用模块是初始布局生成器模块264,那么使用第二流程(块287);并且如果调用模块是最终布局生成器模块270,那么使用第一流程(块285)。
参考图23B,如果期望严格面积布局型(块289),那么确定下列是否为真:候选布局中有至少一个固定面积的图形对象,或者调用模块要求图形对象面积的计算服从于对相邻图形对象之间的间隔的明确限制(块291)。
如果候选布局中有至少一个固定面积的图形对象,或者调用模块要求图形对象面积的计算服从于对相邻图形对象之间的间隔的明确限制(块291),那么首先检查候选树是否代表了如下文详细描述的可用布 局(块293)。如果布局不可用,那么这样通知调用模块。如果布局是可用的,那么这样通知调用模块(如果需要),并且使用下文详细描述的基于路径的面积确定评估过程来评估布局(块295)。
如果候选布局中没有固定面积的对象,并且调用模块不要求图形对象面积的计算服从于对相邻图形对象之间的间隔的明确限制(块291),那么可以接着进行两种可用流程之一。在第一流程中,布局评估模块266验证候选布局是可用的并且采用基于路径的面积确定评估过程(块297)。在第二流程中,布局评估模块266使用基于包围框的面积确定评估过程,而不测试布局可用性(块299)。在典型实施中,第二流程(块299)快于第一流程(块297)。在一些实施例中,使用下面的规则来选择使用第一流程和第二流程中的哪个来评估布局:如果调用模块是初始布局生成器模块264,那么使用第二流程(块299);并且如果调用模块是最终布局生成器模块270,那么使用第一流程(块297)。
1.候选树结构的可用性
a.概览
在一些实施例中,布局评估模块266首先确定当前候选树结构是否代表了可用的候选相对布局。
如果组成的图形对象适合到页面上的可用空间中,包括考虑了固定面积图形对象和任何用户规定的和系统规定的图形对象之间的固定间隔,那么候选相对布局是可用的。在上述的实施例中,如果页面上没有固定面积的图形对象,并且没有对相邻图形对象之间的间隔的限制,那么任何布局都是可行的。因此,如可以从图23A和23B中推断出的,仅在选择的面积确定模块是基于路径的面积确定模块或者基于线性系统的面积确定模块的情况下,才考虑布局可用性。如果选择的面积确定模块是基于包围框的面积确定,则不考虑布局可用性。
b.确定候选树结构的可用性
图24示出了布局评估模块266确定候选树结构的可用性的实施例。
布局评估模块266根椐下面结合图9-10J描述的路径生成过程生成通过候选结构的路径Pi(图24,块410)。
布局评估模块266计算每条路径Pi的路径长度L(Pi)(图24,块412)。 如果路径Pi是垂直的,那么其长度为
L(Pi)=sum(通过沿Pi的分割的固定距离)
+sum(Pi上的固定面积图形对象的高度) (2)
+sum(Pi上的可变面积图形对象的高度)
图形对象的高度(HGO)可以被写为如下:
其中A是图形对象的面积,a是定义为高度除以宽度的比值的高宽比,并且Q为面积的平方根。因此,如果Pi是垂直路径,其长度可以被写为:
其中Ki为等式2中的前两项的和(即沿路径Pi的所有固定距离);Qi,j是路径Pi上的第j个可变面积对象的面积的平方根;以及ai,j是路径Pi上的第j个可变面积对象的高宽比。注意到求和项对应于路径Pi上的可变面积图形对象的高度之和。
根据类似的推导,水平路径Pi的长度可以被写为
其中Ki为沿路径Pi的水平固定距离和固定面积图形对象的宽度之和。
布局评估模块266比较路径的固定距离项Ki与可用页面空间的对应的尺寸(图24,块414)。
如果每个固定距离项适合在可用页面空间之内(即,Ki≤每个路径Pi的对应的页面空间尺寸)(图24,块416),布局评估模块266将布局指定为可用的(图24,块418)。否则,布局评估模块266将布局指定为不可用(图24,块420)。
c.生成路径
i.路径生成方法的概览
图25示出生成通过页面上的图形对象的相对布局的一组路径的方法的实施例的流程图。
简而言之,图25的路径生成方法为对应于相对布局的树结构中的每个节点执行一次。即,每个节点在轮到它的时候是“当前节点”,路径生成方法的相应实例对其在块428开始。路径生成方法的每个实例的输出是对应于当前节点的一组路径。当当前节点是末端节点(即叶节点)时,在块432为当前节点建立两个新的路径。当当前节点是内部节点时,方法的当前实例被分为两个阶段。在第一阶段,方法的相应实例对于当前节点的左和右子节点在块434和436中执行。在第二阶段,左和右子节点的路径被组合以在块438-450中形成当前节点的路径。当节点是根节点时,从路径生成方法的相应实例产生的路径是被处理的相对布局的完整的一组路径。
ii.路径生成方法的详细描述
初始地,路径生成方法在块428以给定候选相对布局的根节点开始。路径生成方法递归地确定内部节点和末端节点中每个的路径,以获得通过当前候选相对布局的完整的一组路径。在递归过程中,当前节点输入到该过程中,并且在块430确定当前节点是否为末端节点。
如果当前节点是末端节点,在块432开始两个新的路径:具有穿过与末端节点关联的图形对象的单步的水平路径(例如,从左到右),以及具有穿过与末端节点关联的图形对象的单步的垂直路径(例如,从上到下)。在块432之后,与当前末端节点相关联的路径生成方法的实例完成。
如果当前节点不是末端节点(块430),块434和436将当前内部节点的两个子节点(即左子节点和右子节点)作为当前节点,在路径生成方法的相应实例中在块428开始处理。为当前父节点执行的方法的实例在方法的实例对于子节点执行的期间挂起。在示例的实施例中,路径生成方法的对于右子节点的实例在路径生成方法的对于左子节点的实例完成之后执行。对于左子节点和右子节点执行的路径生成方法的实例 的结果是两组路径。
在块437-450,为两个子节点确定的路径被组合。块437建立当前节点的路径列表。块438确定当前内部节点是代表水平分割还是垂直分割。如果内部节点代表水平分割,那么节点继承其子节点的水平路径(块440,442),并且组合其子节点的垂直路径(块444)。特别是,如果当前内部节点代表水平分割,那么当前内部节点继承其左子节点的NLH个水平路径中的每个路径(块440),以及其右子节点的NRH个水平路径中的每个路径(块442)。在块444,当前内部节点通过将左手子节点的NLV个垂直路径中的每个路径依次与右手子节点的NRV个垂直路径中的每个路径串联以形成当前节点的(NLH*NRV)个垂直路径,获得新的一组垂直路径。路径的总数量对于NLH+NRH+(NLH*NRV)。
如果内部节点代表垂直分割,那么节点继承其子节点的垂直路径(块446,448),并且组合其子节点的水平路径(块450)。特别是,如果内部节点代表垂直分割,那么节点继承其左子节点的NLV个垂直路径中的每个路径(块446),以及其右子节点的NRV个垂直路径中的每个路径(块448)。在块450,节点通过将左手子节点的NLH个水平路径中的每个路径依次与右手子节点的NRH个水平路径中的每个路径串联以形成当前节点的(NLH*NRH)个水平路径,获得新的一组水平路径。因此路径的数量等于NLV+NRV+(NLH*NRH)。
当为一节点执行的路径生成方法的给定实例完成时(例如,在块432,444,和450之后),处理控制回到调用该给定实例的实例。当为根节点启动的实例完成时,与根节点相关联的该组路径就是对于该相对布局的完整的一组路径,并且路径生成方法终止。
iii.将路径生成方法应用到示范性的候选相对布局
图26A-26J示出了通过图25的路径生成方法,为对应于示范性的候选相对布局453的树结构452的各相应节点生成的路径。
图26A示出了在路径生成过程开始之前的树结构452和对应的候选相对布局453。候选相对布局453中的水平和垂直分割示出为虚线。
图26B-26J中的每个示出了树结构452的相应版本,其中直到对于在图中圈出的相应当前节点的路径生成方法的实例完成时已经生成的路径,在对应的节点位置示出。对应的路径示出为叠加在相对布局453 上的箭头。在该树结构中,每个路径由在相应的一列图形对象之前的箭头标注。在一列图形对象之前的向右指向的箭头指示通过这些图形对象的水平路径。在一列图形对象之前的向下指向的箭头指示通过这些图形对象的垂直路径。例如,“→GO4”表示通过图形对象GO4的水平路径;而“→GO4,GO5”表示通过图形对象GO4和GO5的水平路径。
图26B示出了在图25的块432中创建的,通过对应于图形对象GO1的末端节点455的水平路径和垂直路径。
图26C示出了在图25的块432中创建的,通过对应于图形对象GO2的末端节点457的水平路径和垂直路径。图26D示出了在图25的块432中创建的,通过对应于图形对象GO3的末端节点459的水平路径和垂直路径。图26E在垂直父节点461处示出通过GO2和GO3的路径的组合,其是在图25的块440-444中对于垂直父节点461生成的。
图26F示出了在图25的块432中创建的,通过对应于图形对象GO4的末端节点463的水平路径和垂直路径。图26G示出了在图25的块432中创建的,通过对应于图形对象GO5的末端节点465的水平路径和垂直路径。图26H在垂直父节点467处示出通过GO2和GO3的路径的组合,其是在图25的块440-444中对于垂直父节点467生成的。
图26I在水平父节点469处示出通过垂直节点461,467的路径的组合,其是在图25的块446-450中对于水平父节点469生成的。
图26J在垂直根节点471处示出通过候选相对布局453的完整的一组路径,其对应于通过末端节点455和垂直节点469的路径的组合,其是在图25的块446-450中对于根节点471生成的。
2.评估候选树结构
在本申请的本章节中描述的实施例中,用于评估候选相对布局的评分取决于对图形对象在页面上占据的面积的测量。
a.确定图形对象的面积
布局评估模块266根据基于包围框的确定过程,基于路径的确定过程,或者基于线性系统的确定过程,计算在候选相对布局的给定实例中规定的图形对象占据的面积。
i.图形对象面积的基于包围框的确定
在示例的实施例中,包围框确定过程的目标是计算给定树结构中的每个内部节点的高宽比值和标称尺寸值。每个包围框由其围住的框确定。
如下文将更详细描述的,使用图形对象的标称尺寸计算包围框。如上所述,假定这些标称尺寸记录在当前页面的页面寄存器中。在一些实施中,包围框表征过程在叶节点处开始,并按深度优先搜索的次序朝着根节点工作,如图27中所示。
任何内部节点的高宽比和标称尺寸的公式在下面给出。一般,对于具有高宽比a,以及标称尺寸e的任何图像包围框,量和分别是图像包围框的标称高度和标称宽度。任何内部节点的高宽比a和标称尺寸e是其两个子节点的高宽比和标称尺寸的函数。在下面的等式中,ar和er是右手子节点的高宽比和标称尺寸,a1和e1是左手子节点的高宽比和标称尺寸。因此,如果右手子节点和左手子节点并排布置,围住它们的包围框的高宽比和标称尺寸为:
其中
等式(6)中的高宽比是更大的标称高度除以两个标称宽度的和的比值,而等式(7)中的标称尺寸是更大的标称高度与两个标称宽度的和的积。找到等式(8)中的最大值确定两个子节点框中哪个标称上更高,因此主宰父节点框的高度。
如果两个子节点代表的框为一个布置在另一个之上,围住它们的包围框的高宽比和标称尺寸为:
其中
在该情况下,等式(11)确定两个子节点框中哪个标称上更宽,因此主宰父节点框的宽度。
根节点的包围框传达对应的树结构规定的页面的整个布局的形状和标称尺寸。根节点的包围框在这里称为“主包围框”。
当主包围框的高宽比和标称尺寸已知时,图形对象i的基于包围框的面积Ai计算为
其中ei和epbb分别为图形对象i和主包围框的标称尺寸,并且其中Apbb为主包围框的面积,计算为
其中Apage为可用页面空间的面积。
图27示出布局评估模块266为树结构的节点计算包围框的相对高度和宽度尺寸的递归过程的实施例的流程图。
过程以根节点作为当前节点开始。确定当前节点是否为末端节点(图27,块480)。如果当前节点为末端节点,则建立具有相关联的图形对象的标称高度和宽度的包围框(图27,块482)。如果当前节点不是末端节点,则将当前节点的两个子节点(即,左子节点和右子节点)提交给相同的递归过程(图27,块484,486)。将两个子节点的包围框组合来形成当前节点的包围框,如下所述。布局评估模块266确定当前节点是水平分割还是垂直分割(图27,块488)。如果当前节点代表水平分割,那么将包围框的标称宽度设定为两个子节点的包围框中更宽的包围框的标称宽度(图27,块490),并将包围框的标称高度设定为两个子节点的包围框的标称高度之和。如果当前节点代表垂直分割(图27,块488),那么将包围框的标称高度设定为两个子节点的包围框中更高的包围框的标称高度(图27,块494),并将包围框的标称宽度设定为两个子节点的包围框的标称宽度之和。该过程继续直到已经计算了根节点的包围框为止。
ii.图形对象面积的基于路径的确定
在严格面积型布局中,每个可变面积图形组件具有分配的标称尺寸,其由变量e表示。在具有多于一个的组成单元素图形对象的多元素图形对象(诸如来自视频的一系列关键帧)的情境下,该将单个聚集标称尺寸分配给整个图形对象,并且该多元素图形对象中的各单个的图形对象的标称尺寸被设定为等于聚集的标称尺寸除以该多元素图形对象中的图形对象的数量。在本章节的剩下的部分中,假定路径Pi上的每个图形对象j是具有正的标称尺寸ej的单元素图形对象。因为标称尺寸与实际面积成比例,上面定义的变量Q可以被一般化以反映标称尺寸的平方根(而不是绝对面积)如下:
其中g为正的标量,使得g2乘以标称尺寸是可测量的绝对面积(例如,平方英寸)。Q除以的比值是跨所有可变面积图形对象的常数,使得相同的g值用于页面上所有可变面积图形对象。因此,在上面的等式(4)和(5)中,当用代替Q时,g可以从求和项中拉出,获得:
其中ei,j是路径Pi上的第j个可变面积图形对象的标称尺寸。
如果路径Pi是垂直路径并且页面上的可用面积具有高度HPAGE,那么对于gi求解下面的方程产生这样的值,即,Pi对于该值确切地如同可变面积的高度那么长:
类似地,如果路径Pi是水平路径并且可用面积具有宽度WPAGE,那么对于gi求解下面的方程产生这样的值,即,路径对于该值确切地适合在 可变面积的宽度上:
在一个实施例中,通过根据Pi是垂直路径还是水平路径,使用方程(17)或者(18)(为每个路径Pi)求解gi,使得可变面积图形对象的面积尽可能的大,而仍然允许所有图形对象完全落在页面的可用面积上。因为之前已经确定布局为可用的,如上所述,gi的每个解将是正的。如果定义g*为所有路径上的最小解:
g*=mini{gi) (19)
那么第j个可变面积图形对象的面积Aj计算为
Aj=(g*)2·ej (20)
其中ej是分配给第j个可变面积图形对象的标称尺寸。
ii.图形对象面积的基于线性系统的确定
在砖块式布局中,图形元素面积通过首先计算Q的值来确定。一旦知道了Q的值,可以将它们平方来计算绝对的,可测量的面积(例如平方英寸)。对于两种假设场景计算Q的值:(I)图形元素占据的面积的高度限制到等于页面上可用面积的高度;以及(II)图形元素占据的面积的宽度限制到等于页面上可用面积的宽度。在大部分情况下,场景(I)和(II)中的仅一个将产生可用的解,因为在另一场景中,不受限制的尺寸将大于可用空间。产生可用解的场景被选择用于产生图形元素面积的最终集合。
在场景(I)或(II)的任一个中,Q的值计算为对于具有N个未知数的方程的线性系统的解,其中N是图形元素的数量。N-1个方程中的每个来自完整树结构的内部节点,因为在容纳N个图形元素的树中,正好有(N-1)个内部节点。
对于代表面积的垂直分割或者切割的内部节点,通过首先获得两个垂直路径,即它的两个子节点中的每一个各有一条路径,并将两条路径 的长度设定为相等,来导出对应的方程。参考上面的方程(15),将来自左手子节点的垂直路径标为PL,来自右手子节点的标为PR,对应的表达式如下:
其中变量j索引沿PR的图形对象,变量k索引沿PL的图形对象。重新排列方程(21)得到:
对于代表区域的水平分割或者切割的内部节点情况类似。获得两个水平路径,将它们的长度设定为相等,得到
通过为每个内部节点构造(22)或(23)形式的方程,获得N个未知数的N-1个方程。
对于场景I,第N个方程通过将来自根节点的任何垂直路径的长度设定为等于可用面积的高度来获得。对于场景II,第N个方程通过将来自根节点的任何水平路径的长度设定为等于可用面积的宽度来获得。
对于场景I和场景II两者,将这N个方程写为矩阵-矢量的形式(Ax=b)。该矩阵只包含零,图形对象高宽比的正的和负的平方根,以及图形对象高宽比的正的和负的平方根的倒数。矢量x的N个元素是Q变量。在矢量b的N个元素中,(N-1)个计算为方程(21)或(22)的右手侧,另一个等于可变面积的高度(场景I)或宽度(场景II)(减去沿用于获得对应的行的路径的固定距离)。计算逆(A)*产生Q值的矢量。
b.给树结构评分
在一些实施例中,初始布局生成器模块64通过识别具有最高合适 性或者评分的候选布局,来选择候选布局。这些评分是由布局评估模块266使用上面章节III.B.2中描述的类型的评分,评估或者合适性函数来计算的。该评分,评估或者合适性函数促进其中图形对象的尺寸更接近于分配给图形对象的标称尺寸的最终布局的产生。在一些实施例中,布局评估模块266基于候选布局中的图形对象的实际表现尺寸匹配相应的目标表现尺寸的程度,为每个候选布局计算相应的布局评分。该评分函数典型地并入了提供给定布局中的图形对象的实际尺寸与它们分配的标称尺寸的接近程度的指示的度量。在一些这种实施例中,布局评估模块266基于实际表现尺寸与相应的目标表现尺寸的比值,为每个候选布局中的每个图形对象计算相应的图形对象评分。布局评估模块266从各相应的图形对象评分为每个候选布局计算相应的布局评分。
在一些实施例中,布局评估模块266使用的评分,评估,或者合适性函数对应于在章节III.B.2中描述的伪代码定义的目标布局评分函数。
在一些实施例中,布局评估模块266使用的评分,评估,或者合适性函数将在章节III.B.2中描述的伪代码定义的目标布局评分函数与一个或多个其他度量结合。可以或者可以不包括在合适性或者评分函数中的其他度量包括但不限于覆盖度(即图形对象占据的页面的份额)以及一致性(即,图形对象在页面上占据的面积的变化)。
例如,在其中期望严格面积布局型的实施例中,布局评估模块266计算的布局评分组合了在章节III.B.2中描述的伪代码定义的目标布局评分函数与覆盖度。在一些实施例中,覆盖度计算为页面上的图形对象面积之和。这些面积可以已经由基于路径的面积确定方法或者由基于包围框的面积确定方法计算了。
在其中期望砖块布局型的实施例中,布局评分结合了在章节III.B.2中描述的伪代码定义的目标布局评分函数与覆盖度和一致性两者。在一些这种实施例中,组合的布局评分(Score)根据等式(24)来计算:
Score=a1layout_score+a2α+a3υ (24)
参数a1,a2和a3是经验地确定的加权因子。变量α测量页面上可用面积的高宽比与主包围框的高宽比的符合程度。变量ν测量一致性。在 一些实施例中,变量α和ν中的每个具有在0和1的范围内的值,其中0对应于低覆盖度和一致性,1对应于高覆盖度和一致性。在这些实施例中,变量α计算为如下:
其中page_aspect是页面上可用面积的高宽比,pbb_aspect是主包围框(即,与根节点关联的包围框)的高宽比。变量ν计算如下:
在等式(26)中,图形对象面积可以通过基于线性系统的面积确定方法或者基于包围框的面积确定方法来计算。在这些实施例中,一致性度量ν定义为最小图形对象面积除以最大图形对象面积。
其他实施例可以为砖块型布局使用不同的评分函数。例如,可以对于低于预定阈值的α和/或ν的值而惩罚根据等式(24)计算的评分。在一些实施中,α和/或ν的值可以考虑图形对象之间的任何空间。
V.生成图形对象在页面上的初始布置
A.生成图形对象的初始布置的过程的概览
图28示出了初始布局生成器模块264用来生成定义图形对象270在页面上的初始布置280的二叉树结构的方法的实施例的流程图。
初始布局生成器模块264开始包括第一节点的当前树结构,该第一节点定义了从一组图形对象中选择的第一图形对象在选择的一个页面上的相对位置(图28,块501)。
初始布局生成器模块264生成候选树结构,其中每个包括当前树结构和定义从所述组中选择的另一图形对象在选择的页面上的相应相对位置的相应节点(图28,块503)。初始布局生成器模块264通过将一个图形对象加到当前树结构来生成每个候选树结构。
在已经扩展了当前树结构中多元素图形对象之后(使用下面描述的扩展过程),初始布局生成器模块264至少部分基于候选树结构的对应的初始大小尺寸,获得相应的可用性测试结果和评分(图28,块507)。这些评分和可用性测试结果从布局评估模块266获得。被布局评估模块 266认为不可用的任何候选树结构不再被考虑。
初始布局生成器模块264基于计算的评分选择候选树结构之一作为当前树结构(图28,块509)。
初始布局生成器模块264重复生成(图28,块503),获得(图28,块507)和选择(图28,块509)的过程,直到用当前树结构中的相应节点为该组中所有的图形对象定义了在页面上的相对位置(图28,块511)。
图28的过程为要布置图形对象的一个或多个页面中的每个重复。
在图28定义的过程中,树结构生成过程以单个图形对象开始,并且额外的图形对象被一次一个地添加到树结构,直到分配给该页面的所有图形对象被添加了。如果分配给页面的图形对象的总数是M,该页面的布局对应于二叉树的增序列中的最后一个,该序列为:
T(1),T(2),...,T(M) (27)
其中T(p),p≥1表示具有p个末端节点的树。每个中间树{T(p),1≤p≤N-1}生成可实施的布局。
图29A-29C示出在树结构生成过程的不同阶段的页面的不同分割和对应的层次化的树结构,其中括号内的数字是分配给对应的图形对象A,B,C,D的标称尺寸。树结构中的每个节点与页面的布局中的包围框相关联。每个内部节点与围绕其两个子节点的框的包围框相关联并且每个叶节点与其中要放置相应的图形对象的单元相关联。
每个新的图形对象通过引入新的单元到前一布局而添加到树结构中。因此,图形对象C通过用图29B所示的新的内部H节点526替换子树结构524而添加到图29A所示的子树结构524。新的内部H节点526成为对应于新的单元C(2)的新的叶节点528和被替换的子树524的父节点。类似地,图形对象D通过用图29C所示的新的内部V节点530替换子树结构528而添加到图29B所示的子树结构528。新的内部V节点530成为对应于新的单元D(3)的新的叶节点532和被替换的子树528的父节点。在图29A-29C所示的示例中,被替换的选择的子树524和528碰巧是叶节点;然而,一般可以选择任何子树,包括以内部节点为根节 点的子树。子树被定义为节点,指定为子树根,与从其发出的所有节点一起考虑。如果子树根是内部节点,那么该子树包括是其子节点的内部节点和末端节点两者。
如下文详细描述的,初始布局生成器模块264通过评估对应于新的图形对象在每个可用新单元位置中的所有可能呈现的候选相对布局的集合,选择将哪个单元引入前一布局。然而,在每个候选相对布局被评估之前,对应于多元素图形对象的候选相对布局的粗糙图形对象树结构被扩展(或者转换)到精细(或者完整)树结构,其叶节点对应于该图形对象的各单个组成图形对象。
在一个示范性示例中,图30A示出图形对象540(GO1)以及其对应的树结构542的一个呈现。图30B示出图形对象544(GO4)以及其对应的树结构546的一个呈现。图30C示出由水平根节点和对应于图29A和29B所示的图形对象呈现540,544的两个末端节点构成的粗糙树结构348。粗糙树结构548通过用树结构542,546替换代表图形对象呈现540,544的末端节点,扩展为精细树结构350,如图30C所示。图30D示出对应于页面552中的精细树结构550的得到的候选相对布局。
B.生成图形对象的初始布置的示范性过程
图31A和31B示出初始布局生成器模块264生成候选相对布局并选择候选相对布局中的一个作为图形对象在页面上的初始布置80(见图20)的示范性方法的实施例。
块560以第一图形对象(GO)的第一呈现开始当前候选布局T。块362发送当前候选布局T到布局评估模块266(见图20)。如上面详细解释的,布局评估模块266确认候选相对布局的可用性,确定图形对象在当前候选布局T中的初始大小尺寸,并至少部分基于初始大小尺寸计算当前候选布局T的评分Score(T)。
如果布局评估模块认为候选布局不可行,该候选布局被放弃并且过程直接移动到块568。
如果候选布局可用,块564确定这是不是第一图形对象的第一呈现。如果这是第一图形对象的第一呈现,块566将树T指定为当前最佳布局Best_T,并前进到块568。如果这不是第一图形对象的第一呈现,块570将Score(T)与对应于最佳树的布局的评分Score(Best_T)比较,其 中评分可以以上述的方式执行。如果Score(T)大于Score(Best_T),块566将当前候选布局T指定为新的Best_T,并前进到块568。如果Score(T)不大于Score(Best_T),不改变最佳当前候选布局指定,并且过程前进到块568。
块568确定是否有第一图形对象的任何其他呈现可用。如果有更多的第一图形对象的呈现可用,块572获得第一图形对象的下一呈现,以形成新的当前候选布局T,并且对于该新的当前候选布局重复过程。如果块568确定没有第一图形对象的其他呈现,过程前进到图31B中的块574。
块574确定是否还有更多的图形对象要添加到当前候选布局。如果没有更多的图形对象要添加到当前候选布局,当前Best_T被选择为来自初始布置生成过程的最终布局,并且过程在块576终止。
如果块574确定还有附加的图形对象要添加到当前候选布局,那么块578将当前最佳布局Best_T指定为新的当前候选布局T。块580获得下一当前图形对象。块582获得(或者确定)当前图形对象的第一呈现。块584选择在那里评估当前图形对象呈现的当前候选布局T中的第一位置。该位置可以是当前候选布局T的内部节点或者外部节点(即,叶节点)。在块586,通过将新的节点添加在第一位置,产生可选候选布局T’。该新节点的一个子节点是当前候选布局T的子树,其根是T的位置。新节点的另一子节点是被添加到布局的当前图形对象的当前呈现。在可选当前候选布局T’中,水平分割被分配给该新节点。
块588发送可选候选布局T’到布局评估模块266。如上文详细描述的,布局评估模块266确认候选相对布局的可用性,确定图形对象在可选候选布局T’中的初始大小尺寸,并至少部分基于初始大小尺寸计算可选候选布局T’的评分Score(T’)。
如果布局评估模块认为候选布局不可用,该候选布局被放弃并且过程直接移动到块594。
如果候选布局可用,块590确定这是不是当前图形对象的第一位置和第一呈现。如果这是当前图形对象的第一位置和第一呈现,块592将可选候选布局T’指定为最佳当前布局Best_T,并前进到块594。如果这不是当前图形对象的第一位置和第一呈现,块596将Score(T’)与对应于最佳当前布局的布局的评分Score(Best_T)比较,其中评分可以 以上述的方式执行。如果Score(T’)大于Score(Best_T),(表明可选候选布局T’好于当前候选布局T),则块592将T’指定为最佳当前布局Best_T,并且过程前进到块594。如果Score(T’)不大于Score(Best_T),不改变最佳当前布局指定,并且操作前进到同一块594。
在块594,通过将新节点添加在当前位置,产生另一可选当前布局T’。该新节点的一个子节点是根在T的位置的T的子树。新节点的另一子节点是当前被添加到布局的图形对象的当前呈现。在块594的可选当前布局T’中,垂直分割被分配给该新节点。
块597发送可选候选布局T’到布局评估模块266。布局评估模块266确认候选相对布局的可用性,确定图形对象在可选候选布局T’中的初始大小尺寸,并至少部分基于初始大小尺寸计算可选候选布局T’的评分Score(T’)。
如果布局评估模块认为候选布局不可用,该候选布局被放弃并且过程直接移动到块602。
如果候选布局可用,块598确定对应于可选候选当前布局T’的布局的评分Score(T’),并将Score(T’)与Score(Best_T)比较。块570,596,598可以使用相同或者不同的评分方法。如果Score(T’)大于Score(Best_T),块600将可选当前布局T’指定为最佳当前布局Best_T,并且过程前进到块602。如果块598确定T’的评分不大于Best_T的评分,过程直接前进到块602。
块602确定当前候选布局T中是否还有其他位置可用。如果当前候选布局T中有其他位置可用,块604选择在那里评估当前图形对象呈现的当前候选布局T中的新位置。使用相同的当前图形对象呈现重复块586到602。
当块602确定当前候选布局T中没有其他位置可用,过程前进到块606。块606确定是否还有当前图形对象的其它呈现要考虑。如果图形对象的其它呈现可用,过程前进到块607,其获得当前图形对象的下一呈现。块584选择在那里评估当前图形对象呈现的当前候选布局T中的第一位置。块586-604评估当前图形对象T在当前候选布局T中的每个可用位置中的下一呈现。
当块606确定没有当前图形对象的更多呈现要考虑,过程前进到块574,其确定是否还有其他图形对象要添加到当前候选布局。当块574 确定没有其他图形对象要添加到当前候选布局,选择当前Best_T作为最终确定的布局并且过程在块576终止。
VI.生成图形对象在页面上的最终布置
如上所述,最终布局生成器模块270根据布局修改模块68是否包括在图形对象布置系统60中,来从初始布局生成器模块264或者布局修改模块68接收代表页面分割的树结构。树结构的每个叶节点具有高宽比值(a),以及如果在严格面积型布局的情况下,具有标称尺寸值(e);并且每个内部节点指示页面上的水平或者垂直分割。最终布局生成器模块270确定图形对象在每个页面上的面积,并接着分配精确的页面空间区域给每个节点。分配的页面区域以与对应的树结构相同的方式被嵌套。分配的区域在文中被称为“单元”。在一些实施中,一旦知道了一个单元,通过将图形对象居中于该单元来确定分配给该单元的图形对象的位置。
A.确定图形对象面积
根据期望的精度,期望的布局型式,以及可用的计算资源,通过基于包围框的面积确定方法,基于路径的面积确定方法,或者基于线性系统的面积确定方法,确定图形对象的面积。在一些情况中,最终布局生成器模块270可以使用布局评估模块266为紧接在前的上游布局模块使用上述的图形对象面积确定方法之一计算的图形对象面积。在其他情况下,最终布局生成器模块270可以命令布局评估模块266使用上述的图形对象面积确定方法中不同的一个来计算图形对象面积。
B.确定围绕树结构中的节点的包围框
在计算了绝对面积之后,围绕树结构中的每个节点表征包围框。完成该过程所需的实际步骤完全类似于上面结合基于包围框的面积确定描述的计算包围框的过程,如图27所示,除了两点以外。首先,标称尺寸碰巧是实际图形对象面积。其次,分配给内部节点的间隔没有被忽略,而是添加到块492和496的计算中的和上。
C.分配页面空间给图形对象
1.页面空间分配过程的概览
在一些实施例中,分配页面空间的区域给节点的过程包括将页面分为单元并将每个图形对象放置在其相应的单元中。通过将页面划分为矩形来将页面分为单元,划分以页面的整个可用面积作为第一矩形开始。每次划分通过绘制相应一个内部节点的线片段来完成,在根节点处以广度优先搜索的次序开始。
在内部节点对应于垂直分割的情况下,最终布局生成器模块270选择沿可用区域的宽度的水平位置x。在一个公式中,x∈(0,1),其中x=0表示可用区域中最左边的位置并且x=1表示可用区域中最右边的位置。在该情况下,
其中a1,e1和ar,er是内部节点的左和右子节点的包围框的高宽比和面积。该公式直接使用宽度作为比例。用于水平分割的类似公式使用高度。即,如果沿可用空间的高度的垂直位置被标为y∈(0,1),其中y=0表示底部位置,而y=1表示顶部位置:
其中ab,eb和at,et是内部节点的底部和顶部子节点的包围框的高宽比和面积。
得到的图形对象在页面上的布局定义了图20所示的图形对象的最终布局290。
2.分配页面空间给图形对象的详细过程
图32示出分配页面上的物理空间区域给当前树结构的根节点的方法的实施例。根据该方法,确定布局型式(图32,块630)。对于严格面积型布局,将页面的整个可用面积分配给根节点(图32,块632)。对于砖块型布局,分配给根节点的页面空间具有与根节点关联的包围框的高度和宽度(图32,块634,636)。接着分配给根节点的区域居中于可用页面空间中(图32,块638)。
图33示出分配页面空间的区域给树结构的节点的子节点的方法的 实施例。在该过程中,分配给每个内部节点的空间的区域在其两个直接子节点之间划分。该划分通过将当前树结构的根节点设定为当前节点并执行递归过程来完成。
在该递归过程中,确定当前节点是否为末端节点(图33,块640)。如果当前节点是末端节点(即,叶节点),过程结束(图33,块642)。如果当前节点是内部节点,确定当前节点是否为对应于多元素图形对象(GO)的树的根节点,该多元素图形对象具有多于一个的单元素图形对象(图33,块644)。如果是这样,那么通过将区域的高度和宽度重新分配为之前为当前节点计算的包围框的高度和宽度,来压缩分配给当前节点的区域(图33,块646),并且区域的位置居中于之前分配给当前节点的区域中。在砖块型布局中这没有影响。在严格面积型布局中,这具有将具有超过一个图形元素的图形集合(例如一系列关键帧)中的图像拉到一起的效果。
如果确定当前节点不是对应于多元素图形对象的树的根节点(图33,块644),用于当前节点的左子节点和右子节点的空间区域的高度和宽度被计算(图33,块648)。
如果当前节点是水平页面分割,分配给右子节点和左子节点的区域的高度(HR,HL)由以下给出:
其中HNODE是当前节点空间区域的高度,S是节点间隔,L是左子节点包围框的高度,R是右子节点包围框的高度。分配给左和右子节点的区域的宽度被设定为等于分配给当前节点的区域的宽度。
如果当前节点是垂直页面分割,分配给右子节点和左子节点的区域的宽度(WR,WL)由以下给出:
其中WNODE是当前节点空间区域的宽度。分配给左和右子节点的区域 的高度被设定为等于分配给当前节点的区域的高度。
如果当前节点是水平页面分割(图33,块650),左子节点的空间的区域被放置为尽可能靠近分配给当前节点的空间区域的上边界(图33,块652)。右子节点的空间的区域被放置为尽可能靠近分配给当前节点的空间区域的下边界(图33,块654)。
如果当前节点是垂直分割(图33,块650),左子节点的空间的区域被放置为尽可能靠近分配给当前节点的空间区域的左边界(图33,块656)。右子节点的空间的区域被放置为尽可能靠近分配给当前节点的空间区域的右边界(图33,块658)。
重复上述过程以将空间的区域分配给左子节点的子节点(图33,块660)以及右子节点的子节点(图33,块662)。迭代地重复该过程直到页面空间的区域被分配给当前子节点的所有(直接或非直接)子节点。
VII.结论
文中详细描述的实施例提供了在一个或多个页面上布置图形对象的方法。这些实施例能够由对于每个布局(或布置)中一个或多个图形对象的相对尺寸的明确偏好来引导或控制。一些实施例利用这一特征以便生成对于不同的图形对象给予特别的显著性(即,特写)的可选布置。以这种方式,这些可选布置提供跨图形对象在页面上的可能布置的分布的布局的抽样。一些实施例利用这一特征以使得用户能够输入对于一个或多个图形对象的相对尺寸的偏好,其中相对尺寸偏好引导布局生成过程来强调(例如变大)或削弱(例如变小)特定布局中的某些图形对象。以这种方式,用户能够将系统引导到满足用户的审美偏好的图形对象的特定布局,即使用户在脑海中没有图形对象的具体布置。
其他实施例在权利要求的范围内。
Claims (9)
1.一种在页面(102)上布置图形对象(100)的方法,包括:
对于每个图形对象(100),基于分配给该图形对象(100)的相应的标称尺寸,确定出该图形对象(100)在该页面(102)上的相应的目标表现尺寸;
构造所述图形对象在页面上的不同的相应的候选布局,其中所述构造包括,计算每个候选布局中图形对象(100)在页面(102)上的相应的实际表现尺寸;
至少部分基于所述实际表现尺寸与相应的所述目标表现尺寸的比较,确定图形对象(100)在页面(102)上的最终布局(98);以及
输出图形对象(100)的该最终布局(98),
其中所述确定包括基于候选布局(120)中的各图形对象(100)的实际表现尺寸与相应的目标表现尺寸的匹配程度,为每个候选布局(120)计算相应的布局评分,其中所述计算进一步包括:
对于每个图形对象(100),迭代地重复下述操作:
针对该图形对象计算实际表现尺寸与相应的目标表现尺寸的比值;
如果所述比值小于具有处于0与1之间的值的第一比值阈值,则将图形对象评分确定为所述比值除以所述第一比值阈值,其中所述图形对象评分的初始值为1;
如果所述比值小于具有小于所述第一比值阈值且处于0与1之间的值的第二比值阈值,则返回所述图形对象评分的平方作为该图形对象的图形对象评分;
如果图形对象评分变得小于图形对象评分阈值,则将全局变量“组乘数”乘以预定的惩罚因子参数,作为该候选布局中的下一个图形对象的组乘数;和
以图形对象评分的值递增全局变量“布局评分”;以及
将结果得到的全局变量“布局评分”与“组乘数”相乘,以获得布局评分的最终结果。
2.如权利要求1所述的方法,其中所述确定出包括将所述目标表现尺寸中的每一个设置为等于相应的标称尺寸与分配给所有图形对象(100)的各相应的标称尺寸之和的比值的,分配用于布置图形对象(100)的页面(102)的总面积的分数部分。
3.如权利要求1所述的方法,其中
所述确定包括迭代地构造一系列连续的布局,其中每个布局包括添加到该系列中的前一布局的附加的一个图形对象(524,528,532),并且
在每次迭代中,基于从为各候选当前布局计算的各比较计算的各相应评分,从前一连续布局构造所述连续布局中的一个当前布局,所述各候选当前布局由所述附加的图形对象(524,528,532)在前一连续布局中的不同相应相对位置定义。
4.一种在页面(102)上布置图形对象(100)的方法,包括:
确定相应的标称尺寸到图形对象(100)的两个或更多个候选分配(142,144),其中每个候选分配(142)不同于其它的候选分配(144);
根据两个或更多个候选分配(142,144)中的每一个,构造图形对象(100)在页面(102)上的相应的一组一个或多个候选布局(120);
输出一个或多个候选布局(120);以及
通过下述动作来评估所输出的候选布局:
确定候选布局是否可用;
计算图形对象的尺寸;以及
为每个候选布局计算相应的布局评分,其中所述计算进一步包括:
对于每个图形对象(100),迭代地重复下述操作:
针对该图形对象计算实际表现尺寸与相应的目标表现尺寸的比值;
如果所述比值小于具有处于0与1之间的值的第一比值阈值,则将图形对象评分确定为所述比值除以所述第一比值阈值,其中所述图形对象评分的初始值为1;
如果所述比值小于具有小于所述第一比值阈值且处于0与1之间的值的第二比值阈值,则返回所述图形对象评分的平方作为该图形对象的图形对象评分;
如果图形对象评分变得小于图形对象评分阈值,则将全局变量“组乘数”乘以预定的惩罚因子参数,作为该候选布局中的下一个图形对象的组乘数;和
以图形对象评分的值递增全局变量“布局评分”;以及
将结果得到的全局变量“布局评分”与“组乘数”相乘,以获得布局评分的最终结果。
5.如权利要求4所述的方法,其中所述确定包括将每一个图形对象(136)分类到从一组预定的图形对象类型类别选择的相应的类别,基于分别分配给图形对象(136)的各类别,产生图形对象(136)的序列,以及从该序列生成一个或多个候选分配(142,144)。
6.如权利要求4所述的方法,其中所述确定包括对于每一个相应的候选分配(142,144),分配从第一组一个或多个标称尺寸选择的各相应的标称尺寸给随机数量个随机选择的图形对象(136),并且将从第二组一个或多个标称尺寸中选择的各相应的标称尺寸分配给其他图形对象(136),所述第二组一个或多个标称尺寸中的每一个小于第一组中最小的标称尺寸。
7.如权利要求4所述的方法,其中
所述确定包括将各候选分配(142,144)彼此比较,并选择基于所述比较确定为相互不同的一个或多个候选分配(142,144),以及
所述输出包括输出对应于选择的候选分配(142,144)的候选布局的相应的规范,同时略去输出未选择的候选布局的相应规范。
8.一种用于在页面(102)上布置图形对象(100)的系统,该系统包括页面布局生成器,其可操作来:
对于每个图形对象(100),基于分配给该图形对象(100)的相应的标称尺寸,确定出该图形对象(100)在该页面(102)上的相应的目标表现尺寸;
构造所述图形对象(100)在页面(102)上的不同的相应的候选布局,其中所述构造包括,计算每个候选布局中图形对象(100)在页面(102)上的相应的实际表现尺寸;
至少部分基于所述实际表现尺寸与相应的所述目标表现尺寸的比较,确定图形对象(100)在页面(102)上的最终布局(98);以及
输出图形对象(100)的该最终布局(98),
其中所述页面布局生成器通过基于候选布局(120)中的各图形对象(100)的实际表现尺寸与相应的目标表现尺寸的匹配程度,为每个候选布局(120)计算相应的布局评分,来确定最终布局,其中所述计算进一步包括:
对于每个图形对象(100),迭代地重复下述操作:
针对该图形对象计算实际表现尺寸与相应的目标表现尺寸的比值;
如果所述比值小于具有处于0与1之间的值的第一比值阈值,则将图形对象评分确定为所述比值除以所述第一比值阈值,其中所述图形对象评分的初始值为1;
如果所述比值小于具有小于所述第一比值阈值且处于0与1之间的值的第二比值阈值,则返回所述图形对象评分的平方作为该图形对象的图形对象评分;
如果图形对象评分变得小于图形对象评分阈值,则将全局变量“组乘数”乘以预定的惩罚因子参数,作为该候选布局中的下一个图形对象的组乘数;和
以图形对象评分的值递增全局变量“布局评分”;以及
将结果得到的全局变量“布局评分”与“组乘数”相乘,以获得布局评分的最终结果。
9.一种用于在页面(102)上布置图形对象(100)的系统,该系统包括页面布局生成器,其可操作来:
确定相应的标称尺寸到图形对象(100)的两个或更多个候选分配(142,144),其中每个候选分配(142)不同于其它的候选分配(144);
根据两个或更多个候选分配(142,144)中的每一个,构造图形对象(100)在页面(102)上的相应的一组一个或多个候选布局(120);
输出一个或多个候选布局(120);以及
通过下述动作来评估所输出的候选布局:
确定候选布局是否可用;
计算图形对象的尺寸;以及
为每个候选布局计算相应的布局评分,其中所述计算进一步包括:
对于每个图形对象(100),迭代地重复下述操作:
针对该图形对象计算实际表现尺寸与相应的目标表现尺寸的比值;
如果所述比值小于具有处于0与1之间的值的第一比值阈值,则将图形对象评分确定为所述比值除以所述第一比值阈值,其中所述图形对象评分的初始值为1;
如果所述比值小于具有小于所述第一比值阈值且处于0与1之间的值的第二比值阈值,则返回所述图形对象评分的平方作为该图形对象的图形对象评分;
如果图形对象评分变得小于图形对象评分阈值,则将全局变量“组乘数”乘以预定的惩罚因子参数,作为该候选布局中的下一个图形对象的组乘数;和
以图形对象评分的值递增全局变量“布局评分”;以及
将结果得到的全局变量“布局评分”与“组乘数”相乘,以获得布局评分的最终结果。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/769,671 US20090002764A1 (en) | 2007-06-27 | 2007-06-27 | Arranging graphic objects on a page with relative area based control |
US11/769671 | 2007-06-27 | ||
US11/769,671 | 2007-06-27 | ||
PCT/US2008/008048 WO2009002555A2 (en) | 2007-06-27 | 2008-06-27 | Arranging graphic objects on a page with relative area based control |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101796538A CN101796538A (zh) | 2010-08-04 |
CN101796538B true CN101796538B (zh) | 2016-08-17 |
Family
ID=40160049
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200880105067.4A Expired - Fee Related CN101796538B (zh) | 2007-06-27 | 2008-06-27 | 以基于相对面积的控制在页面上布置图形对象的方法和系统 |
Country Status (5)
Country | Link |
---|---|
US (1) | US20090002764A1 (zh) |
EP (1) | EP2171680A4 (zh) |
JP (1) | JP4929397B2 (zh) |
CN (1) | CN101796538B (zh) |
WO (1) | WO2009002555A2 (zh) |
Families Citing this family (52)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9529438B2 (en) | 2007-06-27 | 2016-12-27 | Hewlett-Packard Development Company, L.P. | Printing structured documents |
US20090006987A1 (en) * | 2007-06-29 | 2009-01-01 | Merav Simhi | Visual design tools for portal content creation |
US7810047B2 (en) * | 2007-09-04 | 2010-10-05 | Apple Inc. | List item layouts system and method |
US8127221B2 (en) * | 2008-02-29 | 2012-02-28 | Microsoft Corporation | Optimal sizes of objects in a document |
US9405513B2 (en) * | 2008-04-18 | 2016-08-02 | Software Ag | Systems and methods for graphically developing rules for transforming models between description notations |
JP5340048B2 (ja) * | 2008-06-17 | 2013-11-13 | キヤノン株式会社 | 画像処理装置、画像処理方法、およびプログラム |
TW201004591A (en) * | 2008-07-24 | 2010-02-01 | Flexmedia Electronics Corp | Digital photo album and display method thereof and controller using the same |
JP5349879B2 (ja) * | 2008-09-18 | 2013-11-20 | キヤノン株式会社 | 情報処理装置、情報処理方法、プログラム、及び、記憶媒体 |
US9152292B2 (en) | 2009-02-05 | 2015-10-06 | Hewlett-Packard Development Company, L.P. | Image collage authoring |
US8291314B2 (en) * | 2009-04-23 | 2012-10-16 | Hewlett-Packard Development Company, L.P. | Arranging graphic objects on a page |
US9142044B2 (en) * | 2009-05-26 | 2015-09-22 | Oracle International Corporation | Apparatus, systems and methods for layout of scene graphs using node bounding areas |
US8422794B2 (en) | 2009-07-30 | 2013-04-16 | Intellectual Ventures Fund 83 Llc | System for matching artistic attributes of secondary image and template to a primary image |
US20110029562A1 (en) * | 2009-07-30 | 2011-02-03 | Whitby Laura R | Coordinating user images in an artistic design |
US8849853B2 (en) * | 2009-07-30 | 2014-09-30 | Intellectual Ventures Fund 83 Llc | Method for matching artistic attributes of a template and secondary images to a primary image |
US8854395B2 (en) * | 2009-07-30 | 2014-10-07 | Intellectual Ventures Fund 83 Llc | Method for producing artistic image template designs |
US20110029635A1 (en) * | 2009-07-30 | 2011-02-03 | Shkurko Eugene I | Image capture device with artistic template design |
US20110029914A1 (en) * | 2009-07-30 | 2011-02-03 | Whitby Laura R | Apparatus for generating artistic image template designs |
US8438495B1 (en) * | 2009-08-17 | 2013-05-07 | Adobe Systems Incorporated | Methods and systems for creating wireframes and managing containers |
JP5387285B2 (ja) * | 2009-09-28 | 2014-01-15 | ブラザー工業株式会社 | 印刷装置およびプログラム |
US20120284595A1 (en) * | 2009-11-25 | 2012-11-08 | Lyons Nicholas P | Automatic Page Layout System and Method |
US9235575B1 (en) | 2010-03-08 | 2016-01-12 | Hewlett-Packard Development Company, L.P. | Systems and methods using a slideshow generator |
US9183185B2 (en) | 2010-07-29 | 2015-11-10 | Hewlett-Packard Development Company, L.P. | Inserting content and exclusion zone(s) into a page |
US9454520B2 (en) * | 2010-07-29 | 2016-09-27 | Hewlett-Packard Development Company, L.P. | Generating a representation of a layout having partitions for exclusion zones |
US8704850B2 (en) * | 2010-08-31 | 2014-04-22 | Microsoft Corporation | Two-dimensional object packing |
US9002139B2 (en) | 2011-02-16 | 2015-04-07 | Adobe Systems Incorporated | Methods and systems for automated image slicing |
US20120324354A1 (en) * | 2011-06-15 | 2012-12-20 | Chipperfield John Stuart | Computer system |
FR2983600B1 (fr) * | 2011-12-01 | 2014-02-07 | Airbus Operations Sas | Procede et systeme de surveillance d'une interface graphique dans un cockpit d'aeronef |
US8868230B2 (en) * | 2012-04-26 | 2014-10-21 | Disney Enterprises, Inc. | Iterative packing optimization |
JP6045232B2 (ja) * | 2012-07-09 | 2016-12-14 | キヤノン株式会社 | 画像処理装置、画像処理方法、及びプログラム |
KR101414195B1 (ko) * | 2012-11-26 | 2014-07-01 | 네이버 주식회사 | 복수의 아이템들을 공간 내에 자동으로 배치하는 장치, 방법 및 컴퓨터 판독 가능한 기록 매체 |
US20140195949A1 (en) * | 2013-01-08 | 2014-07-10 | Samsung Electronics Co., Ltd. | Content delivery system with sequence generation mechanism and method of operation thereof |
US9460056B2 (en) * | 2013-01-22 | 2016-10-04 | Xerox Corporation | Dynamic image layout for personalized packages |
US10007469B2 (en) | 2013-03-25 | 2018-06-26 | Ricoh Company, Ltd. | Virtual page generation mechanism |
US20140365906A1 (en) * | 2013-06-10 | 2014-12-11 | Hewlett-Packard Development Company, L.P. | Displaying pre-defined configurations of content elements |
CN103337086B (zh) * | 2013-06-17 | 2015-11-25 | 北京金山安全软件有限公司 | 用于移动终端的图片编辑方法和装置 |
USD765688S1 (en) | 2014-02-03 | 2016-09-06 | Airbus Operations (S.A.S.) | Display screen or portion thereof with graphical user interface |
USD766280S1 (en) | 2014-02-03 | 2016-09-13 | Airbus Operations (S.A.S.) | Display screen or portion thereof with graphical user interface |
USD766918S1 (en) | 2014-02-03 | 2016-09-20 | Airbus Operations (S.A.S.) | Display screen of portion thereof with changeable graphical user interface |
US9457892B2 (en) * | 2014-02-03 | 2016-10-04 | Airbus Operations (S.A.S.) | Management interfaces for aircraft systems |
US9399525B2 (en) | 2014-02-03 | 2016-07-26 | Airbus Operations (S.A.S.) | Method, systems, and computer readable media for troubleshooting an aircraft system during system failure |
USD766281S1 (en) | 2014-02-03 | 2016-09-13 | Airbus Operations (S.A.S.) | Display screen or portion thereof with graphical user interface |
US9457893B2 (en) | 2014-02-03 | 2016-10-04 | Airbus Operations (S.A.S.) | Methods, systems and computer readable media for managing aircraft systems |
CN104978445B (zh) * | 2014-04-04 | 2018-01-12 | 北京猎豹网络科技有限公司 | 一种图片组合的方法及装置 |
CN105068779B (zh) * | 2015-08-18 | 2018-07-13 | 北京恒华伟业科技股份有限公司 | 一种显示控制方法及装置 |
CN106056651A (zh) * | 2016-06-03 | 2016-10-26 | 北京金山安全软件有限公司 | 图片布局的管理方法、装置及电子设备 |
JP6885896B2 (ja) * | 2017-04-10 | 2021-06-16 | 富士フイルム株式会社 | 自動レイアウト装置および自動レイアウト方法並びに自動レイアウトプログラム |
US11829703B2 (en) * | 2018-01-09 | 2023-11-28 | Adobe Inc. | Parallel object analysis for efficiently generating layouts in digital design documents |
CN108255489B (zh) * | 2018-01-12 | 2021-05-25 | 北京三快在线科技有限公司 | 前端界面代码生成方法、装置、电子设备及存储介质 |
US11144717B2 (en) * | 2018-09-26 | 2021-10-12 | Adobe Inc. | Automatic generation of document layouts |
CN111597481B (zh) * | 2020-05-09 | 2023-10-13 | 北京奇艺世纪科技有限公司 | 页面显示方法、装置、电子设备及可读存储介质 |
US11580295B2 (en) * | 2020-06-19 | 2023-02-14 | Adobe Inc. | Systems for generating layouts of text objects |
WO2023035250A1 (zh) * | 2021-09-10 | 2023-03-16 | 华为技术有限公司 | 用于对芯片进行布局的方法、设备、介质以及程序产品 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1648848A (zh) * | 2004-01-30 | 2005-08-03 | 佳能株式会社 | 布局调整方法和装置 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3922396B2 (ja) * | 1995-03-16 | 2007-05-30 | ソニー株式会社 | レイアウト装置および表示装置 |
AU2003901416A0 (en) * | 2003-03-27 | 2003-04-10 | Canon Kabushiki Kaisha | Graphical object group management system |
US7555730B2 (en) * | 2005-05-12 | 2009-06-30 | Hewlett-Packard Development Company, L.P. | Method for arranging graphic assemblies |
US8065627B2 (en) * | 2003-09-30 | 2011-11-22 | Hewlett-Packard Development Company, L.P. | Single pass automatic photo album page layout |
US7640516B2 (en) * | 2003-09-30 | 2009-12-29 | Hewlett-Packard Development Company, L.P. | Arranging graphic objects on pages |
US8056013B2 (en) * | 2005-05-13 | 2011-11-08 | Hewlett-Packard Development Company, L.P. | Method for arranging graphic assemblies |
US7743322B2 (en) * | 2003-09-30 | 2010-06-22 | Hewlett-Packard Development Company, L.P. | Automatic photo album page layout |
WO2005106684A1 (ja) * | 2004-04-30 | 2005-11-10 | Access Co., Ltd. | ブラウジング時の動的画像拡大/縮小表示のための方法、端末装置およびプログラム |
KR100682456B1 (ko) * | 2006-02-08 | 2007-02-15 | 삼성전자주식회사 | 렌더링 영역을 최소화하는 3d 그래픽스 데이터의 렌더링방법 및 시스템 |
-
2007
- 2007-06-27 US US11/769,671 patent/US20090002764A1/en not_active Abandoned
-
2008
- 2008-06-27 WO PCT/US2008/008048 patent/WO2009002555A2/en active Application Filing
- 2008-06-27 JP JP2010514832A patent/JP4929397B2/ja not_active Expired - Fee Related
- 2008-06-27 CN CN200880105067.4A patent/CN101796538B/zh not_active Expired - Fee Related
- 2008-06-27 EP EP08779841A patent/EP2171680A4/en not_active Ceased
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1648848A (zh) * | 2004-01-30 | 2005-08-03 | 佳能株式会社 | 布局调整方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN101796538A (zh) | 2010-08-04 |
EP2171680A2 (en) | 2010-04-07 |
US20090002764A1 (en) | 2009-01-01 |
JP2010532042A (ja) | 2010-09-30 |
WO2009002555A3 (en) | 2009-02-26 |
EP2171680A4 (en) | 2011-06-29 |
JP4929397B2 (ja) | 2012-05-09 |
WO2009002555A2 (en) | 2008-12-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101796538B (zh) | 以基于相对面积的控制在页面上布置图形对象的方法和系统 | |
US7640516B2 (en) | Arranging graphic objects on pages | |
Gajer et al. | Grip: Graph drawing with intelligent placement | |
US8161384B2 (en) | Arranging graphic objects on a page with text | |
US8862986B2 (en) | Arranging graphic objects on a page with relative position based control | |
CN109872333A (zh) | 医学影像分割方法、装置、计算机设备和存储介质 | |
US20100095204A1 (en) | Information processing apparatus, information processing method, and storage medium | |
US7620247B2 (en) | Image processing apparatus, image processing method, program, and storage medium | |
CN108255489B (zh) | 前端界面代码生成方法、装置、电子设备及存储介质 | |
US20060103891A1 (en) | Albuming images | |
Rasure et al. | Open environment for image processing and software development | |
JPH07168878A (ja) | イメージをデータ・モデルに再構成する方法 | |
CN106507686A (zh) | 设计不同技术领域的复杂信息物理系统的具有其各种软件工件的软件架构的方法和工具 | |
CN108377351A (zh) | 用于在模板上布局图像的图像处理装置和图像处理方法 | |
CN110209630A (zh) | Dxf文件信息处理方法、装置、计算机设备和存储介质 | |
CN108108194A (zh) | 用户界面编辑方法以及用户界面编辑器 | |
JPH08249352A (ja) | 画像検索方法及び装置 | |
CN112579086A (zh) | 一种适配多平台前端View的模板构建方法 | |
Díaz et al. | Adaptive Cross‐sections of Anatomical Models | |
Kokash et al. | Template-based treemaps to preserve spatial constraints | |
US6934599B2 (en) | Providing character data for use by an embroidery machine | |
Zhou et al. | Automated generation of graphic sketches by example | |
JP6942007B2 (ja) | 画像処理装置、及びプログラム | |
JP2009110151A (ja) | 画像処理装置、画像処理方法、プログラムおよび記録媒体 | |
JP4627962B2 (ja) | データベースパブリッシング方法及びその装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20160817 Termination date: 20190627 |