用于在显示器上显示数字图像的技术的制作方法

文档序号:6657050阅读:321来源:国知局
专利名称:用于在显示器上显示数字图像的技术的制作方法
技术领域
本发明涉及在显示器上显示数字图像。
背景技术
数字摄影者可以使用软件系统管理和组织数字图像。数字摄影者经常可能需要在显示器上显示大量的数字图像。数字摄影者希望可视地呈现在显示器上的数字图像的数量可能太大或难以使每个数字图像可视地、无阻碍地呈现在显示器上。因此,在本领域中存有改进在显示器上所显示的数字图像的显示、管理、和组织的需要。


通过附图中的实例示出了本发明,而并不用于限制本发明,其中相似的参考标号表示相似的元件,其中图1是根据一个实施例的数字图像系统的显示的图示;图2是根据一个实施例在一堆栈、一组、或在一版本集中可视地描绘多个图像的步骤的流程图;图3是根据一个实施例的包含图1中所示的数字图像的组的两种状态的图示;
图4描绘了根据一个实施例的、包含有用于改变组的状态的控件的一幅精选图像(pick image)的显示画面;图5是描绘根据一个实施例的一个堆栈的所述精选图像的变化的图示;图6是根据一个实施例的一个堆栈的两种状态的图示;图7示出了根据一个实施例的当一个堆栈中的一幅图像被提升时,所述堆栈中的多幅图像的运动;图8是根据一个实施例的一版本集的两种状态的图示;图9是根据一个实施例的其中包含另一组和一个堆栈的一组的图示;图10是示出了根据一个实施例的使用虚拟放大镜的步骤的流程图;图11是根据本发明实施例的示出虚拟放大镜的显示的图示;图12是根据本发明实施例的改变所述虚拟放大镜的方位的描绘;图13是根据一个实施例的具有浮动控制器的显示器的图示;图14是根据一个实施例的有界的序列的图像的图示;图15是根据一个实施例的可用于在一个以上的显示器上显示图像的数字图像系统的框图;
图16是根据一个实施例被排列成一系列行的数字图像序列的显示的图示;图17是示出根据一个实施例的以未遮盖的方式观看一组数字图像中每一个的步骤的图示;图18是根据一个实施例的示出一图像集(其中该图像集中至少一个是至少部分被遮盖住的)的第一显示的图示;图19是根据一个实施例的以未遮盖的方式示出图18中的该图像集的第二显示的图示;图20是示出了可以在其上实施本发明实施例的计算机系统的框图。
具体实施例方式
在以下描述中,为了说明的目的,阐述了许多细节以提供对此处描述的本发明实施例的透彻理解。然而,很显然地,没有这些具体细节也可以实施本发明的实施例。在其他实例中,为了避免不必要地使此处描述的本发明的实施例模糊不清,以框图的形式示出了众所周知的结构和装置。
功能概述数字图像系统包括计算机系统、初级显示装置、以及一个或多个次级显示装置。计算机系统在一个初级显示装置和一个或多个次级显示装置上显示内容。计算机系统可运行于第一模式和第二模式。如果计算机系统处于第一模式,则在每个次级显示器上,计算机系统都生成与同时正被显示在初级显示装置上的显示(画面)相同的显示(画面)。如果计算机系统处于第二模式,则在每个次级显示装置上,计算机系统都生成与同时正被显示在初级显示装置上的显示画面所不同的显示画面。通过将用户输入提交给计算机系统,用户就可以使计算机系统在第一模式和第二模式之间切换。
本发明实施例的数字图像系统可被用于在通过被排列成一组行或列的图像序列中的数字图像进行滚动时,自动提升格(grid)中的一个或多个行或列。当用户从选择第一图像改变到选择第二图像时,如果存在少于可配置的预定阈值的图像,则可自动显示额外的图像。在显示了额外的图像后,所选择的图像可位于显示器中心上。
根据本发明的实施例,被另一个图像所遮盖的图像可以被整体的观察到。包括排列成第一排列的多个图像的一堆图像(其中,该堆中的至少一个图像与该堆中的至少一个其他图像交叠)被数字图像系统显示在显示器上。指示第一排列的每个图像的位置的位置数据由数字图像系统进行存储。当以第一排列显示堆中的多个图像时,响应于数字图像系统接收第一用户输入,无需改变位置数据,数字图像系统就以第二排列(其中,该堆中没有图像与该堆中任何其他图像交叠)显示属于该堆的那些图像。当以第二排列显示该堆中的图像时,响应于数字图像系统接收第二用户输入,数字图像系统就基于由数字图像系统存储的位置数据而以第一排列重新显示该堆图像。
组、堆栈和版本根据本发明的一个实施例,用户,例如摄影者,可以使用数字图像系统来管理并组织数字图像的汇集,而该数字图像系统使用组、堆栈和版本集来显示数字图像。图1是根据本发明一个实施例的数字图像系统的几个数字图像的显示器100和存储器110的图示。正如下面所进一步详细解释的,数字图像系统可以包括在显示器(例如,图1的显示器100)上显示一个或多个数字图像的计算机系统。如图1所示,四个不同的数字图像,即,图像A、图像B、图像C、和图像D被可视地描绘在显示器100上。虽然为了简化说明而只示出了四个数字图像,但是显示器100可容易地显示繁多的数字图像(例如,两千或更多),从而使用户难以观看并管理显示器100上显示的所有数字图像。
显示在显示器100上的图像被存储在存储器110中。可以使用任何用于存储数字图像的机构(例如,数据库,文件服务器、或易失性存储器)来实现存储器110。存储在存储器110中的数字图像具有文件图像分辨率,该分辨率为当数字图像被存储时的分辨率。数字图像能够以不同于文件图像分辨率级别的分辨率级别被显示出来,例如,特定图像能够以放大的分辨率级别被显示出来。被显示的图像的分辨率级别应该被称作被显示的图像分辨率。
为了帮助用户管理并组织其数字图像,可将一个或多个数字图像排列进入一组、一个堆栈、或作为一版本集。图2是示出根据本发明一个实施例的可视地描绘在堆栈、组、或作为版本集中的图像的步骤的流程图。在步骤210中,存储集合数据,该数据(a)标识多个图像之间的关联,(b)标识代表性图像,以及(c)标识所述多个图像的当前状态。当一个或多个数字图像被排列进入一组、一个堆栈或作为版本集时,生成并存储集合数据来标识一个或多个数字图像以及标识是否一个或多个数字图像被排列进入组、堆栈、作为版本集、或其任何组合(如下面所解释的,组和堆栈可以是嵌套的)。下面将参照组、堆栈、和版本集更详细地描述图2中剩余的步骤的执行。
组正如本文所使用的,组是一无序的数字图像集合,其能够以使用被称作“精选图像”的代表性图像的第一状态可视地表现出来。也能够以第二状态通过显示该组中所有数字图像而不是只显示精选图像来可视地表现组。该组的精选图像(其显示在显示器上)可以被用于表现该组中的每个数字图像,从而减少在显示器上所显示的数字图像的数量。
图3是根据本发明一个实施例的包含在图1中示出的数字图像的组的两种状态的图示。如图3所示,在该组的收缩状态,只显示了精选图像,而在该组的展开状态,显示了该组中的每个数字图像(包括精选图像)。当组处于展开状态时,可在表现精选图像的特定位置显示出精选图像,例如把以展开状态描绘的组的精选图像显示为该组的第一数字图像。
数字图像系统可以基于与该组一起存储于存储器110中的元数据来描绘组的图像。存储在存储器110中的元数据标识该组、该组中的每个图像、该组中哪个图像是代表性图像(或精选图像)、以及该组的状态。例如,与处于收缩状态的组相关的元数据120存储数据,该数据(a)标识该组,(b)将图像A、图像B、图像C、图像D标识为属于该组,(c)将当前状态标识为收缩状态,以及(d)将图像A标识为精选图像。与处于收缩状态的该组相关的元数据122存储数据,该数据(a)标识该组,(b)将图像A、图像B、图像C、图像D标识为属于该组,(c)将当前状态标识为展开状态,以及(d)将图像A标识为精选图像。数字图像系统基于所存储的、与该组相关的元数据来显示该组的图像,例如,当元数据120指示与其相关的组处于收缩状态时,数字图像系统只在显示器100上显示图像A(其为精选图像)。
在图2的步骤220中,当该组的当前状态为收缩状态时,通过只显示代表性图像或精选图像来可视地描绘该组的图像。例如,正如图3中所描绘的处于收缩状态的组所显示的,通过只可视地描绘图像A来表现图像A、图像B、图像C、和图像D。在图2的步骤230中,当该组的当前状态为展开状态时,通过显示多个图像中的两个或更多图像来可视地描绘该组中的多个图像。例如,正如图3中描绘的处于展开状态的该组所显示的,通过可视地描绘图像A、图像B、图像C、以及图像D来表现图像A、图像B、图像C、以及图像D。注意,在步骤230中,只要可视地描绘该组中的两个或更多图像,就可通过显示少于该组中的所有图像来可视地描绘该组的多个图像,例如,在步骤230中,通过只显示图像A和图像D来可视地描绘图像A、图像B、图像C、以及图像D。
变换组的显示状态用户可在收缩状态和展开状态之间变换该组的状态。在本发明的一个实施例中,可通过用户向计算机系统提交输入来变换该组的状态。可通过多种方式(包括一个或多个键击序列或一次或多次鼠标单击)将输入提交给计算机系统。在本发明的一个特定实施例中,可通过用户选择与该组相关的控件来改变该组的状态。图4描绘了根据本发明一个实施例的显示包含用于改变该组的状态的控件410的精选图像的显示器400。可通过用户选择被显示在图4的精选图像上的控件410而将图4的组从收缩状态变换到展开状态。可以使用允许用户选择控件的任何图形组件来实施控件410,例如通过单击它的方式。注意,控件410无需被显示在精选图像上,而是可以被显示在用户可见的、屏幕上的任何地方,例如控件410可以显示在工具栏上。因此,可以使用任何用于接收用户输入的机构(例如,一个或多个键击序列或一次或多次鼠标单击)来实现控件410。
当改变了组的状态时,也改变了可视地表现在显示器上的数字图像的数量(即,显示了精选图像或显示了该组中两个或更多数字图像)。可以以使用户能够直观化该组正在发生的情况的方式来执行改变可视地表现在显示器上的数字图像的数量的这一过程。实现这一点的一种方法是提供显示由该组可视地描绘的数字图像的数量变化的动画,以使用户理解该组的状态已经变化了。换言之,为了在该组的状态变化的瞬间,避免因改变该组的可视描绘而使观察者迷惑,该组的可视描绘的变化可在便于察觉的时间段期间逐渐发生,以使用户通过观察显示器上的变化而完全领会该组的状态变化。例如,当该组从收缩状态的可视描绘转换到展开状态的可视描绘时,可以显示该组的一个或多个中间状态。
改变该组的精选图像用户可以改变该组的精选图像。可以通过包括输入装置2014和光标控制器2016的多种机构来提交用于改变该组的精选图像的用户输入。当以展开状态显示该组时,能够以允许观察者可视地确定该组中哪个图像为精选图像的这一方式来显示该组的精选图像。例如,可以使用视觉指示器(例如,边界、阴影、或加亮)来显示处于展开状态的组的精选图像,以对观察者指示该组中哪个图像为精选图像。
当处于展开状态的该组中的新图像被用户标识为新精选图像时,可以使用视觉指示器来显示新图像,以指示所述新图像现在就是精选图像,并且可以停止使用视觉指示器来显示先前的精选图像。当用户选择该组的新精选图像时,就不必要使处于展开状态的组中的图像中的任何一个在显示器上移动,即,可以使用视觉指示器来显示新精选图像,而不必移动新精选图像。可以以使用户能够直观化该组正在发生的情况的方式来进行处于展开状态的该组中的精选图像的变化。
堆栈堆栈也可被用于管理和组织数字图像。本文所使用的堆栈是有序的数字图像的集合。类似于组,可以以使用代表性图像(或精选图像)的收缩状态以及显示与该堆栈相关的所有数字图像的展开状态来可视地表现堆栈。图6是根据本发明一个实施例的一个堆栈的两种状态的图示。堆栈中的每个数字图像都具有等级(rank),并且堆栈中的每个数字图像都以其等级的次序来被描绘。例如,在图6所示的处于展开状态的堆中,精选图像A具有最高等级,图像B具有次最高等级,图像C具有再次的最高等级,如此等等。
数字图像系统可以基于与堆栈一起存储在存储器610中的元数据来描绘堆栈的图像。存储在存储器610中的元数据标识堆栈、该堆栈中的每个图像、该堆栈中的哪个图像是代表性图像(或精选图像)、该堆栈中的每个图像的等级、以及该堆栈的状态。例如,与处于收缩状态的堆栈相关的元数据620存储数据,该数据(a)标识堆栈,(b)将图像A、图像B、图像C、图像D标识为属于该堆栈,(c)将该堆栈的当前状态标识为收缩状态,(d)标识与该堆栈的每个图像相关的等级,以及(e)将图像A标识为精选图像。与展开状态的堆栈相关的元数据622存储数据,该数据(a)标识堆栈,(b)将图像A、图像B、图像C、图像D标识为属于该堆栈,(c)将该堆栈的当前状态标识为展开状态,(d)标识与该堆栈中的每个图像相关的等级,以及(e)将图像A标识为精选图像。数字图像系统基于所存储的、与堆栈相关的元数据来显示该堆栈的多个图像,例如当元数据620指示与其相关的堆栈处于收缩状态时,数字图像系统只在显示器600上显示图像A(其为精选图像)。
再返回图2,在步骤220中,当堆栈的当前状态为收缩状态时,通过只显示代表性图像来可视地描绘堆栈的图像。例如,通过图6中所描绘的收缩状态的状态,通过只可视地描绘图像A来表现图像A、图像B、图像C、和图像D。
在图2的步骤230中,当堆栈的当前状态为展开状态时,通过按照与每个显示的图像相关的等级的次序以显示该堆栈中的两个或更多图像来可视地描绘该堆栈的多个图像。例如,正如图6中所描绘的处于展开状态的堆栈中的图像所示的,通过可视地描绘图像A、图像B、图像C和图像D来表现图像A、图像B、图像C和图像D。注意,在步骤230中,只要可视地描绘堆栈中的两个或更多图像,就通过显示少于该堆栈中的所有图像而可以可视地描绘堆栈中的图像,例如,在步骤230中,可通过只显示图像A和图像B来可视地描绘图像A、图像B、图像C和图像D。当堆栈处于展开状态时,按照与每个显示的图像相关的等级的次序来显示图像。例如,在图6中所描绘的处于展开状态的堆栈中,图像A(其为第一个)具有最高等级,图像B(其被紧接着显示)具有次最高等级,等等。
在本发明的一个实施例中,可以通过用户选择与堆栈相关的控件(例如,类似于图4的控件410)来改变该堆栈的状态。在本发明的另一个实施例中,可以通过用户向计算机系统提交输入来改变组的状态。可以通过各种方式(包括一个或多个键击序列或者,一个或多个鼠标单击)将输入提交给计算机系统。
提升堆栈中的图像可将堆栈中的数字图像提升到较高的等级或降级到较低的等级。用户可以使用堆栈以通过在该堆栈中提升所喜爱的图像以及在该堆栈中降级不喜爱的图像的方式来决定在一组相关的数字图像中的哪一个数字图像是其所爱。用户可以通过在特定的图像上选择类似于图4的控件410的控件来使堆栈中的特定图像被提升或降级。
当堆栈中的图像被提升或降级时,就能够以允许用户直观化堆中的图像的顺序的变化的方式来更新堆的视觉显示。图7是根据本发明一个实施例当堆栈中的图像被提升时该堆栈中的图像的移动的图示700。如图7所示,提升了图像C,从而使它具有比图像B更高的等级。因此,图像C被显示出通过穿过一个或多个中间位置(例如,临时位置1)而从其当前位置移动到图像B先前占据的位置。图像B也可以被显示出通过穿过一个或多个中间位置(例如,临时位置2)从其当前位置移动到当前由图像C所占据的位置。这样,用户可以通过观察堆栈中成员的移动而完全领会该堆栈中的图像的顺序的变化。当堆栈中的图像被提升或降级时,与该堆栈相关的元数据就被更新以反映该堆栈中的每个图像等级的变化过程。
改变堆栈的精选图像用户可以改变堆栈的精选图像。图5是描绘根据本发明一个实施例的堆栈中的精选图像的变化的图示500。图5示出了接收用户输入以使图像C成为该堆栈的精选图像的结果。精选图像被显示在当前由图像A占据的位置510。用户输入可以通过多种结构(包括输入装置2014和光标控制器2016)进行提交。当用户标识了堆栈的新精选图像时,新精选图像就被提升到堆栈的第一位置,而该堆栈中的其他图像则保持在其同样的相对次序。可以以使用户直观化该组发生的情况的方式进行精选图像的变化。
例如,如图5所示,图像C可以被显示出通过穿过一个或多个中间位置(例如临时位置1和临时位置2)而从其当前位置移动到位置510。在图像C被提升到位置510之后,图像A、B、和D彼此保持同样的相对次序。因此,可将图像A和B的位置移动到显示器上的右侧以可视地表现其在该堆栈中的相对位置的变化。通过穿过一个或多个中间位置,图像A可以被显示出从其当前位置移动到由图像B所占据的位置。图像B可以被显示出通过穿过一个或多个中间位置而从其当前位置移动到先前由图像C所占据的位置。以此方式,用户可以通过观察显示器上组中多个数字图像的移动而完全领会该组中精选图像的变化。
版本根据一个实施例,可将两个或更多数字图像建立为一版本集。版本集指的是能够以使用代表性图像(或精选图像)的第一状态可视地表现的,以及通过与该集合相关的每个数字图像以第二状态可视地表现的一组相关的数字图像。版本集类似于组——除了版本中的图像是直接或间接地从同一原始数字图像中导出的。例如,用户可能希望修改原始图像以创建导出图像。根据一个实施例,每个导出图像都自动成为从中将其导出的图像的版本集中的成员。例如,若用户创建了彩色的原始图像的黑白副本,则在版本集中黑白副本和原始图像被自动关联。因此,版本集包括原始图像和产生自该原始图像的任何导出图像。
图8是根据本发明一个实施例的版本集的两种状态的图示。如图8所示,图像A是原始版本,而图像B、图像C、和图像D中每个都是从图像A中导出的。如图8所示,版本集的收缩状态只显示精选图像(图像A),而版本集的展开状态显示了版本集中的每个数字图像(包括精选图像)。当一组版本处于第二状态时,精选图像就可被显示在特定位置,例如,精选图像可被显示为该组的第一数字图像。举例来说,如图8所示,图像A是精选图像,并且精选图像是该组中所显示的第一数字图像。处于展开状态的版本集中的图像可以按照年代先后的顺序列表,例如,用户可能最近已创建了图像A、其次创建了图像B,等等。
再次返回到图2,在步骤220中,当版本集的当前状态为第一状态时,通过只显示代表性图像或精选图像来可视地描绘版本集的图像。例如,正如图8中所描绘的收缩状态所示的,通过可视地只描述图像A来表现图像A、图像B、图像C、和图像D。在图2的步骤230中,当版本集的当前状态为展开状态时,通过显示版本集的两个或更多图像来可视地描绘该版本集的图像。
例如,正如处于图8中所描绘的展开状态的版本集所示出的,通过可视地描绘图像A、图像B、图像C、和图像D来表现图像A、图像B、图像C、和图像D。注意,在步骤230中,只要版本集中的至少两个图像被可视地描绘,就可通过显示少于该版本集的所有图像来可视地描绘该版本集的图像,例如,在步骤230中,可通过只示出图像A和图像B来可视地描绘图像A、图像B、图像C、和图像D。版本集的状态可通过用户选择与该版本集相关的控件(例如,类似于图4的控件410的控件)而被改变。
数字图像系统可以基于与版本集一起存储在存储器810中的元数据来描绘该版本集的多个图像。存储在存储器810中的元数据标识版本集、该版本集中的每个图像、该版本集中的哪个图像是代表性图像(或精选图像)、以及该版本集的状态。例如,与处于收缩状态的版本集相关的元数据820存储数据,该数据(a)标识版本集,(b)将图像A、图像B、图像C、图像D标识为属于该版本集,(c)将该版本集的当前状态标识为收缩状态,以及(d)将图像A标识为精选图像。与处于展开状态的版本集相关的元数据822存储数据,该数据(a)标识版本集,(b)将图像A、图像B、图像C、图像D标识为属于该版本集,(c)将该版本集的当前状态标识为展开状态,以及(d)将图像A标识为精选图像。数字图像系统基于所存储的、与版本集相关的元数据来显示该版本的多个图像,例如,当元数据820指示与其相关的版本集处于收缩状态时,数字图像系统就只在显示器800上显示图像A(其为精选图像)。
根据本发明的一个实施例,如果导出图像是使用内部应用程序创建的,则可以把表现从另一个图像(原始图像)导出的图像(导出图像)所需要的数据的数量最小化。内部应用程序是使标识对原始图像所作的一个或多个改变的可用数据创建导出图像的任一应用程序。如果导出图像是由外部应用程序(其为非内部应用程序的任何应用程序)创建的,则标识特定图像的数据就被存储起来。由于导出图像是被外部应用程序所创建的,所以标识对原始图像所作的一个或多个改变以创建导出图像的数据是不可用的;因此,整个导出图像都被存储起来。然而,如果特定图像是由内部应用程序创建的,则标识对原始图像所作的一个或多个改变的数据就被存储起来。在这种情况下,通过应用标识对原始图像所作的改变的数据而如需地创建导出的图像。版本集可以包括由外部应用程序创建的图像的第一部分,以及由内部应用程序创建的图像的第二部分。
拖放操作取决于涉及的实体到底是堆栈、组、还是版本集,拖和放(drop)操作就产生不同的结果。当用户从显示器的第一位置到显示器的第二位置对堆栈启动拖和放操作时,数字图像系统将标识第二位置的堆栈中的精选图像的副本的数据存储在存储装置中。当用户从显示器的第一位置到显示器的第二位置对组启动拖和放操作时,数字图像系统将标识第二位置的组的每个图像的副本的数据记录在存储装置中。当用户从显示器的第一位置到显示器的第二位置对版本集启动拖和放操作时,数字图像系统将标识第二位置的版本集中的精选图像的副本的数据存储在存储装置中。
取决于用户是否对堆栈、组、或版本集发起操作,该用户所发起的影响图像的视觉显示的操作就被不同地执行。对于由用户指定的对堆栈执行的操作,数字图像系统就对该堆栈的精选图像执行操作。对于由用户指定的将对组执行的操作,数字图像系统就对该组的所有图像执行操作。对于由用户指定的将对版本集执行的操作,数字图像系统就对该版本集的精选图像执行操作。
嵌套容器堆栈、组、和版本集可以为嵌套的。组可以包括其本身为堆栈、组、和/或版本集的成员。堆栈可以包括其自身为堆栈和/或版本集的成员。图9是根据本发明一个实施例的包含另一组和一个堆栈的一组的图示900。如图9中所示,组910包含图像A、图像B、组A、和堆栈A。组A自身可包含一个或多个堆栈、组、和/或版本集。堆栈A也可以包含一个或多个堆栈、组、和/或版本集。
数字图像系统基于与嵌套组一起存储在存储器910中的元数据922来可视地描绘图9的嵌套组。元数据922标识堆栈,在该堆栈中的每个图像、每个组、每个堆栈或每个版本集,该堆栈中哪个图像、组、堆栈、或版本集是代表性图像(或精选图像),以及该组的状态。假如组910是堆栈的话,则元数据922也会标识该堆栈中的每个图像、每个组、每个堆栈、或每个版本集等的等级。数字图像系统基于所存储的、与嵌套的实体相关的元数据来显示堆栈的图像。在组或集中的每个组、每个堆栈、或每个版本集可以被展开或收缩。当组或堆栈(父)的精选图像本身为组、堆栈、或版本集(子)时,则当父处于收缩状态时,子的精选图像就被数字图像系统用作父的精选图像。
当管理多个相关的图像时,嵌套的堆栈和组可能是有利的。例如,在用户每次按压数码相机的快门的时候,一些数字相机可以拍摄多个照片,例如,来捕获高速运动快照。用户每次拍摄图片时,就有把由相机拍摄的每个图像集关联在单个一组或单个堆栈中的好处。以此方式,用户可在以后更悠闲地检查该组或该堆栈中的图像,这是由于很可能用户只希望最后使用该组或该堆栈中的一幅数字图像。
一图像集可以由数字图像系统基于与该图像集相关的信息自动地分配给组、堆栈、或版本集。当将一图像集被分配给组、堆栈、或版本集时,标识该图像集和该图像集所分配到的实体(组、堆栈、或版本集)的元数据就被存储在存储装置中。这种元数据在各种动作(例如, 包围曝光(exposure bracketing)和定序(sequencing))期间被自动生成。包围曝光包括在不同的时刻使用不同的曝光量来拍摄多幅类似主题的照片。定序包括同时拍摄多幅照片。
假如一图像集中的每一个都是同时被拍摄的,则数字图像系统就可使用所生成的元数据将该图像集中的每一个都分配到同一组。在另一个实例中,假如使用不同的曝光量来拍摄类似主题的一图像集,则数字图像系统就可使用所生成的元数据将该图像集中的每一个都分配到同一组。另外,在一个实例中,如果导出图像是从原始图像中创建的,则数字图像系统可将原始图像和导出图像分配到同一版本集。因此,数字图像系统可以基于如在元数据中所描述的一图像集的特性,将该图像集分配给组、堆栈、或版本集。由于在元数据中描述的该图像集的任何特性都可以确定该图像集是否被分配到组、堆、或版本集,所以本发明其他实施例中的数字图像系统就可以被配置来用于基于在未出现在上面的实例中的元数据中描述的该图像集的附加特性,以将一图像集分配给组、堆、或版本集。
虚拟放大镜的使用本发明一个实施例的数字图像系统可以被用于使用虚拟放大镜观看显示在显示器上的数字图像。当用户使得目标区域在显示器上改变位置时,虚拟放大镜的透镜区域就可相对于显示器上的目标区域自动地改变定位,以确保透镜区域总是无遮盖地显示在显示器上。
图11是根据本发明一个实施例的示出虚拟放大镜的显示1100的图示。图11示出了可视地表现数字图像1110的显示1100。虚拟放大镜包括目标区域1120和透镜区域1130。由目标区域1120识别的可视信息被显示在透镜区域1130内。通过指向可视信息或通过将可视信息包围在目标区域1120之内,目标区1120就可以识别可视信息。
图11的虚拟放大镜包括线1122和线1124。线1122和线1124可以为不透明的、透明的、或混合透明的(alpha blended)。由线1122、透镜区域1130、线1124限制的区域可以是不透明的、透明的、或混合透明的。在特定实施例中,线1122和线1124可以为透明的,并且由线1122、透镜区域1130、线1124、以及目标区域1120限制的区域可以为透明的,以有利地允许摄影者在透镜区域1130中以最小化显示1100被遮盖的数量的方式观看由目标区1120所识别可视信息。
图10是示出了根据本发明的一个实施例的使用虚拟放大镜的步骤的流程图。在图10的步骤1010中,在显示器上的第一有界的区域中,显示了包围在显示器上的第二有界区域内的可视信息的不同的视觉描述。第一有界区域和第二有界区域被包围在第三有界区域内。该第一有界区域对应于透镜区域1130,第二有界区域对应于目标区域1120,并且第三有界区域对应于显示1100。
目标区域1120和透镜区域1130都可以具有任意形状和大小(包括圆形)。在本发明的一个实施例中,目标区域1120和透镜区域1130形状相同。在本发明的另一个实施例中,目标区域1120和透镜区域1130形状不同。目标区域1120和透镜区域1130其每个都可以具有不透明的边界、透明边界、或混合透明边界。正如本文所使用的,混合透明的物体如此被部分透明地显示。
在本发明的一个实施例中,可以实现目标区域1120使得目标区域1120描绘将在透镜区域1130中观看的区域的轮廓,而不遮盖该区域,例如具有不透明边界和透明中心的圆。在另一个实施例中,使用可移动视觉指示器(例如箭头或十字准线)来实现目标区域1120。由目标区域1120识别的可视信息,会至少部分地被可移动视觉指示器遮盖,除非可移动视觉指示器是透明混合的。因此,在这样的实施例中,通过使用透明混合使可移动视觉指示器部分透明是有利的。
存在于透镜区域1130的图像的可视信息的显示图像分辨率可能不同于那个图像的文件图像分辨率。在一个实例中,图像的显示图像分辨率可相对于那个图像的文件图像分辨率为放大的。在另一个实例中,可以基于存储的图像来生成图像1100,图像1100能够以比图像1100的文件图像分辨率低或高的分辨率显示在显示1100上,并且透镜区域1130可以与图像1100的文件图像分辨率相同的分辨率来描绘可视信息。在该实例中,用户可以观看位于对应于图像1130的精确分辨率的透镜区域1130中的可视信息。在另一个实例中,透镜区域1130能够以比图像1100的文件图像分辨率更高的分辨率来描绘可视信息。
用户可以配置虚拟放大镜以便按不同级别的分辨率来显示可视信息。例如,用户可以配置虚拟放大镜来以比图像1100高或低的分辨率显示可视信息,以与图像1110的分辨率相同的分辨率描绘可视信息。在另一个实例中,用户可以配置虚拟放大镜,以与图像1110相同的分辨率来显示可视信息,以比图像1110高的或低的分辨率来描绘可视信息。
当用户将目标区域1120从以第一分辨率显示的第一区域移动到以不同于第一区域的分辨率显示的第二区域时,目标区域1120的大小就发生改变而并未改变显示在透镜区域1130中的可视信息的放大级别。当目标区域1120识别图像的一部分而该图像中的与该部分相关的可视信息被显示在透镜区域1130内时,如果透镜区域1130能够描绘的可视信息的数量发生改变(例如,目标区域1120在比前一区域的分辨率更低的分辨率的区域上移动),则目标区域1120的大小就将发生改变(这是因为由目标区1120包围的可视信息被描绘在透镜区域1130中),以识别可由透镜区域1130描绘的可视信息的新区域。
另外,目标区域1120的尺寸大小可保持固定,而透镜区域1130尺寸大小可发生改变,以成比例对应(account for)可由透镜区域1130描绘的可视信息的数量变化。例如,如果目标区域1120在比前一区域更低的分辨率的区域上移动,则目标区域1120的尺寸大小仍然保持固定,但是透镜区域1130的尺寸将收缩,以成比例对应被描绘的可视信息所减小的数量。因此,当移动目标区域1120以便按与先前识别的分辨率不同级别的分辨率来识别可视信息的一部分时,目标区域1120或透镜区域1130的大小就可改变,以成比例对应可由透镜区域1130描绘的可视信息的数量变化。
自动方位调整在图10的步骤1020中,当用户在显示1100内移动目标区域1120时,透镜区域1130的方位就可相对于目标区1120而发生变化。执行步骤1020以确保透镜区域1130总显示在显示1100上。
图12是根据本发明一个实施例的改变虚拟放大镜在显示器1200上的方位的描述。如图12所示,响应于用户移动目标区域1120的位置,数字图像系统使透镜区域1130从位置1140移动到位置1142。用户可以通过多种机构(例如,输入装置2014和光标控制器2016)将用户输入提交给数字图像系统,来移动目标区域1120的位置。
数字图像系统维护描述目标区域1120和透镜区域1130的位置的数据。用户可以通过使用输入装置2014和/或指针控制器2016而将用户输入提交给数字图像系统来使目标区域1120在显示1100上移动。透镜区域1130根据目标区域1120来移动,例如,若将目标区域1120在显示器上向左移动两英寸,则透镜区域1130在显示器上就被向左移动两英寸。当数字图像系统检测到用户已经提交了包括用于改变目标区域1120的位置指令的用户输入时,则数字图像系统(a)更新描述目标区域1120的位置的数据以反映由用户输入识别的位置,并且(b)更新目标区域1120的显示以反映新位置。类似地,当透镜区域1130被数字图像系统所移动时,则数字图像系统(a)更新描述显示器1200上的透镜区域1130的位置的数据,并且(b)更新显示1200以反映透镜区域1130的新位置。
在本发明的实施例中,数字图像系统确保透镜区域1130总是在显示器上可见的,而不管目标区域1120位于显示器上何处。当数字图像系统检测到目标区域1120正接近显示1100的边缘时,数字图像系统就确定透镜区域1130是否比目标区域1120更靠近显示1100的边缘。如果透镜区域1130比目标区域1120更靠近显示1100的边缘,则数字图像系统(a)改变显示器上的目标区域1120和透镜区域1130之间的方位,以使得目标区域1120比透镜区域1130更靠近显示1100的边缘,并且(b)更新描述透镜区域1130的位置的数据以反映透镜区域1130的新位置。在透镜区域1130的方位正在变化的同时,透镜区域1130继续描绘图像1110的同一可视信息。通过相对于目标区域1120而改变透镜区域1130的方位,数字图像系统就确保透镜区域1130总是在显示器上可见的。
在一个实施例中,通过(a)在透镜区域1130和目标区域1120之间保持恒定距离,以及(b)相对于目标区域1120改变透镜区域1130的方位以和显示器1200的中心对齐,例如,图12所示,透镜区域1130被从位置1140移动到位置1142,数字图像系统就确定出透镜区域的新位置应该在哪里。
在另一个实施例中,数字图像系统使用多个子区域确定透镜区域的新位置应该在哪。数字图像系统对将显示1200分割成多个子区域的数据进行维护,例如,图12所示,数字图像系统可以保存将显示器1200分割成四个子区域的数据。每个子区域的分割不需要被可视地呈现给用户。数字图像系统通过基于目标区域1120位于显示1100的哪一个子区域来确定目标区域1120和透镜区域1130之间的方位而执行步骤1020。当数字图像系统改变目标区域1120和透镜区域1130之间的方位时,数字图像系统就在目标区域1120和透镜区域1130之间保持相同的距离。
当数字图像系统确定透镜区域1130应该改变方位时,数字图像系统就改变透镜区域1130的方位以指向与透镜区域所处的子区域相关的特定方位。例如,无论何时透镜区域1130改变子区域1中的方位,数字图像系统都可改变透镜区域1130的方位以使得透镜区域1130或多或少地位于目标区域1120的东南方位。如图12所示,当透镜区域1130位于子区域1中,在透镜区域1130改变方位时,就旋转透镜区域1130使得透镜区域1130或多或少位于目标区域1120的东南方位以确保透镜区域1130被完全描绘在显示器1200上。
在另一个实例中,无论何时透镜区域1130在子区域2中改变方位时,数字图像系统就可改变透镜区域1130的方位,以使得透镜区域1130或多或少地位于目标区域1120的东北方位。在另一个实例中,无论何时透镜区域1130在子区域3中改变方位,数字图像系统都可改变透镜区域1130的方位,以使得透镜区域1130或多或少地位于目标区域1120的西南方位。在另一个实例中,无论何时透镜区域1130在子区域4中改变方位,数字图像系统都可改变透镜区域1130的方位,以使得透镜区域1130或多或少的位于目标区域1120的西北方位。有利的是,本发明实施例为相对于目标区域1120而旋转透镜区域1130的方位以确保透镜区域1130被完全描绘在显示1100上做好了准备。因此,无论何时透镜区域1130可能在显示1100上被遮盖时,例如当透镜区域1130被显示1100的边界部分遮盖的时候,透镜区域1130都可相对于目标区域1120改变方位以确保透镜区域1130被完全描绘在显示1100上。
本发明的其他实施例可以采用与上述的方法不同的方法以确定透镜区域1130相对于目标区域1120应该被旋转到哪里。
通过在一段时间内逐渐描绘透镜区域1130穿越一个或多个中间位置而从第一位置(位置1140)到第二位置(位置1142)的移动,就可以执行步骤1020。因此,用户能够可视地断定透镜正在被旋转以提供透镜区域1130的无遮盖的视图,这就避免用户在显示器1200上突然移动图像时搞不清方位。
透镜区域1130可以显示由目标区域1120识别的任何视觉信息,并且目标区域1120可以被定位于显示器上的任何位置。例如,目标区域1120可以被定位于浮动控制器(下面更详细描述)上,以使透镜区域1130显示所显示在浮动控制器上的图像的可视信息。
目标区域1120可以被定位于显示在显示器上的任何可视信息上。例如,目标区域1120可以被定位于显示在显示器上的缩略像上或在显示在工具栏上的缩略像上,例如下面描述的浮动控制器1310。当目标区域1120识别与缩略像相关的可视信息时,透镜区域1130显示关于缩略像的可视信息。例如,摄影者可以将目标区域1120定位在显示在显示器上的缩略像之上。此后,摄影者可以通过观察透镜区域1130来以文件图像分辨率检查缩略像的可视信息。这样,即使缩略像以比文件图像分辨率更低的级别的分辨率被显示,摄影者也能够以准确的分辨率来观看缩略像的数字图像,其中,数字图像就是以该分辨率存储的。
使用浮动控制器显示图像本发明一个实施例的数字图像系统可以被用于使用浮动控制器显示一个或多个数字图像。图13是根据本发明一个实施例的具有浮动控制器1310的显示器1300的图示。数字图像系统可以存储描述如何将浮动控制器1310呈现在显示器1300上的数据。用户可以选择一个或多个在浮动控制器1310上所显示的图像以将其显示在显示器1300上。例如,图13所示,浮动控制器1310能够以其中两个图像(图像1322和图像1324)并排显示在显示器1300上以有助于比较的某一比较模式运行。当浮动控制器1310正运行于比较模式时,两个被显示的图像中的一个图像就保持固定(例如,图像1324),同时用户可以将用户输入提交给数字图像系统以使得数字图像系统把其他图像(例如,图像1322)的显示改变成不同图像。这样,用户可以将图像1324与显示在由图像1322占据的位置上的多种图像进行比较。
浮动控制器1310也可以运行于堆栈模式。堆栈模式类似于比较模式,(两个图像显示在显示器上,其中,可以将在第一位置的图像中的一个与在第二位置的、一次一个地显示的多个图像进行比较)——除了未移动的图像是组、堆栈、或版本集的精选图像,以及属于组、堆栈、或版本集的正在被比较的其它图像。堆栈模式也可以被用于选择组、堆、或版本集的新的精选图像。
如果不是浮动控制器1310能够显示的所有图像都显示在浮动控制器1310上,则用户可以通过位于浮动控制器1310上的控件(control)将用户输入提交给数字图像系统,使得数字图像系统滚动图像,以便于用户观看浮动控制器1310能够显示的所有图像。
浮动控制器1310不需要具有靠近显示器1300的任何边界的任何边界。例如,用户可以使浮动控制器1310被显示在显示器1300上的任何位置(包括其中浮动控制器1310不靠近显示器1300的任何边界的位置,或者,不靠近任何屏、窗口、或应用程序的任何边界或不与任何屏幕、窗口、或应用程序的任何边界相关,而显示在显示器1300上)。浮动控制器1310也可以被定位于显示器1300上的一个或多个图像上。例如,浮动控制器1310可以整体或部分地遮盖图像1322和图像1324这两者中的一个或多个。
用户可以将浮动控制器1310定位在显示器1300上的任何地方,包括不同的方位(例如水平或垂直的)。用户可以使浮动控制器1310垂直地显示在显示器1300上,而不是如图13所示的水平的这样。浮动控制器1310可以由用户从垂直方位到水平方位,或者从水平方位到垂直方位进行旋转。在本发明的一个实施例中,如果浮动控制器1310被拖到显示器1300的边界附近,则可以自动调整浮动控制器1310的方位以对应于显示器1300的边界的方位。例如,如果浮动控制器1310当前被垂直显示,并且用户在显示器1300的水平边界的可配置的距离内拖动浮动控制器1310,则浮动控制器1310就可被自动地水平显示在显示器1300上。浮动控制器1310的大小也可以由用户进行配置。
当数字图像系统接收指示了浮动控制器1310的大小、形状、方位、或位置将被改变的用户输入时,数字图像系统(a)更新描述浮动控制器1310的大小、形状、和方位的数据来反映所述用户输入,以及(b)更新显示器1300,以如在所接收的用户输入中所指示的来反映浮动控制器1310的新的大小、形状、方位、或位置。
显示和隐藏浮动控制器的显示在本发明的一个实施例中,只要显示在显示器1300上的、由用户输入装置控制的指针位于浮动控制器1310之上,就持续显示浮动控制器1310。用户可以使用输入装置2014或光标控制器2016来移动显示器1300上的指针的显示。数字图像系统存储并更新描述显示器1300上的指针的当前位置的数据。
当指针被移出浮动控制器1310时,空闲期就被跟踪。空闲期是其中任何类型的用户输入都没有被接收到的时期,例如,没有通过输入装置2014或光标控制2016的输入被接收到。如果,当指针离开浮动控制器1310时,空闲期超过预定的阈值持续时间,则浮动控制器1310就被隐藏(浮动控制器1310不再显示在显示器1300上)。预定阈值持续时间可以由用户使用显示在浮动控制器1310上的控件进行配置。如果在空闲时期,浮动控制器1310被隐藏了,则响应于空闲期的结束,浮动控制器1310就被重新显示在显示器1300上。
将组、堆栈、或版本集中的图像显示在浮动控制器上序列中的图像可以被显示在浮动控制器1310上。如果一个图像与另一个图像具有关联,例如,两个图像都属于堆栈、组、或版本集,则数字图像系统可将视觉指示器显示在显示器1300上,来为用户标识此关联。例如,数字图像系统在图像1320、图像1322、和图像1324之间显示视觉指示器,以及在图像1326、图像1328、和图像1330之间显示视觉指示器。在另一个实施例(未描述)中,不同的视觉指示器可被用于组、堆栈、或版本集以使得用户能够在其每个都具有视觉指示器的一图像集之间标识特定的关联(标识关联是组、堆栈、还是版本集)。
用户可以选择显示在浮动控制器1310上的图像序列中的一个图像。在一个实施例中,当用户选择显示在浮动控制器1310上的图像序列中的新图像时,数字图像系统就可以将图像序列的显示集中(center)到在浮动控制器1310上被选择的图像上。在另一实施例中,当用户选择在浮动控制器1310上所显示的图像序列中的新图像时,数字图像系统就可以将图像序列集中到与所选择的图像相关的组、堆栈、或版本集上。在另一个实施例中,当用户选择所选择的图像时,如果所选择的图像位于与先前所选择的图像相同的组、堆栈、或版本集中,则数字图像系统就不将图像序列的显示集中到所选择的图像上。例如,如果选择了图像1322,并且此后,用户使图像1324被选中,则数字图像系统将不会把图像序列的显示集中到图像1324上。另一方面,如果选择了图像1324,并且此后,用户使图像1326被选中,则数字图像系统就使图像序列的显示被集中于图像1326或组、堆栈、或包含图像1326的版本周围。
通过浮动控制器使用额定值浮动控制器1310可以包含额定值控件1350。用户可以配置额定值控件1350以传送将额定值分配给在浮动控制器1310上所显示的每个图像的用户输入。当用户把用户输入传送到将额定值与特定图像相关联的数字图像系统时,数字图像系统就把标识特定图像的额定值的数据存储起来。分配给特定图像的额定值可以为额定值序列中的一个。用户可以基于不同的标准(例如,他或她有多喜欢或多不喜欢特定图像)来分配额定值。
用户可以配置浮动控制器1310以把符合或超过指定的额定值的图像显示在显示器1300上。用户可以通过浮动控制器1310上所显示的额定值控件1350将用户输入提交给数字图像系统,以使被分配了至少与用户输入中指定的额定值一样高的额定值的图像被显示在显示器1300上。作为响应,数字图像系统至少部分基于特定额定值、额定值序列、以及分配给多个图像中的每个图像的额定值,来选择图像的子集。无论何时用户使浮动控制器1310被显示,数字图像系统也都可以选择图像的子集。
在数字图像系统确定了哪些图像被分配了符合或超过特定额定值的额定值后,那些图像就可以被显示在显示器1300上。在另一个实施例中,用户可以使用浮动控制器1310,以只把被分配了正好与指定的额定值相同的额定值的那些图像显示在显示器1300上。在其他实施例中,用户可以使用浮动控制器1310,以只把被分配了符合由用户通过配置额定值控件1350所指定的一组标准的额定值的那些图像显示在显示器1300上。
额定值控件1350使用户能将用户输入提交给数字图像系统以改变当前分配给图像的额定值。当数字图像系统接收到指定分配给图像的额定值将被改变到新值的用户输入时,数字图像系统就更新数字图像系统存储的、描述那个图像的额定值的数据,以反映该新值。如果改变了特定图像的额定值,则,若新额定值不符合当前在显示器1300上所显示的那些图像的标准,就可将特定图像从在显示器1300上所显示的一图像集中除去。
在本发明的一个实施例中,无论何时开始执行浮动控制器1310,用户都可以根据特定的额定值集合来配置浮动控制器1310以显示一个或多个图像。例如,当数字图像系统最初执行浮动控制器1310的时候,浮动控制器1310就可以显示对应于指定的一组额定值的一个或多个图像。
使用浮动控制器搜索图像浮动控制器1310也包括搜索控件1360,其可被用户配置以将用户输入提交给数字图像系统来使数字图像系统搜索多个图像而确定多个图像中哪一个与包含在用户输入中的一个或多个搜索术语相关。由数字图像系统存储的每个图像都可以自动地与可为一个或多个搜索术语的主题的信息相关。例如,关于数字图像系统可用的每个图像的信息(例如,创建日期、图像大小、创建该图像的应用程序)可通过数字图像系统自动地与图像相关。可以通过用户配置搜索控制器1360以将用户输入提交给数字图像系统以使数字图像系统将信息(例如,标题、图像的描述、或图像的用途)与图像相关,从而使其他信息与每个图像相关。
用户可通过配置搜索控制器1360来将用户输入提交给数字图像系统,以确定多个图像中哪些图像对应于包含在用户输入中的多个搜索术语。在接收到用户输入时,数字图像系统就确定哪些图像对应于多个搜索术语。此后,对于对应于多个图像中的至少一个图像的多个搜索术语中的每个搜索术语,数字图像系统在显示器1300上都显示一个图像,该图像指示对应于所述多个图像中至少一个图像的多个搜索术语中的特定搜索术语。例如,若用户想要对两个搜索术语(即大小和创建日期)进行搜索,并且只有创建日期搜索术语已产生匹配,则数字图像系统就显示与创建日期搜索术语相关的图像。
用户可以选择与搜索术语相关的任何显示的图像,以观看与那个搜索术语相关的搜索结果。例如,若用户选择了在显示器上所显示的创建日期搜索术语图像,则数字图像系统就呈现已与创建日期搜索术语相匹配的那些图像。
显示图像序列浮动控制器1310可以显示有界的图像序列。可显示在浮动控制器1310上的、有界的图像序列可以包含比能够同时被显示在浮动控制器1310上的图像更多的图像。因此,浮动控制器1310可以包含使用户能够滚动显示在浮动控制器1310上所显示的图像的控件。
在浮动控制器1310上所显示的有界的图像序列可用向用户指示有界的图像序列是位于开头还是位于结尾的方式,或者可用有界的序列中的额外的图像是否可通过进一步沿着一个方向或沿着另一个方向滚动而被显示的方式,可视地进行描绘。在本发明的一个实施例中,当有界的序列中的图像位于有界的图像序列的开头或结尾时,则那个图像可以被无修改地完全描绘。在另一方面,当有界的序列中的图像并不位于有界的图像序列中的开头或结尾时,则该图像可以通过修改而被描绘,例如,图像可以被部分变暗地显示。
图14是根据本发明一个实施例的有界的图像序列的图示1400。当图14的有界的图像序列中的多个图像被显示在浮动控制器1410上时,图像序列就不需要被显示在浮动控制器上。图像1420-1432属于有界的十个图像的一序列,其中,图像1420、1422、1424、1426、1428、1430、以及1432(全部或部分)被显示在图14的浮动控制器1410上,并且其中,图像1434、1436、以及1438未被显示在浮动控制器1410上。图像1420是有界的序列的开始,而图像1438是有界的序列的结尾。
在某些情况下,数字图像序列可以使图像不同地呈现在显示器上。当有界的图像序列中所描绘的图像是第一个或最后一个被显示的图像时,并且该图像位于有界的图像序列的开头或结尾,则可以无修改地完全描绘该图像以发送信号通知观察者该图像位于有界的图像序列的开头或结尾。图像1420被无修改地完全描绘,从而通知观察者图像1420是有界的图像序列的开头。当有界的图像序列中被描绘的图像是第一个或最后一个显示的图像时,且该图像并不位于有界的图像序列的开头或结尾,则可以使用视觉指示器描绘该图像,以发送信号通知视图该图像不位于有界的图像序列的开头或结尾。使用视觉指示器1440来描绘图像1432以通知观察者图像1432不位于有界的图像序列的结尾。能够以多种不同的方式可视地描绘视觉指示器1440,例如,通过遮蔽图像的一部分、通过包括靠近图像的阴影、通过改变图像的颜色以及包含标签、图标、或图像内容,来进行。
随着用户滚动有界的图像序列,视觉指示器1440就可被更新。当用户滚动有界的图像序列时,至少第一图像中的一部分就被停止显示。同时,第二图像中的先前未被显示的一部分被显示出来。然后,视觉指示就被显示,其指示显示先前未显示的那部分是否完全显示了对应于有界的序列中的特定位置处的一个项目的视觉描绘。在本发明的一个实施例中,特定位置是有界的图像序列的开头或结尾。在本发明的其他实施例中,特定位置包括了除有界的图像序列的开头或结尾以外(例如,位于有界的图像序列中间的那个图像)的另一个位置。
由于有界的图像序列能够以多种不同的方式(例如,水平或垂直的)呈现给用户,取决于有界的图像序列如何被显示,用户就可以水平地或垂直地滚动有界的图像序列。
在一个以上的显示器上显示图像本发明的一个实施例的数字图像系统可以被用于在一个以上的显示器上显示图像。图15是根据本发明一个实施例的数字图像系统1500的框图,该系统可以用于在一个以上的显示器上显示图像。数字图像系统1500包括计算机系统1510、初级显示装置1520、次级显示装置1530、1532、以及1534。虽然图15中只示出了三个次级显示装置,但是数字图像系统1500可以包括任意数量(包括一个或多个)的次级显示装置。可以使用能够使数字图像被显示在初级显示装置1520和每个次级显示装置之上的任何部件来实现计算机系统1510。可以使用能够显示数字图像的任何部件(例如CRT或投影仪)来实现初级显示装置1520和每个次级显示装置1530、1532、和1534。
在计算机系统1510的初级显示装置1520上,计算机系统1510生成显示。如果计算机系统1510处于第一模式,则在次级显示装置1530、1532、和1534上,计算机系统1510生成与同时被显示在初级显示装置1520上的显示相同的显示。另一方面,如果计算机系统1510处于第二模式,则在次级显示装置1530、1532和1534上,计算机系统1510生成与同时被显示在初级显示装置1520上的显示不同的显示。
用户可将用户输入传送到计算机系统1510以在第一模式和第二模式之间切换计算机系统1510。用户可通过多种机构(例如输入装置2014和光标控制器2016)以将用户输入提交给数字图像系统。用户可能希望在第一模式和第二模式之间切换,以帮助将素材呈现给次级显示装置1530、1532、和1534的观察者。
在本发明的一个实施例中,当计算机系统处于第二模式时,在初级显示装置上所生成的显示就包括图形用户界面对象,例如浮动工具栏,其未被显示在一个或多个次级显示装置1530、1532、和1534上。图形用户界面对象具有控件,该控件用于选择什么应该被显示在所述的一个或多个次级显示装置上。
在格中滚动图像本发明的一个实施例中的数字图像系统可用于,当滚动被排列成一组行或列的图像序列的数字图像时,自动地提升格中的一个或多个行或列。图16是根据本发明一个实施例来显示被排列成一系列行的数字图像序列的显示1600的图示。显示1600所定的大小是为了使得一次只有两行可以被可视地呈现在显示1600上。因此,只有在行2和行3中的图像被显示在显示1600上。行1和行4当前未被显示在显示1600上。
用户可以水平地(从列到列地)或垂直地(从行到行地)滚动数字图像序列。在图16的显示1600中,用户垂直地(行到行地)滚动图像序列,这是由于每列中的每个图像都可以被显示在显示1600上,但并不是图像序列中的图像的所有行都可以被一次显示在显示1600上。当用户水平或垂直地滚动图像格的时候,下面描述的技术是可适用的。因此,下面的方法将依据一排图像(其为垂直或水平在显示器上对齐的图像)进行论述。例如,行1、行2、行3、列1、列2、和列3,其每个都是一排图像。
在本发明的一个实施例中,所显示的、来自图像序列的一图像集在显示器视图上被显示给用户。例如,行2和行3被显示在显示1600上,而图像序列(即,图像1602-1640)的部分中的、行2和行3中的多个图像也就被显示在显示1600上。图像序列包括一个或多个未被显示的图像,例如行1和行4中的图像,其没有被显示出来。
用户可以通过输入装置2014和/或从该组显示的图像(行2和行3中的图像)选择特定图像的光标控制器2016而将用户输入提交给数字图像系统。例如,用户输入可以由选择图像1614的数字图像系统接收,其中图像1624先前已被选中。
响应于接收了选择新近被选择的图像的用户输入,数字图像系统就确定在被显示的一图像集中的包含新近被选择的图像的那排之前的排的数量是否小于第一预定阈值。第一预定阈值是将被显示(如果可行的话)在包含新近被选择的图像的排之前的排的可配置的数量。数字图像系统对标识第一预定阈值的数据进行维护。用户可以将用户输入提交给数字图像系统以更新第一预定阈值来反映新的排数。
如果数字图像系统确定在所显示的一图像集中的包含新近被选择的图像的那排之前的排的数量小于第一预定阈值,则数字图像系统就显示在所显示的一图像集之前的一排未被显示的图像,而停止显示在新近被选择的图像之后的一排被显示的图像。在该实例中,如果选择了图像1614的用户输入被接收到,并且如果预定阈值指示一排图像将被显示(如果可行的话)在包含所选择的图像的那排(在该实例中,行2)之前,则数字图像系统就显示在包含所选择的图像1614的排之前的额外一排的图像,例如数字图像系统将在显示1600上显示行1,而停止在显示1600上显示行3。
此外,响应于接收选择新近被选择的图像的用户输入,数字图像系统确定在显示的一图像集中的包含新近被选择的图像的那排之后的排的数量是否小于第二预定阈值。第二预定阈值是将被显示(如果可行的话)在包含新近被选择的图像之后的排的可配置数量。数字图像系统对标识第二预定阈值的数据进行维护。用户可以将用户输入提交给数字图像系统以更新第二预定阈值来反映新的排数。
如果数字图像系统确定在所显示的一图像集中的包含新近被选择的图像的那排之后的排的数量小于第二预定阈值,则数字图像系统显示被显示的一图像集之后的一排未被显示的图像,而停止显示在新近被选择的图像之前的一排被显示的图像。举例来说,如果接收到选择图像1624的用户输入,并且如果第二预定阈值指示至少一排图像将被显示(如果可行的话)在包含新近被选择的图像的那排之后,那么,就可以显示在所选择的图像1624之后的额外的一排图像(行4),并且可以停止显示一排图像(行1)。
新近被选择的图像不必位于紧临新添加的排的那排之中。举例来说,如果新近被选择的图像是图像1614,并且如果第一预定阈值是三排,那么,如果没有三排被显示在新近被选择的图像之前,则可由数字图像系统将三排添加进该显示器。
在本发明的一个实施例中,在一排图像已被添加到所显示的一图像集后,除了被停止显示的那排以外的被显示的图像所有排都被移位,以便为新近被显示的排腾出位置。举例来说,如果将一排图像添加到所显示的一图像集(行4),并且停止显示行2,则可位移行3以容纳额外的行4。
在本发明的一个实施例中,可以依据在一排中的图像数量而不是排的数量来表示第一预定阈值和第二预定阈值。例如,在该实施例中,响应于接收了选择新近被选择的图像的用户输入,数字图像系统确定(a)在所显示的一图像集中的新近被选择的图像之前的图像的数量是否小于第一预定阈值,以及(b)在所显示的一图像集中的新近被选择的图像之后的图像的数量是否小于第二阈值。
散开或重新堆积一堆图像本发明实施例的数字图像系统可以被用于,当一组数字图像中的一个或多个以遮盖方式被显示在显示器上时,观看未被遮盖的一组数字图像中的每一个。例如,若数字图像的一部分位于另一个数字图像之后,则在显示器上被显示的数字图像就可能被遮盖。图17是示出了根据本发明一个实施例的以未遮盖方式观看一组数字图像系统中每个图像的步骤的流程图。在步骤1710中,一堆图像被显示在显示器上。该堆图像包括多个被排列成第一排列的多个图像,其中,该堆中至少一个图像与该堆中至少一个其他图像交叠。数字图像系统可通过在显示器上显示该堆图像来执行步骤1710。在步骤1710中被显示的该堆图像可从由数字图像系统存储的多个图像中生成出来。
图18是根据本发明一个实施例显示其中一图像集中至少一个被至少部分地遮盖的该图像集的第一显示1800的图示。图18的显示1800可在执行步骤1710之后产生。当被显示在显示1800上的、该堆图像中的大多数图像与另一个图像交叠时,步骤1710中被显示的该堆图像中的任何数量的图像都可被部分遮盖或可以与另一个交叠。在执行步骤1710之后,处理过程继续进行到步骤1720。
在步骤1720中,对指示第一排列中的每个图像的位置的位置数据进行存储。位置数据可以由数字图像系统进行存储。在执行步骤1720之后,处理过程继续进行到步骤1730。
在步骤1730中,当该堆中的多个图像以步骤1710的第一排列被显示时,响应于接收第一组用户输入,无需改变位置数据,属于该堆图像的图像就由数字图像系统以第二排列显示在显示器上。第二排列显示该图像集中的每个图像,而未使该图像与该图像集中的另一图像交叠。
图19是以可在执行步骤1730之后产生的未遮盖的方式显示图18中该图像集的第二显示1900的图示。可以使用各种算法确定第二排列,确定向哪里移动每个图像以使该图像集中的每个图像不与该图像集中的另一图像相遮盖或交叠,例如,每个图像所经历的移动量就可被最小化。用户可以移动第二排列的任何图像(例如,通过对其拖和放);然而,移动图像导致位置数据被更新以反映图像的新位置。在执行步骤1730之后,处理过程继续进行到步骤1740。
在步骤1740中,当该堆中的多个图像以第二排列被显示时,响应于接收第二组用户输入,基于位置数据,数字图像系统就将该堆图像以第一排列显示在显示器上。作为执行步骤1740的结果,如图18所示,该堆图像将在显示器上被可视地描绘。
这样的实施例有利地使得用户能够无需移动堆中的任何图像而观察该堆中的每个图像。因此,即使图像的显示短暂地被其他图像遮盖,由于用户可以可视地断定每个图像的性质,所以用户可以更自信地管理一组被显示的图像。
实施机构可以使用计算机系统来实施一个实施例的数字图像系统。图20是示出了在其上可以实施本发明实施例的计算机系统2000的框图。如下面更详细地解释的,用户可以使用计算机系统2000来观看显示器2012上的数字图像、将数字图像存储在存储装置2010中、并且与显示器2012、与输入装置2014或光标控制器2016交互。计算机系统2000包括用于传递信息的总线2002或其它通信装置,以及用于处理信息的与总线2002连接的处理器2004。计算机系统2000还包括诸如随机存取存储器(RAM)或者其它动态存储装置的主存储器2006,其连接至总线2002用于储存信息和将由处理器2004执行的指令。在执行将由处理器2004执行的指令期间,主存储器2006还可用于储存临时变量或其他中间信息。计算机系统2000进一步包括连接至总线2002的只读存储器(ROM)2008或其他静态存储装置,用于存储静态信息和用于处理器2004的指令。提供诸如磁盘或光盘的存储装置2010,并连接至总线2002用于存储信息和指令。
计算机系统2000可以经由总线2002连接至诸如阴极射线管(CRT)、计算机监视器、网页、或任何图形界面的显示器2012,用于向计算机用户显示信息。包括字母数字和其他键的输入装置2014连接至总线2002,用于将信息和指令选择传递到处理器2004。另一种类型的用户输入装置是光标控制器2016,诸如鼠标、跟踪球、或光标方向键,用于将方向信息和命令选择传递到处理器2004,并用于控制显示器2012上的光标移动。该输入装置通常在两个轴(第一轴(例如X)和第二轴(例如Y))上具有两个自由度,使装置能指定平面内的位置。
本发明涉及用于执行本文中描述的技术的计算机系统2000的使用。根据本发明的一个实施例,通过计算机系统2000响应于执行包含在主存储器2006中的一个或多个指令的一个或多个序列的处理器2004,来实现这些技术。这样的指令可以从诸如存储装置2010的其它机器可读介质读入主存储器2006中。包含在主存储器2006中的指令序列的执行,使得处理器2004执行此处所述的处理步骤。在可选实施例中,可以使用硬连线电路(hard-wired circuitry)来取代软件指令或者与软件指令结合来实施该发明。因此,本发明的实施例将不限于硬件电路和软件的任何特定组合。
这里使用的术语“机器可读介质”是指参与提供数据以使机器以特定方式运转的任何介质。在使用计算机系统2000实施的实施例中,例如,各种机器可读介质被涉及到提供指令给处理器2004以用于执行。这种介质可以采取多种形式,包括但不限于非易失性介质、易失性介质、和传输介质。非易失性介质包括举例来说,诸如存储装置2010的光盘或磁盘。易失性介质包括诸如主存储器2006的动态存储器。传输介质包括同轴电缆、铜线、和光纤(包括构成总线2002的导线)。传输介质还可采取声波或光波形式,例如那些在无线电波和红外线数据通信过程中产生的那些波。
通常形式的机器可读介质包括如软盘、移动盘、硬盘、磁带,或者任何其他磁性介质、CD-ROM、任何其他光介质、打孔纸、纸带、或者任何孔状式样的物理介质、RAM、PROM、EPROM、FLASH-EPROM、或者其他任何存储芯片或者盒式磁带,下文中提到的载波、或者计算机可读的任何其他介质。
各种形式的机器可读介质可涉及将一个或者多个指令的一个或多个序列运送到处理器2004用于执行。例如,指令开始可承载在远程计算机的磁盘中。远程计算机可以将指令加载到其动态存储器中,然后使用调制解调器通过电话线发送指令。计算机系统2000本地的调制解调器可接收电话线上的数据,并使用红外发射器将数据转换成红外信号。红外探测器可以接收红外信号携带的数据,并且合适的电路可以将数据放到总线2002上。总线2002将数据传送到主存储器2006,处理器2004从主存储器2006提取并执行这些指令。在由处理器2004执行这些指令之前或之后,由主存储器2006接收的指令可任选地储存在存储装置2010上。
计算机系统2000还包括连接至总线2002的通信接口2018。连接到与本地网络2022连接的网络链路2020的通信接口2018提供双向数据通信。例如,通信接口2018可以是综合业务数字网(ISDN)卡或者调制解调器,用于提供到相应类型的电话线的数据通信连接。作为另一个实例,通信接口2018可以是局域网(LAN)卡,用于提供至兼容的LAN的数据通信连接。也可以使用无线链路。在任何这样的实施中,通信接口2018发送和接收携带表示各种类型的信息的数字数据流的电信号、电磁信号、或光信号。
网络链路2020通常通过一个或者多个网络向其它数据装置提供数据通信。例如,网络链路2020可通过本地网络2022提供到主机2024的连接,或者到由互联网服务提供商(ISP)2026操作的数据设备的连接。ISP 2026又通过目前通称为“互联网”2028的全球分组数据通信网络提供数据通信服务。本地网络2022和互联网2028都使用携带数字数据流的电信号、电磁信号、或光信号。通过各种网络的信号和网络链路2020上的信号以及通过通信接口2018的信号(其都运送数字数据给计算机系统2000或者运送来自计算机系统2000的数字数据)是传输信息的载波的典型形式。
计算机系统2000能通过网络、网络链路2020、和通信接口2018发送消息和接收数据(包括程序代码)。在互联网的实例中,服务器2030可通过互联网2028、ISP 2026、本地网络2022、和通信接口2018,传输所请求的应用程序代码。
所接收的代码可以在其被接收时由处理器2004执行,并且/或者储存在存储装置2010或者其它非易失性介质中用于以后执行。按照这种方式,计算机系统2000可以获得载波形式的应用程序代码。
在上述的说明书中,已经参照许多随着不同的实施方式而不同的具体细节描述了本发明的实施例。因此,本发明以及申请人所期望的本发明的唯一的和独占的指示是以发布该权利要求的具体形式从该申请所发布的包括任何后续修正的权利要求。此处清楚地阐述的包含在这样的权利要求中术语的任何定义都将规定包含在这些权利要求中的术语的含意。因此,没有在权利要求中明确地阐述的元件、特性、特征、优点或属性不应该以任何方式限制这样的权利要求的范围。因此,说明书和附图应该被看作示例性的而不是限制性的。
权利要求
1.一种机器执行的方法,包括在计算机系统的初级显示装置的一部分上,所述计算机系统生成显示;如果所述计算机系统处于第一模式,则在所述计算机系统的一组一个或多个次级显示装置中的每个次级显示装置上,所述计算机系统在所述次级装置的一部分中都生成与同时正被显示在所述初级显示装置的所述部分中的显示相同的显示;如果所述计算机系统处于第二模式,则在该一组一个或多个次级显示装置中的每个次级显示装置的所述部分中,所述计算机系统都生成与同时正被显示在所述初级显示装置的所述部分中的所述显示不同的显示,其中,当所述计算机系统处于所述第二模式时,在所述初级显示装置上被生成的所述显示对用于选择什么将被显示在所述一个或多个次级显示装置的所述部分上的控件进行显示;以及响应于用户输入,在所述第一模式和所述第二模式之间切换。
2.根据权利要求1所述的方法,其中,所述控件是未被显示在所述一个或多个次级显示装置上的图形用户界面对象的一部分。
3.根据权利要求1所述的方法,其中,每个次级显示装置的所述部分是所述次级显示装置的整个屏幕。
4.根据权利要求1所述的方法,其中,所述初级显示装置的部分是所述初级显示装置的所述整个屏幕。
5.根据权利要求3所述的方法,其中,每个次级显示装置的所述部分是所述次级显示装置的所述整个屏幕。
6.根据权利要求1所述的方法,其中,所述用户输入是从包括下列内容的组中选出的一员一个或多个键击序列、一个或多个鼠标单击序列、光笔的输入、以及触摸屏的输入。
7.根据权利要求2所述的方法,其中,所述图形用户界面对象是工具栏。
8.根据权利要求1所述的方法,其中,所述初级和次级显示装置是CRT。
9.根据权利要求1所述的方法,其中,所述初级和所述次级显示装置中的至少一个是投影仪。
10.一种机器执行的方法,包括显示来自项目序列的被显示的项目集,所述项目序列包括不属于所述被显示的项目集的一个或多个未被显示的项目;其中,所述被显示的项目集是以包括多个行和多个列的排列并按对应于所述序列的次序而被显示出来的;接收从所述被显示的项目集中选择特定项目的用户输入;响应于所述用户输入,执行以下步骤如果在被显示的项目集中的所述特定项目之前的项目数量小于第一预定阈值,则显示在所述被显示的项目集之前的一排未被显示的项目,并且停止显示在所述特定项目之后的一排被显示的项目。
11.根据权利要求10所述的方法,进一步包括以下步骤如果在被显示的项目集中的所述特定项目之后的项目的数量小于第二预定阈值,则通过显示在所述被显示的项目集之后的一排未被显示项目,以及通过停止显示在所述特定项目之前的一排被显示的项目,来响应于所述用户输入。
12.根据权利要求10所述的方法,其中所述项目序列是图像序列;所述被显示的项目集是被显示的图像集;以及所述未被显示的项目是未被显示的图像。
13.根据权利要求12所述的方法,其中所述图像序列是数字照片序列;所述被显示的图像集是被显示的数字照片集;以及所述未被显示的图像是未被显示的数字照片。
14.根据权利要求12所述的方法,其中,除了被停止显示的那排以外的被显示的图像的所有排都被移位,以便为新近被显示的排腾出空间。
15.根据权利要求12所述的方法,其中,所述特定图像不在紧临所述新添加的排的那排之中。
16.根据权利要求10所述的方法,其中,所述新添加的排是先前未被显示的项目的、新添加的列。
17.根据权利要求10所述的方法,其中,所述新添加的排是先前未被显示的项目的、新添加的行。
18.一种用于管理项目的方法,包括以下步骤显示一堆项目,其中,该堆项目包括被排列成第一排列的多个项目,在该第一排列中,所述堆中的至少一个项目与所述堆中的至少一个其他项目交叠;存储了指示所述第一排列中的每一项目的位置的位置数据;当所述堆中的所述多个项目以所述第一排列来被显示时,就响应于第一用户输入且无需改变位置数据,使属于所述堆的所述多个项目以第二排列来被显示,在所述第二排列中,所述堆中没有项目与所述堆中任何其他项目交叠;当所述堆的所述多个项目以所述第二排列来被显示时,就响应于第二用户输入,而基于所述位置数据以所述第一排列重新显示该堆项目。
19.根据权利要求18所述的方法,其中,该堆项目是一堆图像。
20.根据权利要求19所述的方法,其中,该堆图像是一堆数字照片。
21.根据权利要求18所述的方法,其中,所述以第二排列显示所述多个项目的步骤包括通过一系列中间位置将所述多个项目从它们的第一排列位置移动到它们的第二排列位置以随着时间在一系列位置逐渐显示所述多个项目。
22.根据权利要求18所述的方法,其中,所述以第一排列重新显示所述多个项目的步骤包括通过一系列中间位置将所述多个项目从它们的第二排列位置移动到它们的第一排列位置,随着时间在一系列位置逐渐重新显示所述多个项目。
23.一种承载一个或多个指令序列的计算机可读介质,当所述指令被一个或多个处理器执行时,就导致所述一个或多个处理器执行权利要求1至22中任一项所述的方法。
全文摘要
提供了一种用于在显示器上显示数字图像的方法和装置。包括排列成第一排列的多个图像的一堆图像被显示出来,在该第一排列中,该堆中至少一个图像与该堆中至少一个其他图像交叠。存储了指示第一排列的每个图像的位置的位置数据。当以第一排列显示该堆中的多个图像时,就响应于第一用户输入且无需改变位置数据,而以第二排列显示属于该堆的那些图像,在该第二排列中,该堆中没有图像与该堆中的任何其他图像交叠。当以第二排列显示该堆中的多个图像时,就响应于第二用户输入,基于位置数据来以第一排列重新显示该堆图像。
文档编号G06F3/033GK101036109SQ200580034173
公开日2007年9月12日 申请日期2005年10月4日 优先权日2004年10月6日
发明者兰迪·乌维略斯, 劳伦特·佩罗丹, 达恩·韦洛尼斯 申请人:苹果电脑公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1