CN111641866A - 媒体流中媒体项目的有效插入 - Google Patents

媒体流中媒体项目的有效插入 Download PDF

Info

Publication number
CN111641866A
CN111641866A CN202010278084.0A CN202010278084A CN111641866A CN 111641866 A CN111641866 A CN 111641866A CN 202010278084 A CN202010278084 A CN 202010278084A CN 111641866 A CN111641866 A CN 111641866A
Authority
CN
China
Prior art keywords
media
media stream
auxiliary
primary
client
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.)
Granted
Application number
CN202010278084.0A
Other languages
English (en)
Other versions
CN111641866B (zh
Inventor
J.M.冈萨雷斯
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 CN111641866A publication Critical patent/CN111641866A/zh
Application granted granted Critical
Publication of CN111641866B publication Critical patent/CN111641866B/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/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/433Content storage operation, e.g. storage operation in response to a pause request, caching operations
    • H04N21/4331Caching operations, e.g. of an advertisement for later insertion during playback
    • 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/262Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists
    • H04N21/26208Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists the scheduling operation being performed under constraints
    • H04N21/26241Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists the scheduling operation being performed under constraints involving the time of distribution, e.g. the best time of the day for inserting an advertisement or airing a children 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/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/26616Channel 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 for merging a unicast channel into a multicast channel, e.g. in a VOD application, when a client served by unicast channel catches up a multicast channel to save bandwidth
    • 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/44016Processing 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 splicing one content stream with another content stream, e.g. for substituting a video clip
    • 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/45Management operations performed by the client for facilitating the reception of or the interaction with the content or administrating data related to the end-user or to the client device itself, e.g. learning user preferences for recommending movies, resolving scheduling conflicts
    • H04N21/458Scheduling content for creating a personalised stream, e.g. by combining a locally stored advertisement with an incoming stream; Updating operations, e.g. for OS modules ; time-related management operations
    • 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/45Management operations performed by the client for facilitating the reception of or the interaction with the content or administrating data related to the end-user or to the client device itself, e.g. learning user preferences for recommending movies, resolving scheduling conflicts
    • H04N21/462Content or additional data management, e.g. creating a master electronic program guide from data received from the Internet and a Head-end, controlling the complexity of a video stream by scaling the resolution or bit-rate based on the client capabilities
    • H04N21/4622Retrieving content or additional data from different sources, e.g. from a broadcast channel and the Internet
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/64Addressing
    • H04N21/6405Multicasting
    • 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/812Monomedia components thereof involving advertisement data
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Databases & Information Systems (AREA)
  • Business, Economics & Management (AREA)
  • Marketing (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

本文档描述了用于确定要插入媒体流中的媒体项目的系统、方法、设备和其他技术。第一媒体客户端可以播放被多播到包括第一媒体客户端和其他媒体客户端的各种媒体客户端的主媒体流。第一媒体客户端识别主媒体流中主节目编排时隙的开始,并且作为响应,获得并存储辅助媒体项目。在第一媒体客户端处存储辅助媒体项目之后,第一媒体客户端检测主媒体流中的插入信号,该插入信号指示辅助节目编排时隙将在主媒体流中开始。然后,第一媒体客户端可以在辅助节目编排时隙期间播放辅助媒体项目来代替主媒体流。

Description

媒体流中媒体项目的有效插入
本申请为申请日为2018年2月20日、申请号为201880024389.X、发明名称为“媒体流中媒体项目的有效插入”的发明专利申请的分案申请。
背景技术
电视广播通常包括来自预定节目编排(programming)的中断,以播放来自电视网络赞助商的商业广告。传统上,将商业广告插入到全国性视频流中(诸如本地商业广告)是在有线电视系统或卫星电视系统的头端进行的。
发明内容
本文描述的主题的一些实施方式包括一种计算机实施的方法。该方法可以包括:由第一媒体客户端播放被多播到包括第一媒体客户端和其他媒体客户端的多个媒体客户端的主媒体流;由第一媒体客户端获得主媒体流中在其处(i)辅助节目编排时隙将中断主媒体流的回放或者(ii)插入信号将出现的预测位置的指示,插入信号指示相应的辅助节目编排时隙将要中断主媒体流的回放;由第一媒体客户端调度用于检索在主媒体流中即将到来的辅助节目编排时隙集合期间要播放的辅助媒体项目集合的检索时间,其中第一媒体客户端基于主媒体流中在其处(i)辅助节目编排时隙将中断主媒体流的回放或者(ii)插入信号将出现的预测位置来调度检索时间,插入信号指示相应的辅助节目编排时隙将要中断主媒体流的回放;由第一媒体客户端根据所调度的检索时间来检索辅助媒体项目集合;以及对于辅助节目编排时隙集合中的每个辅助节目编排时隙,在辅助节目编排时隙期间,从检索到的辅助媒体项目集合中播放相应的辅助媒体项目来代替主媒体流。
本文描述的主题的一些实施方式包括一种系统。该系统可以包括:一个或多个处理设备;和一个或多个计算机可读介质,具有存储在其上的指令,该指令当由一个或多个处理设备执行时使得执行操作。该操作包括:由第一媒体客户端播放被多播到包括第一媒体客户端和其他媒体客户端的多个媒体客户端的主媒体流;由第一媒体客户端获得主媒体流中在其处(i)辅助节目编排时隙将中断主媒体流的回放或者(ii)插入信号将出现的预测位置的指示,插入信号指示相应的辅助节目编排时隙将要中断主媒体流的回放;由第一媒体客户端调度用于检索在主媒体流中即将到来的辅助节目编排时隙集合期间要播放的辅助媒体项目集合的检索时间,其中第一媒体客户端基于主媒体流中在其处(i)辅助节目编排时隙将中断主媒体流的回放或者(ii)插入信号将出现的预测位置来调度检索时间,插入信号指示相应的辅助节目编排时隙将要中断主媒体流的回放;由第一媒体客户端根据所调度的检索时间来检索辅助媒体项目集合;以及对于辅助节目编排时隙集合中的每个辅助节目编排时隙,在辅助节目编排时隙期间,从检索到的辅助媒体项目集合中播放相应的辅助媒体项目来代替主媒体流。
本文描述的主题的一些实施方式包括一个或多个非暂时性计算机可读介质,具有存储在其上的指令,该指令当由一个或多个处理器执行时使得执行操作。该操作包括:由第一媒体客户端播放被多播到包括第一媒体客户端和其他媒体客户端的多个媒体客户端的主媒体流;由第一媒体客户端获得主媒体流中在其处(i)辅助节目编排时隙将中断主媒体流的回放或者(ii)插入信号将出现的预测位置的指示,插入信号指示相应的辅助节目编排时隙将要中断主媒体流的回放;由第一媒体客户端调度用于检索在主媒体流中即将到来的辅助节目编排时隙集合期间要播放的辅助媒体项目集合的检索时间,其中第一媒体客户端基于主媒体流中在其处(i)辅助节目编排时隙将中断主媒体流的回放或者(ii)插入信号将出现的预测位置来调度检索时间,插入信号指示相应的辅助节目编排时隙将要中断主媒体流的回放;由第一媒体客户端根据所调度的检索时间来检索辅助媒体项目集合;以及对于辅助节目编排时隙集合中的每个辅助节目编排时隙,在辅助节目编排时隙期间,从检索到的辅助媒体项目集合中播放相应的辅助媒体项目来代替主媒体流。
本文描述的主题的一些实施方式包括计算机实施的方法。该方法可以包括在第一媒体客户端处播放被多播到包括第一媒体客户端和其他媒体客户端的多个媒体客户端的主媒体流。第一媒体客户端识别主媒体流中的主节目编排时隙的开始,并且作为响应,获得并存储辅助媒体项目(item)。在第一媒体客户端处存储辅助媒体项目之后,第一媒体客户端检测主媒体流中的插入信号,该插入信号指示辅助节目编排时隙即将在主媒体流中开始。然后,第一媒体客户端可以在辅助节目编排时隙期间播放辅助媒体项目来代替主媒体流。
这些和其他实施方式可以可选地包括一个或多个以下特征。
主节目编排时隙可以包括用于播放主媒体流中的主媒体项目的一个或多个第一时间间隔和定义用于播放除了主媒体项目之外的媒体的辅助节目编排时隙的第二时间间隔。识别主节目编排时隙的开始可以包括识别第一媒体客户端处的当前时间和主节目编排时隙的开始时间之间的关系被满足。
第一媒体客户端可以识别主媒体流中的一系列主节目编排时隙。对于主媒体流中的每个主节目编排时隙,并且在主节目编排时隙中检测到插入信号之前,第一媒体客户端可以确定是否获得要在嵌入到主节目编排时隙中的辅助节目编排时隙期间播放的辅助媒体项目。
第一媒体客户端可以是被配置为在多个频道上接收多个多播视频流的电视客户端。主媒体流可以是多个多播视频流之一。
电视客户端还可以被配置为从有线运营商或卫星运营商接收多个多播视频流。
获得辅助媒体项目可以包括从第一媒体客户端并向服务器系统发送对在预期的辅助节目编排时隙期间可播放的辅助媒体的请求,并且在第一媒体客户端处接收对该请求的响应,其中该响应包括辅助媒体项目或者标识可以检索到辅助媒体项目的位置。
服务器系统可以从可用媒体项目的目录中选择辅助媒体项目。该响应可以指示除了主媒体流之外的、多播媒体流中的特定时隙,其中在该特定时隙期间辅助媒体项目被计划播放。获得辅助媒体项目可以包括访问多播媒体流,并在特定时隙期间记录来自多播媒体流的辅助媒体项目。
主媒体流可以在第一电视频道上流式传输。多播媒体流可以在第二电视频道上流式传输。
多播媒体流可以至少在主媒体流中的主节目编排时隙的开始和辅助节目编排时隙的开始之间的特定时间间隔期间连续播放一系列候选辅助媒体项目。
在多播媒体流上播放的一系列候选辅助媒体项目可以被压缩,以便增加在特定时间间隔期间播放的候选辅助媒体项目的数量。
服务器系统可以基于与该请求相关联的上下文信息从可用媒体项目的目录中选择辅助媒体项目。
主媒体流中的插入信号可以是提示音(cue tone)。
主媒体流可以在辅助节目编排时隙中包括默认媒体项目。播放辅助媒体项目包括在辅助节目编排时隙期间从播放主媒体流切换到播放辅助媒体项目,使得在辅助节目编排时隙期间,在耦合到第一媒体客户端的观看设备上呈现辅助媒体项目,而不是默认媒体项目。
可以只请求实际上计划填充即将到来的辅助节目编排时隙的辅助媒体项目(例如,而不是预先下载辅助媒体的整个目录并且之后在插入时间处从目录中选择要呈现的项目之一)。在时隙期间播放项目之后,可以从存储器中删除该项目。
本文公开的主题的一些实施方式可以包括媒体客户端设备。媒体客户端设备可以包括:被配置为接收被多播到多个媒体客户端设备的主媒体流的调谐器;一个或多个处理器;以及一个或多个计算机可读介质(例如,存储设备)。一个或多个计算机可读介质可以存储指令,当指令被运行时,使得一个或多个处理器实施呈现界面、请求生成器、网络接口和辅助媒体插入。呈现界面可以播放主媒体流。请求生成器可以识别主媒体流中的主节目编排时隙的开始,并且作为响应,可以生成对辅助媒体项目的请求。网络接口可以发送对辅助媒体项目的请求,并且可以接收对该请求的响应,该响应包括辅助媒体项目或者包括可以获得辅助媒体项目的位置的指示。媒体客户端设备可以被配置为使用包括在该响应中的指示来获得辅助媒体项目。辅助媒体插入引擎可以被配置为:(i)检测主媒体流中的指示主媒体流中辅助节目编排时隙的预计的开始的插入信号,以及(ii)在辅助节目编排时隙期间用辅助媒体项目覆盖主媒体流中的默认媒体项目。
媒体客户端设备可以是包括多个调谐器的电视客户端设备,该调谐器被配置为在多个频道上接收多个多播视频流。
媒体客户端设备还可以包括存储器设备,该存储器设备被配置为在主节目编排时隙开始之后和辅助节目编排时隙开始之前获得辅助媒体项目的时间段内存储辅助媒体项目。
媒体客户端设备还可以包括第二调谐器,该第二调谐器被配置为接收不同于主媒体流的多播媒体流。该响应可以识别多播媒体流中的特定时隙,在该特定时隙期间辅助媒体项目被计划播放。存储在计算机可读介质上的指令在被执行时,还可以使得一个或多个处理器实施多播存储器接口,该多播存储器接口通过在响应中标识的特定时隙期间记录多播媒体流来获得辅助媒体项目。
本文描述的主题的一些实施方式包括其上存储有指令的一个或多个计算机可读介质(例如,非暂时性计算机可读介质),当指令被一个或多个处理器运行时,使得一个或多个处理器执行本文公开的计算机实施的方法。
在某些情况下,本文公开的主题可以实现一个或多个以下优点。在一些实施方式中,可以通过周期性地请求新的辅助媒体项目或新的辅助媒体项目的标识符列表以在当前主节目编排时隙的插播(break)期间播放,同时丢弃在先前节目编排时隙中播放的项目,来减少存储预取(pre-fertch)的辅助媒体项目所需的媒体客户端中的存储器量。例如,不是预先下载辅助媒体项目的整个目录,而是本地媒体客户端可能只需要存储用于紧接着即将到来的辅助节目编排时隙的一个或两个辅助媒体项目。此外,通过请求辅助媒体项目,或者请求新的辅助媒体项目的标识符,并且至少在下一个辅助节目编排时隙的插入信号出现之前开始检索(例如,下载)辅助媒体项目,媒体客户端可以获得比以其它方式在直到检测到插入信号之后才检索该项目的情况下也是可行的更大的用于辅助媒体项目的文件(例如,具有更高的视频分辨率)。如果在响应对辅助媒体项目的请求时存在等待时间,则检索辅助媒体项目所花费的额外时间也可以增加成功检索的可能性。在一些实施方式中,在专用媒体流(例如,隐藏的TV频道)上多播候选辅助媒体项目允许辅助项目被有效地传送到大量媒体客户端。此外,在某些情况下,在特定流或频道上的这种多播传送可以减少网络流量的峰值,其中这种峰值可能会在许多媒体客户端同时请求单播传送各种辅助项目的情况下产生。根据整个公开内容,本领域普通技术人员将认识到附加的特征和优点。
本说明书公开了用于将辅助媒体项目插入到主媒体流中的系统、方法、设备和其他技术。例如,诸如有线机顶盒、卫星机顶盒或基于互联网协议(internet protocol,IP)的机顶盒的电视接收器可以播放在网络频道上流式传输的主节目编排项目,诸如新闻或体育节目、或电影。在主要节目编排中的预定插播发生之前,诸如对于商业广告插播,电视接收器可以预取辅助视频以在商业广告插播期间播放,并将其存储在接收器的存储器中。为了最小化在给定时间存储在存储器中的辅助视频的数目,接收器可以周期性地预取视频,例如,对于预期在下一个半小时时隙期间发生的一个或多个插播,每30分钟预取一次视频。此外,在一些实施方式中,接收器可以从为连续播放短的辅助视频而预留的多播频道中获得要在即将到来的插播期间播放的辅助视频。接收器可以识别目标视频何时在多播频道上播放,并且可以在接收器处记录和本地存储该视频,使得它在从主视频流中的主内容的下一次插播期间可播放。
附图说明
图1是媒体客户端的示例环境的概念性图示,该媒体客户端从主媒体提供商系统流式传输媒体,并且周期性地中断主流以在主流的指定时隙期间播放辅助媒体项目。
图2示出了示例媒体客户端设备的框图。
图3是用于识别辅助媒体项目并将辅助媒体项目插入到在媒体客户端处播放的媒体流的示例过程的流程图。
图4示出了示出媒体客户端和辅助媒体选择系统传送和播放辅助媒体项目来代替主媒体流的示例操作的时序图。
图5是用于从多播媒体流捕获辅助媒体项目的示例过程的流程图。
图6是访问辅助媒体多播流以获得要在即将到来的辅助节目编排时隙期间播放的辅助媒体项目的媒体客户端对的概念性时序图。
图7示出了可以用于实施本文描述的技术的计算设备和移动计算设备的示例。
不同附图中相同的参考符号表示相同的元件。
具体实施方式
本说明书公开了用于将辅助媒体项目插入主媒体流中的系统、方法、设备和其他技术。例如,说明书公开了媒体客户端(例如,电视机顶盒)如何能够将短视频插入主视频流(例如,来自有线或卫星运营商的电视流)中。在一些实施方式中,媒体客户端在检测到标识节目编排时隙的插入信号之前检索用于插入到即将到来的节目编排时隙中的辅助媒体项目。此外,媒体客户端可以通过记录来自辅助媒体多播流(例如,持续播放作为插入到各种客户端的媒体流中的候选的辅助媒体项目的隐藏的电视频道)的辅助媒体项目来检索辅助媒体项目。在一些情况下,本文公开的这些和其他技术可以允许将上下文相关的媒体插入到媒体流中,同时节省媒体客户端的存储器中的存储空间。
参考图1,描绘了媒体客户端102的示例环境,该媒体客户端102从主媒体提供商系统流式传输媒体,并且周期性地中断主流以在主流的指定时隙期间播放辅助媒体项目。该环境包括媒体客户端102、主媒体提供商系统104、一个或多个辅助媒体提供商系统106和辅助媒体选择系统108。
一般地,媒体客户端102是被配置为处理传入的媒体流并输出媒体流以(例如,在电视上)呈现给一个或多个用户的设备。在一些实施方式中,媒体客户端102是独立设备,其包括有线或无线接口以连接到诸如TV或计算机监视器的呈现设备。例如,媒体客户端102可以是有线电视系统、卫星电视系统或基于互联网协议(IP)的电视系统的机顶盒。在其他实施方式中,媒体客户端102是另一设备(诸如移动计算设备(例如,智能手机、平板计算设备、笔记本计算设备、智能手表或其他可穿戴计算设备)或智能TV)的集成组件。关于诸如媒体客户端102的媒体客户端的更多细节参考图2示出和描述。
媒体客户端102可以与主媒体提供商系统104通信,以获得一个或多个主媒体流。系统104可以在一个或多个位置中的一个或多个计算机上实施。在一些实施方式中,主媒体提供商系统104由有线TV提供商、卫星TV提供商或基于IP的TV服务提供商操作。例如,有线提供商或卫星提供商可以持续地向媒体客户端102发送多个媒体流,其中每个媒体流在不同的频道上可访问。第一频道上的流可以包括来自第一电视网络的媒体,第二频道上的流可以包括来自第二电视网络的媒体,等等。在一些实施方式中,主媒体流可以从主媒体提供商系统104多播到许多媒体客户端(包括媒体客户端102),使得给定媒体流被每个媒体客户端接收。在其他实施方式中,主媒体流可以单播到特定媒体客户端102。
媒体客户端102还可以与辅助媒体提供商系统106和辅助媒体选择系统108通信。尽管主媒体提供商系统104、辅助媒体提供商系统106和辅助媒体选择系统108在图1中被描绘为单独的系统,但是在其他实施方式中,系统104、106和108中的任何两个、或者所有三个系统,可以集成到提供图1中单独描述的系统104、106和108的各种特征的单个、更大的系统中。辅助提供商系统106和辅助媒体选择系统108各自可以在一个或多个位置中的一个或多个计算机上实施。
辅助媒体选择系统108被配置为确定媒体客户端102的辅助媒体项目,以插入到媒体客户端102处播放的主媒体流中。辅助媒体项目通常是不作为主媒体流中的主节目编排的一部分的媒体项目。例如,主媒体提供商系统104可以向主媒体提供商的订户分发特定TV网络的主媒体流。主媒体流可以包括视频内容(诸如情景喜剧、戏剧、电影、新闻和体育赛事),TV网络已经将该视频内容开发为网络频道上媒体流的主节目编排。来自网络的主媒体内容的每个项目可以在网络媒体流中的一个或多个主节目编排时隙上播放。主节目编排时隙是为播放特定主媒体项目预留的时间块。例如,网络可以调度其主节目编排时隙在每小时的头和尾处每30分钟发生一次。例如,半小时的表演可以在上午9点至9点30分的主节目编排时隙中运行。长篇电影可以延伸超过几个半小时的时隙。
此外,每个主节目编排时隙可以包括一个或多个辅助节目编排时隙。辅助节目编排时隙是媒体流中被预留用于播放辅助媒体项目的部分,该辅助媒体项目不是媒体流中主节目编排的一部分。在一些情况下,可以在主节目编排时隙的中间或末尾处或者在主节目编排时隙的中间或末尾的附近提供辅助时隙,并且相对于在其中嵌入辅助时隙的主时隙,辅助时隙的持续时间通常较短。例如,在30分钟的主节目编排时隙期间,22分钟可以被预留用于播放主媒体项目,而剩余的8分钟可以被预留用于播放辅助媒体项目(诸如全国性或本地商业广告/宣传)。在一些实施方式中,主媒体提供商系统104用默认辅助媒体项目(例如,全国范围活动的广告)填充辅助节目编排时隙。然而,媒体客户端102可以获得不同的辅助媒体项目(例如,基于本地活动的广告),以拼接入主媒体流中,从而在辅助节目编排时隙期间覆盖默认项目。然而,如果媒体客户端102不能拼接入不同的辅助项目,则默认项目仍然可以通过在不间断的情况下播放主媒体流来呈现。
辅助媒体选择系统108可以维护辅助媒体项目的目录110,其可以在一个或多个计算机上实施。目录110存储标识可用于放置在媒体客户端群体的媒体流中的辅助媒体项目集合的数据。当辅助媒体选择系统108从媒体客户端102接收到对辅助媒体项目的请求时(其中该请求可以是获取媒体项目本身的副本,或者可以是对媒体项目可被访问的位置的引用的请求,诸如对辅助媒体项目的标识符的请求),系统108可以搜索媒体目录110来确定一个或多个项目以响应于该请求从目录110中标识的集合返回。在一些实施方式中,媒体目录110是标识可用辅助媒体项目的数据库,并且包括对辅助项目被存储或以其他方式由媒体客户端102可访问的位置的引用(例如,通用资源指示符(universal resourceindicator,URI)或其他指针)。在一些实施方式中,媒体目录110还包括一个或多个非易失性存储设备,其存储每个可用辅助媒体项目的文件,使得它们可以响应于该请求而被直接提供给媒体客户端102。在其他实施方式中,辅助媒体项目的文件可以从其他位置(诸如提交给定辅助媒体项目的辅助媒体提供商的相应辅助媒体提供商系统106)、从主媒体提供商系统104、或者从多个位置来提供。在一些情况下,媒体客户端102可以使用存储选择的辅助媒体项目的位置的响应中的指示来访问和获得所选择的项目。
在一些实施方式中,辅助媒体选择系统108使用与来自媒体客户端102的请求相关联的上下文信息来选择媒体客户端102处的观看者可能感兴趣的特定辅助媒体项目。目录110中的一些辅助媒体项目可以是针对特定地理区域内的观看者的本地项目。辅助选择系统108可以分析从媒体客户端102的接收的请求,以识别与该请求相关联的位置(例如,通过将媒体客户端102的IP地址与将IP地址映射到地理区域的数据库进行比较),然后从目录110中选择可用辅助媒体项目中被分配给包括与该请求相关联的位置的区域的一个可用辅助媒体项目。关于辅助媒体项目的位置信息和其他信息可以存储在媒体元数据数据库112中。元数据数据库112可以存储每个辅助媒体项目的信息,诸如指示媒体项目的主题的关键字、媒体项目的长度、媒体项目的历史表现度量(例如,印象数量、观看媒体项目的观看者采取的动作的频率、媒体项目的收视率)、允许媒体项目插入的媒体流的白名单(例如,已经对其指定媒体项目的特定TV频道或网络)、不允许媒体项目插入的媒体流的黑名单(例如,不允许媒体项目在其上播放的特定TV频道或网络)、媒体项目可插入的时间的白名单(例如,一些媒体项目可以仅用于上午插入,而其他媒体项目可以仅用于深夜插入)、媒体项目不可插入到媒体流的时间的黑名单、或这些和其他因素的组合。
此外,辅助媒体选择系统108可以维护观看者简档数据库114,该观看者简档数据库114存储关于主媒体项目和辅助媒体项目的消费者(例如,观看者)的信息。数据库114可以例如指示观看者对特定种类的媒体内容的偏好、指示观看者感兴趣的主题的关键字、观看者的位置、以及个体观看者或观看者组的历史观看简档。辅助媒体选择系统116还可以包括电子节目编排指南116,该电子节目编排指南116维护指示在来自主媒体提供商系统104的一个或多个流上播放的主媒体项目的时间表的节目编排数据。使用与请求相关联的上下文信息和存储在元数据数据库112、观看者简档数据库114、电子节目编排指南116或它们的组合中的数据,辅助媒体选择系统108可以为媒体客户端102选择一个或多个辅助媒体项目以插入到媒体流的辅助节目编排时隙中。例如,来自媒体客户端102的请求可以包括媒体客户端102的标识符、媒体客户端102的观看者的标识符、主媒体流或辅助媒体项目将被插入到其中的主媒体项目的标识符、辅助媒体项目计划被插入的时间的指示、媒体客户端102的位置的指示、辅助时隙的预期长度、或者这些或其他因素中的两个或多个的组合。辅助媒体选择系统108可以将请求中的信息与数据库112、114和/或116中的信息进行比较,以从目录110中确定特定辅助媒体项目来响应于该请求而返回。
在一些实施方式中,媒体客户端102可以执行获取辅助媒体项目并将该项目插入到主媒体流中的过程,如图1所示。在阶段A处,媒体客户端102播放从主媒体提供商系统104发送的主媒体流。在阶段B处,媒体客户端102辨识新的主节目编排时隙的开始。例如,媒体时间表中的新的半小时片段可以开始,这触发媒体客户端102在阶段C处生成向辅助媒体选择系统108的对辅助媒体项目的请求。在阶段D处,媒体客户端102基于对该请求的响应来从辅助媒体选择系统108获得辅助媒体项目。辅助媒体项目可以以各种方式获得,但是在该示例中,媒体客户端102使用在来自辅助媒体选择系统108的响应中接收到的关于项目位置的信息(例如,URI或URL),向辅助媒体提供商系统106请求辅助媒体项目。在其他示例中,辅助媒体项目在隐藏频道上被多播到媒体客户端群体,并且媒体客户端102使用辅助媒体项目的标识符从多播频道检索项目。在阶段E处,媒体客户端102检测主媒体流中的插入信号。插入信号(例如,提示音(cue tone))被编码在主媒体流中,并向媒体客户端102指示辅助节目编排时隙即将开始。在辅助媒体节目编排时隙的开始处,媒体客户端102然后可以在时隙的持续期间从播放主媒体流切换到播放一个或多个辅助媒体项目。在辅助节目编排时隙的末尾处,媒体客户端102然后可以恢复到播放主媒体流。关于媒体客户端102执行的操作的更多细节将参考图2-图6进行描述。
图2是示例媒体客户端200的框图。在一些实施方式中,媒体客户端200是类似于参考图1和图3-图6讨论的媒体客户端。例如,媒体客户端200可以是被配置为处理传入媒体流并输出媒体流以(例如,在电视上)呈现给一个或多个用户的设备。在一些实施方式中,媒体客户端200是独立设备,其包括有线或无线接口以连接到诸如TV或计算机监视器的呈现设备。例如,媒体客户端200可以是有线TV系统、卫星TV系统或基于互联网协议(IP)的TV系统的机顶盒。在其他实施方式中,媒体客户端200是另一设备(诸如移动计算设备(例如,智能手机、平板计算设备、笔记本计算设备、智能手表或其他可穿戴计算设备)或智能TV)的集成组件。
媒体客户端200包括控制器202和各种附加组件204-220。尽管图2示出了媒体客户端200的一个示例的特定配置,但是其他媒体客户端可以具有更少或附加组件。在一些实施方式中,组件202-220的各方面可以以不同于示例性媒体客户端200中所示的方式进行组合或划分,以便执行与本文所述类似的操作。
控制器202可以实施为一个或多个计算机处理器,例如,微控制器、数字电路、微型计算机、数字信号处理器或专用集成电路(application-specific integrated circuit,ASIC)。控制器202可以与组件204-220中的每一个相接合,并且在组件204-220之间传达数据。控制器202可以将指令存储在计算机可读介质中,并运行指令以执行诸如本文讨论的操作。
媒体客户端200还可以包括一个或多个调谐器204a-n。调谐器204a-n被配置为调谐到来自主或辅助媒体提供商的媒体流。每个调谐器204a-n通常能够独立于调谐器204a-n中的其他调谐器的状态而调谐到特定媒体流。例如,有线电视或卫星提供商的机顶盒中的调谐器可以包括电子硬件,以选择对于特定频带的频道上的媒体流,并对信号进行去调制、放大和滤波,以获得可以向观众播放的所选择的媒体流的基带信号或数字数据。调谐器204a-n的输出信号可以作为输入提供给呈现界面212,然后,呈现界面212使用该信号在一个或多个设备上(例如,在电视机、计算机监视器和扬声器、移动设备显示器和扬声器上)播放媒体流。
媒体客户端还可以包括请求生成器216。请求生成器216被配置为生成辅助媒体项目请求,该辅助媒体项目请求可以在媒体客户端200当前正在播放的媒体流中填充即将到来的辅助节目编排时隙。然后,请求生成器216可以将请求提供给网络接口206,该网络接口206将请求发送到辅助媒体选择系统,例如,辅助媒体选择系统108。在一些实施方式中,请求生成器216将上下文信息嵌入请求中,诸如媒体客户端102的标识符、媒体客户端102的观看者的标识符、主媒体流或辅助媒体项目将被插入到其中的主媒体项目的标识符、辅助媒体项目计划被插入的时间的指示、媒体客户端102的位置的指示、辅助时隙的预期长度、或者这些或其他上下文项目中的两个或多个的组合。例如,可以嵌入到请求中的上下文信息可以存储在观看者数据数据库218、电子节目编排指南220或两者中。然后,辅助媒体选择系统106可以将候选辅助媒体项目的属性与请求中提供的上下文信息进行匹配,以选择辅助媒体项目来响应于该请求而返回。
在一些实施方式中,请求生成器216包括事件监听器,该事件监听器监听一个或多个预定义事件的发生,以触发对辅助媒体项目的请求的生成和发送。在一些实施方式中,触发事件是媒体流中新的主节目编排时隙的开始。例如,在给定媒体流中,主媒体项目可以以30分钟的间隔进行调度。因此,第一个表演可以在上午9点–9点半在主媒体流上运行,第二个表演可以在上午9点半–10点运行,并且第三个表演可以在上午10点–11点运行。在每个半小时时间块的开始处,请求生成器216可以生成对辅助媒体项目的新的请求,以在开始的30分钟时间块(即开始的主节目编排时隙)期间填充一个或多个预期的辅助节目编排时隙。因此,例如,媒体客户端200可以每30分钟、每15分钟、每60分钟或以其他方式根据媒体流中节目编排时隙的调度来生成和发送对辅助媒体的请求。在一些实施方式中,请求生成器216在单个主节目编排媒体时隙期间多次生成对辅助媒体的新的请求,例如,以在主节目编排时隙期间获得用于多个辅助节目编排时隙的辅助媒体。一般地,可以在检测到向媒体客户端200警告即将到来的辅助节目编排时隙的插入信号之前生成并发送对辅助媒体的请求,同时仍然仅请求实际上计划填充即将到来的辅助节目编排时隙的辅助媒体项目(例如,而不是预先下载辅助媒体的整个目录,并且稍后在插入时从目录中选择要呈现的项目之一)。
媒体客户端200的存储器208包括一个或多个存储设备,该存储设备被配置为存储计划在即将到来的辅助节目编排时隙中插入到媒体流中的辅助媒体项目。在媒体客户端200已经请求并获得用于即将到来的时隙的辅助媒体项目之后,该项目可以被存储(例如,高速缓存)在存储器208中,使得该项目可在辅助节目编排时隙开始处播放。在一些实施方式中,存储器208的存储设备包括在磁盘上存储数字数据的硬盘驱动器。在一些实施方式中,存储器208的存储设备是固态存储设备(例如,闪速存储器)。随着一些媒体客户端变得越来越商品化,制造商可以提供相对少量的存储器208来存储视频或其他媒体项目。在一些实施方式中,本文公开的技术允许对辅助媒体项目的个性化选择,而不消耗存储器208中过多的存储空间。例如,不是预先下载辅助媒体项目的目录,而是客户端200可以仅提取和预先存储计划插入到即将到来的辅助节目编排时隙中的辅助媒体项目。在该时隙期间播放项目之后,可以从存储器208中删除项目,以便为可以插入到下一个辅助节目编排时隙中的项目释放空间。
媒体客户端200可以使用几种可能的方法中的至少一种从远程服务器获得辅助媒体项目。在一些实施方式中,客户端200响应于辅助媒体请求,经由网络接口206接收辅助媒体项目。可替换地,对辅助媒体请求的响应可以包括到辅助媒体项目可以被访问的位置的指针,尽管响应本身实际上不包括辅助媒体项目。在一些实施方式中,指针引用远程计算系统上的位置。网络接口206可以从指针指示的位置请求所识别的辅助媒体项目。在其他实施方式中,媒体提供商系统(例如,主媒体提供商系统或辅助媒体提供商系统)向媒体客户端200发送专用于播放辅助媒体项目的特殊媒体流。该媒体流可以多播到多个媒体客户端设备,并且例如可以在“隐藏”电视频道上提供,其中在媒体客户端的正常操作期间,用户通常无法访问该“隐藏”电视频道。在连续的时隙期间,可以在频道上播放不同的候选辅助媒体项目。在一些实施方式中,响应于辅助媒体请求而识别的所选择的辅助媒体项目的位置是专用媒体流中特定时隙的指示,其中在该特定时隙期间,所选择的辅助媒体项目被调度以播放。多播存储器接口210使用所选择的辅助媒体项目的指示(例如,所选择的辅助媒体项目将被播放的在专用媒体流中的时隙的标识符和/或辅助媒体项目本身的标识符)来检测专用媒体流中的所选择的辅助媒体项目,并记录来自该流中的所选择的项目,以便将来在即将到来的辅助节目编排时隙期间回放。参考图5和图6描述了关于用于多播专用辅助媒体流和获得媒体流上的所选择的项目的技术的附加细节。
媒体客户端200可以包括辅助媒体插入引擎214,该辅助媒体插入引擎214将所选择的辅助媒体项目插入到播放的媒体流的辅助节目编排时隙中。例如,媒体客户端200可以在设备调谐器204之一所调谐到的特定电视频道上播放主媒体流。在主媒体流中正在播放的主媒体项目的主节目编排时隙的中点附近,辅助媒体插入引擎214可以识别主媒体流中的插入信号。插入信号可以是向辅助媒体插入引擎214警告辅助节目编排时隙即将开始的事实的提示音或其他信号。辅助节目编排时隙可以例如在插入信号出现在主媒体流中的1到10秒内开始。插入信号和辅助节目编排时隙的开始之间的间隔可以是固定的,或者可以由插入信号中编码的数据来指示。响应于插入信号,辅助媒体插入引擎214从存储器208访问预先存储的辅助媒体项目,并且在辅助节目编排时隙的开始处,“拼接入”辅助媒体项目,以使得辅助媒体项目而不是包含在主媒体流中的默认媒体项目通过呈现界面212来播放。在辅助节目编排时隙完成处,辅助媒体插入引擎214释放控制,并且呈现界面212恢复播放主媒体流。以这种方式,可以为这些对通过媒体客户端200播放的媒体项目进行消费的特定用户或用户组播放已经为特定用户或用户组选择的辅助媒体项目,而不是不太可能为特定观众定制的通用媒体项目。
在一些实施方式中,媒体客户端200被配置为预测插入信号何时将出现在主媒体流中,并基于插入信号将出现的预测时间自动调度辅助媒体项目请求。媒体客户端200可以例如访问本地或远程存储的插入信号预测模型,该插入信号预测模型基于提供给模型的一个或多个预测输入来预测一个或多个插入信号将出现在主媒体流中的时间。预测输入可以包括,例如,主媒体流的身份(例如,媒体客户端200被调谐到其并且预测插入信号和辅助节目时隙在其上出现的网络或频道的标识符)、一天中的当前时间、一周中的当前日期、正在播放的主媒体项目的身份(例如,特定电影或电视表演的身份)、正在播放的主媒体项目的类型(例如,新闻节目、现场体育赛事、预先录制的情景喜剧、预先录制的戏剧、电影)、正在播放的主媒体项目的长度(例如,30分钟的表演、60分钟的表演或2小时的电影)、或者这些和/或其他预测输入中的两个或更多个的组合。插入信号预测模型可以处理预测输入以生成预测输出,该预测输出指示下一个插入信号和/或辅助节目编排时隙将出现在当前播放的主媒体流上的估计时间。在一些实施方式中,基于插入信号的历史出现和它们出现的条件,随时间学习插入信号预测模型。
在一些实施方式中,媒体客户端200使用来自模型的预测输出来调度请求生成器216将生成并发送对一个或多个辅助媒体项目的请求以在下一个预期的辅助节目编排时隙期间播放的时间。例如,媒体客户端200可以被配置为在下一个预测插入信号和/或辅助节目编排时隙之前的预定时间长度(例如,15分钟),发送对辅助媒体项目的请求。如果下一个插入信号预计在另外30分钟内不会出现,则请求生成器216可以延迟15分钟来请求用于下一个辅助节目编排时隙的辅助媒体项目,使得它仅在时隙之前的15分钟被请求。
在一些实施方式中,插入信号预测模型处理预测输入以生成预测输出,该预测输出指示当前播放的主媒体流上的插入信号的估计频率。例如,第一电视频道可以每15分钟提供辅助节目编排时隙(和对应的插入信号),并且因此媒体客户端200可以每15分钟调度辅助媒体项目请求。但是对于每30分钟提供辅助节目编排时隙(和对应的插入信号)的第二电视频道,媒体客户端200可以仅每30分钟调度辅助媒体项目请求。以这种方式,媒体客户端200可以请求和获得仅用于下一个期望的辅助节目编排时隙的辅助媒体项目,但是在该时隙的插入信号出现之前,而不预先高速缓存辅助媒体项目的整个目录,如果存储器208具有有限的存储容量,则预先高速缓存辅助媒体项目的整个目录可能是不可行的。在一些实施方式中,媒体客户端200可以基于某些标准并使用插入信号预测模型的输出来调度辅助媒体项目请求,而与主节目编排时隙的开始无关。
图3是用于识别辅助媒体项目并将辅助媒体项目插入到媒体客户端处播放的媒体流中的示例过程300的流程图。在一些实施方式中,过程300可以由媒体客户端来执行,例如,媒体客户端102(图1)或媒体客户端200(图2)。
在阶段302处,媒体客户端开始播放媒体内容的主流。例如,在具有有线机顶盒、卫星机顶盒或基于IP的机顶盒的电视环境中,机顶盒可以基于来自机顶盒用户的指令调谐到包括主媒体流的特定频道。
在阶段304处,发生触发媒体客户端生成并发送对一个或多个辅助媒体项目的请求以在即将到来的辅助节目编排时隙期间播放的事件。在一些实施方式中,媒体客户端周期性地做出辅助媒体请求,例如,在主媒体流中的每个主节目编排时隙的开始处。在一些实施方式中,媒体客户端在每个预期的辅助节目编排时隙之间做出辅助媒体请求。例如,电视网络可以大约每15分钟插播一次用于广告。每次插播之后,媒体客户端可以发出对辅助媒体的新的请求以在下一次插播期间播放。然而,一般地,在指示辅助时隙即将开始的插入信号出现在主媒体流中之前,媒体客户端请求用于即将到来的辅助节目编排时隙的辅助媒体。在阶段306处,媒体客户端向辅助媒体选择系统请求媒体项目。
在阶段308处,媒体客户端接收对辅助媒体请求的响应。该响应识别辅助媒体选择系统已经选择要在即将到来的辅助节目编排时隙期间播放的特定辅助媒体项目。在一些实施方式中,基于与请求相关联的上下文信息来选择所选择的媒体项目,以便增加媒体客户端的特定用户很好地接收辅助媒体项目的可能性。该响应可以包括辅助媒体项目的副本,或者可以包括媒体客户端可用于从另一个源提取辅助媒体项目的信息(例如,媒体客户端可以使用以在隐藏频道上记录项目的、辅助媒体项目的标识符)。
在阶段310处,媒体客户端获得已经为即将到来的辅助节目编排时隙选择的辅助媒体项目。如果辅助媒体项目没有直接包括在来自阶段308的对客户端请求的响应中,则客户端可以在别处访问辅助媒体项目。在一些实施方式中,媒体客户端例如使用媒体客户端的第二调谐器或调谐过程,从客户端在第二频道上调谐到的第二媒体流中取出(extract)第二媒体项目。第二媒体流可以是专用于在媒体流中的一系列时隙期间连续播放候选辅助媒体项目的多播流。客户端可以在播放所选择的项目的对应时隙期间记录来自第二媒体流的所选择的辅助项目,并将所记录的项目存储在存储器中。参考图5和图6进一步描述了用于从多播流中捕获所选择的辅助媒体项目的技术。
在阶段312处,在识别要播放用于下一个辅助节目编排时隙的项目之后,并且在一些情况下,在已经获得该项目之后,媒体客户端检测从阶段302以来一直在播放的主媒体流中的插入信号。插入信号向媒体客户端警告辅助节目编排时隙即将开始的事实。
在阶段314处,媒体客户端识别辅助节目编排时隙的开始,并且在辅助节目编排时隙期间将客户端从在耦合到媒体客户端的呈现设备(例如,TV)上播放主媒体流切换到在呈现设备上播放辅助媒体项目。在子阶段316处,媒体客户端拼接入辅助媒体项目,使得播放该项目而不是主媒体流中的默认媒体项目。在子阶段318处完成辅助节目编排时隙时,媒体客户端从辅助媒体项目拼接移出(splice out),并返回到播放主媒体流(阶段320)。
在一些实施方式中,媒体客户端可能具有有限的存储器存储容量以在预期的辅助节目编排时隙之前存储辅助媒体项目。因此,媒体客户端可以只请求用于接下来的n个预计的辅助节目编排时隙的媒体项目,其中n是预定义的整数(诸如1、2或3),并且典型地只请求用于当前主节目编排时隙中的辅助时隙的媒体项目。为了清除可以为将来辅助节目编排时隙获得的辅助项目的存储,媒体客户端可以从存储器中删除最近播放的辅助媒体项目,例如,紧接在其中播放项目的辅助节目编排时隙之后。在一些实施方式中,媒体客户端实施指定用于维护和删除存储在媒体客户端的存储器中的项目的规则的存储器管理策略。
参考图4,示出了媒体客户端102和辅助媒体选择系统108传送和播放辅助媒体项目来代替主媒体流的示例操作的时序图。
在时间t1处,新的主节目编排时隙开始。例如,t1可以表示TV频道上30分钟节目编排片段的开始。媒体客户端102识别主节目编排时隙的开始,并向辅助媒体选择系统108发送对辅助媒体项目的请求。在一些实施方式中,可以基本上在主节目编排时隙开始处,或者在时隙开始之前或之后不久,生成并发送该请求。例如,如果媒体客户端102识别主节目编排时隙在小于阈值时间量(例如,5-30秒)内开始,则客户端102可以向辅助媒体选择系统108发起请求。响应于该请求,辅助媒体选择系统108选择辅助媒体项目,以用于媒体客户端102在即将到来的辅助节目编排时隙期间播放。辅助媒体选择系统108将响应发送回媒体客户端102,该媒体客户端102包括或以其他方式识别媒体客户端102在t2处接收到的所选择的辅助媒体项目。媒体客户端102获得并存储所选择的辅助媒体项目。在时间t3处,媒体客户端102检测插入信号。在时间t4处,在插入信号之后不久,下一个辅助节目编排时隙开始,并且媒体客户端102拼接入预取的辅助媒体项目,使得辅助项目而不是主媒体流由媒体客户端102播放和输出。在t5处,即辅助节目编排时隙的结尾处,媒体客户端102从辅助媒体项目拼接移出,并恢复输出主媒体流以呈现给媒体客户端102的用户。
图5是用于从多播媒体流捕获辅助媒体项目的示例过程500的流程图。在一些实施方式中,多播媒体流是发送到许多媒体客户端的流,并且专用于播放辅助媒体项目以供捕获,并且稍后在其他主媒体流中的辅助节目编排时隙期间重用。例如,这种多播媒体流的图示在图6中示出。
在阶段502处,媒体客户端调谐到辅助媒体多播流。例如,媒体客户端可以包括正在播放主媒体流的第一调谐器和独立调谐到辅助媒体多播流同时由媒体客户端继续播放和呈现主媒体流的第二调谐器。辅助媒体多播流可以从与主媒体流相同的提供商服务(例如,有线或卫星)提供商,但是在不同的频道上流式传输。在一些实施方式中,可以为多个辅助媒体多播流中的每一个预留不同的频道,可以提供这些频道以增加可供选择的候选辅助媒体项目的数量。例如,单个辅助媒体多播流的单个频道可以具有足够的带宽来在主媒体流上的主节目编排时隙的开始和辅助节目编排时隙的开始之间播放20个固定长度的辅助媒体项目。但是可用的辅助媒体项目的数量可以通过将提供相应辅助媒体多播流的频道的数量增加n倍而被乘以n倍。例如,三个频道可以允许60个固定长度的辅助媒体项目在主节目编排时隙的开始和辅助节目编排时隙的开始之间的相同时间间隔内对媒体客户端可用。
在阶段504处,媒体客户端识别辅助媒体多播流中的时隙,在该时隙中,所选择的辅助媒体项目被调度以播放。在一些实施方式中,基于包含在对媒体客户端的辅助媒体项目请求的响应中的信息来识别时隙。例如,该响应可以识别时隙,并且可选地,识别所选择的项目被调度以播放的多个辅助媒体多播流中的哪一个。在其他实施方式中,该响应可以包括所选择的媒体项目的唯一标识符。使用所选择的辅助媒体项目的标识符,媒体客户端可以例如基于多播媒体流中编码的信息,独立地确定项目被调度以在其上播放的时隙和频道(流)。
在阶段506处,媒体客户端识别所选择的辅助媒体项目何时开始在辅助媒体多播流上播放,并记录所选择的辅助媒体项目的副本。所选择的辅助媒体项目的副本存储在媒体客户端的存储器中,例如,存储在高速缓存中,其中当在主媒体流中的辅助节目编排时隙期间播放辅助媒体项目的时间到达时,可以快速访问该高速缓存。在一些实施方式中,媒体客户端可以从图3的阶段312继续该过程。
图6是媒体客户端602a、602b对的概念性时序图,其中该媒体客户端602a、602b对访问辅助媒体多播流604来获得辅助媒体项目以在即将到来的辅助节目编排时隙期间播放。
在时间t1处,主节目编排时隙开始于当前正在第一媒体客户端602a和第二媒体客户端602b上播放的主媒体流。媒体客户端602a、602b各自识别主节目编排时隙的开始,并发起对在即将到来的辅助节目编排时隙期间播放的辅助媒体项目的请求。辅助媒体选择系统接收该请求,并为媒体客户端602a、602b中的每一个选择相应的辅助媒体项目。媒体客户端602a、602b在时间t2处接收对该请求的响应。
同时,在单独的辅助媒体多播流602上,播放一系列候选辅助媒体项目606。候选辅助项目606为媒体客户端提供不同选项以在辅助节目编排时隙中播放。在一些实施方式中,辅助媒体多播流602在隐藏频道上提供,例如,提供服务的主媒体的订户通常不能直接观看的电视频道。然而,媒体客户端中的调谐器可以调谐到该频道来访问隐藏流,同时主流继续被播放并呈现给媒体客户端的用户。在一些实施方式中,为了增加可供选择的候选辅助媒体项目的数量,可以例如在电视服务的不同频道上建立多个辅助媒体多播流,其中每个流播放候选辅助媒体项目的不同集合。在一些实施方式中,为了进一步增加可供选择的候选辅助媒体项目的数量,辅助媒体项目606可以被压缩以在给定时间长度内流式传输比其他方式可能的项目更多的项目。例如,通过将视频项目的比特率降低两倍,在给定的时间长度内,可以在频道上流式传输两倍的视频。因此,480p视频可以以实时播放480p视频所需比特率的四倍在提供1080p视频的带宽的频道上发送。然后,480p视频可以在1080p频道上以正常回放速度的四倍发送(即视频可以在1080p频道上以加速的速度播放)。当视频之后在辅助节目编排时隙期间播放时,视频可以以正常回放速度播放。在一些实施方式中,辅助媒体多播流的频道带宽可以相对于其他流的频道带宽(例如,相对于在媒体客户端上播放的主媒体流)增加,以便增加可以在给定时间间隔内在频道上流式传输的辅助媒体项目的量。
管理辅助媒体多播流的媒体服务提供商可以确定辅助媒体项目的集合以及项目的顺序以在辅助媒体多播频道上播放。例如,媒体服务提供商可以确定目录中的哪些辅助媒体项目对于媒体客户端群体最受欢迎。目录中最受欢迎的项目的子集可以在频道上播放,并且在播放的项目当中,它们可以在主节目编排时隙期间按照受欢迎程度递减的顺序播放。以这种方式,最受欢迎的第一候选辅助媒体项目最有可能在辅助节目编排时隙在主媒体流上开始之前已经完成播放。如果媒体客户端不能在即将到来的辅助节目编排时隙开始之前获得为该即将到来的辅助节目编排时隙选择的辅助媒体项目,则媒体客户端可以播放不同的辅助媒体项目,或者替代地在主媒体流上播放默认媒体项目。对于在主节目编排时隙中更早播放的辅助项目,这种情况不太可能发生,并且因此更受欢迎的辅助媒体项目可以在较不受欢迎的辅助媒体项目之前在多播频道上播放。
可以指示第一媒体客户端602a在辅助媒体多播流604的标记为“B”的第二时隙中播放辅助媒体项目。因此,第一媒体客户端602a在时间t3处记录并存储来自时隙“B”的项目。相反,可以指示第二媒体客户端602b在辅助媒体多播流604的标记为“C”的第三时隙中播放辅助媒体项目。因此,辅助媒体客户端602b在时间t4处记录并存储来自时隙“C”的项目。因此,不同的媒体客户端可以使用相同的辅助媒体多播流604来从辅助节目编排时隙的前导阶段(lead-up)中提取不同的辅助媒体项目。此外,因为媒体客户端602a、602b直到检测到插入信号之后才等待检索辅助媒体项目,所以在主节目编排时隙的开始和辅助节目编排时隙的开始之间提供的额外时间允许在辅助媒体多播流604上播放更多数量的候选项目,从而提供更多的选择选项。
在时间t5处,媒体客户端602a、602b检测指示辅助节目编排时隙即将开始的插入信号。最后,在时间t6处,媒体客户端602a、602b各自将为客户端选择的相应辅助媒体项目插入到辅助节目编排时隙中,并在辅助节目编排时隙持续期间播放辅助媒体项目,直到在时间t7处恢复主媒体流的回放。
图7示出了可以用于实施本文描述的技术的计算设备700和移动计算设备的示例。计算设备700意图表示各种形式的数字计算机,诸如膝上型计算机、台式计算机、工作站、个人数字助理、服务器、刀片服务器、大型机和其他合适的计算机。移动计算设备意图表示各种形式的移动设备,诸如个人数字助理、蜂窝电话、智能电话和其他类似的计算设备。这里示出的组件、它们的连接和关系以及它们的功能仅仅是示例性的,并不意味着限制本文档中描述和/或要求保护的发明的实施方式。在一些实施方式中,设备700和/或移动计算设备可以表示媒体客户端(例如,媒体客户端102或200)或者媒体客户端的组件。
计算设备700包括处理器702、存储器704、存储设备706、连接到存储器704和多个高速扩展端口710的高速接口708、以及连接到低速扩展端口714和存储设备706的低速接口712。处理器702、存储器704、存储设备706、高速接口708、高速扩展端口710和低速接口712中的每一个都使用各种总线互连,并且可以安装在公共主板上或者以其他适当的方式安装。处理器702可以处理用于在计算设备700内运行的指令(包括存储在存储器704或存储设备706中的指令),以在外部输入/输出设备(诸如耦合到高速接口708的显示器716)上显示图形用户界面(graphical user interface,GUI)的图形信息。在其他实施方式中,可以适当地使用多个处理器和/或多个总线、以及多个存储器和多种类型的存储器。并且,可以连接多个计算设备,其中每个设备提供必要操作的一部分(例如,作为服务器组、刀片服务器群或多处理器系统)。
存储器704在计算设备700内存储信息。在一些实施方式中,存储器704是一个或多个易失性存储单元。在一些实施方式中,存储器704是一个或多个非易失性存储单元。存储器704也可以是另一种形式的计算机可读介质,诸如磁盘或光盘。
存储设备706能够为计算设备700提供大容量存储。在一些实施方式中,存储设备706可以是或包含计算机可读介质,诸如软盘设备、硬盘设备、光盘设备或磁带设备、闪速存储器或其他类似的固态存储器设备、或者设备阵列(包括存储区域网络中的设备或其他配置)。计算机程序产品还可以包含指令,当该指令被执行时,执行一种或多种方法,诸如上述方法。计算机程序产品也可以有形地体现在计算机或机器可读介质中,诸如存储器704、存储设备706、或处理器702上的存储器。
高速接口708管理计算设备700的带宽密集型操作,而低速接口712管理较低带宽密集型操作。这种功能分配仅是示例性的。在一些实施方式中,高速接口708耦合到存储器704、显示器716(例如,通过图形处理器或加速器),并耦合到可以接受各种扩展卡(未示出)的高速扩展端口710。在实施方式中,低速接口712耦合到存储设备706和低速扩展端口714。可以包括各种通信端口(例如,通用串行总线(Universal Serial Bus,USB)、蓝牙、以太网、无线以太网)的低速扩展端口714可以例如通过网络适配器耦合到一个或多个输入/输出设备,诸如键盘、定点设备、扫描仪或诸如交换机或路由器的联网设备。
如图所示,计算设备700可以以许多不同的形式实施。例如,计算设备可以实施为标准服务器720,或者在这样的服务器的群中多次实施。另外,计算设备可以在诸如膝上型计算机722的个人计算机中实施。计算设备也可以被实施为机架式服务器系统724的一部分。可替换地,来自计算设备700的组件可以与移动设备(未示出)中的其他组件相结合,诸如移动计算设备750。每个这样的设备可以包含计算设备700和移动计算设备750中的一个或多个,并且整个系统可以由彼此通信的多个计算设备组成。
移动计算设备750包括处理器752、存储器764、诸如显示器754的输入/输出设备、通信接口766和收发器768以及其他组件。移动计算设备750还可以配备存储设备(诸如微驱动器或其他设备),以提供额外的存储。处理器752、存储器764、显示器754、通信接口766和收发器768中的每一个都使用各种总线互连,并且几个组件可以安装在公共主板上或者以其他适当的方式安装。
处理器752可以运行移动计算设备750内的指令,包括存储在存储器764中的指令。处理器752可以实施为芯片的芯片组,该芯片组包括单独的和多个模拟和数字处理器。处理器752可以提供例如移动计算设备750的其他组件的协调,诸如用户界面的控制、移动计算设备750运行的应用以及移动计算设备750的无线通信。
处理器752可以通过耦合到显示器754的控制接口758和显示接口756与用户通信。显示器754可以是例如TFT(Thin-Film-Transistor Liquid Crystal Display,薄膜晶体管液晶显示器)显示器或OLED(Organic Light Emitting Diode,有机发光二极管)显示器、或其他合适的显示技术。显示接口756可以包括用于驱动显示器754向用户呈现图形和其他信息的适当电路。控制接口758可以从用户接收命令,并转换它们以提交给处理器752。另外,外部接口762可以提供与处理器752的通信,从而使得移动计算设备750能够与其他设备进行近区通信。外部接口762可以例如在一些实施方式中提供有线通信,或者在其他实施方式中提供无线通信,并且也可以使用多个接口。
存储器764存储移动计算设备750内的信息。存储器764可以实施为计算机可读介质、易失性存储单元或非易失性存储单元中的一个或多个。还可以提供扩展存储器774,并通过扩展接口772连接到移动计算设备750,扩展接口772可以包括例如SIMM(Single InLine Memory Module,单线存储器模块)卡接口。扩展存储器774可以为移动计算设备750提供额外的存储空间,或者也可以存储用于移动计算设备750的应用或其他信息。具体地,扩展存储器774可以包括执行或补充上述过程的指令,并且还可以包括安全信息。因此,例如,扩展存储器774可以被提供为移动计算设备750的安全模块,并且可以用允许安全使用移动计算设备750的指令来编程。另外,可以经由SIMM卡提供安全应用程序、以及附加信息(诸如以不可破解的方式在SIMM卡上放置识别信息)。
如下所述,存储器可以包括例如闪速存储器和/或NVRAM存储器(non-volatilerandom access memory,非易失性随机存取存储器)。计算机程序产品包含指令,当该指令被执行时,执行一种或多种方法的指令,诸如上述方法。计算机程序产品可以是计算机或机器可读介质,诸如存储器764、扩展存储器774、或处理器752上的存储器。在一些实施方式中,计算机程序产品可以例如通过收发器768或外部接口762以传播信号的形式被接收。
移动计算设备750可以通过通信接口766无线通信,该通信接口766在必要时可以包括数字信号处理电路。通信接口766可以提供各种模式或协议下的通信,诸如GSM语音呼叫(Global System for Mobile communication,全球移动通信系统)、SMS(Short MessageService,短消息服务)、EMS(Enhanced Messaging Service,增强消息服务)或MMS消息(Multimedia Messaging Service,多媒体消息服务)、CDMA(code division multipleaccess,码分多址)、TDMA(time division multiple access,时分多址)、PDC(PersonalDigital Cellular,个人数字蜂窝)、WCDMA(Wideband Code Division Multiple Access,宽带码分多址)、CDMA2000或GPRS(General Packet Radio Service,通用分组无线服务)等。这种通信可以例如使用射频通过收发器768发生。另外,可以发生短程通信,诸如使用蓝牙、WiFi或其他这样的收发器(未示出)。另外,GPS(全球定位系统)接收器模块770可以向移动计算设备750提供附加的导航和位置相关无线数据,这些数据可以被移动计算设备750上运行的应用适当地使用。
移动计算设备750还可以使用音频编解码器760进行可听通信,该音频编解码器760可以从用户接收口头信息并将其转换成可用的数字信息。音频编解码器760同样可以例如通过扬声器为用户生成可听声音,例如,在移动计算设备750的手机中。这种声音可以包括来自语音电话呼叫的声音,可以包括录制的声音(例如,语音消息、音乐文件等),并且还可以包括由在移动计算设备750上运行的应用生成的声音。
如图所示,移动计算设备750可以以许多不同的形式实施。例如,移动计算设备可以被实施为蜂窝电话780。移动计算设备也可以被实施为智能电话782、个人数字助理或其他类似移动设备的一部分。
本文描述的系统和技术的各种实施方式可以在数字电子电路、集成电路、专门设计的ASIC(application specific integrated circuit,专用集成电路)、计算机硬件、固件、软件和/或其组合中实现。这些不同的实施方式可以包括在可编程系统上可执行和/或可解释的一个或多个计算机程序中的实施方式,该可编程系统包括至少一个可编程处理器,该可编程处理器(其可以是专用的或通用的)耦合以从存储系统、至少一个输入设备和至少一个输出设备接收数据和指令,以及向存储系统、至少一个输入设备和至少一个输出设备发送数据和指令。
这些计算机程序(也称为程序、软件、软件应用或代码)包括用于可编程处理器的机器指令,并且可以用高级过程和/或面向对象的编程语言和/或汇编/机器语言来实施。如本文所使用的,术语机器可读介质和计算机可读介质是指用于向可编程处理器提供机器指令和/或数据的任何计算机程序产品、装置和/或设备(例如,磁盘、光盘、存储器、可编程逻辑设备(Programmable Logic Device,PLD)),包括接收机器指令作为机器可读信号的机器可读介质。术语机器可读信号是指用于向可编程处理器提供机器指令和/或数据的任何信号。
为了提供与用户的交互,这里描述的系统和技术可以在计算机上实施,该计算机具有用于向用户显示信息的显示设备(例如,CRT(cathode ray tube,阴极射线管)或LCD(liquid crystal display,液晶显示器)监视器)、以及键盘和定点设备(例如,鼠标或轨迹球),用户可以通过该键盘和定点设备向计算机提供输入。也可以使用其他类型的设备来提供与用户的交互;例如,提供给用户的反馈可以是任何形式的感觉反馈(例如,视觉反馈、听觉反馈或触觉反馈);并且可以以任何形式接收来自用户的输入(包括声音、语音或触觉输入)。
这里描述的系统和技术可以在计算系统中实施,该计算系统包括后端组件(例如,作为数据服务器),或者包括中间件组件(例如,应用服务器),或者包括前端组件(例如,具有图形用户界面或网络浏览器的客户端计算机,用户可以通过其与这里描述的系统和技术的实施方式进行交互),或者这种后端、中间件或前端组件的任意组合。系统的组件可以通过任何形式或介质的数字数据通信(例如,通信网络)互连。通信网络的示例包括局域网(local area network,LAN)、广域网(wide area network,WAN)和因特网。
计算系统可以包括客户端和服务器。客户端和服务器通常彼此远离,并且典型地通过通信网络进行交互。客户端和服务器的关系是借助在各自的计算机上运行并且彼此之间具有客户机-服务器关系的计算机程序产生的。
在这里的系统、方法、设备和其他技术收集关于用户的个人信息(例如,上下文数据)或者可以利用个人信息的情况下,可以向用户提供控制程序或特征是否收集用户信息(例如,关于用户的社交网络、社交动作或活动、职业、用户偏好或用户当前位置的信息)的机会,或者控制是否和/或如何从内容服务器接收可能与用户更相关的内容。另外,在存储或使用某些数据之前,可以以一种或多种方式对其进行处理,从而移除个人可识别信息。例如,可以处理用户的身份,使得不能为用户确定个人可识别信息,或者可以在获得位置信息的地方概括用户的地理位置(诸如城市、邮政编码或州级),使得不能确定用户的特定位置。因此,用户可以控制如何收集关于用户的信息并由内容服务器使用。
尽管上面已经详细描述了各种实施方式,但是其他修改也是可能的。另外,图中描绘的逻辑流程不需要所示的特定顺序或依次顺序来实现期望的结果。另外,可以提供其他步骤,或者可以从所描述的流程中删除步骤,并且可以向所描述的系统添加或从所描述的系统中移除其他组件。因此,其他实施方式也在所附权利要求的范围内。

Claims (20)

1.一种计算机实施的方法,包括:
由第一媒体客户端播放被多播到包括第一媒体客户端和其他媒体客户端的多个媒体客户端的主媒体流;
由第一媒体客户端获得所述主媒体流中在其处(i)辅助节目编排时隙将中断所述主媒体流的回放或者(ii)插入信号将出现的预测位置的指示,所述插入信号指示相应的辅助节目编排时隙将要中断所述主媒体流的回放;
由第一媒体客户端调度用于检索在所述主媒体流中即将到来的辅助节目编排时隙集合期间要播放的辅助媒体项目集合的检索时间,其中第一媒体客户端基于所述主媒体流中在其处(i)辅助节目编排时隙将中断所述主媒体流的回放或者(ii)插入信号将出现的预测位置来调度所述检索时间,所述插入信号指示相应的辅助节目编排时隙将要中断所述主媒体流的回放;
由第一媒体客户端根据所调度的检索时间来检索所述辅助媒体项目集合;以及
对于所述辅助节目编排时隙集合中的每个辅助节目编排时隙,在辅助节目编排时隙期间,从检索到的所述辅助媒体项目集合中播放相应的辅助媒体项目来代替所述主媒体流。
2.根据权利要求1所述的计算机实施的方法,其中:
所述主媒体流中的预测位置指示辅助节目编排时隙将在哪里中断所述主媒体流的回放,并且
第一媒体客户端基于所述主媒体流中在其处辅助节目编排时隙将中断所述主媒体流的回放的预测位置来调度用于检索所述辅助媒体项目集合的检索时间。
3.根据权利要求2所述的计算机实施的方法,其中,获得所述主媒体流中在其处辅助节目编排时隙将中断所述主媒体流的回放的预测位置的指示包括获得辅助节目编排时隙将中断所述主媒体流的回放的预测频率的指示。
4.根据权利要求1所述的计算机实施的方法,其中:
所述主媒体流中的预测位置指示插入信号将在哪里出现,所述插入信号指示相应的辅助节目编排时隙将要中断所述主媒体流的回放,并且
第一媒体客户端基于所述主媒体流中在其处插入信号将出现的预测位置来调度用于检索所述辅助媒体项目集合的检索时间,所述插入信号指示相应的辅助节目编排时隙将要中断所述主媒体流的回放。
5.根据权利要求4所述的计算机实施的方法,其中,获得所述主媒体流中在其处插入信号将出现的预测位置的指示包括获得所述主媒体流中插入信号将出现的预测频率的指示。
6.根据权利要求1所述的计算机实施的方法,其中,调度用于检索在所述主媒体流中即将到来的所述辅助节目编排时隙集合期间要播放的所述辅助媒体项目集合的检索时间包括:调度用于在指示要播放第一辅助媒体项目的第一辅助节目编排时隙将要中断所述主媒体流的回放的插入信号发生之前从所述辅助媒体项目集合中检索第一辅助媒体项目的第一检索时间。
7.根据权利要求1所述的计算机实施的方法,其中:
第一媒体客户端是被配置为在多个频道上接收多个多播视频流的电视客户端,并且
所述主媒体流是所述多个多播视频流之一。
8.根据权利要求7所述的计算机实施的方法,其中,所述电视客户端还被配置为从有线运营商或卫星运营商接收所述多个多播视频流。
9.根据权利要求1所述的计算机实施的方法,还包括基于正在播放的所述主媒体流的身份来确定所述主媒体流中的预测位置。
10.根据权利要求1所述的计算机实施的方法,还包括基于正在播放所述主媒体流的网络或频道的标识符来确定所述主媒体流中的预测位置。
11.根据权利要求1所述的计算机实施的方法,还包括基于一天中的当前时间或一周中的当前日期中的至少一个来确定所述主媒体流中的预测位置。
12.根据权利要求1所述的计算机实施的方法,还包括基于正在播放的所述主媒体流的类型来确定所述主媒体流中的预测位置。
13.根据权利要求1所述的计算机实施的方法,还包括基于正在播放的主媒体项目的长度来确定所述主媒体流中的预测位置。
14.根据权利要求1所述的计算机实施的方法,还包括对预测所述主媒体流中在其处辅助节目编排时隙或插入信号将出现的位置的模型进行训练,其中所述训练包括分析所述主媒体流中在其处辅助节目编排时隙或插入信号出现的历史位置以及这些出现的相应条件。
15.一种系统,包括:
一个或多个处理设备;和
一个或多个计算机可读介质,具有存储在其上的指令,所述指令当由所述一个或多个处理设备执行时使得执行操作,所述操作包括:
由第一媒体客户端播放被多播到包括第一媒体客户端和其他媒体客户端的多个媒体客户端的主媒体流;
由第一媒体客户端获得所述主媒体流中在其处(i)辅助节目编排时隙将中断所述主媒体流的回放或者(ii)插入信号将出现的预测位置的指示,所述插入信号指示相应的辅助节目编排时隙将要中断所述主媒体流的回放;
由第一媒体客户端调度用于检索在所述主媒体流中即将到来的辅助节目编排时隙集合期间要播放的辅助媒体项目集合的检索时间,其中第一媒体客户端基于所述主媒体流中在其处(i)辅助节目编排时隙将中断所述主媒体流的回放或者(ii)插入信号将出现的预测位置来调度所述检索时间,所述插入信号指示相应的辅助节目编排时隙将要中断所述主媒体流的回放;
由第一媒体客户端根据所调度的检索时间来检索所述辅助媒体项目集合;以及
对于所述辅助节目编排时隙集合中的每个辅助节目编排时隙,在辅助节目编排时隙期间,从检索到的所述辅助媒体项目集合中播放相应的辅助媒体项目来代替所述主媒体流。
16.根据权利要求15所述的计算机实施的方法,其中:
所述主媒体流中的预测位置指示辅助节目编排时隙将在哪里中断所述主媒体流的回放,并且
第一媒体客户端基于所述主媒体流中在其处辅助节目编排时隙将中断所述主媒体流的回放的预测位置来调度用于检索所述辅助媒体项目集合的检索时间。
17.根据权利要求16所述的计算机实施的方法,其中,获得所述主媒体流中在其处辅助节目编排时隙将中断所述主媒体流的回放的预测位置的指示包括获得辅助节目编排时隙将中断所述主媒体流的回放的预测频率的指示。
18.根据权利要求15所述的计算机实施的方法,其中:
所述主媒体流中的预测位置指示插入信号将在哪里出现,所述插入信号指示相应的辅助节目编排时隙将要中断所述主媒体流的回放,并且
第一媒体客户端基于所述主媒体流中在其处插入信号将出现的预测位置来调度用于检索所述辅助媒体项目集合的检索时间,所述插入信号指示相应的辅助节目编排时隙将要中断所述主媒体流的回放。
19.根据权利要求18所述的计算机实施的方法,其中,获得所述主媒体流中在其处插入信号将出现的预测位置的指示包括获得所述主媒体流中插入信号将出现的预测频率的指示。
20.一个或多个非暂时性计算机可读介质,具有存储在其上的指令,所述指令当由一个或多个处理器执行时使得执行操作,所述操作包括:
由第一媒体客户端播放被多播到包括第一媒体客户端和其他媒体客户端的多个媒体客户端的主媒体流;
由第一媒体客户端获得所述主媒体流中在其处(i)辅助节目编排时隙将中断所述主媒体流的回放或者(ii)插入信号将出现的预测位置的指示,所述插入信号指示相应的辅助节目编排时隙将要中断所述主媒体流的回放;
由第一媒体客户端调度用于检索在所述主媒体流中即将到来的辅助节目编排时隙集合期间要播放的辅助媒体项目集合的检索时间,其中第一媒体客户端基于所述主媒体流中在其处(i)辅助节目编排时隙将中断所述主媒体流的回放或者(ii)插入信号将出现的预测位置来调度所述检索时间,所述插入信号指示相应的辅助节目编排时隙将要中断所述主媒体流的回放;
由第一媒体客户端根据所调度的检索时间来检索所述辅助媒体项目集合;以及
对于所述辅助节目编排时隙集合中的每个辅助节目编排时隙,在辅助节目编排时隙期间,从检索到的所述辅助媒体项目集合中播放相应的辅助媒体项目来代替所述主媒体流。
CN202010278084.0A 2017-06-22 2018-02-20 用于将辅助媒体项目插入到主媒体流的方法、系统及介质 Active CN111641866B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15/630,254 US10362356B2 (en) 2017-06-22 2017-06-22 Efficient insertion of media items in media streams
US15/630,254 2017-06-22
CN201880024389.XA CN110495182B (zh) 2017-06-22 2018-02-20 计算机实施的方法及媒体客户端设备

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
CN201880024389.XA Division CN110495182B (zh) 2017-06-22 2018-02-20 计算机实施的方法及媒体客户端设备

Publications (2)

Publication Number Publication Date
CN111641866A true CN111641866A (zh) 2020-09-08
CN111641866B CN111641866B (zh) 2021-12-28

Family

ID=61557360

Family Applications (3)

Application Number Title Priority Date Filing Date
CN201880024389.XA Active CN110495182B (zh) 2017-06-22 2018-02-20 计算机实施的方法及媒体客户端设备
CN202110002045.2A Active CN112702645B (zh) 2017-06-22 2018-02-20 用于将辅助媒体项目插入到主媒体流中的方法及系统
CN202010278084.0A Active CN111641866B (zh) 2017-06-22 2018-02-20 用于将辅助媒体项目插入到主媒体流的方法、系统及介质

Family Applications Before (2)

Application Number Title Priority Date Filing Date
CN201880024389.XA Active CN110495182B (zh) 2017-06-22 2018-02-20 计算机实施的方法及媒体客户端设备
CN202110002045.2A Active CN112702645B (zh) 2017-06-22 2018-02-20 用于将辅助媒体项目插入到主媒体流中的方法及系统

Country Status (4)

Country Link
US (3) US10362356B2 (zh)
EP (2) EP4135335A1 (zh)
CN (3) CN110495182B (zh)
WO (1) WO2018236424A1 (zh)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10904640B2 (en) * 2017-11-17 2021-01-26 Enseo, Inc. Content management system and method for use of same
US10904636B2 (en) * 2017-11-17 2021-01-26 Enseo, Inc. Content management system and method for use of same
US10771831B2 (en) * 2017-12-14 2020-09-08 At&T Intellectual Property I, L.P. System and method for preemptive advertisement caching to optimize network traffic
FR3082084A1 (fr) * 2018-05-31 2019-12-06 Orange Lecture de contenu multimedia
US11405662B2 (en) 2019-03-22 2022-08-02 Comcast Cable Communications, Llc Content delivery
CN111294611B (zh) * 2020-01-19 2022-11-29 北京字节跳动网络技术有限公司 视频插入方法、装置、电子设备及计算机可读存储介质
CN113676759B (zh) * 2020-05-13 2024-05-10 西安诺瓦星云科技股份有限公司 媒体添加方法和媒体添加装置
US12120404B2 (en) * 2020-08-14 2024-10-15 Novi Digital Entertainment Private Limited System and method for delivering media content to users
US11496786B2 (en) 2021-01-06 2022-11-08 Hulu, LLC Global constraint-based content delivery network (CDN) selection in a video streaming system
CN115037969B (zh) * 2022-08-12 2022-11-18 道有道科技集团股份公司 基于数据识别的短视频广告投放智能分析系统与方法
US20240064345A1 (en) * 2022-08-16 2024-02-22 Verizon Patent And Licensing Inc. System and method for increasing content insertion opportunities via machine learning
CN118233662A (zh) 2022-12-19 2024-06-21 北京葫芦软件技术开发有限公司 使用代理选择内容分发网络

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101662647A (zh) * 2008-08-26 2010-03-03 松下电器产业株式会社 终端设备、音/视频系统及其方法
CN103414940A (zh) * 2013-08-02 2013-11-27 南京邮电大学 一种互动型网络视频广告播放系统与方法
US20160029050A1 (en) * 2014-07-28 2016-01-28 Adobe Systems Incorporated Hybrid Stream Delivery
CN105659622A (zh) * 2015-12-28 2016-06-08 王晓光 一种视频广告的图像传输方法及系统
US20170019711A1 (en) * 2015-07-13 2017-01-19 International Business Machines Corporation Multiplexing targeted advertisements
US20170142496A1 (en) * 2015-11-18 2017-05-18 Verizon Patent And Licensing Inc. Seamless ad insertion for multicast streams

Family Cites Families (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1996030864A1 (en) 1994-03-23 1996-10-03 Futurevision Of America Corp. Interactive advertising system and device
US8793738B2 (en) 1994-05-04 2014-07-29 Starsight Telecast Incorporated Television system with downloadable features
US5600366A (en) 1995-03-22 1997-02-04 Npb Partners, Ltd. Methods and apparatus for digital advertisement insertion in video programming
EP0965192B1 (en) * 1997-01-06 2007-02-28 Bellsouth Intellectual Property Corporation Method and system for tracking network use
US7346698B2 (en) * 2000-12-20 2008-03-18 G. W. Hannaway & Associates Webcasting method and system for time-based synchronization of multiple, independent media streams
US6901606B2 (en) * 2003-05-20 2005-05-31 Nielsen Media Research, Inc. Method and apparatus for detecting time-compressed broadcast content
WO2007102147A2 (en) * 2006-03-07 2007-09-13 Bitband Technologies Ltd. Personalized insertion of advertisements in streaming media
JP2010522460A (ja) * 2007-03-23 2010-07-01 テレフオンアクチーボラゲット エル エム エリクソン(パブル) テレビ・システムにおけるパーソナライズされた広告を管理する方法及び装置
US7934230B2 (en) 2007-05-04 2011-04-26 Alcatel Lucent IPTV architecture for dynamic commercial insertion
US10356366B2 (en) * 2007-05-31 2019-07-16 Sony Interactive Entertainment America Llc System and method for taking control of a system during a commercial break
US8060904B1 (en) 2008-02-25 2011-11-15 Qurio Holdings, Inc. Dynamic load based ad insertion
US20100036906A1 (en) * 2008-08-05 2010-02-11 Google Inc. Advertisements for streaming media
US8997142B2 (en) * 2009-03-24 2015-03-31 Microsoft Technology Licensing, Llc Advertisement insertion decisions for set top box management of advertisements
GB2473911A (en) * 2009-09-10 2011-03-30 Miniweb Technologies Ltd Content item receiver with advertisement replacement facility
US8910198B2 (en) 2010-06-02 2014-12-09 Time Warner Cable Enterprises Llc Multicast video advertisement insertion using routing protocols
US20130031579A1 (en) * 2011-07-28 2013-01-31 United Video Properties, Inc. Systems and methods for selectively modifying the display of advertisements and providing supplementary media content
US20150181272A1 (en) * 2011-08-26 2015-06-25 Google Inc. System and method for presenting a video stream
US8732745B2 (en) * 2012-10-22 2014-05-20 Sony Corporation Method and system for inserting an advertisement in a media stream
US20140229576A1 (en) * 2013-02-08 2014-08-14 Alpine Audio Now, LLC System and method for buffering streaming media utilizing double buffers
US20140337901A1 (en) * 2013-05-07 2014-11-13 Ericsson Television Inc. Network personal video recorder system, method and associated subscriber device
US20150095964A1 (en) * 2013-10-01 2015-04-02 Opentv, Inc. Bumper video carousel for digital video delivery
US10924781B2 (en) * 2014-06-27 2021-02-16 Satellite Investors, Llc Method and system for real-time transcoding of MPEG-DASH on-demand media segments while in transit from content host to dash client
CN105049896B (zh) * 2015-07-23 2019-11-12 Tcl集团股份有限公司 一种基于hls协议的流媒体广告插入方法及系统
US10638179B2 (en) * 2015-08-06 2020-04-28 At&T Intellectual Property I, L.P. Content insertion in streaming media content
US20170118526A1 (en) * 2015-10-27 2017-04-27 Rovi Guides, Inc. Systems and methods for indicating commercial break in program guide
US10932011B2 (en) * 2016-08-01 2021-02-23 Iheartmedia Management Services, Inc. Media substitution triggered by broadcast watermark

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101662647A (zh) * 2008-08-26 2010-03-03 松下电器产业株式会社 终端设备、音/视频系统及其方法
CN103414940A (zh) * 2013-08-02 2013-11-27 南京邮电大学 一种互动型网络视频广告播放系统与方法
US20160029050A1 (en) * 2014-07-28 2016-01-28 Adobe Systems Incorporated Hybrid Stream Delivery
US20170019711A1 (en) * 2015-07-13 2017-01-19 International Business Machines Corporation Multiplexing targeted advertisements
US20170142496A1 (en) * 2015-11-18 2017-05-18 Verizon Patent And Licensing Inc. Seamless ad insertion for multicast streams
CN105659622A (zh) * 2015-12-28 2016-06-08 王晓光 一种视频广告的图像传输方法及系统

Also Published As

Publication number Publication date
CN110495182B (zh) 2021-01-22
CN112702645A (zh) 2021-04-23
CN112702645B (zh) 2023-07-11
US20190364334A1 (en) 2019-11-28
US20200288197A1 (en) 2020-09-10
EP4135335A1 (en) 2023-02-15
CN111641866B (zh) 2021-12-28
WO2018236424A1 (en) 2018-12-27
US10638191B2 (en) 2020-04-28
US11405685B2 (en) 2022-08-02
EP3580934A1 (en) 2019-12-18
CN110495182A (zh) 2019-11-22
US20180376197A1 (en) 2018-12-27
US10362356B2 (en) 2019-07-23

Similar Documents

Publication Publication Date Title
CN111641866B (zh) 用于将辅助媒体项目插入到主媒体流的方法、系统及介质
US20220159349A1 (en) Methods and apparatus for presenting advertisements during playback of recorded television content
US10992999B2 (en) Techniques for seamless media content switching during fixed-duration breaks
US8607274B2 (en) Meta channel based media system control technology
US8583758B2 (en) Network based format conversion
US8589973B2 (en) Peer to peer media distribution system and method
JP5917508B2 (ja) 休止された再生をプラットフォーム全体にわたって同期化する方法および装置
EP3375192B1 (en) Caching mechanism for repeated content
US8272013B2 (en) Methods, systems, and computer program products for delivering a program in advance of a scheduled broadcast time
US9800923B2 (en) Systems and methods for recording content from a different source when previous content runs over
US9137565B1 (en) Meta channel caching and instant viewing related technology
US8879889B2 (en) Closed captioning content based digital video recording systems and methods
WO2010091089A1 (en) Meta channel based media system control technology
EP2954687A1 (en) System and method for optimizing storage and transcoding costs in network dvr
WO2014152050A1 (en) System and method for optimizing storage and transcoding costs in network dvr
CA3187273A1 (en) Systems and methods for content item insertion
JP4181962B2 (ja) 受信装置及び受信方法
JP4533408B2 (ja) 受信装置及び受信方法
US20240022791A1 (en) Systems and methods to adapt a schedule to be played by a media player

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
GR01 Patent grant
GR01 Patent grant