一種可視電話的實現方法及移動終端的製作方法
2023-09-18 12:46:50 2
專利名稱:一種可視電話的實現方法及移動終端的製作方法
技術領域:
本發明涉及移動通信技術領域,尤其涉及一種可視電話的實現方法及移動終端。
背景技術:
隨著3G(Third Generation,第三代移動通信)技術的普及和發展,作為3G重要的業務——可視電話也日漸被廣大消費者所接收和喜愛。可視電話是一種集圖像、聲音於一體的多媒體通信業務,其可以實現人們面對面的實時溝通效果,即通話雙方在通話過程中既聞其聲、又見其人。但是現有3G可視電話中,總是先聽見聲音,後看到圖像,視頻圖像的顯示明顯的滯後於音頻聲音的播放,滯後時間一般約1 2秒(各廠家的終端略有差異),而目前中國移動的規範UE-SEV-Video-OOl和3GPP(Third Generation PartnershipProject,第三代合作夥伴計劃)的標準中,要求可視電話的通信雙方點對點的音頻和視頻的延時不超過1.2秒。 可視電話中音頻和視頻不同步的原因是當前的3G移動終端中,由可視電話的視頻協議棧H324M來負責接受通信對端傳過來的音/視頻數據,並負責把音頻數據和視頻數據以幀為單位分開,音頻數據通過函數接口發送給音頻解碼器的驅動程序,目前國內的音頻數據大多是AMR格式。同時,把視頻數據發送給視頻解碼器(如C0REL0GIC公司的MUSE解碼晶片或者MV公司的MV解碼晶片)的驅動程序,其格式大多為H.263或者MPEG4等。目前機制是視頻協議棧H324M把音/視頻數據送出去後就不再關心了,最後到底什麼時候能解碼出來,跟使用的編解碼晶片速度有關。 一般音頻數據的數據量小,為12KBPS/秒左右,由協議棧發來的音頻數據很快就可進行解碼了 ,延遲不超過200毫秒(0. 2秒)。而視頻數據的數據量是48KBPS/秒左右,可見視頻的數據量大約比音頻的數據量大4倍,而且需要先在緩存中排隊,等待隊列前面的視頻數據處理完畢了才能進行解碼,導致延遲的時間一般1 2秒不等。這樣,由於音頻解碼器和視頻解碼器的不同步工作,也就造成了音頻數據和視頻數據播放的不同步。比如,用戶A通過可視電話講一句話,用戶B方先聽見他的這句話,大約1 2秒後,用戶B才能看到用戶A的表情。而此時,用戶A可能繼續講另一句話了,造成了不匹配。 綜上可知,現有可視電話技術在實際使用上顯然存在不便與缺陷,所以有必要加以改進。
發明內容
針對上述的缺陷,本發明的目的在於提供一種可視電話的實現方法及移動終端,其能改善可視電話中音頻和視頻的同步性能。 為了實現上述目的,本發明提供一種可視電話的實現方法,所述方法包括步驟有 A、可視電話通話開始,移動終端將收到的視頻數據和音頻數據分別發送給本地的視頻解碼器和音頻解碼器;
B、所述視頻解碼器將收到的所述視頻數據進行緩衝,並獲取待解碼的視頻數據的時間戳發送給所述音頻解碼器,所述視頻解碼器再對所述待解碼的視頻數據進行解碼;
C、所述音頻解碼器將收到的所述音頻數據進行緩衝,並獲取被緩衝的音頻數據的時間戳,在收到所述待解碼的視頻數據的時間戳後,將具有相同時間戳的音頻數據進行解碼。 上述方法,其所述步驟A之前進一步包括音/視頻同步模式設置步驟,在所述移動終端上設置音/視頻同步模式。 上述方法,其所述音/視頻同步模式設置步驟中,所述移動終端將所述音/視頻同步模式的設置項存儲到本地資料庫中;在所述視頻解碼器對視頻數據進行解碼之前,所述移動終端檢查本地資料庫中的設置項,若設置了所述音/視頻同步模式則執行音/視頻同步通話程序。 上述方法,其所述步驟A進一步包括所述移動終端的協議棧收到網絡側發來的音/視頻數據後,檢查所述音/視頻數據中的時間戳,把具有相同時間戳的所述視頻數據和音頻數據分開,並將所述視頻數據和音頻數據分別發送給所述視頻解碼器和音頻解碼器。
上述方法,其所述移動終端的協議棧為H324M協議棧。 上述方法,其所述步驟B中通過H263協議獲取所述待解碼的視頻數據的時間戳。
上述方法,其所述步驟C中音頻解碼器收到所述音頻數據後,建立至少一緩衝區來存放所述音頻數據,並獲取所述緩衝區中的音頻數據的時間戳,在收到所述待解碼的視頻數據的時間戳後,檢索所述緩衝區中音頻數據的時間戳,將與所述待解碼的視頻數據具有相同時間戳的音頻數據進行解碼。 本發明還提供一種實現上述方法的移動終端,其所述移動終端包括 協議棧模塊,用於在可視電話通話開始後,將收到的視頻數據和音頻數據分別發
送給本地的視頻解碼器和音頻解碼器; 視頻解碼器,用於將收到的所述視頻數據進行緩衝,並獲取待解碼的視頻數據的時間戳發送給所述音頻解碼器,所述視頻解碼器再對所述待解碼的視頻數據進行解碼;
音頻解碼器,用於將收到的所述音頻數據進行緩衝,並獲取被緩衝的音頻數據的時間戳,在收到所述待解碼的視頻數據的時間戳後,將具有相同時間戳的音頻數據進行解碼。 上述移動終端,其所述視頻解碼器中包括一時間戳監控模塊,用於獲取待解碼的視頻數據的時間戳發送給所述音頻解碼器;和/或 所述音頻解碼器中包括一音頻解碼控制模塊,用於獲取被緩衝的音頻數據的時間戳,並在收到所述待解碼的視頻數據的時間戳後,通知所述音頻解碼器將具有相同時間戳的音頻數據進行解碼。 上述移動終端,其所述移動終端還包括 音/視頻同步模式設置模塊,用於在所述移動終端上設置音/視頻同步模式。
本發明移動終端的視頻解碼器將收到的視頻數據進行緩衝,並獲取待解碼的視頻數據的時間戳發送給音頻解碼器後,所述視頻解碼器才進行解碼;本發明移動終端的音頻解碼器將收到的音頻數據進行緩衝並獲取該音頻數據的時間戳,在收到待解碼的視頻數據的時間戳後,將具有相同時間戳的音頻數據進行解碼。藉此,本發明基本上實現了在可視電話中同時進行音視/頻數據解碼,進而改善了音頻和視頻的同步性能。
圖1是本發明移動終端的結構示意 圖2是本發明可視電話的實現方法的流程圖; 圖3是本發明實現方法中音/視頻同步模式設置步驟的流程 圖4是本發明實現方法中視頻解碼器的工作流程 圖5是本發明實現方法中音頻解碼器的工作流程圖。
具體實施例方式
為了使本發明的目的、技術方案及優點更加清楚明白,以下結合附圖及實施例,對本發明進行進一步詳細說明。應當理解,此處所描述的具體實施例僅僅用以解釋本發明,並不用於限定本發明。 圖1示出了本發明移動終端的結構,所述移動終端100優選為3G手機,除了包括基本的屏幕、攝像頭等設備之外,所述移動終端100至少還包括有協議棧模塊10、視頻解碼器30以及音頻解碼器40,其中 協議棧模塊10,用於在可視電話通話開始後,將收到的視頻數據和音頻數據分別發送給本地的視頻解碼器30和音頻解碼器40。優選的是,所述協議棧模塊10收到網絡側的通信對端200發來(以射頻方式)的音/視頻數據後,檢查所述音/視頻數據中的時間戳,根據音/視頻數據中攜帶的時間戳屬性進行音頻數據和視頻數據分離,把具有相同時間戳的視頻數據和音頻數據分開,分離出來的每個音頻數據和視頻數據也帶有時間戳,並將所述視頻數據和音頻數據分別發送給視頻解碼器30和音頻解碼器40,所述協議棧模塊10優選採用H324M協議棧。 視頻解碼器30,用於將收到的所述視頻數據進行緩衝,並獲取待解碼的視頻數據的時間戳發送給音頻解碼器40,所述視頻解碼器30再對待解碼的視頻數據進行解碼,一般按先到先解的順序進行視頻解碼。由於視頻數據的解碼起點時間總是慢於音頻數據的解碼起點時間,因此在視頻數據解碼前發時間戳消息通知音頻解碼器40,音頻解碼40收到該時間戳消息後才進行音頻解碼,從而基本上同步音/視頻數據解碼時間,由於移動終端內的消息傳遞速度是很快,消息耗費時間一般是10 50毫秒,基本可以忽略。
所述視頻解碼器30中還可包括一時間戳監控模塊31,該時間戳監控模塊31用於獲取待解碼的視頻數據的時間戳發送給音頻解碼器40,優選通過H263協議的數據包格式,獲取所述待解碼的視頻數據的時間戳,並把它以消息形式發送到音頻解碼器40,以供音頻解碼器40同步解碼時間。 音頻解碼器40,用於將收到的所述音頻數據進行緩衝,並獲取被緩衝的音頻數據的時間戳,在收到所述待解碼的視頻數據的時間戳後,將具有相同時間戳的音頻數據進行解碼,音頻解碼器40收到所述時間戳消息後再解碼,這樣基本上達到了音/視頻解碼的同時進行,即改善了音頻和視頻的同步性能。 優選的是,音頻解碼器40收到音頻數據後,建立至少一緩衝區來存放音頻數據,並獲取緩衝區中的音頻數據的時間戳,在收到所述待解碼的視頻數據的時間戳後,檢索所述緩衝區中音頻數據的時間戳,將與待解碼的視頻數據具有相同時間戳的音頻數據進行解碼,一般按先到先解的順序進行音頻解碼。所述音頻解碼器40中還可包括一音頻解碼控制模塊41,該音頻解碼控制模塊41用於獲取被緩衝的音頻數據的時間戳,並在收到待解碼的視頻數據的時間戳後,通知音頻解碼器40將具有相同時間戳的音頻數據進行解碼。
移動終端100還可包括音/視頻同步模式設置模塊20,該音/視頻同步模式設置模塊20用於在移動終端100上設置音/視頻同步模式。具體而言,用戶通過可視界面的上層菜單,來選擇進入音/視頻同步模式設置模塊20進行設置,可以選擇是否開啟或者關閉音/視頻同步模式功能。所述移動終端100將音/視頻同步模式的設置項存儲到本地資料庫中;在視頻解碼器30對視頻數據進行解碼之前,移動終端100檢查本地資料庫中的設置項,若設置了音/視頻同步模式則執行音/視頻同步通話程序。 本發明通過檢測音頻解碼器和視頻解碼器的當前解碼狀態,控制音頻/視頻解碼的解碼時間,讓具有相同的時間戳的音/視頻同步播放,從而改善音頻和視頻的同步性能,兩者延遲由原來的1 2秒左右縮短到0. 4秒以內。 圖2示出了本發明可視電話的實現方法的流程,其通過圖1所示的移動終端100實現,具體包括步驟有 步驟S201,可視電話通話開始,移動終端100將收到的視頻數據和音頻數據分別發送給本地的視頻解碼器30和音頻解碼器40。優選的是,所述移動終端100的H324M協議棧收到網絡側發來的音/視頻數據後,檢查所述音/視頻數據中的時間戳,把具有相同時間戳的視頻數據和音頻數據分開,並將所述視頻數據和音頻數據分別發送給視頻解碼器30和音頻解碼器40。 步驟S202,視頻解碼器30將收到的視頻數據進行緩衝,並獲取待解碼的視頻數據的時間戳發送給音頻解碼器40,優選通過H263協議獲取待解碼的視頻數據的時間戳,所述視頻解碼器30再對所述待解碼的視頻數據進行解碼。 步驟S203,音頻解碼器40將收到的音頻數據進行緩衝,並獲取被緩衝的音頻數據的時間戳,在收到所述待解碼的視頻數據的時間戳後,將具有相同時間戳的音頻數據進行解碼。音頻解碼器40輪詢並接收來自視頻解碼器30的時間戳監控模塊31發過來的待解碼的視頻數據的時間戳消息,根據該消息攜帶的時間戳信息,來檢索本地音頻數據的時間戳,將具有相同時間戳的音頻數據進行解碼。 優選的是,上述步驟S201之前還可包括音/視頻同步模式設置步驟,如3所示,包括如下步驟 步驟S301,用戶通過移動終端100進行音/視頻同步模式設置。用戶通過可視界面的上層菜單,來選擇進入音/視頻同步模式設置模塊20進行設置,可以選擇是否開啟或者關閉音/視頻同步模式功能。 步驟S302,判斷用戶是否設置了音/視頻同步模式,若是則執行步驟S303,否則結束流程。 步驟S303,所述移動終端100設置所述音/視頻同步模式後,將所述音/視頻同步模式的設置項存儲到本地資料庫中。以後可視電話啟動時,所述移動終端IOO將檢查本地資料庫中的設置項,若設置了所述音/視頻同步模式則執行音/視頻同步通話程序。
圖4示出了本發明實現方法中視頻解碼器的工作流程,其包括如下步驟
步驟S401,可視電話通話開始,移動終端100和通信對端200進行雙方的可視電通話。 步驟S402,視頻解碼器30將從H324M協議棧收到的視頻數據進行緩衝。 步驟S403,視頻解碼器30的時間戳監控模塊31獲取待解碼的視頻數據的時間戳,
優選通過H263協議獲取待解碼的視頻數據的時間戳。 步驟S404,視頻解碼器30的時間戳監控模塊31發送時間戳消息給音頻解碼器 40,該時間戳消息中包括待解碼的視頻數據的時間戳。 步驟S405,視頻解碼器30開始對該待解碼的視頻數據進行解碼。之後,本地視頻 設備即可播放視頻數據,顯示圖像。 圖5是示出了發明實現方法中音頻解碼器的工作流程,其包括如下步驟 步驟S501,移動終端100和通信對端200開始可視電話通話。 步驟S502,音頻解碼器40從H324M協議棧處收到音頻數據。 步驟S503,音頻解碼器40建立至緩衝區來存放所述音頻數據。 步驟S504,音頻解碼器40的音頻解碼控制模塊41獲取被緩衝的音頻數據的時間戳。 步驟S505,音頻解碼器40的音頻解碼控制模塊41判斷是否收到視頻解碼器30發 來的視頻數據的時間戳消息,若是則執行步驟S506,否則繼續等待。 步驟S506,音頻解碼器40的音頻解碼控制模塊41檢索所述緩衝區中音頻數據的
時間戳,找到具有相同的時間戳的音頻數據後,通知所述音頻解碼器40進行解碼。 步驟S507,音頻解碼器40將具有相同時間戳的音頻數據進行解碼。之後,本地音
頻設備即可播放音頻數據,從而具有相同時間戳的視頻數據和音頻數據得到同步播放的效果。 綜上所述,本發明移動終端的視頻解碼器將收到的視頻數據進行緩衝,並獲取待
解碼的視頻數據的時間戳發送給音頻解碼器後,所述視頻解碼器才進行解碼;本發明移動
終端的音頻解碼器將收到的音頻數據進行緩衝並獲取該音頻數據的時間戳,在收到待解碼
的視頻數據的時間戳後,將具有相同時間戳的音頻數據進行解碼。藉此,本發明基本上實現
了在可視電話中同時進行音視/頻數據解碼,進而改善了音頻和視頻的同步性能。 當然,本發明還可有其它多種實施例,在不背離本發明精神及其實質的情況下,熟
悉本領域的技術人員當可根據本發明作出各種相應的改變和變形,但這些相應的改變和變
形都應屬於本發明所附的權利要求的保護範圍。
權利要求
一種可視電話的實現方法,其特徵在於,所述方法包括步驟有A、可視電話通話開始,移動終端將收到的視頻數據和音頻數據分別發送給本地的視頻解碼器和音頻解碼器;B、所述視頻解碼器將收到的所述視頻數據進行緩衝,並獲取待解碼的視頻數據的時間戳發送給所述音頻解碼器,所述視頻解碼器再對所述待解碼的視頻數據進行解碼;C、所述音頻解碼器將收到的所述音頻數據進行緩衝,並獲取被緩衝的音頻數據的時間戳,在收到所述待解碼的視頻數據的時間戳後,將具有相同時間戳的音頻數據進行解碼。
2. 根據權利要求1所述的方法,其特徵在於,所述步驟A之前進一步包括音/視頻同步模式設置步驟,在所述移動終端上設置音/視頻同步模式。
3. 根據權利要求2所述的方法,其特徵在於,所述音/視頻同步模式設置步驟中,所述移動終端將所述音/視頻同步模式的設置項存儲到本地資料庫中;在所述視頻解碼器對視頻數據進行解碼之前,所述移動終端檢查本地資料庫中的設置項,若設置了所述音/視頻同步模式則執行音/視頻同步通話程序。
4. 根據權利要求1所述的方法,其特徵在於,所述步驟A進一步包括所述移動終端的協議棧收到網絡側發來的音/視頻數據後,檢查所述音/視頻數據中的時間戳,把具有相同時間戳的所述視頻數據和音頻數據分開,並將所述視頻數據和音頻數據分別發送給所述視頻解碼器和音頻解碼器。
5. 根據權利要求4所述的方法,其特徵在於,所述移動終端的協議棧為H324M協議棧。
6. 根據權利要求1所述的方法,其特徵在於,所述步驟B中通過H263協議獲取所述待解碼的視頻數據的時間戳。
7. 根據權利要求1所述的方法,其特徵在於,所述步驟C中音頻解碼器收到所述音頻數據後,建立至少一緩衝區來存放所述音頻數據,並獲取所述緩衝區中的音頻數據的時間戳,在收到所述待解碼的視頻數據的時間戳後,檢索所述緩衝區中音頻數據的時間戳,將與所述待解碼的視頻數據具有相同時間戳的音頻數據進行解碼。
8. —種實現如權利要求1 7任一項所述方法的移動終端,其特徵在於,所述移動終端包括協議棧模塊,用於在可視電話通話開始後,將收到的視頻數據和音頻數據分別發送給本地的視頻解碼器和音頻解碼器;視頻解碼器,用於將收到的所述視頻數據進行緩衝,並獲取待解碼的視頻數據的時間戳發送給所述音頻解碼器,所述視頻解碼器再對所述待解碼的視頻數據進行解碼;音頻解碼器,用於將收到的所述音頻數據進行緩衝,並獲取被緩衝的音頻數據的時間戳,在收到所述待解碼的視頻數據的時間戳後,將具有相同時間戳的音頻數據進行解碼。
9. 根據權利要求8所述的移動終端,其特徵在於,所述視頻解碼器中包括一時間戳監控模塊,用於獲取待解碼的視頻數據的時間戳發送給所述音頻解碼器;和/或所述音頻解碼器中包括一音頻解碼控制模塊,用於獲取被緩衝的音頻數據的時間戳,並在收到所述待解碼的視頻數據的時間戳後,通知所述音頻解碼器將具有相同時間戳的音頻數據進行解碼。
10. 根據權利要求8所述的移動終端,其特徵在於,所述移動終端還包括音/視頻同步模式設置模塊,用於在所述移動終端上設置音/視頻同步模式。
全文摘要
本發明公開了一種可視電話的實現方法,包括步驟有可視電話通話開始,移動終端將收到的視頻數據和音頻數據分別發送給本地的視頻解碼器和音頻解碼器;所述視頻解碼器將收到的所述視頻數據進行緩衝,並獲取待解碼的視頻數據的時間戳發送給所述音頻解碼器,所述視頻解碼器再對所述待解碼的視頻數據進行解碼;所述音頻解碼器將收到的所述音頻數據進行緩衝,並獲取被緩衝的音頻數據的時間戳,在收到所述待解碼的視頻數據的時間戳後,將具有相同時間戳的音頻數據進行解碼。本發明還相應提供一種移動終端。藉此,本發明基本上實現了在可視電話中同時進行音視/頻數據解碼,進而改善了音頻和視頻的同步性能。
文檔編號H04N7/24GK101742270SQ200810225929
公開日2010年6月16日 申請日期2008年11月6日 優先權日2008年11月6日
發明者平玉財 申請人:樂金電子(中國)研究開發中心有限公司