TWI393419B - 行動電話語音同步系統及方法 - Google Patents
行動電話語音同步系統及方法 Download PDFInfo
- Publication number
- TWI393419B TWI393419B TW96151076A TW96151076A TWI393419B TW I393419 B TWI393419 B TW I393419B TW 96151076 A TW96151076 A TW 96151076A TW 96151076 A TW96151076 A TW 96151076A TW I393419 B TWI393419 B TW I393419B
- Authority
- TW
- Taiwan
- Prior art keywords
- thread
- uplink
- downlink
- voice data
- mobile phone
- Prior art date
Links
Description
本發明涉及一種語音同步系統及方法,特別涉及一種行動電話語音同步系統及方法。
隨著無線網路的普及,以及無線網路存取功能所提供的優勢,越來越多的行動電話加入無線網路存取的功能。在通話時,行動電話需同時處理兩個不同方向的語音資料,分別為上行語音(Uplink Voice)資料及下行語音(Downlink Voice)資料。上行語音資料指藉由行動電話的麥克風所錄製的語音資料,而下行語音資料指行動電話接收遠端無線網路所傳來的語音資料,並即將被行動電話的喇叭播放出去的語音資料。
回音為來源端所發出的聲音,反射回來源端且能被使用者查覺的聲音。在行動電話上,回音的最大來源為喇叭所播放的聲音經由麥克風傳回來源端。簡單來說,上行語音資料內包含下行語音資料,也就是回音。回音在通話中會讓使用者感覺通話品質下降。因此,需要藉由回音消除器將麥克風所接收到的訊號,除去系統所估計出來的回音後,再將該訊號發送出去。即回音消除器會在上行語音資料內找到包含下行語音資料部分,即回音,並把該下行語音資料予以壓制或去除。
現有的回音消除器可以設計成硬體形式,也可以設計成軟體形式。將回音消除器設計成一個硬體裝置在行動電話內,對行動電話的麥克風所接收到
的訊號中的回音進行去除。這種方法可以解決回音消除的問題,但是這種方法增加了行動電話的硬體成本,而且由此會使行動電話的體積增大,不便於攜帶。
另一種解決回音消除的問題的方法係將回音消除器設計成一個軟體,對行動電話的麥克風所接收到的訊號中的回音進行去除。但是由於上行語音資料係由行動電話端的麥克風錄製的,下行語音資料則需要等待對方行動電話或通訊裝置透過網路傳送過來後再播放出去,因此上行語音資料必須比下行語音資料更早處理。而回音消除器程式需要先將下行語音資料部分作為回音儲存起來,再對上行語音資料中包含該回音的部分去除。因此,在傳統的行動電話中需要兩個處理器,一個處理器用來處理行動電話作業系統,另一個處理器用來專門處理該回音消除器程式,以保證該回音消除器程式能夠即時同步處理麥克風所接收到的訊號中的回音。但是。這種方法需增加一個處理器,同樣也增加了行動電話的硬體成本,而且不便於攜帶。
鑒於以上內容,有必要提供一種行動電話語音同步系統及方法,其可同步上行語音資料和下行語音資料,保證回音消除器程式能在同一處理器中對上行語音資料中包含的下行語音資料進行消除。
一種行動電話語音同步系統,運行於行動電話的多線程作業系統上,所述之多線程作業系統包括調度程式與回音消除器程式,該回音消除器程式可對行動電話的上行語音資料中包含的下行語音資料進行消除,所述之行動電話語音同步系統包括下行線程控制單元及上行線程控制單元,其中:所述之下行線程控制單元,用於在回音消除器程式處理下行語音資料的時候,重置上行線程,下行線程控制單元包括下行線程判斷模組,上行線程判
斷模組,暫停模組,下行線程執行模組及上行線程執行模組,其中:所述之下行線程控制模組,用於判斷下行線程是否已運行;所述之上行線程判斷模組,用於判斷上行線程是否已運行;所述之暫停模組,用於當下行線程沒有運行且上行線程已運行時暫停上行線程,以及當下行線程和上行線程均已運行時暫停下行線程和上行線程;所述之下行線程執行模組,用於在暫停上行線程或同時暫停下行線程和上行線程後,藉由調度程式調度下行線程進行執行;所述之上行線程執行模組,用於藉由調度程式調度上行線程進行執行;及所述之上行線程控制單元,用於在回音消除器程式處理上行語音資料的時候,藉由調度程式調度分配行動電話的處理器的時間片給上行線程執行。
一種行動電話語音同步方法,運行於行動電話的多線程作業系統上,所述之多線程作業系統包括調度程式,與回音消除器程式,該回音消除器程式可對行動電話的上行語音資料中包含的下行語音資料進行消除,該方法包括如下步驟:下行線程控制的步驟:在回音消除器程式處理下行語音資料的時候,重置上行線程,包括如下步驟:判斷下行線程是否已運行;判斷上行線程是否已運行;當下行線程沒有運行且上行線程已經運行時,暫停上行線程,當下行線程和上行線程均已運行時,暫停下行線程及上行線程;藉由調度程式調度下行線程進行執行;藉由調度程式調度上行線程進行執行;及上行線程控制的步驟:在回音消除器程式處理上行語音資料的時候控制上行線程,即當上行線程沒有運行的時候,藉由調度程式調度分配行動電話的處理器的時間片給上行線程執行。
相較於習知技術,所述之行動電話語音同步系統及方法其可同步上行語音資料和下行語音資料,保證回音消除器程式能在同一處理器中對上行語音資料中包含的下行語音資料(即回音)進行消除,同時可以降低行動電話
之硬體成本,縮小行動電話的體積,便於攜帶。
1‧‧‧行動電話
10‧‧‧多線程作業系統
11‧‧‧行動電話語音同步系統
12‧‧‧調度程式
13‧‧‧回音消除器程式
110‧‧‧下行線程控制單元
111‧‧‧下行線程判斷模組
112‧‧‧上行線程判斷模組
113‧‧‧暫停模組
114‧‧‧下行線程執行模組
115‧‧‧上行線程執行模組
120‧‧‧上行線程控制單元
S31‧‧‧判斷下行線程是否已運行
S32‧‧‧判斷上行線程是否已運行
S33‧‧‧藉由調度程式分配時間片給下行線程執行
S34‧‧‧判斷上行線程是否已運行
S35‧‧‧暫停下行線程和上行線程
S36‧‧‧暫停上行線程
S37‧‧‧藉由調度程式分配時間片給下行線程執行
S38‧‧‧藉由調度程式調度時間片給上行線程執行
圖1係本發明行動電話語音同步系統較佳實施方式之應用環境架構圖。
圖2係本發明下行語音資料在行動電話中之處理流程圖。
圖3係本發明上行語音資料在行動電話中之處理流程圖。
圖4係本發明行動電話語音同步方法的下行線程控制部分流程圖。
圖5係本發明行動電話語音同步方法的上行線程控制部分流程圖。
如圖1所示,係本發明行動電話語音同步系統較佳實施方式之應用環境架構圖。所述之行動電話1上運行有多線程作業系統10。所述之多線程作業系統10,可以係Windows Mobile作業系統、Symbian作業系統、Linux作業系統或其他任何可應用於行動電話上的多線程作業系統。所述之多線程作業系統10包括有調度程式(Scheduler)12,用於分配行動電話1處理器的時間片給最高優先順序的線程處理。在多線程作業系統10中,上行語音資料由上行線程(Uplink Thread)來處理,下行語音資料由下行線程(Downlink Thread)來處理。上行線程處理上行語音資料、下行線程處理下行語音資料均係由調度程式12調度來完成的。所述之多線程作業系統10上還運行有回音消除器程式13,用於對上行語音資料中包含的下行語音資料進行消除。在本實施方式中,所述之行動電話語音同步系統11及所述之回音消除器程式13均直接運行於所述之多線程作業系統10上;在其他實施方式中,所述之多線程作業系統10上運行有音頻驅動程式(Audio Driver),該音頻驅動程式包括有中斷服務線程(Interrupt Service Thread,IST),所述之的行動電話語音同步系統11及所述之回音消除器程式13
可嵌入到所述之音頻驅動程式的中斷服務線程中。
所述之行動電話語音同步系統11用於同步上行線程和下行線程,進而同步上行語音資料和下行語音資料,保證回音消除器程式13能在同一處理器中對上行語音資料中包含的下行語音資料進行消除。所述之行動電話語音同步系統11包括下行線程控制單元110及上行線程控制單元120。所述之上行線程控制單元120用於在回音消除器程式13處理上行語音資料的時候控制上行線程,即當上行線程沒有運行的時候,藉由調度程式12調度分配行動電話1的處理器的時間片給上行線程執行。所述之下行線程控制單元110用於在回音消除器程式13處理下行語音資料的時候,重置上行線程,使上行線程與下行線程達到同步執行。該下行線程控制單元110在處理下行語音資料的時候重置上行線程主要是藉由其包括的下行線程判斷模組111,上行線程判斷模組112,暫停模組113,下行線程執行模組114及上行線程執行模組115來完成。
所述之下行線程判斷模組111,用於判斷下行線程是否已運行。
所述之上行線程判斷模組112,用於判斷上行線程是否已運行。
所述之暫停模組113,用於當下行線程沒有運行且上行線程已運行時暫停上行線程,以及用於當下行線程和上行線程均已運行時暫停下行線程和上行線程。
所述之下行線程執行模組114,用於在暫停上行線程或同時暫停下行線程和上行線程後,藉由調度程式12調度分配行動電話1的處理器的時間片給下行線程執行。所述之下行線程執行模組114還用於當下行線程和上行線程均沒有運行時,藉由調度程式12調度分配行動電話1的處理器的時間片給下行線程執行。
所述之上行線程執行模組115,用於藉由調度程式12調度分配行動電話1的處理器的時間片給上行線程執行。
如圖2所示,係本發明下行語音資料在行動電話中之處理流程圖。首先,步驟S11,行動電話1接收遠端無線網路傳來的下行語音資料。
步驟S12,對所接收的下行語音資料進行解壓縮,並將解壓縮後的下行語音資料存入系統播放緩衝區中。
步驟S13,回音消除器程式13處理系統播放緩衝區中的下行語音資料,同時藉由下行線程控制單元110重置上行線程,使上行線程與下行線程達到同步執行。其中,所述之回音消除器程式13處理下行語音資料是對該下行語音資料建立回音消除模型,以便回音消除器程式13在處理上行語音資料過程中根據該回音消除模型去除上行語音資料中所包含的下行語音資料。在本實施方式中,所述之下行語音資料被分成一個個小的資料塊順序的儲存至所述之系統播放緩衝區中,該播放緩衝區中的下行語音資料也以資料塊的形式一個個被回音消除器程式13處理,在處理每個資料塊時,下行線程控制單元110都重置上行線程一次。所述之下行線程控制單元110重置上行線程一次的步驟的詳細流程圖如圖4所示。
步驟S14,對回音消除器程式13處理後的下行語音資料進行取樣頻率轉換和資料/類比轉換。例如,網路電話的語音資料通常係以8kHz的取樣頻率運作的,而行動電話1的喇叭和麥克風通常都係運作在44.1kHz的取樣頻率上的,因此步驟S14中需要將下行語音資料由8kHz轉換至44.1kHz後再藉由喇叭輸出才不會造成聲音失真。所述之資料/類比轉換係指將下行語音資料由數位信號轉換成類比信號,以便能從行動電話1的喇叭輸出。
步驟S15,從行動電話1的喇叭中播出該下行語音資料的類比信號,並結束
本流程。
如圖3所示,係本發明上行語音資料在行動電話中之處理流程圖。首先,步驟S21,藉由行動電話1的麥克風錄製使用者的語音。
步驟S22,對所錄製的語音進行類比/資料轉換和取樣頻率轉換,得到上行語音資料。同樣,行動電話1的喇叭和麥克風通常都係運作在44.1kHz的取樣頻率上的,網路電話的語音資料通常係以8kHz的取樣頻率運作的,因此步驟S22中需要將上行語音資料由44.1kHz轉換至8kHz後進行處理才不會造成聲音失真。所述之類比/資料轉換係指將所錄製的語音由類比信號轉換成數位信號。
步驟S23,回音消除器程式13根據步驟S13所建立的回音消除模型將上行語音資料中所包含的下行語音資料去除。
步驟S24,將回音消除器程式13處理後的上行語音資料存入系統錄音緩存區中,並藉由上行線程控制單元120控制處理上行線程。所述之上行線程控制單元120控制上行線程係指在上行線程沒有運行的時候,藉由調度程式12調度分配行動電話1的處理器的時間片給上行線程執行。在本實施方式中,經回音消除器程式13處理後的上行語音資料被分成一個個小的資料塊順序儲存至所述之系統錄音緩衝區中,在每個資料塊儲存至所述之錄音緩衝區中時,上行線程控制單元120都控制處理上行線程一次。所述之上行線程控制單元120控制處理上行線程一次的步驟的詳細流程圖如圖5所示。
步驟S25,對錄音緩衝區中的上行語音資料進行壓縮後傳輸給遠端無線網路,並結束本流程。
如圖4所示,係本發明行動電話語音同步方法的下行線程控制部分流程圖。該流程圖即為圖2的步驟S13中下行線程控制單元110重置一次上行線程的
子流程圖。
步驟S31,下行線程判斷模組111判斷下行線程是否已運行。
步驟S32,當下行線程沒有運行時,上行線程判斷模組112判斷上行線程是否已運行。
步驟S33,當上行線程也沒有運行時,下行線程執行模組114藉由調度程式12調度分配行動電話1的處理器的時間片給下行線程執行,並結束本流程。
步驟S34,當步驟S31中下行線程已運行時,上行線程判斷模組112判斷上行線程是否已運行。
步驟S35,當步驟S34中上行線程已運行時,暫停模組113暫停下行線程和上行線程,並轉到步驟S37。
步驟S36,當步驟S32中上行線程已運行時,暫停模組113暫停上行線程。
步驟S37,下行線程執行模組114藉由調度程式12調度分配行動電話1的處理器的時間片給下行線程執行。
步驟S38,上行線程執行模組115藉由調度程式12調度分配行動電話1的處理器的時間片給上行線程執行,並結束本流程。
在步驟S34中,若上行線程沒有運行,則結束本流程。
如圖5所示,係本發明行動電話語音同步方法的上行線程控制部分流程圖。
該流程圖即為圖3的步驟S23中上行線程控制單元120控制處理一次上行線程的子流程圖。
步驟S41,判斷上行線程是否已運行。
步驟S42,當上行線程沒有運行時,上行線程控制單元120藉由調度程式12
調度分配行動電話1的處理器的時間片給上行線程執行。
在步驟S41中,若上行線程已運行,則結束本流程。
S31‧‧‧判斷下行線程是否已運行
S32‧‧‧判斷上行線程是否已運行
S33‧‧‧藉由調度程式分配時間片給下行線程執行
S34‧‧‧判斷上行線程是否已運行
S35‧‧‧暫停下行線程和上行線程
S36‧‧‧暫停上行線程
S37‧‧‧藉由調度程式分配時間片給下行線程執行
S38‧‧‧藉由調度程式調度時間片給上行線程執行
Claims (8)
- 一種行動電話語音同步系統,運行於行動電話的多線程作業系統上,所述之多線程作業系統包括調度程式與回音消除器程式,該回音消除器程式可對行動電話的上行語音資料中包含的下行語音資料進行消除,所述之行動電話語音同步系統包括下行線程控制單元及上行線程控制單元,其中:所述之下行線程判斷模組,用於在回音消除器程式處理下行語音資料的時候,重置上行線程,該下行線程控制單元包括下行線程判斷模組,上行線程判斷模組,暫停模組,下行線程執行模組及上行線程執行模組,其中:所述之下行線程控制模組,用於判斷下行線程是否已運行;所述之上行線程判斷模組,用於判斷上行線程是否已運行;所述之暫停模組,用於當下行線程沒有運行且上行線程已運行時暫停上行線程,以及當下行線程和上行線程均已運行時暫停下行線程和上行線程;所述之下行線程執行模組,用於在暫停上行線程或同時暫停下行線程和上行線程後,藉由調度程式調度下行線程進行執行;所述之上行線程執行模組,用於藉由調度程式調度上行線程進行執行;及所述之上行線程控制單元,用於在回音消除器程式處理上行語音資料的時候,藉由調度程式調度分配行動電話的處理器的時間片給上行線程執行。
- 如申請專利範圍第1項所述之行動電話語音同步系統,其中所述之下行線 程執行模組還用於當下行線程和上行線程均沒有運行時,藉由調度程式調度下行線程進行執行。
- 如申請專利範圍第1項所述之行動電話語音同步系統,其中所述之行動電話包括麥克風,所述之上行語音資料係指藉由所述之麥克風所錄製的語音資料。
- 如申請專利範圍第1項所述之行動電話語音同步系統,其中所述之下行語音資料係指行動電話接收遠端無線網路所傳來的語音資料。
- 一種行動電話語音同步方法,運行於行動電話的多線程作業系統上,所述之多線程作業系統包括調度程式與回音消除器程式,該回音消除器程式可對行動電話的上行語音資料中包含的下行語音資料進行消除,該方法包括如下步驟:下行線程控制的步驟:在回音消除器程式處理下行語音資料的時候,重置上行線程,包括如下步驟:判斷下行線程是否已運行;判斷上行線程是否已運行;當下行線程沒有運行且上行線程已經運行時,暫停上行線程,或當下行線程和上行線程均已運行時,暫停下行線程及上行線程;藉由調度程式調度下行線程進行執行;藉由調度程式調度上行線程進行執行;及上行線程控制的步驟:在回音消除器程式處理上行語音資料的時候控制上行線程,即當上行線程沒有運行的時候,藉由調度程式調度分配行動電話的處理器的時間片給上行線程執行。
- 如申請專利範圍第5項所述之行動電話語音同步方法,其中所述之下行線程控制的步驟還包括:當下行線程和上行線程均沒有運行時,藉由調度程式調度下行線程進行執行。
- 如申請專利範圍第5項所述之行動電話語音同步方法,其中所述之行動電話包括麥克風,所述之上行語音資料係指藉由所述之麥克風所錄製的語音資料。
- 如申請專利範圍第5項所述之行動電話語音同步方法,其中所述之下行語音資料係指行動電話接收遠端無線網路所傳來的語音資料。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW96151076A TWI393419B (zh) | 2007-12-31 | 2007-12-31 | 行動電話語音同步系統及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW96151076A TWI393419B (zh) | 2007-12-31 | 2007-12-31 | 行動電話語音同步系統及方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW200930006A TW200930006A (en) | 2009-07-01 |
TWI393419B true TWI393419B (zh) | 2013-04-11 |
Family
ID=44864729
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW96151076A TWI393419B (zh) | 2007-12-31 | 2007-12-31 | 行動電話語音同步系統及方法 |
Country Status (1)
Country | Link |
---|---|
TW (1) | TWI393419B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030093459A1 (en) * | 1998-10-07 | 2003-05-15 | Dowling Eric Morgan | Virtual connection of a remote unit to a server |
US20050129224A1 (en) * | 2003-12-12 | 2005-06-16 | Motorola, Inc. | Echo canceler circuit and method |
US7065762B1 (en) * | 1999-03-22 | 2006-06-20 | Cisco Technology, Inc. | Method, apparatus and computer program product for borrowed-virtual-time scheduling |
TW200642332A (en) * | 2005-03-22 | 2006-12-01 | Motorola Inc | Adapter for accessing cellular services from a non-cellular device |
TW200644529A (en) * | 2005-06-15 | 2006-12-16 | Silicon Lab Inc | Synchronizing a modem and vocoder of a mobile station |
-
2007
- 2007-12-31 TW TW96151076A patent/TWI393419B/zh not_active IP Right Cessation
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030093459A1 (en) * | 1998-10-07 | 2003-05-15 | Dowling Eric Morgan | Virtual connection of a remote unit to a server |
US7065762B1 (en) * | 1999-03-22 | 2006-06-20 | Cisco Technology, Inc. | Method, apparatus and computer program product for borrowed-virtual-time scheduling |
US20050129224A1 (en) * | 2003-12-12 | 2005-06-16 | Motorola, Inc. | Echo canceler circuit and method |
TW200642332A (en) * | 2005-03-22 | 2006-12-01 | Motorola Inc | Adapter for accessing cellular services from a non-cellular device |
TW200644529A (en) * | 2005-06-15 | 2006-12-16 | Silicon Lab Inc | Synchronizing a modem and vocoder of a mobile station |
Also Published As
Publication number | Publication date |
---|---|
TW200930006A (en) | 2009-07-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11482240B2 (en) | Presentation of communications | |
US20090204413A1 (en) | Method and system for asymmetric independent audio rendering | |
JP4386379B2 (ja) | 会議または電話用の音響エコー・キャンセラのバックグラウンド訓練 | |
WO2015085959A1 (zh) | 语音处理方法及装置 | |
WO2012069456A1 (en) | Improving multipoint conference scalability for co-located participants | |
US8428051B2 (en) | Switchboard for multiple data rate communication system | |
US8265240B2 (en) | Selectively-expandable speakerphone system and method | |
CN102143382A (zh) | 用于提供终端中的广播流的暂停功能的装置和方法 | |
US9812149B2 (en) | Methods and systems for providing consistency in noise reduction during speech and non-speech periods | |
CN1839614A (zh) | 具有无线电话接口的遥控设备 | |
US20130066638A1 (en) | Echo Cancelling-Codec | |
TWI393419B (zh) | 行動電話語音同步系統及方法 | |
CN101459727B (zh) | 行动电话语音同步系统及方法 | |
US8948162B2 (en) | Method and apparatus for processing VoIP data | |
KR20090027817A (ko) | 배경음 출력 방법 및 이를 이용하는 이동통신 단말기 | |
KR20230129406A (ko) | 호 오디오 재생 속도 조정 | |
JP2022016997A (ja) | 情報処理方法、情報処理装置及び情報処理プログラム | |
US11750668B1 (en) | Combined asynchronous and synchronous communication system and service with transcription support | |
CN110351690A (zh) | 一种智能语音系统及其语音处理方法 | |
CN112965684B (zh) | 一种音频输出控制方法和装置 | |
EP4167580A1 (en) | Audio control method, system, and electronic device | |
JP5177476B2 (ja) | 無線通信端末、無線通信システム及び無線通信プログラム | |
CN116867125A (zh) | 一种终端设备及一种蓝牙对讲的实现方法 | |
KR100629080B1 (ko) | 동영상 기능을 갖는 이동통신 단말기에서의 타스크 관리방법 | |
EP2568619A1 (en) | Echo cancelling-codec |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
MM4A | Annulment or lapse of patent due to non-payment of fees |