一种用于促进设备中的视频渲染的方法和装置与流程

文档序号:12810288阅读:249来源:国知局
一种用于促进设备中的视频渲染的方法和装置与流程

本发明一般涉及视频渲染,更加具体地,涉及一种用于促进设备中的视频渲染(render)的方法和装置。



背景技术:

一种非常普遍的视频观看情景是通过用户移动电话或者平板电脑在地铁或者公共汽车上进行的,一些人甚至只在这些公共交通工具上观看视频。这在大城市中是很常见的,比如上海,通常需要花费超过一个小时的上/下班路程时间。然而,许多人抱怨由于持续振动,在地铁或者公共汽车上观看视频并不方便。医生也说如果在公共汽车上长时间观看视频,会有害视力。

在这种环境中,不仅电话或者平板在振动,人体也在振动。在振动的环境下,眼睛没有足够的时间来注视特定的点,并且由于存在视觉残留现象,导致视频帧模糊不清。



技术实现要素:

本发明所要解决的技术问题是改进在振动环境中的用户体验。

本发明说明书包括了用于促进设备中的视频渲染的方法和装置。

根据本发明的第一方面,提供了一种用于促进设备中的视频渲染的方法,该方法包括:

在所述设备的屏幕中获取用户的眼睛注视位置;

基于所述眼睛注视位置,确定用户的眼睛注视在所述屏幕的内部还是在视频帧的边缘;

在确定眼睛注视在所述屏幕的内部的情况下,获取所述设备的运动; 以及

通过基于所述设备的运动在所述设备的屏幕中移动视频帧,来补偿所述设备的运动,以使得所述视频帧相对于用户保持在与运动之前相同或接近相同的位置。

根据本发明的第二方面,提供了一种用于促进设备中的视频渲染的装置,该装置包括:

第一获取部件,被配置为在所述设备的屏幕中获取用户的眼睛注视位置;

处理部件,被配置为基于所述眼睛注视位置,确定用户的眼睛注视在所述屏幕的内部还是在视频帧的边缘;

第二获取部件,被配置为在确定眼睛注视在所述屏幕的内部的情况下,获取所述设备的运动;以及

补偿部件,被配置为通过基于所述设备的运动而在所述屏幕中移动所述视频帧,来补偿所述设备的运动,以使得所述视频帧相对于用户保持在与运动之前相同或接近相同的位置。

在本发明的示例性实施例中,通过利用用户的眼睛注视位置基于设备的运动而在设备的屏幕中移动视频帧,本发明提供的方法和装置可以补偿设备的运动。由此,视频帧将会相对于用户基本上保持在与运动之前相同或接近相同的位置,振动产生的影响被减轻并且在振动环境中的用户体验得以改进。

附图说明

当结合附图阅读时,参照实施例的以下详细描述,将会最佳的理解本发明本身、所采用的优选实施例以及进一步的目标,其中:

图1为说明根据本发明实施例的用于促进设备中的视频渲染的方法的流程图;

图2显示了控制图像重定位以便通过使用运动传感器来减轻设备振动的影响的实例;

图3显示了控制图像重定位以便通过使用运动传感器来减轻设备和人体振动的影响的实例;

图4显示了视网膜中的点的人体视敏度(acuity)的时间关系;以及

图5说明了根据本发明实施例的用于促进设备中的视频渲染的装置的框图。

具体实施方式

本发明的实施例将会参照附图进行详细的描述。说明书中涉及的特征、优点、或者类似语言并非暗示与本发明一起实现的所有特征以及优点均应出现在本发明的一个实施例中。相反,涉及特征以及优点的语言被理解为表示与实施例相关描述的特定特征、优点、或者特性被包含在本发明的至少一个实施例中。进一步地,本发明描述的特征、优点以及特性可以任意合适方式合并在一个或者多个实施例中。相关领域技术人员将会理解无需特定实施例的一个或者多个特定特征或者优点,本发明仍可被实施。在其它情形下,附加特征以及优点可出现在本发明所有实施例中均未出现的特定实施例中。

本发明的基本思想是使用手机或者平板电脑中的传感器来降低振动的影响并优化视频传输资源。本方案包括三个部分:降低设备振动的影响、降低人体振动的影响以及传输资源优化。

首先,我们要降低振动产生的影响。然后,仍有部分振动效果无法消除,我们将视敏度降低。基于此思想,用户观看实时高清(hd)视频期间的传输资源可以减少,这是因为由于振动(例如,无法从标清视频中看出任何差别),用户无需非常高分辨率的视频。因此,环境信息可被发送至视频服务器,以便促进视频编码来节省传输资源。

降低设备振动的影响

如图1所示,本发明提供了一种用于促进设备中的视频渲染的方法,所述方法包括:在步骤s101中,在所述设备的屏幕中获取用户的眼睛注视位置;在步骤s102中,基于所述眼睛注视位置,确定用户的眼睛注视 在所述屏幕的内部还是在视频帧的边缘;在步骤s103中,在确定眼睛注视在所述屏幕的内部的情况下,获取所述设备的运动;以及在步骤s104中,通过基于所述设备的运动在所述设备的屏幕中移动视频帧,来补偿所述设备的运动,以使得所述视频帧相对于用户基本上保持在与运动之前相同或接近相同的位置。

眼睛注视位置信息能够用于促进定位。通过眼睛跟踪器可以获得眼睛注视位置,其中眼睛跟踪器是一种传感器。如果眼睛注视在屏幕的内部,则由于眼睛不会注意到,视频帧的小部分超出屏幕不会成为问题。如果眼睛刚好注视在视频帧的边缘,则最好不移动图像。因此有了眼睛注视信息,无需害怕视频帧离开保护边界。

然后,通过一个或者多个传感器,诸如加速计以及陀螺仪传感器,能够检测设备的运动。例如,陀螺仪adxrs453能够精确跟踪频率为50hz的振动并在100hz仍表现良好(参见“analyzingfrequencyresponseofinertialmemsinstabilizationsystems”,http://www.analog.com/library/analogdialogue/archives/46-07/mems_stabilization.html)。100hz对应6000rpm的发动机转速,因此其能够精确跟踪发动机。大多先进的移动电话现在均配备了此类传感器。在iphone中,有官方方法用来通过uikit、uidevice、或者甚至低级核运动api来获得运动信息。所提议的思想是通过在屏幕中移动视频帧以使得图像基本上保持在相同位置,从而补偿设备振动。

图2显示了控制图像重定位以便通过使用运动传感器来减轻设备振动的影响的实例,其中运动传感器输出平板电脑的瞬时运动,通过使用该信息,视频帧沿着相反方向上移动,从而视频帧的位置相对于用户不变。示例性的adxrs453陀螺仪能够跟踪50hz的振动,并且屏幕刷新频率通常高于50hz,从而在此实例中视频帧能够以50hz的频率显示在新的位置。值得注意的是,更高频率的运动传感器能够用于跟踪更细微的运动。

在一个示例性实施方式中,步骤s104可以包括:在所述设备的屏幕中沿着与所获取的运动相反的方向将所述视频帧移动与设备的运动相同的 距离。

在一个示例性实施方式中,视频移动的距离小于或者等于预定的距离,即配置的最大移动值。当设备的运动超过了最大移动值时,视频帧移动可以使用该最大移动值,或者不执行移动,这是因为设备和用户可能经受了严重的摇动。

在一个示例性实施方式中,视频帧以小于正常(常规)的尺寸显示。视频帧可能会移出平板电脑显示屏之外。这个问题可以通过在视频帧周围的小的黑色保护边界、并且视频帧比传统视频渲染更小来解决。这对于大屏幕来说不是问题,这是因为屏幕足够大。

降低身体振动的影响

在一个示例性实施方式中,用于促进设备中的视频渲染的方法可以还包括:获取用户的头部运动;计算用户运动与设备的运动之间的相对运动;并且步骤s104可包括:通过基于用户的头部运动与设备的运动之间的相对运动在设备屏幕中移动视频帧,来补偿所述设备的运动。

在一个示例性实施方式中,所述方法还包括:确定所述眼睛注视位置的变化是由所述用户的头部运动引起的还是由眼球扫视运动引起的;并且获取所述用户的头部运动的步骤是在确定眼睛注视位置的变化是由所述用户的头部运动引起的情况下执行的。

图3显示了控制图像重定位以便通过利用运动传感器而减轻设备和人体振动的影响的实施例。用户的身体也可能会经受振动,这会增加眼睛与设备之间的相对运动。为了缓解该现象,可以利用平板电脑的相机。根据本发明的发明人的研究,眼睛会进行眼球扫视运动以及凝视。在眼球扫视运动中,眼球转动,这无需头部运动。但是头部振动也会导致眼睛注视位置的抖动。因此结合眼睛跟踪器,通过平板电脑的相机检测头部运动,很容易获知眼睛注视位置的变化是否是由头部运动还是眼球扫视运动所引起的。当检测到头部振动时,相对于平板电脑的相对运动可被计算并且在屏幕中沿着所述相反方向移动视频帧时可以使用这一信息。

传输资源优化

在一个示例性实施方式中,用于促进设备中的视频渲染的方法还可以包括:基于所述眼睛注视位置来计算视敏度;以及将所述视敏度传输到提供视频的视频服务器,从而使得所述服务器能够基于视敏度对所述视频进行编码,以降低所述视频的质量。

当用户在地铁或者公共汽车上从网络观看实时视频时,利用上述两种技术,振动的影响可以被有效降低。但是某些级别的振动仍然无法被消除,这是因为存在振动跟踪延迟和错误。振动的影响能够根据小区域中的频繁注视抖动来估计,所述小区域中的频繁注视抖动与眼球扫视运动不同,眼球扫视运动是弹道的并且从一点直接移动到新的位置的运动。眼睛注视位置能够被过滤以获得高频运动,并且其反映了振动。

根据发明人的研究,在此环境下的视敏度降低,其遵照以下等式:

其中,表示人体视敏度,x为至中央区域的偏心距程度,其表示距离,t为时间,e为自然对数的底数,α1、α2、和α3可以预先设置,并且可以通过实验和/或经验导出,例如,α1=1,α2=0,和α3=0。

等式(1)表明了眼睛需要一些时间来达到由分子所确定的最佳视敏度的事实。图4显示了视网膜中的点的人体视敏度的时间关系。

通过上述等式(1),能够获得这种情形下的眼睛视敏度。在视网膜的中心处,并且在足够长的时间之后,视敏度可被认为归一化为1。基于以上段落获得的振动频率,能够获得在预设的度数的中央凹(fovea)(例如,2度中央凹)存在点的时间。将该时间输入到上述等式(1)中,能够获得视敏度,如果归一化,其小于1。

该信息被传输至视频服务器,并且服务器能够基于该视敏度信息对视频进行编码,以降低质量而不会对观看者造成视觉影响。通过这种方式,根据本发明的用于促进设备中的视频渲染的方法能够节省视频传输的网络资源。

下面给出了基于视敏度信息对视频进行编码的一个实例。

基于视敏度信息,可获得视敏度的动态范围,标记为[a,b],其中a为最低视敏度,b为最高视敏度。待传输的视频通过给出的最大比特速率m和平均比特速率n来进行编码。那么,b映射到最大比特速率m,而(a+b)/2映射到平均比特速率n。这些参数之间是线性映射的。通过控制比特速率,能够对视频进行编码。如果最大比特速率m和平均比特速率指代的是标准视敏度,例如对多个人的测量进行平均,则能够实现映射如下。标准视敏度可以标记为[a0,b0]。然后,具有视敏度x的特定用户的视频比特速率可通过以下步骤计算:

首先,通过z=a0+(x-a)*(b0-a0)/(b-a),将x映射到标准视敏度z;以及

接着,通过b=n+(m-n)/(b0-t)/(z-t),将z映射到比特速率b,其中t=(b0+a0)/2。

然后,为了节省视频传输的网络资源,服务器能够利用该结果对视频进行编码。

如图5所示,本发明还提供了用于促进设备中的视频渲染的装置,该装置包括:第一获取部件510,被配置为在所述设备的屏幕中获取用户的眼睛注视位置;处理部件520,被配置为基于所述眼睛注视位置,确定用户的眼睛注视在所述屏幕的内部还是在视频帧的边缘;第二获取部件530,被配置为在处理部件520确定眼睛注视在所述屏幕的内部的情况下,获取所述设备的运动;以及补偿部件540,被配置为通过基于所述设备的运动而在所述屏幕中移动所述视频帧,来补偿所述设备的运动,以使得所述视频帧相对于用户基本上保持在与运动之前相同或接近相同的位置。

在一个示例性实施方式中,补偿部件540还被配置为:在所述设备的屏幕中沿着与所获取的运动相反的方向将所述视频帧移动与设备的运动相同的距离。

在一个示例性实施方式中,视频帧移动的距离小于或者等于预定的距离。

在一个示例性实施方式中,视频帧以小于正常的尺寸显示。

在一个示例性实施方式中,第一获取部件510还被配置为获得用户的 头部运动;补偿部件540还被配置为计算用户的头部运动与设备的运动之间的相对运动;并且补偿部件540还被配置为通过基于用户的头部运动与设备的运动之间的相对运动在所述设备的屏幕中移动视频帧,来补偿所述设备的运动。

在一个示例性实施方式中,补偿部件540还被配置为确定眼睛注视位置的变化是由所述用户的头部运动引起的还是由眼球扫视运动引起的;并且

第一获取部件510被配置为被配置为在补偿部件540确定眼睛注视位置的变化是由所述用户的头部运动引起的情况下,获取所述用户的头部运动。

在一个示例性实施方式中,所述装置还可以包括:

计算部件550,其被配置为基于眼睛注视位置来计算用户的视敏度;

传输部件560,其被配置为将所述视敏度传输到提供视频的视频服务器,从而使得所述服务器能够基于所述视敏度对所述视频进行编码,以降低所述视频的质量。

在一个示例性实施方式中,第一获取部件510包括眼睛跟踪器,并且第二获取部件530包括加速计和陀螺仪传感器。

第一获取部件510,处理部件520,第二获取部件530,补偿部件540,计算部件550以及传输部件560中的至少一个假设包括程序指令,当执行程序指令时,使得所述装置根据如上所述的示例性实施例运行。上述第一获取部件510,处理部件520,第二获取部件530,补偿部件540,计算部件550以及传输部件560中的任意一个可被集成在一起或者在分开的部件中执行,并且可以是适合本地技术环境的任意类型,并作为非限制性实施例可包括通用计算机,专用计算机,微处理器,数字信号处理器(dsp)以及基于多核处理器架构的处理器中的一个或者多个。上述rom可以是适合本地技术环境的任意环境并且可利用任意适合的数据存储技术而被执行,诸如基于半导体的存储设备,闪存,磁存储设备以及系统,光存储设备以及系统,固定存储器以及可移动存储器。

总之,不同示例性实施例可在硬件或者专用电路,软件、逻辑或者其任意组合中实施。例如,一些方面可在硬件中实施,而其它方面可在通过控制器,微处理器或者其它计算设备执行的固件或者软件中执行,尽管本发明不限于此。虽然本发明示例性实施例的不同方面可按照框图,流程图,或者使用一些其它图形表示的方式被阐释以及描述,本领域技术人员将会理解此处描述的这些块,部件,系统,技术或者方法可在如非限定实施例的硬件,软件,固件,专用电路或者逻辑,通用硬件或者控制器或者其它计算设备,或者其一些组合中实现。

应当理解本发明示例性实施例的至少一些方面可体现为计算机可执行指令,例如在通过一个或者多个计算机或者其它设备执行的一个或者多个程序模块中。总得来说,当被计算机或者其它设备中的处理器执行时,程序模块包括执行特定任务或者实施特定概要数据类型的例行程序,程序,客体,部件,数据结构等。计算机可执行指令可存储在计算机可读介质中,例如硬盘,光盘,可移动存储介质,固态存储器,随机存取存储器(ram)等。本领域技术人员将会意识到,程序模块的功能如在不同实施例中期望的合并或者分散。此外,功能可全部或者部分实现在固件或者硬件中,例如集成电路,现场可编程门阵列(fpga)等。

尽管本发明特定实施例已被公开,本领域技术人员将会理解在不脱离本发明精神和范围的前提下可对特定实施例做出变化。本发明的范围并不局限于特定实施例,并且附随权利要求涵盖了本发明范围中此类应用,变型以及实施例的任意以及全部。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1