CN105981397A - 将编码音频嵌入到传输流中以供用于完美拼接 - Google Patents

将编码音频嵌入到传输流中以供用于完美拼接 Download PDF

Info

Publication number
CN105981397A
CN105981397A CN201580007764.6A CN201580007764A CN105981397A CN 105981397 A CN105981397 A CN 105981397A CN 201580007764 A CN201580007764 A CN 201580007764A CN 105981397 A CN105981397 A CN 105981397A
Authority
CN
China
Prior art keywords
frame
program
stream
transmission stream
video
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.)
Granted
Application number
CN201580007764.6A
Other languages
English (en)
Other versions
CN105981397B (zh
Inventor
M·罗塞尔
M·施米特
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.)
Dolby International AB
Original Assignee
Dolby International AB
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Dolby International AB filed Critical Dolby International AB
Publication of CN105981397A publication Critical patent/CN105981397A/zh
Application granted granted Critical
Publication of CN105981397B publication Critical patent/CN105981397B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs
    • H04N21/23424Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 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/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/233Processing of audio elementary streams
    • 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/233Processing of audio elementary streams
    • H04N21/2335Processing of audio elementary streams involving reformatting operations of audio signals, e.g. by converting from one coding standard to another
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs
    • H04N21/23412Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs for generating or manipulating the scene composition of objects, e.g. MPEG-4 objects
    • 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/236Assembling 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/23605Creation or processing of packetized elementary streams [PES]
    • 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/236Assembling 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/23608Remultiplexing multiplex streams, e.g. involving modifying time stamps or remapping the packet identifiers
    • 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/236Assembling 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/2362Generation or processing of Service Information [SI]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/61Network physical structure; Signal processing
    • H04N21/6106Network physical structure; Signal processing specially adapted to the downstream path of the transmission network
    • H04N21/6112Network physical structure; Signal processing specially adapted to the downstream path of the transmission network involving terrestrial transmission, e.g. DVB-T
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/61Network physical structure; Signal processing
    • H04N21/6106Network physical structure; Signal processing specially adapted to the downstream path of the transmission network
    • H04N21/6143Network physical structure; Signal processing specially adapted to the downstream path of the transmission network involving transmission via a satellite
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/61Network physical structure; Signal processing
    • H04N21/6156Network physical structure; Signal processing specially adapted to the upstream path of the transmission network
    • H04N21/6168Network physical structure; Signal processing specially adapted to the upstream path of the transmission network involving cable transmission, e.g. using a cable modem
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/61Network physical structure; Signal processing
    • H04N21/6156Network physical structure; Signal processing specially adapted to the upstream path of the transmission network
    • H04N21/6175Network physical structure; Signal processing specially adapted to the upstream path of the transmission network involving transmission via Internet
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/61Network physical structure; Signal processing
    • H04N21/6156Network physical structure; Signal processing specially adapted to the upstream path of the transmission network
    • H04N21/6181Network physical structure; Signal processing specially adapted to the upstream path of the transmission network involving transmission via a mobile phone network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/61Network physical structure; Signal processing
    • H04N21/6156Network physical structure; Signal processing specially adapted to the upstream path of the transmission network
    • H04N21/6187Network physical structure; Signal processing specially adapted to the upstream path of the transmission network involving transmission via a telephone network, e.g. POTS
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/647Control signaling between network components and server or clients; Network processes for video distribution between server and clients, e.g. controlling the quality of the video stream, by dropping packets, protecting content from unauthorised alteration within the network, monitoring of network load, bridging between two different networks, e.g. between IP and wireless
    • H04N21/64723Monitoring of network processes or resources, e.g. monitoring of network load
    • H04N21/6473Monitoring network processes errors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/647Control signaling between network components and server or clients; Network processes for video distribution between server and clients, e.g. controlling the quality of the video stream, by dropping packets, protecting content from unauthorised alteration within the network, monitoring of network load, bridging between two different networks, e.g. between IP and wireless
    • H04N21/64746Control signals issued by the network directed to the server or the client
    • H04N21/64761Control signals issued by the network directed to the server or the client directed to the server
    • H04N21/64776Control signals issued by the network directed to the server or the client directed to the server for requesting retransmission, e.g. of data packets lost or corrupted during transmission from server
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/85Assembly of content; Generation of multimedia applications
    • H04N21/854Content authoring
    • H04N21/8547Content authoring involving timestamps for synchronizing content

Abstract

用于产生传输流(例如,MPEG‑2传输流)以使得该传输流具有至少一个完美拼接性质和/或使得该传输流指示至少一个音频/视频节目并且包括指示该节目是否具有完美拼接性质的元数据的方法。其他方面是用于对这样的传输流进行拼接的方法、被配置为执行本发明方法的任何实施例的音频/视频处理单元(例如,拼接器)、以及包括缓冲存储器的音频/视频处理单元,所述缓冲存储器存储根据本发明方法的任何实施例产生的传输流的至少一个片段。

Description

将编码音频嵌入到传输流中以供用于完美拼接
相关申请的交叉引用
本申请要求2014年2月10日提交的美国临时专利申请No.61/938,067的申请日的权益。
技术领域
本发明涉及音频和视频信号处理,更具体地,涉及传输流(位流)的产生和拼接,所述传输流包括视频数据和编码音频数据,可选地还包括指示该传输流满足的至少一个拼接性质的元数据。本发明的一些实施例产生或拼接具有MPEG-2传输流格式的、包括被称为AC-4格式的编码音频数据的传输流。
背景技术
MPEG-2传输流格式是用于传输和存储视频数据、编码音频数据和相关数据的标准格式。MPEG-2传输流格式在被称为MPEG-2第1部分“系统”的标准(ISO/IEC标准13818-1或ITU-T Rec.H.222.0)中被指定。MPEG-2传输流具有封装打包元素流的指定容器格式。
MPEG-2传输流常用于例如以DVB(数字视频广播)或ATSC(高级电视系统委员会)TV广播的形式广播音频和视频内容。通常希望的是在两个MPEG-2传输流之间实现拼接。
尽管本发明不限于具有MPEG-2传输流格式的传输流的产生和/或拼接,但是典型的实施例是用于产生和/或拼接MPEG-2传输流的方法和系统。如果每个其它格式的传输流包括满足本文中描述的某些性质的、视频数据的帧(包括I帧)和编码音频数据的帧(包括I帧),则具有其它格式的传输流可以根据本发明的其他实施例而被产生和/或拼接。根据本发明的一类典型实施例产生和/或拼接的传输流还可以包括指示该传输流满足的至少一个拼接性质的元数据。
MPEG-2传输流将元素流(例如,从视频编码器输出的视频数据的元素流以及从音频编码器输出的编码音频数据的至少一个对应的元素流)承载在包(packet)中(即,将指示这些元素流的数据包括在包中)。每个元素流通过将来自该元素流的顺序数据字节封装在打包元素流(“PES”)包中而被打包,PES包具有PES包头。通常,元素流数据(从视频编码器和音频编码器输出)被打包为PES包,PES包然后被封装在传输流(TS)包的内部,TS包然后被复用以形成传输流。通常,每个PES包被封装到TS包序列中。
MPEG-2传输流可以指示一个或多个音频/视频节目。每个单个的节目用具有唯一标识值(PID)的节目映射表(PMT)描述,与该节目相关联的元素流(一个或多个)具有PMT中列出的PID。例如,传输流可以指示三个电视节目,每个节目对应于不同的电视频道。在示例中,每个节目(频道)可以由一个视频元素流和若干个(例如,一个或两个)编码音频元素流以及任何必要的元数据组成。希望对特定节目(频道)进行解码的接收器必须对其PID与该节目相关联的每个元素流的有效载荷进行解码。
MEG-2传输流包括节目特定信息(PSI),PSI通常包括指示四个PSI表的数据:节目关联表(PAT)、关于每个节目的节目映射表(PMT)、条件访问表(CAT)以及网络信息表(NIT)。节目关联表列出传输流指示的(传输流中所包括的)所有节目,每个节目具有用于其节目映射表(PMT)的PID的相关联的值。关于节目的PMT列出该节目的每个元素流,并且包括指示关于该节目的其他信息的数据。
MPEG-2传输流包括呈现时间戳(“PTS”)值,PTS值被用于实现该传输流的节目的单独的元素流(例如,视频流和编码音频流)的同步。PTS值是以与节目的整体时钟参考相关的单位给出的,整体时钟参考也在传输流被发送。包括音频或视频帧(由PES包指示)的所有的TS包都具有相同的PTS时间戳值。
典型的传输流(例如,MPEG-2传输流)包括编码音频数据(通常,指示音频内容的一个或多个通道的压缩音频数据)、视频数据以及指示编码音频(或编码音频和视频)内容的至少一个特性的元数据。尽管本发明不限于其音频内容是根据AC-4格式编码的音频数据(“AC-4编码音频数据”)的传输流的产生,但是典型的实施例是用于产生和/或拼接包括AC-4编码音频数据的传输流(例如,MPEG-2传输流)的方法和系统。
用于对音频数据进行编码的AC-4格式是众所周知的,并且于2014年4月发表在标题为“ETSI TS 103 190V1.1.1(2014-04),DigitalAudio Compression(AC-4)Standard”的文件上。
MPEG-2传输流常用于例如以DVB(数字视频广播)或ATSC(高级电视系统委员会)TV广播的形式广播音频和视频内容。有时希望的是在两个MPEG-2(或其他)传输流之间实现拼接。例如,对于发射器可能希望的是在第一传输流中实现拼接以将广告(例如,另一个流的片段)插入在第一传输流的两个片段之间。被称为传输流拼接器的常规系统可供用于执行这样的拼接。常规拼接器的复杂性是变化的,并且常规传输流通常是基于拼接器将知道并且能够理解它们中所包含的所有编解码器(即,将能够对它们的视频和编码音频内容以及元数据进行解析)以便对它们执行拼接的假设而产生的。这对于拼接的实现留下了很大的误差空间,并且引起关于多路复用器(其执行复用以产生传输流)和拼接器之间的互操作性的许多问题。
通常将元数据包括在MPEG-2传输流中,元数据对该流指示的每个节目明确地标识可用的拼接点(存在以期望的方式进行拼接的机会的特定时间,例如,具有紧接在其之前或之后存在以期望的方式进行拼接的机会的特定时间代码的采样或包)。这样的元数据必须在编码处理期间被插入在传输流中。然而,将希望的是,通过消除标识并指示传输流中的特定的可用拼接点的需要来降低用于产生传输流(例如,MPEG-2传输流)的方法(和系统)的复杂度。根据本发明的典型实施例,传输流是在无需标识并指示传输流中的特定的可用拼接点的情况下产生的,并且使得具有各种能力中的任何一种能力的拼接器(包括具有非常有限的能力的简单的拼接器)可以以保证音频/视频同步(“A/V”同步)在作为结果得到的拼接的流中被保持的方式对这些传输流进行拼接,而无需在对传输流中的任何一个的任何编码音频元素流进行修改。
一些常规的音频编解码器以如下格式对音频进行编码:在对包括编码音频数据的节目进行拼接时支持完美的A/V同步的保持。然而,当有必要对传输流(其包括这样的编码音频或以其他格式编码的音频)进行拼接时,在准备每个传输流并且执行每次拼接时需要额外的注意,因为在执行拼接期间容易损坏音频元素流(其由传输流指示)。多路复用器(其执行复用以产生每个传输流)和下游的拼接器隐式地一起工作以产生良好的拼接,其中多路复用器以某种方式进行复用,拼接器预计传输流具有特定性质。本发明的典型实施例定义了(传输流的)帮助传输流的拼接(甚至通过非常简单的拼接器)的特征集合,并且通常还将将这样的特征集合传送给拼接器的元数据包括在传输流中。
发明内容
在第一类实施例中,本发明是一种用于产生传输流(例如,MPEG-2传输流)的方法,该方法包括以下步骤:将编码音频数据(在本文中有时被称为“CA”)和视频数据包装(即,包括)在传输流中,以使得传输流具有至少一个完美拼接性质(即,下面定义的“基本(essential)”完美拼接性质,可选地还具有至少一个附加完美拼接性质)。在该上下文下,“完美拼接性质”表示本文中定义的完美拼接性质中的一个,“基本”完美拼接性质保证在拼接器不需要对传输流的任何编码音频元素流进行修改的情况下在对传输流进行拼接时音频/视频同步(“A/V”同步)被保持。根据第一类中的实施例产生的传输流指示至少一个音频/视频节目(“节目”),并且(对于由其指示的每个节目)包括视频数据的帧(其确定至少一个视频元素流)以及对应的编码音频数据的帧(其确定至少一个音频元素流)。视频数据的帧包括视频数据的I帧,编码音频数据的帧包括编码音频数据的I帧。
在本文中,“I帧”表示已经通过使用仅来自其本身内的信息而被编码的可独立解码的帧。相反,常规的“P帧”或预测编码帧不是I帧。在一些视频和音频编解码器格式中,这样的可独立解码的帧没有被正式称为(或者按照惯例被称为)“I帧”。然而,根据这样的编解码器产生的可独立解码的帧在本文中(包括在权利要求书中)却被称为“I帧”。在一些编解码器中,每一个视频帧和/或每一个音频帧是可独立解码的,因此每个这样的帧在本文中将被称为“I帧”。
根据第一类中的实施例产生的传输流至少具有以下完美拼接性质(在本文中有时被称为“基本”完美拼接性质):
对于传输流指示的每个节目,该节目的视频元素流和编码音频元素流的帧率是相同的(即,对于传输流的每个节目,该节目的每个视频元素流具有与该节目的每个编码音频元素流的帧率相同的帧率,并且对于该节目的每个视频帧,存在该节目的至少一个对应的编码音频帧);以及
I帧同步(即,视频和音频编码被同步以使得对于传输流的每个节目,对于该节目的视频元素流中的每个视频I帧,在该节目的音频元素流中存在至少一个匹配的音频I帧(即,与视频I帧同步的至少一个音频I帧))。
根据第一类中的实施例产生的传输流可以指示一个节目或者两个或更多个节目。每个节目包括确定视频元素流的视频数据的帧(包括I帧)以及确定至少一个音频元素流的对应编码音频数据的帧(包括I帧)。从对于传输流指示的每个节目来说传输流的指示该节目的数据具有完美拼接性质的意义上来讲,根据第一类中的实施例产生的每个传输流被说成是具有(即,满足)基本完美拼接性质(例如,基本的完美拼接性质)。
根据第一类中的实施例产生的传输流具有以下特性:
1.当使用任何传输流拼接器对传输流进行拼接时,完美A/V同步可以被保持,而无需该拼接器对传输流的任何编码音频元素流进行修改;以及
2.在不损坏传输流的编码音频内容或者干扰A/V同步的情况下,传输流的拼接(甚至通过具有低复杂度的拼接器对传输流的拼接)是可能的。
除了以上定义的基本完美拼接性质(视频和编码音频的相同帧率以及I帧同步)之外,根据第一类中的实施例产生的传输流可以具有至少一个附加完美拼接性质(例如,下述完美拼接性质中的一个或多个)。产生满足至少一个这样的附加完美拼接性质的传输流的选项允许传输流创建者(例如,网络运营商)选择哪个或哪些完美拼接性质应被满足。满足更多完美拼接性质通常需要更多用于传输流产生的开销,但是允许使用更简单的拼接器实现。具有更少完美拼接性质的传输流的产生通常允许更简单的传输流产生,但是需要更复杂的拼接器实现。通常,传输流产生器自由选择是(根据本发明的实施例)产生满足更多的完美拼接性质的传输流、还是产生满足更少的完美拼接性质的传输流来实现传输流产生的复杂度和拼接器实现复杂度之间的期望权衡,而不是被迫接受特定的使用模式。是否希望或需要传输流满足特定的完美拼接性质取决于被构想用于对传输流进行拼接的拼接器(一个或多个)的特征。非常精细的拼接器通常将需要更少的完美拼接性质,而非常简单的拼接器可能需要具有更多的完美拼接性质的传输流。
因为根据第一类中的实施例产生的传输流满足基本完美拼接性质,所以拼接器可以在不修改传输流的任何节目的任何音频元素流的情况下对传输流进行无缝拼接。然而,为了执行无缝拼接,拼接器可能需要执行传输流的再复用或其他修改(例如,包括音频元素流的包的序列可能需要与传输流的其他包再复用以产生拼接的传输流)。拼接器可能还需要以防止接收拼接的传输流的接收器(例如,下游的解码器)的缓冲器下溢或上溢的方式执行拼接(以产生拼接的传输流)。拼接器的任务可以通过将将被拼接的每个传输流产生为具有一个或多个附加完美拼接性质(除了以上定义的基本完美拼接性质之外)而被简化。因此,在一些实施例中,本发明是一种用于产生满足基本完美拼接性质并且还满足以下附加完美拼接性质中的至少一个的传输流(例如,MPEG-2传输流)的方法:
1.A/V I帧的PES对齐。如果对于传输流的每个节目,该节目的视频元素流中的每个视频I帧是与该节目的编码音频I帧对齐的PES包(即,编码音频I帧的第一个字节在新的PES包的开头,视频I帧的第一个字节在新的PES包的开头),则该传输流具有该性质。该节目的随后直到下一个匹配I帧的开头为止的编码音频帧不需要是对齐的PES包;
2.A/V I帧对PTS值匹配。如果对于传输流的每个节目,对于每个视频I帧,存在至少一个匹配的音频I帧(如基本完美拼接性质的I帧同步要求中所规定的那样,并且其中包括一个所述视频I帧和与该视频I帧匹配的音频I帧的每个I帧对在本文中有时被称为“A/V I帧对”),并且每个A/V I帧对的I帧具有匹配的(例如,相同的)呈现时间戳(PPTS)值,则该传输流具有该性质;
3.恒定超帧位率。在本文中,术语“超帧”表示从(传输流的节目的)A/V I帧对的音频I帧开始、以正好在(该节目的)下一个A/VI帧对前面的音频帧结束的音频帧序列。如果对于传输流的每个节目,用于每一个超帧的平均位率是恒定的,则该传输流具有“恒定超帧位率”完美拼接性质。指出,恒定位率(CBR)是“恒定超帧位率”性质的特殊情况,并且“恒定超帧位率”性质确保当具有相等的编码音频位率的流被拼接在一起时接收器缓冲器(一个或多个)在拼接之后不上溢或下溢;
4.传输流中的数据对齐。如果对于传输流的每个节目,包括A/VI帧对和随后直到下一个A/V I帧对的A/V帧的A/V帧序列被复用到传输流中,使得它被一起发送(即,被时间复用以在传输流的单个、连续的片段中出现),则该传输流具有“传输流中的数据对齐”的完美拼接性质;
5.传输流中的保护带。如果对于传输流的每个节目,对于该节目的每个A/V I帧对,承载所述A/V I帧对的编码音频数据的传输流包的发送不是在承载所述A/V I帧对的视频数据的传输流包的发送开始之前开始的,则该传输流具有“传输流中的保护带”的完美拼接性质。此外,对于正好在该节目的每个A/V I帧对前面出现的音频帧,用于所述音频帧的所有的音频数据传输流包都是在该A/V I帧对前面的最后一个视频数据传输流包被发送之前被发送的。这样的保护带的重要的益处是确保被实现为仅查看视频来决定在何处拼接的传输流拼接器将永不损坏任何音频帧;以及
6.传输流中标记的拼接点。如果传输流包括明确地指示传输流中的合适的拼接点(例如,如ISO/IEC 13818-1的附录A中所描述的那样),并且元数据仅指示正好在合适的A/V I帧对前面出现的拼接点,则该传输流具有“传输流中标记的拼接点”的完美拼接性质。这样的被指示的拼接点是传输流中的潜在的无缝拼接点。可选地,视频的格式可以暗示对无缝拼接点的进一步的要求(例如,取决于用于产生传输流的视频编码的格式,不是每一个视频I帧都可以适合作为无缝拼接点),并且元数据仅指示(作为合适的拼接点的)正好在合适的A/VI帧对前面出现并且还满足这样的进一步的要求的拼接点。
通常,具有第六附加完美拼接性质(“传输流中标记的拼接点”)的传输流也具有第一至第五附加完美拼接性质中的每个,具有第五附加完美拼接性质(“传输流中的保护带”)的传输流也具有第一至第四附加完美拼接性质中的每个,具有第四附加完美拼接性质(“传输流中的数据对齐”)的传输流也具有第一至第三附加完美拼接性质中的每个,具有第三附加完美拼接性质(“恒定超帧位率”)的传输流也具有第一和第二附加完美拼接性质中的每个,具有第二附加完美拼接性质(“A/V I帧对PTS值匹配”)的传输流也具有第一附加完美拼接性质。
根据第一类实施例中的一些实施例产生的传输流(例如,MPEG-2传输流)包括指示传输流(或由其指示的节目)是否具有至少一个完美拼接性质的元数据(“拼接元数据”)(例如,指示传输流或节目是否具有基本完美拼接性质和每个附加完美拼接性质的元数据)。
在第二类实施例中,本发明是一种用于产生传输流(例如,MPEG-2传输流)的方法,所述传输流指示至少一个音频/视频节目(“节目”),并且包括指示该节目是否具有完美拼接性质的元数据(“拼接元数据”)(例如,指示该节目是否具有基本完美拼接性质和/或至少一个其他完美拼接性质的元数据)。如果传输流指示至少两个节目,则拼接元数据可以指示这些节目中的每个是否均具有完美拼接性质(例如,这些节目中的每个单个的节目是否具有完美拼接性质)。拼接元数据可以共同指示(即,关于)传输流指示的所有节目(因此可以指示传输流本身是否具有完美拼接性质),或者可以特定地指示传输流指示的每个单个的节目(或所有节目的子集)。
根据第二类中的实施例产生的传输流的拼接元数据可以指示该传输流指示的至少一个节目(例如,每个节目)是否具有“基本”完美拼接性质(以上参照第一类实施例定义)、和/或该传输流指示的至少一个节目是否具有(以上参照第一类实施例定义的类型中的任何一个的)至少一个附加完美拼接性质。
参照第二类实施例,传输流指示的节目“具有”(即,满足)完美拼接性质的表达表示该传输流的指示该节目的数据(例如,确定该节目的至少一个视频元素流的视频数据的帧(包括视频数据的I帧)、以及确定该节目的至少一个音频元素流的编码音频数据的帧(包括编码音频数据的I帧))具有完美拼接性质(例如,传输流的指示至少一个其他节目的其他数据可能不具有完美拼接性质)。
根据第二类中的典型实施例产生的传输流(对于该传输流指示的每个节目)包括视频数据的帧(其确定该节目的至少一个视频元素流)以及编码音频数据的帧(其确定该节目的至少一个音频元素流)。视频数据的帧包括视频数据的I帧,编码音频数据的帧包括编码音频数据的I帧。
(根据第二类中的实施例产生的传输流中的)指示该传输流的节目的数据可以具有以上定义的基本完美拼接性质,并且还可以具有上述附加完美拼接性质中的一个或多个。产生满足至少一个这样的附加完美拼接性质的数据(其指示节目)的选项允许传输流创建者选择哪个或哪些完美拼接性质应被满足。满足更多的完美拼接性质通常需要用于传输流产生的更多开销,但是允许使用更简单的拼接器实现。
拼接元数据被包括在传输流中(指示该传输流指示的节目是否满足至少一个完美拼接性质中的每个)使得拼接器能够从该传输流解析这样的元数据以确定(该传输流的)指示该节目的元素流的数据是否可以被以预期的方式拼接(以及被以其他方式处理),并且如果传输流(或者其指示节目的元素流的数据)不符合拼接器支持的性质(例如,具有比完美拼接性质的全集少的完美拼接性质,其中,全集是拼接器执行被保证是完美拼接的拼接所需的),则能够向操作者发出警告。
根据第二类中的实施例产生的指示至少两个节目的传输流可以包括关于这些节目中的每个的拼接元数据。关于每个节目的拼接元数据可以指示该节目是否满足至少一个完美拼接性质。例如,拼接元数据可以指示节目是否满足本文中定义的基本完美拼接性质和六个附加完美拼接性质中的每个。
如所指出的,传输流可以指示多个节目。每个节目可以包括多个元素流(例如,视频元素流以及一个或多个编码音频元素流)。通常,每个元素流具有相关联的描述符(在本文中有时被称为“元素流描述符”),该描述符包括表征该元素流或者以其他方式与该元素流相关的信息。通过对每个元素流的描述符进行分析,拼接器可以确定传输流(或者其节目)是否具有它们实现拼接所需的性质(并且可选地当确定至少一个预期性质未被满足时发出警告或错误)。根据本发明的典型实施例的传输流中所包括的拼接元数据可以被包括在该传输流的元素流描述符中(并且可以指示包括该元素流的节目的每个完美拼接性质)。可替代地,拼接元数据可以被包括在传输流的其他部分(片段)中(并且可以共同指示传输流的所有节目,或者单个地指示传输流的每个节目)。
在典型的实施例中,传输流包括关于该传输流的每个节目的拼接元数据,关于每个节目的拼接元数据包括该节目的元素流(一个或多个)满足的每个完美拼接性质,传输流指示的每个节目的元素流(一个或多个)可以满足(或未能满足)不同的完美拼接性质集合。例如,根据第二类中的实施例产生的传输流可以包括具有一个视频元素流和两个音频元素流的节目(即,可以包括指示该节目的数据)。在这个例子中,传输流的确定该节目的数据可以具有完美拼接性质,并且传输流可以包括(关于该节目的)拼接元数据,该拼接元数据指示该节目的元素流满足的完美拼接性质。
根据第二类中的实施例产生的传输流中所包括的拼接元数据的例子包括以下中的全部或一些(或者由以下中的全部或一些组成):
指示传输流的至少一个节目(即,传输流的指示每个所述节目的数据)是否满足视频和编码音频的帧率相同的性质的元数据(例如,如果满足相同帧率性质,则传输流的描述符中的framerate_match位被设置(为“1”值)。否则,这样的位保持不被设置(被设置为“0”值));
指示传输流的至少一个节目是否满足I帧同步性质的元数据(例如,如果满足I帧同步性质,则传输流的描述符中的iframes_synced位被设置(为“1”值)。否则,这样的位保持不被设置(被设置为“0”值));
指示传输流的至少一个节目是否满足“A/V I帧的PES对齐”的完美拼接性质的元数据。例如,该拼接元数据可以是传输流的描述符中的关于该传输流的满足该性质的每个节目的位(即,iframes_pes_aligned位)。如果该节目满足该性质,则这样的iframes_pes_aligned位将被设置(为“1”值)。否则,该位将保持不被设置(被设置为“0”值);
指示传输流的至少一个节目是否满足“A/V I帧对PTS值匹配”完美拼接性质的元数据。例如,拼接元数据可以是传输流的描述符中的关于传输流的满足该性质的每个节目的位(例如,iframe_pts_match位)。如果该节目满足该性质,则这样的iframe_pts_match位将被设置(为“1”值)。否则,该位将保持不被设置;
指示传输流的至少一个节目是否满足“恒定超帧位率”的完美拼接性质的元数据。例如,拼接元数据可以是传输流的描述符中的关于传输流的满足该性质的每个节目的位(例如,constant_hyperframe_bitrate位)。如果该节目满足该性质,则这样的constant_hyperframe_bitrate位将被设置(为“1”值)。否则,该位将保持不被设置(被设置为“0”值);
指示传输流的至少一个节目是否满足“传输流中的数据对齐”的完美拼接性质的元数据。例如,拼接元数据可以是传输流的描述符中的关于传输流的满足该性质的每个节目的位(例如,avdata_aligned位)。如果该节目满足该性质,则这样的avdata_aligned位将被设置(为“1”值)。否则,该位将保持不被设置(被设置为“0”值);
指示传输流的至少一个节目是否满足“传输流中的保护带”的完美拼接性质的元数据。例如,拼接元数据可以是传输流的描述符中的关于传输流的满足该性质的每个节目的位(例如,guardband位)。如果该节目满足该性质,则这样的guardband位将被设置(为“1”值)。否则,该位将保持不被设置(被设置为“0”值);和/或
指示传输流的至少一个节目是否满足“传输流中标记的拼接点”的完美拼接性质的元数据。例如,拼接元数据可以是传输流的描述符中的关于传输流的满足该性质的每个节目的位(例如,splicemarkers位)。如果该节目满足该性质,则这样的splicemarkers位将被设置(为“1”值)。否则,该位将保持不被设置(被设置为“0”值)。
在关于节目的拼接元数据包括framerate_match位和iframes_synced位的以上例子中,如果这两个位被设置(两个都具有逻辑值“1”),则拼接元数据指示该节目满足基本完美拼接性质(因为它对于视频和编码音频具有相同的帧率,并且满足I帧同步性质)。
在一些实施例中,本发明是一种用于对具有基本完美拼接性质的传输流(例如,MPEG-2传输流)进行拼接、从而在不修改该传输流的任何编码音频元素流的情况下产生拼接的传输流的方法。可选地,传输流还包括上述附加完美拼接性质中的至少一个(例如,该流可以具有基本完美拼接性质以及所有的附加完美拼接性质)。因为传输流具有基本完美拼接性质,所以拼接被执行以使得传输流中的音频/视频同步被保持在拼接的传输流中。
在一些实施例中,本发明是一种用于对已经根据第二类中的任何实施例被产生为包括拼接元数据的传输流(例如,MPEG-2传输流)进行拼接的方法。该方法包括以下步骤:(a)对传输流的至少一部分进行解析以标识拼接元数据(例如,传输流的元素流描述符中的拼接元数据);以及(b)当确定拼接元数据指示传输流的至少一个片段(例如,整个传输流或传输流指示的节目)具有至少一个完美拼接性质(包括基本完美拼接性质)时,在不修改传输流的任何编码音频元素流的情况下对传输流进行拼接,从而产生拼接的传输流。如果传输流(或者其的被拼接的片段)具有基本完美拼接性质,则执行步骤(b)以使得传输流中的音频/视频同步被保持在拼接的传输流中。
本发明的另一方面是一种被配置为执行本发明方法的任何实施例(例如,具有基本完美拼接性质和/或包括拼接元数据的传输流的产生或拼接)的音频/视频处理单元(AVPU)。例如,AVPU可以是被配置为执行本发明的传输流拼接方法的任何实施例的拼接器。在另一类实施例中,本发明是一种包括缓冲存储器(缓冲器)的AVPU,该缓冲存储器(例如,以非暂态的方式)存储已经通过本发明方法的任何实施例产生的传输流(例如,至少满足并且其的被存储的片段至少满足本文中定义的基本完美拼接性质、可选地还满足本文中定义的任何类型的至少一个附加完美拼接性质的传输流)的至少一个片段。存储在缓冲器中的片段可以包括拼接元数据(其已经根据本发明方法的任何实施例包括在传输流中)。AVPU的例子包括但不限于编码器(例如,代码转换器)、解码器(例如,被配置为对传输流的内容进行解码和/或执行拼接以产生拼接的传输流并且对拼接的传输流的内容进行解码的解码器)、编解码器、拼接器、预处理系统(预处理器)、后处理系统(后处理器)、传输流处理系统以及这样的元件的组合。
本发明的方面包括一种被配置为(例如,被编程为)执行本发明方法的任何实施例的系统或装置、以及(例如,以非暂态的方式)存储用于实现本发明方法或者其步骤的任何实施例的代码的计算机可读介质(例如,盘)。例如,本发明系统可以是或者可以包括被用软件或固件编程为和/或被以其他方式配置为对数据执行各种操作中的任何一种(包括本发明方法或者其步骤的实施例)的可编程通用处理器、数字信号处理器或微处理器。这样的通用处理器可以是或者可以包括计算机系统,该计算机系统包括输入装置、存储器以及被编程为(和/或被以其他方式配置为)响应于对其断言的数据执行本发明方法(或者其步骤)的实施例的处理电路。
附图说明
图1是三个拼接点的示图,每个拼接点在不同的传输流中。每个传输流包括不同的TS包序列(具有包括被用“A”标记的编码音频数据的那些TS包以及包括被用“V”标记的视频数据的那些TS包)。
图2是具有基本完美拼接性质以及五个附加完美拼接性质(“A/VI帧的PES对齐”、“A/V I帧对PTS值匹配”、“恒定超帧位率”、“传输流中的数据对齐”以及“传输流中的保护带”)的MPEG-2传输流的例子的示图。
图3是系统的实施例的框图,其中,该系统的元件中的一个或多个可以根据本发明的实施例被配置。
图4是作为图3的捕捉单元1和生成单元3的实现的系统的框图。
符号和术语
在整个本公开中,包括在权利要求中,表达“对”信号或数据执行操作(例如,对信号或数据进行滤波、缩放、变换或施加增益)广义地用于表示直接对信号或数据执行操作或者对信号或数据的处理后的版本(例如,在对其执行操作之前已经经过初步滤波或预处理的信号的版本)执行操作。
在整个本公开中,包括在权利要求中,表达“系统”广义地用于表示装置、系统或子系统。例如,实现编码的子系统可以被称为编码器系统,包括这样的子系统的系统(例如,响应于多个输入产生X个输出信号的系统,在该系统中,子系统产生输入中的M个,其他X-M个输入是从外部源接收的)也可以被称为编码器系统。
在整个本公开中,包括在权利要求中,表达“传输流”(或“传输流”)表示指示位流的信号,所述位流包括视频数据和编码音频数据,可选地还有元数据。表达“AV数据”在本文中有时被用于表示这样的视频数据和/或这样的编码音频数据。通常,传输流是指示串行位流的信号,所述串行位流包括以下片段的序列:编码音频数据的片段(例如,包)、视频数据的片段(例如,包)、以及元数据(例如,包括支持拼接的元数据)的片段(例如,头或其他片段)。传输流可以指示多个节目,每个节目可以包括多个元素流(例如,一个视频元素流以及两个或更多个音频元素流)。通常,传输流的每个元素流具有相关联的描述符,该描述符包括与该元素流相关的信息。
在整个本公开中,包括在权利要求中,表达“处理器”广义地用于表示可编程为或者以其他方式(例如,用软件或固件)可配置为对数据(例如,音频、视频或其他图像数据)执行操作的系统或装置。处理器的例子包括现场可编程门阵列(或其他可配置的集成电路或芯片组)、被编程为和/或被以其他方式配置为对音频或其他声音数据执行流水线处理的数字信号处理器、可编程通用处理器或计算机以及可编程微处理器芯片或芯片组。
在整个本公开中,包括在权利要求中,表达“音频视频接收器”(或“AVR”)表示例如家庭影院中的一类消费者电子设备中的用于控制音频和视频内容的回放的接收器。
在整个本公开中,包括在权利要求中,表达“音频/视频处理单元”(或“AV处理单元”或“AVPU”)和“AV处理器”可互换地使用,以及广义地用于表示被配置为对传输流(或传输流的视频数据和/或编码音频数据)进行处理的系统。AV处理单元的例子包括但不限于编码器(例如,代码转换器)、解码器、编解码器、拼接器、预处理系统、后处理系统以及位流处理系统(有时被称为位流处理工具)。在一个例子中,AV处理单元是被配置为执行以下操作的拼接器:确定第一传输流的出点(即,时间)和第二传输流(其可以是第一传输流或者是第一传输流的不同传输流)的入点(即,另一个时间),并且产生拼接的传输流(例如,包括第一位流的在出点之前出现的数据以及第二位流的在入点之后出现的数据的拼接的传输流)。
在整个本公开中,包括在权利要求中,术语“元数据”(例如,如表达“拼接元数据”中那样)是指与对应的音频数据和/或视频数据(还包括元数据的位流的音频和/或视频内容)分开并且不同的数据。元数据与音频和/或视频数据(“AV”数据)相关联,并且指示AV数据的至少一个特征或特性(例如,已经对AV数据执行或者应对AV数据执行一种或多种什么样的类型的处理、或者AV数据的音频数据指示的对象的轨迹)。元数据与AV数据的关联是时间同步的。因此,目前的(最近接收的或更新的)元数据可以指示对应的AV数据同时具有指示的特征和/或包括指示的类型的音频和/或视频数据处理的结果。
在整个本公开中,包括在权利要求中,表达“拼接元数据”表示如下的元数据,该元数据指示对应的传输流(通常,其中包括元数据的传输流)或这样的传输流指示的节目是否满足至少一个完美拼接性质中的每一个(例如,传输流是否满足至少两个完美拼接性质中的每个)。例如,传输流的拼接元数据可以指示传输流(或传输流的数据指示的一个节目或至少两个节目中的每个)满足至少一个完美拼接性质(例如,至少两个完美拼接性质中的每个)。
在整个本公开中,包括在权利要求中,术语“耦合”或“耦合的”用于意指直接或间接连接。因此,如果第一装置耦合到第二装置,则连接可以是通过直接连接,或者通过经由其他装置和连接的间接连接。
具体实施方式
图3是音频处理链(音频数据处理系统)的例子的框图,在该系统中,该系统的元件中的一个或多个可以根据本发明的实施例被配置。该系统包括如所示那样耦合在一起的以下元件:捕捉单元1、生成单元3(其包括编码子系统)、递送子系统5以及拼接单元(拼接器)7。在所示的系统的变型中,所述元件中的一个或多个被省略,或者附加的处理单元被包括。
捕捉单元1通常被配置为:产生包括音频内容的PCM(时域)采样、和视频数据采样,并且输出PCM音频采样和视频数据采样。例如,PCM采样可以指示麦克风捕捉的音频的多个流。通常由广播员操作的生成单元3被配置为:接受作为输入的PCM音频采样和视频采样,并且产生并输出指示音频和视频内容的传输流。在图3系统的典型实现中,生成单元3被配置为输出MPEG-2传输流(例如,如下MPEG-2传输流,其音频内容根据AC-4标准被编码,以使得MPEG-2传输流的每个音频元素流包括具有AC-4格式的压缩音频数据)。在生成单元3被配置为执行本发明方法的实施例的一些实现中,从单元3输出的传输流(例如,MPEG-2传输流)也指示(即,包括)根据本发明的实施例产生的、本文中描述的类型中的任何一种类型的拼接元数据。
对根据本发明的各种实施例中的任何一个产生的传输流(例如,MPEG-2传输流)的音频内容执行的编码可以是AC-4编码,或者它可以是与视频帧对齐的任何其他的音频编码(即,使得视频的每个帧对应于编码音频的整数(即,非分数)个帧)(AC-4编码可以被执行以便具有后面这个性质)。
从单元3输出的传输流可以包括指示音频内容中的至少一些的编码(例如,压缩)音频位流(在本文中有时被称为“主混音”)、指示视频内容的视频位流、可选地还有指示音频内容中的一些的至少一个附加的位流或文件(在本文中有时被称为“副混音”)。传输流(以及每个产生的副混音,如果任何一个被产生的话)的指示音频内容的数据在本文中有时被称为“音频数据”。
传输流(例如,其主混音)的音频数据可以指示一组或多组扬声器声道、和/或指示对象声道的音频采样的流。
如图4中所示,图3的生成单元的实现包括编码子系统3B,其被耦合以从单元1接收视频和音频数据。子系统3B被配置为对音频数据(可选地还有视频数据)执行必要的编码以产生编码音频数据,可选地还有编码视频数据。(图4的)单元3的复用子系统3C被耦合并且被配置为将子系统3B的输出包装(包括通过打包和复用)为传输流(例如,MPEG-2传输流,其音频内容可以被根据AC-4标准进行编码以使得MPEG-2传输流的每个音频元素流包括具有AC-4格式的压缩音频数据)。在(图4的)单元3被配置为执行本发明方法的实施例的一些实现中,子系统3C被配置为将根据本发明的实施例产生的、本文中描述的类型中的任何一种类型的拼接元数据包括在传输流(例如,MPEG-2传输流)中。在(图4的)单元3被配置为执行本发明方法的实施例的典型实现中,子系统3C被配置为产生满足基本完美拼接性质(在本文中定义)、可选地还满足至少一个附加完美拼接性质的传输流(例如,MPEG-2传输流)。在子系统3C中产生的传输流的片段被缓冲(被以非暂态的方式存储)在缓冲器3A中,并且传输流被断言到递送子系统5。
图3的递送子系统5被配置为存储和/或发送(例如,广播)单元3产生的传输位流(例如,包括其每个副混音,如果任何副混音被产生的话)。
捕捉单元1’、生成单元3’(包括缓冲器3A’)和递送子系统5’分别与捕捉单元1、生成单元3和递送子系统5相同。它们可以操作为产生将被拼接器7与第一传输流拼接的第二传输流(其根据本发明的实施例产生)(并且将第二传输流递送给拼接器7的输入8B),第一传输流是在生成单元3中(也是根据本发明的实施例)产生的,并且被递送给拼接器7的输入8A。
图3的拼接器7包括输入8A和8B。输入8A被耦合以接收(例如,读取)由递送子系统5递送给拼接器7的至少一个传输流,输入8B被耦合以接收(例如,读取)由递送子系统5’递送给拼接器7的至少一个传输流。拼接器7还包括如图3中所示那样耦合的缓冲存储器(缓冲器)7A、缓冲存储器(缓冲器)7D、解析子系统7E、解析子系统7B以及拼接子系统7C。可选地,解析子系统7B和7E被省略(由于下面说明的原因),在这种情况下,缓冲器7A和7D的输出、可选地还有存储器9直接耦合到拼接子系统7C。可选地,拼接器7包括存储器9,其被耦合(如所示那样)并且被配置为存储将被拼接的传输流。在拼接器7的典型操作期间,在输入8A和/或8B处接收的至少一个被选择的传输流的片段(例如,在输入8A和8B处接收的传输流的被选择的序列的片段的序列)被缓冲(被以非暂态的方式存储)在缓冲器7A和/或缓冲器7D中。缓冲的片段被从缓冲器7A断言到解析子系统7B以供用于解析,并且缓冲的片段被从缓冲器7D断言到解析子系统7E。可替代地,存储在存储器9中的至少一个传输流的片段被断言到解析子系统7B以供用于解析(或者存储在存储器9中和/或在输入8A处接收的传输流的被选择的序列的片段被从缓冲器7A和/或存储器9断言到解析子系统7B以供用于解析)。通常,将被解析(在子系统7B或7E中)和拼接(在拼接子系统7C中)的每个传输流已经根据本发明的实施例产生。
如果拼接元数据(其指示传输流指示的节目是否满足至少一个完美拼接性质中的每个)被(根据本发明的实施例)包括在被断言到解析子系统7B的传输流(或者其至少一个片段)中,则子系统7B被配置为并且可操作为:从该传输流(或片段)解析这样的元数据以确定(传输流的)指示该节目的元素流的数据是否可以被以预期的方式拼接(以及被另外处理),并且通常,如果传输流(或者其指示节目的元素流的数据)不符合拼接器7支持的性质,还向操作者发出警告。
如果拼接元数据(其指示传输流指示的节目是否满足至少一个完美拼接性质中的每个)被(根据本发明的实施例)包括在被断言到解析子系统7E的传输流(或者其至少一个片段)中,则子系统7E被配置为并且可操作为:从该传输流(或片段)解析这样的元数据以确定(传输流的)指示该节目的元素流的数据是否可以被以预期的方式拼接(以及被另外处理),并且通常,如果传输流(或者其指示节目的元素流的数据)不符合拼接器7支持的性质,还向操作者发出警告。
在一些情况下(例如,当将被拼接器7拼接的传输流已经根据第一类中的实施例产生为具有本文中定义的“基本”完美拼接性质、可选地还有至少一个附加完美拼接性质时),解析子系统7B和7E可以被省略。当解析子系统7B和7E被省略时,拼接器7的实现可以对如下的传输流执行完美拼接,所述传输流已经被(根据第一类中的实施例)产生为具有拼接器7的相关实现为了执行完美拼接而所需的“基本”完美拼接性质和任何附加完美拼接性质。
拼接器7(例如,其子系统7B和7E和/或子系统7C)也被耦合并且被配置为确定将被拼接的每个传输流(例如,由递送子系统5递送到拼接器7的第一传输流和/或由递送子系统5’递送到拼接器7的第二传输流,或者存储在存储器9中的第一传输流和/或由递送子系统5或5’递送到拼接器7的第二传输流)中的拼接点,并且子系统7C被配置为对所述流(一个或多个)进行拼接以产生至少一个拼接的传输流(图3的“拼接的输出”)。在一些情况下,拼接省略单个传输流的片段,并且拼接器7被配置为:确定传输流的出点(即,时间)和传输流的入点(稍晚的时间),并且通过将在出点之前出现的流片段与在入点之后出现的流片段连结来产生拼接的传输流。在其他情况下,拼接将第二传输流插入在第一传输流的片段之间(或者第一传输流和第三传输流的片段之间),并且拼接器7被配置为:确定第一传输流的出点(即,时间)、第一(或第三)传输流的入点(稍晚的时间)、第二传输流的入点(即,时间)以及第二传输流的出点(稍晚的时间),并且产生拼接的传输流,所述拼接的传输流包括第一传输流的在该流的出点之前出现的数据、第二传输流的在该流的入点和出点之间出现的数据、以及第一(或第三)传输流的在第一(或第三)传输流的入点之后出现的数据。
在一些实现中,拼接器7被配置为根据本发明的拼接方法的实施例对均已经根据本发明的实施例产生的传输流(一个或多个)进行拼接以产生至少一个拼接的传输流(图3的“拼接的输出”)。
通常,回放系统将对从拼接器7输出的拼接的传输流进行解码和渲染。回放系统通常将包括用于对传输流的音频内容和视频内容进行解析的子系统、被配置为对音频内容进行解码和渲染的子系统、以及被配置为对视频内容进行解码和渲染的另一个子系统。
在第一类实施例中,本发明是一种用于(例如在图3的生成单元3中)产生传输流(例如,MPEG-2传输流)的方法,包括通过将编码音频数据(在本文中有时被称为“CA”)和视频数据打包在传输流中以使得传输流具有至少一个完美拼接性质(即,本文中定义的“基本”完美拼接性质,可选地还有本文中定义的附加完美拼接性质中的至少一个)。这些附加完美拼接性质是:“A/V I帧的PES对齐”的完美拼接性质、“A/V I帧对PTS值匹配”的完美拼接性质、“恒定超帧位率”的完美拼接性质、“传输流中的数据对齐”的完美拼接性质、“传输流中的保护带”的完美拼接性质、“传输流中标记的拼接点”的完美拼接性质。“基本”完美拼接性质保证在对传输流进行拼接时(例如,当对传输流的指示具有完美拼接性质的节目的片段进行拼接时)音频/视频同步(“A/V”同步)被保持,而不需要拼接器对传输流的任何编码音频元素流进行修改。
根据第一类中的实施例产生的传输流指示至少一个音频/视频节目(“节目”),并且(对于由其指示的每个节目)包括视频数据的帧(其确定至少一个视频元素流)以及对应的编码音频数据的帧(其确定至少一个音频元素流)。视频数据的帧(例如,图2的视频帧#1、#2、#3、#4、#5和#6)包括视频数据的I帧(例如,图2的视频I帧#1和#5),编码音频数据的帧(例如,图2的被标识为AC-4帧#1、AC-4帧#2、AC-4帧#3、AC-4帧#4、AC-4帧#5和AC-4帧#6的音频帧)包括编码音频数据的I帧(例如,图2的音频I帧AC-4帧#1、AC-4帧#3和AC-4帧#5),其中,“I帧”表示已经通过使用仅来自其本身内的信息被编码的可独立解码的帧。相反,“P帧”(预测编码帧)不是I帧。
传输流至少具有以下完美拼接性质(其在本文中有时被称为“基本”完美拼接性质):
对于传输流指示的每个节目,该节目的视频元素流和编码音频元素流的帧率是相同的(即,对于传输流的每个节目,该节目的每个视频元素流具有与该节目的每个编码音频元素流的帧率相同的帧率,并且对于该节目的每个视频帧,存在该节目的至少一个对应的编码音频帧);以及
I帧同步(即,视频和音频编码被同步以使得对于传输流的每个节目,对于该节目的视频元素流中的每个视频I帧,在该节目的音频元素流中存在至少一个匹配的音频I帧(即,与视频I帧同步的至少一个音频I帧))。
根据(例如,被图3的生成单元3)用于产生传输流的工作流程,(对传输流指示的节目)实现相同帧率性质可能需要在该节目的另一个元素流的帧率已经改变时对该节目的至少一个元素流重新编码,以使得元素流(在重新编码之后)的帧率是相同的。例如,当对应的视频元素流的帧率已经改变时,音频元素流可能需要被重新编码。通常,对这样的重新编码的需要可以通过选择合适的实现传输流的产生的工作流程来避免。
根据第一类中的实施例产生的传输流可以指示一个节目或者两个或更多个节目。每个节目包括确定视频元素流的视频数据的帧(包括I帧)以及确定至少一个音频元素流的对应编码音频数据的帧(包括I帧)。根据第一类中的实施例产生的每个传输流被说成是具有(即,满足)基本完美拼接性质(例如,基本的完美拼接性质),因为对于传输流指示的每个节目来说传输流的指示该节目的数据具有完美拼接性质。
根据第一类中的实施例产生的传输流具有以下性质:
1.当使用任何传输流拼接器(例如,图3的拼接器7)对传输流进行拼接时,在该拼接器不对传输流的任何编码音频元素流进行修改的情况下,完美A/V同步可以被保持;以及
2.可以在不损坏传输流的编码音频内容或者干扰A/V同步的情况下进行传输流的拼接(甚至通过具有低复杂度的拼接器对传输流的拼接)。
除了以上定义的基本完美拼接性质(视频和编码音频的相同帧率、以及I帧同步)之外,根据第一类中的实施例产生的传输流可以具有至少一个附加完美拼接性质(例如,下述完美拼接性质中的一个或多个)。产生满足至少一个这样的附加完美拼接性质的传输流的选项允许传输流创建者(例如,网络运营商)选择哪个或哪些完美拼接性质应被满足。满足更多完美拼接性质通常需要更多用于传输流产生的开销,但是允许使用更简单的拼接器实现。具有更少完美拼接性质的传输流的产生通常允许更简单的传输流产生,但是需要更复杂的拼接器实现。通常,传输流产生器自由选择是(根据本发明的实施例)产生满足更多的完美拼接性质的传输流、还是产生满足更少的完美拼接性质的传输流来在传输流产生的复杂度和拼接器实现复杂度之间实现期望的折中,而不是被迫接受特定的使用模式。希望还是必需传输流满足特定的完美拼接性质取决于被构想用于对传输流进行拼接的(一个或多个)拼接器的特征。非常精细的拼接器通常将需要更少的完美拼接性质,而非常简单的拼接器可能需要具有更多的完美拼接性质的传输流。
因为根据第一类中的实施例产生的传输流满足基本完美拼接性质,所以拼接器(例如,图3的拼接器7)可以在不修改传输流的任何节目的任何音频元素流的情况下对传输流进行无缝拼接。然而,为了执行无缝拼接,拼接器可能需要执行传输流的再复用或其他修改(例如,包括音频元素流的包的序列可能需要被与传输流的其他包再复用以产生拼接的传输流)。拼接器可能还需要以防止接收拼接的传输流的接收器(例如,下游的解码器)的缓冲器下溢或上溢的方式执行拼接。拼接器的任务可以通过将将被拼接的每个传输流产生为具有一个或多个附加完美拼接性质(除了以上定义的基本完美拼接性质之外)而被简化。因此,在一些实施例中,本发明是一种用于产生满足基本完美拼接性质并且还满足以下附加完美拼接性质中的至少一个的传输流(例如,MPEG-2传输流)的方法:
1.A/V I帧的PES对齐。如果对于传输流的每个节目,该节目的视频元素流中的每个视频I帧是与该节目的编码音频I帧对齐的PES包(即,编码音频I帧的第一个字节在新的PES(打包元素流)包的开头,视频I帧的第一个字节在新的PES包的开头),则该传输流具有该性质。该节目的随后直到下一个匹配I帧的开头为止的编码音频帧不需要是对齐的PES包。打包元素流(PES)包的例子被参照图2进行了描述,以上对MPEG-2传输流格式的描述指的是MPEG-2传输流的PES包,并且指出,每个PES包通常被封装到TS包序列中,TS包序列被包括在MPEG-2传输流中。这样的TS包的示例性序列在图2的中间行中被示出;
2.A/V I帧对PTS值匹配。如果对于传输流的每个节目,对于每个视频I帧,存在至少一个匹配的音频I帧(如基本完美拼接性质的I帧同步要求中所规定的那样,并且其中包括一个所述视频I帧和与该视频I帧匹配的音频I帧的每个I帧对在本文中有时被称为“A/V I帧对”),并且每个A/V I帧对的I帧具有匹配的(例如,相同的)呈现时间戳(PPTS)值,则该传输流具有该性质。以上对MPEG-2传输流格式的描述指的是常规的MPEG-2传输流的PTS值,并且指出,构成音频或视频帧(由PTS包指示)的所有TS包都具有相同的PTS时间戳值;
3.恒定超帧位率。在本文中,术语“超帧”表示从(传输流的节目的)A/V I帧对的音频I帧开始、以正好在(该节目的)下一个A/VI帧对前面出现的音频帧结束的音频帧序列。如果对于传输流的每个节目,用于每一个超帧的平均位率是恒定的,则该传输流具有“恒定超帧位率”的完美拼接性质。指出,恒定位率(CBR)是“恒定超帧位率”性质的特殊情况,并且“恒定超帧位率”性质确保当具有相等的编码音频位率的流被拼接在一起时接收器缓冲器(一个或多个)在拼接之后不会上溢或下溢;
4.传输流中的数据对齐。如果对于传输流的每个节目,包括A/VI帧对和随后直到下一个A/V I帧对的A/V帧的A/V帧序列被复用到传输流中,以使得它们被一起发送(即,被时间复用以在传输流的单个、连续的片段中出现),则该传输流具有“传输流中的数据对齐”的完美拼接性质;
5.传输流中的保护带。如果对于传输流的每个节目,对于该节目的每个A/V I帧对,承载所述A/V I帧对的编码音频数据的传输流包的发送不是在承载所述A/V I帧对的视频数据的传输流包的发送开始之前开始的,则该传输流具有“传输流中的保护带”的完美拼接性质。此外,对于正好在该节目的每个A/V I帧对前面出现的音频帧,用于所述音频帧的所有的音频数据传输流包都是在该A/V I帧对前面的最后一个视频数据传输流包被发送之前被发送的。这样的保护带的重要益处是确保被实现为仅查看视频来决定在何处进行拼接的传输流拼接器将永不损坏任何音频帧;以及
6.传输流中标记的拼接点。如果传输流包括明确地指示传输流中的合适的拼接点(例如,如ISO/IEC 13818-1的附录A中所描述的那样),并且元数据仅指示正好在合适的A/V I帧对前面出现的拼接点,则该传输流具有“传输流中标记的拼接点”的完美拼接性质。这样的被指示的拼接点是传输流中的潜在的无缝拼接点。可选地,视频的格式可以暗示对无缝拼接点的进一步的要求(例如,取决于用于产生传输流的视频编码的格式,不是每一个视频I帧都可能适合作为无缝拼接点),并且元数据仅指示(作为合适的拼接点的)正好在合适的A/VI帧对前面出现并且还满足这样的进一步的要求的拼接点。
(例如,通过图3的单元3)根据第一类实施例中的一些实施例产生的传输流(例如,MPEG-2传输流)包括指示该传输流(或者由其指示的节目)是否具有完美拼接性质的元数据(“拼接元数据”)(例如,指示传输流或节目是否具有基本完美拼接性质以及至少一个其他的完美拼接性质的元数据)。例如,这样的拼接元数据可以包括参照本发明的第二类实施例描述的拼接元数据的特定例子中的任何一个,或者由这些特定例子中的任何一个组成。
图1是三个拼接点的示图,每个拼接点在不同的传输流中。每个传输流包括不同的TS包序列(具有包括被用“A”标记的编码音频数据的那些TS包以及包括被用“V”标记的视频数据的那些TS包)。在图1的例子中,假设处理是由具有简单实现的拼接器、用很小的存储器、并且在不知道已经对将被拼接的传输流中的音频执行什么编码(例如,AC-4)的情况下进行的。在操作中,该拼接器将通过找出视频流中的在该处一个视频帧已经结束、但是下一个视频帧尚未开始的位置来简单地确定潜在的拼接点(并且认为这样的点是潜在拼接点)。
参照图1的例子,图1中的三个传输流中的底部的一个传输流具有上述“传输流中的保护带”的完美拼接性质,但是图1中的顶部两个传输流中的每个没有这样的“传输流中的保护带”的完美拼接性质。在图1的每个传输流中,拼接点前面(即,在图1中的左边)的每个视频TS包是编号为“n”的A/V/I帧对的TS包,拼接点后面(即,在图1中的右边)的每个视频TS包是下一个A/V/I帧对(编号为“n+1”的A/V/I帧对)的TS包。拼接器不知道已经对传输流中的任何一个中的音频执行什么编码。
当对图1的顶部两个传输流(其不满足“传输流中的保护带”的完美拼接性质)中的任何一个进行拼接时,拼接器可能在紧挨着视频帧(其开头或末尾已经被标识为潜在的拼接点)的音频帧的中间进行拼接,这样损坏该音频帧。即使拼接不损坏音频帧,它也可能引起其他问题。例如,在图1的顶部传输流中,我们假设感叹号上方的音频TS包(拼接点后面的第一个音频TS包)对应于它前面的视频TS包的视频帧,即,这两个TS包将被同时呈现,并且应被看作不可分离的单元。在这种情况下,(在图1的顶部传输流中)指示的拼接点处的拼接将是错误的,因为这将不合希望地使该拼接点前面的音频包从拼接流丢失。
类似地,在图1的中间传输流中,我们假设感叹号上方的音频TS包(拼接点前面的最后一个音频TS包)对应于它随后的视频TS包的视频帧,即,这两个TS包将被同时呈现,并且应被看作不可分离的单元。在这种情况下,(在图1的中间传输流中)指示的拼接点处的拼接将是错误的,因为这将使该拼接点后面的音频包从拼接流丢失。
在图1的底部传输流中,拼接器选择拼接点出现在两个视频帧之间,并且因为音频被复用到传输流中以致远离潜在的拼接点,所以该点处的拼接不会以任何方式损坏音频(即使拼接器不知道什么音频数据对应于每个视频帧)。
图2是具有以上定义的基本完美拼接性质以及以上列出的并且定义的六个附加完美拼接性质中的头五个(“A/V I帧的PES对齐”、“A/V I帧对PTS值匹配”、“恒定超帧位率”、“传输流中的数据对齐”以及“传输流中的保护带”)的MPEG-2传输流的例子的示图。为了产生图2的MPEG-2传输流,音频帧被包装到PES包中(在图2的顶行中被用放大版本示出),并且视频帧被包装到PES包中(在图2的底行中被用放大版本示出)。指示音频帧的每个PES包具有PTS值0、3600、7200、10800、14400和18000中的不同的一个,并且指示视频帧的每个PES包具有PTS值0、3600、7200、10800、14400和18000中的不同的一个。
每个PES包被包装为一组传输流(TS)包,并且MPEG-2传输流包括指示的TS包序列(在图2的中间行中被示出)。对传输流进行处理的传输流拼接器可以可能在被用线条S1和S2标记的位置处进行拼接,这些位置中的每个正好在视频I帧前面出现,因此使音频不受干扰。为了简化例子,图2中指示的所有的帧都是对齐的PES包(即使在I帧之间也是如此,虽然这不是必需的)。
在第二类实施例中,本发明是一种用于(例如,在图3的单元3中)产生传输流(例如,MPEG-2传输流)的方法,所述传输流指示至少一个音频/视频节目(“节目”),并且包括指示该节目是否具有完美拼接性质的元数据(“拼接元数据”)(例如,指示该节目是否具有基本完美拼接性质和/或至少一个其他的完美拼接性质的元数据)。如果传输流指示至少两个节目,则拼接元数据可以指示这些节目中的每个是否具有完美拼接性质(例如,这些节目中的每个单个的节目是否具有完美拼接性质)。拼接元数据可以共同指示(例如,关于)传输流指示的所有节目,或者可以特定地指示传输流指示的每个单个的节目(或所有节目的子集)。
根据第二类中的实施例产生的传输流的拼接元数据可以指示该传输流指示的至少一个节目(例如,每个节目)是否具有“基本”完美拼接性质(以上参照第一类实施例定义)、和/或该传输流指示的至少一个节目是否具有(以上参照第一类实施例定义的类型中的任何一个的)至少一个附加完美拼接性质。
参照第二类实施例,传输流指示的节目“具有”(即,满足)完美拼接性质的表达表示该传输流的指示该节目的数据(例如,确定该节目的至少一个视频元素流的视频数据的帧(包括视频数据的I帧)、以及确定该节目的至少一个音频元素流的编码音频数据的帧(包括编码音频数据的I帧))具有完美拼接性质(例如,传输流的指示至少一个其他节目的其他数据可能不具有完美拼接性质)。
根据第二类中的典型实施例产生的传输流包括(对于该传输流指示的每个节目的)视频数据的帧(其确定该节目的至少一个视频元素流)以及编码音频数据的帧(其确定该节目的至少一个音频元素流)。视频数据的帧(例如,图2的视频帧#1、#2、#3、#4、#5和#6)包括视频数据的I帧(例如,图2的视频I帧#1和#5),编码音频数据的帧(例如,图2的被标识为AC-4帧#1、AC-4帧#2、AC-4帧#3、AC-4帧#4、AC-4帧#5和AC-4帧#6的音频帧)包括编码音频数据的I帧(例如,图2的音频I帧AC-4帧#1、AC-4帧#3和AC-4帧#5)。
(根据第二类中的实施例产生的传输流中的)指示该传输流的节目的数据可以具有以上定义的基本完美拼接性质,并且还可以具有上述附加完美拼接性质中的一个或多个。产生满足至少一个这样的附加完美拼接性质的数据(其指示节目)的选项允许传输流创建者选择哪个或哪些完美拼接性质应被满足。满足更多的完美拼接性质通常需要更多的用于传输流产生的开销,但是允许使用更简单的拼接器实现。
拼接元数据被包括在传输流中(拼接元数据指示该传输流指示的节目是否满足至少一个完美拼接性质中的每个)使得拼接器能够从该传输流解析这样的元数据以确定(该传输流的)指示该节目的元素流的数据是否可以被以预期的方式拼接(以及被另外处理),并且如果传输流(或者其的指示节目的元素流的数据)不符合拼接器支持的性质,则能够向操作者发出警告。
根据第二类中的实施例产生的指示至少两个节目的传输流可以包括关于这些节目中的每个的拼接元数据。关于每个节目的拼接元数据可以指示该节目是否满足至少一个完美拼接性质。例如,拼接元数据可以指示节目是否满足至少两个完美拼接性质中的每个。
如所指出的,传输流可以指示多个节目。每个节目可以包括多个元素流(例如,一个视频元素流以及一个或多个编码音频元素流)。通常,每个元素流具有相关联的描述符(在本文中有时被称为“元素流描述符”),该描述符包括表征该元素流或者以其他方式与该元素流相关的信息。通过对每个元素流的描述符进行分析,拼接器可以确定传输流(或者其节目)是否具有它们所需的性质(并且可选地如果预期性质中的一些不存在则发出警告或错误)。根据本发明的典型实施例的传输流中所包括的拼接元数据可以被包括在该传输流的元素流描述符中(并且可以指示包括该元素流的节目的每个完美拼接性质)。可替代地,拼接元数据可以被包括在传输流的其他部分(片段)中(并且可以共同指示传输流的所有节目,或者单个地指示传输流的每个节目)。
在典型的实施例中,传输流的每个完美拼接性质是关于该传输流指示的节目的(一个或多个)元素流的,并且传输流包括关于该传输流的每个节目的拼接元数据,关于每个节目的拼接元数据指示该节目的(一个或多个)元素流满足的每个完美拼接性质。例如,根据第二类中的实施例产生的传输流可以包括具有一个视频元素流和两个音频元素流的节目(即,可以包括指示该节目的数据)。在这个例子中,传输流的确定该节目的数据可以具有完美拼接性质,并且传输流可以包括(关于该节目的)拼接元数据,该拼接元数据指示该节目的元素流满足的完美拼接性质。
接下来描述根据第二类中的实施例产生的传输流中所包括的拼接元数据的例子。这样的传输流中所包括的拼接元数据可以包括以下中的全部或一些(或者由以下中的全部或一些组成):
指示传输流的至少一个节目(即,传输流的指示每个所述节目的数据)是否满足视频和编码音频的帧率相同的性质的元数据(例如,如果满足相同帧率性质,则传输流的描述符中的framerate_match位被设置(为“1”值)。否则,这样的位保持不被设置(被设置为“0”值));
指示传输流的至少一个节目是否满足I帧同步性质的元数据(例如,如果满足I帧同步性质,则传输流的描述符中的iframes_synced位被设置(为“1”值)。否则,这样的位保持不被设置(被设置为“0”值));
指示传输流的至少一个节目是否满足“A/V I帧的PES对齐”的完美拼接性质的元数据。例如,该拼接元数据可以是传输流的描述符中的关于该传输流的满足该性质的每个节目的位(即,iframes_pes_aligned位)。如果该节目满足该性质,则这样的iframes_pes_aligned位将被设置(为“1”值)。否则,该位将保持不被设置(被设置为“0”值);
指示传输流的至少一个节目是否满足“A/V I帧对PTS值匹配”完美拼接性质的元数据。例如,拼接元数据可以是传输流的描述符中的关于传输流的满足该性质的每个节目的位(例如,iframe_pts_match位)。如果该节目满足该性质,则这样的iframe_pts_match位将被设置(为“1”值)。否则,该位将保持不被设置;
指示传输流的至少一个节目是否满足“恒定超帧位率”的完美拼接性质的元数据。例如,拼接元数据可以是传输流的描述符中的关于传输流的满足该性质的每个节目的位(例如,constant_hyperframe_bitrate位)。如果该节目满足该性质,则这样的constant_hyperframe_bitrate位将被设置(为“1”值)。否则,该位将保持不被设置(被设置为“0”值);
指示传输流的至少一个节目是否满足“传输流中的数据对齐”的完美拼接性质的元数据。例如,拼接元数据可以是传输流的描述符中的关于传输流的满足该性质的每个节目的位(例如,avdata_aligned位)。如果该节目满足该性质,则这样的avdata_aligned位将被设置(为“1”值)。否则,该位将保持不被设置(被设置为“0”值);
指示传输流的至少一个节目是否满足“传输流中的保护带”的完美拼接性质的元数据。例如,拼接元数据可以是传输流的描述符中的关于传输流的满足该性质的每个节目的位(例如,guardband位)。如果对于该节目来说满足该性质,则这样的guardband位将被设置(为“1”值)。否则,该位将保持不被设置(被设置为“0”值);和/或
指示传输流的至少一个节目是否满足“传输流中标记的拼接点”的完美拼接性质的元数据。例如,拼接元数据可以是传输流的描述符中的关于传输流的满足该性质的每个节目的位(例如,splicemarkers位)。如果该节目满足该性质,则这样的splicemarkers位将被设置(为“1”值)。否则,该位将保持不被设置(被设置为“0”值)。
在关于节目的拼接元数据包括framerate_match位和iframes_synced位的以上例子中,如果这两个位被设置(两个都具有逻辑值“1”),则拼接元数据指示该节目满足基本完美拼接性质(因为它对于视频和编码音频具有相同的帧率,并且满足I帧同步性质)。
在一些实施例中,本发明是这样一种方法,该方法用于对具有基本完美拼接性质的传输流(例如,MPEG-2传输流)进行拼接、从而在不修改该传输流的任何编码音频元素流的情况下产生拼接的传输流(例如,图3的被配置为执行这样的拼接方法的拼接器7的实现的输出)(但是在一些情况下,拼接器可能需要以不包括传输流的任何编码音频元素流的数据的修改的方式执行传输流的再复用或其他修改)。可选地,传输流还包括上述附加完美拼接性质中的至少一个(例如,该流可以具有基本完美拼接性质以及所有的附加完美拼接性质)。如果传输流满足基本完美拼接性质,则拼接被执行以使得传输流中的音频/视频同步被保持在拼接的传输流中。
在一些实施例中,本发明是一种用于对已经根据第二类中的任何实施例被产生为包括拼接元数据的传输流(例如,MPEG-2传输流)进行拼接的方法。该方法包括以下步骤:(a)(例如,在图3的拼接器7中)对传输流的至少一部分进行解析以标识拼接元数据(例如,传输流的元素流描述符中的拼接元数据);以及(b)当(例如,在图3的拼接器7中)确定拼接元数据指示传输流的至少一个片段(例如,整个传输流或传输流指示的节目)具有至少一个完美拼接性质(包括基本完美拼接性质)时,在不修改传输流的任何编码音频元素流的情况下对传输流进行拼接,从而产生拼接的传输流(例如,图3的被配置为执行这样的拼接方法的拼接器7的实现的输出)。如果传输流(或者其的被拼接的片段)具有基本完美拼接性质,则执行步骤(b)以使得传输流中的音频/视频同步被保持在拼接的传输流中。
图3的单元3和7均可以被实现为硬件系统。
通常,图3的单元3包括至少一个缓冲器3A,图3的单元3’包括至少一个缓冲器3A’,图3的拼接器7包括至少一个缓冲器(7A和/或7E)。通常,缓冲器3A、3A’、7A和7E均是被耦合以接收传输流的包序列的缓冲存储器,并且在操作中,缓冲存储器(例如,以非暂态的方式)存储传输流的至少一个片段。在单元3(或3’)的典型操作中,传输流的片段序列被从缓冲器3A断言到递送子系统5(或者被从缓冲器3A’断言到递送子系统5’)。在拼接器7的典型操作中,将被拼接的传输流的片段序列被从缓冲器7A断言到拼接器7的解析子系统7B,并且被从缓冲器7D断言到拼接器7的解析子系统7E。
图3的单元3和/或拼接器7(或者其任何组件或元件)可以被实现为一个或多个处理和/或一个或多个电路(例如,ASIC、FPGA或其他集成电路)、被用硬件、软件或硬件和软件的组合实现。
本发明的另一个方面是一种被配置为执行本发明方法的任何实施例(例如,具有基本完美拼接性质和/或包括拼接元数据的传输流的产生或拼接)的处理单元(AVPU)。例如,AVPU可以是被配置为执行本发明的传输流拼接方法的任何实施例的拼接器(例如,图3的拼接器7的适当配置的实施例)。在另一类实施例中,本发明是一种包括至少一个缓冲存储器(例如,图3的单元3中的缓冲器3A、或图3的拼接器7的缓冲器7A或7E)的AVPU(例如,图3的单元3或拼接器7),该缓冲存储器(例如,以非暂态的方式)存储已经通过本发明方法的任何实施例产生的传输流(例如,至少满足本文中定义的基本完美拼接性质、可选地还有本文中定义的任何类型的至少一个附加完美拼接性质的传输流)的至少一个片段。存储在缓冲器中的片段可以包括拼接元数据(其已经根据本发明方法的任何实施例包括在传输流中)。AVPU的例子包括但不限于编码器(例如,代码转换器)、解码器(例如,被配置为对传输流的内容进行解码和/或执行拼接以产生拼接的传输流并且对拼接的传输流的内容进行解码的解码器)、编解码器、拼接器、预处理系统(预处理器)、后处理系统(后处理器)、传输流处理系统以及这样的元件的组合。
本发明的方面包括一种被配置为(例如,被编程为)执行本发明方法的任何实施例的系统或装置、以及(例如,以非暂态的方式)存储用于实现本发明方法或者其步骤的任何实施例的代码的计算机可读介质(例如,盘)。例如,本发明系统可以是或者可以包括被用软件或固件编程为和/或被以其他方式配置为对数据执行各种操作中的任何一个(包括本发明方法或者其步骤的实施例)的可编程通用处理器、数字信号处理器或微处理器。这样的通用处理器可以是或者可以包括计算机系统,该计算机系统包括输入装置、存储器以及被编程为(和/或被以其他方式配置为)响应于被断言到其的数据执行本发明方法(或者其步骤)的实施例的处理电路。
本发明的实施例可以用硬件、固件或软件或它们的组合实现(例如,被实现为可编程逻辑阵列)。例如,图3的单元3和/或拼接器7可以用适当编程的(或以其他方式配置的)硬件或固件实现,例如,被实现为被编程的通用处理器、数字信号处理器或微处理器。除非另有指定,否则被包括作为本发明的一部分的算法或处理与任何特定的计算机或其他设备没有内在关连。特别是,各种通用机器可以与根据本文中的教导编写的程序一起使用,或者可能更方便的是构造更专门的执行所需的方法步骤的设备(例如,集成电路)。因此,本发明可以用在一个或多个可编程计算机系统上执行的一个或多个计算机程序来实现(例如,图3的单元3和/或拼接器7的元件中的全部或一些的实现),每个可编程计算机系统包括至少一个处理器、至少一个数据存储系统(包括易失性和非易失性存储器和/或存储元件)、至少一个输入装置或端口以及至少一个输出装置或端口。程序代码被应用于输入数据以执行本文中描述的功能并且产生输出信息。输出信息被以已知的方式应用于一个或多个输出装置。
每个这样的程序可以用任何期望的计算机语言(包括机器、汇编或高级过程、逻辑或面向对象的编程语言)来实现以与计算机系统进行通信。在任何情况下,所述语言可以是汇编或解释语言。
例如,当用计算机软件指令序列实现时,本发明的实施例的各种功能和步骤可以用在合适的数字信号处理硬件中运行的多线程软件指令序列来实现,在这种情况下,实施例的各种装置、步骤和功能可以对应于软件指令的部分。
每个这样的计算机程序优选地被存储在或者下载到可被通用或专用可编程计算机读取的存储介质或装置(例如,固态存储器或介质、或磁性或光学介质)上,用于当该存储介质或装置被计算机系统读取时配置并操作计算机以执行本文中描述的过程。本发明系统也可以被实现为被用计算机程序配置(即,存储计算机程序)的计算机可读存储介质,其中,如此配置的存储介质使计算机系统以特定的预定义的方式操作以执行本文中描述的功能。
本发明的若干个实施例已经被描述。应理解,在不脱离本发明的精神和范围的情况下,可以进行各种修改。本发明的许多修改和变型根据以上教导是可能的。要理解,在所附权利要求的范围内,本发明可以被不同于本文中具体描述的方式实施。

Claims (73)

1.一种用于产生传输流的方法,包括以下步骤:
(a)提供指示至少一个音频/视频节目的编码音频数据和视频数据,其中,对于每个所述节目,指示所述节目的编码音频数据和视频数据包括确定至少一个视频元素流的视频数据的帧以及确定至少一个音频元素流的编码音频数据的帧,所述视频数据的帧包括视频数据的I帧,所述编码音频数据的帧包括编码音频数据的I帧;以及
(b)将所述编码音频数据和所述视频数据包括在所述传输流中,以使得所述传输流具有基本完美拼接性质,其中,所述基本完美拼接性质是:
对于所述传输流指示的每个节目,所述节目的每个视频元素流具有与所述节目的每个编码音频元素流的帧率相同的帧率,并且对于所述节目的每个视频帧,存在所述节目的至少一个对应的编码音频帧;以及
对于所述传输流指示的每个节目,对于所述节目的每个视频元素流中的每个视频I帧,在所述节目的音频元素流中存在至少一个匹配的音频I帧。
2.根据权利要求1所述的方法,其中,所述传输流是MPEG-2传输流。
3.根据权利要求2所述的方法,其中,所述编码音频数据是具有AC-4格式的压缩音频数据。
4.根据权利要求1所述的方法,其中,步骤(b)被执行以使得所述传输流还具有至少一个附加完美拼接性质。
5.根据权利要求4所述的方法,其中,每个所述视频元素流和每个所述音频元素流被打包在打包元素流(“PES”)包中,并且所述附加完美拼接性质是:
对于传输流的每个节目,所述节目的视频元素流中的每个视频I帧是与所述节目的编码音频I帧对齐的PES包。
6.根据权利要求5所述的方法,其中,所述传输流是MPEG-2传输流。
7.根据权利要求4所述的方法,其中,所述附加完美拼接性质是:
对于传输流的每个节目,对于所述节目的每个视频I帧,存在至少一个匹配的音频I帧,其中,包括一个所述视频I帧和与所述视频I帧匹配的音频I帧的每个I帧对是A/V I帧对,并且其中,每个所述A/V I帧对的I帧具有匹配的呈现时间戳(PTS)值。
8.根据权利要求7所述的方法,其中,所述传输流是MPEG-2传输流。
9.根据权利要求7所述的方法,其中,所述附加完美拼接性质是:
对于传输流的每个节目,用于所述节目的每一个超帧的平均位率是恒定的,其中,每个所述超帧是从所述节目的A/V I帧对的音频I帧开始、以恰好在所述节目的下一个A/V I帧对前面的音频帧结束的音频帧序列。
10.根据权利要求9所述的方法,其中,所述传输流是MPEG-2传输流。
11.根据权利要求7所述的方法,其中,所述附加完美拼接性质是:
对于传输流的每个节目,包括所述节目的A/V I帧对以及随后直到所述节目的下一个A/V I帧对的A/V帧的每个A/V帧序列被时间复用以在所述传输流的单个连续的片段中出现。
12.根据权利要求11所述的方法,其中,所述传输流是MPEG-2传输流。
13.根据权利要求7所述的方法,其中,所述附加完美拼接性质是:
对于传输流的每个节目,对于所述节目的每个A/V I帧对,承载所述A/V I帧对的编码音频数据的传输流包的发送不是在承载所述A/V I帧对的视频数据的传输流包的发送开始之前开始的,并且对于正好在所述节目的每个A/V I帧对前面出现的音频帧,用于所述音频帧的所有的音频数据传输流包都是在所述A/V I帧对前面的最后一个视频数据传输流包被发送之前被发送的。
14.根据权利要求13所述的方法,其中,所述传输流是MPEG-2传输流。
15.根据权利要求7所述的方法,还包括以下步骤:
将明确地指示所述传输流中的合适的拼接点的元数据包括在所述传输流中,所述元数据仅指示正好在合适的A/V I帧对前面出现的拼接点。
16.根据权利要求15所述的方法,其中,所述传输流是MPEG-2传输流。
17.根据权利要求1所述的方法,还包括以下步骤:
将指示所述传输流或所述传输流指示的节目是否具有至少一个完美拼接性质的元数据包括在所述传输流中。
18.一种用于产生传输流的方法,包括以下步骤:
(a)提供指示至少一个音频/视频节目的编码音频数据和视频数据,其中,对于每个所述节目,指示所述节目的编码音频数据和视频数据包括确定至少一个视频元素流的视频数据的帧以及确定至少一个音频元素流的编码音频数据的帧,所述视频数据的帧包括视频数据的I帧,所述编码音频数据的帧包括编码音频数据的I帧;以及
(b)将所述编码音频数据、视频数据和拼接元数据包括在所述传输流中,其中,所述拼接元数据指示所述传输流或所述传输流指示的至少一个节目是否具有至少一个完美拼接性质。
19.根据权利要求18所述的方法,其中,所述拼接元数据指示所述传输流是否具有基本完美拼接性质,其中,所述基本完美拼接性质是:
对于所述传输流指示的每个节目,所述节目的每个视频元素流具有与所述节目的每个编码音频元素流的帧率相同的帧率,并且对于所述节目的每个视频帧,存在所述节目的至少一个对应的编码音频帧;以及
对于所述传输流指示的每个节目,对于所述节目的每个视频元素流中的每个视频I帧,在所述节目的音频元素流中存在至少一个匹配的音频I帧。
20.根据权利要求18所述的方法,其中,所述传输流是MPEG-2传输流。
21.根据权利要求20所述的方法,其中,所述编码音频数据是具有AC-4格式的压缩音频数据。
22.根据权利要求18所述的方法,其中,所述拼接元数据包括关于所述传输流指示的每个节目的拼接元数据,并且关于所述每个节目的拼接元数据指示所述节目的元素流满足的每个完美拼接性质。
23.根据权利要求18所述的方法,其中,所述拼接元数据由指示所述传输流指示的至少一个节目是否具有基本完美拼接性质的元数据组成或者包括所述元数据,其中,关于每个所述节目的基本完美拼接性质是:
所述节目的每个视频元素流具有与所述节目的每个编码音频元素流的帧率相同的帧率,并且对于所述节目的每个视频帧,存在所述节目的至少一个对应的编码音频帧;以及
对于所述节目的每个视频元素流中的每个视频I帧,在所述节目的音频元素流中存在至少一个匹配的音频I帧。
24.根据权利要求23所述的方法,其中,所述传输流是MPEG-2传输流。
25.根据权利要求18所述的方法,其中,每个所述视频元素流和每个所述音频元素流被打包在打包元素流(“PES”)包中,并且其中,所述拼接元数据由指示所述传输流指示的至少一个节目是否具有完美拼接性质的元数据组成或者包括所述元数据,其中,关于每个所述节目的完美拼接性质是:
所述节目的视频元素流中的每个视频I帧是与所述节目的编码音频I帧对齐的PES包。
26.根据权利要求25所述的方法,其中,所述传输流是MPEG-2传输流。
27.根据权利要求18所述的方法,其中,所述拼接元数据由指示所述传输流指示的至少一个节目是否具有完美拼接性质的元数据组成或者包括所述元数据,其中,关于每个所述节目的完美拼接性质是:
对于所述节目的每个视频I帧,存在至少一个匹配的音频I帧,其中,包括一个所述视频I帧和与所述视频I帧匹配的音频I帧的每个I帧对是A/V I帧对,并且其中,每个所述A/V I帧对的I帧具有匹配的呈现时间戳(PTS)值。
28.根据权利要求27所述的方法,其中,所述传输流是MPEG-2传输流。
29.根据权利要求27所述的方法,其中,所述拼接元数据包括指示所述传输流指示的至少一个节目是否具有附加完美拼接性质的元数据,其中,所述附加完美拼接性质是:
用于所述节目的每一个超帧的平均位率是恒定的,其中,每个所述超帧是从所述节目的A/V I帧对的音频I帧开始、以正好在所述节目的下一个A/V I帧对前面的音频帧结束的音频帧序列。
30.根据权利要求29所述的方法,其中,所述传输流是MPEG-2传输流。
31.根据权利要求27所述的方法,其中,所述拼接元数据包括指示所述传输流指示的至少一个节目是否具有附加完美拼接性质的元数据,其中,所述附加完美拼接性质是:
包括所述节目的A/V I帧对以及随后直到所述节目的下一个A/VI帧对的A/V帧的每个A/V帧序列被时间复用以在所述传输流的单个连续的片段中出现。
32.根据权利要求31所述的方法,其中,所述传输流是MPEG-2传输流。
33.根据权利要求27所述的方法,其中,所述拼接元数据包括指示所述传输流指示的至少一个节目是否具有附加完美拼接性质的元数据,其中,所述附加完美拼接性质是:
对于所述节目的每个A/V I帧对,承载所述A/V I帧对的编码音频数据的传输流包的发送不是在承载所述A/V I帧对的视频数据的传输流包的发送开始之前开始的,并且对于正好在所述节目的每个A/V I帧对前面出现的音频帧,用于所述音频帧的所有的音频数据传输流包都是在所述A/V I帧对前面的最后一个视频数据传输流包被发送之前被发送的。
34.根据权利要求33所述的方法,其中,所述传输流是MPEG-2传输流。
35.根据权利要求27所述的方法,其中,所述拼接元数据包括明确地指示所述传输流中的合适的拼接点的拼接点元数据,所述拼接点元数据仅指示正好在合适的A/V I帧对前面出现的拼接点。
36.根据权利要求35所述的方法,其中,所述传输流是MPEG-2传输流。
37.一种用于传输流拼接的方法,包括以下步骤:
(a)提供具有基本完美拼接性质的传输流,其中,所述传输流指示编码音频数据和视频数据,所述编码音频数据和所述视频数据指示至少一个音频/视频节目,对于每个所述节目,指示所述节目的所述编码音频数据和视频数据包括确定至少一个视频元素流的视频数据的帧以及确定至少一个音频元素流的编码音频数据的帧,所述视频数据的帧包括视频数据的I帧,所述编码音频数据的帧包括编码音频数据的I帧,并且其中,所述基本完美拼接性质是:
对于所述传输流指示的每个节目,所述节目的每个视频元素流具有与所述节目的每个编码音频元素流的帧率相同的帧率,并且对于所述节目的每个视频帧,存在所述节目的至少一个对应的编码音频帧;以及
对于所述传输流指示的每个节目,对于所述节目的每个视频元素流中的每个视频I帧,在所述节目的音频元素流中存在至少一个匹配的音频I帧;以及
(b)对所述传输流进行拼接,从而在不修改所述传输流的任何编码音频元素流的情况下产生拼接的传输流。
38.根据权利要求37所述的方法,其中,所述传输流是MPEG-2传输流。
39.根据权利要求38所述的方法,其中,所述编码音频数据是具有AC-4格式的压缩音频数据。
40.根据权利要求37所述的方法,其中,所述传输流还具有至少一个附加完美拼接性质。
41.一种用于传输流拼接的方法,包括以下步骤:
(a)对传输流的至少一部分进行解析,其中,所述传输流指示编码音频数据、视频数据和拼接元数据,所述编码音频数据和所述视频数据指示至少一个音频/视频节目,对于每个所述节目,指示所述节目的编码音频数据和视频数据包括确定至少一个视频元素流的视频数据的帧以及确定至少一个音频元素流的编码音频数据的帧,所述视频数据的帧包括视频数据的I帧,所述编码音频数据的帧包括编码音频数据的I帧,并且其中,所述解析标识所述拼接元数据;以及
(b)当确定所述拼接元数据指示所述传输流的至少一个片段具有包括基本完美拼接性质的至少一个完美拼接性质时,在不修改所述传输流的任何编码音频元素流的情况下对所述传输流进行拼接,从而产生拼接的传输流。
42.根据权利要求41所述的方法,其中,所述拼接元数据指示所述传输流指示的至少一个节目是否具有基本完美拼接性质,其中,所述基本完美拼接性质是:
对于所述至少一个节目中的每个节目,所述节目的每个视频元素流具有与所述节目的每个编码音频元素流的帧率相同的帧率,并且对于所述节目的每个视频帧,存在所述节目的至少一个对应的编码音频帧;以及
对于所述至少一个节目中的每个节目,对于所述节目的每个视频元素流中的每个视频I帧,在所述节目的音频元素流中存在至少一个匹配的音频I帧。
43.根据权利要求42所述的方法,其中,所述传输流是MPEG-2传输流。
44.根据权利要求43所述的方法,其中,所述编码音频数据是具有AC-4格式的压缩音频数据。
45.根据权利要求41所述的方法,其中,步骤(b)包括以下步骤:
当确定所述拼接元数据指示所述传输流的至少一个片段具有所述基本完美拼接性质以及至少一个附加完美拼接性质时,在不修改所述传输流的任何编码音频元素流的情况下对所述传输流进行拼接,从而产生拼接的传输流。
46.根据权利要求41所述的方法,其中,步骤(b)包括以下步骤:
当确定所述拼接元数据指示所述传输流具有基本完美拼接性质时,在不修改所述传输流的任何编码音频元素流的情况下对所述传输流进行拼接,从而产生拼接的传输流。
47.一种用于产生传输流的系统,所述系统包括:
第一子系统,所述第一子系统被耦合并且被配置为对音频数据进行编码以产生编码音频数据;以及
第二子系统,所述第二子系统被耦合并且被配置为响应于视频数据和所述编码音频数据产生所述传输流,以使得所述视频数据和所述编码音频数据被以所述传输流具有基本完美拼接性质的方式包括在所述传输流中,所述视频数据和所述编码音频数据指示至少一个音频/视频节目,其中,对于每个所述节目,指示所述节目的所述编码音频数据和所述视频数据包括确定至少一个视频元素流的视频数据的帧以及确定至少一个音频元素流的编码音频数据的帧,所述视频数据的帧包括视频数据的I帧,所述编码音频数据的帧包括编码音频数据的I帧,并且其中,所述基本完美拼接性质是:
对于所述传输流指示的每个节目,所述节目的每个视频元素流具有与所述节目的每个编码音频元素流的帧率相同的帧率,并且对于所述节目的每个视频帧,存在所述节目的至少一个对应的编码音频帧;以及
对于所述传输流指示的每个节目,对于所述节目的每个视频元素流中的每个视频I帧,在所述节目的音频元素流中存在至少一个匹配的音频I帧。
48.根据权利要求47所述的系统,其中,所述传输流是MPEG-2传输流。
49.根据权利要求47所述的系统,其中,所述第一子系统被配置为对音频数据进行编码以使得所述编码音频数据是具有AC-4格式的压缩音频数据。
50.根据权利要求47所述的系统,其中,所述第二子系统被配置为产生传输流以使得所述传输流还具有至少一个附加完美拼接性质。
51.一种用于产生传输流的系统,所述系统包括:
第一子系统,所述第一子系统被耦合并且被配置为对音频数据进行编码以产生编码音频数据;以及
第二子系统,所述第二子系统被耦合并且被配置为产生所述传输流,包括通过将所述视频数据、所述编码音频数据和拼接元数据包括在所述传输流中以使得所述传输流的所述视频数据和所述编码音频数据指示至少一个音频/视频节目,其中,对于每个所述节目,指示所述节目的所述编码音频数据和所述视频数据包括确定至少一个视频元素流的视频数据的帧以及确定至少一个音频元素流的编码音频数据的帧,所述视频数据的帧包括视频数据的I帧,所述编码音频数据的帧包括编码音频数据的I帧,并且其中,所述拼接元数据指示所述传输流或所述传输流指示的至少一个节目是否具有至少一个完美拼接性质。
52.根据权利要求51所述的系统,其中,所述传输流是MPEG-2传输流。
53.根据权利要求51所述的系统,其中,所述拼接元数据包括关于所述传输流指示的每个节目的拼接元数据,并且关于所述每个节目的拼接元数据指示所述节目的元素流满足的每个完美拼接性质。
54.根据权利要求51所述的系统,其中,所述拼接元数据由指示所述传输流指示的至少一个节目是否具有基本完美拼接性质的元数据组成或者包括所述元数据,其中,每个所述节目的基本完美拼接性质是:
所述节目的每个视频元素流具有与所述节目的每个编码音频元素流的帧率相同的帧率,并且对于所述节目的每个视频帧,存在所述节目的至少一个对应的编码音频帧;以及
对于所述节目的每个视频元素流中的每个视频I帧,在所述节目的音频元素流中存在至少一个匹配的音频I帧。
55.根据权利要求54所述的系统,其中,所述传输流是MPEG-2传输流。
56.根据权利要求51所述的系统,其中,所述传输流中的每个所述视频元素流和每个所述音频元素流被打包在打包元素流(“PES”)包中,并且其中,所述拼接元数据由指示所述传输流指示的至少一个节目是否具有完美拼接性质的元数据组成或者包括所述元数据,其中,关于每个所述节目的完美拼接性质是:
所述节目的视频元素流中的每个视频I帧是与所述节目的编码音频I帧对齐的PES包。
57.根据权利要求51所述的系统,其中,所述拼接元数据由指示所述传输流指示的至少一个节目是否具有完美拼接性质的元数据组成或者包括所述元数据,其中,每个所述节目的完美拼接性质是:
对于所述节目的每个视频I帧,存在至少一个匹配的音频I帧,其中,包括一个所述视频I帧和与所述视频I帧匹配的音频I帧的每个I帧对是A/V I帧对,并且其中,每个所述A/V I帧对的I帧具有匹配的呈现时间戳(PTS)值。
58.根据权利要求57所述的系统,其中,所述传输流是MPEG-2传输流。
59.根据权利要求57所述的系统,其中,所述拼接元数据包括指示所述传输流指示的至少一个节目是否具有附加完美拼接性质的元数据,其中,所述附加完美拼接性质是:
用于所述节目的每一个超帧的平均位率是恒定的,其中,每个所述超帧是从所述节目的A/V I帧对的音频I帧开始、以正好在所述节目的下一个A/V I帧对前面的音频帧结束的音频帧序列。
60.根据权利要求57所述的系统,其中,所述拼接元数据包括指示所述传输流指示的至少一个节目是否具有附加完美拼接性质的元数据,其中,所述附加完美拼接性质是:
包括所述节目的A/V I帧对以及随后直到所述节目的下一个A/VI帧对的A/V帧的每个A/V帧序列被时间复用以在所述传输流的单个连续的片段中出现。
61.根据权利要求57所述的系统,其中,所述拼接元数据包括指示所述传输流指示的至少一个节目是否具有附加完美拼接性质的元数据,其中,所述附加完美拼接性质是:
对于所述节目的每个A/V I帧对,承载所述A/V I帧对的编码音频数据的传输流包的发送不是在承载所述A/V I帧对的视频数据的传输流包的发送开始之前开始的,并且对于正好在所述节目的每个A/V I帧对前面出现的音频帧,用于所述音频帧的所有的音频数据传输流包都是在所述A/V I帧对前面的最后一个视频数据传输流包被发送之前被发送的。
62.根据权利要求57所述的系统,其中,所述拼接元数据包括明确地指示所述传输流中的合适的拼接点的拼接点元数据,所述拼接点元数据仅指示正好在合适的A/V I帧对前面出现的拼接点。
63.一种用于传输流拼接的系统,包括:
至少一个输入,所述至少一个输入被耦合以接收指示编码音频数据、视频数据和拼接元数据的传输流,其中,所述编码音频数据和所述视频数据指示至少一个音频/视频节目,对于每个所述节目,指示所述节目的所述编码音频数据和视频数据包括确定至少一个视频元素流的视频数据的帧以及确定至少一个音频元素流的编码音频数据的帧,所述视频数据的帧包括视频数据的I帧,所述编码音频数据的帧包括编码音频数据的I帧;以及
子系统,所述子系统被配置为对所述传输流的至少一部分进行解析以便标识所述拼接元数据,并且当确定所述拼接元数据指示所述传输流的至少一个片段具有包括基本完美拼接性质的至少一个完美拼接性质时,在不修改所述传输流的任何编码音频元素流的情况下对所述传输流进行拼接,从而产生拼接的传输流。
64.根据权利要求63所述的系统,其中,所述拼接元数据指示所述传输流指示的至少一个节目是否具有基本完美拼接性质,其中,所述基本完美拼接性质是:
对于所述至少一个节目中的每个节目,所述节目的每个视频元素流具有与所述节目的每个编码音频元素流的帧率相同的帧率,并且对于所述节目的每个视频帧,存在所述节目的至少一个对应的编码音频帧;以及
对于所述至少一个节目中的每个节目,对于所述节目的每个视频元素流中的每个视频I帧,在所述节目的音频元素流中存在至少一个匹配的音频I帧。
65.根据权利要求63所述的系统,其中,所述传输流是MPEG-2传输流。
66.根据权利要求63所述的系统,其中,所述子系统被配置为:仅当确定所述拼接元数据指示所述传输流的至少一个片段具有所述基本完美拼接性质以及至少一个附加完美拼接性质时,才在不修改所述传输流的任何编码音频元素流的情况下对所述传输流进行拼接,从而产生拼接的传输流。
67.一种音频/视频处理单元,包括:
缓冲存储器;以及
耦合到所述缓冲存储器的至少一个音频/视频处理子系统,其中,所述缓冲存储器存储传输流的至少一个片段,其中,所述传输流包括视频数据、编码音频数据和拼接元数据,所述传输流的所述视频数据和所述编码音频数据指示至少一个音频/视频节目,其中对于每个所述节目,指示所述节目的编码音频数据和视频数据包括确定至少一个视频元素流的视频数据的帧以及确定至少一个音频元素流的编码音频数据的帧,所述视频数据的帧包括视频数据的I帧,所述编码音频数据的帧包括编码音频数据的I帧,其中,所述拼接元数据指示所述传输流或所述传输流指示的至少一个节目是否具有至少一个完美拼接性质,并且其中,存储在所述缓冲存储器中的所述传输流的所述至少一个片段包括所述拼接元数据中的至少一些。
68.根据权利要求67所述的单元,其中,所述传输流是MPEG-2传输流。
69.根据权利要求67所述的单元,其中,存储在所述缓冲存储器中的所述传输流的所述至少一个片段由指示所述传输流指示的至少一个节目是否具有基本完美拼接性质的拼接元数据组成或者包括所述拼接元数据,其中,每个所述节目的基本完美拼接性质是:
所述节目的每个视频元素流具有与所述节目的每个编码音频元素流的帧率相同的帧率,并且对于所述节目的每个视频帧,存在所述节目的至少一个对应的编码音频帧;以及
对于所述节目的每个视频元素流中的每个视频I帧,在所述节目的音频元素流中存在至少一个匹配的音频I帧。
70.根据权利要求69所述的单元,其中,存储在所述缓冲存储器中的所述传输流的所述至少一个片段包括指示所述传输流指示的至少一个节目是否还具有至少一个附加完美拼接性质的拼接元数据。
71.根据权利要求67所述的单元,其中,所述缓冲存储器以非暂态方式存储所述传输流的所述至少一个片段。
72.根据权利要求67所述的单元,其中,所述音频/视频处理子系统是传输流拼接器。
73.根据权利要求67所述的单元,其中,所述音频/视频处理子系统被配置为产生所述传输流。
CN201580007764.6A 2014-02-10 2015-02-10 将编码音频嵌入到传输流中以供用于完美拼接 Active CN105981397B (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201461938067P 2014-02-10 2014-02-10
US61/938,067 2014-02-10
US201562108752P 2015-01-28 2015-01-28
US62/108,752 2015-01-28
PCT/EP2015/052732 WO2015118164A1 (en) 2014-02-10 2015-02-10 Embedding encoded audio into transport stream for perfect splicing

Publications (2)

Publication Number Publication Date
CN105981397A true CN105981397A (zh) 2016-09-28
CN105981397B CN105981397B (zh) 2020-06-16

Family

ID=52477793

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201580007764.6A Active CN105981397B (zh) 2014-02-10 2015-02-10 将编码音频嵌入到传输流中以供用于完美拼接

Country Status (6)

Country Link
US (1) US9883213B2 (zh)
EP (1) EP3105938B1 (zh)
JP (1) JP6438040B2 (zh)
KR (1) KR101861941B1 (zh)
CN (1) CN105981397B (zh)
WO (1) WO2015118164A1 (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106875952A (zh) * 2016-12-23 2017-06-20 伟乐视讯科技股份有限公司 基于fpga嵌入式系统的多路音频软编码机制
CN108769786A (zh) * 2018-05-25 2018-11-06 网宿科技股份有限公司 一种合成音视频数据流的方法和装置
CN112369042A (zh) * 2018-06-28 2021-02-12 杜比实验室特许公司 用于自适应流传输对齐的帧转换

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2978225B1 (en) * 2014-07-23 2017-11-08 Wildmoka Method for obtaining in real time a user selected multimedia content part
EP3313065A4 (en) * 2015-06-16 2018-11-14 LG Electronics Inc. Broadcast signal transmission device, broadcast signal reception device, broadcast signal transmission method, and broadcast signal reception method
US9872062B1 (en) * 2017-02-22 2018-01-16 Wyse Technology L.L.C. Enforcing synchronization by embedding audio within video frame data
CN107147919B (zh) * 2017-06-19 2020-11-27 网宿科技股份有限公司 直播快速启播方法及系统
US11134279B1 (en) * 2017-07-27 2021-09-28 Amazon Technologies, Inc. Validation of media using fingerprinting
CN110109636B (zh) * 2019-04-28 2022-04-05 华为技术有限公司 投屏方法、电子设备以及系统
WO2021179321A1 (zh) * 2020-03-13 2021-09-16 深圳市大疆创新科技有限公司 音频数据处理方法、电子设备及计算机可读存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000287178A (ja) * 1999-03-31 2000-10-13 Hitachi Software Eng Co Ltd Mpeg2データのインサート編集システム
JP2002300527A (ja) * 2001-03-30 2002-10-11 Toshiba Corp 多重化ストリームの記録方法、記録装置、記録媒体、編集方法、編集装置
US6806909B1 (en) * 1997-03-03 2004-10-19 Koninklijke Philips Electronics N.V. Seamless splicing of MPEG-2 multimedia data streams
CN101212679A (zh) * 2006-12-30 2008-07-02 凌阳科技股份有限公司 Avi文件播放时切换多路音频流的av同步方法及装置
CN102713883A (zh) * 2009-12-21 2012-10-03 艾科星先进科技公司 用编解码器强制的帧大小进行音频分割
US20130141643A1 (en) * 2011-12-06 2013-06-06 Doug Carson & Associates, Inc. Audio-Video Frame Synchronization in a Multimedia Stream

Family Cites Families (38)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1997046027A1 (en) * 1996-05-29 1997-12-04 Sarnoff Corporation Preserving synchronization of audio and video presentation
US20020154694A1 (en) 1997-03-21 2002-10-24 Christopher H. Birch Bit stream splicer with variable-rate output
US6654933B1 (en) * 1999-09-21 2003-11-25 Kasenna, Inc. System and method for media stream indexing
JPH11346348A (ja) 1998-06-02 1999-12-14 Nec Corp 映像音声同期方法及び映像音声多重化装置
JP3523493B2 (ja) 1998-06-11 2004-04-26 シャープ株式会社 高能率符号化データの多重化方法及び多重化装置
US6298089B1 (en) 1998-12-10 2001-10-02 Viewgraphics, Inc. Method for seamless and near seamless audio and non-video splicing of a digital transport stream
US8065708B1 (en) * 1999-03-31 2011-11-22 Cox Communications, Inc. Method for reducing latency in an interactive information distribution system
US6993081B1 (en) * 1999-11-23 2006-01-31 International Business Machines Corporation Seamless splicing/spot-insertion for MPEG-2 digital video/audio stream
US6792047B1 (en) * 2000-01-04 2004-09-14 Emc Corporation Real time processing and streaming of spliced encoded MPEG video and associated audio
JP2001251616A (ja) * 2000-03-02 2001-09-14 Media Glue Corp 多重化音響・動画圧縮符号化信号変換方法、装置および変換プログラムを記録した媒体
GB0007868D0 (en) 2000-03-31 2000-05-17 Koninkl Philips Electronics Nv Methods and apparatus for editing digital video recordings and recordings made by such methods
JP4411499B2 (ja) * 2000-06-14 2010-02-10 ソニー株式会社 情報処理装置および情報処理方法、並びに記録媒体
US7068719B2 (en) 2001-06-01 2006-06-27 General Instrument Corporation Splicing of digital video transport streams
US7012650B2 (en) * 2001-06-14 2006-03-14 Sony Corporation Start/stop audio encoder apparatus and method for synchronizing digital audio and video signals
US7058054B2 (en) * 2001-08-20 2006-06-06 Skystream Networks Inc. Controlling multiple nodes to execute messages only once
JP4534168B2 (ja) * 2001-09-27 2010-09-01 ソニー株式会社 情報処理装置および方法、記録媒体、並びにプログラム
US7058189B1 (en) * 2001-12-14 2006-06-06 Pixel Instruments Corp. Audio monitoring and conversion apparatus and method
US20040143675A1 (en) * 2003-01-16 2004-07-22 Aust Andreas Matthias Resynchronizing drifted data streams with a minimum of noticeable artifacts
US7142250B1 (en) * 2003-04-05 2006-11-28 Apple Computer, Inc. Method and apparatus for synchronizing audio and video streams
US20070171306A1 (en) * 2004-01-29 2007-07-26 Koninklijke Philips Electronics N.V. Digital television system with rapid channel surfing
US7873515B2 (en) * 2004-11-23 2011-01-18 Stmicroelectronics Asia Pacific Pte. Ltd. System and method for error reconstruction of streaming audio information
EP1967006A2 (en) * 2005-12-23 2008-09-10 Koninklijke Philips Electronics N.V. Splitting of a data stream
EP2016587B1 (en) * 2006-05-08 2011-02-16 Thomson Licensing Method for resuming content reproduction across devices using bookmarks.
CN100544439C (zh) * 2006-11-21 2009-09-23 华为技术有限公司 一种支持多种编码格式的媒体数据的方法及系统
US8379677B2 (en) * 2007-04-30 2013-02-19 Vixs Systems, Inc. System for combining a plurality of video streams and method for use therewith
CN101242510B (zh) * 2008-02-18 2012-08-08 华为技术有限公司 一种动态音视频菜单的播放方法与实现装置
JP2009290768A (ja) * 2008-05-30 2009-12-10 Toshiba Corp 映像処理装置および映像処理方法
US8781003B2 (en) 2008-07-17 2014-07-15 Cisco Technology, Inc. Splicing of encrypted video/audio content
US8743906B2 (en) * 2009-01-23 2014-06-03 Akamai Technologies, Inc. Scalable seamless digital video stream splicing
US8655143B2 (en) * 2009-04-01 2014-02-18 Cisco Technology, Inc. Supplementary buffer construction in real-time applications without increasing channel change delay
EP2425629A2 (en) * 2009-04-28 2012-03-07 Vubites India Private Limited Method and apparatus for coordinated splicing of multiple streams
GB2472264B (en) * 2009-07-31 2014-12-17 British Sky Broadcasting Ltd Media substitution system
US8925024B2 (en) * 2009-12-31 2014-12-30 The Nielsen Company (Us), Llc Methods and apparatus to detect commercial advertisements associated with media presentations
US8805963B2 (en) * 2010-04-01 2014-08-12 Apple Inc. Real-time or near real-time streaming
US20110293021A1 (en) 2010-05-28 2011-12-01 Jayant Kotalwar Prevent audio loss in the spliced content generated by the packet level video splicer
WO2013134567A1 (en) * 2012-03-06 2013-09-12 Sirius Xm Radio Inc. Systems and methods for audio attribute mapping
JP6365537B2 (ja) * 2013-05-30 2018-08-01 ソニー株式会社 信号処理装置、信号処理方法、プログラム、及び、信号伝送システム
US20150062353A1 (en) * 2013-08-30 2015-03-05 Microsoft Corporation Audio video playback synchronization for encoded media

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6806909B1 (en) * 1997-03-03 2004-10-19 Koninklijke Philips Electronics N.V. Seamless splicing of MPEG-2 multimedia data streams
JP2000287178A (ja) * 1999-03-31 2000-10-13 Hitachi Software Eng Co Ltd Mpeg2データのインサート編集システム
JP2002300527A (ja) * 2001-03-30 2002-10-11 Toshiba Corp 多重化ストリームの記録方法、記録装置、記録媒体、編集方法、編集装置
CN101212679A (zh) * 2006-12-30 2008-07-02 凌阳科技股份有限公司 Avi文件播放时切换多路音频流的av同步方法及装置
CN102713883A (zh) * 2009-12-21 2012-10-03 艾科星先进科技公司 用编解码器强制的帧大小进行音频分割
US20130141643A1 (en) * 2011-12-06 2013-06-06 Doug Carson & Associates, Inc. Audio-Video Frame Synchronization in a Multimedia Stream

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
TONY SPATH ET AL.: "DOLBY E-A practical way to distribute multichannel audio", 《DOLBY LABORATORIES, WOOTTON BASSETT, UK&SAN FRANCISCO, USA》 *

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106875952A (zh) * 2016-12-23 2017-06-20 伟乐视讯科技股份有限公司 基于fpga嵌入式系统的多路音频软编码机制
CN108769786A (zh) * 2018-05-25 2018-11-06 网宿科技股份有限公司 一种合成音视频数据流的方法和装置
CN108769786B (zh) * 2018-05-25 2020-12-29 网宿科技股份有限公司 一种合成音视频数据流的方法和装置
CN112369042A (zh) * 2018-06-28 2021-02-12 杜比实验室特许公司 用于自适应流传输对齐的帧转换
CN112369042B (zh) * 2018-06-28 2022-12-09 杜比实验室特许公司 用于自适应流传输对齐的帧转换

Also Published As

Publication number Publication date
EP3105938B1 (en) 2020-12-16
KR20160106150A (ko) 2016-09-09
US9883213B2 (en) 2018-01-30
WO2015118164A1 (en) 2015-08-13
JP2017508375A (ja) 2017-03-23
JP6438040B2 (ja) 2018-12-12
EP3105938A1 (en) 2016-12-21
KR101861941B1 (ko) 2018-07-02
CN105981397B (zh) 2020-06-16
US20160366452A1 (en) 2016-12-15

Similar Documents

Publication Publication Date Title
CN105981397A (zh) 将编码音频嵌入到传输流中以供用于完美拼接
EP3800898B1 (en) Data processor and transport of user control data to audio decoders and renderers
CN106464961B (zh) 接收装置、发送装置以及数据处理方法
US11770582B2 (en) Frame conversion for adaptive streaming alignment
CN106796797A (zh) 发送设备、发送方法、接收设备和接收方法
US7555009B2 (en) Data processing method and apparatus, and data distribution method and information processing apparatus
US7349395B2 (en) System, method, and computer program product for parsing packetized, multi-program transport stream
CN105706164A (zh) 发送设备、发送方法、接收设备和接收方法
CN105532009A (zh) 发送设备、发送方法、接收设备和接收方法
CN103152607B (zh) 视频超快速粗编方法
CN103177725B (zh) 用于输送对齐的多通道音频的方法和设备
CN106796793A (zh) 传输设备、传输方法、接收设备以及接收方法
CN103474076B (zh) 用于输送对齐的多通道音频的方法和设备
CN106716524A (zh) 发送装置、发送方法、接收装置和接收方法
CN107615768A (zh) 发送装置、发送方法、接收装置和接收方法
JP4756848B2 (ja) データ配信方法および情報処理装置
CN114448955B (zh) 一种数字音频网络传输方法、装置、设备及存储介质
CN108702533A (zh) 发送装置、发送方法、接收装置和接收方法
GB2620651A (en) Method, device, and computer program for optimizing dynamic encapsulation and parsing of content data
WO2023052189A1 (en) Method, device, and computer program for optimizing media content data encapsulation in low latency applications
US8098657B2 (en) System and method for providing data commonality in a programmable transport demultiplexer engine
BR122020016999B1 (pt) Método de geração de um fluxo de dados do item de conteúdo audiovisual, e aparelho para gerar um fluxo de dados do item de conteúdo audiovisual

Legal Events

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