内插视频标签的制作方法_2

文档序号:9333058阅读:来源:国知局
联。
[0033] 在示例中,对象识别模块4可以检测视频和/或视频的音频数据中的一个或多个 对象,并且跟踪对象沿视频时间的连续或基本上连续的表示。对象识别模块4可以对于每 个基本上连续的表示输出每对象一个序列,并且一些这样的序列在时间上可以互相重叠。 例如,对象识别模块4可以识别覆盖如与一位演员的出现相关联的帧500-600的序列,以及 覆盖如与歌曲的播放相关联的帧550-650的另一个序列。在该示例中,与演员和歌曲相关 联的序列在该视频的帧550-600是重叠的。
[0034] 在一些实施方式中,如果在连续出现中的至少一个帧中,对象与多个表示相关联, 则包括在对象识别模块4中或者与之耦合的序列化器模块(图1中未示出)可以从对象的 一个连续出现来形成多个序列。例如,对象识别模块4可以识别连续通过帧500-650出现的 演员的表示。此外,在该示例中,范围550-600中的每个帧,该演员可能具有两个表示(例 如,该演员与该演员的肖像都表示在屏幕上),而范围500-650中的每个其它帧均包括该演 员的仅一个表示。基于各种标准,该序列化器模块可以确定帧550-600中更接近于屏幕左 侧边缘定位的表示以及帧550之前的单个表示由于连续性而属于相同序列。此外,该序列 化器模块可以确定帧550-600中更接近于屏幕右侧边缘定位的表示以及帧600之后的单个 表示属于另一个序列。换句话说,对象识别模块4可以确定"虚拟对象"或者以其它方式相 同的对象的不同实例以与时间上重叠的不同序列相关联。
[0035] 在一些示例中,服务器设备2的视频分段模块8可以被配置为或者能够以其它方 式进行操作以确定对象识别模块4所识别的存在对象的视频帧的序列的第一时间和最后 时间,而在其它示例中,被描述为由视频分段模块8所执行的操作可以隐含地由内插函数 模块6来执行。在各种实施方式中,视频分段模块8可以基于帧计数、时间戳或其它标准来 确定存在对象的序列的第一和最后时间。例如,视频分段模块8可以确定视频帧的第500 和600帧对应于一位演员在视频帧的特定序列期间出现在屏幕上的第一和最后时间。作为 另一个示例,视频分段模块8可以确定歌曲的一部分从对应于视频的20:21 (分:秒)的时 间戳到对应于该视频的25:32的时间戳进行播放。与对象相关联的帧的序列在这里可以被 称作该视频的"分段",并且如视频分段模块8所识别的该对象存在于序列中的第一和最后 时间在这里可以被称之为该分段的"端点"。在各种情况下,视频分段模块8可以基于诸如 先前关于其它视频所确定的分段数据之类的启发式数据来确定分段。
[0036] 在示例中,视频分段模块8可以以计算上可行的方式将每个序列划分为分段,使 得虚拟对象在每个这样的分段中的移动可以以简单的数学函数进行描述。视频分段模块8 可以每个序列输出多个分段。视频分段模块8可以诸如基于服务器设备2被使得能够处理 必要完整性的情形中的启发而提供与在何处切割分段相关的某些细节。替选地,视频分段 模块8可以简单地基于如内插函数模块6所提供的内插函数的有效时域的定义来确定在何 处切割分段。
[0037] 如这里所使用的,术语"分段"可以与其中对象的移动和/或大小变化可以使用简 单数学函数进行表示的序列的划分相关联。术语"序列"可以与虚拟对象在视频中的连续或 基本上连续的出现相关联。术语"端点"可以与序列的开头一例如序列中的第一分段的开 头、序列的结尾一例如序列中最后分段的结尾、或者序列中间出现分段的点相关联。进而, 序列可以包括一个或多个分段。与不同虚拟对象相关联的序列在时间上可以是重叠的(例 如通过共享一个或多个共有的帧),但是与单个虚拟对象相关联的不同分段在时间上不重 置。
[0038] 如所描述的,对象识别模块4可以识别视频中的多个不同对象。进而,在一些示例 中,视频分段模块8可以对于每个所识别的对象识别一个或多个分段。在示例中,单个对象 可以与多个分段相关联,诸如一位演员在视频中的不接连的出现,其中该出现被一段时间 和/或帧所隔开。此外,视频分段模块8可以识别与不同对象相关联的重叠分段,和/或可 以识别与对象或者"虚拟"对象的不同实例相关联的重叠分段,所述"虚拟"对象例如表示 与相同对象相关联的多个表示(例如,演员和演员的肖像)的"虚拟"对象。例如,视频分 段模块8可以识别具有与一位演员的出现相关联的帧500-600的端点的分段,以及具有与 歌曲的播放相关联的帧550-650的端点的另一个分段。在这种情况下,与演员和歌曲相关 联的分段在该视频的帧550-600是重叠的。以这种方式,对象识别模块4和视频分段模块 8可以识别多个对象以及对应于视频中的多个对象的多个分段。
[0039] 服务器设备2的内插函数模块6可以确定与对象在每个相对应分段中的存在相关 联的内插函数。更具体地,如内插函数模块6所定义的内插函数可以指定视频中该内插函 数有效的时域。在各个示例中,该内插函数可以是基于对象在分段的每个端点处的位置的 线性函数。例如,在对象为出现在屏幕上的演员的情形中,内插函数模块6可以确定该演员 的表示在分段的每个端点帧中的位置。基于演员的表示在分段的每个端点帧中的位置,内 插函数模块6可以确定该内插函数为表示对象跨在两个端点位置之间的该分段的移动的 线性函数。
[0040] 在诸如处于屏幕上的演员的视觉表示的对象的实例中,内插函数模块6可以将该 内插函数确定为线性函数以表示该对象跨分段的移动。例如,如果该对象在视觉上被表示 在第一端点帧的左下角,并且被表示在最后端点帧的右上角,则内插函数模块6可以近似 线性内插函数,其假设该对象跨该分段以恒定速率从显示器的左下角移动至右上角。即使 对象跨分段的实际移动不符合任何线性函数,并且所确定的由近似的线性内插函数所导致 的移动与对象跨分段的实际移动偏离,内插函数模块6也可以确定该内插函数为近似表示 该对象的移动的线性函数,这允许与该对象的移动的可容忍误差边际。内插函数模块6可 以在简单列出对象出现在分段中的第一和最后时间中的每个的对象位置(例如对象的中 心的位置)的方面对该线性函数加以表达。
[0041] 在一些实施方式中,内插函数模块6可以将可容忍误差的阈值设置为相对于视频 尺寸而与对象的实际移动相差值0.8% (或0.008)或2% (或0.02)。在一些实施方式中, 内插函数模块6可以基于诸如对象大小之类的各种标准分配不同误差阈值(例如,以渐进 或累加的方式)。例如,在给定帧中具有较小大小的对象可以对于该帧(和/或对于其它 帧)被分配较小的误差阈值,而在给定帧中具有较大大小的对象可以对于该帧被分配较大 的误差阈值。
[0042] 在各个示例中,内插函数模块6可以关于对象跨分段的对象线性移动、对象的二 次移动或者对象跨分段的形状变化或者二者来确定内插函数。更具体地,线性移动可以与 对象关于该分段的相应帧的长度和/或宽度与该对象的移动相关联。在一些示例中,诸如 在仅有对象的线性移动的情况下,内插函数模块6可以确定内插函数以仅包括该对象的端 点数据。另一方面,二次移动可以与对象关于该分段中的帧的深度透视的移动相关联。例 如,二次移动可以表示对象与捕捉帧的图像捕捉设备之间的感知距离的变化。二次移动可 以源自于移动接近或远离该图像捕捉设备的移动、或者通过该图像捕捉设备的移动和/或 缩放移动的对象,并且可以被表达为表示该对象的标签的线性大小变化。
[0043] 在一些示例中,内插函数模块6可以使用其它类型的简单数学函数,诸如二次函 数、指数函数、三角函数等,以描述对象跨分段的移动。内插函数模块6可以对于要被客户 端设备12接收的每个分段生成一个或多个简单数学函数。此外,内插函数模块6可以每个 分段输出一个或多个内插函数,诸如以描述移动的各个方面(大小变化、位置变化等)。在 各种实施方式中,内插函数模块6可以与视频分段模块8共享一个或多个函数,以便更为容 易地提供视频分段模块8可以在确定分段方案时所利用的数据或反馈。
[0044] 服务器设备2的映射模块10可以被配置为或者能够以其它方式进行操作以识别 与对象识别模块4所识别的对象相关联的各种知识数据。例如,映射模块10可以识别包括 被对象识别模块4识别为存在于视频的帧中的演员的影片目录信息在内的知识数据。在各 种实施方式中,映射模块10可以识别在服务器设备2上本地存储的知识数据,或者服务器 设备2诸如通过互联网连接而经由通信连接所访问的知识数据。
[0045] 此外,映射模块10可以将所识别的知识数据中的特定部分映射至对象识别模块4 在视频中所识别的特定对象。作为一个实例,对象识别模块4可以将演员以及诸如城市之 类的地理位置识别为处于视频的各个帧的屏幕上。在该示例中,映射模块10可以识别与演 员和城市二者相关联的知识数据。此外,映射模块10可以将该知识数据中的特定部分映射 至每个对象,诸如将该演员的影片目录信息映射至该演员,并且将历史和/或旅游信息映 射至该城市。以这种方式,映射模块10可以根据对象识别模块4在视频中所识别的相关对 象来安排特定知识数据。
[0046] 在示例中,映射模块10可以使用可用于映射模块10的各种技术或者基于人工输 入而将每个虚拟对象序列的序列映射至真实对象和相关知识数据。例如,映射模块10在该 阶段可以将相同时域中的不同虚拟对象映射至相同的真实对象。此外,映射模块10可以被 使得能够独立于视频分段模块8和内插函数模块6中的一个或二者进行工作,因为映射模 块10在确定映射数据时可以不需要这些模块所提供的数据。
[0047] 服务器设备2可以将视频、对象识别模块4在该视频中所识别的对象的指示以及 作为内插函数的指示中的一个或多个作为数据24的一部分传送至客户端设备12。虽然在 这里关于服务器设备2可以向客户端设备12传送的信息进行描述,但是将要意识到的是, 数据24可以包括在服务器2和客户端设备12之间通过通信连接所交换的各种信息。经由 诸如服务器设备2和客户端设备12的网络接口之类的相应接口,服务器设备2可以传送并 且客户端设备12可以接收作为去往客户端设备12的数据24的一部分的视频以及内插函 数的指示。
[0048] 客户端设备12可以从服务器2接收作为数据24的一部分的视频、视频中表示的 一个或多个对象的指示、一个或多个内插函数的指示以及与每个所指示的对象相关联的知 识数据。在各种情形中,该视频可以包括多个视频帧,并且该内插函数可以指定该视频中该 内插函数有效的时域。如所描述的,除其它选项之外,该时域可以在帧计数和/或时间戳方 面进行表达。
[0049]内插模块15可以被配置为或者能够以其它方式进行操作以对于该视频中的给定 时间(例如,对于给定帧)确定与每个所指示的对象相关联的标签的位置。更具体地,内插 模块15可以基于从服务器设备2接收的内插函数的应用来确定该标签的位置。例如,内插 模块15检查从服务器设备2所下载的数据以确定对于给定时间定义了哪些内插函数。内 插模块15随后将所选择的时间(例如该视频进行暂停的帧编号)输入到对于该时间所定 义的每个内插函数中,以获得针对能够在该帧中为其显示标签的每个对象在何处显示相对 应标签的结果。
[0050] 在一些示例中,内插模块15还使用内插函数来计算所要显示的标签的形状和/或 大小。例如,在标签被定义为圆形的情况下,该标签的半径或直径可以被该内插函数定义为 时间一例如帧编号一的函数。替选地或除此之外,在一些示例中,内插模块15可以例如基 于分段中所识别的对象的属性来确定标签的形状。例如,在人脸的示例中,内插模块15可 以将标签的形状确定为圆形或椭圆形,而在诸如由城市天际线所识别的城市之类的地理位 置的情况下,内插模块15可以将标签的形状确定为使用B6zier曲线或其它建模技术所生 成的多边形。
[0051]内插模块15可以使得客户端设备12输出视频的一个或多个帧以诸如在用户界面 (UI)设备14进行显示以及例如通过使用在客户端设备12上运行的视频播放器应用进行显 示。虽然出于示例的目的被示为客户端设备12的一部分,但是UI设备14在各种实施方式 中可以与客户端设备12分离,并且可选地耦合至客户端设备12以使得能够进行通信。如图 1所示,UI设备14输出用户界面(26)以显示。UI26包括若干UI要素,包括视频帧27、脸 部对象28和标签30。例如,脸部对象28可以与在视频分段的期间在屏幕上表示的演员、运 动员或其它人相关联。此外,内插模块15可以基于对于脸部对象28所定义并且从服务器 设备2下载的内插函数来确定标签30的位置、大小和形状。此外,内插模块15对于其确定 分段中的位置的每个标签可以与对应于对于该分段所识别的特定对象的知识数据相关联。
[0052] 如图1所示,在一些示例中,内插模块15可以基于内插函数对标签30进行定位, 使得标签30较脸部对象28是歪斜的,即不未与脸部对象28精确对准。在图1的特定示例 中,脸部对象28的多个部分位于标签30边界之外,诸如脸部对象28的右耳和下巴的多个 部分。此外,标签30覆盖视频帧27中不表示脸部对象28的实质性部分。如所描述的,客 户端设备12所接收到的内插函数可以在阈值误差边际之内近似表示脸部对象28跨视频帧 的分段的移动。进而,在视频帧的序列的给定帧中,内插函数所输出的标签30的位置可以 在该误差边际内较脸部对象28的实际位置有所偏差。
[0053] 类似地,内插模块15可以使用内插函数来确定标签30的一个或多个尺寸。例如, 内插模块15可以使用内插函数来确定标签30在视频帧27中的直径或半径。此外,在图1 的示例中,例如通过在将对象类型映射至标签形状的数据库中查找对象类型,内插模块15 可以基于确定脸部对象28表示人脸而为标签30选择圆形形状。
[0054]UI26还包括音频标签32。音频标签32可以与客户端设备12结合输出视频帧27 以显示的歌曲相关联。客户端设备12可以下载与对于该歌曲所定义的歌曲对象相关联的 内插函数,其中该内插函数被定义为关于该歌曲在其间进行播放的视频分段的静态或非内 插函数。例如,用于歌曲对象的内插函数可以简单地指示对于视频中的任意给定时间是否 存在歌曲对象。例如,内插模块15可以应用所接收到的内插函数以确定该歌曲对象不与分 段的任何帧内的特定位置相关联。在一些示例中,内插模块15可以关于分段中与歌曲对象 相关联的每个帧为音频标签32确定相同的位置。在一些示例中,内插模块15可以将音频 标签32放在视频帧27内,使得音频标签32不与当前分段中包括其它标签一诸如标签30- 的帧中的任何其它标签重叠,其位置可以根据其它标签的放置而随帧变化。在图1的特定 示例中,音频标签32被表达为类似音符的图标。以这种方式,内插模块15可以实施本公 开的客户端侧的技术而以标签在视觉上分开的方式输出多个标签,这改善了客户端设备12 的用户的体验。
[0055] 在一些示例中,内插模块15可以使得UI设备14响应于某些条件一诸如接收用户 输入一而显示标签30和音频标签32中的一个或二者。例如,在其中UI设备14包括诸如 触摸屏之类的存在敏感设备的实施方式中,内插模块15可以检测用户输入,诸如利用手指 或触控笔在UI设备14上对应于暂停按钮34的区域所提供的触摸输入。响应于检测到暂 停按钮34处的触摸输入,内插模块15可以使得客户端设备12暂停播放视频,诸如通过使 得客户端设备12上运行的视频播放器应用在视频帧27停止显示。此外,内插模块34可以 运行在视频帧27处定义的内插函数以确定在何处输出标签30和音频标签32中的一个或 二者以供显示。在另一个实施方式中,内插模块15可以响应于暂停按钮34处的触摸输入 而输出标签30,同时在视频显示期间输出音频标签32。
[0056] 客户端设备12的
当前第2页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1