基于规则的视频重要性分析的制作方法

文档序号:12288091阅读:268来源:国知局
基于规则的视频重要性分析的制作方法与工艺

消费者频繁使用其智能电话和个人录像机来捕捉视频。然而,这些消费者中仅小比例的消费者编辑并与其他人共享其视频。此外,消费者可发现对这样的视频的编辑是乏味的过程,因为视频一般在没有太多计划的情况下按随意的方式被拍摄,并且可能仅包含几个有趣的时刻。由于更多视频由消费者随时间生成,因此消费者也可能很难记住这些视频的内容。尽管大多数视频回放设备可提供视频的缩略图像表示,但这样的缩略图像表示可能无法将足够的线索提供给视频的内容。

概述

本文中描述了用于执行对视频文件的基于规则的分析以基于其重要性对视频文件的各区进行排序的技术。这些技术还可包括执行对视频文件集合的基于规则的分析以基于其重要性对多个视频文件进行排序。视频文件或视频区的重要性可与该视频文件或视频区被期望在查看器中生成的兴趣量相关。在各实施例中,基于规则的分析可基于视频文件或视频区中的视频帧的主观重要性和/或客观技术质量来评估该视频文件或视频区的重要性。

提供本概述是为了以简化的形式介绍将在以下详细描述中进一步描述的一些概念。本概述并不旨在标识所要求保护主题的关键特征或必要特征,也不旨在用于限制所要求保护主题的范围。

附图简述

参考附图来描述具体实施方式。在附图中,附图标记最左边的数字标识该附图标记首次出现的附图。在不同的附图中使用相同的附图标记来指示相似或相同的项。

图1是解说用于使用基于规则的视频分析引擎来基于视频文件中的视频区或视频文件集合中的视频文件的重要性对所述视频文件中的视频区或视频文件集合中的视频文件进行排序的示例方案的框图。

图2是示出用于基于视频文件的各视频区或视频文件集合中的各视频文件的重要性对所述视频文件的各视频区或视频文件集合中的各视频文件进行排序的基于规则的视频分析引擎的示例组件的说明性示图。

图3是示出使用单应变换(homograph transform)来对准多个视频帧中的示例特征点的说明性示图。

图4是解说用于使用基于规则的视频分析来分析视频文件的特征以便基于视频文件中的各视频区的重要性来对视频文件中的视频区进行排序的示例过程的流程图。

图5是解说用于使用基于规则的视频分析来分析视频文件的特征以基于重要性来对视频文件进行排序的示例过程的流程图。

图6是解说用于计算视频帧的脸重要性分数的示例过程的流程图。

图7是解说用于通过分析特征点的移动来确定视频内的重要视频区的示例过程的流程图。

详细描述

本文中描述了用于执行对视频文件的基于规则的分析以基于视频文件的各区的重要性对视频文件的各区进行排序的技术。这些技术还可包括执行对视频文件集合的基于规则的分析以基于视频文件的重要性对视频文件进行排序。视频文件或视频区的重要性可与该视频文件或视频区被期望在查看器中生成的兴趣量相关。在各实施例中,基于规则的分析可基于视频文件或视频区中的视频帧的主观重要性和/或客观技术质量来评估该视频文件或视频区的重要性。主观重要性的示例可以是查看器将认为描绘该查看器知道的人的脸的视频帧比描绘该查看器不知道的人的脸的视频帧更加重要。客观技术质量的示例可以是视频帧的曝光质量。

基于规则的分析包括在逐帧的基础上分析视频文件的音频内容和视频内容以得到多个低级特征和高级特征。例如,低级特征可包括诸如曝光质量、饱和度质量、视频帧抖动、平均亮度、色彩熵和/或毗邻视频帧之间的直方图差异之类的特征。高级特征可包括诸如在视频帧中检测到的人脸的数量、位置和/或脸部特征之类的特征。该分析可包括对局部规则和全局规则的应用。局部特征可在生成针对一视频帧的特征分析结果期间被应用,且全局规则可在生成针对整个视频文件的特征分析结果期间被应用。

这些规则可提供并组合来自特征分析的结果以生成重要性分数。可生成针对视频文件中的各帧、视频的各区和/或视频文件作为其整体的重要性分数。这些重要性分数可被用于对视频文件的各区和/或视频文件进行排序。这些重要性分数可被用于促成对视频文件的查看、编辑和共享。例如,消费者可选择具有最高重要性分数的视频文件集合以供在网站上共享。在另一示例中,应用可将视频文件中的具有最高重要性分数的各区缝合在一起以创建精彩片段视频文件。

在一些实例中,视频文件可基于所检测到的相机运动的量被分段成具有不同重要性程度的视频区。相机运动可经由在视频文件中的视频帧中检测到的特征点的移动来检测。在一些实例中,视频区的重要性可与该视频区被期望从查看器引出的兴趣量有关。

对本文中描述的技术的使用可使得用户能够基于视频文件对用户的重要性来对视频文件进行排序。基于这样的排序,用户可决定要保留哪些视频文件以及要删除哪些视频文件。在一些实例中,用户还可使用视频文件的排序来确定是否将特定视频文件张贴到在线共享网站上。本文中描述的技术还可呈现表示视频文件的各重要性区的缩略图像表示,使得用户看一眼就可分辨出视频文件的感兴趣部分。这样的信息可帮助用户编辑视频文件以改善内容质量或突出显示视频文件的特定区。以下参考图1-7来描述根据各种实施例的用于执行对视频文件的基于规则的分析的技术的各示例。

示例方案

图1是解说用于使用基于规则的视频分析引擎来基于重要性对视频文件的各视频区或视频文件集合中的各视频文件进行排序的示例方案100的框图。该示例方案100可包括视频分析引擎102。视频分析引擎102可在一个或多个计算设备104上执行。该一个或多个计算设备104可包括通用计算机,诸如台式计算机、平板计算机、膝上型计算机、服务器等等。然而,在其他实施例中,计算设备104可包括智能电话、游戏控制台或者任意其他电子设备。这多个计算设备104可包括各种处理器,诸如中央处理器单元(CPU)、图形处理器单元(GPU),其他类型的处理器或者以上任意的组合。

视频分析引擎102可执行对视频集合106的基于规则的分析。视频集合106可包括多个视频文件,诸如视频文件108(1)-108(N)。基于规则的分析包括在逐帧的基础上分析视频文件108(1)-108(N)的音频内容和视频内容以得到多个低级特征110和高级特征112。例如,多个低级特征110可包括诸如曝光质量、饱和度质量和视频帧抖动之类的特征。多个高级特征112可包括诸如在视频帧中检测到的人脸的数量、位置和脸部特征之类的特征。

通过执行基于规则的分析,视频分析引擎102可生成针对视频文件(诸如视频108(1))的各区的重要性分数以及视频文件(诸如视频集合106中的视频文件108(1)-108(N))的重要性分数。因此,视频分析引擎102可根据视频的各区的重要性分数对视频的各区进行排序。例如,视频文件108(1)可包括视频区114和视频区116,视频区114和视频区116分别根据其重要性分数(诸如重要性分数118和120)来排序。一旦视频区被排序,视频分析引擎102可显示这些视频区的缩略图像表示,其中缩略图像表示的选择可使得媒体播放器122播放相应的视频区。

视频分析引擎102还可根据视频集合106中的视频文件的重要性分数对所述视频集合106中的视频文件进行排序。例如,视频集合106中的视频文件108(1)-108(N)可根据其重要性分数124(1)-124(N)来排序。一旦视频文件被排序,视频分析引擎102可显示这些视频文件的缩略图像表示,其中对缩略图像表示的选择可使得媒体播放器122播放相应的视频文件或该相应的视频文件的一区。

示例组件

图2是示出用于基于视频文件的各视频区或视频文件集合中的各视频文件的重要性对所述视频文件的各视频区或视频文件集合中的各视频文件进行排名的基于规则的视频分析引擎102的示例组件的说明性示图。视频分析引擎102可由一个或多个计算设备104来实现。计算设备104可包括一个或多个处理器202、接口204和存储器206。处理器202中的每一个可以是单核处理器或多核处理器。接口204可包括用户接口和网络接口。用户接口可包括数据输出设备(例如,视觉显示器、音频扬声器)以及一个或多个数据输入设备。数据输入设备可包括但不限于,键区、键盘、鼠标设备、接受手势的触摸屏、话筒、话音或语音识别设备、以及任何其他合适的设备或其他电子/软件选择方法中的一个或多个的组合。

网络接口可包括使得计算设备104能够经网络传送和接收数据的有线和/或无线通信接口组件。在各种实施例中,无线接口组件可包括但不限于,蜂窝、Wi-Fi、超宽带(UWB)、个域网(例如,蓝牙)、卫星传输和/或等等。有线接口组件可包括直接I/O接口,如因特网接口、串行接口、通用串行总线(USB)接口等等。如此,计算设备104可具有网络能力。例如,计算设备104可经由一个或多个网络(如因特网、移动网络、广域网、局域网等等)来与其他电子设备(例如,膝上型计算机、台式计算机、移动电话服务器等)交换数据。

存储器206可以用诸如计算机存储介质之类的计算机可读介质来实现。计算机可读介质包括至少两种类型的计算机可读介质,即计算机存储介质和通信介质。计算机存储介质包括以用于存储如计算机可读指令、数据结构、程序模块或其它数据等信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。计算机存储介质包括但不限于,RAM、ROM、EEPROM、闪存或其他存储器技术、CD-ROM、数字多功能盘(DVD)或其他光存储、磁带盒、磁带、磁盘存储或其他磁存储设备,或者可用于存储信息以供计算设备访问的任何其他非传输介质。相反,通信介质可在诸如载波之类的已调制数据信号或其他传输机制中体现计算机可读指令、数据结构、程序模块或其他数据。如本文所定义的,计算机存储介质不包括通信介质。

计算设备104的存储器206可存储操作系统208和实现视频分析引擎102的模块。操作系统208可包括使计算设备104能够经由各种输入(例如,用户控件、网络接口、和/或存储器设备)来接收数据并且能够使用处理器202来处理数据以生成输出的组件。操作系统208还可包括呈现输出(例如,在电子显示器上显示图像、在存储器中存储数据、将数据发送给另一电子设备等)的一个或多个组件。操作系统208可使得用户能够使用接口204与视频分析引擎102的模块进行交互。另外,操作系统208可包括执行一般与操作系统相关联的各种其他功能的其他组件。

这些模块可包括视频解码器模块210、低级分析模块212、高级分析模块214、运动分析模块216、重要性计算模块218、视频分段模块220、视频排序模块222和用户接口模块224。这些模块中的每一者可包括执行特定任务或实现特定抽象数据类型的例程、程序指令、物体和/或数据结构。此外,数据存储226可驻留在存储器206中。低级分析模块212和高级分析模块214中的每一者都可应用局部规则或全局规则以分析视频文件中的特征数据(即,视频数据和/或音频数据)的重要性。局部规则可基于单个视频帧中的特征数据来影响对该单个视频帧的重要性的分配。相反,全局规则可基于整个视频文件的多个视频帧中的特征数据来影响对该视频文件的重要性的分配,或者基于跨该视频文件中的视频帧集合共享的特征来影响对该视频帧集合中的每一视频帧的重要性的分配。

视频解码器模块210可对视频文件(诸如视频文件108(1))进行解码以获得各视频帧和/或与这些视频帧中的每一者相关联的音频数据。视频解码器模块210可使用各种编解码器来对各视频文件(诸如H.264、MPEG-2、MPEG-4等)进行解码。

低级分析模块212可分析每一经解码的视频帧以获得低级特征以产生特征分数。在各实施例中,低级特征可包括曝光质量、饱和度质量、色调种类、抖动、平均亮度、色彩熵和/或毗邻视频帧之间的直方图差异。低级分析模块212可使用算法来导出示出视频帧的曝光、饱和度和色调的直方图。在曝光质量的分析中,低级分析模块212可分析视频帧的曝光平衡的曝光直方图。低级分析模块212可根据局部规则来基于曝光平衡来向视频帧分配曝光评级分数,其中越高的曝光平衡可导致越高的曝光评级分数。相反地,视频帧的越低的曝光平衡可导致越低的曝光评级分数。

在饱和质量的分析中,低级分析模块212可分析视频帧的饱和度直方图,诸如HSV色彩空间的饱和度直方图。基于该分析,低级分析模块212可根据局部规则来计算饱和度分数,该饱和度分数反映饱和度直方图中的值的中间集合的饱和度量。由此,该中间范围中越多的饱和度导致视频帧的越高的饱和度分数。相反,该中间范围中越少的饱和度导致视频帧的越低的饱和度分数。

在对色调种类的分析中,低级分析模块212可为视频帧评估色调直方图的平衡。低级分析模块212还可基于局部规则来分配色调分数。因此,在视频帧的色调被良好地平衡时,即示出越多种类的色彩时,低级分析模块212可分配越高的色调分数。相反,在视频帧的色调越不平衡时,即示出越少种类的色彩时,低级分析模块可分配越低的色调分数。

在对抖动的分析中,低级分析模块212可使用运动分析模块216来跟踪特征点在各帧之间的移动,并生成对那个移动进行建模的变换。特征点是某视频帧中可跨多个视频帧被可靠地定位的兴趣点。特征点是与众不同的,因为特征点包含2维(2D)结构,并且可在x和y方向中被定位。低级分析模块212可使用该变换来分析与特征点运动的幅度和方向有关的局部和全局趋势。局部和全局趋势可将视频文件中的抖动量化为局部的每帧改变的属性。视频文件的抖动可由运动分析模块216来确定,如以下参考运动分类分析所描述的。因此,低级分析模块212可应用向视频文件分配与视频文件中的抖动量成反比的抖动分数的全局规则,使得越大的抖动导致越小的抖动分数,并反之亦然。

在对平均亮度的分析中,低级分析模块212可计算视频帧中的所有像素的亮度分量的平均值。在各实施例中,低级分析模块212可对视频帧的灰度图像表示中的像素值求平均。例如,像素值的范围可从0-255,其中0对应于黑色,并且255对应于白色。在一些实施例中,低级分析模块212可被进一步优化成从每n个像素中读取像素值。换言之,低级分析模块212可在执行该分析时在x方向和/或y方向中跳过预定数目的像素。基于视频帧中的像素的像素值的平均数,低级分析模块212可确定该视频帧的亮度。因此,当视频帧的平均像素值落在预定的中间亮度范围内时,低级分析模块212可应用局部规则来分配与该视频帧的平均像素值成正比的亮度分数。然而,当平均像素值落在预定的中间亮度范围之外(即比预定的中间亮度范围高或低)时,低级分析模块212可分配比向落在预定的中间亮度范围之内的平均像素值分配的任何亮度分数更低的亮度分数。因此这样的亮度分数可在小于预定的中间亮度范围的下限时,随着平均像素值减小而变小。这样的亮度分数还可在大于预定的中间亮度范围的上限时,随着平均像素值增大而变小。

在对色彩熵的分析中,低级分析模块212可确定视频帧中色彩熵的量。色彩熵的量是视频帧中的各色彩之间的差异的指示符。由低级分析模块212分配的色彩熵值的范围可从“0”到“1”,这取决于视频帧中的色彩熵的实际量。例如,当视频帧中的各像素具有最大差异量时,低级分析模块212可将色彩熵值“1”分配给该视频帧。例如,当视频帧中的各像素具有最少差异量时,低级分析模块212可将色彩熵值“0”分配给视频帧。在各实施例中,低级分析模块212可通过计算色彩空间(例如,RGB色彩空间或HSV色彩空间)的色彩域直方图来确定色彩熵值。

在这样的实施例中,低级分析模块212最初可创建捕捉多个色彩维度的直方图。例如,在RGB色彩空间中,R、G和B中的每一者具有256个可能值,在该情况下,直方图可具有256x 256x 256个桶。在至少一个实施例中,这些桶可被进一步量化以优化桶尺寸和/或处理速度,例如尺寸可以为25x 25x 25,使得多个色彩值可落入同一桶中。由此,在一个示例中,直方图(histogram)可在代码中用以下格式来表达:int Histogram[256*256*256],其意味着该直方图阵列具有针对RGB色彩空间中的所有可能色彩的元素。因此,在低级分析模块212读取像素时,低级分析模块212可如下设置值:

int IndexInHistogramForColor=

pixelColor.red+(256*pixelColor.green)+(256*256*pixelColor.blue);

Histogram[IndexInHistogramForColor]=Histogram[IndexInHistogramForColor]+1;//当具有该色彩的又一个像素被观察到时,递增其计数

一旦针对视频帧中的每一像素执行了以上步骤,低级分析模块212可对该直方图进行归一化。换言之,低级分析模块212可用该直方图的尺寸来除每一值,使得该直方图中的值在0和1之间,并且这些值加起来为1。结果,具有最高值的元素在该视频帧中最频繁地发生。

该直方图中的各像素值的熵可格式化为如下所有(Histogram[n]*log(Histogram[n]))的和:

低级分析模块212可通过将来自直方图的熵除以最大可能熵来确定相对色彩熵(即,视频帧相对于其他视频帧的色彩熵)。最大可能熵可被定义为所有Histogram[n]具有相同的值,即等于(1.0/可能值的数目)的时间。一旦视频帧的相对色彩熵值被获得,低级分析模块212就可应用局部规则来从该视频帧的相对色彩熵中获得该视频帧的熵分数。在各实施例中,视频帧的熵分数可直接与该视频帧的相对熵值成正比,例如越高的相对熵值导致越高的熵分数,并且反之亦然。

在对直方图差异的分析中,低级分析模块212可确定两个毗邻视频帧之间的直方图差异。在各实施例中,低级分析模块212可将每一视频帧分割成多个单元(例如,10×10个单元)。对于视频帧t和毗邻视频帧t+1中的每一单元,低级分析模块212可计算色彩直方图(例如,RGB直方图)。随后,对于视频帧t中的每一单元,低级分析模块212可计算该单元的直方图和毗邻视频帧t+1中具有相应位置的单元的直方图之间的差异。两个毗邻的视频帧中的单元对的直方图之间的差异可进一步被标准化(例如,被求平方根、被归一化和/或被求平均等),以获得这两个毗邻帧的最终直方图差异值,其中该值的范围在“0”和“1”之间。一旦这两个毗邻视频帧的直方图差异值被获得,低级分析模块212就可应用局部规则来从该直方图差异值中获得视频帧t的直方图差异分数。在各实施例中,视频帧的直方图差异分数可直接与直方图差异成正比,例如越高的直方图差异值导致越高的直方图差异分数,并反之亦然。

在至少一些实施例中,低级分析模块212可优化这些分析中的一些以加速对视频文件的处理。例如,低级分析模块212可对视频文件中的视频帧的子集而非该视频文件中的所有视频帧执行分析(例如,曝光评级分析、色调种类分析等)。低级分析模块212还可对原始帧的缩小版本执行这些分析中的一者或多者以获得某一效率。例如,对视频帧的色调种类分析和饱和度分析可对视频帧的下采样版本执行。在另一示例中,曝光质量分析可对视频帧的单色和下采样版本执行。低级分析模块212还可并行地或基本上并行地执行多个分析。例如,饱和度质量分析和色调种类分析可并行地被执行。

高级分析模块214可分析每一经解码的视频帧以获得高级特征。在至少一个实施例中,高级特征分析可包括脸部检测、脸部跟踪、脸部识别、显著性分析、音频功率分析、音频分类分析、语音分析和运动分析。

在脸部检测中,高级分析模块214可分析经解码的视频帧以检测是否有人脸被呈现在视频帧中。检测到的脸可面向捕捉该视频帧的相机或相对于该相机在侧方。基于该检测,高级分析模块214可生成检测到的脸的列表,该列表具有检测到的脸在视频帧中的位置、该视频帧被每一脸覆盖的面积以及针对每一脸的指示该检测方面的置信度的检测置信度分数。

在各实施例中,高级分析模块214可应用局部规则来基于检测到的脸作为视频帧的尺寸的百分比的尺寸来计算视频帧的脸重要性分数。如在两个视频帧上检测到的具有相同尺寸的脸可被分配相同的脸重要性分数。然而,如果视频帧t2上的脸大于视频帧t1上的脸,则视频帧t2的脸重要性分数将更高,因为较大的脸可被认为比较小的脸更重要。在其他实施例中,如果检测到的脸的尺寸在最小尺寸阈值和最大尺寸阈值之间,则高级分析模块214可被配置成计算脸重要性分数。相反,尺寸小于最小尺寸阈值或大于最大尺寸阈值的脸可被高级分析模块214认为对脸重要性分数计算无效,或者对于这样的情况,负分数偏置可被分配给相应的视频帧。

替换地或并发地,用于计算视频帧的脸重要性的局部规则可考虑该视频帧中描绘的每一脸的脸部特征。例如,脸部特征可包括该脸是否在笑、或者眼睛是否睁开等。由此,对于正在笑的脸,正分数偏置可被分配给相应的视频帧,而当脸不在笑时,负分数偏置可被分配。同样,对于具有睁开的眼睛的脸,正分数偏置可被分配给相应的视频帧,而当眼睛被闭上时,负分数偏置可被分配。

在脸部识别中,高级分析模块214可使用脸部识别算法来将视频帧中检测到的每一人脸匹配到已知的人的身份。在一些实施例中,高级分析模块214可使用已知的脸的知识库来将人脸匹配到已知的人。替换地或并发地,高级分析模块214可使用用户接口模块224来提供使得用户能够用以下来标记一个或多个识别出的脸中的每一者的用户接口控件:身份、该脸的重要性评级和/或具有该脸的用户与查看器的关系。在至少一个实施例中,由查看器提供的与这些脸有关的信息可被添加到知识库中。

在脸部跟踪中,高级分析模块214可跨多个视频帧跟踪人脸。通过这种方式,高级分析模块214可查明视频文件中存在的脸的集合,以及跟踪每一脸在该视频文件中出现的频率。此外,在脸部分组中,高级分析模块214可对被跟踪的脸进行分组以确定在不同视频帧上检测到的脸是否属于同一人。在各实施例中,高级分析模块214可获得在视频帧中检测到的脸中的每一者的脸部特征的集合。高级分析模块214可比较检测到的脸的脸部特征的集合以便根据脸部特征相似性将检测到的脸分组在各群组中。高级分析模块214可根据在每一群组中脸的数目来评估每一脸群组的重要性。每一群组中脸的数目直接与视频文件中的脸的流行度成正比。此外,越高的流行度可指示具有该脸的人越高的重要性,并反之亦然。因此,脸群组的群组重要性分数可以是该群组中的脸的脸重要性分数的总和。由此,最高级分析模块214可将(如在多个视频帧中描绘的)群组中的脸的脸重要性分数相加以计算该群组的群组重要性分数。

例如,其脸在具有最高群组重要性分数的群组中出现的人可被认为是主要人物。基于这样的信息,高级分析模块214可将全局规则应用于视频帧,使得示出该主要人物的视频帧的脸重要性分数可被进一步正向偏置,即提升。如在多个视频帧中捕捉到的包括在某群组中的脸的位置也可降低向视频帧分配的脸重要性分数。例如,示出特定人的脸的视频帧的重要性分数可根据该脸沿着某轴(例如,x轴或y轴)距该视频帧的中心的距离被偏置,使得越接近于该中心的脸导致该视频帧的越高的重要性,并反之亦然。

在帧显著性分析中,高级分析模块214可检测视频帧的显著部分。例如,视频帧的显著部分可捕捉处于运动中的物体。基于该显著性分析,高级分析模块214可应用局部规则来生成显示视频帧中的每一像素的显著性特征的热图。热图是用矩阵来布置的图形数据表示,其中该矩阵中的各个体值是使用色彩来表示的。高级分析模块214还可生成视频帧的帧显著性分数,该分数基于该视频帧中的像素的显著性分数。例如,视频帧的视频帧显著性分数可以是像素显著性分数的平均。

在音频功率分析中,高级分析模块214可评估在时间历时方面对应于视频帧(一秒中的1/30或1/60)的音频数据并计算音频功率的均方值(RMS)。音频功率的越高的RMS值可指示相应的视频帧的越高的重要性,并反之亦然。由此,高级分析模块214可根据局部规则将音频功率重要性分数分配给相应的视频帧。

在音频分类分析中,高级分析模块214可使用机器学习分类器来确定在时间历时方面对应于视频帧的音频数据是否包含不同类型的音频数据(例如,噪声、语音或音乐)。不同类型的音频数据可反映相应视频帧的不同重要性。基于局部规则,高级分析模块214可基于音频数据的类型将音频分类重要性分数分配给相应的视频帧。例如,语音的存在可使得高级分析模块214将高音频分类重要性分配给相应的视频帧。相反,音乐的存在可使得将中间音频分类分数分配给相应的视频帧。此外,噪声的存在可使得高级分析模块214将低音频分类分数分配给相应的视频帧。

在运动分类分析中,高级分析模块214可使用运动分析模块216来跟踪各特征点在各视频帧之间的移动,并生成对那个移动进行建模的变换。高级分析模块214可使用该变换来分析与该移动的幅度和方向有关的局部和全局趋势。进而,高级分析模块214可使用该局部和全局趋势来考虑在该视频帧中捕捉到的抖动,并确定相机相对于场景的有意移动,诸如缩放、平移等。

在各实施例中,运动分析模块216可通过定位两个毗邻帧的特征点来发起运动分类分析。特征点可以是甚至在图像的2维(2D)或3D变换的情况下都保持可识别的该图像中的点。为了检测特征点,运动分析模块216可对该图像进行下采样,并创建较小维度的经下采样的图像的锥体。经下采样的图像随后由运动分析模块216进行比较以确定经下采样的图像之中的共同点(即,特征点)。在各实施例中,运动分析模块216可使用若干检测算法中的一者或多者来检测共同点,诸如Laplace检测算法、Harris检测算法、Hessian检测算法、HessianLaplace检测算法、HessianAffine检测算法、EdgeFoci检测算法等。

一旦为两个毗邻的帧检测到了特征点,运动分析模块216就可确定将这两个毗邻帧对准的变换,使得最大数目的特征点匹配。该变换可使用作为稳健参数估计的一实现的几何匹配来执行。该变换可提供根据匹配的特征点计算出的单应变换矩阵。在各实施例中,运动分析模块216可使用随机采样和一致性(RANSAC)算法来获得初始参数估计和统计正常值(statistical inlier)列表,其中初始参数估计被进一步细化。图3中解说了通过单应变换对准的视频帧中的各种相机运动。

图3是示出使用单应变换来对准多个视频帧中的示例特征点的说明性示图。如图所示,视频帧302-312中的每一者可分别包括由圆圈描绘的标识出的特征点的群组。例如,视频帧302中的特征点群组由圆圈314(1)-315(5)来描绘。特征点群组中的每一特征点可跨多个视频帧保持其相对于彼此的相对位置,而不管捕捉此多个视频帧的相机的移动。例如,经变换的视频帧316可以是作为相机的跟踪移动的结果的视频帧302的后续视频帧。经变换的视频帧318可以是作为相机的激增移动的结果的视频帧304的后续视频帧。经变换的视频帧320可以是作为相机的缩放/推移移动的结果的视频帧306的后续视频帧。经变换的视频帧312可以是作为相机的滚转移动的结果的视频帧308的后续视频帧。经变换的视频帧314可以是作为相机的垂直平移/俯仰/倾斜移动的结果的视频帧310的后续视频帧。经变换的视频帧316可以是作为相机的水平平移的结果的视频帧312的后续视频帧。

然而,不管从视频帧302-312产生经变换的视频帧326-336的相机的移动如何,运动分析模块216都可使用单应变换来对准视频帧中的特征点及其相应的经变换的视频帧。

回到图2,RANSAC算法可从最小特征点匹配子集直接计算变换矩阵参数。例如,相似性变换(例如,位移、旋转或缩放)可从在两个帧之间对应的两个特征点中计算出。一旦候选几何变换已被获得,RANSAC算法就可通过在数据集合中的所有其他特征点匹配上测试该变换并生成作为在空间上用足够的准确性投影的特征点的正常值的数目的计数来验证该变换。换言之,RANSAC算法可最初随机地选取最小点匹配集合,从该集合计算变换参数,并随后通过对正常值匹配的数目进行计数来验证这些参数。随后,RANSAC算法记录最佳变换。在给定数据误匹配率的情况下,RANSAC算法可重复该过程多次,直到找到良好变换参数集合的概率达到预定概率阈值。

在一些实施例中,RANSAC算法可被修改以更好地利用Bayesian统计。RANSAC算法可从所有特征点匹配中计算每一随机变换的对数概率分数,而非在变换参数的验证期间对正常值进行计数。该分数可包括两个部分:(1)取决于这些参数以及这些参数有多远离一般预期值的先验概率分数,以及(2)基于特征点匹配的重投影距离的稳健函数的概率分数。这样的分数促成投影到正确位置的特征点,但允许异常值共存。

通过单应变换,运动分析模块216可提取缩放和垂直移位分量的幅度和方向,同时忽略其他种类的运动。这些幅度和方向是相机的如在两个毗邻帧中记录的有意移动。换言之,这些幅度和方向是从第一帧到第二毗邻帧的实际移动改变的一阶导数。运动分析模块216可通过计算这些视频帧的移动向量的运动数据移动平均(running average)并将相机的有意移动减去该运动数据移动平均来确定记录这些视频帧的相机的抖动移动。对运动数据移动平均的计算抑制了局部变化,并保留了表示该有意移动的长期趋势。换言之,该有意移动和从第一帧到第二帧的总移动改变之间的差异是记录这两个帧的相机的抖动移动。

在帧集合中记录的缩放和垂直移位值的幅度可提供关于那些帧的重要性的线索。例如,较高值可指示相机运动相对于视频帧中的一个或多个物体的加速。此外,视频帧中具有较高加速的区域可被假定为更重要,因为相机可能已在运动方面作出了快速改变以捕捉这样的动作。因此,高级分析模块214可基于运动加速量来将运动重要性分数分配给每一帧。

运动分析模块216可分析有意移动数据以便为缩放和垂直移位运动确定围绕过零点为中心的局部最大值和最小值。在一些实施例中,运动分析模块216可使用这些局部最大和最小位置来将数据分段成各视频区。替换地或并发地,运动分析模块216可使用这些局部最大和最小位置来将视频文件分段成具有成对的改变方向(诸如放大与缩小配对、向上平移与向下平移配对等)的各视频区。

视频文件的经分段的视频区可与该视频文件中的各场景的改变一致。因此,视频文件中的区边界可被用作将该视频文件分割成有不同重要性的各视频区的指南。这些边界可使各重要/不重要区的开始和结束与其中存在相机的移动方面的移位或场景中的活动的特性方面的改变的时间点对准。此外,运动分析模块216可组合某区的缩放和平移运动的幅度并对其求平均。由视频区的缩放和平移运动的幅度的均值表示的加速量可被运动分析模块216用来按与以上相对于帧描述的相同的方式向该视频区分配运动重要性分数。

在至少一些实施例中,高级分析模块214可优化这些分析中的一些以加速对视频文件的处理。例如,高级分析模块214可使用视频帧的单色和下采样版本对每一视频帧中的一个或多个脸执行脸部检测、脸部跟踪和/或脸部识别。高级分析模块214还可并行地或基本上并行地执行多个分析。例如,脸部跟踪和脸部识别可被并行地执行。

重要性计算模块218可对为视频文件的各视频帧生成的各特征分数进行归一化,并计算该视频文件的视频重要性值。例如,重要性计算模块218可对每一视频帧的经归一化的特征分数(例如,脸重要性分数、运动重要性分数、曝光评级分数、饱和度分数等)的集合求平均以获得每一视频帧的帧重要性分数。视频帧重要性分数可被进一步求平均以导出该视频文件的视频重要性值。在一些实施例中,对视频文件的视频重要性值的计算还可包括偏置与这些视频帧相关联的一个或多个特征分数。例如,重要性计算模块218可被配置成应用正偏置使得视频帧中脸的存在与该视频帧的色调种类分数相比而言对那个帧的帧重要性分数影响程度更高。

在另一示例中,重要性计算模块218可如下生成视频文件的视频重要性值:

帧_分数=w1*脸重要性+w2*F2+w3*F3+…wn*Fn (1)

其中wi是权重,且Fi是特征。权重可规定特征的重要性。例如,如果查看器偏好亮的视频,且F2是与该属性相关的特征,则重要性计算模块218可被配置成将比其他特征的权重更高的值分配给w2。该偏置可在其他场景中被应用。在附加示例中,如果查看器想要优先选择示出特定人的视频文件,则查看器可将重要性计算模块218配置为使示出该特定人的脸的帧偏置以提高这样的视频帧的视频帧重要性分数。在各实施例中,重要性计算模块218可将视频文件的特征值{F1,F2…Fn}存储在数据存储226中。在其中不同的特征将被偏置的场景中,对视频文件的特征值的存储可消除将来对该视频文件的重复分析。

在至少一个其他实施例中,重要性计算模块218可被配置成将负偏置应用于视频帧中示出的特征。例如,与抖动量成正比的负偏置可被重要性计算模块218实现来与抖动成正比地降低视频帧的视频帧重要性分数。

视频分段模块220可基于重要性将视频文件分段成多个视频区。在一些实施例中,视频分段模块220可找到具有比视频文件的历时短的历时t的视频区。在这样的实施例中,视频分段模块220可计算窗口质量,该窗口质量是在具有视频文件的(t*帧率)视频帧的窗口中的各视频帧的帧重要性分数之和。这样的窗口质量可按移位的方式针对视频文件中的所有视频帧连续计算出。因此,视频分段模块220可选择具有最高窗口质量的视频帧作为t秒长的重要视频区的中心。在其他实施例中,视频分段模块220可以依赖于运动分析模块216来基于运动数据将视频文件分段成各视频区。一旦视频分段模块220已将视频文件分段为各视频区,重要性计算模块218就可按与整个视频文件相似的方式为每一视频区生成区重要性值。换言之,重要性计算模块218可基于视频区中的视频帧的经归一化的帧重要性分数来生成区重要性值。在一些实例中,重要性计算模块218也可在视频区的区重要性值的生成期间将偏置应用于一个或多个特征分数。

在各实施例中,低级分析模块212、高级分析模块214和重要性计算模块218中的每一者可将为视频区和/或视频文件获得的分数、值和其他信息作为相关联的元数据存储在数据存储226中。这样的元数据可与同该视频文件相关联的其他元数据(诸如在线共享的日期、位置、数目等)组合。

视频排序模块222可基于视频文件的各视频区的区重要性值来对这些视频区进行排序。替换地或并发地,视频排序模块222可根据视频文件的视频重要性值来对这些视频文件进行排序。排序可从最重要到最不重要,或者反之亦然。对于每一经排序的视频文件,视频排序模块222还可将与各视频区有关的元数据存储在经排序的视频文件中。这样的元数据可包括每一视频区的排序、每一视频区的开始和结束时间、每一视频区的历时以及每一视频区的区重要性值。在一些实施例中,视频排序模块222还可计算视频文件或视频区的附加值。这些值可包括重要性密度,该重要性密度可反映视频文件或视频区中具有超过重要性分数阈值的重要性分数的视频帧的百分比。这些值还可包括质量密度,该质量密度可反映视频文件或视频区中具有超过相应的阈值的负或正特征的帧的百分比。这样的负或正特征可包括抖动、过度曝光、曝光不足等。视频排序模块222可将多种类型的分数和用于生成各个体视频文件和/或视频区的排序的其他计算值作为相关联的元数据存储在数据存储226中。

一旦视频文件或视频区的集合被排序,视频排序模块222就可显示经排序的视频文件或视频区的缩略图像表示。因此,对缩略图像表示的选择可使得媒体播放器122播放相应的视频区,或使得其他应用提供相应的视频区来共享和/或编辑。

用户接口模块224可使得用户能够经由接口204与视频分析引擎102的各模块进行交互。例如,用户接口模块224可使得用户能够选择供重要性分析的视频文件、用信息标记视频文件中标识出的人脸、突出显示供正特征分数偏置的人脸和/或选择供媒体播放器122通过缩略图像表示来回放的视频文件和视频区。在一些实施例中,用户还可使用用户接口模块224来选择视频文件的低级特征中的一者或多者或者高级特征中的一者或多者以供视频分析引擎102分析。

数据存储226可存储由各种模块使用的数据。在至少一些实施例中,数据存储226可存储视频文件228、经排序的视频文件230、经排序的视频区232和/或与经排序的视频文件230和经排序的视频区232相关联的元数据234。在其他实施例中,数据存储226可存储与视频文件或视频区相关联的被用于对视频文件和视频区进行排序的数据(例如,重要性分数)。数据存储226还可存储由这些模块生成的附加产品和值,诸如单应变换度量、特征分数、视频重要性值、区重要性值等。

在一个实施例中,一个或多个附加应用可被安装在计算设备104上。这样的应用可包括被用来从原始视频文件的选择视频区编译新视频文件的视频编辑应用。例如,这样的视频编辑应用可使得用户能够选择将具有超过特定分数阈值的区重要性值的各视频区数字地组合在一起以创建精彩片段视频文件。应用还可包括使得用户能够在线张贴视频文件、视频区或精彩片段视频的在线共享应用。在附加实施例中,一个或多个其他应用可被安装在计算设备104上以经由应用接口访问存储在数据存储226中的针对视频文件和视频区的数据。这样的应用可访问该数据以按其他方式使用分析结果。换言之,视频分析引擎102可用作用于向这些应用提供数据的较低级服务。

示例过程

图4-7描绘的用于执行对视频文件的基于规则的重要性分析的各示例过程。每一示例过程中描述操作的次序并不旨在解释为限制,并且任何数量的所描述的操作可以按任何次序和/或并行组合以实现每一过程。此外,图4-7中的每一个中的操作可以用硬件、软件及其组合来实现。在软件的上下文中,各个操作表示在由一个或多个处理器执行时使得一个或多个处理器执行既定操作的计算机可执行指令。一般而言,计算机可执行指令包括使得执行特定功能或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等。

图4是解说用于使用基于规则的视频分析来分析视频文件中的特征以便基于视频文件中的视频区的重要性来对所述视频文件中的视频区进行排序的示例过程400的流程图。在框402,视频分析引擎102可对视频文件(诸如视频文件108(1))进行解码以获得视频帧和与该视频帧相关联的音频数据。视频解码器模块210可使用各种编解码器来对各视频文件(诸如H.264、MPEG-2、MPEG-4等)进行解码。相关联的音频数据可与视频帧具有相同的时间历时,例如一秒的1/30或一秒的1/60。然而,在一些实施例中,视频解码器模块210可被配置成获得视频帧,而无需获得相关联的音频数据,或者反之亦然。

在框404,视频分析引擎102可分析视频帧的视频特征或音频数据的音频特征中的至少一者以获得特征分数。视频分析引擎102可基于一个或多个局部规则来执行这样的分析。在各实施例中,被分析的一个或多个特征可包括高级特征和/或低级特征。例如,低级特征可包括诸如曝光质量、饱和度质量、视频帧抖动、平均亮度、色彩熵值和/或视频帧之间的直方图差异之类的特征。高级特征可包括诸如在视频帧中检测到的脸的数量、位置和/或脸部特征之类的特征。

在框406,视频分析引擎102可将视频帧的特征分数作为视频帧的元数据来存储。在各实施例中,视频分析引擎102可将该元数据存储在数据存储226中。这样的元数据可在对涉及相同视频帧的相应视频文件或视频区的重要性的将来确定期间减小或消除对所述视频帧的重复分析。

在判定框408,视频分析引擎102可确定是否有该视频文件的附加帧要分析。换言之,视频分析引擎102可确定视频文件的所有视频帧和相关联的音频数据是否都已被解码。如果视频分析引擎102确定有附加的帧要分析(判定框408处为“是”),则过程400可循环回到框402。在框402,视频分析引擎102可从该视频文件获得后续视频帧和相关联的数据。然而,如果视频分析引擎102在判定框408确定没有视频文件的附加视频帧将被分析(判定框408处为“否”),则过程400可行进到框410。

在框410,视频分析引擎102可将至少一个全局规则应用于一个或多个特征结果。例如,其脸在具有最高群组重要性分数的群组中出现的人可被认为是主要人物。基于这样的信息,高级分析模块214可将全局规则应用于视频帧,使得示出该主要人物的视频帧的脸重要性分数可被进一步评估。

在框412,视频分析引擎102可将视频文件的每一视频帧的全部特征分数组合以导出每一视频帧的相应的帧重要性分数。例如,视频分析引擎102可对每一视频帧的经归一化的特征分数的集合求平均以获得每一视频帧的帧重要性分数。

在框414,视频分析引擎102可存储视频文件的元数据。元数据可包括视频文件的视频帧的视频帧重要性分数和/或每一视频帧的特征分数。

在框416,视频分析引擎102可基于视频帧的视频帧重要性分数将视频文件分段成各视频区。在一些实施例中,视频分析引擎102可使用窗口质量的计算来将视频文件分段成视频区。在其他实施例中,视频分析引擎102可使用在视频文件中捕捉到的运动数据中针对缩放和垂直移位运动的过零点来将该视频文件分段成各视频区。

在框418,视频分析引擎102可为视频文件的每一视频区计算区重要性值。在各实施例中,视频分析引擎102可基于视频区中的视频帧的经归一化的帧重要性分数来生成区重要性值。在一些实例中,重要性计算模块218也可在视频区的区重要性值的生成期间将偏置应用于一个或多个特征分数。

在框420,视频分析引擎102可根据视频区的区重要性分数来对这些视频区进行排序。例如,视频区可从最重要到最不重要排序,或者反之亦然。一旦视频区被排序,视频分析引擎102就可显示这些视频区的缩略图像表示。对缩略图像表示的选择可使得媒体播放器122播放相应的视频区,或使得其他应用提供相应的视频区来共享和/或编辑。替换地,视频分析引擎102可将排序数据提供给另一应用,使得该应用可显示经排序的视频区的缩略表示。

图5是解说用于使用基于规则的视频分析来分析视频文件的特征以基于视频文件的重要性来对所述视频文件进行排序的示例过程500的流程图。在框502,视频分析引擎102可从视频文件的集合(诸如视频集合106)中获得视频文件。在各实施例中,视频分析引擎102可基于来自用户的选择输入来获得视频文件。

在框504,视频分析引擎102可基于视频文件中的视频帧的视频帧重要性分数来计算该视频文件的视频重要性值。视频分析引擎102可为视频文件计算每一帧重要性分数,如在图4所示的过程400的框402-412中描述的。在各实施例中,视频分析引擎102可对视频帧重要性分数求平均以导出该视频文件的视频重要性值。在替换实施例中,视频分析引擎102可被配置成对视频文件的具有最高重要性的一个或多个视频区的视频帧重要性分数求平均以导出视频文件的重要性值。在一些实施例中,对视频文件的视频重要性值的计算还可包括偏置与帧相关联的一个或多个重要性分数。

在判定框506,视频分析引擎102可确定是否有附加视频文件要被分析。视频分析引擎102可基于从用户接收到的选择输入来作出这样的确定。如果视频分析引擎102确定有附加视频文件要被分析(判定框506处为“是”),则过程500可循环回到框502。在框502,视频分析引擎102可从视频文件集合中获得另一视频文件以用于附加分析。

然而,如果视频分析引擎102确定没有附加视频文件要被分析(判定框506处为“否”),则过程500可行进到框508。在框508,视频分析引擎102可基于相应的视频重要性值对被分析的视频文件进行排序。例如,视频文件可从最重要到最不重要排序,或者反之亦然。一旦视频文件被排序,视频分析引擎102就可显示这些视频文件的缩略图像表示,其中对缩略图像表示的选择可使得媒体播放器122播放相应的视频文件,或使得其他应用提供相应的视频区来共享和/或编辑。替换地,视频分析引擎102可将排序数据提供给另一应用,使得该应用可显示经排序的视频文件的缩略表示。

在一些实施例中,视频分析引擎102可最初尝试基于为视频帧的高级特征获得的特征分数来对一视频文件的各视频区和/或各视频文件进行排序。在这样的实施例中,视频分析引擎102可求助于获得视频帧的高级特征和低级特征两者的特征分数以在初始尝试由于视频帧中存在不足够的高级特征而失败时产生排序。

图6是解说用于计算视频帧的脸重要性分数的示例过程600的流程图。在框602,高级分析模块214可对视频帧执行脸部检测以检测一个或多个脸。检测到的脸可面向捕捉该视频帧的相机或相对于该相机在侧方。基于该检测,高级分析模块214可生成检测到的脸的列表,该列表具有检测到的脸在视频帧中的位置、该视频帧被每一脸覆盖的面积以及针对每一脸的指示该检测方面的置信度的检测置信度分数。

在框604,高级分析模块214可执行脸部跟踪以跟踪一个或多个脸。在各实施例中,高级分析模块214可跨多个视频帧跟踪人脸。通过这种方式,高级分析模块214可查明视频文件中存在的脸的集合,以及跟踪每一脸出现在该视频文件中的频率。

在框606,高级分析模块214可确定基于脸部特征的分数偏置是否将被分配给视频帧。在各实施例中,该确定可基于视频帧中是否存在或缺失一个或多个脸部特征来作出。因此,如果高级分析模块214确定基于脸部特征的分数偏置将被分配(判定框606处为“是”),则过程600行进至框608。然而,如果高级分析模块214确定基于脸部特征的分数偏置不将被分配(判定框606处为“否”),则过程600直接行进至框610。

在框608,高级分析模块214可基于视频帧中的至少一个脸的脸部特征向视频帧分配分数偏置。脸部特征可包括脸部尺寸、脸部移动和/或某些脸部特征的存在或缺失(例如,笑还是没笑、闭上/睁开眼睛等等)。例如,视频帧中其尺寸小于最小尺寸阈值或大于最大尺寸阈值的脸可导致高级分析模块214对负分数偏置的分配。在另一示例中,示出特定人的脸的视频帧的重要性分数可根据该脸沿着某轴(例如,x轴或y轴)距该视频帧的中心的距离被正向或负向偏置,使得越接近于该中心的脸导致该视频帧的越高的重要性,并反之亦然。负分数偏置可以是减小视频帧的脸重要性分数的权重因子。在附加示例中,高级分析模块214可为正在笑和/或具有睁开的眼睛的每一脸分配正分数偏置。

在框610,高级分析模块214可对至少一个脸执行脸部识别或脸部分组中的至少一者。在脸部分组中,高级分析模块214可对被跟踪的脸进行分组以确定在不同视频帧上检测到的脸是否属于同一人。在脸部识别中,高级分析模块214可使用脸部识别算法来将视频帧中检测到的每一人脸匹配到人的已知身份。

在框612,高级分析模块214可基于脸部跟踪数据或脸部识别数据中的至少一者来标识一个或多个主要人物。例如,每一群组中的脸的数目直接与视频文件中的脸的流行度成正比。此外,越高的流行度可指示具有该脸的人越高的重要性,并反之亦然。因此,属于具有最高脸数的群组的脸可被高级分析模块214确定为属于主要人物。在另一示例中,主要人物可在被指定为属于主要人物的脸被脸部识别算法检测为存在于该视频帧中时被标识出。

在框614,对于主要人物在该视频帧中的每一存在情况,高级分析模块214可将一正分数偏置分配给该视频帧。正特征分数可提升为针对该视频帧计算的脸重要性分数。正分数偏置可以是增加视频帧的脸重要性分数的权重因子。

在框616,高级分析模块214可计算视频帧的脸重要性分数。脸重要性分数可被计算为与视频帧中的每一脸的尺寸和/或移动成正比。对脸重要性分数的计算可基于正和/或负分数偏置来计算。

图7是解说用于通过分析特征点的移动来确定视频内的重要区的示例过程700的流程图。在框702,运动分析模块216可获得视频文件(诸如视频文件108(1))的视频帧。视频解码器模块210可能已解码了来自该视频文件的视频帧以供运动分析模块216分析。

在判定框704,运动分析模块216可确定是否达到该视频文件的结束处。如果运动分析模块216确定尚未到达该视频文件的结束处(判定框704处为“否”),则过程700可前进到框706。

在框706,运动分析模块216可检测视频帧中的特征点。在各实施例中,运动分析模块216可对视频帧进行下采样,并创建较小维度的经下采样的图像的锥体。经下采样的图像随后由运动分析模块216进行比较以确定经下采样的图像之中的共同点(即,特征点)。

在判定框708,运动分析模块216可确定视频帧是否是视频文件中的第一视频帧。因此,如果运动分析模块216确定该视频帧是第一视频帧(在判定框708处的为“是”),则过程700可循环回框702。在返回到框702之际,运动分析模块216可获得视频文件的另一视频帧。然而,如果运动分析模块216确定该视频帧不是该视频的第一视频帧(判定框708处为“否”),则过程700可前进到框710。

在框710,运动分析模块216可将该视频帧中的特征点匹配到该视频文件的在先视频帧中的特征点的附加集合。在各实施例中,运动分析模块216可通过确定将两个毗邻帧对准使得最大数目的特征点匹配的变换来执行该匹配。在至少一个实施例中,该变换可使用作为强健参数估计的一实现的几何匹配来执行。

在框712,运动分析模块216可计算描述特征点在视频帧之间的移动的单应变换矩阵。在至少一些实施例中,运动分析模块216可使用随机采样和一致性(RANSAC)算法来获得到单应变换矩阵。

在框714,运动分析模块216可从单应变换矩阵计算视频帧的运动数据。在各实施例中,运动分析模块216可使用单应变换矩阵来提取缩放和垂直移位分量的幅度和方向。这些幅度和方向表示两个毗邻帧中记录的相机的有意移动。随后,过程700可循环回框702,使得运动分析模块216可获得视频文件的另一视频帧来处理。

返回判定框704,如果运动分析模块216确定到达了视频文件的结束处(判定框704处为“是”),则过程700可前进到框716。在框716,运动分析模块216可计算视频帧的运动数据的移动平均以及每一视频帧的帧移动抖动。视频文件的一个或多个视频帧的运动数据可在该计算之前被组合。在各实施例中,运动分析模块216可通过计算这些视频帧的移动向量的运动数据移动平均来确定记录这些视频帧的相机的抖动移动并将相机的有意移动减去该运动数据的移动平均。对运动数据移动平均的计算抑制了局部变化,并保留了表示该有意移动的长期趋势。换言之:

在框718,运动分析模块216可查明过零区以找到运动数据的局部峰值和谷值信息,即局部最大值和最小值。局部峰值和谷值信息可指示视频文件的场景转变点。

在框720,运动分析模块216可基于该局部峰值和谷值信息将视频文件分段成各视频区。此外,运动分析模块216可组合每一视频区的缩放和平移运动的幅度并对其求平均。由视频区的缩放和平移运动的幅度的均值表示的加速量可被运动分析模块216用来向该视频区分配运动重要性分数。随后,运动分析模块216可将具有最高运动重要性分数的一个或多个视频区指定为视频文件的重要区。

对本文中描述的技术的使用可使得用户能够基于视频文件对用户的重要性来对视频文件进行排序。基于这样的排序,用户可决定要保持哪些视频文件以及要删除哪些视频文件。在一些实例中,用户还可使用视频文件的排序来确定是否将特定视频文件张贴到在线共享网站上。本文中描述的技术还可呈现表示视频文件的重要区的缩略图像表示,使得用户看一眼就可告知视频文件的感兴趣区。这样的信息可帮助用户编辑视频文件以改善内容质量或突出显式视频文件的特定区。

结语

总而言之,尽管用对结构特征和/或方法动作专用的语言描述了各实施方式,但可以理解,所附权利要求书中定义的主题不必限于所述具体特征或动作。相反,这些具体特征和动作是作为实现权利要求的所要求保护的主题的示例性形式而公开的。

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