CN105339922B - 个人过顶网络视频记录器 - Google Patents

个人过顶网络视频记录器 Download PDF

Info

Publication number
CN105339922B
CN105339922B CN201480020878.XA CN201480020878A CN105339922B CN 105339922 B CN105339922 B CN 105339922B CN 201480020878 A CN201480020878 A CN 201480020878A CN 105339922 B CN105339922 B CN 105339922B
Authority
CN
China
Prior art keywords
npvr
inventories
inventory
program
section
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
CN201480020878.XA
Other languages
English (en)
Other versions
CN105339922A (zh
Inventor
K.J.马
R.希基
P.崔代尔
D.比亚吉尼
P.纳瓦利
李熳
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.)
Ericsson AB
Original Assignee
Ericsson AB
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 Ericsson AB filed Critical Ericsson AB
Publication of CN105339922A publication Critical patent/CN105339922A/zh
Application granted granted Critical
Publication of CN105339922B publication Critical patent/CN105339922B/zh
Active 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/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/41Structure of client; Structure of client peripherals
    • H04N21/414Specialised client platforms, e.g. receiver in car or embedded in a mobile appliance
    • H04N21/4147PVR [Personal Video Recorder]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/65Network streaming protocols, e.g. real-time transport protocol [RTP] or real-time control protocol [RTCP]
    • 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/21Server components or server architectures
    • H04N21/218Source of audio or video content, e.g. local disk arrays
    • H04N21/2187Live feed
    • 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/231Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion
    • 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/231Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion
    • H04N21/23109Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion by placing content in organized collections, e.g. EPG data repository
    • 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, manipulating MPEG-4 scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • H04N21/23439Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements for generating different versions
    • 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/26258Content 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 for generating a list of items to be played back in a given order, e.g. playlist, or scheduling item distribution according to such list
    • 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/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/27Server based end-user applications
    • H04N21/274Storing end-user multimedia data in response to end-user request, e.g. network recorder
    • H04N21/2747Remote storage of video programs received via the downstream path, e.g. from the server
    • 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/4334Recording 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/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/435Processing of additional data, e.g. decrypting of additional data, reconstructing software from modules extracted from the transport 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/47217End-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 controlling playback functions for recorded or on-demand content, e.g. using progress bars, mode or play-point indicators or bookmarks
    • 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/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/845Structuring of content, e.g. decomposing content into time segments
    • H04N21/8455Structuring of content, e.g. decomposing content into time segments involving pointers to the content, e.g. pointers to the I-frames of 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/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/845Structuring of content, e.g. decomposing content into time segments
    • H04N21/8456Structuring of content, e.g. decomposing content into time segments by decomposing the content in the time domain, e.g. in time segments
    • 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/854Content authoring
    • H04N21/8547Content authoring involving timestamps for synchronizing content

Abstract

通过操纵共同清单或播放列表,处理并且存储实时流播视频内容用于内容的实时交付、内容的未来VoD查看以及内容的时移查看。之前存储的内容可重新排序和/或重新组合以便提供个性化内容查看体验。

Description

个人过顶网络视频记录器
技术领域
本发明一般涉及过顶(over-the-top,OTT)媒体交付。
背景技术
对于OTT媒体交付的一个已知技术采用媒体对象分段和由客户端(或它们的代理)使用播放列表或“清单”以为了媒体对象的本地客户端重放而采用有序方式检索段。除其他益处外,基于段的交付可以更容易由通用且广泛实现的网络协议(例如HTTP)提供,从而避免伴随更专用媒体交付协议的各种成本和复杂性。
发明内容
公开与实时交付、时移交付和未来按需视频(VoD)交付一起使用的实时流播内容的一次性处理的技术。该技术可大体上称为“网络个人视频记录器”或“npvr”。特别地,公开的技术采用客户端代理,其大量使用清单来向客户端装置提供各种交付功能。在使用清单中利用不同交付模式之中的某些共性,使得清单操纵功能可以在操作中跨不同用户调节。
特别地,公开对内容的服务器端处理来支持网络个人视频记录器功能的方法。该方法包括持续执行以下步骤:(i)获取包含节目的实时流播源内容,(ii)将获取的源内容转码成截然不同的编码来创建相应的内容流,以及(iii)将内容流分段成段并且将这些段上传到一个或多个内容交付网络(CDN)以用于在媒体播放器处渲染节目中检索和使用。在这里“节目”指实时流播内容的部分。它可对应于或可不对应于通常意义上的“节目”,例如电视演出等。节目边界可通过各种手段来检测,其包括带内SCTE-35提示音、带外信号等。
方法进一步包括对节目生成清单并且持续更新清单并且在将段上传到CDN时向CDN上传更新的清单。清单包括主清单和对于编码中相应编码的网络个人视频记录器(npvr)清单集,其中主清单包括对npvr清单集的引用,用于使得能够在媒体播放器处渲染节目中从编码之中选择,并且npvr清单是在上传新的段时更新的逐渐增长的非滑动窗口清单。
在源内容中检测到节目的节目边界时,在CDN的当前目录中完成npvr清单的当前集。然后在CDN中创建新的目录并且新的npvr清单集在这些新的目录中开始。后续段和npvr清单更新被上传到新的目录。
还公开用于渲染在一个或多个截然不同的编码中可用的内容的客户端方法,这些编码每个包括相应的有序段集。该方法包括代理从媒体播放器到内容服务器的清单请求、为要交付的请求内容选择优选编码、确定满足内容请求所需要的npvr清单集以及获得选择的与所选编码关联的npvr清单集中的一个或多个npvr清单规定相应编码的段的位点。从选择的npvr清单还创建变体清单并且将其提供给媒体播放器以供在获得相应编码段中使用以用于内容重放。可采用不同类型的变体清单来支持不同功能性,其包括滑动窗口型变体清单(即,从npvr清单生成),用于实时流播或时移重放。非滑动窗口型变体清单(即,npvr清单的修改版本)可以用于支持预录媒体的交付,例如,按需视频。
附图说明
前述和其他目标、特征和优势将从如在附图(其中类似的参考字符在不同视图中始终指相同零件)中图示的本发明的特定实施例的下列描述显而易见。
图1是根据各种实施例能够实施端到端内容交付过程的系统的框图;
图2是根据各种实施例能够实施端到端内容交付过程的系统的框图;
图3是示出根据各种实施例用于执行媒体预备的方法的流程图;
图4是示出根据各种实施例用于执行实时内容渲染的方法的流程图;
图5A和5B是示出根据各种实施例用于执行时移内容渲染的方法的流程图;以及
图6是示出根据各种实施例用于执行VoD内容渲染的方法的流程图。
具体实施例方式
在本文对于实施例的描述中,提供许多特定细节,例如部件和/或方法的示例,来提供全面理解。然而,相关领域内技术人员将认识到实施例可以在没有特定细节中的一个或多个的情况下或利用其他设备、系统、组件、方法、部件、材料、零件和/或类似物来实践。在其他实例中,未专门示出或详细描述众所周知的结构、材料或操作以避免使实施例的方面混淆不清。
图1中是对于系统100的一个实施例的框图。该系统具有多个网络连接的部件,其包括工作流程管理器(WFM)102、媒体处理服务器或“包装器”104、流播代理106、内容交付网络(CDN)108、客户端媒体播放器或“客户端”110和内容管理系统(CMS)112。它还包括广告决策管理器(ADM)114,其具有到代理106的连接。在图示的实施例中,代理106与客户端110分开-它可定位在远离其中定位客户端110的客户端型计算机(个人计算机,等)的服务器型计算机中。在下文描述的备选实施例中,代理106可作为客户端110的部分而包括。
一般,系统操作成使用例如HTTP实时流播(HLS)、基于HTTP的动态自适应流播(DASH)、SmoothStreaming(平滑流播)等基于段的内容交付机制或任何其他HTTP自适应流播(HAS)协议来将内容从CDN 108交付给客户端110如本领域内技术人员应已知的。术语“基于段”应理解为意指比视频的全持续时间或长度更小的视频数据单位。尽管“段”文件与文件内的“片段”之间的语义区分应被本领域内技术人员所知,这里使用的术语“段”应理解为同样适用于段、片段、块等(如由指定协议描述的)-从较长内容块得到的部分视频数据单位。客户端110请求如由播放列表或“清单”描述的段,如本领域内大体上已知的。如在下文详细描述的,代理106在创建和使用清单来向客户端110提供某些重放功能中牵涉较多。
工作流程管理器(WFM)102从内容管理系统(CMS)112接收实时流播内容摄入请求。WFM 102指示包装器104开始处理实施流播内容、将内容转码成如由CMS 112定义并且通过WFM 102配置的多个截然不同的编码(例如,以不同比特率/帧率/分辨率的音频或视频、采用不同语言或字幕的音频或不同的加密算法或密钥)、对个体比特率流分段、对段加密以及将段上传到多个内容交付网络(CDN)108。
媒体处理服务器104(在本文称为包装器104)从WFM 102接收的编码配置生成主清单。包装器104对每个编码生成变体清单(在本文称为npvr清单)。对于指定编码的npvr清单是在生成对于编码的每个段时更新的非滑动窗口清单。段被上传并且然后npvr清单也被上传。npvr清单在大小上增长直到节目是完成的。在节目完成时,清单终结并且对下一个节目创建新的节目目录和新的npvr清单。每个新的清单包含到之前的有序npvr清单的指针。在清单终结时,用对下一个有序npvr清单的指针来更新它。
术语“节目”在本文主要用于描述对应于npvr清单的实时流播内容的部分。它可或可不对应于一般意义上的“节目”,例如电视演出等。在一个实施例中,节目边界经由带内SCTE-35提示音来检测。在另一个实施例中,节目边界基于带外SCTE-118或专有电子节目指南(EPG)协议数据来检测。在另一个实施例中,节目边界使用固定节目持续时间来定期生成(例如,每30分钟)。在另一个实施例中,节目可由用户通过提供固定时间范围(例如,规定对于记录的开始和结束时间或对于记录的开始时间和持续时间)来定义。如本领域内技术人员应已知的,存在定义节目边界的多种方式。应理解节目边界检测的任何方法可适用于本发明。
在一个实施例中,对于仅具有一个段的新节目的初始npvr清单可使用M3U8格式而看起来如下:
npvr清单用节目信息和到之前的npvr清单的指针来初始化。
在一个实施例中,挂钟时戳信息作为对于每个段的注释而包括。在一个实施例中,加密密钥ID信息作为对于每个段的注释而包括。在一个实施例中,评级信息被作为对于每个段的注释来包括。如本领域内技术人员应已知的,存在许多方式来代表挂钟时间、密钥信息和评级信息。对于挂钟时间、密钥信息和评级信息的任何有效表示应视为有效地与本发明一起使用。
继续上文描述的实施例的示例,在十秒(一个段持续时间)后,npvr清单应用第二段来更新并且看起来如下:
继续对于上文描述的实施例的示例,一旦节目稍后完成599个段,完成的清单将看起来如下:
npvr清单用到下一个有序npvr清单的指针和ENDLIST标记来更新。在上文的示例中,密钥旋转在某一点出现,从而对于最后段的加密密钥ID与第一段的加密密钥ID不同。
在一个实施例中,目录结构节目基于节目边界、处理节目的日期和时间以及源流ID和转码比特率而是分级的,例如:
其中<media_id>标识源流,<year>、<month>和<day>代表处理初始节目段的日期,<zp_seq>-<pid>代表对于词典编篡排序具有零填充序号的节目标识符,<bitrate>代表转码比特率(尽管更一般地描述编码,例如不同的比特率/分辨率音频/视频、不同的语言音频和字幕,和/或不同的加密算法),并且<limit>代表目录大小限制对于长运行节目可减弱的额外水平。在一个实施例中,<pid>对应于用于使节目元数据相关的唯一标识符。在一个实施例中,节目标识符可包含额外关系元数据,其使节目与以下中的一个或多个关联:特定内容提供者,特定节目系列、个别节目片段、在指定时间播放的节目的唯一实例,等。应理解节目标识符在该上下文中是对于要处理的npvr节目的通用标识符并且不一定与对于通用术语节目或在指定元数据定义的上下文内使用的术语节目的指定语义含义相关,如本领域内技术人员应已知的。在一个实施例中,当节目边界基于固定节目持续时间而确定时,<pid>可指示节目开始的挂钟时间。
在一个实施例中,npvr清单是HTTP实时流播变体清单。清单的完成牵涉将ENDLIST标记添加到npvr清单的末端并且添加注释以指向新节目目录中的下一个有序npvr清单。新的npvr清单应用指向刚刚完成的之前的有序npvr清单的注释来初始化。在一个实施例中,在节目边界上生成新的加密密钥并且对该新密钥的引用包括在新的npvr清单中。在另一个实施例中,最后的加密密钥从之前的npvr清单延续并且对应地生成初始化向量(IV)信息。在一个实施例中,IV信息在MEDIA-SEQUENCE标记中设置。在另一个实施例中,IV信息用KEY标记来显式设置。在一个实施例中,包装器104在与npvr清单中的每个段关联的注释中插入挂钟时戳、加密密钥和评级信息。在再另一个实施例中,在节目中间可存在密钥改变并且延续到下一个节目。
在一个实施例中,包装器104检测实时内容流中的广告。在一个实施例中,包装器104基于带内消息(例如,SCTE-35提示音)来检测广告。在另一个实施例中,使用挂钟开始时间和持续时间或对于广告的结束时间来告知包装器104广告播放时间的先验带外(prioriout-of-band)。如本领域内技术人员应已知的,存在多个方式来定义广告边界。应理解广告边界检测的任何方法可适用于本发明。在一个实施例中,广告开始和停止作为注释和/或间断指示符而包括在npvr清单中。在一个实施例中,即将到来的广告开始和停止指示符作为注释包括在npvr清单中。扩展上文的M3U8示例,下列清单示出这样的示例,其中节目出点(POP)间断(广告开始)和节目入点(PIP)间断(广告结束)通知在段1006(广告的第一段)之前和段1008(广告的最后的段)之后插入npvr清单内,从而标注由于广告插入引起的流中的可能间断。对于段1005和1008的EXT-AZK-SEG注释也分别标注即将到来的PIP和POP:
当客户端110希望重放实时流播内容时,它向代理106发出对主清单的请求。代理106使用从WFM 102收集的信息来对客户端110生成主清单。在一个实施例中,代理106访问由包装器104生成的主清单,其被包装器104放置在CDN 108中。主清单包含指向与可用变体流编码关联的不同npvr清单(例如,不同的比特率/分辨率音频/视频和/或不同的语言音频和字幕)的URL列表。在一个实施例中,从WFM 102收集的信息包括权利信息,其限制主清单中所包括的编码(例如,基于对于内容或对于特定客户端110的最大可允许比特率/分辨率来限制比特率/分辨率,例如在国际专利申请出版WO 2011/139305中描述的)。向客户端110返回主清单,该客户端110然后挑选编码用于重放并且向代理106发出对于变体流清单的请求。代理106使用例如在US专利申请出版US 2012/0240176中示出的技术从CDN 108中的一个检索当前npvr清单。代理106然后基于检索的npvr清单中的信息来生成变体清单。
根据当前重放模式,npvr清单的解析和变体清单的生成不同,如下文描述的。然后向客户端110返回变体清单。
1. 实时重放
如果超过必需数量的N个段(例如,3个)在最新的npvr清单中可用,代理106将修整开始段,从而仅留下N个段(相应地调整加密密钥信息,例如通过选择在当前段之前规定的最后的密钥并且根据需要应用正确的IV,如本领域内技术人员应熟悉的)并且向客户端110返回滑动窗口清单。使用来自之前的示例的M3U8清单,假设仅节目Y的前300个段被包装器104处理,代理106将使用最后三个段生成下列清单:
如果最新的npvr清单包含少于N个段,代理106将使用之前的npvr清单指针来检索之前的npvr清单并且在必要时从之前的npvr清单抽取额外段来生成滑动窗口清单(相应地调整加密密钥信息,例如通过选择在当前段之前规定的最后的密钥并且根据需要应用正确的IV,如本领域内技术人员应熟悉的)并且向客户端110返回滑动窗口清单。使用来自之前的示例的M3U8清单,假设仅节目Y的第一段被包装器104处理,代理106将使用来自节目Y的第一段和来自之前的节目X的两个段生成下列清单:
2. 时移重放(暂停、倒带、快进)
当客户端110希望在查看实时流播内容时暂停或倒带,或随后在查看实时流播内容时在暂停或倒带后快进,它向代理106发出对应的请求。在一个实施例中,客户端110将重启媒体播放器。当媒体播放器重启时,它将发出对于主清单和变体清单的新请求。当代理106在重启后接收新清单请求时,它将基于暂停/倒带/快进请求生成新的清单。在另一个实施例中,客户端110将允许媒体播放器继续而不重启。在该情况下,媒体播放器将在经过段持续时间后自然地请求新的变体清单,如本领域内技术人员应已知的。
在一个实施例中,在接收暂停请求时,代理106存储对于当前段的当前npvr清单位点、当前段号和对应挂钟时戳。在下一个清单请求时,代理106使用存储的段号来对客户端110生成滑动窗口清单。在另一个实施例中,客户端110发送对应于下一个清单请求中的暂停请求的挂钟时戳。在一个实施例中,挂钟时戳计算为对应于上个重放动作(即,开始、暂停、倒带、快进)的视频位置的挂钟时间加上自上个重放动作(例如,以自由运行计时器为基础或使用与媒体播放器的呈现时戳差异)以来重放的持续时间。如本领域内技术人员应已知的,存在跟踪重放位置和进度的许多方法,应理解用于确定重放位置(即,对应于上个重放动作的挂钟时间)的任何方法应适合于本发明。
在一个实施例中,代理106将找到跟随存储的段号(考虑节目边界并且使用下一个npvr清单指针来分辨边界交叉并且在必要时调整加密密钥,例如通过选择在当前段之前规定的最后密钥并且根据需要应用正确的IV,如本领域内技术人员应熟悉的)的下一个段并且生成滑动窗口清单。在另一个实施例中,代理106将找到具有最新关联挂钟时戳(其超出保存的挂钟时戳)或清单请求中所包括的挂钟时戳的段。使用来自之前的示例的M3U8清单,假设客户端110在实时查看流并且最后呈现有在它请求暂停时在段seg-01100中结束的滑动窗口请求,并且持续2分钟未恢复重放:最新的实时段(假设未生成短的段,例如由于广告边界截断)将是seg-01220,并且启动新的播放器将生成这样的滑动窗口清单,其包含段seg-01220、seg-01219和seg-01218,然而,由代理106生成的暂停后清单将包含seg-01099、seg-01100和seg-01101,从而允许客户端110在它中断的地方继续。如果客户端110未实时查看流,但由于之前已经暂停/倒带/快进,使用已经呈现给客户端110媒体播放器的最新段,原理同样适用。
在一个实施例中,在接收倒带请求时,代理106使用当前段号和对于当前段的对应挂钟时戳以基于用户希望倒带的秒数来计算目标挂钟时间。在另一个实施例中,客户端110发送对应于下一个清单请求中的倒带操作的目标挂钟时间的挂钟时戳。在一个实施例中,目标挂钟时戳计算为对应于上个重放动作(即,开始、暂停、倒带、快进)的视频位置的挂钟时间加上自上个重放动作以来的重放持续时间(例如,以自由运行计时器为基础或使用与媒体播放器的呈现时戳差异)减去用户希望倒带的秒数。如本领域内技术人员应已知的,存在跟踪重放位置和进度的许多方法,应理解用于确定目标挂钟时间的任何方法应适合于本发明。
使用目标挂钟时间,代理通过搜索npvr清单来确定对应于挂钟时间的段号。在一个实施例中,如果目标挂钟时间未驻存在当前npvr清单中,代理106使用之前的npvr清单指针以通过使npvr清单链指针走动直到找到包含目标挂钟时间的npvr清单来找到包含目标段(其对应于目标挂钟时间)的npvr清单。代理106然后存储目标-npvr清单位点连同目标段号和对应的目标挂钟时间。在另一个实施例中,代理106使用由WFM 102提供的信息来确定与保存的挂钟时戳或清单请求中包括的挂钟时戳关联的npvr清单。在一个实施例中,代理106定期使来自WFM 102的npvr清单信息同步(例如,使用流播数据库复制)。在另一个实施例中,代理106从由WFM 102管理和更新的共享分布式数据库检索npvr清单信息。
在一个实施例中,代理106使用存储的目标段号来生成对于客户端110的滑动窗口清单(考虑节目边界并且使用下一个npvr清单指针来分辨边界交叉并且在必要时调整加密密钥信息,例如通过选择在当前段之前规定的最后密钥并且根据需要应用正确的IV,如本领域内技术人员应熟悉的)。在另一个实施例中,代理106将找到具有最新关联挂钟时戳(其超出保存的目标挂钟时戳或清单请求中所包括的目标挂钟时戳)的段。使用来自之前示例的M3U8清单,假设客户端110在实时查看流并且最后呈现有在它请求30秒的倒带时在段seg-01100中结束的滑动窗口清单。通常(假设未生成短的段,例如由于广告边界截断),后续清单请求将生成这样的滑动窗口清单,其包含段seg-01101、seg-01100和seg-01099,然而,由代理106生成的倒带后清单将包含段seg-01097、seg-01096和seg-01095,从而允许客户端110(重新)查看之前渲染的内容。如果客户端110不在实时查看流,但由于之前已经暂停/倒带/快进,使用呈现给客户端110媒体播放器的最新段,原理同样适用。
快进操作与倒带相似。在一个实施例中,在接收快进请求时,代理106使用当前段号和对于当前段的对应挂钟时戳以基于用户希望快进的秒数来计算目标挂钟。在另一个实施例中,客户端110发送挂钟时戳,其对应于下一个清单请求中快进操作的目标挂钟时间。在一个实施例中,目标挂钟时戳计算为对应于上个重放动作(即,开始、暂停、倒带、快进)的视频位置的挂钟时间加上自上个重放动作以来重放的持续时间(例如,以自由运行计时器为基础或使用与媒体播放器的呈现时戳差异)加上用户希望快进的秒数。如本领域内技术人员应已知的,存在跟踪重放位置和进度的许多方法,应理解用于确定目标挂钟时间的任何方法应适合于本发明。
使用目标挂钟时间,代理通过搜索npvr清单来确定对应于挂钟时间的段号。在一个实施例中,如果目标挂钟时间未驻存在当前npvr清单中,代理106使用下一个npvr清单指针以通过使npvr清单链指针走动直到找到包含目标挂钟时间的npvr清单来找到包含目标段(其对应于目标挂钟时间)的npvr清单。代理106然后存储目标-npvr清单位点连同目标段号和对应的目标挂钟时间。在另一个实施例中,代理106使用由WFM 102提供的信息来确定与保存的挂钟时戳或清单请求中包括的挂钟时戳关联的npvr清单。在一个实施例中,代理106定期使来自WFM 102的npvr清单信息同步(例如,使用流播数据库复制)。在另一个实施例中,代理106从由WFM 102管理和更新的共享分布式数据库检索npvr清单信息。
在一个实施例中,代理106使用存储的目标段号来生成对于客户端110的滑动窗口清单(考虑节目边界并且使用下一个npvr清单指针来分辨边界交叉并且在必要时调整加密密钥信息,例如通过选择在当前段之前规定的最后密钥并且根据需要应用正确的IV,如本领域内技术人员应熟悉的)。在另一个实施例中,代理106将找到具有最新关联挂钟时戳(其在保存的目标挂钟时戳或清单请求中所包括的目标挂钟时戳之前)的段。如果目标挂钟时间代表将来超出由包装器104生成的最新段的挂钟时戳的挂钟时间,代理106转回实时查看并且使用最新N个段生成滑动窗口清单(考虑节目边界并且使用下一个npvr清单指针来分辨边界交叉并且在必要时调整加密密钥信息,例如通过选择在当前段之前规定的最后密钥并且根据需要应用正确的IV,如本领域内技术人员应熟悉的)。使用来自之前示例的M3U8清单,假设客户端110在已经暂停或倒带后查看流,其中在客户端110请求30秒的快进时,呈现给客户端110媒体播放器的最后滑动窗口清单在段seg-01100中结束,并且由包装器104生成的最新段是seg-01200。在没有快进的情况下,后续时移清单请求将生成这样的滑动窗口清单,其包含段seg-01101、seg-01100和seg-01099,然而,由代理106生成的快进后清单(假设未生成短的段,例如由于广告边界截断)将包含段seg-01104、seg-01103和seg-01102,从而允许客户端110往前跳跃。在快进情况下,因为实时快进没有效果,客户端110不可实时查看流。
3. 记录内容(VOD)的重放
在该章节中,术语“节目”指对于指定npvr清单的内容以及客户端所请求的重放单位(其可是不同的)两者。从上下文将清楚要意指哪个意思。
在客户端110希望重放之前记录的节目(其已经从实时内容流记录)时,它向代理106发出对主和变体清单的请求。在处理变体清单请求中,如果由包装器104生成的完整npvr清单包含用于重放请求节目所需要的所有段和密钥信息,以及仅仅对于请求节目的段和密钥信息,代理将来自CDN 108的npvr清单透明地返回给客户端110。
如果由包装器104生成的单个完整npvr清单包含超过必需数量的段,代理106从npvr清单的开始和结束修整段(相应地调整加密密钥信息,例如通过选择在指定段之前规定的最后密钥并且根据需要应用正确的IV,如本领域内技术人员应熟悉的)来创建对应于期望节目的清单并且将它返回给客户端110。使用来自之前示例的M3U8清单,我们可以从节目Y的开始和结束修整两分钟来生成下列清单:
如果节目跨越多个npvr清单文件,代理106使用下一个和/或之前的npvr清单指针来定位必需的npvr清单文件,然后使段信息串联并且从开始和结束削掉任何多余段(相应地调整加密密钥信息,例如通过选择在指定段之前规定的最后密钥并且根据需要应用正确的IV,如本领域内技术人员应熟悉的)来对期望节目生成清单并且返回给客户端110。在一个实施例中,节目边界由挂钟时戳定义。在一个实施例中,开始段确定为包含开始挂钟时戳的段,而结束段确定为包含结束挂钟时戳的段。使用来自之前示例的M3U8清单,我们可以从之前的节目X和下一个节目Z两者抽取额外的两分钟来生成下列清单,其跨越三个npvr清单(即,http://.../001-X,http://.../002-Y和http://.../003-Z):
在一个实施例中,对于变体清单中的段的基URL被修改以指向代理106,其中段被高速缓存以用于离线重放。在一个实施例中,生成的对于节目的主和变体清单在从CDN 108初始检索并且随后来自本地高速缓存时在代理106中本地高速缓存。在一个实施例中,段从CDN 108预先提取并且随后来自本地高速缓存。
4. 广告替换
在一个实施例中,如npvr清单包含广告指示符,代理106可用为查看内容的个体个性化的广告替换来自源实时内容的原始广告。在一个实施例中,包装器104将指示广告边界的位置的注释插入npvr清单,如例如在国际专利申请出版WO 2010/111261中示出的。在一个实施例中,在即将到来的广告的npvr清单中检测到注释时,代理106将向广告决策管理器(ADM)114发出请求并且ADM 114将用备选广告做出响应来呈递。在一个实施例中,ADM 114对备选广告提供段位点。在另一个实施例中,代理106从WFM 102请求对于备选广告的段位点。当代理106生成清单文件以呈现给客户端110媒体播放器时,它将用对于备选广告的段URL替换来自npvr清单的段URL。
扩展之前的实时重放示例,代理106将如下生成一系列清单,从而用备选广告段替换段1006至1008(相应地调整加密密钥信息,例如通过选择在指定段之前规定的最后密钥并且根据需要应用正确的IV,如本领域内技术人员应熟悉的):
在一个实施例中,由WFM 102对代理106提供多个ADM服务器114。在一个实施例中,代理106所选的优选ADM 114基于简单的轮询方案。在另一个实施例中,对于每个ADM 114的优先级由WFM 102提供并且代理106使用加权轮询方案来选择优选ADM 114。在另一个实施例中,代理106基于随机选择来选择优选ADM 114。如本领域内技术人员应已知的,存在用于从服务器列表选择优选服务器的许多算法。应理解用于选择优选ADM 114的任何方法应视为有效地与本发明一起使用。
图2中是对于另一个实施例的框图。系统200与系统100相同,所不同的是嵌入客户端110内的代理。
图3中是对于在包装器104处执行、用于处理实时流播内容并且生成npvr清单以供在实时、时移或VoD重放中使用的过程300的流程图。
在步骤302中,包装器104处理下一个段,其中该段从转码的实时流播输入编译。在一个实施例中,生成具有固定目标持续时间的段。在一个实施例中,段可比固定目标持续时间更短,例如,节目边界或广告边界之前的最后的段可缩短使得该节目或广告边界之后的第一段在新的段边界上开始。在一个实施例中,节目边界信息和/或广告边界信息经由SCTE-35提示音而带内提供。在另一个实施例中,节目边界信息和/或广告边界信息经由SCTE-118、SCTE-130或其他专有信令协议而带外提供。如本领域内技术人员应已知的,存在信号传递节目边界信息和/或广告边界信息的许多方式。应理解用于检测节目边界信息和/或广告边界信息的任何方法应视为有效地与本发明一起使用。
在步骤304中,包装器104检查来看看是否达到节目边界或广告边界。如果还未达到节目边界或广告边界,处理持续到步骤308,在这里当前npvr清单用新的段信息更新并且在新的段上传到CDN 108后上传到CDN 108。如果达到节目边界或广告边界,处理持续到步骤306,其中在行进到步骤308之前包装器在CDN 108中为下一个节目创建新的目录、用新的段信息更新当前npvr清单、通过添加下一个npvr清单指针和ENDLIST标记来完成当前npvr清单并且为新的节目创建新的npvr清单文件,其中段和两个清单(当前和新的)上传到CDN108。
图4中是描述在代理106处执行、用于对客户端110生成滑动窗口清单文件以用于实时流播内容的实时重放的过程400的流程图。
在步骤402中,代理106从客户端110接收对于主清单的请求。主清单包含变体清单URL列表,其对应于不同的可用编码(例如,不同的比特率/分辨率音频/视频和/或不同的语言音频和字幕)。在一个实施例中,变体清单URL回指代理106。在一个实施例中,变体清单URL包含主清单请求的挂钟时戳。在一个实施例中,代理106基于由WFM 102提供的信息来确定可用比特率。在另一个实施例中,代理106基于由包装器104产生并且放置在CDN 108中的主清单来确定可用比特率。在一个实施例中,代理106确定要呈现给客户端110的比特率子集。在一个实施例中,比特率集基于由WFM 102为客户端110配置的用户限制而确定。在另一个实施例中,比特率集基于由WFM 102提供的网络限制而确定。在另一个实施例中,比特率集基于由代理106基于清单请求的聚集数量和在指定时间窗口(例如,最后30秒)内看到的它们的对应比特率而估计的当前网络负载来确定。对于这些操作的技术在国际专利申请出版WO 2011/139305中描述。代理106向客户端110返回主清单并且行进到步骤404。
在步骤404中,代理106从客户端110接收变体清单请求,例如特定比特率。在一个实施例中,代理106选择CDN 108,客户端110应从其检索段。在一个实施例中,CDN 108基于由WFM 102提供的严格优先级排定而选择。在另一个实施例中,CDN 108基于轮询或加权轮询方案而选择,其中权重由WFM 102提供。在另一个实施例中,CDN 108基于对于清单的聚集延迟测量和/或由代理106在指定时间窗口(例如,最后30秒)内执行的段检索而选择。CDN108基于对于清单的聚集带宽测量和/或由代理106在指定时间窗口(例如,最后30秒)内执行的段检索而选择。CDN选择的技术在US专利申请出版US 2012/0240176中描述。在一个实施例中,代理106选择比特率以服务于客户端110,其中比特率可低于客户端110所请求的比特率。在一个实施例中,比特率基于由WFM 102为客户端110配置的用户限制而确定。在另一个实施例中,比特率基于由WFM 102提供的网络限制而确定。比特率选择的技术在国际专利申请出版WO 2011/139305中描述。在另一个实施例中,比特率基于由代理106基于清单请求的聚集数量和在指定时间窗口(例如,最后30秒)内看到的它们的对应比特率而估计的当前网络负载来确定。在另一个实施例中,比特率基于对于清单的聚集延迟测量和/或由代理106在指定时间窗口(例如,最后30秒)内执行的从CDN 108的段检索而选择。在另一个实施例中,比特率基于对于清单的聚集带宽测量和/或由代理106在指定时间窗口(例如,最后30秒)内执行的从CDN 108的段检索而选择。
在步骤404中,代理106还确定满足请求所需要的段范围。在一个实施例中,代理106存储来自之前的清单清单或来自之前的重放动作(即,暂停、播放、倒带、快进)的段范围。在另一个实施例中,客户端110对之前的重放动作(即,暂停、播放、倒带、快进)提供目标挂钟时间。在一个实施例中,客户端110在每个重放动作重启媒体播放器,这导致新的主清单请求,这导致生成有对于该重复动作的当前挂钟时间的新的变体清单URL。在另一个实施例中,挂钟时戳由客户端110计算为对应于上个重放动作(即,暂停、播放、倒带、快进)的视频位置的挂钟时间加上自上个重放动作以来重放的持续时间(例如,以自由运行计时器为基础或使用与媒体播放器的呈现时戳差异),分别加上或减去用户希望快进或倒带的秒数。如本领域内技术人员应已知的,存在跟踪重放位置和进度的许多方法,应理解用于确定目标挂钟时间的任何方法应适合于本发明。
一旦确定段范围并且已经选择比特率和CDN,处理持续到步骤416,其中代理106检查来看看已经高速缓存的npvr清单文件是否包含满足请求的必需段信息。如果已经高速缓存的npvr清单文件不包含必需的段信息,处理持续到步骤418,在这里代理106检索需要的npvr清单文件。如果客户端110当前在播放实时流播内容,代理106从所选的CDN 108为所选的比特率检索最新npvr清单。在一个实施例中,代理106仅检索它还没有高速缓存的最新npvr清单的部分。在一个实施例中,代理106使用HTTP范围请求以仅检索从一开始的大于之前检索直到文件当前末端的最后字节的那些字节。否则,如果客户端110当前不在播放实时流播内容,必须确定需要的npvr清单的位点。在一个实施例中,代理106使用下一个npvr清单指针以通过使npvr清单链指针走动直到找到包含目标挂钟时间的npvr清单来找到包含目标段(其对应于目标挂钟时间)的npvr清单。这可需要从所选的CDN 108检索多个npvr清单文件。在另一个实施例中,代理106使用由WFM 102提供的信息来确定与目标挂钟时间关联的npvr清单。在一个实施例中,代理106定期使来自WFM 102的npvr清单信息同步(例如,使用流播数据库复制)。在另一个实施例中,代理106从由WFM 102管理和更新的共享分布式数据库检索npvr清单信息。一旦确定需要的npvr清单位点,代理106从所选的CDN 108为所选的比特率检索需要的npvr清单。
如果找到在步骤416中本地高速缓存的必需段,处理直接持续到步骤410。否则,在检索需要的npvr清单后,处理持续到步骤410,在这里代理106检查来看看在当前npvr清单中是否存在足够段来生成滑动窗口清单。如果存在足够的段,处理持续到步骤412,在这里代理106使用之前的npvr清单来得到必要数量的段(例如,三个)来生成滑动窗口清单。如果之前的npvr清单未被本地高速缓存,代理106使用之前的npvr清单指针URL来检索之前的npvr清单。在一个实施例中,代理106总是高速缓存两个最新npvr清单文件使得它可以容易应对边界交叉状况。在一个实施例中,代理106高速缓存所有之前下载的完整npvr清单文件。
如果在步骤410中在当前清单中找到必需的段,处理直接持续到步骤406。否则,在查阅之前的npvr清单后,处理持续到步骤406,在这里代理106检查来看看当前npvr清单现在是否是完整的。如果当前npvr清单是完整的,处理持续到步骤408。在一个实施例中,在持续到步骤414之前,代理106维持会话状态并且将当前清单更新为下一个npvr清单指针所指示的下一个npvr清单。如果npvr清单在步骤406中不是完整的,处理直接持续到步骤414。
在步骤414中,代理106生成包含所选的N个段的滑动窗口清单并且向客户端110返回它。在一个实施例中,如果当前滑动窗口清单包含广告段,当在步骤414中生成滑动窗口清单时,代理106用备选广告段来替换在npvr清单中规定的段。在一个实施例中,代理106基于npvr清单中的注释来检测即将到来的广告。在一个实施例中,代理106向ADM 114发出请求来确定向客户端110呈现哪个备选广告。在一个实施例中,备选广告段位点由ADM 114规定。在另一个实施例中,代理106对于由ADM 114规定的备选广告从WFM 102检索备选广告段位点。
图5A和5B中是描述在代理106处执行、用于应对来自客户端110的重放动作请求(即,暂停、播放、倒带和快进)以实现实时流播内容的时移重放的过程500A和500B的流程图。如之前指出的,对于倒带和快进大致紧接着并且在暂停情况下恢复重放时,这些重放动作中的每个后跟由客户端110媒体播放器生成的新的清单请求。在图5A中示出的一个实施例中,重放动作请求是到代理106内的直接API调用。在图5B中示出的另一个实施例中,在客户端110中应对重放动作,并且客户端110生成目标挂钟时戳,其对应于重放动作(即,暂停后播放、倒带或快进)的目标重放位置。在一个实施例中,暂停后播放目标挂钟时戳计算为对应于上个重放动作(即,开始、暂停、倒带、快进)的视频位置的挂钟时间加上自上个重放动作以来重放的持续时间(例如,以自由运行计时器为基础或使用与媒体播放器的呈现时戳差异)。在一个实施例中,倒带目标挂钟时戳计算为对应于上个重放动作(即,开始、暂停、倒带、快进)的视频位置的挂钟时间加上自上个重放动作以来重放的持续时间(例如,以自由运行计时器为基础或使用与媒体播放器的呈现时戳差异)减去用户希望倒带的秒数。在一个实施例中,快进目标挂钟时戳计算为对应于上个重放动作(即,开始、暂停、倒带、快进)的视频位置的挂钟时间加上自上个重放动作以来重放的持续时间(例如,以自由运行计时器为基础或使用与媒体播放器的呈现时戳差异)加上用户希望快进的秒数。如本领域内技术人员应已知的,存在跟踪重放位置和进度的许多方法,应理解用于确定重放位置(即,对应于上个重放动作的挂钟时间)的任何方法应适合于本发明,以供在计算目标挂钟时戳中使用。
过程500A以步骤502开始,在这里代理106从客户端110接收时移请求(即,暂停、快进或倒带)。处理然后持续到步骤508,在这里代理106检查来看看时移请求是否是暂停请求。如果请求是暂停请求,处理持续到步骤510,在这里代理106标注服务于客户端110的最新段(和段的关联挂钟时戳)并且然后行进到步骤526。在一个实施例中,代理106维持关于客户端110当前是否在查看实时流播内容(由设置为真的实时流播标志指示)或客户端110是否时移(由设置为假的实时流播标志指示)的会话状态。当出现暂停操作时,实时流播标志设置为假。
如果请求不是暂停请求,处理持续到步骤512,在这里代理106检查来看看时移请求是否是倒带请求。如果请求是倒带请求,处理持续到步骤514,在这里代理106标注服务于客户端110的最新段的挂钟时戳、通过从最新段的关联挂钟时戳扣除倒带距离来计算对于服务于客户端110的下一个段的倒带目标挂钟时间、在当前npvr清单中向后搜索对应于倒带目标时戳的段(在必要时下载额外npvr清单文件来对于跨越节目边界的倒带请求搜索额外npvr清单),并且标注倒带目标段连同倒带目标时戳,然后行进到步骤526。在一个实施例中,如果倒带目标挂钟时间未驻存在当前npvr清单中,代理106使用之前的npvr指针以通过使npvr清单链指针走动直到找到包含倒带目标挂钟时间的npvr清单来找到包含目标段(其对应于倒带目标挂钟时间)的npvr清单。在另一个实施例中,代理106使用由WFM 102提供的信息来确定与倒带目标挂钟时戳关联的npvr清单。在一个实施例中,代理106定期使来自WFM 102的npvr清单信息同步(例如,使用流播数据库复制)。在另一个实施例中,代理106从由WFM 102管理和更新的共享分布式数据库检索npvr清单信息。在一个实施例中,代理106维持关于客户端110当前是否在查看实时流播内容(由设置为真的实时流播标志指示)或客户端110是否时移(由设置为假的实时流播标志指示)的会话状态。当出现倒带操作时,实时流播标志设置为假。
如果请求不是倒带请求,处理持续到步骤516,在这里代理106检查来看看时移请求是否是快进请求。如果请求不是快进请求,处理持续到步骤524,在这里生成“未知动作”错误。在图示的实施例中,因为仅支持暂停、快进和倒带,可以推断错误。在备选实施例中可采用其他错误检测逻辑,尤其是具有额外有效、非错误请求类型的那些。如果在516处请求是快进请求,处理持续到步骤518,在这里代理106标注服务于客户端110的最新段的挂钟时戳、通过将快进距离添加到最新段的关联挂钟时戳来计算对于服务于客户端110的下一个段的快进挂钟目标时间并且检查来看看快进目标挂钟时间是否在将来,即超出由包装器104生成的最新实时段的时戳。如果快进目标时间在将来(即,超出由包装器104生成的最新实时段的时戳),处理持续到步骤522,在这里代理106使用最新的N个段从由包装器104生成的最新npvr清单来生成实时流播变体清单。在一个实施例中,代理106维持关于客户端110当前是否在查看实时流播内容(由设置为真的实时流播标志指示)的会话状态。如果实时流播标志已经在步骤522中设置,不需要做什么。如果实时流播标志还未在步骤522中设置,设置实时流播标志使得可忽略后续快进请求。
如果在518处快进目标时间仍然在已经处理的段的范围内,处理持续到步骤520,在这里代理106在当前npvr清单中向前搜索对应于快进目标时戳的段(在必要时下载额外npvr清单文件来对于跨越节目边界的快进请求搜索额外npvr清单),并且然后行进到步骤526。在一个实施例中,如果快进目标挂钟时间未驻存在当前npvr清单中,代理106使用下一个npvr清单指针以通过使npvr清单链指针走动直到找到包含快进目标挂钟时间的npvr清单来找到包含目标段(其对应于快进目标挂钟时间)的npvr清单。在另一个实施例中,代理106使用由WFM 102提供的信息来确定与快进目标挂钟时戳关联的npvr清单。在一个实施例中,代理106定期使来自WFM 102的npvr清单信息同步(例如,使用流播数据库复制)。在另一个实施例中,代理106从由WFM 102管理和更新的共享分布式数据库检索npvr清单信息。在一个实施例中,代理106维持关于客户端110当前是否在查看实时流播内容(由设置为真的实时流播标志指示)或客户端110是否时移(由设置为假的实时流播标志指示)的会话状态。当出现未导致恢复实时流的快进操作时,实时流播标志应已设置为假,但另外可重设为假。
在步骤526中,代理106从客户端110接收对于特定比特率的变体清单请求。在一个实施例中,代理106选择CDN 108,客户端110应从其检索段。在一个实施例中,CDN 108基于由WFM 102提供的严格优先级排定而选择。在另一个实施例中,CDN 108基于轮询或加权轮询方案而选择,其中权重由WFM 102提供。在另一个实施例中,CDN 108基于对于清单的聚集延迟测量和/或由代理106在指定时间窗口(例如,最后30秒)内执行的段检索而选择。在另一个实施例中,CDN 108基于对于清单的聚集带宽测量和/或由代理106在指定时间窗口(例如,最后30秒)内执行的段检索而选择。在一个实施例中,代理106选择比特率以服务于客户端110,其中比特率可低于客户端110所请求的比特率。在一个实施例中,比特率基于由WFM102为客户端110配置的用户限制而确定。在另一个实施例中,比特率基于由WFM 102提供的网络限制而确定。在另一个实施例中,比特率基于由代理106基于清单请求的聚集数量和在指定时间窗口(例如,最后30秒)内看到的它们的对应比特率而估计的当前网络负载来确定。在另一个实施例中,比特率基于对于清单的聚集延迟测量和/或由代理106在指定时间窗口(例如,最后30秒)内执行的从CDN 108的段检索而选择。在另一个实施例中,比特率基于对于清单的聚集带宽测量和/或由代理106在指定时间窗口(例如,最后30秒)内执行的从CDN 108的段检索而选择。
代理106对从在步骤510、514或520中确定的目标段向后运作的所选比特率和CDN108生成滑动窗口清单。代理106向客户端110返回滑动窗口清单并且等待新的请求。对于后续变体清单请求,处理行进回到步骤526,在这里代理106使目标段递增(对于跨越节目边界的增量跟随下一个npvr清单指针)并且生成更新的滑动窗口变体清单以返回给客户端110。在一个实施例中,如果对应于目标时间的滑动窗口清单包含广告段,当在步骤526中生成滑动窗口清单时,代理106用备选广告段替换在npvr清单中规定的段。在一个实施例中,代理106基于npvr清单中的注释来检测即将到来的广告。在一个实施例中,代理向ADM 114发出请求来确定向客户端110呈现哪个备选广告。在一个实施例中,在步骤526中接收变体清单请求之前,如果目标段是广告段,代理106通过检索对于目标段的npvr清单、确定是否需要广告段以及在步骤510、514或520中向ADM 114发出请求来优化对ADM 114的请求。在另一个实施例中,代理106对于由ADM 114规定的备选广告从WFM 102检索备选广告段位点。
应注意触发步骤502中的过程的重放动作API调用可独立于步骤526中的应对变体清单请求并且与之异步。尽管它作为单个过程在图5A中绘制,步骤502-524代表用于改变由在步骤526中描述的清单生成任务使用的状态(即,目标段)的过程。在一个实施例中,步骤502-524中的过程迫使重启或重新初始化步骤526中的清单生成任务,这有效地使步骤526在过程500A中变成相关步骤。在另一个实施例中,步骤502-524中的过程简单地更新步骤526中的独立清单生成任务(例如,独立操作系统线程或操作系统进程)的当前段和当前npvr清单变量。
现在转向图5B,过程500B以步骤550开始,在这里客户端110从用户接收时移请求(即,暂停、快进或倒带)。处理然后持续到步骤558,在这里客户端110检查来看看时移请求是否是暂停请求。如果请求是暂停请求,处理持续到步骤560,在这里代理106标注当前重放挂钟时戳并且然后行进到步骤576。在一个实施例中,当前重放挂钟时戳计算为对应于上个重放动作(即,开始、暂停、倒带、快进)的视频位置的挂钟时间加上自上个重放动作以来重放的持续时间(例如,以自由运行计时器为基础或使用与媒体播放器的呈现时戳差异)。如本领域内技术人员应已知的,存在跟踪重放位置和进度的许多方法,应理解用于确定重放位置(即,对应于上个重放动作的挂钟时间)的任何方法应适合于本发明,以供在计算当前重放挂钟时戳中使用。在一个实施例中,客户端110维持关于用户当前是否在查看实时流播内容(由设置为真的实时流播标志指示)或用户是否时移(由设置为假的实时流播标志指示)的会话状态。当出现暂停操作时,实时流播标志应设置为假。
如果在558处请求不是暂停请求,处理持续到步骤562,在这里客户端110检查来看看时移请求是否是倒带请求。如果请求是倒带请求,处理持续到步骤564,在这里客户端110通过从当前重放挂钟时戳扣除倒带距离来计算倒带目标挂钟时间,然后行进到步骤576。在一个实施例中,当前重放挂钟时戳计算为对应于上个重放动作(即,开始、暂停、倒带、快进)的视频位置的挂钟时间加上自上个重放动作以来重放的持续时间(例如,以自由运行计时器为基础或使用与媒体播放器的呈现时戳差异)。如本领域内技术人员应已知的,存在跟踪重放位置和进度的许多方法,应理解用于确定重放位置(即,对应于上个重放动作的挂钟时间)的任何方法应适合于本发明,以供在计算当前重放挂钟时戳中使用。在一个实施例中,客户端110维持关于用户当前是否在查看实时流播内容(由设置为真的实时流播标志指示)或客户端110是否时移(由设置为假的实时流播标志指示)的会话状态。当出现倒带操作时,实时流播标志应设置为假。
如果在562处请求不是倒带请求,处理持续到步骤566,在这里代理106检查来看看时移请求是否是快进请求。如果请求不是快进请求,处理持续到步骤574,在这里因为在图示的实施例中仅支持暂停、快进和倒带而生成“未知动作”错误。至于过程500A,在支持额外有效的非错误请求类型的实施例中可采用其他错误逻辑。如果在566处请求是快进请求,处理持续到步骤568,在这里客户端110通过将快进距离添加到当前重放挂钟时戳来计算快进挂钟目标时间。在一个实施例中,当前重放挂钟时戳计算为上个重放动作(即,开始、暂停、倒带、快进)的视频位置的挂钟时间加上自上个重放动作以来重放的持续时间(例如,以自由运行计时器为基础或使用与媒体播放器的呈现时戳差异)。如本领域内技术人员应已知的,存在跟踪重放位置和进度的许多方法,应理解用于确定重放位置(即,对应于上个重放动作的挂钟时间)的任何方法应适合于本发明,以供在计算当前重放挂钟时戳中使用。客户端还检查来看看快进目标挂钟时间是否在将来,即超出客户端110操作系统的当前挂钟时间。如果快进目标时间不是将来(即,在客户端110操作系统的当前挂钟时间之前),处理持续到步骤576。如果快进目标时间是将来(即,超出客户端110操作系统的当前挂钟时间),处理持续到步骤578,在这里客户端检查来看看用户是否已经在查看实时流播内容。在一个实施例中,客户端110维持关于用户当前是否在查看实时流播内容(由设置为真的实时流播标志指示)。在另一个实施例中,客户端110总是假设用户当前不在查看实时流播内容(由设置为假的实时流播标志指示)。当出现未导致恢复实时流的快进操作时,实时流播标志应已设置为假,但另外可重设为假。
在步骤572中,实时流播标志已经设置为真,则没有理由试图恢复实时流播内容的重放,因为用户已经在查看实时流播内容,因此处理持续到步骤580,在这里客户端110忽略请求。如果实时流播标志未设置为真,处理持续到步骤572,在这里客户端110将目标挂钟时戳设置成等于客户端110操作系统的当前挂钟时间并且实时流播标志设置为真。处理然后持续到步骤576。
在步骤576中,客户端110重设媒体播放器并且用包含新目标挂钟时戳的新主清单请求URL来重启它,以由代理106应对。
图6中是描述在代理106处执行、用于生成VoD清单文件以用于重放之前记录的实时内容的过程600的流程图。在步骤602中,代理106从客户端110接收对于主清单的请求。主清单包含对应于不同可用比特率的变体清单文件列表。在一个实施例中,代理106基于由WFM 102提供的信息来确定可用比特率。在另一个实施例中,代理106基于由包装器104产生并且放置在CDN 108中的主清单来确定可用比特率。在一个实施例中,代理106确定要向客户端110呈现的比特率子集。在一个实施例中,比特率集基于由WFM 102为客户端110配置的用户限制而确定。在另一个实施例中,比特率集基于由WFM 102提供的网络限制而确定。在另一个实施例中,比特率集基于由代理106基于清单请求的聚集数量和在指定时间窗口(例如,最后30秒)内看到的它们的对应比特率而估计的当前网络负载来确定。代理106向客户端110返回主清单并且行进到步骤604。
在步骤604中,代理106从客户端110接收对于特定比特率的变体清单请求。在一个实施例中,代理106选择CDN 108,客户端110应从其检索段。在一个实施例中,CDN 108基于由WFM 102提供的严格优先级排定而选择。在另一个实施例中,CDN 108基于轮询或加权轮询方案而选择,其中权重由WFM 102提供。在另一个实施例中,CDN 108基于对于清单的聚集延迟测量和/或由代理106在指定时间窗口(例如,最后30秒)内执行的段检索而选择。在另一个实施例中,CDN 108基于对于清单的聚集带宽测量和/或由代理106在指定时间窗口(例如,最后30秒)内执行的段检索而选择。在一个实施例中,代理106选择比特率以服务于客户端110,其中比特率可低于客户端110所请求的比特率。在一个实施例中,比特率基于由WFM102为客户端110配置的用户限制而确定。在另一个实施例中,比特率基于由WFM 102提供的网络限制而确定。在另一个实施例中,比特率基于由代理106基于清单请求的聚集数量和在指定时间窗口(例如,最后30秒)内看到的它们的对应比特率而估计的当前网络负载来确定。在另一个实施例中,比特率基于对于清单的聚集延迟测量和/或由代理106在指定时间窗口(例如,最后30秒)内执行的从CDN 108的段检索而选择。在另一个实施例中,比特率基于对于清单的聚集带宽测量和/或由代理106在指定时间窗口(例如,最后30秒)内执行的从CDN 108的段检索而选择。代理从用于所选的比特率的所选的CDN 108检索对应于节目开始时间的第一npvr清单。
处理然后持续到步骤606,在这里代理106检查来看看节目是否跨越多个npvr清单(即,在步骤604中检索的第一npvr清单不包含为请求节目创建VoD清单所必需的所有段)。如果第一清单包含所有必需段,处理持续到步骤610。如果第一清单不包含必需段,处理持续到步骤608,在持续到步骤610之前,在这里代理106使用下一个有序清单指针来检索额外清单文件、使段信息串联并且去除不必要的标志,如本领域内技术人员应熟悉的。
在步骤610中,代理106检查来看看第一npvr清单中的第一段的挂钟时戳是否与节目的开始时间对准。如果挂钟时戳对准,处理持续到步骤614。如果时戳不对准,处理持续到步骤612,在这里代理106在持续到步骤614之前削掉其挂钟时戳与节目的挂钟时间范围不重叠的那些初始段(相应地调整加密密钥信息,例如通过选择在指定段之前规定的最后密钥并且根据需要应用正确的IV,如本领域内技术人员应熟悉的)。
在步骤614中,代理106检查来看看最后的npvr清单中的最后段的挂钟时戳是否与节目的开始时间对准。如果挂钟时戳对准,处理持续到步骤618。如果时戳不对准,处理持续到步骤616,在这里代理106在持续到步骤618之前修剪掉其挂钟时戳与节目的挂钟时间范围不重叠的那些初始段。
在步骤618中,代理106使用余下的段来生成VoD清单文件并且将它返回给客户端110。在一个实施例中,如果变体清单包含广告段,当在步骤618中生成变体清单时,代理106用备选广告段来替换在npvr清单中规定的广告段。在一个实施例中,代理106向ADM 114(每个广告一个)发出一个或多个请求来确定要向客户端110呈现哪个(些)备选广告。在一个实施例中,备选广告段位点由ADM 114规定。在另一个实施例中,代理106从WFM 102检索对于由ADM 114规定的备选广告的备选广告段位点。
从而公开用于处理内容来支持网络个人视频记录器功能的方法,其包括
持续执行以下步骤:(i)获取包含节目的实时流播源内容,(ii)将获取的源内容转码成截然不同的编码来创建相应的内容流,以及(iii)将内容流分段成段并且将这些段上传到一个或多个内容交付网络(CDN)用于在媒体播放器处渲染节目中检索和使用;
对节目生成清单并且持续更新清单并且在将段上传到CDN时将更新的清单上传到CDN,清单包括主清单和对于编码中相应编码的网络个人视频记录器(npvr)清单集,主清单包括对npvr清单集的引用,用于实现在媒体播放器处渲染节目中从编码之中选择;以及
检测源内容中节目的节目边界,并且作为响应:
在CDN的当前目录中完成npvr清单的当前集;
在CDN中创建新的目录并且在这些新的目录中开始新的npvr清单集;以及
将后续段和npvr清单更新上传到新的目录。
源内容可以是音频/视频内容。
节目边界可用内容(例如,SCTE-35提示音)带内规定。
节目边界可以挂钟时间(例如,SCTE-118、专有EPG数据或固定持续时间调度)为基础而带外规定。
对于每个节目的新目录可具有分级目录结构,其具有基于节目边界、处理节目的日期和时间以及源流和编码的相应标识符的截然不同的分级级别。
可对每个新节目生成新的加密密钥。
现有的加密密钥可延续到新的节目npvr清单。
主清单可以是HTTP实时流播主清单,段是HTTP实时流播段,并且npvr清单是持续增长直到完整并且以ENDLIST标志结束的非滑动窗口变体流清单,每个npvr清单包括对节目的所有段的有序引用。
节目可跨越多个有序npvr清单,并且方法进一步包括将指针添加到每个npvr清单来识别按顺序在前的npvr清单和按顺序在后的npvr清单。
方法可进一步包括检测广告边界并且在npvr清单中包括广告边界信息来识别内容流中的中断。
广告边界可基于带内SCTE-35提示音和SCTE-130放置机会信息来检测。
广告边界可以挂钟时间为基础而带外提供。
注释可添加到npvr清单来指示包含广告的第一和最后的段。
公开的用于渲染内容的方法(该内容在一个或多个截然不同的编码中可用,这些编码每个包括相应的有序段集)包括:
代理从媒体播放器到内容服务器的清单请求;
为要交付的请求内容选择优选编码;
确定满足内容请求所需要的npvr清单集并且获得与所选的编码关联的npvr清单集中所选的一个,npvr清单规定相应编码的段的位点;
从所选的npvr清单构造变体清单;以及
向媒体播放器提供变体清单以供在获得相应编码的段以用于重放内容中使用。
方法可进一步包括:
在对应于可替换的广告的内容中检测规定段;
从多个广告服务器选择优选广告服务器;
对于备选广告询问优选广告服务器;以及
用由变体流清单中的优选广告服务器规定的段替换npvr清单中的规定段。
方法可进一步包括:
从包含相同内容的多个内容交付网络(CDN)选择优选CDN并且重写npvr清单的段统一资源定位符(URL);以及
用变体流清单中的优选CDN的第二基URL替换指向初始CDN的第一基URL。
变体清单可通过添加对下一个段的新引用并且去除对最新段的预定窗口中最早段的现有引用而构造为滑动窗口变体清单。
内容可以是实时流播内容并且滑动窗口变体清单在生成实时流播内容的新的段以充当对于由媒体播放器实时重放实时流播内容的实时流播清单时持续更新。
滑动窗口变体清单的持续更新可包括:
找到并且检索最新npvr清单;
如果最新的npvr清单包含预定窗口中的所有最新段,则从最新npvr清单提取段;
如果最新的npvr清单不包含预定窗口中的所有最新段,则找到下一个按顺序在前的npvr清单并且从最新和下一个按顺序在前的npvr清单两者提取预定窗口中的最新段;以及
从提取的段构造实时流播清单。
方法可进一步包括定期检索对于最新npvr清单的更新。
方法可进一步包括使用字节范围请求以通过仅请求超出直至文件结束的之前npvr清单检索的字节范围的数据来限制在后续npvr清单检索中的数据量。
方法可进一步包括:
检测当前npvr清单的完成;
确定对于下一个有序npvr清单的位点;以及
发出对下一个有序npvr清单的位点的后续请求。
内容可以是实时流播内容并且滑动窗口变体清单基于时移重放请求的目标段创建以充当对于由媒体播放器时移重放实时流播内容的一部分的时移清单。
方法可进一步包括:
找到并且检索包含目标段的偏移npvr清单;
如果偏移npvr清单包含预定窗口中的所有最新段,则从偏移npvr清单提取段;
如果偏移npvr清单不包含预定窗口中的所有最新段,则找到下一个按顺序在前或在后的npvr清单并且从偏移或下一个按顺序在前或在后的npvr清单两者提取预定窗口中的最新段;以及
从提取的段构造时移清单。
方法可进一步包括使用时移清单中的单调递增序号来模拟连续流播重放,同时维持当前时移清单序号与目标段的序号之间的映射。
方法可进一步包括每当出现新的寻找操作时重启媒体播放器并且重设时移清单序号。
方法可进一步包括如果寻找请求超出生成的最新段则重启媒体播放器并且转回实时清单文件。
方法可进一步包括在时移重放请求牵涉寻找新的重放位置时将中断指示符插入时移清单。
找到偏移清单可包括从在最近使用的npvr清单中的最近使用段计算相对时间,并且将对应于该相对时间的npvr清单识别为偏移清单。
偏移可基于自最后的媒体播放器重启以来特定用户的聚集重放请求而计算,该计算使对于观看的时间和快进操作的偏移增加,并且使倒带操作的偏移减小。
将变体清单构造为滑动窗口变体清单可包括利用进一步包括以下的方法来找到并且检索多个最新npvr清单以从最新npvr清单提取预定窗口中的所有最新段:(i)高速缓存最近完成的npvr清单以及(ii)从高速缓存的完成npvr清单检索最新npvr清单。
方法可进一步包括:
找到与变体清单中的每个段关联的正确加密密钥;
使用对于变体清单中的每个段的正确加密密钥;以及
调整对于正确加密密钥的初始化向量(IV)信息以与变体清单中的每个段相一致。
内容可以是记录的内容并且变体清单构造为按需视频(VOD)非滑动窗口变体清单,其不能用于媒体播放器对记录内容的VOD重放。
方法可进一步包括:
找到并且检索称为开始清单(其包含对于节目的开始时间)的第一npvr清单,并且找到称为开始清单中的开始段的第一段,该开始段具有期望节目开始时间之前最接近的开始时间。
找到称为结束清单(其包含对于节目的结束时间)的第二npvr清单,并且找到称为结束清单中的结束段的第二段,该结束段具有期望节目结束时间之后最接近的结束时间;
检索所有npvr清单,其对应于开始清单与结束清单之间的时间;以及
通过使以开始清单开始并且以结束清单结束的所有npvr清单串联来构造VoD非滑动窗口变体清单,同时排除在开始清单中的开始段之前的段和在结束清单中的结束段之后的段。
npvr清单集可定义这样的节目,其以邻接挂钟时间范围为基础来确定。
方法可进一步包括基于特定用户的个人记录准则来使时间范围个性化。
上文的方法能在一起和/或独立使用。它们可在相应的计算机化装置中实现。
尽管已经特别示出和描述本发明的各种实施例,本领域内技术人员将理解在可在其中做出形式和细节上的各种改变而不偏离如由附上的权利要求定义的本发明的精神和范围。

Claims (15)

1.一种用于处理内容来支持网络个人视频记录器功能的方法,其包括:
持续执行以下步骤:(i)获取包含节目的实时流播源内容,(ii)将获取的源内容转码成截然不同的编码来创建相应的内容流,以及(iii)将所述内容流分段成段并且将所述段上传到一个或多个内容交付网络(CDN)以用于在媒体播放器处渲染节目中检索和使用;
对所述节目生成清单并且持续更新所述清单并且在将所述段上传到所述CDN时向所述CDN上传更新的清单,所述清单包括主清单和用于所述编码中的相应编码的网络个人视频记录器(npvr)清单集,所述主清单包括对所述npvr清单集的引用以使得能够在所述媒体播放器处渲染所述节目中从所述编码之中选择;以及
在所述源内容中检测到所述节目的节目边界,并且作为响应:
在所述CDN的当前目录中完成npvr清单的当前集;
在所述CDN中创建新的目录并且在所述新的目录中开始新的npvr清单集;以及
将后续段和npvr清单更新上传到所述新的目录。
2.如权利要求1所述的方法,其中所述源内容是音频/视频内容。
3.如权利要求1所述的方法,其中所述节目边界利用所述源内容带内规定。
4.如权利要求1所述的方法,其中所述节目边界以挂钟时间为基础而带外规定。
5.如权利要求1所述的方法,其中对于每个节目的新目录具有分级目录结构,其具有基于所述节目边界、处理所述节目的日期和时间以及所述内容流和编码的相应标识符的截然不同的分级级别。
6.如权利要求1所述的方法,其中对每个新节目生成新的加密密钥。
7.如权利要求1所述的方法,其中现有的加密密钥延续到新的节目npvr清单。
8.如权利要求1所述的方法,其中所述主清单是HTTP实时流播主清单,所述段是HTTP实时流播段,并且所述npvr清单是持续增长直到完整并且以ENDLIST标志结束的非滑动窗口变体流清单,每个npvr清单包括对所述节目的所有段的有序引用。
9.权利要求1所述的方法,其中所述节目跨越多个有序npvr清单,并且进一步包括将指针添加到每个npvr清单来识别按顺序在前的npvr清单和按顺序在后的npvr清单。
10.权利要求1所述的方法,其进一步包括:检测广告边界并且在所述npvr清单中包括广告边界信息来识别所述内容流中的中断。
11.如权利要求10所述的方法,其中所述广告边界基于带内SCTE-35提示音和SCTE-130放置机会信息来检测。
12.如权利要求10所述的方法,其中所述广告边界以挂钟时间为基础而带外提供。
13.如权利要求10所述的方法,其进一步包括将注释添加到所述npvr清单来指示包含所述广告的第一和最后的段。
14.如权利要求3所述的方法,其中所述源内容是SCTE-35提示音。
15.如权利要求4所述的方法,其中所述挂钟时间是SCTE-118、专有EPG数据或固定持续时间调度。
CN201480020878.XA 2013-02-12 2014-01-17 个人过顶网络视频记录器 Active CN105339922B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201361763634P 2013-02-12 2013-02-12
US61/763634 2013-02-12
PCT/US2014/012053 WO2014126677A1 (en) 2013-02-12 2014-01-17 Personal over-the-top network video recorder

Publications (2)

Publication Number Publication Date
CN105339922A CN105339922A (zh) 2016-02-17
CN105339922B true CN105339922B (zh) 2018-10-12

Family

ID=51298433

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201480020878.XA Active CN105339922B (zh) 2013-02-12 2014-01-17 个人过顶网络视频记录器

Country Status (4)

Country Link
US (3) US9332296B2 (zh)
EP (2) EP2956865A4 (zh)
CN (1) CN105339922B (zh)
WO (1) WO2014126677A1 (zh)

Families Citing this family (102)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8472792B2 (en) 2003-12-08 2013-06-25 Divx, Llc Multimedia distribution system
US7519274B2 (en) 2003-12-08 2009-04-14 Divx, Inc. File format for multiple track digital data
JP5200204B2 (ja) 2006-03-14 2013-06-05 ディブエックス リミテッド ライアビリティー カンパニー 高信頼性システムを含む連合型デジタル権限管理機構
US8233768B2 (en) 2007-11-16 2012-07-31 Divx, Llc Hierarchical and reduced index structures for multimedia files
MX2011007344A (es) 2009-01-07 2012-02-28 Divx Inc Creacion singular, colectiva y automatizada de una guia de medios de contenido en linea.
US11076189B2 (en) 2009-03-30 2021-07-27 Time Warner Cable Enterprises Llc Personal media channel apparatus and methods
US9215423B2 (en) 2009-03-30 2015-12-15 Time Warner Cable Enterprises Llc Recommendation engine apparatus and methods
US8813124B2 (en) 2009-07-15 2014-08-19 Time Warner Cable Enterprises Llc Methods and apparatus for targeted secondary content insertion
WO2011068668A1 (en) 2009-12-04 2011-06-09 Divx, Llc Elementary bitstream cryptographic material transport systems and methods
US8701138B2 (en) 2010-04-23 2014-04-15 Time Warner Cable Enterprises Llc Zone control methods and apparatus
US9247312B2 (en) 2011-01-05 2016-01-26 Sonic Ip, Inc. Systems and methods for encoding source media in matroska container files for adaptive bitrate streaming using hypertext transfer protocol
US9467708B2 (en) 2011-08-30 2016-10-11 Sonic Ip, Inc. Selection of resolutions for seamless resolution switching of multimedia content
US8909922B2 (en) 2011-09-01 2014-12-09 Sonic Ip, Inc. Systems and methods for playing back alternative streams of protected content protected using common cryptographic information
US8964977B2 (en) 2011-09-01 2015-02-24 Sonic Ip, Inc. Systems and methods for saving encoded media streamed using adaptive bitrate streaming
US9426123B2 (en) 2012-02-23 2016-08-23 Time Warner Cable Enterprises Llc Apparatus and methods for content distribution to packet-enabled devices via a network bridge
US8838149B2 (en) 2012-04-02 2014-09-16 Time Warner Cable Enterprises Llc Apparatus and methods for ensuring delivery of geographically relevant content
US9467723B2 (en) 2012-04-04 2016-10-11 Time Warner Cable Enterprises Llc Apparatus and methods for automated highlight reel creation in a content delivery network
US9191457B2 (en) 2012-12-31 2015-11-17 Sonic Ip, Inc. Systems, methods, and media for controlling delivery of content
US9313510B2 (en) 2012-12-31 2016-04-12 Sonic Ip, Inc. Use of objective quality measures of streamed content to reduce streaming bandwidth
EP2941897B1 (en) * 2013-01-07 2019-03-13 Akamai Technologies, Inc. Connected-media end user experience using an overlay network
US10142390B2 (en) * 2013-02-15 2018-11-27 Nec Corporation Method and system for providing content in content delivery networks
US9338521B2 (en) * 2013-02-22 2016-05-10 Microsoft Technology Licensing, Llc Overwriting existing media content with viewer-specific advertisements
US9906785B2 (en) 2013-03-15 2018-02-27 Sonic Ip, Inc. Systems, methods, and media for transcoding video data according to encoding parameters indicated by received metadata
JP6394591B2 (ja) * 2013-04-05 2018-09-26 ソニー株式会社 制御装置、制御方法、コンピュータプログラム及び映像伝送システム
US20160073149A1 (en) * 2013-04-25 2016-03-10 Telefonaktiebolaget L M Ericsson (Publ) Method and apparatus for improved network recording
US9094737B2 (en) 2013-05-30 2015-07-28 Sonic Ip, Inc. Network video streaming with trick play based on separate trick play files
US9955203B2 (en) 2013-09-24 2018-04-24 Ericsson Ab Recording device and method for efficient network personal video recorder manipulation through adaptive bit rate streaming
US20150172731A1 (en) * 2013-12-18 2015-06-18 Time Warner Cable Enterprises Llc Methods and apparatus for providing alternate content
FR3016263A1 (fr) * 2014-01-07 2015-07-10 Orange Procede de traitement d'erreur de restitution d'un contenu numerique
US9075962B1 (en) * 2014-02-11 2015-07-07 Ramp Holdings, Inc. Secure video delivery
US20150271541A1 (en) * 2014-03-19 2015-09-24 Time Warner Cable Enterprises Llc Apparatus and methods for recording a media stream
US9866603B1 (en) * 2014-03-24 2018-01-09 Amazon Technologies, Inc. Enabling start-over TV in adaptive bitrate delivery
US9866878B2 (en) 2014-04-05 2018-01-09 Sonic Ip, Inc. Systems and methods for encoding and playing back video at different frame rates using enhancement layers
US9467721B2 (en) * 2014-04-18 2016-10-11 Verizon Patent And Licensing Inc. Enhanced fast-forward and rewind visual feedback for HLS content
US20150347415A1 (en) * 2014-05-30 2015-12-03 Apple Inc. Http live streaming dateranges
US20150350622A1 (en) * 2014-05-30 2015-12-03 Apple Inc. Packed i-frames
US9692800B2 (en) * 2014-06-11 2017-06-27 Google Inc. Enhanced streaming media playback
CN104159132B (zh) * 2014-08-22 2018-11-20 华为软件技术有限公司 视频定制化服务的实现方法及装置
US10142386B2 (en) 2014-10-29 2018-11-27 DLVR, Inc. Determining manifest file data used in adaptive streaming video delivery
US10084838B2 (en) 2014-10-29 2018-09-25 DLVR, Inc. Generating and using manifest files including content delivery network authentication data
US9426089B2 (en) * 2014-10-29 2016-08-23 DLVR, Inc. Systems and methods for session-based resource assignment, delivery, performance management and measurement in a networked environment
US9509742B2 (en) 2014-10-29 2016-11-29 DLVR, Inc. Configuring manifest files referencing infrastructure service providers for adaptive streaming video
CN104410901A (zh) * 2014-11-18 2015-03-11 上海天脉聚源文化传媒有限公司 一种m3u8格式直播流的播放方法及播放装置
DE102014117567A1 (de) * 2014-11-29 2016-06-02 Deutsche Telekom Ag Aufzeichnung und zeitversetzte Wiedergabe medialer Beiträge
CN105744309A (zh) * 2014-12-12 2016-07-06 中兴通讯股份有限公司 一种直播视频的生成及播放方法、装置、终端及系统
WO2016110324A1 (en) * 2015-01-07 2016-07-14 Telefonaktiebolaget Lm Ericsson (Publ) An improved method and apparatus for trick-play in abr streaming
US10116676B2 (en) 2015-02-13 2018-10-30 Time Warner Cable Enterprises Llc Apparatus and methods for data collection, analysis and service modification based on online activity
US10565248B2 (en) * 2015-03-09 2020-02-18 Verizon Patent And Licensing Inc. Time-shifted playback for over-the-top linear streaming
US9843828B2 (en) 2015-03-27 2017-12-12 Ericsson Ab System and method for providing non-guaranteed channel content in a switched digital video network using multicast ABR streaming
US9621933B2 (en) * 2015-03-27 2017-04-11 Ericsson Ab System and method for providing VOD content in a switched digital video network using unicast ABR streaming
US9788028B2 (en) 2015-03-27 2017-10-10 Ericsson Ab System and method for providing guaranteed channel content in a switched digital video network using multicast ABR streaming
US10375452B2 (en) 2015-04-14 2019-08-06 Time Warner Cable Enterprises Llc Apparatus and methods for thumbnail generation
US11252450B2 (en) * 2015-05-27 2022-02-15 Arris Enterprises Llc Video classification using user behavior from a network digital video recorder
US10291681B2 (en) * 2015-06-18 2019-05-14 Ericsson Ab Directory limit based system and method for storing media segments
CN105049954B (zh) * 2015-07-02 2020-07-10 中兴通讯股份有限公司 Ott媒体的组播传输方法、装置及系统
CN106658152B (zh) * 2015-07-29 2020-06-02 中兴通讯股份有限公司 基于ott的npvr实现方法及装置
US9942343B2 (en) * 2015-08-27 2018-04-10 Kiswe Mobile Inc. Efficient content streaming utilizing local proxy server implemented on client device
US9635431B2 (en) 2015-08-27 2017-04-25 Kiswe Mobile Inc. Live event viewing via mixed live and on-demand streaming
US9788053B2 (en) * 2015-09-09 2017-10-10 Ericsson Ab Fast channel change in a multicast adaptive bitrate (MABR) streaming network using HTTP download segment recovery in a dedicated bandwidth pipe
US9942290B2 (en) 2015-09-09 2018-04-10 Ericsson Ab Fast channel change in a multicast adaptive bitrate (MABR) streaming network using HTTP download segment recovery in a shared progressive ABR download pipe
US10848582B2 (en) * 2015-09-11 2020-11-24 Amazon Technologies, Inc. Customizable event-triggered computation at edge locations
US9917690B2 (en) * 2015-10-01 2018-03-13 Time Warner Cable Enterprises Llc Encryption management, content recording management, and playback management in a network environment
EP3398336A1 (en) * 2015-12-29 2018-11-07 Dish Technologies L.L.C. Methods and systems for assisted content delivery
KR101743228B1 (ko) * 2016-01-22 2017-06-05 네이버 주식회사 스트리밍 장치 및 그 방법, 이를 이용한 스트리밍 서비스 시스템 및 컴퓨터로 판독 가능한 기록매체
US10158687B2 (en) * 2016-03-01 2018-12-18 Hughes Network Systems, Llc Caching using multicast radio transmissions
US10009642B2 (en) * 2016-03-24 2018-06-26 Comcast Cable Communications Management, Llc Systems and methods for advertising continuity
US10701415B2 (en) 2016-05-19 2020-06-30 Arris Enterprises Llc Method and apparatus for segmenting data
US10944806B2 (en) 2016-06-22 2021-03-09 The Directv Group, Inc. Method to insert program boundaries in linear video for adaptive bitrate streaming
CN110708579B (zh) * 2016-08-04 2021-09-07 联咏科技股份有限公司 可执行视频播放的电子装置
US11212593B2 (en) 2016-09-27 2021-12-28 Time Warner Cable Enterprises Llc Apparatus and methods for automated secondary content management in a digital network
US10642917B2 (en) * 2016-11-14 2020-05-05 Triton Us Vp Acquisition Co. Method and device for sharing segmented video content across multiple manifests
CN106657111B (zh) * 2016-12-30 2019-06-21 中广热点云科技有限公司 一种发布和直播媒体流的系统及方法
US10694227B2 (en) * 2017-01-13 2020-06-23 Panasonic Intellectual Property Management Co., Ltd. Video transmission system and video transmission method
US10904639B1 (en) * 2017-04-24 2021-01-26 Amazon Technologies, Inc. Server-side fragment insertion and delivery
US10785092B2 (en) * 2017-07-28 2020-09-22 Skitter, Inc. System and method for providing fault tolerant streaming of segmented content and cache coherency on multi-hosted origin systems
US20190069047A1 (en) * 2017-08-25 2019-02-28 Volley Media, Llc Methods and systems for sharing live stream media content
US10742699B1 (en) 2017-09-29 2020-08-11 Twitch Interactive, Inc. Requesting transmission of future encoded segments
US10630746B1 (en) * 2017-09-29 2020-04-21 Twitch Interactive, Inc. Streaming playlist including future encoded segments
US10440405B2 (en) * 2017-12-20 2019-10-08 Verizon Patent And Licensing Inc. Content delivery device for streaming content
CN108156514B (zh) * 2017-12-27 2020-07-07 Oppo广东移动通信有限公司 媒体文件的播放方法、装置及存储介质
CN108347635A (zh) * 2018-01-17 2018-07-31 山东浪潮商用系统有限公司 一种直播时移方法、机顶盒及直播时移系统
US10834158B1 (en) * 2018-03-23 2020-11-10 Amazon Technologies, Inc. Encoding identifiers into customized manifest data
US11695978B2 (en) * 2018-07-05 2023-07-04 Mux, Inc. Methods for generating video-and audience-specific encoding ladders with audio and video just-in-time transcoding
US11277665B2 (en) * 2018-08-13 2022-03-15 Comcast Cable Communications, Llc Using manifest files to determine events in content items
US10863211B1 (en) * 2018-11-12 2020-12-08 Amazon Technologies, Inc. Manifest data for server-side media fragment insertion
US11006164B2 (en) * 2018-11-23 2021-05-11 Sony Corporation TV and electronic device with external tuner and memory for personal video recording
US11553218B2 (en) * 2018-12-07 2023-01-10 Amazon Technologies, Inc. Just after broadcast media content
US11243906B2 (en) * 2018-12-14 2022-02-08 OSAAP America, LLC Drag and drop format conversion between applications
US11039221B2 (en) 2019-04-19 2021-06-15 At&T Intellectual Property I, L.P. Apparatus and method for facilitating trickplay playback
WO2020227679A1 (en) 2019-05-09 2020-11-12 Brightcove, Inc. Fault-tolerant live video streaming
US11622164B2 (en) * 2019-07-12 2023-04-04 Carrier Corporation System and method for streaming video/s
US11895350B2 (en) * 2019-12-30 2024-02-06 Nagravision Sarl Techniques for providing a content stream based on a delivered stream of content
US11343584B2 (en) 2020-01-10 2022-05-24 At&T Intellectual Property I, L.P. System and method for accelerated video startup
US11310568B2 (en) * 2020-05-05 2022-04-19 Panasonic Avionics Corporation Systems and methods for securely providing preview samples of media content distributed to in-flight entertainment systems
US11652860B2 (en) * 2020-09-01 2023-05-16 Yahoo Assets Llc Synchronization of streaming content using live edge offsets
US20220264171A1 (en) * 2021-02-12 2022-08-18 Roku, Inc. Use of In-Band Data to Facilitate Ad Harvesting for Dynamic Ad Replacement
US11910040B2 (en) 2021-03-16 2024-02-20 Charter Communications Operating, Llc Methods and systems for packagers used in media streaming
US11451872B1 (en) 2021-05-27 2022-09-20 Sling TV L.L.C. System, device, and processes for intelligent start playback of program content
FR3124344A1 (fr) * 2021-06-23 2022-12-23 Orange Procédé de gestion d’accès à des contenus téléchargés en mode de téléchargement adaptatif.
US11936935B2 (en) * 2021-08-09 2024-03-19 Charter Communications Operating, Llc Adaptive bitrate streaming time shift buffer
US11871050B1 (en) * 2021-08-17 2024-01-09 Amazon Technologies, Inc. Just-in-time dynamic ad insertion (DAI)
US11805287B2 (en) * 2022-01-05 2023-10-31 Verizon Patent And Licensing Inc. Systems and methods for transitioning between different content

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8184952B2 (en) * 2008-12-11 2012-05-22 Cable Television Laboratories, Inc. Segment boundary obfuscation
WO2012114107A2 (en) * 2011-02-25 2012-08-30 British Sky Broadcasting Limited Media system

Family Cites Families (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070220580A1 (en) * 2002-03-14 2007-09-20 Daniel Putterman User interface for a media convergence platform
US20030204602A1 (en) 2002-04-26 2003-10-30 Hudson Michael D. Mediated multi-source peer content delivery network architecture
US7966642B2 (en) * 2003-09-15 2011-06-21 Nair Ajith N Resource-adaptive management of video storage
CA2558488C (en) * 2004-03-09 2016-02-02 Jay B. Schiller Digital ad insertion for video-on-demand
BRPI0614565A2 (pt) * 2005-08-12 2009-08-04 Nokia Siemens Networks Gmbh Co sistema de fluxo contìnuo de video sob demanda de múltiplas fontes e resiliente para uma comunidade de assinantes ponto a ponto
KR100728033B1 (ko) * 2005-11-07 2007-06-14 삼성전자주식회사 홈 네크워크 디바이스를 이용하여 pvr을 구현하는 방법및 이를 위한 장치
WO2007107660A1 (fr) * 2006-03-22 2007-09-27 France Telecom Systeme et procede de gestion d'une pluralite de programmes audiovisuels dans un reseau de telecommunication
US7844723B2 (en) * 2007-02-13 2010-11-30 Microsoft Corporation Live content streaming using file-centric media protocols
US7996875B2 (en) * 2008-05-20 2011-08-09 Microsoft Corporation Adaptive timeshift service
US8752100B2 (en) * 2008-08-29 2014-06-10 At&T Intellectual Property Ii, Lp Systems and methods for distributing video on demand
US8099476B2 (en) * 2008-12-31 2012-01-17 Apple Inc. Updatable real-time or near real-time streaming
US9277266B2 (en) 2009-03-18 2016-03-01 Time Warner Cable Enterprises Llc Apparatus and methods for network video recording
CA2759880C (en) 2009-03-23 2013-09-24 Azuki Systems, Inc. Method and system for efficient streaming video dynamic rate adaptation
US20110083073A1 (en) * 2009-10-07 2011-04-07 Cisco Technology, Inc. Synchronized Recording and Playback of a Plurality of Media Content
CN101710965A (zh) * 2009-11-24 2010-05-19 中兴通讯股份有限公司 一种网络电视的全网存储、调度方法及系统
US9615119B2 (en) 2010-04-02 2017-04-04 Samsung Electronics Co., Ltd. Method and apparatus for providing timeshift service in digital broadcasting system and system thereof
US8667164B2 (en) * 2010-04-26 2014-03-04 Samsung Electronics Co., Ltd. Method and apparatus for playing live content
WO2011139305A1 (en) 2010-05-04 2011-11-10 Azuki Systems, Inc. Method and apparatus for carrier controlled dynamic rate adaptation and client playout rate reduction
US8683337B2 (en) * 2010-06-09 2014-03-25 Microsoft Corporation Seamless playback of composite media
US8713604B2 (en) * 2010-06-23 2014-04-29 Echostar Technologies L.L.C. Systems and methods for processing supplemental information associated with media programming
US8806050B2 (en) 2010-08-10 2014-08-12 Qualcomm Incorporated Manifest file updates for network streaming of coded multimedia data
US20120110627A1 (en) * 2010-10-29 2012-05-03 Nbc Universal, Inc. Time-adapted content delivery system and method
US8990690B2 (en) 2011-02-18 2015-03-24 Futurewei Technologies, Inc. Methods and apparatus for media navigation
US8589996B2 (en) 2011-03-16 2013-11-19 Azuki Systems, Inc. Method and system for federated over-the-top content delivery
US9066138B1 (en) * 2011-05-10 2015-06-23 Arris Solutions, Inc. Replacing ads in HTTP-based manifest driven video transport
WO2013017165A1 (en) * 2011-08-02 2013-02-07 Telefonaktiebolaget L M Ericsson (Publ) Shaping media traffic based on manifest file in http adaptive streaming
JP2015510652A (ja) * 2012-01-09 2015-04-09 トムソン ライセンシングThomson Licensing メディアコンテンツを処理するためのシステム及び方法
JP2013192062A (ja) * 2012-03-14 2013-09-26 Toshiba Corp 映像配信システム、映像配信装置、映像配信方法およびプログラム
US8965960B2 (en) 2012-12-11 2015-02-24 Morega Systems, Inc Client device with video player and client-side proxy and methods for use therewith
US9344472B2 (en) * 2012-12-28 2016-05-17 Microsoft Technology Licensing, Llc Seamlessly playing a composite media presentation
US9426196B2 (en) * 2013-01-04 2016-08-23 Qualcomm Incorporated Live timing for dynamic adaptive streaming over HTTP (DASH)

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8184952B2 (en) * 2008-12-11 2012-05-22 Cable Television Laboratories, Inc. Segment boundary obfuscation
WO2012114107A2 (en) * 2011-02-25 2012-08-30 British Sky Broadcasting Limited Media system

Non-Patent Citations (5)

* Cited by examiner, † Cited by third party
Title
"A Review of HTTP Live Streaming;FECHEYR-LIPPENS A 等;《INTERNET CITATION》;20100125;1-37 *
"Adaptive Streaming Ad Insertion - Modifying Playlists to Deliver Targeted Ads Using HTTP Adaptive Streaming;RGB Networks.Inc;《INTERNET CITATION》;20111231;1-8 *
CRANOR C D 等.Design and Implementation of a Distributed Content Management System.《NOSSDAV"03;[PROCEEDINGS OF THE INTERNATIONAL WORKSHOP ON NETWORK AND OPERATING SYSTEM SUPPORT FOR DIGITAL AUDIO AND VIDEO (NOSSDAV)], MONTEREY,CALIFORNIA, USA》.2003, *
DASH Evaluation Expreriment#2: MPD Modification, Correction, and Extension;JIN YONG LEE;《MPGE MEETING》;20101015;XP030046600 *
DASH Evaluation Expriment#1:Conpositions of Media Presentation(CMP) Proposal Comparison;JIN YOUNG LEE 等;《MPEG MEETING》;20101015;XP030046599 *

Also Published As

Publication number Publication date
WO2014126677A1 (en) 2014-08-21
CN105339922A (zh) 2016-02-17
US20170171590A1 (en) 2017-06-15
US20140230003A1 (en) 2014-08-14
US10735800B2 (en) 2020-08-04
EP2956865A4 (en) 2016-09-07
EP2956865A1 (en) 2015-12-23
US20140229976A1 (en) 2014-08-14
US9332296B2 (en) 2016-05-03
EP3562167A1 (en) 2019-10-30
US9584847B2 (en) 2017-02-28

Similar Documents

Publication Publication Date Title
CN105339922B (zh) 个人过顶网络视频记录器
US8327013B2 (en) Dynamic index file creation for media streaming
CN106210768B (zh) 用编解码器强制的帧大小进行音频分割
CN107979762B (zh) 将直播流作为广告供应
US8966523B1 (en) Advertisement insertion into media content for streaming
EP2965532B1 (en) Video data provision
WO2015035942A1 (en) Method for playing back live video and device
US20120005313A1 (en) Dynamic indexing for ad insertion in media streaming
EP3688996B9 (en) Methods and systems for determining a video player playback position
US8625789B2 (en) Dynamic encryption
US20170332113A1 (en) System for measuring video playback events using a server generated manifest/playlist
US9710473B2 (en) Method for managing personalized playing lists of the type comprising a URL template and a list of segment identifiers
US10560504B2 (en) Stream duration management
US20130080267A1 (en) Single-url content delivery
US20070088844A1 (en) System for and method of extracting a time-based portion of media and serving it over the Web
WO2014207417A1 (en) Provision of video data
KR20130105697A (ko) 압축된 재생목록을 이용한 실시간 또는 준 실시간 스트리밍
WO2013101814A1 (en) Multi-platform media syndication customization
KR20180108879A (ko) 상부 레벨 인덱스 파일들을 자동적으로 생성하기 위한 시스템들 및 방법들
WO2015121448A1 (en) Delivering modified content meeting time constraints
AU2013240578B2 (en) Dynamic audio track selection for media streaming
EP3785444B1 (en) Server-side insertion of media fragments
WO2008094533A2 (en) Video downloading and scrubbing system and method

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant