亚洲狠狠干,亚洲国产福利精品一区二区,国产八区,激情文学亚洲色图

一種語音丟包隱藏方法及其系統(tǒng)的制作方法

文檔序號:2827550閱讀:212來源:國知局
一種語音丟包隱藏方法及其系統(tǒng)的制作方法
【專利摘要】本發(fā)明提供了一種語音丟包隱藏方法及其系統(tǒng)。加窗疊加語音恢復(fù)配合以對窗口函數(shù)的周期性自適應(yīng)調(diào)整,能夠根據(jù)實際語音數(shù)據(jù)進行自適應(yīng)調(diào)整,算法靈活,適應(yīng)語音特性變化較大的媒體數(shù)據(jù),使丟包隱藏效果更佳,恢復(fù)出的語音質(zhì)量更好。
【專利說明】一種語音丟包隱藏方法及其系統(tǒng)
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及一種語音丟包隱藏方法及其系統(tǒng),特別是涉及一種適用于無線VoIP環(huán)境下的一種語音丟包隱藏方法及基于該方法的語音丟包隱藏系統(tǒng)。
【背景技術(shù)】
[0002]目前,由于VoIP技具有易于集成、成本低廉、使用方式靈活等特點,已逐步從基于有線網(wǎng)絡(luò)的應(yīng)用向基于無線網(wǎng)絡(luò)的應(yīng)用發(fā)展。在無線網(wǎng)絡(luò)的特殊應(yīng)用環(huán)境下,由于其固有的高丟包率等特性,使得VoIP技術(shù)在向無線網(wǎng)絡(luò)移植的過程中,需要充分考慮丟包對語音質(zhì)量造成的影響。丟包隱藏技術(shù)是基于人類語音的強時間相關(guān)性,在語音接收端,通過已經(jīng)成功接收的語音信息,近似恢復(fù)出由于丟包而缺失的數(shù)據(jù),使人耳感覺不出丟包的事實。這種技術(shù)由于其不需發(fā)送端的參與,且易于實施,成為當今一種較為主流的語音質(zhì)量提升技術(shù)。
[0003]目前各種丟包隱藏技術(shù)層出不窮,如靜音替代、白噪聲替代、包復(fù)制替代等,都對傳輸過程中丟失的語音包進行了重建和修補,在一定程度上起到了對語音質(zhì)量的恢復(fù)效果。但目前的算法都存在一定的缺陷,過于簡單的算法對語音的恢復(fù)效果不夠明顯,太復(fù)雜的算法對媒體流的處理要求太高,不滿足實時應(yīng)用的需求。對之前已經(jīng)收到的語音幀進行加窗疊加的算法由于其運算相對簡單,并且實際恢復(fù)效果較好,在丟包隱藏算法中得到了廣泛的采用。
[0004]目前已有的疊加加窗算法主要采用的是事先已經(jīng)確定好的窗口函數(shù)對收到的語音幀進行處理,并沒有根據(jù)實際的語音波形對窗口函數(shù)進行動態(tài)地修改,使用固定的窗口函數(shù)必然導(dǎo)致算法不夠靈活,無法適應(yīng)語音特性變化較大的媒體數(shù)據(jù),從而影響到恢復(fù)出的語音質(zhì)量。

【發(fā)明內(nèi)容】

[0005]本發(fā)明要解決的技術(shù)問題是提供一種實際恢復(fù)效果更好的,基于VoIP無線環(huán)境下的語音丟包隱藏方法及其系統(tǒng)。
[0006]本發(fā)明采用的技術(shù)方案如下:
一種語音丟包隱藏方法,其特征在于,具體方法步驟為:選取一個窗口函數(shù),將窗口函數(shù)與丟失幀左邊的數(shù)據(jù)逐樣點相乘,得到離散語音數(shù)據(jù)A,再將窗口函數(shù)與丟失幀右邊的數(shù)據(jù)逐樣點相乘,得到離散語音數(shù)據(jù)B ;將A,B兩段數(shù)據(jù)最靠近丟失幀的m個樣點逐樣點相力口,得到一段m個樣點的數(shù)據(jù),作為恢復(fù)出來的語音數(shù)據(jù),填補在丟失幀的位置,進行語音恢復(fù);
所述方法還包括:周期性的對恢復(fù)過程中使用的窗口函數(shù)進行調(diào)整更新。
[0007]作為優(yōu)選,對窗口函數(shù)進行更新的具體方法步驟為:步驟一、選取一幀,前一幀語音幀P和后一幀語音幀q都沒有丟失的,基準語音幀a (在這里假設(shè)語音幀a丟失);步驟二、通過前一幀語音幀P、后一幀語音幀q和當前的窗口函數(shù)恢復(fù)出語音幀b ;步驟三、比較語音幀a(實際上沒有丟失的真實語音幀a)與b之間的差異,得到關(guān)于當前窗口函數(shù)恢復(fù)效果的比較數(shù)據(jù),從而對當前窗口函數(shù)進行調(diào)整更新。新的窗口函數(shù)生成以后,舊窗口函數(shù)直接丟棄,后續(xù)的丟失語音恢復(fù)皆通過新的窗口函數(shù)完成,直到再次更新窗口函數(shù)。
[0008]作為優(yōu)選,所述步驟三中,對當前窗口函數(shù)進行調(diào)整的方法為:設(shè)置窗口函數(shù)寬度為語音幀寬度的2倍,且左右對稱,窗口函數(shù)在實際使用過程中均是以離散值存在,由于窗口函數(shù)是一個對稱函數(shù),因此對其橫坐標為正的右半部分進行調(diào)整,就可以得到整個新的窗口函數(shù),將當前窗口函數(shù)的右半部分樣點值表示為[W1, w2, w3...Wm],原始語音幀a表示為La1, a2, a3...aj,恢復(fù)出來的語音幀b表示為Lb1, b2, b3...bj,則窗口函數(shù)更新的公式為:w' n = 2 X wn/ (bn/an+bm+1_n/am+1_n),根據(jù)更新公式對當前窗口函數(shù)進行調(diào)整更新;
其中,m表不一幀語音幀的長度,η表不窗口函數(shù)右半部分的η個樣點,I ^ n ^ m,w/ n表示調(diào)整后的新窗口函數(shù)右半部分在X = n-Ι處對應(yīng)的y值的樣點值,根據(jù)窗口函數(shù)的對稱性,可得到左半部分η個樣點的取值,從而得到完整的更新后的窗口函數(shù)。
[0009]作為優(yōu)選,所述基準語音幀的選取方法為:給一定時間內(nèi)收到的全部語音幀賦予一個標簽,表示該語音幀可能被選作基準語音數(shù)據(jù);將賦予標簽的語音幀中缺失的語音幀及其相臨語音幀進行標記,表示該語音幀不能被選作基準語音數(shù)據(jù);在標記剩下的語音幀中隨機選取一幀語音幀,作為基準語音中貞。
[0010]作為優(yōu)選,所述基準語音幀的選取方法還包括:將賦予標簽的語音幀進行靜音檢測,檢測為靜音或部分靜音(一幀語音幀時間中,只有一部分時間存在話音數(shù)據(jù))的語音幀及其相臨語音幀進行標記,同樣表示該語音幀不能被選作基準語音數(shù)據(jù)。
[0011]作為優(yōu)選,所述基準語音幀的選取方法還包括:選取相臨幾幀語音幀能量(語音幀中m個樣點的平方和)相差在20%以內(nèi)(能量相近,可根據(jù)實際情況進行調(diào)節(jié))的語音幀中的一幀。
[0012]作為優(yōu)選,對窗口函數(shù)進行調(diào)整更新的周期時間為2秒到2分鐘。
[0013]作為優(yōu)選,對窗口函數(shù)進行調(diào)整更新的周期時間為5秒。
[0014]基于上述語音丟包隱藏方法的一種丟包隱藏系統(tǒng),其特征在于:包括依次相連的評估幀選擇單元、丟失幀恢復(fù)單元和恢復(fù)效果評估單元;所述評估幀選擇單元又與恢復(fù)效果評估單元相連;還包括自適應(yīng)窗口更新單元,分別與恢復(fù)效果評估單元和丟失幀恢復(fù)單元相連。
[0015]與現(xiàn)有技術(shù)相比,本發(fā)明的有益效果是:本發(fā)明提供了一種新的語音丟包隱藏方法及其系統(tǒng),配合以對窗口函數(shù)的周期性自適應(yīng)調(diào)整,能夠根據(jù)實際語音數(shù)據(jù)進行自適應(yīng)調(diào)整,算法靈活,適應(yīng)語音特性變化較大的媒體數(shù)據(jù),使丟包隱藏效果更佳,恢復(fù)出的語音質(zhì)量更好。
【專利附圖】

【附圖說明】
[0016]圖1為本發(fā)明其中一實施例的原理不意圖。
[0017]圖2為本發(fā)明其中一實施例的系統(tǒng)結(jié)構(gòu)框圖。 【具體實施方式】
[0018]為了使本發(fā)明的目的、技術(shù)方案及優(yōu)點更加清楚明白,以下結(jié)合附圖及實施例,對本發(fā)明進行進一步詳細說明。應(yīng)當理解,此處所描述的具體實施例僅用以解釋本發(fā)明,并不用于限定本發(fā)明。
[0019]本說明書(包括任何附加權(quán)利要求、摘要和附圖)中公開的任一特征,除非特別敘述,均可被其他等效或者具有類似目的的替代特征加以替換。即,除非特別敘述,每個特征只是一系列等效或類似特征中的一個例子而已。
[0020]本具體實施例屬于在語音接收端對所接收的語音數(shù)據(jù)進行丟包隱藏處理(由于傳輸信道不穩(wěn)定等原因,在接收端語音數(shù)據(jù)實際上已經(jīng)被丟失了,但為了使接收端接聽語音的人耳感覺不出明顯的丟幀感,根據(jù)一定策略重塑一幀虛假的語音數(shù)據(jù)填補丟失位置)的方法及其系統(tǒng)。
[0021]在本具體實施例中,系統(tǒng)的輸入為非壓縮PCM編碼的離散化語音數(shù)據(jù),對語音數(shù)據(jù)進行處理的基本單位為一幀20毫秒。以8K采樣速率為例,20毫秒一幀的非壓縮PCM編碼語音數(shù)據(jù)一共包含160個樣點,幅值在0-65535之間,由于信道丟包的存在,輸入的語音數(shù)據(jù)可能會隨機缺失一幀數(shù)據(jù),由于丟包導(dǎo)致的缺幀會在輸入時就被標記(底層基于RTP協(xié)議序號或其它自定義方式進行檢測),不需要本系統(tǒng)進行檢測。
[0022]系統(tǒng)的輸出為將所有因丟包導(dǎo)致的缺幀全部重塑的語音數(shù)據(jù),系統(tǒng)的輸出應(yīng)盡量保證重塑的語音數(shù)據(jù)與發(fā)送端發(fā)出的原始語音數(shù)據(jù)盡可能地相似,從而使接收端不易感知到語音數(shù)據(jù)實際上在傳輸過程中已經(jīng)被丟失的事實。
[0023]如圖2所示的丟 包隱藏系統(tǒng),包括依次相連的評估幀選擇單元、丟失幀恢復(fù)單元和恢復(fù)效果評估單元;所述評估幀選擇單元又與恢復(fù)效果評估單元相連;還包括自適應(yīng)窗口更新單元,分別與恢復(fù)效果評估單元和丟失幀恢復(fù)單元相連。
[0024]對丟失幀進行恢復(fù)(重塑由于丟包導(dǎo)致的缺幀)的模塊為丟失幀恢復(fù)單元,本具體實施例中的丟失幀恢復(fù)單元所使用的技術(shù)為對語音數(shù)據(jù)進行加窗疊加的方式。
[0025]恢復(fù)效果評估單元用于評估當前窗口函數(shù)的有效性。評估幀選擇單元選取出用于評估窗口函數(shù)的基準話音數(shù)據(jù)后,將通知丟失幀恢復(fù)單元對其進行模擬恢復(fù),恢復(fù)效果評估單元收到丟失幀恢復(fù)單元恢復(fù)出的話音數(shù)據(jù)后,與原始的話音數(shù)據(jù)進行比對和計算,并將結(jié)果反饋至自適應(yīng)窗口更新單元。
[0026]自適應(yīng)窗口更新單元的功能是提供和生成用于丟包隱藏的窗口函數(shù)。自適應(yīng)窗口更新單元向丟失幀恢復(fù)單元提供恢復(fù)話音數(shù)據(jù)過程中需要使用的窗口函數(shù),并實時地接收來自于恢復(fù)效果評估單元的反饋信息,動態(tài)地調(diào)整窗口函數(shù),以達到窗口函數(shù)根據(jù)輸入話音數(shù)據(jù)進行自適應(yīng)調(diào)整的目的。
[0027]如圖1所示的語音丟包隱藏方法,輸入的語音數(shù)據(jù)中,第4幀語音數(shù)據(jù)由于信道原因被丟失?;谌祟愓Z音的強時間相關(guān)性,可以利用第3幀和第5幀的語音數(shù)據(jù)對丟失的第4幀語音數(shù)據(jù)進行近似(只能確?;謴?fù)出來的第4幀語音數(shù)據(jù)與發(fā)送端發(fā)出的第4幀原始語音數(shù)據(jù)相似,無法做到完全一致)恢復(fù),從而使接收端的人耳不易感覺出第4幀語音數(shù)據(jù)已經(jīng)丟失的事實,起到增加語音質(zhì)量的效果。具體方法步驟為:選取一個窗口函數(shù)(在本具體實施例中,窗口函數(shù)寬度為2幀語音數(shù)據(jù),即320個樣點,窗口函數(shù)是一個對稱函數(shù),最大幅值位置是橫坐標為零的點,幅值歸一化為1,橫坐標的單位為樣點,在橫坐標方向,離O越遠的位置函數(shù)幅值越小,在離O距離160個樣點的位置幅值減小到O。本具體實施例中的窗口 函數(shù)方程為 y = x/160+l (-160 ^ x ^ O), y = -χ/160+Ι (O ^ x ^ 160),在更復(fù)雜的情況下,窗口函數(shù)可以更加復(fù)雜,以取得更加平滑的恢復(fù)效果),將窗口函數(shù)與丟失幀左邊的數(shù)據(jù)(第5,6幀)逐樣點相乘,得到離散語音數(shù)據(jù)A(共2幀320個樣點),再將窗口函數(shù)與丟失幀右邊的數(shù)據(jù)(第2,3幀)逐樣點相乘,得到離散語音數(shù)據(jù)B(共2幀320個樣點);將A,B兩段數(shù)據(jù)最靠近丟失幀的m(160)個樣點逐樣點相加,得到一段m(160)個樣點的數(shù)據(jù),作為恢復(fù)出來的語音數(shù)據(jù)(第4幀),填補在丟失幀的位置,作為本系統(tǒng)的輸出,進行語音恢復(fù),至此語音恢復(fù)過程完成;
在本具體實施例的恢復(fù)方法中,為了有效地提升語音數(shù)據(jù)的恢復(fù)效果,使窗口函數(shù)的函數(shù)波形能夠更近似地反映相臨兩幀語音數(shù)據(jù)之間的特點,需要周期性地對恢復(fù)過程中使用的窗口函數(shù)進行調(diào)整更新。對窗口函數(shù)進行調(diào)整更新的周期時間一般為2秒到2分鐘。在本具體實施例中,調(diào)整周期為5秒,在其它環(huán)境下,該調(diào)整周期大于或者小于5秒都是可以的,周期越長則越節(jié)約計算量,越短則能得到越好的恢復(fù)效果。
[0028]對窗口函數(shù)進行動態(tài)調(diào)整的功能主要由評估幀選擇單元、恢復(fù)效果評估單元和自適應(yīng)窗口更新單元完成。
[0029]在每個調(diào)整更新周期內(nèi),評估幀選擇單元選取一幀用于評估窗口函數(shù)恢復(fù)效果的基準語音數(shù)據(jù),基準語音數(shù)據(jù)的選取需要能夠盡可能地反映出窗口函數(shù)的恢復(fù)效果,本實施例中選取方法步驟為:
步驟一、選取一巾貞,前一巾貞語音巾貞P和后一巾貞語音巾貞q都沒有丟失的,基準語音巾貞a (在這里假設(shè)語音幀a丟失);步驟二、通過前一幀語音幀P、后一幀語音幀q和當前的窗口函數(shù)恢復(fù)出語音幀b ;步驟三、比較語音幀a (實際上沒有丟失的真實語音幀a)與b之間的差異,得到關(guān)于當前窗口函數(shù)恢復(fù)效果的比較數(shù)據(jù),從而對當前窗口函數(shù)進行調(diào)整更新。新的窗口函數(shù)生成以后,舊窗口函數(shù)直接丟棄,后續(xù)的丟失語音恢復(fù)皆通過新的窗口函數(shù)完成,直到再次更新窗口函數(shù)。
[0030]所述步驟三中,對當前窗口函數(shù)進行調(diào)整的方法為:窗口函數(shù)在實際使用過程中均是以離散值存在,由于窗口函數(shù)是一個對稱函數(shù),因此對其橫坐標為正的右半部分進行調(diào)整,就可以得到整個新的窗口函數(shù),將當前窗口函數(shù)的右半部分樣點值表示為[W1, W2,W3...W160],,表示窗口函數(shù)右半部分(整個窗口函數(shù)長度為2巾貞,一半長度為I巾貞,即160個樣點)的160個樣點的值。原始語音幀a(最初輸入至系統(tǒng)的基準語音數(shù)據(jù))表示為[a1;a2, a3...a160],恢復(fù)出來的語音巾貞b表不為[Id1, b2, b3...b160],則窗口函數(shù)的更新的公式為:w' n = 2 X wn/ (bn/an+b161_n/a161_n),根據(jù)更新公式對當前窗口函數(shù)進行調(diào)整更新;
其中,KnSl 60,V n表示調(diào)整后的新窗口函數(shù)在X = n-Ι處對應(yīng)的y值的樣點值,用新的樣點值取代舊的樣點值帶入窗口函數(shù)的xy函數(shù),得到新的窗口函數(shù)。
[0031]所述基準語音幀的選取方法為:給一定時間內(nèi)(此時間可以指定,在本具體實施中為本調(diào)整周期(5秒)內(nèi))收到的全部250幀語音幀賦予一個標簽1,表示該語音幀可能被選作基準語音數(shù)據(jù);將賦予標簽的語音幀中將所有因傳輸過程中丟包導(dǎo)致缺失的語音進行標記為O,并將其相臨巾貞也標記為O,表示該語音巾貞不能被選作基準語音數(shù)據(jù);在標記剩下的語音幀中隨機選取一幀語音幀,作為基準語音幀。
[0032]所述基準語音幀的選取方法還包括:將賦予標簽的語音幀進行靜音檢測,檢測為靜音或部分靜音(一幀20ms時間中,只有一部分時間存在話音數(shù)據(jù))的語音幀標記為0,并將其相臨幀也標記為0,同樣表示該語音幀不能被選作基準語音數(shù)據(jù)。[0033]被標記的語音幀無法正常地通過前述恢復(fù)方法進行恢復(fù),也不具備被選為基準語音數(shù)據(jù)的特點。
[0034]更進一步地,在選取基準語音數(shù)據(jù)時,可盡量考慮選取相臨幾幀語音幀能量(語音幀中160個樣點的平方和)相近的語音數(shù)據(jù),可以達到更好的評估效果。因此,在本具體實施例中,我們選取相臨幾幀語音幀能量相差在20%以內(nèi)(能量相近,可根據(jù)實際情況進行調(diào)節(jié))的語音幀中的一幀作為基準語音數(shù)據(jù)。
[0035]若由于丟包過于嚴重(比如5秒內(nèi)所有語音包都丟失了)等原因,通過上述方式無法選擇出用于評估窗口函數(shù)效果的基準語音數(shù)據(jù),則本調(diào)整周期內(nèi)不對窗口函數(shù)進行調(diào)整,直到某個周期可以選擇出合法的基準語音數(shù)據(jù)為止。
[0036]基準語音數(shù)據(jù)選取完成后,就需要對當前正在使用的窗口函數(shù)進行評估和調(diào)整,使用于丟包恢復(fù)的窗口函數(shù)始終能夠更正確地反映收到的語音數(shù)據(jù)的特性,從而得到更好的恢復(fù)效果。
[0037]新的窗口函數(shù)生成以后,舊窗口函數(shù)直接丟棄,后續(xù)的丟失語音恢復(fù)皆通過新的窗口函數(shù)完成,直到下一個調(diào)整周期,再次更新窗口函數(shù)。
【權(quán)利要求】
1.一種語音丟包隱藏方法,其特征在于,具體方法步驟為:選取一個窗口函數(shù),將窗口函數(shù)與丟失幀左邊的數(shù)據(jù)逐樣點相乘,得到離散語音數(shù)據(jù)A,再將窗口函數(shù)與丟失幀右邊的數(shù)據(jù)逐樣點相乘,得到離散語音數(shù)據(jù)B ;將A,B兩段數(shù)據(jù)最靠近丟失幀的m個樣點逐樣點相加,得到一段m個樣點的數(shù)據(jù),作為恢復(fù)出來的語音數(shù)據(jù),填補在丟失幀的位置; 所述方法還包括:周期性的對恢復(fù)過程中使用的窗口函數(shù)進行更新。
2.根據(jù)權(quán)利要求1所述的語音丟包隱藏方法,其特征在于:對窗口函數(shù)進行更新的具體方法步驟為:步驟一、選取一幀,前一幀語音幀P和后一幀語音幀q都沒有丟失的,基準語音幀a ;步驟二、通過前一幀語音幀P、后一幀語音幀q和當前的窗口函數(shù)恢復(fù)出語音幀b ;步驟三、比較語音幀a與b之間的差異,得到關(guān)于當前窗口函數(shù)恢復(fù)效果的比較數(shù)據(jù),從而對當前窗口函數(shù)進行調(diào)整更新。
3.根據(jù)權(quán)利要求2所述的語音丟包隱藏方法,其特征在于:所述步驟三中,對當前窗口函數(shù)進行調(diào)整的方法為:設(shè)置窗口函數(shù)寬度為語音幀寬度的2倍,且左右對稱,將當前窗口函數(shù)的右半部分樣點值表示為[W1, w2, w3...wm],原始語音中貞a表示為La1, a2, a3...aj ,恢復(fù)出來的語音幀b表示為Iib1, b2, b3...bm],則窗口函數(shù)更新的公式為:w' n = 2Xwn/(bn/an+bm+1_n/am+1_n),根據(jù)更新公式對當前窗口函數(shù)進行調(diào)整更新; 其中,m表不一幀語音幀的長度,η表不窗口函數(shù)右半部分的η個樣點,I ^ n ^ m,w/ n表示調(diào)整后的新窗口 函數(shù)右半部分在X = n-Ι處對應(yīng)的y值的樣點值。
4.根據(jù)權(quán)利要求3所述的語音丟包隱藏方法,其特征在于:所述基準語音幀的選取方法為:給一定時間內(nèi)收到的全部語音幀賦予一個標簽;將賦予標簽的語音幀中缺失的語音幀及其相臨語音幀進行標記;在標記剩下的語音幀中隨機選取一幀語音幀,作為基準語音幀。
5.根據(jù)權(quán)利要求4所述的語音丟包隱藏方法,其特征在于:所述基準語音幀的選取方法還包括:將賦予標簽的語音幀中為靜音或部分靜音的語音幀及其相臨語音幀進行標記。
6.根據(jù)權(quán)利要求4或5所述的語音丟包隱藏方法,其特征在于:所述基準語音幀的選取方法還包括:選取相臨幾幀語音幀能量相差在20%以內(nèi)的語音幀中的一中貞。
7.根據(jù)權(quán)利要求1所述的語音丟包隱藏方法,其特征在于:對窗口函數(shù)進行調(diào)整更新的周期時間為2秒到2分鐘。
8.根據(jù)權(quán)利要求7所述的語音丟包隱藏方法,其特征在于:對窗口函數(shù)進行調(diào)整更新的周期時間為5秒。
9.基于權(quán)利要求8所述語音丟包隱藏方法的一種丟包隱藏系統(tǒng),其特征在于:包括依次相連的評估幀選擇單元、丟失幀恢復(fù)單元和恢復(fù)效果評估單元;所述評估幀選擇單元又與恢復(fù)效果評估單元相連;還包括自適應(yīng)窗口更新單元,分別與恢復(fù)效果評估單元和丟失中貞恢復(fù)單元相連。
【文檔編號】G10L19/005GK104021792SQ201410255493
【公開日】2014年9月3日 申請日期:2014年6月10日 優(yōu)先權(quán)日:2014年6月10日
【發(fā)明者】李默嘉, 田永春, 蒲長春, 王俊, 馮國仕 申請人:中國電子科技集團公司第三十研究所
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1