一种流媒体数据传输方法及装置的制作方法

文档序号:7560306阅读:95来源:国知局
专利名称:一种流媒体数据传输方法及装置的制作方法
技术领域
本发明涉及流媒体数据传输技术领域,尤其涉及一种在多媒体实时传输过程中标识负载数据信息的流媒体数据传输方法及装置。
背景技术
随着通信技术的飞速发展和多媒体技术的广泛应用,对音频、视频、字幕或动画等多媒体内容进行实时传送的流媒体传输技术应运而生。在流媒体典型的应用系统中,流媒体服务器把音频、视频、字幕或动画等媒体内容按照相关传输协议规范打包为多媒体数据流,这些多媒体数据流以分组包的形式在网络上进行实时连续传输。客户端不必等待媒体内容全部下载完毕,只需延迟几秒或十几秒就可以对已经下载的数据进行解码并开始播放,媒体流边传输边播放直到媒体内容播放完毕或客户端中止操作。应用这些流媒体传输技木,可以显著缩短媒体播放等待时间、降低客户端缓存要求。然而,目前常用的流媒体传输协议规范对于传输内容而言几乎是透明的,其只提供了流媒体传输的通道。以流媒体传输协议RTP (Real-time Transport protocol,实时传输协议)为例,其分组包结构包括两部分,协议头和负载部分。协议头包括了负载媒体类型、包序号、时间戳、同步源标识等。而负载部分通常是多媒体数据的简单连续順序存储。 另ー种常用流媒体传输协议如MPEG (Moving Pictures Experts Group,运动图像专家组) TS (Transport Mream,传输流)分组,其分组包结构同样如此。如果ー个分组包中存在多个媒体编码逻辑的AU (Access Unit,访问单元),而且每个AU的编码特性和携帯数据的属性不一致,而客户希望选择特定的数据进行播放或者精确定位到一个分组包内的某ー个AU 吋,客户无法从分组包头中获得任何辅助信息,只能遍历所有的负载数据。而这个过程往往计算量大,且效率低下,造成了不必要的计算复杂度。

发明内容
本发明要解决的技术问题是,提供ー种流媒体数据传输方法及装置,能够快速实现个性化观看和精确定位观看。为了解决上述技术问题,本发明提出ー种流媒体数据发送方法,发送端将流媒体数据封装为分组包发送出去,所述分组包包括包头和负载部分,所述负载部分中包括ー个或者多个访问単元AU,其中所述发送端在发送分组包时,还发送所述分组包的AU特征信息,包括所述分组包中各AU的特征信息,以及所述各AU的长度信息;其中,所述AU的特征信息用于描述其承载的流媒体数据的属性。进ー步地,上述发送方法还可具有以下特点所述分组包的AU特征信息还包括所述分组包的AU特征信息的总长度信息。
进ー步地,上述发送方法还可具有以下特点所述AU的特征信息用于描述的属性包括流媒体数据的编码类型。进ー步地,上述发送方法还可具有以下特点所述发送端将所述分组包的AU特征信息封装在所述分组包的包头中,或者封装在所述分组包的负载部分中且位于首个AU之前的位置。为了解决上述技术问题,本发明还提出ー种流媒体数据接收方法,其中接收端接收到分组包后,解码所述分组包中承载的访问单元AU特征信息,所述AU 特征信息包括所述分组包中各AU的特征信息,以及所述各AU的长度信息;其中,所述AU的特征信息用于描述其承载的流媒体数据的属性;根据各AU的特征信息选择需要的AU ;根据各AU的长度信息,计算出所述需要的AU在所述分组包中的偏移位置;以及根据所述需要的AU在所述分组包中的偏移位置及其长度信息,从所述分组包中解码出需要的AU。进ー步地,上述接收方法还可具有以下特点所述分组包的AU特征信息还包括,所述分组包的AU特征信息的总长度信息。所述接收端在需要访问所述分组包内所有AU吋,根据所述AU特征信息的总长度信息,跳过所述AU特征信息,直接依次访问各AU。进ー步地,上述接收方法还可具有以下特点所述AU的特征信息用于描述的属性包括流媒体数据的编码类型。进ー步地,上述接收方法还可具有以下特点所述AU的特征信息封装在所述分组包的包头中,或者封装在所述分组包的负载部分中且位于AU之前的位置。为了解决上述技术问题,本发明还提出ー种流媒体数据发送装置,用于将流媒体数据封装为分组包发送出去的第一发送处理模块,所述分组包包括包头和负载部分,所述负载部分中包括一个或者多个访问単元AU,还包括第二发送处理模块,在所述第一发送处理模块发送分组包吋,还发送所述分组包的AU特征信息,包括所述分组包中各AU的特征信息,以及所述各AU的长度信息;其中,所述AU的特征信息用于描述其承载的流媒体数据的属性。进ー步地,上述发送装置还可具有以下特点所述分组包的AU特征信息还包括所述分组包的AU特征信息的总长度信息。进ー步地,上述发送装置还可具有以下特点所述AU的特征信息用于描述的属性包括流媒体数据的编码类型。进ー步地,上述发送装置还可具有以下特点所述第二发送处理模块,是将所述分组包的AU特征信息封装在所述分组包的包头中,或者封装在所述分组包的负载部分中且位于首个AU之前的位置。为了解决上述技术问题,本发明还提出ー种流媒体数据接收装置,包括第一解析模块,用于在接收到分组包后,解码所述分组包中承载的访问单元AU特征信息,所述AU特征信息包括所述分组包中各AU的特征信息,以及所述各AU的长度信息;其中,所述AU的特征信息用于描述其承载的流媒体数据的属性;选择模块,用于根据各AU的特征信息选择需要的AU ;运算模块,用于根据各AU的长度信息,计算出所述需要的AU在所述分组包中的偏移位置;以及第二解析模块,根据所述需要的AU在所述分组包中的偏移位置及其长度信息,从所述分组包中解码出需要的AU。进ー步地,上述接收装置还可具有以下特点所述分组包的AU特征信息还包括,所述分组包的AU特征信息的总长度信息。所述第二解析模块,还在需要访问所述分组包内所有AU吋,根据所述AU特征信息的总长度信息,跳过所述AU特征信息,直接依次解析各AU。进ー步地,上述接收装置还可具有以下特点所述AU的特征信息用于描述的属性包括流媒体数据的编码类型。进ー步地,上述接收装置还可具有以下特点所述第一解析模块,是从所述分组包的包头中,或者从所述分组包的负载部分中且位于AU之前的位置解析出所述AU的特征信息。本发明提供的ー种流媒体数据传输方法及装置,能够快速实现个性化观看和精确定位观看。


图1是本发明实施例ー种流媒体数据发送方法流程图;图2是本发明实施例在分组包的包头中封装AU特征信息的示意图;图3是本发明实施例在分组包的负载部分中封装AU特征信息的示意图;图4是本发明实施例ー种流媒体数据接收方法流程图;图5是本发明实施例ー种流媒体数据发送装置方框图;图6是本发明实施例ー种流媒体数据接收装置方框图;图7是本发明应用实例一种多视角编码的个性化观看的方法流程图;图8是本发明应用实例一种实现AU的精确定位的方法流程图。
具体实施例方式下面将结合附图对本发明实施例做进ー步详细说明。在进行流媒体数据发送时,发送端会将流媒体数据封装为分组包发送出去,所述分组包包括包头和负载部分,所述负载部分中包括一个或者多个访问単元AU。为了能够实现根据用户需要快速定位到具体的AU,本发明实施例较佳地,提供了ー种流媒体数据发送方法,如图1所示,包括步骤SlOl 所述发送端在发送分组包吋,还发送所述分组包的AU特征信息,包括所述分组包中各AU的特征信息,以及所述各AU的长度信息。其中,所述AU的特征信息用于描述其承载的流媒体数据的属性。其中,分组包中各AU的特征信息为用户快速筛选需要的AU提供了可能,而各AU 的长度信息则用于偏移量计算,从而可以快速定位出需要的AU的位置。
其中,所述AU的特征信息与AU中承载的流媒体数据相关,主要用于区别不同AU 中承载的流媒体数据,其可以根据需要进行设置,例如,可以为流媒体数据的编码类型。当然,可以为流媒体的其他属性,例如传输优先级、错误标记、各种分级属性中的一种或者多种,等等,本发明在此不做限制。或者,所述AU的特征信息也可以用于描述其承载的流媒体数据的多个属性,从而进一步丰富AU筛选条件,更适合个性化观看。本发明实施例为了便于理解,以所述AU的特征信息描述其承载的流媒体数据的编码类型为例进行说明如对于AU中承载的流媒体数据为AMR(Adaptive Multi-Rate,自适应多码率)编码类型的数据,AU的特征信息可以选择为FT(Frame Type,编码类型);对于AU中承载的流媒体数据为SVCGcalable Video Coding,可分级编码) 编码类型的数据,AU的特征信息可以选择为NAL unit header (Network Abstraction Layer Unit header,网络抽象层单元头)カロ上 NAL unit header SVCextension (Network Abstraction Layer Unit header SVC extension,网络抽象层单元头可分级编码扩展);对于AU中承载的流媒体数据为MVC(Multiview video coding,多视角编码) 编码类型的数据,AU的特征信息可以选择为NAL unit header (Network Abstraction Layer Unit header,网络抽象层单元头)カロ上 NAL unit header MVCextension (Network Abstraction Layer Unit header MVC extension,网络抽象层单元头多视角编码扩展)。对于AU中承载的流媒体数据为TS复用协议封装的数据,其AU为TS包,AU的特征信息可以选择为PID (packet identifier)。其他编码类型的数据,AU的特征信息可以根据类似的原则进行选取,在此不限。较佳地,所述分组包的AU特征信息还包括所述分组包的AU特征信息的总长度信息。其提供了该分组包负载内AU特征信息所占用的总字节大小。当客户端希望访问分组包内的所有AU吋,可以通过该字段跳过AU特征信息,直接访问AU数据。从而降低计算复杂度,提高访问速度。较佳地,如图2所示,所述发送端可以将所述分组包的AU特征信息封装在所述分组包的包头中,例如针对RTP和MPEG-TS进行扩展。通过对RTP包头(根据RTP扩展标准 RTP Header Extension 定义)和 TS 包头(根据 TS 头扩展标准 transport_private_data 定义)进行字段扩展,在扩展字段中就可以携带AU特征信息。或者,如图3所示,所述发送端也可以将所述分组包的AU特征信息封装在所述分组包的负载部分中且位于首个AU之前的位置。上面列举几种具体的带内携帯AU特征信息的方式,也可以采用其他方式,在此不作限制。相应地,接收端(媒体转发服务器或者客户端)在接收到分组包后,可以先解析AU 的特征信息,然后按照既定的策略对负载内的AU进行适配和选择。具体的选择策略不属于本发明的关注的内容,在此不再赘述。接收端侧的处理如图4所示,包括步骤步骤S401 解码所述分组包中承载的访问单元AU特征信息,所述AU特征信息包括所述分组包中各AU的特征信息,以及所述各AU的长度信息;其中,所述AU的特征信息用于描述其承载的流媒体数据的属性;步骤S402 根据各AU的特征信息选择需要的AU ;步骤S403 根据各AU的长度信息,计算出所述需要的AU在所述分组包中的偏移位置;步骤S404 根据所述需要的AU在所述分组包中的偏移位置及其长度信息,从所述分组包中解码出需要的AU。采用本发明实施例方案,接收端根据分组包中各AU的特征信息快速筛选需要的 AU,再根据各AU的长度信息进行偏移量计算,从而可以快速定位出需要的AU的位置,进而能够快速、高效地实现个性化观看。其中,所述AU的特征信息与AU中承载的流媒体数据相关,主要用于区别不同AU 中承载的流媒体数据,其可以根据需要进行设置,具体如上所述,此处不再赘述。其中,所述AU的特征信息可以是封装在所述分组包的包头中,或者也可以是封装在所述分组包的负载部分中且位于AU之前的位置。较佳地,当所述分组包的AU特征信息还包括所述分组包的AU特征信息的总长度信息吋,接收端在希望访问分组包内的所有AU吋,可以通过该字段跳过AU特征信息,直接访问AU数据。从而降低计算复杂度,提高访问速度。 本发明实施例还提供了 ー种流媒体数据传输方法,在发送端采用如上所述发送方法,在发送分组包时还发送分组包的AU特征信息,在接收端采用如上所述接收方法,根据分组包的AU特征信息,筛选需要的AU,并精确定位出AU的具体位置,从而实现个性化播放具体的AU。为了实现上述发送方法,本发明实施例还提供了 ー种流媒体数据发送装置,如图5 所示,包括第一发送处理模块,用于将流媒体数据封装为分组包发送出去,所述分组包包括包头和负载部分,所述负载部分中包括一个或者多个访问単元AU ;第二发送处理模块,在所述第一发送处理模块发送分组包吋,还发送所述分组包的AU特征信息,包括所述分组包中各AU的特征信息,以及所述各AU的长度信息;其中,所述AU的特征信息用于描述其承载的流媒体数据的属性。较佳地,所述分组包的AU特征信息还可以包括所述分组包的AU特征信息的总长度信息。其中,所述AU的特征信息与AU中承载的流媒体数据相关,主要用于区别不同AU 中承载的流媒体数据,其可以根据需要进行设置,例如,可以为流媒体数据的编码类型。当然,可以为流媒体的其他属性,例如传输优先级、错误标记、各种分级属性中的一种或者多种,等等,本发明在此不做限制。或者,所述AU的特征信息也可以用于描述其承载的流媒体数据的多个属性,从而进一步丰富AU筛选条件,更适合个性化观看。其中,所述第二发送处理模块,可以将所述分组包的AU特征信息封装在所述分组包的包头中,或者也可以封装在所述分组包的负载部分中且位于首个AU之前的位置。当然,也可以采用其他方式发送,本发明在此不作限制。为了实现上述接收方法,本发明实施例还提供了一种接收装置,如图6所示,包括第一解析模块,用于在接收到分组包后,解码所述分组包中承载的访问单元AU特征信息,所述AU特征信息包括所述分组包中各AU的特征信息,以及所述各AU的长度信息; 其中,所述AU的特征信息用于描述其承载的流媒体数据的属性;
选择模块,用于根据各AU的特征信息选择需要的AU ;运算模块,用于根据各AU的长度信息,计算出所述需要的AU在所述分组包中的偏移位置;以及第二解析模块,根据所述需要的AU在所述分组包中的偏移位置及其长度信息,从所述分组包中解码出需要的AU。较佳地,所述分组包的AU特征信息还包括,所述分组包的AU特征信息的总长度信息。相应地,所述第二解析模块,还可以在需要访问所述分组包内所有AU吋,根据所述AU 特征信息的总长度信息,跳过所述AU特征信息,直接依次解析各AU。其中,所述AU的特征信息与AU中承载的流媒体数据相关,主要用于区别不同AU 中承载的流媒体数据,其可以根据需要进行设置,例如,可以为流媒体数据的编码类型。当然,可以为流媒体的其他属性,例如传输优先级、错误标记、各种分级属性中的一种或者多种,等等,本发明在此不做限制。或者,所述AU的特征信息也可以用于描述其承载的流媒体数据的多个属性,从而进一步丰富AU筛选条件,更适合个性化观看。其中,所述第一解析模块,可以是从所述分组包的包头中,或者也可以是从所述分组包的负载部分中且位于AU之前的位置解析出所述AU的特征信息。具体的封装位置由发送端确定,当发送端采用其他封装方式吋,解析所述AU的特征信息的位置随之而变,因此, 本发明在此不做限制。本发明实施例还提供了ー种系统,包括如上所述的发送装置和接收装置。为了进ー步说明,本发明还提供了如下应用实例。应用实例1 本应用实例为采用本发明技术方案实现多视角编码的个性化观看。假定MVC码流中包含viewl和view2两种视角的数据,他们以NAL unit header MVC extension中的 viewjd的取值为1,2来进行区分。并且传输流分组包由N个AU組成,记为AU1,AU2,..., AUn。如果客户希望观看viewl视角的数据,则服务器可以对传输流分组包内的AU进行选择,如图7所示,具体步骤包括步骤701 解析AU的特征信息;解析分组包内所有AU的特征信息,获取NAL unit header MVC extension中的 view_id 取值;步骤702 选择适合的AU ;选取所有view_id字段取值为1的AU,假定在此有两个AU的viewjd字段取值为 1,分别为 AUl,AUi。步骤703 解析所有AU的长度;步骤704 计算已选择AU的偏移;根据分组包中所有AU的长度和已选择AU的长度,可以计算出已选择AU在分组包中的偏移。AUl的偏移为分组包头的大小加上AU所有特征信息的大小。AUi的偏移为分组包头的大小加上AU所有特征信息的大小,加上AU1,AU2,. . .,AUi-I长度之和。步骤705 获取所有已选择的Au。根据已选择AU的偏移和长度,即可从分组包中选择所有viewl视角的数据包,则客户端可以以viewl视角观看节目。应用实例2:本应用实例为采用本发明技术方案实现AU的精确定位。假定传输流分组包由N 个AU組成,记为AUl,AU2,... , AUn0通过某种策略,客户端需要精确定位到该分组包的第 i个AU。如图8所示,具体步骤包括步骤801 选择适合的AU ;根据策略,选择AU为AUi ;步骤802 解析所有AU的长度;步骤803 计算已选择AU的偏移;根据分组包中所有AU的长度和已选择AU的长度,可以计算出AUi在分组包中的偏移。AUi的偏移为分组包头的大小加上AU所有特征信息的大小,加上AU1,AU2,. . .,AUi-I 长度之和。步骤804 获取所有已选择的AU。根据AUi的偏移就可以精确定位到AUi,满足客户精确定位的播放需求。本发明提出的流媒体传输方法与系统,借助媒体流带内信息在媒体转发设备和客户端上进行分组包内AU的选择和精确定位,适用于流媒体点播和直播场景,能够有效的提升计算效率。以上仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、 等同替换、改进等,均应包含在本发明的保护范围之内。
权利要求
1.ー种流媒体数据发送方法,发送端将流媒体数据封装为分组包发送出去,所述分组包包括包头和负载部分,所述负载部分中包括一个或者多个访问単元AU,其特征在干所述发送端在发送分组包时,还发送所述分组包的AU特征信息,包括所述分组包中各 AU的特征信息,以及所述各AU的长度信息;其中,所述AU的特征信息用于描述其承载的流媒体数据的属性。
2.如权利要求1所述的发送方法,其特征在干,所述分组包的AU特征信息还包括 所述分组包的AU特征信息的总长度信息。
3.如权利要求1所述的发送方法,其特征在于所述AU的特征信息用于描述的属性包括流媒体数据的编码类型。
4.如权利要求1所述的发送方法,其特征在于所述发送端将所述分组包的AU特征信息封装在所述分组包的包头中,或者封装在所述分组包的负载部分中且位于首个AU之前的位置。
5.ー种流媒体数据接收方法,其特征在干接收端接收到分组包后,解码所述分组包中承载的访问单元AU特征信息,所述AU特征信息包括所述分组包中各AU的特征信息,以及所述各AU的长度信息;其中,所述AU的特征信息用于描述其承载的流媒体数据的属性; 根据各AU的特征信息选择需要的AU ;根据各AU的长度信息,计算出所述需要的AU在所述分组包中的偏移位置;以及根据所述需要的AU在所述分组包中的偏移位置及其长度信息,从所述分组包中解码出需要的AU。
6.如权利要求5所述的接收方法,其特征在于所述分组包的AU特征信息还包括,所述分组包的AU特征信息的总长度信息。 所述接收端在需要访问所述分组包内所有AU吋,根据所述AU特征信息的总长度信息, 跳过所述AU特征信息,直接依次访问各AU。
7.如权利要求5所述的接收方法,其特征在于所述AU的特征信息用于描述的属性包括流媒体数据的编码类型。
8.如权利要求5所述的接收方法,其特征在于所述AU的特征信息封装在所述分组包的包头中,或者封装在所述分组包的负载部分中且位于AU之前的位置。
9.ー种流媒体数据发送装置,用于将流媒体数据封装为分组包发送出去的第一发送处理模块,所述分组包包括包头和负载部分,所述负载部分中包括一个或者多个访问単元AU, 其特征在于,还包括第二发送处理模块,在所述第一发送处理模块发送分组包时,还发送所述分组包的AU 特征信息,包括所述分组包中各AU的特征信息,以及所述各AU的长度信息; 其中,所述AU的特征信息用于描述其承载的流媒体数据的属性。
10.如权利要求9所述的发送装置,其特征在干,所述分组包的AU特征信息还包括 所述分组包的AU特征信息的总长度信息。
11.如权利要求9所述的发送装置,其特征在干所述AU的特征信息用于描述的属性包括流媒体数据的编码类型。
12.如权利要求9所述的发送装置,其特征在干所述第二发送处理模块,是将所述分组包的AU特征信息封装在所述分组包的包头中, 或者封装在所述分组包的负载部分中且位于首个AU之前的位置。
13.ー种流媒体数据接收装置,其特征在干,包括第一解析模块,用于在接收到分组包后,解码所述分组包中承载的访问单元AU特征信息,所述AU特征信息包括所述分组包中各AU的特征信息,以及所述各AU的长度信息;其中,所述AU的特征信息用于描述其承载的流媒体数据的属性;选择模块,用于根据各AU的特征信息选择需要的AU ;运算模块,用于根据各AU的长度信息,计算出所述需要的AU在所述分组包中的偏移位置;以及第二解析模块,根据所述需要的AU在所述分组包中的偏移位置及其长度信息,从所述分组包中解码出需要的AU。
14.如权利要求13所述的接收装置,其特征在干所述分组包的AU特征信息还包括,所述分组包的AU特征信息的总长度信息。所述第二解析模块,还在需要访问所述分组包内所有AU吋,根据所述AU特征信息的总长度信息,跳过所述AU特征信息,直接依次解析各AU。
15.如权利要求13所述的接收装置,其特征在干所述AU的特征信息用于描述的属性包括流媒体数据的编码类型。
16.如权利要求13所述的接收装置,其特征在干所述第一解析模块,是从所述分组包的包头中,或者从所述分组包的负载部分中且位于AU之前的位置解析出所述AU的特征信息。
全文摘要
本发明提供了一种流媒体数据传输方法及装置,该方法包括发送端将流媒体数据封装为分组包发送出去,所述分组包包括包头和负载部分,所述负载部分中包括一个或者多个访问单元AU,其中所述发送端在发送分组包时,还发送所述分组包的AU特征信息,包括所述分组包中各AU的特征信息,以及所述各AU的长度信息;其中,所述AU的特征信息用于描述其承载的流媒体数据的属性。该方法能够快速实现个性化观看和精确定位观看。
文档编号H04L29/06GK102594777SQ201110005000
公开日2012年7月18日 申请日期2011年1月11日 优先权日2011年1月11日
发明者孙健, 李加周, 王芳, 赵宇, 陈光亮 申请人:中兴通讯股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1