用于多个流的协调拼接的方法和设备的利记博彩app

文档序号:7912379阅读:281来源:国知局
专利名称:用于多个流的协调拼接的方法和设备的利记博彩app
技术领域
本发明的实施方式一般来说涉及数字处理技术,且更明确地说,涉及用于在数字传输系统中拼接压缩数据流的方法和设备。
背景技术
在通信系统内,网络带宽在多媒体信号的传输期间起重要作用。各种多媒体服务 (例如,广播服务、视频点播(video on demand)服务、视频电话服务等)产生了多媒体信号。一般来说,多媒体信号具有极大带宽且占用网络带宽的大部分。因此,开发了各种压缩标准(例如,运动图像专家组(例如,MPEG-I、MPEG-2)、H. 26X等),以去除多媒体信号中的数据冗余。如所述压缩标准定义的各种压缩技术用于产生压缩多媒体信号。压缩多媒体信号相对占用较少网络带宽。并且,压缩多媒体信号一般包括编码帧,例如,编码图像帧、编码音频帧、编码数据帧等。已开发各种数字系统以对编码多媒体信号进行处理(例如,广播、拼接等)。一方面,压缩技术降低了多媒体信号的带宽要求,另一方面,压缩技术已不经意间增加了数字系统的复杂性。例如,在典型拼接操作中,数字系统配置成首先对压缩多媒体信号进行解码并随后将解码多媒体信号的至少一或更多个帧(例如,图像帧)替换为其它帧。此外,在完成拼接操作后,数字系统配置成使用前述压缩标准对解码多媒体信号进行重新编码。多媒体信号的这种解码和重新编码影响压缩多媒体信号的质量并降低数字系统的效率。并且,数字系统需要计算能力强大的高端处理单元,以处理压缩多媒体信号。此外,在拼接操作期间,多媒体信号的各种流(例如,视频流、音频流等)可能失去相互间的定时同步。在常规方法中,数字系统使用硬件时钟作为一或更多个流时钟的从时钟,以实现所述一或更多个流之间的定时同步。硬件时钟给数字系统增加附加复杂性。因此,此项技术中需要一种用于有效地拼接压缩多媒体信号的方法和设备。

发明内容
本发明公开一种拼接第一数据流和第二数据流的方法。所述方法包含检测第一数据流内的拼接入(splice-in)点和拼接出(splice-out)点,其中所述拼接入点是所述第一数据流中的一帧,且所述拼接出点是所述第一数据流中的另一帧。所述方法进一步从所述第一数据流中的数个拼接机会点(SOP)识别拼接入机会点和拼接出机会点,其中所述拼接入机会点对应于所述拼接入点且所述拼接出机会点对应于所述拼接出点,其中所述拼接入机会点和所述拼接出机会点是所述第一数据流的帧。所述方法将所述第一数据流的至少一个帧替换为所述第二数据流的至少一个帧,其中所述第一数据流的所述帧的所述替换从所述拼接入机会点起开始且在所述拼接出机会点处结束;且其中所述第一数据流包括数个帧且所述第二数据流包括数个帧。所述方法执行拼接操作,而不需对所述第一数据流进行拆包。此外,所述帧的替换不需要对所述第一数据流的所述帧进行重新排序。在另一实施方式中,本发明公开一种用于控制第一数据流的数个流的流程的方法和设备。在一个实施方式中,所述方法包含处理所述第一数据流的至少两个流的至少一个访问单元,其中所述至少两个流的所述处理起始于跳跃的开始处且其中所述至少两个流包括数个访问单元。所述方法在所述跳跃的所述开始处将跳跃信用提供给至少两个流拼接模块,其中所述至少两个流拼接模块在跳跃周期期间处理所述相应至少两个流,且所述跳跃的所述开始处的所述跳跃信用设立所述跳跃周期。所述方法进一步在所述跳跃周期期间修改所述至少两个流拼接模块的所述跳跃信用并在所述至少两个流拼接模块中的一流拼接模块的所述已修改跳跃信用小于所述至少两个流中的一流的所述访问单元的持续时间的量时中断所述流的所述处理。在再一实施方式中,本发明公开一种用于选择第一数据流的数个流的拼接机会点的方法和设备。在一个实施方式中,所述方法包含从所述第一数据流的所述数个流中识别锚流,其中所述锚流包括数个访问单元。所述方法从所述锚流的所述数个访问单元决定所述锚流内的拼接入机会点和拼接出机会点。所述方法进一步根据所述锚流的所述拼接入机会点和所述拼接出机会点决定除所述锚流外的至少一个流的拼接机会点。


因此可以详细理解本发明的上述特征,通过参照实施方式,可以得到上文概述的本发明的更特定的描述,所述实施方式中的一些绘示于附图中。然而,应注意,附图仅绘示本发明的典型实施方式,且因此不应视为限制本发明的范畴,因为本发明可以接纳其它同等有效的实施方式。图1绘示根据本发明的一或更多个实施方式的示范性数据流处理系统的框图;图2绘示根据本发明的一或更多个实施方式的拼接器的示范性实施方式的框图;图3A至图3E绘示根据本发明的一或更多个实施方式的对数据流进行的示范性拼接操作;图4绘示根据本发明的一或更多个实施方式的对数据流进行拼接操作的示范性方法的流程图;图5绘示根据本发明的一或更多个实施方式的用于控制第一数据流的数个流的流程的方法的流程图;和图6绘示根据本发明的一或更多个实施方式的用于选择第一数据流的数个流的拼接机会点的方法的流程图。
具体实施例方式图1绘示根据本发明的一或更多个实施方式的示范性数据流广播系统100的框图。系统100配置成将多媒体服务(例如,数字电视广播服务、视频点播广播服务等)向用户广播。在一个实施方式中,系统100可以向用户提供综合数字服务,例如,因特网和/或企业内部网的接入。数据流广播系统100包括数个源站,所述源站通过网络124以通信方式与数个处理站连接。所述数个源站(例如,源站10 、源站10 、源站10 ……和源站102n)在下文称为源站102。一般来说,源站102为广播站(例如,电视广播站、无线电广播站等),源站102将数据流发射到数个处理站,例如,处理站11 、处理站11 、处理站IlZ3……和处理站11 , 所述数个处理站在下文称为处理站112。在一个实例中,源站102是数字广播站,且源站102 将数字数据流发射到数个处理站112。在另一实例中,源站102是将模拟流发射到数个处理站112的模拟广播站。如本说明书中稍后所解释的,数个处理站112配置成对数据流执行操作(例如,拼接等)。在一些实施方式中,源站102配置成产生节目流,所述节目流包括具有一序列数个图像帧的视频流、具有数个音频帧的一或更多个音频流和具有数个节目时钟基准(PCR) 帧的相关联PCR流。在一个实施方式中,源站102可从制作工作室接收节目流。在一个实例中,制作工作室可以是移动制作工作室,所述移动制作工作室用于报导娱乐事件,例如, 新闻、现场比赛、会议等。源站102配置成使用熟知的压缩技术(例如,JPEG、MPEG (例如,MPEG-l、MPEG-2和 MPEG-4)、H.26X等)来处理节目流。结果,产生了压缩数据流。举例来说而不是为了限制, 在一个实施方式中,源站102配置成产生符合MPEG的压缩数据流。因此,根据MPEG压缩标准来对特定节目流的各种帧(例如,图像帧、音频帧和相关联的节目时钟基准(PCR)流)进行编码。一般来说,节目流的特定图像帧可以压缩为帧内编码帧(I帧)、预测帧(P帧)或压缩为双向帧(B帧)。I帧消除了图像帧内的空间冗余,且I帧是独立编码的。结果,当在处理站112处解码时,I帧并不依赖于其它图像帧。然而,P帧和B帧是依赖性压缩图像帧, 且当在处理站112处解码时,P帧和B帧可能需要I帧和/或P帧。另外,P帧消除了相对于先前的压缩图像帧的时间冗余。先前的压缩图像帧可以是I帧或P帧。此外,B帧消除了相对于先前的压缩图像帧和未来的压缩图像帧的时间冗余。先前的压缩帧和/或未来的压缩帧可以是I帧和/或P帧。随后,源站102配置成使用压缩图像帧产生视频序列。视频序列始于序列标头,接着是压缩图像帧的一或更多个集合。此外,压缩标准(例如,MPEG标准)定义图像组(GOP), 所述图像组(GOP)具有视频流的一或更多个压缩图像帧。GOP始于I帧,接着是特定数目的B帧和P帧。因此,源站102使用节目流的编码图像帧产生基础视频流(EQ。此外,源站102配置成压缩节目流的音频帧和/或PCR帧。因此,源站102配置成产生节目流的音频流和PCR流的基础流。此外,源站102配置成产生节目流的每个基础流的分包基础流(PES)。PES包括 PES包,所述PES包具有PES包标头和数据有效负荷。PES包标头包括流标识(SID),所述流标识(SID)用于识别节目流的一或更多个基础流。此外,每个PES包标头包括时间戳,所述时间戳称为展现时间戳(PTQ和解码时间戳(DTS)。此外,源站102配置成将若干PES复用,所述PES具有称为节目时钟基准(PCR)的公用时基。源站102配置成进一步将复用的PES分包成传输流(化)包并产生节目流的单节目传输流(SPTQ。另外和/或替代,源站102配置成将一或更多个SPTS复用并产生多节目传输流(MPTS)。因此,源站102配置成通过网络IM将传输流(例如,SPTS、MPTS)作为第一压缩数据流发射到数个处理站112。网络124包含通信系统,所述通信系统通过电线、电缆、光纤和/或无线链路(例如,卫星链路)连接一或更多个通信装置(例如,源站102、处理站112等),电线、电缆、光纤和/或无线链路(例如,卫星链路)是由各种类型的熟知网络部件(例如,集线器、交换器、 路由器等)所促进的。网络1 可以使用各种熟知的协议在网络资源之间传递信息。举例来说,网络IM可以是使用各种传输系统(例如,广播传输系统)的因特网或企业内部网的一部分,网络IM使用各种调制技术、各种接口(例如,异步串行接口(ASI))、传输手段(例如,RF电缆、光纤、卫星链路)等。或者,网络IM可以是因特网协议网络的一部分,所述因特网协议网络是在以太网、Wi-Fi或光纤或专用线路、ATM网络等上。根据一或更多个实施方式,数个处理站112可位于数个不同地理位置中。数个处理站112包括数个接收器(例如,接收器1H1、接收器1142、接收器1143……和接收器114n), 所述数个接收器在下文称为接收器114。每个接收器114配置成接收源站102所产生的第一压缩数据流。此外,所述数个处理站112包括数个拼接器(例如,拼接器Iie1、拼接器114、 拼接器11 ……和拼接器116n),所述数个拼接器在下文称为拼接器116。在一个实施方式中,接收器114接收第一压缩数据流并将第一压缩数据流传递到拼接器116。根据本发明的一或更多个实施方式,处理站112可以使用数字集成接收器解码器(IRD)装置,以将第一压缩数据流传递到拼接器116。或者,处理站112可以使用模拟 IRD装置作为接收器114,且模拟IRD装置将接收的流编码为压缩数据流。随后,将第一压缩数据流提供到拼接器116。在一些实施方式中,接收器114实现压缩数据流的解调和/或解扰。此外,拼接器116使用第二压缩数据流对第一压缩数据流进行拼接操作。举例来说,拼接器116可以将第一压缩数据流的一或更多个编码帧(例如,图像帧、音频帧、PCR帧等)替换为第二压缩数据流的一或更多个编码帧。在一个实施方式中,拼接器116将第一压缩数据流的一或更多个编码帧替换为充填帧。举例来说,将第一压缩数据流的编码图像帧替换为I型或P型图像充填帧。如本说明书中稍后所解释的,拼接器116配置成在拼接操作期间维持第一压缩数据流的视频流和音频流之间的同步。根据本发明的一或更多个实施方式,源站102可提供第二压缩数据流。视情况,系统100包括流产生器120,流产生器120用于将第二压缩数据流提供到拼接器116。在一个实例中,流产生器120可以与源站102通信以获得第二压缩数据流的内容的授权。系统100进一步包括数个发射器(例如,发射器IlS1、发射器11 、发射器11 …… 和发射器118n),所述数个发射器在下文称为发射器118。发射器118与处理站112相关联。 拼接器116将拼接的压缩数据流转发到发射器118。随后,发射器118将拼接的压缩数据流发射到网络126。网络1 包含通信系统,所述通信系统通过电线、电缆、光纤和/或无线链路连接若干电脑,电线、电缆、光纤和/或无线链路是由各种类型的熟知网络部件(例如,集线器、 交换器、路由器等)所促进的。网络1 可以使用各种熟知的协议在网络资源之间传递信息。举例来说,网络1 可以是使用各种传输系统(例如,广播传输系统)的因特网或企业内部网的一部分,网络1 使用各种调制技术、各种接口(例如,异步串行接口(ASI))、传输手段(例如,RF电缆、光纤、卫星链路)等。或者,网络1 可以是因特网协议网络的一部分,所述因特网协议网络是在以太网、Wi-Fi或光纤或专用线路、ATM网络等上。根据一或更多个实施方式,源站102配置成将一或更多个广告插入到节目流内。 举例来说,在现场报导(例如,足球比赛)期间,数个广告插入到节目流内。广告是广播公司的创收来源。此外,所述节目流作为第一压缩数据流传递到处理站112。举例来说而不是为了限制,处理站112是数字传输系统中的有线电视头端,且所述有线电视头端执行第一压缩数据流与第二压缩数据流的拼接。在一个实施方式中,第二压缩数据流包括一或更多个广告,所述一或更多个广告用于替换第一压缩数据流的一或更多个广告。在一个实施方式中,用户可以访问广告计划器工具,所述广告计划器工具用于对第一压缩数据流的一或更多个广告的替换进行调度。 举例来说,广告计划器工具在第一压缩数据流内提供一或更多个库存现货(替换时隙)的列表。库存现货是指广播流中可以用来插入广告数据流的时隙。在一个实施方式中,广告计划器工具是名为“Method and apparatus for planning a schedule of multimedia advertisements in a broadcasting channel,,的临时专利申请案中所公开的广告计划器,所述临时专利申请案是与本申请案一起申请的。 因此,用户选择一或更多个库存现货,且分配选中的库存现货的广告。随后,拼接器116在所述一或更多个库存现货处执行第一压缩数据流与第二压缩数据流的拼接。根据本发明的一或更多个实施方式,用户访问广告产生器工具,所述广告产生器工具用于产生广告。广告产生器工具包括各种计算资源,例如,硬件资源、软件资源、多媒体数据(例如,视频数据、图像数据等)等,且因此,使用户能够产生需要替换第一压缩数据流的广告的广告。在一个实施方式中,广告产生器工具是名为“Method and apparatus for generating a multimedia advertisement”的临时专利申请案中所公开的广告产生器,所述临时专利申请案是与本申请案一起申请的。此外,处理站112配置成通过网络1 与数个装置(例如,装置13 、装置1322、装置13 ……和装置132n)通信,所述数个装置在下文称为装置132。装置132可以是台式计算机、膝上型计算机、移动电话、个人数字助理(PDA)、数字电视、机顶盒等。装置132用于对处理站112的已修改压缩数据流进行处理。在一个实施方式中,装置132可以将用户的属性(例如,用户的身份等)传递到处理站112。随后,处理站112可以根据用户的属性处理接收的压缩数据流,且因此,将条件式访问提供给用户。图2绘示根据本发明的一或更多个实施方式的拼接器116的示范性实施方式的框图。拼接器116对第一压缩数据流执行拼接操作并将第一压缩数据流的编码帧替换为第二压缩数据流的一或更多个帧。拼接器116包括解复用器(Demux) 202、数个拼接器控制器(例如,拼接器控制器201、拼接器控制器2042、拼接器控制器2043……和拼接器控制器 204J和复用器206,所述数个拼接器控制器在下文称为拼接器控制器204。一般来说,解复用器202从接收器114接收MPTS。所述MPTS包括一或更多个SPTS, 且每个SPTS具有唯一节目识别号(PID)。解复用器202将接收的MPTS解复用成一或更多个SPTS,并将所述SPTS传递到拼接器控制器204。每个拼接器控制器204配置成处理与特定SPTS相关联的一或更多个流(例如,视频流、音频流和PCR流)。在一个实例中,拼接器控制器204对SPTS的相关联的流执行拼接操作,并将拼接的SPTS转发到复用器206。复用器206对每个拼接器控制器204的输出进行复用,且因此,产生处理过的MPTS。因此,复用器206将处理过的MPTS转发到发射器118。在另一实例中,拼接器控制器204配置成维持 SPTS的视频流与音频流之间的同步。第一数据流也可以称为第一压缩数据流。根据本发明的一或更多个实施方式,拼接器控制器204包括控制模块208、流程控
制模块216和数个流拼接模块(SSM) 210(例如,SSM 210” SSM 2102、SSM 2103......和SSM
210n),所述数个流拼接模块(SSM) 210在下文称为SSM 210。举例来说,视频SSM 210对 SPTS的视频流执行拼接操作。音频SSM 210对SPTS的音频流执行拼接操作。节目时钟基准(PC SSM 210对SPTS的PCR流执行拼接操作。控制模块208监视SPTS的一或更多个接收的数据包,且因此,检测SPTS内的拼接入点和拼接出点。在一个实施方式中,控制模块208可以检测数据包内的信号(例如,CUE 音信号),且因此,检测SPTS内的拼接入点和拼接出点。此外,在检测到拼接入点和拼接出点后,控制模块208将拼接入点、拼接出点传递至IJ SSM 210。随后,SSM 210检测SPTS的流内的访问单元边界(AUB)的到达。此夕卜,SPTS 的视频流中的访问单元是图像帧,且SPTS的音频流中的访问单元是音频帧。访问单元的到达指示视频流中的图像标头的开始的存在和音频流中的新帧的开始的存在。此外,SSM 210 决定特定访问单元是否为拼接机会点(SOP)。SOP为SPTS中的位置,在所述位置中,SSM 210可以起始拼接操作。此外,SOP是指SPTS中的特定访问单元/帧,且所述特定访问单元/帧并不具有过去依赖性和/或未来依赖性。因此,SPTS的视频流中的SOP是I帧。类似地,SPTS的音频流中的SOP是音频帧。 并且,SPTS的PCR流中的SOP是PCR包。根据本发明的各种实施方式,SSM 210配置成处理流,而不需对传输流进行拆包。 在一些实施方式中,SSM 210监视SPTS的数据包以发现AUB的到达。SSM 210分析可在SPTS 的数据包中获得的标头信息以对AUB进行定位。在一个实施方式中,当SPTS的PES边界与ES边界对齐时,随后PES标头的开始并入了 ES标头的开始。此外,PES边界与ES边界的对齐可在任何级别(即,序列、G0P、图像和切片)进行。此外,TS数据包包括有效负荷单元开始指示符(PUSI)位,所述有效负荷单元开始指示符(PUSI)位表示SPTS内的新PES标头的开始。TS数据包中的PUSI位的存在暗示ES标头的存在。此外,SSM 210配置成检测图像标头的存在,以用于在TS数据包中对AUB进行定位。在若干例子中,当流(例如,视频流)具有在多个包间整齐排列的若干标头时,SSM 210 使用传输流的多个数据包来检测AUB的存在。在AUB的到达后,SSM 210识别TS数据包内的SOP的存在。举例来说而不是为了限制,SSM 210通过以下方式来对SOP的存在进行定位在TS数据包中检查PUSI位并随后查找图像标头。此外,SSM 210从SPTS的特定流(例如,视频流、音频流、PCR流等)内的数个拼接机会点(SOP)识别对应于拼接入点的拼接入机会点和对应于拼接出点的拼接出机会点。拼接入机会点涉及SPTS的特定流中的一帧,且SSM 210是从所述特定帧起起始拼接操作。拼接出机会点涉及SPTS的特定流中的另一帧,且SSM 210在另一帧前结束拼接操作。此外,在特定数据TS包中检测到拼接入机会点后,SSM 210将特定数据流的TS数据包替换为第二压缩数据流的一或更多个数据包或替换为虚拟数据包。SSM 210替换SPTS 的TS数据包直到拼接出机会点为止。
9
在一些实施方式中,当第一压缩数据流的特定流(例如,音频流)的TS数据包包括二或更多个帧时,SSM 210监视一或更多个帧的标头,以便识别拼接入机会点和拼接出机会点。如果帧被宣称为特定TS数据包中的拼接入机会点或拼接出机会点,那么SSM 210就修改特定TS数据包。如果特定数据包包括拼接入机会点,那么SSM 210就通过仅保留拼接入机会点之前的数据来修改特定数据包。特定数据包的剩余部分替换为零以便使特定数据包的大小(例如,188个字节)完整。如果特定TS数据包包括拼接出机会点,那么SSM 210 就通过仅保留拼接出机会点之后的数据来修改特定数据包。特定TS数据包的剩余部分替换为零以便使特定数据包的大小(例如,188个字节)完整。在一个实例中,填充字节Oxff 用于传输流标头之后,以充填TS数据包的剩余部分。因此,SSM 210在检测到拼接入机会点和拼接出机会点后修改或替换流的数据包,而不需对SPTS进行拆包。因此,第一压缩数据流的数据包的选择性处理提高了系统的效率。此外,SSM 210包括数个定时模块(例如,定时模块212i、定时模块21 、定时模块 2123……和定时模块212n),所述数个定时模块在下文称为定时模块212。如本说明书中稍后所解释的,定时模块212根据与第一压缩数据流的一或更多个帧相关联的定时值而修改与第二压缩数据流的一或更多个帧或虚拟帧相关联的定时值。流程控制模块216控制第一压缩数据流的一或更多个流的数据包的流程,且流程控制模块216将在本说明书中稍后加以论述。拼接器控制器204和所述模块(控制模块 208、SSM 210等)的一或更多个实施方式可以用硬件、软件或硬件与软件的组合来实施。视频拼接图3A至图3E绘示根据本发明的一或更多个实施方式的对第一压缩数据流的示范性编码视频流进行的示范性拼接操作。图3A绘示编码视频流A的编码图像帧的显示序列, 且编码视频流A的每个图像帧是按照MPEG-2标准中所定义的压缩技术来编码的。此外,图像帧的对应编号提供了时间基准,所述时间基准对应于视频流A的帧的显示次序。如图所示,帧0编码为I帧,且帧3编码为P帧。帧3依赖于先前帧0,且当在装置132处解码时, 帧3需要帧0。帧1和帧2为双向帧,且因此,帧1和帧2依赖于先前帧0和未来帧3。图3A进一步绘示第一压缩数据流的视频流A的图像组(GOP),例如,GOP UGOP 2 等。GOP —般始于I帧,接着是一或更多个P帧和B帧。举例来说,在视频流A中,GOP 1包括帧0到帧11,且GOP 2包括帧12到帧23。举例来说而不是为了限制,视频流A的GOP的大小定义为十二,且本领域的技术人员可以将可变大小用于视频流的G0P。图;3B绘示编码视频流A的发射顺序图。按照MPEG-2标准,编码视频流的发射始于 GOP的I帧,接着是如图:3B所示的序列。处理站112接收第一压缩数据流中的视频流A,且拼接器116可以将视频流A的一或更多个帧替换为视频流B的一或更多个帧。已修改视频流A(如图3E所示)并不包括预测基准介于拼接入机会点与拼接出机会点之间的来自原始视频流A的任何帧。结果,不具有未解决的帧依赖性。因此,拼接操作始于GOP的开始处, 且帧仅在新序列的开始处替换为I帧或P帧。举例来说而不是为了限制,当视频流A的GOP大小与视频流B的GOP大小匹配时, 视频SSM 210将视频流A的一或更多个GOP替换为视频流B的一或更多个G0P。另外和/ 或替代,当视频流A的GOP大小与视频流B的GOP大小失配时,视频SSM 210将视频流A的一或更多个GOP替换为视频流B的一或更多个GOP以及替换为一或更多个充填帧。
图3C绘示视频流A内的拼接入点、拼接出点和一或更多个SOP。控制模块208将帧4识别为拼接入点并将帧19识别为拼接出点。视频SSM 210监视视频流A且进一步将帧12识别为拼接入机会点并将帧M识别为拼接出机会点。如图3C所示,帧12为I帧,且因此,视频SSM 210将视频流的帧从帧12起替换为视频流B的一或更多个帧。在一些实施方式中,视频流A的P型帧可以由视频SSM 210选择作为拼接入机会点。图3D绘示第二压缩数据流的视频流B。如图3D所示,视频流B的GOP大小等于十。图3E绘示已修改流,所述已修改流是在第一压缩数据流的视频流A的拼接操作后产生的。举例来说而不是为了限制,视频流B的GOP大小(G0P大小=10)与视频流A的GOP大小0Χ)Ρ大小=12)不匹配。结果,两个充填帧Fl和F2另外与视频流B的GOP—起插入于第一压缩数据流的视频流A内。充填帧(例如,去除视频流A与视频流B之间的 GOP大小的失配。如本说明书中稍后所解释的,充填帧可以是I型充填帧和/或P型充填帧。根据各种实施方式,SSM 210预备视频流B以便去除在拼接入机会点的到达之前的反向冗余。为了实现有效的拼接操作,视频流B必须始于I型帧,且视频流B的第二帧可以是I帧或P帧。如图3D所示,视频流B始于I帧,且下一帧是P帧。如果视频流B不包括所述要求,那么视频SSM 210就修改视频流B。以下改变是在视频流B内进行的。视频流 B中的I帧之前的帧被放弃。此外,视频流B的第一 I帧与下一 P帧之间的帧被放弃。最终,第一I帧和虚拟帧的时间基准得以更新。在视频流B编码为具有有限持续时间的文件的多数情况下,视频流B编码的上述条件通常已得以满足,在此情况下,不需要进一步处理视频流B。SSM 210高速缓存视频流B以进行预处理,且使视频流B在拼接入机会点到达之前准备好。根据一或更多个实施方式,视频流B为有限视频流,且视频SSM 210决定需要用来替换视频流A的帧的视频流B的帧的任何不足。在一个实例中,视频SSM 210决定视频流 B的帧和充填帧的数目,所述数目的帧替换在拼接入机会点之后的视频流A的帧。视频SSM 210决定sub_gop_distance,sub_gop_distance为视频流的单个GOP中的连续I帧与P帧时间基准之间的差。实际上,值sub_gop_distance是连续I帧与P帧之间的帧的数目加一。此夕卜,IJ^SSM 210 决定 sub_temporal_reference = (temporal_reference) % Sub_gop_distance,其中(%)为提醒操作。值 sub_temporal_reference 给出两个连续 I 帧与P帧之间的图像数。举例来说,如果视频流A的配置文件为具有2个B帧的开放G0P, 那么按照解码次序,图像的模式为IBBPBBP,其中时间基准为201534867,等等。因此,在所述特定情况下,值sub_gop_distance是3,这是通过将2个连续I帧和P帧的temporal— reference相减或将B帧的数目加1来计算的。视频SSM 210交替扫描视频流A的一个AUB和视频流B的一个AUB,其中视频流B 滞后视频流A达视频流B的一个sub_gop_distance。假设视频流A的sub_gop_distance >=视频流B的sub_gop_distance,且所述sub_gop_distance对于编码器设定而言是恒定的。视频流B的subjemporalreference给出了视频流B的帧的数目的估计,且充填帧需要放在视频流A的拼接出机会点的到达之后。一旦视频流A的拼接出机会点和视频流 B的退出点被发现,视频SSM 210就计算在拼接操作期间替换视频流A的帧的(视频流B的)有效帧的数目和充填帧的数目。这可以使用以下算法来计算。当视频流B包括封闭GOP时if (Current—picture—type = = ‘ I ‘)Number_of—frames of video stream B = IelseNumber_of—frames of video stream B = sub_gop_distance(B)-sub_temporal_ reference(B)当视频流B包括幵放GOP时L = (sub_gop_length(B)sub_temporal—reference (B))% sub—gop—length (B)M = sub—gop—length(B)_l,其中M等于两个I/P帧之间B帧的准确数目Number_of—B_frames = sub—gop—length (B) - (M+L) % sub—gop—length (B)在上述两种情况下Number of filler frames = Sub_gop_distance_Number_of—B—Frames。此外,在拼接操作期间,在拼接入机会点或拼接出机会点处,在视频流B或视频流 A中分别有多个帧,所述帧依赖于先前G0P。因此,视频SSM 210修改所述帧的时间基准,以便去除对先前GOP的依赖性。举例来说而不是为了限制,视频SSM 210将I帧的时间基准 (即,拼接出机会点)修改为0,以形成新G0P。此外,下一全填充帧/I帧副本的时间基准单调地增加(例如,增加量为1)直到下一前向帧到达为止。前向帧的时间基准未经修改。再次参照图3C,在拼接出机会点(帧24)后,帧22和帧23是GOP 2的帧。因为拼接器116未对视频流A的编码图像帧进行解码并且帧22和帧23需要GOP 2的帧的解码, 所以视频SSM 210进一步将此些帧替换为I帧(帧M)。因此,通过将此些B帧(例如,帧 22和帧23)替换为I帧的副本,拼接器去除了复杂的处理操作,例如,帧的解码操作、帧转换操作、对帧编号重新排序的操作等。由SSM 210进行的B帧的替换减少了内存处理时间并因此提高处理站112的效率。音频拼接根据本发明的一或更多个实施方式,音频SSM 210对SPTS的音频流执行拼接操作。一般来说,按照各种压缩标准(例如,MPEG、Mh等),特定音频帧并不依赖于其它音频帧。因此,SPTS的音频流的可能SOP为SPTS的音频帧。在检测到拼接入点和拼接出点后, 音频SSM 210从SPTS的音频流中的数个SOP检测拼接入机会点和拼接出机会点。因此,音频SSM 210对音频流执行拼接操作。PCR 拼接根据本发明的一或更多个实施方式,PCR SSM 210对SPTS的PCR流执行拼接操作。 一般来说,可在SPTS的PCR流的PCR包到达时获得PCR流的S0P。在拼接操作期间,PCRSSM 210根据SPTS的PCR流的PCR包修改第二压缩数据流的一或更多个PCR包。在一个实例中,PCR SSM 210根据SPTS的PCR流的PCR值线性地修改第二压缩数据流的PCR包的PCR值。举例来说,如果第一压缩数据流的最后输出PCR包的PCR值为MP4,那么第二压缩数据流的PCR包的PCR值Η^^Π,ΑΡρΑΚ……)被修改。第二压缩流的已修改PCR值表示为OPpOP2……等。在一个实例中,来自第一压缩数据流的拼接点的PCR值复制到第二压缩数据流。OP1 = MP4此外,对于第二压缩数据流的每个连续的新PCR而言,添加了偏移量。结果,第二压缩数据流的第N PCR值修改为OPn = OP^APn-AP1OPn = APn+ (OP1-AP1)随后,PCR SSM 210将SPTS的PCR流的PCR包替换为第二压缩数据流的已修改PCR包。根据本发明的各种实施方式,在拼接操作之前,数个SSM 210高速缓存第二数据流的至少一部分。在一个实例中,在拼接操作之前,SSM 210高速缓存整个第二数据流。此外,SSM 210选择第二数据流的一个访问单元,以替换第一数据流的一个访问单元。访问单元的检测是使用与第一数据流所使用的方法相同的方法来进行的,并且所述方法早先已描述于本说明书中。此外,第二数据流中的每个图像的前进仅在第一流的相应数目的图像前进的情况下才能进行。此举允许先验地高速缓存第二流的数据。如果第二数据流需要在拼接操作之前经受任何处理,那么SSM 210就在访问单元的替换的开始之前处理第二数据流。举例来说,检查第二数据流是否符合标准或是否具有所需的持续时间失配。如果存在任何失配或不符合标准,那么SSM 210就在高速缓存期间处理第二数据流。充填帧的产生如本说明书中早先所解释的,SSM 210将第一压缩数据流的一或更多个帧替换为充填帧。举例来说,视频SSM 210将第一压缩数据流的一或更多个帧替换为视频充填帧。在一个实施方式中,视频充填帧为帧内编码充填帧或预测充填帧。 在一个实例中,P型充填帧可以通过生成P型压缩帧内的所有运动向量和DCT系数而产生。因此产生的P型充填帧是从先前帧预测的,而不需要具有运动补偿。另外和/或替代,P型充填帧的标头可以不包括序列标头或GOP标头信息,以便减少P型充填帧的位的数目。P型充填帧仅在I帧或P帧之后插入。类似地,音频SSM 210将第一压缩数据流的一或更多个帧替换为音频充填帧。在一个实施方式中,音频充填帧为由编码器使用适当配置文件产生的静音帧。举例来说而不是为了限制,IOHz的频率用于产生音频充填帧。此外,PCR SSM 210将第一压缩数据流的一或更多个帧替换为PCR充填帧。由于 PCR帧包括时钟信息,因此,PCR充填帧通过修改第一压缩数据流或第二压缩数据流的最后存储PCR包的PCR值而产生。在一个实例中,如果由拼接器114输出的PCR值为PCR_ last且需要在d毫秒的持续时间内产生并输出下一 PCR包,那么就使用PCR_next = PCR_ last+d*90计算PCR充填帧的PCR值。因此,产生了 PCR充填帧。PTS/DTS 修改如本说明书中早先所描述的,SSM 210包括定时模块212,定时模块212根据与第一压缩数据流的一或更多个帧相关联的定时值而修改与第二压缩数据流的一或更多个帧或虚拟帧相关联的定时值,例如,展现时间戳(PTS)、解码时间戳(DTQ等。结果,第二压缩数据流实现了与接收的压缩数据流的时基相同的时基。在一个实例中,定时模块212通过对第二压缩数据流的定时值应用线性变换来修改定时值。举例来说而不是为了限制,如果A是第二压缩数据流中的PTS值的向量表示,B 是第二压缩数据流中的PTS值的向量表示,且S是所有元素均相等的恒定移位值的向量,那么线性变换A' =A+S表示第二压缩数据流的具有已修改PTS值的向量,且线性变换B'= B+S给出第二压缩数据流的已修改DTS值。因此对第二压缩数据流应用的线性变换不改变时钟基准特性。此外,为了实现压缩数据流的流畅播放,PCR SSM 210修改第二压缩数据流的PCR值。举例来说,如果P表示第二压缩数据流的PCR值的向量,那么线性变换P' =P+S 表示具有已修改PCR值的向量。举例来说而不是为了限制,第一压缩数据流与第二压缩数据流之间的类似时基是通过决定基点来实现的。若干参数(例如,base. pts、base. dts、display_order和decode_ order)用于计算基点。基点表示开始点,或者基点表示PTS环绕或时间基准重新开始(例如,视频中的GOP的开始)的任何点。任何帧的所估计PTS (i)均是按照下式计算current, pts = base, ρts+ (current. display_order-base. display_ order)氺frame_size。基于所述特定等式,第二压缩数据流的帧经修改以实现第一压缩数据流的时基。举例来说而不是为了限制,对于第二压缩数据流的视频流(AF)而言,AF_base. Pts =第一压缩数据流的开始点的第一图像的PTS且AF_base. display_order = 0。所述值在各种情况下均有效。举例来说,在第二压缩数据流的开放GOP的情况下,视频SSM 210 预处理第二压缩数据流,通过修改I帧的时间基准来去除时间依赖性,并将依赖性图像替换为虚拟帧。此外,对于PCR流和音频流而言,每个PTS和PCR值的到达为基点。因此,基点是针对每个PTS和PCR值而更新的。因此,通过使用所述值和前述等式,实现了第二压缩数据流的已修改时间戳。根据本发明的各种实施方式,定时模块212可在拼接入点支持时基不连续性。因此,第二压缩数据流可以始于新的时基值。举例来说,第二压缩数据流的PTS值、DTS值和 PCR值可以具有新的时基。新的时基值可以通过设定具有新的时基的第二压缩数据流的第一包的不连续性指示符来指示。因此,在拼接出点,不连续性指示符设定于第一压缩数据流的第一包中,且因此关于新的时基而发出信号。图4绘示根据本发明的一或更多个实施方式的对数据流进行拼接操作的示范性方法400的流程图。方法400始于步骤402并继续进行到步骤404。在步骤404,处理第一数据流(例如,由图1的源站102产生的压缩数据流)。在一些实施方式中,监视第一数据流以检测视频流或音频流或节目时钟基准流中的数个拼接机会点。方法400继续进行到步骤406。在步骤406,判定是否到达拼接入机会点。如果未到达拼接入机会点,那么方法400就继续进行到步骤404。如果到达拼接入机会点,那么方法400就继续进行到步骤408。在步骤408,处理第二数据流。在一个实施方式中,流拼接模块(例如,图2的SSM 210)修改第二数据流的帧的时间基准。在步骤410,替换第一数据流的帧。在一些实施方式中,视频流拼接模块(例如, 图2的视频SSM 210)执行GOP级精度拼接,并将第一数据流的视频流的一或更多个GOP替换为第二数据流的一或更多个G0P。在一些实施方式中,音频拼接模块(例如,图2的音频 SSM 210)对第一数据流的音频流执行帧级精度拼接。
14
在步骤412,处理第一数据流以识别拼接出机会点。在步骤414,判定是否到达拼接出机会点。如果未到达拼接出机会点,那么方法400就继续进行到步骤410。如果到达拼接出机会点,那么方法400就继续进行到步骤416。在步骤416,决定待用于替换的帧的数目。在一个实施方式中,流拼接模块(例如,图2的SSM 210)决定需要替换的第一数据流的帧的数目。此外,流拼接模块识别用于替换第一数据流的第二数据流的帧的数目和充填帧的数目。在步骤418,可以修改第一数据流的帧的时间基准。方法400继续进行到步骤420。 在步骤420,方法400结束。本文中所论述的本发明的各种实施方式提供若干优势。在一个实例中,本发明实现了第一数据流的视频流的GOP精度拼接和第一数据流的音频流的帧精度拼接。此外,拼接操作与GOP的大小无关。第一数据流和第二数据流可以具有任意GOP大小。拼接操作将一个访问单元替换为另一访问单元。此外,提供第二数据流的时基校正以便避免拼接流中的时基的任何不连续性。此外,在拼接操作的结束时提供虚拟帧以提供流畅的转变效果。此外,拼接操作并不对压缩数据流的编码帧进行解码。由于未对帧进行解码,本发明在相对较少的处理要求的情况下有效地起到作用,而不会影响拼接操作的质量。拼接操作不需要对第一数据流的图像帧重新排序,这是因为拼接操作不依赖于未来图像。因此,拼接器处的每个图像的到达次序与图像离开拼接器的次序相同。此外,拼接操作不需要存储所述帧以供稍后用于拼接。在帧的到达后判定帧在拼接流将被选择还是被放弃。最后,拼接操作不对传输流进行拆包来执行拼接操作。由于未对传输包进行拆包和重新分包,因此避免了内存复制的大量开销。结果,以高速度和相对较高的质量实现了拼接操作。流程控制根据本发明的一或更多个实施方式,流程控制模块216控制处理站112内的第一数据流的数个流的前进。一般来说,第一数据流的数个流可以按照不同数据速率获得,并且此外,数据速率可以随着时间而变。换句话说,不同数据速率在不同时间间隔存在。结果, 数个SSM 210可以在某一时间周期期间处理不同量的数据。此外,数个流相互提前或滞后。举例来说,第一数据流的特定音频流可以相对于第一数据流的视频流滞后。因此,流程控制模块216配置成确保数个SSM 210按照某一方式处理所述流,以使得数个流维持容许的滞后或提前。举例来说而不是为了限制,数个SSM 210 在特定时间周期期间处理相等量的数据,以便维持容许的滞后或提前。在一或更多个实施方式中,数个SSM 210处理相应流历时跳跃周期。跳跃周期等于特定流拼接模块处理特定流的持续时间的量。跳跃周期等于所述流的访问单元的一或更多倍的播放持续时间。举例来说,对于视频流而言,跳跃周期等于视频访问单元的一或更多倍的播放持续时间。此外,对于特定跳跃而言,跳跃周期在数个SSM 210间有所不同。举例来说,视频SSM 210的跳跃周期可以不同于音频SSM 210的跳跃周期。为了实现数个流之间的流程控制,数个SSM 210在逐个跳跃的基础上处理相应流。换句话说,SSM 210的特定流拼接模块仅在SSM 210的剩余流拼接模块完成相应跳跃时才移动到下一跳跃。在特定例子中,当数个SSM 210不相互通信时,流程控制模块216配置成将每个SSM 210已完成跳跃的信息传递到数个SSM 210。此外,流程控制模块216在跳
15跃的开始将公用跳跃信用传递到数个SSM 210。此外,数个SSM 210的每个流拼接模块处理相应流的访问单元。随着特定流的每个访问单元的到达,相应流拼接模块的跳跃信用减小,减小的量等于访问单元的播放持续时间。此外,当流拼接模块的跳跃信用小于访问单元的播放持续时间时,特定流的流拼接模块完成跳跃并将跳跃结束的状态传递到流程控制模块216。此外,在从SSM 210的剩余流拼接模块接收到跳跃结束状态后,流程控制模块216将信息提供到数个SSM 210以开始新的跳跃。以所述方式,在完成包括多倍跳跃的跳跃循环后,维持了容许的提前或滞后。在一个实例中,在完成跳跃循环后,在第一数据流的数个流间维持在跳跃循环的开始时存在的提前或滞后。在一个实例中,跳跃循环的持续时间等于第一数据流的数个流的访问单元间隔的最小公倍数(LCM)。此外,根据本发明的一或更多个实施方式,提供了虚拟代码以实现数个流之间的流程控制。
//在流程控制模块216处。 SSM 210的数目=N; 对所有拼接器设定Average—leap—size For i=0…..N
{ If (! Leap—finished(i))
{ Run stream splicing module ()
lf(leap_flnish(i))
Leapcount++;}
If (leap count=N)
Reset leap—finish(i) for all i,...N
issue new leap for all i,....N}
//流拼接模块内部 Run—stream—spicing—module () { If (new leap) leap_credit+=avg—leap;
while (leap—credit〉=Access_unit一duration) { splice()//till next Access unit leap_credit-=Access_unit_size;} lf(leap—credit<Access_unit—size) leap—finished(i)=TRUE;}
图5绘示根据本发明的一或更多个实施方式的用于控制第一数据流的数个流的流程的方法500的示范性流程图。方法500始于步骤502并继续进行到步骤504。在步骤 504,识别流拼接模块(SSM 210)(例如,图2的SSM 210)。在步骤506,将跳跃信用传递到流拼接模块。在一个实施方式中,流程控制模块(例如,图2的流程控制模块216)将跳跃信用传递到流拼接模块。所述方法继续进行到步骤508。在步骤508,判定跳跃信用是否大于或等于访问单元的持续时间。如果决定跳跃信用大于或等于访问单元的持续时间,那么方法500就继续进行到步骤510。在步骤510,处理所述流的访问单元。举例来说,视频流拼接模块处理视频流的视频访问单元。在一些实施方式中,视频流拼接模块将视频访问单元替换为另一视频访问单元。在一个实例中,替换的访问单元是第二数据流的视频流的视频访问单元。在另一实例中,替换的访问单元是虚拟访问单元。在步骤512,修改跳跃信用。在一个实例中,减小跳跃信用,减小的量等于所述流的访问单元的持续时间。所述方法进一步继续进行到步骤508。如果决定跳跃信用不大于或等于访问单元的持续时间,那么方法500就继续进行到步骤514。在步骤514,完成跳跃。 方法500继续进行到步骤516。在步骤516,方法500结束。根据本发明的一或更多个实施方式,流程控制与媒体类型、编解码器类型或文件格式类型无关。此外,流程控制模块216使流拼接模块能够处理相等量的数据。结果,流程控制不需要第一数据流的数个流的位速率信息。因此,流程控制可以在数个流的任意位速率或可变位速率下起到作用。此外,流程控制算法管理数个流之间的初始提前或滞后。结果,在多流SOP授权期间,对适当拼接机会点进行了定位。并且,交替处理了第一数据流与第二数据流的访问单元。因此,第一数据流的流程控制控制第二数据流的流程。此外,流程控制不需要对流进行解码或复杂的位速率计算来控制数据。此外,因为TS/PES标头包括与时间相关的字段,所以流程控制仅需要TES/PES标头以进行操作。多流SOP授权算法根据本发明的一或更多个实施方式,控制模块208配置成识别第一数据流的一个流的拼接入机会点和拼接出机会点,所述拼接入机会点和拼接出机会点对应于第一数据流的另一流的拼接入机会点和拼接出机会点。根据一个流的拼接机会点来选择另一流的拼接机会点改良了拼接流的质量。举例来说,此种选择拼接机会点(SOP)的处理维持了第一数据流的数个流(例如,视频流和一或更多个音频流)之间的预先设立的同步。在另一实例中,此种选择拼接机会点的处理避免了产生不同流的准确替换持续时间的差异。结果,可以预防因PCR与其它内容之间的持续时间的失配而造成的时基的不连续性。此外,控制模块208从第一数据流的数个流中识别锚流。在一个实施方式中,锚流包括访问单元,所述访问单元与第一数据流的其它流的访问单元相比具有最大播放持续时间。举例来说而不是为了限制,控制模块208可以将视频流识别为锚流,这是因为所述视频流的访问单元的播放持续时间相对大于一或更多个音频流的访问单元的播放持续时间。在另一实施方式中,控制模块208将音频流识别为锚流。如本说明书中早先所描述的,对于不同流而言,拼接机会点在不同点到达。举例来说,对于音频流而言,拼接机会点在访问单元边界(AUB)处到达,而对于视频流而言,拼接机会点在每个GOP处到达。在检测到锚流后,拼接机会点(例如,拼接入机会点或拼接出机会点)决定于锚流中。此外,对于锚流的决定的拼接机会点而言,计算第η流的数个拼接机会点的变量 eiJ = I SOPanchor (i)-SOPn(J) I。变量eij计算锚流的第i拼接机会点与第η流的第j拼接机会点之间的展现时间戳(PTQ值的差异。第η流拼接模块识别第η流中的特定拼接机会点,其中变量针对特定拼接机会点具有最小值。根据一或更多个实施方式,各种方法可以用于有效地决定数据流的数个流的拼接机会点。在一种方法中,在SOP的到达之前预测数个流的拼接机会点。因此,根据锚流的 SOP而计算了变量并决定了数个流的SOP。此种方法也称为SOP选择的预测方法。在一种迭代方法中,控制模块208将流的处理保持暂停直到SOP的到达为止。此外,迭代算法(本说明书中稍后描述)识别到达的SOP是否为最佳SOP集合。因此,控制模块208传递相应流以进一步进行处理。在另一种方法中,使用了预测方法与迭代方法的组合。以下描述提供了一或更多种算法,所述算法用于实施预测方法、迭代方法和组合式预测与迭代方法。变量名称和相应定义如下所述S0P_flag 由流拼接模块引擎指示的SOP的到达。S0P_granted 在对流的SOP进行授权时设定。SOP_timestampn(i)第 η 流的第 i SOP 例子。SOP_timestamp n(i)第 η 流的第 i 预测 SOP 例子。锚流预测是在所述流的基础上进行。sop_count =对SOP进行授权的信道的计数eiJ =锚流的第i SOP与另一流的第j SOP之间的PTS误差S为给予流拼接模块的目标SOP时间戳。预测算法
SOP_timestamp~0 (O)=Predict (Null) SOP_PTS0=SOP_timestamp~0 (0) For η<-0,Ν
SOP_timestamp~n(0)=Predict(SOP_PTSo) sop_count=0
/*Run stream splicing module*/ while (sop—count<N) { for (n<-0,N)
{ Run_stream_splicing—module (n); if(SOP_PTSn<=CURRENT_PTSn) && SOP_fkg==TRUE) { SOPgranted(n)
sop_count++} } }迭代算法sop—Count=O
/*Run stream splicing module*/ while (sop_count<N) { for (n<-0,N) { Run_splicer (n);
If (SOP_flag==TRUE && n==anchor stream)
{ SOP_granted(n);
sop_count++;}
if (SOP_flag-=TRUE && η !二anchor stream && SOP_granted(anchor stream)==TRUE) { calculate (eij) calculate (ei(j+l))
if(eij<=eiO+l)) { SOP granted(n)
sop—count++;} else
continue; }}}组合式预测与迭代算法在所述算法中,按照平均SOP持续时间的次序对数个流进行分类。在下一步骤中, 从数个流中选择锚流。此外,预测锚流中的最早S0P。在锚流中侦测到SOP后,预测较接近锚流的SOP的另一流的多个S0P。从另一流的数个SOP中,根据变量eij来选择另一流的拼接入机会点和拼接出机会点。并且,所述算法使用以下条件来核实任何流均不与最远SOP 交叉。以下条件在确保任何流均不与最远SOP交叉时是必需的a. PTS
的提前(在每个跳跃的开始时)> PTS[i]的提前+S0P_distance_maxb.其中S0P_distance_max =锚流的最差情况SOP持续时间。此外,如早先所描述的,开始了正常的流程控制,并且明白表示了流的每个访问单元边界和SOP的到达。此外,在以下条件下对SOP预测重新迭代I.如果锚流的SOP在所述SOP的原始位置处未被发现,或II.如果锚流的SOP在早于所述SOP的预期位置处被发现。提供以下虚拟代码来实现组合式预测与迭代算法。Sopcount=O
/ Predict with a immediate PTS value*/ /*SOP_TIME_OUT. After this, abort the SOP search.*/ SOP_TIMESTAMP~0 (O)=Predict (0)//This implies next immediate SOP SOP_PTS0=SOP_timestamp~0 (0) For n<-0,N
SOP_timestamp~n (0)=Predict(SC)P—PTS0) while (sop_count<N) { for (n<-0,N){
Run—stream—splicing_module (n); If(current—PTS0>SOP_TIME—OUT) { Exit(); }
If (SOP flag==TRUE && η == anchor stream) { SOP_granted(anchor stream) sop—count++; SOP_PTS0=Current_PTS0
For k<-0,N
SOP_timestamp~n(0)=Predict(SOP_PTS0) } If (SOP_flag==TRUE && η !=anchor stream && SOP—granted(anchor stream)==TRUE &&
Current PTSn>=SOP_timestamp~n(0)) {·
SOP—granted(n)
sop—count++;} }}根据一或更多个实施方式,公开了视频流的固定和可变GOP的SOP持续时间的预测。假设S为SOP应在视频流中到达的理论PTS。如本说明书中已陈述的,视频流拼接模块执行GOP精度拼接。由于GOP精确性和不具有对GOP开始的位置的控制,在某一范围内搜索S0P_timestamp n(i)。在一个实例中,当视频流的GOP的大小固定且等于“G0P_SUE” 时,S的相邻SOP为total_aubs = (S_current_pts) · AUB_SIZE/(90*1000)covered_G0P_distance = G0P_SIZE-total_aubs % G0P_SIZES0P_timestamp n(i) = (total_aubs_covered_G0P_distance) · *AUB_SIZES0P_timestamp η(i+1) = S0P_timestamp η(i)+G0P_SIZE*AUB_SIZE此夕卜,依赖于 covered_G0P_distance, S0P_timestamp n(i)或 S0P_timestamp n(i+l)按照下式选自最小的el和e2 el = (S_SOP_timestamp n(i))e2 = (S0P_timestamp n(i+l)_S)预测的最佳SOP为对应于el与e2之间的最小误差的SOP。所述算法对于音频流也同样适用。最佳授权算法根据本发明的一或更多个实施方式,节目插入或广告插入将第一流的指定内容改写为第二流的内容。一般来说,发生了如下事件第一数据流上的内容剪辑设定成将被进行改写的目标。所提供的拼接入点为第一此些事件中的内容(例如,帧)的开始,并且拼接出点定义为所述事件的最后一帧。当流拼接模块并不对流执行帧精度拼接时,有效的拼接入点和拼接出点有所不同。结果,改写了第一数据流中的先前帧(从而导致在输出中那些图像丢失),或者将显现目标事件中的很少的帧,从而产生知觉短暂影响。因此,最佳SOP授权算法识别最佳SOP集合(拼接入机会点和拼接出机会点),所述最佳SOP集合在输出中在改写的过去事件与当前可见元素之间进行最佳化。在一个实施方式中,所述算法包含以下步骤。假设“S”为理论拼接入点,且预期转变事件在第一数据流中在S处发生。为了识别知觉上的最佳S0P,决定锚流的SOP。因此,使用前述算法(例如,预测算法、迭代算法和组合式预测与迭代算法)来决定其它流的SOP。此外,在特定流中预测出或识别出最接近“S”的S0P,即,SOP0(i)和SOP0(i+l)。 此外,定义对应于SOP的误差的误差和%(i+l),其中按照下式计算误差%(1)和 e0(i+l)e0(i) = S-SOP0 (i)e0(i+l) = S-SOP0 (i+1)在下一步骤中,将一对SOPtl (i)和SOPtl (i+Ι)进行定位以使得%(1)是最小_ve误差且是最小+ve误差。在SOPji)的到达后,判定对当前SOP进行授权还是放弃当前S0P。并且,预测出S0P Q(i+l)并且可获得值 ⑴和e 0(i+l)。此外,在所述算法中作出以下判定。如果和均是负值,那么所述算法继续搜索下一 SOP i,i+1对,如果e0(i)是-ve并且e0(i+l)是+ve,那么从所述SOP i,i+1对选择SOP,最佳SOP = SOP0 ⑴,如果 I % ⑴ I > I e Q (i+1)最佳SOP = SOP 。(i+Ι),如果 I % ⑴ I > I e 。(i+1)使用多流SOP授权算法寻找所有S0Pn。如果和均是正值,那么放弃所述算法。如所公开的,一旦选择了预测S0P,当前最佳SOP授权算法就退出并且多流SOP算法就计算其它流的所有S0P。在可变GOP的情况下,SOP的序列号不可预测。结果,i为任意数。在所述情况下,在SOP的每次到达时尝试所述算法。在所述特定情况下,以下条件用于判定最佳S0P。SOP Q (i+1) = SOP0(i)+MIN_GOP_SIZE此外,如果未对SOPtl (i)进行授权并且SOP Q (i+1) > S0P_TIME_0UT,那么中止拼接操作。经加权的预测SOP根据一或更多个实施方式,先前事件的改写相对较敏感。在所述情况下,对误差对进行加权以实现SOP的相对较佳的选择。因此,将两个权重W-和W+给予流拼接模块,以进行知觉决策。在一个实例中,权重W-和W+是i的线性函数。在另一实例中,权重W-和W+是i的非线性函数。在所述情况下,按照下式计算最小误差SOP 最佳SOP = SOP0 ⑴,如果 I % ⑴ I *W- > I e Q (i+1) | *w+最佳SOP = SOP 。(i+1),如果 I % ⑴ I *w- > | e Q (i+1) | *w+举例来说,w-和w+是4和1 ;这表示在反向方向上产生的误差比在前向方向上产生的误差代价高。因此,在S之前刚好2个图像处的SOP与在S之后的8个图像处的SOP 具有相同影响。图6绘示根据本发明的一或更多个实施方式的用于选择第一数据流的数个流的拼接机会点的方法600的流程图。方法600始于步骤602并继续进行到步骤604。在步骤 604,识别第一数据流的数个流。在一个实例中,所述数个流包括视频流、一或更多个音频流禾口 PCR流。在步骤606,从所述数个流中识别锚流。在一些实施方式中,锚流相比于第一数据流的其它流具有最高SOP持续时间。在步骤608,决定锚流的拼接入机会点和拼接出机会点。在步骤610,根据锚流的拼接入机会点和拼接出机会点来决定另一流的SOP。在一个实例中,多流授权算法用于决定另一流的SOP。方法600继续进行到步骤612。在步骤612,方法600结束。根据本发明的各种实施方式,SOP授权算法与媒体类型、编解码器类型或文件格式类型无关。此外,SOP授权算法不需要第一数据流的数个流的位速率信息。因此,SOP授权算法可以在数个流的任意位速率或可变位速率下起到作用。此外,SOP授权算法针对拼接的既定精确性以高效率对第一数据流起到作用,所述第一数据流包括一或更多个视频流、 一或更多个音频流。此外,SOP授权算法在流拼接模块的任意精确性能力下起到作用。举例来说,在拼接为帧精度拼接、或GOP精度拼接或子GOP精度拼接时,SOP授权算法起到作用。SOP授权算法每次仅处理一个访问单元。换句话说,SOP授权算法不需要未来或过去的存储来进行决策。此外,SOP授权算法在各种SOP持续时间(例如,可变GOP大小)下有效地起到作用。 此外,由于SOP授权算法不需要分析和处理流(除决定SOP以外),因此,所述算法需要相对较少的计算。此外,本文中所论述的各种实施方式实现了一种营业方法,其中广告可以插入到广播流中,以使得插入广告在相对较小的地理区域(例如,与有线电视头端有关的区域)中展示。插入广告可以不同于广播广告。此举对广告商、广播公司和观众具有各种优势,并且此种营业方法公开于临时专利申请案“Method and system for broadcasting multimedia data”中,所述临时专利申请案是与本申请案一起申请的。根据所论述的各种实施方式,拼接器对此种营业方法提供若干优势,尤其是能够允许广告商和/或广播公司插入广告流来代替广播流,所述广告流例如能够在局域有线电视头端处获得。
22
虽然上文所述内容针对本发明的实施方式,但可设计出本发明的其它实施方式, 而不偏离本发明的基本范畴。
权利要求
1.一种用于控制第一数据流的数个流的流程的方法,所述方法包含处理第一数据流的至少两个流的至少一个访问单元,其中所述至少两个流的所述处理起始于跳跃的开始处且其中所述至少两个流包括数个访问单元;在所述跳跃的所述开始处将跳跃信用提供给至少两个流拼接模块,其中所述至少两个流拼接模块在跳跃周期期间处理所述相应至少两个流,且所述跳跃的所述开始处的所述跳跃信用设立所述跳跃周期;在所述跳跃周期期间修改所述至少两个流拼接模块的所述跳跃信用;和在所述至少两个流拼接模块中的一流拼接模块的所述已修改跳跃信用小于所述至少两个流中的一流的所述访问单元的持续时间的量时中断所述流的所述处理。
2.如权利要求1所述的方法,其中所述处理包含将所述第一数据流的所述至少两个流的一或更多个访问单元替换为第二数据流的一或更多个访问单元。
3.如权利要求1所述的方法,其中所述处理包含将所述第一数据流的所述至少两个流的一或更多个访问单元替换为充填帧。
4.如权利要求1所述的方法,其中所述在所述跳跃的所述开始处将跳跃信用提供给至少两个流拼接模块包含在新跳跃的开始处将相等跳跃信用传递到所述至少两个流拼接模块。
5.如权利要求1所述的方法,进一步包含在决定量的时间后维持所述至少两个流之间的初始提前。
6.如权利要求5所述的方法,其中所述决定量的时间等于跳跃循环的持续时间,其中所述跳跃循环包括至少一个跳跃。
7.如权利要求6所述的方法,其中跳跃循环的所述持续时间等于所述第一数据流的所述至少两个流的访问单元间隔的最小公倍数(LCM)。
8.一种用于控制第一数据流的数个流的流程的设备,所述设备包含至少两个流拼接模块,配置成在跳跃周期期间处理所述第一数据流的至少两个流的至少一个访问单元,其中所述至少两个流包括数个访问单元;流程控制模块,配置成在跳跃的开始处将跳跃信用提供给所述至少两个拼接模块,并确保所述至少两个流拼接模块在所述跳跃的所述开始处起始所述处理操作;且其中所述跳跃信用设立所述至少两个流拼接模块的所述跳跃周期。
9.如权利要求8所述的设备,其中所述访问单元为以下访问单元中的至少一个视频访问单元或音频访问单元。
10.如权利要求8所述的设备,其中所述至少两个流包含以下流中的至少一个视频流和音频流。
11.一种用于选择第一数据流的数个流的拼接机会点的方法,所述方法包含 从所述第一数据流的所述数个流中识别锚流,其中所述锚流包括数个访问单元;从所述锚流的所述数个访问单元决定所述锚流内的拼接入(splice-in)机会点和拼接出(splice-out)机会点;根据所述锚流的所述拼接入机会点和所述拼接出机会点决定除所述锚流外的至少一个流的拼接机会点。
12.如权利要求11所述的方法,其中所述锚流的所述访问单元在所述数个流的访问单元中具有最高播放持续时间。
13.如权利要求11所述的方法,其中所述数个流包含以下流中的至少一个视频流;音频流;和PCR流。
14.如权利要求12所述的方法,其中所述决定至少一个流的拼接机会点包含计算第η 流的数个拼接机会点的变量= |S0Pm。to(i)-S0Pn(j) |,其中所述变量eij计算所述锚流的第i拼接机会点与所述第η流的第j拼接机会点之间的展现时间戳(PTS)值的差异。
15.如权利要求14所述的方法,进一步包含识别导致在所述第η流的所述数个拼接机会点中变量的值最小的所述第η流的拼接机会点。
16.一种用于选择第一数据流的数个流的拼接机会点的设备,所述设备包含用于至少两个流的至少两个流拼接模块,其中流拼接模块检测相应流内的数个拼接机会点;和控制模块,用于从所述第一数据流的所述至少两个流中识别锚流,其中所述控制模块配置成与所述至少两个流拼接模块通信,以便根据所述锚流的拼接入机会点和拼接出机会点来决定另一流的拼接机会点。
17.如权利要求16所述的设备,其中所述锚流包括持续时间大于其它流的拼接机会点的拼接机会点。
18.如权利要求16所述的设备,其中所述至少两个拼接模块利用预测算法以决定其它流的拼接机会点。
19.如权利要求16所述的设备,其中所述至少两个拼接模块利用迭代算法以决定其它流的拼接机会点。
20.如权利要求16所述的设备,其中所述至少两个拼接模块利用预测算法与迭代算法的组合以决定其它流的拼接机会点。
21.如权利要求16所述的设备,其中所述至少两个拼接模块利用最佳授权算法以决定其它流的拼接机会点。
22.如权利要求21所述的设备,其中所述至少两个拼接模块利用经加权的预测SOP算法。
全文摘要
本发明公开一种用于多个流的协调拼接的方法和设备。在一个实施方式中,本发明公开一种用于控制第一数据流的数个流的流程的方法和设备。此外,本发明公开一种用于选择第一数据流的数个流的拼接机会点的方法和设备。
文档编号H04N21/81GK102461196SQ201080030058
公开日2012年5月16日 申请日期2010年4月28日 优先权日2009年4月28日
发明者德文德拉库马尔·班克尔, 拉克沙·特里帕蒂, 达尔吉特·考尔, 迪潘库马尔·梅达 申请人:福拜特斯印度私人有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1