一种多媒体码流的码率调整装置及方法转让专利

申请号 : CN200810146205.5

文献号 : CN101646075B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 黄健吴安军王标

申请人 : 中兴通讯股份有限公司

摘要 :

本发明提供一种多媒体码流的码率调整装置及方法,其中装置包括:数据通讯接口模块,用于接收复用帧数据,以及将复用帧数据写入数据包双口缓存模块;数据包双口缓存模块,用于缓存复用帧数据;计算模块,用于计算打包复用码流包间隔,以及将打包复用码流包间隔发送给输出码率控制模块;输出码率控制模块,用于以打包复用码流包为单位发送数据包双口缓存模块中的复用帧数据,所述打包复用码流包间隔为发送相邻两个打包复用码流包的时间间隔。采用本发明,降低了多媒体码流发送时的码率,从而减少了丢包或数据包同步丢失等错误;而且本发明发送数据时没有插入空包,因此避免了传输带宽的浪费。

权利要求 :

1.一种多媒体码流的码率调整装置,位于中国移动多媒体广播CMMB复用器的输出接口部分,其特征在于,所述装置包括:数据通讯接口模块,用于接收复用帧数据,以及将所述复用帧数据写入数据包双口缓存模块;

数据包双口缓存模块,用于缓存所述复用帧数据;

计算模块,用于计算打包复用码流PMS包间隔,以及将所述PMS包间隔发送给输出码率控制模块,所述计算模块计算PMS包间隔是指,先根据网管配置信息计算出每秒需要发送的PMS包数量,然后用信道容量除以每秒内需要发送的PMS包数量,取整后得到所述PMS包间隔;

输出码率控制模块,用于以PMS包为单位发送数据包双口缓存模块中的复用帧数据,所述PMS包间隔为发送相邻两个PMS包的时间间隔。

2.如权利要求1所述的装置,其特征在于:

所述计算模块还用于计算字节间隔,以及将所述字节间隔发送给输出码率控制模块;

所述输出码率控制模块发送各PMS包内的复用帧数据时以字节为单位进行发送,所述字节间隔为发送相邻两个字节的时间间隔。

3.如权利要求1或2所述的装置,其特征在于:

所述输出码率控制模块发送复用帧数据前先判断所述双口缓存模块中是否有复用帧数据需要发送,是则读取其中的复用帧数据,每次读取一个PMS包大小的复用帧数据发送,当该PMS包中的复用帧数据全部发送完毕后再读取一个PMS包大小的复用帧数据发送,发送相邻两个PMS包的第一个字节间的时间间隔为所述PMS包间隔。

4.如权利要求2所述的装置,其特征在于:

所述计算模块还用于获取网管配置信息;

所述计算模块计算字节间隔是指,用所述PMS包间隔除以一个PMS包内的字节数,取整后得到字节间隔。

5.如权利要求4所述的装置,其特征在于:

当所述计算模块计算出的PMS包间隔不在预先设置的范围内时,则将缺省值作为所述PMS包间隔,所述缺省值为最大码率时对应的PMS包间隔;

所述计算模块定时获取网管配置信息;当所述网管配置信息发生变化时重新计算所述PMS包间隔及字节间隔。

6.一种多媒体码流的码率调整方法,包括:在中国移动多媒体广播CMMB复用器的输出接口部分设置码率调整装置,所述码率调整装置计算打包复用码流PMS包间隔,首先根据网管配置信息计算出每秒需要发送的PMS包数量,然后用信道容量除以每秒内需要发送的PMS包数量,取整后得到所述PMS包间隔,当所述码率调整装置收到复用帧数据后先缓存所述复用帧数据,当发送缓存的复用帧数据时,以PMS包为单位进行发送,所述PMS包间隔为发送相邻两个PMS包的时间间隔。

7.如权利要求6所述的方法,其特征在于:

所述码率调整装置还计算字节间隔,发送各PMS包内的复用帧数据时以字节为单位进行发送,所述字节间隔为发送相邻两个字节的时间间隔。

8.如权利要求6或7所述的方法,其特征在于:

当发送所述缓存的复用帧数据时,每次从缓存的复用帧数据中读取一个PMS包大小的复用帧数据发送,当读取的该PMS包中的复用帧数据全部发送完毕后再读取一个PMS包大小的复用帧数据发送,发送相邻两个PMS包的第一个字节间的时间间隔为所述PMS包间隔。

9.如权利要求7所述的方法,其特征在于:

所述计算打包复用码流PMS包间隔的方法为,码率调整装置先获取网管配置信息,再根据所述网管配置信息计算出每秒需要发送的PMS包数量,然后用信道容量除以每秒内需要发送的PMS包数量,取整后得到所述PMS包间隔;

所述计算字节间隔的方法为,用所述PMS包间隔除以一个PMS包内的字节数,取整后得到字节间隔。

10.如权利要求7所述的方法,其特征在于:

当计算出的PMS包间隔不在预先设置的范围内时,则将缺省值作为所述PMS包间隔,所述缺省值为最大码率时对应的PMS包间隔;

所述码率调整装置定时获取所述网管配置信息;当所述网管配置信息发生变化时重新计算所述PMS包间隔及字节间隔。

说明书 :

一种多媒体码流的码率调整装置及方法

技术领域

[0001] 本发明涉及数字多媒体广播技术,特别涉及一种多媒体码流的码率调整装置及方法。

背景技术

[0002] 目前国际上移动多媒体广播(手机电视)有多个行业标准并存,其中中国移动多媒体广播CMMB(China Multimedia Mobile Broadcasting)是中国自主研发的手机电视行业标准,受到广泛的重视。广播系统中定义复用器和调制器之间采用打包复用码流PMS(Packaged Multiplexing Stream)进行传输,采用标准EN50083-9中描述的ASI接口。PMS包是固定包长的数据结构,主要用于压缩码流的传输。包长为188字节,其中前4字节兼容GB/T17975.1-2000中定义的传送流包头。第一个字节时包同步字节,为0x47;第2、3字节的低13位是包标识PID(Packet Identifier),用来标识数据包的类别。其基本的包结构如图1所示。
[0003] CMMB复用器的功能框图如图2所示,包含输入接口、功能单元、复用和输出接口等四部分。现有的复用器有的输出的PMS包对码率没有控制,只要复用模块组好包就发出去,还有的复用器输出通过增加空包达到码率均匀的目的。由于实际应用中会遇到通过传输设备进行远距离传输,目前传输码流瞬时码率过高,一方面造成传输带宽的浪费,另一方面如果超过接收端的承受能力,会出现丢包或数据包同步丢失等错误。
[0004] 现有的专利文献包括:专利申请号为200410007155.4的中国专利申请“一种多媒体码流的码率调整方法”、专利号为EP1685666和WO2005050881的国际专利“METHOD FOR CONTROLLING BIT RATE INDIGITAL AUDIO BROADCASTING SYSTEM AND APPARATUS ANDMETHOD FOR CONVERTING MFDIA STRFAM BY USING THE SAME”(数字音频广播系统中控制比特率的方法以及采用相同方法实现媒体流码率转换的设备和方法)。
[0005] 申请号为200410007155.4的中国专利申请存在以下不足:一、主要应用于MPEG-2这种要求固定码率的场合,要求输入的码率基本是均匀的。二、为了使输出码率恒定,在有效数据包之间插入了空包,如果传输设备不对空包进行解析,则实际上提高了码流占用的传输带宽。
[0006] 专利号为EP1685666、WO2005050881的专利存在以下不足:针对数字音频广播(DAB)提出了码率的控制方法,没有涉及降低瞬时比特率的功能。

发明内容

[0007] 本发明要解决的技术问题是提供一种多媒体码流的码率调整装置及方法,有效地解决了丢包或数据包同步丢失,以及浪费传输带宽的问题。
[0008] 为了解决上述问题,本发明提供了一种多媒体码流的码率调整装置,位于中国移动多媒体广播CMMB复用器的输出接口部分,所述装置包括:
[0009] 数据通讯接口模块,用于接收复用帧数据,以及将所述复用帧数据写入数据包双口缓存模块;
[0010] 数据包双口缓存模块,用于缓存所述复用帧数据;
[0011] 计算模块,用于计算打包复用码流PMS包间隔,以及将所述PMS包间隔发送给输出码率控制模块;
[0012] 输出码率控制模块,用于以PMS包为单位发送数据包双口缓存模块中的复用帧数据,所述PMS包间隔为发送相邻两个PMS包的时间间隔。
[0013] 进一步地,所述计算模块还用于计算字节间隔,以及将所述字节间隔发送给输出码率控制模块;
[0014] 所述输出码率控制模块发送各PMS包内的复用帧数据时以字节为单位进行发送,所述字节间隔为发送相邻两个字节的时间间隔。
[0015] 进一步地,所述输出码率控制模块发送复用帧数据前先判断所述双口缓存模块中是否有复用帧数据需要发送,是则读取其中的复用帧数据,每次读取一个PMS包大小的复用帧数据发送,当该PMS包中的复用帧数据全部发送完毕后再读取一个PMS包大小的复用帧数据发送,发送相邻两个PMS包的第一个字节间的时间间隔为所述PMS包间隔。
[0016] 进一步地,所述计算模块还用于获取网管配置信息;
[0017] 所述计算模块计算PMS包间隔是指,先根据所述网管配置信息计算出每秒需要发送的PMS包数量,然后用信道容量除以每秒内需要发送的PMS包数量,取整后得到所述PMS包间隔;
[0018] 所述计算模块计算字节间隔是指,用所述PMS包间隔除以一个PMS包内的字节数,取整后得到字节间隔。
[0019] 进一步地,当所述计算模块计算出的PMS包间隔不在预先设置的范围内时,则将缺省值作为所述PMS包间隔,所述缺省值为最大码率时对应的PMS包间隔;
[0020] 所述计算模块定时获取网管配置信息;当所述网管配置信息发生变化时重新计算所述PMS包间隔及字节间隔。
[0021] 本发明还提供一种多媒体码流的码率调整方法,包括:在中国移动多媒体广播CMMB复用器的输出接口部分设置码率调整装置,所述码率调整装置计算打包复用码流PMS包间隔,当所述码率调整装置收到复用帧数据后先缓存所述复用帧数据,当发送缓存的复用帧数据时,以PMS包为单位进行发送,所述PMS包间隔为发送相邻两个PMS包的时间间隔。
[0022] 进一步地,所述码率调整装置还计算字节间隔,发送各PMS包内的复用帧数据时以字节为单位进行发送,所述字节间隔为发送相邻两个字节的时间间隔。
[0023] 进一步地,当发送所述缓存的复用帧数据时,每次从缓存的复用帧数据中读取一个PMS包大小的复用帧数据发送,当读取的该PMS包中的复用帧数据全部发送完毕后再读取一个PMS包大小的复用帧数据发送,发送相邻两个PMS包的第一个字节间的时间间隔为所述PMS包间隔。
[0024] 进一步地,所述计算打包复用码流PMS包间隔的方法为,码率调整装置先获取网管配置信息,再根据所述网管配置信息计算出每秒需要发送的PMS包数量,然后用信道容量除以每秒内需要发送的PMS包数量,取整后得到所述PMS包间隔;
[0025] 所述计算字节间隔的方法为,用所述PMS包间隔除以一个PMS包内的字节数,取整后得到字节间隔。
[0026] 进一步地,当计算出的PMS包间隔不在预先设置的范围内时,则将缺省值作为所述PMS包间隔,所述缺省值为最大码率时对应的PMS包间隔;
[0027] 所述码率调整装置定时获取所述网管配置信息;当所述网管配置信息发生变化时重新计算所述PMS包间隔及字节间隔。
[0028] 综上所述,本发明提供一种多媒体码流的码率调整装置及方法,降低了多媒体码流发送时的码率,从而减少了丢包或数据包同步丢失等错误;而且本发明发送数据时没有插入空包,因此避免了传输带宽的浪费,再者,PMS包间隔及字节间隔是码率调整装置自动设置,提高了系统的灵活性。

附图说明

[0029] 图1是PMS包结构示意图;
[0030] 图2是CMMB复用器的功能框图;
[0031] 图3是本发明码率调整装置的示意图;
[0032] 图4是本发明方法的流程图;
[0033] 图5是本发明计算模块的操作流程图。

具体实施方式

[0034] 本发明提供一种多媒体码流的码率调整装置及方法,在CMMB复用器的输出接口部分设置码率调整装置,该码率调整装置计算PMS包间隔,当收到组建好的复用帧数据后先缓存该复用帧数据,当发送缓存的复用帧数据时,以PMS包为单位进行发送,PMS包间隔为发送相邻两个PMS包的时间间隔。
[0035] 本实施例提供一种多媒体码流的码率调整装置,如图3所示,包括:数据通信接口模块、数据包双口缓存模块、输出码率控制模块、计算模块,还可以包括缓存状态判断模块;其中,
[0036] 数据通信接口模块用于接收组建好的复用帧数据,以及将接收的复用帧数据写入数据包双口缓存模块缓存;可以是在数据包双口缓存模块的状态为可写时写入复用帧数据,即当收到数据包双口缓存模块或缓存状态判断模块发来的可写入的通知后将接收的复用帧数据写入数据包双口缓存模块缓存;优选地,写入的数据包双口缓存模块数据量为PMS包的整数倍。
[0037] 数据包双口缓存模块用于缓存复用帧数据,还可以根据存储的复用帧数据量调整其状态,如当存储的复用帧数据量大于或等于预设的上限值时将其状态设为不可写入,当存储的复用帧数据量小于或等于预设的下限值时将其状态设为可写入;还可以用于当其状态变化时告知数据通信接口模块;还可以用于记录当前存储的复用帧数据量,还可以当有复用帧数据写入时通知输出码率控制模块当前存储的复用帧数据量,当输出码率控制模块读取一部分复用帧数据后减少当前存储的复用帧数据量。
[0038] 计算模块用于根据网管配置信息计算PMS包间隔及字节间隔,以及将计算结果发送给输出码率控制模块;计算模块可以是通过控制接口定时读取网管配置信息;网管配置信息包括时隙分配以及各时隙的调制方式;
[0039] 计算PMS包间隔是指,先根据所述网管配置信息中的时隙分配以及各时隙的调制方式计算出每秒需要发送的PMS包数量,然后用信道容量除以每秒内需要发送的PMS包数量,取整后得到PMS包间隔;计算字节间隔是指,用PMS包间隔除以一个PMS包内的字节数,取整后得到字节间隔。
[0040] 当计算模块计算出的PMS包间隔不在预先设置的范围内时,可以将缺省值作为PMS包间隔,并向网管发送告警消息,该缺省值可以是多媒体码流为最大码率时对应的PMS包间隔;计算模块可以是定时获取网管配置信息;当网管配置信息发生变化时重新计算PMS包间隔及字节间隔。如图5所示,为计算模块计算PMS包间隔及字节间隔的操作流程图。
[0041] 输出码率控制模块用于发送数据包双口缓存模块中的复用帧数据,发送时以PMS包为单位进行发送,PMS包间隔为发送相邻两个PMS包的时间间隔。发送复用帧数据前先判断双口缓存模决中是否有复用帧数据需要发送,是则读取其中的复用帧数据,可以是每次读取一个PMS包大小的复用帧数据发送,当该PMS包中的复用帧数据全部发送完毕后再读取一个PMS包大小的复用帧数据发送,发送相邻两个PMS包的第一个字节间的时间间隔即为PMS包间隔。
[0042] 缓存状态判断模块可用于读取数据包双口缓存模块的状态,当数据包双口缓存模块的状态为可写入时,向数据通信接口模块发送可写入的通知;缓存状态判断模块可以是定时读取数据包双口缓存模块的状态。
[0043] 本实施例还提供一种多媒体码流的码率调整方法,如图4所示,包括以下步骤:
[0044] 步骤401:获取网管配置信息,计算出PMS包间隔及字节间隔;网管配置信息包括时隙分配以及各时隙的调制方式;
[0045] 计算方法可以是,首先根据网管配置信息中的时隙分配以及各时隙的调制方式计算出每秒需要发送的PMS包数量,然后用信道容量除以每秒内需要发送的PMS包数量,再取整得到PMS包间隔;再用PMS包间隔除以PMS包长(即所含字节数),取整后得到字节间隔;如果计算的PMS包间隔不在预先设置的范围内,可以将缺省值作为PMS包间隔,并向网管发送告警消息,该缺省值可以是最大码率时对应的PMS包间隔。
[0046] 获取网管配置信息可以是定时获取,当网管配置信息变化后,需要重新计算PMS包间隔及字节间隔。
[0047] 步骤402:接收组建好的复用帧数据,并缓存接收的复用帧数据;
[0048] 在发送复用帧数据的过程中仍然不断地执行该步骤。
[0049] 步骤403:判断是否有复用帧数据需要发送,是则执行步骤404,否则再次执行该步;
[0050] 步骤404:发送缓存的复用帧数据,以PMS包为单位进行发送,发送相邻两个PMS包的时间间隔即为PMS间隔;
[0051] 可以是每次从缓存的复用帧数据中读取一个PMS包大小的复用帧数据发送,当该PMS包中的复用帧数据全部发送完毕后再读取一个PMS包大小的复用帧数据发送,发送相邻两个PMS包的第一个字节间的时间间隔即为PMS包间隔。
[0052] 发送复用帧数据时,可以是每次从缓存的复用帧数据中读取一个PMS包大小的复用帧数据,当读取部分的复用帧数据发送完毕后若缓存的复用帧数据尚未发送完毕,则再次从缓存的复用帧数据中读取一个PMS包大小的复用帧数据发送;发送各PMS包内的复用帧数据时,可以是以字节为单位进行发送,发送相邻两个字节的时间间隔即为字节间隔。发送完一个PMS包大小的复用帧数据后回到步骤403。
[0053] 码率调整装置还可以记录当前缓存的复用帧数据量,当提取一个PMS包大小的复用帧数据后,减少记录的当前缓存的复用帧数据量。
[0054] 以下是计算PMS包间隔及字节间隔的应用实例:
[0055] 移动多媒体广播的传输流采用Asynchronous Serial Interface(ASI)接口,ASI接口的输出码率固定为270Mbps,由于串行码流是经过了8B/10B编码的,实际能够传输的码率为27MBps;
[0056] 计算PMS包间隔:
[0057]
[0058] 其中分母为每秒内PMS包数量之和。
[0059] 计算字节间隔:
[0060]
[0061] 用PMS包间隔除以PMS包长即为字节间隔,其中Byte_num为一个PMS包中的字节数量,CMMB系统中,一个PMS包含有188字节的数据。得出的PMS包间隔及字节间隔的单位均为字节。
[0062] 采用均匀字节间隔时的峰值码率:
[0063] ASI接口上对数据进行了8B10B编码,瞬时码率为
[0064]
[0065] 这里的字节间隔算法是一个特例,实际应用中还可以进行优化,比如可以采用非均匀的字节间隔方式,使瞬时码率进一步降低。例如可以是在确定了字节间隔的基础上,在发送复用帧数据时,扩大某个或某些相邻字节间的发送间隔,而其余相邻字节间的发送间隔为上述计算的字节间隔;还可以采用以下方式,上述公式中字节间隔是经过取整的,如果希望进一步降低码率,可以将小数部分进行分析,假设字节间隔取整前的计算值为m.n(保留小数点后一位,m为整数部分,n为小数部分),那么可以计算出每发送K个有效数据时,将任意两相邻字节间的发送间隔设为(Byte_Interval+1)个字节,其余相邻字节间的发送间隔仍为Byte_Interval个字节,K的计算方法如下:
[0066]
[0067] 当然采用非均匀的字节间隔方式时,确定字节间隔的方法并不限于上面列举的这种,还可以有很多其他方式,只要能进一步降低码率即可。