视频处理方法
背景
存在用于处理并数字地更改视频图像的各种已知技术,这些技术可以在例如‘后生产’过程中使用以向视频添加特殊效果、从视频中移除缺陷或不想要的对象,等等。某些已知的自动技术通过跟踪照相机移动并使用跟踪数据来产生点云以映射视频图像上的点。可以使用帮助从视频中恢复多面体表面模型(也被称为表面网格)的交互式工具来构建更详细的模型。随后可以使用点云和表面模型来改变视频胶片。然而,如果视频胶片包括非刚性场景,例如,诸如由正在说话的脸部所展示的那些对象中的变形,则这可能阻止形成准确的模型。
以下描述的各实施例不限于解决已知视频处理技术的缺点中的任一个或全部的实现。
概述
下面提供本发明的简要概述以便向读者提供基本的理解。本概述不是本发明的详尽概观,并且既不标识本发明的关键/重要元素,也不描绘本发明的范围。其唯一目的是以简化形式提供在此公开一些概念作为稍后提供的更详细描述的序言。
公开了一种用于处理视频的方法和装置。在一实施例中,标识视频胶片的帧中的对象的图像特征并在整个视频胶片中跟踪这些特征中的每一个的移动来确定其迹线(轨迹)。分析该轨迹,确定该轨迹的最大分隔并用其来确定纹理图,进而对纹理图进行内插来提供对象的无包装马赛克。可以迭代该过程来提供改进的马赛克。可以在该马赛克上覆盖效果或图片并且可以经由映射来对经编辑的马赛克进行扭曲并与原始胶片的各层进行组合。效果或图片可以与对象的表面一起移动。
许多附带特征将随着参考下面的详细描述并结合附图进行理解而得到更好的认识。
附图说明
根据附图阅读以下详细描述,将更好地理解本发明,在附图中:
图1示出来自视频胶片的一部分的四个示例帧;
图2示出从图1的胶片中标识的前景对象;
图3示出从视频胶片中生成的多个轨迹;
图4示出从图3中所示的轨迹中生成的2D图;
图5示出从图4中所示的2D图中生成的马赛克;
图6示出经编辑的马赛克;
图7示出来自视频胶片的一部分的四个经编辑的示例帧;
图8是用于执行视频编辑的方法的流程图;
图9是更详细地示出图8中的方法的步骤的流程图;
图10是示出在编辑过程中允许用户交互的方法的流程图;以及
图11示出可在其中实现视频编辑的示例性的基于计算的设备。
附图中使用相同的附图标记来指代相同的部分。
详细描述
下面结合附图提供的详细描述旨在作为对本示例的描述,而非表示用于解释或利用本示例的唯一形式。本说明书阐述本示例的功能以及用于构造和操作本示例的步骤序列。然而,相同或等效的功能与序列可由不同的示例来实现。
图1示出从视频胶片的一部分中取得的四个示例帧100、102、104、106的表示。胶片包括站在山脉景色110前的人108,此人从右向左转并逐渐地咧开嘴微笑。背景山脉景色110还由于云112经过太阳114前面而随着时间改变。
在示例第一帧100中,人108正看向他的右侧。可以看见他的左耳,还可以看见他鼻子左侧的痣。在几秒钟之后从视频胶片中取得第二示例帧102中,人108已经转向面对照相机。他的左耳不再可见。云112漂移到了太阳114前方。在第三示例帧104中,人108保持面向照相机并开始咧开嘴微笑。现在他 的痣部分地被他的鼻子遮住。云112进一步漂移到了太阳114前方。在第四示例帧105中,人108已经转向看向他的左侧。现在痣完全地被他的鼻子遮住并且可以看见他的右耳。
该视频包括总共T个帧。在每一帧t中,在当前所捕捉的视图上的真实生活3D表面被捕捉为2D投影。3D表面此处被指定为S(u),而2D投影被指定为I(x),其中u是带有坐标(u,v)的2D向量而x是图像空间中带有坐标(x,y)的2D向量。可以容易地理解,未在每一帧2D投影中示出整个3D表面,例如,左耳变为因头的转向而被遮挡且痣变为因人的鼻子而隐藏。此处将其建模为‘遮挡蒙板’或‘对象空间可见性图’b(u),b(u)具有函数:
另外,表面上的每一点u具有一种色彩并且这可以用来构建表面的纹理图C(u)。S(u)中的每一点可以使用2D到2D映射被映射到C(u)中的点,此处被指定为w(u)。I(x)中的每一像素也具有一种色彩。随着入射到照相机上的光被聚焦,像素的色彩将取决于被聚焦到该像素上的表面区域中的所有色彩的函数。被聚焦的区域取决于照相机的‘点扩散函数’ρ。如本领域技术人员所熟知的,此函数(可以被视为照相机的质量的度量)可以被分类为‘高斯’函数、‘抛物柱面’函数或‘矩形波’函数并将取决于所使用的照相机。
因此每一图像I(x)可被定义为:
I(x)=∫ρ(w(u)-x)C(u)b(u)J(u)du
其中J(u)是映射雅可比(2x2矩阵J(u):=dw/du)的行列式。雅可比改变从一个2D空间(参数空间)到另一2D空间(图像空间)的积分区域。从项w(u)-x可以看到,点扩散函数以x为“中心”。
可以扩展该模型来覆盖视频胶片的每一帧。假定对象的色彩对视频的每一帧保持相同(这忽略了将在后文中解决的光照和阴影的效果),但映射w和可见性图b将逐帧改变。因此,T个帧的视频序列{I(x,t)}Tt=1可以如下定义:
I(x,t)=∫ρ(w(u,t)-x)C(u)b(u,t)J(u,t)du
可以作出进一步的修改来考虑序列中的多个对象。如果表面的数量(包括背景)是L(在附图中的示例中,L是4-人108、背景110、太阳112和云114),则每一对象由函数元组(Cl,wl,bl)来表示。图像因而可被定义为:
其中可见性蒙板b现在正在对对象间遮挡(诸如当云114遮挡住太阳112时)以及自遮挡进行编码。
上述模型假定C、b、w和I是连续函数。然而,实际上并不是这样。每一图像I可以被认为是带有一组整数值的离散量的像素的‘栅格’。此处,脱字符号(例如,
)将用于指定这些离散量。
此处描述的方法的一个目标是从给定数据
恢复未知变量
这使用能量最小化来解决,因为分解成色彩和运动允许对C、w和b施加强正则化函数(阻止过拟合)。该能量度量了参数解释输入帧以及提供参数的先验似真性的准确性-能量越低,参数越准确。
下面参考图2到7以及图8的流程图来描述对视频胶片执行的处理。某些步骤参考图9来更详细地描述。该过程得出为视频胶片的每一帧提供共同基准的马赛克。将变得显而易见的是,该马赛克由帧集的采样组成,并且该示例中的处理鼓励采样从而使得马赛克中的每一像素从其中最正面平行(即,面向前方)的输入帧t中取得。
将视频胶片上传到诸如图11中示出的设备1000等计算设备(框802)。将胶片分成各帧并且将每一帧分割成独立的对象(框804)。在该示例中,对象是人108、背景110、太阳112和云114。存在技术人员熟悉的用于使用分割图来分割图像的各种已知技术,并且详细地讨论任何特定技术超出了本文档的公开范围。
在该示例中,计算设备1000能够自动地计算分割图。然而,在其他示例中,该方法可以包括允许或要求用户交互来指示不同的对象。如技术人员所熟知的,这可以包括利用输入设备来指示哪个是背景对象哪个是前景对象。这可以包括例如使用计算设备1000的鼠标对图像施加‘画笔描边’。在某些示例中,用户可以提供与若干帧相关的输入并且可以使用光流来传播分割。用于分割的手动输入可以适用于带有许多有相似色彩统计量的前景对象或展示与前景对象相似的移动的背景对象的胶片,或可能混淆自动算法的任何其他胶片。可以用人类帮助来补充自动分割。另选地或另外地,该方法可以在该方法的稍后阶段允许或要求用户交互来纠正或改进输出。
随后可以将不同的对象彼此隔离并独立地处理。图2示出在第一示例帧100的分割之后从背景110中隔离的人200,并且该分割通过帧进行传播。
图2还示出已经确定(框806)并且与图像的各特征相关联的多个点202、204、206、208、210。
这些所确定的点是在可以在整个视频胶片中跟踪它们的基础上而选择的。这通过标识图像中的高对比度或高变化的点处的容易识别的特征来执行。在该示例中,所标识的五个点是右耳洞角落202、痣204、嘴巴的右侧角落206、右眉毛的右侧边208和左眉毛的右侧边210。可以理解,在该方法的实际应用中,可以存在多的多的所标识的点(可能几千个),但出于清楚的原因而限制此处示出的点的数量。所标识的点的数量可以取决于特定视频,并且其他示例可以具有例如100-5000个点之间的点数。
下一阶段是在视频胶片中跟踪这些点中的每一个(框808)。假定虽然该模型正在改变其形状,但纹理图是恒定的(即,人的特征在胶片中不改变色彩)。随着对象上的每一点202、204、206、208、210在视频中移动,它生成了2D迹线或轨迹302、304、306、308、310,这些轨迹示意性地在图3中示出。可以使用技术人员熟悉的各种方法来用于点检测和跟踪。
在位置u处的对象点的迹线是2D点序列w(u,t)=[w(u,1);w(u,2):...;w(u,T)]。
接着,为每一点确定它应该被表示在表示视频胶片的马赛克上的何处。创建随后可以用来生成马赛克的图(框809)。
点轨迹302、304、306、308、310可以被视为2D表面参数的多维投影。如以下更详细地讨论的,在该示例中,每一点通常被表示在马赛克中沿着其迹线的该轨迹与所有其他轨迹最远的位置处(即,各轨迹被最优地隔开)。参数空间中的每一点(u,v)生成图像位置向量(x1,y1,x2,y2,...xt,yt)。表面的参数空间可以通过计算点轨迹到2D的嵌入并为每一轨迹产生坐标来恢复。这种嵌入从可视化的域中得知,并且已经用于为3D模型创建纹理坐标,因此将为技术人员所熟知。在当前描述的方法中,不存在3D模型,但类似的推导得出一种算法,该算法为每一迹线选择二维坐标(u,v)来确定迹线差,计算该迹线差从而使得2D坐标之间的距离与迹线之间的差相似。在某些示例中,迹线差 可以是2维向量,而在其他示例中,迹线差可以是向量范数差。在该示例中,参数空间中的点的间隔与图像帧中轨迹对被最大程度地分开处的距离相当。这也可能是图像中的底层点‘脸部朝前’处的点。在其他示例中,可以使用‘softmax’函数来确定迹线差。如技术人员所熟知的,softmax函数是计算来自网络输入的输出的神经传输函数,并且还鼓励选择正面平行的点。
这允许创建了图400(框810),诸如图4中示意性地示出的。对该图400进行内插允许将每一图像扭曲为可以被表示为诸如图5中示出的马赛克500等马赛克的共同帧(框812)。图400中的每一点用与视频中沿着其迹线的所选坐标处的特征相对应的像素(将与视频胶片的特定帧相对应)来替换。内插使用标准马赛克拼接技术的变形,该技术具有即使在某些按帧映射具有较大误差的情况下也常常选择好的纹理图的性质。这在下面将更详细地讨论。结果是诸如图5中示出的马赛克500之类的马赛克。这具有对象已经被‘解开’的表现,就像是已经从底层对象剥离了表面一样。
随后执行迭代来使用能量最小化技术来细化马赛克(框814)直到获得预定的全局收敛度量(框816)。初始马赛克可能不是胶片的最佳表示,但一般将足够好来创建基准模板来对照原始帧进行匹配。因为这种匹配是针对单个基准的,所以它降低了可能在原始跟踪阶段后已经出现的任何‘漂移’。‘漂移’可在例如如果阴影移动到对象之上并且跟踪了该阴影而非特征,或者如果两个相似的特征靠近在一起并且跟踪错误地跟随了第一个特征再是另一个特征时发生。映射正则化定义了密集内插,从而使得轨迹信息被传播到场景的被遮挡的区域,从而给出对象运动的完整描述。换言之,最初仅仅在特征点处定义映射,并且映射只在这些点处是可靠的。然而,因为正则化“平滑”了映射,所以它将映射的定义从特征点延伸到了全部uv空间,但点离特征点越远,它就越不可靠。
现在参考图9来描述能量最小化过程。如技术人员所熟知的,术语‘能量最小化’用于指代试图获得作为在成本或“能量”函数下的最佳选择的解的优化过程。与解相关联的能量函数度量了其对于所观察的数据和先验知识的一致性。
此处描述的能量最小化过程中的第一个步骤包括轨迹细化(框902)。轨 迹细化允许对轨迹间距离(即,轨迹差)的改进的估计,从而通过迭代这些过程可以获得改进的嵌入和马赛克。如下文更详细地描述的,因为每一阶段最小化同一个能量函数,所以可以定义一致的全局收敛度量并且可以确定迭代的终点。例如,可以执行迭代直到E(能量)的改变<1%。
可以如下评估并细化轨迹集。能量中的第一项是数据成本,这鼓励解要与所观察的数据一致。它鼓励模型预测输入序列,尤其是解释每一输入图像像素并因此标识最佳轨迹。如果输入帧是I(*,t)。则数据成本的基本形式是其和:
健壮范数||e||τ=min(||e||,τ)处理由于光照或小的未建模的遮挡导致的离群像素。将健壮核宽度τ设定为与图像噪声的估计匹配。对于相对无噪声的视频序列,这可以设得很低,例如,10/255灰度级。对于噪声相对较大的视频序列,这可以设得较高,例如,50/255灰度级。
该成本是
中的点样本的离散和,但在对
进行求值时包含连续积分。对积分进行求值产生离散模型:
其中权重
是映射w、其雅可比以及点扩散函数的函数。该权重度量了每一
点对像素x的贡献,并且除了几个点
之外其余全部为零。数据成本因而是:
可以使用对纠正区域采样的逼近,这如下给出:
其中U(x,t)是投影到给定图像像素的全部纹理图像素的集合,由
来定义,它可以被认为是映射到点扩散函数ρ在x处的非零值的点u。
最小化数据项产生将每一纹理像素映射到单个图像像素的重构。如果在每一帧中出现任何色彩,则对于所有u将C(u)设为该色彩,并且将映射设为
其中(x(t),y(t))是帧t中该色彩的像素。这给出对于b的任何设置E
数据=0。因此将模型的搜索限于解释每一像素的那些模型。这通过将基于“贡献像素的计数”的“惩罚”函数合并到能量中来施加。
这产生了能量项:
其中阈值τc是该算法的参数。随后可以容易处理地优化这一公式,例如用图形剪切公式。
如从图5可以看出的,马赛克对脸的左手侧使用视频胶片的早期帧,例如,第一示例帧102,因为这一部分在这些早期帧中是‘脸部朝前’的。后期帧(由咧开嘴的微笑来表征),例如第四示例帧106用来创建脸的右手侧。这还可以通过确保平滑地映射w来优化。
映射w是3D表面的投影的代理,它被假定为经历随时间的平滑变形。还假定相对较平滑的照相机运动。鼓励映射在至少一个帧中是正面平行的。在没有照相机滚动或缩放的情况下,这可以被表达为能量:
对于每一个u,映射雅可比应该与至少一个帧中的恒等式接近。为了解决关于照相机光学中心的旋转和缩放,估计对于每一帧的整体2D仿射变换Ht(如技术人员所熟知的,‘仿射变换’是包括先变换后平移的两个向量空间之间的变换),并且最小化以下函数。
结合这种形式的时间相干项:
这得到与弱隔膜类似的空间正则化器。该正则化器得到一种初始化参数化的方式。如技术人员所熟知的,“弱隔膜”模型使用贝叶斯推断框架中的马尔可夫随机场来用于图像的重构和分割问题。
下一步骤是最小化遮挡蒙板的能量。回想,遮挡图b用来表示隐藏表面移除的效果而不必显式地对3D几何结构进行建模。使用b中的不连续很少的假定,定义在已知图像分割技术中使用的对不连续进行计数的Potts能量:
其中N是2x1的邻居集,而Potts(b1,b2)在b1≠b2时为1,否则为零。可以在时间上应用相似的项,将映射考虑在内:
其中,Δu(u,t)=J(u,t)-1(w(u,t+1)-w(u,t))使用雅可比来将图像中的局部位移转换成马赛克上的位移。
最终正则化项鼓励纹理图C具有与输入序列相同的纹理统计量。通过如下所述地添加纹理先验来鼓励纹理图中的相邻像素来自同一输入图像。
以上各项的线性组合产生了总能量。
在能量中出现了必需进行设置的若干调整参数(λ1...4,τ1...3)。在嵌入距离计算中的比例参数τ3对于较不详细的图像(或图像的部分)设置得较高(例如,40像素左右)而对于较详细的图像(或图像的部分)设置得较低(例如,10像素左右)。该参数还可通过从高的值开始并减小来用作收敛控制。
通过坐标下降来最小化能量并进而优化变量的子集。
一旦得到每一个映射w和遮挡蒙板b,对纹理图C求解这些变量。因为只有能量的E
数据项取决于C,所以对于固定输入图像大小,最小化即是C=argmin
cE
数据。可以通过限制对C的选择将健壮范数下的最小化塑造为例如图形剪切问题。具体地,被标记为
的整数与每一纹理图像素
相关联,这指示了要从中选择
的输入帧中的一个。通过w的逆对输入图像进行扭曲来生成对准的图像
通过计算
并设
来优化该图像中的任何像素
处的C。
此时,可以将纹理先验添加到原始能量,这鼓励从同一输入帧中取得纹理图中的相邻像素,产生以下形式的能量:
这可以通过使用例如图形剪切技术来优化,如本领域技术人员所熟知的。
不表现为能量函数的显式参数的一个变量与u空间的参数化有关。数据成本E数据按构造对于再参数化是不变的,但是正则化器并非如此。具体地,能量函数的正则化项的值取决于u空间的参数化(因为在这些项中出现了关于u的导数)。这对于数据成本来说并非如此,数据成本独立于如何表示u空间或者如何对u空间进行编码。
对总体算法的初始化包括使用如上所述的标准计算机视觉技术来获得稀疏点轨迹。第i个轨迹是集合
其中T
i是其中跟踪点的帧索引集合,并且u
i是参数空间中的轨迹的未知预图像。找到这些u
i将锚定所有其他计算。输入x可以被视为w在某些随机隔开的点处的采样,这些点的位置未给出但是可以发现。必须使用涉及关于u的导数的正则化器来为x的每一个值找到u。
找到最优的参数化因而包括对ui值赋值从而最小化扭曲正则化器项E(w)+Ew时间(w)。对于带有坐标ui和uj的给定轨迹对,必须确定最小化正则化器的映射(服从与轨迹一致的映射)的能量:
从而
只需要最小化能量的值,而非映射本身。可以表明,在作为ui和uj的函数的配对情况下的最小能量是:
如上给出若干轨迹,选择ui来最小化加权距离之和:
这与经由多维缩放的嵌入类似,但带有距离加权项
最小化被实现为迭代的再加权最小平方问题。实际上,为了避免由于u
i和u
j在优化期间变得靠近而引发的数字问题,可以使用指数加权exp(-||ui-uj||/τ
3)
2。从稀疏轨迹中估计仿射变换Ht并在嵌入之前应用。
实现如下。每一轨迹对被赋予一随机权重,并且找到最小化二次型
随后使用μij=exp(-(||ui-uj||/τ3)2)用新的u来重新计算μij,并将过程迭代至固定点。在不同的随机初始化的情况下多次地重新启动嵌入,并且保留最小化原始能量的u。
因为可能存在成千上万条轨迹,所以该方法可以包括用轨迹的子集(例如1000条)来进行初始化并为该子集对嵌入进行求解。固定那些u值并最小化下一子集,包括从新的集合链接到已经对其求解的集合的配对项。每一子问题是1000x1000大小的二次型,这可以在典型的家庭计算机上在几分钟内计算。
马赛克大小自然地由这一过程来选择:因为(u,v)空间中的距离是按像素来度量的,并且因为鼓励点对在输入序列中尽可能地远地分开,所以所恢复的坐标的边界框被确定大小为存储模型而不损失分辨率。
接着,给定轨迹及其嵌入坐标,可以获得密集映射w。在这种情况下,
从而用每轨迹一个约束来最小化 并且所得w可以在1D中被示为初始轨迹数据的线性内插。
随着这一未证实的假设意味着无法保证最小化原始能量,但可以作出检查(框908)来确定总体能量是否在每一迭代都降低,并且可以用不同的参数再次尝试能量增加处的迭代直到能量降低(框910)。如果在每一阶段验证原始能量的降低,则使用自组优化器即使在实际他们可能具有其自己的调整参数的情况下也只会影响收敛的速率而非正确性。如果能量降低了,则接受迭代(框912)并考虑是否已经达到收敛度量(框816)。
在某些情况下,将遮挡考虑在内,这需要在w和b上进行最小化。
如上给定对w的初始逼近,可能同时为b和细化的映射进行求解。通过求解对初始估计的更新Δw,该问题可被塑造为光流计算问题之一。因为所有能量项都取决于w和b,所以现在最小化是针对所有能量项的了。
更新的能量被实现为健壮光流的变体,来代替在多分辨率金字塔上搜索Δw和b。如果
是纹理图的当前估计并遵循与光流的类比,则在当前映射估计w下表示图像I(x,t)的逆扭曲
即
随后,我们希望用如上的E
b和E
b时间来确定在局部正则化器
下最小化
的更新Δw。
经由向前/向后实现来施加时间平滑度,其中映射w和前一帧的蒙板b使用各帧之间的图像域光流被变换成当前帧的坐标系,并且作为先验添加到当前估计,如下:
在之前的整个讨论过程中忽略了光照。这可以用两种方式来解决。首先,当匹配特征在帧之间改变(或从马赛克到输入帧改变)时,可以使用比例不变特征变换(SIFT)描述符。如技术人员所熟知的,SIFT是用于检测并描述图像中的局部特征的一种算法。第二,在迭代地计算映射(框904)时,可以扩展型式
的能量项来包括带有强空间平滑度先验的每像素强度密封项α(x),β(x),所以该匹配最小化以下表达式:
这给出了在不允许任何色彩与任何其他色彩进行匹配的情况下平滑地改变光照的不变性。以上进而通过按照一组粗略的固定基础函数来定义α和β来实现,这些固定基础函数的权重被包括在基于金字塔的匹配方案中。
虽然以上算法可以完全自动地工作,但是一般会存在纹理缺失、重复的结构、或运动模糊的情形,这意味着所恢复的马赛克未覆盖所有对象。在一个示例中,用户交互可以用来纠正这些差错。在现在参考图10的流程图所描述的 示例中,两个原则指导了这种交互的设计:第一,交互是指示性的而非精确的,并且利用基于画笔的交互(其他示例可以利用指定诸如映射的值之类的精确坐标的交互)。第二,交互传播:仅与一个帧的交互具有对许多其他帧的影响。
现在描述的交互涉及改进马赛克覆盖。例如,并非视频的全部帧都在最后的马赛克中表示。将马赛克呈现给用户(框950),用户例如通过观察马赛克中缺少诸如痣之类的特征意识到包含信息的独特部分的一个或多个帧未被包括在内(框952)。如果观察到这种情况,则用户可以通过对该帧中的特征应用画笔描边来迫使特定帧被包括在马赛克中(框954)。这导致对某一组
拼接变量
被给予固定的值。这些可被合并成在对下式的优化中的硬约束:
这产生了更好的马赛克覆盖,这意味着映射细化阶段可以获得多个对象的表面上的良好的流。该特征被推入马赛克中。
一旦优化了马赛克(框818),则可以执行各种编辑任务(框820)。在该示例中,如图6所示,在马赛克上绘制了头发600和眉毛环602。可以经由所恢复的映射来对这一经编辑的马赛克进行扭曲,并且将其与原始序列的其他层进行组合(框852)。这具有随着对象移动在对象的表面上绘制的效果,如图7的经编辑的帧所示,其中头发600和眉毛环602随着人的头一起移动。实际上,重新渲染的马赛克将无法精确地匹配原始序列,所以该示例中的编辑被表示为纹理图上的覆盖层,该覆盖层通过2D-2D映射来变形、被遮挡蒙板遮蔽、并且与原始图像进行阿尔法混合。如技术人员所熟知的,‘阿尔法混合’是实现图像中的透明效果的两种色彩的组合。另一可能的编辑是移除层或层的部分:可以填充所移除的区域,因为即使在被遮挡区域中也要定义映射。这将允许移除云114:可以从其他帧填充背景110和太阳112。在其他示例中,图像对象的大小、形状或长宽比可以改变,并且同样地可以从其他帧填充这些改变所揭示的任何背景。
图11说明了示例性的基于计算的设备1000的各个组件,设备1000可以用其中能实现本发明各实施例的任何形式的计算和/或电子设备来实现。
基于计算的设备1000包括用于接收诸如来自数码摄像机的输入等输入的 任何合适类型的一个或多个输入1004。设备1000还包括用于与诸如服务器、其他计算设备、以及类似设备等其他实体进行通信的通信接口1008。
基于计算的设备1000还包括一个或多个处理器1001,该一个或多个处理器可以是微处理器、控制器、或用于处理计算可执行指令以控制设备的操作以便执行处理视频序列所需的功能的任何其他合适类型的处理器。可以在基于计算的设备处提供包括操作***1002的平台软件或任何其他合适的平台软件以使得所述基于计算的设备允许应用软件1005在设备100上执行。
计算机可执行指令可使用诸如存储器1003这样的任何计算机可读介质来提供。存储器具有任何合适的类型,诸如随机信息存储器(RAM)、诸如磁或光存储设备等任何类型的盘存储设备、硬盘驱动器、或CD、DVD或其他盘驱动器。也可使用闪存、EPROM或EEPROM。
还可以向与基于计算的设备集成或通信的显示***提供输出1007,如音频和/或视频输出。显示器***可以提供图形用户界面或任何适当类型的其它用户界面,但这并非必需的。
此处使用的术语‘计算机’表示具有处理能力以使其能够执行指令的任何设备。本领域技术人员将认识到这些处理能力被结合到许多不同设备中,并且因此术语‘计算机’包括PC、服务器、移动电话、个人数字助理和许多其他设备。
在此描述的各方法可由有形存储介质上的机器可读形式的软件执行。软件可适于在并行处理器或串行处理器上执行以使得各方法步骤可以按任何合适的次序或同时执行。
这确认了软件可以是有价值的、可单独交易的商品。它旨在包含运行于或者控制“哑”或标准硬件以实现所需功能的软件。它还旨在包含例如用于设计硅芯片,或者用于配置通用可编程芯片的HDL(硬件描述语言)软件等“描述”或者定义硬件配置以实现期望功能的软件。
本领域技术人员将认识到用于存储程序指令的存储设备可分布在网络上。例如,远程计算机可存储描述为软件的该过程的示例。本地或终端计算机可访问远程计算机并下载该软件的一部分或全部以运行该程序。或者,本地计算机可按需下载软件的片断,或可以在本地终端处执行一些软件指令而在远程计算 机(或计算机网络)处执行一些软件指令。本领域技术人员将认识到,通过使用本领域技术人员已知的常规技术,软件指令的全部或部分可由诸如DSP、可编程逻辑阵列等专用电路来执行。
如本领域技术人员将清楚的,此处给出的任何范围或者设备值都可以被扩展或者改变而不失去所寻求的效果。
可以理解,上述各好处和优点可涉及一个实施例或者可涉及若干实施例。各实施例不限于解决所述问题中的任一个或全部的实施例或具有所述好处和优点中的任一个或全部的实施例。还可以理解,对‘一个’项目的引用指的是这些项目中的一个或多个。
本文中描述的各方法步骤可以在适当时按任何合适的次序或同时执行。另外,可从任一种方法中删除各个框,而不背离此处所述的主题的精神和范围。上述示例中的任一个的各方面可以与所述其他示例中的任一个的各方面组合以形成其他示例而不失去所寻求的效果。
术语‘包括’此处用来指包括所标识的方法框或元素,但这些框或元素不构成排他列表,并且方法或装置可包含附加框或元素。
可以理解,上面对一较佳实施例的描述只是作为示例给出并且本领域的技术人员可以做出各种修改。以上说明、示例和数据提供了对本发明的各示例性实施例的结构和使用的全面描述。尽管以上带着一定程度的特殊性或对一个或多个单独实施例的参考描述了本发明的各实施例,但是本领域的技术人员能够对所公开的实施例做出多种更改而不背离本发明的精神或范围。