官术网_书友最值得收藏!

2.6 數字音頻水印嵌入算法

根據水印作用域的不同,可將水印嵌入算法劃分為時間域算法、頻率域算法、壓縮域算法。

2.6.1 時間域水印算法

時域水印算法在時間域修改信號樣本達到嵌入水印的目的。時域算法具有以下優點:方法本身簡單易實現且需要較少的計算資源;通過對水印數據和嵌入過程進行加密,安全性可以得到保證;水印嵌入和提取算法簡單,速度快。其缺點是:對信道的干擾及數據操作的抵抗能力很差。最低比特位算法和基于回聲隱藏(echo hiding)的算法是時域算法中兩種主要算法。

1.最低比特位算法

最低比特位算法(least significant bit,LSB)是一種把數據植入其他數據的最簡單的嵌入方法[17]。通過把每個采樣點的最低比特位用一個水印比特來代替,可以把大量的數據植入到音頻信號中。它是最早在信息隱藏和數字音頻水印領域里得到研究的技術之一,現在已經成為時間域嵌入技術的經典算法。實際上,這種技術只是在封閉的、點對點的環境中才有用。

為了提高LSB算法的魯棒性,一些文獻提出了改進算法。文獻[18]提出使用兩步算法提高LSB的魯棒性和比特率。首先使用一種新的LSB編碼方法將水印嵌入到LSB較高層;其次對由嵌入水印引入的噪聲進行處理。使用兩步算法,水印嵌入到LSB較高層中,對于MPEG壓縮等攻擊有較好的魯棒性。計算機仿真計算表明含水印的音頻的音質比較好并且此算法使宿主音頻失真最小。圖2-7為原始水印圖,圖2-8為從含水印的音頻信號中提取出的水印圖,圖2-9為采用LSB嵌入算法得到的含水印的音頻信號波形圖。

圖2-7 原始水印

圖2-8 提取出的水印

2.基于回聲隱藏算法

回聲隱藏算法是根據人類聽覺系統的時域掩蔽特性,弱信號在強信號消失之后的50~200ms之內不被人耳察覺,因此可以利用回聲作為同步信號[19]。回聲隱藏算法的數學模型如下:

圖2-9 原始音頻信號與含水印的音頻波形圖

(a)原始音頻波形圖;(b)含水印的音頻波形圖

(2-1)

(2-2)

其中,yn]是加入回聲后的音頻信號,表示為xn]與hn]的卷積;xn]表示原始音頻信號;hn]為回聲內核的單位脈沖響應,回聲信號由αδn-d)引入到原始音頻中;α表示衰減率;d表示聲音信號的延遲。α為0~1之間的正數,d一般表示回聲信號滯后于原始信號的樣點間隔。回聲隱藏通過在音頻信號中引入不同的回聲延遲來嵌入比特位“0”和“1”。典型回聲核示意圖如圖2-10所示。

圖2-10 典型的回聲核脈沖

1)回聲隱藏嵌入算法

(1)對一段音頻信號,先將其分成若干包含N個采樣點的子幀,每個子幀的時長約為幾毫秒到幾十毫秒。每個子幀嵌入一比特隱藏信息。

(2)在信息嵌入過程中,對每幀信號使用式(2-1),并定義兩種不同的回聲延時d0d1d0d1是根據人耳聽覺掩蔽效應為準則進行選取的。選擇d=d0,則在信號嵌入隱藏信息比特“0”;選擇d=d1,則在信號中嵌入隱藏信息比特“1”。

(3)將所有含隱藏信息的聲音信號的聲音信號段串聯成連續信號。

2)回聲隱藏提取算法

嵌入信息的提取實際上就是確定回聲延時。回聲隱藏算法常用的檢測方法是采用倒譜,文獻[20]使用功率倒譜來提高回聲檢測的性能。在回聲隱藏檢測過程中,使用功率倒譜來檢測不需要恢復原始信號,只需要估計回聲的延遲時間,所以使用功率譜可以有效地檢測回聲隱藏信息。

對音頻信號yn],其倒譜描述如式(2-3)所示:

(2-3)

其中,FF-1分別表示傅里葉變換和傅里葉反變換。式(2-3)可表示為cyn]=F-1[lnX(ejw)]+F-1[lnH(ejw)],這樣可以將xn]和hn]的倒譜求和,即

(2-4)

其中,hn]的倒譜為chn]=F-1[lnH(ejw)],H(ejw)=1+αe-jwd

由于ln(1+x)=x-x2/2+x3/3-…(|x|<1),0<α<1,則

(2-5)

因此,當回聲核如式(2-4)所示時,嵌入回聲后聲音信號的倒譜可以表示為

(2-6)

式(2-5)中,chn]僅在d的整數倍處出現非零值,那么在信號的倒譜域cyn]中,回聲延遲d處也會出現峰值,據此可確定嵌入回聲的延遲大小,從而進一步確定隱藏信息是“0”或是“1”。因此,提取隱藏信息的過程為:

(1)將含有回聲的音頻信號yn]在已知d0d1N的情況下,按照預定的長度分幀,求出每幀的倒譜值;

(2)比較每幀信號中d0d1處的倒譜值cyd0]、cyd1]的大小,如果cyd1]>cyd0],則判定嵌入的隱藏水印信息為“1”,否則為“0”。

由于回聲隱藏算法不是將水印信息當作隨機噪聲嵌入到載體數據中,而是作為載體數據的環境條件,因此對一些有損壓縮的算法具有一定的魯棒性,但是它沒有達到令人滿意的正確提取率。另外由于方法本身的限制,其數據嵌入量比較低。因此,為增加算法的安全性、提高魯棒性和隱藏容量,一些改進的算法被提出[21][22]。目前,對回聲隱藏嵌入算法的研究大部分集中在對“核”的改造上,比如,基于多回聲核的算法、基于雙極性回聲核的算法、基于多向回聲核的算法、基于時域擴展型的算法、基于衰減系數的隱藏方法、基于自適應調整嵌入強度隱藏算法等。Ko等人[23]提出時域擴展型回聲算法來增加回聲隱藏的安全性。該算法使用PN序列來擴展回聲。經過擴展后的回聲振幅會降低,能量也減小,因此,由于在原始音頻中嵌入水印而帶來的失真也會減小。水印檢測過程包括在倒譜域對回聲內核進行相關檢測。該算法與傳統的回聲隱藏算法相比能夠容忍重采樣、MPEG壓縮等的攻擊并且不可感知性也很好。文獻[23]提出使用時域擴展型雙向回聲核改進算法抵抗惡意攻擊的性能,同時通過增加核譜在延遲時間內的峰值提高檢測性能。

2.6.2 頻率域水印算法

頻率域水印算法是將原始媒體數據變換到頻率域中,把水印數據加入到某些頻域系數中,再反變換形成含有水印數據的媒體數據。頻域算法有良好的魯棒性,在經歷了各種處理和加噪、濾波、重采樣等攻擊后,仍能保持很高的可靠性。頻域的主要算法包括:相位水印算法,擴頻水印算法以及基于DFT、DCT和DWT變換的算法。

1.相位水印算法

相位編碼算法充分利用了人耳對絕對相位的不敏感性和對相對相位的敏感性。基于這個特點,將代表秘密數據位的參考相位替換原始音頻段的絕對相位,并對其他的音頻段進行調整,以保持各段之間的相對相位不變化,從而達到嵌入、隱蔽秘密信號的目的。相位編碼法的一個缺陷是當代表秘密數據的參考相位急劇變化時,會出現明顯的相位偏差。它不僅會影響秘密信息的隱蔽性,還會增加接收方譯碼的難度。

為了使相位偏差的影響得以改善,需要在數據轉換點之間留有一定的間隔以使轉換變得平緩,但這又會減小帶寬。因此必須在嵌入數據量和嵌入效果之間折中。一般來說,相位編碼的嵌入量為8~32bps。當載體信號是較為安靜的環境,可得到8bps的信道能力;當載體信號是較為嘈雜的環境,可增大嵌入量,得到32bps的信道能力。

Bender等人[24]提出了一種相位編碼的方法:首先把總長度為N的聲音信號si]分割為小的音頻片斷sni];然后對每個音頻片斷應用離散傅里葉變換并建立一個相位矩陣φnωk)和幅度矩陣Anωk);根據公式φn+1=φn+1ωk)-φnωk)計算并存儲兩個相鄰音頻片斷間的相位差;按式修正首段相位值。使用相位差重新建立相位矩陣:

使用新的相位矩陣和原始幅度矩陣Anωk)進行逆離散傅里葉變換(inverse discrete Fourier transform,IDFT)重構聲音信號。檢測水印時先對信號進行同步,然后檢測相位,并把該相位和兩個特定點上的參考相位相比較得到“0”和“1”。

文獻[25]提出基于立體聲音頻的譜相位差進行高容量信息嵌入。此方法利用人類心理聲學模型來計算由頻率決定的耳間相位差的閾值,該閾值用來決定在音頻何處嵌入水印是最合適的。利用該方法,水印的有效嵌入率可高達20kb/s,能夠抵抗剪切、時域上的平移和下采樣,但不能抵抗壓縮和D/A-A/D轉換。

2.擴頻水印算法

擴頻水印技術是在音頻信號中嵌入偽隨機序列,并通過計算偽隨機噪聲和含水印音頻信號的相關值來檢測水印。擴頻方案是最流行的水印方案之一。使用擴頻水印技術的水印算法具有如下共性[26]

(1)水印信息嵌入到變換域的多個頻率系數上,變換域可以是離散余弦變換域、離散小波變換域、離散傅里葉變換域等;

(2)采用s=x+αws=x(1+αw),s=x(eαw)三種方式修改頻率系數來實現水印信息的嵌入,其中x表示載體的變換域系數,w表示待嵌入的水印編碼信息,α是強度因子,s表示嵌入水印之后的載體變換域系數;

(3)提取水印時,都需要利用原始載體或原始水印的相關信息,不能實現盲提取。

Cox等人的文章被認為是擴頻技術在數字水印上應用的代表性的文章[27]。文章最初應用于數字圖像,但稍加修改即可很方便地擴展到數字音頻和視頻。

為了最小化擴頻水印系統的檢測錯誤率,一些文章提出了改進的擴頻水印方法。文獻[28]提出一種基于修改感知熵心理模型和改進擴頻的水印方法。為了提高算法的魯棒性,大部分的擴頻方法都是把水印擴展到整個原始音頻信號里,而文獻[28]只是把水印嵌入到信號的特殊區域(比如能量比平均能量高的區域)中,這樣在計算復雜度方面比原始擴頻方法要低,使用修改的感知熵的心理模型提高了算法的魯棒性。本算法最大的優點就是降低了計算復雜度。Kim等人[29]提出一種采用擴頻技術降低虛警率和漏檢率的方法。在水印嵌入和提取過程中采用排除離群點(outlier)來降低檢測錯誤。但如何定義outlier點是一個困難的問題。文獻[30]提出的算法采用獨立分量分析理論并把水印檢測作為盲源分離問題。獨立分量分析(independent component analysis,ICA)是進行盲源分離的一種有效方法。計算機仿真計算表明基于ICA的檢測器以非常低的誤碼率(小于0.01)將水印提取出來。文獻[31]利用遺傳算法對擴頻水印進行檢測,計算機仿真計算表明算法能夠正確地檢測出嵌入在音頻載體上的偽隨機序列。

3.基于DFT的音頻水印算法

1)基于DFT的音頻水印嵌入算法原理

離散傅里葉變換是線性系統分析的有力工具,在數字信號處理技術中占有重要的地位。離散傅里葉變換在數字水印處理中受到了高度重視。DFT是復數變換,在幅度和相位滿足特定的條件下,數字水印信息既可以嵌入到媒體信號的幅度上,也可以隱藏在它的相位中。

fn)為一數字序列,其DFT由式(2-7)表示:

(2-7)

傅里葉逆變換定義由式(2-8)表示:

(2-8)

在式(2-7)中,如果fn)是實數,則有

(2-9)

fn)是實數時,可以通過適當修改DFT系數的幅度|Fk)|的方法嵌入水印,為了保證修改結果的離散傅里葉逆變換也為實數,由式(2-9)知,修改幅度|Fk)|應滿足正對稱條件,即

(2-10)

(2-11)

其中,ε為幅度修改量。

同樣,也可以通過適當修改DFT系數的相位∠Fk)來嵌入水印信息。為保證修改結果的離散傅里葉逆變換結果也為實數,由式(2-9)知,修改相位∠Fk)也應滿足負對稱條件,即

(2-12)

其中,δ為相位修改量。

2)基于離散傅里葉變換音頻水印算法[32][33](圖2-11)

圖2-11 基于DFT音頻水印嵌入算法圖

(1)水印預處理

① 選取一幅M1×M2的有意義的二值圖像WW={wm1m2),1≤m1M1,1≤m2M2},其中wm1m2)∈{0,1}作為待嵌入的水印。首先要對該二值圖像進行置亂變換,增強其安全性,但不增加水印嵌入量。

② 將置亂后的水印圖像降維,方便嵌入到一維音頻載體信號中。降維公式為

(2-13)

其中,W″為一維水印信息;w″k)為一維水印信息的像素值;w′ij)為置亂后的二維水印圖像像素值。

(2)嵌入水印信息

X表示長度為N的原始音頻信號,將X分為長度為N1的音頻段,為保證每個音頻段中嵌入一個水印像素信息,那么X的長度N和數據段長度N1應滿足N≥(M1×M2)×N1

① 將原始音頻信號分成M1×M2段,每段長度為N1,記為Xf

Xf={Xfk1|0≤k1<M1×M2}

XfM1×M2個音頻段作一維離散傅里葉變換,即

(2-14)

式中,Dfk1)表示第k1個音頻數據段Xfk1)的一維離散傅里葉結果。

② 將M1×M2個水印像素值嵌入到經DFT變換的音頻中。可采用加法或者乘法嵌入算法嵌入水印。在水印嵌入過程中,為提高算法的魯棒性,可結合心理聲學模型等方法,確定水印的嵌入強度。

③ 對含水印信息的系數進行傅里葉逆變換。首先用修改后的變換系統替換原有位置的傅里葉系數,然后再分段進行一維傅里葉逆變換,這就得到了含有水印的音頻信號。

(3)水印信息提取

水印信息的提取過程是上述水印信息嵌入過程的一個逆過程,主要的提取步驟如圖2-12所示。

圖2-12 基于DFT的水印信息提取過程

3)使用基于DFT的音頻水印算法的優缺點[34]

(1)由于DFT變換具有平移不變性,基于DFT域的數字水印算法具有良好的抗幾何攻擊性能。

(2)由于DFT系數的復數特性,可以在系數的幅值或相位中嵌入水印信息,DFT系數的相位信息比幅值信息更重要,根據數字通信理論,調相技術抗噪聲干擾能力比調幅技術更強,因此應將水印嵌入到音頻DFT系數的相位中。然而,在實際工作中基于DFT系數相位的數字水印算法性能一般,很容易受到攻擊,算法抗MPEG壓縮性能很差。

(3)基于DFT變換的數字水印算法的另外一個缺點是為了確保系數值經傅里葉反變換后得到的值是實數,必須滿足DFT系數的復共軛對稱性質,也就是說,系數幅值的改變必須保持DFT系數的正對稱性:

(2-15)

改變系數的相位必須保持DFT系數的負對稱性:

(2-16)

由于正對稱性和負對稱性的要求使水印嵌入的空間和信息量減少了一半,這也是DFT域水印算法最大的缺點。

4.基于DCT的音頻水印算法

離散余弦變換是數字信號處理技術中最常用的線性變換之一,它和離散傅里葉變換一樣,也存在著快速算法。由于具有很強的能量壓縮能力和去相關能力,因此它在數字音頻信號壓縮和圖像壓縮等領域得到廣泛應用。在音頻水印算法中,由于離散余弦變換是實變換,便于水印的直接嵌入,也得到普遍的應用[35]

一維離散余弦變換和反變換的定義如式(2-17)與式(2-18)所示:

(2-17)

(2-18)

其中au)的定義如式(2-19)所示:

(2-19)

1)離散余弦變換音頻水印算法

基于離散余弦變換的音頻水印算法與基于傅里葉變換的音頻水印算法除變換方法不同外,算法的操作過程基本上是相同的。圖2-13和圖2-14分別展示了基于DCT的水印嵌入過程與提取過程[36~38]

圖2-13 基于DCT的水印信息嵌入過程

圖2-14 基于DCT的水印信息提取過程

2)基于DCT的音頻水印算法的優缺點[34]

(1)絕大多數的壓縮技術,如JPEG、MPEG-1、MPEG-2、H26x等都是基于DCT域開發的,對DCT變換已經很熟悉。這使得在數字水印算法設計過程中,通過對壓縮算法特性的了解,可以對水印算法進行改進,增強算法抗壓縮的能力。

(2)為了解決數據壓縮的問題,人們研究并提出了許多基于DCT域的聽覺模型,由于壓縮技術和數字水印技術密切相關,這些模型可以很容易地應用到數字水印技術中,提高了算法的不可感知性。

(3)能平滑功率譜密度,穩健性隨所選頻域嵌入系數而有所不同。

(4)DCT變換僅將載體信號從空域變換到頻域,沒有利用載體的時間-頻率特性,而這種時間-頻率特性正好與人類的某些聽覺特性相一致。

5.基于DWT的音頻水印算法

1)離散小波變換定義

小波變換是近些年發展起來的一種具有廣泛應用價值的數學工具,它突破了傳統的信號分析手段——傅里葉變換的限制,實現了對信號不同區域、不同分辨率的分析,這種特性使得小波變換廣泛應用于信號處理、圖像分析等領域。

ψt)為平方可積函數,即,若其傅里葉變換ψω)滿足條件

(2-20)

式中,ψt)為一個基本小波或小波母函數,并稱式(2-20)為小波函數的可容許性條件。

將小波母函數ψt)進行伸縮和平移,設其尺度因子為α,平移因子為τ,另其平移伸縮后的函數為ψατt),則有

(2-21)

式中,ψατt)為依賴于參數ατ的小波基函數。由于尺度因子α、平移因子τ是取連續變化的值,因此稱ψατt)為連續小波基函數。

將式(2-21)中的尺度因子α和平移因子τ離散化(α=2jτ=2kTs),則式(2-21)可以表示為

(2-22)

將式(2-22)記為ψjkt),其中jk∈Z。然后再將t軸用Ts歸一化,式(2-22)就變為

(2-23)

式(2-23)稱為離散小波函數。

對任意函數ft)的離散小波變換為

式中,WTfjk)為離散小波函數。

若離散小波序列構成一個框架,設其上、下界分別為AB,則當A=B時(此時框架為緊框架),離散小波變換的逆變換公式為

A=B=1時,離散小波序列為一正交基,此時離散小波變換的逆變換公式為

一維離散小波變換把信號分成高頻子帶和低頻子帶,低頻子帶進一步分解成高頻和低頻兩個部分。以上分解過程的數目由應用和原始信號的長度決定,得到的數據稱為DWT系數,通過這些系數可以精確地重構原始信號,即離散小波逆變換。信號經過DWT變換后,能量主要集中在低頻分量,高頻分量所占的能量很少。在實際應用中,可以根據不同的需求選取小波系數嵌入水印以達到版權保護或內容完整性認證的目的。圖2-15是信號經一個低通濾波器H0和一個高通濾波器H1分解的樹型圖,圖中cdl表示低頻系數,cal表示高頻系數。圖2-16是與圖2-15相對應的重構信號過程。

圖2-15 信號的小波分解

圖2-16 信號的小波重構

2)離散小波變換的音頻水印算法

基于小波變換的音頻數字水印嵌入算法框架如圖2-17所示。首先對原始音頻載體進行預處理(如進行分幀、分段),然后再進行離散小波變換,根據不同的實際需要,選定嵌入水印的系數;同時,為提高系統的安全性,對水印信息(偽隨機序列或者圖像)進行預處理(如置亂處理)并將其嵌入到選好的音頻小波系數中,最后再進行離散小波逆變換(inverse discrete wavelet transform,IDWT)得到含水印的音頻信號[39~41]。提取水印的過程與水印的嵌入過程正好相反,如圖2-18所示。

圖2-17 基于小波變換的嵌入算法

圖2-18 基于小波變換的提取算法

基于離散小波變換的數字音頻水印嵌入算法雖然充分利用了小波變換的多分辨率特性,而且采用各種方法計算聽覺系統在小波變換域內的掩蔽特性,但很少考慮數字音頻信號經過小波變換后的各個子帶音頻中相鄰小波系數之間存在很強的相關性問題。因此,在一些文獻中,充分利用離散小波變換的多分辨率特性和離散余弦變換的能量壓縮能力,提出將DWT與DCT結合的水印嵌入算法[42][43]

3)基于DWT的音頻水印算法的優缺點

DWT變換與DFT變換和DCT變換相比,有如下優點[34]

(1)小波變換克服了短時傅里葉變換時頻分辨率固定不變的缺點,提供了很好的局部化特性,它既可在時域,也可在頻域局部化定位觀測,對高頻提供高的時間分辨率和低的頻率分辨率,對低頻提供低的時間分辨率和高的頻率分辨率,這種非線性時頻特性更適合音頻信號的特點和聽覺系統的時間頻率分辨特性。由于音頻信號頻域特性隨著時間的變化而變化屬于非平穩信號,因此小波變換非常適用于對音頻這樣的非平穩信號進行分析和處理。

(2)由于小波變換的多分辨率特性,能對音頻進行多級分解,使得小波變換更適合于大數據量、漸進傳輸的應用,如視頻傳輸、實時系統等,在這些應用中可以向音頻嵌入一個多級或嵌套的數字水印,水印的檢測能在接收到部分數據時進行,只有當前面的子帶信息中無法正確提取出水印信息時,才使用更高分辨率的子帶信息,這樣能有效地提高算法的效率,節約計算資源。

(3)小波變換把信號分解為多個子帶,并且能夠對每個子帶獨立地進行處理,因而利用小波變換,可以更加精確地對人類聽覺系統(human auditory system,HAS)進行建模,更好地研究小波量化噪聲的可見性和聽覺掩蔽特性。

(4)小波變換可以通過多種方法來實現,計算效率高,便于實際應用中的實現。設音頻樣本的長為N,DCT和DFT的計算量為ON×log2N)),而小波變換DWT的計算復雜度為OL×N),其中L是小波濾波器的長度。

2.6.3 時間域與頻率域算法比較

表2-1給出了時間域算法與頻率域算法在不可感知性、魯棒性、嵌入容量以及計算復雜度四個方面的比較結果。

表2-1 時間域、頻率域主要算法性能比較

結合表2-1,頻率域水印算法與時間域水印算法相比,具有如下優點。

(1)在頻率域中嵌入的水印信號能量可以分布到空域的多個或所有像素上,有利于保證水印的不可感知性;

(2)在頻率域中,聽覺系統的某些特性(如頻率掩蔽特性)可以更方便地結合到水印編碼過程;

(3)頻率域的方法可與國際壓縮標準兼容,從而易于實現在壓縮域內的水印編碼。

2.6.4 壓縮域音頻水印算法

壓縮域水印算法主要是指在JPEG域、MPEG域、VQ域和分形壓縮域內的水印處理,主要有三種嵌入方式[44]

1.先嵌入后壓縮

在原始音頻信號中先行嵌入數字水印信息然后再壓縮。該方法計算復雜度較低,可以根據壓縮失真控制水印參數以控制總失真,另外不會因為需要后續壓縮而削弱水印;但是因為水印信號與媒體信號不相關,水印對D/A-A/D和合謀等攻擊魯棒性差;同樣地,水印會被解壓再壓縮去除。

2.先壓縮后嵌入

先壓縮音頻信號,再嵌入數字水印信息。這種算法速度快,但是魯棒性較差,任何解壓縮再壓縮的處理都可以輕易地除去水印。

3.先解壓后嵌入再壓縮

首先對壓縮的音頻信號解壓,然后嵌入數字水印信息,最后再對其進行壓縮。這種算法可以提高水印的魯棒性,但是解壓縮和壓縮過程太過耗時,不適合在線交易和發布;另外多壓縮解壓縮會使音質降低。壓縮域數字音頻水印嵌入方法示意圖如圖2-19所示。

圖2-19 壓縮域水印嵌入方法示意圖

(a)壓縮前嵌入水印方法;(b)在壓縮編碼中嵌入水印方法;(c)壓縮后嵌入水印方法

主站蜘蛛池模板: 黔西| 潞城市| 弋阳县| 清水河县| 沛县| 东乌珠穆沁旗| 清涧县| 商南县| 乐清市| 德清县| 河东区| 泾阳县| 安龙县| 临邑县| 泗洪县| 盐池县| 六枝特区| 黎川县| 武功县| 庆元县| 江城| 潞西市| 武陟县| 南丹县| 清原| 宾阳县| 五峰| 南昌县| 河北省| 廉江市| 祁连县| 泗洪县| 石狮市| 安化县| 兴仁县| 额敏县| 公主岭市| 蕲春县| 张家界市| 仪陇县| 六盘水市|