CN102461195B - 用于拼接压缩数据流的方法和装置 - Google Patents

用于拼接压缩数据流的方法和装置 Download PDF

Info

Publication number
CN102461195B
CN102461195B CN201080028835.8A CN201080028835A CN102461195B CN 102461195 B CN102461195 B CN 102461195B CN 201080028835 A CN201080028835 A CN 201080028835A CN 102461195 B CN102461195 B CN 102461195B
Authority
CN
China
Prior art keywords
frame
data stream
splicing
stream
point
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
Application number
CN201080028835.8A
Other languages
English (en)
Other versions
CN102461195A (zh
Inventor
麦塔·迪潘库马尔
班克·戴文卓库马尔
考尔·戴尔吉特
崔帕西·拉凯仕
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Vubites India Private Ltd
Original Assignee
Vubites India Private Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Vubites India Private Ltd filed Critical Vubites India Private Ltd
Publication of CN102461195A publication Critical patent/CN102461195A/zh
Application granted granted Critical
Publication of CN102461195B publication Critical patent/CN102461195B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/81Monomedia components thereof
    • H04N21/812Monomedia components thereof involving advertisement data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/172Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a picture, frame or field
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/23424Processing 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/4302Content synchronisation processes, e.g. decoder synchronisation
    • H04N21/4305Synchronising client clock from received content stream, e.g. locking decoder clock with encoder clock, extraction of the PCR packets
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • H04N21/44016Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving splicing one content stream with another content stream, e.g. for substituting a video clip
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/845Structuring of content, e.g. decomposing content into time segments
    • H04N21/8455Structuring of content, e.g. decomposing content into time segments involving pointers to the content, e.g. pointers to the I-frames of the video stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Business, Economics & Management (AREA)
  • Marketing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Replacement Of Web Rolls (AREA)

Abstract

公开了一种用于拼接第一数据流和第二数据流的方法。该方法包括:检测该第一数据流中的拼接起点和拼接止点,其中该拼接起点是该第一数据流中的帧,并且该拼接止点是该第一数据流中的另一帧。该方法还包括从该第一数据流中的多个拼接机会点(SOP)中识别拼接起机会点和拼接止机会点,其中该拼接起机会点对应于该拼接起点,而该拼接止机会点对应于该拼接止点,其中该拼接起机会点和该拼接止机会点是第一数据流的帧。该方法利用该第二数据流的至少一个帧替换该第一数据流的至少一个帧,其中替换该第一数据流的帧从该拼接起机会点开始向前,在该拼接止机会点结束;以及其中该第一数据流包括多个帧,并且该第二数据流包括多个帧。该方法在不对第一数据流解包的情况下执行拼接操作。此外,替换该帧不需要对第一数据流的帧重新排序。

Description

用于拼接压缩数据流的方法和装置
相关申请的交叉引用
本申请要求2009年4月28日提交的第1120/MUM/2009号印度临时专利申请的权益,并在此通过引用将该专利申请包含入本文。
发明领域
本发明的实施例一般地涉及数字处理技术,并且更特别地涉及在数字传输系统中用于拼接压缩数据流的方法和装置。
相关技术说明
在通信系统中,在传输多媒体信号时,网络带宽起重要作用。诸如广播服务、视频点播服务、视频会议等的各种多媒体服务都产生多媒体信号。通常,多媒体信号需要极大的带宽,因此占用大部分网络带宽。因此,为了消除多媒体信号中的数据冗余,开发了诸如运动图像专家组(例如,MPEG-1、MPEG-2)、H.26X等的各种压缩标准。采用压缩标准中定义的各种压缩技术产生压缩多媒体信号。相对而言,压缩多媒体信号占用较少的网络带宽。此外,压缩多媒体信号通常包括诸如编码图帧、编码音频帧、编码数据帧等的编码帧。
为了对压缩多媒体信号进行处理(例如,广播、拼接等),开发出了各种数字系统。一方面,压缩技术减小了多媒体信号的带宽要求,另一方面,压缩技术不利地增加了数字系统的复杂程度。例如,在一种典型的拼接操作中,数字系统被配置为首先解码压缩多媒体信号,然后,利用其他帧替换解码多媒体信号中的至少一个或者多个帧(例如,图帧)。此外,在完成拼接操作时,数字系统被配置为利用上面提到的压缩标准再编码该解码多媒体信号。这样解码和再编码多媒体信号影响了压缩多媒体信号的质量,并且降低了数字系统的效率。此外,数字系统要求具有强大计算能力的高端处理单元来处理压缩多媒体信号。
此外,在拼接操作时,诸如多媒体信号的视频流、音频流等的各种流之间可能丧失定时同步(timingsynchronization)。在传统方法中,数字系统将硬件时钟用作一个或者多个流时钟的从属时钟,从而在一个或者多个流之间实现定时同步。而硬件时钟额外增加了数字系统的复杂性。
因此,本技术领域需要一种用于有效拼接压缩多媒体信号的方法和装置。
发明内容
公开了一种用于拼接第一数据流和第二数据流的方法。该方法包括:检测该第一数据流中的拼接起点和拼接止点,其中该拼接起点是该第一数据流中的帧,并且该拼接止点是该第一数据流中的另一帧。该方法还包括从该第一数据流中的多个拼接机会点(SOP)中识别拼接起机会点和拼接止机会点,其中该拼接起机会点对应于该拼接起点,而该拼接止机会点对应于该拼接止点,其中该拼接起机会点和该拼接止机会点均是第一数据流的帧。该方法利用该第二数据流的至少一个帧替换该第一数据流的至少一个帧,其中替换该第一数据流的帧从该拼接起机会点开始向前,在该拼接止机会点结束;并且其中该第一数据流包括多个帧,该第二数据流包括多个帧。该方法在不对第一数据流解包的情况下执行拼接操作。此外,对帧的替换不需要对第一数据流的帧重新排序。
在另一个实施例中,公开了一种用于控制第一数据流的多个流的流动的方法和装置。在一个实施例中,该方法包括处理该第一数据流的至少两个流的至少一个访问单元,其中处理该至少两个流在开始跳变时启动,并且其中该至少两个流包括多个访问单元。在开始跳变时,该方法将跳变信点送到至少两个流拼接模块,其中该至少两个流拼接模块在跳变周期内处理相应的至少两个流,并且跳变开始时的跳变信点建立跳变周期。在跳变周期内,该方法还修改该至少两个流拼接模块的跳变信点,并且当该至少两个流拼接模块的流拼接模块的修改的跳变信点小于该流的访问单元的时长量时,停止处理该至少两个流的流。
在又一个实施例中,公开了一种用于选择第一数据流的多个流的拼接机会点的方法和装置。在一个实施例中,该方法包括在该第一数据流的多个流中识别锚定流(anchorstream),其中该锚定流包括多个访问单元。根据该锚定流的多个访问单元,该方法确定该锚定流中的拼接起机会点和拼接止机会点。该方法还根据该锚定流的拼接起机会点和拼接止机会点确定该锚定流之外的至少一个流的拼接机会点。
附图的简要说明
因此,参考实施例,提供了详细理解上面描述的本发明特征的方式、本发明的更具体描述、上面概述的发明内容,附图示出一些实施例。然而,请注意,附图仅示出本发明的典型实施例,因此,它们不能被认为是限制了本发明的范围,本发明可以有其他同样有效的实施例。
图1示出根据本发明一个或者多个实施例的示例性数据流处理系统的方框图;
图2示出根据本发明一个或者多个实施例的拼接器的示例性实施例的方框图;
图3A-E示出根据本发明一个或者多个实施例所述对数据流执行的示例性拼接操作;
图4示出根据本发明一个或者多个实施例所述用于对数据流执行拼接操作的示例性方法的流程图;
图5示出根据本发明一个或者多个实施例所述用于控制第一数据流中的多个流的流动的方法的流程图;以及
图6示出根据本发明一个或者多个实施例所述用于选择第一数据流中的多个流的拼接机会点的方法的流程图。
详细描述
图1示出根据本发明一个或者多个实施例的示例性数据流广播系统100的方框图。系统100被配置为用于对用户广播诸如数字电视广播、视频点播等的多媒体服务。在一个实施例中,系统100可以对用户提供诸如互联网和/或者内部网接入的综合数字服务。数据流广播系统100包括多个通常通过网络124与多个处理台可通信地连接的源台。
下面将诸如源台1021、源台1202、源台1023、......、和源台102n的多个源台称为源台102。通常,源台102是诸如电视广播台、无线电广播台等的广播台,它们将数据流发射到诸如下面被称为处理台112的处理台1121、处理台1122、处理台1123、......、和处理台112n的处理台。在一个例子中,源台102是数字广播台,并且将数字数据流发射到多个处理台112。在另一个例子中,源台102是模拟广播台,用于将模拟流发送到多个处理台112。正如后面的描述中所做的解释,多个处理台112被配置用于对数据流执行诸如拼接等的操作。
在一些实施例中,源台102被配置用于生成节目流,该节目流包括具有一系列多个图帧的视频流、一个或者多个具有多个音频帧的音频流以及具有多个PCR帧的相关节目时钟基准(programclockreference)(PCR)流。在一个实施例中,源台102可以接收来自制作工作室的节目流。在一个例子中,制作工作室可以是适于包括诸如新闻、现场比赛、会议等的娱乐事件的移动制作工作室。
源台102被配置用于利用众所周知的诸如JPEG、MPEG(例如,MPEG-1、MPEG-2和MPEG-4)、H.26X等的压缩技术处理节目流。因此,产生压缩数据流。作为例子而不作为限制,在一个实施例中,源台102被配置用于产生符合MPEG的压缩数据流。因此,特定节目流的各种帧,例如,图帧、音频帧和相关节目时钟基准(PCR)流,将根据MPEG压缩标准进行编码。
通常,节目流的特定图帧可以被压缩为帧内编码帧(I帧)、预测编码帧(P帧)或者双向编码帧(B帧)。I帧消除了图帧内的空间冗余,并且被独立编码。因此,当在处理站112解码时,I帧不依赖其他图帧。然而,P帧和B帧是非独立的压缩图帧,并且当在处理台112进行解码时,可能需要I帧和/或者P帧。此外,对于在前压缩图帧,P帧消除了时间冗余。在前压缩图帧可以是I帧或者P帧。此外,对于在前压缩图帧和未来压缩图帧,B帧消除了时间冗余。在前压缩图帧和/或者未来压缩图帧可以是I帧和/或P帧。
随后,源台102被配置为利用压缩图帧产生视频序列。该视频序列以序列首标(sequenceheader)开始,后面是一组或者多组压缩图帧。此外,例如MPEG标准的压缩标准定义了具有视频流的一个或者多个压缩图帧的图像组(GOP)。GOP以I帧开始,后面是一定数量的B帧和P帧。因此,源台102利用节目流的编码图帧产生单元视频流(ES)。此外,源台102被配置用于压缩节目流的音频帧和/或PCR帧。因此,源台102被配置用于产生节目流的音频流和PCR流的单元流。
此外,源台102被配置用于产生节目流的每个单元流的打包单元流(PES)。PES包括具有PES包首标和数据净荷载的PES包。PES包首标包括流标识符(SID),用于识别节目流的一个或者多个单元流。此外,每个PES包首标都包括被称为展现时间戳(PTS)和解码时间戳(DTS)的时间戳。
此外,源台102被配置用于复用具有被称为节目时钟基准(PCR)的共同时基的几个PES。源台102被配置用于进一步将复用PES打包为传输流(TS)包,并且产生节目流的单节目传输流(SPTS)。此外和/或者作为一种选择,源台102被配置用于复用一个或者多个SPTS,并且产生多节目传输流(MPTS)。因此,源台102被配置为用于通过网络124将该传输流(例如,SPTS、MPTS)作为第一压缩数据流传输到多个处理台112。
网络124包括通信系统,通过由诸如集线器、开关、路由器等的各种众所周知的网络元件连通的线路、电缆、光纤和/或者无线链路(例如,卫星链路),该通信系统连接一个或者多个诸如源台102、处理台112等的通信装置。网络124可以采用众所周知的协议在网络资源之间传递信息。例如,网络124可以是使用采用各种调制技术的诸如广播传输系统的各种传输系统、各种接口(例如,异步串行接口(ASI))、传输装置(例如,RF电缆、光纤、卫星链路)等的互联网或者内部网的一部分。作为一种选择,网络124可以是通过以太网、Wi-Fi或者光纤线路或者专用线路、ATM网等的因特网协议网络的一部分。
根据一个或者多个实施例,多个处理台112可以位于多个不同的地理位置。多个处理台112包括多个接收机,诸如接收机1141、接收机1142、接收机1143、......、和接收机114n,下面称为接收机114。每个接收机114被分别配置用于接收源台102产生的第一压缩数据流。此外,多个处理台112包括多个拼接器,诸如拼接器1161、拼接器1162、拼接器1163、......、和拼接器116n,下面称为拼接器116。
在一个实施例中,接收机114接收第一压缩数据流,并且将该第一压缩数据流送到拼接器116。根据本发明一个或者多个实施例,处理台112可以使用数字集成接收机解码器(IRD)装置将该第一压缩数据流送到拼接器116。作为一种选择,处理台112可以将模拟IRD装置用作接收机114,并且模拟IRD装置将收到的流编码为压缩数据流。在一些实施例中,接收机114对压缩数据流执行解调和/或解扰。
此外,拼接器116利用第二压缩数据流在第一压缩数据流上执行拼接操作。例如,拼接器116可以利用第二压缩数据流的一个或者多个编码帧替换第一压缩数据流的一个或者多个诸如图帧、音频帧、PCR帧等的编码帧。在一个实施例中,拼接器116利用填充帧(fillerframe)替换第一压缩数据流的一个或者多个编码帧。例如,利用I型或者P型图填充帧替换第一压缩数据流的编码图帧。正如下面的描述中所做的解释,拼接器116被配置用于在拼接操作时在第一压缩数据流的视频流与音频流之间保持同步。
根据本发明一个或者多个实施例,源台102可以提供第二压缩数据流。任选地,系统100包括用于将第二压缩数据流提供给拼接器116的流发生器120。在一个例子中,流发生器120可以与源台102通信以验证第二压缩数据流的内容。
系统100还包括多个发射机,诸如发射机1181、发射机1182、发射机1183、......、和发射机118n,下面称为发射机118。发射机118与处理台112相关联。拼接器116将拼接的压缩数据流转发到发射机118。随后,发射机118将拼接压缩数据流发送到网络126。
网络126包括通信系统,通过利用诸如集线器、开关、路由器等的各种众所周知的网络元件连通的导线、电缆、光纤和/或者无线链路,该通信系统连接计算机。网络126可以利用各种众所周知的协议在网络资源之间传递信息。例如,网络126可以是使用采用各种调制技术的诸如广播传输系统的各种传输系统、各种接口(例如,异步串行接口(ASI))、传输装置(例如,RF电缆、光纤、卫星链路)等的互联网或者内部网的一部分。作为一种选择,网络126可以是通过以太网、Wi-Fi或者光纤线路或者专用线路、ATM网等的因特网协议网络的一部分。
根据一个或者多个实施例,源台102被配置用于将一个或者多个广告插入节目流中。例如,在现场直播(例如,足球比赛)时,多个广告被插入节目流中。广告是广播公司的收入产生来源。此外,该节目流被作为第一压缩数据流传递到处理台112。作为例子而非作为限制,处理台112是数字传输系统中的有线电视头端(cableheadend),并且该有线电视头端利用第二压缩数据流对第一压缩数据流执行拼接。
在一个实施例中,第二压缩数据流包括一个或者多个用于替换第一压缩数据流中的一个或者多个广告的广告。在一个实施例中,用户可以访问广告计划工具,用于安排替换第一压缩数据流中的一个或者多个广告。例如,广告计划工具在第一压缩数据流中设置一个或者多个库存点(inventoryspot)(替换时隙)的清单。库存点指可用于插入广告数据流的广播流中的时隙(slot)。
在一个实施例中,广告计划工具是与本申请共同提交的名称为“在广播频道中规划多媒体广告节目表的方法和装置”的临时专利申请中公开的广告计划器。因此,用户选择一个或者多个库存点,并且对所选库存点分配广告。随后,在该一个或者多个库存点,拼接器116利用第二压缩数据流对第一压缩数据流执行拼接。
根据本发明一个或者多个实施例,用户访问用于产生广告的广告生成工具。广告生成工具包括诸如硬件资源、软件资源、多媒体数据(例如,音频数据、图像数据等)等的各种计算资源,因此,允许用户产生需要被第一压缩数据流中的广告替换的广告。在一个实施例中,广告生成工具是与本申请共同提交的名称为“用于生成多媒体广告的方法和装置”的临时专利申请公开的广告生成器。
此外,处理台112被配置为用于通过网络126与多个下面称为装置132的诸如装置1321、装置1322、装置1323、......、和装置132n的装置通信。
装置132可以是台式计算机、膝上型计算机、移动电话、个人数字助理(PDA)、数字电视、机顶盒等。装置132用于处理处理台112的经过修改的压缩数据流。在一个实施例中,装置132可以将诸如用户等的标识符的用户属性传递到处理台112。随后,处理台112可以根据用户属性处理收到的压缩数据流,从而对用户提供有条件的访问。
图2示出根据本发明一个或者多个实施例的拼接器116的示例性实施例的方框图。拼接器116对第一压缩数据流执行拼接操作,并且利用第二压缩数据流中的一个或者多个帧替换第一压缩数据流中的编码帧。拼接器116包括:去复用器(Demux)202、多个下面称为拼接控制器204的诸如拼接控制器2041、拼接控制器2042、拼接控制器2043、......、和拼接控制器204n的拼接控制器、以及复用器206。
通常,去复用器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和多个下面称为SSM210的诸如SSM2101、SSM2102、SSM2103、......、和SSM210n的流拼接模块(SSM)210。例如,视频SSM210对SPTS的视频流执行拼接操作。音频SSM210对SPTS的音频流执行拼接操作。节目时钟基准(PCR)SSM210对SPTS的PCR流执行拼接操作。
控制模块208监视SPTS的一个或者多个收到的数据包,从而检测SPTS的拼接起点(splicein-point)和拼接止点(spliceout-point)。在一个实施例中,控制模块208可以检测数据包内的诸如CUE音调(tone)信号的信号,从而检测SPTS中的拼接起点和拼接止点。
此外,在检测到拼接起点和拼接止点时,控制模块208将拼接起点和拼接止点传递到SSM210。随后,SSM210检测SPTS流中的到达的访问单元边界(AUB)。此外,SPTS的视频流中的访问单元是图帧,而SPTS的音频流中的访问单元是音频帧。访问单元的到达表示存在视频流中的图像首标的开始和音频流中的新帧的开始。此外,SSM210确定特定访问单元是否是拼接机会点(SOP)。
SOP是在SPTS中SSM210可以启动拼接操作的位置。此外,SOP指SPTS中的特定访问单元/帧,并且该特定访问单元/帧不具有过往依赖性和/或未来依赖性。因此,SPTS的视频流中的SOP是I帧。类似地,SPTS的音频流中的SOP是音频帧。此外,SPTS的PCR流中的SOP是PCR包。
根据本发明的各种实施例,SSM210被配置用于在不对传送流进行解包的情况下来处理该流。在一些实施例中,SSM210监视SPTS的数据包以用于AUB的到达。SSM210解析SPTS的数据包内可用的首标信息,以定位出AUB。
在一个实施例中,当SPTS的PES边界和ES边界对齐时,则PES首标的开始包括了ES首标的开始。此外,PES边界和ES边界可以在任何层级上,即,序列、GOP、图和码片上对齐。此外,TS数据包包括用于指示SPTS内的新PES首标开始的单位净荷载开始指示符(PUSI)位。TS数据包内PUSI位的出现意味着ES首标的出现。
此外,SSM210被配置为用于检测图像首标的存在,用于确定TS数据包内的AUB。例如,当该流(例如,视频流)具有几个通过多个包排队的首标时,SSM210利用传送流的多个数据包检测AUB的存在。在AUB到达时,SSM210识别在TS数据包内SOP的存在。作为例子而非作为限制,通过检验PUSI位并随后在TS数据包内寻找图像首标,SSM210就可以确定SOP的存在。
此外,在SPTS的特定流(例如,视频流、音频流、PCR流等)内的多个拼接机会点(SOP)中,SSM210识别对应于拼接起点的拼接起机会点和对应于拼接止点的拼接止机会点。拼接起机会点指SPTS的特定流中的某帧,并且SSM210启动对该特定帧的拼接操作。拼接止机会点指SPTS的特定流中的另一个帧,并且在该另一个帧之前,SSM210结束拼接操作。
此外,在特定数据TS包内检测到拼接起机会点时,SSM210利用第二压缩数据流的一个或者多个数据包,或者利用伪数据包(dummydatapacket)替换特定数据流的TS数据包。SSM210替换拼接止机会点之前的SPTS的TS数据包。
在一些实施例中,当第一压缩数据流的特定流(例如,音频流)的TS数据包包括两个或者两个以上的帧时,SSM210监视该一个或者多个帧的首标,以识别拼接起机会点和拼接止机会点。如果某帧被识别为特定TS数据包内的拼接起机会点或者拼接止机会点,则SSM210修改该特定TS数据包。如果该特定数据包包括拼接起机会点,则SSM210通过仅保存拼接起机会点之前的数据,修改该特定数据包,并利用0替换该特定数据包的其余部分,以完成该特定数据包的长度(例如,188字节)。如果特定TS数据包包括拼接止机会点,则SSM210仅通过拼接止机会点之后的数据修改该特定数据包,并利用0替换该特定TS数据包的其余部分,以完成该特定数据包的长度(例如,188字节)。在一个例子中,在传送流首标之后利用填充字节0xff来填充该TS数据包的其余部分。因此,在不对SPTS解包的情况下,在检测到拼接起机会点和拼接止机会点时,SSM210修改或者替换该流的数据包。因此,这种有选择性地处理第一压缩数据流的数据包提高了系统的效率。
此外,SSM210包括多个定时模块(timingmodule),诸如定时模块2121、定时模块2122、定时模块2123、......、和定时模块212n,下面称为定时模块212。正如后面的描述中所做的解释,定时模块212根据与第一压缩数据流的一个或者多个帧相关的定时值,修改与第二压缩数据流的一个或者多个帧或者伪帧(dummyframe)相关的定时值。
流控制模块216控制第一压缩数据流的一个或者多个流的数据包的流动,并且在后面的描述中将讨论该流控制模块216。拼接控制器204和诸如控制模块208、SSM210等的模块一个或者多个实施例可以以硬件、软件或者硬件和软件的组合的方式实现。
视频拼接
图3A-3E示出根据本发明一个或者多个实施例对第一压缩数据流中的示例性编码视频流执行的示例性拼接操作。图3A示出编码视频流A的编码图帧的显示顺序,并且根据MPEG-2标准定义的压缩技术编码该编码视频流A的每个图帧。此外,相应数量的图帧提供了对应于视频流A中的帧的显示顺序的时间基准(temporalreference)。如图所示,帧0被编码为I帧,而帧3被编码为P帧。帧3依赖在前帧0,并且当在装置132解码时,需要帧0。帧1和帧2是双向帧,因此,帧1和帧2依赖在前帧0和未来帧3。
图3A还示出第一压缩数据流的视频流A的诸如GOP1、GOP2等的图像组(GOP)。GOP通常以I帧开始,之后是一个或者多个P帧和B帧。例如,在视频流A中,GOP1包括帧0至帧11,而GOP2包括帧12至帧23。作为例子而非作为限制,视频流A的GOP的长度(size)被定义为12,并且本技术领域内的技术人员可以对视频流使用可变长度的GOP。
图3B示出编码视频流A的发送顺序图。根据MPEG-2标准,发送编码视频流以GOP的I帧开始,后面是如图3B所示的序列。处理台112接收第一压缩数据流中的视频流A,并且拼接器116利用视频流B的一个或者多个帧替换视频流A的一个或者多个帧。修改后的视频流A(如图3E所示)的确不可能包括其预测基准在拼接起机会点数与拼接止机会点数之间的原始视频流A中的任何帧。因此,就不存在未决的帧依赖性。因此,拼接操作从GOP的起头开始,并且仅在带有I帧或者P帧的新序列开始时才有帧被替换。
作为例子而非作为限制,当视频流A的GOP长度与视频流B的GOP长度匹配时,视频SSM210利用视频流B的一个或者多个GOP替换视频流A的一个或者多个GOP。此外并且/或者作为一种选择,当视频流A的GOP长度与视频B的GOP长度不匹配时,视频SSM210利用视频流B的一个或者多个GOP以及一个或者多个填充帧来替换视频流A的一个或者多个GOP。
图3C示出视频流A内的拼接起点、拼接止点和一个或者多个SOP。控制模块208将帧4识别为拼接起点,而将帧19识别为拼接止点。视频SSM210监视视频流A,并且还将帧12识别为拼接起机会点,将帧24识别为拼接止机会点。如图3C所示。帧12是I帧,因此,视频SSM210利用视频流B的一个或者多个帧替换视频流中从帧12开始向前的帧。在一些实施例中,视频流A的P型帧可以被视频SSM210选为拼接起机会点。
图3D示出第二压缩数据流的视频流B。如图3D所示,视频流B的GOP长度等于10。图3E示出对第一压缩数据流的视频流A执行拼接操作之后产生的修改流。作为例子而非作为限制,视频流B的GOP长度(GOP长度=10)与视频流A的GOP长度(GOP长度=12)不匹配。因此,有两个填充帧F1和F2被额外地与视频流B的GOP一起插入第一压缩数据流的视频流A内。填充帧(例如,F1和F2)消除了视频流A的与视频流B的GOP长度之间的不匹配。正如后面的描述中所做的解释,填充帧可以是I型填充帧和/或者P型填充帧。
根据各种实施例,SSM210制备视频流B,以在到达拼接起机会点之前,消除后向冗余。为了实现有效拼接,视频流B必须以I型帧开始,而视频流B的第二帧可以是I帧或者P帧。如图3D所示,视频流B以I帧开始,下一个帧是P帧。如果视频流B不包括该要求,则视频SSM210修改该视频流B。在视频流B中执行的改变如下。丢弃视频流B中I帧之前的帧。此外,视频流B的第一I帧及其后的P帧之间的帧被丢弃。最后,第一I帧和伪帧的时间基准被更新。在大多数情况下,如果在有限时长内视频流B被编码为文件,则通常情况都是视频流B编码的上述条件已经得到满足,因而在这种情况下不需要进一步处理视频流B。SSM210缓存(cache)视频流B,以在拼接起机会点到达之前,预处理并且使视频流B就绪。
根据一个或多个实施例,视频流B是有限视频流并且视频SSM210确定需要用来替换视频流A的帧的帧的任何不足。在一个例子中,视频SSM210确定用于替换视频流A中拼接起机会点之后的帧的视频流B的帧和填充帧的数目。视频SSM210确定一个sub_gop_distance,即,视频流的单个GOP内的连续I帧与P帧的时间基准之间的差。实际上,sub_gop_distance的值是比连续I帧与P帧之间的帧的数目大的值。
此外,视频SSM210确定sub_temporal_reference=(temporal_reference)%sub_gop_distance,其中(%)是余项运算(reminderoperation)。sub_temporal_reference的值提供两个连续I帧与P帧之间的图数。例如,如果视频流A具有带2B帧的开放GOP的模式(profile),则在解码顺序中,图像模式是时间基准为201534867的IBBPBBP等。因此,在这种特定情况下,sub_gop_distance的值是3,这是通过减去2个连续I帧和P帧的temporal_reference,或者通过将B帧的数量加1计算得出的。
视频SSM210交替扫描视频流A的一个AUB和视频流B的一个AUB,其中视频流B比视频流A滞后视频流B的一个sub_gop_distance。假定视频流A的sub_gop_distance>=视频流B的sub_gop_distance,并且对于编码器设置而言,这些sub_gop_distance是恒定的。
视频流B的sub_temporal_reference给出视频流B的帧数以及在视频流A的拼接止机会点到达后需要置入的填充帧数的估计值。一发现视频流A的拼接止机会点和视频流B的出点,视频SSM210就计算在拼接操作时用于替换视频流A中的帧的有效帧(视频流B的)的数量和填充帧的数量。这可以利用下面的算法计算。
当视频流B包括封闭的GOP时:
当视频流B包括开放的GOP时:
L=(sub_gop_length(B)sub_temporal_reference(B))%sub_gop_length(B)
M=sub_gop_length(B)-1,其中M等于两个I/P帧之间的B帧的精确数目
Number_of_B_frames=sub_gop_length(B)-(M+L)%sub_gop_length(B)
在上述两种情况下:
Numberoffillerframes=Sub_gop_distance-Number_of_B_Frames。
此外,在拼接操作时,在拼接起机会点或者拼接止机会点,分别存在依赖先前GOP的视频流B或者视频流A中的多个帧。因此,视频SSM210修改这些帧的时间基准,以消除对先前GOP的依赖性。作为例子而非作为限制,视频SSM210将I帧的时间基准(即,拼接止机会点)修改为0,以使它构成新GOP。此外,下一个前向帧到达之前,接着的所有填充/I帧拷贝的时间基准都单调升高(例如,加1)。前向帧的时间基准不被修改。
再参考图3C,在拼接止机会点(帧24)之后,帧22和帧23是GOP2的帧。由于拼接器116不解码视频流A的编码图帧,并且帧22和帧23要求解码GOP2的帧,所以视频SSM210还利用I帧(帧24)替换这些帧。因此,通过利用I帧的拷贝替换该B帧(例如,帧22和帧23),拼接器省去复杂的处理操作,诸如帧的解码操作、帧转换操作、重排序帧号等。SSM210这样替换B帧缩短了存储处理时间,从而提高了处理台112的效率。
音频拼接
根据本发明的一个或者多个实施例,音频SSM210对SPTS的音频流执行拼接操作。通常,在各种压缩标准中,例如,MPEG、MPx等,特定音频帧不依赖其他音频帧。因此,SPTS的音频流的可能SOP是SPTS的音频帧。在检测到拼接起点和拼接止点时,音频SSM210从SPTS的音频流中的多个SOP中检测拼接起机会点和拼接止机会点。由此,音频SSM210对音频流执行拼接操作。
PCR拼接
根据本发明的一个或者多个实施例,PCRSSM210对SPTS的PCR流执行拼接操作。通常,PCR流的SOP在SPTS的PCR流的PCR包到达时可用。在拼接操作时,PCRSSM210根据SPTS的PCR流的PCR包修改第二压缩数据流的一个或者多个PCR包。在一个例子中,PCRSSM210根据SPTS的PCR流的PCR值线性地修改第二压缩数据流的PCR包的PCR值。
例如,如果最后输出的第一压缩数据流的PCR包的PCR值是MP4,则修改第二压缩数据流的PCR包的PCR值(例如,AP1、AP2、......)。第二压缩流的修改的PCR值被表示为OP1、OP2、......等。在一个例子中,第一压缩数据流中的拼接点的PCR值被复制到第二压缩数据流中。
OP1=MP4
此外,对于第二压缩数据流中的每个连续的新PCR,有偏置附加。因此,第二压缩数据流的第N个PCR值被修改为:
OPn=OP1+APn-AP1
OPn=APn+(OP1-AP1)
随后,PCRSSM210利用第二压缩数据流的被修改的PCR包替换SPTS的PCR流的PCR包。
根据本发明的各种实施例,在拼接操作之前,多个SSM210缓存(cache)第二数据流的至少一部分。在一个例子中,在拼接操作之前,SSM210全部缓存第二数据流。此外,SSM210选择第二数据流中的一个访问单元,以替换第一数据流中的一个访问单元。利用与对第一数据流执行的相同方法来检测访问单元,该方法已在前面的内容中得到描述。此外,仅当第一流中图像的相应数被前移时,第二数据流中的每幅图像才发生前移。这样使得第二流中的数据被事先缓存。如果在拼接操作之前,要求对第二数据流进行任何处理,则在开始替换访问单元之前,SSM210处理该第二数据流。例如,检验第二数据流是否符合标准或者是否满足要求的时长匹配。如果不匹配或者不符合,则SSM210在缓存时处理该第二数据流。
填充帧的生成
正如前面的描述中所做的解释,SSM210利用填充帧替换第一压缩数据流中的一个或者多个帧。例如,视频SSM210利用视频填充帧替换第一压缩数据流中的一个或者多个帧。在一个例子中,视频填充帧是帧内编码填充帧(intra-codedfillerframe)或者预测填充帧(predictivefillerframe)。
在一个例子中,P型填充帧可以通过在P型压缩帧内产生所有的运动矢量和DCT系数来产生。在没有运动补偿的情况下,由在前帧来预测这样产生的P型填充帧。此外和/或者作为一种选择,P型填充帧的首标可以不包括序列首标或者GOP首标信息,以减少P型填充帧的位数。P型填充帧仅插入在I帧或者P帧之后。
类似地,音频SSM210利用音频填充帧替换第一压缩数据流的一个或者多个帧。在一个实施例中,音频填充帧是编码器利用适当模式(profile)产生的静音帧。作为例子而非作为限制,利用10Hz的频率来产生音频填充帧。
此外,PCRSSM210利用PCR填充帧替换第一压缩数据流中的一个或者多个帧。因此,由于PCR帧包括时钟信息,所以通过修改第一压缩数据流或者第二压缩数据流中最后存储的PCR包的PCR值来产生PCR填充帧。在一个例子中,如果拼接器114输出的PCR值是PCR_last,并且要求在d毫秒的时长内产生并输出下一个PCR包,则利用PCR_next=PCR_last+d*90计算PCR填充帧的PCR值。因此,产生PCR填充帧。
PTS/DTS修改
正如在前面的描述中所做的描述,SSM210包括定时模块212,根据与第一压缩数据流的一个或者多个帧相关联的定时值,该定时模块212修改与第二压缩数据流的一个或者多个帧或者伪帧相关联的诸如显示时间戳(PTS)、解码时间戳(DTS)等的定时值。因此,第二压缩数据流与收到的压缩数据流实现相同的时基。
在一个例子中,定时模块212通过对第二压缩数据流的定时值应用线性变换来修改定时值。作为例子而非作为限制,如果A是第二压缩数据流中的PTS值的矢量表示,B是第二压缩数据流的PTS值的矢量表示,S是其所有要素均等的恒定移位值的矢量,则线性变换A’=A+S表示具有被修改的PTS值的矢量,而线性变换B’=B+S提供第二压缩数据流的修改的DTS值。这样对第二压缩数据流进行的线性变换不改变时钟基准特性。此外,为了实现平滑播放压缩数据流,PCRSSM210修改第二压缩数据流的PCR值。例如,如果P表示第二压缩数据流的PCR值的矢量,则线性变换P’=P+S表示具有修改的PCR值的矢量。
作为例子而非作为限制,通过确定一基点而在第一压缩数据流与第二压缩数据流之间实现类似的时基。可利用诸如base.pts,base.dts,display_order和decode_order的参数来计算该基点。基点指得是开始点,或者指PTS包围的或者时间基准重新开始的任何点(例如,视频中的GOP的开始)。
任何帧的估计PTS~(i)的计算如下:
current.pts=base.pts+(current.display_order-base.display_order)*frame_size;
根据该特定公式,修改第二压缩数据流的帧,以实现第一压缩数据流的时基。
作为例子而非作为限制,对于第二压缩数据流(AF)的视频流,第一压缩数据流的开始点的第一图像的AF_base.pts=PTS,并且AF_base.display_order=0。该值在各种情况下都有效。例如,在第二压缩数据流的开放GOP情况下,视频SSM210预处理第二压缩数据流,并且通过修改I帧的时间基准,消除时间依赖性,并且利用伪帧替换依赖图像。此外,对于PCR流和音频流,每个PTS和PCR值的到达都是一个基点。因此,对于每个PTS和PCR值都可以更新基点。
因此,利用这些值和上述等式,就可实现对第二压缩数据流时间戳的修改。
根据本发明的各种实施例,定时模块212支持拼接起点的时基不连续性。因此,第二压缩数据流可以以新时基值开始。例如,第二压缩数据流的PTS值、DTS值和PCR值可以具有新时基。通过设置具有新时基的第二压缩数据流的第一包的不连续性指示符(discontinuityindicator)可以指示出新的时基值。因此,在拼接止点,不连续性指示符设置在第一压缩数据流的第一包内,从而信号标示出新时基。
图4示出根据本发明一个或者多个实施例用于对数据流执行拼接操作的示例性方法400的流程图。方法400以步骤402开始,然后,进入步骤404。在步骤404,处理第一数据流(例如,图1的源台102产生的压缩数据流)。在一些实施例中,监视第一数据流,以检测视频或者音频或者节目时钟基准流中的多个拼接机会点。
方法400进入步骤406。在步骤406,判定是否到达拼接起机会点。如果未到达拼接起机会点,则方法400进入步骤404。如果到达拼接起机会点,则方法400进入步骤408。在步骤408,处理第二数据流。在一个实施例中,流拼接模块(例如,图2的SSM210)修改第二数据流的帧的时间基准。
在步骤410,替换第一数据流的帧。在一些实施例中,视频流拼接模块(例如,图2的视频SSM210)执行GOP级精确拼接,并且利用第二数据流的一个或者多个GOP替换第一数据流的视频流的一个或者多个GOP。在一些实施例中,音频拼接模块(例如,图2的音频SSM210)对第一数据流的音频流执行帧级精确拼接。
在步骤412,处理第一数据流,以识别拼接止机会点。在步骤414,判定是否到达拼接止机会点。如果未到达拼接止机会点,则方法400进入步骤410。如果到达拼接止机会点,则方法400进入步骤416。在步骤416,确定即将替换的帧数。在一个实施例中,流拼接模块(例如,图2的SSM210)确定需要替换的第一数据流的帧数。此外,流拼接模块识别用于替换第一数据流的第二数据流的帧数和填充帧的数量。
在步骤418,第一数据流的帧的时间基准可被修改。方法400进入步骤420。在步骤420,方法400结束。
在此讨论的本发明的各种实施例具有多种优点。在一个例子中,本发明对视频流实现GOP精确拼接,并且对第一数据流的音频流实现帧精确拼接。此外,拼接操作不依赖GOP的长度。第一数据流和第二数据流可以具有任意GOP长度。拼接操作利用另一个访问单元替换一个访问单元。此外,对第二数据流提供时基校正,以避免拼接流的时基发生不连续。此外,在拼接操作结束时,提供伪帧,以实现平滑过渡效果。
此外,该拼接操作不对压缩数据流的编码帧进行解码。因为不解码帧,所以本发明以相对较低的处理要求有效工作,而不影响拼接操作的质量。该拼接操作不要求对第一数据流的图帧重排序,因为该拼接操作并不依赖未来的图。因此,每幅图在拼接器的到达顺序与图离开拼接器的顺序相同。
此外,该拼接操作不要求存储在之后的拼接中要使用的帧。在帧到达时,判定在拼接流中是否选择或者丢弃帧。最后,拼接操作不为了执行拼接操作而对传送流解包。因为不对传送包解包和再打包,所以避免了存储器复制的巨大开销。因此,该拼接操作可以高速执行并且具有相对较高的质量。
流控制
根据本发明的一个或者多个实施例,流控制模块216对第一数据流的多个流在处理台112内的前移进行控制。通常,第一数据流的多个流以不同的数据速率可用,此外,数据速率随时可变。换句话说,在不同的时间间隔,存在不同的数据速率。因此,多个SSM210在时间周期内可能处理不同数量的数据。
此外,多个流互相超前或者滞后。例如,第一数据流的特定音频流可能相对于第一数据流的视频流滞后。因此,流控制模块216被配置用于保证多个SSM210以某种方式处理该流,以使该多个流保持允许的滞后或者超前。作为例子而非作为限制,多个SSM210在特定时间周期内处理等量的数据,以保持允许的超前或者滞后。
在一个或者多个实施例中,多个SSM210处理跳变周期(leapperiod)的相应流。跳变周期等于特定流拼接模块处理特定流的时长量。跳变周期等于该流的访问单元的数量的一倍或者多倍的播放时长。例如,对于视频流,跳变周期等于视频访问单元的数量的一倍或者多倍的播放时长。此外,对于特定跳变,在多个SSM210中,跳变周期不同。例如,视频SSM210的跳变周期可能与音频SSM210的跳变周期不同。
为了在多个流之间实现流控制,多个SSM210逐个跳变地处理相应流。也就是说,SSM210的特定流拼接模块仅当SSM210的其余流拼接模块完成相应跳变时才转移到下一个跳变。在特定例子中,当多个SSM210不互相通信时,流控制模块216被配置用于与该多个SSM210传递信息,其中每个SSM210都已经完成跳变。此外,在开始跳变时,流控制模块216与多个SSM210传递公用跳变信点(commonleapcredit)。
此外,多个SSM210的每个流拼接模块都处理相应流的访问单元。在特定流的每个访问单元到达的情况下,相应流拼接模块的跳变信点被减小等于访问单元的播放时长的数量。此外,当流拼接模块的跳变信点小于访问单元的播放时长时,特定流的流拼接模块结束跳变,并且将跳变结束状态传递到流控制模块216。此外,在从SSM210的其余流拼接模块收到跳变结束状态时,流控制模块216将信息送到多个SSM210,以开始新的跳变。这样,在包括多次跳变的跳变循环完成时,允许的超前或者滞后得到了保持。在一个例子中,在完成跳变循环时,在第一数据流的多个流之间,保持在跳变循环开始时呈现的超前或者滞后。
在一个例子中,跳变循环的时长等于第一数据流的多个流的访问单元间隔的最小公倍数(LCM)。此外,根据本发明的一个或者多个实施例,伪码被提供以在多个流之间实现流控制。
图5示出根据本发明一个或者多个实施例用于控制第一数据流中的多个流的流动的方法的示例性流程图。方法500以保证502开始,然后,进入步骤504。在步骤504,识别流拼接模块(SSM210)(例如,图2的SSM210)。在步骤506,将跳变信点传递到流拼接模块。在一个实施例中,流控制模块(例如,图2的流控制模块216)将跳变信点传递到流拼接模块。该方法进入步骤508。在步骤508,判定跳变信点是否大于或者等于访问单元的时长。如果确定跳变信点大于或者等于访问单元的时长,则方法500进入步骤510。在步骤510,该流的访问单元被处理。例如,视频流拼接模块处理视频流的视频访问单元。在一些实施例中,视频流拼接模块利用另一个视频访问单元替换该视频访问单元。在一个实施例中,替换的访问单元是第二数据流的视频流的视频访问单元。在另一个例子中,替换的访问单元是伪访问单元。
在步骤512,修改跳变信点。在一个例子中,跳变信点被减去等于该流的访问单元的时长的数量。该方法还进入步骤508。如果确定跳变信点不大于或者等于访问单元的时长,则方法500进入步骤514。在步骤514,结束跳变。方法500进入步骤516。在该步骤方法500结束。
根据本发明的一个或者多个实施例,流控制与介质类型、编解码方式或者文件格式类型无关。此外,流控制模块216使流拼接模块处理等量的数据。因此,流控制不需要第一数据流的多个流的位速率信息。因此,流控制可以处理任意位速率或者可变位速率的多个流。此外,流控制算法管理多个流之间的起始超前或者滞后。因此,可以确定赋予多个流SOP时的适当拼接机会点。此外,交替处理第一数据流和第二数据流的访问单元。因此,第一数据流的流控制控制第二数据流的流动。此外,该流控制不需要为了控制数据而解码该流或者对该流执行复杂的位速率计算。此外,由于TS/PES首标包括时域,所以流控制仅需要TES/PES首标进行运算。
多个流SOP认可算法
根据本发明一个或者多个实施例,控制模块208被配置用于识别对应于第一数据流的另一个流的拼接起机会点和拼接止机会点的一个流的拼接起机会点和拼接止机会点。根据另一个流的拼接机会点,选择一个流的拼接机会点可以提高拼接流的质量。例如,选择拼接机会点(SOP)的这种处理在第一数据流的多个流(例如,视频流和一个或者多个音频流)之间保持预建立的同步。在另一个例子中,选择拼接机会点的这种处理避免了不同流的精确替换时长产生差异。因此,可以防止因为PCR与其他内容之间的时长的不匹配而导致的时基不连续。
此外,控制模块208识别第一数据流的多个流之间的锚定流(anchorstream)。在一个实施例中,锚定流包括在第一数据流的其他流的访问单元中具有最长播放时长的访问单元。作为例子而非作为限制,控制模块208可以将视频流识别为锚定流,因为视频流的访问单元的播放时长比一个或者多个音频流的访问单元的播放时长相对较长。在另一个实施例中,控制模块208将音频流识别为锚定流。
正如前面的描述中所做的描述,不同流的拼接机会点到达的点不同。例如,对于音频流,拼接机会点到达访问单元边界(AUB),而视频流的拼接机会点到达每个GOP。在检测到锚定流后,在该锚定流上可以确定出拼接机会点(例如,拼接起机会点或者拼接止机会点)。
此外,对于所确定的锚定流的拼接机会点,对第n个流的多个拼接机会点计算出变量eij=|SOPanchor(i)-SOPn(j)|。变量eij计算锚定流的第i拼接机会点与第n个流的第j拼接机会点的显示时间戳(PTS)值之间的差。第n流拼接模块识别第n流中的特定拼接机会点,其中对于特定拼接机会点,变量eij具有最小值。
根据一个或者多个实施例,利用各种方案有效确定数据流的多个流的拼接机会点。在一种方案中,在到达SOP之前,预测多个流的拼接机会点。因此,计算该变量,并且根据锚定流的SOP确定多个流的SOP。该方案还被称为SOP选择的预测方案。在一个迭代方案中,在SOP到达之前,控制模块208使流的处理保持挂起。此外,有一种迭代算法(将在后面的描述中描述)可以识别到达的SOP是否是最佳SOP组。因此,控制模块208传递相应流供进一步处理。在另一种方案中,采用预测方案和迭代方案的组合。
下面的描述提供了一种或者多种用于实现预测方案、迭代方案及预测方案和迭代方案的组合的算法。变量名称和相应定义给出如下:
SOP_flag:流拼接模块引擎指示的SOP到达。
SOP_granted:当认可流的SOP时设置的。
SOP_timestampn(i):第n流的第i个SOP情况。
SOP_timestamp n(i):第n个流的第i个预测SOP情况。
Anchorstream(锚定流):根据该流进行预测。
sop_count=其上SOP得到认可的通道的记数
eij=锚定流的第i个SOP与其它流的第j个SOP之间的PTS误差
S是赋予流拼接模块的目标SOP时间戳。
预测算法
迭代算法
组合的预测和迭代算法
在该算法中,多个流被按照平均SOP时长进行排序。在下一个步骤,在该多个流中选择锚定流。在该锚定流中预测最早的SOP。在锚定流中检测到SOP时,比较靠近锚定流的SOP的其他流的多个SOP被预测出来。除了其他流的多个SOP,根据变量eij选择其他流的拼接起机会点和拼接止机会点。此外,该算法利用下面的条件检测没有流通过最远的SOP。下面的条件是保证没有流通过最远SOP流的必要条件:
a.PTS[0]的超前(lead)(在每个跳变开始时)>超前PTS[i]+SOP_distance_max
b.SOP_distance_max=锚定流在最坏情况下的SOP时长。
此外,启动如前面描述的常规流控制,并且提示出到达每个访问单元边界和该流的SOP。此外,SOP预测在如下条件下被再迭代:
I.如果在其起始位置未发现锚定流的SOP,或者
II.如果在其期望位置之前发现锚定流的SOP。
为了实现组合的预测和迭代算法,提供下面的伪码。
根据一个或者多个实施例,其公开了对视频流的固定和可变GOP预测SOP时长。假定S是视频流中SOP应当到达的理论PTS。正如在描述中已经陈述的,视频流拼接模块执行GOP精确拼接。因为GOP精确度并且不控制GOP开始的位置,所以在某个范围内搜索SOP_timestamp~n(i)。在一个例子中,如果视频流的GOP的长度被固定并且是“GOP-SIZE”,则S的相邻SOP是:
total_aubs=(S-current_pts).AUB_SIZE/(90*1000)
covered_GOP_distance=GOP-SIZE-total_aubs%GOP_SIZE
SOP_timestamp~n(i)=(total_aubs-covered_GOP_distance)*AUB_SIZE
SOP_timestamp~n(i+1)=SOP_timestamp~n(i)+GOP_SIZE*AUB_SIZE
此外,根据covered_GOP_distance,从最小的e1和e2中选择SOP_timestamp~n(i)或者SOP_timestamp~n(i+1):
e1=(S-SOP_timestamp~n(i))
e2=(SOP_timestamp~n(i+1)-S)
预测的最佳SOP是对应于e1或者e2之间的最小误差的SOP。该算法也同样适用于音频流。
最佳认可算法(optimalgrantalgorithm)
根据本发明一个或者多个实施例,节目的插入或者广告的插入利用第二流的内容覆盖写第一流的特定内容。通常,发生第一数据流上的被剪内容作为要覆盖写的目标的事件。所提供的拼接起点是第一个这种事件中内容(例如,帧)的开始,而拼接止点被定义为该事件的最后帧。当流拼接模块未对该流执行帧精确拼接时,实际拼接起点和拼接止点不同。结果,不是第一数据流中的先前帧被覆盖写(导致这些图像在输出中丢失),就是目标事件中有几个可感知的低频干扰的帧被暴露出。
因此,最佳SOP认可算法识别在覆盖写的过往事件和输出中的当前可见元(visibleelement)之间优选的最佳SOP组(拼接起机会点和拼接止机会点)。
在一个实施例中,该算法包括下面的步骤。
假定“S”是理论拼接起点,并且预期的事件过渡发生在第一数据流中的S处。为了识别感性上的最佳SOP,要确定锚定流的SOP。因此,利用上面提到的算法(例如,预测、迭代以及预测与迭代的组合),确定其他流的SOP。
此外,在特定流中预测或者识别距离“S”最近的SOP,即,SOP0(i)和SOP0(i+1)。此外,定义出对应于SOP的误差的误差e0(i)和e0(i+1),其中误差e0(i)和e0(i+1)计算如下:
e0(i)=S-SOP0(i)
e0(i+1)=S-SOP0(i+1)
在下一个步骤,定位出一对SOP0(i)和SOP0(i+1),以致e0(i)是最小的-ve误差,而e0(i+1)是最小+ve误差。在SOP0(i)到达时,判定是认可当前SOP还是丢弃该当前SOP。此外,预测SOP 0(i+1),并且e0(i)和e 0(i+1)可用。
此外,在该算法中,执行下面的判定。
如上所述,预测SOP一被选择,当前最佳SOP认可算法就退出,然后,多流SOP算法计算其他流的所有SOP。对于可变GOP,SOP的序列号不可预测。因此,i是任意数。在这种情况下,在每次SOP到达时,都尝试该算法。在这种特定情况下,利用下面的条件判定最佳SOP。
SOP 0(i+1)=SOP0(i)+MIN_GOP_SIZE
此外,如果SOP0(i)未被认可并且SOP 0(i+1)>SOP_TIME_OUT,则拼接操作被放弃。
加权预测SOP
根据一个或者多个实施例,覆盖写先前事件相对更敏感。在这种情况下,对误差对加权,以实现相对更佳选择SOP。
此外,为了进行感性判定,对流拼接模块赋予两个权重w-和w+。在一个例子中,权重w-和w+是i的线性函数。在另一个例子中,权重w-和w+是i的非线性函数。在这种情况下,按如下计算最小误差SOP:
OptimalSOP=SOP0(i)if|e0(i)|*w->|e 0(i+1)|*w+
OptimalSOP=SOP 0(i+1)if|e0(i)|*w->|e 0(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),所以该算法要求相对较少的计算操作。
此外,在此讨论的各种实施例涉及一种商业方法,其中可以将广告插入广播流中,以致在相对较小的地理区域,例如与有线电视头端有关的区域内显示插入广告。插入广告可以与广播广告不同。这对于广告商、广播公司和观看者有各种优点,并且在与本申请共同提交的临时专利申请“Methodandsystemforbroadcastingmultimediadata(用于广播多媒体数据的方法和系统)”中公开了这种商业方法。根据所公开的各种实施例,该拼接器对这种商业方法提供了几个优点,特别是允许广告商和/或者广播公司例如在本地有线电视头端而非在广播系统中插入要求的广告流。
尽管以上所述涉及本发明的实施例,但是在不脱离本发明的基本范围的情况下,可以设想本发明的其他另外实施例。

Claims (27)

1.一种用于拼接第一数据流和第二数据流的方法,所述方法包括:
检测所述第一数据流中的拼接起点和拼接止点,其中所述拼接起点是所述第一数据流中的帧,并且所述拼接止点是所述第一数据流中的另一帧;
从所述第一数据流中的多个拼接机会点(SOP)中识别拼接起机会点和拼接止机会点,其中所述拼接起机会点对应于与所述拼接起点相邻的帧,而所述拼接止机会点对应于与所述拼接止点相邻的帧,其中所述拼接起机会点和所述拼接止机会点均是所述第一数据流的帧;
修改第二数据流的帧的显示时间戳PTS以获得所述第一数据流的帧的显示时间戳,其中第“i”帧的显示时间戳PTS~(i)计算如下:
current.pts=base.pts+(current.display_order-base.display_order)*frame_size;和
利用所述第二数据流的至少一个帧,替换所述第一数据流的至少一个帧,其中所述替换所述第一数据流的所述帧从所述拼接起机会点开始向前,而在所述拼接止机会点结束;并且
其中所述第一数据流包括多个帧,并且所述第二数据流包括多个帧。
2.根据权利要求1所述的方法,其中所述替换所述第一数据流的至少一个帧包括在不对所述第一数据流解包的情况下处理所述第一数据流。
3.根据权利要求1所述的方法,其中在所述第一数据流中从多个拼接机会点(SOP)中识别拼接起机会点和拼接止机会点包括在所述第一数据流的至少一个数据包中搜索所述拼接起机会点和拼接止机会点。
4.根据权利要求1所述的方法,还包括在开始所述替换之前,缓存所述第二数据流的至少一部分。
5.根据权利要求3所述的方法,其中搜索所述拼接起机会点和拼接止机会点还包括监视所述第一数据流的至少一个数据包中的至少一个帧的首标,其中所述至少一个数据包包括所述第一数据流的多个帧。
6.根据权利要求3所述的方法,还包括编辑所述第一数据流的所述至少一个数据包,其中所述至少一个数据包包括如下至少之一:
所述第一数据流的所述至少一个帧和所述拼接起机会点;以及
所述第一数据流的所述至少一个帧和所述拼接止机会点。
7.根据权利要求1所述的方法,其中所述第一数据流和所述第二数据流的所述多个帧是压缩帧。
8.根据权利要求7所述的方法,其中所述压缩帧符合以下至少一个:运动图像专家组MPEG,H.26x、音频编解码(AC)和高级音频编码(AAC)。
9.根据权利要求1所述的方法,其中所述多个拼接机会点中的至少一个拼接机会点是帧内编码帧(I帧)和单向预测帧(P帧)中的至少之一。
10.根据权利要求1所述的方法,其中所述多个拼接机会点中的至少一个拼接机会点是音频帧。
11.根据权利要求1所述的方法,其中所述多个拼接机会点中的至少一个拼接机会点是元数据帧。
12.根据权利要求7所述的方法,其中所述第一数据流和所述第二数据流的所述多个帧是编码图帧。
13.根据权利要求12所述的方法,其中所述编码图帧包括帧内编码帧(I帧)、单向预测帧(P帧)和双向预测帧(B帧)至少之一。
14.根据权利要求7所述的方法,其中所述第一数据流和所述第二数据流的所述多个帧是音频帧。
15.根据权利要求7所述的方法,其中所述第一数据流和所述第二数据流的所述多个帧是元数据帧。
16.根据权利要求11或者15所述的方法,其中所述元数据包括节目时钟基准PCR数据。
17.根据权利要求7所述的方法,还包括利用所述第二数据流的至少一个图像组GOP替换所述第一数据流的至少一个图像组GOP。
18.根据权利要求17所述的方法,其中所述第一数据流的所述GOP的长度不等于所述第二数据流的所述GOP的长度。
19.根据权利要求17所述的方法,还包括利用至少一个或者多个伪帧替换所述第一数据流的至少一个帧,其中所述第一数据流的所述GOP的长度与所述第二数据流的所述GOP的长度不匹配。
20.根据权利要求1所述的方法,还包括利用虚拟帧替换所述第一数据流的至少一个帧。
21.根据权利要求1所述的方法,还包括利用所述第二数据流的至少一个元数据帧替换所述第一数据流的至少一个元数据帧,其中所述第一数据流和所述第二数据流包括多个元数据帧。
22.根据权利要求21所述的方法,其中所述元数据包括节目时钟基准PCR值。
23.根据权利要求22所述的方法,其中根据所述第一数据流的所述元数据帧的所述PCR值,修改所述第二数据流的所述元数据帧的所述PCR值。
24.根据权利要求23所述的方法,其中通过利用线性变换原理来实现对所述PCR值的修改。
25.根据权利要求1所述的方法,其中所述替换所述帧不需要对所述第一数据流的所述帧重新排序。
26.一种用于拼接第一数据流和第二数据流的系统,所述系统包括:
控制模块,用于检测所述第一数据流中的拼接起点和拼接止点,其中所述拼接起点是所述第一数据流中的帧,并且所述拼接止点是所述第一数据流中的另一帧;
定时模块,用于修改第二数据流的帧的显示时间戳PTS以获得所述第一数据流的帧的显示时间戳,其中第“i”帧的显示时间戳PTS~(i)计算如下:
current.pts=base.pts+(current.display_order-base.display_order)*frame_size;和
流拼接模块,用于从所述第一数据流中的多个拼接机会点(SOP)中识别拼接起机会点和拼接止机会点,其中所述拼接起机会点对应于与所述拼接起点相邻的帧,而所述拼接止机会点对应于与所述拼接止点相邻的帧,其中所述拼接起机会点和所述拼接止机会点是第一数据流的帧;其中所述流拼接模块利用所述第二数据流的至少一个帧替换所述第一数据流的至少一个帧,其中所述替换所述第一数据流的所述帧从所述拼接起机会点开始向前,在所述拼接止机会点结束;以及其中所述第一数据流包括多个帧,并且所述第二数据流包括多个帧。
27.根据权利要求26所述的系统,其中所述第二数据流是有限数据流。
CN201080028835.8A 2009-04-28 2010-04-28 用于拼接压缩数据流的方法和装置 Expired - Fee Related CN102461195B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
IN1120/MUM/2009 2009-04-28
IN1120MU2009 2009-04-28
PCT/IN2010/000271 WO2010125582A2 (en) 2009-04-28 2010-04-28 Method and apparatus for splicing a compressed data stream

Publications (2)

Publication Number Publication Date
CN102461195A CN102461195A (zh) 2012-05-16
CN102461195B true CN102461195B (zh) 2016-08-03

Family

ID=42790873

Family Applications (3)

Application Number Title Priority Date Filing Date
CN201510437372.5A Pending CN105100819A (zh) 2009-04-28 2010-04-28 用于多个流的协调拼接的方法和设备
CN201080030058.0A Expired - Fee Related CN102461196B (zh) 2009-04-28 2010-04-28 用于多个流的协调拼接的方法和设备
CN201080028835.8A Expired - Fee Related CN102461195B (zh) 2009-04-28 2010-04-28 用于拼接压缩数据流的方法和装置

Family Applications Before (2)

Application Number Title Priority Date Filing Date
CN201510437372.5A Pending CN105100819A (zh) 2009-04-28 2010-04-28 用于多个流的协调拼接的方法和设备
CN201080030058.0A Expired - Fee Related CN102461196B (zh) 2009-04-28 2010-04-28 用于多个流的协调拼接的方法和设备

Country Status (4)

Country Link
US (2) US9319754B2 (zh)
EP (2) EP2425621A2 (zh)
CN (3) CN105100819A (zh)
WO (2) WO2010125582A2 (zh)

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105100819A (zh) * 2009-04-28 2015-11-25 福拜特斯印度私人有限公司 用于多个流的协调拼接的方法和设备
US9094641B1 (en) 2011-06-08 2015-07-28 Arris Enterprises, Inc. Group of pictures size adjustment
DE102012104481A1 (de) * 2012-05-24 2013-11-28 Deutsche Telekom Ag Verfahren zum Einspielen eines Ersatzclips in die laufende Übertragung eines Videoclips
GB2505535B (en) * 2012-09-03 2015-06-10 Nds Ltd Method and apparatus for selection of advertisements to fill a commercial break of an unknown duration
WO2015118164A1 (en) * 2014-02-10 2015-08-13 Dolby International Ab Embedding encoded audio into transport stream for perfect splicing
WO2015173793A1 (en) 2014-05-14 2015-11-19 Satixfy Ltd. A method of exchanging communications between a satellite and terminals associated therewith
US10368327B2 (en) 2014-05-14 2019-07-30 Satixfy Israel Ltd. Method and system for signal communications
US10312997B2 (en) 2014-05-20 2019-06-04 Satixfy Israel Ltd. Method for reducing interference in a satellite communications network
US10033509B2 (en) 2014-05-20 2018-07-24 Satixfy Israel Ltd. Method and system for satellite communication
EP2996269A1 (en) 2014-09-09 2016-03-16 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Audio splicing concept
US10764652B2 (en) * 2014-11-25 2020-09-01 Arris Enterprises Llc Filler detection during trickplay
EP3229417B1 (en) * 2014-12-29 2019-12-04 Huawei Technologies Co., Ltd. Sdn and configuration method therefor, sdn-based data transmission method and network controller
CN104749429A (zh) * 2015-04-08 2015-07-01 四川拓普测控科技有限公司 雷电过电压信号无损压缩记录系统
GB2543080A (en) * 2015-10-08 2017-04-12 Starfish Tech Ltd Digital media splicing system and method
WO2017100643A1 (en) * 2015-12-10 2017-06-15 Cine Design Group Llc Method and apparatus for non-linear media editing using file-based inserts into finalized digital multimedia files
US10303505B2 (en) 2016-05-19 2019-05-28 International Business Machines Corporation Adjusting a computing environment for processing a data stream with dummy tuples
US11044291B2 (en) * 2018-09-28 2021-06-22 Microsft Technology Licensing, LLC Enhanced anchor protocol for event stream processing
CN110650353B (zh) * 2019-09-25 2020-12-04 广州华多网络科技有限公司 多人连麦混画方法及装置、存储介质及电子设备
CN113377809A (zh) * 2021-06-23 2021-09-10 北京百度网讯科技有限公司 数据处理方法及装置,计算设备和介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0871337A2 (en) * 1997-04-07 1998-10-14 Nds Limited Method and apparatus for modifying a digital data stream
CN1243597A (zh) * 1997-09-17 2000-02-02 松下电器产业株式会社 视频数据编辑设备、用作视频数据编辑设备的记录媒体的光盘、和用于存储计算机可读的编辑程序的记录媒体
EP1463330A1 (en) * 1996-10-18 2004-09-29 General Instrument Corporation Splicing compressed packetized digital video streams
US7096481B1 (en) * 2000-01-04 2006-08-22 Emc Corporation Preparation of metadata for splicing of encoded MPEG video and audio

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020154694A1 (en) * 1997-03-21 2002-10-24 Christopher H. Birch Bit stream splicer with variable-rate output
US7031348B1 (en) * 1998-04-04 2006-04-18 Optibase, Ltd. Apparatus and method of splicing digital video streams
US6104441A (en) * 1998-04-29 2000-08-15 Hewlett Packard Company System for editing compressed image sequences
WO2000001160A2 (en) * 1998-06-29 2000-01-06 Limt Technology Ab Method and apparatus for splicing data streams
US6885680B1 (en) * 2000-01-24 2005-04-26 Ati International Srl Method for synchronizing to a data stream
US7610205B2 (en) * 2002-02-12 2009-10-27 Dolby Laboratories Licensing Corporation High quality time-scaling and pitch-scaling of audio signals
US20020191116A1 (en) * 2001-04-24 2002-12-19 Damien Kessler System and data format for providing seamless stream switching in a digital video recorder
US7068719B2 (en) * 2001-06-01 2006-06-27 General Instrument Corporation Splicing of digital video transport streams
US20030206596A1 (en) * 2002-05-03 2003-11-06 David Carver Multimedia content assembly
US7522667B2 (en) * 2005-02-24 2009-04-21 Freescale Semiconductor, Inc. Method and apparatus for dynamic determination of frames required to build a complete picture in an MPEG video stream
US7636395B2 (en) * 2005-03-14 2009-12-22 Nokia Corporation Method and device for splicing video data in compressed domain
US7826536B2 (en) * 2005-12-29 2010-11-02 Nokia Corporation Tune in time reduction
CA2655490A1 (en) * 2006-07-11 2008-01-17 Donald Craig Waugh Method, system and apparatus for dispensing drugs
US8031743B2 (en) 2006-10-31 2011-10-04 Panasonic Corporation Apparatuses and method for multiplexing elementary streams based on a multiplexing pattern indicating an order of types of data to be multiplexed
US9032433B2 (en) * 2007-10-05 2015-05-12 Alcatel Lucent Personalized ad insertion during start over service
US10193655B2 (en) * 2008-01-15 2019-01-29 Futurewei Technologies, Inc. Method and apparatus for scheduling multimedia streams over a wireless broadcast channel
US8743906B2 (en) * 2009-01-23 2014-06-03 Akamai Technologies, Inc. Scalable seamless digital video stream splicing
CN105100819A (zh) * 2009-04-28 2015-11-25 福拜特斯印度私人有限公司 用于多个流的协调拼接的方法和设备

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1463330A1 (en) * 1996-10-18 2004-09-29 General Instrument Corporation Splicing compressed packetized digital video streams
EP0871337A2 (en) * 1997-04-07 1998-10-14 Nds Limited Method and apparatus for modifying a digital data stream
CN1243597A (zh) * 1997-09-17 2000-02-02 松下电器产业株式会社 视频数据编辑设备、用作视频数据编辑设备的记录媒体的光盘、和用于存储计算机可读的编辑程序的记录媒体
US7096481B1 (en) * 2000-01-04 2006-08-22 Emc Corporation Preparation of metadata for splicing of encoded MPEG video and audio

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
SMPTE STANDARD for television-Splice Points for MPEG-2 Transport Streams;W.Hartsdale Ave, White Plains;《SMPTE JOURNAL》;SMPTE INC.;19981001;第107卷(第10期);Annex A部分A.2节 *

Also Published As

Publication number Publication date
WO2010125583A3 (en) 2011-04-07
CN105100819A (zh) 2015-11-25
EP2425621A2 (en) 2012-03-07
WO2010125582A3 (en) 2010-12-23
US9407970B2 (en) 2016-08-02
WO2010125582A2 (en) 2010-11-04
CN102461196B (zh) 2015-08-19
WO2010125582A8 (en) 2011-02-24
CN102461195A (zh) 2012-05-16
WO2010125583A8 (en) 2011-01-20
WO2010125583A2 (en) 2010-11-04
US9319754B2 (en) 2016-04-19
CN102461196A (zh) 2012-05-16
EP2425629A2 (en) 2012-03-07
US20120047282A1 (en) 2012-02-23
US20120128062A1 (en) 2012-05-24

Similar Documents

Publication Publication Date Title
CN102461195B (zh) 用于拼接压缩数据流的方法和装置
EP1397918B1 (en) Splicing of digital video transport streams
CN100481940C (zh) 用于提供mpeg-2流的多路复用和重多路复用的方法和系统
US9197857B2 (en) IP-based stream splicing with content-specific splice points
JP4779024B2 (ja) 符号化されたビデオ・ストリーム間をシームレスにスプライスするためのビデオ符号化
US8352982B2 (en) Service substitution techniques
US20060075449A1 (en) Distributed architecture for digital program insertion in video streams delivered over packet networks
US8355450B1 (en) Buffer delay reduction
US7930449B2 (en) Method and system for data transmission
US20030135605A1 (en) User rating feedback loop to modify virtual channel content and/or schedules
US8681874B2 (en) Video insertion information insertion in a compressed bitstream
CN106462490A (zh) 多媒体流水线架构
US20230269413A1 (en) Methods and systems for low latency streaming
WO2002085032A2 (en) System and method for inserting video and audio packets into a video transport stream
US7502368B2 (en) Method and apparatus for switching a source of an audiovisual program configured for distribution among user terminals
US20100027428A1 (en) Scheduling method of providing multimedia service
CN101984667A (zh) 码率控制方法及码率控制器
KR20230052678A (ko) 채널 연동형 광고 서비스를 제공하는 방법 및 광고 송출 서버
ITMI20121969A1 (it) Sistema di compressione di contenuti.

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
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20160803

Termination date: 20170428

CF01 Termination of patent right due to non-payment of annual fee