使用步进图像来创建基于图像的视频的制作方法

文档序号:7625134阅读:285来源:国知局
专利名称:使用步进图像来创建基于图像的视频的制作方法
技术领域
本发明一般涉及计算机系统,尤其涉及一种与便于对与运动矢量关联的源图像进行编码的基于图像的视频有关的系统和/或方法。
背景技术
基于数码照相机尺寸和成本的减少以及同时在有效性、可用性和分辨率性能方面的提高,数字摄影的运用日益增加。制造商等已不断地努力,来提供较小的电子设备,以便满足与携带、存储和使用电子设备相关联的消费者需求。这样,数字摄影已展示出有所发展,并且已证明对于电子设备和软件而言是有利可图的市场。
一捕捉到数字图像,用户首先体验到数字摄影的各种势不可挡的好处。常规的冲印摄影迫使摄影师等到昂贵的胶卷显影之后才可观看照片,但通过利用数码照相机上的缩略像和/或观察窗,可以在数秒内观看数字摄影中的数字图像。此外,可以根据用户偏好来删除或保存图像,从而允许经济地使用有限的图像存储空间。一般而言,数字摄影在摄影术方面提供了更有效率的经验。
此外,可用于数字图像的编辑技术众多,其局限性只在于编辑者的想像力。例如,可以使用诸如裁剪、调整大小、模糊、锐化、对比度、亮度、伽马、透明度、旋转、浮雕、纹理、汲取工具(例如,填充或笔、增加圆圈、方框)、插入文本等技术来编辑数字图像。对比而言,常规的冲印摄影只允许开发者控制显影变量(例如,暴光时间、光强度、光敏纸的类型、以及各种滤光器)。而且,这类常规冲印摄影技术昂贵,然而,数字摄影软件在计算机上正变得越来越常见。
除了涉及关于图像捕捉和显影的数字摄影的优点以外,数字摄影还便于这些所拍摄的图像的共享。一旦被捕捉,正与另一个图像共享的图像可以伴随有这类图像的故事(例如,口头叙述)和/或物理呈现。关于常规的冲印摄影,共享选项局限于相册,它们需要涉及组织、存储和可访问性等各种复杂化因素。而且,要与另一个冲印摄影共享冲印摄影,该相册的物理存在是必要的。
鉴于与数字摄影相关联的以上好处以及冲印摄影的传统的不足之处,纠正这类不足之处的数字图像和数字相册已日益代替常规的冲印摄影和相册。特别是,基于图像的视频提供一种用于共享数字图像的方便而有效率的技术。基于图像的视频是图像的幻灯片放映,将运动(例如,扫视、缩放、交叉渐变、……)应用于静止图像。利用基于图像的视频的效果是增强的运动视频体验,它允许在电视屏幕和/或计算机监视器上更好地观看高分辨率图像的细节。例如,由典型的3兆像素数码照相机拍摄的图片的分辨率是大约2000×1500像素,然而,典型的计算机监视器的分辨率是1024×768像素。但是,随着消费者需求的增长,高级数码照相机可以为图片提供高得多的分辨率。
关于基于图像的视频的信息必须被保存(例如,在创建过程期间和/或在结束时)到文件,以供将来重放。在一项存储技术中,视频的每个帧被保存为图片。但是,该技术要求相当大量的存储空间和CPU(例如,处理器)时间,其中,涉及运动的信息会被丢失。在另一更有效率的存储技术中,源图像和与图像相关联的运动矢量被加以编码(例如,这些源图像被加以编码,以提供更好的压缩)。接下来,在呈现(例如,重放)时,每个编码的源图像及其编码的运动矢量被加以解码,从而允许这些输出视频帧的生成。
当创建基于图像的视频时,实质的运动(例如,扫视、缩放、交叉渐变等)会在诸如呈现、分辨率、分辨率、存储器和/或处理器性能等领域中引起各种问题。在任何计算环境中,硬件和相关联的组件受到限制;所以,有效率的运用对于总体的用户经验而言至关紧要。实质的扫视和/或缩放要求源图像的一个实质部分在视频中被加以编码,以允许显示具有高保真度的源图像内容。例如,高分辨率源图像的尺寸用像素来表示可以是m×n,运动可以是将该源图像的视图从整个图像(m×n)改变成该源图像的m/8×n/8区域的缩放。其后,可以按p×q像素分辨率来产生最后得到的视频,其中,m>p>m/8且n>q>n/8。当加以充分的缩放时,显示尺寸为m/8×n/8个像素的该图片部分,理论上这具有最高保真度。为了维持保真度,必须存储整个图像m×n个像素。
根据前一个例子,在基于图像的视频期间会出现几个问题。这种高分辨率源图像的编码要求该源图像的解码,这对于用户和处理器而言都很耗时。一旦被解码,未被压缩的图像就要求相当大量的存储器来充分地存储该图像。此外,从源图像生成的每个帧需要调整大小,从而在调整大小和呈现期间增加处理器的使用率。源图像越大,CPU在调整大小期间的使用率就越高。此外,典型的视频系统按30帧/秒的速率来显示,从而允许近似33毫秒用于为源图像解码、调整大小并呈现将要被显示的每个帧。如果系统不在所分配的33毫秒内生成并呈现帧,那么,视频的运动会变得断断续续,破坏观看的乐趣。虽然处理器速度继续增加,但是,当源图像具有高保真度时,典型的消费处理器和计算环境容易消耗33毫秒以上。
鉴于上述内容,需要一种改进和/或提供涉及基于图像的视频的系统和/或方法,该基于图像的视频便于对与运动矢量相关联的源图像进行编码。

发明内容
以下提出本发明的简化概述,以便提供对本发明的一些方面的基本理解。这个概述不是本发明的广泛纵览。它既不意在标识本发明的关键或紧要的元素,也不意在描绘本发明的范围。其唯一的目的是以简化的形式来呈现本发明的一些概念,作为以后更详细描述的序言。
本发明涉及便于经由使用至少一个步进图像(step image)来存储基于图像的视频的系统和/或方法。通过利用步进图像,本发明显著地减少基于图像的视频的用于产生诸如缩放、扫视、和/或者扫视且缩放等实质运动的所分配存的储和存储器的数量。通过利用步进图像来将实质的运动剖析成各个较小的运动,可以只允许这些步进图像被存入视频,而不是存储整个源图像。
根据本发明的一个方面,提供一种系统,该系统使用步进图像组件,以便于通过利用至少一个步进图像来对与运动矢量相关联的源图像进行编码,其中,该步进图像提供所存储的视频数量的缩减。该系统可以确定最大步进图像尺寸和步进图像数量,以模拟平滑的实质运动。为了确定这些步进特征(例如,最大步进图像尺寸和步进图像数量),该步进图像组件使用接收运动参数(例如,源图像、扫视、缩放、扫视且缩放、……)和计算机环境参数(例如,处理器速度、存储容量、视频显示、……)的输入组件。利用所确定的步进特征,该步进图像组件可以至少部分地根据这些所接收的参数来为运动创建所要求的步进图像。
在本发明的另一个方面,该系统包括运动控制器组件,该运动控制器组件在实质的缩放运动期间缓和视频视觉感复杂化因素。该运动控制器组件利用非线性二次函数,以便确定适当的计算,用于分别根据放大和缩小来缓和加速和/或减速的视觉感;从而为观察者提供平滑、持续的运动。
在本发明的又一个方面,编码器组件便于对步进图像组件所创建的步进图像进行编码。该编码器组件提供不同的专门编码技术,以便利用适当的步进图像序列来确保该步进图像的正确解码;从而提供正确的视频呈现。例如,该编码器组件可以帮助解码器确定要利用当前帧来高速缓存的适当图像、以及当为新的图像解码时要丢弃哪个图像。在本发明的另一个方面,至少部分地根据视频帧从源图像中的初始生成,该编码器组件按顺序来为图像编码。此外,该编码器组件设置到新编码的源图像的过渡方向,其中,解码器组件可以相应地解码。
以下描述和附图详细地陈述本发明的某些说明性方面。但是,这些方面只表现出可以使用本发明的原理的各种方法中的一些;并且,本发明意在包括所有这类方面及其等价方面。通过结合附图来考虑本发明的以下详细描述,本发明的其他优点和新颖的特征将变得一目了然。


图1示出了根据本发明的一个方面便于存储基于图像的视频的示例性系统的框图。
图2示出了常规的基于图像的视频系统。
图3示出了根据本发明的一个方面便于存储基于图像的视频的示例性系统的框图。
图4示出了根据本发明的一个方面的便于存储基于图像的视频的示例性系统的框图。
图5示出了根据本发明的一个方面用于便于存储基于图像的视频的图表。
图6示出了根据本发明的一个方面便于存储基于图像的视频的示例性系统的框图。
图7示出了根据本发明的一个方面便于存储基于图像的视频的示例性系统的框图。
图8示出了根据本发明的一个方面使用便于基于图像的视频的存储的步进图像技术的示例性方法。
图9示出了根据本发明的一个方面使用便于基于图像的视频的存储的步进图像技术的示例性方法。
图10示出了根据本发明的一个方面使用便于基于图像的视频的存储的步进图像技术的示例性方法。
图11示出了根据本发明的一个方面便于存储基于图像的视频的示例性系统。
图12示出了根据本发明的一个方面具有运动矩形和步进图像的尺寸的表格。
图13示出了根据本发明的一个方面便于存储基于图像的视频的示例性系统。
图14示出了根据本发明的一个方面便于存储基于图像的视频的示例性系统。
图15示出了一个示例性联网环境,其中,可以使用本发明的这些新颖方面。
图16示出了一个示例性操作环境,其中,可以使用本发明的这些新颖方面。
图17示出了根据本发明的一方面的示例性的源图像I1和源图像I2的步进图像的示意图。
具体实施例方式
参照附图来描述本发明;在附图中,相似的参考标号被用来从头到尾指相似的元素。在下文中,出于解释的目的,陈述众多具体细节,以便提供对本发明的彻底理解。但是,显而易见的是,可以在不具备这些具体细节的条件下实践本发明。在其他实例中,以框图形式来示出众所周知的结构和设备,以便于描述本发明。
如本申请中所利用的,术语“组件”、“系统”等意在指计算机相关的实体,它们是硬件、软件(例如,在执行中)和/或固件。例如,组件可以是在处理器上运行的进程、处理器、对象、可执行码、程序和/或计算机。举例说明来讲,在服务器上运行的应用程序和该服务器都可以是组件。一个或多个组件可以驻留在过程内,组件可以被定位在一台计算机上和/或被分布在两台或多台计算机之间。
可以结合执行如这里所描述的推理和/或盖然论确定和/或基于统计的确定,来使用基于人工智能的系统(例如,被显式和/或隐式地训练的分类器)。如这里所使用的,术语“推理”通常是指从如经由事件和/或数据捕捉的一套观察资料中推理或推断出系统、环境和/或用户的状态的过程。推理可以用于识别特殊的上下文或动作,或者可以(例如)生成状态的概率分布。推理可以是盖然论的,即,根据数据和事件的考虑来计算有关状态的概率分布。推理也可以指用于根据事件和/或数据集来组成更高级事件的技术。这种推理产生来自所观察的事件和/或所存储的事件数据集的新事件或动作的构造,而不管这些事件在时间上是否很接近,也不管这些事件和数据是否来自一个或几个事件和数据源。可以结合执行与本发明有关的自动和/或推断的动作,来使用各种分类方案和/或系统(例如,支持向量机、神经网络、专家系统、贝叶斯信任网、模糊逻辑、数据融合引擎……)。
现在参考附图,图1示出了包括步进图像组件110的系统100,步进图像组件110通过使用至少一个步进图像来便于对与运动矢量相关联的源图像进行编码,其中,该步进图像提供所存储的视频数量中的缩减。步进图像组件110可以确定最大步进图像尺寸和适当的步进图像数量,以便根据接收数据的输入组件120来模拟平滑运动。该数据可以是(例如)运动参数和计算机环境参数。输入组件120接收参数,这些参数可以是,但不限于,运动请求(例如,缩放、扫视、扫视且缩放、……)、视频显示设备(例如,计算机监视器、电视屏幕、个人数字助理(PDA)、……)、计算机环境特征(例如,处理器速度、存储器、硬盘驱动器空间、视频卡、主板、总线速度、……)和/或源图像(例如,将要用于基于图像的视频的那个图像)。通过利用步进图像,步进图像组件110显著地减少由基于图像的视频用于产生例如但不限于缩放、扫视、或扫视且缩放等实质运动的存储和存储器的数量。
例如,用于确定步进图像的最大步进图像尺寸的一项技术是定义阈值。在基于图像的视频的重放期间,计算环境具有有限的时间来解码、生成和呈现每个视频帧。通常,时间被计算为1/帧速率(其中,按30个帧/秒的速率来播放视频),这提供近似33毫秒,供解码该步进图像,并且供呈现该帧。至少部分地根据CPU(例如,处理器)性能和帧速率,可以确定用于步进图像的最大步进图像尺寸,以便CPU(例如,处理器)有充足的时间来为该图像解码并呈现这些视频帧。而且,可以至少部分地根据该步进图像的最大步进图像尺寸和源图像中的整个扫视/缩放运动,来计算步进图像的数量。
此外,步进图像组件110至少根据所需的运动(例如,缩放、扫视、扫视与缩放、……)、CPU性能、输出视频分辨率和帧速率,并利用步进图像的所确定的最大步进图像尺寸和数量,来创建步进图像。步进图像组件110使用步进图像,以便运用用于运动的较小图像集来表示源图像。此外,步进图像组件110创建步进图像,以使这些较小图像(例如,步进图像)中的每一个是关于该视频中的运动的一部分的源图像,并且被用来为运动的那个部分生成视频。由于步进图像组件110创建单独地小于原始图像的各个步进图像,并且,该步进图像内的运动对应地较小,因此,存储器和处理器性能没有受到损害。
例如,一旦源图像始于完全的源图像并缩放到处于该源图像的中心的矩形区域,就可以启动缩放运动。该缩放可以始于开始位置(R1)和结束位置(R2)处,以便该开始位置是完整的图像,结束位置是该源图像的居中矩形。来自开始位置(R1)和结束位置(R2)的运动可以被分成各个步进。一旦最大步进图像尺寸和步进图像数量被确定,该步进图像组件就可以创建步进图像。对于这个例子,运动可以被分成2个步进。第一个步进是从R1到Ri的步进,第二个步进是Ri至R2(其中,Ri是R1与R2之间的中间矩阵,即至少部分地基于该视频中的帧数的位置)。
继续前一个例子,第一个运动步进(例如,R1至Ri)允许完整的图像按比例缩小到较小的尺寸,以使Ri实质上具有与将要生成的视频的分辨率相同的(或较低的)分辨率。这个按比例缩小的图像可以被称作步进图像1。通过利用步进图像1,可以为从R1到Ri的运动生成视频帧,而不会丢失视频质量。同样,可以从第二个运动步进(例如,Ri至R2)中创建第二个步进图像。在从Ri到R2的运动期间,不需要矩形Ri以外的任何图像部分来生成视频帧。只有Ri所表示的图像的一部分将要被存储。此外,可以按比例缩小所存储的图像,以使矩形R2实质上具有与将要生成的视频的分辨率相类似的或较低的分辨率。图像的Ri的按比例缩小的那一部分可以被称作步进图像2。步进图像2用来为从Ri到R2的运动生成视频帧,而不会丢失视频质量。在以上的例子中,步进图像1不需要是与完整图像相同的图像,因为开始运动R1可以是完整图像的一个较小的部分,也因为部分R1可以按比例缩小到一定的程度,其中,部分Ri具有与输出视频相等的或较小的分辨率。而且,步进图像2不需要与矩形部分Ri相同。换言之,源图像被按比例缩小,以便创建图像帧;并且,当创建该步进图像时,该规则适用。
图2示出了基于图像的视频系统200,它不利用步进图像组件110,而利用涉及基于图像的视频的常规技术。源图像210被示为位于X轴212和Y轴214上。从基于图像的视频命令的运动由开始矩形位置216到结束矩形位置218来示出。换言之,该基于图像的视频扫视整个源图像210,从而创建视频幻觉,而不是常规的幻灯片放映。例如,利用具有高度222和宽度224的视频视见区220,可以显示从开始矩形位置216到结束矩形位置218的运动。该视见区可以是(例如)计算机监视器、电视屏幕、个人数字助理(PDA)、……使用图像坐标来定义坐标系统,以使源图像210内的矩形(R)可以被表示为v=[x0,y0,w,h]T其中,x0和y0是涉及源图像210的左上角的X轴212和Y轴上的坐标。此外,变量w和h可以表示源图像210内的矩形(R)的宽度和高度。这个表示法允许矩形(R)位置和尺寸被表示如下v1=[x01,y01,w1,h1]Tv2=[x02,y02,w2,h2]T在从开始矩形位置216到结束矩形位置218的运动期间,持续时间可以由时间d秒来表示,它具有f个帧/秒的视频帧速率。用于运动的视频帧的数量是n=f×d。与传统的视频不同,基于图像的视频只要求编码源图像。视频帧被定义为开始矩形位置216到结束矩形位置218的位置和尺寸。关于帧i的图像210内的矩形的位置和尺寸可以被计算如下
vi=v1+in(v2-v1)]]>虽然将要编码的图像可能不是完整的源图像210,因为开始和结束运动可能不包括整个源图像210,但是,开始位置矩形216和结束位置矩形218的联合226被加以编码和存储。可理解,这整个联合图像将要被存储。此外,至少部分地根据从开始矩形位置216到结束矩形位置218的运动的视频尺寸和最小尺寸,要编码的图像被按比例缩小,而不会丢失保真度。
当从开始矩形位置216到结束矩形位置218的运动具有实质的比例时,系统200无法实现性能目标。例如,源图像可以是2560×1920像素(例如,典型的5兆像素数字图像)。当运动是从完整的源图像开始到处于源图像中间的320×240矩形的缩放时,并且当使用320×240的视频尺寸时,必须对2560×1920的完全图像尺寸进行编码。这样,需要相当大量的时间和CPU(例如,处理器)时间来为该图像解码,并且通过适当地调整源图像的大小来生成尺寸为320×240的每个视频帧。
现在参考图3,示出了包括步进图像组件310的系统300,它便于通过使用至少一个步进图像来对与运动矢量相关联的源图像进行编码,其中,该步进图像提供所存储的视频中的缩减。输入组件312接收诸如运动参数和/或计算机环境参数等数据,其中,该步进图像组件310创建步进图像。步进图像组件310还包括分析器组件314,它确定步进图像的最大步进图像尺寸、以及将要用于为源图像编码的步进图像的数量。在根据本发明的一个方面中,分析器组件314可以至少部分地根据CPU(例如,处理器)性能和帧速率来定义最大步进图像尺寸的阈值,以便有充足的CPU(例如,处理器)处理时间来为步进图像解码并呈现视频帧。虽然最大步进图像尺寸可以被定义为阈值,但是,本发明不局限于这种技术。相反,分析器组件314确定最大步进图像尺寸,以便分配用于CPU(例如,处理器)的充足时间,来为平滑运动解码并将其呈现给用户。
而且,分析器组件314部分地根据最大步进图像尺寸来计算步进图像的数量。例如,通过将该图像帧的纵横比定义为实质上类似于该视频的纵横比,可以计算步进图像的数量。分析器组件314可以定义步进因子,用于以最大步进图像尺寸(wmaxstep,hmaxstep)的缩放运动,如下sz=wmaxstepwv]]>wmaxstep是步进图像的最大宽度,wv是视频宽度。同样,步进因子可以由分析器组件312如下计算用于扫视运动sp=wmaxstep-wv]]>一旦计算了步进因子,分析器组件314就确定关于视频尺寸的步进图像的数量。对于从运动矩形R1到运动矩形R2的缩小运动,步进图像的数量nz由分析器组件314计算如下sznz≥wR2wR1]]>nz=ceil(ln(wR2/wR1)lnsz)]]>其中,wR1和wR2分别定义了运动矩形R1和R2的宽度。而且,通过如以下方程式中转换开始运动矩形和结束运动矩形,分析器组件314可类似地处理放大sznz≥wR1wR2]]>nz=ceil(ln(wR1/wR2)lnsz)]]>当运动是从矩形R1到矩形R2的水平扫视时,步进图像的数量np由分析器组件314计算如下npsp=|XR2-XR1|]]>np=ceil(|XR2-XR1|sp)]]>XR1和XR2分别表示R1和R2的左上角的X坐标。同样,当扫视运动是垂直的时,R1和R2的左上角的Y坐标由分析器组件314使用如下npsp=|YR2-YR1|]]>np=ceil(|YR2-YR1|sp)]]>此外,当运动是缩放且扫视时,通过利用以下公式,分析器组件314可以确定步进图像的数量nn=max(nz,np)一旦步进图像的最大步进图像尺寸和关于运动的步进数量由分析器组件314确定,步进图像生成器组件316就创建与运动有关的步进图像。换言之,为运动(例如,缩放、扫视、或扫视且缩放)创建所确定的步进图像数量。步进图像生成器组件316将实质的运动剖析成各个较小的运动,它们具有被存入视频步进图像,而不是存储源图像的一个实质的部分以及对应的运动矢量。
在根据本发明的一个方面中,步进图像生成器组件316可以将开始和结束运动矩形定位在相关联的步进内,可以获得联合矩形,可以按比例缩小该联合矩形,并可以计算按比例缩小的联合矩形的开始和结束运动矩形,以便创建步进图像。将会理解,步进图像生成器组件316利用双精度的浮点数,从而避免由舍入误差引起的复杂化因素。例如,步进图像生成器组件316计算Ris,它定义(例如)用于在相关联的步进中生成第一个视频帧的图像的一个部分。同样,步进图像生成器组件316确定Rie,以表示用于在相关联的步进中生成最后一个视频帧的源图像的一个部分。接下来,步进图像生成器组件316提供联合矩形,它被按比例缩小到保真度不会受到影响的程度。例如,按比例缩小因子可以由步进图像生成器组件316确定如下f=min(WRis,WRie)/Wvideo其中,WRis是开始运动矩形Ris的宽度,WRie是结束运动矩形Rie的宽度,并且,Wvideo是将要呈现的视频的宽度。该按比例缩小因子可以由步进图像生成器组件316应用于从每个步进的源图像中提取的Ris和Rie的联合区域。将会理解,应用于联合区域的按比例缩小因子将被上舍入到最接近的整数。一旦按比例缩放了联合矩形,步进图像生成器组件316就在该按比例缩小的步进图像内计算开始运动矩形和结束运动矩形。步进图像生成器组件316可以重复该过程,以便根据(例如)分析器组件314所确定的步进图像的数量来创建步进图像。
参考图4,示出了便于通过使用至少一个步进图像来对与运动矢量相关联的源图像进行编码的系统400,其中,步进图像提供所存储的视频数量中的缩减。步进图像组件410确定步进图像的尺寸和数量,并根据输入组件412来创建步进图像。输入组件412可以接收数据,例如但不限于运动(例如,扫视、缩放、扫视且缩放、……)和计算机环境特征。系统400还包括运动控制器组件414,它在基于图像的视频内的实质缩放运动和/或实质扫视且缩放运动期间缓和视频视觉感。部分地根据与实质运动相关联的加速和减速的视频感觉,常规系统会成问题。例如,从源图像到该源图像内的小矩形区域的放大,运动感知缓慢地开始并朝向末端加速。在另一个例子中,描绘从尺寸为4000×3000像素的矩形到尺寸为400×300个像素的矩形的放大运动。根据在100个视频帧的时期内发生的线性运动,该矩形的宽度减少(4000-400)/100=36个像素。对应地,该矩形的高度减少(3000-300)/100=27个像素。当观看4000×3000个像素的视频尺寸时,在放大之初,36×27个像素的运动看起来相对较慢。利用每个帧,只有该图片的36/4000*100=0.9%已移出,导致该用户感知运动缩放在显示器上较慢。但是,当观看具有近似480×360个像素的尺寸的视频的一部分时,在放大之末,36×27个像素的运动看起来相对较大。利用放大之末的每个帧,该图片的36/480*100=7.5%已移出,导致用户感知运动缩放在显示器上较慢。
运动控制器组件414利用非线性运动,以便缓和上述的运动感觉。常规系统利用线性运动,从而将关于每个后续帧的运动增量定义如下Δmi=(m2-m1)n]]>在实质的缩放运动期间,运动控制器组件414通过利用不恒定的绝对运动速度,来实现平滑运动的感觉。例如,运动控制器组件414首先利用快速开始的绝对运动速度,并随放大运动时间的推移而减小。相反,缩小运动要求运动控制组件414首先将绝对运动速度调整到慢速度,并随时间的推移而增加。
在根据本发明的一个方面中,运动控制器组件414控制所计算的运动速度,作为时间的二次函数,如下W=a(t-b)2+c其中,W是在运动内的时间t处的运动矩形R的宽度,a、b和c是常数。通过采用关于时间的以上方程式的导数,运动的速度是W′,运动的加速度是W″,它们被分别计算如下W′=2a(t-b)W″=2a通过使用上述公式,运动速度W′随时间线性地变化,运动加速度W″是恒定的。这提供了平滑运动的视觉感。
此外,涉及W的以上方程式(其中W是运动矩形R的宽度)可以由图5中所示的图表来表示,运动控制器414从其中计算常数a、b和c。利用从时间0到时间T的矩形运动放大(例如,运动矩形的宽度从时间0处的W1减小到时间T处的W2),该曲线上的两个点遵循该函数,其坐标是(0,W1)、(T,W2)。一旦在该曲线上发现第三个点,运动控制器组件414就唯一地确定参数a、b和c。通过这样做,运动控制器组件414利用如图5中所示的点(To,Wo),其中,速度是零,To可以被假定是T的因数。例如,To=1.25T,它允许运动控制器组件414根据该曲线中的3个点来计算放大运动。
现在参考图6,系统600示出了便于通过使用步进图像来对与运动矢量相关联的源图像进行编码的步进图像组件610,其中,该步进图像提供所存储的视频数量中的缩减。步进图像组件610根据接收数据的输入组件612来从源图像中创建步进图像,其中,数据可以是,但不限是,运动参数和/或计算机环境参数。步进图像组件610可以至少部分地根据运动参数和/或计算机环境参数来确定步进图像的数量和尺寸,并创建该步进图像。
系统600还包括便于由步进图像组件610创建的步进图像的编码的编码器组件614。常规编码技术不适合步进图像组件610。例如,呈现基于图像的视频要求解码器为源图像和运动信息解码。通常,常规解码器维护两个图像缓冲器,其中,第一个缓冲器用于当前源图像帧,第二个缓冲器用于先前所使用的源图像帧。如果有任何过渡将要应用于各个帧之间(例如,交叉渐变),那么,可以通过使用这两个图像缓冲器来应用它。通过在缓冲器中保持两个图像,解码器能够在随后的各个图像之间创建过渡,其每一个具有扫视和/或缩放运动。继续这个例子,源图像I0、I1、I2、I3、……、In可以是要编码的源图像。通过使用常规技术,按与视频中所显示的相同的顺序来为图像编码。
但是,通过利用步进图像组件610,编码器组件614和解码器组件616使用关于步进图像的特殊考虑事项。例如,步进图像S10、S11、S12是图像I1的步进图像,S20、S21、S22、S23是I2的步进图像,如说明书附图17所示。
其中,T1、T2分别是图像I0与I1、I1与I2、以及I2与I3之间的过渡。
在根据本发明的一个方面中,编码器组件614利用涉及两个图像对(I0,S10)与(In,S11)之间的三个图像的过渡T1。如前所述,传统的解码器保持两个图像缓冲器。这样,当为S11解码时,丢弃I0或S10。编码器组件614至少部分地根据由步进图像I0和S11生成(由步进图像组件610创建)的后续输出视频帧来丢弃S10。在常规编码/解码方案之下,解码器在存储器中只保存最后两个解码图像(例如,S10和S11)。将会理解,在这类情况下,编码器组件614可以确定解码器将要利用当前帧来高速缓存的适当的图像、以及当为新的图像解码时将要丢弃哪个图像。
在根据本发明的另一个方面中,编码器组件614利用过渡T3。过渡T3涉及三个图像S22、S23和I3。该序列由编码器组件614编码为S22、I3和S23,而不是S22、S23和I3。编码器组件614至少部分地基于视频帧从源图像S22和I3中的最初生成来相应地按这个顺序为图像编码,以产生过渡T3。这样,最初从源图像S22和I3中、以后从源图像I3和S23中生成关于该过渡的视频帧,相应地,编码器组件614正确地确定用于适当重放的图像的排序。
此外,编码器组件614设置到新编码的源图像的过渡方向,其中,解码器组件616相应地解码。继续以上内容,当I3是新解码的图像时,过渡方向是S22至I3,但是,当S23是新解码的图像时,该方向是从S23到I3。
图7示出了基于图像的视频中的系统700,包括步进图像组件710,该步进图像组件710便于至少部分地根据接收数据的输入组件712并通过使用步进图像来存储视频。数据可以是(例如)运动参数和计算机环境参数。例如,运动参数可以是用户在基于图像的视频内所利用的扫视、缩放、扫视且缩放、和/或源图像。此外,计算机环境参数可以是(例如)处理器速度、存储容量、显示设备和应用程序版本。系统700还包括人工智能组件714,它至少部分地根据历史数据组件716来推断出步进图像组件710所利用的最大步进图像尺寸和/或步进图像数量。在根据本发明的一个方面中,历史数据组件716提供用户概况、源图像、运动、……。
例如,人工智能组件714利用用户的用户概况,以便使用由该指定用户所提出的运动请求的最大步进图像尺寸和步进图像数量。根据历史数据组件716,该人工智能组件可以推断出步进的最大步进图像尺寸和数量。可以使用户概况适应特殊用户,其中,可以根据过去的特征(例如,处理器速度、存储容量、显示设备、源图像尺寸、特殊源图像、运动请求、……)来使用优化的步进特征(例如,最大步进尺寸和步进图像数量)。此外,历史数据组件716可以根据该用户的历史来为步进图像组件710提供步进的先前的最大步进图像尺寸和数量。
图8-10示出了根据本发明的方法。为解释简单起见,这些方法被描绘和描述为一系列动作。将会理解和认识,本发明不被所示的这些动作和/或动作顺序限制,例如,动作可以按各种顺序和/或与这里没有呈现和描述的其他动作同时发生。另外,并不是所有被示出的动作都可是实施根据本发明的方法所必需的。此外,本领域的技术人员将会理解和认识,作为选择,这些方法可以经由状态图或事件而被表示为一系列互相联系的状态。
图8示出了通过使用步进图像至源图像中的至少一个图像来便于基于图像的视频中的视频存储的方法800。在810处,接收源图像和运动请求。运动请求可以是,但不限于,基于图像的视频内的扫视、缩放、和/或扫视且缩放。此外,源图像可以是(例如)用户愿意为其应用基于图像的视频的图像。在820处,确定步进特征。例如,步进特征可以是关于给定的源图像的最大步进图像尺寸和步进图像数量。在根据本发明的一个方面中,最大步进图像尺寸可以被定义为阈值,其中,可以由关于缩放和扫视的上述这些方程式来确定步进图像的数量。而且,将会理解,这些步进特征可以由运动参数和/或计算环境参数中的至少一个来确定。例如,运动参数可以是源图像上的缩放和/或扫视,然而,计算环境参数可以是处理器速度和/或存储容量。接下来,在830处,根据用户所请求的步进和/或运动的最大步进图像尺寸和/或数量,来创建步进图像。一旦创建该步进图像,方法800就在840处确定是否还有步进图像要创建。如果还有步进图像要创建,那么,该方法继续到830。如果没有其它步进要创建,那么,所有这些步进图像被创建,并可以用于编码过程中。
图9示出了通过使用步进图像至用于编码的源图像中的至少一个来便于基于图像的视频中的视频存储的方法900。在902处,分析用户提出的运动请求。该运动请求可以是(例如)基于图像的视频的创建或变更内的缩放、扫视、和/或者扫视且缩放。而且,在运动请求的分析期间,可以累积关于源图像的所有有关的特征和数据。接下来,在904处,可以确定最大步进图像尺寸和步进图像数量。904处的确定可以至少部分地基于(但不限于)运动请求、源图像特征和/或计算机环境参数。计算机环境参数可以是(例如)处理器速度、存储容量、显示设备、帧速率、指定的分辨率等。
在906处,方法900开始创建步进图像。为关于运动的步进图像的每个数量计算开始和结束运动矩形的计算。接下来,在908处,计算开始和结束运动矩形的联合。在910处,计算比例缩放因子,以便不会因为输出视频分辨率而损坏步进图像的保真度。然后,在912处,该比例缩放因子被应用于所提取的联合区域。将会理解,计算结果912被上舍入到最接近的整数,以便不会丢失精度。接下来,在914处,计算按比例缩小的图像内的开始和结束运动矩形,从而允许适当的运动用于该步进图像。如果在916处还有将要为其创建步进图像的步进,那么,该方法在906处继续进行,否则,不再创建步进图像。
图10示出了当利用实质的缩放和至少一个步进图像时缓和运动和编码复杂化因素的方法1000。在1002处,确定步进特征。例如,这些步进特征(例如,最大步进图像尺寸和步进图像数量)可以由处理器速度、存储容量、视频显示器、源图像尺寸、运动请求……来确定。一旦确定了步进特征,就可以利用上述技术在1004处创建步进图像。在1006处,如果还有步进,那么,在1004处继续步进图像的创建。如果没有其它的步进要加以创建,那么,该方法继续到1008。如果用户所请求的运动要求运动控制,那么,该方法进行到1010。但是,如果运动控制是不必要的,那么,该方法继续到1012。例如,只需在有缩放相关运动时,例如(但不限于)放大、缩小、扫视X放大、扫视Y放大、扫视X缩小、扫视Y缩小(其中,X和Y是X轴和Y轴上的坐标方向),应用运动控制。在1010处,应用适当的运动控制。例如,运动控制部分地基于所请求的运动和/或非线性二次函数。在应用运动控制之后,在1012处相应地为这些步进图像编码。将会理解,在1012处步进图像的编码结合解码器运作,以确保基于图像的视频的适当的排序。
现在参考图11,示出了基于图像的视频,它应用步进图像而在源图像上应用放大运动。从开始运动矩形1102到结束运动矩形1104的运动被分成3个步进。而且,从开始运动矩形1102到结束运动矩形1104的运动采用视频中的n个帧。将会理解,所使用的步进数量是举例,并且,步进确定可以至少部分地基于处理器速度和/或存储容量。第一个中间矩形(Ri)1106和第二个中间矩形(Rj)1108是帧i和j处的中间位置,使得0<i<j<n。在第一个步进中,运动是从开始运动矩形1102到第一个中间矩形(Ri)1106。第二个运动步进是从第一个中间矩形(Ri)1106到第二个中间矩形(Rj)1108。在第三个步进中,运动是从第二个中间矩形(Rj)1108到结束运动矩形1104。
在从开始运动矩形1102到第一个中间矩形(Ri)1106的运动的第一个步进中,完整的图像可以被按比例缩放到较小的尺寸,以便第一个中间矩形(Ri)1106实质上具有与将要生成的视频的分辨率相类似的(或较低的)分辨率。这个按比例缩小的图像是步进图像1。从步进图像1中,生成关于从开始运动矩形1102到第一个中间矩形(Ri)1106的运动的视频帧,而不会丢失视频质量。
利用从第一个中间矩形(Ri)1106到第二个中间矩形(Rj)1108的运动的第二个步进,不需要第一个中间矩形(Ri)1106以外的图像的一部分来生成视频帧。要存储的图像的那个部分由第一个中间矩形(Ri)1106来表示。此外,可以按比例缩小要存储的图像,以便第二个中间矩形(Rj)实质上具有与将要生成的视频的分辨率相类似的(或较低的)分辨率。第一个中间矩形(Ri)1106的按比例缩小的那个部分是步进图像2,其中,可以生成关于从Ri到Rj的相关联的运动的视频帧,而不会丢失任何视频质量。
在从第二个中间矩形(Rj)1108到结束运动矩形1104的运动的第三个步进期间,不需要第二个中间矩形(Rj)1108以外的图像的一部分来生成视频帧。只有第二个中间矩形(Rj)的一部分被存储。此外,可以按比例缩小所存储的那个图像,以便第二个中间矩形实质上具有与将要生成的视频的分辨率相类似的(或较低的)分辨率。第二个中间矩形(Rj)1108的按比例缩小的图像是步进图像3。从步进图像3中,生成关于第二个中间矩形(Rj)1108与结束运动矩形1104之间的运动的视频帧,而不会丢失任何视频质量。
将会理解,较小的步进图像(例如,步进图像1、步进图像2和步进图像3)的存储便于视频的存储,以便不需要存储整个源图像,从而可生成具有实质上类似的质量的基于图像的视频。而且,这些步进图像不需要在尺寸方面实质上类似于相关联的图像(例如,步进图像1不需要在尺寸方面实质上类似于该图像;步进图像2不需要在尺寸方面实质上类似于第一个中间矩形(Ri)1106;并且,步进图像3不需要在尺寸方面实质上类似于第二个中间矩形(Rj)1108)。
参考图12,描绘了运动矩形和步进图像的尺寸。通过使用步进图像,可以很大程度上减小图像帧的尺寸。例如,源图像的尺寸可以是2560×1920,具有从完整的图像到尺寸为320×240的矩形的放大运动。利用320×240的视频尺寸,完整的源图像被存储,以便生成视频帧并维持保真度。但是,当利用6个步进和步进图像时,利用320×240的视频尺寸,每个步进图像是452×339个像素。与存储尺寸为2560×1920个像素的图像(等于存储关于2560×1920个像素的信息)相比较,存储尺寸为452×339个像素的这6个步进图像的信息,这等于存储6×452×339个像素。通过利用步进图像,视频存储改善了5倍多。
图13示出了使用步进图像而在源图像上应用扫视运动的基于图像的视频。图片1302从开始运动矩形1304被扫视到结束运动矩形1306。与前一个例子相类似的是,该运动在n个视频帧的时期内发生。从开始运动矩形1304到结束运动矩形1306的运动被剖析成2个步进,其中,第一个中间矩形(Ri)1308是帧i处的中间位置,使得0<i<n。
第一个运动阶段是从开始运动矩形1304到第一个中间矩形1308。计算由虚线指出的图像的矩形部分,以便可以从这个部分中生成从开始运动矩形1304到第一个中间矩形(Ri)1308的运动期间的视频帧。这个矩形是矩形1304和1308的联合。这样,存储该图像的相关联的部分,以便为该运动阶段生成帧。而且,按比例缩小该联合矩形,以使按比例缩小的矩形1304和1308的分辨率实质上类似于输出视频的分辨率。按比例缩小的联合矩形部分是步进图像1。
第二个运动阶段包括从第一个中间矩形(Ri)1308到结束运动矩形1306。同样,该矩形部分由图13中的虚线来指出,以便可以生成该运动期间的视频帧。该矩形是1308和1306的联合矩形。在存储图像的该部分之后,利用按比例缩小,以使对应于第一个中间矩形(Ri)1308和结束运动矩形1306的那个部分具有与输出视频相同的分辨率。这个按比例缩小的联合矩形是步进图像2。将会理解,存储步进图像1和步进图像2可提供可能的最小尺寸,而不会丢失保真度;同时,在基于图像的视频内减少存储量。
参考图14,示出了步进图像的示例性计算。在计算步进图像的尺寸和数量之后,可以从关于每个步进的源图像中生成步进图像。该步进Ris和Rie内的开始和结束运动矩形被分别加以计算。Ris表示用来在该步进中生成第一个视频帧的图像的一部分;Rie表示用来在该步进中生成最后一个视频帧的图像的一部分。这些矩形Ris和Rie的联合可以被定义为Ru,其中,根据预定的比例缩放因子来按比例缩小Ru。在按比例缩放之后,计算该按比例缩放的图像内的开始和结束运动矩形Riss和Ries。将会理解,首先计算步进图像与源图像中的联合矩形Ru之间的转移T。而通过使用T,可以计算步进图像中的开始和结束矩形的各个对应的位置。
为了提供用于实施本发明的各个方面的额外的环境,图15-16和下文意在简要概括地描述可以在其中实施本发明的各个方面的合适的计算环境。以上已在诸如运行于本地计算机和/或远程计算机上的计算机程序等计算机可执行指令的一般上下文中描述本发明,但本领域的技术人员将会认识到,也可以结合其他程序模块来实施本发明。通常,程序模块包括执行特殊任务和/或实现特殊的抽象数据类型的例程、程序、组件、数据结构等。
而且,本领域的技术人员将会理解,可以利用其他计算机系统配置来实现本发明的方法,包括单处理器或多处理器计算机系统、小型计算机、大型计算机、以及个人计算机、手持计算设备、基于微处理器的和/或可编程消费电子设备等,其每一个可以在操作上与一个或多个相关联的设备进行通信。也可以在分布式计算环境中实践本发明的各个所示的方面;在分布式计算环境中,某些任务由通过通信网络而被连接的远程处理设备来执行。但是,可以在独立计算机上实践本发明的一些(如果不是全部的话)方面。在分布式计算环境中,程序模块可以位于本地和/或远程记忆存储设备中。
图15是可以与本发明交互的示例计算环境1500的示意框图。系统1500包括一个或多个客户机1510。客户机1510可以是硬件和/或软件(例如,线程、过程、计算设备)。系统1500也包括一个或多个服务器1520。服务器1520可以是硬件和/或软件(例如,线程、过程、计算设备)。例如,通过使用本发明,服务器1520可以收容线程,来执行变换。
客户机1510与服务器1520之间的一个可能的通信可以采取适合于在两个或多个计算机进程之间传送的数据包的形式。系统1500包括通信构架1540,该通信构架1540可以用于促进客户机1510与服务器1520之间的通信。客户机1510操作上连接到可以用来存储对客户机1510本地的信息的一个或多个客户机数据存储1550。同样,服务器1520操作上连接到可以用来存储对服务器1540本地的信息的一个或多个服务器数据存储1530。
参照图16,用于实施本发明的各个方面的示例性环境1600包括计算机1612。计算机1612包括处理单元1614、系统存储器1616和系统总线1618。系统总线1618将包括(但不限于)系统存储器1616的各个系统组件耦合到处理单元1614。处理单元1614可以是各种可用处理器中的任何一种。双微处理器和其他多处理器结构也可以用作处理单元1614。
系统总线1618可以是几种类型的总线结构中的任何一种,包括存储总线或存储控制器、外围总线或外部总线、和/或者使用任何各种可用总线体系结构中的任一种的局部总线,这些体系结构包括但不限于,工业标准体系结构(ISA)、微通道体系结构(MSA)、扩展ISA(EISA)、智能驱动电子设备(IDE)、VESA局部总线(VLB)、外围部件互连(PCI)、插件总线、通用串行总线(USB)、高级图形端口(AGP)、个人计算机存储卡国际协会总线(PCMCIA)、火线(IEEE1394)、以及小型计算机系统接口(SCSI)。
系统存储器1616包括易失性存储器1620和非易失性存储器1622。基本输入/输出系统(BIOS)被存储在非易失性存储器1622中,它包含用于在计算机1612内的各个元件之间传送信息(例如,在启动期间)的基本例程。举例说明来讲(不作限制),非易失性存储器1622可以包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除ROM(EEPROM)或闪存。易失性存储器1620包括担当外部高速缓冲存储器的随机存取存储器(RAM)。举例说明来讲(不作限制),RAM可采取许多形式,例如,静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双倍数据传输速率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路DRAM(SLDRAM)、以及直接存储器总线RAM(DRRAM)。
计算机1612也包括可移动/不可移动的易失性/非易失性计算机存储介质。图16示出了(例如)磁盘存储器1624。磁盘存储器1624包括(但不限于)比如磁盘驱动器、软盘驱动器、磁带驱动器、Jaz驱动器、Zip驱动器、LS-100驱动器、闪存卡或记忆棒等设备。此外,磁盘存储器1624可以单独包括存储介质或与其他存储介质相结合,存储介质包括(但不限于)光盘驱动器,例如,光盘ROM设备(CD-ROM)、CD可记录驱动器(CD-R驱动器)、CD可重写驱动器(CD-RW驱动器)或数字通用盘ROM驱动器(DVD-ROM)。为了促进磁盘存储设备1624与系统总线1618的连接,通常使用可移动或不可移动的接口(例如,接口1626)。
将会理解,图16描述了担当用户与合适的操作环境1600中所描述的基本计算机资源之间的中介物的软件。这种软件包括操作系统1628。操作系统1628(它可以被存储在磁盘存储器1624上)用于控制和分配计算机系统1612的资源。系统应用程序1630通过存储在系统存储器1616中或磁盘存储器1624上的程序模块1632和程序数据1634,来利用操作系统1628所执行的资源管理。将会理解,可以利用各种操作系统或操作系统的组合来实现本发明。
用户通过输入设备1636来将命令或信息输入计算机1612。输入设备1636包括(但不限于)定点设备(例如,鼠标、跟踪球、触针、触垫)、键盘、话筒、操纵杆、游戏垫、圆盘式卫星电视天线、扫描仪、TV调谐卡、数码照相机、数字摄像机、web照相机等。这些和其他的输入设备经由接口端口1638并通过系统总线1618而连接到处理单元1614。接口端口1638包括(例如)串行端口、并行端口、游戏端口和通用串行总线(USB)。输出设备1640将相同类型的端口中的一些端口用作输入设备1636。这样,例如,USB端口可以被用来将输入提供给计算机1612,并将信息从计算机1612输出到输出设备1640。提供输出适配器1642,以说明除其他输出设备1640之外,有一些要求特殊的适配器的输出设备1640,比如监视器、扬声器和打印机。举例说明来讲(不作限制),这些输出适配器1642包括在输出设备1640与系统总线1618之间提供连接手段的视频卡和声卡。应该注意,其他设备和/或设备的系统既提供输入能力,又提供输出能力(例如,远程计算机1644)。
计算机1612可以使用与一台或多台远程计算机(例如,远程计算机1644)的逻辑连接而在联网环境中进行操作。远程计算机1644可以是个人计算机、服务器、路由器、网络PC、工作站、基于微处理器的电器、对等设备或其他普通网络节点等,它通常包括相对于计算机1612而描述的许多或所有这些元件。出于简洁的目的,对远程计算机1644仅示出了记忆存储设备1646。远程计算机1644通过网络接口1648而在逻辑上被连接到计算机1612,然后经由通信连接1650而在物理上被加以连接。网络接口1648包含有线和/或无线通信网络,例如,局域网(LAN)和广域网(WAN)。LAN技术包括光纤分布式数据接口(FDDI)、铜分布式数据接口(CDDI)、以太网、令牌网等。WAN技术包括(但不限于)点对点链路、电路交换网络(比如综合业务数字网(ISDN)和其上的变更)、分组交换网、以及数字订户线(DSL)。
通信连接1650指的是用来将网络接口1648连接到总线1618的硬件/软件。为说明清楚起见而在计算机1612内部示出通信连接1650,但它也可以在计算机1612的外部。仅仅出于示范的目的,对于连接到网络接口1648而言是必要的硬件/软件包括内部和外部技术,例如,包括常见电话级调制解调器、电缆调制解调器和DSL调制解调器的调制解调器;ISDN适配器;以及以太网卡。
以上所描述的包括本发明的例子。当然,不可能为了描述本发明而描述组件或方法的每个想得到的组合,但本领域的普通技术人员可以认识到,可以存在本发明的许多其他组合和排列。因此,本发明意在包含处于所附权利要求书的精神和范围以内的所有这类改变、修改和变更。
特别是,关于上述组件、设备、电路、系统等所执行的各种功能,用来描述这类组件的术语(包括对“装置”的参考)意在对应于(除非另有指示)执行所描述的组件(例如,功能等价物)的指定功能的任何组件,即使在结构上不等同于所揭示的结构也是如此;该结构执行本发明的这里所示的示例性方面中的功能。在这方面,也将会认识到,本发明包括具有用于执行本发明的各种方法的动作和/或事件的计算机可执行指令的系统以及计算机可读介质。
此外,尽管只根据几项实施中的一项来揭示本发明的具体特整,但这种特整可以与其他实现的一个或多个其他特征相结合,对于任何给定或特定的应用而言,这可能是想要的和有利的。另外,就术语“包括”及其变体用于详细描述或权利要求书来说,这些术语意在按类似于术语“包含”的方式来起包含的作用。
权利要求
1.一种便于存储视频的系统,其特征在于,包括接收运动参数和计算机环境参数的组件;以及步进图像组件,它基于所述运动参数和所述计算机环境参数来确定最大步进图像尺寸和步进图像数量,并创建对应的步进图像,以使所述视频可以使用所述步进图像而不是所述源图像来呈现,并且仍然维持完全的保真度。
2.如权利要求1所述的系统,其特征在于,所述运动参数包括以下的至少一项源图像,放大;缩小;水平扫视;垂直扫视;以及扫视且缩放。
3.如权利要求1所述的系统,其特征在于,所述计算机环境参数包括以下的至少一项处理器速度;存储容量;帧速率;以及视频显示器。
4.如权利要求1所述的系统,其特征在于,所述步进图像被编码。
5.如权利要求1所述的系统,其特征在于,还包括在运动中缓和视频视觉感的运动控制器组件。
6.如权利要求5所述的运动控制器组件,其特征在于,它利用非线性绝对运动。
7.如权利要求6所述的运动控制器,其特征在于,它经由以下形式的二次方程式的使用来计算所述非线性绝对运动W=α(t-b)2+c其中,W是运动矩形的宽度,t=时间,a、b、c是常数。
8.如权利要求1所述的系统,其特征在于,还包括便于所述步进图像的编码的编码器组件。
9.如权利要求8所述的系统,其特征在于,所述编码器组件确定所述解码器将要对当前帧高速缓存的适当图像、以及将要放弃哪个图像,并且设置到解码器所利用的新编码的源图像的过渡方向。
10.如权利要求8所述的系统,其特征在于,一旦从源图像中最初生成视频帧,所述编码器组件就按序编码图像,并且设置到所述解码器所利用的新编码的源图像的过渡方向。
11.如权利要求1所述的系统,其特征在于,还包括人工智能组件,它至少部分地根据历史数据来推断所述最大步进图像尺寸和步进图像数量中的至少一项。
12.一种便于存储视频的系统,其特征在于,包括分析器组件,它确定与源图像和运动请求相关联的步进特征;以及步进图像生成器组件,它至少部分地基于所述步进特征来创建步进图像。
13.如权利要求12所述的系统,其特征在于,所述步进特征是最大步进图像尺寸和步进图像数量中的至少一项。
14.如权利要求13所述的系统,其特征在于,所述最大步进图像尺寸至少部分地基于所需的视频帧速率和处理器性能被定义为阈值。
15.如权利要求14所述的系统,其特征在于,所述运动请求是放大。
16.如权利要求15所述的系统,其特征在于,所述分析器组件利用nz=ceil(ln(wR1/wR2)lnsz)]]>来确定所述步进图像数量;其中,nz是用于放大的步进图像的数量,wR1是运动矩形R1的宽度,wR2是运动矩形R2的宽度,并且,sz是用于缩放运动的步进因子,它被定义为sz=wmaxstepwv;]]>其中,wmaxstep是步进图像的最大宽度,wv是视频宽度。
17.如权利要求14所述的系统,其特征在于,所述运动请求是缩小。
18.如权利要求17所述的系统,其特征在于,所述分析器组件利用nz=ceil(ln(wR2/wR1)lnsz)]]>来确定所述步进图像数量;其中,nz是用于缩小的步进图像的数量,wR1是运动矩形R1的宽度,wR2是运动矩形R2的宽度,并且,sz是用于缩放运动的步进因子,它被定义为sz=wmaxstepwv;]]>其中,wmaxstep是步进图像的最大宽度,wv是视频宽度。
19.如权利要求14所述的系统,其特征在于,所述运动请求是水平扫视。
20.如权利要求19所述的系统,其特征在于,所述分析器组件利用np=ceil(|XR2-XR1|sp)]]>来确定所述步进图像数量;其中,np是用于水平扫视的步进图像的数量,XR2是运动矩形R2的左上角的X坐标,XR1是运动矩形R1的左上角的X坐标,sp是用于扫视运动的步进因子,它被定义为sp=wmaxstep-wv;]]>其中,wmaxstep是步进图像的最大宽度,wv是视频宽度。
21.如权利要求14所述的系统,其特征在于,所述运动请求是垂直扫视。
22.如权利要求21所述的系统,其特征在于,所述分析器组件利用np=ceil(|YR2-YR1|sp)]]>来确定所述步进图像数量;其中,np是用于水平扫视的步进图像的数量,YR2是运动矩形R2的左上角的Y坐标,YR1是运动矩形R1的左上角的Y坐标,sp是用于扫视运动的步进因子,它被定义为sp=wmaxstep-wv;]]>其中,wmaxstep是步进图像的最大宽度,wv是视频宽度。
23.如权利要求14所述的系统,其特征在于,所述运动请求是扫视且缩放。
24.如权利要求23所述的系统,其特征在于,所述分析器组件利用n=max(nz,np)来确定所述步进图像数量;其中,n是用于扫视且缩放的步进的数量,nz是用于缩放运动的步进的数量,np是用于扫视运动的步进的数量。
25.一种便于存储视频的计算机实现的方法,其特征在于,包括确定与所接收的源图像和运动请求相关联的步进特征;以及至少部分地基于所述步进特征来创建步进图像。
26.如权利要求25所述的方法,其特征在于所述运动请求包括以下的至少一项放大;缩小;垂直扫视;水平扫视;以及扫视且缩放。
27.如权利要求25所述的方法,其特征在于,所述步进特征包括最大步进图像尺寸和步进图像数量中的至少一项。
28.如权利要求27所述的方法,其特征在于,所述最大步进图像尺寸至少部分地基于帧速率和处理器性能被定义为阈值。
29.如权利要求25所述的方法,其特征在于,还包括部分地基于所述运动请求来应用运动控制;以及为所述步进图像编码。
30.一种便于存储视频的计算机实现的方法,其特征在于,包括分析运动请求;确定最大步进图像尺寸和步进图像数量;计算开始运动矩形和结束运动矩形;获得所述开始和结束运动矩形的联合;计算比例缩放因子;按比例缩放所述开始和结束运动矩形的联合,它创建步进图像;以及在所述步进图像内计算所述开始和结束运动矩形。
31.一种便于存储基于图像的视频的、在两个或多个计算机组件之间传送的数据包,其特征在于,包括至少部分地基于运动参数和计算机环境参数的步进特征。
32.一种便于视频的存储的、存储计算机可执行组件的计算机可读介质,其特征在于,包括至少接收运动参数和计算机环境参数的组件;以及步进图像组件,它至少部分地基于所述运动参数和所述计算机环境参数来确定步进特征,并创建步进图像。
33.如权利要求32所述的计算机可读介质,其特征在于,还包括缓和视频视觉感的运动控制器组件;以及为所述步进图像编码的编码器组件。
34.一种便于存储视频的计算机实现的系统,其特征在于,包括用于接收运动参数和源图像的装置;用于确定步进特征的装置;用于至少部分地根据所述步进特征和所述运动参数来创建步进图像的装置;以及用于为所述步进图像编码的装置。
全文摘要
本发明提供一种便于通过使用至少一个步进图像来对与运动矢量相关联的源图像进行编码的系统和/或方法,其中,该步进图像提供所存储的视频数量中的缩减。步进图像组件确定最大步进图像尺寸和适当的步进图像数量,以便根据接收数据(例如但不限于运动参数和计算机环境参数)的输入组件来模拟平滑运动。此外,该步进图像组件可以利用在缩放运动期间便于平滑视频的视觉感的运动控制器组件。此外,该步进图像组件可以利用编码器组件,从而提供利用步进图像来编码的专门技术。
文档编号H04N5/91GK1801916SQ200510108868
公开日2006年7月12日 申请日期2005年9月30日 优先权日2004年10月6日
发明者张冬梅, M·Y·沙阿 申请人:微软公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1