小波分析算法
① 小波算法是什么
王卫国 郭宝龙
(西安电子科技大学机电工程学院,西安 710071)
摘 要 随着互联网的普及和图象应用范围的不断扩大,对图象的编码提出了新的要求,即不仅要求具有高的压缩比,还要求有许多新的功能,如渐进编解码、从有损压缩到无损压缩等。嵌入式零树小波编码较好地实现了这一思想,因此奠定了它在图象编码中的地位。近年来,在嵌入式零树小波编码(EZW)算法的基础上出现了许多新的改进算法,如多级树集合分裂算法(SPIHT),集合分裂嵌入块编码(SPECK),可逆的嵌入小波压缩法(CREW)等.本文对这些算法从原理到性能进行了比较和讨论,说明了嵌入式图象编码的研究方向。
关 键 词 图象编码 嵌入式 零树 小波变换
On Embedded Zerotree Wavelets Coding and other Improved Algorithms
WANG Wei-guo, GUO Bao-long
(School of Mechano-Electronic Engineering,Xidian Univ.,Xi’an 710071)
Abstract With the extensive application of internet and image,some new requirements on image coding,such as high compression rate ,pregressive codec,and compression from lossy to lossless ,are to be satisfied.These functions can be performed well by EZW(Embedded Zerotree Wavelets) coding.On the bases of EZW,many newly improved algorithms have been developed in recent years.They can illustrated by algorithms like SPIHT(Set Partitioning in Hierarchical Trees),SPECK(Set Partitioned Embedded block coder),In this paper,the writer discusses the principles and performances of these algorithms,thus explains the research tendency in the area of embedded image coding.
Keywords Image coding,Embedded,Zerotree,Wavelet transform
0. 引言
在基于小波变换的图象压缩方案中,嵌入式零树小波 EZW(Embedded Zerotree Wavelets)[1]编码很好地利用小波系数的特性使得输出的码流具有嵌入特性。它的重要性排序和分级量化的思想被许多编码算法所采用。近年来,在对EZW改进的基础上,提出了许多新的性能更好的算法,如多级树集合分裂算法(SPIHT :Set Partitioning In Hierarchical Trees)[2],集合分裂嵌入块编码(SPECK:Set Partitioned Embedded bloCK coder),可逆嵌入小波压缩算法(CREW:Compression with Reversible Embedded Wavelets)[3] 。本文对这些算法进行了原理分析、性能比较,说明了嵌入式小波图象编码的研究方向。
② 小波算法
Function wavelet(s,wname,n,options);
Begin
{
功能:
一维序列小波消噪。
参数:
s:一维序列
wname:小波函数名
现有小波函数名(小波函数的选取依靠经验)
Daubechies:
'db1' , 'db2', ... ,'db45' 'db1' 就是haar 小波函数
Coiflets :
'coif1', ... , 'coif5'
Symlets :
'sym2' , ... , 'sym8'
Biorthogonal:
'bior1.1', 'bior1.3' , 'bior1.5'
'bior2.2', 'bior2.4' , 'bior2.6', 'bior2.8'
'bior3.1', 'bior3.3' , 'bior3.5', 'bior3.7'
'bior3.9', 'bior4.4' , 'bior5.5', 'bior6.8'.
Reverse Biorthogonal:
'rbio1.1', 'rbio1.3' , 'rbio1.5'
'rbio2.2', 'rbio2.4' , 'rbio2.6', 'rbio2.8'
'rbio3.1', 'rbio3.3' , 'rbio3.5', 'rbio3.7'
'rbio3.9', 'rbio4.4' , 'rbio5.5', 'rbio6.8'.
n :分解层数
options : 选项
选择字段说明
array('brief':1, // 默认为1 采用简单剔除高频谐波 达到消噪的目的
// 如果为 0 采用估计序列噪音标准差剔除噪音,
'sigma':0, // 为0 默认采用 序列的高阶谐波估计标准差;也可自己输入值
'which':1, // 以 某一层谐波作为噪音估计的数据,默认第一层
'alpha':2, // 阈值惩罚系数,默认为2
"thr":0, // 阈值大小,默认0 采用谐波估计,也可以直接给出
'sorh':'s', // 阈值方式设置,'s' 软阈值,'h'硬阈值 默认为's'
);
返回结果:
一维数字数组,消噪后的序列。
范例:
s := array(2484.82690429688,2479.05493164063,2482.34301757813,2437.794921875,
2447.7548828125,2512.962890625,2443.05688476563,2433.15893554688,
2393.18310546875,2415.05395507813,2392.06201171875,2365.34301757813,
2359.21997070313,2344.787109375,2348.51611328125,2420.00,2438.7900390625,
2431.375,2440.40209960938,2383.48510742188,2377.51196289063,2331.36596679688,
2317.27490234375,2370.3330078125,2409.67211914063,2427.47998046875,
2435.61401367188,2473.40991210938,2468.25,2470.01904296875,2504.10791015625,
2508.09008789063,2528.2939453125,2509.79907226563,2503.8359375,2524.9189453125,
2479.53588867188,2481.083984375,2528.71411132813,2529.76098632813,2466.958984375,
2463.0458984375,2416.56201171875,2415.1298828125,2412.625,2395.06494140625,
2397.55395507813,2380.22412109375,2383.03393554688,2412.39306640625,
2333.4140625,2386.86010742188,2360.6640625,2333.22900390625,2325.90502929688,
2332.72998046875,2329.82006835938,2315.27001953125,2291.544921875,2248.59008789063,
2228.52490234375,2180.89501953125,2224.84008789063,2218.23510742188,2215.92993164063,
2191.14794921875,2186.29711914063,2204.78393554688,2190.11010742188,2166.205078125,
2170.01293945313,2173.56103515625,2199.4169921875,2169.38989257813,2148.45190429688,
2163.39501953125,2225.88989257813,2285.74389648438,2276.0458984375,2275.01000976563,
2244.580078125,2206.19311523438,2298.3759765625,2266.38403320313,2296.07495117188,
2319.11791992188,2285.0380859375,2292.61010742188,2268.080078125,2312.55590820313,
2330.40502929688,2331.13598632813,2291.90209960938,2347.53002929688,2349.58911132813,
2351.98095703125,2351.85498046875,2344.77099609375,2366.70190429688,2356.86010742188,
2357.18090820313,2363.59692382813,2381.42993164063,2403.5869140625,2409.55395507813,
2439.6279296875,2447.05688476563,2451.85693359375,2428.48706054688,2426.11499023438,
2460.69311523438);
n := 2;
options := array('brief':1,'sigma':0,'which':1,'alpha':2,"thr":0,'sorh':'s');
return wavelet(s,wname,n,options) ;
天软数学组
20120627
}
if not ifarray(options) then options := array();
defaut := wavedefaut() union options;
cout := 4;
cl:=wavedec(s,n,wname); //小波分解
if defaut['brief']=1 then
ret :=wrcoef('a',cl[0],cl[1],wname,n);
else
begin
//***************小波消噪*************************************************
k := defaut['which']; //标准差估计选项 ,k 为 1 到 n的整数 默认为1;
if defaut['sigma']=0 then sigma := wnoisest(cl[0],cl[1],k);
else //通过小波第k层细节系数(谐波)估计 ,噪音标准差
sigma := defaut['segma'];
if defaut['alpha']=0 then alpha :=2; // alpha 惩罚因子 大于1 的数 一般为默认2;
else alpha := defaut['alpha'];
if defaut['thr']=0 then
thr := wbmpen(cl[0],cl[1],sigma,alpha); //噪音信号全局阈值
else thr := defaut['thr'];
sorh := defaut['sorh'];
ret:=wdencmp('gbl',cl[0],cl[1],wname,n,thr,sorh)[0]; //采用软阈值和近似信号进行消噪;
end //第一个参数为'gbl'为扩展接口备用,可以随意输入
return ret;
end;
function wavedefaut();
begin
return array('brief':1,'sigma':0,'which':1,'alpha':2,
"thr":0,'sorh':'s'
);
end
③ 小波分析法和遗传算法之间是什么样的关系
1、小波变换是通过缩放母小波(Mother wavelet)的宽度来获得信号的频率特征, 通过平移母小波来获得信号的时间信息。对母小波的缩放和平移操作是为了计算小波系数,这些小波系数反映了小波和局部信号之间的相关程度。小波变换基,既具有频率局域性质,又具有时间局域性质。小波变换的多分辨度的变换,能在多个尺度上分解,便于观察信号在不同尺度(分辨率)上不同时间的特性。小波变换存在快速算法,对于M点序列而言,计算复杂性为:O(M),处理快速。小波变换基函数有多种类型,可以是正交的,也可以是非正交(双正交),比傅里叶变换更加灵活。小波分析的应用领域十分广泛,它包括:数学领域的许多学科;信号分析、图像处理;量子力学、理论物理;军事电子对抗与武器的智能化;计算机分类与识别;音乐与语言的人工合成;医学成像与诊断;地震勘探数据处理;大型机械的故障诊断等方面;例如,在数学方面,它已用于数值分析、构造快速数值方法、曲线曲面构造、微分方程求解、控制论等。在信号分析方面的滤波、去噪声、压缩、传递等。在图像处理方面的图像压缩、分类、识别与诊断,去污等。在医学成像方面的减少B超、CT、核磁共振成像的时间,提高分辨率等。
(1)小波分析用于信号与图像压缩是小波分析应用的一个重要方面。它的特点是压缩比高,压缩速度快,压缩后能保持信号与图像的特征不变,且在传递中可以抗干扰。基于小波分析的压缩方法很多,比较成功的有小波包最好基方法,小波域纹理模型方法,小波变换零树压缩,小波变换向量压缩等。
(2)小波在信号分析中的应用也十分广泛。它可以用于边界的处理与滤波、时频分析、信噪分离与提取弱信号、求分形指数、信号的识别与诊断以及多尺度边缘检测等。
(3)在工程技术等方面的应用。包括计算机视觉、计算机图形学、曲线设计、湍流、远程宇宙的研究与生物医学方面。
2、遗传算法(Genetic Algorithm, GA)是近几年发展起来的一种崭新的全局优化算法,它借
用了生物遗传学的观点,通过自然选择、遗传、变异等作用机制,实现各个个体的适应性
的提高。它是由美国的J.Holland教授1975年首先提出,其主要特点是直接对结构对象进行操作,不存在求导和函数连续性的限定;具有内在的隐并行性和更好的全局寻优能力;采用概率化的寻优方法,能自动获取和指导优化的搜索空间,自适应地调整搜索方向,不需要确定的规则。遗传算法的这些性质,已被人们广泛地应用于组合优化、机器学习、信号处理、自适应控制和人工生命等领域。它是现代有关智能计算中的关键技术。遗传算法的一些主要应用领域:
(1)函数优化
函数优化是遗传算法的经典应用领域,也是遗传算法进行性能评价的常用算例,许多人构造出了各种各样复杂形式的测试函数:连续函数和离散函数、凸函数和凹函数、低维函数和高维函数、单峰函数和多峰函数等。对于一些非线性、多模型、多目标的函数优化问题,用其它优化方法较难求解,而遗传算法可以方便的得到较好的结果。
(2)组合优化
随着问题规模的增大,组合优化问题的搜索空间也急剧增大,有时在目前的计算上用枚举法很难求出最优解。对这类复杂的问题,人们已经意识到应把主要精力放在寻求满意解上,而遗传算法是寻求这种满意解的最佳工具之一。实践证明,遗传算法对于组合优化中的NP问题非常有效。例如遗传算法已经在求解旅行商问题、 背包问题、装箱问题、图形划分问题等方面得到成功的应用。 此外,GA也在生产调度问题、自动控制、机器人学、图象处理、人工生命、遗传编码和机器学习等方面获得了广泛的运用。
综上所述,小波分析法和遗传算法主要有一下几方面的不同:(1)算法原理不同;(2)算法的应用侧重领域不同。遗传算法不是求解小波分析函数的一种算法。
④ 用小波分析法除去音频信号的噪声
小波变换及其应用是八十年代后期发展起来的应用数学分支,被称为“Fourier分析方法的突破性进展[1]”。 1986年Meyer Y构造了一个真正的小波基,十多年间小波分析及其应用得到了迅速发展,原则上传统的傅里叶分析可用小波分析方法取代[2],它能对几乎所有的常见函数空间给出通过小波展开系数的简单刻划,也能用小波展开系数描述函数的局部光滑性质,特别是在信号分析中,由于它的局部分析性能优越,因而在数据压缩与边缘检测等方面它比现有的手段更为有效[3-8]。 小波变换在图像压缩中的应用因它的高压缩比和好的恢复图像质量而引起了广泛的注意,且出现了各种基于小波变换的图像压缩方案。
小波变换自1992年Bos M等[9]首先应用于流动注射信号的处理,至今虽才8年时间,但由于小波变换其优良的分析特性而迅速渗透至分析化学信号处理的各个领域。本文介绍了小波变换的基本原理及其在分析化学中的应用情况。
1 基本原理
设f(t)为色谱信号,其小波变换在L2(R)中可表示为:
其中a, b∈R,a≠0,参数a称为尺度因子b为时移因子,而(Wf)(b, a)称为小波变换系数,y(t)为基本小波。在实际分析化学信号检测中其时间是有限长度,f(t)通常以离散数据来表达,所以要采用Mallat离散算法进行数值计算,可用下式表示:
fj+1=θj + f j
其中:N为分解起始尺度;M为分解次数;fj和qj可由下式求得:
此处:Φj, m为尺度函数;Ψj, m 为小波函数;系数Cmj ,dmj可由下式表达:
hk-2m , gk-2m取决于小波母函数的选取。
用图表示小波分解过程如下:
图中fN 、fN-1....fN-m和θN-1、θN-2....θN-m分别称为在尺度N上的低频分量和高频分量。上述分解过程的逆过程即是信号的重构过程。
2 分析化学中的应用
根据小波变换基本原理及其优良的多分辩分析特性,本文将小波变换在分析化学信号处理中的应用划归为以下三个方面:
2.1 信号的滤波
小波滤波方法目前在分析化学中应用主要是小波平滑和小波去噪两种方法。小波平滑是将某一信号先经小波分解,将在时间域上的单一信号分解为一系列不同尺度上的小波系数(也称不同频率上的信号), 然后选定某一截断尺度,使高于此尺度的小波系数全部为零,再重构信号,这样就完成了一个低通小波滤波器的设计;而小波去噪,则是在小波分解基础上选定一阈值,对所有尺度空间的小波系数进行比较,使小于此阈值的小波系数为零,然后重构信号[10]。
邵利民[11]等首次将小波变换应用于高效液相色谱信号的滤波,他们应用了Haar小波母函数,由三次小波分解后所得的低频部分重构色谱信号,结果成功地去除了噪声,明显地提高了色谱信号的信噪比,而色谱峰位保持一致,此法提高了色谱的最低检测量和色谱峰的计算精度。董雁适[12]等提出了基于色谱信号的小波自适应滤波算法,使滤波与噪声的频带分布,强度及信噪在频带上的交迭程度基本无关,具有较强的鲁棒性。
在光谱信号滤噪中的应用,主要为红外光谱和紫外光谱信号滤噪方面的应用,如Bjorn K A[13]等将小波变换用于红外光谱信号的去噪,运用6种不同的小波滤噪方法(SURE,VISU,HYBRID,MINMAX,MAD和WP)对加噪后红外光谱图进行了去噪,针对加噪与不加噪的谱图,对Fourier变换、移动平均滤波与小波滤波方法作了性能比较研究,结果认为Fourier变换、移动平均滤波等标准滤波方法在信噪比很低时滤噪性能与小波滤波方法差不多,但对于高信噪比的信号用小波滤噪方法(特别是HYBRID和VISU)则更有效 。闵顺耕[14]等对近红外漫反射光谱进行了小波变换滤波。顾文良[15]等对示波计时电信号进行了滤噪处理。王立世[16]等对电泳信号也做了小波平滑和去噪,都取得了满意的效果。邹小勇[17]等利用小波的时频特性去除了阶跃伏安信号中的噪音,并提出了样条小波多重滤波分析方法,即将过滤后的高频噪音信号当成原始信号进行滤波处理,使之对有用信号进行补偿。鲍伦军等[18]将样条小波和傅里叶变换联用技术应用于高噪音信号的处理。另外,程翼宇[19]等将紫外光谱信号的滤噪和主成分回归法进行了有机的结合,提出了小波基主成分回归(PCRW)方法,改善了主成分回归算法。
2.1 信号小波压缩
信号经小波分解之后,噪音信号会在高频部分出现,而对于有用的信号分量大部分在低频部分出现,据此可以将高频部分小波系数中低于某一阈值的系数去除,而对其余系数重新编码,只保留编码后的小波系数,这样可大大减少数据贮存量,达到信号压缩的目的。
在近代分析化学中分析仪器的自动化水平在不断提高,分析仪器所提供的数据量越来越大。寻找一种不丢失有效信息的数据压缩方法,节省数据的贮存量,或降低与分析化学信息处理有关的一些算法的处理量,已成为人们关心的问题。Chau F T等[20]用快速小波变换对模拟和实验所得的紫外可见光谱数据进行了压缩,讨论了不同阶数的Daubechies小波基、不同的分解次数及不同的阈值对压缩结果的影响。Barclay V J和Bonner R F[10]对实验光谱数据作了压缩,压缩率可达1/2~1/10,并指出在数据平滑和滤噪的同时,也能进行数据的压缩是小波有别与其他滤波方法的一大特点。王洪等[21]用Daubechies二阶正交小波基对聚乙烯红外光谱进行了成功的压缩,数据可压缩至原来的1/5以下。邵学广等[22]对一维核磁共振谱数据作了小波变换压缩,分别对常用的Haar、Daubechies以及Symmlet小波基作了比较,其结果表明准对称的Symmlet小波基对数据的复原效果最佳,而且在压缩到64倍时,均方差仍然较小。章文军等[23]提出了常用小波变换数据压缩的三种方法,将紧支集小波和正交三次B-样条小波压缩4-苯乙基邻苯二甲酸酐的红外光谱数据进行了对比,计算表明正交三次B-样条小波变换方法效果较好,而在全部保留模糊信号及只保留锐化信号中数值较大的系数时,压缩比大而重建光谱数据与原始光谱数据间的均方差较小。邵学广等[24]将小波数据压缩与窗口因子分析相结合,在很大程度上克服了用窗口因子分析直接处理原始信号时人工寻找最佳窗口的困难,在压缩比高达8:1的情况下,原始信号中的有用信息几乎没有丢失,窗口因子分析的解析时间大为缩短。Bos M等[25]用Daubechies小波对红外光谱数据进行压缩,压缩后的数据作为人工神经网络算法的输入接点,从而提高了人工神经网络的训练速度,预测的效果也比直接用光谱数据训练的要好。
2.3 小波多尺度分析
在多尺度分析方面的应用主要是对化学电信号进行小波分解,使原来单一的时域信号分解为系列不同频率尺度下的信号,然后对这些信号进行分析研究。
小波在色谱信号处理方面的应用,主要是对重叠色谱峰的解析。邵学广[26-27]等对苯、甲苯、乙苯三元体系色谱重叠峰信号小波变换后的某些频率段进行放大,然后重构色谱信号,使重叠色谱峰得到了分离,定量分析结果得到了良好的线性关系。此后邵学广[28]等利用了谱峰提取法对植物激素重叠色谱峰作了定量计算,此法表明,利用小波变换从重叠色谱信号中提取的各组分的峰高与浓度之间仍然具有良好的线性关系。
重叠伏安峰的分辨是电分析化学中一个长期存在的难题。当溶液中存在两种或更多的电活性物质,而这些物质的氧化(或还原)电位又很靠近时,就会不可避免地出现重叠峰的现象,而给进一步的定性、定量分析带来了很大困难。因此,人们做了较多的工作去解决这一难题。数学方法是目前处理重叠峰的重要手段,如Fourier变换去卷积以及曲线拟合。曲线拟合通常用来获得“定量”的信息,但这种方法有较多的人为因素,重叠峰包含的峰的个数,相对强度都是靠假设得来,因而可能引入严重的误差;去卷积方法则是一种频域分析手段,但该方法需先找出一个函数来描述伏安峰,然后再根据这个函数来确定去卷积函数,因此,去卷积函数的确定是比较麻烦的,尤其是对不可逆电极过程,无法找到一个合适的函数表达式,而且该方法还需经正、反Fourier变换,比较繁琐费时, 而小波分析的出现成了电分析化学家关注的热点。
陈洁等[29]用DOG小波函数处理差分脉冲实验数据,通过选择合适的伸缩因子,成功地延长了用DPV法测定Cu2+的线性范围。郑建斌等[30-31]将小波变换用于示波计时电位信号的处理,在有用信息提取、重叠峰分辨等方面进行了系统的研究。王洪等[32]将小波边缘检测的思想用于电位滴定终点的确定,找到了一种判断终点准确的终点判断方法。郑小萍等[33]将样条小波变换技术用于分辨重叠的伏安峰,以选定的分辨因子作用于样条小波滤波器,构造了一个小波峰分辨器,用它来直接处理重叠的伏安峰,取得了较好的分离效果,被处理重叠峰可达到完全基线分离,且峰位置和峰面积的相对误差均较小。
对于红外光谱图,目前也是通过对红外谱图进行小波分解,以提高红外谱图的分辩率。陈洁[34]等对辐射合成的丙烯酰胺、丙烯酸钠共聚物水凝胶的红外光谱信号经小波处理后,使其特征吸收带较好地得到分离,成功地提高了红外光谱图的分辨率。谢启桃[35]等对不同晶型聚丙烯红外光谱图作了小波变换,也得到了可用以区分聚丙烯a、b两晶型的红外光谱图。
3 展望
小波变换由于其优良的局部分析能力,使其在分析化学信号的滤噪、数据压缩和谱峰的分离方面得到了很好的应用。本人通过对小波变换在化学中应用的探索,认为对于分析化学中各种电信号的平滑、滤波还有待作更深入的研究,以设计出更为合理有效的小波滤波器,以消除由于平滑而导至的尖锐信号的峰高及峰面积的变化或由于去噪而带来的尖锐信号附近的不应有的小峰的出现;对于重叠峰的分离及其定量计算,还应该探讨如色谱峰基线的确定方法以及待分离频率段的倍乘系数的确定方法;另外对于色谱峰的保留指数定性问题,由于不同化合物在某一确定的分析条件下有可能会出现保留值相同的情况,这将使在未知样中加标准的峰高叠加法定性或外部标准物对照定性变得困难,我们是否可能对色谱峰进行小波分解,然后在不同的尺度上对其进行考察,以寻求色谱峰的小波定性方法,这可能是个可以进一步研究的问题。
小波变换将在分析化学领域得到更加广泛的应用,特别对于分析化学中的多元定量分析法,如多元线性回归法(MLR),主成分回归法(PCR),偏最小二乘法(PLS)等方法及人工神经网络(ANN)将会同小波变换进行有机的结合,以消除各种噪声干扰对定量分析的影响;或对相关数据进行压缩以减少待分析数据的冗余,提高分析精度和大大减少计算量提高分析速度。小波变换将会成为分析化学中定量和定性分析的一种非常重要的工具。
⑤ 什么是“小波神经网络”能干什么用呀
小波神经网络(Wavelet Neural Network, WNN)是在小波分析研究获得突破的基础上提出的一种人工神经网络。它是基于小波分析理论以及小波变换所构造的一种分层的、多分辨率的新型人工神经网络模型。
即用非线性小波基取代了通常的非线性Sigmoid 函数,其信号表述是通过将所选取的小波基进行线性叠加来表现的。它避免了BP 神经网络结构设计的盲目性和局部最优等非线性优化问题,大大简化了训练,具有较强的函数学习能力和推广能力及广阔的应用前景。
“小波神经网络”的应用:
1、在影像处理方面,可以用于影像压缩、分类、识别与诊断,去污等。在医学成像方面的减少B超、CT、核磁共振成像的时间,提高分辨率等。
2、在信号分析中的应用也十分广泛。它可以用于边界的处理与滤波、时频分析、信噪分离与提取弱信号、求分形指数、信号的识别与诊断以及多尺度边缘侦测等。
3、在工程技术等方面的应用。包括电脑视觉、电脑图形学、曲线设计、湍流、远端宇宙的研究与生物医学方面。
(5)小波分析算法扩展阅读:
小波神经网络这方面的早期工作大约开始于1992 年,主要研究者是Zhang Q、Harold H S 和焦李成等。其中,焦李成在其代表作《神经网络的应用与实现》中从理论上对小波神经网络进行了较为详细的论述。近年来,人们在小波神经网络的理论和应用方面都开展了不少研究工作。
小波神经网络具有以下特点:首先,小波基元及整个网络结构的确定有可靠的理论根据,可避免BP 神经网络等结构设计上的盲目性;其次,网络权系数线性分布和学习目标函数的凸性,使网络训练过程从根本上避免了局部最优等非线性优化问题;第三,有较强的函数学习能力和推广能力。