mp3比特池技术

由于MP3采用了自适应窗口选择技术,这样在采用短窗时就会需要较多的编码比特。另一方面,在一些静音帧中,所需的比特数要小于一般的帧。这就会带来编码输出比特率不恒定的情况。

   为了保持速率的恒定,在MP1和MP2中,针对所需比特数少于给定比特数的情况,采用了插入冗余比特的方法。由于没有采用自适应窗口选择技术,这两层不会出现所需比特数多于给定比特数的情况。

   在MP3中,保持比特率恒定的办法就是将某些帧(如静音帧)中多出来的比特保留下来,留给后面的帧使用。在每帧量化编码前,先根据信号的感觉熵(PE)预测其所需的比特数,若PE较大,即所需比特数较多,则从前面预留的比特中取出适当的比特加到可用的比特中。

   采用了弹性比特存储技术之后,MP3的帧结构就不同于一般数据流的帧结构了。在一般的帧中,每帧的数据都是紧接在帧同步码之后,而MP3帧的主数据则有可能先于该帧的同步码出现。为了准确定位每帧的主数据,MP3在码流中设置了一个9比特的指针,用于指出主数据起始位置相对于帧同步码所超前的字节数。MP3帧结构如下图。

http://blog.sina.com.cn/s/blog_63a67e2e0100gx7t.html

   由图可见,弹性比特存储技术实际上就是在每帧的主数据中以固定的间隔插入同步码和边信息,从而以固定波特率的格式实现了可变波特率的编码。在MP3的解码过程中,只需将每帧的主数据先暂存在缓冲区内,在收到同步码后,从缓冲区内取出相应的主数据即可。

                                        ——摘自《MP3软件解码器的研究与实现》


你可能感兴趣的:(mp3比特池技术)