亚洲狠狠干,亚洲国产福利精品一区二区,国产八区,激情文学亚洲色图

基于子畫面群的前向糾錯(cuò)實(shí)時(shí)視頻傳輸方法

文檔序號(hào):7702505閱讀:191來源:國(guó)知局
專利名稱:基于子畫面群的前向糾錯(cuò)實(shí)時(shí)視頻傳輸方法
技術(shù)領(lǐng)域
本發(fā)明屬于視頻編碼技術(shù)領(lǐng)域,具體涉及一種基于子畫面群的前向糾錯(cuò)實(shí)時(shí)視頻傳輸方法。
背景技術(shù)
與H. 263, MPEG2視頻編碼標(biāo)準(zhǔn)相比,H. 264/AVC視頻編碼標(biāo)準(zhǔn)提供了更高的編碼效率和更強(qiáng)的網(wǎng)絡(luò)適應(yīng)性。但是,與以往的視頻壓縮標(biāo)準(zhǔn)相同的是,H. 264/AVC是建立在混合編碼方法基礎(chǔ)上的融合運(yùn)動(dòng)補(bǔ)償預(yù)測(cè)算法的變換編碼。因此,經(jīng)過H. 264編碼的視頻碼留在丟包網(wǎng)絡(luò)中傳輸時(shí)會(huì)受到誤差擴(kuò)散的影響,并由此產(chǎn)生嚴(yán)重的漂移現(xiàn)象。目前,各種抗誤碼技術(shù)已經(jīng)被廣泛應(yīng)用,使得不可靠網(wǎng)絡(luò)傳送視頻信號(hào)變得可行。 這些技術(shù)包括幀內(nèi)宏塊刷新(Intra Macroblock Refreshment),自動(dòng)重傳請(qǐng)求(ARQ),基于反饋的參考幀選擇(RPQ,冗余圖像編碼(使用相同或低于原圖像質(zhì)量的冗余)和多描述編碼(MDC),以及前向糾錯(cuò)(FEC)編碼技術(shù)。在這些抗誤碼技術(shù)中,幀內(nèi)宏塊刷新,冗余圖像編碼和多描述編碼不會(huì)產(chǎn)生額外延時(shí),因此更適合實(shí)時(shí)視頻通信。但是,就幀內(nèi)宏塊刷新技術(shù)而言,由于幀內(nèi)編碼效率遠(yuǎn)低于幀間的編碼效率,導(dǎo)致整體編碼效率顯著降低。在冗余圖像編碼和多描述編碼中,當(dāng)冗余版本替代了最初版本或者當(dāng)一些描述在傳輸過程中被丟失時(shí),就會(huì)造成失配誤差。而失配誤差將會(huì)傳播至整個(gè)畫面群(GOP)。由于網(wǎng)絡(luò)往返時(shí)延,自動(dòng)重傳請(qǐng)求和參考幀選擇(RPQ技術(shù)都會(huì)產(chǎn)生較長(zhǎng)延時(shí)。 因此,這兩種技術(shù)都無法實(shí)踐于實(shí)時(shí)視頻通信中。而在前向糾錯(cuò)技術(shù)(FEC)中,時(shí)延的長(zhǎng)短取決于FEC編碼數(shù)據(jù)塊的大小。在E. Baccaglini,T. Tillo,and G. Olmo. Slice sorting for unequal loss protection of video streams. Signal Processing Letters, IEEE,2008. 中,Reed-Solomon編碼塊包含了整個(gè)畫面群,并且產(chǎn)生了一個(gè)圖片群的延時(shí)。在X. Yang5Ce Zhu,Zheng Guo Li,Xiao Lin,and Nam Ling. An unequal packet loss resilience scheme for video over the internet. Multimedia,IEEE Transactions on,7 (4) :753-765,2005. 中,RS編碼塊包含了 1個(gè)子畫面群的幀,因此延遲取決于子畫面群的長(zhǎng)度。在N. Thomos, S. Argyropoulos, N. V. Boulgouris, and Μ. G.Strintzis. Robust transmission of h.264/ avc video using adaptive si ice grouping and unequal error protection.In Multimedia and Expo,2006IEEE International Conference on, pages 593-596,2006. 中,RS編碼應(yīng)用在每一幀中,因此沒有產(chǎn)生前向糾錯(cuò)編碼延時(shí)。然而,當(dāng)RS編碼塊只包含一幀的數(shù)據(jù)包時(shí),由于數(shù)據(jù)包數(shù)量太少,RS保護(hù)的效率并不高。RS編碼已被廣泛應(yīng)用在前向糾錯(cuò)編碼中,以此來減少數(shù)據(jù)包在丟包網(wǎng)絡(luò)中丟失所帶來的影響。在RS(N,K)編碼中,在K個(gè)源數(shù)據(jù)包中引入N-K個(gè)校驗(yàn)包來保護(hù)源數(shù)據(jù)包。 只要接收端接收到N個(gè)數(shù)據(jù)包中的K個(gè),所有的源數(shù)據(jù)包就可以被還原。就RS編碼而言, 對(duì)于相同的編碼率K/N,增加K的值會(huì)提高RS編碼的性能。但是,高K值會(huì)造成大的RS編碼塊,并因此導(dǎo)致長(zhǎng)時(shí)延。對(duì)于視頻會(huì)議這樣的實(shí)時(shí)應(yīng)用,這樣的時(shí)延是不可接受的。

發(fā)明內(nèi)容
本發(fā)明目的在于提供一種基于子畫面群的前向糾錯(cuò)實(shí)時(shí)視頻傳輸方法,解決了現(xiàn)有技術(shù)中,當(dāng)視頻編碼基于每幀進(jìn)行校驗(yàn)糾錯(cuò)導(dǎo)致糾錯(cuò)性能低,同時(shí)當(dāng)以整個(gè)畫面組進(jìn)行校驗(yàn)糾錯(cuò)時(shí),時(shí)延大的問題。為了解決現(xiàn)有技術(shù)中的這些問題,本發(fā)明提供的技術(shù)方案是一種基于子畫面群的前向糾錯(cuò)實(shí)時(shí)視頻傳輸方法,其特征在于所述方法中視頻采用(N,K)Reed-Solomon編碼器進(jìn)行編碼,包括以下步驟(1)視頻發(fā)送端將視頻畫面群中所有單幅影像畫面的幀依次序劃分成若干個(gè)子畫面群;采用(N,K)Reed-Solomon編碼器以子畫面群為編碼單位將視頻單幅影像畫面的幀編碼生成數(shù)據(jù)包立即放入網(wǎng)絡(luò)傳送,并在每個(gè)子畫面群數(shù)據(jù)包的最后一幀基于整個(gè)子畫面群產(chǎn)生校驗(yàn)包,將生成的校驗(yàn)包放入網(wǎng)絡(luò)傳輸;(2)視頻接受端接受到數(shù)據(jù)包后立即解碼,如果數(shù)據(jù)包未丟失,則無需處理;如果丟失的數(shù)據(jù)包小于N-K時(shí),進(jìn)行數(shù)據(jù)包恢復(fù),重新解碼。優(yōu)選的,所述方法中當(dāng)視頻接受端尚未接受到子畫面群的校驗(yàn)包時(shí),采用錯(cuò)誤掩蓋技術(shù)處理丟失的數(shù)據(jù)包。優(yōu)選的,所述方法中當(dāng)丟失的數(shù)據(jù)包大于N-K時(shí),放棄解碼。優(yōu)選的,所述方法中當(dāng)視頻接受端尚接受到子畫面群的校驗(yàn)包時(shí),使用RS解碼器恢復(fù)該子畫面群中丟失的所有數(shù)據(jù)包,并重新解碼整個(gè)子畫面群,并更新參考幀緩存。優(yōu)選的,所述方法步驟(1)中通過貪婪算法依次確定所有校驗(yàn)包中每個(gè)校驗(yàn)包在視頻單幅影像畫面的幀的位置,根據(jù)校驗(yàn)包的位置確定子畫面群的分配情況。優(yōu)選的,所述方法中所述貪婪算法是根據(jù)校驗(yàn)包放在單幅影像畫面幀的不同的位置,獲得不同子畫面組分配造成的誤差期望;當(dāng)形成最小誤差期望時(shí),所放置的單幅影像畫面的位置為該校驗(yàn)包的位置;然后繼續(xù)尋找下一個(gè)校驗(yàn)包的位置。優(yōu)選的,所述方法中校驗(yàn)包的數(shù)量等于系統(tǒng)RS (N,K)編碼中參數(shù)N和K的差值。具體的,視頻發(fā)送端根據(jù)貪婪算法先進(jìn)行子畫面組的多少、大小分配以及RS校驗(yàn)包位置和多少的分配;子畫面組確定后,開始進(jìn)行第一個(gè)子畫面組(Sub-GOP)的視頻編碼 (每一幀圖像進(jìn)行編碼),檢查編碼所在的幀是否是子畫面組(Sub-GOP)的最后一幀。當(dāng)編碼所在的幀是子畫面組(Sub-GOP)的最后一幀時(shí),編碼當(dāng)前幀的所有視頻數(shù)據(jù)包,并生成的當(dāng)前子畫面組的校驗(yàn)包;當(dāng)編碼所在的幀不是Sub-GOP的最后一幀時(shí),編碼當(dāng)前幀的所有視頻包,把這些包直接放入RS編碼塊中。然后進(jìn)行下一個(gè)子畫面組(Sub-GOP)的視頻編碼,直到所有子畫面組(Sub-GOP)編碼完畢。當(dāng)最后子畫面組的最后一幀編碼完畢時(shí),結(jié)束視頻發(fā)送端編碼過程。具體的,視頻接收端從網(wǎng)絡(luò)上接收視頻數(shù)據(jù)包和校驗(yàn)包;一旦接收完一個(gè)數(shù)據(jù)包, 檢查數(shù)據(jù)包是否是某一子畫面組的最后一幀。當(dāng)數(shù)據(jù)包不是某一子畫面組的最后一幀時(shí), 解碼當(dāng)前的視頻包,對(duì)于丟失的包使用錯(cuò)誤掩蓋技術(shù)恢復(fù);當(dāng)數(shù)據(jù)包是某一子畫面組的最后一幀時(shí),嘗試使用接收到的RS校驗(yàn)包恢復(fù)所有的數(shù)據(jù)包,并使用恢復(fù)的數(shù)據(jù)包重新解碼整個(gè)子畫面組,更新參考幀緩存。當(dāng)接收的數(shù)據(jù)包不是視頻(GOP)的最后一幀時(shí),繼續(xù)進(jìn)行下一個(gè)數(shù)據(jù)包的接收和解碼。當(dāng)接收的數(shù)據(jù)包是視頻(GOP)的最后一幀時(shí),結(jié)束所有視頻的解碼。
本發(fā)明技術(shù)方案采用(N,K) RS編碼器進(jìn)行編碼,特別是在發(fā)送端采用了系統(tǒng)RS 編碼,源數(shù)據(jù)包并未改變,因此視頻編碼器生成的數(shù)據(jù)包將立即放入網(wǎng)絡(luò)傳送,而子畫面群的最后一幀后產(chǎn)生基于整個(gè)子畫面組的校驗(yàn)包在最后一幀的數(shù)據(jù)包后也放入網(wǎng)絡(luò)傳送;在接收端,對(duì)于子畫面群中的非最后一幀數(shù)據(jù)包,接收到數(shù)據(jù)包后立即解碼,對(duì)于丟失的數(shù)據(jù)包,使用錯(cuò)誤掩蓋技術(shù)處理;同時(shí),當(dāng)子畫面群中的最后一幀的校驗(yàn)包到達(dá)時(shí),嘗試使用RS 解碼器恢復(fù)該子畫面群中丟失的所有數(shù)據(jù)包,并重新解碼整個(gè)子畫面群,并更新參考幀緩存。本發(fā)明使用系統(tǒng)RS碼(systematic Reed-Solomon code)來保護(hù)視頻包。為了增加RS編碼塊的大小以提高RS碼的性能,本發(fā)明采用了子畫面群(通常多于1幀)作為RS 編碼塊,同時(shí),由于使用了系統(tǒng)RS碼,所以不會(huì)造成任何編碼時(shí)延。在編碼端,數(shù)據(jù)包在進(jìn)行系統(tǒng)RS編碼時(shí)并未改變,而是在子畫面群末尾增加了校驗(yàn)包,因此不會(huì)產(chǎn)生編碼時(shí)延。 另外,在解碼端,視頻解碼器解碼和顯示一幀圖片只需要與此幀相關(guān)的數(shù)據(jù)包。如果這一幀中的某些包在傳輸過程中丟失,誤碼掩蓋技術(shù)將會(huì)被用來掩蓋丟失包。這樣,解碼器就不需要等待所有屬于這個(gè)子畫面群的包。因此,解碼端也不會(huì)產(chǎn)生時(shí)延。之后,當(dāng)這個(gè)子畫面群中所有的包都傳輸完畢,RS解碼器會(huì)嘗試還原丟失包。如果這個(gè)子畫面群中的丟失包少于 (N-K),RS解碼器可以還原子畫面群的所有數(shù)據(jù)包。視頻解碼器將會(huì)利用接受到的數(shù)據(jù)包和還原的數(shù)據(jù)包對(duì)這個(gè)子畫面群進(jìn)行重新解碼并更新參考幀,所以誤碼掩蓋失真不會(huì)傳播到之后的幀。本發(fā)明使用基于子畫面組的RS保護(hù)比基于每幀的RS保護(hù)要效果更好,但是如何劃分子畫面組并分配RS校驗(yàn)包還需確定。K是編碼前數(shù)據(jù)包的數(shù)量,N-K是校驗(yàn)包的數(shù)量。 一方面,如果子畫面組包括了太少的幀,RS編碼中K的值不足夠大,RS效率不高;另一方面, 如果子畫面組包括了太多的幀,解碼端需到子畫面組的最后才能使用RS包,這樣使得子畫面組中前面部分幀的質(zhì)量比較差,所以需要合理的設(shè)置子畫面組的大小。針對(duì)這個(gè)問題提出了基于貪婪算法的解決方案假設(shè)在一個(gè)畫面組中有L個(gè)幀,RS校驗(yàn)包的數(shù)量是R,貪婪算法的基本思想是每次只分配一個(gè)RS校驗(yàn)包,并確保這次分配的結(jié)果是局部最優(yōu)的。對(duì)于每個(gè)RS校驗(yàn)包,算法將嘗試把它放在可能的L個(gè)位置,放在每個(gè)不同的位置將導(dǎo)致不同子畫面組分配,造成的誤差期望也將不同,貪婪算法將選擇造成最小誤差期望的位置放入該 RS校驗(yàn)包,并針對(duì)每個(gè)RS校驗(yàn)包執(zhí)行同樣的操作。


下面結(jié)合附圖及實(shí)施例對(duì)本發(fā)明作進(jìn)一步描述圖1為本發(fā)明實(shí)施例子畫面群的前向糾錯(cuò)實(shí)時(shí)視頻傳輸方法原理圖;圖2為本發(fā)明實(shí)施例視頻發(fā)送端的流程圖;圖3為本發(fā)明實(shí)施例視頻接收端的流程圖;圖4為兩個(gè)子畫面組(Sub-GOP)和RS校驗(yàn)包分配的示意圖,其中每個(gè)幀有5個(gè)分片;圖5為兩個(gè)子畫面組(Sub-GOP)和RS校驗(yàn)包分配的示意圖,其中每個(gè)幀有10個(gè)分片;圖6為!^oreman測(cè)試序列PSNR-碼率曲線;
圖7為Bus測(cè)試序列PSNR-碼率曲線。
具體實(shí)施例方式以下結(jié)合具體實(shí)施例對(duì)上述方案做進(jìn)一步說明。應(yīng)理解,這些實(shí)施例是用于說明本發(fā)明而不限于限制本發(fā)明的范圍。實(shí)施例中采用的實(shí)施條件可以根據(jù)具體廠家的條件做進(jìn)一步調(diào)整,未注明的實(shí)施條件通常為常規(guī)實(shí)驗(yàn)中的條件。實(shí)施例子畫面組的前向糾錯(cuò)實(shí)時(shí)視頻傳輸實(shí)施例本實(shí)施例采用了 H. 軟件來生成視頻流,在生成視頻包的時(shí)候采用了固定包長(zhǎng)度的方式(Fixed Slice Length),考慮到了無線網(wǎng)絡(luò)的最大包長(zhǎng)度(MTU),將目標(biāo)視頻包大小設(shè)成了 400Byte,每個(gè)分片(Slice)放在一個(gè)網(wǎng)絡(luò)包中傳送。在H. 264預(yù)測(cè)編碼過程中只使用一個(gè)編碼參考幀。H. 264畫面組(GOP)的結(jié)構(gòu)為IPPP···,也就是說在一個(gè)畫面組中除了第一幀是I幀外,其他的幀都為P幀。測(cè)試所用的視頻序列為標(biāo)準(zhǔn)的CIF格式i^reman 禾口 Bus序列。如圖1所示進(jìn)行視頻的子畫面群的劃分原理圖。通過貪婪算法進(jìn)行劃分子畫面群。貪婪算法的步驟如下所示
for i = 1 to L do R ⑴ ¢= 0
end for
for j = 1 to R do index ^= 0 distortion 仁 00 for i = 1 to L do R(i) ^= R(i) + 1
重新計(jì)算該GOP總的期望誤差(D_total) R(i) <= R(i) - 1 if D_total ^ distortion then index 仁 i
distortion 仁 D_total end if end for
R(index) ¢= R(index) + 1 end for其中L為一個(gè)畫面組中P幀的數(shù)量,R(i)為幀i中分配的校驗(yàn)包數(shù)量。
如圖1所示,劃分得到三個(gè)子畫面組,第一個(gè)子畫面組包含了 P幀1、P幀2和P幀 3共3幅幀,后面二個(gè)畫面組各包含了 2幅幀,所有的RS包都放在子畫面組的最后。如圖2所示,視頻發(fā)送端根據(jù)貪婪算法先進(jìn)行子畫面組的多少、大小分配以及RS 校驗(yàn)包位置和多少的分配;子畫面組確定后,開始進(jìn)行第一個(gè)子畫面組(Sub-GOP)的視頻編碼(每一幀圖像進(jìn)行編碼),檢查編碼所在的幀是否是子畫面組(Sub-GOP)的最后一幀。 當(dāng)編碼所在的幀是子畫面組(Sub-GOP)的最后一幀時(shí),編碼當(dāng)前幀的所有視頻數(shù)據(jù)包,并生成的當(dāng)前子畫面組的校驗(yàn)包;當(dāng)編碼所在的幀不是Sub-GOP的最后一幀時(shí),編碼當(dāng)前幀的所有視頻包,把這些包直接放入RS編碼塊中。然后進(jìn)行下一個(gè)子畫面組(Sub-GOP)的視頻編碼,直到所有子畫面組(Sub-GOP)編碼完畢。當(dāng)最后子畫面組的最后一幀編碼完畢時(shí), 結(jié)束視頻發(fā)送端編碼過程,發(fā)送當(dāng)前的視頻0Χ)Ρ)的所有視頻數(shù)據(jù)包和校驗(yàn)包。如圖3所示,視頻接收端從網(wǎng)絡(luò)上接收視頻數(shù)據(jù)包和校驗(yàn)包;一旦接收完一個(gè)數(shù)據(jù)包,檢查數(shù)據(jù)包是否是某一子畫面組的最后一幀。當(dāng)數(shù)據(jù)包不是某一子畫面組的最后一幀時(shí),解碼當(dāng)前的視頻包,對(duì)于丟失的包使用錯(cuò)誤掩蓋技術(shù)恢復(fù);當(dāng)數(shù)據(jù)包是某一子畫面組的最后一幀時(shí),嘗試使用接收到的RS校驗(yàn)包恢復(fù)所有的數(shù)據(jù)包,并使用恢復(fù)的數(shù)據(jù)包重新解碼整個(gè)子畫面組,更新參考幀緩存。當(dāng)接收的數(shù)據(jù)包不是視頻(GOP)的最后一幀時(shí),繼續(xù)進(jìn)行下一個(gè)數(shù)據(jù)包的接收和解碼。當(dāng)接收的數(shù)據(jù)包是視頻(GOP)的最后一幀時(shí),結(jié)束所有視頻的解碼。如圖1中第一個(gè)畫面組,如果在幀1和幀2中存在丟包,由于該系統(tǒng)是實(shí)時(shí)的,此時(shí)第一個(gè)畫面組的RS校驗(yàn)包并未到達(dá),所以不能嘗試?yán)肦S包復(fù)原所丟失的包,即只能使用錯(cuò)誤掩蓋技術(shù)。當(dāng)?shù)谌龓蚏S包到達(dá)接受端后,RS解碼器會(huì)嘗試復(fù)原所有丟失的包。對(duì)于該子畫面群,使用了三個(gè)RS校驗(yàn)包,因此可以復(fù)原三個(gè)網(wǎng)絡(luò)丟包。如果RS校驗(yàn)包能夠復(fù)原所有的丟包,視頻解碼器會(huì)利用接收到的數(shù)據(jù)包和復(fù)原的數(shù)據(jù)包重新解碼該子畫面組, 這樣P幀三中就不存在丟包誤差,同時(shí)幀一和幀二的丟包誤差也不擴(kuò)散到后面的幀中。所述子畫面群的數(shù)目根據(jù)貪婪算法形成的,把整個(gè)子畫面組作為編碼單元進(jìn)行RS 編碼,例子中是以子畫面組為單元進(jìn)行RS編碼的,如圖1中,第五幀下面的校驗(yàn)包是用來保護(hù)第四和第五幀的。這里第四和第五幀就是一個(gè)子畫面組。后面兩個(gè)子畫面組包含了兩個(gè)幀,假如每個(gè)幀將生成5個(gè)數(shù)據(jù)包。RS編碼的冗余率是20%,這也意味著對(duì)于這個(gè)子畫面組的10個(gè)數(shù)據(jù)包,將使用2個(gè)RS校驗(yàn)包,也就是使用(12,10)RS編碼。在一個(gè)子畫面組中,當(dāng)視頻編碼器編碼完第一個(gè)幀,實(shí)時(shí)通信系統(tǒng)馬上發(fā)送生成的5個(gè)數(shù)據(jù)包。由于網(wǎng)絡(luò)丟包,假設(shè)這5個(gè)包中的2個(gè)在傳送過程中丟失。當(dāng)這3 個(gè)數(shù)據(jù)包成功到達(dá)接收端時(shí),接收端解碼并顯示該幀,對(duì)于丟失的2個(gè)包,接收端將使用錯(cuò)誤掩蓋技術(shù)。這說明在接收端沒有任何解碼和顯示時(shí)延。接下來,第二個(gè)幀也將產(chǎn)生5個(gè)數(shù)據(jù)包,同時(shí)由于第二幀是這個(gè)子畫面組的最后一個(gè)幀,系統(tǒng)將基于這個(gè)子畫面組的10個(gè)數(shù)據(jù)包生成2個(gè)RS校驗(yàn)包。假設(shè)這次5個(gè)數(shù)據(jù)包和2個(gè)RS校驗(yàn)包都順利地到達(dá)接收端, 在接收端RS(12,10)解碼器將能夠復(fù)原第一幀丟失的2個(gè)數(shù)據(jù)包。然后視頻解碼器將接收到的和復(fù)原的數(shù)據(jù)包重新解碼,并更新參考幀。在該情況下,這個(gè)子畫面組的第二幀將沒有任何誤差,同時(shí)也沒有任何誤差將傳播到后面的幀中。現(xiàn)有技術(shù)為了達(dá)到視頻的實(shí)時(shí)傳輸,往往給每個(gè)幀都加RS校驗(yàn)包,對(duì)于同樣的冗余率20%,每個(gè)幀將使用RS(6J)編碼,這意味著對(duì)于第一幀,RS碼就不能夠復(fù)原丟失的2個(gè)數(shù)據(jù)包,最終掩蓋誤差將擴(kuò)散到第二幀以及后面的所有幀中,嚴(yán)重影響整個(gè)畫面組的視頻質(zhì)量?;谧赢嬅娼M的RS保護(hù)和基于每幀的RS保護(hù)都沒有造成任何時(shí)延,也就是實(shí)現(xiàn)了實(shí)時(shí)通信,但基于子畫面組的RS保護(hù)能夠有效的阻止誤差擴(kuò)散,效果明顯。傳輸子畫面群時(shí),未接受校驗(yàn)包時(shí),采用復(fù)制前面幀相同位置像素值的辦法進(jìn)行錯(cuò)誤掩蓋,這種方法是非常普遍使用的錯(cuò)誤掩蓋方法(Temporal Replacement);數(shù)據(jù)包的恢復(fù)過程就是RS的解碼過程,也是個(gè)標(biāo)準(zhǔn)的過程。在圖4和圖5給出了兩個(gè)子畫面組(Sub-GOP)和RS校驗(yàn)包分配的例子,在實(shí)例中假設(shè)丟包率ρ為5%,一個(gè)GOP中有30個(gè)P幀,RS包冗余率為20%,圖4中假設(shè)每個(gè)幀有 5個(gè)分片(slice),圖3中假設(shè)每個(gè)幀有10個(gè)分片??梢钥闯觯褂迷撍惴ǚ峙渚哂幸韵绿攸c(diǎn),在畫面組的前面分配較多的RS校驗(yàn)包,而在畫面組的后面部分分配較少的RS校驗(yàn)包。 這是因?yàn)檎`差擴(kuò)散時(shí)候,位于畫面組前面部分的誤差會(huì)擴(kuò)散到后面的幀中。同時(shí),可以發(fā)現(xiàn)畫面組前面部分分配的子畫面組比較大,后面部分子畫面組比較小,這同樣也是由于前面部分的幀誤差擴(kuò)展路徑較長(zhǎng),需要使用較大的子畫面群來更加有效的切斷誤差傳播。在圖6和圖7中,把本實(shí)施例和平均分配RS包FEC方案和RS-MDC [T. Ti 1 Io, M.Grangetto, and G.Olmo. Redundant slice optimal allocation for h.264multiple description coding. Circuits and Systems for Video Technology,IEEE Transactions on, 18 (1) :59-70, 2008.]進(jìn)行了 PSNR性能對(duì)比,其中Y軸顯示的是PSNR,X軸是數(shù)據(jù)碼率。 為了公平的比較,選用的平均分配RS包FEC方案和RS-MDC都具有實(shí)時(shí)的效果??梢钥闯鲈谙嗤a率的情況下,本實(shí)施例基于子畫面組的FEC方案可以提供更高的PSNR,也就是更好的視頻質(zhì)量。圖6為i^reman測(cè)試序列PSNR-碼率曲線,網(wǎng)絡(luò)丟包率為5 %,校驗(yàn)包率20 %。 圖7為Bus測(cè)試序列PSNR-碼率曲線,網(wǎng)絡(luò)丟包率為5%,校驗(yàn)包率20%。上述實(shí)例只為說明本發(fā)明的技術(shù)構(gòu)思及特點(diǎn),其目的在于讓熟悉此項(xiàng)技術(shù)的人是能夠了解本發(fā)明的內(nèi)容并據(jù)以實(shí)施,并不能以此限制本發(fā)明的保護(hù)范圍。凡根據(jù)本發(fā)明精神實(shí)質(zhì)所做的等效變換或修飾,都應(yīng)涵蓋在本發(fā)明的保護(hù)范圍之內(nèi)。
權(quán)利要求
1.一種基于子畫面群的前向糾錯(cuò)實(shí)時(shí)視頻傳輸方法,其特征在于所述方法中視頻采用(N,K) Reed-Solomon編碼器進(jìn)行編碼,包括以下步驟(1)視頻發(fā)送端將視頻畫面群中所有單幅影像畫面的幀依次序劃分成若干個(gè)子畫面群;采用(N,K) Reed-Solomon編碼器以子畫面群為編碼單位將視頻單幅影像畫面的幀編碼生成數(shù)據(jù)包立即放入網(wǎng)絡(luò)傳送,并在每個(gè)子畫面群數(shù)據(jù)包的最后一幀基于整個(gè)子畫面群產(chǎn)生校驗(yàn)包,將生成的校驗(yàn)包放入網(wǎng)絡(luò)傳輸;(2)視頻接受端接受到數(shù)據(jù)包后立即解碼,如果數(shù)據(jù)包未丟失,則無需處理;如果丟失的數(shù)據(jù)包小于N-K時(shí),進(jìn)行數(shù)據(jù)包恢復(fù),重新解碼。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于所述方法中當(dāng)視頻接受端尚未接受到子畫面群的校驗(yàn)包時(shí),采用錯(cuò)誤掩蓋技術(shù)處理丟失的數(shù)據(jù)包。
3.根據(jù)權(quán)利要求1所述的方法,其特征在于所述方法中當(dāng)視頻接受端尚接受到子畫面群的校驗(yàn)包時(shí),使用RS解碼器恢復(fù)該子畫面群中丟失的所有數(shù)據(jù)包,并重新解碼整個(gè)子畫面群,并更新參考幀緩存。
4.根據(jù)權(quán)利要求1所述的方法,其特征在于所述方法步驟(1)中通過貪婪算法依次確定所有校驗(yàn)包中每個(gè)校驗(yàn)包在視頻單幅影像畫面的幀的位置,根據(jù)校驗(yàn)包的位置確定子畫面群的分配情況。
5.根據(jù)權(quán)利要求4所述的方法,其特征在于所述方法中所述貪婪算法是根據(jù)校驗(yàn)包放在單幅影像畫面幀的不同的位置,獲得不同子畫面組分配造成的誤差期望;當(dāng)形成最小誤差期望時(shí),所放置的單幅影像畫面的位置為該校驗(yàn)包的位置;然后繼續(xù)尋找下一個(gè)校驗(yàn)包的位置。
6.根據(jù)權(quán)利要求1所述的方法,其特征在于所述方法中校驗(yàn)包的數(shù)量等于系統(tǒng) RS (N, K)編碼中參數(shù)N和K的差值。
全文摘要
本發(fā)明公開了一種基于子畫面群的前向糾錯(cuò)實(shí)時(shí)視頻傳輸方法,其特征在于所述方法中視頻采用(N,K)Reed-Solomon編碼器進(jìn)行編碼,包括以下步驟(1)視頻發(fā)送端將視頻畫面群中所有單幅影像畫面的幀依次序劃分成若干個(gè)子畫面群;采用(N,K)Reed-Solomon編碼器以子畫面群為編碼單位將視頻單幅影像畫面的幀編碼生成數(shù)據(jù)包立即放入網(wǎng)絡(luò)傳送,并在每個(gè)子畫面群數(shù)據(jù)包的最后一幀基于整個(gè)子畫面群產(chǎn)生校驗(yàn)包,將生成的校驗(yàn)包放入網(wǎng)絡(luò)傳輸;(2)視頻接受端接受到數(shù)據(jù)包后立即解碼,如果數(shù)據(jù)包未丟失,則無需處理;如果丟失的數(shù)據(jù)包小于N-K時(shí),進(jìn)行數(shù)據(jù)包恢復(fù),重新解碼。該方法不會(huì)造成任何時(shí)延,實(shí)現(xiàn)了實(shí)時(shí)通信。
文檔編號(hào)H04N7/64GK102231837SQ20111017006
公開日2011年11月2日 申請(qǐng)日期2011年6月23日 優(yōu)先權(quán)日2011年6月23日
發(fā)明者羅天明, 肖繼民 申請(qǐng)人:西交利物浦大學(xué)
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1