用于在大型数据对象库内查找数据对象的方法和系统的制作方法

文档序号:6455269阅读:276来源:国知局
专利名称:用于在大型数据对象库内查找数据对象的方法和系统的制作方法
技术领域
本发明涉及电子数据存储以及电子用户界面,并且特别地提供了允
许人类用户通过对数据对象呈现(presentation)的定向(directed)浏览 来对大型数据对象库进行导航的方法和系统。
背景技术
在过去30年间,计算机系统已经从具有有限存储和大容量存储能 力的主要针对字母数字输入、文本文件和数字数据文件而操作的相对简 单的处理引擎发展成为高功率的多处理器处理引擎,后者通过内部总线 访问大量本地存储器和大容量的本地大型存储设备并且通过各种类型 的外部通信介质访问大量远程存储器和极高容量的大型存储设备。现代 计算机能够存储、管理和访问千兆字节甚至千兆兆字节的各种不同类型 的数字编码数据,包括视频和音频数据、摄影图像、基于文本的和数字 数据以及各种不同数据管理应用和系统所生成、存储、管理和检索 (retrieval)的许多类型的复杂数据对象。许多现代数据管理系统提供 了各种类型的索引和数据对象定位工具(facility)。例如,能够在数据 对象存储期间或之后向数据对象分配与数据对象相关联的属性的属性 值,并且现代数据管理系统所提供的基于查询的数据管理和数据获取工 具能够定位其属性值满足用基于属性值的查询所表示的标准的属性的 数据对象。
不幸的是,现代的基于计算机的数据对象存储、管理和检索系统的 能力通常超出了这些系统所提供的数据对象定位工具。可以将属性值限 制为相对短的文本字符串、整数值和其他基元(primitive),其缺少人 类用户对数据对象进行分类以供存储、检索和定位所需的表达能力、灵 活性以及自然语言能力。
作为一个示例,对于人类用户而言,使用关系数据库查询语言或其 他这样简单的代数查询语言来制定(formulate)查询以便在包含数十万 摄影图像的大型数据库内查找一个或几个摄影图像会是极其困难的。用 户将需要理解并记住已经与数据库内的摄影图像相关联的各种类型的属性和属性值,以便制定查询来查找摄影图像。此外,用户可能希望进
行的许多查询可能需要先前以极高预见(foresight)级别分配给数据对 象的属性和属性值,并且可能涉及非常复杂的查询以及用于直接对摄影 图像的内容进行查询的程序技术。
作为 一 个示例,用户可能希望查找包括年龄在两岁到四岁之间玩沙 滩球的孩子的子图像的库内的所有摄影图像。虽然布尔值属性 child—playing—with—a—beach—ball—included (包含玩沙滩球的孩子)可能 已经与每个摄影图像相关联,但是这种特性的属性很可能没有在摄影图 像存储和表征操作期间被分配。在已经为每个摄影图像存储了标题的情 况下,可以通过检索标题内包括短语"沙滩球"的摄影图像来定位候选 的摄影图像,但是满足该标准的摄影图像的列表几乎肯定会极大地过多 包含(over-inclusive)以及才及大地过少包含(under-inclusive)。例如, 许多可能包括沙滩球而没有孩子或者孩子处于指定的年龄范围2-4岁 之外的子图像。另一方面,许多包括期望子图像的图像可能具有不包括 短语"沙滩球,,的诸如"Aunt Alice在沙滩的重要一天"之类的标题。
可替换地,可以开发一种程序来对摄影图像进行电子访问并且针对 玩沙滩球的小孩子的子图像来搜索图像。然而,开发这样的程序的成本 极高,开发需要大量时间和经济支出,并且对大型图像数据库或图像库 中的所有图像应用所述程序将使用大量处理周期和处理时间,即使利用 无限的财政资源也会导致不切实际的搜索或根本无法执行的搜索。用于 存储足够大量的这种专用程序的数据存储需求通常也是禁止性的,并且 会很容易超出用来存储摄影图像的数据存储。
因此,人类用户能够用来在摄影图像库内定位摄影图像以及在其他 类型的复杂数据对象库内定位其他类型的复杂数据对象的现有技术通 常是不充分的。随着日益复杂的软件应用产生越来越多的日益复杂的数 据,对允许用户在大型数据对象库内定位特定数据对象的更好方法的需 求正快速增长,并且这已经被认为是从数据库管理系统和电子数据存档 系统到科学数据的管理和处理以及互联网搜索引擎的开发的各个领域 中的关键问题。

发明内容
本发明的各实施例包括一种用于搜索或浏览数据对象库内的数据对象的方法。对数据对象的当前子群体进行初始化。当前子群体包含从 数据对象库中选择的并且通过当前数据对象选择标准所限定的数据对 象。然后,以连续重复的方式,从当前子群体中选择数据对象并对其进
行呈现(present),并且对当前数据对象选择标准进行修改以便对之后 从其中选择数据对象进行呈现的数据对象的当前子群体进行修改,在一 段没有输入的时段之后,通过输入并且通过放牧程序(grazing routine ) 自动得出修改。
附图简述


图1图示了大型数据对象库搜索问题的基本组件。
图2图示了图1所示的问题域通过本发明的各个方法和系统实施例
被映射到的抽象计算实体。
图3图示了本发明的某些实施例中所采用的示例性用户简档 (profile)和示例性数据对象。
图4A-E图示了多维数据对象空间和多维数据对象空间搜索。
图5A-B图示了图4D所示的三维子体积(sub-volume)的一维和二
维投影。
图6A-F图示了在本发明的各个基于摄影图像的实施例中所使用的 摄影图像数据对象表示。
活动(inactivity)带来的自动数据对象选择标准放宽(relaxation)所引
起的当前子群体的变化。
图8示出了可通过其对数据对象进行分类的等级分类方案。
索。 , 、、 、、'
图10-11提供了表示本发明一个实施例的放牧程序的控制流程图。
发明详述
本发明的各个方法和系统实施例都提供了用户界面以及直观的数 据对象库导航和搜索工具以允许人类用户在大型数据对象数据库或数 据对象库内定位感兴趣的特定数据对象。本发明的这些方法和系统实施
例尤其可用于能够在视觉上向用户呈现的复杂数据对象,包括表示摄影图像、视频片段、文档和其他复杂数据对象的数据对象。然而,本发明 的 一 般方法和系统实施例能够被应用于各种不同类型的数据对象库的 导航和搜索。
本发明的各个实施例包括放牧程序,所述放牧程序从数据对象库或 数据库中选择数据对象并且向呈现程序提供数据对象,所述呈现程序使
用所述数据对象来连续(continuously)更新数据对象呈现。用户输入通 过所述放牧程序引导后续的数据对象选择以允许用户对大型数据对象 库进行直观导航和搜索,以便定位一个或一组特定的数据对象。用户能 够对所呈现的特定数据对象输入选择命令以便将后续的数据对象选择 和数据对象呈现集中于越来越小的数据对象子群体。在没有用户输入的
情况下,从其中选择数据对象进行呈现的数据对象的子群体会逐渐增 长。即使没有用户输入,所述放牧程序也连续更新所述呈现,以使得用 户具备数据对象的连续变化的呈现。用户输入能够改变所述放牧程序从 其中选择数据对象以向用户呈现的数据对象子群体,并且还能够固定当 前子群体或子群体大小,以使得放牧程序继续从单个子群体或相同大小 的子群体选择数据对象。但是,无论用户是否与系统进行交互,放牧程 序都继续选择并呈现新的数据对象。
图1图示了大型数据对象库搜索问题的基本组件。在当前的讨论中, 为了描述本发明而使用了 一个示例,其中数据对象被看作经数字编码并 电存储在电子数据存储系统中的摄影图像。为了进行当前的讨论,摄影 图像库102包括至少1000个摄影图像,并且通常将包括数万、数十万 或更大数目的摄影图像。能够经由计算机系统从库中访问摄影图像,并 且在连接到计算机系统的显示设备106上显示摄影图像以供人类用户观 看。计算机系统包括用户输入设备108和110,其允许人类用户输入图 像检索标准、定制摄影图像的显示以及出于各种目的而选择特定图像或 图像组,包括在本地目录存储、打印或输入到各种类型的软件应用。图 像库102的搜索由人类用户112进行,该人类用户112可以搜索用户回 忆的特定图像,其可以搜索满足用户所制定的标准的特定图像类别,或 者其可能希望简单地细读(peruse)图像库以便熟悉图像库的内容或者 执行各种类型的研究或知识获取任务。
应当注意的是,存在各种不同类型的用于存储大型数据对象库(例 如摄影图像库)的电子数据存储系统。数据对象库可以远离用户的计算机系统而被存储并且经由各种通信介质和通信系统中的任意 一种来访 问,可以被存储在能被从用户的本地计算机访问的可拆卸的大容量存储 设备的集合中,或者可以被存储在用户的本地计算机内的存储器或大容 量存储设备内或者与之直接相连接。用于存储数据对象库的特定电子数 据存储系统可以提供各种级别的基于属性的查询搜索、管理、存储和检 索操作,并且还可以提供各种不同的数据对象显示工具。然而,如先前 分部所讨论的,这种基于查询的搜索或基于索引的组织工具对于希望高 效进行各种自然语言级别的、概念的数据对象搜索的用户而言经常是不 够的,例如上文所讨论的,查找包括玩沙滩球的小孩子的子图像的摄影 图像。
图2图示了图1所示的问题域通过本发明的各个方法和系统实施例
被映射到的抽象计算实体。数据对象库(图1中的102)被映射到电子 数据对象数据库202,所述电子数据对象数据库202通常提供完善定义 (well-defined)的存储、基于属性的搜索、索引和检索操作。人类用户 (图1中的112)由以下项来表征用户简档204、存储人类用户的一 般特征和属性的数字编码的数据结构、各种用户偏好以及与数据对象数 据库的当前搜索相关的特定标准。视觉显示设备(图1中的106)以及 控制数据对象的显示和呈现的软件应用被映射到呈现程序206,以下针 对本发明的摄影图像库搜索实施例进行详细讨论。如所讨论的那样,音 频设备或音频设备控制软件可以被用于被更自然或有效地呈现为声音 的数据对象。其他类型的呈现设备和控制软件是可能的,例如包括用于 盲人用户的触觉设备。放牧程序208通过以下方式来实施本发明的各方 法实施例控制从数据对象数据库202中选择数据对象以供输入到呈现 程序206以促进用户进行用户简档数据结构204的内容所描述的定向浏 览和数据对象搜索,并且其接收来自用户的输入并且所述输入被传给放 牧程序并被放牧程序使用以更新用户简档204以便根据用户输入来引导 数据对象库浏览或搜索。
图3图示了本发明的某些实施例中所采用的示例性用户简档和示例 性数据对象。在摄影图像数据对象库的情况下,独立的数据对象可以被 用来表示每个摄影图像。在某些系统中,数据对象302可以包括通常为 压缩形式的二进制编码的摄影图像3 04,以及描述所述摄影图像的属性/ 属性值对306的列表。在许多系统中,所述属性/属性值对306可以与二
10进制编码的摄影图像分开存储,并且通过文件名、数据对象标识符或其 他这样的数字编码的引用与图像相关。除属性/属性值对之外,摄影图像 数据对象可以通过通常由数据对象数据库所提供的 一 些函数3 0 8的应用 来表征。例如,摄影图像数据库可以提供函数以允许用户确定各种类型 的颜色在摄影图像内的分布、执行各种图像处理和图像表征方法,例如 边缘检测、椭圆检测或可以与特定类型的对象或人的图像相对应的子图
像才全测,以及其他这样的函数。用户简档310可以包括对特定用户的一 般特征和偏好进行编码的各种字段,以及函数/函数值对314、属性/属性 值对316和描述当前制定的用于在数据对象库内搜索数据对象的标准的 其他数字编码数据的集合或列表。
数据对象和用户简档的具体细节依赖于对其执行放牧程序或放牧 系统的各种计算机系统的特定实施方式和能力。图3所示的示例性数据 对象和用户简档意在说明一种可能的实施方式族,而不是涵盖性地对数 据对象和用户简档的可能范围进行描述和限定。
图4A-E图示了多维数据对象空间和多维数据对象空间搜索。为了 便于说明,图4A-E采用了基于属性的三维数据对象空间作为示例性的 多维数据对象空间,但是用于呈现大型数据对象库(本发明的方法和系 统实施例对于大型数据对象库的内容特别有用)的内容的数据空间的维 度可以非常大,从数十到数百维及更大的维数。然而,本发明还能够被 用于一维和二维数据对象空间。
虽然在大多数情况下,通过多个不连接的子体积来描述子群体,但 是在图4A-E的示例中,描述数据对象的子群体的子体积被示为单个紧 凑体积。在以下的示例中,三维数据对象空间的一个维度由颜色属性来 限定。虽然所示的子群体限定的所有子体积包含颜色轴的单个点或线段 (segment),但是在数据对象的典型搜索和定向浏览中自然出现的许多 子群体包含颜色轴的多个点和线段,由此将由三维数据对象空间内的多 个不连接的子体积来描述。例如,子群体可以部分或完全被限定为是蓝 色、红色或蓝色和红色的组合的所有数据对象。因此,虽然为了说明的 简要通过三维数据对象空间中的单个子体积对参考图4A-E所讨论的所 有子群体进行了描述,但是大多数普通的子群体将会通过许多(并且通 常是非常多的)不连接的子体积而被细化(fine)。
图4A示出了示例性的三维数据对象空间。 一个或多个数据对象可以由与每个维度相对应的属性的可能值的范围所限定的三维体积内的
任意给定点来描述。在图4A-E的示例中,第一轴402所表示的第一维 度对应于对象的颜色,并且范围从红色404到蓝色406。第二轴408所 表示的第二维度对应于对象的大小,且范围从小410到大412。由笫三 轴414所表示的第三维度表示自对象被用户观看或访问起所经过的时 间。所述经过的时间的范围从零(或刚刚看到)416到很长一段时间418 以前被观看。数据对象可以通过颜色、大小和自观看起所经过的时间的 组合来表征。例如, 一个或多个数据对象可以由三维数据对象空间中的 点420来表征,其表示颜色为精确的中等绿色(medium green)、精确 的中等大小且最后一次看是13个半月以前的对象。
图4B图示了三维数据对象空间的子体积。在图3中,数据库中数 据对象的总群体内数据对象的子集或子群体由三维数据对象空间的小 型子体积422来表示。数据对象的该子集内的数据对象所描述的每个对 象被表征为具有可由被描述为中等绿色阴影(shade)的颜色范围422 内的颜色,具有被表征为从中到大的大小范围424,并且最后一次被看 是至少一年以前但是不超过14个月以前426。由此,通过放宽(relax) 用以表征对象的数值和属性所表示的约束,或者换句话说,采用范围而 不是精确的属性值,来获得潜在地描述更多数据对象的三维数据对象空 间子体积。当然,所述三维数据对象空间的群体可能不是均匀的,从而
在总群体方面,大的子体积不一定比较小子体积描述更多的数据对象。 然而,出于当前讨论的目的,子空间的体积通常可被认为是与由限定子 体积的属性值所表征的数据对象的数目成比例。
图4C示出了图4A所示的三维数据对象空间的甚至更大的子体积。 在图4C中,属性值范围已经被扩展到(1)黄色和绿色之间的颜色 428; (2)不小和不非常大之间的大小430;和(3)自上次观看起已经 过O到2年之间的时间432。图4C所示的更大子体积潜在地描述了比图 4B所示的小型子体积多得多的数据对象。
图4D示出了图4A中所示的由单维的单一数值范围所表征的三维 数据对象体积的子体积。子体积434能够被描述为表示具有表征为中等 绿色阴影436的颜色范围的所有数据对象。大小和自观看起所经过的时 间没有被指定。因此,子体积是三维数据对象体积中与颜色轴垂直的片。 图4E示出了当指定了三个属性中的两个的数值范围时所获得的图4A中所示的三维数据对象体积的子体积。图4E所示的子体积438对应于具 有表征为中等绿色阴影440的颜色范围以及表征为从中到大的大小范围 442的数据对象。由于没有指定自观看起所经过的时间,所以在自观看 起所经过的时间的正向上,子体积438是无界的。
图5A-B图示了图4D所示的三维子体积的一维和二维投影。图5A 图示了图4D所示的子体积被投影到单个颜色轴502上。当仅单个维度 的值被指定时,可以认为数据对象描述点的总数被投影到表示该维度的 轴上。图4D所示的子体积434所描述的数据对象对应于用于描述被表 征为中等绿色阴影的颜色的颜色轴的线段504。类似地,当仅指定了三 个属性维度中的两个时,图4A所示的三维数据对象空间能够被投影到 包含两个轴的平面上,或者投影到针对其指定了数值的维度上。图5B 示出了图4E中的子体积438投影到包含三维数据对象空间的大小和颜 色轴的大小/颜色平面上。子体积438被投影到二维投影中的矩形区域 506,所述二维投影对应于具有被表征为中等绿色阴影的颜色的对象以 及具有从中到大的大小的对象。
虽然在大多数普通实施方式中,数据对象库内所存储的数据对象的 数目可以随数据对象的添加和删除而连续变化,但是出于当前讨论的目 的,可以认为数据对象库的大小是固定的。由于数据对象库中数据对象 的数目基本上是固定的,所以由n维数据对象空间的r维子空间的r维 子体积所描述的数据对象的密度可能远高于n维数据对象空间的等价n 维子空间所描述的数据对象的密度。例如,考虑图4E和5B,图4E所 示的三维数据对象空间的三维子体积438与图5B所示的二维数据对象 空间的二维区域506所描述的数据对象的数目相同。因此,使用三个可 能维度的三个属性值能够比使用三个维度中两个的两个属性值或一个 维度的一个属性值更为精确地对数据对象组进行限定,原因在于图4E 所示的子体积438的小的精确限定的三维子体积通常预计与二维数据对 象空间投影的二维区域506的同样精确限定的子区域相比描述少得多的 数据对象,并且远比数据对象空间的一维投影中的线段504的同样精确 限定的子线段更为精确。在对n维数据对象空间内的数据对象进行搜索 时,由于指定了更多属性的更多属性值,所以所指定的属性/属性值对的 总数所描述的数据对象的数目会显著减少。为高维空间中的单个附加维 度添加属性值会减少由从十到数百、数千、数百万或更大的因子所表征的数据对象的数目。因此,对数据对象的搜索通常涉及指定用于数目增 加的属性的数值或数值范围,以及缩小为属性指定的属性值范围。
图6A-F图示了在本发明的各个基于摄影图像的实施例中使用的摄
影图像数据对象呈现。该相同类型的呈现也可以被用于文档、视频片段
以及其他易于在视觉上显示的数据对象类型。图6A图示了计算机监视 器602,在其上显示多个由矩形所表示的摄影图像。所述呈现提供滚动 特征604和606以允许用户跨(across)更大的逻辑摄影图像显示区域 分别在水平和垂直方向上滚动。图6B图示了逻辑摄影图像显示区域, 呈现程序从其中选择子区域以进行显示。如图6B所示,能够由显示监 视器608显示的区域在图6B中被示为虚线的矩形,其小于逻辑摄影图 像显示区域610的总抽象区域。使用滚动特征,人类用户可以在逻辑摄 影图像显示区域610上水平和垂直移动显示矩形608。例如,图6C示出 了通过相对于图6A所示的显示向上垂直滚动而从逻辑摄影图像显示区 域(图6B中的610)中选择的显示。如图6D所示,显示窗口 612已经 被向上垂直移动并且笼罩(wrap over)逻辑摄影图像显示区域的底部部 分614,以使得所述逻辑摄影图像显示区域实质上在垂直维度上是无界 的。所述逻辑摄影图像显示区域可以由与摄影图像列表中的每个摄影图 像相关联的一个或多个坐标对来电子地表示。所述呈现还可以提供用于 缩放(scaling)、旋转和其他标准图像改变命令的特征。除用户输入引 导的滚动之外,所述呈现程序可以提供可调的滚动参数、基于远程过程 调用(call)的滚动或通过放牧程序控制滚动的其他装置,以使得放牧 程序能够对显示窗口进行滚动以便自动向用户呈现合理分布的 (well-distributed)数据对象样本集。此外,可以由呈现程序独立地执 行自动滚动,以使得在没有用户引导的情况下,当显示窗口被自动滚动 时显示逻辑显示区域内的所有数据对象以提供连续变化的显示。
在本发明的许多实施例中使用的呈现程序向逻辑数据对象显示区 域的一个边缘连续追加(append)新的数据对象,并且相应地自动将显 示窗口向追加新数据对象的边缘平移(translate )。图6E图示了数据对 象的追加过程。在图6E中,在图6B和6D中所示的逻辑摄影图像显示 区域的先前右侧边缘由垂直虛线616来指示。诸如数据对象618之类的 新数据对泉已经通过呈现程序被以连续方式追加到逻辑摄影图像显示 区域。类似地,显示窗口已经朝着逻辑显示区域边缘616向右平移,其
14中新数据对象已经被追加至该逻辑显示区域边缘。先前所示的显示窗口
的位置包括角620-623,在图6E中以小"x"字符示出。 一段时间之后, 显示窗口已经被向右移动到虚线624的矩形所指示的新位置。图6F示 出了重新定位的显示窗口 624的内容的显示。在本发明实施例中所使用 的呈现程序以与向逻辑摄影图像显示窗口添加新显示数据对象相同的 速率将显示窗口连续向右移动,以使得人类用户观看到摄影图像的连续 滚动显示。
在本发明的各个实施例中,放牧程序从数据对象库内的数据对象的 当前子群体中连续选择数据对象。当前子群体通常由先前的用户输入或 放牧程序的自动约束放宽功能来限定,描述如下。通常,当用户将属性 或属性值添加到在数据对象搜索期间限定子群体的标准时,用户输入趋 于连续减小当前子群体的大小。子群体是能够从用户输入得出的关于用 户当前感兴趣的数据对象的推论的反映。例如,所选择数据对象的属性 可以被添加到当前标准,所述当前标准限定从其中选择数据对象进行呈 现的数据对象的当前子群体。从当前子群体所选择的数据对象被输入到 呈现程序以便追加到逻辑数据对象显示区域,以使得随着用户继续观看 所显示的跨用户显示滚动的数据对象并且随着用户输入附加的选择,当 前显示的数据对象对于用户而言是越来越感兴趣的。用户可以通过放牧 程序对数据对象的显示和选择进行操纵来高效搜索数据对象库以定位 一个或少量数据对象。
当用户在 一段时间内没有输入附加选择或标准时,则放牧程序放宽 当前标准限定的子群体,从而引起当前子群体体积增加,向后退回包含 数据库内数据对象的整个群体的体积。图7A-I图示了根据本发明各个实 施例的由用户输入以及由用户不活动带来的自动数据对象选择标准放 宽所引起的当前子群体的变化。图7A示出了由三维数据对象空间内的 体积702所表示的初始起点,所述三维数据对象空间包含与数据库内的 数据对象相对应的所有三维数据对象空间点。最初,放牧程序从整个初 始体积702选择点所表示的数据对象以供输入到呈现程序,所述呈现程 序以如上参考图6A-F所述的连续、滚动的方式显示所选择的数据对象。 如果用户输入了鼠标点击或提供了某一其他输入来表达对所显示的特 定图像感兴趣,则放牧程序可以使用表征用户选择的图像的属性来更新 用于限定当前子群体的用户简档。因此,如图7B所示,用户对图像的选择已经引起子群体从图702所示的整个三维体积中的点所描述的数据 对象收缩到包括正向笫一轴706的一半体积704中的点所描述的数据对 象。附加的用户选择或输入继续将子群体收缩到四分之一大小的子体积 708中的点所描述的那些数据对象(如图7C所示),以及八分之一的 原始大小710 (如图7D所示)。最后,如图7E所示,附加的用户输入 已经产生由小的子体积712内的点所描述的数据对象的当前子群体,其 仅包含数据对象库内非常小的部分。如果用户没有提供附加的输入,则 放牧程序緩慢放宽在用户简档中所存储的约束。由此,小的所选择子体 积712被放牧程序连续扩展到更大的三维数据对象空间的子体积,如图 7F-H所示。如果用户没有再次与呈现程序进行交互,则当前的子群体最 终增加回到数据对象库内的整个数据对象群体,如图7I所示。虽然子群 体描述的子体积在图7A-I中示出为以因数(factor) 2来增大或减小, 但是实际因数在高维数据对象空间中可以是10、 100或更大,并且能够 作为放牧程序参数进行控制。
放牧程序可以通过各种不同的技术从当前的子群体中选择数据对 象以进行呈现。可以随机、顺序或以某一结构化方式选择数据对象,以 便例如最终呈现子群体内的所有数据对象、呈现表示子群体的数据对象 的子集、呈现最常被观看或显示的数据对象、呈现距离所选择群体的n 维空间的中心最近的数据对象,或者通过其他标准进行选择。数据对象 不一定在n维空间的子体积内均匀分布,或者跨等级数据对象分类的节 点均匀分布,并且因此,数据对象选择方法可能需要对数据对象的实际 分布进行估计或查明(ascertain)以便在一段时间内选择代表性的数据 对象。
虽然笛卡尔n维数据对象空间是本发明各个实施例中所采用的子群 体选择方法的方便表示,但是其他表示也是可能的。图8示出了可以通 过其对数据对象进行分类的等级分类方案。在图8中,根节点802表示 数据对象库内数据对象的整个群体。当进行图8中的箭头804所代表的 特定选择时,获得由节点806所代表的数据对象的子群体,其包括远少 于根节点802所包括的数据对象。附加属性的指定或者从节点806所表 示的图像子群体选择特定图像会产生节点808所代表的更小的子群体, 其中从节点806到节点808的转换(transition)由箭头810表示。由箭 头812表示的对用于限定子群体的约束的放宽将当前子群体向上移动回
16更高级别节点的等级。图8中的圆锥(例如从节点816发出的圆锥814) 表示图8所示的最低级别节点以下的子树。在这样的表示中,任何特定 节点都可以具有和基于节点所表示的当前子群体的可能的不同选择一 样多的从所述节点向低级别节点发出的连接。
图9A-D图示了通过使用本发明的各个实施例所进行的典型用户搜 索。在图9A中,数据对象库内数据对象群体的可能定向搜索空间被表 示为二维平面。由轴902表示的第 一维包括数据对象库内的所有数据对 象。沿所述轴的线段表示数据对象的子群体。例如,线段904表示从起 点904到点906的线段所表示的数据对象总群体内的数据对象子群体。 由第二轴905所表示的第二维对应于子群体大小,或者对应于子群体中 数据对象相对于总群体大小的百分比。二维平面上的点(例如点908) 表示搜索状态。例如,点908是一种方便的起始搜索状态,在该状态下, 数据对象库内的所有数据对象都被包含在当前子群体中,或者在该状态
下,当前子群体等于总群体。特定点或搜索状态的当前子群体由固定角 (p910对着第一轴所形成的线段来表示。例如,在搜索状态912中,线 段914表示搜索状态912中所考虑的子群体与总群体或者数据对象库的 总大小之比。因此,随着搜索状态越接近第一轴902,在搜索状态下从 其中选择数据对象的子群体就变得越小。当然,数据对象实际上不会关 于第一轴902顺序排列(order),而是会根据用于限定特定搜索状态的 标准以不同次序出现。
图9B图示了本发明各个方法和系统实施例的可以由用户执行的典 型搜索。标有"f,的曲线箭头(例如箭头902)所表示的向下转换表示 受迫转换,其中用户输入数据对象选择或引起当前子群体大小缩小的其 他数据,而标有"u,,的向上指的曲线箭头(例如箭头922)表示非受迫 转换,其中放牧程序由于用户不活动而通过放宽用于限定当前子群体的 标准来自动扩展当前子群体。最初,搜索开始于起点924。随着放牧程 序从当前子群体选择数据对象进行显示并且用户输入选择或其他类型 的输入,受迫转换将搜索向下带到具有不断减小的子群体大小的搜索状 态926和928。用户不活动的时段会引起到具有稍大子群体大小的搜索 状态930的非受迫转换922,附加的用户输入引起从搜索状态930通过 受迫转换到达具有减小的子群体大小的后续搜索状态932和934。用户 不活动的另一时段会引起子群体大小在搜索状态936自动稍有增加,并且附加的用户输入会引起通过受迫转换到达表示单个数据对象的最终
结束点938。
虽然,对于搜索任务而言,受迫转换通常被认为减小了从其中选择 数据对象进行呈现的当前子群体的大小,但是在各个实施例中,用户输 入还可以增大子群体大小或者对子群体没有影响,而是通过改变用于限 定子群体的标准来改变子群体内的数据对象,以便从n维数据对象空间
中选择不同的同等填充的子体积。用户输入甚至可以在一段时间内固定 当前子群体以禁止非受迫转换。
如图9C所示,搜索不一定产生结果。在图9C所示的搜索中,三个 受迫转换引起从起点940转换到中间点942,此处该当前子群体已经明 显缩小。然而,由于用户不活动,非受迫转换引起回到初始的起点940。 如图9D所示,搜索可能不产生单个数据对象,而是通向结束点944, 此处当前子群体包括图9D中的线段946所表示的数据对象集合。类似 地,起点无需是包含数据对象的整个群体的搜索状态,而是可以根据基
象。 一旦用户已经找到一个或一组期望的数据对象,用户就可打印所述 数据对象、在目录中存储所述数据对象、将所述数据对象输入到各种应 用程序中任意一种或者通过附加的非导航输入以其他方式使用所述数 据对象。
图10-11提供了表示本发明一个实施例的放牧程序的控制流程图。 如图10所述,在步骤1002中,放牧程序接收要被用户进行放牧、浏览 和搜索的数据对象库或群体的指示以及用户身份的个性化 (individuation)。在步骤1004,放牧程序对数据对象的群体进行初始 化。如果在步骤1002提供了有效的用户身份(如在步骤1006所确定的), 则在步骤1008访问用户的简档并根据用户简档对当前简档进行初始化。 否则,在步骤1010使用缺省值对当前简档进行初始化。除对当前简档 进行初始化之外,在步骤1008和1010中,能够根据用户简档中所存在 的数值或缺省值来设置或定义各种放牧应用参数和特征。接下来,在步 骤1012,放牧程序选择用于搜索的初始起点,选择对应于起点的初始子 群体,并从当前子群体中选择数据对象的初始集合以用于呈现给呈现程 序。在步骤1014中,放牧程序对呈现程序进行初始化,输入在步骤1012 中所选择的数据对象并将呈现更新计时器设置为期望的呈现更新时间间隔。最后,在步骤1016,放牧程序输入连续重复的事件循环。
图11示出了放牧应用事件循环。放牧应用事件循环是包括步骤
1102到1117的do-forever (执行-永远)循环,其连续重复直至出现退 出条件。在do-forever循环的每次重复中,放牧应用事件循环在步骤1103 中确定用户是否已经输入了诸如数据对象选择输入之类的导航输入。如 果是,则事件循环在步骤1104更新当前简档,在步骤1110中根据所更 新的简档来更新当前子群体,在步骤1112中重置非受迫转换计时器, 在步骤1113中从新的当前子群体选择数据对象以呈现给呈现程序,并 且在步骤1114中将呈现更新计时器重置为用于添加新的数据对象的期 望间隔。
如上所述,在步骤1112中,非受迫转换计时器被设置为用户不活 动的最小时间以便生成自动数据对象子群体扩展。在步骤113中,如上 所述,通过各种类型的选择方法中任何一种选择数据对象并且将其传给 呈现程序以允许呈现程序调度将所选择数据对象添加到逻辑呈现显示 区域以便最终显示并供用户观看。在某些实施例中,放牧程序可以命令 呈现程序添加数据对象并平移显示窗口,而在可替换实施例中,呈现程 序可以异步地运行,并且更新逻辑呈现显示区域、平移显示窗口,并安 排用于根据内部呈现程序参数和计时器通过显示或呈现设备对显示窗 口的内容呈现进行再现(render)。
在步骤1105中,当事件循环确定了已经输入了非导航用户输入或 选择时,则事件循环在步骤1106中调用适于进行输入或选择的处理程 序(handler),如果需要,在步骤1107中更新当前简档,并且在步骤 1110-1114中更新当前子群体,从当前子群体中选择数据对象并重置非 受迫计时器和呈现更新计时器。如在步骤1108中所确定的,如果事件 循环确定了非受迫转换计时器已经终止,则在步骤1109中事件循环更 新当前简档来放宽通过其限定当前子群体的标准,在步骤1110中根据 新的约束来更新当前子群体,在步骤1112中重置非受迫转换计时器, 在步骤1113中从新的当前子群体中选择数据对象以呈现给呈现程序, 并且在步骤1114中将呈现更新计时器重置为用于添加新数据对象的期 望间隔。另一方面,如步骤1111中所确定的,如果事件循环确定了呈 现更新计时器已经终止,则在步骤1113中事件循环从当前子群体中选 择新的数据对象,并且在步骤1114中重置呈现更新计时器。如果在步
19骤1115中,事件循环确定了已经发生了某一其他事件,则在步骤1116
中调用适用于该事件的事件处理程序。最后,如果在步骤1117中,事
件循环确定了已经发生了引起事件循环终止的事件,则事件循环终止。 虽然已经针对特定实施例对本发明进行了描述,但是并不意味着本 发明局限于这些实施例。在本发明的精神范围内的修改对于本领域技术 人员是显而易见的。例如,使用多种不同编程语言中的任一种,实施用 于各种硬件和操作系统平台的程序并使用各种不同的模块化组织、控制 基元、数据结构、变量说明和其他这样的编程参数,可以实现实质上无 限数目的不同可能的放牧程序和呈现程序实施方式。放牧程序和呈现程 序可以被结合到大量不同类型的软件应用和系统中。特别地,用于子群 体限定的标准因系统的不同而不同,这取决于由数据对象库或数据对象 数据库所提供的访问、表征和搜索基元,其中用户输入对所述标准进行
改进以将子群体缩小为包含用户所期望的数据对象。标准可以包括函数 /函数自变量/函数值三元组、属性/属性值对、完全或部分形成的查询、
集合表达式(set expression)、布尔表达式、可执行搜索程序以及能够 在各种系统中用来对数据对象进行访问、表征和搜索的其他此类信息。 放牧程序可以使用多种采样技术中的任 一 种以用于从当前子群体选择 数据对象,包括随机选择,根据预定义的采样策略或分布进行选择以及 其他技术。如以上所讨论的,用户可以采用多种非导航输入命令中的任 一种来将定位的数据对象引导到其他应用、打印机、对象显示程序、本 地或远程存储装置以及其他这样的应用和过程。呈现程序可以通过使用 不同呈现策略和适于数据对象库中所存储的数据对象类型的技术来向 用户呈现任意数目的不同类型的数据对象。本发明还可以被用于对许多 不同类型的数据对象和数据对象库进行搜索和定向浏览。例如,可以通 过本发明的实施例对电影数据库进行浏览。来自电影的静止图像可以祐二 显示,当其被用户选择时,其可引起对选自电影的短片(short)、视频 片断的显示。电影可以通过大量的不同属性来描述,从主要演员的名字 到发布日期、主题、商业成功、关键评论员的评价以及任意数目的附加 属性。在上述实施例中,数据对象表征标准在一段没有用户输入的时段 之后被自动放宽,但是标准放宽也可以通过在没有用户输入情况下显示 了阈值数目的数据对象来触发,或者由其他因素或事件来触发。
出于解释的目的,以上描述使用特定术语来提供对本发明的全面理解。然而,对于本领域技术人员很明显的是,特定细节对于实现本发明 并非是必须的。本发明特定实施例的以上描述是出于说明和描述的目的 而给出的。它们并不意在穷举或者将本发明限制到所公开的确切形式。 显然,可以根据以上教导进行许多修改和变化。所示出和描述的实施例
是为了对本发明的原理及其实际应用进行最佳解释,由此使得本领域技 术人员能够对本发明进行最佳利用,并且具有各种修改的各个实施例适 于所预期的特定用途。本发明的范围意在由所附权利要求及其等同物来 限定。
权利要求
1. 一种数据对象搜索和细读系统,包括在数据对象库(102)中所包含的数据对象(302),所述数据对象库(102)提供根据数据对象访问标准来定位数据对象的数据对象访问工具;电子地呈现数据对象的呈现程序(206);和放牧程序(208),所述放牧程序从通过当前数据对象访问标准所限定的数据对象的当前子群体(422,434)中连续选择(1113)数据对象以供输入到呈现程序进行呈现,接收对当前数据对象访问标准进行修改的用户输入,继而对从其中选择数据对象进行呈现的当前子群体进行修改,并且在没有输入的时段期间自动放宽(1109)数据对象访问标准,以对从其中选择数据对象进行呈现的数据对象的当前子群体(422,434)进行扩展(1110)。
2. 如权利要求1所述的数据对象搜索和细读系统, 其中数据对象(302)可以包括摄影图像,数字编码的视频信号数字编码的音频信号,多媒体呈现,包含文本和图形的文档,和 能被应用程序再现的数据文件;并且 其中数据对象访问标准可以包括以下中的一个或多个 属性/属性值对,函数/函数自变量/函数输出值三元组, 部分或完全以公式表示的数据对象选择查询, 布尔表达式, et表达式, 关系代数表达式, 数据库查询, 可执4于程序;并且 其中当前数据对象访问标准被存储在包括用户的偏好和编码特征的当前简档(204, 310)内。
3. 如权利要求1所述的数据对象搜索和细读系统, 其中呈现程序(206)提供用户能够从其中选择显示窗口 ( 608 )的逻辑数据对象显示;其中呈现程序把每隔一段时间从放牧程序(208)接收的数据对象 添加到逻辑数据对象显示,并且相应地在逻辑数据对象显示内平移显示 窗口以呈现连续更新的显示;并且其中呈现程序在水平和垂直这两个方向上平移显示窗口 ( 608 )以 便在呈现连续更新的显示的同时呈现逻辑数据对象显示内的所有数据 对象。
4. 如权利要求1所述的数据对象搜索和细读系统,其中被称作受迫转换的基于输入的数据对象访问标准修改允许用 户将数据对象呈现转到用户感兴趣的数据对象(302 )的子群体;其中被称作非受迫转换的数据对象访问标准的放牧程序放宽提供 自动的子群体扩展(1110)以促进用户对整个数据对象库(102)的搜 索和浏览;并且其中放牧程序(208 )通过以下中的一种或多种方式从通过当前数 据对象访问标准所限定的数据对象的当前子群体(422, 434)中连续选 择(1113)数据对象以供输入到呈现程序(206)进行呈现从数据对象的当前子群体(422, 434)中随机选择数据对象, 通过根据所估计或查明的分布对数据对象进行公平采样以从 数据对象的当前子群体(422, 434)中选择数据对象,从数据对象的当前子群体(422, 434)中选择数据对象以便最 终呈现子群体内的所有数据对象,选择被确定为表示所述子群体的数据对象的子集,选择用户最经常选择的数据对象,和选择最接近n维空间的子群体n的中心的数据对象。
5. 如权利要求1所述的数据对象搜索和细读系统,其中用户可以 通过向所呈现的数据对象输入选择指示来选择所呈现的数据对象,以进 4亍以下中的一个或多个将所选择的数据对象输入到数据对象接收应用程序; 打印或以其他方式记录数据对象;在电子存储器中存储数据对象;在大容量存储设备上存储数据对象;和观察数据对象。
6. —种用于搜索或浏览数据对象库(102)内的数据对象(302) 的方法,所述方法包括对从数据对象库中选择的并且通过当前数据对象选择标准所限定 的数据对象的当前子群体(422, 434)进行初始化(1014);并且 重复地从当前子群体中选择(1113)数据对象, 呈现所选择的数据对象,和对当前数据对象选择标准进行修改(1109)以便对之后从其中 选择数据对象进行呈现的数据对象的当前子群体(422, 434 )进行修改, 在一段没有输入的时段之后,通过输入并且通过放牧程序(208 )自动 得出修改。
7. 如权利要求6所述的方法,其中当前数据对象选择标准被存储在包括用户的偏好和编码特征 的当前简档(204, 310)内,并且其中从当前子群体中选择数据对象(302 )进一步包括以下中的一 个或多个从数据对象的当前子群体(422, 434)中随机选择数据对象, 通过根据所估计或查明的分布对数据对象进行公平采样来从数据对象的当前子群体(422, 434)中选择数据对象,从数据对象的当前子群体(422, 434)中选择数据对象以便最终呈现所述子群体内的所有数据对象,选择被确定为表示所述子群体的数据对象的子集,选择用户最经常选择的数据对象,和选择最接近n维空间的子群体n的中心的数据对象。
8. 如权利要求6所述的方法, 其中呈现所选择的数据对象(302)进一步包括将所选择的数据对象添加到逻辑数据对象显示, 在逻辑数据对象显示内提供显示窗口 ( 608),能够在逻辑数 据对象显示上以编程方式或通过用户输入对所述显示窗口进行垂直或水平平移,并且在新添加的数据对象的方向上自动平移所述显示窗口以提供数据对象的连续变化的呈现;并且其中对当前数据对象选择标准进行修改以便对之后从其中选择数 据对象进行呈现的数据对象的当前子群体(422, 434)进行修改进一步 包括接收对所呈现的数据对象的输入并且对当前数据选择标准进 行修改(1104)以反映所接收的输入,其中当前数据对象选择标准被修改以减少当前子群体内的数 据对象的数目,所述当前子群体包括对其输入纟皮接收到的所呈现的数据 对象,并且其中当前数据对象标准被修改(1109)以增加当前子群体内的 数据对象的数目。
9. 如权利要求6所述的方法,其中对当前数据对象选择标准进行 修改以便对之后从其中选择数据对象进行呈现的数据对象的当前子群 体(422, 434)进行修改进一步包括在一段没有用户输入的时段之后,自动放宽(1109)当前数据对象 选择标准以增加当前子群体内数据对象的数目。
10. 如权利要求6所述的方法,其中对当前数据对象选择标准进行 修改以便对之后从其中选择数据对象进行呈现的数据对象的当前子群 体(422, 434)进行修改进一步包括在一段没有用户输入的时段之后,自动修改(1109)当前数据 对象选择标准以改变当前子群体内所包括的数据对象;并且其中可以通过向所呈现的数据对象输入选择指示来选择所呈现的 数据对象,以进行以下中的一个或多个将所选择的数据对象输入到数据对象接收应用程序;打印或以其他方式记录数据对象;在电子存储器中存储数据对象;在大容量存储设备上存储数据对象;和观察数据对象。
全文摘要
本发明的各实施例包括一种用于搜索或浏览数据对象库(102)内的数据对象(302)的方法。对数据对象的当前子群体(422,434)进行初始化。当前子群体(422,434)包含从数据对象库中选择的并且通过当前数据对象选择标准(204,310)所限定的数据对象。然后,以连续重复的方式,从当前子群体中选择(1113)数据对象并对其进行呈现,并且对当前数据对象选择标准进行修改以便对之后从其中选择数据对象进行呈现的数据对象的当前子群体(422,434)进行修改,在一段没有输入的时段之后,通过输入(1104)并且通过放牧程序(208)自动(1109)得出修改。
文档编号G06F17/30GK101473324SQ200780022924
公开日2009年7月1日 申请日期2007年4月20日 优先权日2006年4月21日
发明者C·B·阿特金斯, G·乌拉斯, P·奥布拉多, S·维道森 申请人:惠普开发有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1