CN105052155B - 内插视频标签 - Google Patents

内插视频标签 Download PDF

Info

Publication number
CN105052155B
CN105052155B CN201480016856.6A CN201480016856A CN105052155B CN 105052155 B CN105052155 B CN 105052155B CN 201480016856 A CN201480016856 A CN 201480016856A CN 105052155 B CN105052155 B CN 105052155B
Authority
CN
China
Prior art keywords
video
frame
video frame
label
sequence
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
CN201480016856.6A
Other languages
English (en)
Other versions
CN105052155A (zh
Inventor
蔡浩旋
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Google LLC
Original Assignee
Google LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Google LLC filed Critical Google LLC
Publication of CN105052155A publication Critical patent/CN105052155A/zh
Application granted granted Critical
Publication of CN105052155B publication Critical patent/CN105052155B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/81Monomedia components thereof
    • H04N21/8126Monomedia components thereof involving additional data, e.g. news, sports, stocks, weather forecasts
    • H04N21/8133Monomedia components thereof involving additional data, e.g. news, sports, stocks, weather forecasts specifically related to the content, e.g. biography of the actors in a movie, detailed information about an article seen in a video program
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/23418Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving operations for analysing video streams, e.g. detecting features or characteristics
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/70Information retrieval; Database structures therefor; File system structures therefor of video data
    • G06F16/78Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
    • G06F16/783Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content
    • G06F16/7837Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content using objects detected or recognised in the video content
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/439Processing of audio elementary streams
    • H04N21/4394Processing of audio elementary streams involving operations for analysing the audio stream, e.g. detecting features or characteristics in audio streams
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • H04N21/44008Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving operations for analysing video streams, e.g. detecting features or characteristics in the video stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/472End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content
    • H04N21/4722End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content for requesting additional data associated with the content
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/472End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content
    • H04N21/4722End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content for requesting additional data associated with the content
    • H04N21/4725End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content for requesting additional data associated with the content using interactive regions of the image, e.g. hot spots
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/85Assembly of content; Generation of multimedia applications
    • H04N21/858Linking data to content, e.g. by linking an URL to a video object, by creating a hotspot
    • H04N21/8583Linking data to content, e.g. by linking an URL to a video object, by creating a hotspot by creating hot-spots
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/025Systems for the transmission of digital non-picture data, e.g. of text during the active part of a television frame

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Databases & Information Systems (AREA)
  • Human Computer Interaction (AREA)
  • Theoretical Computer Science (AREA)
  • Library & Information Science (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • User Interface Of Digital Computer (AREA)
  • Processing Or Creating Images (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Television Signal Processing For Recording (AREA)

Abstract

描述了一种内插视频标签技术。一种示例方法包括识别视频的多个视频帧中包括的视频帧的序列,其中对象存在于该视频帧的序列中的至少一个视频帧中,确定与该对象在该视频帧的序列中的存在相关联的内插函数,其中该内插函数指定该内插函数在其中有效的视频的时域,并且传送该视频、该对象的指示以及该内插函数的指示。

Description

内插视频标签
背景技术
诸如台式机和膝上计算机、平板计算机、移动电话和电视机之类的各种设备都可以能够播放视频数据。这样的设备可以通过各种手段获得视频数据,诸如经由互联网下载、互联网流送、或者通过可移动介质。在示例中,显示视频数据的相同设备也可以能够计算与视频相关的其它数据。
发明内容
在一个示例中,一种方法包括由计算设备识别视频的多个视频帧中所包括的视频帧的序列,其中对象存在于该视频帧的序列中的至少一个视频帧中;由该计算设备确定与该对象在该视频帧的序列中的存在相关联的内插函数,其中该内插函数指定该内插函数在其中有效的视频的时域,并且由该计算设备传送该视频、该对象的指示以及该内插函数的指示。
在另一个示例中,一种设备包括存储器、以及一个或多个可编程处理器,其被配置为识别视频的多个视频帧中所包括的视频帧的序列,其中对象存在于该视频帧的序列中的至少一个视频帧中;确定与该对象在该视频帧的序列中的存在相关联的内插函数,其中该内插函数指定该内插函数在其中有效的视频的时域。该设备进一步包括接口,其被配置为传送该视频、该对象的指示以及该内插函数的指示。
在另一个示例中,一种计算机可读存储设备编码有指令,该指令在被执行时使得计算设备的一个或多个可编程处理器识别视频的多个视频帧中所包括的视频帧的序列,其中对象存在于该视频帧的序列中的至少一个视频帧中,确定与该对象在该视频帧的序列中的存在相关联的内插函数,其中该内插函数指定该内插函数在其中有效的视频的时域,并且传送该视频、该对象的指示以及该内插函数的指示。
在另一个示例中,一种方法包括由计算设备接收包括多个视频帧的视频、该视频中表示的至少一个对象的指示、与该对象相关联的标签、用于该视频中的视频帧的至少一个序列的与该对象相关联的内插函数、以及与该对象相关联的知识数据,其中该内插函数指定该内插函数在其中有效的视频的时域;由该计算设备并且对于该视频的视频帧基于所接收的内插函数确定该视频帧中用于与该对象相关联的标签的位置,其中该标签与关联于该对象的知识数据相关联;以及由该计算设备输出视频帧以及根据所确定的位置定位的标签中的至少一个以显示。
在另一个示例中,一种设备包括存储器和接口,该接口被配置为接收包括多个视频帧的视频、该视频中表示的至少一个对象的指示、用于该视频的视频帧的至少一个序列的与该对象相关联的内插函数的指示、以及与该对象相关联的知识数据,其中该内插函数指定该内插函数在其中有效的视频时域。该设备进一步包括一个或多个可编程处理器,其被配置为对于该视频的视频帧基于所接收的内插函数确定该视频帧中用于显示与该对象相关联的标签的位置,其中该标签与关联于该对象的知识数据相关联;以及输出视频帧以及根据所确定的位置定位的标签中的至少一个以显示。
在另一个示例中,一种计算机可读设备编码有指令,该指令在被执行时使得计算设备的一个或多个可编程处理器接收包括多个视频帧的视频、该视频中表示的至少一个对象的指示、用于该视频中的视频帧的至少一个序列的与该对象相关联的内插函数的指示、以及与该对象相关联的知识数据,其中该内插函数指定该内插函数在其中有效的视频的时域;对于该视频的视频帧基于所接收的内插函数确定该视频帧中用于显示与该对象相关联的标签的位置,其中该标签与关联于该对象的知识数据相关联;以及输出视频帧以及根据所确定的位置定位的标签中的至少一个以显示。
本公开的一个或多个示例的细节在附图和以下描述中给出。其它的特征、目标和优势将由于该描述和附图以及由于权利要求而是显而易见的。
附图说明
图1是图示依据本公开的一个或多个方面的服务器设备、客户端设备以及由该客户端设备所提供的用户界面的概念图。
图2是图示被配置为执行本公开的一种或多种服务器侧内插视频标签技术的服务器设备的细节的框图。
图3是图示被配置为执行本公开的一种或多种客户端侧内插视频标签技术的客户端设备的细节的框图。
图4A-4C是依据本公开的一个或多个方面的具有内插视频标签的用户界面的概念图。
图5是图示服务器设备可以通过其来实施本公开的一种或多种服务器侧内插视频标签技术的示例过程的流程图。
图6是图示客户端设备可以通过其来实施本公开的一种或多种客户端侧内插视频标签技术的示例过程的流程图。
图7是图示服务器设备可以通过其来实施本公开的一种或多种服务器侧内插视频标签技术的另一种示例过程的流程图。
图8是图示客户端设备可以通过其来实施本公开的一种或多种客户端侧内插视频标签技术的另一种示例过程的流程图。
具体实施方式
计算设备或者在计算设备上执行的程序可以播放或者以其它方式输出视频数据。更具体地,计算设备可以通过显示图像(或“视频帧”)序列来播放视频。此外,计算设备可以结合播放视频而输出音频。在各种情形中,用户可能希望观看与所播放的视频中表示的对象相关联的数据。例如,用户可能希望观看与出现在所播放的视频中的画面上的演员相关联的诸如影片目录之类的数据。作为另一个示例,用户可能希望观看与视频中所表示的无生命实体相关联的数据,诸如特定建筑物的名称或位置或者歌曲的名称。
一般地,本公开的技术涉及对视频的帧中所表示的对象添加标签。该标签可以使得用户能够访问与视频的帧中所表示的各种对象相关联的信息(例如“元数据”)。例如,描述了用于计算给定视频帧中显示与对象相关联的标签的位置的技术。此外,描述了用于计算所要显示的标签的性质和/或大小的技术。
在一个示例方面中,诸如实施该技术的服务器之类的计算设备可以检测并识别视频内诸如人脸的一个或多个对象。此外,该服务器可以确定包括该对象的连续视频帧的一个或多个序列,其被称之为分段。针对每个分段,该服务器可以确定该对象在相应序列的起始帧和结束帧内的位置。基于对象跨视频帧的序列的起始和结束位置(“端点”),该服务器可以确定表达该对象跨该视频帧的序列的移动的内插函数。表达对象跨帧的移动的精确内插函数可以是非线性的,诸如与对象的二次运动相关联的内插函数。该服务器可以利用产生在所允许的误差公差内的结果的线性内插函数对非线性内插函数进行近似。例如,该线性内插函数可以简单地指定该对象在视频分段中的起始帧和结束帧中的位置,以及该内插函数在其中有效的时域。
该服务器还可以基于所近似的函数将标签与每个序列相关联,使得该视频帧内的标签的位置近似地跟踪该对象跨序列的移动。更具体地,该服务器可以存储该对象的表示以及有关该对象的信息。在其中该对象是与演员相关联的脸部图像的示例中,该服务器可以存储与该演员相关的信息,诸如该演员迄今为止的影片目录。作为另一个示例,如果该对象是诸如城市天际线之类的位置的表示,该服务器可以存储与该城市相关的信息,诸如旅游相关的数据以及指向旅游网站的链接。此外,该服务器可以存储标签函数,其将特定对象的标签映射至对象相关信息。此外,该服务器可以连同包括内插函数的基于一个或多个对象的存在而指示各种分段的数据一起将视频传送至一个或多个客户端设备,诸如用于访问视频的客户端设备。
进而,从服务器接收该视频的客户端设备可以实施本公开的一种或多种技术以向用户提供针对有关该视频中的对象的信息的轻量级的基于标签的访问。例如,在从服务器下载或以其它方式接收一些或全部视频文件之后或同时,该客户端设备可以为用户准备这样的文件的一个或多个部分供其观看,其具有访问对象有关信息的选项。更具体地,客户端设备可以识别该视频的特定实例处的所有“活动”标签。如这里所使用的,术语“活动”可以描述与当前视频帧中所显示的对象相关联的标签。给定视频帧可以基于帧中所识别的对象的数量而包括多个活动标签。例如,客户端设备可以对于视频文件的每个序列识别服务器与该序列中所表示的对象相关联的标签。此外,该客户端设备可以基于对象的属性选择或计算标签性质。作为几个示例,该客户端设备可以对于脸选择圆形或椭圆形,对于建筑物或建筑物集群选择定制多边形,或者对于诸如歌曲之类的音频对象选择音符形状。
使用服务器对于特定对象所提供的内插函数,客户端设备可以确定该对象跨序列的近似运动(例如路径)。更具体地,该客户端设备可以应用该内插函数以近似该序列的每个视频帧内的对象的位置。基于对象在帧内的近似位置,客户端设备可以与相对应视频帧同时输出适当标签,由此使得用户能够基于当前所显示的视频帧内的对象位置来访问对象的标签。
例如,该客户端设备可以输出视频,并且可以响应于接收到暂停请求而显示视频帧,该视频帧覆盖有与该视频帧内的对象相关联的标签,其中该标签的形状和位置基于相应内插函数来计算。此外,该客户端设备可以对标签进行配置以用作指向特定于相应对象的信息的链接。例如,该客户端设备可以使得用户能够与标签进行交互(例如通过触摸输入),由此调用指向对象相关信息的链接。
本公开的技术可以提供一种更为潜在的优势。例如,通过以所描述的方式输出标签,客户端设备可以节约该设备本来要通过识别视频的每个帧中的对象并且相应地输出标签所耗费的资源。例如,该客户端设备可以通过基于分段端点仅下载并存储对象信息和标签内插功能而不是对于视频的每个和全部帧下载并存储标签位置数据而来节约大量资源。客户端设备可以通过实施本公开的技术而节约的资源的示例包括处理资源、数据存储容量和计算时间。例如,本公开的技术在视频包括若干个计算设备对于其提供元数据的对象的情形中可以是特别有用的。
图1是图示依据本公开的一个或多个方面的服务器设备2、客户端设备12以及由客户端设备12所提供的用于视频显示的用户界面(UI)26的概念图。服务器设备2可以与客户端设备12以及诸如各种其它客户端设备的其它计算设备通信地耦合。作为一些示例,服务器设备2可以使用一种或多种类型的通信连接与客户端设备12通信,诸如经由包括互联网、局域网(LAN)、广域网(WAN)、城域网(MAN)的系统,诸如第三代(3G)和第四代(4G)蜂窝网络之类的无线协议,等等。
依据本公开的一个或多个方面,服务器设备2和客户端设备12可以不被要求保持持续通信连接来执行并利用这里所描述的内插视频标签技术。相反,例如,服务器设备2可以执行本公开的一种或多种服务器侧技术,并且通过通信连接向客户端设备12传送数据24。当接收到数据24时,客户端设备12可以执行本公开的一种或多种客户端侧技术以执行内插视频标签,而不要求与服务器设备进一步交互。以这种方式,即使在客户端设备未活动地耦合至服务器设备2的情况下,诸如在客户端设备12不访问互联网连接时,客户端设备12也可以显示带标签视频和标签相关元数据。
服务器设备2可以实施这里所描述的内插视频标签技术的一个或多个服务器侧的部分。虽然仅出于说明的目的被图示为单个设备,但是服务器设备2在各种实施方式中可以包括设备的组合,诸如各种主机设备和/或其它互连的计算设备。如图1所示,服务器设备2可以包括各种组件,包括对象识别模块4、内插函数模块6、视频分段模块8和映射模块10。在各种实施方式中,这里关于两个或更多模块所描述的功能可以被组合为单个模块。相反地,关于任意一个模块所描述的功能可以划分在两个或更多模块之间。
服务器设备2可以存储或者以其它方式访问各种数字数据,诸如视频文件(或者简称为“视频”)以及各种知识数据。作为一个示例,服务器设备2可以访问与视频中的各种对象相关的知识数据,诸如与出现在视频中的演员相关的信息、诸如出现在视频中的建筑物和地理位置之类的无生命对象、以及要作为视频的一部分输出的音频数据,诸如歌曲、叙述或者执行画外音的演员的身份。被服务器设备2所访问的视频可以包括视频帧,其可以包括图像和/或图片。该视频可以根据视频帧被安排以便进行呈现的特定顺序进行配置,诸如根据视频帧要被输出以供显示的顺序。
对象识别模块4可以被配置为或者能够以其它方式进行操作以识别视频中所包括的连续视频帧的集合,每个视频帧均包括对象的表示。例如,对象识别模块4可以识别每个均包括相同对象的表示的连续帧的集合,诸如整个视频中的帧的子集。该对象可以是在这些帧中以视觉方式表示的演员或无生命对象,或者可以与关联于这些帧的音频数据相关联。如这里所使用的,术语“序列”可以定义对象识别模块4的输出。序列可以与所识别的对象相关联,并且可以包括被识别以表示对象在视频或视频的音频数据中的连续出现的帧的集合中的相关数据,诸如这些帧的时间数据(例如,毫秒和/或帧计数),以及这些帧中所识别的对象的形状、大小、位置或者简单地存在。
基于一个或多个参数,对象识别模块4可以将序列识别为均表示对象的视频帧块,即使该序列中的某些帧不包括该对象的表示。例如,在一个示例中,对象识别模块4可以将序列识别为表示屏幕上的演员,即使该序列包括一个或多个不表示该演员的帧,假设该演员的表示并未显现的情形未以大于在该序列中的阈值数量(例如两个)的连续帧中发生。在另一个示例中,对象识别模块4可以识别与画外音相关联的序列,即使该画外音在该序列的某些帧的显示期间是听不到的,假设听不到该画外音的情形不超过该序列的阈值持续时间(例如两秒)。
在一些实施方式中,对象识别模块4可以为在端点帧之后的有限数量的帧(诸如一个帧、两个帧等)确定对象的存在,以使得客户端设备能够在对象停止存在于视频中之后的某个时间内输出该对象的标签。以这种方式,对象识别模块4可以使得用户能够在对象停止存在于视频中之后的某个时间内访问标签和/或相关联的知识数据。例如,对象识别模块4可以确定歌曲在该歌曲实际上结束之后的数秒钟范围内的额外帧期间存在,以考虑到诸如由于淡出或者被与歌曲同时存在的其它声音所抑制而错误地认为歌曲结束时、或者在歌曲是视频的音轨中的插入片段而用户仍然期望该歌曲继续播放时的情形,并且因此其标签是可见的。通过允许对象从序列中短暂缺失,对象识别模块4可以考虑到诸如视频中的灯光闪烁或者挡住帧中的视觉对象的前景对象之类的情形,或者考虑到在画外音或歌曲播放期间发生的暂停。这样的对象缺失在这里也可以被称作“间隙”或“孔”。以这种方式,对象识别模块4可以实施本公开的技术以考虑到由于视频和相关联的音频中的常见状况所导致的对象缺失。
在示例中,对象识别模块4可以沿视频时间将对象的连续表示分段或“切割”为覆盖该连续出现的持续时间的不同部分的多个序列。例如,对象识别模块4可以确定对象表示在某个帧出现“跳跃”,从而实质性和/或快速地与(多个)先前帧的表示相关,这样的移动将不会在逻辑上被识别为是连续的,并且因此定义在该帧之前结束的序列并且在该帧开始的新的序列。如这里所使用的,术语“移动”可以与对象的大小变化、位置变化、形状变化以及存在变化中的任意一个或多个相关联。例如,实质性移动可以与维度参数(宽度、高度、x坐标位置、y坐标位置、直径、半径等)改变超过阈值数量(例如视频帧的宽度或高度的30%(0.3))相关联。例如,跳跃可以与超过阈值误差值的误差值相关联,上述阈值误差值与对象的非连续移动相关联。
在示例中,对象识别模块4可以检测视频和/或视频的音频数据中的一个或多个对象,并且跟踪对象沿视频时间的连续或基本上连续的表示。对象识别模块4可以对于每个基本上连续的表示输出每对象一个序列,并且一些这样的序列在时间上可以互相重叠。例如,对象识别模块4可以识别覆盖如与一位演员的出现相关联的帧500-600的序列,以及覆盖如与歌曲的播放相关联的帧550-650的另一个序列。在该示例中,与演员和歌曲相关联的序列在该视频的帧550-600是重叠的。
在一些实施方式中,如果在连续出现中的至少一个帧中,对象与多个表示相关联,则包括在对象识别模块4中或者与之耦合的序列化器模块(图1中未示出)可以从对象的一个连续出现来形成多个序列。例如,对象识别模块4可以识别连续通过帧500-650出现的演员的表示。此外,在该示例中,范围550-600中的每个帧,该演员可能具有两个表示(例如,该演员与该演员的肖像都表示在屏幕上),而范围500-650中的每个其它帧均包括该演员的仅一个表示。基于各种标准,该序列化器模块可以确定帧550-600中更接近于屏幕左侧边缘定位的表示以及帧550之前的单个表示由于连续性而属于相同序列。此外,该序列化器模块可以确定帧550-600中更接近于屏幕右侧边缘定位的表示以及帧600之后的单个表示属于另一个序列。换句话说,对象识别模块4可以确定“虚拟对象”或者以其它方式相同的对象的不同实例以与时间上重叠的不同序列相关联。
在一些示例中,服务器设备2的视频分段模块8可以被配置为或者能够以其它方式进行操作以确定对象识别模块4所识别的存在对象的视频帧的序列的第一时间和最后时间,而在其它示例中,被描述为由视频分段模块8所执行的操作可以隐含地由内插函数模块6来执行。在各种实施方式中,视频分段模块8可以基于帧计数、时间戳或其它标准来确定存在对象的序列的第一和最后时间。例如,视频分段模块8可以确定视频帧的第500和600帧对应于一位演员在视频帧的特定序列期间出现在屏幕上的第一和最后时间。作为另一个示例,视频分段模块8可以确定歌曲的一部分从对应于视频的20:21(分:秒)的时间戳到对应于该视频的25:32的时间戳进行播放。与对象相关联的帧的序列在这里可以被称作该视频的“分段”,并且如视频分段模块8所识别的该对象存在于序列中的第一和最后时间在这里可以被称之为该分段的“端点”。在各种情况下,视频分段模块8可以基于诸如先前关于其它视频所确定的分段数据之类的启发式数据来确定分段。
在示例中,视频分段模块8可以以计算上可行的方式将每个序列划分为分段,使得虚拟对象在每个这样的分段中的移动可以以简单的数学函数进行描述。视频分段模块8可以每个序列输出多个分段。视频分段模块8可以诸如基于服务器设备2被使得能够处理必要完整性的情形中的启发而提供与在何处切割分段相关的某些细节。替选地,视频分段模块8可以简单地基于如内插函数模块6所提供的内插函数的有效时域的定义来确定在何处切割分段。
如这里所使用的,术语“分段”可以与其中对象的移动和/或大小变化可以使用简单数学函数进行表示的序列的划分相关联。术语“序列”可以与虚拟对象在视频中的连续或基本上连续的出现相关联。术语“端点”可以与序列的开头—例如序列中的第一分段的开头、序列的结尾—例如序列中最后分段的结尾、或者序列中间出现分段的点相关联。进而,序列可以包括一个或多个分段。与不同虚拟对象相关联的序列在时间上可以是重叠的(例如通过共享一个或多个共有的帧),但是与单个虚拟对象相关联的不同分段在时间上不重叠。
如所描述的,对象识别模块4可以识别视频中的多个不同对象。进而,在一些示例中,视频分段模块8可以对于每个所识别的对象识别一个或多个分段。在示例中,单个对象可以与多个分段相关联,诸如一位演员在视频中的不接连的出现,其中该出现被一段时间和/或帧所隔开。此外,视频分段模块8可以识别与不同对象相关联的重叠分段,和/或可以识别与对象或者“虚拟”对象的不同实例相关联的重叠分段,所述“虚拟”对象例如表示与相同对象相关联的多个表示(例如,演员和演员的肖像)的“虚拟”对象。例如,视频分段模块8可以识别具有与一位演员的出现相关联的帧500-600的端点的分段,以及具有与歌曲的播放相关联的帧550-650的端点的另一个分段。在这种情况下,与演员和歌曲相关联的分段在该视频的帧550-600是重叠的。以这种方式,对象识别模块4和视频分段模块8可以识别多个对象以及对应于视频中的多个对象的多个分段。
服务器设备2的内插函数模块6可以确定与对象在每个相对应分段中的存在相关联的内插函数。更具体地,如内插函数模块6所定义的内插函数可以指定视频中该内插函数有效的时域。在各个示例中,该内插函数可以是基于对象在分段的每个端点处的位置的线性函数。例如,在对象为出现在屏幕上的演员的情形中,内插函数模块6可以确定该演员的表示在分段的每个端点帧中的位置。基于演员的表示在分段的每个端点帧中的位置,内插函数模块6可以确定该内插函数为表示对象跨在两个端点位置之间的该分段的移动的线性函数。
在诸如处于屏幕上的演员的视觉表示的对象的实例中,内插函数模块6可以将该内插函数确定为线性函数以表示该对象跨分段的移动。例如,如果该对象在视觉上被表示在第一端点帧的左下角,并且被表示在最后端点帧的右上角,则内插函数模块6可以近似线性内插函数,其假设该对象跨该分段以恒定速率从显示器的左下角移动至右上角。即使对象跨分段的实际移动不符合任何线性函数,并且所确定的由近似的线性内插函数所导致的移动与对象跨分段的实际移动偏离,内插函数模块6也可以确定该内插函数为近似表示该对象的移动的线性函数,这允许与该对象的移动的可容忍误差边际。内插函数模块6可以在简单列出对象出现在分段中的第一和最后时间中的每个的对象位置(例如对象的中心的位置)的方面对该线性函数加以表达。
在一些实施方式中,内插函数模块6可以将可容忍误差的阈值设置为相对于视频尺寸而与对象的实际移动相差值0.8%(或0.008)或2%(或0.02)。在一些实施方式中,内插函数模块6可以基于诸如对象大小之类的各种标准分配不同误差阈值(例如,以渐进或累加的方式)。例如,在给定帧中具有较小大小的对象可以对于该帧(和/或对于其它帧)被分配较小的误差阈值,而在给定帧中具有较大大小的对象可以对于该帧被分配较大的误差阈值。
在各个示例中,内插函数模块6可以关于对象跨分段的对象线性移动、对象的二次移动或者对象跨分段的形状变化或者二者来确定内插函数。更具体地,线性移动可以与对象关于该分段的相应帧的长度和/或宽度与该对象的移动相关联。在一些示例中,诸如在仅有对象的线性移动的情况下,内插函数模块6可以确定内插函数以仅包括该对象的端点数据。另一方面,二次移动可以与对象关于该分段中的帧的深度透视的移动相关联。例如,二次移动可以表示对象与捕捉帧的图像捕捉设备之间的感知距离的变化。二次移动可以源自于移动接近或远离该图像捕捉设备的移动、或者通过该图像捕捉设备的移动和/或缩放移动的对象,并且可以被表达为表示该对象的标签的线性大小变化。
在一些示例中,内插函数模块6可以使用其它类型的简单数学函数,诸如二次函数、指数函数、三角函数等,以描述对象跨分段的移动。内插函数模块6可以对于要被客户端设备12接收的每个分段生成一个或多个简单数学函数。此外,内插函数模块6可以每个分段输出一个或多个内插函数,诸如以描述移动的各个方面(大小变化、位置变化等)。在各种实施方式中,内插函数模块6可以与视频分段模块8共享一个或多个函数,以便更为容易地提供视频分段模块8可以在确定分段方案时所利用的数据或反馈。
服务器设备2的映射模块10可以被配置为或者能够以其它方式进行操作以识别与对象识别模块4所识别的对象相关联的各种知识数据。例如,映射模块10可以识别包括被对象识别模块4识别为存在于视频的帧中的演员的影片目录信息在内的知识数据。在各种实施方式中,映射模块10可以识别在服务器设备2上本地存储的知识数据,或者服务器设备2诸如通过互联网连接而经由通信连接所访问的知识数据。
此外,映射模块10可以将所识别的知识数据中的特定部分映射至对象识别模块4在视频中所识别的特定对象。作为一个实例,对象识别模块4可以将演员以及诸如城市之类的地理位置识别为处于视频的各个帧的屏幕上。在该示例中,映射模块10可以识别与演员和城市二者相关联的知识数据。此外,映射模块10可以将该知识数据中的特定部分映射至每个对象,诸如将该演员的影片目录信息映射至该演员,并且将历史和/或旅游信息映射至该城市。以这种方式,映射模块10可以根据对象识别模块4在视频中所识别的相关对象来安排特定知识数据。
在示例中,映射模块10可以使用可用于映射模块10的各种技术或者基于人工输入而将每个虚拟对象序列的序列映射至真实对象和相关知识数据。例如,映射模块10在该阶段可以将相同时域中的不同虚拟对象映射至相同的真实对象。此外,映射模块10可以被使得能够独立于视频分段模块8和内插函数模块6中的一个或二者进行工作,因为映射模块10在确定映射数据时可以不需要这些模块所提供的数据。
服务器设备2可以将视频、对象识别模块4在该视频中所识别的对象的指示以及作为内插函数的指示中的一个或多个作为数据24的一部分传送至客户端设备12。虽然在这里关于服务器设备2可以向客户端设备12传送的信息进行描述,但是将要意识到的是,数据24可以包括在服务器2和客户端设备12之间通过通信连接所交换的各种信息。经由诸如服务器设备2和客户端设备12的网络接口之类的相应接口,服务器设备2可以传送并且客户端设备12可以接收作为去往客户端设备12的数据24的一部分的视频以及内插函数的指示。
客户端设备12可以从服务器2接收作为数据24的一部分的视频、视频中表示的一个或多个对象的指示、一个或多个内插函数的指示以及与每个所指示的对象相关联的知识数据。在各种情形中,该视频可以包括多个视频帧,并且该内插函数可以指定该视频中该内插函数有效的时域。如所描述的,除其它选项之外,该时域可以在帧计数和/或时间戳方面进行表达。
内插模块15可以被配置为或者能够以其它方式进行操作以对于该视频中的给定时间(例如,对于给定帧)确定与每个所指示的对象相关联的标签的位置。更具体地,内插模块15可以基于从服务器设备2接收的内插函数的应用来确定该标签的位置。例如,内插模块15检查从服务器设备2所下载的数据以确定对于给定时间定义了哪些内插函数。内插模块15随后将所选择的时间(例如该视频进行暂停的帧编号)输入到对于该时间所定义的每个内插函数中,以获得针对能够在该帧中为其显示标签的每个对象在何处显示相对应标签的结果。
在一些示例中,内插模块15还使用内插函数来计算所要显示的标签的形状和/或大小。例如,在标签被定义为圆形的情况下,该标签的半径或直径可以被该内插函数定义为时间—例如帧编号—的函数。替选地或除此之外,在一些示例中,内插模块15可以例如基于分段中所识别的对象的属性来确定标签的形状。例如,在人脸的示例中,内插模块15可以将标签的形状确定为圆形或椭圆形,而在诸如由城市天际线所识别的城市之类的地理位置的情况下,内插模块15可以将标签的形状确定为使用Bézier曲线或其它建模技术所生成的多边形。
内插模块15可以使得客户端设备12输出视频的一个或多个帧以诸如在用户界面(UI)设备14进行显示以及例如通过使用在客户端设备12上运行的视频播放器应用进行显示。虽然出于示例的目的被示为客户端设备12的一部分,但是UI设备14在各种实施方式中可以与客户端设备12分离,并且可选地耦合至客户端设备12以使得能够进行通信。如图1所示,UI设备14输出用户界面(26)以显示。UI 26包括若干UI要素,包括视频帧27、脸部对象28和标签30。例如,脸部对象28可以与在视频分段的期间在屏幕上表示的演员、运动员或其它人相关联。此外,内插模块15可以基于对于脸部对象28所定义并且从服务器设备2下载的内插函数来确定标签30的位置、大小和形状。此外,内插模块15对于其确定分段中的位置的每个标签可以与对应于对于该分段所识别的特定对象的知识数据相关联。
如图1所示,在一些示例中,内插模块15可以基于内插函数对标签30进行定位,使得标签30较脸部对象28是歪斜的,即不未与脸部对象28精确对准。在图1的特定示例中,脸部对象28的多个部分位于标签30边界之外,诸如脸部对象28的右耳和下巴的多个部分。此外,标签30覆盖视频帧27中不表示脸部对象28的实质性部分。如所描述的,客户端设备12所接收到的内插函数可以在阈值误差边际之内近似表示脸部对象28跨视频帧的分段的移动。进而,在视频帧的序列的给定帧中,内插函数所输出的标签30的位置可以在该误差边际内较脸部对象28的实际位置有所偏差。
类似地,内插模块15可以使用内插函数来确定标签30的一个或多个尺寸。例如,内插模块15可以使用内插函数来确定标签30在视频帧27中的直径或半径。此外,在图1的示例中,例如通过在将对象类型映射至标签形状的数据库中查找对象类型,内插模块15可以基于确定脸部对象28表示人脸而为标签30选择圆形形状。
UI 26还包括音频标签32。音频标签32可以与客户端设备12结合输出视频帧27以显示的歌曲相关联。客户端设备12可以下载与对于该歌曲所定义的歌曲对象相关联的内插函数,其中该内插函数被定义为关于该歌曲在其间进行播放的视频分段的静态或非内插函数。例如,用于歌曲对象的内插函数可以简单地指示对于视频中的任意给定时间是否存在歌曲对象。例如,内插模块15可以应用所接收到的内插函数以确定该歌曲对象不与分段的任何帧内的特定位置相关联。在一些示例中,内插模块15可以关于分段中与歌曲对象相关联的每个帧为音频标签32确定相同的位置。在一些示例中,内插模块15可以将音频标签32放在视频帧27内,使得音频标签32不与当前分段中包括其它标签—诸如标签30—的帧中的任何其它标签重叠,其位置可以根据其它标签的放置而随帧变化。在图1的特定示例中,音频标签32被表达为类似音符的图标。以这种方式,内插模块15可以实施本公开的客户端侧的技术而以标签在视觉上分开的方式输出多个标签,这改善了客户端设备12的用户的体验。
在一些示例中,内插模块15可以使得UI设备14响应于某些条件—诸如接收用户输入—而显示标签30和音频标签32中的一个或二者。例如,在其中UI设备14包括诸如触摸屏之类的存在敏感设备的实施方式中,内插模块15可以检测用户输入,诸如利用手指或触控笔在UI设备14上对应于暂停按钮34的区域所提供的触摸输入。响应于检测到暂停按钮34处的触摸输入,内插模块15可以使得客户端设备12暂停播放视频,诸如通过使得客户端设备12上运行的视频播放器应用在视频帧27停止显示。此外,内插模块34可以运行在视频帧27处定义的内插函数以确定在何处输出标签30和音频标签32中的一个或二者以供显示。在另一个实施方式中,内插模块15可以响应于暂停按钮34处的触摸输入而输出标签30,同时在视频显示期间输出音频标签32。
客户端设备12的标签选择模块20可以被配置为或者能够以其它方式进行操作以检测对标签30和音频标签32中的一个或二者的选择。例如,在UI设备14包括触摸屏的实施方式中,标签选择模块20可以基于使用手指或触控笔在或基本上在标签30和/或音频标签32处提供的触摸输入来检测该选择。响应于检测到对标签30和/或音频标签32的选择,标签选择模块20可以将用户选择的指示传输至知识数据输出模块22。
进而,知识数据输出模块22可以输出所接收的知识数据中被映射至与所选择的标签相关联的特定对象的一部分以便进行显示。例如,响应于从标签选择模块20接收到所检测到的对标签30的选择的指示,知识数据输出模块22可以使得UI设备4显示知识数据框38。在图1的示例中,知识数据框38可以包括与脸部对象28所表示的演员相关联的部分或全部影片目录,和/或指向与该演员相关联的附加知识数据的链接。类似地,如果标签选择模块20中继音频标签32的选择的指示,知识数据输出模块22可以输出歌曲标题、专辑和/或艺术家信息,和/或与关联于音频标签32的歌曲相关的其它知识数据。
使用从服务器2下载的内插函数、对象数据和知识数据,客户端设备12即使在客户端设备12当前未连接至服务器设备2的情况下也可以提供带标签的视频。除此之外,通过使用内插函数来确定如何为视频显示标签,本公开的技术可以使得客户端设备12能够节约客户端设备12本来将通过在每个视频帧中下载并存储识别脸部对象28的数据和/或音频标签32的歌曲、并且相应地输出相对应的标签所耗费的资源。在视频包括客户端设备12为其提供知识数据的诸如脸部对象28、歌曲对象以及可能的其它对象的若干对象的情况下,客户端设备12可以通过基于分段端点而不是每个和各个视频帧的标签位置数据仅存储并下载对象信息和标签函数而节约更大数量的资源。客户端设备12可以通过实施本公开的技术而节约的资源的示例包括处理资源、数据存储容量和计算时间。
图2是图示被配置为执行本公开的一种或多种服务器侧内插视频标签技术的服务器设备2的示例实施方式的细节的框图。在图2所示的特定实施方式中,服务器设备2可以包括一个或多个处理器70,一个或多个通信单元72、以及一个或多个存储设备78。
在各个示例中,一个或多个处理器70被配置为实施用于在服务器设备2内执行的功能和/或过程指令。例如,处理器70可以对存储在存储设备78上或者能够以其它方式通过存储设备78访问的指令进行处理。这样的指令可以包括一个或多个操作系统80、对象识别模块4、内插函数模块6、音频分段模块8和映射模块10中的一个或多个组件。
在图2所示的实施方式中,服务器2还包括一个或多个通信单元72。在一个示例中,服务器设备2利用通信单元72经由诸如一个或多个无线网络的一个或多个网络与外部设备进行通信。通信单元72可以包括诸如以太网卡的网络接口卡、、光学收发器、射频收发器、或者其它类型的能够发送并接收信息的设备中的一个或多个。这样的通信单元的其它示例包括诸如移动主机设备中的3G、4G和无线电的网络接口以及通用串行总线(USB)。在一些示例中,服务器设备2利用通信单元72通过网络与诸如一个或多个客户端设备的外部设备进行无线通信。
一个或多个存储设备78可以被配置为存储在操作期间服务器设备2内的信息。在一些示例中,存储设备78被描述为计算机可读存储介质和/或一个或多个计算机可读存储介质。在一些示例中,存储设备78包括临时存储器,这意味着存储设备78的主要用途不是长期存储。在一些示例中,存储设备78被描述为易失性存储器,这意味着存储设备78在计算机关机时不保存所存储的内容。易失性存储器的示例包括随机存取存储器(RAM)、动态随机存取存储器(DRAM)、静态随机存取存储器(SRAM)以及本领域已知的其它形式的易失性存储器。在一些示例中,存储设备78被用来存储程序指令以便由处理器40执行。在一个示例中,存储设备78被在服务器设备2上运行的软件或应用用来在程序执行期间临时存储信息。
组件70、72和78中的每一个可以进行互连(物理地、通信地和/或操作地)以便进行组件间通信。在一些示例中,一个或多个通信信道76可以包括系统总线、网络连接、过程间通信数据结构或者用于传输数据的任意其它通道。作为图2中的一个实例,组件70、72和78可以通过一个或多个通信信道76进行耦合。
一个或多个操作系统80可以控制服务器设备2和/或其组件的一种或多种功能。例如,操作系统80可以与对象识别模块4、内插函数模块6、视频分段模块8和映射模块10中的一个或多个进行交互,并且可以促成这些模块与一个或多个处理器70和通信单元72之间经由通信信道76所进行的一种或多种交互。在一些示例中,对象识别模块4、内插函数模块6、视频分段模块8和映射模块10中的一个或多个可以包括在操作系统80中。在其它示例中,对象识别模块4、内插函数模块6、视频分段模块8和映射模块10中的一个或多个可以在服务器设备2之外实施,诸如在网络位置实施。在一些这样的实例中,服务器设备2可以使用通信单元72通过作为“云计算”所公知的方法访问并实施关于服务器设备2及其相应组件所阐述的各种模块提供的功能。
如所描述的,对象识别模块4可以进行操作以识别视频内所表示的特定对象,例如包括诸如演员或运动员的人,诸如歌曲或画外音的音频数据,诸如建筑物的特定建筑设施,以及诸如城市或国家的地理位置。为了识别视频中这样的对象,对象识别模块4可以实施诸如脸部识别、语音识别、声音指纹和模式识别之类的各种识别技术。此外,对象识别模块4可以通过将视频中的图像或音频数据与所确认的图像或音频数据进行比较来识别视频中的对象,上述所确认的图像或音频数据诸如存储到存储设备78和/或服务器设备2与之通信耦合的远程设备的数据的部分。在一些实施方式中,对象识别模块4还可以基于用户输入来识别一个或多个对象。
内插函数模块6可以进行操作以对于对象识别模块4所识别的对象确定内插函数,并且视频分段模块8可以基于该内插函数而为对象确定相对应的视频分段。如所描述的,内插函数可以表达与对象相关联的标签的属性。标签的这样的属性的示例可以包括以笛卡尔坐标表达的位置以及标签的大小数据和形状数据。
在一个说明性示例中,内插函数模块6可以从对象识别模块4接收脸部对象的指示,诸如所识别的存在于视频分段中的演员。基于该分段的每个端点帧中该脸部对象的相应位置和大小,内插函数模块6可以生成表达作为跨分段的时间函数的对象的线性移动和/或对象的形状的内插函数。
使用笛卡尔坐标的示例值以及圆形对象的尺寸数据,在一个示例中,服务器设备2的内插函数模块6将内插函数确定为以下端点位置之间的线性函数:
在以上示例端点(1)和(2)中,常数表示关于四边形框的特定尺寸的分数所表达的数值。更具体地,x属性可以表示作为视频帧宽度的分数的圆中心的水平位置,其从视频帧的左侧边缘偏移,并且y属性可以表示作为视频帧的高度的分数的圆中心的垂直位置,其从视频帧的顶部边缘偏移。此外,d属性可以表示作为视频帧对角线长度的分数的圆直径。该示例端点可以随着视频从帧500进展至帧600而将该圆的一般移动表达为向左(从)、向下(从)以及变大(从)。服务器2的内插函数模块6可以基于端点(1)和(2)得出线性函数以描述该圆的近似移动,使得所有属性(x、y和d)都跨从帧500到帧600的时间范围以恒定速率变化。
在其中对象在分段的帧中不被视觉地表示的情况下,如在叙述的情况下,内插函数模块6可以确定该对象跨分段是静态的,由此生成静态内插函数。
等式(3)是静态内插函数的示例。更具体地,等式(3)提供了特定帧内的对象存在于分段之内还是之外的二进制指示。在等式(3)的示例中,函数S指示对象在帧编号500至600存在,并且在帧编号500之前或帧编号600之后的帧不存在。
在一些实例中,内插函数模块6可以生成考虑所感知到的对象大小差异的内插函数。例如,内插函数模块6可以确定诸如人脸的圆形或基本上为圆形的对象的直径变化。直径的增加可能与如可能由于对象移动接近于相机或者由于相机朝向对象的放大所导致的对象与图像捕捉设备之间所感知的距离的减小相关联。在其它示例中,内插函数模块6可以基于其它尺寸来确定所感知的大小的差异,上述其它尺寸诸如正方形的边、任意多边形的周长、椭圆形的一条或两条轴线等。进而,所确定的对象的形状和/或大小可以与关联于该对象的标签的形状和/或大小相关联。以这种方式,内插函数模块6可以对于对象确定考虑该对象的线性移动以及该对象的形状和/或大小变化而且还考虑某些对象类型的静态属性的内插函数。
与内插函数模块6对于“f”所表示的帧计数处的对象所确定的内插函数相关联的示例原始数据集合可以如下:
f=100,Circle(x=0.3,y=0.2,d=0.1);
f=101,Circle(x=0.31,y=0.21,d=0.1);
f=102,Circle(x=0.321,y=0.22,d=0.1);
f=103,Circle(x=0.329,y=0.23,d=0.1);
f=104,Circle(x=0.34,y=0.24,d=0.1);
f=105,Circle(x=0.352,y=0.25,d=0.1);
f=106,Circle(x=0.357,y=0.26,d=0.1);
f=107,Circle(x=0.371,y=0.27,d=0.1);
f=108,Circle(x=0.381,y=0.28,d=0.1);
f=109,Circle(x=0.39,y=0.29,d=0.1);
f=110,Circle(x=0.40,y=0.30,d=0.1);
f=119,Circle(x=0.49,y=0.39,d=0.1);
f=120,Circle(x=0.6,y=0.4,d=0.1);
f=121,Square(x=0.5,y=0.4,d=0.1);
f=122,Square(x=0.5,y=0.4,d=0.11);
如这里所使用的,项“R”可以指代根据以上数据在帧100-122的范围内的给定帧产生相对应的原始数据的查找函数。R(120)=Circle(x=0.6,y=0.4,d=0.1)。
在该示例中,与从帧100到帧110的对象相关联的圆近似地根据以下公式进行变化:
x=0.3+0.1p,
y=0.2+0.1p,
d=0.1,
在该示例中,p表示比例/百分比/进展。p的值对于f=100至110可以从0.0到1.0线性变化。更具体地,帧100至122中的原始数据的域中对应于帧100至110的分区可以近似地符合以下函数:
S(f:100...110)=Circle(x=0.3+0.1p,y=0.2+0.1p,d=0.1)
当与所描述的原始数据相比较时,该内插函数可以包括一个或多个误差。例如,该内插函数关于以上数据集合的最大误差可以出现在f=106,其中函数S产生Circle(x=0.36,y=0.26,d=0.1),但是R(106)产生Circle(x=0.357,y=0.26,d=0.1),这指示在x坐标有0.003的误差,其可用落入用于在S(f)的特定域内的可容忍误差对R的值进行近似的函数S(f)的可容忍误差的阈值之内。换句话说,S可以被定义为R中的分段。然而,在一些情况下,S可以不包括在视频分段模块8所确定的R的最终分段之中。
以上示例利用p、x和y的三个线性子函数以及d的常数子函数阐述了函数S。内插函数模块可以利用任何数学上简单的函数类型,只要该函数可以促成分段的表示。这样的简单函数可以包括但并不限于诸如0至2的低阶多项式,其中阶数0是常数函数(y(x)=c),阶数1是线性的(y(x)=ax+b),阶数2是二次的(y(x)=ax2+bx+c)、反比例函数(y(x)=c/x),等等。
如参考图1所描述的,在一些情况下,视频分段模块8可以确定与对象识别模块4所识别的对象相关联的特定视频分段。例如,视频分段模块8可以识别视频帧的连续序列,使得该序列的每个帧包括对象的表示。作为另一个示例,视频分段模块8可以独立地或者与对象识别模块4进行合作来识别视频帧的连续序列,使得对象不缺失该序列的多于阈值数量的连续视频帧。
此外,视频分段模块8可以将对象识别模块4所产生的序列划分为多个分段。在一些示例中,视频分段模块8可以通过设置对象在连续帧之间的移动的可容忍“跳跃”的阈值水平而如此做。基于跳跃的序列切割可以独立于以上关于对象识别模块4所描述的序列切割进行或者除其之外进行。例如,视频分段模块8可以确定最大的可容忍跳跃对应于25%的值,即0.25距离单位(例如,厘米或英寸)的因数。在一些实施方式中,该距离单位可以表示帧尺寸的分数,诸如帧高度或宽度的分数。在对象的二次移动的示例中,视频分段模块8可以在诸如对应于所识别的对象—诸如脸部对象—的估计圆形表示的直径的特定测量在两个连续视频帧之间出现大于0.25距离单位的因数的偏差的情况下检测超出阈值的误差。
在一个示例中,与对象相关联的直径可以在视频的帧编号550中的0.3距离单位变换为帧编号551中的0.5距离单位。在该示例中,视频分段模块8可以确定偏差为0.2距离单位,由此落入可容忍的误差阈值之内。作为比较,如果视频分段模块8确定脸部对象的直径从帧编号600到帧编号601偏差0.3距离单位的因数,则视频分段模块8可以确定分段转变。更具体地,视频分段模块8可以确定帧编号600形成脸部对象的分段的端点(例如,最后的帧),并且帧编号601形成该脸部对象的后续分段的端点(例如,初始帧)。例如,视频分段模块8确定该直径从帧编号601到帧编号602偏差0.4距离单位的因数,视频分段模块8可以确定又另一个分段转变,由此使得帧编号601关于该对象成为单帧分段。此外,视频分段模块8可以检测对应于连续帧的多个后续配对的超过阈值的移动跳跃。在这种情形中,视频分段模块8可以为该对象生成一系列单帧分段。以这种方式,在视觉对象在视频中快速或非连续移动的情况下,视频分段模块8可以生成单帧分段或者包括相对低数量的帧的分段。
视频分段模块8可以基于分段中的数据是否可以使用数学上更为简单的函数进行描述来确定分段端点。在各个实例中,视频分段模块8可以基于诸如形状类型变化或移动趋势变化之类的标准来检测分段端点。在基于形状类型变化的确定的示例中,不同形状类型通常无法共同以数学上简单的方式进行描述。例如,在以上所列出的原始数据示例中,形状类型在从f=120到f=121的转换处从圆形变为正方形。视频分段模块8可以将这种变化解释为新的分段在f=121开始的信号。然而,视频分段模块8可以通过将更为特殊的形状概括为更为一般的形状而将某些形状类型的变化识别为“兼容的”。例如,如果圆形形状变为旋转的椭圆形或反之亦然,视频分段模块8可以将该圆形升级为具有相等轴并且具有任意旋转的椭圆形。以这种方式,视频分段模块8可以缓和转变点处的形状类型变化。
在移动趋势变化的情形中,如果视频分段模块8确定特定形状属性(例如圆中心的x位置)已经增大,但是突然从特定帧变为减小,则视频分段模块8可以确定该特定帧可能是开始新的分段的数据点,否则内插功能函数模块可能不再能够调节先前所确定的内插函数来在不产生更大误差的情况下包括新的帧处的数据。
在内插函数模块6和视频分段模块8所实施的协同技术的示例中,视频分段模块8确定诸如在帧f0处的分段开始,其中f0是整个序列的开始的时间/帧编号或者紧跟在先前使用该工作流所限定的最后分段。此外,视频分段模块8将候选分段定义为从f0到f,其中f被初始化为等于f0。接下来,视频分段模块8向内插函数模块6馈送f0和f之间的原始帧数据,并且向内插函数模块6提交生成在特定误差容忍阈值内近似这些帧中的所有数据的内插函数。该示例协同技术可以是迭代过程,例如,如果内插函数模块6能够存储先前所提供的从f0到紧邻f之前的帧的数据,则视频分段模块8可以仅需要提供f处的数据。此外,内插函数模块6可以将访问指引到原始帧数据,在这种情况下,视频分段模块可以仅需要为内插函数模块6提供对于其获取帧数据的范围“f0到f”。
如果内插函数模块6能够生成所请求的内插函数,则视频分段模块8可以通过将f递增至下一个可对其获得数据的帧而对候选分段进行扩展,并且请求内插函数模块6对先前所生成的函数进行调节或者提供新的函数以包括新的帧处的数据。该过程继续进行直至内插函数模块6不能在不超过误差容忍阈值的情况下生成适当函数,此时内插功函数模块6可以向视频分段模块8提供结束候选分段的特定帧f',其处于f0和f之前的最后帧之间。f之前的最后帧通常是f-1,其在如以上所描述的任意帧跳跃的情况下是缺失的。
以上所描述的过程也可以在视频分段模块8在使得f递增时确定f已经处于整个序列的结尾从而帧计数不能被递增的情况下、或者在视频分段模块8确定新的f处的数据不能表示来自从f0起并且排除f(例如,通过查看形状变化和实质性位置移位)的数据点的自然连续的情况下终止。如果该过程以这种方式终止,则视频分段模块8将该序列的分段定义为从f0到f的先前值,其具有内插函数模块6最近所返回的内插函数。
以以上所描述的方式,该协同工作流可以连续定义序列中的分段,直至该序列中的所有帧都被处理。该工作流可以在最后的帧被包括在分段中马上终止,或者可选地为了关于数据近似准确性、内插函数简单性或者其它所期望的属性找到最佳分段方案而使用不同参数重新开始。不同参数例如可以包括仅由视频分段模块8所作出的不同决策,诸如是否在移动跳跃、形状变化或移动趋势变化的点断开分段。
以下样本工作流中描述了在不与服务器设备2的其它模块进行协同的情况下由内插函数模块6所实施的示例技术。在该示例技术中,内插函数模块6可以尽可能准确地对视频划分模块8所定义的分段近似内插函数。在以下所描述的示例中,内插函数模块6可以使用简单实施方式来确定内插函数,其基于视频分段模块8所提供的候选分段的端点。
当接收到具有数据R(f0)的第一个帧f0时,内插函数模块6可以使用所接收到的数据来定义最终内插函数的形状类型。进而,内插函数模块6可以返回总是产生该未修改的帧的数据的函数,即
S(fs:f0..f0)=R(f0)
其中“fs”是该函数的参数,但是其范围被限制为f0。当接收到具有数据R(f)的任意后续帧f时,如果R(f)不表示与R(f0)相同的形状类型,则内插函数模块6可以指示视频分段模块8在通过所描述的工作流的先前帧终止该分段。
内插函数模块6可以在域“f0...f”(f0≤fs≤f)中定义内插函数S(fs),使得该进程以及所有形状属性都被线性内插。内插函数模块6可以仅使用来自R(f0)和R(f)的数据如下进行确定:
S(fs:f0..f)=X(as,bs,cs,...),其中
as=a0+(a-a0)p,
bs=b0+(b-b0)p,
cs=c0+(c-c0)p
等等,其中并且X,a0,a,...匹配
R(f0)=X(a0,b0,c0,...),R(f)=X(a,b,c,...)
项X可以表示R(f0)中的形状名称,例如“Circle”;项a,b,c...可以表示形状属性的值,诸如x坐标、y坐标以及圆的直径。
对于每个帧fm,其中f0<fm<f,并且其中R(fm)被定义且未包括在帧的跳跃所导致的“间隙”之中,内插函数模块6可以使用以上函数来计算as、bs、cs等的内插结果,并且将所计算的值与R(fm)的实际值进行比较。如果没有超过误差阈值的差异,则内插函数模块6可以返回以上所定义的函数S作为内插函数。否则,内插函数模块6可以向视频分段模块8指示在经过该示例工作流的先前帧处终止该分段。
使用以上所定义的R中的原始数据的该工作流的示例执行如以下所阐述。假设帧100至119已经被处理并且最后所生成的内插函数为:
S(fs:100..119)=Circle(x=0.3+0.19p,y=0.2+0.19p,d=0.1),
其中p=(fs-100)/19
在以R(100)=Circle(x=0.3,y=0.2,d=0.1);|以下端点数据:
R(119)=Circle(x=0.49,y=0.39,d=0.1)
视频分段模块8可以向内插函数模块6指示将R(120)=Circle(x=0.6,y=0.4,d=0.1)包括在所要生成的内插函数中。在该实例中,x的每帧增量明显比先前(处于0.01)大(处于0.11)。进而,内插函数模块6可以生成对应于帧100至120的以下暂定函数:
S(fs:100..120)=Circle(x=0.3+0.3p,y=0.2+0.2p,d=0.1),
其中p=(fs-100)/20
在对帧119进行验证时,内插函数模块6可以确定S(119)=Circle(x=0.585,y=0.39,d=0.1),其与R(119)=Circle(x=0.49,y=0.39,d=0.1)进行比较,x偏差0.095。例如,如果误差公差被设置在0.05,内插函数模块6可以确定覆盖帧100至120的候选函数超过阈值并且应当被拒绝。作为结果,在该示例中,内插函数模块6可以向视频分段模块指示在帧119终止该分段,并且在帧120开始新的分段。在该示例中,新的分段可以仅包含帧120,因为帧121已经具有与帧120(圆形)不兼容的形状(正方形)。
服务器设备2的映射模块10可以进行操作以将知识数据82的特定部分与对象识别模块4所识别的特定对象相关联。作为示例,知识数据82可以包括演员和画外音艺术家的影片目录信息、运动员的技术统计、音乐家的唱片分类目录等。进而,作为一个示例,映射模块10可以将特定影片目录与特定演员相关联。此外,映射模块10可以存储将诸如知识数据82的特定部分与相对应对象之间的关联之类的映射信息存储到映射数据84。以这种方式,映射模块10可以利用将知识数据82的相关部分与视频中由视频识别模块4所识别的相对应对象相关联的信息来扩增映射数据84。映射模块10还可以将内插函数模块6所生成的内插函数映射至相对应的对象,并且将该信息存储至映射数据84。
进而,服务器设备2可以经由通信单元72将视频、视频中由对象识别模块4所识别的每个对象的指示、以及内插函数模块所生成的每个内插模块的指示传送至客户端设备。此外,服务器设备2可以将知识数据82的特定部分以及映射数据84传送至客户端设备。以这种方式,服务器设备2可以实施本公开的一种或多种服务器侧技术以向客户端设备提供相关信息从而提供内插视频标签。通过向客户端设备提供相关信息,即使在客户端设备未活动地耦合至服务器设备2以便进行通信的情况下,服务器设备2也可以使得客户端设备能够向用户提供内插视频标签体验。
图3是图示被配置为执行本公开的一种或多种客户端侧内插视频标签技术的客户端设备12的细节的框图。客户端设备12可以包括、作为各种类型的设备中的一种或多种,或者作为其一部分,除其它之外,上述设备诸如移动电话(包括智能电话)、平板计算机、上网本、膝上计算机、台式机、个人数字助理(PDA)、机顶盒、电视机以及手表。
在各个示例中,一个或多个处理器40被配置为实施功能和/或过程指令以便在客户端设备12内执行。例如,处理器40可以处理存储在存储设备48或者能够以其它方式通过其进行访问的指令。这样的指令可以包括一个或多个操作系统54的组件、对象UI设备模块52、内插模块15及其组件、标签选择模块,以及知识数据输出模块22。
客户端设备12还可以包括一个或多个通信单元44。在一个示例中,客户端设备12利用通信单元44经由诸如一个或多个无线网络的一个或多个网络与外部设备进行通信。通信单元44可以包括诸如以太网卡的网络接口卡、光学收发器、射频收发器、或者能够发送并接收信息的任意其它类型的设备中的一个或多个。这样的通信单元的其它示例可以包括诸如移动主机设备中的3G、4G和无线电的网络接口以及通用串行总线(USB)。在一些示例中,客户端设备12利用通信单元44通过网络与诸如一个或多个服务器和/或主机设备的外部设备进行无线通信。
在各个示例中,输入设备42被配置为通过触觉、音频或视频反馈接收来自用户的输入。输入设备42的示例包括存在敏感显示器(诸如触摸屏)、鼠标、键盘、语音响应系统、视频相机、麦克风或者用于检测来自用户的命令的任意其它类型的设备。在一些示例中,存在敏感显示器包括触摸敏感屏幕。
一个或多个输出设备206也可以包括在客户端设备12中。在一些示例中,输出设备46被配置为使用触觉、音频或视频刺激向用户提供输出。在各个示例中,输出设备46包括存在敏感显示器(例如,触摸屏)、声卡、视频图形适配器卡、或者用于将信号转换为人或机器所能够理解的适当形式的任意其它类型的设备。输出设备46的另外示例包括扬声器、阴极射线管(CRT)监视器、液晶显示器(LCD)、或者能够向用户生成可理解输出的任意其它类型的设备。
组件40、42、44、46、14和48中的每一个可以互连(物理地、通信地和/或操作地)以便进行组件间通信。在一些示例中,一个或多个通信信道50可以包括系统总线、网络连接、进程间通信数据结构或者用于传输数据的任意其它通道。作为图3中的一个示例,组件40、42、44、46、14和48可以通过一个或多个通信信道50进行耦合。
一个或多个操作系统54可以控制客户端设备12和/或其组件的一种或多种功能。例如,操作系统54可以与UI设备模块52、内插模块15、标签选择模块20和知识数据输出模块22中的一个或多个进行交互,并且可以促成这些模块与一个或多个处理器40和通信单元44之间经由通信信道50所进行的一种或多种交互。在一些示例中,UI设备模块52、内插模块15、标签选择模块20和知识数据输出模块22中的一个或多个可以包括在操作系统54中。在其它示例中,UI设备模块52、内插模块15、标签选择模块20和知识数据输出模块22中的一个或多个可以在客户端设备12之外实施,诸如在网络位置实施。在一些这样的实例中,客户端设备12可以使用通信单元44通过公知为“云计算”的方法访问并实施关于客户端设备12及其相应组件所阐述的各种模块提供的功能。
客户端设备12还可以包括应用模块56。应用模块56可以被配置为或者能够以其它方式进行操作以基于诸如检测到用户输入之类的各种条件来执行操作。作为一个示例,一个或多个应用模块12可以利用UI设备14在各个实例中输出UI 26。此外,相关应用模块56可以接收用户输入,并且基于客户的端设备12所接收到的用户输入生成输出。应用模块56还可以通过移动客户端设备12所提供的各种工具将输出传输给用户,诸如通过经由UI设备4(例如,在UI 26内)以可读取的格式显示该输出。在各个实例中,应用模块56可以实施客户端设备12的制造商所提供的功能和/或另一方(经常被称作“第三方应用”)所提供的功能。
客户端设备12可以诸如经由通信单元44从服务器设备2接收诸如视频、视频中所表示的对象的指示、内插函数、知识数据和映射数据之类的数据。此外,客户端设备可以将所接收到的信息存储到存储设备48的下载数据58。进而,图3所示的各个模块可以在实施这里所描述的客户端侧内插视频标签技术时访问所下载的数据58的相关部分。
例如,内插模块15可以从所下载的数据58确定所下载的视频中各个对象的指示,以及与每个这样的对象相关联的内插函数。更具体地,每个内插函数可以指定相应内插函数在其中有效的时域。换句话说,内插模块15可以基于所指定的时域确定特定分段,该对象在该分段期间被连续或基本上连续地表示在视频中。
此外,内插模块15可以使得UI设备模块52输出标签以便结合该分段的相对应帧进行显示。在一个示例中,内插模块15可以将该标签嵌入在相对应的视频帧中,使得UI设备模块52响应于诸如经由输入设备42所接收到的暂停请求之类的一种或多种条件而输出该标签。
如关于图1所描述的,标签选择模块20可以接收对结合当前帧显示的标签的选择。更具体地,标签选择模块20可以经由输入设备42接收选择请求,诸如通过在输入设备42的触摸屏处所提供的触摸输入。此外,知识数据输出模块22可以响应于标签选择模块20所检测到的选择而使得UI设备模块52经由输出设备46和/或UI设备14为带标签对象输出相关知识数据。
通过实施以上所描述的客户端侧内插视频标签技术,客户端设备12可以提供使得能够对带标签对象进行知识数据访问的用户体验,同时减少计算资源消耗。更具体地,替代以每个帧为基础存储标签的形状、大小和位置数据,客户端设备12可以实施该技术以对于视频分段的端点(或“边界”)存储标签数据。使用所接收到的内插函数,客户端设备12可以对于给定对象应用该内插函数以确定在诸如一帧的给定时间单位内如何显示标签。替代存储分段内的中间数据点,客户端设备12可以使用这里所描述的内插函数和技术动态地估计标签的形状、大小和位置数据。
图4A-4C是依据本公开的一个或多个方面的具有内插视频标签的用户界面的概念图。更具体地,图4A-4C图示了包括图1所示的脸部对象28的变化表示的视频分段的三个帧。此外,图4A-4C包括图1所示的标签30的变化表示。脸部对象28A-28C的变化外观可能是由于视频分段的属性所导致,而标签30A-30C的变化外观则可能是由于如服务器2的内插函数模块6关于该视频分段所确定的内插函数的应用。出于示例的目的,图4A-4C在这里被描述为分别表示视频分段中的初始帧、中间帧(例如,位于该视频分段的中部)和最后帧。在概念上,线性内插函数能够被认为是大致连接图4A-4C的视频帧中的每个对象的中心的直线。此外,该概念表示可以被扩展至更大数量的脸部对象表示,诸如跨视频分段的脸部对象的端点至端点的进展。而且,出于示例的目的,图4A-4C在这里关于图1-3中所图示的设备和组件进行描述。
图4A图示了位于第一位置100的第一脸部对象28A以及第一标签30A。内插模块15基于所接收到的内插函数计算标签30B并且显示与脸部对象28B相关联的标签30B。
图4B图示了处于第二位置102的第二脸部对象28B,上述第二位置102实质上位于第一位置100的左侧,指示了脸部对象28沿水平轴的线性移动。此外,第二脸部对象28B可以比第一脸部对象28A大,指示脸部朝向图像捕捉设备的移动。基于所接收到的内插函数,内插模块15计算标签30B并且显示与脸部对象28B相关联的标签30B。
如所示出的,当与第一标签30A关于第一脸部对象28A的放置相比时,第二标签30B的放置可以斜向第二脸部标签28B的右侧。例如,第二脸部对象28B中诸如下巴的朝左部分可能未包括在第二标签30B中。此外,第二标签30B可以包括当前帧中未表示第二脸部对象28B的实质性部分,其位于第二脸部对象28B的左侧。这样的不准确性可能是由于内插模块15使用内插函数计算标签的位置而不是以每个帧为基础存储确切的标签位置。然而,这样的不准确性在这里所描述的内插视频标签技术所提供的减少的计算资源消耗方面是可以容忍的。
图4C图示了处于第三位置104的脸部对象28C。内插模块15基于所接收到的内插函数计算标签30B并且显示与脸部对象28B相关联的标签30B。如所示出的,第三位置104在帧内可以基本上位于第二位置102的左侧且朝上,指示脸部对象28沿水平和垂直轴线的线性移动。此外,第三脸部对象28C可以比第二脸部对象28B大,指示脸部对象28朝向图像捕捉设备的进一步移动。
在客户端设备12上,通过应用内插函数模块6关于视频分段的特定帧所计算的内插函数,内插模块15可以确定标签的形状、位置和大小以结合特定帧或其它时间单位进行显示。在关于内插模块15对其确定圆形形状的脸部对象所描述的示例中,内插模块15可以确定圆形标签的属性以结合该特定帧进行显示。更具体地,内插模块15可以基于所接收到的内插函数来确定标签的位置、形状和大小。内插模块15可以被配置为将被表达为两个端点的内插函数解释为该端点之间的线性函数。
图5是图示服务器设备可以通过其实施本公开的一种或多种服务器侧的内插视频标签技术的示例过程110的流程图。仅出于示例的目的,过程110关于图1-2的服务器设备2进行描述。过程110可以以对象识别模块4识别视频中的一个或多个对象作为开始(112)。如所描述的,对象识别模块4可以识别包括人(例如,演员或运动员)、地理位置、诸如歌曲和画外音之类的音频对象、建筑物等的视觉表示的各种类型的对象。此外,映射模块10可以将诸如可从各种互联网网站获取的信息之类的知识数据映射至对象识别模块4所识别的每个对象(114)。在示例中,视频分段模块8可以确定原始标签数据,诸如有关视频中存在对象识别模块4所识别的一个或多个对象的逐帧信息。
在一些实施方式中,服务器设备2的组件可以将所识别的对象的表示划分为具有非重叠外观的虚拟对象。更具体地,视频分段模块8可以确定所识别的对象通过其出现在视频中的一个或多个连续外观或连续时间范围。在示例中,连续外观可以被限制为单个时间实例,诸如没有该对象在其中出现的任何相邻帧的单个帧。诸如对于任何帧中都无法以视觉方式表示的音频数据或者对于地理位置而言,如对象识别模块4所定义的对象的外观的定义可以是抽象的。
此外,对象识别模块4可以识别帧中的相同对象的重叠外观,诸如其中每一块显示同一个人的4×4电视墙,这个人是还进行叙述的视觉上表示在屏幕上的演员,出现在相同帧中的人以及这个人的肖像,等等。对象识别模块4还可以将虚拟对象识别为对象的“副本”,其可以用作相同对象的多个实例之间的区分。视频分段模块8和内插功能模块6可以为对象的每个所识别副本生成分段和内插数据。
视频分段模块8可以为对象识别模块4在视频中所识别的每个对象确定一个或多个帧序列或分段。此外,服务器设备2可以将每个对象的指示、指示分段的数据、与每个所识别的对象相关的知识数据82、以及将相关知识数据82链接至相对应对象的映射数据84存储到存储设备78。以这种方式,服务器设备2可以实施本公开的一种或多种服务器侧的技术,以使得客户端设备能够提供内插视频标签的用户体验,同时节约计算资源。
图6是图示客户端设备可以通过其实施本公开的一种或多种客户端侧的内插视频标签技术的示例过程130的流程图。出于示例的目的,过程130在这里关于图1和3的客户端设备12及其组件进行描述。过程130可以在客户端设备12经由通信单元44从服务器设备2接收视频和相关信息时开始(312),上述相关信息诸如对象的指示、分段端点数据、相关知识数据、映射数据和内插函数。在一些情况下,客户端设备12可以在下载时接收视频和数据,例如通过将所接收到的数据与文件保存到存储设备48。在其它情况下,客户端设备12可以“流送”视频和数据,诸如通过以持续的基础接收多个视频和数据部分以便经由输出设备46输出。
客户端设备12可以准备所接收的视频和数据以便进行呈现(134)。例如,客户端设备12可以主动加载所接收的数据中与当前输出以显示的视频的时间范围相关的一个或多个部分(例如,文件)。在示例中,客户端设备12可以分批(installment)加载所接收的文件的部分,每个分批是覆盖视频的特定时间范围的独立单元。通过分批加载所接收到的文件,客户端设备12可以不必加载整个文件,这进一步减少了文件数据本来所需要的存储设备48中的存储器部分的消耗。
内插模块15可以识别所接收的视频的标签(136)。在示例中,内插模块15可以为视频的特定时间或时间范围识别所有“活动”标签。更具体地,活动标签可以与在视频的特定时间或时间范围表示的所指示对象相关联。在示例中,内插模块15可以基于诸如暂停请求之类的用户输入识别特定时间。此外,内插模块15可以基于在特定时间所表示的对象的指示而确定一个或多个标签关于该特定时间(例如,暂停请求所识别的静态帧)是活动的。在一些示例中,内插模块15通过确定哪些内插功能对于特定时间被定义为有效来识别活动标签。
此外,内插模块15可以对于每个所识别的对象生成标签形状(138)。例如,内插模块15可以诸如通过在将对象类型与标签形状相关联的数据库中查找对象类型而将某些预定形状与对象类型相关联,例如将圆形标签与脸部对象相关联。作为另一个示例,内插模块15可以为诸如建筑物的某个对象类型生成诸如定制多边形的特定形状。在又另外的示例中,内插模块15可以诸如关于音频对象来确定二进制的存在/缺失标准。在一些示例中,内插模块15基于与对象相关联的内插函数来生成标签形状。
内插模块15可以将每个所接收到的内插函数应用于每个相对应的视频分段和所识别的对象(140)。通过应用该内插函数,内插模块15可以确定序列中每个帧中的每个对象的位置和大小。此外,UI设备模块52可以在所接收的视频的每个相对应帧(或分段)中随每个所识别的对象输出内插模块15所生成的每个标签以便进行显示(142)。
图7是图示服务器设备可以通过其实施本公开的一种或多种服务器侧的内插视频标签技术的另一种示例过程160的流程图。虽然过程160可以由各种设备执行,但是仅出于解释的目的,在这里关于图1-2的服务器设备2及其各种组件进行描述。过程160可以在视频分段模块8识别视频中的帧序列时开始(162)。例如,视频分段模块8可以识别视频的多个视频帧中所包括的视频帧序列。在示例中,该序列中的所有或部分视频帧可以包括对象识别模块4所识别的对象的表示。
在一些示例中,视频分段模块8可以确定帧序列中存在对象的第一和最后时间(164)。如虚线边界所指示的,(164)可以形成可选操作。在其它示例中,视频分段模块8可以使用中点帧或者使用这里所描述的其它技术来确定对象的存在。作为示例,视频分段模块8可以确定与帧序列中存在对象识别模块4所识别的对象的第一和最后时间相关联的时间戳和/或帧计数。
除此之外或可替换地,内插函数模块6可以对于帧序列中的对象确定内插函数(166)。例如,内插函数模块6可以确定与被确定为存在对象的视频帧序列中的对象存在相关联的内插函数,其中该内插函数指定视频中该内插函数有效的时域。在一些示例中,内插函数模块6可以不作为独立于确定内插函数的操作来确定帧序列中存在对象的第一和最后时间,而是替代地可以作为确定内插函数的过程的一部分来确定时域。此外,一个或多个通信单元72可以传送视频、对象的指示以及内插函数的指示(168)。
图8是图示客户端设备可以通过其实施本公开的一种或多种客户端侧的内插视频标签技术的示例过程180的流程图。出于示例的目的,过程180在这里关于图1和3的客户端设备12及其组件进行描述。客户端设备12可以使用通信单元44接收视频、一个或多个对象的指示、与每个对象相关联的一个或多个内插函数、以及与每个对象相关联的知识数据(182)。所接收的视频可以包括多个视频帧,并且内插函数可以指定该视频中该内插函数有效的时域。
内插模块15可以基于该内插函数为视频的视频帧中的标签确定位置(184)。该标签可以与关联于相对应对象的知识数据相关联。此外,UI设备模块52可以输出根据内插模块15关于特定帧所确定的位置来定位的标签以便进行显示(186)。
这里所描述的技术可以至少部分以硬件、软件、固件或者它们的任意组合来实施。例如,所描述的各个方面可以在一个或多个处理器内实施,其包括一个或多个微处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、或者其它等同的集成或离散逻辑电路、以及这样的组件的任意组合。术语“处理器”或“处理电路”一般可以单独或者结合其它逻辑电路指代任意的上述逻辑电路或者任意其它逻辑电路,或者任意其它等同电路。包括硬件的控制单元也可以执行本公开的一种或多种技术。
这样的硬件、软件和固件可以在相同设备内或分离设备内实施以支持本公开中所描述的各种技术。此外,任何所描述的单元、模块或组件都可以共同或单独被实施为离散但是能够交互操作的。将不同特征描述为模块或单元意在强调不同的功能方面而并非必然暗示这样的模块或单元必须由分离的硬件、固件或软件组件来实现。相反,与一个或多个模块或单元相关联的功能可以由单独的硬件、固件或软件组件来执行,或者被集成在共用或单独的硬件、固件或软件组件之内。
本公开的各种技术可以进一步通过以下所描述的一个或多个示例(或者其任意组合)进行描述。
示例1.
1.一种方法,包括:由计算设备识别在视频的多个视频帧中包括的视频帧的序列,其中对象存在于所述视频帧的序列中的至少一个视频帧中;由所述计算设备确定与所述对象在所述视频帧的序列中的存在相关联的内插函数,其中所述内插函数指定所述内插函数在其中有效的所述视频的时域;以及由所述计算设备传送所述视频、所述对象的指示以及所述内插函数的指示。
示例2.
2.根据示例1所述的方法,其中,所述内插函数将与所述对象相关联的标签的大小表达为所述视频中的时间的函数。
示例3.
3.根据示例1、2中任一项或者其组合所述的方法,其中,所述内插函数将视频帧中显示与所述对象相关联的标签的位置表达为所述视频中的时间的函数。
示例4.
4.根据示例1-3中任一项或者其组合所述的方法,其中,确定所述内插函数包括:由所述计算设备确定将所述视频帧的序列划分为所述视频帧的一个或多个分段的分段方案;以及由所述计算设备确定与根据所述分段方案所确定的视频帧的每个分段相关联的数学上简单的子函数。
示例5.
5.根据示例1所述的方法,其中,确定所述内插函数包括:由所述计算设备至少部分地通过确定所述多个视频帧中跟随在所述序列中不包括所述对象的最后视频帧之后的视频帧来确定所述内插函数在其中有效的时域。
示例6.
6.根据示例1-5中任一项或者其组合所述的方法,进一步包括:由所述计算设备识别与所述视频帧的序列中的视频帧的连续配对相关联的误差值的集合,所述集合中的每个误差值与从所述对象在所述视频帧的序列中的存在的偏差相关联;由所述计算设备确定所述集合中的误差值是否超过阈值误差值;响应于确定所述集合中的所述误差值超过所述阈值误差值,由所述计算设备确定与所述误差值相关联的视频帧的连续配对表示序列转变;将所述连续配对中的较早视频帧识别为所述序列的最后视频帧;以及将所述连续配对中的较晚视频帧识别为第二视频帧序列的第一视频帧。
示例7.
7.根据示例6所述的方法,其中,确定所述误差值是否超过所述阈值误差值包括:确定与所述对象关于所述视频帧的连续配对的存在相关联的值,其中所述值与所述对象关于所述视频帧的连续配对中的每个视频帧的大小、位置和形状中的至少一个相关联;基于与所述对象关于所述视频帧的连续配对的存在相关联的值来确定所述阈值误差值,使得超过所述阈值误差值的误差值与所述对象的非连续移动相关联。
示例8.
8.根据示例1-7中任一项或者其组合所述的方法,其中,所述对象包括人、建筑物、地理位置和音频数据中的至少一个的表示。
示例9.
9.根据示例8所述的方法,其中,识别包括人的表示的所述对象包括使用脸部识别来识别人。
示例10.
10.根据示例8、9中任一项或者其组合所述的方法,其中,所述音频数据包括歌曲和叙述中的至少一种。
示例11.
11.根据示例1-10中任一项或者其组合所述的方法,进一步包括:由所述计算设备确定与所述对象相关联的知识数据;以及由所述计算设备将所识别的知识数据映射至所述对象。
示例12.
12.一种方法,包括:由计算设备接收包括多个视频帧的视频、所述视频中表示的至少一个对象的指示、用于所述视频的视频帧的至少一个序列的与所述对象相关联的内插函数的指示、以及与所述对象相关联的知识数据,其中所述内插函数指定所述内插函数在其中有效的所述视频的时域;由所述计算设备并且对于所述视频的视频帧基于所接收的内插函数来确定所述视频帧中用于显示与所述对象相关联的标签的位置,其中所述标签与关联于所述对象的知识数据相关联;以及由所述计算设备输出所述视频帧以及根据所确定的位置定位的标签中的至少一个以显示。
示例13.
13.根据示例12所述的方法,其中,所述内插函数将与所述对象相关联的标签的大小表达为所述视频中的时间的函数。
示例14.
14.根据示例12、13中任一项或者其组合所述的方法,其中,所述内插函数将视频帧中显示与所述对象相关联的标签的位置表达为所述视频中的时间的函数。
示例15.
15.根据示例12-14中任一项或者其组合所述的方法,其中,所述内插函数在其中有效的时域包括所述视频的两个或更多个非连续时间分段。
示例16.
16.根据示例12-15中任一项或者其组合所述的方法,其中,由所述内插函数所指定的时域与所述视频的所述多个视频帧中包括的视频帧的序列相关联。
示例17.
17.根据示例16所述的方法,进一步包括接收所述视频中表示的第二对象的指示、用于所述视频中的视频帧的至少第二序列的与所述第二对象相关联的第二内插函数的指示、以及与所述第二对象相关联的知识数据,其中所述第二内插函数指定所述第二内插函数在其中有效的所述视频的第二时域。
示例18.
18.根据示例12-17中任一项或者其组合所述的方法,其中,所确定的视频帧是包括在所述视频帧的序列中的第一视频帧,并且为标签确定的位置是用于所述标签的第一位置,所述方法进一步包括:由所述计算设备并且对于所述视频帧的序列中的第二视频帧确定所述视频帧中用于与所述对象相关联的标签的第二位置;以及由所述计算设备输出根据关联于所述视频帧的序列中的第二视频帧的第二位置定位的标签以显示。
示例19.
19.根据示例12-18中任一项或者其组合所述的方法,进一步包括:由所述计算设备接收对被输出以关联于所确定的视频帧显示的标签的选择;并且响应于接收到所述选择,由所述计算设备输出与所述对象相关联的知识数据的至少一部分。
示例20.
20.根据示例19所述的方法,其中,输出所述知识数据的至少一部分包括:由所述计算设备输出所述知识数据的至少一部分以关联于所确定的视频帧进行显示。
示例21.
21.根据示例12-20中任一项或者其组合所述的方法,其中,输出所述标签以显示是响应于接收到一个或多个输入。
示例22.
22.根据示例21所述的方法,其中,所述一个或多个输入包括与所确定的视频帧相关联的暂停请求以及与所确定的视频帧相关联的对象选择中的至少一个。
示例23.
23.根据示例12-22中任一项或者其组合所述的方法,其中,所述对象包括脸部、身体和无生命实体中的至少一个的表示。
示例24.
24.根据示例23所述的方法,其中,所述无生命实体包括建筑物、地理位置、以及包括歌曲和画外音中的至少一个的音频数据中的至少一个。
示例25.
25.一种计算设备,包括用于执行根据示例1-24或者其任意组合所述的任一种方法的装置。
示例26.
26.一种编码有指令的计算机可读存储介质,所述指令在被执行时使得计算设备的一个或多个处理器执行根据示例1-24或者其任意组合所述的方法。
示例27.
一种设备,包括:存储器;一个或多个可编程处理器,其被配置为:识别视频的多个视频帧中包括的视频帧的序列,其中对象存在于所述视频帧的序列中的至少一个视频帧中;并且确定与所述对象在所述视频帧的序列中的存在相关联的内插函数,其中所述内插函数指定所述内插函数在其中有效的所述视频的时域;以及接口,其被配置为传送所述视频、所述对象的指示以及所述内插函数的指示。
示例28.
一种编码有指令的计算机可读存储设备,所述指令当被执行时使得计算设备的一个或多个可编程处理器:识别视频的多个视频帧中包括的视频帧的序列,其中对象存在于所述视频帧的序列中的至少一个视频帧中;确定与所述对象在所述视频帧的序列中的存在相关联的内插函数,其中所述内插函数指定所述内插函数在其中有效的所述视频的时域;以及传送所述视频、所述对象的指示以及所述内插函数的指示。
示例29.
一种设备,包括:存储器;接口,其被配置为接收包括多个视频帧的视频、所述视频中表示的至少一个对象的指示、用于所述视频的视频帧的至少一个序列的与所述对象相关联的内插函数的指示、以及与所述对象相关联的知识数据,其中所述内插函数指定所述内插函数在其中有效的所述视频的时域;以及一个或多个处理器,其被配置为:对于所述视频的视频帧基于所接收的内插函数来确定所述视频帧中用于显示与所述对象相关联的标签的位置,其中所述标签与关联于所述对象的知识数据相关联;以及输出所述视频帧以及根据所确定的位置定位的标签中的至少一个以显示。
示例30.
一种编码有指令的计算机可读存储设备,该指令在被执行时使得计算设备的一个或多个可编程处理器:接收包括多个视频帧的视频、所述视频中表示的至少一个对象的指示、用于所述视频的视频帧的至少一个序列的与所述对象相关联的内插函数的指示、以及与所述对象相关联的知识数据,其中所述内插函数指定所述内插函数在其中有效的所述视频的时域;对于所述视频的视频帧基于所接收的内插函数来确定所述视频帧中用于显示与所述对象相关联的标签的位置,其中所述标签与关联于所述对象的知识数据相关联;以及输出所述视频帧以及根据所确定的位置定位的标签中的至少一个以显示。
本公开中所描述的技术还可以以包括编码有指令的计算机可读存储介质的制品来体现或编码。嵌入或编码在包括被编码的计算机可读存储介质的制品中的指令可以使得一个或多个可编程处理器或其它处理器实施这里所描述的一种或多种技术,诸如在包括或编码在该计算机可读存储介质中的指令被一个或多个处理器执行时。计算机可读存储介质可以包括随机存取存储器(RAM)、只读存储器(ROM)、可编程只读存储器(PROM)、可擦除可编程只读存储器(EPROM)、电可擦除可编程只读存储器(EEPROM)、闪存、硬盘、紧致盘ROM(CD-ROM)、软盘、卡盒、磁性介质、光学介质或者其它计算机可读介质。在一些示例中,制品可以包括一个或多个计算机可读存储介质。
在一些示例中,计算机可读存储介质可以包括有形或非瞬态介质,诸如一个或多个计算机可读存储设备。术语“非瞬态”可以指示该存储介质并非以载波或传播信号体现。在某些示例中,非瞬态存储介质或非瞬态计算机可读存储设备可以存储能够随时间而变化的数据(例如在RAM或高速缓存中)。
已经对本公开的各个方面进行了描述。这里所描述的示例的方面和特征可以与另一个示例中所描述的任意其它方面或特征进行组合。这些和其它示例处于所附权利要求的范围之内。

Claims (26)

1.一种用于识别对象的方法,包括:
由第一计算设备识别视频帧序列,其中所述视频帧序列中的至少一个视频帧中存在对象,所述视频帧序列被包括在视频的多个视频帧中;
由所述第一计算设备识别与所述视频帧序列的视频帧的连续配对相关联的误差值集合,所述误差值集合中的每个误差值与从所述对象在所述视频帧序列中的存在的相应偏差相关联;
由所述第一计算设备确定所述误差值集合中的误差值是否超过阈值误差值;
响应于确定所述误差值集合中的所述误差值超过所述阈值误差值,由所述第一计算设备确定与所述误差值相关联的视频帧的连续配对表示序列转变;
基于所述序列转变,由所述第一计算设备识别所述视频帧序列的存在所述对象的分段;
由所述第一计算设备确定与所述对象在所述视频帧序列的所述分段中的存在相关联的内插函数,其中所述内插函数指定所述内插函数在其中有效的所述视频的时域;以及
由所述第一计算设备向与所述第一计算设备分离的第二计算设备传送所述视频、所述对象的指示以及所述内插函数的指示。
2.根据权利要求1所述的方法,其中,所述内插函数将与所述对象相关联的标签的大小表达为所述视频中的时间的函数。
3.根据权利要求1所述的方法,其中,所述内插函数将视频帧中显示与所述对象相关联的标签的位置表达为所述视频中的时间的函数。
4.根据权利要求1所述的方法,其中,确定所述内插函数包括:
由所述第一计算设备确定与根据所述视频帧序列的所述分段相关联的数学上简单的子函数。
5.根据权利要求1所述的方法,其中,确定所述内插函数包括:
由所述第一计算设备至少部分地通过确定所述多个视频帧中跟随在所述视频帧序列中不包括所述对象的最后视频帧之后的视频帧来确定所述内插函数在其中有效的所述时域。
6.根据权利要求1所述的方法,进一步包括:
将所述连续配对中的较早视频帧识别为所述序列中的最后视频帧;以及
将所述连续配对中的较晚视频帧识别为第二视频帧序列中的第一视频帧。
7.根据权利要求6所述的方法,其中,确定所述误差值是否超过所述阈值误差值包括:
确定与所述对象关于所述视频帧的连续配对的存在相关联的值,其中所述值与所述对象关于所述视频帧的连续配对中的每个视频帧的大小、位置和形状中的至少一个相关联;以及
基于与所述对象关于所述视频帧的连续配对的存在相关联的值来确定所述阈值误差值,使得超过所述阈值误差值的误差值与所述对象的非连续移动相关联。
8.根据权利要求1所述的方法,其中,所述对象包括人、建筑物、地理位置和音频数据中的至少一个的表示。
9.根据权利要求8所述的方法,其中所述对象包括人的表示,所述方法进一步包括使用脸部识别来识别所述人,
其中识别所述视频帧序列包括:基于使用脸部识别来识别所述人,来识别所述视频帧序列。
10.根据权利要求8所述的方法,其中,所述音频数据包括歌曲或叙述中的至少一种。
11.根据权利要求1所述的方法,进一步包括:
由所述第一计算设备确定与所述对象相关联的知识数据;以及
由所述第一计算设备将所识别的知识数据映射至所述对象。
12.一种用于对对象添加标签的方法,包括:
由第一计算设备从与所述第一计算设备分离的第二计算设备接收包括多个视频帧的视频、所述视频中表示的至少一个对象的指示、用于所述视频的视频帧的至少一个序列的与所述对象相关联的并且由所述第二计算设备先前所确定的内插函数的指示、以及与所述对象相关联的知识数据,其中所述内插函数指定所述内插函数在其中有效的所述视频的时域;
响应于在所述第一计算设备处检测到用户输入,由所述第一计算设备并且对于所述视频的视频帧基于所接收的内插函数来确定所述视频帧中用于显示与所述对象相关联的标签的位置,其中所述标签与关联于所述对象的知识数据相关联;以及
由所述第一计算设备输出所述视频帧以及根据所确定的位置定位的标签中的至少一个以显示。
13.根据权利要求12所述的方法,其中,所述内插函数将与所述对象相关联的标签的大小表达为所述视频中的时间的函数。
14.根据权利要求12所述的方法,其中,所述内插函数表达视频帧中显示与所述对象相关联的标签的位置作为所述视频中的时间的函数是如何变化的。
15.根据权利要求12所述的方法,其中,所述内插函数在其中有效的时域包括所述视频的两个或更多个非连续时间分段。
16.根据权利要求12所述的方法,其中,由所述内插函数所指定的时域与所述视频的所述多个视频帧中包括的视频帧序列相关联。
17.根据权利要求16所述的方法,进一步包括接收所述视频中表示的第二对象的指示、用于所述视频中的至少第二视频帧序列的与所述第二对象相关联的第二内插函数的指示、以及与所述第二对象相关联的知识数据,其中所述第二内插函数指定所述第二内插函数在其中有效的所述视频的第二时域。
18.根据权利要求12所述的方法,其中,所确定的视频帧是包括在所述视频帧序列中的第一视频帧,并且为标签确定的位置是用于所述标签的第一位置,所述方法进一步包括:
由所述第一计算设备并且对于所述视频帧序列中的第二视频帧确定所述视频帧中用于与所述对象相关联的标签的第二位置;以及
由所述第一计算设备输出根据关联于所述视频帧序列中的第二视频帧的第二位置定位的标签以显示。
19.根据权利要求12所述的方法,进一步包括:
由所述第一计算设备接收对被输出以关联于所确定的视频帧显示的标签的选择;并且
响应于接收到所述选择,由所述第一计算设备输出与所述对象相关联的知识数据的至少一部分。
20.根据权利要求19所述的方法,其中,输出所述知识数据的至少一部分包括:
由所述第一计算设备输出所述知识数据的至少一部分以关联于所确定的视频帧进行显示。
21.根据权利要求12所述的方法,其中,输出所述标签以显示是响应于接收到一个或多个输入。
22.根据权利要求21所述的方法,其中,所述一个或多个输入包括与所确定的视频帧相关联的暂停请求以及与所确定的视频帧相关联的对象选择中的至少一个。
23.根据权利要求12所述的方法,其中,所述对象包括脸部、身体和无生命实体中的至少一个的表示。
24.根据权利要求23所述的方法,其中,所述无生命实体包括建筑物、地理位置、以及包括歌曲和画外音中的至少一个的音频数据中的至少一个。
25.一种计算设备,包括用于执行根据权利要求1-24所述的任一种方法的装置。
26.一种编码有指令的计算机可读存储介质,所述指令在被执行时使得计算设备的一个或多个处理器执行根据权利要求1-24所述的方法。
CN201480016856.6A 2013-03-20 2014-03-10 内插视频标签 Expired - Fee Related CN105052155B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/847,947 US9294712B2 (en) 2013-03-20 2013-03-20 Interpolated video tagging
US13/847,947 2013-03-20
PCT/US2014/022694 WO2014150240A1 (en) 2013-03-20 2014-03-10 Interpolated video tagging

Publications (2)

Publication Number Publication Date
CN105052155A CN105052155A (zh) 2015-11-11
CN105052155B true CN105052155B (zh) 2018-06-22

Family

ID=50549407

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201480016856.6A Expired - Fee Related CN105052155B (zh) 2013-03-20 2014-03-10 内插视频标签

Country Status (4)

Country Link
US (2) US9294712B2 (zh)
EP (1) EP2976886A1 (zh)
CN (1) CN105052155B (zh)
WO (1) WO2014150240A1 (zh)

Families Citing this family (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8793582B2 (en) 2012-08-22 2014-07-29 Mobitv, Inc. Personalized timeline presentation
US10009579B2 (en) 2012-11-21 2018-06-26 Pelco, Inc. Method and system for counting people using depth sensor
US9367733B2 (en) * 2012-11-21 2016-06-14 Pelco, Inc. Method and apparatus for detecting people by a surveillance system
US9639747B2 (en) 2013-03-15 2017-05-02 Pelco, Inc. Online learning method for people detection and counting for retail stores
US9294712B2 (en) 2013-03-20 2016-03-22 Google Inc. Interpolated video tagging
US9589595B2 (en) 2013-12-20 2017-03-07 Qualcomm Incorporated Selection and tracking of objects for display partitioning and clustering of video frames
US10346465B2 (en) 2013-12-20 2019-07-09 Qualcomm Incorporated Systems, methods, and apparatus for digital composition and/or retrieval
GB2528893B (en) * 2014-08-01 2019-06-05 Mirada Medical Ltd Method and apparatus for delineating an object within a volumetric medical image
CN105373938A (zh) * 2014-08-27 2016-03-02 阿里巴巴集团控股有限公司 识别视频图像中的商品和展示其信息的方法、装置及系统
US10264329B2 (en) * 2014-10-28 2019-04-16 Disney Enterprises, Inc. Descriptive metadata extraction and linkage with editorial content
US10299012B2 (en) * 2014-10-28 2019-05-21 Disney Enterprises, Inc. Descriptive metadata extraction and linkage with editorial content
AU2016251812B2 (en) 2015-04-20 2021-08-05 Snap Inc. Interactive media system and method
US10629166B2 (en) * 2016-04-01 2020-04-21 Intel Corporation Video with selectable tag overlay auxiliary pictures
WO2017210601A1 (en) * 2016-06-02 2017-12-07 Stc.Unm System and methods for parallel processing motion estimation of digital videos
CN107770614A (zh) * 2016-08-18 2018-03-06 中国电信股份有限公司 多媒体内容的标签制作方法及装置
CN106303726B (zh) * 2016-08-30 2021-04-16 北京奇艺世纪科技有限公司 一种视频标签的添加方法及装置
CN108174270B (zh) * 2017-12-28 2020-12-01 Oppo广东移动通信有限公司 数据处理方法、装置、存储介质及电子设备
KR20200040097A (ko) * 2018-10-08 2020-04-17 삼성전자주식회사 전자 장치 및 그 제어 방법
WO2020107327A1 (en) 2018-11-29 2020-06-04 Beijing Didi Infinity Technology And Development Co., Ltd. Systems and methods for target identification in video
US11080532B2 (en) * 2019-01-16 2021-08-03 Mediatek Inc. Highlight processing method using human pose based triggering scheme and associated system
CN110493661B (zh) * 2019-06-26 2021-11-16 中电万维信息技术有限责任公司 一种视频文件的处理方法以及服务器
CN111314759B (zh) * 2020-03-02 2021-08-10 腾讯科技(深圳)有限公司 视频处理方法、装置、电子设备及存储介质
CN113079417B (zh) * 2021-03-25 2023-01-17 北京百度网讯科技有限公司 生成弹幕的方法、装置、设备和存储介质
US11347565B1 (en) * 2021-06-30 2022-05-31 United Services Automobile Association (Usaa) System and method for app-to-app content reconfiguration

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101506828A (zh) * 2006-06-09 2009-08-12 索尼爱立信移动通讯股份有限公司 媒体辨识
US8037496B1 (en) * 2002-12-27 2011-10-11 At&T Intellectual Property Ii, L.P. System and method for automatically authoring interactive television content

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6819783B2 (en) 1996-09-04 2004-11-16 Centerframe, Llc Obtaining person-specific images in a public venue
KR19980073964A (ko) * 1997-03-20 1998-11-05 김영환 영상신호의 모양정보 부호화시 윤곽선 정합 이동 벡터 추정 방법
US6724915B1 (en) * 1998-03-13 2004-04-20 Siemens Corporate Research, Inc. Method for tracking a video object in a time-ordered sequence of image frames
JP3413720B2 (ja) * 1998-06-26 2003-06-09 ソニー株式会社 画像符号化方法及び装置、並びに画像復号方法及び装置
US6968004B1 (en) * 1999-08-04 2005-11-22 Kabushiki Kaisha Toshiba Method of describing object region data, apparatus for generating object region data, video processing method, and video processing apparatus
US6625333B1 (en) * 1999-08-06 2003-09-23 Her Majesty The Queen In Right Of Canada As Represented By The Minister Of Industry Through Communications Research Centre Method for temporal interpolation of an image sequence using object-based image analysis
GB2395779A (en) 2002-11-29 2004-06-02 Sony Uk Ltd Face detection
US20100002070A1 (en) * 2004-04-30 2010-01-07 Grandeye Ltd. Method and System of Simultaneously Displaying Multiple Views for Video Surveillance
US8412021B2 (en) 2007-05-18 2013-04-02 Fall Front Wireless Ny, Llc Video player user interface
US7881505B2 (en) 2006-09-29 2011-02-01 Pittsburgh Pattern Recognition, Inc. Video retrieval system for human face content
US8204273B2 (en) 2007-11-29 2012-06-19 Cernium Corporation Systems and methods for analysis of video content, event notification, and video content provision
US8170280B2 (en) * 2007-12-03 2012-05-01 Digital Smiths, Inc. Integrated systems and methods for video-based object modeling, recognition, and tracking
US8699858B2 (en) * 2008-08-29 2014-04-15 Adobe Systems Incorporated Combined visual and auditory processing
US8527537B2 (en) * 2009-02-19 2013-09-03 Hulu, LLC Method and apparatus for providing community-based metadata
US20120167145A1 (en) 2010-12-28 2012-06-28 White Square Media, LLC Method and apparatus for providing or utilizing interactive video with tagged objects
US20120198496A1 (en) * 2011-01-31 2012-08-02 Modiotek Co., Ltd. Video Related Tag Generating Apparatus, Video Related Tag Generating Method, Video Interacting Method, Video Interacting System and Video Interacting Apparatus
US8983189B2 (en) * 2011-02-08 2015-03-17 Algotec Systems Ltd. Method and systems for error correction for three-dimensional image segmentation
US20120239690A1 (en) 2011-03-16 2012-09-20 Rovi Technologies Corporation Utilizing time-localized metadata
US8649558B2 (en) 2011-05-31 2014-02-11 Wisconsin Alumni Research Foundation Video processing with region-based warping
US9294712B2 (en) 2013-03-20 2016-03-22 Google Inc. Interpolated video tagging

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8037496B1 (en) * 2002-12-27 2011-10-11 At&T Intellectual Property Ii, L.P. System and method for automatically authoring interactive television content
CN101506828A (zh) * 2006-06-09 2009-08-12 索尼爱立信移动通讯股份有限公司 媒体辨识

Also Published As

Publication number Publication date
US9992554B2 (en) 2018-06-05
US20160205446A1 (en) 2016-07-14
EP2976886A1 (en) 2016-01-27
US9294712B2 (en) 2016-03-22
WO2014150240A1 (en) 2014-09-25
CN105052155A (zh) 2015-11-11
US20140285717A1 (en) 2014-09-25

Similar Documents

Publication Publication Date Title
CN105052155B (zh) 内插视频标签
US10726836B2 (en) Providing audio and video feedback with character based on voice command
CN105518783B (zh) 基于内容的视频分段
US10324619B2 (en) Touch-based gesture recognition and application navigation
US10388077B2 (en) Three-dimensional environment authoring and generation
WO2020056903A1 (zh) 用于生成信息的方法和装置
US20210051374A1 (en) Video file playing method and apparatus, and storage medium
JP2020516107A (ja) ビデオコンテンツの要約処理
US10037619B2 (en) Method and system for generating motion sequence of animation, and computer-readable recording medium
WO2022048329A1 (zh) 菜单显示方法和装置
CN110516749A (zh) 模型训练方法、视频处理方法、装置、介质和计算设备
US20220167068A1 (en) System for summary segment association and dynamic selection for viewing with a content item of interest
US20180322905A1 (en) Control Video Playback Speed Based on User Interaction
CN115205925A (zh) 表情系数确定方法、装置、电子设备及存储介质
CN109298806A (zh) 一种基于对象识别的远程快速界面交互方法及装置
US20180189988A1 (en) Chart-type agnostic scene graph for defining a chart
US20230281221A1 (en) Method for content synchronization and replacement
CN111135558B (zh) 游戏同步方法、游戏客户端、计算机存储介质及电子设备
WO2023273562A1 (zh) 视频播放方法及装置、电子设备和介质
US20180027282A1 (en) Method and apparatus for referencing, filtering, and combining content
CN112752132A (zh) 漫画图片弹幕显示方法、装置、介质及电子设备
US20180190000A1 (en) Morphing chart animations in a browser
US9607573B2 (en) Avatar motion modification
CN114627556B (zh) 动作检测方法、动作检测装置、电子设备以及存储介质
CN114449355B (zh) 一种直播互动的方法、装置、设备及存储介质

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
CB02 Change of applicant information
CB02 Change of applicant information

Address after: American California

Applicant after: Google limited liability company

Address before: American California

Applicant before: Google Inc.

GR01 Patent grant
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20180622

Termination date: 20200310