CN110415009B - 用于视频内修改的计算机化系统和方法 - Google Patents

用于视频内修改的计算机化系统和方法 Download PDF

Info

Publication number
CN110415009B
CN110415009B CN201910174671.2A CN201910174671A CN110415009B CN 110415009 B CN110415009 B CN 110415009B CN 201910174671 A CN201910174671 A CN 201910174671A CN 110415009 B CN110415009 B CN 110415009B
Authority
CN
China
Prior art keywords
video
content
constraints
computing device
user
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.)
Active
Application number
CN201910174671.2A
Other languages
English (en)
Other versions
CN110415009A (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.)
Verizon Media
Original Assignee
Yahoo AD Tech 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 Yahoo AD Tech LLC filed Critical Yahoo AD Tech LLC
Publication of CN110415009A publication Critical patent/CN110415009A/zh
Application granted granted Critical
Publication of CN110415009B publication Critical patent/CN110415009B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/20Scenes; Scene-specific elements in augmented reality scenes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • G06Q30/0241Advertisements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • G06Q30/0241Advertisements
    • G06Q30/0276Advertisement creation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/006Mixed reality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/60Analysis of geometric attributes
    • 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/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/266Channel or content management, e.g. generation and management of keys and entitlement messages in a conditional access system, merging a VOD unicast channel into a multicast channel
    • H04N21/2665Gathering content from different sources, e.g. Internet and satellite
    • 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/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/266Channel or content management, e.g. generation and management of keys and entitlement messages in a conditional access system, merging a VOD unicast channel into a multicast channel
    • H04N21/2668Creating a channel for a dedicated end-user group, e.g. insertion of targeted commercials based on end-user profiles
    • 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/47205End-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 manipulating displayed content, e.g. interacting with MPEG-4 objects, editing locally

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Multimedia (AREA)
  • Accounting & Taxation (AREA)
  • Development Economics (AREA)
  • Finance (AREA)
  • Strategic Management (AREA)
  • Signal Processing (AREA)
  • Software Systems (AREA)
  • Databases & Information Systems (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Marketing (AREA)
  • Economics (AREA)
  • Game Theory and Decision Science (AREA)
  • General Business, Economics & Management (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Geometry (AREA)
  • Computer Graphics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Astronomy & Astrophysics (AREA)
  • Human Computer Interaction (AREA)
  • Technology Law (AREA)
  • Computer Security & Cryptography (AREA)
  • Information Transfer Between Computers (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本公开涉及用于视频内修改的计算机化系统和方法。公开了用于改进与由设备、服务器和/或平台支持或配置的内容提供、搜索和/或托管系统中的计算机的交互或改进这些计算机之间的交互的系统和方法。公开的系统和方法提供了用于执行视频帧中的表面的自动检测从而为观看用户创建无缝视频内广告体验的新颖框架。公开的框架通过在全自动端到端解决方案中利用视频中的可用表面显示与发布者保护、合规性和策略相符合的广告来进行运作。公开的框架证明了简化的、自动的和计算上有效的一个或多个过程,其修改内容的帧内的表面水平处的数字内容,这种修改遵从通过公开的增强而被合并的内容的所有者的数字版权。

Description

用于视频内修改的计算机化系统和方法
本申请包括受版权保护的材料。版权所有者不反对任何人按照本专利公开出现在专利和商标局的文件或记录中那样对本专利公开进行传真复制,但在其他方面保留所有版权。
技术领域
本公开一般地涉及通过修改能力来改进内容托管和提供设备、系统和/或平台的性能,以及通过新颖的和改进的框架来向这类设备、系统和/或平台提供非本地功能,该新颖的和改进的框架用于基于显示的内容内的检测到的表面来修改数字内容。
背景技术
现代数字内容托管和提供平台能够以各种不同方式向观看用户提供和/或促进提供附加的第三方内容。例如,数字广告可以被覆盖在显示的内容的顶部、被显示在弹出窗口中、或被显示在形成(用于查看期望的/请求的内容的)用户界面(UI)的一部分或与该UI相邻的面板或其他部分中。
最近,第三方提供商(例如,内容提供商、服务提供商、和数字广告提供商等,仅出于在本公开内容中的解释的目的,其被称为但不限于“广告商”)试图将他们的专有数字内容插入到用户正在观看的视频中。这种插入涉及对视频内容执行表面检测和增强(augmentation),以使广告商的内容被添加到视频的内容内描绘的(一个或多个)特定表面。这是一项技术复杂的技术,其需要大量的数据处理和计算能力来解析、识别并且将广告插入在视频的各个帧组内的特定位置。
这类传统系统需要广泛且密集的人为干预以确保广告在适当的场景(即,帧组,也称为“镜头”)处被插入到视频中。这涉及例如由人类注释者(human annotator)分别手动地识别与特定帧组以及该组的每个帧内的特定像素组相关联的标签(例如,视频内的位置、以及每个帧内的位置)来进行视频场景的识别和修改。此外,人类注释者必须确保插入的广告匹配并且满足内容所有者(即,被注释了广告的视频的所有者)和广告商的要求和期望。
因此,传统系统采用的手动任务涉及使用大量数据处理和计算能力来执行(用来自第三方的专有内容来注释内容所有者的专有内容的)手动任务。此外,这些过程简单地绕过互联网上数字内容的重要数字版权管理(DRM)要求,使得这类系统简单地让用户(即,人类注释者)在执行注释和后续对独立的各方数字内容合并之前进行确认、接受和/或访问各方数字内容的结构内的读-写指令。
发明内容
所公开的系统和方法通过提供用于提供满足内容所有者和广告商要求同时有效且安全地修改数字内容的端到端视频增强系统的改进框架,提供了对现有技术问题(尤其是上面突出显示的那些技术问题)的技术解决方案。所公开的系统和方法提供了改进框架,其利用了由计算机视觉和对象识别技术提供的先前未开发的资源和计算效率,以便执行视频帧中的表面的自动检测,从而为观看用户创建无缝视频内广告体验。
如下面详细讨论的,视频注释框架涉及实现自动视频内广告插入的创建和匹配过程。根据本公开的实施例,框架由三个主要组件组成:i)内容所有者对合格(qualified)表面的描述;ii)能够检测满足内容所有者要求的所有表面的表面检测框架;iii)能够确定、发现或以其他方式识别满足广告商和内容所有者约束的合格广告的广告匹配框架。
使用这些组件,所公开的系统和方法产生新形式的广告库存,其通过在全自动端到端解决方案中利用视频中的可用表面显示与发布者保护、合规性和策略相符合(即,增加的内容/数据安全性和权限管理)的广告来运作。因此,替代依赖于传统系统的计算缓慢且过量的数据/内容驱动的手动任务,所公开的框架提供了简化的、自动的和计算上有效的(一个或多个)过程,其修改与通过增强而被合并的内容的所有者的数字版权相符合的内容的帧内的表面水平处的数字内容。
根据一个或多个实施例,本公开提供了用于通过本文讨论的框架基于检测到的视频内容内的表面进行视频内修改的计算机化方法,以及用于实现框架的视频内修改功能的上述技术步骤的非暂态计算机可读存储介质。非暂态计算机可读存储介质在其上有形地存储有、或在其上有形地编码有计算机可读指令,该计算机可读指令在由设备(例如,应用服务器、内容服务器、和/或客户端设备等)执行时,使得至少一个处理器执行用于新颖的和改进的框架通过在视频的内容中显示的表面处或表面上插入第三方内容来用第三方内容修改视频的方法。
根据一个或多个实施例,提供了一种系统,包括被配置为根据这类实施例提供功能的一个或多个计算设备。根据一个或多个实施例,功能体现在由至少一个计算设备执行的方法的步骤中。根据一个或多个实施例,由计算设备的(一个或多个)处理器执行以根据一个或多个这类实施例实现功能的程序代码(或程序逻辑)体现在非暂态计算机可读介质中、由非暂态计算机可读介质体现、和/或体现在非暂态计算机可读介质上。
附图说明
根据如附图中示出的实施例的以下描述,本公开的前述和其他目的、特征和优点将是显而易见的,其中附图标记在各个视图中指代相同部分。附图不一定按比例绘制,而是将重点放在示出本公开的原理上:
图1是示出根据本公开的一些实施例的其中可以实现本文公开的系统和方法的网络的示例的示意图;
图2描绘了示出根据本公开的一些实施例的客户端设备的示例的示意图;
图3是示出根据本公开的实施例的示例性系统的组件的框图;
图4是示出根据本公开的一些实施例的示例性系统的数据流的框图;
图5是示出根据本公开的一些实施例的示例性系统的数据流的框图;并且
图6是示出根据本公开的一些实施例执行的步骤的流程图。
具体实施方式
现在将在下文中参考附图更全面地描述本公开,附图形成本公开的一部分,并且通过非限制性图示的方式示出了某些示例实施例。然而,主题可以以各种不同的形式体现,因此,所涵盖或要求保护的主题旨在被解释为不限于本文所述的任何示例实施例;提供示例实施例仅用于说明。同样,所要求保护或涵盖的主题的范围旨在相当广泛。除其他项外,例如,主题可以被体现为方法、设备、组件或系统。因此,实施例可以例如采用硬件、软件、固件或其任何组合的形式(除软件本身之外)。因此,以下详细描述不应被视为限制意义。
在整个说明书和权利要求书中,术语可以具有超出所明确说明的含义的在上下文中建议或暗示的细微差别的含义。同样地,如本文使用的短语“在一个实施例中”不一定指代同一实施例,并且如本文使用的短语“在另一实施例中”不一定指代不同的实施例。例如,所要求保护的主题旨在包括整个或部分示例实施例的组合。
通常,术语可以至少部分地从上下文中的使用来理解。例如,如本文所使用的诸如“和”、“或”或“和/或”之类的术语可包括多种含义,这些含义可以至少部分地取决于使用这些术语的上下文。通常,“或”如果用于关联列表(例如A、B或C),则意指A、B和C(此处以包含性意义使用)以及A、B或C(此处以排他性含义使用)。此外,至少部分地取决于上下文,如本文所使用的术语“一个或多个”可以用于以单数意义描述任何特征、结构或特征,或者可以以复数含义描述特征、结构或特征的组合。类似地,至少部分地取决于上下文,诸如“一”、“一个”或“该”之类的术语也可以被理解为传达单数用法或传达复数用法。此外,至少部分地取决于上下文,术语“基于”可以被理解为不一定旨在传达因素的排他性组合,并且替代地,可以允许存在不一定被明确描述的其他因素。
下面参考方法和设备的框图和操作说明来描述本公开。应当理解,框图或操作说明的每个框以及框图或操作说明中的框的组合可以借助于模拟或数字硬件和计算机程序指令来实现。这些计算机程序指令可以被提供给通用计算机(以改变其如本文详述的功能)、专用计算机、ASIC或其他可编程数据处理装置的处理器,使得通过计算机或其他可编程数据处理装置的处理器执行的指令实现框图或一个或多个操作框中指定的功能/动作。在一些替代实现方式中,框中提到的功能/动作可以不按照操作说明中所指出的顺序发生。例如,连续示出的两个框实际上可以基本上同时执行,或者这些框有时可以以相反的顺序执行,这取决于所涉及的功能/动作。
为了本公开的目的,非暂态计算机可读介质(或一个或多个计算机可读存储介质)以计算机可读的形式存储计算机数据,该数据可以包括可由计算机执行的计算机程序代码(或计算机可执行指令)。通过示例而非限制的方式,计算机可读介质可以包括用于数据的有形或固定存储的计算机可读存储介质,或用于对包含代码的信号进行瞬时解释的通信介质。如本文使用的计算机可读存储介质是指物理或有形存储装置(与信号相反),并且包括但不限于以用于信息(计算机可读指令、数据结构、程序模块或其他数据)的有形存储的方法或技术实现的易失性和非易失性、可移除和不可移除介质。计算机可读存储介质包括但不限于RAM、ROM、EPROM、EEPROM、闪存或其他固态存储器技术、CD-ROM、DVD、或其他光学存储装置、云存储、磁带盒、磁带、磁盘存储装置或其他磁存储设备、或可用于有形地存储所需信息或数据或指令并且可由计算机或处理器访问的任何其他物理或材料介质。
为了本公开的目的,术语“服务器”应该被理解为指代提供处理、数据库和通信设施的服务点。通过示例而非限制的方式,术语“服务器”可以指具有相关联的通信和数据存储装置和数据库设施的单个物理处理器,或者它可以指代处理器和相关联的网络和存储设备,以及支持服务器提供的服务的操作软件和一个或多个数据库系统和应用软件的联网或集群复合体。
为了本公开的目的,“网络”应该被理解为指代可以耦合设备以便可以交换通信的网络,例如,在服务器和客户端设备之间或者其他类型的设备之间交换通信,例如,包括在通过无线网络耦合的无线设备之间交换通信。例如,网络还可以包括大容量存储装置,例如,附接网络的存储装置(NAS)、存储区域网络(SAN)、内容传递网络(CDN)或其他形式的计算机或机器可读介质。网络可以包括互联网、一个或多个局域网(LAN)、一个或多个广域网(WAN)、有线类型连接、无线类型连接、蜂窝或其任何组合。同样地,可以采用不同架构或者可以服从或兼容不同协议的子网可以在更大的网络内互操作。
为了本公开的目的,“无线网络”应被理解为将客户端设备与网络耦合。无线网络可以采用独立自组网络、网状网络、无线LAN(WLAN)网络、蜂窝网络等。无线网络还可以采用多种网络接入技术,包括Wi-Fi、长期演进(LTE)、WLAN、无线路由器(WR)网、或第2代、第3代、第4代或第5代(2G、3G、4G或5G)蜂窝技术、蓝牙、802.11b/g/n等。网络接入技术可以实现设备(例如具有不同程度的移动性的客户端设备)的广域覆盖。
简言之,无线网络实际上可以包括任何类型的无线通信机制,通过这些机制,信号可以在诸如客户端设备或计算设备之类的设备之间、网络之间或之内等进行传送。
计算设备能够例如经由有线或无线网络来发送或接收信号,或者能够例如在存储器中作为物理存储器状态来处理或存储信号,并且因此可以用作服务器。因此,能够用作服务器的设备可以包括例如专用机架式服务器、台式计算机、膝上型计算机、机顶盒、组合各种特征(例如前述设备的两个或更多个特征)的集成设备等。
为了本公开的目的,客户端(或消费者或用户)设备可以包括能够例如经由有线或无线网络发送或接收信号的计算设备。客户端设备可以例如包括台式计算机或便携式设备,例如蜂窝电话、智能电话、显示寻呼机、射频(RF)设备、红外(IR)设备和近场通信(NFC)设备、个人数字助理(PDA)、手持式计算机、平板计算机、平板电话、笔记本计算机、机顶盒、可穿戴计算机、智能手表、组合各种特征(例如上述设备的特征)的集成或分布式设备等。
客户端设备在能力或特征方面可以不同。所要求保护的主题旨在涵盖广泛的潜在变化,例如,支持web的客户端设备或先前提到的设备可以包括高分辨率屏幕(例如,HD或4K)、一个或多个物理或虚拟键盘、大容量存储装置、一个或多个加速度计、一个或多个陀螺仪、全球定位系统(GPS)、或者其他位置识别型能力、或具有高度功能的显示器(例如,触敏彩色2D或3D显示器)。
客户端设备可以包括或可以执行各种可能的应用,例如,能够与其他设备进行通信的客户端软件应用。客户端设备还可以包括或执行应用以传送内容,例如文本内容、多媒体内容等。客户端设备还可以包括或执行应用以执行各种可能的任务,例如,浏览、搜索、播放、流式传输或显示各种形式的内容,包括本地存储或上传图像和/或视频、或比赛(例如,专业体育赛事的现场直播)。
如本文所讨论的,对“广告”的引用应被理解为包括但不限于被体现为提供由另一用户、服务、第三方、实体等所提供的信息的媒体项的数字媒体内容。这样的数字广告内容可以包括可由计算设备呈现的任何类型的已知或将已知的媒体,包括但不限于视频、文本、音频、图像和/或任何其他类型的已知或将已知的多媒体项或对象。在一些实施例中,数字广告内容可以被格式化为提供深度链接特征和/或能力的超链接多媒体内容。因此,虽然某个内容被称为广告,但它仍是可由计算设备渲染的数字媒体项,并且这种数字媒体项包括传达由网络关联方提供的促销内容的内容。
本文描述的原理可以以许多不同的形式体现。所公开的系统和方法提供了用于将数字广告动态地集成到视频的特定识别的部分和/或位置中的高级机制。所公开的框架基于以下两个基础提供动态广告集成:i)支持内容所有者的要求(例如,视频内的哪些表面/位置有资格用附加内容来修改/增强的定义),以及ii)确保广告商(提供增强内容的实体)拥有并且保持对其广告被插入哪种视频、以及广告被插入这些视频的哪些位置的控制。
因此,所公开的系统和方法提供了满足各方(内容所有者和广告商)权利/要求的端到端框架,从而确保他们的内容不仅以他们期望的方式传播,而且还防止未经请求的各方进行不必要的访问和/或修改。所公开的系统和方法通过使用计算机视觉执行该框架来创建新的广告量,这创造了内容所有者的新收入机会、以及品牌到达其受众的新机会。也就是说,作为所公开的框架的实现的结果,内容所有者能够产生新形式的广告收入,同时保护他们关于其内容和用户体验的最佳利益。广告商拥有额外的网络机会以用于无缝地将其品牌整合到视频中,同时拥有并且保持对如何以及在哪里集成其品牌的完全控制。
所公开的框架的应用可以涉及以已知或将要知道的任意格式(例如,任意类型的文件格式和/或渲染格式)来处理视频。为了本公开的目的,本文的讨论集中于视频文件;然而,这不应当被解释为限制,因为在不脱离本公开的范围的情况下,可以利用任意类型的已知或将要知道的媒体格式(例如,图像或其他形式的多媒体)。
现在将参考附图更详细地描述某些实施例。一般地,参考图1,示出了根据本公开的实施例的系统100。图1示出了在其中可以实施本文所讨论的系统和方法的一般环境的组件。并非需要所有组件来实施本公开,并且可以在不脱离本公开的精神或范围的情况下进行组件的布置和类型的变化。如图所示,图1的系统100包括局域网(“LAN”)/广域网(“WAN”)-网络105、无线网络110、移动设备(客户端设备)102-104和客户端设备101。图1还包括各种服务器,例如,内容服务器106、应用(或“App”)服务器108、和广告(“ad”)服务器130。
移动设备102-104的一个实施例实际上可以包括能够通过网络(例如网络105、无线网络110等)接收和发送消息的任何便携式计算设备。移动设备102-104通常还可以被描述为被配置为便携式的客户端设备。因此,移动设备102-104实际上可以包括能够连接到另一计算设备并接收信息的任何便携式计算设备,如上所述。这样,移动设备102-104通常在能力和特征方面范围很广。
移动设备102-104还可以包括被配置为从另一计算设备接收内容的至少一个客户端应用。在一些实施例中,移动设备102-104还可以与非移动客户端设备(例如,客户端设备101等)进行通信。在一个实施例中,这种通信可以包括发送和/或接收消息、搜索、查看和/或共享照片、数字图像、音频剪辑、视频剪辑或任何各种其他形式的通信。
客户端设备101-104能够例如经由有线或无线网络来发送或接收信号,或能够例如在如物理存储器状态的存储器中处理或存储信号,并且因此可以用作服务器。
无线网络110被配置为将移动设备102-104及其组件与网络105相耦合。无线网络110可以包括可进一步覆盖独立自组网络等的各种无线子网络中的任意一个,以便为移动设备102-104提供面向基础设施的连接。
网络105被配置为将内容服务器106、应用服务器108等与其他计算设备(包括客户端设备101)相耦合,并且通过无线网络110耦合到移动设备102-104。网络105能够采用任意形式的计算机可读介质或网络来将信息从一个电子设备传送到另一电子设备。
内容服务器106可以包括具有用于经由网络向另一设备提供任意类型或形式的内容的配置的设备。可以用作内容服务器106的设备包括个人计算机、台式计算机、多处理器系统、基于微处理器或可编程的消费电子产品、网络PC、服务器等。内容服务器106还可以提供各种服务,包括但不限于电子邮件服务、即时消息传递(IM)服务、流媒体服务和/或下载媒体服务、搜索服务、照片服务、网络服务、社交网络服务、新闻服务、第三方服务、音频服务、视频服务、SMS服务、MMS服务、FTP服务、IP语音(VOIP)服务等。
广告服务器130包括存储用于呈现给用户的在线广告的服务器。“广告服务”是指用于在网站、应用或用户更可能看到它们的其他地方放置在线广告的方法,例如,在在线会话期间或在计算平台使用期间。可以结合赞助广告使用各种货币化技术或模型,包括与用户数据相关联的广告。这种赞助广告包括货币化技术,包括赞助搜索广告、非赞助搜索广告、保证和非保证递送广告、广告网络/交换、广告定向、广告服务和广告分析。此类系统可以在网页创建期间合并广告投放机会的近乎实时的拍卖(在一些情况下不到500毫秒),并且具有更高质量的广告投放机会,产生更高的每广告收入。也就是说,当广告商相信他们的广告被投放在被呈现给用户的高度相关内容中或者与被呈现给用户的高度相关内容一起投放时,他们将支付更高的广告费。减少量化高质量广告投放所需的时间可以为广告平台带来竞争优势。因此,更高的速度和更相关的情境检测改善了这些技术领域。
例如,购买或销售在线广告的过程可能涉及许多不同的实体,包括广告商、发布商、代理商、网络或开发者。为了简化该过程,被称为“广告交换”的组织系统可以关联广告商或发布商,例如通过平台来促进从多个广告网络购买或销售在线广告库存。“广告网络”是指来自发布商的广告空间供应的聚合,例如用于全体供应给广告商。对于像这样的门户网站,广告可以至少部分地基于一个或多个搜索项来在产生自用户定义的搜索的网页上或应用中显示。如果所显示的广告与一个或多个用户的兴趣相关,则广告可能对用户、广告商或门户网站有益。因此,已经开发了各种技术来推断用户兴趣、用户意图或随后将相关广告定向到用户。呈现目标广告的一种方法包括采用人口统计特性(例如,年龄、收入、性别、职业等)来例如按组预测用户行为。可以至少部分地基于所预测的(一个或多个)用户行为来向目标观众中的用户呈现广告。
另一方法包括简档类型(profile-type)广告定向。在该方法中,可以生成特定于用户的用户简档以模拟用户行为,例如,通过跟踪用户通过web站点或多个网络站点的路径,并至少部分地基于最终递送的页面或广告来编译简档。例如,可以识别例如针对用户购买的相关性。所识别出的相关性可以用于通过将内容或广告定向到特定用户来定向潜在购买者。在呈现广告期间,呈现系统可以收集关于被呈现给用户的广告的类型的描述性内容。可以收集广泛的描述性内容,包括特定于广告呈现系统的内容。所收集的广告分析可以被发送到远离广告呈现系统的位置以进行存储或用于进一步评估。在广告分析发送不能立即进行的情况下,所收集的广告分析可以由广告呈现系统存储,直到那些广告分析的发送变为能够进行。
在一些实施例中,用户能够访问由服务器106、108和/或130提供的服务。在非限制性示例中这可以包括使用它们的各种设备101-104通过网络105访问认证服务器、搜索服务器、电子邮件服务器、社交网络服务服务器、SMS服务器、IM服务器、MMS服务器、交换服务器、照片共享服务服务器和旅行服务服务器。在一些实施例中,诸如流视频应用(例如,AmazonHBO等)、博客、照片或社交网络应用(例如,等)、搜索应用(例如,搜索)等之类的应用可以由应用服务器108(或内容服务器106等)托管。
因此,应用服务器108例如可以存储各种类型的应用和应用相关信息,包括应用数据和用户简档信息(例如,与用户相关联的标识和行为信息)。还应理解,内容服务器106还可以存储与内容服务器106在相关联的内容数据库107中提供的内容和服务有关的各种类型的数据,如下面更详细地讨论的。存在这样的实施例,其中,网络105还与可信搜索服务器(TSS)相耦合/连接,该可信搜索服务器(TSS)可用于根据本文所讨论的实施例来呈现内容。存在这样的实施例,其中,TSS功能可以被体现在服务器106、108和/或130内。
此外,尽管图1将服务器106、108和130分别示出为单个计算设备,但本公开不限于此。例如,服务器106、108和/或130的一个或多个功能可以分布在一个或多个不同的计算设备上。此外,在一个实施例中,服务器106、108和/或130可以被集成到单个计算设备中,而不脱离本公开的范围。
图2是示出客户端设备的示意图,该客户端设备示出了可以在本公开内使用的客户端设备的示例实施例。客户端设备200可以包括比图2中所示的组件更多或更少的组件。然而,所示出的组件足以公开用于实现本公开的说明性实施例。客户端设备200可以表示例如上面关于图1所讨论的客户端设备。
如图所示,客户端设备200包括经由总线224与大容量存储器230进行通信的处理单元(CPU)222。客户端设备200还包括电源226、一个或多个网络接口250、音频接口252、显示器254、键盘256、照明器258、输入/输出接口260、触觉接口262、可选全球定位系统(GPS)接收器264以及(一个或多个)相机或者其他光学、热或电磁传感器266。如本领域技术人员所理解的,设备200可以包括一个相机/传感器266、或多个相机/传感器266。(一个或多个)相机/(一个或多个)传感器266在设备200上的定位可以根据设备200型号、每设备200能力等或其某种组合而改变。电源226向客户端设备200提供电力。
客户端设备200可选地可以与基站(未示出)进行通信,或者直接与另一计算设备进行通信。网络接口250有时被称为收发器、收发设备或网络接口卡(NIC)。
音频接口252被布置为产生和接收音频信号,例如人声的声音。例如,音频接口252可以耦合到扬声器和麦克风(未示出)以实现与其他组件的通讯和/或生成对于某一动作的音频确认。显示器254可以是液晶显示器(LCD)、气体等离子体、发光二极管(LED)或与计算设备一起使用的任何其他类型的显示器。显示器254还可以包括触敏屏幕,该触敏屏幕被布置为接收来自诸如手写笔或来自人手的手指之类的对象的输入。
键盘256可以包括被布置为从用户接收输入的任何输入设备。照明器258可以提供状态指示和/或提供光。
客户端设备200还包括用于与外部进行通信的输入/输出接口260。输入/输出接口260可以利用一种或多种通信技术,例如USB、红外、蓝牙TM等。触觉接口262被布置为向客户端设备的用户提供触觉反馈。
可选GPS收发器264可以确定客户端设备200在地球表面上的物理坐标,其通常将位置输出为纬度和经度值。GPS收发器264还可以采用其他地理定位机制,包括但不限于三角测量、辅助GPS(AGPS)、E-OTD、CI、SAI、ETA、BSS等,以进一步确定客户端设备200在地球表面上的物理位置。然而,在一个实施例中,客户端设备可以通过其他组件提供可用于确定设备的物理位置的其他信息,包括例如MAC地址、互联网协议(IP)地址等。
大容量存储器230包括RAM 232、ROM 234和其他存储装置。大容量存储器230示出了用于存储诸如计算机可读指令、数据结构、程序模块或其他数据之类的信息的计算机存储介质的另一示例。大容量存储器230存储用于控制客户端设备200的低级操作的基本输入/输出系统(“BIOS”)240。大容量存储器还存储用于控制客户端设备200的操作的操作系统241。
存储器230还包括客户端设备200用来存储应用242和/或其他信息或数据等的一个或多个数据存储库。例如,可以采用数据存储库来存储描述客户端设备200的各种能力的信息。然后可以基于各种事件中的任何事件将信息提供给另一设备,包括在通信期间作为报头(例如,HLS流的索引文件)的一部分进行发送、根据要求进行发送等。至少一部分能力信息也可以被存储在客户端设备200内的磁盘驱动器或其他存储介质(未示出)上。
应用242可以包括计算机可执行指令,当由客户端设备200执行时,发送、接收和/或以其他方式处理音频、视频、图像,并且实现与服务器和/或另一客户端设备的另一用户的通信。应用242还可以包括搜索客户端245,其被配置为发送、接收和/或以其他方式处理搜索查询和/或搜索结果。
已经描述了在所公开的系统和方法内采用的一般架构的组件,现在将参考图3-图6来描述关于所公开的系统和方法的组件的一般操作。
图3是示出用于执行本文讨论的系统和方法的组件的框图。图3包括视频注释引擎300、网络315和数据库320。视频注释引擎300可以是专用机器或处理器,并且可以由应用服务器、内容服务器、社交网络服务器、网络服务器、搜索服务器、内容提供商、第三方服务器、用户的计算设备等、或其任何组合托管。
根据一些实施例,视频注释引擎300可以被体现为在用户设备上执行的独立应用。在一些实施例中,视频注释引擎300可以用作安装在用户的设备上的应用,并且在一些实施例中,这样的应用可以是用户设备通过网络访问的基于web的应用。在一些实施例中,视频注释引擎300可以作为增强脚本、程序或应用(例如,插件或扩展)而被安装到另一媒体内容托管/服务应用(例如,Yahoo!Yahoo!视频,视频、视频、You视频等)。
数据库320可以是任意类型的数据库或存储器,并且可以与网络上的内容服务器(例如,内容服务器、搜索服务器、或应用服务器)或用户的设备(例如,来自图1-2的设备101-104或设备200)相关联。数据库320包括与和用户、服务、应用、内容(例如,视频)等相关的本地和/或网络信息相关联的数据和元数据的数据集。这些信息可以被独立地和/或作为链接或关联的数据集而被存储和索引在数据库320中。如上所述,应理解,数据库320中的数据(和元数据)可以是任意类型的信息和类型,无论是已知的还是将要知道的,而不脱离本公开的范围。
根据一些实施例,数据库320可以存储用户的数据,例如,用户数据。根据一些实施例,所存储的用户数据可以包括但不限于与用户的简档、用户兴趣、用户行为信息、用户属性、用户偏好或设置、用户人口统计信息、用户位置信息、用户传记信息等、或其某种组合相关联的信息。在一些实施例中,为了创建、增强、修改、流式传输、推荐、渲染和/或传递视频的目的,用户数据还可以包括用户设备信息,包括但不限于设备标识信息、设备能力信息、语音/数据载体信息、互联网协议(IP)地址、所安装的或能够在此类设备上安装或执行的应用、和/或其任何或某种组合。应理解,数据库320中的数据(和元数据)可以是与用户、内容、设备、应用、服务提供商、内容提供商有关的任何类型的信息,无论是已知的还是将已知的,而不脱离本公开的范围。
根据一些实施例,数据库320可以存储与来自各种媒体和/或服务提供商和/或平台的视频内容相关联的数据和元数据。例如,信息可以与以下各项相关,包括但不限于视频的内容类型、与视频相关联的类别、与视频的像素和帧相关联的信息、与视频提供商相关联的信息、与视频中描绘的活动相关联的信息、以及与视频文件相关联的任意其他类型的已知或将要知道的属性或特征、或其某些组合。此外,数据库320中的每个视频的视频信息可以包括但不限于属性,包括但不限于视频的流行度、视频的质量、视频的新近度(视频何时被发布、共享、编辑等)。这些因素可以从用户、服务提供商(即,)、提供视频内容的内容/服务提供商(例如,ABCYou)、或其他第三方服务(例如,rottentomatoes.com、IMDBTM 等)、或其某些组合提供的信息被导出。
根据一些实施例,在这类视频信息被接收或分析时,其可以作为针对每个视频和/或视频的帧的n维向量(或特征向量)表示被存储在数据库320中,其中,与视频相关联的信息可以被翻译为n维向量上的节点。在一些实施例中,在视频内的数字对象被识别、检测和/或跟踪时,与其对应的信息也可以以类似的方式被存储在数据库320中。数据库320可以将视频信息作为链接的视频数据和元数据的集合来在数据库320中存储和索引,其中,数据和元数据关系可以存储为n维向量。这种存储可以通过任何已知的或将要知道的向量或阵列存储来实现,包括但不限于散列树、队列、堆栈、VList、或任意其他类型的已知或将要知道的动态存储器分配技术或工艺。虽然上面的存储讨论涉及对视频和与其相关联的视频信息的向量分析,但是可以根据任何已知的或将要知道的计算分析技术或算法来分析、存储和索引所存储的视频信息,例如但不限于聚类分析、数据挖掘、贝叶斯网络分析、隐马尔可夫模型、人工神经网络分析、逻辑模型和/或树分析等。
为了本公开的目的,如上所述,在一些实施例中讨论了作为整体的视频(其被存储并位于数据库320中);然而,不应将其解释为限制本文讨论的系统和方法的应用。也就是说,虽然在整个本公开内容中参考视频(例如,流式传输视频、可下载视频、或点播视频),但是其他形式的用户生成的内容和相关联信息(包括例如,文本、音频、图像、多媒体、RSS反馈信息)可以在不脱离本申请的范围的情况下被使用,其可以由视频注释引擎300根据本文讨论的系统和方法来传送和/或访问和处理。
如上所述,参考图1,网络315可以是任何类型的网络,例如但不限于无线网络、局域网(LAN)、广域网(WAN)、互联网或其组合。网络315促进视频注释引擎300和存储资源的数据库320的连接。实际上,如图3所示,视频注释引擎300和数据库320可以通过任何已知的或将已知的连接和/或实现这些设备和资源之间的通信的方法来直接连接。
包括根据本文的专用功能所编程的硬件的主处理器、服务器或设备的组合为了方便起见而被称为视频注释引擎300,并且包括内容模块302、表面模块304、广告模块306、以及增强模块308。应理解,本文所讨论的(一个或多个)引擎和模块是非穷举的,因为额外的或更少的引擎和/或模块(或子模块)可以适用于所讨论的系统和方法的实施例。下面将讨论每个模块的操作、配置和功能以及它们在本公开的实施例中的作用。
转向图4,示出了视频修改框架的整体数据流。图4(和图5,如下所述)所描绘的数据流提供了以下实施例,其中内容所有者(CO)提供的视频被标识用于用广告进行修改,其中这种修改发生在由视频的内容描绘的平面表面上的像素级别处。
如图4所示,CO(项目402)创建、上传、共享、或以其他方式提供视频404。在一些实施例中,视频404可以由CO 402根据另一用户(例如,搜索和/或专门请求视频的其他用户)的请求而被提供,或通过CO将视频上传到平台(例如,将视频上传到 等)而被提供,其他用户可以通过该平台进行查看、编辑和/或与另一用户组共享。
在使得视频404通过网络可用之前或在其过程期间,CO 402可以提供表面约束406。这类表面约束406是管理视频404可以如何被修改的一组偏好、规则和/或定义。根据本申请的实施例,约束406安全地规定针对视频404的内容内描绘的特定标识的一组表面的写访问权。例如,如果视频描绘了汽车的内部,则CO可以设置以下约束,该约束限制、允许或拒绝访问是否以及哪些类型的附加数字内容(例如,如下所述的广告)可以被插入到视频中以用于在汽车仪表板上显示。
根据一些实施例,CO提供的约束406可以以JSON格式的文本文件的形式被提供为约束列表。在一些实施例中,定义的约束可以以XML格式被提供。如上所述,这些约束定义哪些表面是(由CO)预审合格的,以用于通过第三方内容进行增强。
一组非限制性示例约束(针对视频内的所有表面或特定表面,该约束可以被设置为单独约束或彼此进行组合)可以包括但不限于:场景类型(例如,工作室、比赛、人群、户外等)、方向(例如,水平与垂直)、尺寸、形状、纹理(例如,平滑、图案、随机)、颜色、每帧的像素计数、对齐(例如,水平与垂直)、表面大小(例如,最小与最大)、每帧的表面的最小或最大数量、帧内的位置、视频内的位置(例如,视频持续时间内的时间)、(一个或多个)帧内描绘的内容的类型(例如,所描绘的内容是人、还是地点、还是与其他专有内容相关联)等。
例如,示例约束可以定义如下:
继续图4的数据流,视频404然后由表面检测器408处理,表面检测器408执行任意类型的已知或将要知道的表面检测算法、技术或机制。如本文所讨论的,根据一些实施例,表面检测器408解析并分析视频,并且检测在视频的内容内描绘的一组表面。在一些实施例中,表面检测器408识别视频内的所有表面,并且在一些实施例中,表面检测器408检测满足最小阈值的多个表面,该最小阈值可以基于视频的类似于上面讨论的约束的特征或属性。在一些实施例中,检测器408可以检测每个帧,并且将它们编译成针对整个视频的清单;并且在一些实施例中,清单可以特定于视频内的(一个或多个)单独场景。
图5中示出了由表面检测器408执行的视频处理的数据流的实施例。如图5所示,视频404被解析成单独的帧组502,其可以包括单独的帧(具有尺寸m×n)或特定于一个或多个场景的多个帧(每个帧具有尺寸m×n)。然后,每个帧组502由执行的神经网络(例如,卷积神经网络(CNN))算法、技术或机制处理,该神经网络算法、技术或机制确定、检测或以其他方式识别其中描绘的每个表面。
在一些实施例中,这涉及将CNN模型应用于视频的每个帧(或在一些实施例中,应用于视频内的每个场景的关键帧),这使得解析和识别(在一些实施例中,提取)出视频的帧的帧数据。然后,在帧数据被识别出时,检测器408可以在这些输入上执行对象检测器和/或光流建模,其涉及任意已知或将要知道的视觉识别模型,包括例如可变形部件模型(Deformable Parts Model)、单次检测器(Single Shot Detector,SSD)、您只看一次(YouOnly Look Once,YOLO)检测器等。该处理跨越帧组(和/或在场景内或跨越场景)跟踪检测到的表面,并且产生所有检测到的表面的清单。
如上所述,清单可以是视频内的每个视频或每个场景。清单包括根据帧数据的法线映射(例如,m×n矩阵,其中每个元素是相应位置处的像素的表面法线)、帧数据的深度映射(m×n矩阵,其中每个元素是从相机到帧中的像素的深度(例如,以米为单位))、和/或帧数据的语义映射(例如,定义每个帧内的元素的尺寸的m×n矩阵))来识别表面及其属性的信息。这类映射可以产生用于指示但不限于时间戳、帧号、表面坐标、尺寸、深度、表面法线(例如,在帧中的特定像素处正交于表面的法线(例如,长度为1)向量)、其出现的场景(例如,工作室、比赛、户外等)、颜色、纹理等(类似于CO约束406)的信息。
在一些实施例中,帧组502还可以由生成器506进行图像分割(称为“超像素生成”)。根据一些实施例,生成器可以执行计算机视觉算法、技术或机制,其将每个帧502的数字图像划分成为多个片段,由此识别出超像素(例如,具有(在阈值边界/范围内的)相似属性的连续像素组),例如,检测到位置、轮廓、边界(例如,线条、曲线等)、边缘(通过边缘检测方法)、颜色(例如,RGB属性)、强度、表面的纹理等。
继续图5的数据流,表面检测器408接收来自神经网络504的映射和来自生成器506的超像素,并且生成表面“种子”408a。“种子”是帧502中的像素,检测器408可以根据该像素来确定/识别表面。根据一些实施例,如本文所讨论的,替代执行针对帧组内的平面的考虑每个像素的“密集”搜索(传统系统执行该“密集”搜索,导致低效处理时间和过度使用计算资源),所公开的处理证明了通过利用“种子”像素(从该种子像素可以导出/确定平面(这称为“生长”,从与单个像素/超像素相关联的数据生长表面/平面))来减少处理开支和成本,如本文所讨论的。
在识别出表面的“种子”之后,检测器408然后利用法线映射将它们“生长”成检测到的平面表面,如上所述。也就是说,(来自神经网络映射504)每个“种子”像素具有(来自生成器506的分割的)相应超像素。因此,步骤408b通过由生成器506识别的尽可能多的其他超像素(至少根据阈值超像素计数)来“生长”种子超像素,从而识别单个平面表面。根据本公开的实施例,通过检测器408计算种子超像素的平均表面法线,然后在种子超像素的相邻超像素的平均表面法线被定向在预定值的范围内的相同方向(表示超像素中的区域与正在生长的平面共面)上时递归地添加相邻超像素,来执行超像素的这类“增长”。
在一些实施例中,可以应用时间平滑算法、技术或机制,以确保“生长的”表面满足阈值质量水平。例如,可以丢弃在视频内(例如,在多个连续帧内)检测到的阈值次数以下的表面。在另一非限制性示例中,识别“无法检测的孤立岛”(其中在帧内未检测到表面,即使确定数量的周围帧具有在其中检测到具有类似质量的表面),在这样的示例中,该帧和/或周围帧可以被丢弃,从而忽略与其相关联的表面。
在执行这类“生长”时,对平面表面进行评分和进行合格化评价408c。也就是说,根据(从504和/或506识别的)属性对(在408b中)识别的n个平面表面中的每个平面表面进行评分。因此,生成经评分且合格的平面表面的列表,即项410,如图4和图5所示。如上所述,CO提供了一列表/组约束。因此,通过过滤掉不满足由CO设定的要求的平面表面来合格化经评分的平面表面,使得仅满足约束(至少达到定义的阈值水平)的那些表面被产生作为列表410。在一些实施例中,合格表面的最大数量N被设置用于合格化,如果存在多于N,则丢弃与CO约束具有较小相似性的那些合格表面。
继续图4的数据流,现在具有合格表面(即,检测到的视频内满足CO提供的约束的表面)的列表(称为清单),数据流转向视频的修改。根据一些实施例,修改可以在传送到客户端设备用于渲染之前在服务器侧发生,或可以在客户端侧发生,其中视频和增强内容在通信内一起被发送,使得视频在其渲染之前或在其渲染期间被修改,使得视频在被标识为要增强的表面被渲染时(例如,在播放器正在读取场景的关键帧时)被修改。
发生的视频增强412涉及第三方(例如,如本文所述的广告商,但并不限于此,任意其他实体或各方可以将其生成的内容提供用于增强)定位或竞标将其提供的内容添加至视频中的机会。在定位视频内广告位的过程中,广告商可以指定针对潜在合格表面的各种约束。广告商可以指定一般定位标准,例如,特定内容所有者、上下文、场景类型、大小、视频中的表面的方向和持续时间等、或它们的一些组合。此外,广告商还可以指定表面应该具有什么颜色和纹理以便评价表面是否合格、以及指定是否可以在他们的广告旁边显示附加广告等、或它们的一些组合。
清单中标识的表面(作为来自表面合格化410的输出)是否满足广告商提供的约束的合格化评价是以与上面关于确定所识别出的表面是否满足CO约束所讨论的类似方式执行的。根据一些实施例,一旦检测到特定于广告商约束的合格表面,则表面检测框架将广告商的广告位连同描述每个视频内表面的特征一起发送给广告服务器414以进行广告匹配。以与上面关于CO合格化所讨论的表面合格化410类似的方式,广告服务器414匹配定位视频内表面(例如,包括与视频的上下文、其中描绘的表面的上下文、和/或用户等相对应的内容的广告)并且满足广告商的约束的广告。在一些实施例中,一旦创建了匹配广告的列表,则广告服务器可以运行竞拍(auction)以选择插入到视频404中的获胜广告。
在图4的数据流的结束处,广告服务器414将合格广告或广告标签返回到表面检测框架,由此,在一些实施例中,验证过程可被执行以验证返回的广告是否符合CO提供的约束(如上所述)。例如,如果广告不合格,则框架可以再次调用广告服务器414,否则使用计算机视觉技术(例如但不限于单应性和光流技术)将广告集成到视频中的匹配表面(项416)。
转到图6,过程600进一步讨论了上面关于图4-5示出和讨论的数据流所讨论的步骤。过程600详细描述了根据本公开的一些实施例执行的步骤,用于根据由CO和广告商设置和/或施加的约束/标准利用广告商提供的数字内容项来修改CO提供的视频文件。
过程600的步骤602-604由视频注释引擎300的内容模块302执行;步骤606-608由表面模块306执行;步骤610-614由广告模块306执行;步骤616-618由增强模块308执行。
过程600开始于步骤602,其中接收由CO提供的视频文件以用于处理。如上所述,这种处理可以响应于来自另一用户或来自CO的关于经由媒体播放器、在网页上、或在应用界面上渲染、共享或以其他方式与视频交互的请求。在步骤604中,在接收/标识了视频时,接收/标识CO约束,该CO约束定义CO允许和/或拒绝访问哪些表面(以及表面的属性)以用于包括第三方内容。如上所述,这些约束包括指示例如哪些类型的内容可以被包括在视频中的信息、来自哪些提供商的信息、以及进一步提供指定视频内可标识的特定类型的表面的属性的信息。
在步骤606中,分析视频并且识别表面的候选列表。如上所述,候选列表可以包括视频中检测到的所有表面的集合、其一部分、或视频的每个场景的表面的集合。
在步骤608中,将在步骤606中识别出的表面的候选列表与在步骤604中标识的CO约束进行比较,并且确定满足CO约束的表面的子集。如上面关于图4和图5所讨论的,被标识为与CO约束一致的表面被编译为用于视频和/或视频场景(这些表面是从此视频和/或视频场景识别出的)的清单。清单被认为是一组合格表面,如上面关于图4-5所讨论的。
在步骤610中,接收来自(一个或多个)广告商的一组约束。广告商约束与广告商希望或允许在视频内添加广告的表面的类型相关,并且以与上面讨论的CO约束类似的方式,它们可以指定视频的特定属性/特征、CO、其中描绘的场景和/或表面。
在步骤612中,将(从步骤608确定的)清单与(在步骤610中接收到的)广告商约束进行比较,并且基于该比较,识别出满足广告商约束的表面的子集。如上面关于图4所讨论的,被标识为与广告商约束一致的表面构成在步骤612中识别出的子集。
在步骤614中,识别定位并且满足表面的子集的(一个或多个)数字广告。根据一些实施例,数字广告的识别应当被理解为包括但不限于提供由另一用户、服务、第三方、实体等所提供的信息的数字媒体内容。这样的数字广告内容可以包括可由计算设备呈现的任何类型的已知或将要知道的媒体,包括但不限于视频、文本、音频、图像和/或任何其他类型的已知或将要知道的多媒体。因此,虽然内容被称为广告(或替代地被称为通告),但它仍是可由计算设备渲染的数字媒体项,并且这种数字媒体项包括中继由网络关联第三方提供的促销内容的数字内容。
步骤614涉及分析视频/视频的场景并且确定上下文,该上下文可以基于以下信息,包括但不限于:CO;请求用户;围绕视频的请求和/或通信的社交、时间、空间和/或主题数据;和/或视频的属性等;或其一些组合。上下文用作选择特定形式的广告内容的定位标准。因此,根据一些实施例,广告服务器可以执行(例如,使得根据从运行视频注释引擎300的设备接收到的指令来执行)在相关联的内容数据库(例如,来自图1的数据库107)对相关数字内容的搜索,其中对内容的搜索是至少基于所确定的上下文的。
步骤614还涉及确保所确定的内容遵守(来自步骤608的清单的)所确定的表面的定义和约束以及广告商约束。因此,所确定的广告的属性、定义和/或内容被确保符合广告商和CO约束,使得所有涉及的实体允许添加到视频的内容。在一些实施例中,可以修改广告内容项以符合与表面、(一个或多个)帧、页面等(内容项将在其上被显示)相关联的约束、和/或将要进行显示的应用和/或设备的属性或能力。
在步骤616中,基于所识别出的数字广告来修改视频。如上面关于图4所讨论的,利用数字广告增强视频,使得原始视频被修改为包括数字广告内容。在一些实施例中,修改可以包括添加引用(例如,指针)、或(引用、标识或以其他方式获取数字广告并且将数字广告插入到视频数据/内容中的)其他数据对象。因此,在渲染视频时,广告被显示在(在步骤614中)选择的平面表面上。因此,在步骤618中,根据在步骤616中发生的增强来渲染经增强的视频。
为了本公开的目的,模块是(在有或没有人类交互或增强的情况下)执行或促进本文描述的过程、特征和/或功能的软件、硬件或固件(或其组合)系统、过程或功能、或其组件。模块可以包括子模块。模块的软件组件可以被存储在计算机可读介质上以供处理器执行。模块可以被集成到一个或多个服务器,或者由一个或多个服务器加载和执行。可以将一个或多个模块分组为引擎或应用。
为了本公开的目的,术语“用户”、“订户”、“消费者”或“客户”应当被理解为指代如本文所述的一个或多个应用的用户和/或由数据提供商提供的数据的消费者。通过示例而非限制的方式,术语“用户”或“订户”可以指代在浏览器会话中通过互联网接收由数据或服务提供商提供的数据的人,或者可以指代接收数据并存储或处理数据的自动化软件应用。
本领域技术人员将认识到,本公开的方法和系统可以以许多方式实现,并且因此不受前述示例性实施例和示例的限制。换句话说,由单个或多个组件、在硬件和软件或固件的各种组合中、以及各个功能执行的功能元件可以在客户端等级或服务器等级或两者分布在软件应用中。在这方面,任何数目的本文描述的不同实施例的特征可以被组合成单个或多个实施例,并且具有少于或多于本文描述的所有特征的替代实施例是可能的。
功能也可以以现在已知的或变为已知的方式全部地或部分地分布在多个组件中。因此,无数的软件/硬件/固件组合可以实现本文描述的功能、特征、接口和偏好。此外,本公开的范围涵盖用于执行所描述的特征和功能和接口的传统的已知方式,以及可以对本文描述的硬件或软件或固件组件做出的那些变化和修改,如本领域技术人员现在以及将来所理解的。
此外,通过示例的方式提供了在本公开中被呈现和描述为流程图的方法的实施例,以便提供对本技术的更完整的理解。所公开的方法不限于本文呈现的操作和逻辑流程。预期到替代实施例,其中,改变了各种操作的顺序,并且其中,被描述为作为较大操作的一部分的子操作被独立执行。
尽管已经出于本公开的目的描述了各种实施例,但是不应认为这些实施例将本公开的教导限制于那些实施例。可以对上述元件和操作进行各种改变和修改,以获得保持在本公开中描述的系统和过程的范围内的结果。

Claims (20)

1.一种用于视频内修改的方法,包括以下步骤:
由计算设备接收由第一用户提供的视频,该视频包括具有由所述第一用户设置的第一组约束的内容,所述第一组约束定义对所述内容的一部分的写访问权,所述第一组约束包括控制可写入所述内容的所述一部分的内容的类型以及识别所述内容的所述一部分内的哪些表面可被写入的定义,所述第一组约束还包括指示可被写入的每帧的表面的最大数量的信息;
通过所述计算设备分析所述视频,并且基于所述分析来识别所述视频的内容内描绘的第一组表面;
通过所述计算设备比较所识别的第一组表面和所述第一组约束,并且基于所述比较来确定表面的清单,所述清单内标识的每个表面具有与所述第一组约束相符合的属性,所述清单具有的数量等于或低于所述表面的最大数量;
通过所述计算设备接收来自第二用户的第二组约束,所述第二组约束包括用于将第二用户提供的数字内容添加至视频的表面的定义,来自所述第二组约束的定义包括指示为了添加所述第二用户提供的数字内容而表面必须具有的表面特性的类型和为了添加所述第二用户提供的数字内容而所述视频内容的一部分必须显示的场景的类型;
通过所述计算设备基于所述第二组约束来识别所述清单的子集,所述子集包括具有与所述第二组约束的定义相符合的属性的表面;
通过所述计算设备识别满足所述清单的子集的数字内容项,所述数字内容项包括与所述子集内的具有由所述第二组约束的定义所定义的表面特性的表面相符合的属性;
通过所述计算设备通过将所述数字内容项插入所述视频中与所述表面相关联的内容来修改所述视频;以及
通过所述计算设备传送经修改的视频以用于渲染,所述传送使得所述经修改的视频被渲染,使得所述数字内容项与所述表面相关联地被显示。
2.根据权利要求1所述的方法,其中,对所述第一组表面的所述识别包括:
解析所述视频,并且基于所述解析来识别与所述视频的场景相对应的一组帧;
在所识别出的一组帧上执行神经网络软件,并且基于神经网络运行来识别所述场景的法线映射和深度映射;以及
在所识别出的一组帧上执行计算机视觉软件,并且基于计算机视觉运行来识别所述场景的一组超像素。
3.根据权利要求2所述的方法,还包括:
基于所述法线映射和所述深度映射和所述一组超像素来识别种子像素;
确定所述种子像素的方向;
识别所述场景内的所述种子像素周围的一组相邻超像素,所述识别包括确定所述一组相邻超像素中每个相邻超像素的方向;
计算所述种子像素的平均表面法线;
计算所述相邻超像素的平均表面法线;以及
在相邻超像素的平均表面法线与所述种子像素朝向相同的方向上时,递归地添加所述相邻超像素。
4.根据权利要求3所述的方法,其中,所述清单内标识的表面是基于所述种子像素的平均表面法线的计算和所述相邻超像素的平均表面法线的计算的。
5.根据权利要求1所述的方法,还包括:
分析所述视频,并且根据所述分析来确定所述视频的上下文;
基于所述上下文来搜索与所述第二用户相关联的数据库;以及
基于所述搜索来识别所述数字内容项。
6.根据权利要求1所述的方法,其中,所述内容的所述一部分对应于所述视频内的至少一个描绘的表面。
7.根据权利要求1所述的方法,其中,所述第一组约束和所述第二组约束包括与视频的帧组内的描绘的表面相关联的信息,所述信息包括:场景类型、方向、尺寸、形状、纹理、颜色、每帧的像素计数、对齐、表面大小、每帧的表面的最小数量、帧内的位置、视频内的位置、以及帧内描绘的内容的类型。
8.根据权利要求1所述的方法,其中,所述第一用户是所述视频的内容所有者,并且所述第二用户是广告商。
9.一种用计算机可执行指令有形地编码的非暂态计算机可读存储介质,所述计算机可执行指令在由与计算设备相关联的处理器执行时,执行包括以下步骤的方法:
由所述计算设备接收由第一用户提供的视频,该视频包括具有由所述第一用户设置的第一组约束的内容,所述第一组约束定义对所述内容的一部分的写访问权,所述第一组约束包括控制可写入所述内容的所述一部分的内容的类型以及识别所述内容的所述一部分内的哪些表面可被写入的定义,所述第一组约束还包括指示可被写入的每帧的表面的最大数量的信息;
通过所述计算设备分析所述视频,并且基于所述分析来识别所述视频的内容内描绘的第一组表面;
通过所述计算设备比较所识别的第一组表面和所述第一组约束,并且基于所述比较来确定表面的清单,所述清单内标识的每个表面具有与所述第一组约束相符合的属性,所述清单具有的数量等于或低于所述表面的最大数量;
通过所述计算设备接收来自第二用户的第二组约束,所述第二组约束包括用于将第二用户提供的数字内容添加至视频的表面的定义,来自所述第二组约束的定义包括指示为了添加所述第二用户提供的数字内容而表面必须具有的表面特性的类型和为了添加所述第二用户提供的数字内容而所述视频内容的一部分必须显示的场景的类型;
通过所述计算设备基于所述第二组约束来识别所述清单的子集,所述子集包括具有与所述第二组约束的定义相符合的属性的表面;
通过所述计算设备识别满足所述清单的子集的数字内容项,所述数字内容项包括与所述子集内的具有由所述第二组约束的定义所定义的表面相符合的属性;
通过所述计算设备通过将所述数字内容项插入所述视频中与所述表面相关联的内容来修改所述视频;以及
通过所述计算设备传送经修改的视频以用于渲染,所述传送使得所述经修改的视频被渲染,使得所述数字内容项与所述表面相关联地被显示。
10.根据权利要求9所述的非暂态计算机可读存储介质,其中,对所述第一组表面的所述识别包括:
解析所述视频,并且基于所述解析来识别与所述视频的场景相对应的一组帧;
在所识别出的一组帧上执行神经网络软件,并且基于神经网络运行来识别所述场景的法线映射和深度映射;以及
在所识别出的一组帧上执行计算机视觉软件,并且基于计算机视觉运行来识别所述场景的一组超像素。
11.根据权利要求10所述的非暂态计算机可读存储介质,还包括:
基于所述法线映射和所述深度映射和所述一组超像素来识别种子像素,所述识别包括确定所述种子像素的方向;
识别所述场景内的所述种子像素周围的一组相邻超像素;
确定所述一组相邻超像素中每个相邻超像素的方向;
计算所述种子像素的平均表面法线;
计算所述相邻超像素的平均表面法线;和
在相邻超像素的平均表面法线与所述种子像素朝向相同的方向上时,递归地添加所述相邻超像素。
12.根据权利要求11所述的非暂态计算机可读存储介质,其中,所述清单内标识的表面是基于所述种子像素的平均表面法线的计算和所述相邻超像素的平均表面法线的计算的。
13.根据权利要求9所述的非暂态计算机可读存储介质,还包括:
分析所述视频,并且根据所述分析来确定所述视频的上下文;
基于所述上下文来搜索与所述第二用户相关联的数据库;以及
基于所述搜索来识别所述数字内容项。
14.根据权利要求9所述的非暂态计算机可读存储介质,其中,所述内容的所述一部分对应于所述视频内的至少一个描绘的表面。
15.根据权利要求9所述的非暂态计算机可读存储介质,其中,所述第一组约束和所述第二组约束包括与视频的帧组内的描绘的表面相关联的信息,所述信息包括:场景类型、方向、尺寸、形状、纹理、颜色、每帧的像素计数、对齐、表面大小、每帧的表面的最小数量、帧内的位置、视频内的位置、以及帧内描绘的内容的类型。
16.根据权利要求9所述的非暂态计算机可读存储介质,其中,所述第一用户是所述视频的内容所有者,并且所述第二用户是广告商。
17.一种计算设备,包括:
处理器;以及
一种非暂态计算机可读存储介质,用于在其上有形地存储用于由所述处理器执行的程序逻辑,所述程序逻辑包括:
由所述处理器执行的用于由所述计算设备接收由第一用户提供的视频的逻辑,视频文件包括具有由所述第一用户设置的第一组约束的内容,所述第一组约束定义对所述内容的一部分的写访问权,所述第一组约束包括控制可写入所述内容的所述一部分的内容的类型以及识别所述内容的所述一部分内的哪些表面可被写入的定义,所述第一组约束还包括指示可被写入的每帧的表面的最大数量的信息;
由所述处理器执行的用于通过所述计算设备分析所述视频并且基于所述分析来识别所述视频的内容内描绘的第一组表面的逻辑;
由所述处理器执行的用于通过所述计算设备比较所识别的第一组表面和所述第一组约束并且基于所述比较来确定表面的清单的逻辑,所述清单内标识的每个表面具有与所述第一组约束相符合的属性,所述清单具有的数量等于或低于所述表面的最大数量;
由所述处理器执行的用于通过所述计算设备接收来自第二用户的第二组约束的逻辑,所述第二组约束包括用于将第二用户提供的数字内容添加至视频的表面的定义,来自所述第二组约束的定义包括指示为了添加所述第二用户提供的数字内容而表面必须具有的表面特性的类型和为了添加所述第二用户提供的数字内容而所述视频内容的一部分必须显示的场景的类型;
由所述处理器执行的用于通过所述计算设备基于所述第二组约束来识别所述清单的子集的逻辑,所述子集包括具有与所述第二组约束的定义相符合的属性的表面;
由所述处理器执行的用于通过所述计算设备识别满足所述清单的子集的数字内容项的逻辑,所述数字内容项包括所述子集内的具有与由所述第二组约束的定义所定义的表面特性的表面相符合的属性;
由所述处理器执行的用于通过所述计算设备通过将所述数字内容项插入所述视频中与所述表面相关联的内容来修改所述视频的逻辑;以及
由所述处理器执行的用于通过所述计算设备传送经修改的视频以用于渲染的逻辑,所述传送使得所述经修改的视频被渲染,使得所述数字内容项与所述表面相关联地被显示。
18.根据权利要求17所述的计算设备,其中,对所述第一组表面的所述识别包括:
由所述处理器执行的用于解析所述视频并且基于所述解析来识别与所述视频的场景相对应的一组帧的逻辑;
由所述处理器执行的用于在所识别出的一组帧上执行神经网络软件并且基于神经网络执行来识别所述场景的法线映射和深度映射的逻辑;以及
由所述处理器执行的用于在所识别出的一组帧上执行计算机视觉软件并且基于计算机视觉执行来识别所述场景的一组超像素的逻辑。
19.根据权利要求18所述的计算设备,所述程序逻辑还包括:
由所述处理器执行的用于基于所述法线映射和所述深度映射和所述一组超像素来识别种子像素的逻辑;
由所述处理器执行的用于确定所述种子像素的方向的逻辑;
由所述处理器执行的用于识别所述场景内的所述种子像素周围的一组相邻超像素的逻辑,所述识别包括确定所述一组相邻超像素中每个相邻超像素的方向;
由所述处理器执行的用于计算所述种子像素的平均表面法线的逻辑;
由所述处理器执行的用于计算所述相邻超像素的平均表面法线的逻辑;以及
由所述处理器执行的用于在相邻超像素的平均表面法线与所述种子像素朝向相同的方向上时递归地添加所述相邻超像素的逻辑。
20.根据权利要求19所述的计算设备,其中,所述清单内标识的表面是基于所述种子像素的平均表面法线的计算和所述相邻超像素的平均表面法线的计算的。
CN201910174671.2A 2018-04-30 2019-03-08 用于视频内修改的计算机化系统和方法 Active CN110415009B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US15/967,354 US11341744B2 (en) 2018-04-30 2018-04-30 Computerized system and method for in-video modification
US15/967,354 2018-04-30

Publications (2)

Publication Number Publication Date
CN110415009A CN110415009A (zh) 2019-11-05
CN110415009B true CN110415009B (zh) 2023-04-25

Family

ID=66286044

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910174671.2A Active CN110415009B (zh) 2018-04-30 2019-03-08 用于视频内修改的计算机化系统和方法

Country Status (4)

Country Link
US (3) US11341744B2 (zh)
EP (1) EP3565258A1 (zh)
CN (1) CN110415009B (zh)
TW (1) TWI748158B (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10750212B2 (en) 2018-09-17 2020-08-18 Mobitv, Inc. Dynamic digital object placement in video stream
US20210144449A1 (en) * 2019-11-11 2021-05-13 José Antonio CRUZ MOYA Video processing and modification
WO2022178387A1 (en) * 2021-02-22 2022-08-25 Stats Llc Interactive video system for sports media
US12022138B2 (en) * 2021-06-21 2024-06-25 Tubi, Inc. Model serving for advanced frequency management
US20230142904A1 (en) * 2021-11-09 2023-05-11 Honda Motor Co., Ltd. Creation of notes for items of interest mentioned in audio content

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102473269A (zh) * 2009-08-05 2012-05-23 爱立信电视公司 支持视频服务提供商环境中的用户生成广告事务的系统和方法
CN104735465A (zh) * 2015-03-31 2015-06-24 北京奇艺世纪科技有限公司 在视频画面中植入平面图案广告的方法及装置
CN107798702A (zh) * 2016-08-30 2018-03-13 成都理想境界科技有限公司 一种用于增强现实的实时图像叠加方法以及装置

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6505169B1 (en) * 2000-01-26 2003-01-07 At&T Corp. Method for adaptive ad insertion in streaming multimedia content
US7979877B2 (en) * 2003-12-23 2011-07-12 Intellocity Usa Inc. Advertising methods for advertising time slots and embedded objects
US8145528B2 (en) * 2005-05-23 2012-03-27 Open Text S.A. Movie advertising placement optimization based on behavior and content analysis
US20080178211A1 (en) * 2007-01-19 2008-07-24 Lillo Charles G System and method for overlaying an advertisement upon a video
US8281334B2 (en) * 2008-03-31 2012-10-02 Microsoft Corporation Facilitating advertisement placement over video content
US9078048B1 (en) 2008-07-15 2015-07-07 Google Inc. Finding and populating spatial ad surfaces in video
US20110251896A1 (en) * 2010-04-09 2011-10-13 Affine Systems, Inc. Systems and methods for matching an advertisement to a video
CA2851268A1 (en) * 2011-10-06 2013-04-11 Infersystems Corp. Automated allocation of media via network
EP2819417B1 (en) 2013-06-24 2020-03-04 Canon Kabushiki Kaisha Method and device for streaming video from a server based on expected usages
US20150172563A1 (en) * 2013-12-18 2015-06-18 Gabriel Jakobson Incorporating advertising content into a digital video
US20160050465A1 (en) * 2014-08-18 2016-02-18 Groopic, Inc. Dynamically targeted ad augmentation in video
US10306286B2 (en) 2016-06-28 2019-05-28 Adobe Inc. Replacing content of a surface in video

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102473269A (zh) * 2009-08-05 2012-05-23 爱立信电视公司 支持视频服务提供商环境中的用户生成广告事务的系统和方法
CN104735465A (zh) * 2015-03-31 2015-06-24 北京奇艺世纪科技有限公司 在视频画面中植入平面图案广告的方法及装置
CN107798702A (zh) * 2016-08-30 2018-03-13 成都理想境界科技有限公司 一种用于增强现实的实时图像叠加方法以及装置

Also Published As

Publication number Publication date
US20220277562A1 (en) 2022-09-01
TWI748158B (zh) 2021-12-01
CN110415009A (zh) 2019-11-05
US20190332865A1 (en) 2019-10-31
US11620825B2 (en) 2023-04-04
EP3565258A1 (en) 2019-11-06
US11341744B2 (en) 2022-05-24
TW201946439A (zh) 2019-12-01
US20230237800A1 (en) 2023-07-27

Similar Documents

Publication Publication Date Title
US11290775B2 (en) Computerized system and method for automatically detecting and rendering highlights from streaming videos
US12120076B2 (en) Computerized system and method for automatically determining and providing digital content within an electronic communication system
US10565771B2 (en) Automatic video segment selection method and apparatus
US10182030B2 (en) Computerized system and method for automatically creating and communicating media streams of digital content
US10621954B2 (en) Computerized system and method for automatically creating and applying a filter to alter the display of rendered media
CN110415009B (zh) 用于视频内修改的计算机化系统和方法
US10998003B2 (en) Computerized system and method for automatically extracting GIFs from videos
US11194856B2 (en) Computerized system and method for automatically identifying and providing digital content based on physical geographic location data
TWI716798B (zh) 機器於迴路、圖像至視訊之電腦視覺自助抽樣的方法、非暫態電腦可讀取儲存媒介及計算裝置
US20200081896A1 (en) Computerized system and method for high-quality and high-ranking digital content discovery
US11735226B2 (en) Systems and methods for dynamically augmenting videos via in-video insertion on mobile devices
US20230206614A1 (en) Computerized system and method for image creation using generative adversarial networks
US11302048B2 (en) Computerized system and method for automatically generating original memes for insertion into modified messages

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
TA01 Transfer of patent application right

Effective date of registration: 20210331

Address after: New York State, USA

Applicant after: Verizon media

Address before: New York State, USA

Applicant before: Aoshi Co.

TA01 Transfer of patent application right
CB02 Change of applicant information

Address after: New York, United States

Applicant after: Yahoo Advertising Technology Co.,Ltd.

Address before: New York, United States

Applicant before: Verizon media

CB02 Change of applicant information
GR01 Patent grant
GR01 Patent grant