问答题 MPEG音频编码LayerⅠ、LayerⅡ、LayerⅢ有何差异和特点?
【正确答案】MPEG声音压缩定义了3个层次,它们的基本模型是相同的。LayerⅠ是最基础的,LayerⅡ和LayerⅢ都在LayerⅠ的基础上有所提高。每个后继的层次都有更高的压缩比,但需要更复杂的编、解码器。MPEG声音的每一个层都自含SBC编码器,其中包含“时间频率多相滤波器组”、“心理声学模型(计算掩蔽特性)”、“量化和编码”和“数据流帧包装”,而高层SBC可使用低层SBC编码的声音数据。MPEG的声音数据分成帧(frame),LayerⅠ每帧包含384个样本的数据,每帧由32个子带分别输出的12个样本组成。LayerⅡ和LayerⅢ每帧为1152个样本。
   LayerⅠ的子带是频带相等的子带,它的心理声学模型仅使用频域掩蔽特性。LayerⅠ的“时间一频率多相滤波器组”使用类似于离散余弦变换(Discrete cosine Transform,DCT)的分析滤波器组进行变换,以获得详细的信号频谱信息。根据信号的频率、强度和音调,滤波器组的输出可用来找出掩蔽阈值,然后组合每个子带的单个掩蔽阈值以形成全局的掩蔽阈值。使用这个阈值与子带中的最大信号进行比较,产生信掩比SMR之后再输入到“量化和编码器”。“量化和编码器”首先检查每个子带的样本,找出这些样本中的最大的绝对值,然后量化成6bit,这个比特数称为比例因子(scale factor)。“量化和编码器”根据SMR确定每个子带的比特分配(bit allocation),子带样本按照比特分配进行量化和编码。被高度掩蔽的子带不需要对其进行编码。LayerⅡ对LayetⅠ作了一些直观的改进,相当于3个LayerⅠ的帧,每帧有1152个样本。它使用的心理声学模型除了使用频域掩蔽特性之外,还利用了时间掩蔽特性,并且在低、中和高频段对比特分配作了一些限制,对比特分配、比例因子和量化样本值的编码也更紧凑。由于LayerⅡ采用了上述措施,因此所需的比特数减少了,这样就可以有更多的比特用来表示声音数据,音质也比LayerⅠ更高。LayerⅠ是对一个子带中的一个样本组(由12个样本组成)进行编码,而LayerⅡ和LayerⅢ是对一个子带中的三个样本组进行编码。LayerⅡ使用与LayerⅠ相同的同步头和CRC结构,但描述比特分配的位数(即比特数)随子带不同而变化:低频段的子带用4bit,中频段的子带用3bit,高频段的子带用2bit。LayerⅡ比特流中有一个比例因子选择信息(ScaleFactor Selection Information,SCFSI)域,解码器根据这个域的信息可知道是否需要以及如何共享比例因子。LayerⅢ使用比较好的临界频带滤波器,把声音频带分成非等带宽的子带,心理声学模型除了使用频域掩蔽特性和时间掩蔽特性之外,还考虑了立体声数据的冗余,并且使用了霍夫曼(Huffman)编码器。LayerⅢ使用了从ASPEC(Audio SpectralPerceptual Entropy Encoding)和OCF(Optimal Coding in the Frequencyr domain)导出的算法,比LayerⅠ和LayerⅡ都要复杂。虽然LayerⅢ所用的滤波器组与LayerⅠ和LayerⅡ所用的滤波器组的结构相同,但是LayetⅢ还使用了改进离散余弦变换(Modified DiscreteCosine Transform,MDCT)对LayerⅠ和LayetⅡ的滤波器组的不足作了一些补偿。MDCT把子带的输出在频域里进一步细分,以达到更高的频域分辨率。而且通过对子带的进一步细分,LayerⅢ编码器已经部分消除了多相滤波器组引入的混叠效应。LayerⅢ指定了两种MDCT的块长:长块的块长为18个样本,短块的块长为6个样本,相邻变换窗口之间有50/%的重叠。长块对于平稳的声音信号可以得到更高的频域分辨率,而短块对跳变的声音信号可以得到更高的时域分辨率。在短块模式下,3个短块代替1个长块,而短块的大小恰好是一个长块的1/3,所以MDCT的样本数不受块长的影响。除了使用MDCT外,LayerⅢ还采用了其他许多改进措施来提高压缩比而不降低音质。虽然LayerⅢ引入了许多复杂的概念,但是它的计算量并没有比LayerⅡ增加很多,增加的主要是编码器的复杂度和解码器所需要的存储容量。
【答案解析】