⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 21ic 基于定点dsp的mp3间频编码算法研究及实现.htm

📁 网上收集的关于嵌入式开发的文档。拿来共享!
💻 HTM
📖 第 1 页 / 共 2 页
字号:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<!-- saved from url=(0062)http://www.21ic.com/new_info/news/files/news/200433105518.html -->
<HTML><HEAD><TITLE>21IC: 基于定点DSP的MP3间频编码算法研究及实现</TITLE>
<META http-equiv=Content-Type content="text/html; charset=gb2312">
<STYLE type=text/css>TD {
	FONT-SIZE: 12px
}
INPUT {
	FONT-SIZE: 12px; font-fammily: verdana,宋体
}
A:link {
	FONT-SIZE: 12px; COLOR: #0000ff; LINE-HEIGHT: 16px; TEXT-DECORATION: underline
}
A:visited {
	FONT-SIZE: 12px; COLOR: #660066; LINE-HEIGHT: 16px; TEXT-DECORATION: underline
}
A:hover {
	FONT-SIZE: 12px; COLOR: #ff0000; TEXT-DECORATION: underline
}
.unnamed1 {
	FONT-SIZE: 12px; FONT-FAMILY: "Arial", "Helvetica", "sans-serif"
}
.white {
	FONT-SIZE: 12px; COLOR: #ffffff; LINE-HEIGHT: 16px
}
.b:link {
	FONT-SIZE: 12px; COLOR: #3366cc; LINE-HEIGHT: 18px; TEXT-DECORATION: underline
}
.b:visited {
	FONT-SIZE: 12px; COLOR: #813f1b; LINE-HEIGHT: 18px; TEXT-DECORATION: none
}
.b:hover {
	FONT-SIZE: 12px; COLOR: #ffa037; LINE-HEIGHT: 18px; TEXT-DECORATION: underline
}
.148xg {
	FONT-SIZE: 14px; COLOR: #0000ff; LINE-HEIGHT: 14pt; FONT-FAMILY: "宋体"; TEXT-DECORATION: underline
}
.128dt {
	FONT-SIZE: 14px; COLOR: #9999cc; LINE-HEIGHT: 14pt; FONT-FAMILY: "宋体"; TEXT-DECORATION: none
}
.heigh150 {
	LINE-HEIGHT: 150%
}
</STYLE>

<META content="MSHTML 6.00.2600.0" name=GENERATOR></HEAD>
<BODY text=#000000 bgColor=#ffffff leftMargin=0 topMargin=5>
<TABLE cellSpacing=0 cellPadding=0 width=768 align=center border=0>
  <TBODY>
  <TR>
    <TD align=middle width=168 height=80><IMG 
      src="21IC 基于定点DSP的MP3间频编码算法研究及实现.files/21ic.gif"></TD>
    <TD width=472>
      <SCRIPT language=javascript 
      src="21IC 基于定点DSP的MP3间频编码算法研究及实现.files/ads.htm"></SCRIPT>
    </TD>
    <TD height=80>
      <TABLE cellSpacing=0 cellPadding=0 width="100%" border=0>
        <TBODY>
        <TR>
          <TD class=b12 align=middle height=30><FONT 
            face="Arial, Helvetica, sans-serif" color=#000000>
            <SCRIPT language=JavaScript 
            src="21IC 基于定点DSP的MP3间频编码算法研究及实现.files/date.js"></SCRIPT>
            </FONT></TD></TR></TBODY></TABLE></TD></TR></TBODY></TABLE>
<TABLE cellSpacing=0 cellPadding=1 width=768 align=center border=0>
  <TBODY>
  <TR>
    <TD>
      <TABLE cellSpacing=0 cellPadding=3 width=766 align=left border=0>
        <TBODY>
        <TR bgColor=#d8d6ba>
          <TD width=3 height=20></TD>
          <DIV id=Position></DIV>
          <TD width=378>
            <FORM name=email 
            action=http://www.21icsearch.com/buzi/mail2/chkemail.asp method=post 
            target=_blank><B>电子工程周刊:</B> <INPUT class=main 
            style="BORDER-RIGHT: #0097cf 1px solid; BORDER-TOP: #0097cf 1px solid; BORDER-LEFT: #0097cf 1px solid; BORDER-BOTTOM: #0097cf 1px solid; BACKGROUND-COLOR: #ffffff" 
            maxLength=255 size=30 value=输入您的Email name=email> <INPUT class=jbutton type=submit value=订阅> </TD></FORM>
          <DIV></DIV>
          <DIV id=Time></DIV>
          <DIV id=Image></DIV>
          <DIV id=Title></DIV>
          <TD width=418>
            <MARQUEE onmouseover=this.scrollDelay=99000 
            onmouseout=this.scrollDelay=80 scrollAmount=2 scrollDelay=80 
            width="80%"><FONT color=#cc0000><IMG height=12 
            src="21IC 基于定点DSP的MP3间频编码算法研究及实现.files/xilan_arrow.gif" 
            width=16>每周自动接收行业新闻,技术资料,设计文章</FONT></MARQUEE></TD>
          <DIV></DIV>
          <TD width=9></TD></TR></TBODY></TABLE>
      <DIV></DIV>
      <DIV id=Time></DIV>
      <DIV id=Image></DIV>
      <DIV id=Title><TD< td></DIV></TD></TR></TBODY></TABLE></TD></TR></TABLE><BR>
<TABLE cellSpacing=0 cellPadding=0 width=768 align=center border=0>
  <TBODY>
  <TR>
    <TD vAlign=top width=617 height=2>
      <TABLE cellSpacing=0 cellPadding=0 width=583 align=center border=0>
        <TBODY>
        <TR>
          <TD align=middle height=31><FONT size=4><B>基于定点DSP的MP3间频编码算法研究及实现 
            </B></FONT></TD></TR>
        <TR>
          <TD align=middle height=15>文章作者:李力利 <BR>文章类型:设计应用 
            文章加入时间:2004年3月3日10:55</TD></TR>
        <TR>
          <TD align=right><FONT color=#cc0000>文章出处:电子技术应用</FONT> </TD></TR>
        <TR>
          <TD height=15>
            <HR width="100%" noShade SIZE=1>
          </TD></TR>
        <TR>
          <TD height=15>
            <TABLE cellSpacing=0 cellPadding=0 align=center border=0>
              <TBODY>
              <TR>
                <TD></TD></TR></TBODY></TABLE><BR></TD></TR></TBODY></TABLE>
      <TABLE cellSpacing=0 cellPadding=0 width=530 align=center border=0>
        <TBODY>
        <TR>
          <TD class=heigh150 height=15>
            <DIV id=Content>
            <P class=MsoNormal><SPAN 
            style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">&nbsp;&nbsp;&nbsp; 
            <B>摘要:</B></SPAN>通过对心理声学模型的简化,并在子带滤波器和量化编码模块采用快速算法,大大降低了运算量,在一片100MIPS的定点DSP上实现了实时压缩。</P>
            <P class=MsoNormal><SPAN 
            style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">&nbsp;&nbsp;&nbsp; 
            <B>关键词:</B></SPAN>音频编码 掩蔽阈值 心理声学模分析子带滤波器</P>
            <P 
            style="TEXT-INDENT: 30px">MP3是MPEG-1国际标准中音频压缩层3的简称,单声道比特率一般取64kbps,在采样率44.1kHz的情况下,其压缩比可达12倍以上,被广泛应用于互联网等许多场合。由于解码比编码过程简单很多,MP3播放机或随身听已随处可见,但MP3编码在单片机定点DSP上实现,并要保证音质,则鲜有耳闻。考虑到心理声学模型在整个MP3音频编码算法中所占比例巨大,笔者从简化该模型入手,采用快速算法减少了带编码的运算量和数据量,尽可能少量化编码的迭代循环次数,从而在一片美国德州仪器公司的TMS320C549芯片上实现了MP3的实时压缩,用标准解码软件回放,主观评定,对于通常的音频能达到接近CD的音质。<B><BR><IMG 
            height=185 hspace=10 src="21IC 基于定点DSP的MP3间频编码算法研究及实现.files/17a.gif" 
            width=549 vspace=10 border=0><BR>1 MP3编码算法及处理</B></P>
            <P 
            style="TEXT-INDENT: 30px">图1是MP3编码器的系统方框图。每声道以1152个采样值为一帧进行处理。首先,分析子带滤波器采用正交镜像滤波器组,将20kHz左右带宽的信号划分成相等带宽的32个子带。然后对子样值作MDCT以补偿子带滤波的不足,主要是为提高频率分辨率、消除由子带滤波引起的带间混迭。</P>
            <P style="TEXT-INDENT: 30px">同时采样值通过心理声学模型计算出各频带的掩蔽阈值。</P>
            <P 
            style="TEXT-INDENT: 30px">失真控制循环和非归一化量化控制循环是量化编码循环过程,它通过量化减少各MDCT系数的精度,使编码比特数得以降低。不同系数采用不同的量化阶,从耳敏感的频率量化精度高,不敏感的频率量化精度低,量化误差则不会被人耳察觉。选择量化阶的依据就是心理声学模型计算出的掩蔽阀值。<BR><IMG 
            height=242 hspace=10 src="21IC 基于定点DSP的MP3间频编码算法研究及实现.files/17b.gif" 
            width=549 vspace=10 border=0><BR><FONT size=3>&nbsp;&nbsp;&nbsp; 
            </FONT><SPAN class=main1>最后将量化阶等信息以及霍夫曼码打包成比特流,供解码用。</P>
            <P style="TEXT-INDENT: 30px">那么为什么掩蔽阈值能反映人耳的听觉特点呢?</P>
            <P 
            style="TEXT-INDENT: 30px">人耳的听觉特性涉及生理声学和心理声学方面的问题。例如人耳对不同频率的声音感觉不同就是生理方面的问题,其中对2kHz~4kHz的声音最敏感,且低频较高频敏感。敏感程度具体体现为静态掩蔽阈值,如图2虚线所示,表示在安静的情况下,各种频率的声音刚好被听到的音量。与人的心理知觉有关的有掩蔽效应等。掩蔽效应指一个声音的听觉感受受到另一个声音影响的现象,分为时间掩蔽(前向、后向掩蔽)和频率掩蔽(同时掩蔽)。例如,当一个较强的声音停止后,要过一会儿才能听到另一个较强的声音,这就是时间掩蔽效应。频率掩蔽是指一个声音对与其同时存在的临近频率的声音产生的影响,如图2实线所示。其中标志1的实线表示:当1kHz的掩蔽声音为60dB时,不同频率的声音刚好被听到的分贝值,可见越临近频率被掩蔽得越厉害,且低频更易掩蔽高频。</P>
            <P 
            style="TEXT-INDENT: 30px">因此心理声学模型就先用FFT分析信号中包含的频率分量,将每个频率处受到其他所有频率分量掩蔽的值加起来,连线得到的曲线就是掩蔽阈值,是频率的函数。当某频率分量的能量处曲线下方时,不能被人耳感觉到,则该频率分量可用零比特编码;另一方面,选择量化阶时若能保证量化噪声低于掩蔽曲线,也不被人耳察觉,所以掩蔽值越大的频率分量量化阶可以越大。因此用掩蔽阈值作为量化编码的依据,就能够信证压缩后的声音质量。由于声音信号随时间改变,因此每帧信号都要计算两次心理声学模型,其中要用到大量的实验测试数据,运算量之在是可想而知的。</P>
            <P style="TEXT-INDENT: 0px"><B>2 算法的简化和优化</B></P>
            <P style="TEXT-INDENT: 30px">2.1 分析子带滤波器的快速算法</P>
            <P 
            style="TEXT-INDENT: 30px">分析子带滤波器的输入是32个采样值,输出是32个频率等间隔的子带样值。它首先将32个采样值放入一个长度512的先进先出(FIFO)缓存;对该缓存加窗;然后512个缓存中每8个值累加,转换成64个中间值;最后通过(1)或将64个中间值变换成32个采样值:<BR><IMG 
            height=69 hspace=10 src="21IC 基于定点DSP的MP3间频编码算法研究及实现.files/17c.gif" 
            width=549 vspace=10 border=0><BR></SPAN><FONT 
            size=3>&nbsp;&nbsp;&nbsp; </FONT><SPAN 
            class=main1>寻找快速算法的关键就是这最后一步。将系数设数组: </SPAN></P>
            <P style="TEXT-INDENT: 30px"><SPAN class=main1><IMG height=53 
            src="21IC 基于定点DSP的MP3间频编码算法研究及实现.files/17d.gif" width=440 
            border=0></P>
            <P style="TEXT-INDENT: 30px">可以发现该数组具有如下的对称性:</P>
            <P 
            style="TEXT-INDENT: 30px">c[16+n]=c[16-n],n=0,1,…,16&nbsp;&nbsp;&nbsp; 
            (3)</P>
            <P 
            style="TEXT-INDENT: 30px">c[48+n]=-c[48-n],n=0,1,…,15&nbsp;&nbsp;&nbsp; 
            (4)</P>
            <P style="TEXT-INDENT: 30px">所以合并系数相等或相反的项,(1)式变成:</P>
            <P style="TEXT-INDENT: 30px"><IMG height=55 
            src="21IC 基于定点DSP的MP3间频编码算法研究及实现.files/17e.gif" width=467 
            border=0></P>
            <P style="TEXT-INDENT: 30px">其中,</P>
            <P style="TEXT-INDENT: 30px"><IMG height=81 
            src="21IC 基于定点DSP的MP3间频编码算法研究及实现.files/17f.gif" width=394 
            border=0></P>
            <P 
            style="TEXT-INDENT: 30px">可见用(5)式代替(1)式可以减少一半的乘法运算。又发现(5)式和标准的IDCT非常相似,可以将Lee提出的快速IDCT算法稍加改动推导(5)式的快速算法。所以又将32点变换分解成以下的两个16点变换:</P>
            <P style="TEXT-INDENT: 30px"><IMG height=62 
            src="21IC 基于定点DSP的MP3间频编码算法研究及实现.files/17g.gif" width=499 
            border=0></P>
            <P style="TEXT-INDENT: 30px"><IMG height=60 
            src="21IC 基于定点DSP的MP3间频编码算法研究及实现.files/17h.gif" width=494 
            border=0></P>
            <P style="TEXT-INDENT: 30px">其中,</P>
            <P style="TEXT-INDENT: 30px"><IMG height=139 
            src="21IC 基于定点DSP的MP3间频编码算法研究及实现.files/17i.gif" width=486 
            border=0></P>
            <P style="TEXT-INDENT: 30px">最终的子带样值是如下的蝶形组合:</P>
            <P style="TEXT-INDENT: 30px">X[K]=Xe[k]+(1/cos[(2k+1)<FONT 
            face=Arial>π/64]Xo[k],k=0,1,</FONT>…,15 (11)</P>
            <P style="TEXT-INDENT: 30px">X[31-k]=Xe[k]-(1/cos[(2k+1)<FONT 
            face=Arial>π/64])Xo[k],k=0,1,</FONT>…,15 (12)</P>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -