專利名稱:一種上報業(yè)務(wù)音編碼的方法及系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及在業(yè)務(wù)音資源處理系統(tǒng)中處理業(yè)務(wù)音編碼的技術(shù),特別涉及一種上報業(yè)務(wù)音編碼的方法及系統(tǒng)。
背景技術(shù):
在現(xiàn)有的業(yè)務(wù)音資源處理系統(tǒng)中,如語音處理設(shè)備(VP)或語音資源系統(tǒng)(VRS)以良好的可靠行以及可擴展性在窄帶語音放音市場上占據(jù)了舉足輕重的地位。業(yè)務(wù)音資源處理系統(tǒng)所支持的智能呼叫中心ICD以及智能網(wǎng)業(yè)務(wù)為客戶端所在的資源管理系統(tǒng)提供了不同選擇空間,其中在智能網(wǎng)放音業(yè)務(wù)中,業(yè)務(wù)音是智能放音協(xié)議中的基本放音單元,數(shù)目龐大的業(yè)務(wù)音個數(shù)與靈活的種類為客戶端所在的資源管理系統(tǒng)提供了豐富多彩的放音選擇。
目前,文件服務(wù)器存儲的放音文件稱為業(yè)務(wù)音資源,文件服務(wù)器將存儲的業(yè)務(wù)音資源以業(yè)務(wù)音編碼的形式通過業(yè)務(wù)音資源處理系統(tǒng)上報給資源管理系統(tǒng),資源管理系統(tǒng)可以根據(jù)上報的業(yè)務(wù)音編碼通過業(yè)務(wù)音資源處理系統(tǒng)到文件服務(wù)器中查找業(yè)務(wù)音資源,并且將查找到的業(yè)務(wù)音資源提供給所管轄的客戶端。例如文件服務(wù)器存儲的為語音文件,則文件服務(wù)器將存儲的語音文件以語音編碼的形式通過業(yè)務(wù)音資源處理系統(tǒng)上報給資源管理系統(tǒng),資源管理系統(tǒng)可以根據(jù)上報的語音編碼通過業(yè)務(wù)音資源處理系統(tǒng)到文件服務(wù)器中查找語音文件,并將查找到的語音文件提供給所管轄的客戶端。因此,給資源管理系統(tǒng)上報的語音編碼對于資源管理系統(tǒng)為客戶端提供業(yè)務(wù)音資源起著十分重要的作用。
以下用業(yè)務(wù)音編碼為語音編碼進行舉例說明。給資源管理系統(tǒng)上報的每個語音編碼占用四個字節(jié),圖1為語音編碼的數(shù)據(jù)結(jié)構(gòu)示意圖第一個字節(jié)標識該語音編碼的業(yè)務(wù)種類,第二個字節(jié)標識語音編碼的語言種類,最后兩個字節(jié)標識編碼值。每個語音編碼共8個十六進制數(shù)字,占用四個字節(jié),如語音編碼可以為1020BCDE。
目前,文件服務(wù)器通過業(yè)務(wù)音資源處理系統(tǒng)上報的語音編碼消息的數(shù)據(jù)結(jié)構(gòu)如圖2所示語音編碼消息包括編碼幀幀頭以及幀數(shù)據(jù)區(qū),其中幀數(shù)據(jù)區(qū)內(nèi)將要上報的語音編碼依次寫入。文件服務(wù)器將攜帶有多個語音編碼的語音編碼消息發(fā)送給業(yè)務(wù)音資源處理系統(tǒng),語音資源處理再轉(zhuǎn)發(fā)接收到的語音編碼消息給資源管理系統(tǒng)。
文件服務(wù)器采用這種方式上報語音編碼的最大特點是簡單易操作,但是在上報語音編碼消息時,該語音編碼消息要占用大量的數(shù)據(jù)空間以及上報時間長的缺點也是顯而易見的。例如如果文件服務(wù)器有64×1024×2個字節(jié)的語音編碼上報,其中語音文件后綴名VOX和文語轉(zhuǎn)換文件后綴名TTS類型的語音編碼各64K個字節(jié),設(shè)置每個語音編碼消息的幀數(shù)據(jù)區(qū)數(shù)據(jù)容量為272個字節(jié),則需要上報的語音編碼消息的個數(shù)為64×1024×2/272=482個。
另外,在這個漫長的語音編碼消息的發(fā)送過程中,如果接收消息的資源管理系統(tǒng)在解碼時出現(xiàn)消息幀的錯序,將導(dǎo)致整個通過業(yè)務(wù)音資源處理系統(tǒng)上報語音編碼的過程失敗,必須重新進行整個通過業(yè)務(wù)音資源處理系統(tǒng)的上報語音編碼過程。因此,文件服務(wù)器采用這種方式上報語音編碼將大大增加上報語音編碼失敗的概率以及加大在與業(yè)務(wù)音資源處理系統(tǒng)的消息交互中系統(tǒng)資源的開銷。
同樣地,對于上報其他的業(yè)務(wù)音編碼時,也存在占用大量的數(shù)據(jù)空間以及上報時間長的缺點,并且一旦接收攜帶業(yè)務(wù)音編碼的業(yè)務(wù)音編碼消息的資源管理系統(tǒng)在解碼時出現(xiàn)消息幀的錯序,也會導(dǎo)致整個通過業(yè)務(wù)音資源處理系統(tǒng)上報業(yè)務(wù)音編碼的過程失敗,這樣就會大大增加文件服務(wù)器上報業(yè)務(wù)音編碼失敗的概率以及加大在與業(yè)務(wù)音資源處理系統(tǒng)的消息交互中系統(tǒng)資源的開銷。
發(fā)明內(nèi)容
有鑒于此,本發(fā)明的主要目的在于提供一種上報業(yè)務(wù)音編碼的方法,該方法能夠在文件服務(wù)器向資源管理系統(tǒng)上報業(yè)務(wù)音編碼時,節(jié)省占用的數(shù)據(jù)空間和上報時間。
本發(fā)明另一方面提供一種上報業(yè)務(wù)音編碼的系統(tǒng),該系統(tǒng)在文件服務(wù)器向資源管理系統(tǒng)上報語音編碼時,節(jié)省占用的數(shù)據(jù)空間和上報時間。
根據(jù)上述目的,本發(fā)明的技術(shù)方案是這樣實現(xiàn)的一種上報業(yè)務(wù)音編碼的方法,該方法包括A、業(yè)務(wù)音資源處理系統(tǒng)從文件服務(wù)器中讀取業(yè)務(wù)音編碼,進行編碼壓縮后并且存儲;B、業(yè)務(wù)音資源處理系統(tǒng)將所存儲的編碼壓縮后的業(yè)務(wù)音編碼根據(jù)業(yè)務(wù)音編碼消息攜帶業(yè)務(wù)音編碼的容量,攜帶在一個或一個以上的業(yè)務(wù)音編碼消息中發(fā)送給資源管理系統(tǒng)。
在步驟A所述進行編碼壓縮之前,該方法還包括對業(yè)務(wù)音編碼進行存儲后,獲取所存儲的業(yè)務(wù)音編碼。
所述對業(yè)務(wù)音編碼進行存儲的過程為根據(jù)讀取的業(yè)務(wù)音編碼的編碼值按照升序或降序進行排序后再存儲。
在所述對業(yè)務(wù)音編碼進行存儲之前,該方法還包括判斷讀取的業(yè)務(wù)音編碼是否與已存儲的業(yè)務(wù)音編碼重復(fù),如果重復(fù),丟棄讀取的業(yè)務(wù)音編碼;如果不重復(fù),存儲讀取的業(yè)務(wù)音編碼。
在進行步驟A所述的編碼壓縮時,還對所壓縮的業(yè)務(wù)音編碼進行記錄,具體為A1、從所存儲的排序后的業(yè)務(wù)音編碼中獲取當前語音編碼;A2、根據(jù)所存儲的排序后的業(yè)務(wù)音編碼的順序獲取當前語音編碼的下一個語音編碼;A3、判斷所述兩個業(yè)務(wù)音編碼的業(yè)務(wù)種類是否相同,如果不相同,記錄排序在前的業(yè)務(wù)音編碼的業(yè)務(wù)種類,將排序在后的業(yè)務(wù)音編碼作為當前業(yè)務(wù)音編碼,返回步驟A2;否則,執(zhí)行步驟A4;A4、判斷所述兩個業(yè)務(wù)音編碼的語言種類是否相同,如果不相同,記錄排序在前的業(yè)務(wù)音編碼的業(yè)務(wù)種類和語言種類,將排序在后的業(yè)務(wù)音編碼作為當前業(yè)務(wù)音編碼,返回步驟A2;否則,執(zhí)行步驟A5;A5、判斷所述兩個業(yè)務(wù)音編碼的編碼值是否相差1,如果不是,記錄排序在前的業(yè)務(wù)音編碼的業(yè)務(wù)種類、語言種類和編碼值,將排序在后的業(yè)務(wù)音編碼作為當前業(yè)務(wù)音編碼,返回步驟A2;否則,啟動設(shè)置的連續(xù)編碼計數(shù)器并給該連續(xù)編碼計數(shù)器加1,將當前業(yè)務(wù)音編碼的下一個業(yè)務(wù)音編碼作為當前語音編碼后,返回步驟A2繼續(xù)執(zhí)行,直到將存儲的排序后的所有業(yè)務(wù)音編碼都處理完,對啟動連續(xù)編碼計數(shù)器的語音編碼的業(yè)務(wù)種類、語言碼和編碼值進行記錄并且記錄計數(shù)值。
所述的業(yè)務(wù)音編碼為語音編碼。
步驟A所述的進行編碼壓縮采用行程編碼算法。
一種上報業(yè)務(wù)音編碼的系統(tǒng),包括文件服務(wù)器和資源管理系統(tǒng),在文件服務(wù)器和資源管理系統(tǒng)之間還包括業(yè)務(wù)音資源處理系統(tǒng),用于將從文件服務(wù)器中讀取的業(yè)務(wù)音編碼處理為設(shè)定的業(yè)務(wù)音編碼數(shù)據(jù)結(jié)構(gòu),進行編碼壓縮后攜帶在一個或一個以上的業(yè)務(wù)音編碼消息中發(fā)送給資源管理系統(tǒng)。
所述的業(yè)務(wù)音資源處理系統(tǒng)由業(yè)務(wù)音編碼預(yù)處理模塊和業(yè)務(wù)音編碼壓縮、上報模塊組成,其中,業(yè)務(wù)音編碼預(yù)處理模塊分別與文件服務(wù)器和業(yè)務(wù)音編碼壓縮、上報模塊相連接,用于從文件服務(wù)器讀取業(yè)務(wù)音編碼后處理為設(shè)定的業(yè)務(wù)音編碼數(shù)據(jù)結(jié)構(gòu)后,發(fā)送給業(yè)務(wù)音編碼壓縮、上報模塊;業(yè)務(wù)音編碼壓縮、上報模塊分別與資源管理系統(tǒng)和業(yè)務(wù)音編碼預(yù)處理模塊相連接,用于將從業(yè)務(wù)音編碼預(yù)處理模塊接收到的經(jīng)過處理后的業(yè)務(wù)音編碼進行編碼壓縮后,再將經(jīng)過編碼壓縮的業(yè)務(wù)音編碼攜帶在一個或一個以上的業(yè)務(wù)音編碼消息中發(fā)送給資源管理系統(tǒng)。
所述的業(yè)務(wù)音編碼預(yù)處理模塊還包括存儲區(qū)域,用于保存經(jīng)過處理后的業(yè)務(wù)音編碼,將所保存的經(jīng)過處理后的業(yè)務(wù)音編碼發(fā)送給業(yè)務(wù)音編碼壓縮、上報模塊。
所述的業(yè)務(wù)音編碼壓縮、上報模塊還包括緩存區(qū),用于保存經(jīng)過編碼壓縮后的業(yè)務(wù)音編碼,將所保存的經(jīng)過編碼壓縮后的業(yè)務(wù)音編碼攜帶在一個或一個以上的業(yè)務(wù)音編碼消息中發(fā)送給資源管理系統(tǒng)。
所述的業(yè)務(wù)音編碼預(yù)處理模塊為輸入輸出IO模塊;所述的業(yè)務(wù)音編碼壓縮、上報模塊為語音處理管理VM模塊。從上述方案可以看出,本發(fā)明設(shè)置了業(yè)務(wù)音資源處理系統(tǒng),使重新設(shè)置的業(yè)務(wù)音資源系統(tǒng)可以對從文件服務(wù)器中讀取的業(yè)務(wù)音編碼進行編碼壓縮,在發(fā)送業(yè)務(wù)音編碼消息時,攜帶編碼壓縮后的業(yè)務(wù)音編碼,從而可以在文件服務(wù)器向資源管理系統(tǒng)上報業(yè)務(wù)音編碼時,節(jié)省占用的數(shù)據(jù)空間和時間。更近一步地,本發(fā)明還可以對要上報給資源管理系統(tǒng)的已經(jīng)進行編碼壓縮的業(yè)務(wù)音編碼進行記錄,在發(fā)送業(yè)務(wù)音編碼消息時,可以根據(jù)記錄順序?qū)⑦M行編碼壓縮的業(yè)務(wù)音編碼攜帶在業(yè)務(wù)音編碼消息中,從而減少接收業(yè)務(wù)音編碼消息的資源管理系統(tǒng)在解碼時出現(xiàn)消息幀的錯序的概率,進一步減小文件服務(wù)器上報業(yè)務(wù)音編碼失敗的概率以及減小在與業(yè)務(wù)音資源處理系統(tǒng)的消息交互中系統(tǒng)資源的開銷。
圖1為現(xiàn)有技術(shù)語音編碼的數(shù)據(jù)結(jié)構(gòu)示意圖。
圖2為現(xiàn)有技術(shù)文件服務(wù)器向業(yè)務(wù)音資源處理系統(tǒng)發(fā)送的語音編碼消息的數(shù)據(jù)結(jié)構(gòu)示意圖。
圖3為本發(fā)明上報業(yè)務(wù)音編碼的方法流程圖。
圖4為本發(fā)明上報業(yè)務(wù)音編碼的系統(tǒng)示意圖。
圖5為本發(fā)明對從文件服務(wù)器中獲取語音編碼并進行處理的方法實施例流程圖。
圖6為本發(fā)明對編碼壓縮的語音編碼進行記錄實施例的流程圖。
具體實施例方式
為了使本發(fā)明的目的、技術(shù)方案和優(yōu)點更加清楚明白,以下舉具體實施例并參照附圖,對本發(fā)明進行進一步詳細的說明。
為了文件服務(wù)器向資源管理系統(tǒng)上報業(yè)務(wù)音編碼時,節(jié)省占用的數(shù)據(jù)空間和時間,本發(fā)明將重新設(shè)置文件服務(wù)器向資源管理系統(tǒng)上報業(yè)務(wù)音編碼時需要通過的業(yè)務(wù)音資源處理系統(tǒng),使該系統(tǒng)不再像現(xiàn)有技術(shù)那樣只是轉(zhuǎn)發(fā)攜帶業(yè)務(wù)音編碼的語音編碼消息,而是對從文件服務(wù)器接收來的業(yè)務(wù)音編碼進行編碼壓縮處理后,再將編碼壓縮處理后的業(yè)務(wù)音編碼發(fā)送給資源管理系統(tǒng)。
在本發(fā)明中,對業(yè)務(wù)音編碼進行編碼壓縮可以采用現(xiàn)有技術(shù)的行程編碼算法。
圖3為本發(fā)明上報業(yè)務(wù)音編碼的方法流程圖,其具體步驟為步驟300、業(yè)務(wù)音資源處理系統(tǒng)從文件服務(wù)器中依次讀取要上報給資源管理系統(tǒng)的業(yè)務(wù)音編碼后,依次進行存儲。
步驟301、業(yè)務(wù)音資源處理系統(tǒng)將依次存儲的業(yè)務(wù)音編碼進行依次編碼壓縮后,將依次編碼壓縮后的業(yè)務(wù)音編碼進行存儲。
步驟302、業(yè)務(wù)音資源處理系統(tǒng)將所存儲的編碼壓縮后的業(yè)務(wù)音編碼根據(jù)業(yè)務(wù)音編碼消息攜帶業(yè)務(wù)音編碼的容量,按照順序依次攜帶在一個或一個以上的業(yè)務(wù)音編碼消息中發(fā)送給資源管理系統(tǒng)。
在步驟300中,也可以不進行存儲,而直接將依次讀取的業(yè)務(wù)音編碼進行依次編碼壓縮后,將依次編碼壓縮后的業(yè)務(wù)音編碼進行存儲,再執(zhí)行步驟303。
在步驟300中,依次存儲的業(yè)務(wù)音編碼的方式可以為根據(jù)各個業(yè)務(wù)音編碼的編碼值進行排序,如按照升序或降序進行排序后再存儲。
在步驟300中,當將讀取的業(yè)務(wù)音編碼進行依次存儲之前,還可以進行一個判斷步驟,即判斷讀取的業(yè)務(wù)音編碼是否與已存儲的業(yè)務(wù)音編碼重復(fù),如果重復(fù),則丟棄讀取的業(yè)務(wù)音編碼;如果不重復(fù),則存儲讀取的業(yè)務(wù)音編碼。
如果依次存儲的業(yè)務(wù)音編碼的方式為根據(jù)各個業(yè)務(wù)音編碼的編碼值進行排序后再存儲,在步驟301中,在對所存儲的業(yè)務(wù)音編碼進行編碼壓縮時,還可以對每一個編碼壓縮的業(yè)務(wù)音編碼進行記錄,從而保證編碼壓縮后的業(yè)務(wù)音編碼按順序攜帶在業(yè)務(wù)音編碼消息中,記錄的方法為第一個步驟,按照編碼順行依次掃描業(yè)務(wù)音編碼,依次對相鄰的兩個業(yè)務(wù)音編碼進行分析;第二個步驟,對于相鄰的兩個業(yè)務(wù)音編碼,判斷這兩個業(yè)務(wù)音編碼的業(yè)務(wù)種類是否一致,即判斷這兩個業(yè)務(wù)音編碼中用于標識業(yè)務(wù)種類的字節(jié)是否相同,如果不相同,則將兩個業(yè)務(wù)音編碼中位于順序前列的業(yè)務(wù)音編碼的業(yè)務(wù)種類進行記錄,將位于順序后列的業(yè)務(wù)音編碼與位于順序后列的業(yè)務(wù)音編碼的下一個業(yè)務(wù)音編碼再進行業(yè)務(wù)種類比較,按照這種方式將所存儲的業(yè)務(wù)音編碼都比較完,完成記錄;如果相同,判斷這兩個業(yè)務(wù)音編碼的語言種類是否一致,即判斷這兩個業(yè)務(wù)音編碼中用于標識語言種類的字節(jié)是否相同。
第三個步驟,如果語言種類不相同,則將兩個業(yè)務(wù)音編碼中位于順序前列的業(yè)務(wù)音編碼的業(yè)務(wù)種類和語音種類進行記錄后,返回第二個步驟再次比較位于順序后列的業(yè)務(wù)音編碼與位于順序后列的業(yè)務(wù)音編碼的下一個業(yè)務(wù)音編碼;如果語言種類相同,則比較這兩個業(yè)務(wù)音編碼的編碼值,即比較這兩個業(yè)務(wù)音編碼中用于標識編碼值的字節(jié)。
第四個步驟,如果這兩個業(yè)務(wù)音編碼的編碼值相差不為1,則將位于順序前列的業(yè)務(wù)音編碼的業(yè)務(wù)種類、語音種類和編碼值進行記錄后,返回第二個步驟再次比較位于順序后列的業(yè)務(wù)音編碼與位于順序后列的業(yè)務(wù)音編碼的下一個業(yè)務(wù)音編碼;如果這兩個業(yè)務(wù)音編碼的編碼值相差為1,則啟動連續(xù)編碼計數(shù)器并加1后,返回第二個步驟再次比較位于順序后列的業(yè)務(wù)音編碼與位于順序后列的業(yè)務(wù)音編碼的下一個語音編碼,直到比較結(jié)果相差不為1時,對啟動該編碼計數(shù)器的起始業(yè)務(wù)音編碼的業(yè)務(wù)種類、語音種類和編碼值以及計數(shù)器所計的個數(shù)進行記錄。
由于本發(fā)明對要上報給資源管理系統(tǒng)的已經(jīng)進行編碼壓縮的業(yè)務(wù)音編碼進行了記錄,在發(fā)送攜帶進行編碼壓縮的業(yè)務(wù)音編碼的業(yè)務(wù)音編碼消息時,可以根據(jù)記錄順序?qū)⑦M行編碼壓縮的業(yè)務(wù)音編碼攜帶在業(yè)務(wù)音編碼消息中,從而減少接收攜帶業(yè)務(wù)音編碼的業(yè)務(wù)音編碼消息的資源管理系統(tǒng)在解碼時出現(xiàn)消息幀的錯序的概率,進一步減小文件服務(wù)器上報業(yè)務(wù)音編碼失敗的概率以及減小在與業(yè)務(wù)音資源處理系統(tǒng)的消息交互中系統(tǒng)資源的開銷。
本發(fā)明還提供了上報業(yè)務(wù)音編碼的系統(tǒng),如圖4所示。該系統(tǒng)包括文件服務(wù)器400、業(yè)務(wù)音資源處理系統(tǒng)401和資源管理系統(tǒng)402,其中,業(yè)務(wù)音資源處理系統(tǒng)401中還包括業(yè)務(wù)音編碼預(yù)處理模塊403和業(yè)務(wù)音編碼壓縮、上報模塊404。
業(yè)務(wù)音編碼預(yù)處理模塊403分別與文件服務(wù)器400和業(yè)務(wù)音編碼壓縮、上報模塊404相連接,用于從文件服務(wù)器400讀取業(yè)務(wù)音編碼后處理為設(shè)定的業(yè)務(wù)音編碼數(shù)據(jù)結(jié)構(gòu)并保存業(yè)務(wù)音編碼后,將保存的業(yè)務(wù)音編碼發(fā)送給業(yè)務(wù)音編碼壓縮、上報模塊404。
業(yè)務(wù)音編碼壓縮、上報模塊404分別與資源管理系統(tǒng)和業(yè)務(wù)音編碼預(yù)處理模塊403相連接,用于將從業(yè)務(wù)音編碼預(yù)處理模塊403接收到的所保存的業(yè)務(wù)音編碼進行編碼壓縮并緩存后,再將所緩存的經(jīng)過編碼壓縮的業(yè)務(wù)音編碼攜帶在一個以上的業(yè)務(wù)音編碼消息中發(fā)送給資源管理系統(tǒng)。
本發(fā)明的業(yè)務(wù)音編碼預(yù)處理模塊403也可以不將經(jīng)過處理的業(yè)務(wù)音編碼進行存儲,而直接將處理后的業(yè)務(wù)音編碼發(fā)送給業(yè)務(wù)音編碼壓縮、上報模塊404。
本發(fā)明的業(yè)務(wù)音編碼預(yù)處理模塊403在將保存的業(yè)務(wù)音編碼發(fā)送之前,還可以先給業(yè)務(wù)音編碼壓縮、上報模塊404發(fā)送業(yè)務(wù)音編碼加載完成消息。
業(yè)務(wù)音編碼預(yù)處理模塊403為了保存業(yè)務(wù)音編碼,還可以包括一個存儲區(qū)域,用于保存經(jīng)過處理后的業(yè)務(wù)音編碼。這時,業(yè)務(wù)音編碼壓縮、上報模塊404從業(yè)務(wù)音編碼預(yù)處理模塊403中的存儲區(qū)獲取所保存的經(jīng)過處理后的業(yè)務(wù)音編碼。
業(yè)務(wù)音編碼壓縮、上報模塊404中為了緩存已經(jīng)編碼壓縮的業(yè)務(wù)音編碼,還可以包括一個緩存區(qū),用于保存經(jīng)過編碼壓縮后的業(yè)務(wù)音編碼。這時,當業(yè)務(wù)音編碼壓縮、上報模塊404要發(fā)送攜帶編碼壓縮后的業(yè)務(wù)音編碼時,可以從緩存區(qū)中獲取所保存的經(jīng)過編碼壓縮后的業(yè)務(wù)音編碼。
在本發(fā)明中,業(yè)務(wù)音編碼預(yù)處理模塊403可以為輸入輸出(IO)模塊,業(yè)務(wù)音編碼壓縮、上報模塊404可以為語音處理管理(VM)模塊。
當文件服務(wù)器采用本發(fā)明設(shè)置的業(yè)務(wù)音資源處理系統(tǒng)向資源管理系統(tǒng)上報了經(jīng)過編碼壓縮的業(yè)務(wù)音編碼后,資源管理系統(tǒng)要設(shè)置編碼解壓縮功能,對接收到的經(jīng)過編碼壓縮的業(yè)務(wù)音編碼進行解碼,得到業(yè)務(wù)音編碼。資源管理系統(tǒng)設(shè)置的編碼解壓縮功能采用的算法要與業(yè)務(wù)音資源處理系統(tǒng)采用的算法相同,如都采用現(xiàn)有技術(shù)的行程編碼算法。這樣,資源管理系統(tǒng)可以根據(jù)解碼的語音編碼通過本發(fā)明中的業(yè)務(wù)音資源處理系統(tǒng)到文件服務(wù)器中查找業(yè)務(wù)音文件了。對于如何通過本發(fā)明中的業(yè)務(wù)音資源處理系統(tǒng)到文件服務(wù)器中查找業(yè)務(wù)音文件不是本發(fā)明要保護的方案,所以不再進行詳細說明。
當業(yè)務(wù)音編碼為語音編碼時,本發(fā)明設(shè)置的業(yè)務(wù)音資源處理系統(tǒng)為語音資源處理系統(tǒng)。
以下舉一個具體的實施例說明本發(fā)明提供的系統(tǒng)及方法。
假設(shè)文件服務(wù)器中存儲的業(yè)務(wù)音編碼為語音編碼,并且該語音編碼的類型為VOX。當然,其他類型的語音編碼,如類型為TTS的語音編碼也可以采用本實施例完成向資源管理系統(tǒng)的上報過程。
本實施例分為兩大部分第一部分為從文件服務(wù)器獲取語音編碼并進行處理過程;第二部分為語音編碼進行編碼壓縮并上報給資源管理系統(tǒng)過程。以下對這兩大部分進行詳細敘述。
從文件服務(wù)器獲取語音編碼并進行處理過程這個過程是由IO模塊完成的,IO模塊與文件服務(wù)器進行交互,對文件服務(wù)器存儲的語音文件進行操作。
IO模塊將文件服務(wù)器存儲的多個語音文件中文件名后綴為.VOX的文件名進行依次讀取并處理,將其處理為類型為無符號整型(unsigned long)的四個字節(jié)的語音編碼。例如文件服務(wù)器中存儲有一個名為1234ABCD.VOX的語音文件,則IO模塊以字符串形式讀取該文件名,然后將后綴名.VOX去掉,變?yōu)椤?234ABCD”共8個字符的字符串,再以每個字符占4比特的原則,將8個字符設(shè)置為一個四字節(jié)的語音編碼,即8個十六進制的數(shù)字,每兩個十六進制的數(shù)字占用一個字節(jié),其中,該語音編碼的業(yè)務(wù)種類12占一個字節(jié),語言種類34占一個字節(jié),語音編碼值A(chǔ)BCD占二個字節(jié)。
IO模塊設(shè)置存儲容量為64×1024×4字節(jié)大小的存儲區(qū)域用來存放處理后的語音編碼后,判斷所存儲的語音編碼是否重復(fù),如果是,則丟棄,否則,則存儲處理后的語音編碼。在存儲語音編碼時,還可以根據(jù)所處理后的語音編碼的編碼值從小到大進行升序排列存儲,直到將所有存儲的語音編碼的編碼值都排列并存儲完畢,結(jié)束從文件服務(wù)器獲取語音編碼并進行處理過程。
圖5為本發(fā)明對從文件服務(wù)器中獲取語音編碼并進行處理的方法實施例流程圖,其具體步驟為步驟500、IO模塊從文件服務(wù)器中讀取文件名后綴為.VOX的語音文件的文件名。
步驟501、IO模塊將所讀取的文件名處理為語音編碼。
步驟502、IO模塊判斷步驟501處理的語音編碼是否與在自身存儲區(qū)域所存儲的語音編碼中的一個相同,如果是,則轉(zhuǎn)入步驟504;否則,執(zhí)行步驟503。
步驟503、IO模塊將步驟501設(shè)置的語音編碼按照編碼值升序排列插入到自身存儲區(qū)域中,執(zhí)行步驟504。
步驟504、IO模塊訪問文件服務(wù)器,判斷是否還有文件名后綴為.VOX的語音文件,如果是,轉(zhuǎn)入步驟500;否則,結(jié)束本流程。
語音編碼進行編碼壓縮并上報給資源管理系統(tǒng)過程語音編碼進行編碼壓縮并上報給資源管理系統(tǒng)過程是由VM模塊完成的,當IO模塊進行完從文件服務(wù)器獲取語音編碼并處理的過程后,向VM模塊發(fā)送語音編碼加載完成消息,接收到該消息的VM從IO的存儲區(qū)域中獲取所存儲的語音編碼,采用行程編碼算法進行編碼壓縮后將編碼壓縮后的語音編碼存儲在自身設(shè)置的緩存區(qū)中。
等到所有從IO的存儲區(qū)域中讀取的所存儲的語音編碼都被編碼壓縮并存儲在VM模塊設(shè)置的緩存區(qū)后,再將所緩存的進行編碼壓縮后的語音編碼攜帶在所設(shè)置的語音編碼消息中發(fā)送給資源管理系統(tǒng),該語音編碼消息可以攜帶272個字節(jié)的編碼壓縮后的語音編碼。
在進行語音編碼的壓縮過程中,為了保證每個編碼壓縮的語音編碼的業(yè)務(wù)種類碼以及語言種類碼正確,可以對每個編碼壓縮的語音編碼進行業(yè)務(wù)種類、語言種類以及編碼值進行記錄。這是因為,當某兩個語音編碼的編碼值相等時,但是業(yè)務(wù)類型或/和語言種類肯定不同,如兩個語音編碼分別為10101A2B和201B1A2B。
圖6為本發(fā)明對編碼壓縮的語音編碼進行記錄實施例的流程圖,其具體步驟為步驟600、VM按照升序順序獲取一個存儲在IO模塊的存儲區(qū)域中的語音編碼作為當前語音編碼。
步驟601、VM按照升序順序獲取存儲在IO模塊的存儲區(qū)域中的當前語音編碼的下一個語音編碼。
步驟602、VM判斷所獲取的兩個語音編碼的業(yè)務(wù)種類是否相等,如果否,則執(zhí)行步驟603;否則,執(zhí)行步驟604;步驟603、VM記錄當前語音編碼的業(yè)務(wù)種類,將當前語音編碼的下一個語音編碼作為當前語音編碼后,返回步驟601繼續(xù)執(zhí)行。
步驟604、VM判斷所獲取的兩個語音編碼的語言種類是否相等,如果否,則執(zhí)行步驟605;否則,執(zhí)行步驟606。
步驟605、VM記錄當前語音編碼的業(yè)務(wù)種類和語音碼,將當前語音編碼的下一個語音編碼作為當前語音編碼后,返回步驟601繼續(xù)執(zhí)行。
步驟606、VM判斷所獲取的兩個語音編碼的編碼值是否相差1,如果不是,則執(zhí)行步驟607;否則,執(zhí)行步驟608。
步驟607、VM記錄當前語音編碼的業(yè)務(wù)種類、語音碼以及編碼值,將當前語音編碼的下一個語音編碼作為當前語音編碼后,返回步驟601繼續(xù)執(zhí)行。
步驟607、VM啟動連續(xù)編碼計數(shù)器并給該連續(xù)編碼計數(shù)器加1,將當前語音編碼的下一個語音編碼作為當前語音編碼后,返回步驟601繼續(xù)執(zhí)行,直到將IO模塊存儲的所有語音編碼都處理完,對啟動連續(xù)編碼計數(shù)器的語音編碼的業(yè)務(wù)種類、語言碼以及編碼值進行記錄并且記錄計數(shù)值。
本發(fā)明也可以將文件服務(wù)器存儲的業(yè)務(wù)音文件的文件名進行優(yōu)化設(shè)置,即對相同業(yè)務(wù)種類和語言種類的不同業(yè)務(wù)音文件使用的文件名順序加1。如這些業(yè)務(wù)音文件的文件分別為10110001、10110002、10110003、10110004、10110005、10110006、10110007、10110008、10110009、10110010、10110011、10110012、10110013、10110014、10110015、10110016、10110017、10110018、10110019、10110020、10110021、10110022、10110023和10110024。如果按照現(xiàn)有技術(shù)上報業(yè)務(wù)音編碼,則需要占用4×24=96個字節(jié)的數(shù)據(jù)空間,而采用本發(fā)明提供的系統(tǒng)及方法后,連同編碼幀幀頭在內(nèi)所占的數(shù)據(jù)空間也不過9個字節(jié),壓縮比高達10.6∶1。因此,本發(fā)明提供的系統(tǒng)及方法可以大大壓縮上報的數(shù)據(jù)量,減少發(fā)送業(yè)務(wù)音編碼消息的數(shù)目。更進一步地,本發(fā)明提供的系統(tǒng)及方法可以提高上報業(yè)務(wù)音編碼的效率、減少因為幀錯序而導(dǎo)致上報失敗的風險。
既使在文件服務(wù)器中對要上報的業(yè)務(wù)音編碼進行刪除或增加,由于在實際中絕大多數(shù)要上報的具有相同的業(yè)務(wù)種類和語言種類的語音編碼在某些區(qū)間是連續(xù)加1排列的,因此,本發(fā)明提供的方法及系統(tǒng)與現(xiàn)有技術(shù)提供的方案相比仍然能夠保持約8.7∶1的壓縮比,在實際上報語音編碼時表現(xiàn)出了優(yōu)良的性能。
以上所述僅為本發(fā)明的較佳實施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi)所做的任何修改、等同替換和改進等,均應(yīng)包含在本發(fā)明的保護范圍之內(nèi)。
權(quán)利要求
1.一種上報業(yè)務(wù)音編碼的方法,其特征在于,該方法包括A、業(yè)務(wù)音資源處理系統(tǒng)從文件服務(wù)器中讀取業(yè)務(wù)音編碼,進行編碼壓縮后并且存儲;B、業(yè)務(wù)音資源處理系統(tǒng)將所存儲的編碼壓縮后的業(yè)務(wù)音編碼根據(jù)業(yè)務(wù)音編碼消息攜帶業(yè)務(wù)音編碼的容量,攜帶在一個或一個以上的業(yè)務(wù)音編碼消息中發(fā)送給資源管理系統(tǒng)。
2.如權(quán)利要求1所述的方法,其特征在于,在步驟A所述進行編碼壓縮之前,該方法還包括對業(yè)務(wù)音編碼進行存儲后,獲取所存儲的業(yè)務(wù)音編碼。
3.如權(quán)利要求2所述的方法,其特征在于,所述對業(yè)務(wù)音編碼進行存儲的過程為根據(jù)讀取的業(yè)務(wù)音編碼的編碼值按照升序或降序進行排序后再存儲。
4.如權(quán)利要求2所述的方法,其特征在于,在所述對業(yè)務(wù)音編碼進行存儲之前,該方法還包括判斷讀取的業(yè)務(wù)音編碼是否與已存儲的業(yè)務(wù)音編碼重復(fù),如果重復(fù),丟棄讀取的業(yè)務(wù)音編碼;如果不重復(fù),存儲讀取的業(yè)務(wù)音編碼。
5.如權(quán)利要求3所述的方法,其特征在于,在進行步驟A所述的編碼壓縮時,還對所壓縮的業(yè)務(wù)音編碼進行記錄,具體為A1、從所存儲的排序后的業(yè)務(wù)音編碼中獲取當前語音編碼;A2、根據(jù)所存儲的排序后的業(yè)務(wù)音編碼的順序獲取當前語音編碼的下一個語音編碼;A3、判斷所述兩個業(yè)務(wù)音編碼的業(yè)務(wù)種類是否相同,如果不相同,記錄排序在前的業(yè)務(wù)音編碼的業(yè)務(wù)種類,將排序在后的業(yè)務(wù)音編碼作為當前業(yè)務(wù)音編碼,返回步驟A2;否則,執(zhí)行步驟A4;A4、判斷所述兩個業(yè)務(wù)音編碼的語言種類是否相同,如果不相同,記錄排序在前的業(yè)務(wù)音編碼的業(yè)務(wù)種類和語言種類,將排序在后的業(yè)務(wù)音編碼作為當前業(yè)務(wù)音編碼,返回步驟A2;否則,執(zhí)行步驟A5;A5、判斷所述兩個業(yè)務(wù)音編碼的編碼值是否相差1,如果不是,記錄排序在前的業(yè)務(wù)音編碼的業(yè)務(wù)種類、語言種類和編碼值,將排序在后的業(yè)務(wù)音編碼作為當前業(yè)務(wù)音編碼,返回步驟A2;否則,啟動設(shè)置的連續(xù)編碼計數(shù)器并給該連續(xù)編碼計數(shù)器加1,將當前業(yè)務(wù)音編碼的下一個業(yè)務(wù)音編碼作為當前語音編碼后,返回步驟A2繼續(xù)執(zhí)行,直到將存儲的排序后的所有業(yè)務(wù)音編碼都處理完,對啟動連續(xù)編碼計數(shù)器的語音編碼的業(yè)務(wù)種類、語言碼和編碼值進行記錄并且記錄計數(shù)值。
6.如權(quán)利要求1、2、3、4或5所述的方法,其特征在于,所述的業(yè)務(wù)音編碼為語音編碼。
7.如權(quán)利要求1所述的方法,其特征在于,步驟A所述的進行編碼壓縮采用行程編碼算法。
8.一種上報業(yè)務(wù)音編碼的系統(tǒng),包括文件服務(wù)器和資源管理系統(tǒng),其特征在于,在文件服務(wù)器和資源管理系統(tǒng)之間還包括業(yè)務(wù)音資源處理系統(tǒng),用于將從文件服務(wù)器中讀取的業(yè)務(wù)音編碼處理為設(shè)定的業(yè)務(wù)音編碼數(shù)據(jù)結(jié)構(gòu),進行編碼壓縮后攜帶在一個或一個以上的業(yè)務(wù)音編碼消息中發(fā)送給資源管理系統(tǒng)。
9.如權(quán)利要求8所述的系統(tǒng),其特征在于,所述的業(yè)務(wù)音資源處理系統(tǒng)由業(yè)務(wù)音編碼預(yù)處理模塊和業(yè)務(wù)音編碼壓縮、上報模塊組成,其中,業(yè)務(wù)音編碼預(yù)處理模塊分別與文件服務(wù)器和業(yè)務(wù)音編碼壓縮、上報模塊相連接,用于從文件服務(wù)器讀取業(yè)務(wù)音編碼后處理為設(shè)定的業(yè)務(wù)音編碼數(shù)據(jù)結(jié)構(gòu)后,發(fā)送給業(yè)務(wù)音編碼壓縮、上報模塊;業(yè)務(wù)音編碼壓縮、上報模塊分別與資源管理系統(tǒng)和業(yè)務(wù)音編碼預(yù)處理模塊相連接,用于將從業(yè)務(wù)音編碼預(yù)處理模塊接收到的經(jīng)過處理后的業(yè)務(wù)音編碼進行編碼壓縮后,再將經(jīng)過編碼壓縮的業(yè)務(wù)音編碼攜帶在一個或一個以上的業(yè)務(wù)音編碼消息中發(fā)送給資源管理系統(tǒng)。
10.如權(quán)利要求9所述的系統(tǒng),其特征在于,所述的業(yè)務(wù)音編碼預(yù)處理模塊還包括存儲區(qū)域,用于保存經(jīng)過處理后的業(yè)務(wù)音編碼,將所保存的經(jīng)過處理后的業(yè)務(wù)音編碼發(fā)送給業(yè)務(wù)音編碼壓縮、上報模塊。
11.如權(quán)利要求9所述的系統(tǒng),其特征在于,所述的業(yè)務(wù)音編碼壓縮、上報模塊還包括緩存區(qū),用于保存經(jīng)過編碼壓縮后的業(yè)務(wù)音編碼,將所保存的經(jīng)過編碼壓縮后的業(yè)務(wù)音編碼攜帶在一個或一個以上的業(yè)務(wù)音編碼消息中發(fā)送給資源管理系統(tǒng)。
12.如權(quán)利要求8所述的系統(tǒng),其特征在于,所述的業(yè)務(wù)音編碼預(yù)處理模塊為輸入輸出IO模塊;所述的業(yè)務(wù)音編碼壓縮、上報模塊為語音處理管理VM模塊。
全文摘要
本發(fā)明公開了一種上報業(yè)務(wù)音編碼的方法及系統(tǒng),該方法包括A.業(yè)務(wù)音資源處理系統(tǒng)從文件服務(wù)器中依次讀取業(yè)務(wù)音編碼,進行編碼壓縮后并且存儲;B.業(yè)務(wù)音資源處理系統(tǒng)將所存儲的編碼壓縮后的業(yè)務(wù)音編碼根據(jù)業(yè)務(wù)音編碼消息攜帶業(yè)務(wù)音編碼的容量,攜帶在一個或一個以上的業(yè)務(wù)音編碼消息中發(fā)送給資源管理系統(tǒng)。本發(fā)明提供的方法及系統(tǒng)在文件服務(wù)器向資源管理系統(tǒng)上報業(yè)務(wù)音編碼時,節(jié)省占用的數(shù)據(jù)空間和上報時間。
文檔編號H04M3/42GK1859593SQ200610001568
公開日2006年11月8日 申請日期2006年1月24日 優(yōu)先權(quán)日2006年1月24日
發(fā)明者程明, 曹漢平, 吳燕宇, 蘇宇, 游崇 申請人:華為技術(shù)有限公司