一種復(fù)雜度均衡的視頻編碼方法及其解碼方法
【專利摘要】本發(fā)明公開了一種復(fù)雜度均衡的視頻編碼方法,包括步驟01:將原始視頻序列按GOP分為K幀和W幀;步驟02:對(duì)于K幀,采用幀內(nèi)編碼方法進(jìn)行編碼;步驟03:對(duì)于W幀,采用LDPC進(jìn)行編碼;步驟04:對(duì)于每一幀W幀,同時(shí)計(jì)算出相應(yīng)的偏移量、拉普拉斯算子和信息熵。本發(fā)明同時(shí)公開了其解碼方法。本發(fā)明的復(fù)雜度均衡的視頻編解碼方法,將計(jì)算偏移量與信息熵的運(yùn)算從解碼端轉(zhuǎn)移到編碼端,能夠減少解碼端的運(yùn)算量,提高編碼端的運(yùn)算量,從而使得編、解碼端的復(fù)雜度得以均衡。
【專利說明】一種復(fù)雜度均衡的視頻編碼方法及其解碼方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及視頻編碼領(lǐng)域,具體涉及一種復(fù)雜度均衡的視頻編碼方法及其解碼方法。
【背景技術(shù)】
[0002]視頻編碼是指通過特定的壓縮技術(shù),將某個(gè)視頻格式的文件轉(zhuǎn)換成另一種視頻格式文件的方式。分布式視頻編碼(Distributed Video Coding,DVC)是基于Slepian-Wolf理論和Wyner-Ziv理論,對(duì)兩個(gè)或多個(gè)獨(dú)立同分布的信源進(jìn)行獨(dú)立編碼,然后由單一解碼器利用信源之間的相關(guān)性對(duì)所有編碼的信源進(jìn)行聯(lián)合解碼。分布式視頻編碼的理論研究始自20世紀(jì)70年代建立的信息理論,即Skpian-Wolf建立的分布式無損編碼理論以及Wyner-Ziv建立的使用解碼端邊信息(Side Information)的有損編碼理論。根據(jù)這兩種理論建立的編解碼的應(yīng)用統(tǒng)稱為分布式編碼方法,其中Wyner-Ziv理論是分布式視頻編碼技術(shù)的主要理論依據(jù)。分布式編碼涉及的兩個(gè)相關(guān)碼源之一可以是另一個(gè)碼源經(jīng)過一個(gè)虛擬的“相關(guān)信道”傳輸后產(chǎn)生的,所以目前的分布式信源編碼源自信道編碼。Slepian-Wolf和Wyner-Ziv理論表明對(duì)兩個(gè)統(tǒng)計(jì)相關(guān)的信源,若用分布式的方式(獨(dú)立編碼、聯(lián)合解碼)進(jìn)行壓縮編碼,編碼后的速率與傳統(tǒng)視頻編碼后的速率相當(dāng),需要說明的是,對(duì)Wyner-Ziv理論,上述結(jié)論的前提是信源X,Y為聯(lián)合高斯信源且失真度量為均方差。
[0003]在眾多的現(xiàn)有的分布式視頻編碼技術(shù)方案中,斯坦福大學(xué)的A.Aaron等提出的Wyner-Ziv編碼器得到廣泛的關(guān)注,并且很多應(yīng)用都是在此基礎(chǔ)上進(jìn)行設(shè)計(jì)的。其中,一種是基于像素域的Wyner-Ziv視頻編解碼,如圖1所示,在編碼器端,視頻幀被分成兩種類型:關(guān)鍵幀K和Wyner-Ziv幀S。對(duì)于關(guān)鍵幀K,采用傳統(tǒng)的幀內(nèi)編碼方式對(duì)其進(jìn)行編碼處理;對(duì)于S幀,采用幀內(nèi)編碼、幀間解碼的技術(shù)對(duì)其進(jìn)行處理。在解碼端,對(duì)K幀進(jìn)行傳統(tǒng)的幀內(nèi)解碼即可得到解碼后的關(guān)鍵幀K';對(duì)于幀,解碼器利用相鄰已解碼的K'幀或者S'幀,通過運(yùn)動(dòng)補(bǔ)償插值(內(nèi)插或外推),形成插值巾貞Y,Y為初步估計(jì)得到的Wyner-Ziv巾貞X,也稱其為邊信息。Turbo解碼器使用編碼端發(fā)送過來的校驗(yàn)碼對(duì)邊信息Y進(jìn)行“糾錯(cuò)”解碼,如果碼平面解碼成功,則經(jīng)格雷反編碼及碼平面重組得到解碼后的符號(hào)流qi ;否則向緩存器的緩沖區(qū)請(qǐng)求更多的校驗(yàn)位進(jìn)行重新解碼,直到誤碼率在指定的誤碼門限Ρ_ ε之內(nèi)。得到qi后,解碼器中的重建模塊根據(jù)和邊信息Y重建每個(gè)像素值,從而得到重建后的 Wyner-Ziv 巾貞 S'。
[0004]另一種是基于變換域的Wyner-Ziv視頻編解碼器,結(jié)構(gòu)如圖2所示,與基于像素域的視頻編解碼器相同,編碼器端視頻幀被分成兩種類型:關(guān)鍵幀K和Wyner-Ziv幀W。關(guān)鍵幀K使用傳統(tǒng)的幀內(nèi)編解碼方式對(duì)其進(jìn)行處理;兩個(gè)關(guān)鍵幀間的w幀則采用幀內(nèi)編碼、幀間解碼的技術(shù)對(duì)其進(jìn)行處理。與基于像素域的Wyner-Ziv視頻編碼器相比,變換域的Wyner-ZiV視頻編碼器獲得了更高的壓縮比和更好的圖像質(zhì)型。
[0005]然而,上述兩種視頻編解碼器的弊端在于解碼端的運(yùn)算復(fù)雜度遠(yuǎn)遠(yuǎn)大于編碼端的復(fù)雜度,這種極端方式使得解碼端的運(yùn)算量遠(yuǎn)遠(yuǎn)大于編碼端,并不適用于點(diǎn)對(duì)點(diǎn)的通信方式。因此有必要提供一種復(fù)雜度均衡的視頻編解碼方法來解決現(xiàn)有技術(shù)的缺陷。
【發(fā)明內(nèi)容】
[0006]本發(fā)明的目的是提供一種復(fù)雜度均衡的視頻編碼方法和解碼方法,使編碼端與解碼端復(fù)雜度相對(duì)均衡,提高運(yùn)算性能及通信性能。
[0007]因此,本發(fā)明首先提供了一種復(fù)雜度均衡的視頻編碼方法,包括以下步驟:步驟
01:將原始視頻序列按GOP (Group ofPictures,畫面組)分為K巾貞和W巾貞;步驟02:對(duì)于K中貞,采用巾貞內(nèi)編碼方法進(jìn)行編碼;步驟03:對(duì)于W巾貞,采用LDPC(Low_density parity-checkcodes,低密度奇偶校驗(yàn)碼)進(jìn)行編碼;步驟04:對(duì)于每一幀W幀,同時(shí)計(jì)算出相應(yīng)的偏移量、拉普拉斯算子和信息熵。
[0008]較佳地,所述步驟02的統(tǒng)巾貞內(nèi)編碼方法為JPEG(Joint Photographic ExpertsGroup,聯(lián)合圖像專家小組)編碼。
[0009]較佳地,所述步驟03之前還包括:將每一 W幀數(shù)據(jù)分割成6部分進(jìn)行處理,其中,Y分量占4份,U、V分量各占一份,對(duì)每一部分先進(jìn)行離散余弦變換,然后經(jīng)過均勻量化后再進(jìn)行LDPC編碼。
[0010]較佳地,所述步驟04之前還包括:將每一 W幀數(shù)據(jù)先進(jìn)行離散余弦變換,然后進(jìn)行均勻量化。具體地,所述步驟04進(jìn)一步包括:對(duì)于每一幀W幀,分別根據(jù)當(dāng)前幀跟前一幀的數(shù)據(jù),先進(jìn)行運(yùn)動(dòng)估計(jì)算出兩者之間的對(duì)于每一像素點(diǎn)的X、Y偏移量,然后計(jì)算出經(jīng)過離散余弦變換和均勻量化后兩者之間每一像素點(diǎn)的冗余,根據(jù)所述冗余計(jì)算出相應(yīng)的拉普拉斯算子和信息熵,并將計(jì)算出來的X偏移量、Y偏移量、拉普拉斯算子和信息熵?cái)?shù)據(jù)按每一幀一個(gè)文件保存起來。
[0011]相應(yīng)地,本發(fā)明同時(shí)提供了一種如上所述的復(fù)雜度均衡的視頻編碼方法的解碼方法,包括以下步驟:步驟11:采用與編碼端相同的GOP進(jìn)行幀分類,分為已編碼K幀和已編碼W幀;步驟12:對(duì)于已編碼K幀數(shù)據(jù),采用對(duì)應(yīng)的幀內(nèi)解碼方法進(jìn)行解碼,得到解碼后的K幀數(shù)據(jù);步驟13:向編碼端請(qǐng)求偏移量數(shù)據(jù)、拉普拉斯算子數(shù)據(jù)和信息熵?cái)?shù)據(jù);步驟14:利用已接收的信息熵來估計(jì)請(qǐng)求的已編碼W幀的碼率;步驟15:利用解碼后的K幀數(shù)據(jù)計(jì)算出當(dāng)前W幀的邊信息;步驟16:按估計(jì)的已編碼W幀碼率向編碼端請(qǐng)求已編碼的W幀數(shù)據(jù),聯(lián)合邊信息、拉普拉斯算子和偏移量數(shù)據(jù)進(jìn)行LDPC解碼得到解碼后的W幀數(shù)據(jù)。
[0012]較佳地,所述步驟12的幀內(nèi)解碼方式為JPEG解碼。
[0013]較佳地,所述步驟16中進(jìn)行LDPC解碼后,再通過反離散余弦變換和反量化進(jìn)行圖像重構(gòu)得到解碼后的W幀數(shù)據(jù)。
[0014]較佳地,所述步驟15進(jìn)一步包括:對(duì)已解碼的K幀數(shù)據(jù)進(jìn)行幀間內(nèi)插或外推,然后進(jìn)行離散余弦變換,再計(jì)算邊信息。
[0015]較佳地,所述步驟16中解碼過程中,先用偏移量數(shù)據(jù)進(jìn)行初始化,然后用邊信息和拉普拉斯算子通過聯(lián)合位平面解碼和信息傳遞位解碼計(jì)算出對(duì)數(shù)似然比率,再根據(jù)對(duì)數(shù)似然比率進(jìn)行軟判決解碼,如果軟判決解碼不成功,解碼端就會(huì)增大請(qǐng)求碼率通過反饋信道向編碼端請(qǐng)求更多的增量已編碼W幀數(shù)據(jù),解碼請(qǐng)求過程一直重復(fù)下去,直到軟判決解碼成功。
[0016]與現(xiàn)有技術(shù)相比,本發(fā)明的復(fù)雜度均衡的視頻編碼方法及解碼方法,將計(jì)算偏移量與信息熵的運(yùn)算從解碼端轉(zhuǎn)移到編碼端,能夠減少解碼端的運(yùn)算量,提高編碼端的運(yùn)算量,從而使得編、解碼端的復(fù)雜度得以均衡。
【專利附圖】
【附圖說明】
[0017]為了更清楚地說明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其它的附圖。
[0018]圖1是現(xiàn)有技術(shù)的基于像素域的Wyner-Ziv視頻編解碼器的編解碼流程圖;
[0019]圖2是現(xiàn)有技術(shù)的基于變換域的Wyner-Ziv視頻編解碼器的編解碼流程圖;
[0020]圖3是本發(fā)明復(fù)雜度均衡的視頻編碼方法的流程圖;
[0021]圖4是圖3所示的復(fù)雜度均衡的視頻編碼方法的解碼方法的流程圖;
[0022]圖5是本發(fā)明實(shí)施例的復(fù)雜度均衡的視頻編解碼方法的流程圖;
[0023]圖6是本發(fā)明實(shí)施例的基于置信傳播的聯(lián)合位平面的LDPC解碼流程圖。
【具體實(shí)施方式】
[0024]下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例。基于本發(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其它實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
[0025]參考圖3,本發(fā)明提供了一種復(fù)雜度均衡的視頻編碼方法,包括以下步驟:
[0026]步驟SOl:將原始視頻序列按GOP分為K幀和W幀;
[0027]步驟S02:對(duì)于K幀,采用幀內(nèi)編碼方法進(jìn)行編碼;
[0028]步驟S03:對(duì)于W幀,采用LDPC進(jìn)行編碼;
[0029]步驟S04:對(duì)于每一幀W巾貞,同時(shí)計(jì)算出相應(yīng)的偏移量、拉普拉斯算子和信息熵。
[0030]較佳地,所述步驟S02的統(tǒng)幀內(nèi)編碼方法為JPEG編碼。
[0031]參考圖4,相應(yīng)地,本發(fā)明同時(shí)提供了一種上述復(fù)雜度均衡的視頻編碼方法的解碼方法,包括以下步驟:
[0032]步驟Sll:采用與編碼端相同的GOP進(jìn)行幀分類,分為已編碼K幀和已編碼W幀;
[0033]步驟S12:對(duì)于已編碼K幀數(shù)據(jù),采用對(duì)應(yīng)的幀內(nèi)解碼方法進(jìn)行解碼,得到解碼后的K幀數(shù)據(jù);
[0034]步驟S13:向編碼端請(qǐng)求偏移量數(shù)據(jù)、拉普拉斯算子數(shù)據(jù)和信息熵?cái)?shù)據(jù);
[0035]步驟S14:利用已接收的信息熵來估計(jì)請(qǐng)求的已編碼W幀的碼率;
[0036]步驟S15:利用解碼后的K幀數(shù)據(jù)計(jì)算出當(dāng)前W幀的邊信息;
[0037]步驟S16:按估計(jì)的已編碼W幀碼率向編碼端請(qǐng)求已編碼的W幀數(shù)據(jù),聯(lián)合邊信息、拉普拉斯算子和偏移量數(shù)據(jù)進(jìn)行LDPC解碼得到解碼后的W幀數(shù)據(jù)。
[0038]較佳地,所述步驟S12的幀內(nèi)解碼方式為JPEG解碼。
[0039]較佳地,所述步驟S16中進(jìn)行LDPC解碼后,再通過反離散余弦變換和反量化進(jìn)行圖像重構(gòu)得到解碼后的W幀數(shù)據(jù)。[0040]較佳地,所述步驟S15進(jìn)一步包括:對(duì)已解碼的K幀數(shù)據(jù)進(jìn)行幀間內(nèi)插或外推,然后進(jìn)行離散余弦變換,再計(jì)算邊信息。
[0041]較佳地,解碼端與編碼端采用可靠地面向連接的TCP通信方式。
[0042]配合參考圖5,作為本發(fā)明的實(shí)施例,具體編碼時(shí),首先對(duì)于原始視頻序列的每一幀,按GOP來劃分成K幀和W幀,例如當(dāng)G0P=n時(shí),在一個(gè)GOP周期內(nèi),就有I幀K幀和η-1中貞W幀。對(duì)于K幀,米用傳統(tǒng)的幀內(nèi)編碼方法進(jìn)行JPEG編碼;對(duì)于W幀,本發(fā)明實(shí)施例的原始視頻序列格式為176*144的QCIF格式,其中采樣格式為YCbCr4:2:0,所以在進(jìn)行數(shù)據(jù)處理時(shí),本發(fā)明實(shí)施例將一幀數(shù)據(jù)分割成6部分進(jìn)行處理,即將Y分量劃分成4份,U、V分量各1份的88*72大小的數(shù)據(jù),對(duì)每一部分先進(jìn)行離散余弦變換(Discrete Cosine Transform,DCT),然后經(jīng)過量化后再進(jìn)行LDPC編碼,這種編碼方式是基于變換域的編碼方式,編碼完成后的數(shù)據(jù)按每一幀一個(gè)文件在緩沖區(qū)保存起來;對(duì)于每一幀W幀,需要根據(jù)當(dāng)前幀跟前一幀的數(shù)據(jù),先通過三步法進(jìn)行運(yùn)動(dòng)估計(jì)算出兩者之間的對(duì)于每一像素點(diǎn)的X、Y偏移量,然后計(jì)算算出經(jīng)過離散余弦變換和量化后兩者之間每一像素點(diǎn)的冗余,利用這個(gè)冗余計(jì)算出相應(yīng)得拉普拉斯算子和信息熵,然后再將計(jì)算出來X偏移量、Y偏移量、拉普拉斯算子和信息熵?cái)?shù)據(jù)按每一幀一個(gè)文件保存起來。
[0043]其中,LDPC編碼器由LDPC校正子連接生成一個(gè)累加器構(gòu)成。信源比特位(X1,...,X8)根據(jù)LDPC的因子圖在校驗(yàn)節(jié)點(diǎn)端進(jìn)行模2和,生成校驗(yàn)位(S1,...,S8),校驗(yàn)位依次模2和產(chǎn)生累積校驗(yàn)位(a1;...,a8)。編碼器將所述累積校驗(yàn)位存儲(chǔ)緩在沖器中,逐次遞增地傳遞給解碼端。最初只傳遞符合最小理論速率的一小部分校正子,如果解碼失敗,則接著增加所需傳遞的校正子。
[0044]在W幀的解碼過程中,運(yùn)用到的拉普拉斯的計(jì)算公式為:
[0045]
【權(quán)利要求】
1.一種復(fù)雜度均衡的視頻編碼方法,其特征在于,包括以下步驟: 步驟Ol:將原始視頻序列按GOP分為K幀和W幀; 步驟02:對(duì)于K幀,采用幀內(nèi)編碼方法進(jìn)行編碼; 步驟03:對(duì)于W幀,采用LDPC進(jìn)行編碼; 步驟04:對(duì)于每一幀W幀,同時(shí)計(jì)算出相應(yīng)的偏移量、拉普拉斯算子和信息熵。
2.如權(quán)利要求1所述的復(fù)雜度均衡的視頻編碼方法,其特征在于,所述步驟02的統(tǒng)幀內(nèi)編碼方法為JPEG編碼。
3.如權(quán)利要求1所述的復(fù)雜度均衡的視頻編碼方法,其特征在于,所述步驟03之前還包括:將每一 W幀數(shù)據(jù)分割成6部分進(jìn)行處理,其中,Y分量占4份,U、V分量各占一份,對(duì)每一部分先進(jìn)行離散余弦變換,然后經(jīng)過均勻量化后再進(jìn)行LDPC編碼。
4.如權(quán)利要求1所述的復(fù)雜度均衡的視頻編碼方法,其特征在于,所述步驟04之前還包括:將每一 W幀數(shù)據(jù)先進(jìn)行離散余弦變換,然后進(jìn)行均勻量化。
5.如權(quán)利要求4所述的復(fù)雜度均衡的視頻編碼方法,其特征在于,所述步驟04進(jìn)一步包括:對(duì)于每一幀W幀,分別根據(jù)當(dāng)前幀跟前一幀的數(shù)據(jù),先進(jìn)行運(yùn)動(dòng)估計(jì)算出兩者之間的對(duì)于每一像素點(diǎn)的X、Y偏移量,然后計(jì)算出經(jīng)過離散余弦變換和均勻量化后兩者之間每一像素點(diǎn)的冗余,根據(jù)所述冗余計(jì)算出相應(yīng)的拉普拉斯算子和信息熵,并將計(jì)算出來的X偏移量、Y偏移量、拉普拉斯算子和信息熵?cái)?shù)據(jù)按每一幀一個(gè)文件保存起來。
6.—種如權(quán)利要求1所述的復(fù)雜度均衡的視頻編碼方法的解碼方法,其特征在于,包括以下步驟: 步驟11:采用與編碼端相同的GOP進(jìn)行幀分類,分為已編碼K幀和已編碼W幀;` 步驟12:對(duì)于已編碼K幀數(shù)據(jù),采用對(duì)應(yīng)的幀內(nèi)解碼方法進(jìn)行解碼,得到解碼后的K幀數(shù)據(jù); 步驟13:向編碼端請(qǐng)求偏移量數(shù)據(jù)、拉普拉斯算子數(shù)據(jù)和信息熵?cái)?shù)據(jù); 步驟14:利用已接收的信息熵來估計(jì)請(qǐng)求的已編碼W幀的碼率; 步驟15:利用解碼后的K幀數(shù)據(jù)計(jì)算出當(dāng)前W幀的邊信息; 步驟16:按估計(jì)的已編碼W幀碼率向編碼端請(qǐng)求已編碼的W幀數(shù)據(jù),聯(lián)合邊信息、拉普拉斯算子和偏移量數(shù)據(jù)進(jìn)行LDPC解碼得到解碼后的W幀數(shù)據(jù)。
7.如權(quán)利要求6所述的復(fù)雜度均衡的視頻編碼方法的解碼方法,其特征在于,所述步驟12的幀內(nèi)解碼方式為JPEG解碼。
8.如權(quán)利要求6所述的復(fù)雜度均衡的視頻編碼方法的解碼方法,其特征在于,所述步驟16中進(jìn)行LDPC解碼后,再通過反離散余弦變換和反量化進(jìn)行圖像重構(gòu)得到解碼后的W幀數(shù)據(jù)。
9.如權(quán)利要求6所述的復(fù)雜度均衡的視頻編碼方法的解碼方法,其特征在于,所述步驟15進(jìn)一步包括:對(duì)已解碼的K幀數(shù)據(jù)進(jìn)行幀間內(nèi)插或外推,然后進(jìn)行離散余弦變換,再計(jì)算邊信息。
10.如權(quán)利要求6所述的復(fù)雜度均衡的視頻編碼方法的解碼方法,其特征在于,所述步驟16中解碼過程中,先用偏移量數(shù)據(jù)進(jìn)行初始化,然后用邊信息和拉普拉斯算子通過聯(lián)合位平面解碼和信息傳遞位解碼計(jì)算出對(duì)數(shù)似然比率,再根據(jù)對(duì)數(shù)似然比率進(jìn)行軟判決解碼,如果軟判決解碼不成功,解碼端就會(huì)增大請(qǐng)求碼率通過反饋信道向編碼端請(qǐng)求更多的增量已編碼W幀數(shù)據(jù),解碼請(qǐng)·求過程一直重復(fù)下去,直到軟判決解碼成功。
【文檔編號(hào)】H04N19/177GK103826122SQ201310524894
【公開日】2014年5月28日 申請(qǐng)日期:2013年10月25日 優(yōu)先權(quán)日:2013年10月25日
【發(fā)明者】蔡述庭, 林卓勝, 尹明, 王欽若 申請(qǐng)人:廣東工業(yè)大學(xué)