MPEG帧转换为 DAB帧的研究与实现

2010-09-20 05:31沈向辉刘月萍
关键词:比特率字节校验

沈向辉,刘月萍

(中国传媒大学广播电视数字化教育部工程研究中心,北京 100024)

1 MPEG1 layer2音频帧结构

MPEG1 layer2音频帧由帧头开始,帧头由同步字(12比特)和声音系统相关信息(20比特)组成。帧头后的一个循环冗余校验(CRC,16比特)用以保护帧头信息、比特分配和比例因子选择信息区域的部分信息。CRC之后是比特分配、比例因子选择信息(ScFSI)和比例因子(Scale Factors)。再接着便是被解码器用来重建 PCM声音信号的子频道样值,最后是长度可变的附加数据区域。在采样率为48KHz时,每个 MPEG1 layer2音频帧相当 1152个PCM音频样值,持续期为 24ms。

MPEG1 layer2音频帧的帧结构如图 1所示。

2 DAB音频帧结构

DAB应用系统采用了具有附加特定信息的MPEG1 layer2音频帧格式。特定信息包括扩展节目伴随数据(X-PAD)、声音比例因子差错校验(SCF-CRC)和固定节目伴随数据(F-PAD)。

DAB音频帧结构如图 1所示。

现将有关数据说明如下:

(1)声音业务同步数据(ASSD)

可用于需要保护的同步于 DAB音频帧的数据,该信息共 16比特,置于帧头之前。

(2)DAB帧头

与 DAB音频解码器有关的状态信息,共 16比特,包括:

图 1 MPEG 1 Layer 2帧结构和 DAB帧结构对比

A.比特率标记,共 4比特,表明每个音频节目的总比特率。总比特率包括一个音频帧中的所有比特,即所有用于帧头、声音信号、PAD和差错检测信息必要的比特。

B.采样频率,共 2比特,DAB系统规定采用“01”值,指定 48KHz的采样频率。

C.填充比特,1比特,固定为“0”,表明 48KHz采样频率时不需要填充比特。

D.专用比特,1比特,该比特不被解码器解释。

E.声音模式,用 “00”、“01”、“10”、“11”分别表示立体声、联合立体声、双声道和单声道工作模式。

F.模式扩展,2比特,用于联合立体声模式中,指明哪些子频带处于强度立体声,所有其他子频带在立体声模式中被编码。

G.版权,1比特,等于“1”意味着版权受保护。

H.原版 /复制,1比特。

I.加重,2比特,指明解码器应采用的去重类型。DAB系统采用固定值“00”,表明未加重,因此加重/去重的使用排除。

(3)差错校验

CRC校验,一个 16比特的奇偶校验字,用于编码声音比特流中声音信息对差错最敏感部分的差错校验,这些信息包括 DAB帧头的第三、四字节及比特分配和比例因子选择信息。

(4)音频数据

比特分配信息、比例因子选择信息、比例因子、子频带样值编码信息。

(5)声音填充比特

每个 DAB音频帧中音频数据的总比特量等于比特率*0.024减去由音频业务同步数据(ASSD)、DAB帧头、差错校验(CRC)、扩展节目伴随数据(X-PAD)、比例因子校验(SCF-CRC)和固定节目伴随数据(F-PAD)所占用的比特量。实际被声音数据使用的比特量可能更少。在这种情况下一定数量的填充比特被插入到声音数据终端与 X-PAD始端之间。

(6)扩展节目伴随数据(X-PAD)

该区域的长度在字节复用中可变。

(7)比例因子校验(SCF-CRC)

每个字保护下一个 DAB音频帧子频带的一个组中的比例因子,CRC字的实际数量取决于比特率和声音模式。对于编码数据流中比例因子的两个或四个不同频谱组的差错校验,使用两个或四个 8比特循环冗余校验字。

(8)固定节目伴随数据(F-PAD)

对于 F-PAD,使用了两个固定数量的字节,它们是 DAB音频帧的最后两个字节。

3 MPEG帧转换为 DAB帧方法研究

将 MPEG1 layer2格式的音频帧转换成 DAB格式。DAB音频帧的帧头、校验和以及音频数据部分与 MPEG音频帧相同,因此转换格式时保持 MPEG帧头、CRC校验和以及音频数据这几部分数据不变,而将 MPEG音频帧尾部的辅助数据(ancillary data)部分加入节目伴随数据(PAD)和比例因子校验和(ScF-CRC)以及填充数据(stuffing data)。PAD又可分为固定 PAD(F-PAD)和扩展的 PAD(X-PAD)。在 X-PAD内可传送不同的应用数据,如文本、图像或者多媒体,一个音频数据帧的 X-PAD区域可包含最多 4种不同应用的数据包。X-PAD长度可变,根据其长度可以有三种不同的状态:无 X-PAD(长度为 0)、短 X-PAD(固定 4个字节)、变长 X-PAD(长度大于 4个字节,小于 48个字节)。而 F-PAD负责传输控制信息,也可作为有用数据信道使用,可包括动态范围控制(DRC)。FPAD固定为 2个字节,位于音频帧的最后 2个字节。

MPEG1 layer2音频帧和 DAB帧的结构对比如图 1所示。

由两帧连续的 MPEG帧生成一帧 DAB帧。首先读取连续的两帧 MPEG1 layer2格式的音频帧,解析 MPEG帧头数据,确定比特率、采样频率、音频模式和模式扩展信息,并根据这些信息计算帧长度、比特分配、比例因子信息选择 (ScFSI)和比例因子(Scale Factors)等数据信息。将第一帧 MPEG帧的帧头、CRC校验和以及音频数据部分直接复制到DAB帧的相应位置,根据第二帧 MPEG帧中各子带比例因子的前三位生成 2-4个字节的比例因子校验和(ScF-CRC),置于 DAB帧的 F-PAD之前。根据外部节目伴随信息,分别设置 X-PAD和 FPAD。

音频帧由 MPEG1 layer2格式转换成 DAB格式的软件实现流程如图 2所示。

图 2 音频帧格式转换流程图

4 MPEG帧格式转换在 DAB复用系统中的验证

将 MPEG帧转换为 DAB帧的软件模块嵌入到具有 MPEG音频编码功能的 DAB复用器中,并将复用器与 DAB编码调制器相连,构成 DAB发射系统;接收端采用 RS公司的 DAB软件接收机。实验表明,接收端能够正确的接收、解码并播放 MPEG音频编码器编码的音频文件,从而证明在发端,已经正确地将 MPEG音频帧转换成为 DAB音频帧。

5 结束语

MPEG音频编码器输出的是 MPEG1 layer2格式的音频帧,将其用于 DAB系统中,必须将 MPEG帧转换为 DAB音频帧,然后再进行复用、信道编码调制。本文给出了 MPEG帧格式转换为 DAB帧的实现方法,并验证了其可行性。

[1] ETSI EN 300 401:Radio Broadcasting Systems;Digital Audio Broadcasting(DAB)to mobile,portable and fixed receivers[S].2006.6

[2] 李栋.数字声音广播[M].北京:北京广播学院出版社,2001.

[3] 谭浩强.C程序设计[M].北京:清华大学出版社,1991.

[4] 丛建刚.Visual C++6.0编程实战[M].青岛:青岛出版社,2000.

猜你喜欢
比特率字节校验
一个大范围混沌系统及其在DCSK 中的应用
使用Excel朗读功能校验工作表中的数据
No.8 字节跳动将推出独立出口电商APP
No.10 “字节跳动手机”要来了?
基于MSP430的四旋翼飞行器的S-BUS通信协议的设计与实现
炉温均匀性校验在铸锻企业的应用
基于多个网络接口的DASH系统设计与实现
电子式互感器校验方式研究
浅谈微电子故障校验
基于能量分配提高纠错码误比特率性能的研究