多媒体内容剪辑的制作方法

文档序号:7851455阅读:248来源:国知局
专利名称:多媒体内容剪辑的制作方法
技术领域
本发明涉及多媒体内容的剪辑。
运动图像专家组(MPEG)标准包括多媒体流格式的规范。规范一方面用于视频流的压缩编码,另一方面用于传送节目的视频和音频流的传输流。该传输流常用来传送有线电视系统的电视节目。
已经建议了各种各样的方法来拼接MPEG流。通常情况下,当进行拼接时,这些方法需要处理流。一些拼接压缩MPEG视频流的方法包括解码,然后再编码部分流,以形成拼接。一些拼接MPEG流的方法包括修改流,创建可以进行转场的容许点。

发明内容
一方面,剪辑多媒体流的方法通常能将多个源多媒体流的多个段剪辑成可能的输出多媒体流中的任意一种。流剪辑包括计算用于插入连续的段之间形成任意输出流的流的片断。
本方法可以包括一个或多个下列特征本方法包括为根据期望的这些段的播出时间界限确定源流的多个段。
在剪辑之前,至少存储一些流的片断。
流片断存储在磁盘存储器内。
流片断用于相继段之间的串联。
流片断用于串联,无需修改以形成任意输出流。
每个源多媒体流、每个输出多媒体流和每个流片断包括临时编码的流,如MPEG流。
每个MPEG流包括一个MPEG传输流。
输出流包括视频流,这样每个视频流编码连续视频帧序列的播出。
视频流避免视频缓冲检验器模型的上溢或下溢。
本方法还包括将一系列段剪辑成第一输出多媒体流。
在剪辑第一输出流的各段之间的转场之前,计算流片断。
独立于编辑第一输出流,计算流片断。
至少存储一些流片断,剪辑第一输出流包括检索这些片断。
剪辑第一输出流包括连续的各每个相继的段对之间插入一个或多个流片断。
在每个相继的段对之间插入流片断包括在所述段之间插入两个流片断。
剪辑输出流包括串联两个流片断。
将一系列的段剪辑成第二输出多媒体流。
至少一些计算出的流片断插入第一输出流和第二输出流。
剪辑第一输出多媒体流集,并且至少一些计算出的流片断没有用于所述第一集的任意流的剪辑。
剪辑任意输出流包括剪辑一连串的任意第一流段集中的段和任意第二流段集中的段。
计算流片断包括计算各个与从第一段集的不同段转场相关的流片断,以及计算各个与转场到第二段集的不同段相关的流片断。
另一方面,本发明的特征在于多媒体流的动态剪辑。存储用于每套替换段的信息,包括用于替换段的信息、与替换段开始相关联的流片断以及与替换段结束相关联的流片断。对于源多媒体流的一个或多个原始段,用存储的一个替换段替换原始段。替换段包括插入与每个原始段以及每个源流和替换段之间的转场处替换段相关联的流片断。
另一方面,本发明的特征通常在于剪辑多媒体流。本方法包括识别一个或多个多媒体流内的转场点,包括识别第一流内的第一转场点和第二流内的第二转场点。计算各个与流内转场点之一相关联的流片断,该计算包括计算与第一流内的第一转场点相关联的第一流片断和与第二流内的第二转场点相关联的第二流片断。多媒体流由多个素材剪辑而成,这些素材包括在转场点之前的第一流的一部分、第一流片断、第二流片断以及紧随第二转场点之后的第二流的一部分。
本发明的优点为下列当中的一个或多个因为在源MPEG流内创建转场点所要求的计算可作为一个过程大量进行,该过程产生可存储用于以后流剪辑的数据,流的剪辑要求相对较少的计算,可由相对廉价的设备完成,如软件。
片断的计算可独立于转场的剪辑,因此除了用于剪辑过程,计算可提前进行,或在另一台计算机上进行。
相同预计算出的片断可用于剪辑不同的输出流,因而减少了计算的总量。
本方法提供了一种在电视节目中替换或插入广告的经济的方法。因为插入广告段操作简单,可经济地提供大量的不同广告流。
在一个将多个不同的流传送给不同的用户的系统内,如视频点播系统,本发明提供了为不同的用户提供经济的剪辑流的方法。例如,每个视频点播流可针对某个用户插入不同的广告集。
本方法避免了当播出剪辑的流时解码器缓冲的上溢。可避免讨厌的导致一些解码器执行中下溢的瑕疵。
本方法可剪辑一个“连贯的”流,这样视频图像就会连续并有规律地以期望的在源段任意组合之间的转场间隔播出。
本方法可用于无需准备与修改以加速转场形成的源多媒体流,并可用来在以前已经建立允许的转场点处建立附加的转场点。
下面的描述和权利要求书明确列出了本发明的其他特征和优点。


图1是说明多媒体传输流的剪辑的示图;图2是说明出转场片断的示图;
图3是说明入转场片断的示图;图4是说明出转场片断的视频流中的MPEG帧的示图;图5是说明入转场片断的视频流中的MPEG帧的示图;图6是说明位于出转场片断和入转场片断界限附近的传输流包的示图;图7是说明位于出转场片断和入转场片断之间的界限附近的帧的传送和播出时间的示图;图8是一个系统方框图;图9是说明广告插入步骤的示图;图10是一个机顶盒的方框图;以及图11是说明广告替换系统的示图。
具体实施例方式
1带转场片断的内容剪辑参照图1,多媒体内容剪辑方法包括合并多个源MPEG传输流的多个段,形成新的剪辑的MPEG传输流。在图1中,示出了三个MPEG传输流,流的传送时间从左至右(不同流的传送时间没有对准)。三个流包括两个源流TSA110和TSB130,以及一个新(剪辑的)流TSA-B150。合并期望的源流的段包括在剪辑过程中从一个源流向另一个源流切换。在从源流TSA110向源流TSB130转场的附近,新的流TSA-B150包括(1)传输流TSA110的段112,该段大致上与传输流TSA内应该已经播出至期望的播出“出时间”tA118的内容相对应,(2)转场部分152,当该部分被解码和播出时,会产生一个短的黑色间隔,以及(3)传输流TSB130的段132,该段大致上与传输流TSB内应该已经从期望的播出“入时间”tB138开始播出的内容相对应。
插入在两个源传输流之间的转场部分造成播出间隔,该间隔在源流之间短时间可看见。例如,在从电视节目至广告的转场内,会播出黑色视频和静音频的简短间隔。而且,源流不必在与期望的入和出时间正好对应的帧处进行切换。
作为从流TSA110至流TSB130转场处剪辑传输流TSA-B150的第一步,期望的出时间tA118和入时间tB138与这些时间关联的传输流的偏移量(如,与起始流相关的字节偏移量)映射。继而,这些期望的转场时间(入和出时间)决定形成转场的流段的终点,上述终点将形成与这些期望的转场时间基本上对应的段的终点。在该实施例中,出时间tA118映射流TSA110内的偏移量dA116,入时间tB138映射流TSB130内的偏移量dB136。该映射步骤将在下文中讨论。
转场部分152由出转场片断120和入转场片断140的串联形成,片断120与TSA110内的偏移量dA116处的向另一个流的“出”转场相关联,片断140与从另一个流在偏移量dB136处向TSB130的“入”转场关联。
独立于剪辑过程,预先计算用于TSA的出转场片断120,并格式化为传输流,这样从TSA110在偏移量dA116处向出转场片断120的切换不会中断产生的传输流的格式化。也就是说,当传输流在偏移量dA116处切换时,传输流内各种级别的包和帧保持正确的格式,在剪辑时无需检查流的内容。这种正确的格式保证了接收传输流TSA-B的兼容MPEG的解码器能够正确解码并播出剪辑的节目。
也独立于剪辑过程进行预计算入转场片断140,并格式化为传输流,这样从出转场片断120进行切换,或从任意类似构造的、对应于不同出点的出转场片断进行通用切换时,入转场片断140不会中断产生的传输流的格式化。
在新的传输流TSA-B150内,入转场片断140串联在出转场片断120之后,传输流TSB130的段132串联在转场片断之后。这样使传输流TSA-B150是兼容MPEG的传输流。如下面的进一步讨论,兼容包括剪辑的视频流符合标准视频缓冲检验器(VBV)模型,从而确保接收剪辑的视频流的兼容MPEG的视频解码器不会上溢或下溢。兼容还包括确保剪辑的流不含有任意视频中断。
出转场片断120和入转场片断140串联在一起形成转场片断,该片断并入原始流的需要的部分112和132。注意源传输流的部分112和132简单的邻接不会形成有效的MPEG传输流。例如,在TSA110的偏移量dA116处,通常有多个不完整的包和帧,这些包和帧没有在偏移量136后的TSB130的部分132中完成。而且,即使在串联后包和帧的结构是有效的,接收流的解码器有可能会发生缓冲器上溢或下溢,因为产生期望的部分132的编码器假设解码器在该段的起始点处于不同的状态。
参照图2,传输流TSA110中传送的、MPEG编码的节目210,通常有多个基本流(ES)组成。例如,电视节目通常包括视频基本流、一个或多个音频基本流。在图2内,沿与流的播出时间相对应的时间轴,示出了作为视频流ESA1212和音频流ESA2222的流的代表对。注意通常MPEG节目可包括附加的基本流。例如,多个不同的音频流中,每个音频流可对应不同的语言或不同的音频压缩标准。多个视频流可对应不同的摄影角度或不同的画面比例。
基本流ESA1212和ESA2222由一系列的帧组成(图2未示出)。期望的出时间tA110用来计算ESA1212内的帧偏移量fA1218和ESA2222内的帧偏移量fA2228。映射过程的细节将在下面详细讨论。在图2内,ESA1212的部分214对应保留在剪辑流内的节目210的编码视频,ESA2222的部分216对应如果使用转场时没有保留的视频。同样,部分224对应保留的节目210的音频,部分226对应如果使用转场时没有保留的音频。
在相应的分组基本流(PES)230内传送节目210的基本流。分组基本流PESA1232和PESA2242分别传送基本视频流ESA1212和ESA2222。每个分组基本流由一系列的包组成,这些包通常有可变长度。如上所述,PESA1232包括一系列的包234A-D,PESA2242包括一系列的包244A-D。每个PES包包括一个标题(未示出)和一个净荷,该净荷为相应的基本流传送数据。每个包的标题表示包的大小,并可选地包括定时信息,该信息用来识别在该包内的帧的播出时间和传送时间。
当在解码器接收传输流时,基本音频和视频流被缓冲,并在延时之后传送给各自的解码器,该延时通常是变化的,并且每个基本流的延时不同。视频数据的延时通常比音频数据长,因此,位于出帧fA1218之前的视频数据出现在PESA1232内的数据偏移量238处,在PESA1232内的数据偏移量238处的传送比对应出帧fA2228的在PESA2242的数据偏移量24处的传送早。注意如上所述,出帧通常不会出现在PES包的边界。如上所述,数据偏移量238通过PES包234B出现部分,数据偏移量248通过PES包244C出现部分。
节目的分组基本流复用至一系列的固定长(188字节)的传输包,形成该节目的传输流TSA110。每个TS包有一个短的标题和一个净荷。每个PES包在多个传输流(TS)包的净荷部分传输,来自不同的PES流的包交织在不同的TS包内。每个PES包的起点位于相应TS包净荷的开始。
PES包234B,即含有出帧fA1218起点的PES包的起点出现在TSA110内的dA116,含有出帧fA2228起点的PES包244C的起点出现在TSA110内的数据偏移量dA266。选数据偏移量dA116作为TS包的起点,这样,传送PES包234B和244C的起点的TS包就不会比dA116出现得早。
从dA116开始的TSA110的部分包括一序列TS包250A-M。在该实施例中,包250A-B含有PES包234B的初始的部分,对应出帧fA1218之前的视频。包250C和250F包括PES包244C的初始的部分,对应出帧fA2228之前的音频。包250D包括出帧fA1218的起点,因此包括当使用该转场点时未保留在剪辑流内的数据。包括出帧fA1218起点的包也可包括用于fA1218之前的视频帧的数据,该数据如图所示保留在剪辑流内的。包250E、G、J、K以及M包括用于fA1218之内或之后的视频帧的数据。包250L包括位于fA2228之内或之后的音频帧。
剪辑发生在传输流级,不要求在剪辑新流时PES或ES级的解释。出转场片断120对齐TS包的边界,由整数个完整的TS包260A-M组成。通过用出转场片断的TS包260A-M替换起始于TSA110内包250A的TS包,形成多个新的PES流270。PES流PESA’1272形成新的视频流的一部分(通过转场结束部分),流PESA’2282形成新的音频流的一部分。PESA’1272传送PESA1232完整的原始的PES包234A的复制,以及一些新的PES包,作为新的PES包274A和274B。PESA’2282传送完整的原始的PES包244A-B的复制,以及一些新的PES包,作为新包284A。出转场帧120的结构应为当出转场帧的最后字节传送之后,没有部分传送的PES包。
出转场片断120通常包括来自ESA1212和ESA2222的音频和视频帧内的数据,这些数据在出帧fA1218和fA2228之前有各自的播出时间,但出现在传输流TSA110内的偏移量dA116之后。
出转场片断120通常为每个PES流传送至少一个新建立的PES包。如上所述,出转场片断120包括两个PES包274A-B,用于PES流PESA’1272,和一个新的PES包284A,用于PES流PESA’2282。PES包274A包括一个初始的部分,该部分传送视频源PES包234B的数据,这些数据在出帧fA1218之前有播出时间。该最初部分在PESA’1272内偏移量278处结束。
在偏移量278处开始,并在出转场片断120内结束的PES流PESA’1272的剩余部分,传送将在源节目之间的转场内播出的视频数据。该视频数据传送黑帧。音频流在出帧fA2228之后终止,这导致在转场期间音频解码器下溢,因此观众听不到声音。帧和PES和TS包是这样形成的当出转场片断120传送结束之后,解码器的视频缓冲检验器模型,对于缓冲的(已经传送但仍未播出)视频帧数量以及用来播出缓冲帧的缓冲数据的数量,处于已知的状态。该过程包括在出转场片断120结束处增加多个空包(空包未示出),以控制出转场片断传送时间的结束。下面进一步讨论空包数量的计算。
参照图3,在转场点切换的节目也被传送在分层的PES和TS包内。传输流TSB130传送PES流330,PES流330传送基本流310。期望的入时间tb138映射入帧fB1318 and fB2328,分别用于基本流ESB1312 and ESB2322。分组流PESB1332和PESB2342分别传送PES帧334A-D和344A-D,入帧fA1318和fA2328分别出现在PES包334B和344B。
入偏移量dB136对应TSB130的TS包的第一个字节,出现在最后的TS包之后,最后的TS包传送来自源流的任意需要修改以实现有效转场的数据。在此情况下,dB136出现在传送最后的PES包334B和344B的TS包之后。如图3所示,入偏移量dB136位于第一个TS包的开始,第一个TS包紧随最后一个TS包,最后一个TS包传送一个PES包,该PES包包括用于相应的基本流、位于入帧之前的帧内的任意数据。
如出转场片断120一样,入转场片断140包括整数个TS包360A-H。这些包传送修改的PES包,含有PES包334B和344B的结尾部分,这样当入转场片断与起始于偏移量dB136的TSB130串联时,PES包结构有效。串联入转场片断和出转场片断导致出转场片断的最后一个TS包直接紧跟着入转场片断的第一个TS包。在入转场片断140内修改PES包334B和344B的标题,这样它们能正确反映在fB1和fB2之后播出的帧中的数据的特性(如,长度和任意时间戳)。对于在fB1和fB2之前的帧,入转场传送PES包374和384,这些包传送用于转场帧的数据,以及在入帧之内或之后的数据。如下面的进一步讨论,转场帧是这样计算的例如,在入帧fB1和fB2传送之前,解码器位于已知状态,确保解码器缓冲器既不会上溢也不会下溢。
2转场片断如上所述,出转场片断120和入转场片断140独立于剪辑过程进行预计算。转场片断的计算包括帧级的基本流的处理,这样在任意一个转场内,可向接收流的解码器发送一个有效序列的帧。
参照图4,按帧的播出顺序进行说明的一序列的源视频帧420,根据标准MPEG编码,由不同类型的帧组成。MPEG编码包括一系列视频图像的临时编码,于是,一个图像的编码取决于另一个或更多的其他图像的编码。在MPEG编码内,每个I帧完整编码一个图像,而P和B帧是预测的,每个帧根据前面的或随后的多个图像的不同来编码图像。P帧自前一个图像开始前向预测,该图像可在I帧或P帧中编码。B帧根据早于或晚于在I帧或P帧中编码的图像,双向预测。
按发送顺序说明的基本视频流ESA1212,分组成一序列的编码的帧,每个组叫做图像组(GOP)405。一个GOP 405由初始的I帧和紧随其后的多个的P和B帧组成。GOP的长度是灵活的,不过通常是12-15帧长。视频帧的传送顺序与帧的播出顺序不同,特别是B帧,被延迟,并且只在其依赖的帧传送之后才传送。例如,播出顺序IBBP被传送成IPBB,这将导致某个GOP的第一个B帧,可能播出在该GOP初始的I帧之前。
通过四舍五入到最近的GOP,期望的出时间tA118被用于计算与GOP405的起点对应的出帧fA1218。也就是说,出时间映射GOP最后一个P帧播出之后的帧和在下一个GOP内传送的任意B帧播出之前的帧。在系统的其它版本内对该GOP界限的映射没有要求。
新的基本流ESA’1430,对应图2中的PESA’1272,传送与ESA1212相同序列的出帧fA1218。这些帧后面是H黑帧410,H黑帧410使用初始的I帧即IB进行编码,在H黑帧410后面是一系列的零动作P帧即Pz。这些零动作的帧只需很少的数据来编码,如几百个字节,因为图像自初始的I帧开始没有变化。“hold”参数H通用于所有的出转场片断,例如,H=3是“hold”参数的合适选择。
在播出顺序内,剪辑的视频帧440序列在P帧结束,后面是编码成I帧的H黑帧,I帧后面是H-1零动作P帧。
用多个空的传输流包(未在图2或图4中示出)填充出转场片断120,使得在出转场片断末尾传送结束时,出转场片断与某一图像播出时间对齐(±1/2 188字节的TS包传送时间之内)。选择该播出时间,使H黑帧被传送,但不在已经接收出转场片断的解码器播出。注意在数据速率为6Mb/s时,一个TS包时长大约为0.25ms,这仅是典型的电视信号帧播出时间间隔33.3ms的一小部分。
在某些环境下,出转场片断120不能用此方法填充,例如,由于音频播出超出了视频播出的范围。在此情况下,需要一个(必要的话,或更多)除H图像之外的附加的黑帧Pz。用空的包填充流,保证满足上述条件。实质上,如果音频超调视频,就增加视频,直至视频与音频范围相同,然后继续按上述方法进行。
参照图5,期望的入时间tB138映射入帧fB1318,fB1318对应基本视频流ESB1312内的GOP 505的起点。注意如上面讨论的,由于ESB1312内帧的有序传送,期望的流的部分的fB1318后面的第一I帧后面可以是多个依赖于fB1前面帧的B帧。入转场片断140构造应为如此产生的基本视频流ESB’1530在I帧之前,在ESB1312入帧fB1处,总共有T-H个黑帧用于播出。这些黑帧由一个I帧和其后的多个零动作的P帧组成。在GOP标题内设置与I帧关联的指示符“linkbroken”,这样解码器能迅速忽略随后的B帧。实际上,视频解码器没有必要忽略这种连接中断指示符之后的B帧。因此,紧跟在I帧之后被传送的B帧被没有依赖图像的B帧所代替,该图像应已经在B帧前传送。例如,使用只依赖于I帧的零动作B帧。
参数T取决于某个流ESB1312和入帧fB1318,特别是,当在入帧fB1318处的帧已经在原始的源流内ESB传送时,T取决于解码器延时。解码器延时指在偏移量fB1的帧的传送时间和该帧的解码时间之间的差。参数T是一个整数,等于解码器延时除以帧播出间隔,四舍五入到下一个更大的整数。
在T-H黑帧之后和期望的部分的第一个I帧之前插入多个空的传输流包(未在图5中示出)。这些空包的数量是这样决定的在最后的T-H黑帧传送和期望部分的第一个I帧传送之后,在期望部分的第一个I帧已经传送的点上,解码器延时与应在原始TS流播出的解码器匹配。通过匹配解码器延时,保证满足视频缓冲检验器(VBV)解码器模型,且接收剪辑流的解码器不会下溢。此外,由于在该点缓冲的黑帧比已经在该点缓冲的原始流的帧使用更少的数据编码,也能保证解码缓冲器不会上溢。
参照图6,在出转场片断120和入转场片断140之间转场附近的详细定时包括用空TS包填充出转场片断。入转场片断140以多个TS包的前导段开始。这些包包括用于转场的流的节目关联表(PAT)和节目映射表(PMT)。T-H黑帧形成GOP,GOP编码成TS包,在前导段后面。GOP标题包括连接中断指示符和从该GOP开始的时基中断指示。
记得在出转场片断内的视频ES流以H黑MPEG帧IBPz...Pz结束。这些黑帧有源流TSA的时基的时间戳。在出转场片断结束增加空包,使传送时间正好在最后一个空包的最后一个字节或传送之后,入转场片断等于第一个包的传送时间第一个H黑帧的播出时间,误差为±1/2TS包传送时间。
在入转场片断内,多个初始的TS包,在该实施例中,3个包,形成前导段。第一包播出匹配TSB的时基的变化,后面是传送T-H黑帧的TS包、多个用来调整第一个I帧的传送时间的空TS包,以及期望的入转场片断140的视频帧。
根据第一个期望的I帧的解码时间计算T-H黑帧的解码时间戳(DTS)。为了使计算结果更精确,第一个T-H黑帧的解码时间为DTS[1]=DT-((T-H)*FT),T-H黑帧序列的播出时间戳为PTS[1]=DTS[1]+FT;DTS[2]=DTS[2]+FT以及PTS[2]=DTS[2]+FT。在该符号内,DTS[n]表示第n个T-H图像的解码时间戳。DT表示源流内第一个图像的解码时间,FT是帧时间,帧时间用90Khz时钟表示。
参照图7,时基的变化会影响到从出转场片断的最后一个H黑帧到入转场片断的第一个T-H黑帧的帧时间的递增(考虑到时基的变化)。在图7里面,时码线710与第一个时基的传送时间关联,时码线720与第二个时基的传送时间关联。同样,时码线730与第一个时基的播出时间关联,时码线740与第二个时基的播出时间关联。如上所述,在传送时码线710上,TSA110最后一个期望的帧712后面是H黑帧714。如图所示,使用出转场片断内空TS包调整入转场片断的起始传送时间,使第一个H黑转场帧714与入转场片断的起点重合,误差为±1/2TS包传送时间735。在传送时码线720上,T-H黑帧722在转场之后的第一个帧时间之内有传送时间(未按比例画图),接着传送TSB第一个期望帧724。同样如前面所介绍的,在入转场片断内的T-H黑帧722的播出时间平均分配在一个帧时间内(比如33.3ms),以匹配黑转场帧后面的第一个帧的播出时间。注意T-H黑帧的播出时间通常并非是入转场片断的第一个字节传送时间之后的帧时间的整倍数,因此,在最后一个H黑帧和第一个T-H黑帧之间的实际帧时间会与标准的帧时间会有一半TS包时间的差异,例如,在一个6Mbps的流中,误差为33.3ms±0.25ms。
MPEG标准对相继的MPEG帧的播出时间的固定步长没有严格要求。但实际上,一些解码器无法承受一个步长内0.25ms的误差。一个可供选择的实施例中,视频帧必须以准确的增量播出时间播出,在流剪辑过程中或之后,调整流内的时间戳重新调整剪辑的传输流的时间。
3流终点也在源流的开始和结束计算转场片断。例如,要插入节目的用于广告的源流可有一个短时长,如30秒。在流的起点只计算入转场片断,在流的终点只计算出转场片断。这些片断的计算与上述出入转场片断的计算相同,只是出现在源流终点的转场的细节不同。例如,参照图5,没有延时的B帧出现在流的第一个I帧后面,因此,零动作的B帧无需计算。
4音频流音频帧独立编码(与MPEG视频内的I帧类似),在基本音频流在基本帧界限上开始和终止的期间内,不会产生音频瑕疵。当没有音频发送时,音频解码器通常柔性处理(即产生静音)。因此,在上述方法中,当音频流在转场中终止时,就播出静音。
可选择的一种方法是在出和入转场片断内发送含有静音的音频帧,或可替换的其他合适的转场声音(参见图2中的PES包284A,和图3中的384)。
5系统结构参见图8,在上面实施例中描述的用于剪辑流的内容拼接系统800接受源MPEG传输流810,并产生一个或更多的输出MPEG传输流890,传输流890通过剪辑源流810的不同部分形成。源流810被输入系统,系统800将这些流存储在源存储器840内,通常为RAM或磁盘。源流也由转场点识别模块820处理,该模块识别源传输流内的转场点(时间和数据偏移量)。
源流上也可以预定义和提供潜在的转场点,例如,从带模拟源的提示音开始,或从嵌入数字源的DVS-253信令开始。此类信号识别能插入广告的次数。根据MPEG流的内容,系统可额外地或有选择地动态识别潜在转场点,例如,在源视频上执行自动的场景变化分析,来识别潜在转场点。
识别潜在转场点的数据存储在索引850内。对于已识别的转场点,转场发生器830根据上述描述的方法,计算入和出转场片断,并将这些片断存储在存储器860内,存储器860通常为RAM或磁盘,例如用于源存储器840的同样的磁盘。
稍后,间隔时间和计算源流转场片断所需的时间一样短,或延长至流剪辑之后,剪辑模块880存储在源存储器840内的部分源流810,并从转场存储器860某些转场片断,串联的部分和片断,形成输出流890。以该方式剪辑的源流的某些部分由剪辑表870驱动,该表规定了在不同源流之间出现转场的偏移量。
参照图9,源传输流810用段912A-F表示,段912A-F用潜在的转场点分开。转场发生器830为每个转场点产生相应的出转场片断和140A-F相应的入转场片断120A-F。
在剪辑过程中,位于段912B内的节目,例如原始的广告,被段912E内的节目所取代,例如替换的广告,产生的流890包括一个替换流950,代替段912B发送。该替换流包括出转场片断120B、入转场片断140E、段912E、出转场片断120F以及最后的入转场片断140C。
参照图10,在一个可选择的结构内,剪辑过程遥控进行,例如,在有线电视系统的客户端的机顶盒。本方法的应用之一就是用根据机顶盒选择的广告代替电视广告。在这种应用中,机顶盒从输入频道1022接收原始流810和出转场片断120(例如用于替换段912B内广告的出转场片断120B),以及入转场片断(例如入转场片断140C)。可选择的广告段(如段912E)以及与其关联的入转场片断(如片断140E)和出转场片断(如片断120F)在其他的频道1022发送。调谐器/输入选择器120动态为广告选择合适的输入频道。至于原始广告段912B的时长等于替换流950,替换流950包括一对在替换广告两端的出和入转场片断,广告之后,源流810的继续无需重新调整时间或缓冲。位于调谐器选择不同频道处的空TS包允许包丢失而不会丢失必要的内容。各种类型的输入频道1022可用于广告。例如,这些频道可对应有线电视系统内的不同的传送频道。这些替换广告在其播出之前可选择地发送至并缓冲在机顶盒内。
参照图11,广告替换系统包括存储多个广告传输流1110。为每个广告流存储一个与广告流的起点关联的入转场片断1112和一个与广告流终点关联的出转场片断1114。注意对于任意一个广告,入转场片断1112、广告流1110其本身以及出转场片断1114可存储在一起,作为TS包的一个序列,无需识别三个成分之间的界限。系统接受源节目1120。源节目包括多个原始广告1130。为每个广告存储一个与广告的起点关联的出转场片断1132和一个与广告终点关联的入转场片断1134。这些入和出转场片断可与源流一起计算并传送至系统,如果存储了源节目,以批进行计算,或在传送广告之前,短暂地以“on-the fly”计算。
在传送期间,每个原始广告1130可由零个或更多的广告1110代替,形成一个新的流1140。插入单个替换广告对应于替换带出转场片断1132、入转场片断1112和替换广告流1110的原始广告1130,出转场片断1114用于替换广告,入转场片断1134用于原始广告。如果没有广告可播出,原始广告1130由出转场片断1132代替,后面是与原始广告关联的入转场片断1134。在每个广告之间可串联多个带一个出转场片断和一个入转场片断的广告,以类似的方法替换单个原始广告。
另一种应用包括通过播出连续的短片,播出节目的选择部分。在此应用中,转场片断播出静帧。例如,为了播出每个场景序列的初始部分,入转场片断与场景的起点关联,出转场片断与一个或更多的场景的点关联。在操作中,节目“fast-forward”版本的播出包括替换每个带出转场片断的尾部,后面是另一个场景的入转场片断。选择每个场景中的出转场点,然后决定快速前进播出的速度。
6其他方法在上述的实施例中,当剪辑流时,串联出转场片断和入转场片断。在另一种方法中,除了串联出入转场片断,将片断交织在一起。记得出转场片断和入转场片断都有多个空的TS包,特别是,每个出转场片断有多个尾随的空TS包,如图6所示。如果多个空包的传送时间等于某个帧的播出时间,从转场内移走这些空包,并从入转场片断移走一个T-H黑帧,然后黑转场的时长短于一个帧,转场仍然形成一个兼容MPEG的流。为了有效地移走黑帧,每个帧在独立的入转场片断内的TS包集的PES包内进行编码。黑帧的删除对应删除PES包的关联TS包。可重复此步骤,直至在出转场片断内的空包的T-H黑帧耗尽。
除了将源传输流内的期望拼接时间(期望的入时间和出时间)映射至源传输流的每个基本流内的特定的帧,还可以将期望的时间映射至每个基本流内的一群不同的帧。然后为每个帧产生入和出的转场。例如,当提示时间不正确时,使用集群。当用于期望拼接时间的默认的帧看上去与流的进入或离开不匹配时,通过从集群里面选择另一个帧(和相应的转场片断)来人工纠正该帧。
除了产生一群拼接点,用于事后人工纠正丢失的定时的拼接提示,还可以分析拼接点附近的内容,选取入帧和出帧(可以不同)来最佳匹配广告替换场景内的图形。一个例子就是分析拼接点附近图像的总亮度,选取最暗的图像。但是注意替换广告的机会通常用原始节目信号内的短的黑色间隔来区分。因此,另外一种方法就是将流留在黑色间隔开始的地方,并将流返回至尽量靠近黑色间隔结束的地方。这提供了一种用黑色拼接转场序列替换原始的黑色序列,因而降低或消除了感觉到的总体拼接特技。
不必在GOP将期望的转场映射至某个帧。例如,少量的计算出点可与GOP内的P帧界限对齐,继而产生更多精确的出转场。通过更多的计算,也可以在任意帧上创建出点和入点,例如,重编码含有转场的GOP部分。
上述传输流的固定速率传送的方法,同样也适用于可变速率传送。同样,根据MPEG标准,本方法并不局限于多媒体流。
除了图像,在入和出转场中也可以编码其他的黑帧,以使用较少的位避免拼接流播出过程中缓冲器上溢。此外,转场特技,例如可在转场片断内编码静帧或逐渐淡化。在另一个实施中,在整个转场过程中播出静帧,入转场片断不包括初始I帧,使用零动作的预测帧,这取决于在出转场片断内编码的图像。也就是说,GOP跨出和入转场片断。
除了在其原始I、P和B帧内包含图像的MPEG编码,转场片断的计算能可选地包括解码和重编码某些MPEG帧,例如,调整MPEG流的压缩程度。
入转场和出转场片断不必详细播出,而是,可计算用来产生每个片断的参数,然后在剪辑时,从该参数动态产生转场片断。
除了使用黑I帧后面是零动作P帧的形式IPPPPPP...的序列来编码转场片断内的帧,还可以使用包括零动作零动作B帧的帧序列来编码转场片断内的帧。此序列可有形式IBBPBBP....。该形式常用来编码视频节目,一些机顶盒的解码器也许期望这种形式,也许实际上不会适当地处理只有零动作P帧组成的序列。当使用零动作B帧时,相应调整帧的的播出和解码时间戳。
上述说明着重于MPEG流的剪辑。相同方法可应用于其他类型的多媒体流,包括其他版本的MPEG标准,以及使用其他标准编码的多媒体流。
7实施实现上述方法的一种方法为使用由计算机处理器访问的软件,例如,从存储硬盘或跨局域网。计算机在操作系统的控制下执行软件。一个例子就是在Microsoft Windows操作系统内运行软件的通用的英特尔奔腾处理器。也可使用其他通用的或特殊用途的处理器,以及其他软件环境。转场片断的预计算和流的剪辑可由同一个计算机或计算机组执行,或者不同的计算机可用来进行转场片断的计算和流的剪辑。此外,可遥控计算转场片断,并将这些片断传送给进行剪辑过程的计算机。在此情况下,转场片断可与已经计算出片断的流一起传送,或单独传送。在替换的实施方式中,由特殊用途的电路执行一些或所有的功能,这些电路可包括编程处理器。
其他的实施例在下面的权利要求范围内。
权利要求
1.一种方法,包括剪辑多个源多媒体流的多个段形成多个输出多媒体流中的任意一个,包括计算用于插入相继的段之间形成任意输出流的流的片断。
2.根据权利要求1所述的方法,进一步包括根据期望的所述段的播出时间界限确定源流的多个段。
3.根据权利要求1所述的方法,其中剪辑输出流进一步包括在剪辑之前至少存储一些流的片断。
4.根据权利要求3所述的方法,其中存储流的片断包括将所述片断存储在磁盘存储器内。
5.根据权利要求1所述的方法,其中流片断用于串联相继的段。
6.根据权利要求5所述的方法,其中流片断用于串联,无需修改以形成任意输出流。
7.根据权利要求1所述的方法,其中每个源多媒体流、每个输出多媒体流和每个流片断包括临时编码的流。
8.根据权利要求7所述的方法,其中临时编码的流包括MPEG流。
9.根据权利要求8所述的方法,其中每个MPEG流包括MPEG传输流。
10.根据权利要求7所述的方法,其中剪辑输出流包括剪辑多个输出流,每个输出流包括一个视频流,这样视频流编码连续视频帧序列的播出。
11.根据权利要求1所述的方法,其中每个视频流避免视频缓冲检验器模型的上溢或下溢。
12.根据权利要求1所述的方法,进一步包括根据一系列的段编辑第一输出多媒体流。
13.根据权利要求12所述的方法,其中计算流片断在剪辑第一输出流之前进行。
14.根据权利要求12所述的方法,其中计算流片断独立于剪辑第一输出流而进行。
15.根据权利要求12所述的方法,其中剪辑流包括至少存储一些流的片断,剪辑第一输出流包括检索所述片断。
16.根据权利要求12所述的方法,其中剪辑第一输出流包括在连续的每个相继的段对之间插入一个或多个流片断。
17.根据权利要求16所述的方法,其中在每个相继的段对之间插入流片断包括在所述段之间插入两个流片断。
18.根据权利要求17所述的方法,剪辑输出流包括串联两个流片断。
19.根据权利要求12所述的方法,进一步包括根据一系列的段编辑第二输出多媒体流。
20.根据权利要求19所述的方法,其中剪辑第一和第二输出流包括在第一输出流和第二输出流中插入至少一些计算出的流的片断。
21.根据权利要求1所述的方法,进一步包括剪辑第一多个输出多媒体流,其中至少一些计算出的流片断未用于剪辑任意所述第一多个输出流。
22.根据权利要求1所述的方法,其中剪辑任意输出流包括剪辑一系列第一多个流段中的任意段和第二多个流段中的任意段。
23.根据权利要求22所述的方法,其中计算流片断包括计算各个与从第一段集的不同段转场相关的流片断,以及计算各个与转场到第二段集的不同段相关的流片断。
24.一种用于动态剪辑多媒体流的方法,包括为各个替换段存储信息,包括为每个替换段存储与替换段开始相关联的流片断和与替换段结束相关联的流片断;对于各个源多媒体流的原始段,用存储的一个替换段替换原始段,包括插入与每个原始段关联的流片断,并在源流和替换段之间的每个转场插入替换段。
25.一种用于剪辑多媒体流的方法,包括在一个或多个多媒体流内识别转场点,包括识别在第一流内的第一转场点和第二流内的第二转场点;计算各个与流中的一个转场点关联的流片断,包括计算与第一流内第一转场点关联的第一流片断和计算与第二流内第二转场点关联的第二流片断;从素材剪辑多媒体流,包括在第一转场点之前的部分第一流、第一流片断、第二流片断以及第二转场点之后的部分第二流。
26.根据权利要求25所述的方法,其中剪辑多媒体流包括串联素材。
27.根据权利要求26所述的方法,其中素材为MPEG传输流的部分,串联素材形成新的MPEG传输流。
28.根据权利要求27所述的方法,其中MPEG传输流部分由传输流包序列组成。
29.根据权利要求25所述的方法,其中计算流片断包括除了计算与所述片断关联的片断,还独立于转场点计算各个流片断。
30.根据权利要求25所述的方法,其中计算流片断在剪辑流之前进行。
31.根据权利要求30所述的方法,进一步包括在存储设备上存储计算出的流片断,剪辑流包括从所述的存储设备检索第一和第二流片断。
32.根据权利要求24所述的方法,其中一个或多个多媒体流为MPEG流。
33.根据权利要求32所述的方法,其中MPEG流为MPEG传输流。
34.存储在计算机可读介质内软件,使计算机系统执行功能,这些功能包括能剪辑多个源多媒体流的多个段形成多个输出多媒体流中的任意一个,包括计算用于插入相继的段之间形成任意输出流的流的片断。
35.一种多媒体处理系统,包括能剪辑多个源多媒体流的多个段形成多个输出多媒体流中的任意一个的装置,包括计算用于插入相继的段之间形成任意输出流的流的片断。
全文摘要
一种剪辑多媒体流的方法,剪辑多个源多媒体流的多个段形成可能的多个输出多媒体流中的任意一个。剪辑流包括计算用于插入相继的段之间形成任意输出流的流的片断。根据此方法,源MPEG流内创建转场点所要求的计算可作为一个预过程大量进行,该过程产生可存储用于以后流剪辑的数据,流的剪辑要求相对较少的计算,可由相对廉价的设备完成,如软件。
文档编号H04N7/24GK1656807SQ03810015
公开日2005年8月17日 申请日期2003年5月2日 优先权日2002年5月3日
发明者布兰科·J·格罗瓦茨, 大卫·卡维尔 申请人:希昌国际公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1