專利名稱::一種語音流的處理方法及裝置的制作方法
技術領域:
:本發明涉及語音通信領域,尤其涉及一種語音流的處理方法及語音流處理裝置。
背景技術:
:目前,基于因特網協議的語音(VoiceoverInternetProtocol,VoIP)技術已逐步從試驗走向商用,VoIP是指將模擬的聲音信號經過壓縮和封裝之后,以語音數據包的形式在因特網協議(InternetProtocol,IP)網絡的環境進行語音信號的傳輸,也就是通常說的互聯網電話、網絡電話或IP電話。但是,在VoIP的實際應用過程中我們遇到了很多實際問題,例如安全性問題,它是VoIP發展中急需解決的關鍵的問題,在軟交換環境中也是軟交換技術進一步發展的障礙。可以預計,多媒體通信的高速發展期已經來臨,而要把這項業務推向大眾,就必須重視安全問題。網絡監聽作為一種網絡安全保障技術,是一種捕獲網絡上傳輸的數據并進行分析的行為,這在網絡安全領域占有極其重要的地位。對網絡安全管理而言,網絡監聽不僅是監控本地網絡狀況的直接手段,也是基于網絡的入侵檢測系統的基礎。由于傳統公共交換電話網絡(PublicSwitchedTelephoneNetwork,PSTN)釆用分層傳輸、集中交換的設計,因此只要在電信機房的交換裝置處掛設監控設備,就可以記錄下所有呼叫撥打行為留下的完整通話記錄(CallDetailRecord,CDR),從而較容易地執行監控任務。但VoIP采用的是非固定信道傳輸、分組交換的組網模式,不能再采用傳統的監聽模式,因此為了保證通信安全,提升服務質量,在大規模運營之際,必須將VoIP監聽系統的應用提上曰程。現有技術提供了一種VoIP監聽技術,參照圖1的現有技術的VoIP監聽裝置示意圖,該VoIP監聽技術主要流程包括語音流過濾模塊在捕獲到網絡上傳輸的實時傳輸協議(Real-timeTransportProtocol,RTP)流后,從這個RTP流中按照其中語音流的方向提取出不同方向的兩條語音流(為了加以區分,我們把其中一條語音流稱為上行語音流,另一條稱之為下行語音流,上、下行的稱謂是相對的,可以根據不同的應用場景加以定義),并對這兩條語音流分別進行RTP包預處理和語音解碼等過程,形成上、下行兩條單獨的語音信號,并分別對這兩條單獨的語音信號進行輸出、播放,或者生成語音文件加以保存。語音解碼模塊通常是采用標準的語音解碼算法,而語音流過濾模塊和RTP包預處理模塊在不同系統中有不同的實現方式。在實現本發明過程中,發明人發現現有技術中至少存在如下問題由于現有技術是通過對單條語音流的解碼來實現語音信號的還原,這樣一個通話過程就會產生兩條語音信號且分別輸出,從而只能分別記載通話一方的語音通話記錄,缺乏一種技術手段將通話雙方的語音通話記錄作為一個整體輸出進行處理,降低了服務質量。
發明內容本發明實施例提供了一種語音流的處理方法及一種語音流處理裝置,能對至少兩條語音流進行合并處理,從而可實現對雙方通話乃至多方通話的同時監聽,提升了服務質量。本發明實施例提出了一種語音流的處理方法,包括獲得至少兩條語音流,所述各語音流中攜帶有用于調整語音流中語音數據包時序的第一信息和用于控制各語音流中語音數據包對應的壓縮語音幀同步輸出的第二信息;根據所述第一信息,調整各語音流中語音數據包的時序,并根據所述第二信息,控制將所述調整時序后的各語音流中語音數據包對應的壓縮語音幀同步輸出;對所述同步輸出的壓縮語音幀還原成原始語音幀;合并所述各語音流對應的原始語音幀。相應地,本發明實施例還提供了一種語音流處理裝置,包括語音流獲取模塊,獲得至少兩條攜帶有用于調整語音流中語音數據包時序的第一信息、用于控制各語音流中語音數據包對應的壓縮語音幀同步輸出的第二信息的語音流;預處理模塊,根據所述第一信息,調整各語音流中語音數據包的時序;同步控制模塊,根據所述第二信息,控制將所述調整時序處理后的各語音流中語音數據包對應的壓縮語音幀同步輸出;還原模塊,對所述同步輸出的壓縮語音幀還原成原始語音幀;語音信號合并模塊,合并所述各語音流對應的原始語音幀。本發明實施例通過首先對獲取的至少兩條語音流進行語音數據包時序的調整,并控制各語音流對應語音數據包中壓縮語音幀的同步輸出,然后對同步輸出的壓縮語音幀進行還原及合并,從而能對至少兩條語音流進行合并處理,從而可實現對雙方通話乃至多方通話的同時監聽,提升了服務質量。圖1是現有技術的VoIP監聽系統的示意圖;圖2是本發明的語音流的處理方法的實施例示意圖;圖3是本發明實施例的VoIP監聽系統的示意圖;圖4是本發明的VoIP監聽方法的實施例示意圖;圖5是本發明的語音流處理裝置的實施例示意圖;圖6是本發明的監聽服務器的實施例示意圖。具體實施例方式本發明實施例提供了一種語音流的處理方法以及一種語音流處理裝置,可實現對至少兩條語音流進行合并處理,從而可實現對雙方通話乃至多方通話的同時監聽。在描述本發明實施例之前,我們可對現有技術的VoIP實現原理進行如下簡單的說明。VoIP實現呼叫控制與數據傳送相分離,其中呼叫控制協議保證電話呼叫的順利實現和語音質量,目前被廣泛接受的VoIP控制信令體系包括國際電信聯盟電信標準化部門(InternationalTelecommunicationUnionTelecommunicationStandardizationSector,ITU-T)的H.323系列和因特網工程任務組(InternetEngineeringTaskForce,IETF)的會i舌4刀》臺4b十辦i義(SessionInitiationProtocol,SIP)。數據傳輸技術主要采用ITU-T標準的RTP協議,RTP協議是端到端的包括了語音數據在內的實時數據傳送的協議,包括了數據(RTP)和控制(Real-timeTransportControllingProtocol,RTCP)兩部分。其中,RTCP提供了時間戳和控制不同數據流同步特性的機制,可以讓接收端重組發送端的數據包,并可以提供接收端到多點發送組的服務質量反饋。下面結合附圖,對本發明實施例進行詳細說明。圖2是本發明的語音流的處理方法的實施例示意圖,本方法基于如圖3所示的本發明實施例的VoIP監聽系統,該VoIP監聽系統包括有IP網絡、PSTN電話網、PSTN電話網下的各終端、VoIP電話網關以及本發明的監聽服務器(即本發明的語音流處理裝置),參照圖2,該方法主要包括以下步驟201,由于需要對VoIP電話網關上正在通話的語音流進行監聽,監聽服務器獲得由VoIP電話網關鏡像過來的上述通話中的RTP語音流,根據RTP語音流的方向不同,可以把RTP語音流分為上行RTP語音流和下行RTP語音流。各RTP語音流中包括有RTP語音數據包、RTCP控制信息包等信息,其中RTP語音數據包中包括有RTP語音數據單元(由多個壓縮語音幀組成)、RTP包頭(包括有RTP語音數據包序列號,以及用于調整語音流中RTP語音數據包時序的相對時間戳等信息),RTCP控制信息包則包括有用于控制各RTP語音流中RTP語音數據包對應壓縮語音幀同步輸出的相對時間戳及絕對時間戳。202,監聽服務器根據RTP包頭中的RTP語音數據包序列號調整RTP語音流中失序的RTP語音數據包的順序,RTP語音數據包序列號表征了發送端將RTP語音數據包形成語音流的順序,該調整使得RTP語音數據包可恢復為RTP語音數據包序列號所表征的順序。監聽服務器根據RTP包頭中的相對時間戳,進一步調整每條RTP語音流中RTP語音數據包的時序,由于相對時間戳記錄了RTP語音數據包中第一個字節的相對采樣時間,根據相鄰RTP語音數據包中分別攜帶的相對時間戳,就能確定RTP語音流中RTP語音數據包受到網絡時延影響的程度,并以此調整RTP語音流中語音數據包的端到端時延差,從而進一步調整每條RTP語音流中RTP語音數據包的時序。203,監聽服務器根據RTCP控制信息包中的相對時間戳和絕對時間戳,可確定上、下行RTP語音流中RTP語音數據包第一字節的絕對采樣時間,從而確定上、下行RTP語音流中RTP語音數據包對應壓縮語音幀的輸出時延,根據該輸出時延可同步輸出上、下行RTP語音流各自對應的壓縮語音幀。在本實施例中,確定上、下行RTP語音流中RTP語音數據包對應壓縮語音幀的輸出時延,可通過獲得比較上、下行RTP語音流中RTP語音數據包第一字節的絕對采樣時間,計算得到輸出每個壓縮語音幀的相對時間,并根據設置的輸出壓縮語音幀的基準時間,得到上、下行RTP語音流中RTP語音數據包對應壓縮語音幀的輸出時延。204,監聽服務器對上述同步輸出的上、下行RTP語音流中RTP語音數據包對應的壓縮語音幀進行還原處理,得到RTP語音流中RTP語音數據包對應的上、下行原始語音幀,具體可通過解壓縮、解碼算法,得到脈沖編碼調制(PulseCodeModulation,PCM)語音格式的原始語音幀。205,監聽服務器將還原處理得到的上、下行原始語音幀進行合并,合并時可根據原始語音幀的存在方式(單聲道、多聲道等)、比特(bit)數等采用多種疊加方式,具體疊加方式將在下述實施例中詳細說明。實施如圖2所示的本發明的語音流的處理方法實施例,可實現對上、下行語音流進行合并處理,乂人而可實現對雙方通話乃至多方通話的同時監聽,從而提高服務質量。圖4為本發明的VoIP監聽方法的實施例示意圖,該VoIP監聽方法基于本發明的語音流的處理方法,且仍以圖3所示的本發明實施例的VoIP監聽系統為基礎進行說明,參照圖4,該方法主要包括401,監聽服務器獲得由VoIP電話網關鏡像過來的通話中的上、下行RTP語音流,并根據預先設定的策略(如監控某個電話號碼或IP地址段)對RTP語音流進行識別,過濾掉非語音數據和一些無效的RTP語音數據包,按照RTP語音流方向提取上、下行RTP語音流進行402及402以下流程的處理。上、下行RTP語音流中包括有RTP語音數據包、RTCP控制信息包等,其中RTP語音數據包中包括有RTP語音數據單元(由多個壓縮語音幀組成)、RTP包頭(包括RTP語音數據包序列號,以及用于調整語音流中RTP語音數據包時序的相對時間戳等信息);RTCP控制信息包則包括有用于控制各RTP語音流中RTP語音數據包對應壓縮語音幀同步輸出的相對時間戳及絕對時間戳等信息。402,監聽服務器對上、下行RTP語音流進行RTP語音數據包預處理,可包括如下兩個方面其一,去除RTP語音數據包的IP頭和用戶數據包協議(UserDatagramProtocol,UDP)頭等附加信息,將RTP語音數據包中的RTP語音數據單元提取出來,通常一個RTP語音數據單元包括一個或多個經過壓縮編碼的壓縮語音幀;其二,考慮時延抖動、包丟失、失序情況對還原RTP語音數據包中壓縮語音幀的影響,對RTP語音數據包進行如下處理Al、吸收失序的RTP語音數據包,根據RTP包頭中的RTP語音數據包序列號,調整失序的RTP語音數據包的順序,RTP語音數據包序列號表征了發送端將RTP語音數據包形成語音流的順序,該調整使得獲得的RTP語音數據包可恢復為RTP語音數據包序列號所表征的順序。每個RTP語音數據包都有對應的一個RTP語音數據包序列號,因此可以通過RTP語音數據包序列號來判斷RTP語音數據包的順序是否發生改變,從而根據RTP包頭中的RTP語音數據包序列號調整失序的RTP語音數據包的順序;A2、根據RTP包頭中的相對時間戳,進一步調整RTP語音流中RTP語音數據包的時序,由于相對時間戳記錄了RTP語音數據包中第一個字節的相對采樣時間,根據相鄰RTP語音數據包中分別攜帶的相對時間戳,就能確定RTP語音流中RTP語音數據包受到網絡時延影響的程度,并調整RTP語音流中各語音數據包的端到端時延差,從而進一步調整每條RTP語音流中RTP語音數據包的時序;A3、對于丟失的RTP語音數據包,可以把這些丟失的RTP語音數據包的語音損耗控制在人耳感知的范圍,此時可以默認為這些丟失的RTP語音數據包為靜音包,并按照計算所得的該靜音包的時間戳,輸出該靜音包。具體實現時,可根據RTP語音數據包序列號判斷丟失的RTP語音數據包,并根據丟失的RTP語音數據包前后相鄰的RTP語音數據包的時間戳,計算該丟失的RTP語音數據包的時間戳,按照計算出來的時間戳輸出該靜音包。403,監聽服務器根據RTCP控制信息包中的相對時間戳和絕對時間戳,可確定上、下行RTP語音流中RTP語音數據包第一字節的絕對采樣時間,從而確定上、下行RTP語音流的輸出時延,根據該輸出時延可同步輸出上、下行RTP語音流各自對應的壓縮語音幀。404,監聽服務器對上述同步輸出的壓縮語音幀進行解壓縮解碼還原處理,將壓縮語音幀還原為發送端的原始語音幀(一般為PCM語音格式),其中解碼可以采用G.729,G.723,iSAC等算法。405,監聽服務器將還原處理得到的同步輸出的上、下行原始語音幀進行合并。上述流程完成了壓縮語音幀的同步輸出合并,即使解壓縮解碼存在一定的時延差異,我們也可以認為經解壓縮解碼后輸出的對應原始語音幀是在同一時刻產生的,因此只要把上、下行RTP語音流同一時刻的原始語音幀進行疊加,即可得到合并后的語音幀。語音幀的疊加方式可根據實際情況而采用,具體可以通過^f旦不〗又限于如下兩種方式Bl、把上、下行RTP語音流中同一時刻的原始語音幀中的聲道采樣值分別按照聲道進行疊加,必要時,還可以根據設定的表征各聲道強弱差異的增益算法,產生最終的語音幀,得到的語音幀集合可形成語音文件。增益算法中,假如左聲道取10的權重,右聲道取5的權重,則表征疊加產生左聲道應強于右聲道;下面以合并PCM語音流(原始語音幀一般以PCM格式存在)中的語音數據來生成波形(Wave)文件為例,說明B1的內容<table>tableseeoriginaldocumentpage12</column></row><table>表l參照如上表l的內容,按照聲道數和釆樣bit數不同,PCM數據可以分為單聲道8bit量化、雙聲道8bit量化、單聲道16bit量化和雙聲道16bit量化四種情況,每種情況的數據組織方式如表l所示。通常VoIP的通話雙方采用相同的編碼算法和采樣方式,因此需要合并的上、下行兩條PCM語音流一般具有相同的聲道數和采樣bit數,合并的方式依采樣bit數不同而有差異,如果把原始語音幀的所有采樣值按照聲道進行疊加,可以采用如下疊加算法(無論單聲道,或雙聲道均可按該疊加算法處理)(1)對采樣bit數為8的原始語音幀進行混合。由于8bit音頻波形值的范圍是0到255,混合的方式是把上、下行PCM語音流對應的同一時刻的原始語音幀的聲道采樣值按照聲道相加再減去128,再判斷結果,如果結果小于O則賦為0,如果結果大于255則賦為255;(2)對采樣bit數為16的原始語音幀進行混合。由于16bit音頻波形值的范圍是-32768到32767,混合的方式是把上、下行PCM語音流在同一時刻的原始語音幀的聲道釆樣值按照聲道相加再判斷結果,如果結果小于-32768則將結果賦為-32768,如果結果大于32767則將結果賦為32767;當PCM數據為雙聲道時,在某些特定場合,我們需要強化某個聲道的聲音而弱化另一個聲道,那么可以給疊加合并后的左、右兩個聲道的采樣值賦予不同的權值,例如我們要強化左聲道的音量,則可對所述疊加算法合并后的左聲道的采樣值賦予1.2的權值,而同時給所述疊加算法合并后的右聲道的釆樣值賦予0.8的權值,具體實施時,可以將疊加合并后的左聲道的采樣值乘以權值1.2作為左聲道的采樣值,并將疊加合并后的右聲道的采樣值乘以權值0.8的作為右聲道的采樣值;B2、將上、下行RTP語音流同一時刻的原始語音幀分別合并作為最終得到的語音幀的左、右聲道采樣值,從而產生最終的語音幀,這樣得到的語音幀集合可形成語音文件,具體包括如下兩種情況當各RTP語音流同一時刻的原始語音幀為單聲道語音時,只要把上、下行RTP語音流同一時刻的原始語音幀的釆樣值分別作為合并后語音幀的左、右聲道采樣值即可;當各RTP語音流同一時刻的原始語音幀為雙聲道語音時,則可先按照上述疊加算法處理把上行RTP語音流同一時刻的原始語音幀的左、右聲道進行疊加作為合并后所得語音幀的左聲道信息,把下行RTP語音流同一時刻的原始語音幀的左、右聲道進行疊加作為合并后所得語音幀的右聲道信息即可。上述S405流程合并后所得的PCM語音幀,我們可以將其以流的形式送入音頻設備進行播放,也可以把它寫入Wave文件(格式為WAV)加以保存,事實上只要在PCM語音信號前加合適的WAV文件頭,就可以很容易的生成一個WAV文件。作為一種實施方式,上述S405流程合并后所得的PCM語音幀,我們可以對其進行壓縮編碼,并以RTP語音流形式傳送給后方進行解碼接收,這樣在某些應用場合,RTP語音流的合并和監聽就可以分布在不同的工作環境中,例如合并在局方設備機房完成,而監聽卻在后端的專門實驗室中完成。實施如圖4所示的本發明的VoIP監聽的方法的實施例,通過完成對RTP語音流的合并,對合并后所得的語音幀進行即時輸出、保存,,這樣可以回放過去某個時間^歐的完整通話記錄。下面相應地對本發明實施例的語音流處理裝置進行說明。圖5是本發明的語音流處理裝置的實施例示意圖,參照該圖,本語音流處理裝置包括語音流獲取模塊51、預處理模塊52、同步控制模塊53、還原模塊54、語音信號合并模塊55,各模塊連接關系及功能如下述語音流獲取模塊51、同步控制模塊53分別與預處理模塊52相連,語音信號合并模塊55、預處理模塊52分別與還原模塊54相連;語音流獲取模塊51,獲得由VoIP電話網關鏡像過來的通話中的上、下行RTP語音流,各RTP語音流中包括有RTP語音數據包、RTCP控制信息包等,其中RTP語音數據包中包括有RTP語音數據單元(由多個壓縮語音幀組成)、RTP包頭(包括有RTP語音數據包序列號,以及用于調整語音流中RTP語音數據包時序的相對時間戳)等信息,RTCP控制信息包則包括有用于控制各RTP語音流中RTP語音數據包對應壓縮語音幀同步輸出的相對時間戳及絕對時間戳等信息。預處理模塊52,根據RTP包頭中的RTP語音數據包序列號調整RTP語音流中失序的RTP語音數據包的順序,RTP語音數據包序列號表征了發送端將RTP語音數據包形成語音流的順序,該調整使得獲得的RTP語音數據包可恢復為RTP語音數據包序列號所表征的順序;根據RTP包頭中的相對時間戳,進一步調整每條RTP語音流中RTP語音數據包的時序,由于相對時間戳信息記錄了RTP語音數據包中第一個字節的相對采樣時間,根據相鄰RTP語音數據包中分別攜帶的相對時間戳,就能確定RTP語音流中RTP語音數據包受到網絡時延影響的程度,并以此調整RTP語音流中語音數據包的端到端時延差,從而進一步調整每條RTP語音流中RTP語音數據包的時序。同步控制模塊53,根據RTCP控制信息包中的相對時間戳和絕對時間戳,可確定上、下行RTP語音流中RTP語音數據包第一字節的絕對采樣時間,從而確定上、下行RTP語音流中RTP語音數據包對應壓縮語音幀的輸出時延,根據該輸出時延可同步輸出上、下行RTP語音流各自對應的壓縮語音幀。在本實施例中,確定上、下行RTP語音流中RTP語音數據包對應壓縮語音幀的輸出時延,可通過獲得比較上、下行RTP語音流中RTP語音數據包第一字節的絕對采樣時間,計算得到輸出每個壓縮語音幀的相對時間,并根據設置的輸出壓縮語音幀的基準時間,得到上、下行RTP語音流中RTP語音數據包對應壓縮語音幀的輸出時延。還原模塊54,對上述同步輸出的上、下行RTP語音流中RTP語音數據包對應的壓縮語音幀進行還原處理,得到RTP語音流中RTP語音數據包對應的上、下行的原始語音幀,具體可通過解壓縮、解碼算法,得到PCM語音格式的原始語音幀。語音信號合并模塊55,將還原處理得到的上、下行原始語音幀進行合并,合并時可根據原始語音幀的存在方式(單聲道、多聲道等)、比特(bit)數等采用多種疊加方式,具體疊加方式已在前言中詳述,此處不再贅述。實施如圖5所示的本發明的語音流處理裝置的實施例,可實現對上、下行語音流進行合并處理,從而可實現對雙方通話乃至多方通話的同時監聽,提高服務質量。圖6是本發明的監聽服務器的實施例示意圖,該監聽服務器可存在于圖3所示的本發明實施例的VoIP監聽系統中,參照圖6,該監聽服務器包括語音流過濾模塊61、預處理模塊62、同步控制模塊63、語音解碼模塊64、語音信號合并模塊65、播放模塊66,其中,預處理模塊62包括第一處理單元621、第二處理單元622、第三處理單元623,同步控制模塊63包括確定單元631、控制單元632,各模塊連接關系及功能如下述語音流過濾模塊61、同步控制模塊63分別與預處理模塊62相連,語音信號合并模塊65、預處理模塊62分別與語音解碼模塊64相連,播放模塊66與語音信號合并模塊65相連;語音流過濾模塊61,獲得由VoIP電話網關鏡像過來的通話中的上、下行RTP語音流,并根據預先設定的策略(如監控某個電話號碼或IP地址段)對RTP語音流進行識別,過濾掉非語音數據和一些無效的RTP語音數據包,按照RTP語音流方向提取上、下行RTP語音流觸發其他單元的處理。上、下行RTP語音流中包括有RTP語音數據包、RTCP控制信息包等,其中RTP語音數據包中包括RTP語音數據單元(由多個壓縮語音幀組成)、RTP包頭(包括有RTP語音數據包序列號,以及用于調整語音流中RTP語音數據包時序的相對時間戳)等信息;RTCP控制信息包則包括有用于控制各RTP語音流中RTP語音數據包對應壓縮語音幀同步輸出的相對時間戳及絕對時間戳等信息;第一處理單元621,吸收失序的RTP語音數據包,根據RTP包頭中的RTP語音數據包序列號調整RTP語音流中失序的RTP語音數據包的順序,RTP語音數據包序列號表征了發送端將RTP語音數據包形成語音流的順序,該調整使得獲得的RTP語音數據包可恢復為RTP語音數據包序列號所表征的順序。每個RTP語音數據包都有對應的一個序列號,因此可以通過RTP語音數據包序列號來判斷RTP語音數據包的順序是否發生改變,從而根據RTP包頭中的RTP語音數據包序列號調整失序的RTP語音數據包的順序。第二處理單元622,根據RTP包頭中的相對時間戳,進一步調整RTP語音流中RTP語音數據包的時序,由于相對時間戳記錄了RTP語音數據包中第一個字節的相對采樣時間,根據相鄰RTP語音數據包中分別攜帶的相對時間戳,就能確定RTP語音流中RTP語音數據包受到網絡時延影響的程度,并調整RTP語音流中各語音數據包的端到端時延差,從而進一步調整每條RTP語音流中RTP語音數據包的時序;第三處理單元623,對于丟失的RTP語音數據包,可以把這些丟失的RTP語音數據包的語音損耗控制在人耳感知的范圍,此時可以默認為這些丟失的RTP語音數據包為靜音包,并按照計算所得的該靜音包的時間戳,輸出該靜音包。具體實現時,可根據RTP語音數據包序列號判斷丟失的RTP語音數據包,并根據丟失的RTP語音數據包相鄰的RTP語音數據包的時間戳,計算該丟失的RTP語音數據包的時間戳,按照計算出來的時間戳輸出該靜音包。確定單元631,根據RTCP控制信息包中的相對時間戳和絕對時間戳,可確定上、下行RTP語音流中RTP語音數據包第一字節的絕對采樣時間,從而確定上、下行RTP語音流的輸出時延,根據該輸出時延可同步輸出上、下行RTP語音流各自對應的壓縮語音幀。控制單元632,才艮據確定單元631確定的輸出時延控制上、下行RTP語音流同步輸出各自對應的壓縮語音幀;語音解碼模塊64,對上述同步輸出的壓縮語音幀進行解壓縮解碼還原處理,將壓縮語音幀還原為發送端的原始語音幀(一般為PCM語音格式),其中解碼可以是G.729,G.723,iSAC等算法。語音信號合并模塊65,將語音解碼模塊64處理得到的同步輸出的上、下行原始語音幀進行合并。上述流程完成了壓縮語音幀的同步輸出合并,即使解壓縮解碼存在一定的時延差異,我們也可以認為經解壓縮解碼后輸出的的原始語音幀是在同一時刻產生的,因此只要把上、下行RTP語音流同一時刻的原始語音幀進行疊加,即可得到合并后的語音幀。語音幀的疊加方式可根據實際情況而采用,具體的,語音信號合并模塊65可以包括但不僅限于下述兩種結構(一)語音信號合并模塊65包括有疊加單元、第一獲取單元,其中疊加單元,把上、下行RTP語音流中同一時刻的原始語音幀中各個聲道采樣值分別按照聲道進行疊加,具體疊加方法請參見前文B1中對應內容的描述,此處不再贅述;第一獲取單元,獲得疊加單元處理完成的語音幀,該完成得到的語音幀集合可形成語音文件;(二)語音信號合并模塊65包括有劃分單元、第二獲取單元,其中劃分單元,將上、下行RTP語音流同一時刻的原始語音幀分別作為合并最終得到的語音幀的左、右聲道采樣值,具體可如上述B2中對應內容所述,此處不再贅述;第二獲取單元,獲得劃分單元處理完成的最終的語音幀,該完成得到的語音幀集合可形成語音文件;播放模塊66,對語音信號合并模塊65合并產生的語音幀以流的形式進行播放處理。作為一種實施方式,該監聽服務器除可選擇包括上述播放模塊66、保存模塊和/或壓縮編碼模塊,其中保存模塊可保存語音信號合并模塊65所合并的語音信號,壓縮編碼模塊可將所述語音信號合并模塊65處理所合并的語音幀壓縮編碼后輸出。實施如圖6所示的本發明的監聽服務器的實施例,通過合并RTP語音流,并即時輸出、保存合并后所得的語音幀,一方面解決了傳統監聽方式無法同時監聽兩條語音流的問題,另一方面可以保存合并后所得的語音幀文件,這樣可以回放過去某個時間段的完整通話記錄,無需分別提取每個通話方的通話記錄。值得說明的是,上述方法、裝置也可以處理三條或三條以上的語音流,當存在雙方、多方通話時,語音流條數可按照實際情況變化。另外,本領域普通技術人員可以理解實現上述實施例方法中的全部或部分流程,是可以通過程序來指令相關的硬件來完成,所述的程序可存儲于一計算機可讀取存儲介質中,該程序在執行時,可包括如上述各方法的實施例的流程。其中,所述的存儲介質可為磁碟、光盤、只讀存儲記憶體(Read-OnlyMemory,ROM)或隨機存儲記憶體(RadomAccessMemory,RAM)等。以上所述是本發明的優選實施方式,應當指出,對于本
技術領域:
的普通技術人員來說,在不脫離本發明原理的前提下,還可以做出若干改進和潤飾,這些改進和潤飾也視為本發明的保護范圍。權利要求1、一種語音流的處理方法,其特征在于,包括獲得至少兩條語音流,所述各語音流中攜帶有用于調整語音流中語音數據包時序的第一信息和用于控制各語音流中語音數據包對應的壓縮語音幀同步輸出的第二信息;根據所述第一信息,調整各語音流中語音數據包的時序,并根據所述第二信息,控制將所述調整時序后的各語音流中語音數據包對應的壓縮語音幀同步輸出;將所述同步輸出的壓縮語音幀還原成原始語音幀;合并所述各語音流對應的原始語音幀。2、如權利要求1所述的語音流的處理方法,其特征在于,所述第一信息包括語音數據包序列號和相對時間戳,該方法中根據所述第一信息調整各語音流中語音數據包時序的步驟具體為根據所述語音數據包序列號,調整各語音流中語音數據包的順序;根據所述相對時間戳,調整所述各語音流中語音數據包的端到端時延差。3、如權利要求2所述的語音流的處理方法,其特征在于,該方法中根據所述第一信息調整各語音流中語音數據包時序的步驟還包括對所述各語音流中丟失的語音數據包作為靜音包處理。4、如權利要求1所述的語音流的處理方法,其特征在于,所述第二信息為所述各語音流中控制信息包中的相對時間戳和絕對時間戳,該方法中根據所述第二信息控制將所述調整處理后的各語音流中語音數據包對應的壓縮語音幀同步輸出的步驟具體包括根據所述相對時間戳和絕對時間戳,確定所述各語音流的輸出時延;根據所述輸出時延,控制將所述調整時序后的各語音流中語音數據包對應的壓縮語音幀同步輸出。5、如權利要求1所述的語音流的處理方法,其特征在于,該方法中合并所述各語音流對應的原始語音幀的步驟包括將所述各語音流對應的同一時刻的原始語音幀的左、右聲道采樣值按照采樣比特數分別進行疊加;獲得所述疊加處理后的語音幀。6、如權利要求1所述的語音流的處理方法,其特征在于,該方法中合并所述各語音流對應的原始語音幀的步驟包括將所述各語音流對應的同一時刻的原始語音幀分別作為合并所得語音幀的左、右聲道采樣值;獲得所述合并處理后的語音幀。7、如權利要求1至6中所述的語音流的處理方法,其特征在于,該方法中合并所述各語音流對應的原始語音幀之后,還包括保存/播放所述合并處理所得的語音幀。8、如權利要求1至6中所述的語音流的處理方法,其特征在于,該方法中合并所述各語音流對應的原始語音幀之后,還包括將所述合并處理所得語音幀壓縮編碼后輸出。9、一種語音流處理裝置,其特征在于,包括語音流獲取模塊,獲得至少兩條攜帶有用于調整語音流中語音數據包時序的第一信息、用于控制各語音流中語音數據包對應的壓縮語音幀同步輸出的第二信息的語音流;預處理沖莫塊,根據所述第一信息,調整各語音流中語音數據包的時序;同步控制模塊,根據所述第二信息,控制將所述調整時序處理后的各語音流中語音數據包對應的壓縮語音幀同步輸出;還原模塊,對所述同步輸出的壓縮語音幀還原成原始語音幀;語音信號合并模塊,合并所述各語音流對應的原始語音幀。10、如權利要求9所述的語音流處理裝置,其特征在于,所述第一信息包括所述各語音數據包序列號和相對時間戳,所述預處理模塊包括第一處理單元,根據所述語音數據包序列號,調整各語音流中語音數據包的時序;第二處理單元,根據所述相對時間戳,調整所述各語音流中語音數據包的端到端時延差。11、如權利要求IO所述的語音流處理裝置,其特征在于,所述預處理模塊還包括第三處理單元,對所述各語音流中丟失的語音數據包作為靜音包處理。12、如權利要求9所述的語音流處理裝置,其特征在于,所述第二信息為所述各語音流中控制信息包中的相對時間戳和絕對時間戳,所述同步控制模塊包括確定單元,根據所述相對時間戳和絕對時間戳,確定所述各語音流的輸出時延;控制單元,根據所述輸出時延,控制將所述調整時序處理后的各語音流中語音數據包對應的壓縮語音幀同步輸出。13、如權利要求9所述的語音流處理裝置,其特征在于,所述語音信號合并模塊包括疊加單元,將所述各語音流對應的同一時刻的原始語音幀的左、右聲道采樣值按照采樣比特數分別進行疊加;第一獲取單元,獲得所述疊加處理后的語音幀。14、如權利要求9所述的語音流處理裝置,其特征在于,所述語音信號合并模塊包括劃分單元,將所述各語音流對應的同一時刻的原始語音幀分別作為左、右聲道采樣值;第二獲取單元,獲得所述合并處理后的語音幀。15、如權利要求9至M所述的語音流處理裝置,其特征在于,該語音流處理裝置還包括保存模塊,保存所述語音信號合并模塊處理所得語音幀,或播放一莫塊,播放所述語音信號合并模塊處理所得語音幀,或壓縮編碼模塊,將所述語音信號合并模塊處理所得語音幀壓縮編碼后輸出。全文摘要本發明公開了一種語音流的處理方法,包括獲得至少兩條語音流,調整各語音流中語音數據包時序,并控制將所述調整處理后的各語音流中語音數據包對應壓縮語音幀同步輸出,之后對所述同步輸出的壓縮語音幀還原成原始語音幀,最后合并所述各語音流對應的同一時刻的原始語音幀。本發明還公開了一種語音流處理裝置。采用本發明,能對至少兩條語音流進行合并處理,從而可實現對雙方通話乃至多方通話的同時監聽,提升了服務質量。文檔編號H04L12/26GK101188525SQ20071003170公開日2008年5月28日申請日期2007年11月27日優先權日2007年11月27日發明者劉利鋒,文龍申請人:華為技術有限公司