视频元数据的制作方法

文档序号:11143011阅读:842来源:国知局
视频元数据的制造方法与工艺

本公开通常涉及视频元数据。

背景

数字视频正变得和照片一样无处不在。视频传感器的尺寸减小以及质量的提高使得摄像机对任何数量的应用越来越容易接近。具有摄像机的移动电话是摄像机变得更加易接近和可用的一个例子。通常可穿戴的小的便携式摄像机是另一个例子。YouTube、Instagram和其他社交网络的出现已经提高了用户与其他人分享视频的能力。

概述

这些说明性的实施例被提及不是限制或限定本公开,而是提供帮助理解它的例子。附加的实施例在详细描述中被讨论,并且进一步的说明在那里被提供。由各种实施例中的一个或多个提供的优点可通过检查本说明书或通过实践提出的一个或多个实施例进一步被理解。

本发明的实施例包括照相机,其包括图像传感器、运动传感器、存储器和处理单元。处理单元可与图像传感器、传声器、运动传感器和存储器电耦合。处理单元可被配置为接收来自图像传感器的多个视频帧,其中,多个视频帧包括视频剪辑(video clip);接收来自运动传感器的运动数据;以及存储与视频剪辑相关联的运动数据。

在一些实施例中,运动数据可被存储为与多个视频帧中的每一个相关联。在一些实施例中,运动数据可包括第一运动数据和第二运动数据,并且多个视频帧可包括第一视频帧和第二视频帧。第一运动数据可被存储为与第一视频帧相关联;以及第二运动数据可被存储为与第二视频帧相关联。在一些实施例中,第一运动数据和第一视频帧可用第一时间戳盖上时间戳,以及第二运动数据和第二视频帧可用第二时间戳盖上时间戳。

在一些实施例中,照相机可包括GPS传感器。处理单元还可被配置为从GPS传感器接收GPS数据;以及存储与视频剪辑相关联的运动数据和GPS数据。在一些实施例中,运动传感器可包括加速度计、陀螺仪和/或磁强计。

本发明的实施例包括照相机,其包括图像传感器、GPS传感器、存储器和处理单元。处理单元可与图像传感器、传声器、GPS传感器和存储器电耦合。处理单元可被配置为从图像传感器接收多个视频帧,其中,多个视频帧包括视频剪辑;从GPS传感器接收GPS数据;以及存储与视频剪辑相关联的GPS数据。在一些实施例中,GPS数据可被存储为与多个视频帧中的每一个相关联。

在一些实施例中,GPS数据可包括第一GPS数据和第一运动数据;并且多个视频帧可包括第一视频帧和第二视频帧。第一GPS数据可被存储为与第一视频帧相关联;以及第二GPS数据可被存储为与第二视频帧相关联。在一些实施例中,第一GPS数据和第一视频帧可用第一时间戳盖上时间戳,以及第二GPS数据和第二视频帧可用第二时间戳盖上时间戳。

根据在本文中描述的一些实施例,还提供了一种收集视频数据的方法。该方法可包括从图像传感器接收多个视频帧,其中,多个视频帧包括视频剪辑;从GPS传感器接收GPS数据;从运动传感器接收运动数据;以及存储与视频剪辑相关联的运动数据和GPS数据。

在一些实施例中,运动数据可被存储为与多个视频帧中的每一个相关联。在一些实施例中,GPS数据可被存储为与多个视频帧中的每一个相关联。在一些实施例中,该方法还可包括从传声器接收音频数据;以及存储与视频剪辑相关联的音频数据。

在一些实施例中,运动数据可包括加速度数据、角旋转数据、方向数据和/旋转矩阵。在一些实施例中,GPS数据可包括纬度、经度、高度、利用卫星修复的时间、代表用来确定GPS数据的卫星的数量的数字、方位和/或速度。

根据在本文中描述的一些实施例,还提供了一种收集视频数据的方法。该方法可包括从图像传感器接收第一视频帧;从GPS传感器接收第一GPS数据;从运动传感器接收第一运动数据;存储与第一视频帧相关联的第一运动数据和第一GPS数据;从图像传感器接收第二视频帧;从GPS传感器接收第二GPS数据;从运动传感器接收第二运动数据;以及存储与第二视频帧相关联的第二运动数据和第二GPS数据。在一些实施例中,第一运动数据、第一GPS数据和第一视频帧可用第一时间戳盖上时间戳,以及第二运动数据、第二GPS数据和第二视频帧可用第二时间戳盖上时间戳。

附图简述

当下面的详细描述参考附图被阅读时,本公开的这些和其它特征、方面和优点将被更好地理解。

图1示出了根据在本文中描述的一些实施例的示例照相机系统。

图2示出了根据在本文中描述的一些实施例的示例数据结构。

图3示出了根据在本文中描述的一些实施例的示例数据结构。

图4示出了根据在本文中描述的一些实施例的包括元数据的打包了的视频数据结构的另一个例子。

图5是根据在本文中描述的一些实施例的用于把运动数据和/或地理位置数据与视频帧关联起来的过程的示例流程图。

图6是根据在本文中描述的一些实施例的用于语音标记视频帧的过程的示例流程图。

图7是根据在本文中描述的一些实施例的用于人员标记视频帧的过程的示例流程图。

图8是根据在本文中描述的一些实施例的用于采样和合并视频和元数据的过程的示例流程图。

图9示出了用于执行促进在本文中所描述的实施例的实现的功能的说明性计算系统。

详细描述

除了其他感测硬件外,越来越多的视频录制设备装备了运动和/或位置感测硬件。本发明的实施例包括用于利用视频流同步地录制或采样来自这些传感器的数据的系统和/或方法。这样做时,例如,可以把丰富的环境意识注入到媒体流中。

公开了提供视频数据结构的系统和方法,其包括包含不同类型的元数据的一个或多个跟踪。元数据例如可包括表示各种环境条件(比如位置、定位、运动、速度、加速度等)的数据。元数据例如也可包括表示各种视频标记或音频标记(如人员标记、音频标记、运动标记等)的数据。一些或所有的元数据例如可结合视频剪辑的特定视频帧被录制。一些或所有的元数据例如可以以连续的方式被录制和/或可以结合多个特定的视频帧中的一个或多个特定的视频帧被录制。

本发明的各种实施例可包括视频数据结构,其包括以小于或等于视频跟踪(例如,30Hz或60Hz)的数据速率被采样(例如,及时的快照)的元数据。在一些实施例中,元数据可存在于和文件或流的音频部分和/或视频部分相同的媒体容器内。在一些实施例中,数据结构可包括许多不同的媒体播放器和编辑器。在一些实施例中,元数据可以是从数据结构可提取的和/或可解码的。在一些实施例中,元数据对于任何类型的增加的实时数据可以是可扩展的。

图1示出了根据在本文中描述的一些实施例的示例照相机系统100。照相机系统100包括照相机110、传声器115、控制器120、存储器125、GPS传感器130、运动传感器135、传感器140和/或用户接口145。控制器120可包括任何类型的控制器、处理器或逻辑。例如,控制器120可包括在图9中示出的计算系统900的所有组件或任何组件。

照相机110可包括在本领域中已知的录制任何高宽比、大小和/或帧速率的数字视频的任何照相机。照相机110可包括采样和录制视场的图像传感器。图像传感器例如可包括CCD或CMOS传感器。例如,由照相机110产生的数字视频的高宽比可以是1:1、4:3、5:4、3:2、16:9、10:7、9:5、9:4、17:6等或任何其他的高宽比。根据另一个例子,照相机的图像传感器的大小可以是9百万像素、15百万像素、20百万像素、50百万像素、100百万像素、200百万像素、500百万像素、1000百万像素等或任何其他大小。根据另一个例子,帧速率可以是24帧每秒(fps)、25fps、30fps、48fps、50fps、72fps、120fps、300fps等或任何其他帧速率。帧速率可以是交错格式或渐进格式。此外,照相机110例如也可录制3-D视频。照相机110可提供原始的或压缩的视频数据。由照相机110提供的视频数据可包括及时链接在一起的一系列视频帧。视频数据可直接地或间接地被保存到存储器125中。

传声器115可包括用于收集音频的一个或多个传声器。音频可以被录制为单声道、立体声、环绕立体声(任何数量的跟踪)、Dolby等或任何其他音频格式。此外,音频可被压缩、被编码、被滤波、被压缩等。音频数据可直接地或间接地被保存在存储器125中。音频数据例如也可包括任何数量的跟踪。例如,对于立体声音频,可以使用两个跟踪。以及,例如,环绕立体声5.1音频可包括六个跟踪。

控制器120可与照相机110和传声器115通信地耦合和/或可控制照相机110和传声器115的操作。控制器120也可被用于同步音频数据和视频数据。在将视频数据和/或音频数据存储到存储器125中之前,控制器120也可执行视频数据和/或音频数据的各种类型的处理、滤波、压缩等。

GPS传感器130可与控制器120和/或存储器125通信地耦合(无线地或有线地)。GPS传感器130可包括收集GPS数据的传感器。在一些实施例中,GPS数据可以被采样以及以与保存视频帧相同的速率被保存到存储器125中。任何类型的GPS传感器可被使用。GPS数据例如可包括纬度、经度、高度、利用卫星修复的时间、代表用来确定GPS数据的卫星的数量的数字、方位和速度。GPS传感器130可将GPS数据记录到存储器125中。例如,GPS传感器130可以以与照相机录制视频帧相同的帧速率采样GPS数据,并且GPS数据可以以相同的速率被保存到存储器125中。例如,如果视频数据以24fps被录制,那么GPS传感器130一秒可被采样和被存储24次。各种其他的采样次数可被使用。此外,不同的传感器可以以不同的采样速率采样和/或存储数据。

运动传感器135可与控制器120和/或存储器125通信地耦合(无线地或有线地)。运动传感器135可将运动数据记录到存储器125中。运动数据可以被采样以及以与视频帧被保存在存储器125中相同的速率被保存到存储器125中。例如,如果视频数据以24fps被录制,那么运动传感器一秒可被采样和被存储数据24次。

运动传感器135可包括例如加速度计、陀螺仪和/或磁强计。运动传感器135可包括例如九轴传感器,其在三个轴中输出原始数据用于每个个体传感器:加速度、陀螺仪和磁强计,或其可输出描述传感器围绕三个Cartesian轴旋转的旋转矩阵。此外,运动传感器135也可提供加速度数据。运动传感器135可被采样以及运动数据被保存在存储器125中。

可选地,运动传感器135可包括独立的传感器,如独立的一-三轴加速度计、陀螺仪和/或磁强计。来自这些传感器的原始的或被处理的数据可作为运动数据被保存在存储器125中。

传感器140可包括与控制器120通信地耦合的任何数量的附加的传感器,比如,例如,环境光线传感器、温度计、气压、心率、脉搏等。传感器140可与控制器120和/或存储器125通信地耦合。例如,传感器可被采样并且数据以和视频帧被保存的速率相同的速率或以所选的传感器数据流的实际的较低的速率被存储在存储器中。例如,如果视频数据以24fps被录制,那么传感器一秒可被采样和被存储24次以及GPS可以以1fps被采样。

用户接口145可被通信地耦合(无线地或有线地),以及可包括包含按钮和/或触摸屏的任何类型的输入/输出设备。用户接口145可经由有线的或无线的接口与控制器120和/或存储器125通信地耦合。用户接口可提供来自用户的指令和/或将数据输出给用户。各种用户输入可被保存在存储器125中。例如,用户可输入被录制的视频的标题、位置名称、个体的名字等。从各种其他设备或其他输入端采样的数据可被保存在存储器125中。

图2是根据在本文中描述的一些实施例的包括视频元数据的视频数据的数据结构200的示例框图。数据结构200显示各种组件如何被包含或封装在数据结构200中的。在图2中,时间沿着水平轴延伸,而视频、音频和元数据沿着垂直轴延伸。在这个例子中,五个视频帧205被表示成帧X、帧X+1、帧X+2、帧X+3和帧X+4。这些视频帧205可以是较长的视频剪辑的小的子集。每一个视频帧205可以是当和其他视频帧205一起拍摄以及按序列播放时包括视频剪辑的图像。

数据结构200也包括四个音频跟踪(audio track)210、211、212和213。来自传声器115或其他源的音频作为一个或多个音频跟踪可被存储在存储器125中。虽然示出的是四个音频跟踪,但是任何数量的音频跟踪可被使用。在一些实施例中,这些音频跟踪中的每一个可包括用于环绕立体声、用于配音等或用于任何其他用途的不同跟踪。在一些实施例中,音频跟踪可包括从传声器115接收的音频。如果一个以上的传声器115被使用,那么跟踪可被用于每一个传声器。在一些实施例中,音频跟踪可包括在后处理期间或在视频捕获期间从数字音频文件中接收的音频。

根据在本文中描述的一些实施例,音频跟踪210、211、212和213可以是连续的数据跟踪。例如,视频帧205是离散的并且依赖于照相机的帧速率在时间上具有固定的位置。音频跟踪210、211、212和213可以不是离散的且可以如所示的那样在时间上连续地延伸。一些音频跟踪,可具有开始阶段和结束阶段,不与帧205对齐而是在这些开始时间和结束时间之间连续。

根据在本文中描述的一些实施例,开放跟踪215是可为特定的用户应用保留的开放的跟踪。特别地,开放跟踪215可以是连续的跟踪。任何数量的开放跟踪可被包括在数据结构200内。

根据在本文中描述的一些实施例,运动跟踪220可包括从运动传感器135采样的运动数据。运动跟踪220可以是包括对应于每个视频帧205的离散数据值的离散的跟踪。例如,运动数据可通过运动传感器135以和照相机的帧速率相同的速率被采样,并且结合当运动数据被采样时捕获的视频帧205进行存储。运动数据例如可以在被保存在运动跟踪220中之前被处理。例如,原始的加速度数据可被滤波和/或被转变成其他数据格式。

根据在本文中描述的一些实施例,运动跟踪220例如可包括九个子跟踪,其中每个子跟踪包括来自九轴加速度计陀螺仪传感器的数据。根据另一个例子,运动跟踪220可包括单个跟踪,单个跟踪包括旋转矩阵。各种其他数据格式可被使用。

根据在本文中描述的一些实施例,地理位置跟踪225可包括位置、速度和/或从GPS传感器130采样的GPS数据。地理位置跟踪225可以是包括对应于每个视频帧205的离散数据值的离散的跟踪。例如,运动数据可通过GPS传感器130以和照相机的帧速率相同的速率被采样,并且结合当运动数据被采样时捕获的视频帧205一起被存储。

地理位置跟踪225例如可包括三个子跟踪,其中每个子跟踪代表从GPS传感器130接收的纬度、经度和高度数据。根据另一个例子,地理位置跟踪225可包括六个子跟踪,其中每个子跟踪包括用于速度和位置的三维数据。根据另一个例子,地理位置跟踪225可包括单个跟踪,单个跟踪包括代表速度和位置的矩阵。另一个子跟踪可代表利用卫星修复的时间和/或代表用于确定GPS数据的卫星数量的数字。各种其他数据格式可被使用。

根据在本文中描述的一些实施例,其他传感器跟踪230可包括从传感器140采样的数据。任何数量的附加传感器跟踪可被使用。其他传感器跟踪230可以是包括对应于每个视频帧205的离散数据值的离散的跟踪。其他传感器跟踪可包括任何数量的子跟踪。

根据在本文中描述的一些实施例,开放的离散跟踪235是可为特定的用户应用或第三方应用保留的开放的跟踪。特别地,开放的离散跟踪235可以是离散的跟踪。任何数量的开放的离散跟踪可被包括在数据结构200内。

根据在本文中描述的一些实施例,语音标记跟踪240可包括语音发起的标记。语音标记跟踪240可包括任何数量的子跟踪;例如,子跟踪可包括来自不同个体的语音标记和/或用于重叠语音标记的语音标记。语音标记可实时出现或在后处理期间出现。在一些实施例中,语音标记可识别说出的以及通过传声器115录制的选择的词,以及保存文本,该文本识别在相关的帧期间被说出的词。例如,语音标记可将口语“去!”识别为与将被录制在即将来临的视频帧中的活动的开始(例如,比赛的开始)相关联。根据另一个例子,语音标记可将口语“哇!”识别为在视频帧或多个视频帧中被录制的感兴趣的事件。任何数量的词可被标记在语音标记跟踪240中。在一些实施例中,语音标记可将所有口语转录成文本,并且文本可被保存在语音标记跟踪240中。

在一些实施例中,语音标记跟踪240也可识别背景声音,比如,例如,掌声、乐曲的开始、乐曲的结束、狗叫、引擎的声音等。任何类型的声音可被识别为背景声音。在一些实施例中,语音标记也可包括指定语音或背景声音的方向的信息。例如,如果照相机具有多个传声器,其可对声音来自的方向进行三角测量,以及在语音标记跟踪中指定该方向。

在一些实施例中,捕获和录制各种背景标记的单独的背景噪声跟踪可被使用。

运动标记跟踪245可包括数据,其指示各种有关运动的数据,比如,例如,加速度数据、速率数据、速度数据、缩小数据、放大数据等。一些运动数据例如可来源于从运动传感器135或GPS传感器130采样的数据和/或在运动跟踪220中和/或在地理位置跟踪225中的数据。出现在视频帧或一系列视频帧中的某些加速度或加速度的改变(例如,运动数据的改变高于指定的阈值)可导致视频帧、多个视频帧或某个时间被标记以指示照相机的某个事件的发生,比如,例如,旋转、下降、停止、开始、开始活动、碰撞、猛拉等。运动标记可实时出现或在后处理期间出现。

人员标记跟踪250可包括指示在视频帧内的人员的名字的数据以及代表在视频帧内的人员(或人员的脸)的近似位置的矩形信息。人员标记跟踪250可包括多个子跟踪。每个子跟踪例如可包括作为数据元素的个体的名字以及个体的矩形信息。在一些实施例中,个体的名字可放置在多个视频帧中的一个中以保管数据。

矩形信息例如可由四个逗号隔开的小数值(如“0.25,0.25,0.25,0.25”)表示。前两个值可指定左上角的坐标;后两个值指定矩形的高度和宽度。为了定义人员的矩形的目的,图像的维度被标准化为1,这意味着,在“0.25,0.25,0.25,0.25”的例子中,矩形从距离图像的顶部的1/4以及距离图像的左边的1/4开始。矩形的高度和宽度两者都是它们各自的图像维度的大小的1/4。

当视频将要被录制或在后处理期间,人员标记可实时出现。人员标记也可结合识别在图像中的人员的社交网络应用来出现,以及使用这样的信息来标记在视频帧中的人员,并且将人员的名字和矩形信息添加到人员标记跟踪250。任何标记算法或例程可被用于人员标记。

包括运动标记、人员标记和/或语音标记的数据可被认为是被处理的元数据。其他标记或数据也可是被处理的元数据。被处理的元数据可由输入创建,例如,来自传感器、视频和/或音频。

在一些实施例中,离散的跟踪(例如,运动跟踪220、地理位置跟踪225、其他传感器跟踪230、开放的跟踪235、语音标记跟踪240、运动标记跟踪245和/或人员标记跟踪)可跨越多于一个视频帧。例如,为了降低在数据结构200中的数据量,单个GPS数据入口可在跨越五个视频帧的地理位置跟踪225中进行。由在离散的跟踪中的数据跨越的视频帧的数量基于标准变化或被设置用于每一个视频段并且在例如报头内的元数据中被指示。

各种其他的跟踪可被使用和/或保留在数据结构200内。例如,附加的离散的或连续的跟踪可包括指定用户信息、硬件数据、照明数据、时间信息、温度信息、气压、指南针数据、时钟、定时、时间戳等的数据。

在一些实施例中,附加的跟踪可包括视频帧质量跟踪。例如,基于例如视频帧是否曝光过度、是否曝光不足、是否对准焦距、是否没对准焦距、是否有红眼问题等,以及,例如,在视频帧中对象的类型如脸、风景、汽车、在室内、在户外等,视频帧质量跟踪可指示视频帧或一组视频帧的质量。

尽管没有阐明,音频跟踪210、211、212和213也可以是基于每一个视频帧的时序的离散的跟踪。例如,音频跟踪数据也可在逐帧的基础上被封装。

图3示出了根据在本文中描述的一些实施例的除了所有的数据跟踪是连续的跟踪外有点类似于数据结构200的数据结构300。数据结构300显示各种组件是如何被包含或封装在数据结构300中的。数据结构300包括相同的跟踪。每个跟踪可包括基于数据被采样的时间或数据被保存为元数据的时间而被盖上时间戳的数据。每个跟踪可具有不同的或相同的采样速率。例如,运动数据可以以一个采样速率被保存在运动跟踪220中,而地理位置数据可以以不同的采样速率被保存在地理位置跟踪225中。各种采样速率可取决于被采样的数据的类型或基于所选的速率进行设置。

图4示出了根据在本文中描述的一些实施例的包括元数据的打包了的视频数据结构400的另一个例子。数据结构400显示各种组件是如何被包含或封装在数据结构400中的。数据结构400显示了视频、音频和元数据跟踪可如何被包含在数据结构内。数据结构400例如可以是扩展部分和/或包括压缩格式的各种类型的部分(比如例如,MPEG-4部分14和/或Quicktime格式)。数据结构400也可兼容各种其他MPEG-4类型和/或其他格式。

数据结构400包括四个视频跟踪401、402、403和404,以及两个音频跟踪410和411。数据结构400还包括元数据跟踪420,其可包括任何类型的元数据。为了保持不同类型或数量的元数据在元数据跟踪内,元数据跟踪420可以是灵活的。如所示出的,元数据跟踪420可包括例如地理位置子跟踪421、运动子跟踪422、语音标记子跟踪423、运动标记子跟踪423和/或人员标记子跟踪424。各种其他子跟踪可被包括。

元数据跟踪420可包括指定包含在元数据跟踪420内的子跟踪的类型和/或包含在元数据跟踪420内的数据的数量的报头。可选地和/或额外地,报头可在数据结构的开始处或作为第一个元数据跟踪的一部分被发现。

图5示出了根据在本文中描述的一些实施例的用于把运动数据和/或地理位置数据与视频帧关联的过程500的示例流程图。过程500在块505处开始,其中,视频数据是从摄相机110接收的。在块510处,运动数据可从运动传感器135被采样和/或在块515处,地理位置数据可从GPS传感器130被采样。块510和515可以任何顺序出现。此外,块510和块515中的任何一个可被跳过或可不出现在过程500中。此外,块510和/或515中的任何一个可相对于块505异步地出现。运动数据和/或地理位置数据可以在视频帧从摄像机被采样(被接收)的相同时间处被采样。

在块520处,运动数据和/或GPS数据可关联于视频帧而被存储到存储器125中。例如,运动数据和/或GPS数据及视频帧可用相同的时间戳被盖上时间戳。根据另一个例子,运动数据和/或地理位置数据可以在视频帧被保存在存储器中的相同时间处被保存在数据结构200中。根据另一个例子,运动数据和/或地理位置数据可与视频帧分离地被存储到存储器125中。在以后的某个时间点,运动数据和/或地理位置数据可以与视频帧(和/或其他数据)一起被合并到数据结构200中。

过程500然后可返回块505,其中,另一个视频帧被接收。过程500可继续接收视频帧、GPS数据和/或运动数据直到停止录制视频的停止信号或命令被接收。例如,在视频数据以每秒50帧被录制的视频格式中,过程500可每秒重复30次。

图6示出了根据在本文中描述的一些实施例的用于语音标记视频帧的过程600的示例流程图。过程600在块605处开始,其中,来自视频剪辑的音频跟踪(例如,音频跟踪210、211、212或213中的一个或多个)的音频剪辑或与视频剪辑相关联的音频剪辑被接收。音频剪辑可从存储器125被接收到。

在块610处,语音识别在音频剪辑上可被执行,以及在音频剪辑中说出的词的文本可被返回。任何类型的语音识别算法可被使用,比如,例如,隐藏的Markov模型语音识别、动态时间规整语音识别、神经网络语音识别等。在一些例子中,语音识别可通过处于远程的服务器的算法执行。

在块615处,第一个词可被选择作为测试词。术语“词”可包括一个或多个词或短语。在块620处,可确定测试词是否对应于来自词的预选的样本的词或与来自词的预选的样本的词相同。词的预选的样本可以是特定的用户或特定的情境的动态的样本,和/或词的预选的样本可被保存在存储器125中。词的预选的样本可包括,例如,当录制视频剪辑以指示活动的一些类型(比如,例如,“开始”、“去”、“停止”、“结束”、“哇”、“各就各位、预备、开始”、“准备、预备、开始”等)时可被使用的词或短语。词的预选的样本可包括,例如,与在视频剪辑中录制的个体的名字、视频剪辑被录制的位置的名字、在视频剪辑中的活动的描述相关联的词或短语。

如果测试词不对应于来自词的预选的样本的(多个)词,那么过程600移动到块625,并且下一个词或多个词被选择作为测试词,并且过程600返回到块620。

如果测试词确实对应于来自词的预选的样本的(多个)词,那么过程600移动到块630。在块630处,在与测试词相关联的视频剪辑中的视频帧或多个视频帧可被识别,以及,在块635处,测试词可被存储为与这些视频帧相关联和/或保存有与一个或两个视频帧相同的时间戳。例如,如果测试词或短语的持续时间在超过视频剪辑的20个视频帧上被说出,那么测试词被存储在与20个视频帧相关联的语音标记跟踪240内的数据结构200中。

图7示出了根据在本文中描述的一些实施例的用于人员标记视频帧的过程700的示例流程图。过程700在块705处开始,其中视频剪辑例如从存储器125被接收。在块710处,面部检测可在视频剪辑的每一个视频帧上被执行,以及对于在视频剪辑内的每个脸的矩形信息可被返回。矩形信息可确定每个脸和大致对应于在视频剪辑内的脸的尺寸的矩形的位置。任何类型的面部检测算法可被使用。在块715处,矩形信息可在存储器125中被保存为与每一个视频帧关联和/或利用与每一个相应的视频帧相同的时间戳盖上时间戳。例如,矩形信息可被保存在人员标记跟踪250中。

在块720中,面部识别可在每个视频帧的在块710中被识别的每个脸上被执行。任何类型的面部识别算法可被使用。面部识别可返回在块710中检测的每一个脸的名字或其他标识符。面部识别可例如使用社交网站(例如,Facebook)来确定每一个脸的标识。根据另一个例子,用户输入可被用来识别面部。根据又另一个例子,在以前的面部内的面部的识别也可被用于识别在后来的帧中的个体。不管所使用的技术是什么,在块725处,标识符可在存储器125中被存储为与视频帧相关联和/或利用与视频帧相同的时间戳盖上时间戳。例如,标识符(或人名)可被保存在人员标记跟踪250中。

在一些实施例中,块710和块720可通过单一的面部确认识别算法被执行,并且矩形数据和面部标识符可在单一的步骤中被保存。

图8是根据在本文中描述的一些实施例的用于采样和合并视频和元数据的过程800和过程801的示例流程图。过程800在块805处开始。在块805处,元数据被采样。元数据可包括任何类型的数据,比如,例如,从运动传感器、GPS传感器、遥测传感器、加速度计、陀螺仪、磁强计等采样的数据。元数据还可包括表示各种视频或音频标记(比如,人员标记、音频标记、运动标记等)的数据。元数据也可包括在本文中描述的任何类型的数据。

在块810处,元数据可被存储在队列815中。队列815可包括存储器125或是存储器125的部分。队列815可以是FIFO或LIFO队列。元数据可以以设置的采样速率(可以或可以不和每秒被录制的视频数据的帧的数量相同)进行采样。元数据也可以被盖上时间戳。过程800然后可返回到块805。

过程801在块820处开始。在块820处,视频和/或音频从例如照相机110和/或传声器115进行采样。视频数据可按视频帧进行采样。视频和/或音频数据可从在块805和/或块810中的元数据的采样同步地或异步地进行采样。在块825中,视频数据可和在队列815中的元数据结合。如果元数据在队列815中,那么元数据和视频帧作为数据结构(例如,数据结构200或300)的一部分一起在块830处被保存。如果没有元数据在队列815中,那么没有什么和视频一起在块830处被保存。过程801然后可返回到块820。

在一些实施例中,队列815可仅保存最近的元数据。在这样的实施例中,队列可以是单一的数据存储位置。当元数据在块825处从队列815被提取时,元数据可从队列815删除。以这样的方式,仅当这样的元数据在队列815中是可用的时,元数据可结合视频数据和/或音频数据。

在图9中示出的计算系统900(或处理单元)可被用来执行本发明的任何实施例。例如,计算系统900可单独被使用或结合其他组件被使用来执行过程500、600、700和/或800的全部或部分。根据另一个例子,计算系统900可被用于执行任何计算、解任何方程、执行任何识别和/或做本文描述的任何决定。计算系统900包括可经由总线905而被电耦合(或可以以其它适当的方式通信)的硬件元件。硬件元件可包括一个或多个处理器910,一个或多个处理器910包括,但不限制为,一个或多个通用处理器和/或一个或多个专用处理器(如数字信号处理芯片、图形加速芯片等等);一个或多个输入设备915,其可包括,但不限制为,鼠标、键盘等等;以及一个或多个输出设备920,其可包括,但不限制为,显示设备、打印机等等。

计算系统900还可包括(和/或与下述的元件通信)一个或多个存储设备925,其可包括,但不限制为,本地存储器和/或网络可存取的存储器,和/或可包括,但不限制为,磁盘驱动器、驱动器阵列、光存储设备、固态存储设备(如随机存取存储器(“RAM”)和/或可编程、可瞬间更新的只读存储器(“ROM”)等等)。计算系统900也可包括通信子系统930,通信子系统930可包括,但不限制为,调制解调器、网卡(无线或有线的)、红外线通信设备、无线通信设备和/或芯片集(如Bluetooth设备、902.6设备、Wi-Fi设备、WiMAX设备、蜂窝通信设施等)等等。通信子系统930可允许和网络(如在下面描述的网络,仅举一个例子)和/或在本文中描述的任何其他设备交换数据。在许多实施例中,计算系统900还将包括工作存储器935,其可包括如上所述的RAM或ROM设备。在图1中示出的存储器125可包括工作存储器935和/或存储设备925的全部或部分

计算系统900也可包括显示为当前位于工作存储器935内的软件元素,软件元素包括操作系统940和/或其他代码,如一个或多个应用程序945,其可包括如在本文中所描述的本发明的计算机程序和/或可被设计成实现本发明的方法和/或本发明的配置系统。例如,关于上面讨论的(多个)方法的描述的一个或多个程序可实现为由计算机(和/或计算机内的处理器)可执行的代码和/或指令。这些指令和/或代码中的一组可被存储在计算机可读的存储介质上,如上述的(多个)存储设备925。

在一些情况下,存储介质可被合并在计算系统900内或与计算系统900通信。在其他实施例中,存储介质可从计算系统900分离(例如,可移动的介质,如光盘等)和/或被提供在安装包中,使得存储介质可被用于利用其上存储的指令/代码对通用计算机编程。这些指令可能采取可执行代码的形式,其可以是由计算系统900执行的,和/或当在计算系统900上编译和/或安装(例如,使用任何各种一般可用的编译器、安装程序、压缩/解压缩实用程序,等等)时可能采取源和/或可安装的代码的形式,然后采取可执行代码的形式。

许多具体细节在本文中被阐述以提供对要求保护的主题的透彻理解。然而,本领域的技术人员将理解,所要求保护的主题可以在没有这些特定细节的情况下实施。在其他实例中,普通技术人员已知的方法、装置或系统没有被详细描述,以便不混淆所要求保护的主题。

按照算法或对存储在计算系统存储器(如计算机存储器)内的数据比特或二进制数字信号的操作的符号表示,一些部分被呈现。这些算法描述或表示是由数据处理领域的那些普通技术人员使用的技术的实例,以将他们的工作的实质传达给本领域的其他技术人员。算法是操作的自相一致的序列或导致期望的结果的类似的处理。在这个上下文中,操作和处理涉及物理量的物理操作。典型地,尽管不一定,这些量可采取能够被存储、传输、组合、比较或以其他方式操作的电信号或磁信号形式。将这些信号称为比特、数据、值、元素、符号、字符、术语、数目、数字或类似物已经证明有时是方便的,主要由于普遍使用的原因。然而,应该理解的是,所有这些和类似的术语都与适当的物理量相关联并且仅仅是方便的标记。除非另有特别的说明,可以理解,在整个本说明书中使用诸如“处理”,“计算(computing)”,“计算(calculating)”,“确定”和“识别”等是指计算设备的动作或过程,比如一个或多个计算机或类似的电子计算设备或(多个)设备操纵或变换被表示为在存储器、寄存器或其他信息存储设备、传输设备或计算平台的显示设备内的物理的、电子的或磁量的数据。

在本文中讨论的系统或(多个)系统不限于任何特殊的硬件体系结构或配置。计算设备可包括组件的任何合适的布置,这在一个或多个输入上提供有条件的结果。合适的计算设备包括多用途的基于微处理的计算机系统,其访问存储的软件,从实现本主题的一个或多个实施例的通用计算装置到专门的计算装置编程或配置计算系统。任何合适的编程、脚本设计或其他类型的语言或语言的组合可被用于实现在本文的将用于编程或配置计算设备的软件中包含的技术。

在本文中公开的方法的实施例可以在这样的计算设备的操作中被执行。在上面的例子中呈现的块的顺序可被改变,例如,块可被重新排序、结合和/或分裂成子块。某些块或过程可平行地被执行。

在本文中“适应于”或“被配置为”的使用旨在作为开放和包容的语言,不排除设备适于或被配置为执行额外的任务或步骤。此外,“基于”的使用旨在是开放的和包容的,因为“基于”一个或多个叙述的条件或值的过程、步骤、计算或其他活动实际上可基于超出叙述的这些的额外的条件或值。在本文中的标题、列表和编号仅为了方便说明而不是旨在限制。

尽管本主题进行了关于其具体实施例的详细描述,但可以理解,在本领域的技术中,当达到上述的理解,可以很容易产生对这些实施例的修改、变化和等效。因此,应理解的是,本公开出于示例而不是限制的目的进行呈现的,并且不排除包含对本发明的主题这样的修改、改变和/或添加,因为对于本领域的普通技术人员将是明显的。

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