專利名稱:一種在網(wǎng)關上生成rtp時戳的方法
技術領域:
本發(fā)明涉及H.323網(wǎng)絡和H.324網(wǎng)絡之間轉換的視頻業(yè)務,尤其涉及系統(tǒng)采用H.263或MPEG-4這兩種視頻編解碼方式中,網(wǎng)關在進行H.324網(wǎng)絡向H.323網(wǎng)絡的協(xié)議轉換時生成RTP時戳的方法。
背景技術:
隨著3G技術的日益成熟,支持的功能日趨豐富完善,除了自身技術的挑戰(zhàn)以外,3G商用網(wǎng)絡還將面臨著和其他各種現(xiàn)有網(wǎng)絡互通的問題?,F(xiàn)有網(wǎng)絡中,分組網(wǎng)絡的發(fā)展尤為迅猛,傳統(tǒng)網(wǎng)絡正在逐漸被新的分組網(wǎng)絡替代,實現(xiàn)3G網(wǎng)絡和現(xiàn)有分組網(wǎng)絡的互通是當前的一個關鍵點。多媒體業(yè)務是3G的一個亮點,其中視頻業(yè)務最為人熟知,目前商用或試商用的3G網(wǎng)絡都提供了視頻業(yè)務。同時,H.323網(wǎng)絡作為一種分組網(wǎng)絡,憑借其自身的技術優(yōu)勢也可以支持豐富的多媒體業(yè)務,該網(wǎng)絡中存在著大量各種各樣的支持視頻業(yè)務的H.323終端,比如Windows操作系統(tǒng)下自帶的網(wǎng)絡會議(NetMeeting)就是其中的一種。然而,由于3G通信網(wǎng)絡和分組通信網(wǎng)絡中傳輸?shù)拿襟w流編碼方式不同,因此在3G網(wǎng)絡和分組網(wǎng)絡的結合點需要進行媒體流的轉換,實現(xiàn)這種轉換的設備我們稱之為網(wǎng)關,可以實現(xiàn)視頻業(yè)務媒體流轉換的網(wǎng)關,稱為VIG(Video Interworking Gateway,視頻轉換網(wǎng)關),VIG在網(wǎng)絡中的位置如圖1所示,VIG位于3G網(wǎng)絡和H.323網(wǎng)絡分組網(wǎng)絡之間,3G網(wǎng)絡終端發(fā)送給H.323終端的視頻圖像被編碼為視頻幀后,依次經(jīng)網(wǎng)絡中的RNC(Radio NetvorkControler,無線網(wǎng)絡控制器)、GMSC(GateWay Mobile Switching Center關口移動交換中心)傳送到VIG,VIG將接收到視頻幀轉換為H.323網(wǎng)絡格式的視頻幀,再經(jīng)IP(Internet Protocol,互聯(lián)網(wǎng)協(xié)議)網(wǎng)絡發(fā)送給H.323終端。
3G視頻終端(后文簡稱“終端”)和H.323終端分別遵從ITU-T H.324和ITU-T H.323協(xié)議,在本文中統(tǒng)一稱之為“H.324終端”和“H.323終端”。在一次H.324終端到H.323終端的視頻呼叫中,VIG完成H.324協(xié)議簇和H.323協(xié)議簇之間的轉換,實現(xiàn)H.324終端和H.323終端的互通。
VIG的工作方式可以分為兩種透傳方式和編解碼轉換方式。無論是H.324終端還是H.323終端,一般都可以采用H.263和MPEG-4這兩種視頻編解碼方式中的一種。當雙方用戶終端采用相同編解碼方式時,VIG工作在透傳方式下,即VIG只需要根據(jù)協(xié)議對視頻數(shù)據(jù)流的封裝格式做轉換,而不需要對視頻數(shù)據(jù)流的載荷做轉換。當雙方用戶終端采用不同編解碼方式時,VIG工作在編解碼轉換方式下,即VIG既需要根據(jù)協(xié)議對視頻數(shù)據(jù)流的封裝格式做轉換,還需要對視頻數(shù)據(jù)流的載荷做H.263和MPEG-4兩種視頻編解碼方式之間轉換。當視頻數(shù)據(jù)在H.323的分組網(wǎng)絡上傳輸時,需要根據(jù)RFC1889協(xié)議進行RTP包的封裝。即將H.324終端發(fā)出的連續(xù)的視頻數(shù)據(jù)流分割成適合于分組網(wǎng)絡傳輸?shù)腞TP數(shù)據(jù)包,每一個數(shù)據(jù)包前面添加相應的RTP包頭,用來攜帶該數(shù)據(jù)包的一些相關信息,例如時間信息等。
進行視頻數(shù)據(jù)流分割的原則是每一個視頻幀盡量放在一個數(shù)據(jù)包中傳輸。在RTP包的包頭信息中,有四個字節(jié)的時戳(Timestamp)域,通常稱為“RTP時戳”,用來表示本RTP包的時間信息。為了準確地填寫RTP時戳,保證H.323終端收到視頻包后能夠準確地按照視頻采樣的時間重現(xiàn)視頻幀,必須找到從視頻數(shù)據(jù)流中提取時間信息并對應到RTP時戳的方法。現(xiàn)有技術采用下列兩種方法從視頻數(shù)據(jù)流中提取時間信息并對應到RTP時戳現(xiàn)有技術一視頻編解碼器直接輸出時間信息因為VIG具備視頻編解碼轉換功能,所以VIG都需要內(nèi)嵌的視頻編解碼器,在編解碼的過程中能夠得到時間信息。VIG根據(jù)幀觸發(fā)編碼器從緩存中提取一幀數(shù)據(jù)進行編碼,每次編碼一幀數(shù)據(jù)并輸出的同時,增加一個幀間隔對應的RTP時戳增量,填寫到RTP包頭中。
該方法存在下述缺點需要啟動耗費大量系統(tǒng)處理能力的視頻編解碼器,并且只適用于編解碼轉換方式。因為當使用透傳方式時,在正常情況下不會也不需要啟動視頻編解碼器,所以此方法對透傳方式并不適用。而且如果在透傳方式下仍然采用這種方法,會耗費大量的系統(tǒng)處理能力,導致單個芯片處理的通道數(shù)目嚴重下降,設備成本上升,這對于運營商和設備供應商來說都是不可接受的。
現(xiàn)有技術二直接取系統(tǒng)時間轉換為RTP時戳VIG輸出RTP包的時候,直接將當前的系統(tǒng)時間轉換為RTP時戳,填寫在RTP包頭中。例如RTP時戳的分辨率為90k,轉換的方法為RTP時戳=當前的系統(tǒng)時間/系統(tǒng)時間的分辨率*90k。
該方法存在下述缺點受到很多因素的影響,VIG完成一幀視頻編碼的時刻是不定的,比如H.324側接收完整視頻幀的時間,VIG調(diào)度視頻編碼的時刻,完成一幀視頻編碼的時間等等,造成輸出每兩個視頻幀之間的時間間隔不固定,有時長一些,有時短一些,這種現(xiàn)象被稱為“抖動”,出現(xiàn)抖動后,H.323終端就無法平滑地恢復視頻流,表現(xiàn)為用戶看到的視頻圖像不夠流暢。
可見,現(xiàn)有技術中,當網(wǎng)關使用透傳方式時,不能準確產(chǎn)生RTP時戳,導致H.323視頻終端收到視頻包后不能準確地按照視頻采樣的時間重現(xiàn)視頻幀。
發(fā)明內(nèi)容
本發(fā)明所要解決的技術問題是當VIG的工作方式為透傳方式時,提供一種從H.324視頻數(shù)據(jù)流中直接提取時間信息并對應到RTP時戳的方法,保證準確地填寫RTP時戳,使H.323視頻終端收到視頻包后能夠準確地按照視頻采樣的時間重現(xiàn)視頻幀。
一種在網(wǎng)關上生成RTP時戳的方法,所述網(wǎng)關連接分別使用不同協(xié)議簇的H.323網(wǎng)絡和H.324網(wǎng)絡,當該網(wǎng)關將H.324網(wǎng)絡傳送來的視頻數(shù)據(jù)流分割并轉換成H.323網(wǎng)絡傳輸?shù)腞TP數(shù)據(jù)包時,在所述的RTP數(shù)據(jù)包的包頭中填寫RTP時戳;其特征在于網(wǎng)關從所述H.324網(wǎng)絡視頻數(shù)據(jù)流中提取時間信息生成所述RTP時戳。
當所述H.323網(wǎng)絡和H.324網(wǎng)絡都采用H.263編碼方式時,所述時間信息從H.263幀頭的時間信息域中提取。
當所述時間信息每增加N時,當前的RTP時戳等于前一個RTP時戳加上N個RTP時戳增量,每個RTP時戳增量等于幀間隔時間乘以RTP時戳的分辨率,所述幀間隔時間等于系統(tǒng)幀頻的倒數(shù),其中,N為大于等于1的整數(shù)。
當所述H.323網(wǎng)絡和H.324網(wǎng)絡都采用MPEG-4編解碼方式時,網(wǎng)關生成RTP時戳包括下列步驟a、網(wǎng)關從接收到的視頻對象平面群頭中提取絕對時間信息,將該絕對時間轉化為RTP基準時戳并保存;b、網(wǎng)關從接收到的視頻對象平面頭中提取時間增量信息,將該時間增量信息轉化為RTP時戳增量;c、將RTP時戳增量加上所述RTP基準時戳生成RTP數(shù)據(jù)包所需的RTP時戳,并用該RTP時戳更新所述RTP基準時戳。
所述步驟a中所述RTP基準時戳由所述絕對時間乘以RTP時戳的分辨率;所述步驟b中所述RTP時戳增量等于所述時間增量除以該時間增量信息的分辨率后再乘以RTP時戳的分辨率,所述時間增量信息的分辨率由網(wǎng)關從視頻對象層次頭中提取。
使用本發(fā)明所述方法可以收到下列有益效果當VIG的工作方式為透傳方式時,不經(jīng)過視頻編解碼器,從H.324終端發(fā)出的視頻數(shù)據(jù)流中直接提取時間信息并對應到RTP時戳,大大提高了工作在透傳方式下的視頻轉換網(wǎng)關的處理能力,有效避免了VIG系統(tǒng)引入的抖動,使H.323終端能夠平滑地恢復視頻流,使用戶看到流暢的視頻圖像。
圖1視頻網(wǎng)關在網(wǎng)絡中的位置示意圖。
具體實施例方式
本發(fā)明所述方法可以使VIG的工作方式為透傳方式時,不經(jīng)過視頻編解碼器,從H.324終端發(fā)出的視頻數(shù)據(jù)流中直接提取時間信息并對應到RTP時戳,大大提高了工作在透傳方式下的視頻轉換網(wǎng)關的處理能力,有效避免了VIG系統(tǒng)引入的抖動,使H.323終端能夠平滑地恢復視頻流,使用戶看到流暢的視頻圖像。下面以具體實施例詳細說明實施例一H.263編解碼方式當系統(tǒng)采用H.263編解碼方式時,RTP包頭采用RFC2190協(xié)議規(guī)定的格式,其中RTP時戳的分辨率為90k。根據(jù)H.263協(xié)議規(guī)定,視頻編碼器輸出的數(shù)據(jù)流中,每一幀圖像的開始有一些標識本幀信息的數(shù)據(jù),被稱為“幀頭”。在幀頭中有一個時間信息(TRTemporal Reference)域,其中的數(shù)值每幀增加1,所以可以通過幀頻找到時間信息域和RTP時戳的對應關系,每增加一幀,RTP時戳的增量通過下列公式1計算RTP時戳的增量=幀間隔(秒)*RTP時戳的分辨率......1例如當系統(tǒng)采用通常所說的30幀頻的時候,幀頻為(30k/1001)幀/秒,即每兩幀之間的間隔為1001/30k秒。對應到分辨率為90k的RTP時戳的時候,RTP時戳應該每幀增加1001/30k*90k=3003,即TR每增加1,RTP時戳增加3003,如果增加N,則RTP時戳增加N倍3003。
實施例二MPEG-4編解碼方式當系統(tǒng)采用MPEG-4編解碼方式時,RTP包頭采用RFC3016協(xié)議規(guī)定的格式,其中RTP時戳的分辨率為90k。在MPEG-4視頻編解碼協(xié)議中,將圖像的內(nèi)容分為一些視頻對象,并將一個或一些對象歸屬于某一個層次或者平面。所以在MPEG-4視頻編碼器輸出的數(shù)據(jù)流中,除了類似H.263編解碼方式下每幀數(shù)據(jù)的幀頭外,還有層次頭、平面頭等其它標識信息,和時間信息相關的有視頻對象層次(VOLVideo Object Layer)頭、視頻對象平面群(GOVGroup ofVideo Object Plane)頭、視頻對象平面(VOPVideo ObjectPlane)頭,由視頻編碼器按照特定順序輸出,其中視頻對象平面可以對應“幀”的概念(具體請參考MPEG-4相關協(xié)議)。
在GOV頭中有一個絕對時間信息(time_code)域,用其中的小時(time_code_hours)域、分鐘(time_code_minutes)域和秒(time_code_seconds)域標識絕對時間,即該數(shù)據(jù)的采樣時間。在VOL頭信息中有一個時間增量信息(vop_time_increment)域,該時間增量是和前一個VOL或者VOP之間的時間間隔,根據(jù)真實的數(shù)據(jù)采樣時刻而定,該域的分辨率(vop_time_increment_resolutino)在VOL頭中得到。每一個VOP之前可能是前一個VOP,也可能是一個GOV。當之前是前一個VOP時,當前VOP的時間值為前一個VOP的時間值加當前VOP攜帶的時間增量;當之前是GOV時,當前VOP的時間值為該GOV攜帶的絕對時間信息對應的時間值加當前VOP攜帶的時間增量,即每次接收到一個對象GOV,將該GOV內(nèi)絕對時間信息(time_code)域的時間信息強制作為產(chǎn)生RTP時戳的基準時間,當接收到一個VOP時,將用該VOP里的時間增量信息加上基準時間作為該VOP的產(chǎn)生RTP時戳的時間信息,再次將該時間信息作為基準時間,這樣下一個對象是VOP時,以該時間為基礎增加其攜帶的增量信息進行計算,下一個對象是GOV,再次強制為基準時間,具體計算方法分為下述三個步驟MPEG-4編解碼方式下得到RTP時戳的方法1、當解碼器收到一個VOL頭時,首先在VOL頭中得到時間增量信息域的分辨率,并設基準RTP時戳為old_time,將要產(chǎn)生的RTP時戳為new_time。
2、當出現(xiàn)一個GOV時,根據(jù)其攜帶的絕對時間信息換算到系統(tǒng)RTP時戳,通過公式2計算((time_code_hours*3600)+(time_code_minutes*60)+time_code_seconds)*M
...2其中M為RTP時戳的分辨率,例如90k。將計算結果作為基準時戳并保存到old_time。
3、當出現(xiàn)一個VOP時,則根據(jù)old_time得到new_time,通過公式3計算new_time=old_time+((vop_ime_increment/vop_ime_increment_resolutino)*M)...3其中M為RTP時戳的分辨率,例如90k。
將計算得到的new_time作為打包VOP的RTP時戳,并將VOP打包發(fā)出后,將new_time存入old_time更新基準時戳。
以上所述僅是本發(fā)明的優(yōu)選實施方式,應當指出,對于本技術領域的普通技術人員來說,在不脫離本發(fā)明原理的前提下,還可以作出若干改進和潤飾,這些改進和潤飾也應視為本發(fā)明的保護范圍。
權利要求
1.一種在網(wǎng)關上生成RTP時戳的方法,所述網(wǎng)關連接分別使用不同協(xié)議簇的H.323網(wǎng)絡和H.324網(wǎng)絡,當該網(wǎng)關將H.324網(wǎng)絡傳送來的視頻數(shù)據(jù)流分割并轉換成H.323網(wǎng)絡傳輸?shù)腞TP數(shù)據(jù)包時,在所述的RTP數(shù)據(jù)包的包頭中填寫RTP時戳;其特征在于網(wǎng)關從所述H.324網(wǎng)絡視頻數(shù)據(jù)流中提取時間信息生成所述RTP時戳。
2.如權利要求1所述的方法,其特征在于當所述H.323網(wǎng)絡和H.324網(wǎng)絡都采用H.263編碼方式時,所述時間信息從H.263幀頭的時間信息域中提取。
3.如權利要求2所述的方法,其特征在于當所述時間信息每增加N時,當前的RTP時戳等于前一個RTP時戳加上N個RTP時戳增量,每個RTP時戳增量等于幀間隔時間乘以RTP時戳的分辨率,所述幀間隔時間等于系統(tǒng)幀頻的倒數(shù),其中,N為大于等于1的整數(shù)。
4.如權利要求1所述的方法,其特征在于當所述H.323網(wǎng)絡和H.324網(wǎng)絡都采用MPEG-4編解碼方式時,網(wǎng)關生成RTP時戳包括下列步驟a、網(wǎng)關從接收到的視頻對象平面群頭中提取絕對時間信息,將該絕對時間轉化為RTP基準時戳并保存;b、網(wǎng)關從接收到的視頻對象平面頭中提取時間增量信息,將該時間增量信息轉化為RTP時戳增量;c、將所述RTP時戳增量加上所述RTP基準時戳生成RTP數(shù)據(jù)包所需的RTP時戳,并用該RTP時戳更新所述RTP基準時戳。
5.如權利要求4所述的方法,其特征在于所述步驟a中所述RTP基準時戳由所述絕對時間乘以RTP時戳的分辨率;所述步驟b中所述RTP時戳增量等于所述時間增量除以該時間增量信息的分辨率后再乘以RTP時戳的分辨率,所述時間增量信息的分辨率由網(wǎng)關從視頻對象層次頭中提取。
全文摘要
本發(fā)明設計視頻編碼技術,使網(wǎng)關的工作方式為透傳方式時,可以從H.324視頻數(shù)據(jù)流中直接提取時間信息并對應到RTP時戳的方法,保證準確地填寫RTP時戳,使H.323視頻終端收到視頻包后能夠準確地按照視頻采樣的時間重現(xiàn)視頻幀。當所述H.323網(wǎng)絡和H.324網(wǎng)絡都采用H.263編碼方式時,所述時間信息從H.263幀頭的時間信息域中提取。當所述H.323網(wǎng)絡和H.324網(wǎng)絡都采用MPEG-4編解碼方式時,網(wǎng)關生成RTP時戳由視頻對象平面群頭中的絕對時間信息,視頻對象平面頭中的時間增量信息生成。
文檔編號H04L12/66GK1801803SQ200410104059
公開日2006年7月12日 申請日期2004年12月31日 優(yōu)先權日2004年12月31日
發(fā)明者張軍, 喬志新, 果云亮, 羅裕輝, 靳彤 申請人:華為技術有限公司