音视频实时传输方法及装置、传输流打包方法及复用器的制造方法

文档序号:10539336阅读:510来源:国知局
音视频实时传输方法及装置、传输流打包方法及复用器的制造方法
【专利摘要】本发明实施例提供一种音视频实时传输方法,包括:将视频原始流及音频原始流分别打包为分组的视频原始流和分组的音频原始流;将节目关联表、节目映射表、所述分组的视频原始流,以及所述分组的音频原始流复用后存储为节目切片,每一个所述节目切片包括一张节目关联表和一张节目映射表;接收请求,并根据所述请求传输所述节目切片。本发明实施例还提供一种传输流打包方法及复用器。本发明实施例可以减少音视频实时传输时的冗余数据。
【专利说明】
音视频实时传输方法及装置、传输流打包方法及复用器
技术领域
[0001]本发明实施例涉及音视频技术领域,尤其涉及一种音视频实时传输方法及装置、传输流打包方法及复用器。
【背景技术】
[0002]HLS(HTTP Live Streaming)协议是苹果公司研发出的,用在网络直播和点播场景中的扩展HTTP协议,该协议使用传输流(Transport Stream,TS)的方式封装数据。每个传输流都携带视频(Video)、音频(Aud1 )等数据信息,以及携带节目关联表(ProgramAssociat1n Table,PAT)、节目映射表(Program Map Table,PMT)等流索引信息。
[0003]在直播中,为了让用户可以随时通过节目关联表和节目映射表搜寻正确的视频和音频数据,需要周期性的将节目关联表和节目映射表插入到传输流中。
[0004]由于周期性的插入节目关联表和节目映射表,会使得在HLS的切片过大,不但占用了下载时间,而且在直播中会造成更多的时间延误和占用更多的服务器存储空间。

【发明内容】

[0005]本发明实施例提供一种音视频实时传输方法及装置、传输流打包方法及复用器,用以解决现有技术中音视频实时传输时冗余数据过多的技术问题。
[0006]本发明实施例提供一种音视频实时传输方法,包括:
[0007]将视频原始流及音频原始流分别打包为分组的视频原始流和分组的音频原始流;
[0008]将节目关联表、节目映射表、所述分组的视频原始流,以及所述分组的音频原始流复用后存储为节目切片,每一个所述节目切片包括一张节目关联表和一张节目映射表;
[0009]接收请求,并根据所述请求传输所述节目切片。
[0010]进一步的,上述将视频原始流及音频原始流分别打包为分组的视频原始流和分组的音频原始流步骤之前包括:将视频数据及音频数据分别编码形成所述视频原始流及所述音频原始流。
[0011 ]本发明实施例提供一种传输流打包方法,包括:
[0012]接收分组的视频原始流、分组的音频原始流、一张节目关联表、一张节目映射表;
[0013]将所述一张节目关联表、所述一张节目映射表、所述分组的视频原始流,以及所述分组的音频原始流复用为一段节目切片;
[0014]存储所述一段节目切片。
[0015]进一步的,上述接收分组的视频原始流、分组的音频原始流、一张节目关联表、一张节目映射表步骤之前还包括;
[0016]将视频原始流及音频原始流分别打包为分组的视频原始流和分组的音频原始流,并输出的步骤。
[0017]本发明实施例提供一种音视频实时传输装置,包括:
[0018]视频分组器,用于将视频原始流打包为分组的视频原始流;
[0019]音频分组器,用于将音频原始流打包为分组的音频原始流;
[0020]复用器,用于将节目关联表、节目映射表、所述分组的视频原始流,以及所述分组的音频原始流复用后存储为节目切片,每一个所述节目切片包括一张节目关联表和一张节目映射表;
[0021 ]所述复用器,还用于接收请求,并根据所述请求传输所述节目切片。
[0022]进一步的,上述的装置,还包括:
[0023]视频编码器,用于将视频数据编码形成所述视频原始流。
[0024]进一步的,上述的装置,还包括:
[0025]音频编码器,用于将音频数据分别编码形成所述音频原始流。
[0026]本发明实施例提供一种复用器,包括:
[0027]收发模块,用于接收分组的视频原始流、分组的音频原始流、一张节目关联表、一张节目映射表,并输出;
[0028]节目切片复用模块,用于将所述一张节目关联表、所述一张节目映射表、所述分组的视频原始流,以及所述分组的音频原始流复用为一段节目切片;
[0029]存储模块,用于存储所述一段节目切片。
[0030]进一步的,上述的收发模块与视频分组器及音频分组器连接,所述视频分组器及音频分组器向所述收发模块输出分组的视频原始流和分组的音频原始流。
[0031]本发明实施例提供的音视频实时传输方法及装置,传输流打包方法及复用器,不需要周期性的插入节目关联表和节目映射表,而仅需要在每个切片的开始处加入一张节目关联表和一张节目映射表,就可以达到既可保持与现有技术中的传输流兼容,又同时减少传输流中的冗余数据的效果。
【附图说明】
[0032]为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0033]图1为现有技术中传输流的切片的格式示意图;
[0034]图2为本发明实施例一种音视频实时传输方法的传输流的切片的格式示意图;
[0035]图3为本发明实施例一种音视频实时传输方法的传输流的切片的包的构成示意图;
[0036]图4为本发明实施例一种音视频实时传输方法的流程图;
[0037]图5为本发明实施例一种传输流打包方法的流程图;
[0038]图6为本发明实施例一种传输流切片的解析流程图;
[0039]图7为本发明实施例一种音视频实时传输装置的结构示意图;
[0040]图8为本发明实施例一种复用器的结构示意图。
【具体实施方式】
[0041]为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0042]为更好的说明本发明实施例的技术方案及其所产生的有益效果,本发明将首先介绍现有技术中传输流的切片的格式。
[0043]图1为现有技术中传输流的切片的格式示意图。
[0044]传输流为层次型的封装格式,需要先找到节目关联表,以获取传输流中节目映射表的数量,以此获得传输流中节目的数量,其中每一张节目映射表对应一个节目,然后再根据节目映射表获取节目的视频包标示符(Packet Identif icat1n,PID)和音频包标示符。
[0045]根据HLS协议的规定,一个长时间的节目通常被切割分成多个时长为10秒的切片。因此,现有技术中传输流的切片,为了方便用户随时接收传输流,节目关联表和节目映射表是周期性的插入到传输流的切片中,从而导致现有技术中的传输流的切片至少包括两张以上的节目关联表,和两张以上的节目关联表。
[0046]例如,图1中,一个节目被切割为η个切片,用户A可以从节目关联表I处接收,用户B可以从节目关联表η处接收,以就近找到节目映射表,从而方便直播。因此,现有技术就增加了传输流中的冗余数据。
[0047]本发明的发明人在经过长时间研究后发现在每一个切片中,并不需要周期性的插入节目关联表和节目映射表,而仅需要在每个切片的开始处加入一张节目关联表和一张节目映射表,就可以达到既可保持与现有技术中的传输流兼容,又同时减少传输流中的冗余数据的效果。
[0048]以下将对本发明传输流的切片的格式进行说明。
[0049]图2为本发明实施例一种音视频实时传输方法的传输流的切片的格式示意图。
[0050]本发明实施例中的传输流是一种基于包的流,每一组传输流被分割为若干个切片,需要说明的是图2中仅示出了一个切片的格式,其它切片的格式其实与图2中的切片格式类似。
[0051]本发明实施例中的切片包括包1、包2……包η-1、包η,而且每个切片均只包括一张节目关联表和一张节目映射表。
[0052]图3为本发明实施例一种音视频实时传输方法的传输流的切片的包的构成示意图。
[0053]本发明实施例中切片的包由包头和数据组成,每个包是188个字节或204个字节,其中204个字节的包是在188个字节的包之后加上了16字节的CRC校验数据形成。
[0054]包头还可以包括扩展的自使用区,包头长度占4个字节,自使用区和包数据共占184个字节。包头包括同步字节、传输误码指示符、有效载荷单元起始指示符、传输优先、包识别符、传输加扰控制、自适应区控制和连续计数器8个部分组成。
[0055]其中,可以通过同步字节的位串的自动相关特性,检测数据流中的包限制,建立包同步;传输误码指示符,是指有不能消除的误码时,采用误码校正解码器可表示I位的误码,但无法校正该误码;有效载荷单元起始指示符,表示该包是否存在确定的起始信息;传输优先用于是给包分配优先权;包标示符值是由用户确定的,由解码器根据包标示符区别不同原始流(Elementary Stream,ES)的包,以重建原始流;传输加扰控制可用于指示包内容是否加扰;自适应区控制是用于表示有否自适应区,通常用2位来表示,比如“01”表示有有用信息,但是无自适应区,“10”表示无有用信息,且有自适应区,“11”表示有有用信息且有自适应区,“00”表示无定义;连续计数器可对包标示符传送顺序计数,根据连续计数器的读数,接收端可以判断是否有包丢失及包传送顺序错误。总而言之,包头对传输流具有同步、识别、检错及加當功能。
[0056]此外,包标示符是传输流中的唯一识别标志,包中的数据内容是由包标示符决定。如果一个传输流中的一个包的包头中的包标示符是0,那么该包的数据内容就是节目关联表,如果不是O,就是视频数据,音频数据,节目映射表,或者是其他类型数据。
[0057]图4为本发明实施例一种音视频实时传输方法的流程图。
[0058]音视频的实时传输包括对视频数据的实时传输和对音频数据的实时传输,因此需要将视频原始流及音频原始流分别打包为分组的视频原始流和分组的音频原始流;然后将节目关联表、节目映射表、分组的视频原始流,以及分组的音频原始流复用后存储为节目切片,每一个节目切片包括一张节目关联表和一张节目映射表,具体如下:
[0059]分组的视频原始流的打包的具体步骤如下:
[0000] SlOl:将视频数据编码形成视频原始流(Elementary Stream,ES);
[0061]视频原始流是由编码器输出的原始基础码流,只含有解码器所必需的,并与原始图像相接近的信息。编码后的视频原始流可以是MPEG-2或MPEG-4格式,还可以是H.264格式或者其他格式,本发明对此不作限定。
[0062]S102:将视频原始流打包为分组的视频原始流(Packet Elemental Stream,PES);
[0063]分组的视频原始流,是以分割的数据包形式存在,主要是在视频原始流上加了时间戳等对数据帧的说明信息,分组的视频原始流提供标准的包头和打包方法,并提供解码的时间标志。
[0064]分组的音频原始流的打包的具体步骤如下:
[0065]S201:将音频数据编码形成音频原始流;
[0066]数字音频信号如果不加压缩地直接进行传送,将会占用极大的带宽,因此需要采用音频压缩技术对音频数据进行处理,才能有效地传输音频数据。本步骤中的音频编码方式可以是MPEG-1音频编码,也可以是MPEG-2AAC(Advanced Aud1 Coding)编码,本发明对此不作限定。
[0067]S202:将视频原始流打包为分组的音频原始流。
[0068]音频分组器202把音频原始流分割成段或者是打包成组,并加上相应的头文件打包形成分组的音频原始流,音频原始流的包和包之间可以是不连续的。
[0069]在打包完成分组的视频原始流、分组的音频原始流之后,进入步骤S300;
[0070]S300:将分组的视频原始流、分组的音频原始流、节目关联表和节目映射表复用后存储为节目切片,所述节目切片包含一张节目关联表和一张节目映射表。
[0071]由于HLS协议规定将完整的节目分割成为时长为10秒的多个切片,该多个切片构成一个完整的节目,因此从链接建立好后直到断开该链接的过程(即观看该节目的整个过程),一直持续的链接并下载该节目的多个切片,该下载过程以一个字节作为最小单位,因此需要周期性的提供节目关联表及节目映射表,以保证用户可从任意点下载切片。
[0072]而本实施例则将包含节目关联表和节目映射表的切片作为传输流的最小单位,可保证用户可从任意点下载切片,因此既可以保持与现有HLS协议的兼容性又可以不用周期性的插入节目关联表及节目映射表。
[0073]S400:接收请求,并根据请求传输节目切片。
[0074]图5为本发明实施例一种传输流打包方法的流程图。
[0075]S301:接收分组的视频原始流、分组的音频原始流、一张节目关联表、一张节目映射表;
[0076]S302:将一张节目关联表、一张节目映射表、分组的视频原始流,以及分组的音频原始流复用为一段节目切片;
[0077]S303:存储一段节目切片。
[0078]图6为本发明实施例一种传输流切片的解析流程图:
[0079]501:搜索节目关联表;
[0080]在本实施例中是以188字节为单位,搜索包标示符为O的节目关联表。由于节目关联表的包标示符是固定为O,且节目关联表也是以包的形式传输,所以搜索节目关联表实质上就是搜索包头中包标示符为O的包。
[0081 ] 502:解析节目关联表,以获取节目映射表的包标示符;
[0082]在本实施例中首先解析包标示符为O的节目关联表,以获取节目映射表的包标示符。
[0083]503:根据映射表的包标示符搜索节目映射表;
[0084]在本实施例中,节目映射表的数量等于节目的数量。
[0085]504:根据节目映射表搜索视频数据的包标示符及音频数据的包标示符;
[0086]在本实施例中,搜索视频数据的包标示符及音频数据的包标示符就是为了获取视频数据及音频数据。
[0087]505:根据视频数据的包标示符及音频数据的包标示符,解析视频数据及音频数据。
[0088]上述解析过程是由接收端完成,接收端通常为消费性电子产品,可以为智能电视、机顶盒、投影仪、视频播放器、个人计算机,智能手机,平板电脑等。
[0089]图7为本发明实施例一种音视频实时传输装置的结构示意图。
[0090]本发明实施例一种音视频实时传输装置10包括:视频编码器101、音频编码器201、视频分组器102、音频分组器202,以及复用器300。
[0091]由于采集到的视频数据及音频数据均为模拟数据,因此需要进行抽样、量化及压缩编码形成视频原始流及音频原始流,视频原始流及音频原始流是不分段的连续码流。
[0092]视频编码器101用于将视频数据编码形成视频原始流。在本实施例中,视频原始流包括多个访问单元,每一个访问单元是一幅图像的编码数据。本发明的视频编码方式可以采用变换编码、熵编码、运动估计和运动补偿,或者是混合编码方式进行编码,本发明对此不作限定。
[0093]音频编码器201用于将音频数据分别编码形成音频原始流。在本实施例中,数字音频信号如果不加压缩地直接进行传送,将会占用极大的带宽,因此需要采用音频压缩技术对音频数据进行处理,才能有效地传输音频数据。数字音频压缩编码在保证信号在听觉方面不产生失真的前提下,对音频数据信号进行尽可能大的压缩。数字音频压缩编码采取去除声音信号中冗余成分的方法来实现。本发明的音频编码方式可以是波形编码、参数编码,或者混合编码,本发明对此不作限定。
[0094]视频分组器102用于将视频原始流打包为分组的视频原始流。详而言之,视频分组器102把视频原始流分割成段或者是打包成组,并加上相应的头文件打包形成分组的视频原始流,视频原始流的包和包之间可以是不连续的。
[0095]音频分组器202用于将音频原始流打包为分组的音频原始流。详而言之,音频分组器202把音频原始流分割成段或者是打包成组,并加上相应的头文件打包形成分组的音频原始流,音频原始流的包和包之间可以是不连续的。
[0096]复用器300用于将节目关联表、节目映射表、分组的视频原始流,以及分组的音频原始流复用后存储为节目切片,每一个所述节目切片包括一张节目关联表和一张节目映射表。在本实施例中,复用器300在传输时将节目关联表、节目映射表、分组的视频原始流,以及分组的音频原始流打包成固定长度为188字节的切片。
[0097]复用器300,还用于接收请求,并根据请求传输节目切片。
[0098]本发明实施例提供的上述音视频实时传输装置100在实际应用中可以具体应用于电子设备中,可以通过硬件处理器(hardware processor)来实现相关功能模块,该电子设备通常为各类视频服务器。
[0099]图8为本发明实施例一种复用器的结构示意图。
[0100]本发明实施例一种复用器300包括收发模块302、节目切片复用模块303,以及存储模块301。
[0101]收发模块302用于接收分组的视频原始流、分组的音频原始流、一张节目关联表、一张节目映射表,并输出至节目切片复用模块303;
[0102]节目切片复用模块303用于将一张节目关联表、一张节目映射表、分组的视频原始流,以及分组的音频原始流复用为一段节目切片;
[0103]存储模块301用于存储一段节目切片。
[0104]通过本发明实施例的上述技术方案,本发明不需要周期性的插入节目关联表和节目映射表,而仅需要在每个切片的开始处加入一张节目关联表和一张节目映射表,就可以达到既可保持与现有技术中的传输流兼容,又同时减少传输流中的冗余数据的效果。
[0105]以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
[0106]通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如R0M/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
[0107]最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
【主权项】
1.一种音视频实时传输方法,其特征在于,包括: 将视频原始流及音频原始流分别打包为分组的视频原始流和分组的音频原始流; 将节目关联表、节目映射表、所述分组的视频原始流,以及所述分组的音频原始流复用后存储为节目切片,每一个所述节目切片包括一张节目关联表和一张节目映射表; 接收请求,并根据所述请求传输所述节目切片。2.根据权利要求1所述的方法,其特征在于,包括所述将视频原始流及音频原始流分别打包为分组的视频原始流和分组的音频原始流步骤之前包括:将视频数据及音频数据分别编码形成所述视频原始流及所述音频原始流。3.一种传输流打包方法,其特征在于,包括: 接收分组的视频原始流、分组的音频原始流、一张节目关联表、一张节目映射表; 将所述一张节目关联表、所述一张节目映射表、所述分组的视频原始流,以及所述分组的音频原始流复用为一段节目切片; 存储所述一段节目切片。4.如权利要求3所述的方法,其特征在于,在所述接收分组的视频原始流、分组的音频原始流、一张节目关联表、一张节目映射表步骤之前还包括; 将视频原始流及音频原始流分别打包为分组的视频原始流和分组的音频原始流,并输出的步骤。5.一种音视频实时传输装置,其特征在于,包括: 视频分组器,用于将视频原始流打包为分组的视频原始流; 音频分组器,用于将音频原始流打包为分组的音频原始流; 复用器,用于将节目关联表、节目映射表、所述分组的视频原始流,以及所述分组的音频原始流复用后存储为节目切片,每一个所述节目切片包括一张节目关联表和一张节目映射表; 所述复用器,还用于接收请求,并根据所述请求传输所述节目切片。6.根据权利要求5所述的装置,其特征在于,还包括: 视频编码器,用于将视频数据编码形成所述视频原始流。7.根据权利要求5所述的装置,其特征在于,还包括: 音频编码器,用于将音频数据分别编码形成所述音频原始流。8.一种复用器,其特征在于,包括: 收发模块,用于接收分组的视频原始流、分组的音频原始流、一张节目关联表、一张节目映射表,并输出; 节目切片复用模块,用于将所述一张节目关联表、所述一张节目映射表、所述分组的视频原始流,以及所述分组的音频原始流复用为一段节目切片; 存储模块,用于存储所述一段节目切片。9.如权利要求3所述的复用器,其特征在于,所述收发模块与视频分组器及音频分组器连接,所述视频分组器及音频分组器向所述收发模块输出分组的视频原始流和分组的音频原始流。
【文档编号】H04N21/231GK105898353SQ201510869931
【公开日】2016年8月24日
【申请日】2015年12月1日
【发明人】郑吉剑
【申请人】乐视致新电子科技(天津)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1