发明名称 一种基于混沌粒子群算法的矢量量化码书构造方法
摘要 本发明请求保护一种基于混沌粒子群算法的矢量量化码书构造方法,具体地说是一种可用于语音压缩编码和图像压缩系统中的基于粒子群的矢量量化器。此方法把粒子群算法与混沌算法相结合用于矢量量化码书的构造,并可将该算法扩展到多级矢量量化器中。由于本发明在粒子群优化算法中融入了混沌优化,加快了粒子群算法摆脱局部极值点的速度,提高了算法的收敛精度,使矢量量化器的性能得到了改善。
申请公布号 CN105205838A 申请公布日期 2015.12.30
申请号 CN201510522569.9 申请日期 2015.08.24
申请人 重庆邮电大学 发明人 李强;舒勤军;付余涛;覃杨微;范杰羚;夏绪玖
分类号 G06T9/00(2006.01)I;G10L19/00(2013.01)I;H03M7/30(2006.01)I 主分类号 G06T9/00(2006.01)I
代理机构 重庆市恒信知识产权代理有限公司 50102 代理人 刘小红
主权项 一种基于混沌粒子群算法的矢量量化码书构造方法,其特征在于,包括以下步骤:101、提取语音信号或图像信号的特征参数值,提取的特征参数值作为构造码书的训练矢量;102、将生成矢量量化码书所需的全部训练矢量X存储在计算机内存中,全部X的集合用S表示;103、种群初始化,设置迭代算法的最大迭代次数MaxLoop,粒子的个数K,矢量量化级数M,最大速度V<sub>max</sub>,最小速度V<sub>min</sub>;设置粒子的初始速度p[k].v,k=1,2,...,K;设置适应度初值p[k].f,k=1,2,...,K;设置迭代初值m=1,级数初值kkk=1;104、从步骤102中的全部训练矢量X中,随机提取N个训练矢量组成一个初始码书<img file="FDA0000787391530000011.GIF" wi="811" he="78" />重复K次,获得K个粒子p[k];根据最邻近准则,每输入一个粒子,将其划分到N个子集<img file="FDA0000787391530000012.GIF" wi="268" he="69" />中,即当<img file="FDA0000787391530000013.GIF" wi="169" he="69" />时,下式成立:<maths num="0001" id="cmaths0001"><math><![CDATA[<mrow><mi>d</mi><mrow><mo>(</mo><mi>X</mi><mo>,</mo><msubsup><mi>y</mi><mi>l</mi><mrow><mi>m</mi><mo>-</mo><mn>1</mn></mrow></msubsup><mo>)</mo></mrow><mo>&le;</mo><mi>d</mi><mrow><mo>(</mo><mi>X</mi><mo>,</mo><msubsup><mi>y</mi><mi>i</mi><mrow><mi>m</mi><mo>-</mo><mn>1</mn></mrow></msubsup><mo>)</mo></mrow><mo>,</mo><mo>&ForAll;</mo><mi>i</mi><mo>,</mo><mi>i</mi><mo>&NotEqual;</mo><mi>l</mi></mrow>]]></math><img file="FDA0000787391530000014.GIF" wi="703" he="74" /></maths><maths num="0002" id="cmaths0002"><math><![CDATA[<mrow><mi>d</mi><mrow><mo>(</mo><mi>X</mi><mo>,</mo><msubsup><mi>y</mi><mi>l</mi><mrow><mi>m</mi><mo>-</mo><mn>1</mn></mrow></msubsup><mo>)</mo></mrow><mo>=</mo><mo>|</mo><mo>|</mo><mi>X</mi><mo>-</mo><msubsup><mi>y</mi><mi>l</mi><mrow><mi>m</mi><mo>-</mo><mn>1</mn></mrow></msubsup><mo>|</mo><msup><mo>|</mo><mn>2</mn></msup></mrow>]]></math><img file="FDA0000787391530000015.GIF" wi="488" he="105" /></maths>105、计算新码字<maths num="0003" id="cmaths0003"><math><![CDATA[<mrow><mi>p</mi><mo>&lsqb;</mo><mi>k</mi><mo>&rsqb;</mo><mo>.</mo><mi>Y</mi><mo>=</mo><mrow><mo>(</mo><mi>p</mi><mo>&lsqb;</mo><mi>k</mi><mo>&rsqb;</mo><mo>.</mo><msubsup><mi>y</mi><mn>1</mn><mi>m</mi></msubsup><mo>,</mo><mi>p</mi><mo>&lsqb;</mo><mi>k</mi><mo>&rsqb;</mo><mo>.</mo><msubsup><mi>y</mi><mn>2</mn><mi>m</mi></msubsup><mo>,</mo><mo>...</mo><mo>,</mo><mi>p</mi><mo>&lsqb;</mo><mi>k</mi><mo>&rsqb;</mo><mo>.</mo><msubsup><mi>y</mi><mi>N</mi><mi>m</mi></msubsup><mo>)</mo></mrow><mo>,</mo></mrow>]]></math><img file="FDA0000787391530000016.GIF" wi="822" he="71" /></maths>其中<img file="FDA0000787391530000017.GIF" wi="174" he="70" />是<img file="FDA0000787391530000018.GIF" wi="64" he="69" />的质心,计算公式如下,num<sub>i</sub>是集合<img file="FDA0000787391530000019.GIF" wi="60" he="69" />中训练矢量的个数;<maths num="0004" id="cmaths0004"><math><![CDATA[<mrow><mi>p</mi><mo>&lsqb;</mo><mi>k</mi><mo>&rsqb;</mo><mo>.</mo><msubsup><mi>y</mi><mi>i</mi><mi>m</mi></msubsup><mo>=</mo><mfrac><mn>1</mn><mrow><msub><mi>num</mi><mi>i</mi></msub></mrow></mfrac><munder><mo>&Sigma;</mo><mrow><mi>X</mi><mo>&Element;</mo><msubsup><mi>S</mi><mi>i</mi><mi>m</mi></msubsup></mrow></munder><mi>X</mi></mrow>]]></math><img file="FDA00007873915300000110.GIF" wi="448" he="140" /></maths>统计每一个胞腔,即每个子集<img file="FDA00007873915300000111.GIF" wi="78" he="71" />包含的训练矢量数,将每一个训练矢量的失真按从大到小排序。对于空胞腔,则将胞腔训练矢量数不为1且失真最大的训练矢量作为新的码字代替空胞腔,同时将此胞腔中的训练矢量数减1;106、计算各个粒子的适应度<maths num="0005" id="cmaths0005"><math><![CDATA[<mrow><mi>p</mi><mo>&lsqb;</mo><mi>k</mi><mo>&rsqb;</mo><mo>.</mo><msup><mi>f</mi><mrow><mo>(</mo><mi>m</mi><mo>)</mo></mrow></msup><mo>=</mo><munderover><mo>&Sigma;</mo><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mi>N</mi></munderover><munder><mo>&Sigma;</mo><mrow><mi>X</mi><mo>&Element;</mo><msubsup><mi>S</mi><mi>i</mi><mi>m</mi></msubsup></mrow></munder><mi>d</mi><mrow><mo>(</mo><mi>X</mi><mo>,</mo><msubsup><mi>y</mi><mi>i</mi><mi>m</mi></msubsup><mo>)</mo></mrow></mrow>]]></math><img file="FDA00007873915300000112.GIF" wi="564" he="125" /></maths>比较适应度p[k].f<sup>(m)</sup>与p[k].f<sub>best</sub>,如果p[k].f<sup>(m)</sup>小于最优位置的适应度p[k].f<sub>best</sub>,则更新p[k].f<sub>best</sub>与<img file="FDA0000787391530000021.GIF" wi="876" he="71" />比较每个粒子的适应度p[k].f<sub>best</sub>与群的最优位置的适应度f<sub>gbest</sub>,如果p[k].f<sub>best</sub>小于f<sub>gbest</sub>,则更新f<sub>gbest</sub>与群体最优粒子<maths num="0006" id="cmaths0006"><math><![CDATA[<mrow><mi>p</mi><mo>.</mo><msub><mi>Y</mi><mrow><mi>g</mi><mi>b</mi><mi>e</mi><mi>s</mi><mi>t</mi></mrow></msub><mo>=</mo><mrow><mo>(</mo><mi>p</mi><mo>&lsqb;</mo><mi>k</mi><mo>&rsqb;</mo><mo>.</mo><msubsup><mi>y</mi><mn>1</mn><mi>m</mi></msubsup><mo>,</mo><mi>p</mi><mo>&lsqb;</mo><mi>k</mi><mo>&rsqb;</mo><mo>.</mo><msubsup><mi>y</mi><mn>2</mn><mi>m</mi></msubsup><mo>,</mo><mo>...</mo><mo>,</mo><mi>p</mi><mo>&lsqb;</mo><mi>k</mi><mo>&rsqb;</mo><mo>.</mo><msubsup><mi>y</mi><mi>N</mi><mi>m</mi></msubsup><mo>)</mo></mrow><mo>;</mo></mrow>]]></math><img file="FDA0000787391530000022.GIF" wi="822" he="77" /></maths>107、如果迭代次数m能整除3,则对最优粒子进行混沌优化,在下式中,β<sub>i</sub>和α<sub>i</sub>是特征参数第i维的最大值和最小值,μ为控制参量;<maths num="0007" id="cmaths0007"><math><![CDATA[<mrow><msub><mi>z</mi><mi>i</mi></msub><mo>=</mo><mfrac><mrow><mi>p</mi><mo>&lsqb;</mo><mi>k</mi><mo>&rsqb;</mo><mo>.</mo><msub><mi>y</mi><mi>i</mi></msub><mo>-</mo><msub><mi>&alpha;</mi><mi>i</mi></msub></mrow><mrow><msub><mi>&beta;</mi><mi>i</mi></msub><mo>-</mo><msub><mi>&alpha;</mi><mi>i</mi></msub></mrow></mfrac></mrow>]]></math><img file="FDA0000787391530000023.GIF" wi="340" he="142" /></maths>z<sub>i</sub>=μ(1‑z<sub>i</sub>)p[k].y<sub>i</sub>=α<sub>i</sub>+(β<sub>i</sub>‑α<sub>i</sub>)z<sub>i</sub>循环三次,产生3个粒子,保留适应度最小的粒子,并取代当前群体中随机选取的一个粒子;判定迭代次数是否大于MaxLoop,如果大于MaxLoop,则跳到步骤109,否则转到步骤108,继续执行;108、更新粒子及粒子的速度;109、求训练矢量量化残差,输出码字,级数kkk加1,如果kkk&gt;M,结束;如果kkk≤M,重新设置初值,并将训练矢量改为上一级的量化残差矢量。
地址 400065 重庆市南岸区黄桷垭崇文路2号
您可能感兴趣的专利