專利名稱:具有多種轉(zhuǎn)換功能的自適應(yīng)視頻轉(zhuǎn)碼網(wǎng)關(guān)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及視頻信息轉(zhuǎn)碼技術(shù),具體地,涉及一種能適合在異構(gòu)網(wǎng)絡(luò)環(huán)境下,根據(jù)不同的網(wǎng)絡(luò)帶寬和信道誤碼率以及端設(shè)備的視頻信息處理和顯示能力,把源視頻自適應(yīng)的轉(zhuǎn)化為適合傳輸和顯示的視頻流,以適應(yīng)較窄的傳輸信道和處理、顯示能力較弱的端設(shè)備的接入的具有多種轉(zhuǎn)換功能的自適應(yīng)視頻轉(zhuǎn)碼網(wǎng)關(guān)。
背景技術(shù):
由于目前各種多媒體視音頻編碼格式的差異以及多媒體通訊網(wǎng)絡(luò)由不同的網(wǎng)絡(luò)結(jié)構(gòu)、協(xié)議組成,因此在很多情況下都需要一種能夠跨越異構(gòu)網(wǎng)絡(luò)之間的多媒體通訊方式。
比如,在視頻點(diǎn)播(VOD-Video On Demand)系統(tǒng)中,視頻發(fā)布服務(wù)器中的是視頻質(zhì)量比較高的源視頻,有較高的速率、幀率和分辨率,出口網(wǎng)絡(luò)帶寬較大。如果接入方的可用網(wǎng)絡(luò)信道帶寬比較小,接受方根本沒有足夠的帶寬來接受源視頻流,這就需要在盡量維持源視頻質(zhì)量的情況下減少視頻流碼率。另一方面,隨著現(xiàn)在手持設(shè)備和無線網(wǎng)絡(luò)的迅速發(fā)展,越來越多的手持設(shè)備可以接入到該系統(tǒng)中。而無線網(wǎng)絡(luò)的低帶寬和較高的誤碼率以及手持設(shè)備的處理器能力和顯示器的分辨率都遠(yuǎn)不及PC,因此我們除了要降低視頻流碼率外,還要降低視頻的空間分辨率,以適合在手持設(shè)備播放。這些實(shí)際的應(yīng)用都要求對(duì)視頻信息的進(jìn)行轉(zhuǎn)碼處理。
視頻轉(zhuǎn)碼就是把當(dāng)前的壓縮視頻信號(hào)轉(zhuǎn)換到另外的一種視頻壓縮方式,轉(zhuǎn)換后的視頻可能和以前的視頻有不同的速率、幀率、幀大小甚至是壓縮標(biāo)準(zhǔn)、方式都可以不一樣。視頻轉(zhuǎn)碼和普通的源視頻編碼器有一定的相似,他可以根據(jù)不同的傳輸信道的特征、帶寬,通過調(diào)整一系列參數(shù)(包括視頻質(zhì)量、幀率、分辨率等)來自動(dòng)對(duì)視頻數(shù)據(jù)進(jìn)行動(dòng)態(tài)的調(diào)制和轉(zhuǎn)換。
在諸如VOD這類視頻應(yīng)用系統(tǒng)中,一般允許多種條件不同的網(wǎng)絡(luò)接入,同時(shí)請求視頻數(shù)據(jù),但由于預(yù)先編碼的源視頻具有較高視頻質(zhì)量和高的比特率,而客戶端能接受的視頻流通常因?yàn)閭鬏斝诺赖南拗苹蚨嗽O(shè)備的處理能力而不能保證高的視頻質(zhì)量。
發(fā)明內(nèi)容
為了解決多種不同的通訊網(wǎng)絡(luò)和端設(shè)備都可以接入并接受到合適的視頻信息,需要根據(jù)不同的傳輸信道的條件以及端設(shè)備的處理、顯示能力對(duì)源視頻信息進(jìn)行適當(dāng)?shù)霓D(zhuǎn)化,本發(fā)明提出一種能適合在異構(gòu)網(wǎng)絡(luò)環(huán)境下,根據(jù)不同的網(wǎng)絡(luò)帶寬和信道誤碼率以及端設(shè)備的視頻信息處理和顯示能力,把源視頻自適應(yīng)的轉(zhuǎn)化為適合傳輸和顯示的視頻流,以適應(yīng)較窄的傳輸信道和處理、顯示能力較弱的端設(shè)備的接入的具有多種轉(zhuǎn)換功能的自適應(yīng)視頻轉(zhuǎn)碼網(wǎng)關(guān)。
本發(fā)明解決其技術(shù)問題所采用的技術(shù)方案是一種具有多種轉(zhuǎn)換功能的自適應(yīng)視頻轉(zhuǎn)碼網(wǎng)關(guān),包括解碼器,由解碼器對(duì)源視頻信息進(jìn)行部分解碼,即僅僅解碼到DCT域;信道自動(dòng)檢測模塊,在用戶接入的時(shí)候自動(dòng)檢測連接信道的狀況,包括有效信道帶寬、信道誤碼率,在實(shí)際的傳輸過程中實(shí)時(shí)的檢測信道的參數(shù)變化,調(diào)整轉(zhuǎn)碼參數(shù);每10秒鐘對(duì)網(wǎng)絡(luò)信道進(jìn)行一次監(jiān)測,并通知控制模塊重新計(jì)算轉(zhuǎn)碼參數(shù);客戶端配置查詢模塊,通過轉(zhuǎn)碼網(wǎng)絡(luò)和端設(shè)備一個(gè)簡單的通訊協(xié)議查詢端設(shè)備的狀態(tài),和客戶端建立連接的時(shí)候通過簡單查詢協(xié)議獲取端設(shè)備信息,包括端設(shè)備處理性能、顯示分辨率;控制模塊,包括接受自動(dòng)檢測模塊檢測出的網(wǎng)絡(luò)信道信息和客戶端配置查詢模塊查詢出的端設(shè)備信息,對(duì)這些信息進(jìn)行分析和仲裁,并轉(zhuǎn)化為轉(zhuǎn)碼器需要的輸入轉(zhuǎn)碼參數(shù);控制模塊負(fù)責(zé)選擇視頻轉(zhuǎn)碼器的轉(zhuǎn)碼策略并實(shí)時(shí)的改變轉(zhuǎn)碼策略中的參數(shù)設(shè)置;視頻轉(zhuǎn)碼器,可以對(duì)源視頻做多種方式的轉(zhuǎn)碼處理,包括視頻編碼類型的轉(zhuǎn)變、幀分辨率的轉(zhuǎn)變、幀率的轉(zhuǎn)變、視頻流碼率的轉(zhuǎn)變以及對(duì)視頻流進(jìn)行增強(qiáng)錯(cuò)誤恢復(fù)機(jī)制。
視頻轉(zhuǎn)碼器根據(jù)控制模塊計(jì)算出來的參數(shù)來決定采用的轉(zhuǎn)碼方案,然后調(diào)用不同的模塊進(jìn)行變換和處理,這些處理主要包括1.視頻幀的大小轉(zhuǎn)換根據(jù)連接端的用戶配置來改變視頻幀的大小,例如絕大多數(shù)的手持設(shè)備只能顯示比較小的視頻窗口(QCIF,176x144 pixel),如果預(yù)先就已經(jīng)編碼好的視頻的尺寸大于端設(shè)備所能顯示的視頻大小,就需要轉(zhuǎn)碼成幀尺寸較小的視頻格式。
2.視頻碼率的自適應(yīng)根據(jù)連接信道的帶寬限制來改變視頻的碼率。對(duì)于畫面質(zhì)量高的視頻需要轉(zhuǎn)換為低碼率的視頻來滿足低帶寬的信道。
3.視頻幀速率轉(zhuǎn)換例如大多數(shù)的手持設(shè)備只能以比較低的幀率來播放視頻(5fps、10fps),而對(duì)于那些高質(zhì)量的視頻(30fps),就需要進(jìn)行轉(zhuǎn)碼以降低幀率。
3.錯(cuò)誤恢復(fù)對(duì)于誤碼率比較高的信道,應(yīng)該在視頻流中加入更多的錯(cuò)誤恢復(fù)機(jī)制,來降低誤碼率。
4.編碼方式轉(zhuǎn)化改變視頻的編碼標(biāo)準(zhǔn),例如從MPEG-2到H.263的轉(zhuǎn)換。
對(duì)于轉(zhuǎn)碼器中的編碼方式轉(zhuǎn)化的處理,通過編碼選擇器來選擇需要編碼的最終格式。這里的視頻都是基于宏塊編碼和DCT變換編碼技術(shù)的視頻格式,即是MPEG系列或H.26X系列的視頻格式。
本發(fā)明的有益效果主要表現(xiàn)在1、有效的保證接入方獲得的視頻質(zhì)量。在不通過轉(zhuǎn)碼網(wǎng)關(guān)的情況下,處理能力較弱的端設(shè)備和較窄的信道帶寬使得視頻傳輸和播放速度很慢,甚至幾乎無法看到完整的圖像信息;在無線接入的手持設(shè)備上,由于無線通訊的信道誤碼率較高,如果視頻流信息中沒有加入更多的錯(cuò)誤恢復(fù)信息,導(dǎo)致接受的數(shù)據(jù)錯(cuò)誤太多,以致無法進(jìn)行解碼或是解碼中信息丟失嚴(yán)重,導(dǎo)致嚴(yán)重畫面的馬賽克效應(yīng)。而采用轉(zhuǎn)碼處理后的視頻信息能更合適的在目標(biāo)網(wǎng)絡(luò)上傳輸,并保持較好的視頻質(zhì)量。
2、不同的網(wǎng)絡(luò)和設(shè)備的自適應(yīng)性。該轉(zhuǎn)碼網(wǎng)關(guān)可以在用戶請求連接的時(shí)候自動(dòng)、實(shí)時(shí)的對(duì)網(wǎng)絡(luò)信道進(jìn)行監(jiān)測,檢測連接信道和設(shè)備的各種參數(shù),從而進(jìn)行合理的判斷和選擇轉(zhuǎn)碼方式。在轉(zhuǎn)碼和傳輸同時(shí),實(shí)時(shí)的監(jiān)控信道的狀態(tài)變換,調(diào)整轉(zhuǎn)碼參數(shù)。
3、該轉(zhuǎn)碼網(wǎng)關(guān)的多功能的核心轉(zhuǎn)碼器更有利于網(wǎng)絡(luò)帶寬較低、信道誤碼率較高的無線網(wǎng)絡(luò)端接入、支持處理能力和顯示分辨率較低的手持設(shè)備的接入。
4、整個(gè)轉(zhuǎn)碼網(wǎng)關(guān)系統(tǒng)的構(gòu)架是分模塊設(shè)計(jì)的,做到模塊內(nèi)的高內(nèi)聚和模塊間的低耦合性,各個(gè)模塊功能分工相對(duì)獨(dú)立。系統(tǒng)中可以方便的加載和去除某些功能模塊,具有高度的可配置性。
圖1是本發(fā)明的結(jié)構(gòu)示意圖;圖2是本發(fā)明所述的控制模塊的結(jié)構(gòu)示意圖;圖3是本發(fā)明所述的控制模塊的操作流程示意圖;圖4是本發(fā)明的線程結(jié)構(gòu)示意圖。
具體實(shí)施例方式
下面結(jié)合附圖對(duì)本發(fā)明作進(jìn)一步描述。
參考附圖1,具有多種轉(zhuǎn)碼功能的自適應(yīng)轉(zhuǎn)碼網(wǎng)關(guān)系統(tǒng)結(jié)構(gòu),采用下面步驟如果控制模塊(2)檢測到源視頻信息本身已經(jīng)適合在目標(biāo)網(wǎng)絡(luò)上傳輸,則不需要對(duì)視頻信息做任何處理,視頻轉(zhuǎn)碼器(5)不工作,視頻直接發(fā)送到傳輸信道中;源視頻中的視頻流首先通過解碼器(1),這里的解碼器針對(duì)基于宏塊和DCT變換編碼的視頻流,做DCT域上的解碼,即僅僅通過可變長解碼VLD和反量化處理。經(jīng)過部分解碼的碼流進(jìn)入到視頻轉(zhuǎn)碼器(5)的核心部分;用于實(shí)時(shí)檢測傳輸網(wǎng)絡(luò)狀況的信道自動(dòng)檢測模塊(3),所述的信道自動(dòng)檢測模塊的檢測對(duì)象為與服務(wù)器建立連接的客戶端的網(wǎng)絡(luò)狀況。該模塊每隔10秒鐘檢測一次信道狀況,并將獲取的參數(shù)值傳給控制模塊(2);用于檢測和服務(wù)器建立連接的客戶端的設(shè)備情況的客戶端配置查詢模塊(4),所述的客戶端配置查詢模塊在連接建立的時(shí)候通過一個(gè)簡單的通訊協(xié)議查詢客戶端的配置情況,查詢消息的通訊格式如下<message>
<target>
ip_address</target>
<query_tag>
</query_tag>
<query_result>
<cpu_speed>
…</cpu_speed>
<resolution>
…</resolution>
<media_type>
…</media_type>
</query_result>
</message>
用于視頻碼流轉(zhuǎn)化的視頻轉(zhuǎn)碼器(5)模塊,所述的視頻轉(zhuǎn)碼器(5)的核心部分由五個(gè)具體的轉(zhuǎn)碼模塊組成,在該軟件模塊中,五個(gè)開關(guān)的開合由控制模塊(2)來控制。這五個(gè)功能模塊分別為幀尺寸轉(zhuǎn)化(6)、比特率轉(zhuǎn)化(7)、幀速率轉(zhuǎn)化(8)、誤碼恢復(fù)(9)、編碼類型轉(zhuǎn)化(10)。
參考附圖2,控制模塊(2)是本發(fā)明的一個(gè)實(shí)現(xiàn)結(jié)構(gòu)。所述的控制模塊由一個(gè)參數(shù)計(jì)算主線程(12)和參數(shù)監(jiān)聽線程(11)構(gòu)成。參數(shù)監(jiān)聽線程是一個(gè)后臺(tái)線程,它時(shí)刻監(jiān)聽由信道自動(dòng)檢測模塊發(fā)來的傳輸信道的狀態(tài)變化參數(shù),一旦接受到新的參數(shù)就去重新計(jì)算控制系數(shù)。這里的信道狀態(tài)信息有兩個(gè)方面可用帶寬和信道誤碼率;端設(shè)備狀態(tài)信息有三個(gè)方面CPU處理能力,顯示分辨率和可解碼的格式。這些參數(shù)有些是互相影響的,如在降低視頻分辨率或視頻幀率的同時(shí)視頻的碼率也隨之降低;轉(zhuǎn)換視頻的編碼格式(MPEG-2到MPEG-4)也會(huì)使碼率降低等。因此參數(shù)計(jì)算函數(shù)在計(jì)算的時(shí)候按照各個(gè)參數(shù)之間的影響進(jìn)行加權(quán)計(jì)算,根據(jù)計(jì)算結(jié)果選擇合適的轉(zhuǎn)碼策略,具體操作見參考附圖4的計(jì)算流程。
參考附圖3,控制模塊首先檢查是不是需要進(jìn)行編碼類型轉(zhuǎn)換,如果需要,就直接打開開關(guān)(17),進(jìn)行編碼類型轉(zhuǎn)變;如果不需要進(jìn)行類型轉(zhuǎn)換,則分別對(duì)參數(shù)誤碼率、顯示分辨率、處理能力、信道帶寬進(jìn)行計(jì)算。函數(shù)(31)cal_error_rate([in]error_rate,[in]bandwidth)根據(jù)信道帶寬和誤碼率計(jì)算要不要在視頻流重編碼的時(shí)候增加更多的錯(cuò)誤恢復(fù)信息;函數(shù)(32)cal_resolution([in]resolution,[in]bandwidth)計(jì)算降低分辨率后的碼率,判斷是否能滿足帶寬要求,函數(shù)(33)cal_frame_rate([in]cpu_speed,[in]resolution,[in]bandwidth)根據(jù)設(shè)備的處理能力計(jì)算在當(dāng)前的分辨率下每秒能夠處理的視頻幀數(shù),并判斷降低視頻幀率的操作能否滿足帶寬要求;函數(shù)(34)cal_video_bit_rate([in]source_video_rate,[in]bandwidth)根據(jù)當(dāng)前信道的可用帶寬和源視頻碼率計(jì)算在該網(wǎng)絡(luò)帶寬條件下合適的視頻傳輸碼率。這些計(jì)算的值按照相互之間的影響以及對(duì)最終視頻的影響進(jìn)行加權(quán),加權(quán)系數(shù)是經(jīng)過試驗(yàn)得出的經(jīng)驗(yàn)系數(shù),通常如果在端設(shè)備的顯示分辨率比較低和處理能力比較弱的情況下,對(duì)函數(shù)cal_frame_rate和cal_resolution的計(jì)算結(jié)果權(quán)重在0.6~0.8之間,信道的誤碼率的權(quán)重根據(jù)函數(shù)cal_error_rate結(jié)果的高低來決定,誤碼率越高,權(quán)重越大。根據(jù)最終計(jì)算出來的結(jié)果,決定控制開關(guān)(18)(19)(20)(21)中那些打開,那些關(guān)閉。這些控制開關(guān)可以同時(shí)打開多個(gè),例如在無線手持設(shè)備的接入情況下,通常要打開(18)或(19)以及(21),進(jìn)行幀尺寸或幀率轉(zhuǎn)換的同時(shí)還需要在碼流中加入額外的錯(cuò)誤恢復(fù)信息。在確定了轉(zhuǎn)碼策略后,控制模塊和信道檢測模塊通訊,獲取當(dāng)前的網(wǎng)絡(luò)信道狀況,并計(jì)算出適合該情況下轉(zhuǎn)碼器的最佳參數(shù),控制轉(zhuǎn)碼器的輸出最佳處理結(jié)果。
參考附圖4,視頻轉(zhuǎn)碼網(wǎng)關(guān)線程結(jié)構(gòu)是本發(fā)明所述的視頻轉(zhuǎn)碼網(wǎng)關(guān)的線程結(jié)構(gòu)框架。所述的線程結(jié)構(gòu)中會(huì)話線程(41)負(fù)責(zé)和發(fā)出請求的客戶端建立連接;網(wǎng)絡(luò)監(jiān)測線程(43)負(fù)責(zé)實(shí)時(shí)的檢測連接網(wǎng)絡(luò)的參數(shù)變化;轉(zhuǎn)碼線程(42)負(fù)責(zé)進(jìn)行視頻的轉(zhuǎn)碼處理;控制線程(44)監(jiān)聽網(wǎng)絡(luò)監(jiān)測線程的獲取參數(shù)的變化,并控制轉(zhuǎn)碼線程的參數(shù);傳輸線程(45)負(fù)責(zé)將轉(zhuǎn)碼后的視頻流發(fā)送給會(huì)話線程中建立連接的客戶端。
權(quán)利要求
1.一種具有多種轉(zhuǎn)換功能的自適應(yīng)轉(zhuǎn)碼網(wǎng)關(guān),包括解碼器,由解碼器對(duì)源視頻信息進(jìn)行部分解碼;信道自動(dòng)檢測模塊,在用戶接入的時(shí)候自動(dòng)檢測連接信道的狀況;客戶端配置查詢模塊,通過轉(zhuǎn)碼網(wǎng)關(guān)和端設(shè)備之間的一個(gè)簡單的通訊協(xié)議查詢端設(shè)備的狀態(tài);控制模塊,包括接受自動(dòng)檢測模塊檢測出的網(wǎng)絡(luò)信道信息和客戶端配置查詢模塊查詢出的端設(shè)備信息,對(duì)這些信息進(jìn)行分析和仲裁,并轉(zhuǎn)化為轉(zhuǎn)碼器需要的輸入轉(zhuǎn)碼參數(shù);視頻轉(zhuǎn)碼器,可以對(duì)源視頻做多種方式的轉(zhuǎn)碼處理。
2.根據(jù)權(quán)利要求1所述的一種具有多種轉(zhuǎn)換功能的自適應(yīng)轉(zhuǎn)碼網(wǎng)關(guān),其特征在于所述的解碼器僅僅解碼到DCT域。
3.根據(jù)權(quán)利要求1所述的一種具有多種轉(zhuǎn)換功能的自適應(yīng)轉(zhuǎn)碼網(wǎng)關(guān),其特征在于所述的信道自動(dòng)檢測模塊自動(dòng)檢測包括有效信道帶寬、信道誤碼率,在實(shí)際的傳輸過程中實(shí)時(shí)的檢測信道的參數(shù)變化,調(diào)整轉(zhuǎn)碼參數(shù)。
4.根據(jù)權(quán)利要求1或3所述的一種具有多種轉(zhuǎn)換功能的自適應(yīng)轉(zhuǎn)碼網(wǎng)關(guān),其特征在于所述的自動(dòng)檢測模塊每10秒鐘對(duì)網(wǎng)絡(luò)信道進(jìn)行一次監(jiān)測,并通知控制模塊重新計(jì)算轉(zhuǎn)碼參數(shù)。
5.根據(jù)權(quán)利要求1所述的一種具有多種轉(zhuǎn)換功能的自適應(yīng)轉(zhuǎn)碼網(wǎng)關(guān),其特征在于所述的客戶端配置查詢模塊在和客戶端建立連接的時(shí)候通過簡單查詢協(xié)議獲取端設(shè)備信息,包括端設(shè)備處理性能、顯示分辨率。
6.根據(jù)權(quán)利要求1所述的一種具有多種轉(zhuǎn)換功能的自適應(yīng)轉(zhuǎn)碼網(wǎng)關(guān),其特征在于所述的控制模塊負(fù)責(zé)選擇視頻轉(zhuǎn)碼器的轉(zhuǎn)碼策略并實(shí)時(shí)的改變轉(zhuǎn)碼策略中的參數(shù)設(shè)置。
7.根據(jù)權(quán)利要求1所述的一種具有多種轉(zhuǎn)換功能的自適應(yīng)轉(zhuǎn)碼網(wǎng)關(guān),其特征在于所述的視頻轉(zhuǎn)碼器的轉(zhuǎn)碼處理包括視頻編碼類型的轉(zhuǎn)變、幀分辨率的轉(zhuǎn)變、幀率的轉(zhuǎn)變、視頻流碼率的轉(zhuǎn)變以及對(duì)視頻流進(jìn)行增強(qiáng)錯(cuò)誤恢復(fù)機(jī)制。
8.根據(jù)權(quán)利要求1所述的一種具有多種轉(zhuǎn)換功能的自適應(yīng)轉(zhuǎn)碼網(wǎng)關(guān),其特征在于所述的源視頻都是基于宏塊編碼和DCT變換編碼技術(shù)的視頻格式,即是MPEG系列或H.26X系列的視頻格式。
全文摘要
本發(fā)明公開了一個(gè)具有多種轉(zhuǎn)換功能的自適應(yīng)轉(zhuǎn)碼網(wǎng)關(guān),該網(wǎng)關(guān)包括解碼器,由解碼器對(duì)源視頻信息進(jìn)行部分解碼;信道自動(dòng)檢測模塊,在用戶接入的時(shí)候自動(dòng)檢測連接信道的狀況;客戶端配置查詢模塊,通過轉(zhuǎn)碼網(wǎng)絡(luò)和端設(shè)備一個(gè)簡單的通訊協(xié)議查詢端設(shè)備的狀態(tài);控制模塊,包括接受自動(dòng)檢測模塊檢測出的網(wǎng)絡(luò)信道信息和客戶端配置查詢模塊查詢出的端設(shè)備信息,對(duì)這些信息進(jìn)行分析和仲裁,并轉(zhuǎn)化為轉(zhuǎn)碼器需要的輸入轉(zhuǎn)碼參數(shù);視頻轉(zhuǎn)碼器,可以對(duì)源視頻做多種方式的轉(zhuǎn)碼處理。本發(fā)明可以用于多種設(shè)備和網(wǎng)絡(luò)的接入,適用范圍廣。
文檔編號(hào)H04N7/50GK1668109SQ20041001683
公開日2005年9月14日 申請日期2004年3月10日 優(yōu)先權(quán)日2004年3月10日
發(fā)明者邢衛(wèi), 魯東明, 孫鋼 申請人:浙江大學(xué)