專利名稱:基于時空鄰居信息的后向預(yù)測方法
技術(shù)領(lǐng)域:
本發(fā)明涉及視頻編碼技術(shù)領(lǐng)域,尤其涉及一種基于時空鄰居信息的后向預(yù)測方法。
背景技術(shù):
最新的國際視頻標(biāo)準(zhǔn)H.264/AVC與以往的視頻編碼標(biāo)準(zhǔn)相比,在壓縮性能方面取得了明顯的進(jìn)步,H.264標(biāo)準(zhǔn)之所以能取得如此大的增益,是因為它引入了很多先進(jìn)的視頻編碼技術(shù),其中最重要的技術(shù)之一是基于塊匹配的幀間預(yù)測技術(shù)。
基于塊匹配的幀間預(yù)測技術(shù)為一種“前向預(yù)測”技術(shù),該方法的特點(diǎn)是編碼端通過對原始圖像進(jìn)行運(yùn)動估計,得到對應(yīng)的運(yùn)動矢量并將其打包傳輸?shù)浇獯a端;解碼端通過解析運(yùn)動矢量信息,結(jié)合殘差數(shù)據(jù)可恢復(fù)出對應(yīng)的重建圖像。前向預(yù)測由于具有位移跟蹤能力強(qiáng)、實現(xiàn)簡單等優(yōu)點(diǎn),在一系列視頻編碼標(biāo)準(zhǔn)中得以使用,但是也存在著一定的缺陷雖然對描述線性運(yùn)動具有很好的精確度,但是當(dāng)圖像中物體運(yùn)動更為復(fù)雜時,該方法就無法得到很好的效果;并且,當(dāng)最優(yōu)編碼模式是小塊模式時,編碼器需要編碼并傳輸更多的運(yùn)動矢量信息,導(dǎo)致增加了較多的比特數(shù)。
為了改善這一問題,“后向預(yù)測”技術(shù)獲得了國內(nèi)外學(xué)者越來越多的關(guān)注。后向預(yù)測不需要將運(yùn)動矢量嵌入碼流中,編、解碼器事先設(shè)計好對應(yīng)的計算規(guī)則,解碼器可以利用編碼器傳輸過來的隱含信息計算出對應(yīng)的運(yùn)動信息。
Xin Li提出了一種基于時空局部自學(xué)習(xí)模型(Spatio-Temporal Adaptive Localized Learning,STALL)的像素級視頻處理框架(參見文獻(xiàn)1),在該框架下通過局部時空線性預(yù)測來計算當(dāng)前像素點(diǎn)的值,從而構(gòu)建起一套基于像素級的視頻編解碼器。不過當(dāng)前視頻編碼標(biāo)準(zhǔn)的有損壓縮應(yīng)用中都是基于塊級的處理框架,使得Xin Li提出的這種像素級后向預(yù)測技術(shù)還無法適用于當(dāng)前視頻編碼標(biāo)準(zhǔn)的有損壓縮中。
文獻(xiàn)1Li Xin,“Video Processing Via Implicit and Mixture Motion Models,”IEEETransactions on Circuits and Systems for Video Technology,vol.17,no.8,pp.953-963,2007.
發(fā)明內(nèi)容
本發(fā)明的目的是提供一種基于時空鄰居點(diǎn)的后向預(yù)測方法,改善前向預(yù)測必須編碼運(yùn)動矢量邊信息而導(dǎo)致增加編碼比特數(shù)、降低壓縮效率的問題。
為達(dá)到上述目的,本發(fā)明采用如下的技術(shù)方案 ①選擇局部空域鄰居像素的步驟,該步驟選擇當(dāng)前圖像中當(dāng)前編碼塊周圍的已編碼塊的像素點(diǎn)來進(jìn)行線性預(yù)測; ②選擇局部時域鄰居像素的步驟,該步驟選擇當(dāng)前圖像的參考幀中的像素點(diǎn)用來進(jìn)行線性預(yù)測; ③設(shè)置時空樣本訓(xùn)練窗口的步驟,該步驟把當(dāng)前圖像的參考幀中至少一幀的若干像素點(diǎn)設(shè)置為樣本訓(xùn)練點(diǎn),從而組成樣本訓(xùn)練集合; ④求解線性預(yù)測權(quán)值矩陣的步驟,該步驟在步驟③所設(shè)置的訓(xùn)練樣本集內(nèi),依據(jù)求解最小二乘問題的方法求得線性預(yù)測權(quán)值矩陣的局部最優(yōu)解; ⑤進(jìn)行基于時空鄰居點(diǎn)的后向預(yù)測的步驟,該步驟用步驟④中求得的線性預(yù)測權(quán)值矩陣作為線性加權(quán)的權(quán)值,對步驟①中確定的空域鄰居像素點(diǎn)和步驟②中確定的時域鄰居像素點(diǎn)進(jìn)行線性加權(quán),從而預(yù)測出當(dāng)前圖像的當(dāng)前編碼塊中每個像素的預(yù)測值; ⑥預(yù)測模式集成的步驟,該步驟把步驟⑤中當(dāng)前編碼塊的線性預(yù)測值,作為一種新的宏塊幀間預(yù)測模式集成到視頻編碼框架中的幀間預(yù)測模式集合中。
所述步驟①中,選擇周圍的已編碼塊的像素點(diǎn),分別來自當(dāng)前編碼塊的左邊塊、上邊塊、左上邊塊中的9個像素點(diǎn)。
選擇局部時域鄰居像素點(diǎn),為當(dāng)前圖像的前一參考幀中3×3大小的9個像素點(diǎn)。
所述步驟③中,設(shè)置樣本訓(xùn)練集,為當(dāng)前圖像的若干參考幀中范圍為 W(T1,T2)=[-T1,T1]×[-T1,T1]×[-T2,-1]的區(qū)域,其中,T1表示訓(xùn)練集的空域范圍,T2表示訓(xùn)練窗口的時域范圍,單位為像素個數(shù)。
所述步驟④中線性預(yù)測權(quán)值矩陣求解,為將M個訓(xùn)練樣本數(shù)據(jù)記為一個M×1大小的列向量
將N個時空鄰居像素點(diǎn)記為一個1×N大小的行向量
利用
和
生成一個M×N的協(xié)方差矩陣C,根據(jù)公式計算得到線性預(yù)測權(quán)值矩陣
所述步驟⑤中的后向預(yù)測,為將線性預(yù)測權(quán)值矩陣
和N個時空域鄰居像素點(diǎn)
根據(jù)公式進(jìn)行線性加權(quán),從而預(yù)測出當(dāng)前圖像的當(dāng)前編碼塊中每個像素的預(yù)測值。
本發(fā)明具有以下優(yōu)點(diǎn)和積極效果 1)通過增加一種基于后向預(yù)測的幀間宏塊預(yù)測模式,減少了碼流中運(yùn)動矢量邊信息的比特數(shù); 2)結(jié)合現(xiàn)有標(biāo)準(zhǔn)中的前向預(yù)測模式,提高了幀間預(yù)測的壓縮效率;
圖1是本發(fā)明提供的基于時空鄰居點(diǎn)的后向預(yù)測方法的流程圖。
圖2是本發(fā)明提供的基于時空鄰居點(diǎn)的后向預(yù)測方法的一個實施例的示意圖。
圖3是本發(fā)明中空域鄰居像素點(diǎn)選擇示意圖。
圖4是本發(fā)明中時域鄰居像素點(diǎn)選擇示意圖。
具體實施例方式 本發(fā)明提出的基于時空鄰居信息的后向預(yù)測方法,根據(jù)視頻在小范圍內(nèi)屬于穩(wěn)態(tài)分布、具有時空相似性的特點(diǎn),利用當(dāng)前圖像總當(dāng)前編碼塊的時域、空域鄰居像素的內(nèi)容相似性來線性預(yù)測當(dāng)前編碼塊的像素值,具體采用如下技術(shù)方案,如圖1所示,包括以下步驟 1、選擇局部空域鄰居像素(11),該步驟選擇當(dāng)前圖像中當(dāng)前編碼塊周圍的已編碼塊的像素點(diǎn)來進(jìn)行線性預(yù)測; 2、選擇局部時域鄰居像素(12),該步驟選擇當(dāng)前圖像的參考幀中的像素點(diǎn)用來進(jìn)行線性預(yù)測; 3、設(shè)置時空樣本訓(xùn)練窗口(13),該步驟把當(dāng)前圖像的參考幀中至少一幀的若干像素點(diǎn)設(shè)置為樣本訓(xùn)練點(diǎn),從而組成樣本訓(xùn)練集合; 4、求解線性預(yù)測權(quán)值矩陣(14),該步驟在步驟3所設(shè)置的訓(xùn)練樣本集內(nèi),依據(jù)求解最小二乘問題的方法求得線性預(yù)測權(quán)值矩陣的局部最優(yōu)解; 5、進(jìn)行基于時空鄰居點(diǎn)的后向預(yù)測(15),該步驟用步驟4中求得的線性預(yù)測權(quán)值矩陣作為線性加權(quán)的權(quán)值,對步驟1中確定的空域鄰居像素點(diǎn)和步驟2中確定的時域鄰居像素點(diǎn)進(jìn)行線性加權(quán),從而預(yù)測出當(dāng)前圖像的當(dāng)前編碼塊中每個像素的預(yù)測值; 6、預(yù)測模式集成(16),該步驟把步驟5中當(dāng)前編碼塊的線性預(yù)測值,作為一種新的宏塊幀間預(yù)測模式集成到視頻編碼框架中的幀間預(yù)測模式集合中。
上述所述的基于時空鄰居點(diǎn)的后向預(yù)測方法,在步驟1中,選擇局部空域鄰居像素點(diǎn),分別來自當(dāng)前編碼塊的左邊塊、上邊塊、左上邊塊中的9個像素點(diǎn); 步驟2中,選擇局部時域鄰居像素點(diǎn),為當(dāng)前圖像的前一參考幀中3×3大小的9個像素點(diǎn); 步驟3中,設(shè)置樣本訓(xùn)練集,為當(dāng)前圖像的若干參考幀中范圍為 W(T1,T2)=[-T1,T1]×[-T1,T1]×[-T2,-1]的區(qū)域,其中,T1表示訓(xùn)練集的空域范圍,T2表示訓(xùn)練窗口的時域范圍,單位為像素個數(shù); 步驟4中線性預(yù)測權(quán)值矩陣求解,為將訓(xùn)練樣本數(shù)據(jù)(共M個)記為一個M×1大小的列向量
將時空鄰居像素點(diǎn)(共N個)記為一個1×N大小的行向量
利用
和
生成一個M×N的協(xié)方差矩陣C,根據(jù)公式計算得到線性預(yù)測權(quán)值矩陣
步驟5中的后向預(yù)測,為將線性預(yù)測權(quán)值矩陣
和N個時空域鄰居像素點(diǎn)
根據(jù)公式進(jìn)行線性加權(quán),從而預(yù)測出當(dāng)前圖像的當(dāng)前編碼塊中每個像素的預(yù)測值。
下面再以具體實施例結(jié)合附圖2對本發(fā)明提供的基于時空鄰居點(diǎn)的后向預(yù)測方法作進(jìn)一步說明 采用H.264的參考軟件JM12.4作為編碼器,編碼類型為IPPPPP,參考幀個數(shù)為3,打開RDO選項,選取QCIF分辨率大小(176×144)的claire序列作為測試序列,以編碼claire序列中第4幀圖像的第13個宏塊為例,具體實施步驟如下 1、局部空域鄰居像素的選擇(23) 對于第4幀圖像的第13個宏塊首先以4×4塊為單元將宏塊分成16個4×4塊。對于每個4×4塊而言,選擇9個點(diǎn)作為空域鄰居點(diǎn),如圖3所示,4×4塊為當(dāng)前編碼塊;9個黑色圓點(diǎn)為局部空域鄰居像素點(diǎn),分別來自當(dāng)前編碼塊周圍已編碼完的左邊塊、上邊塊和左上塊; 當(dāng)前編碼4×4塊內(nèi)部的所有16個待編碼的像素點(diǎn)都使用這9個鄰居像素點(diǎn)來進(jìn)行線性預(yù)測。
2、局部時域鄰居像素的選擇(24) 在參考幀隊列中對第3幀參考幀進(jìn)行相似度搜索,從而找到當(dāng)前編碼塊中待編碼像素的最近似像素點(diǎn),設(shè)為當(dāng)前編碼4×4塊中待編碼像素點(diǎn)的配準(zhǔn)像素點(diǎn),如圖4所示。對于當(dāng)前編碼4×4塊內(nèi)部的每個待編碼像素點(diǎn)而言,選擇以配準(zhǔn)像素點(diǎn)為中心的3×3面積大小的9個像素作為時域鄰居點(diǎn)來進(jìn)行線性計算。
3、設(shè)置時空樣本訓(xùn)練窗口(25) 定義一個三維長度為(3,3,2)的訓(xùn)練集合W W=[-31,31]×[-31,31]×[-2,-1] 4、線性預(yù)測權(quán)值矩陣求解(26) 將訓(xùn)練樣本數(shù)據(jù)(共7×7×2=98個)記為一個98×1大小的列向量
將18個(9+9=18)時/空鄰居像素點(diǎn)記為一個1×18大小的行向量
利用
和
生成一個98×18的協(xié)方差矩陣C。根據(jù)公式計算得到18×1大小的線性預(yù)測權(quán)值矩陣
5、基于時空鄰居點(diǎn)的后向預(yù)測(17) 將線性預(yù)測權(quán)值矩陣
和18個時/空域鄰居像素點(diǎn)
根據(jù)公式進(jìn)行線性加權(quán),從而預(yù)測出當(dāng)前圖像中正在編碼的4×4塊中每個像素的預(yù)測值。依此來推,可得到16個4×4塊的像素預(yù)測值,從而得到當(dāng)前編碼宏塊的預(yù)測值。
6、預(yù)測模式集成 將本發(fā)明的后向預(yù)測方法作為H.264標(biāo)準(zhǔn)中針對P幀的一種新的幀間預(yù)測模式(LSP模式),編碼器基于率失真選擇策略從H.264標(biāo)準(zhǔn)中現(xiàn)有的各種幀間預(yù)測模式和新增加的LSP模式中選擇出最優(yōu)編碼模式,率失真代價函數(shù)如下所示 J(s,c,mode|QP,λmode)=D(s,c,mode|QP)+λmode·R(s,c,mode|QP) 為了驗證本發(fā)明后向預(yù)測方法的有效性,將本發(fā)明方法和H.264標(biāo)準(zhǔn)進(jìn)行比較,表1給出了3個QCIF和3個416×240序列的編碼圖像峰值信噪比PSNR增益和碼率節(jié)省結(jié)果,從中可以看出本發(fā)明具有更佳的壓縮效率 表1 QCIF、416×240序列亮度分量測試結(jié)果
權(quán)利要求
1.一種基于時空鄰居信息的后向預(yù)測方法,其特征在于,包括以下步驟
①選擇局部空域鄰居像素的步驟,該步驟選擇當(dāng)前圖像中當(dāng)前編碼塊周圍的已編碼塊的像素點(diǎn)來進(jìn)行線性預(yù)測;
②選擇局部時域鄰居像素的步驟,該步驟選擇當(dāng)前圖像的參考幀中的像素點(diǎn)來進(jìn)行線性預(yù)測;
③設(shè)置時空樣本訓(xùn)練窗口的步驟,該步驟把當(dāng)前圖像的參考幀中至少一幀的若干像素點(diǎn)設(shè)置為樣本訓(xùn)練點(diǎn),從而組成樣本訓(xùn)練集合;
④求解線性預(yù)測權(quán)值矩陣的步驟,該步驟在步驟③所設(shè)置的訓(xùn)練樣本集內(nèi),依據(jù)求解最小二乘問題的方法求得線性預(yù)測權(quán)值矩陣的局部最優(yōu)解;
⑤進(jìn)行基于時空鄰居點(diǎn)的后向預(yù)測的步驟,該步驟用步驟④中求得的線性預(yù)測權(quán)值矩陣作為線性加權(quán)的權(quán)值,對步驟①中確定的空域鄰居像素點(diǎn)和步驟②中確定的時域鄰居像素點(diǎn)進(jìn)行線性加權(quán),從而預(yù)測出當(dāng)前圖像的當(dāng)前編碼塊中每個像素的預(yù)測值;
⑥預(yù)測模式集成的步驟,該步驟把步驟⑤中當(dāng)前編碼塊的線性預(yù)測值,作為一種新的宏塊幀間預(yù)測模式集成到視頻編碼框架中的幀間預(yù)測模式集合中。
2.根據(jù)權(quán)利要求1所述的基于時空鄰居信息的后向預(yù)測方法,其特征在于
所述步驟①中,選擇周圍的已編碼塊的像素點(diǎn),分別來自當(dāng)前編碼塊的左邊塊、上邊塊、左上邊塊中的9個像素點(diǎn)。
3.根據(jù)權(quán)利要求1所述的基于時空鄰居信息的后向預(yù)測方法,其特征在于
選擇局部時域鄰居像素點(diǎn),為當(dāng)前圖像的前一參考幀中3×3大小的9個像素點(diǎn)。
4.根據(jù)權(quán)利要求1、2、3中任一項所述的基于時空鄰居信息的后向預(yù)測方法,其特征在于
所述步驟③中,設(shè)置樣本訓(xùn)練集,為當(dāng)前圖像的若干參考幀中范圍為
W(T1,T2)=[-T1,T1]×[-T1,T1]×[-T2,-1]的區(qū)域,其中,T1表示訓(xùn)練集的空域范圍,T2表示訓(xùn)練窗口的時域范圍,單位為像素個數(shù)。
5.根據(jù)權(quán)利要求4所述的基于時空鄰居信息的后向預(yù)測方法,其特征在于
所述步驟④中線性預(yù)測權(quán)值矩陣求解,為將M個訓(xùn)練樣本數(shù)據(jù)記為一個M×1大小的列向量
將N個時空鄰居像素點(diǎn)記為一個1×N大小的行向量
利用
和
生成一個M×N的協(xié)方差矩陣C,根據(jù)公式計算得到線性預(yù)測權(quán)值矩陣
6.根據(jù)權(quán)利要求5所述的基于時空鄰居信息的后向預(yù)測方法,其特征在于
所述步驟⑤中的后向預(yù)測,為將線性預(yù)測權(quán)值矩陣
和N個時空域鄰居像素點(diǎn)
根據(jù)公式進(jìn)行線性加權(quán),從而預(yù)測出當(dāng)前圖像的當(dāng)前編碼塊中每個像素的預(yù)測值。
全文摘要
本發(fā)明涉及視頻編碼技術(shù)領(lǐng)域,尤其涉及一種基于時空鄰居點(diǎn)的后向預(yù)測方法。本發(fā)明包括選擇局部空域鄰居像素的步驟、選擇局部時域鄰居像素的步驟、設(shè)置時空樣本訓(xùn)練窗口的步驟、求解線性預(yù)測權(quán)值矩陣的步驟、進(jìn)行基于時空鄰居點(diǎn)的后向預(yù)測的步驟、預(yù)測模式集成的步驟。本發(fā)明通過增加一種基于后向預(yù)測的幀間宏塊預(yù)測模式,結(jié)合現(xiàn)有標(biāo)準(zhǔn)中的前向預(yù)測模式,從而提高了幀間預(yù)測效率。
文檔編號H04N7/32GK101783956SQ20101010737
公開日2010年7月21日 申請日期2010年2月3日 優(yōu)先權(quán)日2010年2月3日
發(fā)明者胡瑞敏, 陳皓, 鐘睿, 毛丹 申請人:武漢大學(xué)