實現電話會議的方法
2023-10-18 04:44:59
專利名稱:實現電話會議的方法
技術領域:
本發明涉及通訊技術領域,特別涉及實現電話會議的方法。
背景技術:
電話會議原理是使每一個會議參加者都可以聽到其他參加者的話音。具體實現就是將會 議參加者的話音數據進行處理,然後將處理過的語音發送給會議參加者。現在己有很多會議 電話的實際應用,但是其實現方法都有一些缺陷。
專利CN99105937和CN03128420就是對會議參加者的話音進行鑑別,將話音的最大值 和次大值分開存儲,然後將最大值輸出給所有的會議參加者,次大值發送給話音最大值的參 加者。這樣會議電話從本質上將只有一個人講話,輸出的信息量太少,會議電話工作效率低。
專利CN200410073391根據會議電話各個成員在當前單位時間內語音信號積累平均能量 進行比較和選擇淘汰,動態更新當前發言成員名單,並認為其他成員保存沉默;然後將發言 成員的對應的話音信號衰減疊加後輸出,做為會議電話當前時間內話音輸出。這樣實現方法 雖然避免了專利CN99105937輸出信息量少的缺點,但是控制和實現太過於複雜,而且要佔用 大量的軟、硬體資源。
目前也有提供64路的會議電話晶片,可完成64路電話處理,實踐應用中會議參與者數 量可能不多,這樣在單板上使用64路的話音晶片增加了成本。而且如果參與者需要可以選擇 參加多個會議電話的時候,用晶片實現的方式就要採用多塊晶片,而且還要增加外圍控制, 這樣不僅佔用單板空間而且增加了成本。
發明內容
為了克服現有技術的缺陷和不足,本發明的目的在於提供一種輸出信息量豐富,控制和 實現方便的實現電話會議的方法。
為了達到上述目的,本發明一種實現電話會議的方法,包括以下步驟
(1) 當輸入同步信號有效時,將輸入話音數據存入輸入處理模塊,輸入處理模塊對輸入 數據進行處理;
(2) 輸入處理模塊將處理後的話音數據分別發送到存儲器和會議累加器中保存;
(3) 會議累加器將所述的話音數據和會議累加器的值進行累加;(4) 當幀頭信號有效時,將累加後的值存入會議寄存器中,同時清零會議累加器;(5) 從存儲器中取出輸出時隙的話音數據,在會議疊加處理中獲得當前時隙的輸出計算值;(6) 將所述輸出計算值存入輸出處理模塊,輸出處理模塊對該輸出計算值進行處理後輸出。作為本發明的進一步改進,所述的步驟(1)具體為(11) 當輸入同步信號有效時,通過時鐘信號的沿觸發將輸入話音數據存入輸入收緩存 區模塊;(12) 輸入收緩存區模塊將話音數據發送到輸入符號位翻轉模塊,輸入符號位翻轉模塊 將該話音數據的最高位翻轉後,發送到輸入轉換模塊;(13) 輸入轉換模塊將收到的話音數據轉換成補碼。作為本發明的進一步改進,所述步驟(2)中將處理後的數據發送到存儲器的方法為-將輸入計數器的值作為地址,將每個時隙的話音數據發送到存儲器中保存。作為本發明的進一步改進,所述的存儲器為兩個, 一個存儲器用於接收當前幀每個時隙 的話音數據,另一個存儲器用於保存前一幀每個話音數據,其中,所述兩個存儲器的功能在 幀頭信號有效的時候切換。作為本發明的進一步改進,所述步驟(3)中具體為會議累加器根據CPU配置的輸入 時隙,將所述的話音數據和會議累加器的值進行累加;其中,所述輸入時隙是由輸入計數器產生,當輸入同步信號有效的時,通過時鐘信號沿 觸發將輸入計數器加l;當幀頭信號有效時,輸入計數器清零。作為本發明的進一步改進,所述的步驟(5)具體為(51) 通過時鐘信號沿觸發以輸出時隙的值作為地址從存儲器中取出輸出時隙的上一幀 的話音數據;(52) 判斷是否需要進行會議疊加處理,如果判斷結果為是,進入步驟(53),如果判斷 結果為否,進入步驟(56); (53) 根據CPU配置的所述輸出時隙,將需要迸行會議疊加處理的會議寄存器的值減去 所述從存儲器中的取出值,獲得當前時隙輸出的計算值;(54) 判斷當前時隙輸出計算值是否溢出,如果判斷結果為是,則進入步驟(55),如果 判斷結果為否,則進入步驟(6);(55) 將該值右移溢出的bit位後,進入步驟(6);(56) 直接輸出0,進入步驟(6)。作為本發明的進一步改進,步驟(51)中所述的輸出時隙是由輸出計數器產生,當輸入 同步信號有效的時,通過時鐘信號沿觸發將輸出計數器加1;當幀頭信號有效時,將輸出計 數器清零。作為本發明的進一步改進,所述的步驟(6)具體為-(61) 將輸出的計算值存入輸出發緩存區模塊;(62) 輸出發緩存區模塊將該計算值發送到輸出符號位翻轉模塊,輸出符號位翻轉模塊 將該計算值的最高位翻轉後,發送到輸出轉換模塊;(63) 輸出轉換模塊將收到的計算值轉換成補碼。作為本發明的進一步改進,所述會議累加器和所述會議寄存器的數量是通過會議數量確 定的。作為本發明的進一步改進,所述輸入計數器的最大值由需求用戶數量確定,所述存儲器 的深度也由用戶數量確定。採用上述方法後,由於採用了疊加使聽到的話音是參加會議電話所有成員發言減去自己 發言後話音,使輸出的信息量豐富,與現有技術相比,不但簡化了硬體,佔用資源少,控制 方便,降低了成本,而且可維護性好。
圖1為本發明實現電話會議的方法的總體組成框圖。
具體實施方式
下面結合附圖對本發明的具體實施方式
作進一步的詳細說明。本發明可以採用Verilog(硬體描述語言)在FPGA (現場可編程門陣列)內部實現64路電 話進行兩個會議電話的邏輯處理。64路電話可以任意加入其中一個會議。電話會議的時候,每個會議參與者都可以聽到其他會議成員所有的發言。每個會議參與 者都可以選擇參與會議l,會議2,退出會議。但是不能同時參加會議1和會議2。本發明可以利用FPGA實現64路電話的會議電話功能。收發時鐘都採用佔空比50%的 8MHz的時鐘信號。由於設計參加會議的用戶數量為64路,輸入計數器和輸出計數器都為6bit 寬度。如果會議電話為兩個(會議l,會議2),這就需要有兩個累加器。由於每個累加器都 可以累加64路,輸入話音數據如果是線性pcm編碼為16bit,為了保證信息量不丟失,每個 累加器的寬度為22bit。用1秒8000幀的幀頭信號FP來表示一幀數據。當FP有效的時候, 表示一幀數據接收完畢。其中,輸入計數器的最大值根據系統需求用戶數量來決定。RAM塊的深度也由用戶數量 來決定,這樣,可以低成本的擴展電話會議中用戶的數量。會議累加器的數量由系統需求的會議數量決定。同理相應的會議寄存器數量也由會議數 量決定,這樣,能夠低成本的擴展會議的數量,並且避免採用專用的電話會議的不可配置和 高成本。如圖1所示,為本發明的實現電話會議的方法的實施例。本實施例為一個電話會議,對應於一個會議累加器和一個會議寄存器,使用的存儲器為 隨機存取存儲器(RAM)。其中,PCMIN[7: O]為輸入語音數據,BCLKR為接收數據位時鐘,Data[7:0]為數據總線, Addr[7:0]為地址總線,CS為片選信號,RD為讀信號,WR為寫信號,CLOCK為桌面時鐘, FP為幀頭信號,RESET為復位,BCLKS為數據音頻接口時鐘信號,PCMOUT[7:0]為輸出語音數據。(1) 在時鐘信號的上升沿和輸入同步信號有效的時候,將數據總線上話音輸入到輸入處 理模塊中的收緩存區模塊上,然後通過符號位翻轉模塊將最高位的符號位翻轉;將最高位的 符號位翻轉是因為線性pcm編碼符號位為l表示正值,為0表示負值,正好與補碼相反,需 要轉換一次;通過轉換模塊將輸入音頻信號轉換成補碼,同時將輸入計數器加1,輸入計數 器值的作為該輸入話音數據的輸入時隙,輸入計數器在幀頭信號FP有效的時候清零。(2) 將轉換後的數據分兩路送出, 一路送到會議累加器和會議累加器的值根據CPU配 置的該時隙狀態(是否疊加,如果有兩個會議是疊加在會議1或會議2)進行累加,得到新 的會議累加器的值; 一路用輸入計數器的值作為地址發送到RAM塊中保存起來;使用兵乓操作兩個RAM塊,確保一個RAM塊A接收當前幀每個時隙話音數據,另一個RAM塊B 保存前一幀話音數據,供輸出數據計算使用,兩個RAM塊功能在幀頭信號有效的時候切換。(3) 在幀頭信號有效的時候,將會議累加器值取出存入會議寄存器中,同時清零會議累 加器,準備計算當前幀數據的會議累加器值。(4) 在時鐘信號上升沿的和輸出同步信號有效的時候,將輸出計數器加1 (輸出計數器 在幀頭信號有效的時候清零)。用輸出計數器的值作為地址在RAM塊值取去話音數據。根據 CPU配置的該時隙狀態,在疊加處理模塊中處理得到當前時隙輸出計算值,用會議寄存器的 值減去從RAM塊中的取出值,得到當前時隙輸出計算值(如果有兩個會議,並且疊加在會 議1或者會議2中,用會議寄存器1或者會議寄存器2的值減去從RAM塊中取出值,得到 當前時隙輸出計算值);如果沒有疊加到會議,直接輸出0。判斷當前時隙輸出計算值是否溢 出,如果溢出n個bit,就右移n位,確保輸出計算值不溢出,這裡處理類似自適應衰減,當 噪音比較大造成溢出,根據溢出情況衰減掉底部噪音。(5) 然後通過輸出轉換模塊將得到的值轉換為補碼,再通過輸出符號位翻轉模塊將高位 翻轉後存入輸出發緩存區模塊輸出。因此,由於採用了疊加使聽到的話音是參加會議電話所有成員發言減去自己發言後話音, 使輸出的信息量豐富,與現有技術相比,不但簡化了硬體,佔用資源少,控制方便,降低了 成本,而且可維護性好。
權利要求
1、一種實現電話會議的方法,其特徵在於,包括以下步驟(1)當輸入同步信號有效時,將輸入話音數據存入輸入處理模塊,輸入處理模塊對輸入數據進行處理;(2)輸入處理模塊將處理後的話音數據分別發送到存儲器和會議累加器中保存;(3)會議累加器將所述的話音數據和會議累加器的值進行累加;(4)當幀頭信號有效時,將累加後的值存入會議寄存器中,同時清零會議累加器;(5)從存儲器中取出輸出時隙的話音數據,在會議疊加處理中獲得當前時隙的輸出計算值;(6)將所述輸出計算值存入輸出處理模塊,輸出處理模塊對該輸出計算值進行處理後輸出。
2、 按照權利要求1所述的實現電話會議的方法,其特徵在於,所述的步驟(1)具體為(11) 當輸入同步信號有效時,通過時鐘信號的沿觸發將輸入話音數據存入輸入收緩存區模塊;(12) 輸入收緩存區模塊將話音數據發送到輸入符號位翻轉模塊,輸入符號位翻轉模塊 將該話音數據的最高位翻轉後,發送到輸入轉換模塊;(13) 輸入轉換模塊將收到的話音數據轉換成補碼。
3、 按照權利要求2所述的實現電話會議的方法,其特徵在於,所述步驟(2)中將處理後的數據發送到存儲器的方法為將輸入計數器的值作為地址,將每個時隙的話音數據發送到存儲器中保存。
4、 按照權利要求3所述的實現電話會議的方法,其特徵在於,所述的存儲器為兩個,一 個存儲器用於接收當前幀每個時隙的話音數據,另一個存儲器用於保存前一幀每個話音數據, 其中,所述兩個存儲器的功能在幀頭信號有效的時候切換。
5、 按照權利要求4所述的實現電話會議的方法,其特徵在於,所述步驟(3)中具體為會議累加器根據CPU配置的輸入時隙,將所述的話音數據和會議累加器的值進行累加;其中,所述輸入時隙是由輸入計數器產生,當輸入同步信號有效的時,通過時鐘信號沿觸發將輸入計數器加l;當幀頭信號有效時,輸入計數器清零。
6、 按照權利要求5所述的實現電話會議的方法,其特徵在於,所述的步驟(5)具體為(51) 通過時鐘信號沿觸發以輸出時隙的值作為地址從存儲器中取出輸出時隙的上一幀 的話音數據;(52) 判斷是否需要進行會議疊加處理,如果判斷結果為是,進入步驟(53),如果判斷 結果為否,進入步驟(56);(53) 根據CPU配置的所述輸出時隙,將需要進行會議疊加處理的會議寄存器的值減去 所述從存儲器中的取出值,獲得當前時隙輸出的計算值;(54) 判斷當前時隙輸出計算值是否溢出,如果判斷結果為是,則進入步驟(55),如果 判斷結果為否,則進入步驟(6);(55) 將該值右移溢出的bit位後,進入步驟(6);(56) 直接輸出0,進入步驟(6)。
7、 按照權利要求6所述的實現電話會議的方法,其特徵在於,步驟(51)中所述的輸出 時隙是由輸出計數器產生,當輸入同步信號有效的時,通過時鐘信號沿觸發將輸出計數器加 1;當幀頭信號有效時,將輸出計數器清零。
8、 按照權利要求1所述的實現電話會議的方法,其特徵在於,所述的步驟(6)具體為(61) 將輸出的計算值存入輸出發緩存區模塊;(62) 輸出發緩存區模塊將該計算值發送到輸出符號位翻轉模塊,輸出符號位翻轉模塊 將該計算值的最高位翻轉後,發送到輸出轉換模塊;(63) 輸出轉換模塊將收到的計算值轉換成補碼。
9、 按照權利要求1所述的實現電話會議的方法,其特徵在於,所述會議累加器和所述會 議寄存器的數量是通過會議數量確定的。
10、 按照權利要求1所述的實現電話會議的方法,其特徵在於,所述輸入計數器的最大 值由需求用戶數量確定,所述存儲器的深度也由用戶數量確定。
全文摘要
本發明公開了一種實現電話會議的方法,為解決輸出信息量少、控制和實現過於複雜、成本高的問題而發明。本發明包括以下步驟當輸入同步信號有效時,輸入處理模塊對輸入數據進行翻轉和轉換處理並分別發送存儲器和會議累加器中保存;將所述的話音數據和會議累加器的值進行累加;當幀頭信號有效的時,將累加後的值存入會議寄存器中,同時清零累加器;通過時鐘信號沿觸發從存儲器中取出話音數據,在會議疊加處理中得到當前時隙的輸出計算值;系統將所述輸出計算值存入輸出處理模塊,輸出處理模塊對該輸出計算值進行換轉和翻轉處理後輸出。這樣,不但佔用資源少,控制方便,而且輸出信息量豐富,成本也比較低。
文檔編號H04M3/56GK101119419SQ20061010398
公開日2008年2月6日 申請日期2006年8月1日 優先權日2006年8月1日
發明者鵬 陳 申請人:中興通訊股份有限公司