用于稳定显示场景输出的技术的制作方法

文档序号:9216818阅读:523来源:国知局
用于稳定显示场景输出的技术的制作方法
【专利说明】用于稳定显示场景输出的技术
[0001]背景
[0002]能够显示各种文本和图形信息(包括图像、文本和视频回放)的计算设备(包括移动设备、便携式设备等等)变得非常流行。例如,许多用户可能喜欢使用计算设备来向他们的朋友放映家庭电影,从因特网播放流送视频或观看直接下载到他们的计算设备的其他视频。然而,这些计算设备一般具有小屏幕尺寸和有限的电池寿命。
[0003]尽管这些及其他固有限制,用户通常要求这样的计算设备能够以高质量形式显示内容而不会损害电池寿命。如此,当用户正在观看信息或显示场景时,由计算设备或用户的运动所导致的摇晃的或抖动的输出一般是不希望的。
[0004]附图简述
[0005]本发明的各实施例作为示例而非限制在各个附图中示出,在附图中类似的参考编号指代类似的元件。
[0006]图1示出了计算系统的示例性实施例。
[0007]图2示出了在视频输出过程中用于帧稳定的第一逻辑流程图的实施例。
[0008]图3A-3D示出了在一个方向上帧调整的实施例。
[0009]图4A-4D示出了在多个方向上帧调整的实施例。
[0010]图5A-?示出了基于特征运动的在一个方向上的帧调整的实施例。
[0011]图6A-6D示出了基于特征运动的在多个方向上的帧调整的实施例。
[0012]图7A-7D示出了基于设备移动的在一个方向上的帧调整的实施例。
[0013]图8A-8D示出了基于设备移动的在多个方向上的帧调整的实施例。
[0014]图9示出了计算设备和设备运动检测的实施例。
[0015]图10示出了计算设备和特征运动检测的实施例。
[0016]图11示出了计算设备和设备和特征运动检测的实施例。
[0017]图12示出了在视频输出过程中用于帧稳定的第二逻辑流程图的实施例。
[0018]图13示出了计算设备的实施例。
[0019]图14示出了第一计算架构的实施例。
[0020]图15示出了计算设备的实施例。
【具体实施方式】
[0021]各实施例一般涉及对于显示设备上的显示场景的输出进行帧调整,以补偿计算设备、计算设备的用户、用户的特征、或其组合的运动。可能由多种理由导致计算设备、用户等等的运动。例如,计算设备可能安装在小汽车的挡风玻璃上,并可能由于小汽车的移动和弹起而移动。在另一个示例中,用户可能通过握住设备并移动他的或她的手臂,移动计算设备。在另一个示例中,计算设备可能固定于诸如踏车之类的对象上,然而,用户可能在踏车上移动。在某些实施例中,计算设备和用户两者都可能移动。例如,用户可能握住计算设备,移动他的或她的手臂,沿着街道散步。
[0022]在所有这些示例中,输出可能由于计算设备、用户、用户的眼睛等等的运动,显得摇晃、抖动、无法观看。如此,各实施例涉及调整输出的显示场景帧,以补偿上文所描述的运动中的任何一种。此外,显示场景可以包括任何类型的输出,诸如视频输出流、文本输出、图像输出、图形输出、网页输出等等。各实施例不仅限于此,显示场景可以输出可以显示在显示设备上的任何类型的信息。
[0023]进一步,此处所描述的各种技术涉及当呈现在计算设备的显示组件上时调整显示场景帧的位置或尺寸。位置和尺寸可以在任何方向上调整,并可以基于计算设备、用户、用户的眼睛等等的检测到的运动。例如,计算设备可以包括检测并捕捉用户和用户眼睛的移动的图像信息的相机组件。相机组件可以捕捉图像信息,并向计算设备的一个或多个其他组件发送信息,供进一步处理。在各实施例中,可以对图像信息应用一个或多个图像稳定和特征跟踪算法,以确定用户的运动(无论是计算设备的运动还是用户的运动引起的),确定用户眼睛的焦点并跟踪用户眼睛的移动。如下面比较详细地讨论的,此图像运动信息可以被用来调整一个或多个帧的位置或尺寸,以补偿运动。然而,单独地利用图像稳定和特征跟踪算法来处理图像信息可能是处理密集的,并使用太多电池电量。
[0024]如此,各实施例还可以包括检测计算设备的运动的运动传感器组件。例如,运动传感器组件可以是可以检测设备在任何方向上的运动的惯性传感器,诸如加速度计。此运动信息可以直接用于调整显示场景帧的位置或尺寸。此外,当处理图像信息时,运动信息还可以被用作一个或多个图像稳定和特征跟踪算法的运动估计和起始点。通过使用运动估计作为起始点,由于处理图像信息的较少迭代,可以实现显著的功率和电池节省。通过下列描述,各种细节将变得显而易见。
[0025]一般参考此处所使用的符号和命名法,可以以按照在计算机或计算机网络上执行的程序过程来呈现随后的详细描述。这些过程描述和表示法被所属领域的技术人员用于最有效地将他们的工作实质传递给本领域技术人员。
[0026]过程在本文中一般是指导致所希望结果的自洽的操作序列。这些操作是那些需要对物理量进行物理操纵的那些操作。尽管不是必要的,但通常这些量采用能够被存储、传输、组合、比较以及以其它方式操纵的电和/或磁或光信号的形式。已经证明有时,主要是由于通用的原因,将这些信号称为位、值、元素、符号、字符、项、数字等等比较方便。然而,值得注意的是,所有那些和/或类似的项将与适当的物理量关联,而且仅仅是应用于这些量的方便的标记。
[0027]进一步地,操纵常常以诸如添加或比较(通常与由人类操作员执行的智力操作相关联)之类的术语来引用。然而,在大多数情况下,在构成一个或多个实施例的一部分的本文所述操作中的任何一种操作中,这样的人类操作员的能力不是必须的,或不是需要的。相反,操作是机器操作。用于执行各实施例的操作的有用机器包括通用数字计算机或类似的设备。
[0028]各实施例还涉及用于执行这些操作的设备或系统。可以为所需的用途专门地构建此设备,或者该设备也可以包括由存储在计算机中的计算机程序有选择地激活和/或重新配置的通用计算机。此处所呈现的过程不固有地涉及特定计算机或其他设备。各种通用机器可以与根据此处的教导编写的程序一起使用,或者构建更加专用的设备来执行所需的方法步骤也是比较方便的。根据给定的描述,会呈现这些机器中的各种机器的所需结构。
[0029]图1示出了计算系统100的一般总览,包括用于自适应地稳定显示设备上诸如视频输出流之类的输出的计算设备105。更具体而言,图1示出了计算设备105,包括相机组件102、跟踪组件104、运动传感器组件106、运动补偿组件108和显示组件110。在各实施例中,相机组件102可以接收或检测图像信息120,运动传感器组件106可以接收或检测运动信息130。虽然图1示出了数量有限的组件,但是,各实施例可以具有任意数量的用于视频流输出的帧稳定的组件。进一步,各种组件可以以软件、硬件或其组合来实现。
[0030]在各实施例中,相机组件102可以包括捕捉、接收或检测图像信息(诸如图像信息120)的相机电路。相机组件102可以是任何类型的相机,包括能够捕捉图像信息的静态照片相机和/或视频相机。在某些实施例中,相机组件102可以检测用户的脸和面部特征,诸如用户的眼睛、鼻子、嘴、耳朵等等,图像信息可以包括面部信息。相机组件102可以处理包括面部信息的图像信息,并可以将它发送到计算设备105的其他组件,用于进一步处理。例如,可以将图像信息从相机组件102发送到跟踪组件104,供进一步处理。
[0031]跟踪组件104可以接收图像信息120,并对图像信息应用任意数量的图像稳定算法和特征跟踪算法,以确定计算设备102、用户或两者的运动,并跟踪用户的一个或多个特征。例如,跟踪组件104可以应用参数块匹配法算法、光流估计算法、线性区域匹配算法、灰编码的位平面匹配算法、点到线对应算法、特征跟踪算法、金字塔算法、块匹配法算法或任何其他类型的图像稳定或特征跟踪算法,以确定运动和特征轨迹。
[0032]在某些实施例中,跟踪组件104可以只基于由相机组件102接收到的图像信息120,来确定运动。然而,在相同或其他实施例中,跟踪组件104可以使用来自运动传感器组件106的运动信息,用作到图像稳定或特征跟踪算法的输入,以减少计算系统100计算运动所使用的处理量和能量。更具体而言,当处理图像信息以确定运动时,运动传感器组件106可以被用作算法开始的运动估计。通过使用此运动信息作为起始点,算法可以缩小确定计算设备105、用户或两者的运动所需的迭代数量。
[0033]除确定计算设备和/或用户的运动之外,跟踪组件104还可以接收图像信息,并可以应用特征跟踪算法以跟踪和确定用户的一个或多个特征(诸如用户的眼睛)的运动。另夕卜,特征跟踪还可以被用来确定计算设备和用户在任何方向上的运动。更具体而言,跟踪组件104可以检测表示计算设备、用户或两者已经移动的用户眼睛移位。用户眼睛移位可能由用户试图将焦点维持在计算设备105的显示组件上的显示场景帧中的特定点或对象上所导致。在一个示例中,用户眼睛在一个方向上的移位可能表示计算设备105相对于用户在相反的方向上移动。在此示例中,用户或设备中的任一项可能已经实际移动,并且只有用户和设备之间的相对运动可以基于用户眼睛的特征跟踪而被确定。进一步,用户眼睛的移位可能表示计算设备105和用户两者相对于彼此移动。在此示例中,计算设备105和用户可能在相同方向或在相反的方向上移动,检测到的眼睛移位可能反映这两种运动。
[0034]跟踪组件104还可以能够确定用户的眼睛何时聚焦于显示场景帧的一个区域或根本不聚焦于显示场景帧。例如,跟踪组件104可以确定用户何时聚焦于帧中的特定点,诸如帧中的对象或人或帧中的特定文本段。此外,跟踪组件104还可能能够检测用户何时正在看帧之外的东西,并且不聚焦于计算设备105的显示组件上的信息。跟踪组件104可以将包括跟踪信息的图像运动信息传递到计算系统100的一个或多个组件。图像运动信息可以被用来确定对一个或多个帧的调整,以及用户是否聚焦于显示场景。
[0035]在某些实施例中,计算设备105可以包括确定计算设备105的运动的运动传感器组件106。运动传感器组件106可以是检测计算设备105的运动的任何硬件、软件和/或逻辑。运动传感器组件106可以是检测计算设备105的运动的一个或多个传感器,包括加速度计、陀螺仪、水银开关、微钟摆、惯性传感器或任何其他类型的检测运动的传感器。
[0036]在各实施例中,运动传感器组件106可以被用作确定计算设备105的运动的独立组件,或可以与相机组件102 —起使用,以确定计算设备105和/或用户的运动。运动传感器组件106可以检测计算设备105在任何方向上的空间运动,并可以将运动信息传递到其他组件,诸如跟踪组件104,以在处理图像信息时用作运动估计,并传递到运动补偿组件108,以调整帧,用于在显示组件110上向用户呈现。
[0037]计算设备105还可以包括基于检测到的运动和特征跟踪,调整输出(诸如视频输出流)的一个或多个帧的运动补偿组件108。更具体而言,运动补偿组件108可以基于计算设备105、用户或两者的运动,调整显示组件内的显示场景的一个或多个帧的位置和/或尺寸。进一步,可
当前第1页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1