CN102100077B - 加密视频/音频内容的拼接 - Google Patents
加密视频/音频内容的拼接 Download PDFInfo
- Publication number
- CN102100077B CN102100077B CN200980127658.6A CN200980127658A CN102100077B CN 102100077 B CN102100077 B CN 102100077B CN 200980127658 A CN200980127658 A CN 200980127658A CN 102100077 B CN102100077 B CN 102100077B
- Authority
- CN
- China
- Prior art keywords
- dts
- video
- stc
- feed
- frame
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 claims abstract description 43
- 230000008569 process Effects 0.000 claims abstract description 4
- 238000012545 processing Methods 0.000 claims description 6
- 230000005540 biological transmission Effects 0.000 claims description 3
- 230000006855 networking Effects 0.000 claims description 3
- 230000003750 conditioning effect Effects 0.000 abstract description 2
- 238000007781 pre-processing Methods 0.000 abstract 1
- 238000003780 insertion Methods 0.000 description 13
- 230000037431 insertion Effects 0.000 description 13
- 238000012937 correction Methods 0.000 description 7
- 238000009825 accumulation Methods 0.000 description 6
- 230000006835 compression Effects 0.000 description 6
- 238000007906 compression Methods 0.000 description 6
- 238000012856 packing Methods 0.000 description 6
- 102100040197 Apolipoprotein A-V Human genes 0.000 description 5
- 101000889974 Homo sapiens Apolipoprotein A-V Proteins 0.000 description 5
- 101001130441 Homo sapiens Ras-related protein Rap-2a Proteins 0.000 description 5
- 102100031420 Ras-related protein Rap-2a Human genes 0.000 description 5
- 102100022851 Rab5 GDP/GTP exchange factor Human genes 0.000 description 4
- 101710203837 Replication-associated protein Proteins 0.000 description 4
- 230000002829 reductive effect Effects 0.000 description 4
- 238000005070 sampling Methods 0.000 description 4
- 230000001427 coherent effect Effects 0.000 description 3
- 239000000284 extract Substances 0.000 description 3
- 238000001914 filtration Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 230000009471 action Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 230000007423 decrease Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000000670 limiting effect Effects 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000036962 time dependent Effects 0.000 description 2
- 230000001960 triggered effect Effects 0.000 description 2
- 101100278884 Arabidopsis thaliana E2FD gene Proteins 0.000 description 1
- 101100278886 Arabidopsis thaliana E2FF gene Proteins 0.000 description 1
- 102100032449 EGF-like repeat and discoidin I-like domain-containing protein 3 Human genes 0.000 description 1
- 101001016381 Homo sapiens EGF-like repeat and discoidin I-like domain-containing protein 3 Proteins 0.000 description 1
- 238000009412 basement excavation Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 239000000945 filler Substances 0.000 description 1
- 239000012634 fragment Substances 0.000 description 1
- 239000003550 marker Substances 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000036961 partial effect Effects 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 230000005236 sound signal Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 201000008827 tuberculosis Diseases 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing 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/44—Processing 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/44016—Processing 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/234—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
- H04N21/23424—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving splicing one content stream with another content stream, e.g. for inserting or substituting an advertisement
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/236—Assembling of a multiplex stream, e.g. transport stream, by combining a video stream with other content or additional data, e.g. inserting a URL [Uniform Resource Locator] into a video stream, multiplexing software data into a video stream; Remultiplexing of multiplex streams; Insertion of stuffing bits into the multiplex stream, e.g. to obtain a constant bit-rate; Assembling of a packetised elementary stream
- H04N21/23608—Remultiplexing multiplex streams, e.g. involving modifying time stamps or remapping the packet identifiers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/238—Interfacing the downstream path of the transmission network, e.g. adapting the transmission rate of a video stream to network bandwidth; Processing of multiplex streams
- H04N21/2389—Multiplex stream processing, e.g. multiplex stream encrypting
- H04N21/23895—Multiplex stream processing, e.g. multiplex stream encrypting involving multiplex stream encryption
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing 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/434—Disassembling of a multiplex stream, e.g. demultiplexing audio and video streams, extraction of additional data from a video stream; Remultiplexing of multiplex streams; Extraction or processing of SI; Disassembling of packetised elementary stream
- H04N21/4344—Remultiplexing of multiplex streams, e.g. by modifying time stamps or remapping the packet identifiers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/85—Assembly of content; Generation of multimedia applications
- H04N21/854—Content authoring
- H04N21/8547—Content authoring involving timestamps for synchronizing content
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Business, Economics & Management (AREA)
- Marketing (AREA)
- Computer Security & Cryptography (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
用于对加密的或未经加密的MPEG-2传输流执行拼接操作的系统和方法。拼接触发在预处理编码器处被接收。在响应中,此编码器生成例如希望被拼接器接收的SCTE-35提示消息。此外,响应于拼接触发,此编码器对网络馈送进行编码/处理,以使得解码器缓存器延迟在网络馈送中与由SCTE-35提示消息指示的拼接点相对应的视频帧处达到预定值。该网络馈送然后可以以已知的方式被加密。在拼接器处,另一馈送在拼接点处被切换进该流,其中,此另一馈送被编码为使得此另一馈送中与拼接点相对应的视频帧处的解码器缓存器延迟与所述预定值相同。所述预定值被定义为DTS-STC,这里DTC是解码时间戳并且STC是系统时钟。此预处理编码器在拼接点周围生成多个包含单个排列的音频帧的音频PES包。
Description
本申请作为PCT国际专利申请被递交于2009年7月13日,以思科技术公司,一家美国公司,的名字作为用于对除了美国以外的所有指定国的申请人,并且以比利时的两个公民Samie Beheyd和Jan De Lameillieure和加拿大的一个公民James Ka Sin Au作为用于仅仅美国为指定国的申请人,并且该申请要求于2008年7月17日递交的序列号为12/175,101的美国专利申请的优先权。
技术领域
本发明涉及用于拼接诸如以MPEG-2传输流编码的视频和音频之类的数字编码的视频和/或音频的系统和方法。
背景技术
如本领域中所公知的,MPEG(即,MPEG-1、MPEG-2、MPEG-4、H.264)压缩视频和音频流被映射到MPEG-2传输流作为被打包到成包的基本流(Packetized Elementary Stream,PES)包中的基本流(ElementaryStream,ES),PES又被打包在MPEG-2传输流(Transport Stream,TS)包中。PES包具有PES头,PES头包含呈现时间戳(Presentation TimeStamp,PTS)并且可选地还可以包含解码时间戳(Decoding Time Stamp,DTS)(在不存在DTS的情况中,其被认为等同于PTS)。DTS告知解码器何时对视频/音频帧进行解码,而PTS告知解码器何时显示(即,呈现)视频/音频帧。DTS和PTS二者的值实际上都是与时间基准相关的时间事件,此时间基准也是在MPEG-2传输流中被发送的。此时间基准被称为系统时钟(STC),并且在TS中被编码作为27MHz计数器的采样,这些采样被称为节目时钟基准(PCR)字段。
用于拼接视频和音频的传统解决方案依赖于音频和视频内容被明白地(即,不被加密地)接收的事实。其原因有三点。
第一,拼接器必须在头流中找到有效退出点并且还必须在尾流中找到有效进入点。为了实现此,其必须解释必定是不受限制的帧信息。
第二,所有MPEG压缩标准(MPEG-1、MPEG-2、MPEG-4)都包含解码器缓存器模型,从编码器出来的比特流必须遵循此解码器缓存器模型。当MPEG压缩视频流的两个片段(它们都遵循MPEG解码器缓存器模型)被“粘合”在一起时,一般而言,所得到的MPEG流将不再遵循此解码器缓存器模型。为了解决此问题,传统MPEG拼接解决方案是基于变码器的,意思是他们修改拼接点周围的视频帧的大小来生成有效视频流。为了实现此,拼接器需要“深度挖掘”帧信息并且对其进行修改,这需要此信息可以不受限制使用。
传统拼接解决方案依赖于不被加密的内容的第三点原因与在拼接点处处理音频的方式有关。音频帧与视频帧具有不同的持续时间。因此,视频和音频中的拼接点不完全一致。因此,音频在视频拼接点附近的音频帧边界处被拼接。在拼接后,音频在时间上稍微向视频偏移,因为在拼接的输出中没有音频间隙。此偏移可能导致可察觉的对口型(lip sync)问题,尤其是由于在若干拼接之后的偏移的累积。拼接器可以通过将替代音频帧边界作为拼接点来补偿在先累积的偏移。此外,因为不同的帧持续时间,要被(例如,广告)替换的音频帧的数目不固定,这需要在选择用于拼接的音频帧方面具有灵活性。
音频帧像视频那样被打包在PES包中。通常的惯例是由于带宽效率而若干音频帧被一起打包在一个PES包中。因此,理想的音频拼接点可以是给定PES包的中间。如果音频内容是受限制的,则不可能在理想的拼接点进行拼接,因为这涉及到对音频帧进行解包并且将其中一些重新打包到新的PES包中。
有效拼接点传统地通过STCE-35提示消息而在MPEG-2传输流中被以信号发送。这些消息包含与希望的拼接点相对应的视频帧的PTS值。在STCE-35提示消息中的PTS值告知拼接器何时从头流到尾流进行拼接。可选地,STCE-35提示消息还可以包含中断_持续时间(break_duration)字段,该break_duration字段告知拼接器在多长时间后其必须返回到头流进行拼接。
鉴于前面所述,现有技术MPEG拼接技术要求不受限制的PES包。然而,存在许多当需要拼接时PES已经被加密从而视频和音频流不能不受限制地使用的情况。因此,需要提供即使在MPEG流受到限制时也能够使能对这些流进行拼接的系统和方法。
附图说明
图1-2是本发明的两个可能的实施例的框图;
图3概述根据本发明的实施例的广告插入;
图4-5示出根据本发明的实施例的对音频帧的处理;
图6描述根据本发明的实施例的网络馈送(feed)中粘合广告的空间;
图7示出根据本发明的实施的用于广告插入的解码器缓存器预处理(pre-conditioning);
图8示出根据本发明的实施例的其中广告的系统时钟频率小于网络馈送的系统时钟频率的情况;
图9-11描述根据本发明的实施例的在网络馈送和广告之间的延迟偏移量;
图12描述根据本发明的实施例的当从视频馈送#1切换到视频馈送#2然后返回时的视频预处理;
图13A-C描述由于拼接引入的对口型误差;
图14示出解码和呈现定时;
图15示出压缩视频解码器缓存器的水平(level)随时间变化的示例;
图16A和16B示出遵循根据本发明的实施例的约束的网络馈送和广告的每帧的DTS-STC值的示例;
图17示出根据本发明的实施例的粘合操作;
图18-24描述用于根据本发明的实施例的广告和网络馈送的DTS-STC值和比特率的各种组合的解码器缓存器模型的示例;
图25和26描述根据本发明的实施例的延迟被用来解决缓存器溢出;
图27示出根据本发明的实施例的在拼接操作前后的缓存器水平;以及
图28-30描述根据本发明的实施例的拼接器的示例,其中图28针对视频广告插入;图29针对视频节目切换;并且图30针对音频拼接。
具体实施方式
概要
本发明的实施例提供使能在MPEG-2传输流中承载的并且在拼接操作之前可能已经被加密的压缩的数字视频和音频流的拼接的系统和方法。
根据本发明的实施例,提供一种预处理视频/音频编码器以及知道到或认识到由该编码器执行的预处理的拼接装置。加密装置位于编码器和结合器之间的路径中的某处。应当注意,加密装置本身可以是传统的加密装置,因此不必要是本发明的部分。编码器(例如,经由硬接触)接收触发(trigger),该触发必须准备用于拼接事件的输出(即,包含压缩的视频和音频二者的MPEG-2传输流)。为了实现此,编码器将SCTE-35提示消息插入其输出中实际拼接点之前预定时间量(例如,4秒)处。SCTE-35提示消息包含与视频的实际拼接点的PTS值相对应的PTS值。一旦接收到拼接事件触发,预处理编码器就按照解码器缓存器延迟(即,DTS-STC值)在与拼接点相对应的视频帧处达到预定值的方式,对视频流进行编码。当与希望的拼接点相对应的视频帧被编码器处理时,编码器关闭画面组(GOP)并且此帧被编码作为随机访问点(RAP),即,提供不受限制解码开始点的视频帧。此RAP帧被映射到新的PES包,此新的PES包进而发起新的MPEG-2包。
对于音频流,在希望的拼接点周围例如1秒内生成的所有音频帧被编码作为音频随机访问点(RAP),并且每个被映射到单独的PES包,每个PES包发起一个新的MPEG-2包(通常,在同一PES包中承载一个以上音频帧,以便节省带宽)。这使得能够充分精细地控制音频相对视频的相对偏移(从而解决上面在背景部分中描述的第三点问题中所述的问题)。这还使得广告的音频持续时间能够与网路馈送中的可用部分(avail)更精确匹配。应当注意,音频RAP是排列在PES包的开始处的音频帧,PES包又位于传输流包的有效载荷的开始处。
预处理编码器的输出被加密装置加密,并且所得到的传输流被拼接装置接收。加密装置对视频和音频就加密,但是不对STCE-35提示消息加密。
拼接装置接收STCE-35提示消息并且提取拼接点的PTS值,该PTS值告知拼接器其需要对哪个音频/视频帧执行拼接。为了能够解释视频和音频的PTS值,PES头必须是不受限制的。因此,加密装置仅允许执行ES级加密,该ES级加密对PES有效载荷加密但是保留PES头不受限制。替代地,PES头可以被加密,但是PES头信息则必须以另一种方式(例如,通过将其拷贝到MPEG-2调整字段的私人数据中)被保持不被加密。
在具有与希望的拼接点相对应的PTS的视频/音频帧输入拼接器时,拼接器从初始视频/音频源(即,头流)到替换源(即,尾流)进行拼接。因为上面所述的视频和音频预处理,拼接只是在MPEG-2TS包边界上进行切换,这使得拼接器装置非常简单(注意,拼接器装置必须仍更新PTS/DTS/PCR值以使这些字段越过拼接点而继续)。
对于尾流,有两种选择。在第一种选择中,尾流也由预处理编码器生成(预处理编码器被触发以在与头流编码器相同的时刻准备拼接)。此应用称为无缝节目切换。在第二种选择中,尾流由广告(“ad”)服务器提供,此应用是无缝广告插入。在此情况中,存储在广告服务器上的广告优选地被以预处理的格式编码,即,其具有就好像其是由预处理编码器提供那样相同的格式。在这二者的情况中,因为GOP的选择、拼接点处的RAP插入、解码器缓存器预处理以及特别的PES打包和MPEG-2打包方式,拼接将是无缝的。在拼接装置中将预处理头尾流粘合连接了比特流具有相同的预处理DTS-STC值的点处的比特流。假定拼接装置不改变TS包的外出(drain)定时(即,除了在拼接点以外,每个MPEG-2包通过拼接器经历恒定的延迟),则拼接结果是不违反解码器缓存器条件的连接流。
在广告插入的情况中,广告将具有有限的长度,并且在广告插入结束后,拼接器必须切换回到头流(即,网络进入点(network in point))。因此,编码器必须注意广告的长度,因为其必须为另一拼接事件做准备并在那时执行其预处理。广告的长度可以被包括在SCTE-35提示消息的中break_duration字段中,可用于通知拼接装置必须切换回到头流。如果break_duration字段不可用,则单另的SCTE-35提示消息必须由预处理编码器被插入在网络进入点中。
因此,本发明的实施例涉及音频和音频编码器,其生成可以通过拼接装置拼接而成的流,拼接装置不访问可能被加密的基本流并且除了拼接点以外保留了连惯的MPEG-2传输流包之间的时间。对于视频,编码器的特征在于:随机访问点是关闭的GOP的开始,其被打包排列在PES包(PES包又被排列在MPEG-2TS包中)中,并且随机访问点处的DTS-STC距离处于预定水平。对于音频,编码器特征在于:其在视频拼接点周围生成若干可能的随机访问点,每个点是被打包排列在PES包(PES包又被排列在MPEG-2TS包中)中的音频帧,从而使得PES流在拼接点周围具有短PES包。
示例实施例的描述
图1示出本发明的一个可能实施方式的框图(广告插入)。预处理编码器110接收视频和音频信号以及拼接触发,拼接触发指示不久的将来发生的拼接事件。编码器110可以根据诸如MPEG-2之类的视频/音频压缩标准来对视频和音频进行编码,并且输出MPEG-2传输流。拼接触发被变换成了公知的SCTE-35提示消息。经过编码的基本流(ES)被传递到加密器115,加密器115对包括传输流的各个包的有效载荷进行加密。优选地,SCTE-35提示消息不被加密(如果它们被加密,则必须提供足够的信息以使得拼接器可以对它们进行解密)。注意,拼接触发也可以通过SCTE-35以外的手段从编码器被传输给拼接器。
如此经过加密的传输流然后被传递给知道(或认识到)预处理的拼接器(以下称为“拼接器”)120。拼接器120负责将例如从广告服务器125递送的广告(“ad”)拼接到由加密器115提供的主要“网络流”中。这样的广告通常希望被拼接到网络流的预定位置。这样的位置通常被称为“可用部分”(“avail”)。广告服务器125将例如MPEG-2传输流提供给拼接器120。此流像由预处理编码器110提供的传输流那样也是“经过预处理的”。对流的预处理在下面描述,作为实现所希望的拼接功能的步骤。
最后,拼接器120将预备要发送的拼接而成的经过加密的例如MPEG-2传输流递送给例如受控接入(CA)网(诸如有线电视网)的头端。
注意,来自广告服务器的传输流也可以被加密(在图1中未示出)。
图2描述与图1中所描述的相比非常相似的布置。然而,在图2的情况中,替代将广告拼接到网络流中,拼接器120用于在由例如编码器110提供的第一节目和由预处理编码器112提供的第二节目之间切换。注意,来自第二预处理编码器的传输流也可以被加密(在图2中未示出)。
利用预处理的广告插入和节目切换是网络馈送/广告编码器(预处理编码器110、112、125)和拼接器120之间的联合成就。编码器提供必要的随机访问点(RAP)画面(帧)以及在拼接点处的解码器缓存器预处理。拼接器120通过在拼接点处将网络馈送和广告传输流包粘合来执行实际的拼接。有关编码器中的预处理的更具体的细节在稍后提供。
1.1一般概念
图3描述对于网络馈送和广告二者的视频预处理以及所得到的拼接后视频馈送的格式。注意,在此图中,网络馈送、拼接后的馈送和广告之间的可能延迟被抽去,拼接器必须对此可能延迟进行处理。
在第一拼接事件发生之前,拼接馈送包含网络馈送的所有帧。在拼接馈送中包括在实际拼接开始之前的网络馈送的最后帧在图3中被指示为FR1。
第一拼接事件在网络馈送的网络退出点(network out point)处开始。在此点处,预处理编码器生成随机访问点(RAP),在图3中被指示为RAP1。RAP1具有预处理DTS-STC值,在图3中被指示为(DTS-STC)PRE。RAP1实际上是网络馈送的可用部分的第一帧,并且也是网络馈送中被拼接器禁用并且将被广告的第一帧替换的第一帧。
广告的第一帧被编码为RAP,并且在图3中被指示为RAP2。RAP2具有预处理的DTS-STC值,在图3中被指示为(DTS-STC)PRE。广告以如下方式结束,即如果要在广告之后添加虚拟广告帧,则其将具有预处理的DTS-STC值,在图3中被指示为(DTS-STC)PRE。
在网络退出点处,拼接馈送因此包含广告的第一帧(RAP2),并且将包括直到广告结束并且达到网络馈送的网络进入点为止的所有随后的广告帧。附接在广告的结束处的虚拟帧是不存在的帧。其只是用来定义广告的DTS-STC预处理,并且因此不是拼接输出的部分。
在网络进入点处,包括在拼接馈送中的网络馈送的第一帧为RAP3(参见图3)。RAP3是开始关闭的GOP(关闭的GOP是其所有画面可以在没有在先GOP的情况下而被正确解码的GOP)的随机访问点帧。RAP3也具有预处理的DTS-STC值,在图3中被指示为(DTS-STC)PRE。从该点往前,拼接馈送将包含直到下一广告插入事件开始为止的所有随后的网络馈送帧。
注意,网络馈送的可用部分中的视频帧的数目必须等于广告的视频帧的数目。
因为拼接点处的DTS-STC预处理,拼接馈送的解码器缓存器水平将遵循可应用的解码器缓存器模型。
为了向网络视频馈送的“可用部分”插入广告的视频,网络馈送视频帧的数目与用于替换的广告视频帧完全相同。然而,这不适用于音频的情况。音频帧具有与视频帧不同的持续时间。因此,音频和视频的拼接退出点和拼接进入点不一致。因此,网络音频帧在可用部分中的数目不固定,并且拼接器必须能够在可用部分的端部附近的若干音频帧边界处切割开网络馈送和广告。
音频打包中通常使用若干音频帧被打包在一个PES头中,这减少了PES开销。而且,通常是在PES包中开头的第一音频帧不沿着PES包有效载荷边界排列,从而减少用于排列的填充物。然而,如果由于有效载荷可能加密而拼接器被局限为在PES边界处(并进而在TS边界处)进行拼接,则对于广告插入的拼接仅能够在网络馈送中的音频帧在拼接退出和拼接进入点附近并且在广告结束附近的音频帧被以一定排列(即,PES包有效载荷的第一字节是音频帧的第一字节)打包在单个音频帧PES包时进行。
这在图4中被示出,其中,视频拼接时间在PTSi附近,并且在打包的基本流(PES)包下面的小的垂直标记指示传输流包边界。
图5图示出广告和网络馈送的音频编码器如何预处理拼接点附近的打包(packetization)。对于拼接退出和拼接进入点附近的单个音频帧PES包,拼接器可以选择对离视频拼接点最近的帧边界进行拼接。对于在广告结束附近或者在网络馈送的拼接进入点附近的单个音频帧PES包,拼接器可以选择对最适合拼接的帧边界进行拼接。广告和网络馈送二者中的至少一者应当在广告的结束附近或者拼接进入点周围具有单个帧音频PES包。
当从网络馈送切换到广告时,拼接馈送的STC时基优选地被保持等于网络馈送的STC时基。在拼接输出中广告插入期间,广告的PTS、DTS和STC值被拼接器120按照如下方式修改,即在PTS、DTS和STC值中没有中断。虽然DTS-STC值被预处理(即,DTS和STC之间的差),但是一般在网络馈送和广告的DTS和STC值之间存在偏移量。
1.2广告时基校正
如上所述,在用于执行预处理广告插入的优选方式中,拼接馈送的STC时基被保持等于网络馈送的时基。因为一般而言这两个时基不相等,所以当向网络馈送插入广告时可能出现问题。本部分描述此问题并且提供对此问题的解决方案。
在拼接器120中执行的预处理广告插入操作的原理可以通过说网络馈送包含其中需要粘合广告的间隙(即,“可用部分”)来解释。这在图6中图示出。
本发明基于的一个条件是网络馈送和广告都是以恒定延迟从拼接器120的输入发送到输出的(此恒定延迟对于不同网络馈送和广告一般不同)。这是指拼接器120的输出处的可用部分和广告的发送持续时间与拼接器120的输入处的可用部分/广告的发送持续时间相同(发送持续时间被定义为比特数除以平均比特率)。
为了广告很好地适合可用部分,可用部分的发送持续时间必须等于广告的发送持续时间。即使可用部分和广告中的帧数相等,一般而言,这也并不意味着它们各自的发送持续时间相等。
然而,如果在此稍后更加全面描述的解码器缓存器预处理被应用到网络馈送和广告,可以证明网络馈送和广告的发送持续时间实际上相等。这是如下实现的。
图7示出在预处理广告插入中优选使用的解码器缓存器预处理。
根据此解码器缓存器预处理,下面的式子成立(参见本文档中的另外说明)
(DTS-STC)N1=(DTS-STC)N2 (1)
(DTS-STC)A1=(DTS-STC)A2 (2)
如果引入下面的表示:
·(DTS-STC)N1=DTSNI-STCN1
·(DTS-STC)N2=DTSN2-STCN2
·(DTS-STC)A1=DTSA1-STCA1
·(DTS-STC)A2=DTSA2-STCA2
则下面的等式成立:
DTSN1-STCN1=DTSN2-STCN2 (3)
DTSA1-STCA1=DTSA2-STCA2 (4)
或者:
STCN2-STCN1=DTSN2-DTSN1 (5)
STCA2-STCA1=DTSA2-DTSA1 (6)
根据ITU-T推荐H.222|ISO/EEC 13818-1(2000):“InformationTechnology-Generic Coding of moving pictures and associated audioinformation:Systems”以及ITU-T推荐H.262|ISO/TEC 13818-2(2000):“Information Technology-Generic Coding of moving pictures and associatedaudio information:Video”,两个连贯的DTS值之间的差等于在90KHz时频(tick)中表达的帧周期(为帧率的倒数):
DTSN2-DTSN1=nN×TfN×90000 (7)
DTSA2-DTSA1=nA×TfA×90000 (8)
其中:
·NN=可用部分中的帧数
·NA=广告中的帧数
·TfN=网络馈送的帧周期
·TfA=广告的帧周期
如果广告和可用部分中的帧数相等并且他们的帧周期相等,则:
DTSN2-DTSN1=DTSA2-DTSA1 (9)
从(5)、(6)和(9),可以得出下式:
STCN2-STCN1=STCA2-STCA1 (10)
传输流的发送持续时间可以从STC时间得出为:
TTR=(STCend-STCstart)/system_clock_frequency (11)
其中:
·TTR=传输流的发送持续时间
·STCend=TS的结束处的系统时钟值
·STCstart=TS的开始处的系统时钟值
·System_clock_frequency=用于生成STC的27.0MHz基准时钟频率
如果将(11)应用到网络馈送和广告,则得到如下的公式:
TTR,N=(STCN2-STCN1)/system_clock_frequencyN (12)
TTR,A=(STCA2-STCA1)/system_clock_frequencyA (13)
其中:
·TTR,N=可用部分的发送持续时间
·TTR,A=广告的发送持续时间
·System_clock_frequencyN=网络馈送的27.0MHz基准时钟
·System_clock_frequencyA=广告的27.0MHz基准时钟
如果:
System_clock_frequencyN=system_clock_frequencyA (14)
则:
TTR,N=TTR,A (15)
换句话说,如下所述,如果解码器缓存器预处理很好地被满足,并且广告和网络馈送的系统时钟相等,则网络馈送可用部分和广告的发送持续时间相等,这意味着广告很好地适合此可用部分。
可以看出,如果system_clock_frequencyA>system_clock_frequencyN,则广告的发送持续时间小于可用部分持续时间。如果system_clock_frequencyA<system_clock_frequencyN,则广告的发送持续时间大于可用部分持续时间。
然而,事实上,不能满足要求(14),因为网络馈送来自编码器,而广告来自广告服务器(当然,除非他们的基准时钟被锁定为共同的基准)。因此,在拼接器120中执行方法以同步广告的system_clock_frequency与网络馈送的system_clock_frequency。
在广告的开始处(即,第一画面),拼接器120确定广告和网络馈送之间的STC偏移量。对于每个连贯的广告画面,STC偏移量被再次确定。如果存在STC偏移量差,则此差被考虑到广告画面通过拼接器将经历的延迟中。这被重复,直到到达广告的结束为止。
利用此方法得到的实际结果是,广告将以比从广告服务器125出来的最初的速率稍快或稍慢的速率而被播放。在图8中图示出system_clock_frequencyA<system_clock_frequencyN的情况。
从图8可以看出,对于每个连贯画面,广告画面的输入到输出延迟减小。净效果是,广告被以比广告服务器播放的初始速率稍高的速率被播放。这使得拼接器120能够使广告适合可用部分窗口。
在图8中,
DEL0=DELCONST
DEL1=DELCONST+[(STCNt0-STCAt0)-(STCNt1-STCAt1)]=DELCONST+STCCOR(t1)
DEL2=DELCONST+[(STCNt0-STCAt0)-(STCNt2-STCAt2)]=DELCONST+STCCOR(t2)
DEL3=DELCONST+[(STCNt0-STCAt0)-(STCNt3-STCAt3)]=DELCONST+STCCOR(t3)
DEL4=DELCONST+[(STCNt0-STCAt0)-(STCNt4-STCAt4)]=DELCONST+STCCOR(t4)
DEL5=DELCONST+[(STCNt0-STCAt0)-(STCNt5-STCAt5)]=DELCONST+STCCOR(t5)
1.3广告延迟偏移量计算
优选用于网络馈送通过拼接器120的延迟的策略是网络馈送总是经历固定延迟(例如,1秒)。这确保即使网络馈送和/或广告的预处理不正确从而拼接失败,在拼接器120的输出处网络馈送的解码器缓存器水平也将总是与拼接器120的输入处该馈送的原有的解码器缓存器水平相同。换句话说,如果到来的视频网络馈送遵循标准,则输出馈送也将遵循。如果到来的视频网络馈送不遵循,则输出也将不遵循。注意,如果抽取包括上述时基校正,这也同样适用于广告。
当广告被插入时,在实际拼接点前的一段时间,广告服务器125开始播放广告。此时间可以因广告服务器不同而不同(通常这是可定制的设定)。当拼接器120需要在网络馈送和广告之间切换时,其需要计算需要应用到广告的第一帧的延迟。此延迟是网络馈送和广告之间的相对延迟的函数。
要被插入网络馈送的第一广告帧的最初延迟通过从被该广告替换的网络馈送的第一帧的第一个包的达到时间减去该广告的第一帧的第一个包的到达时间来计算。
这在图9中被图示出,其中,为了方便说明,所有块表示1个画面和1个TS包。在本示例中,网络馈送经历了1秒的固定延迟。如图所示,广告的第一帧在t0到达拼接器120。与网络退出点相对应的网络馈送的帧在时间t9到达拼接器120。广告和网络馈送之间的延迟偏移量通过从t9减去t0来获得(偏移量1=t9-t0)。广告的第一帧的总延迟然后通过将此偏移量1的值加到网络馈送的1s的固定延迟而给定。
对于该广告的随后的帧,此延迟被重复使用,但是对于每个帧,如在1.2部分所说明的,存在额外的延迟校正值以补偿网络馈送和广告之间的时基差。
在图10中图示出对于背靠背(back to back)拼接的延迟偏移量计算。首先,广告2的第一帧和广告1的结束之间的延迟偏移量被确定。对于此计算,出现第一个问题。第一广告的结束的到达时间是未知的。实际上,可以将此看作在广告1的最后帧紧后到来的虚拟帧的到达时间。此到达时间可以通过将广告1的包之间的间隙(IPGA1)加到广告1的最后帧的最后的包的到达时间来估计。可以以许多不同的方式来计算IPGA1,例如,整个广告上的平均IPG、整个广告上的最小IPG,等等。一旦t4被确定,广告1和广告2之间的延迟偏移量就被计算为偏移量2’=t4-t5。
然后,通过将偏移量2’加到在时间t4到达的广告1的虚拟画面的延迟来计算广告2的实际延迟偏移量。广告1的虚拟画面的延迟具有的延迟偏移量等于1秒+偏移量1+STCCOR,A1(t4)。
这意味着广告2的第一画面的延迟偏移量等于1秒+偏移量1+STCCOR,A1(t4)+偏移量2’。如果以偏移量2来代替偏移量1秒+STCCOR,A1(t4)+偏移量2’,则广告2的第一画面的延迟偏移量由1秒+偏移量2给定。
对于广告2的所有随后的帧,此延迟被重复使用,只是对于每帧,存在额外的延迟校正值以补偿网络馈送和广告2之间的时基差。从图10可以看出,在广告2的结束处,网络馈送以1秒的延迟返回到输出。如果所有解码器缓存器预处理都适当地完成,则所有广告应当都很好地适合网络馈送的可用部分。
在图11中描述针对背靠背广告插入操作的全部概要。
拼接器120以固定的时间量来延迟每个音频TS包,就像针对视频那样。原理上,此总延迟在拼接点之间是固定的。就像针对视频那样,此延迟可以补偿网络馈送STC和广告STC之间的频率的小差异。
1.4广告DTS/PTS偏移量计算
因为一般而言网络馈送和广告中的视频流的DTS/PTS值彼此不相关,所以广告的DTS/PTS值将需要校正以确保连续性。网络退出点处的DTS/PTS偏移量的值通过如下给定:
DTS_PTS_Offset=DTSN,Last+Tf×90,000-DTSA,First (16)
其中:
·DTSN,Last=拼接前网络馈送的最后画面的DTS值
·Tf=网络馈送和(一个或多个)广告的帧周期
·DTSA,First=广告的第一解码画面的DTS值
此DTS_Offset值将被用于根据下面的公式来更新第一广告的DTS值:
DTSNEW,A=DTSA+DTS_PTS_Offset (17)
其中:
·DTSNEW,A=广告的更新的DTS值
·DTSA=广告的原有的DTS值
此DTS_Offset值还将被用于根据下面的公式来更新第一广告的PTS值:
PTSNEW,A=PTSA+DTS_PTS_Offset (18)
其中:
·PTSNEW,A=广告的更新的PTS值
·PTSA=广告的原有的PTS值
对于背靠背拼接,必须针对每个广告确定DTS_PTS_Offset值。对于背靠背广告的DTS/PTS偏移量值通过如下给定:
DTS_PTS_Offsetn+1=DTSNEW,An,Last+Tf×90,000-DTSAn+1,First (19)
其中:
·DTS_PTS_Offsetn+1=针对广告n+1的DTS/PTS值
·DTSNEW,An,Last=广告n的最后画面的更新的DTS值
·Tf=(一个或多个)广告的帧周期
·DTSAn+1,First=广告n+1的第一画面的DTS值
针对每个广告的DTS和PTS值将根据公式(17)和(18)而被更新。
注意,对于网络视频馈送,DTS_PTS_Offset值总为0。
拼接器输出中的音频流必须具有连续PTS,就像视频那样。广告的PTS需要以等于广告的第一音频帧与被该广告替换的第一网络音频帧的PTS之间的差的偏移量来被更新。此偏移量与视频的DTS/PTS偏移量不同,因为视频和音频之间的帧持续时间不同。就像在视频中那样,当结核返回到网络馈送时,此PTC偏移量再次为0。
视频的DTS/PTS偏移量和音频的PTS偏移量之间的差是对口型误差,如果其足够细小(通常小于音频帧的持续时间),则是不可察觉的。如果在拼接返回到网络馈送后这两个偏移量都再次为0,则不存在对口型误差的累积。
2.利用预处理的节目切换
2.1一般概念
图12示出当从视频馈送#1切换到视频馈送#2并且返回(SP#2)时的视频预处理以及得到的拼接馈送的格式。注意,在此图中,注意,在此图中,抽取包括拼接馈送和广告之间的可能延迟,拼接器必须对此可能延迟进行处理。
在第一拼接事件发生之前(图12中的SP#1),拼接视频馈送包含视频馈送#1的所有帧。在拼接馈送中包括在实际拼接开始之前的视频馈送#1的最后帧在图12中被指示为FR1。
在SP#1处,视频馈送#1的预处理编码器生成随机访问点(RAP)帧,在图12中被指示为RAP1,预处理DTS-STC值被指示为(DTS-STC)PRE。同时,视频馈送#2的预处理编码器也生成以随机访问点(RAP)帧为开始的关闭的GOP,在图12中被指示为RAP2,预处理DTS-STC值被指示为(DTS-STC)PRE。
在SP#1处,拼接器从视频馈送#1切换为视频馈送#2。在SP#1之后拼接馈送中的第一帧为视频馈送#2的RAP2。从该点向前,拼接馈送将包含直到第二拼接事件为止的视频馈送#2的所有随后的帧。
在SP#2处,视频馈送#1的预处理编码器生成以随机访问点(RAP)帧为开始的关闭的GOP,在图12中被指示为RAP3,预处理DTS-STC值被指示为(DTS-STC)PRE。同时,视频馈送#2的预处理编码器也生成以随机访问点(RAP)帧为开始的关闭的GOP,在图12中被指示为RAP4,预处理DTS-STC值被指示为(DTS-STC)PRE。
在SP#2紧前拼接馈送的最后视频帧是视频馈送#2的帧FR4。在SP#2紧后拼接馈送的第一帧是视频馈送#1的随机访问点帧RAP3。从该点向前,拼接馈送将包含直到下一拼接事件为止的视频馈送#1的所有随后的帧。
音频帧与视频帧具有不同的持续时间。因此,视频和音频中的拼接点不完全一致。因此,音频在视频拼接点附近的音频帧边界处被拼接。在拼接后,音频在时间上稍微向视频偏移,因为在拼接的输出中没有音频间隙。
这在图13A-C中被图示出。图13A示出对于视频1和音频1的馈送。图13B示出对于视频2和音频2的馈送。如在图13中的视频输出中所示,视频拼接出现在视频1馈送的帧i-1紧后,并且以视频2馈送的帧k开始。音频输出在音频1馈送的帧j-1以及音频2馈送的帧n处。S1和S2表示音频帧相对他们各自的视频帧的偏移。虽然由于在拼接点附近创建了多个音频帧而最小化了此偏移,但是在拼接点仍然引入了一定量的“对口型误差”。具体地,音频帧n相对视频帧k被偏移S1+S2。偏移S1+S2是因拼接引入的总的对口型误差。
此偏移可能导致可察觉到的对口型问题,尤其是由于在若干拼接或节目切换之后的偏移的累积。拼接器可以通过将替代音频帧边界作为拼接点来补偿在先累积的偏移。在正累积的情况中,拼接可以从头音频流切掉较早的一帧或者从尾音频流切掉较后的一帧(对于偏移的负累积,将采取相反动作)
音频帧像视频那样被打包在PES包中。通常的惯例是由于带宽效率而若干音频帧被一起打包在一个PES包中。因此,理想的音频拼接点可以是给定PES包的中间。如果音频内容是受限制的,则不可能在理想的拼接点进行拼接,因为这涉及到对音频帧进行解包并且将其中一些重新打包到新的PES包中。此问题可通过强迫音频解码器对拼接点附近的打包进行预处理从而强迫PES包具有单个音频帧来解决,如图4所示。
当从视频馈送#1切换为视频馈送#2时,拼接输出的时基也从视频馈送#1的时基切换到视频馈送#2。当从视频馈送#2切换回视频馈送#1时,拼接输出的STC时基也从从视频馈送#2的时基切换回视频馈送#1。在视频馈送#2插入到拼接输出期间,PTS、DTS和STC值被拼接器120按照如下方式修改,即在PTS、DTS和STC值中没有中断。虽然DTS-STC值被预处理(即,DTS和STC之间的差),但是一般在视频馈送#1和视频馈送#2的DTS和STC值之间存在偏移量。
因为拼接点处的DTS-STC预处理,拼接馈送解码器缓存器水平遵循可应用的解码器缓存器模型。
注意,在节目切换的情况中,时基被切换,因此不需要时基校正(参见1.2)。
2.2延迟偏移量计算
优选用于视频流通过拼接器120的延迟的策略是视频流总是经历固定延迟。这确保在拼接器120的输出处视频流的解码器缓存器水平将总是与拼接器120的输入处该视频流的原有的解码器缓存器水平相同。换句话说,如果到来的视频馈送遵循标准,则输出馈送也将遵循。如果到来的视频馈送不遵循,则输出也将不遵循。
一般而言,当两个视频馈送被拼接时,在这两个视频馈送的预处理拼接点之间存在时间差。当拼接器120需要例如从视频馈送#1切换到视频馈送#2时,其需要计算需要应用到广告的第一帧的延迟。此延迟是这两个视频馈送的预处理拼接点之间的相对延迟的函数。注意,此计算类似于在1.3部分针对广告插入所描述的(没有时基校正部分)。一旦此延迟被确定,其就被应用到视频馈送#2的所有随后的帧。当从视频馈送#2切换到视频馈送#1时,适用同样的方法。
2.3DTS/PTS和PCR偏移量计算
因为一般而言视频馈送#1和视频馈送#2的DTS/PTS值彼此不相关,所以拼接器的输出处的视频馈送的DTS/PTS值将需要校正以确保连续性。DTS/PTS偏移量值的计算类似于在1.4中针对广告插入所描述的。
一般而言,视频馈送#1和视频馈送#2的时基彼此不相关。因此,在节目切换的情况中,时基也被切换,所以拼接器120的输出处的PCR字段也将需要校正以确保连续性。此校正值被称为PCR偏移量值并且等于DTS/PTS偏移量值(使得精确地抽取差)
注意,当拼接器已经从视频馈送#1切换到视频馈送#2并且然后切换返回视频馈送#1时,DTS_PTS_Offset和PCR_Offset值一般而言将为非零(在广告插入的情况中,对于网络馈送总是0)。
3.解码器缓存器预处理
如上所述,当拼接器120向网络馈送插入广告或第二馈送时需要进行解码器缓存器预处理。根据本发明,当拼接器不执行转变(这在当输出流是不受限制地(即,不被加密地)被接收时可能的)时,需要进行预处理。
根据本发明的原理,解码器缓存器预处理通过在广告插入的情况中向网络馈送和广告添加若干约束或者在节目切换的情况中向视频馈送添加若干约束来避免解码器缓存器上溢/下溢。这些约束稍后讨论。
对网络馈送和广告或者对两个视频馈送施加的约束被表达在(DTS-STC)值或解码器缓存器延迟值中。这些首字母缩写的简短解释在下面给出。
3.1STC/PTS/DTS/DTS-STC
系统时钟(STC)在“ITU-T推荐H.222|ISCO/IEC 13818-1(2000):“Information Technology-Generic Coding of moving pictures and associatedaudio information:Systems”中被定义。STC实际上是对于压缩视频编码器和解码器共同的时间基准(27MHz时钟)。
STC被用于创建指示音频和视频的正确呈现和解码定时的时间戳,还用于创建指示系统时钟本身在采样间隔处的瞬时值。
指示音频和视频的呈现时间的时间戳被称为呈现时间戳(PTS)。指示解码时间的时间戳被称为解码时间戳(DTS)。最后,指示系统时钟的时间戳被称为节目时钟基准(PRC)。STC通过在解码器中以PLL来对PCR值进行插值来构建。
换句话说,STC是在编码器和解码器二者中都可用的时间基准。诸如画面的解码和呈现之类的某些解码器事件通过包含系统时钟的值的时间戳来指示,在这样的时间戳处,事件必定发生。这在图14中图示出。
注意,系统时钟和PCR采样具有27MHz(37ns)的精度,而PTS和DTS字段的精度局限于90MHz(11μs)。
这里将要使用的DTS-STC是解码器中的某帧的开始的到达与此帧的实际解码之间的延迟。在上述示例中,帧X的DTS-STC等于t1-t0。DTS-STC实际上某帧的第一比特在该帧被解码之前停留解码器缓存器中的时间(解码器缓存器延迟)。
注意,上面定义的DTS-STC值大约等于MPEG-2视频中的vbv_delay或者H.264中的cpb_delay。
对于恒定比特率(CBR)的视频流,DTS-STC值可以很容易地从解码器缓存器水平得出,如图15中所示。图15示出压缩视频解码器缓存器的水平随时间变化的示例。在时间0处,画面0的开始到达解码器。在时间t0处,画面0已经完全到达解码器缓存器。这意味着画面1的开始在t0紧后出现在解码器缓存器中。在时间t1,画面1已经完全达到解码器缓存器,等等。
对于CBR视频流,在画面的(解码)(移除紧前的缓存器水平通过如下给定:
Buffer_level=Rate x(DTS-STC)
其中:
·Buffer_level=在画面被解码紧前的解码器缓存器水平
·Rate=视频馈送的恒定比特率
·DTS-STC=对于画面的解码延迟
换句话说,对于CBR视频流,在画面移除之前的解码器缓存器水平与该画面的DTS-STC值成正比。
3.2对于广告插入的解码器缓存器预处理
3.2.1解码器缓存器预处理约束
对于网络馈送,至少需要下面的约束中的第一个约束来确保无缝拼接。
1.(DTS-STC)值在预处理编码器在各拼接点处插入的随机访问点(RAP)帧处相等。
2.网络馈送的RAP帧之间的所有帧的(DTS-STC)值小于等于RAP帧的(DTS-STC)值。
对于广告,需要下面的约束来确保无缝拼接。
1.(DTS-STC)值在广告的开始和结束处处相等。
2.在广告的开始和结束处的(DTS-STC)值小于或等于拼接点处的网络馈送的(即,RAP帧的)(DTS-STC)值。
3.在广告的开始和结束之间的所有帧的(DTS-STC)值小于或等于在广告的开始和结束处的(DTS-STC)值。
4.广告的比特率低于或等于网络馈送的比特率。
注意,在广告的结束处的DTS-STC值实际上是附接到广告的结束的虚拟帧的DTS-STC值(然而,此虚拟帧不是广告的部分)。图16A和16B示出对于遵循上述约束的广告和网络馈送(仅可用部分)的每帧的DTS-STC值的示例。
注意,当DTS-STC值在拼接点处达到最大并且此最大值对于网络馈送和广告二者相同时,出现满足上述针对广告插入的要求的解码器缓存器预处理的特殊情况。这是对于广告插入的预处理约束的一个可能的实现方式。
3.2.2拼接对解码器缓存器延迟的影响
图7示出在广告插入的情况中对网络馈送和广告的解码器缓存器预处理。如图所示,对于网络馈送:
○在网络退出点紧后的DTS-STC为(DTS-STC)N1
○在网络进入点紧后的DTS-STC为(DTS-STC)N2
另外,对于广告:
○广告的第一帧的DTS-STC为(DTS-STC)A1
○在广告的最后帧紧后的DTS-STC为(DTS-STC)A2
广告通过将该广告的开始粘合到网络馈送的第一部分并且将网络馈送的第二部分粘合到广告的结束而被插入。
网络馈送被拷贝到输出(拼接馈送),直到与网络输出点相对应的帧的第一个包紧前为止。这意味着包含与网络输出点相对应的帧的开始的第一个包是没有被拷贝到输出的第一个包。输出中网络馈送的速率等于网络馈送原有的速率(包从拼接器的输入到输出经历固定延迟)。
从此以后,以此第一个包开始的广告包被拷贝到输出。输出中广告的速率等于广告原有的速率(包从拼接器的输入到输出经历固定延迟)。PTS、DTS、PCR(STC)和连续性计数器值被更新以使得他们在从网络馈送变为广告时连续。
在广告的结束处,在网络进入点后到来的网络馈送的第一帧的第一个包以及网络馈送的所有后面的包被拷贝到输出。PTS、DTS、PCR(STC)和连续性计数器值被更新以使得他们在从广告变为网络馈送时连续。
在网络退出点紧后的网络馈送的DTS-STC值具有值(DTS-STC)N1。虽然广告的第一帧具有的DTS-STC值等于(DTS-STC)A1,但是在广告被粘合到网络馈送时,广告的第一帧的DTS-STC值将等于网络馈送的DTS-STC值(即,(DTS-STC)N1)。
其原因很简单。当从网络馈送变到广告时,广告的第一帧的DTS和STC(PCR)值被更新,以使得这些值连续。因为原有的网络馈送具有连续的DTS和STC(PCR)值,所以没有其他可能使得广告的第一帧的DTS/STC值与网络馈送的相等(在此情况中为(DTS-STC)N1)。
这意味着在网络退出点,广告将经历解码器缓存器延迟偏移,此偏移等于:
(DTS-STC)N1-(DTS-STC)A1
因为上述对广告的第二约束,此偏移将总是具有正值(或0),这意味着广告帧将被保存在解码器缓存器中比原有的预期更长的时间。注意,广告的所有帧将经历相同的偏移。这将导致解码器缓存器水平增加。因为广告约束3和4,没有缓存器上溢的风险,如稍后将要说明的。
在网络进入点处,在网络进入点后的网络馈送的第一帧被粘合到广告的结束。虽然此帧具有的DTS-STC值等于(DTS-STC)N2,但是其值将通过粘合操作被修改为:
(DTS-STC)A2+[(DTS-STC)N1-(DTS-STC)A1]
如果(DTS-STC)A2等于(DTS-STC)A1,如在广告约束1中所说的,则在网络进入点处的DTS-STC值被减小为:
(DTS-STC)N1
对于网络馈送的第一个约束要求(DTS-STC)N1=(DTS-STC)N2。因此,在网络进入点处的DTS-STC值可以最后减小为:
(DTS-STC)N2
(DTS-STC)N2是在网络进入点处的原有的网络馈送的DTS-STC值。这意味着在广告插入后,网络馈送没有经历任何额外的解码器缓存器延迟,这意味着广告后的缓存器水平将等于原有的网络馈送中的水平。如果解码器缓存器模型对于原有的网络馈送良好,则在广告插入后其也良好。
图17示出在广告插入操作后图7的更新版本,其中考虑了网络馈送和广告的约束。
3.2.3拼接对广告的解码器缓存器水平的影响
如在前面的段落中所说明的,粘合操作以及对广告和网络馈送的约束一般而言将会增大广告的解码器缓存器水平和DTS-STC值。下面说明为什么当此发生时解码器缓存器不会上溢或下溢。
回想,对于CBR流,缓存器水平和DTS-STC之间的关系通过下面的公式给定:
Buffer_level=Rate×(DTS-STC)
其中:
·Buffer_level=在画面被解码紧前的解码器缓存器水平
·Rate=视频馈送的恒定比特率
·DTS-STC=对于画面的解码延迟
如果网络馈送的速率等于RateN,并且在网络退出点处的网络馈送的DTS-STC值等于(DTS-STC)N,则在网络退出点处的原有的解码器缓存器水平将等于:
Buffer_levelN=RateN×(DTS-STC)N
如果原有的网络馈送符合解码器缓存器模型,则此水平必定低于最大水平。
粘合操作把广告的(DTS-STC)值增大到等于在网络退出点处的网络馈送(DTS-STC)值(参见图17)。因为在原有的广告流中广告的第一帧具有最大(DTS-STC)值(因为广告约束1和3),在粘合操作后,其还将具有最大(DTS-STC)值,因为广告中的最后帧在经历了相同(DTS-STC)值增大。
如果广告速率等于RateA,在广告的第一帧被移除紧前的解码器缓存器水平将等于:
Buffer_levelA=RateA×(DTS-STC)N
注意,这是对于全部广告将能达到的最大缓存器水平,因为广告的(DTS-STC)值在网络退出点达到最大。
广告的约束4是说,广告的速率(RateA)总是小于或等于网络馈送的速率(RateN)。因此,Buffer_levelA必定小于或等于Buffer_levelN,这证明了没有解码器缓存器上溢的风险。
因为粘合操作增大了对于广告的缓存器水平,所以也没有解码器缓存器下溢的风险,因为在拼接馈送广告的解码器缓存器水平总是高于在原有的广告中的水平。
如果广告的(DTS-STC)值将大于网络馈送的(DTS-STC)值(与广告约束2相反),则在拼接馈送中广告的(DTS-STC)值将被减小并且存在解码器缓存器下溢的风险,这也说明了为什么需要广告约束2。
图18-21描述用于网络馈送和广告的比特率和(DTS-STC)值的所有可能组合的、遵循如下预处理约束的解码器缓存器模型:
·RateA<RateN,(DTS-STC)A=(DTS-STC)N
·RateA=RateN,(DTS-STC)A=(DTS-STC)N
·RateA=RateN,(DTS-STC)A<(DTS-STC)N
·RateA<RateN,(DTS-STC)A<(DTS-STC)N
在图22-24所示的另外的示例示出了当对于网络馈送和或广告的约束不是都满足时可能发生的问题。
示例1:RateA<RateN,(DTS-STC)A=(DTS-STC)N(图18)
因为广告的DTS-STC距离总是等于网络馈送的DTS-STC距离总,所以没有对于广告的解码器缓存器延迟偏移。在拼接退出点,解码器缓存器水平下降到原有的广告的解码器缓存器水平。在网络进入点,解码器缓存器水平上升回到网络馈送的解码器缓存器水平。
示例2:RateA=RateN,(DTS-STC)A=(DTS-STC)N(图19)
因为广告的DTS-STC距离总是等于网络馈送的DTS-STC距离总,所以没有对于广告的解码器缓存器延迟偏移。因为广告的比特率也等于网络馈送的比特率,所以在网络退出点周围没有解码器缓存器水平的下降,并且在网络进入点没有上升。
示例3:RateA=RateN,(DTS-STC)A<(DTS-STC)N(图20)
因为(DTS-STC)A小于(DTS-STC)N,所以在拼接退出点后广告的缓存器水平将高于原有的广告的缓存器水平。因为广告的比特率等于网络馈送的比特率,所以在网络退出点周围没有解码器缓存器水平的下降,并且在网络进入点没有上升。
示例4:RateA<RateN,(DTS-STC)A<(DTS-STC)N(图21)
因为(DTS-STC)A小于(DTS-STC)N,所以在拼接后广告的缓存器水平将高于原有的广告的缓存器水平。因为广告和网络馈送之间的比特率存在差,所以在网络退出点处出现缓存器水平下降,并且在网络进入点处此水平上升。
示例5:RateA=RateN,(DTS-STC)A>(DTS-STC)N(图22)
在此情况中,可能发生解码器缓存器下溢。
示例6:RateA>RateN,(DTS-STC)A=(DTS-STC)N(图23)
在此情况中,可能发生解码器缓存器上溢。此问题可以通过用于信号指示网络馈送中的最大解码器缓存器水平(至少广告的解码器缓存器水平那么大)来避免。注意,对于覆盖(capped)VBR流(其中在拼接点周围网络馈送的比特率小于广告的比特率),可能发生此情形。
示例7:RateA=RateN,(DTS-STC)A≤(DTS-STC)N,在广告的开始处DTS-STC不是最大值(图24)
在本示例中,不满足广告约束3。可以看出,这可能导致缓存器上溢。
3.2.4拼接器120中的缓存其水平校正
为了进行无缝拼接,网络馈送和广告编码器(例如,110、112)必须如上所述地处理拼接点处的解码器缓存器水平。然而,编码器110、112具有有限的精度,这样的精度被处理并且因此对于每次拼接操作将引入很小的误差。
如果有大量顺次拼接,则小误差可能会累积,从而可能得到大误差,这可能导致解码器缓存器上溢或下溢。因此,拼接器120必须具有用于校正编码器的不准确性的方法。
如果在广告的开始和结束处的DTS-STC值不相等,或者如果网络的馈送的RAP帧的DTS-STC值不相等,则将发生解码器缓存器水平误差。这在图7中被图示出。
回想,在网络进入点处的RAP帧的DTS-STC值一般而言通过下面的公式给定:
(DTS-STC)A2+[(DTS-STC)N1-(DTS-STC)A1]
或者
(DTS-STC)N1+[(DTS-STC)A2-(DTS-STC)A1]
此RAM帧在原来的网络馈送中的DTS-STC值等于[(DTS-STC)N2。
在广告插入后的值与原来的值之间的差则通过下式给定:
Buffer_Delay_Error=[(DTS-STC)N1-(DTS-STC)N2]+[(DTS-STC)A2-(DTS-STC)A1]
或者
Buffer_Delay_Error=ΔN+ΔA
其中
ΔA=(DTS-STC)A2-(DTS-STC)A1
ΔN=(DTS-STC)N1-(DTS-STC)N2
为了使拼接无缝并且不对解码器缓存器水平有影响,ΔN+ΔA必须等于0。如果ΔN+ΔA不等于0,则解码器缓存器水平将会出现偏移:
如果ΔN+ΔA>0,则解码器缓存器将增大并将可能发生上溢情形。
如果ΔN+ΔA<0,则解码器缓存器将减小并将可能发生下溢情形。
可以通过应用任何已知技术中的一种技术来校正下溢和上溢情形。
解决缓存器上溢问题(ΔN+ΔA>0)的最容易的解决方案是在广告的结束和网络馈送的开始之间引入延迟。通过引入延迟(即,在网络进入点处向TS添加空(null)包),STC值增大与此延迟相等的量,并且因此DTS-STC减小。为了进行良好的拼接,校正延迟必须等于ΔN+ΔA。此值可由拼接器120容易地算出。
解决缓存器下溢问题(ΔN+ΔA<0)的最容易的解决方案是在广告的结束和网络馈送的开始之间粘合帧。问题是粘合帧可能不会被接受。
为了避免粘合帧,编码器110、编码器112可以确保其引入的误差总是正的(ΔN+ΔA>0)。如果编码器知道其不准确性,则其可以按照如下方式对此作出过度补偿:即,ΔN>0并且ΔA>0(这使得ΔN+ΔA>0)。拼接器120然后可以通过引入延迟来对解码器缓存器水平进行细调谐。
图25示出其中ΔN>0并且ΔA=0的示例。第一拼接馈送示出发生缓存器过流。第二拼接馈送中,在广告和网络馈送之间引入了小延迟(缓存器模型的水平行),这解决了过流问题。
图26示出其中ΔN=0并且ΔA>0的示例。第一拼接馈送示出发生缓存器过流。第二拼接馈送中,在广告和网络馈送之间引入了小延迟(缓存器模型的水平行),这解决了过流问题。
3.3对于节目切换的解码器缓存器预处理
3.3.1解码器缓存器预处理约束
为了生成无缝拼接,对于视频馈送二者需要下面的约束。
1.对于视频馈送二者,(DTS-STC)值在预处理编码器在各拼接点处插入的随机访问点(RAP)帧处相等。
2.在拼接点处的RAP帧以外的所有帧的(DTS-STC)值小于等于在拼接点处的RAP帧的(DTS-STC)值。
3.视频馈送二者的比特率相等。
从对广告插入的预处理的讨论,很明显,(DTS-STC)值在视频馈送二者的RAP帧处相等并且达到最大值并且二者的比特率相等,对于每个视频流,在拼接操作前后的解码器缓存器水平将相等。这可以从图27中看出。
3.4可变比特率支持
预处理的目的是在拼接中头流和尾流的连接产生适当的输出比特流,而不引起解码器缓存器的任何缓存器上溢或下溢。对于CBR(恒定比特率),预处理根据拼接点处的DTS-STC来表达,并且DTS-STC乘以此恒定比特率给出了紧在解码画面之前的解码器缓存器水平。在VBR(可变比特率)的情况中,将不会有如此简单的关系。因此,对于VBR,不再可能根据DTS-STC进行预处理。然而,对于VBR,对于广告除了约束4以外的所有约束可以通过使用由画面的DTS指示的即时时间处的解码器缓存器充满度替代DTS-STC来重新用公式表示。如果其他约束限制了拼接点处的解码器缓存器充满度,则对于广告的第四个预处理约束由这些约束遮盖。
4.拼接器实现示例
4.1预处理的广告插入
在图28中描述可以执行预处理的广告插入的知道预处理的拼接器的可能实现方式示例。
当然,本领域技术人员将会理解,其他硬件(和软件)配置被认为落入本发明的范围内,并且在此描述的具体硬件配置应当被认为是一个可能实现方式的非限制性示例。
现在参考图28,如图左边所示,视频和音频TS包达到拼接器120的输入端口。在块312处,每个到来的包被分配时间戳,此时间戳是从本地27MHz时钟振荡器运行的本地计时器314得出的。
视频包被解复用为每个节目并且被写入预分析缓存器316。每个到来的视频节目优选地具有其自己的预分析缓存器,如图所示。对于每个到来的视频节目,PCR相对本地时间计算块305计算视频节目的系统时钟(STC)和拼接器120的本地计时器314之间的偏移量。这是通过将每个视频节目的到来的PCR字段与314进行比较来完成的。PCR相对本地时间偏移量计算的结果被转发给主机处理器320。
存储在预分析缓存器316中的所有画面被画面预分析块322处理。此块322提取针对每个画面的所有重要参数,诸如,例如DTS/PTS值、画面的第一和最后包的时间戳、MPEG-2调整字段信息,等等。所有这些提取的参数被转发给主机处理器320。
画面一旦经过预分析,其可以被主机处理器320经由画面输出调度器326从预分析缓存器316移动到输出缓存器328。预分析缓存器316中的画面必须被主机处理器320顺次处理。主机处理器320告知画面输出调度器326将某预分析缓存器316中的下一画面转发到某输出缓存器328。每个输出缓存器328对应于外出的视频节目。
主机处理器320还可以告知画面输出调度器326跳过某预分析缓存器316中的下一画面。画面输出调度器326然后将读出此画面并且将其丢弃。
主机处理器320的任务是追踪哪些画面处于预分析缓存器316中以及哪些已经被转发给输出缓存器328。
在插入的情况中,主机处理器320指示画面输出调度器326将网络馈送的所有画面转发给328,直到网络退出点为止。从此点起,主机处理器320将广告的画面转发给输出缓存器328,以广告在预分析缓存器316中的第一画面为开始。同时,主机处理器320丢弃直到网络进入点紧前为止的网络馈送的所有画面。如果所有广告画面都已经被转发,则主机处理器320指示画面输出调度器326转发网络馈送在预分析缓存器316中的第一画面,并且将继续进行此动作,直到必须要插入下一广告为止。
因为网络馈送和广告的DTS和PTS值是独立的,上面描述的拼接操作将在每个拼接点产生DTS/PTS中断。为了避免此,对于要被转发给输出缓存器328的每个画面,主机处理器320向画面输出调度器326提供DTS/PTS偏移量值。画面到输出调度器326使用此值以加到网络馈送或广告的DTS/PTS字段。
注意,无需补偿广告的PCR字段的中断,因为不使用这些字段并且可以通过画面到输出调度器326使其无效。
接着DTS/PTS偏移量值,主机处理器320还提供针对每画面的延迟偏移量字段。画面到输出调度器326将此延迟偏移量字段加到画面的所有包的时间戳。此操作的目的在下面说明。
被转发到输出缓存器的包被包输出播放块330读出。此块确保每个包到达拼接器120中与包输出播放块330的输出之间有固定延迟。这是通过将每个包的时间戳与本地计时器314进行比较来完成的。如果在本地计时器314和包时间戳之间的差大于或等于预定值(例如,1秒),则330将该包从输出缓存器328移除,并且将其发送给拼接器120的输出。
在画面到输出调度器326中被处理的延迟偏移量字段可以被主机处理器320用来改变画面通过拼接器120的延迟。此改变在拼接点处是必要的,因为在网络退出点处网络馈送的画面和来自广告服务器的广告的第一画面之间的延迟必须补偿。
被发送给拼接器120的输出的所有包在连续性计数器更新块336中被处理。连续性计数器更新块336确保视频和音频流包的连续性计数器(continuity_counter)值是连续的。否则,在拼接点处将存在中断,因为网络馈送和广告的continuity_cpimter是独立的。
在包离开拼接器120之前,在PCR重新打戳块340中利用从PCR重新生成块334接收的信息对所有PCR字段重新打戳,以补偿连续性计数器更新块336和拼接器120的输出之间的可变延迟。更具体地,PCR重新生成块PCR 334也优选地生成用于外出视频流的PCR包。PCR重新生成块334优选地包括数字PLL,此数字PLL总是被锁定到网络馈送的PCR字段。在一个典型实现方式中,每37ms生成一个新的PCR包。作为到来的视频包的部分的PCR字段被禁止。
4.2预处理的节目切换
在图29中描述可以执行预处理的节目切换的知道预处理的拼接器的可能实现方式示例。
此实现方式示例几乎与预处理的广告插入(图28)相同。与广告插入的主要差别在于,在PCR重新生成块中实施PCR的处理。
当从视频馈送#1切换到视频馈送#2时,拼接输出中的PCR字段也从视频馈送#1的切换到视频馈送#2的。主机处理器320用信号通知PCR重新生成合适需要切换。一般而言,在这两个视频馈送的PCR字段之间将存在偏移量,在切换后必须对此偏移量进行补偿以避免PCR中断。此PCR偏移量值由PCR重新生成块在拼接时计算,并且此偏移量被加到视频馈送#2的PCR字段。当从视频馈送#2切换到视频馈送#1时,可以采用相同的操作,只是新计算的PCR偏移量值被加到视频馈送#1的PCR字段。
4.3对于广告插入和节目切换的音频拼接
在图30中描述用于知道预处理的音频拼接器的可能实现方式示例。
当然,本领域技术人员将理解,其他硬件(和软件)配置被认为落入本发明的范围内,并且在此描述的具体硬件配置应当被认为是一个可能实现方式的非限制性示例。
现在参考图30,如图左边所示,音频TS包达到拼接器120的输入端口。在块312处,每个到来的包被分配时间戳,此时间戳是从本地27MHz时钟振荡器运行的本地计时器314得出的。此时间戳将被用于生成具有与音频输入相同的PTS-STC距离的音频输出。
音频包被解复用为每个音频流并且被写入缓存器317。每个到来的音频节目优选地具有其自己的输入缓存器,如图所示。对于每个到来的音频流,拼接器120知道可应用的PCR基,并且其可以从与视频拼接中相同的计算块55加载PCR相对本地时间偏移量。
主机处理器320从音频输出调度器321获得下一PES包。主机处理器320给予音频输出调度器321何时转发PES包的命令。主机处理器320告知音频输出调度器321将某输入缓存器中的下一画面转发到某输出缓存器319。每个输出缓存器319对应于外出的音频流。每个视频流可以对应一个以上音频流,例如,视频流伴随多种语言。
主机处理器320还可以告知321跳过某预输入缓存器中的下一画面。音频输出调度器321然后将读出此画面并且将其丢弃。
主机处理器320的任务是追踪哪些音频PES包已经被转发给输出缓存器。
在拼接(对于节目切换或者在广告的开始和结束处的拼接)的情况中,主机处理器320指示音频输出调度器321将头流所有音频PES包转发给输出缓存器,直到拼接点为止。在尾流在拼接点前具有内容的情况(对于广告这是不可能的)中,主机处理器还指示音频输出调度器321丢弃直到拼接点为止的尾流的所有音频PES包。从此点起,主机处理器主机处理器320指示将尾流的音频PES包转发给输出缓存器319,以拼接点后尾流在输入缓存器中的第一音频PES包为开始。同时,主机处理器320指示丢弃头流的所有音频PES包。在广告插入的情况中,在广告的结束除,将再次发生相同的处理,只是现在头流和尾流的角色与网络馈送和广告流之间相反。
主机处理器从视频拼接知道在音频中的相对应的拼接点在哪。基于拼接点后第一头尾PES包的PTS,并且基于针对每个流的PCR相对本地时间距离,主机处理器需要追踪视频相对音频的相对偏移,并且其需要修改后面的音频拼接的音频拼接时间以补偿累积的偏移误差。
因为网络馈送和广告的PTS值是独立的,所以上面描述的拼接操作经在每个拼接点产生PTS中断。为了避免此,对于要被转发给输出缓存器的每个PES包头,主机处理器320向音频输出调度器321提供PTS偏移量值。
音频输出调度器321给予每个外出TS包一个时间戳,该时间戳指示输出播放331何时需要将TS包发送到拼接器输出。为了确保输出处流传输的连续性,主机处理器保持追踪每个PES包的最后输出时间戳,并且指示音频输出调度器321使用什么时间戳偏移量。
被发送给拼接器120的输出的所有包在连续性计数器更新块337中被处理。此块确保音频流包的连续性计数器(continuity counter)值是连续的。否则,在拼接点处将存在中断,因为头流和尾流的continuity counter是独立的。
虽然在基本流(ES)级加密视频内容的环境下描述了本发明,但是本发明可以对未被加密的ES级视频/音频内容操作。也就是说,本发明解决拼接加密内容的问题,但是在未加密的环境下也运作良好。
对于本领域技术人员,很明显,在不脱离本发明的范围或精神的前提下,可以对在描述的遵从本发明的原理的系统和方法作出多种修改和变形。虽然上面描述可很多实施例,但是其他变形也是可能遵从本发明的原理。
通过考虑所公开的实施例的详细说明和实践,本发明的其他实施例对于本领域技术人员来说是很明显的。详细说明和示例仅仅是示例性的,并且本发明的真正的范围和精神由下面的权利要求和它们的等同物定义。
Claims (35)
1.一种将第二视频馈送拼接到第一视频馈送中的方法,该方法包括:
在编码器处接收第一视频馈送,并且对所述第一视频馈送进行编码以生成经过编码的第一传输流;
将经过编码的第一传输流递送到拼接器;
在所述编码器处接收拼接触发并且生成提示消息,该提示消息包括与所述第一视频馈送中的希望的拼接点的呈现时间戳值PTS相对应的呈现时间戳值;
响应于所述拼接触发,通过进一步对所述第一视频馈送进行编码来处理所述第一视频馈送以使得由DTS-STC定义的解码器缓存器延迟在与所述希望的拼接点相对应的视频帧处等于预定值,其中,DTS是解码时间戳,STC是系统时钟;以及
在拼接之前对所述第一视频馈送进行加密,其中,对所述第一视频馈送进行加密包括对所述第一视频馈送以及所述提示消息进行加密;以及
所述编码器通过关闭与所述希望的拼接点相对应的视频帧所关联的画面组(GOP)并将所述视频帧编码作为随机访问点(RAP),来处理所述视频帧;
在所述希望的拼接点处通过切换为第二视频馈送来执行所述拼接,其中,所述第二视频馈送以与所述第一视频馈送等同的方式被处理,从而实现无缝拼接而没有解码器缓存器上溢或下溢。
2.根据权利要求1所述的方法,其中,所述第一视频馈送根据MPEG-2被编码。
3.根据权利要求1所述的方法,还包括对与所述第一视频馈送相关联的第一音频馈送进行编码。
4.根据权利要求3所述的方法,还包括,响应于所述拼接触发,在所述希望的拼接点周围从所述第一音频馈送生成多个音频随机访问点RAP。
5.根据权利要求1所述的方法,其中,所述处理包括对所述第一视频馈送和所述第二馈送施加预定约束。
6.根据权利要求5所述的方法,其中,施加到所述第一视频馈送的预定约束之一是所述DTS-STC值在可用部分的开始和结束处相等。
7.根据权利要求5所述的方法,其中,施加到所述第一视频馈送的预定约束之一是所述第一视频馈送的RAP帧之间的所有帧的DTS-STC值小于或等于所述RAP帧的DTS-STC值。
8.根据权利要求5所述的方法,其中,施加到所述第二视频馈送的预定约束之一是所述DTS-STC值在所述第二视频馈送的拼接段的开始和结束处相等。
9.根据权利要求5所述的方法,其中,施加到所述第二视频馈送的预定约束之一是在所述第二视频馈送的一段的开始和结束处的DTS-STC值小于或等于在所述希望的拼接点处所述第一视频馈送的DTS-STC值。
10.根据权利要求5所述的方法,其中,施加到所述第二视频馈送的预定约束之一是所述第二视频馈送的一段的开始和结束之间的所有帧的DTS-STC值小于或等于所述第二视频馈送的该段的开始和结束处的DTS-STC值。
11.根据权利要求5所述的方法,其中,施加到所述第二视频馈送的预定约束之一是所述第二视频馈送的比特率低于或等于所述第一视频馈送的比特率。
12.根据权利要求1所述的方法,其中,所述第一视频馈送是网络馈送。
13.根据权利要求1所述的方法,其中,所述第二视频馈送是广告。
14.根据权利要求1所述的方法,还包括基于所述第一视频馈送和所述第二视频馈送相对系统时钟的差,通过增大或减小所述第一视频馈送和所述第二视频馈送中的一者或两者的流传输速度来补偿他们之间的时基差。
15.根据权利要求1所述的方法,还包括通过向所述拼接点处的DTS-STC值增加偏移量,来对因在编码器中执行处理的有限精度而产生的错误进行校正。
16.根据权利要求15所述的方法,还包括在所述拼接点处插入延迟。
17.一种对加密的MPEG-2传输流执行拼接操作的方法,包括
接收拼接触发并且生成相应的提示消息,该提示消息希望被拼接器接收;
响应于所述拼接触发,对网路馈送进行编码使得缓存器延迟在网络馈送的与由所述相应的提示消息指示的拼接点相对应的视频帧处达到预定义的值;
通过关闭与所述希望的拼接点相对应的视频帧所关联的画面组(GOP)并将所述视频帧编码作为随机访问点(RAP)来处理所述视频帧;
对所述网络馈送进行加密,并且将得到的经过加密的MPEG-2传输流提供给所述拼接器,其中,对所述网络馈送进行加密包括对所述网络馈送以及所述相应的提示消息进行加密;以及
在所述拼接点处向所述网络馈送拼接另一MPEG-2传输流,其中,所述另一MPEG-2传输流被编码使得所述另一MPEG-2传输流中与所述拼接点相对应的视频帧处的解码器缓存器延迟与所述预定义的值相同,
其中,所述预定义的值是由DTS-STC定义的,其中,DTS是解码时间戳,STC是系统时钟。
18.根据权利要求17所述的方法,其中,所述网络馈送包括第一节目,并且所述另一MPEG-2传输流包括第二个不同的节目。
19.根据权利要求17所述的方法,其中,所述另一MPEG-2传输流是广告。
20.根据权利要求17所述的方法,还包括对所述网络馈送施加预定约束。
21.根据权利要求20所述的方法,其中,施加到所述网络馈送的预定约束之一是所述DTS-STC值在可用部分的开始和结束处相等。
22.根据权利要求20所述的方法,其中,施加到所述网络馈送的预定约束之一是所述网络馈送的RAP帧之间的所有帧的DTS-STC值小于或等于所述RAP帧的DTS-STC值。
23.根据权利要求17所述的方法,其中,所述另一MPEG-2传输流是节目,所述方法还包括对所述网络馈送和所述另一MPEG-2传输流施加预定约束。
24.根据权利要求23所述的方法,其中,所述预定约束之一是在随机访问点RAP帧处对于所述网络馈送和所述另一MPEG-2传输流,二者DTS-STC值相等,所述随机访问点帧是由预处理编码器在所述拼接点插入的,其中,DTS是解码时间戳,STC是系统时钟。
25.根据权利要求23所述的方法,其中,所述预定约束之一是所述拼接点处的随机访问点RAP帧以外的所有帧的DTS-STC值小于或等于所述拼接点处的RAP帧的DTS-STC值,其中,DTS是解码时间戳,STC是系统时钟。
26.根据权利要求23所述的方法,其中,所述预定约束之一是所述网络馈送和所述另一MPEG-2传输流的每个的比特率相等。
27.根据权利要求17所述的方法,还包括,响应于所述拼接触发,在所述拼接点周围从与所述网络馈送相关联的第一音频馈送生成多个音频随机访问点RAP。
28.根据权利要求27所述的方法,其中,所述多个音频RAP是在所述拼接点周围的预定时间范围内生成的。
29.根据权利要求28所述的方法,其中,所述预定时间范围约为一秒。
30.一种对加密的MPEG-2传输流执行拼接操作的设备,包括:
用于接收拼接触发并且生成相应的提示消息的装置,该提示消息希望被拼接器接收;
用于响应于所述拼接触发,对网路馈送进行编码使得缓存器延迟在网络馈送的与由所述提示消息指示的拼接点相对应的视频帧处达到预定义的值的装置;
用于通过关闭与所述希望的拼接点相对应的视频帧所关联的画面组(GOP)并将所述视频帧编码作为随机访问点(RAP)来处理所述视频帧的装置;
用于对所述网络馈送进行加密,并且将得到的经过加密的MPEG-2传输流提供给所述拼接器的装置,其中,对所述网络馈送进行加密包括对所述网络馈送以及所述相应的提示消息进行加密;以及
用于在所述拼接点处向所述网络馈送拼接另一MPEG-2传输流的装置,其中,所述另一MPEG-2传输流被编码使得所述另一MPEG-2传输流的与所述拼接点相对应的视频帧处的解码器缓存器延迟与所述预定义的值相同,
其中,所述预定义的值是由DTS-STC定义的,其中,DTS是解码时间戳,STC是系统时钟。
31.一种用于将第二传输流拼接到第一传输流中的系统,其中所述第一传输流被加密,所述系统包括:
预处理编码器,接收视频和音频流,并且将所述视频和音频流编码作为第一传输流,其中,所述预处理编码器被配置为通过关闭与所希望的拼接点相对应的视频帧所关联的画面组(GOP)并将所述视频帧编码作为随机访问点(RAP)来处理所述视频帧;以及
知道预处理的拼接器,接收所述第一传输流的加密版本并且还接收第二传输流,其中,所述知道预处理的拼接器接收所述第一传输流的加密版本包括:所述知道预处理的拼接器接收所述第一传输流和提示消息,该第一传输流和所述提示消息被加密,
其中,在预定义的拼接点处,所述拼接器将其输出从所述第一传输流的加密版本切换为所述第二传输流,而不经历解码器缓存器上溢或下溢,
其中,与所述拼接点相对应的第二传输流的视频帧处的解码器缓存器延迟与所述预定义的值相同,其中,所述预定义的值是由DTS-STC定义的,其中,DTS是解码时间戳,STC是系统时钟。
32.根据权利要求31所述的系统,其中,所述预定义的拼接点是通过从所述编码器向所述拼接器发送的提示消息建立的。
33.根据权利要求31所述的系统,还包括广告服务器。
34.根据权利要求33所述的系统,其中,存储在所述广告服务器上的广告作为所述第二传输流被提供给所述拼接器。
35.根据权利要求31所述的系统,其中,通过在所述拼接点处对所述第一传输流和所述第二传输流施加预定约束,所述拼接点处的解码器缓存器上溢或下溢被避免。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/175,101 | 2008-07-17 | ||
US12/175,101 US8781003B2 (en) | 2008-07-17 | 2008-07-17 | Splicing of encrypted video/audio content |
PCT/US2009/050378 WO2010009037A1 (en) | 2008-07-17 | 2009-07-13 | Splicing of encrypted video/audio content |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102100077A CN102100077A (zh) | 2011-06-15 |
CN102100077B true CN102100077B (zh) | 2014-04-23 |
Family
ID=41129211
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200980127658.6A Expired - Fee Related CN102100077B (zh) | 2008-07-17 | 2009-07-13 | 加密视频/音频内容的拼接 |
Country Status (4)
Country | Link |
---|---|
US (1) | US8781003B2 (zh) |
EP (1) | EP2304957A1 (zh) |
CN (1) | CN102100077B (zh) |
WO (1) | WO2010009037A1 (zh) |
Families Citing this family (36)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8355450B1 (en) * | 2007-10-09 | 2013-01-15 | Arris Solutions, Inc. | Buffer delay reduction |
US8613013B2 (en) * | 2008-06-12 | 2013-12-17 | Cisco Technology, Inc. | Ad splicing using re-quantization variants |
US8904426B2 (en) * | 2008-06-30 | 2014-12-02 | Rgb Networks, Inc. | Preconditioning ad content for digital program insertion |
US9060187B2 (en) | 2008-12-22 | 2015-06-16 | Netflix, Inc. | Bit rate stream switching |
US20100253847A1 (en) * | 2009-04-01 | 2010-10-07 | Rgb Networks, Inc. | Two-stage digital program insertion system |
US20110293021A1 (en) * | 2010-05-28 | 2011-12-01 | Jayant Kotalwar | Prevent audio loss in the spliced content generated by the packet level video splicer |
GB2481573A (en) * | 2010-06-15 | 2012-01-04 | Nds Ltd | Splicng of encoded media content |
CA2743337C (en) * | 2010-06-21 | 2018-02-27 | Accenture Global Services Limited | Frame accurate content insertion system |
KR101180540B1 (ko) | 2010-10-20 | 2012-09-06 | 연세대학교 산학협력단 | 스트리밍 서비스 송/수신 장치 및 방법 |
US9131245B2 (en) | 2011-09-23 | 2015-09-08 | Qualcomm Incorporated | Reference picture list construction for video coding |
US9392337B2 (en) | 2011-12-22 | 2016-07-12 | Cisco Technology, Inc. | Wireless TCP link state monitoring based video content adaptation and data delivery |
US9148707B2 (en) * | 2012-07-13 | 2015-09-29 | Lodgenet Interactive Corporation | System and method to provide out-of-band broadcast trigger synchronization and communication to insertion devices |
JP6094126B2 (ja) * | 2012-10-01 | 2017-03-15 | 富士通株式会社 | 動画像復号装置 |
US9813325B2 (en) | 2012-12-27 | 2017-11-07 | Comcast Cable Communications, Llc | Information stream management |
KR101861941B1 (ko) | 2014-02-10 | 2018-07-02 | 돌비 인터네셔널 에이비 | 완벽 스플라이싱을 위한 인코딩된 오디오의 전송 스트림에의 삽입 |
FR3035288B1 (fr) | 2015-04-14 | 2018-04-13 | Enensys Technologies | Procede de remplacement d'un contenu principal par au moins un contenu secondaire, equipement de remplacement de contenus et programme d'ordinateur correspondants |
US9924214B2 (en) * | 2015-09-23 | 2018-03-20 | Viacom International Inc. | Device, system, and method for scheduled avail tone validation |
US10009642B2 (en) * | 2016-03-24 | 2018-06-26 | Comcast Cable Communications Management, Llc | Systems and methods for advertising continuity |
US10616184B2 (en) * | 2016-06-30 | 2020-04-07 | Intel Corporation | Wireless display streaming of protected content |
EP3883209B1 (en) * | 2017-03-08 | 2023-06-28 | Hitachi Energy Switzerland AG | Method and devices for preserving relative timing and ordering of data packets in a network |
CN107333163A (zh) * | 2017-06-29 | 2017-11-07 | 上海鋆创信息技术有限公司 | 一种视频处理方法及装置、一种终端及存储介质 |
US10999304B2 (en) | 2018-04-11 | 2021-05-04 | Palo Alto Networks (Israel Analytics) Ltd. | Bind shell attack detection |
CN115802046A (zh) * | 2018-06-28 | 2023-03-14 | 杜比实验室特许公司 | 用于自适应流传输对齐的帧转换 |
US11503353B2 (en) * | 2018-11-20 | 2022-11-15 | Arris Enterprises Llc | Integrated receiver decoder management in HTTP streaming networks |
US11184376B2 (en) * | 2019-01-30 | 2021-11-23 | Palo Alto Networks (Israel Analytics) Ltd. | Port scan detection using destination profiles |
US11184378B2 (en) | 2019-01-30 | 2021-11-23 | Palo Alto Networks (Israel Analytics) Ltd. | Scanner probe detection |
US11184377B2 (en) | 2019-01-30 | 2021-11-23 | Palo Alto Networks (Israel Analytics) Ltd. | Malicious port scan detection using source profiles |
CN111613195B (zh) * | 2019-02-22 | 2022-12-09 | 浙江大学 | 音频拼接方法、装置及存储介质 |
CN111629158B (zh) * | 2019-02-28 | 2021-08-03 | 华为技术有限公司 | 一种音频流和视频流同步切换方法及装置 |
WO2020231817A1 (en) * | 2019-05-10 | 2020-11-19 | The Nielsen Company (Us), Llc | Content-modification system with determination of input-buffer switching delay feature |
WO2021107912A1 (en) * | 2019-11-25 | 2021-06-03 | Arris Enterprises Llc | Adaptive delay support for splicer |
CN112261417B (zh) * | 2020-10-26 | 2022-11-22 | 京东方科技集团股份有限公司 | 视频推送方法及系统、设备及可读存储介质 |
US12039017B2 (en) | 2021-10-20 | 2024-07-16 | Palo Alto Networks (Israel Analytics) Ltd. | User entity normalization and association |
US11336930B1 (en) * | 2021-12-23 | 2022-05-17 | Alphonso Inc. | System and method for automatically identifying locations in video content for inserting advertisement breaks |
US11799880B2 (en) | 2022-01-10 | 2023-10-24 | Palo Alto Networks (Israel Analytics) Ltd. | Network adaptive alert prioritization system |
US11736781B1 (en) | 2022-04-18 | 2023-08-22 | Cox Communications, Inc. | Dynamic splice point adjustment and feedback for video signals |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2002009425A1 (en) * | 2000-07-25 | 2002-01-31 | Agilevision, L.L.C. | Splicing compressed, local video segments into fixed time slots in a network feed |
US7096488B1 (en) * | 2001-10-19 | 2006-08-22 | Cisco Technology, Inc. | Methods and apparatus for facilitating network splicing |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6049569A (en) | 1997-12-09 | 2000-04-11 | Philips Electronics N.A. Corporation | Method and apparatus for encoding digital video bit streams with seamless splice points and method and apparatus for splicing such digital video bit streams |
US6993081B1 (en) | 1999-11-23 | 2006-01-31 | International Business Machines Corporation | Seamless splicing/spot-insertion for MPEG-2 digital video/audio stream |
US7096481B1 (en) | 2000-01-04 | 2006-08-22 | Emc Corporation | Preparation of metadata for splicing of encoded MPEG video and audio |
US7966488B2 (en) * | 2004-01-30 | 2011-06-21 | Hewlett-Packard Development Company, L. P. | Methods and systems that use information about encrypted data packets to determine an order for sending the data packets |
US7477692B2 (en) * | 2005-12-16 | 2009-01-13 | Tut Systems, Inc. | Video encoding for seamless splicing between encoded video streams |
EP1887729A3 (en) * | 2006-03-21 | 2011-07-13 | Irdeto Access B.V. | Method of providing an encrypted data stream |
US8214273B2 (en) * | 2007-09-25 | 2012-07-03 | Goldspot Media | Apparatus and methods for enabling targeted insertion of advertisements using metadata as in-content descriptors |
US20090225983A1 (en) * | 2007-10-31 | 2009-09-10 | Ramiro Reinoso | System and method for improved processing and decoding of an encrypted digital video signal |
US8051445B2 (en) * | 2008-01-31 | 2011-11-01 | Microsoft Corporation | Advertisement insertion |
-
2008
- 2008-07-17 US US12/175,101 patent/US8781003B2/en active Active
-
2009
- 2009-07-13 EP EP09790330A patent/EP2304957A1/en not_active Withdrawn
- 2009-07-13 WO PCT/US2009/050378 patent/WO2010009037A1/en active Application Filing
- 2009-07-13 CN CN200980127658.6A patent/CN102100077B/zh not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2002009425A1 (en) * | 2000-07-25 | 2002-01-31 | Agilevision, L.L.C. | Splicing compressed, local video segments into fixed time slots in a network feed |
US7096488B1 (en) * | 2001-10-19 | 2006-08-22 | Cisco Technology, Inc. | Methods and apparatus for facilitating network splicing |
Non-Patent Citations (6)
Title |
---|
Digital program insertion cueing message for cable television systems;INTERNATIONAL TELECOMMUNICATION UNION;《ITU-T STANDARD SUPERSEDED(S), INTERNATIONAL TELECOMMUNICATION UNION, GENEVA, CH, NO.J.181(03/01),》;20010309;第7.4.1节和第7.4.1.1节,第7.2.1节,第5.2节第二段,表格7-5 * |
Information technology- Generic coding of moving pictures and associated audio information: systems;INTERNATIONAL TELECOMMUNICATION UNION;《ITU-T STANDARD IN FORCE(I), INTERNATIONAL TELECOMMUNICATION UNION, GENEVA, CH, NO.H.222.0(02/00)》;20000201;第26页第一段的第(1)、(2)点,第xiv页"intro 6"和第138页最后一段,第139页最后一段,表格2-7和2-16 * |
INTERNATIONAL TELECOMMUNICATION UNION.Digital program insertion cueing message for cable television systems.《ITU-T STANDARD SUPERSEDED(S), INTERNATIONAL TELECOMMUNICATION UNION, GENEVA, CH, NO.J.181(03/01),》.2001, |
INTERNATIONAL TELECOMMUNICATION UNION.Information technology- Generic coding of moving pictures and associated audio information: systems.《ITU-T STANDARD IN FORCE(I), INTERNATIONAL TELECOMMUNICATION UNION, GENEVA, CH, NO.H.222.0(02/00)》.2000, |
INTERNATIONAL TELECOMMUNICATION UNION.seamless splicing for mpeg-2 bit streams.《ITU-T STANDARD IN FORCE(I),INTERNATIONAL TELECOMMUNICATION UNION , GENEVA, CH, NO.J.189(07/02)》.2002, |
INTERNATIONAL TELECOMMUNICATION UNION.seamless splicing for mpeg-2 bit streams.《ITU-T STANDARD IN FORCE(I),INTERNATIONAL TELECOMMUNICATION UNION, GENEVA, CH, NO.J.189(07/02)》.2002, * |
Also Published As
Publication number | Publication date |
---|---|
US20100014594A1 (en) | 2010-01-21 |
WO2010009037A1 (en) | 2010-01-21 |
CN102100077A (zh) | 2011-06-15 |
US8781003B2 (en) | 2014-07-15 |
EP2304957A1 (en) | 2011-04-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102100077B (zh) | 加密视频/音频内容的拼接 | |
US7227899B2 (en) | Method and system for re-multiplexing of content-modified MPEG-2 transport streams using interpolation of packet arrival times | |
US8335262B2 (en) | Dynamic rate adjustment to splice compressed video streams | |
US7477692B2 (en) | Video encoding for seamless splicing between encoded video streams | |
EP1397918B1 (en) | Splicing of digital video transport streams | |
EP1813115B1 (en) | Buffering packets of a media stream | |
US9148707B2 (en) | System and method to provide out-of-band broadcast trigger synchronization and communication to insertion devices | |
CN102868680B (zh) | 广播ts分发系统、分发装置及分发方法 | |
US20030206596A1 (en) | Multimedia content assembly | |
US20020061067A1 (en) | Splicing compressed, local video segments into fixed time slots in a network feed | |
JP2004505513A5 (zh) | ||
JP2002507375A (ja) | デジタルビデオストリームをスプライスするための装置および方法 | |
WO2000076222A1 (en) | Flow control, latency control and bitrate conversions in a timing correction and frame synchronization apparatus | |
US20170048564A1 (en) | Digital media splicing system and method | |
US8170401B2 (en) | Optimizing ad insertion by removing low information frames | |
US7693222B2 (en) | Method and system for re-multiplexing of content-modified MPEG-2 transport streams using PCR interpolation | |
JP2010212996A (ja) | 情報処理装置および多重化処理方法 | |
CA2535457C (en) | Method and system for re-multiplexing of content-modified mpeg-2 transport streams using pcr interpolation | |
JP2008278012A (ja) | ビットストリーム差替装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right | ||
TR01 | Transfer of patent right |
Effective date of registration: 20190115 Address after: Delaware Patentee after: Terry and VP of the United States Address before: California, USA Patentee before: Cisco Technology, Inc. |
|
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20140423 |