專利名稱:基于前向糾錯編碼窗口擴張的實時視頻傳輸方法
技術(shù)領(lǐng)域:
本發(fā)明屬于視頻編碼和傳輸技術(shù)領(lǐng)域,具體涉及一種基于前向糾錯編碼(FEC)窗口擴張的實時視頻傳輸方法。
背景技術(shù):
無論是H. 263、MPEG2視頻編碼標準,還是H. 264/AVC視頻編碼標準,都是建立在混合編碼方法基礎(chǔ)上的融合運動補償預測算法的變換編碼。因此,經(jīng)過編碼后的視頻數(shù)據(jù)在INTERNET等不可靠網(wǎng)絡(luò)中傳輸時會受到誤差擴散的影響,即一個很小的視頻丟包將導致非常嚴重的接收端視頻質(zhì)量下降。目前,各種視頻容錯編碼技術(shù)(error-resilient techniques)已經(jīng)被廣泛應(yīng)用,使得在不可靠網(wǎng)絡(luò)傳送視頻信號變得可行。這些視頻容錯編碼技術(shù)包括幀內(nèi)宏塊刷新(Intra Macroblock Refreshment)、自動重傳請求(ARQ)、基于反饋的參考巾貞選擇(RPS)、冗余圖像編碼(使用相同或低于原圖像質(zhì)量的冗余)和多描述編碼(MDC)以及前向糾錯(FEC)編碼技術(shù)。在這些容錯視頻編碼技術(shù)中,幀內(nèi)宏塊刷新、冗余圖像編碼和多描述編碼不會產(chǎn)生額外延時,因此能夠適合實時視頻通信的要求。但是,就幀內(nèi)宏塊刷新技術(shù)而言,由于幀內(nèi)(Intra)編碼效率遠低于幀間(Inter)的編碼效率,導致整體編碼效率顯著降低。在冗余圖像編碼和多描述編碼中,當冗余圖像版本替代了原始版本或者當一些描述在傳輸過程中被丟失時,就會造成失配誤差(Mismatch Error)。而失配誤差將會傳播至整個畫面群(GOP)0由于網(wǎng)絡(luò)往返時延(RTT),自動重傳請求(ARQ)和參考幀選擇(RPS)技術(shù)都會產(chǎn)生較長延時。因此,這兩種技術(shù)都無法實踐于實時視頻通信系統(tǒng)中。而在前向糾錯技術(shù)(FEC)中,時延的長短取決于FEC編碼數(shù)據(jù)塊的大小。在“E.Baccaglini,T. Tillo, andG.Olmo,Slice sorting for unequal loss protection of video streams, IEEE SignalProcessing Letters,2008”中,Reed-So lomon編碼塊包含了整個幽面群,因此,該方案將產(chǎn)生了一個幽面群的延時。在 “X. Yang,C. Zhu,Z. Li, X. Lin, and N. Ling, An unequalpacket loss resilience scheme for video over the internet, IEEETransactions onMultimedia,2005”中,Reed-Solomon編碼塊包含了 I個子畫面群的巾貞,因此延遲取決于子幽面群的長度。在 “N.Thomos,S. Argyropoulos, N. V. Boulgouris, and M. G. Strintzis,Robust transmission of h. 264/AVC video using adaptive slice grouping andunequal error protection, in IEEE International Conference on Multimedia andExpo,2006”中,Reed-Solomon編碼應(yīng)用在每一幀中,因此沒有產(chǎn)生前向糾錯編碼延時。然而,當Reed-Solomon編碼塊只包含一幀的數(shù)據(jù)包時,由于數(shù)據(jù)包數(shù)量太少,RS保護的效率并不高。Reed-Solomon (RS)編碼已被廣泛應(yīng)用在前向糾錯編碼(Forward ErrorCorrection Code)中,以此來減少數(shù)據(jù)包在丟包網(wǎng)絡(luò)中丟失所帶來的影響,可以說Reed-Solomon (RS)編碼是多種FEC實現(xiàn)技術(shù)中最普遍使用的一種技術(shù)。在RS(N,K)編碼中,在K個源數(shù)據(jù)包中引入N-K個校驗包來保護源數(shù)據(jù)包。只要接收端接收到N個數(shù)據(jù)包中的K個,所有的源數(shù)據(jù)包就可以被還原。就RS編碼而言,對于相同的編碼率K/N,增加K的值會提高RS編碼的性能。但是,高K值會造成大的RS編碼塊,并因此導致長時延。對于視頻會議這樣的實時視頻應(yīng)用,這樣的時延是不可接受的。
發(fā)明內(nèi)容
本發(fā)明目的在于提供一種基于前向糾錯編碼窗口擴張的實時視頻傳輸方法,解決了現(xiàn)有技術(shù)中實時視頻傳輸方法中由于前向糾錯編碼導致比較長的時延等問題。為了解決現(xiàn)有技術(shù)中的這些問題,本發(fā)明提供的技術(shù)方案是一種基于前向糾錯編碼窗口擴張的實時視頻傳輸方法,所述前向糾錯編碼窗口包括當前畫面群(GOP)中當前幀數(shù)據(jù)包和當前幀之前幀的所有數(shù)據(jù)包,其特征在于所述方法包括以下步驟(I)視頻發(fā)送端作為視頻編碼端,采集并視頻編碼當前畫面群(GOP)中的當前幀,以形成當前幀的視頻數(shù)據(jù)包;并將生成的視頻數(shù)據(jù)包和之前幀的視頻數(shù)據(jù)包進行RS編碼,生成相應(yīng)的校驗數(shù)據(jù)包后,立即向視頻接收端發(fā)送該幀視頻數(shù)據(jù)包和校驗數(shù)據(jù)包,如此循環(huán)直到當前畫面群(GOP)中所有的幀都已經(jīng)編碼并發(fā)送完成;(2)視頻接收端作為視頻解碼端接收到當前畫面群(GOP)中當前幀的視頻數(shù)據(jù)包和與當前幀相應(yīng)的校驗數(shù)據(jù)包時,通過RS校驗矩陣生成關(guān)于當前幀的RS解碼方程組,與該GOP所有之前幀的RS解碼方程組形成聯(lián)合方程組,并通過解該聯(lián)合方程組,嘗試恢復丟失的數(shù)據(jù)包;如果通過解該方程組能恢復出之前幀中的某個丟失數(shù)據(jù)包,利用該新恢復的之前幀視頻數(shù)據(jù)包,在解碼和播放當前幀之前,重新視頻解碼之前幀的視頻數(shù)據(jù)并更新參考幀;如果通過解該方程組能恢復出當前幀中的丟失的數(shù)據(jù)包,新恢復的數(shù)據(jù)包將和接收到的數(shù)據(jù)包一起視頻解碼并顯示出來;如此重復以上解碼過程,直到當前畫面群(GOP)中所有的幀都已經(jīng)解碼并顯示完成。優(yōu)選的,所述方法步驟(I)中如果當前畫面群(GOP)中的當前幀為當前畫面群(GOP)中的第一幀,則第一幀采集完成并完成視頻編碼時,直接將該幀生成的視頻數(shù)據(jù)包進行RS編碼,生成相應(yīng)的校驗數(shù)據(jù)包后,立即發(fā)送該幀視頻數(shù)據(jù)包和校驗數(shù)據(jù)包。優(yōu)選的,所述方法步驟(I)中當前畫面群(GOP)中當前幀和之前幀的視頻數(shù)據(jù)包生成RS校驗數(shù)據(jù)包時,當前幀和之前幀的視頻數(shù)據(jù)包需要乘上一個變換矩陣;同時,編碼端將變換矩陣信息告知視頻解碼端。該變換矩陣的一個簡單例子就是根據(jù)特定的隨機順序重新排列數(shù)據(jù)包,這樣可以保證不同的RS編碼使用了不同的隨機順序,以保證RS解碼時校驗方程組最大程度的線性無關(guān)。優(yōu)選的,所述方法步驟(2)中當接收到視頻數(shù)據(jù)包和校驗包為當前畫面群(GOP)中第一幀的視頻數(shù)據(jù)包和校驗包時,通過RS校驗矩陣生成關(guān)于第一幀的RS解碼方程組,并通過解該方程組,嘗試恢復丟失的視頻數(shù)據(jù)包。優(yōu)選的,所述方法步驟(2)中當接收到視頻數(shù)據(jù)包和校驗包不是當前畫面群(GOP)中第一幀的視頻數(shù)據(jù)包和校驗包時,通過RS校驗矩陣生成關(guān)于當前幀的RS解碼方程組,然后加入該GOP所有之前幀的RS解碼方程組形成聯(lián)合方程組,并通過解該聯(lián)合方程組,進行嘗試恢復丟失的視頻數(shù)據(jù)包。本發(fā)明提供一種基于前向糾錯編碼(FEC)窗口擴張的實時視頻傳輸方法,解決了現(xiàn)有技術(shù)中當視頻編碼基于每幀進行校驗糾錯導致糾錯性能差,同時當以整個畫面組進行校驗糾錯時,導致糾錯編碼時延的問題。本發(fā)明具體的基于前向糾錯編碼(FEC)窗口擴張的實時視頻傳輸方法,包括以下步驟(I)在視頻發(fā)送端I)首先在視頻編碼端,當前畫面群(GOP)中的第一個幀已經(jīng)采集完成并進行完視頻編碼時,將生成的視頻數(shù)據(jù)包進行RS編碼,生成相應(yīng)的校驗數(shù)據(jù)包后,立即發(fā)送該幀視頻數(shù)據(jù)包和校驗數(shù)據(jù)包。
2)當前畫面群(GOP)中的第二個幀已經(jīng)采集完成并完成視頻編碼時,將根據(jù)第一幀和第二幀的視頻數(shù)據(jù)包來進行RS編碼,并生成相應(yīng)的校驗數(shù)據(jù)包,發(fā)送第二幀的數(shù)據(jù)包和校驗數(shù)據(jù)包。3)在上述步驟2)中,在生成第一幀和第二幀的視頻數(shù)據(jù)包的RS校驗數(shù)據(jù)包時,第一幀和第二幀的數(shù)據(jù)包需要乘上一個變換矩陣,該變換矩陣的一個簡單例子就是根據(jù)特定的隨機順序重新排列數(shù)據(jù)包,這樣可以保證不同的RS編碼使用了不同的隨機順序,以保證RS解碼時校驗方程組最大程度的線性無關(guān)。同時,編碼端將對應(yīng)每幀的隨機次序告知視頻解碼端。4)當前畫面群(GOP)中的第三個幀已經(jīng)采集完成并完成視頻編碼時,將根據(jù)第一、二、三幀的視頻數(shù)據(jù)包來進行RS編碼,并生成相應(yīng)的校驗數(shù)據(jù)包,發(fā)送第三幀的數(shù)據(jù)包和校驗數(shù)據(jù)包。 5)在上述步驟(4)中,在生成1-3幀的視頻數(shù)據(jù)包的RS校驗數(shù)據(jù)包時,1-3幀的數(shù)據(jù)包需要乘上一個變換矩陣,該變換矩陣的一個簡單例子就是根據(jù)特定的隨機順序重新排列數(shù)據(jù)包,這樣可以保證不同的RS編碼使用了不同的隨機順序,以保證RS解碼時校驗方程組最大程度的線性無關(guān)。同時,編碼端將對應(yīng)每幀的隨機次序告知視頻解碼端。6)重復以上過程,只到當前畫面群(GOP)中所有的幀都已經(jīng)編碼并發(fā)送完成。所述方法中視頻發(fā)送端作為視頻編碼端,以當前畫面群(GOP)為單位進行編碼的,其中前向糾錯編碼窗口將包括當前畫面群(GOP)中當前幀數(shù)據(jù)包和當前幀之前的所有數(shù)據(jù)包。(2)在視頻接收端I)當接收到當前畫面群(GOP)中第一幀的數(shù)據(jù)包和第一幀的校驗包時,通過RS校驗矩陣生成關(guān)于第一幀的RS解碼方程組。通過解該方程組,嘗試恢復丟失的數(shù)據(jù)包。2)當接收到當前畫面群(GOP)中第二幀的數(shù)據(jù)包和第二幀的校驗包時,通過RS校驗矩陣生成關(guān)于第二幀的RS解碼方程組。將該方程組合并第一幀的RS解碼方程組,生成新的解碼方程組,通過解該聯(lián)合方程組,嘗試恢復丟失的數(shù)據(jù)包。如果通過解該方程組可以恢復出第一幀中的某個丟失數(shù)據(jù)包,利用該新恢復的第一幀數(shù)據(jù)包,在解碼和播放第二幀之前,需要重新視頻解碼第一幀視頻數(shù)據(jù),以用來更新參考幀。3)當接收到當前畫面群(GOP)中第三幀的數(shù)據(jù)包和第三幀的校驗包時,通過RS校驗矩陣生成關(guān)于第三幀的RS解碼方程組。將該方程組合并1-2幀的RS解碼方程組,生成新的解碼方程組,通過解該方程組,嘗試恢復丟失的數(shù)據(jù)包。如果通過解該方程組可以恢復出第1-2幀中的某個丟失數(shù)據(jù)包,利用這些新恢復的數(shù)據(jù)包,在解碼和播放第三幀之前,重新視頻解碼1-2幀視頻數(shù)據(jù),以用來更新參考幀。4)重復以上過程,只到當前畫面群(GOP)中所有的幀都已經(jīng)解碼并顯示完成。在上述編碼和解碼過程中,并沒有造成任何的編碼時延,可以適用于實時的多媒體傳輸系統(tǒng)。相對于現(xiàn)有技術(shù)中的方案,本發(fā)明的優(yōu)點是本發(fā)明提供了一種基于前向糾錯編碼窗口擴張的實時視頻傳輸方法,所述方法中視頻信號采用前向糾錯碼編碼器(FEC)進行編碼,具有以下特點(1)前向糾編碼器(FEC)在編碼當前圖像幀數(shù)據(jù)的時候,編碼器將使用當前畫面群(GOP)中當前幀之前的所有視頻 數(shù)據(jù)(包括當前幀視頻數(shù)據(jù))作為編碼數(shù)據(jù),來生成校驗數(shù)據(jù)包。(2)為了最大可能的增加該系統(tǒng)糾錯的性能,每次進行前向糾錯編碼時候,所使用的視頻數(shù)據(jù)包需要乘上一個變換矩陣,該變換矩陣的一個簡單例子就是根據(jù)特定的隨機順序重新排列數(shù)據(jù)包,這樣可以保證不同的RS編碼使用了不同的隨機順序,以保證RS解碼時校驗方程組最大程度的線性無關(guān),從而可以最大限度地正確解碼。同時,編碼端將對應(yīng)每幀的隨機次序告知視頻解碼端。
(3)關(guān)于重新排列視頻數(shù)據(jù)包的方法,本文提出了一種通過隨機函數(shù)獲得的方法,這樣可以保證不同幀使用了不同的隨機順序,同時,這些額外信息也必須通知視頻接收端(視頻解碼端)。
下面結(jié)合附圖及實施例對本發(fā)明作進一步描述圖I為基于前向糾錯編碼(FEC)窗口擴張的實時視頻傳輸方法的原理示意圖;圖2為基于前向糾錯編碼(FEC)窗口擴張的實時視頻傳輸方法與傳統(tǒng)未進行前向糾錯編碼(FEC)窗口擴張的實時視頻傳輸方法的每幀PSNR對照圖。
具體實施例方式以下結(jié)合具體實施例對上述方案做進一步說明。應(yīng)理解,這些實施例是用于說明本發(fā)明而不限于限制本發(fā)明的范圍。實施例中采用的實施條件可以根據(jù)具體廠家的條件做進一步調(diào)整,未注明的實施條件通常為常規(guī)實驗中的條件。實施例本實施例基于前向糾錯編碼(FEC)窗口擴張的實時視頻傳輸方法按照如下步驟進行(I)在視頻發(fā)送端I)首先在視頻編碼端,當前畫面群(GOP)中的第一個幀已經(jīng)采集完成并進行完視頻編碼時,將生成的視頻數(shù)據(jù)包進行RS編碼,生成相應(yīng)的校驗數(shù)據(jù)包后,立即發(fā)送該幀視頻數(shù)據(jù)包和校驗數(shù)據(jù)包。2)當前畫面群(GOP)中的第二個幀已經(jīng)采集完成并完成視頻編碼時,將根據(jù)第一幀和第二幀的視頻數(shù)據(jù)包來進行RS編碼,并生成相應(yīng)的校驗數(shù)據(jù)包,發(fā)送第二幀的數(shù)據(jù)包和校驗數(shù)據(jù)包。
3)在上述步驟2)中,在生成第一幀和第二幀的視頻數(shù)據(jù)包的RS校驗數(shù)據(jù)包時,第一幀和第二幀的數(shù)據(jù)包順序?qū)⑼ㄟ^隨機函數(shù)生成,同時隨機順序也將告知視頻解碼端。4)當前畫面群(GOP)中的第三個幀已經(jīng)采集完成并完成視頻編碼時,將根據(jù)第一、二、三幀的視頻數(shù)據(jù)包來進行RS編碼,并生成相應(yīng)的校驗數(shù)據(jù)包,發(fā)送第三幀的數(shù)據(jù)包和校驗數(shù)據(jù)包。5)在上述步驟(4)中,在生成1-3幀的視頻數(shù)據(jù)包的RS校驗數(shù)據(jù)包時,1-3幀的數(shù)據(jù)包順序?qū)⑼ㄟ^隨機函數(shù)生成,同時隨機順序也將告知視頻解碼端。6)重復以上過程,只到當前畫面群(GOP)中所有的幀都已經(jīng)編碼并發(fā)送完成。
所述方法視頻發(fā)送端作為視頻編碼端,以當前畫面群(GOP)為單位進行編碼的,其中前向糾錯編碼窗口將包括當前畫面群(GOP)中當前幀數(shù)據(jù)包和當前幀之前的所有數(shù)據(jù)包。(2)在視頻接收端I)當接收到當前畫面群(GOP)中第一幀的數(shù)據(jù)包和第一幀的校驗包時,通過RS校驗矩陣生成關(guān)于第一幀的RS解碼方程組。通過解該方程組,嘗試恢復丟失的數(shù)據(jù)包。2)當接收到當前畫面群(GOP)中第二幀的數(shù)據(jù)包和第二幀的校驗包時,通過RS校驗矩陣生成關(guān)于第二幀的RS解碼方程組。將該方程組合并第一幀的RS解碼方程組,生成新的解碼方程組,通過解該方程組,嘗試恢復丟失的數(shù)據(jù)包。如果通過解該方程組可以恢復出第一幀中的某個丟失數(shù)據(jù)包,利用該新恢復的第一幀數(shù)據(jù)包,在解碼和播放第二幀之前,需要重新視頻解碼第一幀視頻數(shù)據(jù),以用來更新參考幀。3)當接收到當前畫面群(GOP)中第三幀的數(shù)據(jù)包和第三幀的校驗包時,通過RS校驗矩陣生成關(guān)于第三幀的RS解碼方程組。將該方程組合并1-2幀的RS解碼方程組,生成新的解碼方程組,通過解該方程組,嘗試恢復丟失的數(shù)據(jù)包。如果通過解該方程組可以恢復出第1-2幀中的某個丟失數(shù)據(jù)包,利用這些新恢復的數(shù)據(jù)包,在解碼和播放第三幀之前,重新視頻解碼1-2幀視頻數(shù)據(jù),以用來更新參考幀。4)重復以上過程,只到當前畫面群(GOP)中所有的幀都已經(jīng)解碼并顯示完成。本實施例以圖I中前三個幀為例說明本方案的具體實施方式
。在該示例中,為了簡化過程,本發(fā)明假設(shè)每個視頻巾貞生成四個數(shù)據(jù)包。Reed-Solomon編碼在Galois Field(2~4)中進行。同時本發(fā)明假設(shè)在每個幀后面都生成一個RS校驗數(shù)據(jù)包,這種情況下RS編碼的冗余率就是25%。(I)對于第一個視頻幀,由于只有4個數(shù)據(jù)包,并且RS編碼只生成一個校驗數(shù)據(jù)包,因此,本實施例將采用RS(5,4)進行編碼。在Galois Field (2~4)有限域中,RS(5,4)編碼器可以通過RS (15,14)來實現(xiàn),這只需要在RS編碼過程中,在4個數(shù)據(jù)包后面再添加10個0數(shù)據(jù)包即可。由于RS (15,14)的校驗矩陣為H= [I, a,…,a "13, a "14];在Galois Field (2~4)有限域中a =2 ;a ~2=4 ;a ~3=8 ;
a ~4=3 ;a ~5=6 ;a "6=12 ;a "7=11 ;a '8=5 ;a '9=10 ;a "10=7 ;a ~ 11=14;a ~ 12=15;a "13=13 ;a "14=9 ;因此H=[I 2 4 8 3 6 12 11 5 10 7 14 15 13 9],本發(fā)明用XI,X2,X3,X4和Yl來表示四個數(shù)據(jù)包和一個校驗包,可以得到第一個幀的校驗方程(組)Xl+a *X2+a ~2*X3+a ~3*X4+a ~14*Y1=0(1);即X1+2*X2+4*X3+8*X4+9*Y1=0(1);(2)對于第二個視頻幀,本發(fā)明將使用第一幀和第二幀的數(shù)據(jù)包1-8來生成校驗包。由于此時已經(jīng)有了 8個數(shù)據(jù)包,只需要添加6個0數(shù)據(jù)包即可。對于這個14個數(shù)據(jù)包,本發(fā)明使用隨機函數(shù)來重新排序。關(guān)于隨機順序的獲得,可以通過matlab的randpermO函數(shù)獲得,并將獲得的隨機順序植入到相應(yīng)的軟硬件環(huán)境中。為了方便例子,假設(shè)本發(fā)明使用的randpermO函數(shù)生成的隨機順序是[63 11 714 8 5 I 2 4 13 9 10 12],這相當于使用原始數(shù)據(jù)乘上如下變化矩陣矩陣H :
權(quán)利要求
1.一種基于前向糾錯編碼窗口擴張的實時視頻傳輸方法,所述前向糾錯編碼窗口包括當前畫面群(GOP)中當前幀數(shù)據(jù)包和當前幀之前幀的所有數(shù)據(jù)包,其特征在于所述方法包括以下步驟 (1)在視頻發(fā)送端,視頻編碼器進行當前畫面群(GOP)中的當前幀采集,采集完成后進行視頻編碼,形成當前幀的視頻數(shù)據(jù)包;將生成的視頻數(shù)據(jù)包和該GOP中之前幀的視頻數(shù)據(jù)包進行Reed-Solomon (RS)編碼,生成相應(yīng)的校驗數(shù)據(jù)包后,立即向視頻接收端發(fā)送該幀視頻數(shù)據(jù)包和校驗數(shù)據(jù)包,如此循環(huán)直到當前畫面群(GOP)中所有的幀都已經(jīng)編碼并發(fā)送完成; (2)視頻接收端作為視頻解碼端接收到當前畫面群(GOP)中當前幀的視頻數(shù)據(jù)包和與當前幀相應(yīng)的校驗數(shù)據(jù)包時,通過RS校驗矩陣生成關(guān)于當前幀的RS解碼方程組,并與該GOP中所有之前幀的RS解碼方程組形成聯(lián)合方程組,并通過解該聯(lián)合方程組,嘗試恢復丟失的數(shù)據(jù)包;如果通過解該方程組能恢復出之前幀中的某個丟失數(shù)據(jù)包,利用該新恢復的之前幀視頻數(shù)據(jù)包,在解碼和播放當前幀之前,重新視頻解碼之前幀的視頻數(shù)據(jù)并更新參考幀;如果通過解該方程組能恢復出當前幀中的丟失的數(shù)據(jù)包,新恢復的數(shù)據(jù)包將和接收到的數(shù)據(jù)包一起視頻解碼并顯示出來;如此循環(huán)直到當前畫面群(GOP)中所有的幀都已經(jīng)解碼并顯示完成。
2.根據(jù)權(quán)利要求I所述的方法,其特征在于所述方法步驟(I)中如果當前畫面群(GOP)中的當前幀為當前畫面群(GOP)中的第一幀,則第一幀采集完成并完成視頻編碼時,直接將該幀生成的視頻數(shù)據(jù)包進行RS編碼,生成相應(yīng)的校驗數(shù)據(jù)包后,立即發(fā)送該幀視頻數(shù)據(jù)包和校驗數(shù)據(jù)包。
3.根據(jù)權(quán)利要求I所述的方法,其特征在于所述方法步驟(I)中當前畫面群(GOP)中當前幀和之前幀的視頻數(shù)據(jù)包生成RS校驗數(shù)據(jù)包時,當前幀和之前幀的視頻數(shù)據(jù)包需要乘上變換矩陣;同時,視頻編碼端將對應(yīng)幀視頻數(shù)據(jù)包的變換矩陣信息告知視頻解碼端。
4.根據(jù)權(quán)利要求I所述的方法,其特征在于所述方法步驟(2)中當接收到視頻數(shù)據(jù)包和校驗包為當前畫面群(GOP)中第一幀的視頻數(shù)據(jù)包和校驗包時,通過RS校驗矩陣生成關(guān)于第一幀的RS解碼方程組,并通過解該方程組,嘗試恢復丟失的視頻數(shù)據(jù)包。
5.根據(jù)權(quán)利要求I所述的方法,其特征在于所述方法步驟(2)中當接收到視頻數(shù)據(jù)包和校驗包不是當前畫面群(GOP)中第一幀的視頻數(shù)據(jù)包和校驗包時,通過RS校驗矩陣生成關(guān)于當前幀的RS解碼方程組,然后加入該GOP所有之前幀的RS解碼方程組形成聯(lián)合方程組,并通過解該聯(lián)合方程組,進行嘗試恢復丟失的視頻數(shù)據(jù)包。
全文摘要
本發(fā)明公開了一種基于前向糾錯編碼窗口擴張的實時視頻傳輸方法,所述方法中視頻信號采用前向糾錯碼編碼器(FEC)進行編碼,具有以下特點(1)前向糾編碼器(FEC)在編碼當前圖像幀數(shù)據(jù)的時候,編碼器將使用當前畫面群(GOP)中當前幀之前的所有視頻數(shù)據(jù)(包括當前幀視頻數(shù)據(jù))作為編碼數(shù)據(jù),來生成校驗數(shù)據(jù)包。(2)為了最大可能的增加該系統(tǒng)糾錯的性能,每次進行前向糾錯編碼之前,所使用的視頻數(shù)據(jù)包將與某個變換矩陣相乘。這樣可以最大可能的使得解碼線性方程組線性無關(guān),從而可以最大限度地正確解碼。(3)變換矩陣的一種實現(xiàn)就是重新排列視頻數(shù)據(jù)包,關(guān)于重新排列視頻數(shù)據(jù)包的方法,本發(fā)明提出了一種通過隨機函數(shù)獲得的方法,這樣可以保證不同幀使用了不同的隨機順序,同時,這些額外信息也必須通知視頻接收端(視頻解碼端)。
文檔編號H04N7/66GK102710943SQ20121016995
公開日2012年10月3日 申請日期2012年5月29日 優(yōu)先權(quán)日2012年5月29日
發(fā)明者羅天明, 肖繼民 申請人:羅天明, 肖繼民