專利名稱:一種運動估計方法及裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及視頻編碼技術(shù)領(lǐng)域,尤其涉及一種運動估計方法及裝置。
背景技術(shù):
運動估計是一種描述相鄰幀差別的方法,具體來說是描述前面一幀的每個 小塊怎么樣移動當(dāng)前幀中的某個位置去,這種方法經(jīng)常凈皮-f見頻壓縮/視頻編解 碼器用來減少視頻序列中的時域冗余。
在11264標(biāo)準(zhǔn)中釆用了不同大小和形狀的宏塊分割與亞分割的方法。 一個 宏塊的16x16亮度值可以按照16x16、 8x16、 16x8或8x8進4亍分割;而如果 選擇了 8x8分割,還可以按照8x8、 8x4、 4x8或4x4進行亞分割,如圖l所 示。這些宏塊分割與亞分割的方法將宏塊劃分為不同的子塊。利用各種子塊進 行運動估計的方法我們將稱為樹結(jié)構(gòu)的運動估計(tree structured motion estimation )。
一般情況下大的分塊方式(16x16、 16x8或8x16)適合視頻運動平緩或 者無運動情況,表達MV (運動向量)所需的比特數(shù)也會較少。小的分塊方式 (8x8、 8x4、 4x8或4x4)適合運動劇烈或者圖像畫面復(fù)雜的情況,不過表達 MV所需的比特數(shù)也會相應(yīng)的增加。因此對于分塊的選擇將會對壓縮效果有著 重大的影響。實驗i正明,分塊大小為8x8以下(不包含8x8)的子塊在運動估 計過程中對提高壓縮率和視頻質(zhì)量的貢獻不大。
發(fā)明內(nèi)容
為了解決上述問題,本發(fā)明的目的是提供一種運動估計方法及裝置,通過 將16x16的宏塊劃分為多個分塊模式,每個分塊模式包括多個大小不同的子 塊,從而可增加運動估計的匹配精度。
為了達到上述目的,本發(fā)明提供一種運動估計方法,所述方法包括 將16x 16的宏塊劃分為多個分塊模式,每個所述分塊模式包括多個大小 不同的子塊;
在參考幀圖像中搜索并獲得與每一種分塊^t式中的多個子塊匹配的預(yù)測 塊,并得到對應(yīng)的每一個子塊的運動向量;
當(dāng)搜索結(jié)束時,在所述多個分塊模式中選擇最優(yōu)的分塊模式。
優(yōu)選地,所述將16 x 16的宏塊劃分為多個分塊模式的步驟具體包括
將一個所述16 x 16的宏塊劃分為一個位于所述16 x 16的宏塊上部16 x 8 的子塊,和兩個位于所述16xl6的宏塊下部8x8的子塊;和/或,
將一個所述16 x 16的宏塊劃分為兩個位于所述16 x 16的宏塊上部的8 x 8的子塊,和一個位于所述16 x 16的宏塊下部的16 x 8的子塊;和/或,
將一個所述16 x 16的宏塊劃分為一個位于所述16 x 16的宏塊左側(cè)的8 x 16的子塊,和兩個位于所述16xl6的宏塊右側(cè)的8x8的子塊;和/或
將一個所述16 x 16的宏塊劃分為兩個位于所述16 x 16的宏塊左側(cè)的8 x 8的子塊,和一個位于所述16 x 16的宏塊右側(cè)的8 x 16的子塊。
優(yōu)選地,所述在所述多個分塊模式中選擇最優(yōu)的分塊模式的步驟具體為
根據(jù)率失真代價函數(shù)來選擇最優(yōu)的分塊模式。
本發(fā)明還才是供一種運動估計裝置,包括
劃分才莫塊,用于將16 x 16的宏塊劃分為多個分塊4莫式,每個所述分塊模 式包括多個大小不同的子塊;
估計模塊,用于在參考幀圖像中搜索并獲得與每種分塊模式中的多個子塊 匹配的預(yù)測塊,并得到對應(yīng)的每個子塊的運動向量;
選擇模塊,用于在搜索結(jié)束時,在所述多個分塊模式中選擇最優(yōu)的分塊模式。
優(yōu)選地,所述劃分模塊包括
第一劃分單元,用于將一個所述16 x 16的宏塊劃分為一個位于所述16 x 16的宏塊上部16 x 8的子塊,和兩個位于所述16 x 16的宏塊下部8x8的子 塊。
優(yōu)選地,所述劃分^t塊還包括
第二劃分單元,用于將一個所述16 x 16的宏塊劃分為兩個位于所述16 x
16的宏塊上部的8x8的子塊,和一個位于所述16 x 16的宏塊下部的16x8 的子塊。
優(yōu)選地,所述劃分^^莫塊還包括
第三劃分單元,用于將一個所述16 x 16的宏塊劃分為一個位于所述16 x 16的宏塊左側(cè)的8x16的子塊,和兩個位于所述16 x 16的宏塊右側(cè)的8x8 的子塊。
優(yōu)選地,所述劃分^t塊還包括
第四劃分單元,用于將一個所述16x 16的宏塊劃分為兩個位于所述16x 16的宏塊左側(cè)的8x8的子塊,和一個位于所述16 x 16的宏塊右側(cè)的8 x 16 的子塊。
上述技術(shù)方案中的一個技術(shù)方案具有如下有益效果通過將16x16的宏塊 劃分為多個分塊模式,每個分塊模式包括多個大小不同的子塊,例如可將 16x16的宏塊劃分為一個位于16 x 16的宏塊上部16 x 8的子塊,和兩個位于 16 x 16的宏塊下部8x8的子塊,采用這種分塊模式可獲得更好的匹配效果, 提高了運動估計過程的匹配精度。
圖1為11264標(biāo)準(zhǔn)中的宏塊和子塊分區(qū)示意圖; 圖2為本發(fā)明的實施例中子塊分區(qū)示意圖; 圖3為本發(fā)明的實施例中運動估計方法流程圖; 圖4為本發(fā)明的實施例中運動估計裝置框圖。
具體實施例方式
為了使本發(fā)明實施例的目的、技術(shù)方案和優(yōu)點更加清楚明白,下面結(jié)合實 施例和附圖,對本發(fā)明實施例做進一步詳細地說明。在此,本發(fā)明的示意性實 施例及說明用于解釋本發(fā)明,但并不作為對本發(fā)明的限定。
本發(fā)明的實施例提供一種運動估計方法,通過將16x16的宏塊劃分為多個 分塊模式,其中每個分塊模式包括多個大小不同的子塊,可提高運動估計過程 的匹配精度,并且新型的分塊才莫式釆用了較少的子塊個數(shù),進而減少了需要描
述運動向量MV ( Motion Vector)的個數(shù)的比特數(shù)。
為了便于理解本發(fā)明的實施例,下面結(jié)合附圖對本發(fā)明的實施例進行詳細 的說明。如圖3所示,為本發(fā)明的實施例中運動估計方法流程圖,具體步驟如 下
步驟301、將16x 16的宏塊劃分為多個分塊模式,每個分塊模式包括多 個大小不同的子塊;
在編碼當(dāng)前幀圖像時,需要把整個圖像分為若干個宏塊(宏塊是編碼的基 本單元,為16xl6的宏塊)參見圖2,在本實施例中,將16xl6的宏塊劃分為 多個分塊模式,該分塊模式包括以下四種方式中的任意一種或多種
( 一 )、將一個16 x 16的宏塊劃分為由一個位于16 x 16的宏塊上部16 x 8的子塊,和兩個位于16 x 16的宏塊下部8x8的子塊;
(二) 、將一個16x 16的宏塊劃分為由兩個位于16 x 16的宏塊上部的8 x 8的子塊,和一個位于16 x 16的宏塊下部的16x8的子塊;
(三) 、將一個16 x 16的宏塊劃分為由一個位于16 x 16的宏塊左側(cè)的8 x 16的子塊,和兩個位于16 x 16的宏塊右側(cè)的8x8的子塊;
(四) 、將一個16 x 16的宏塊劃分為由兩個位于16 x 16的宏塊左側(cè)的8 x 8的子塊,和一個位于16 x 16的宏塊右側(cè)的8x16的子塊。
并且在實施本還可結(jié)合H.264標(biāo)準(zhǔn)中的16x 16、 16x8、 8x16、 8x8四 種現(xiàn)有的分塊模式來進行運動估計,該現(xiàn)有的分塊模式在此就不再敷述。
在本實施例中,通過將16x16的宏塊劃分為不同的分塊模式,從而在增加 參考塊與當(dāng)前塊匹配的準(zhǔn)確性的同時,減少了需要傳輸?shù)倪\動向量的個數(shù),同 時也增加了運動估計的匹配精度。上述新增的子塊劃分方式在降低運動估計誤 差和減少表達MV所需比特數(shù)方面優(yōu)于H.264標(biāo)準(zhǔn)中的8x8以下的宏塊劃分 方式。
步驟302、在參考幀圖像中搜索并獲得與每一種分塊模式中的多個子塊匹 配的預(yù)測塊,并得到對應(yīng)的每個子塊的運動向量。
在本步驟中,若將16x16的宏塊劃分為16x8、 8x8和8x8三種子宏塊, 在執(zhí)行步驟302時,每一個宏塊按照行優(yōu)先的方式來編碼,先將16x8子宏塊 到參考幀中去搜索,得到一個16x8的匹配塊,同時得到一組運動向量MV;
再分別把下面的兩個8x8子宏塊到參考幀去搜索,分別得到兩個8x8的匹配 塊,同時又得到兩組運動向量MV,也就是說對應(yīng)于這個分塊模式,經(jīng)過搜索, 會得到三組運動向量MV,上述三組運動向量MV就分別指向了三個不同的塊 作為當(dāng)前分塊中16x8、 8x8、以及8x8子宏塊匹配的預(yù)測塊,并將搜索到的預(yù) 測塊的位置信息也就是運動向量MV傳給解碼端,這樣解碼端就可以按照該 運動向量MV找到預(yù)測塊的位置。
步驟303、在搜索結(jié)束時,還可在該多個分塊模式中選擇最優(yōu)的分塊模式;
例如當(dāng)其他的分塊模式也搜索結(jié)束時,可選擇參考塊和當(dāng)前塊的SAD(差 的絕對值的和)小,和/或者需要傳輸?shù)谋忍財?shù)少的分塊模式作為最優(yōu)的分塊 模式。選擇的標(biāo)準(zhǔn)是率失真代價函數(shù)SAD+入Rate (拉格朗日最小二乘法)。
為了實現(xiàn)上述的方法實施例,本發(fā)明的其他實施例還提供了 一種運動估計 裝置。另需首先說明的是,由于下述的實施例是為實現(xiàn)前述的方法實施例,故 該裝置中的模塊都是為了實現(xiàn)前述方法的各步驟而設(shè),但本發(fā)明并不限于下述 的實施例,任何可實現(xiàn)上述方法的裝置和模塊都應(yīng)包含于本發(fā)明的保護范圍。 并且在下面的描述中,與前述方法相同的內(nèi)容在此省略,以節(jié)約篇幅。
如圖4所示,.為本發(fā)明的實施例中運動估計裝置框圖,由圖中可知,該運 動估計裝置,包括
劃分模塊41,用于將16xl6的宏塊劃分為多個分塊模式,每個分塊模式 包括多個大小不同的子塊;
估計模塊42,用于在參考幀圖像中搜索并獲得與每種分塊模式中的多個 子塊匹配的預(yù)測塊,并得到對應(yīng)的每個子塊的運動向量;
選擇模塊43,用于在搜索結(jié)束時,在所述多個分塊模式中選擇最優(yōu)的分 塊模式。
在本發(fā)明的另一實施例中,該劃分模塊41包括
第一劃分單元411,用于將一個16 x 16的宏塊劃分為一個位于16x 16的 宏塊上部16x8的子塊,和兩個位于16 x 16的宏塊下部8x8的子塊。 在本發(fā)明的另 一實施例中,該劃分模塊41還包括
第二劃分單元412,用于將一個16 x 16的宏塊劃分為兩個位于16 x 16的 宏塊上部的8x8的子塊,和一個位于16 x 16的宏塊下部的16x8的子塊。
在本發(fā)明的另一實施例中,該劃分模塊41還包括
第三劃分單元413,用于將一個16 x 16的宏塊劃分為一個位于16x 16的 宏塊左側(cè)的8 x 16的子塊,和兩個位于16 x 16的宏塊右側(cè)的8x8的子塊。 在本發(fā)明的另一實施例中,該劃分模塊41還包括
第四劃分單元414,用于將一個16x16的宏塊劃分為兩個位于16 x 16的 宏塊左側(cè)的8x8的子塊,和一個位于16 x 16的宏塊右側(cè)的8x16的子塊。
由上述技術(shù)方案可知,通過將16x16的宏塊劃分為不同的分塊模式,例 如可將16x16的宏塊劃分為16x8、 8x8和8x8的三個子塊,從而在增加參考 塊與當(dāng)前塊匹配的準(zhǔn)確性的同時,減少了需要傳輸?shù)倪\動向量的個數(shù),同時也 增加了運動估計的匹配精度。
以上所述僅是本發(fā)明的優(yōu)選實施方式,應(yīng)當(dāng)指出,對于本技術(shù)領(lǐng)域的普通 技術(shù)人員來說,在不脫離本發(fā)明原理的前提下,還可以做出若千改進和潤飾, 這些改進和潤飾也應(yīng)^L為本發(fā)明的保護范圍。
權(quán)利要求
1.一種運動估計方法,其特征在于,所述方法包括將16×16的宏塊劃分為多個分塊模式,每個所述分塊模式包括多個大小不同的子塊;在參考幀圖像中搜索并獲得與每一種分塊模式中的多個子塊匹配的預(yù)測塊,并得到對應(yīng)的每一個子塊的運動向量;當(dāng)搜索結(jié)束時,在所述多個分塊模式中選擇最優(yōu)的分塊模式。
2. 根據(jù)權(quán)利要求1所述的方法,其特征在于,所述將16x 16的宏塊劃分 為多個分塊模式的步驟具體包括將一個所述16 x 16的宏塊劃分為一個位于所述16 x 16的宏塊上部16 x 8 的子塊,和兩個位于所述16x 16的宏塊下部8xg的子塊;和/或,將一個所述16 x 16的宏塊劃分為兩個位于所述16 x 16的宏塊上部的8 x 8的子塊,和一個位于所述16xl6的宏塊下部的16x8的子塊;和/或,將一個所述16 x 16的宏塊劃分為一個位于所述16 x 16的宏塊左側(cè)的8 x 16的子塊,和兩個位于所述16xl6的宏塊右側(cè)的8x8的子塊;和/或?qū)⒁粋€所述16 x 16的宏塊劃分為兩個位于所述16 x 16的宏塊左側(cè)的8 x 8的子塊,和一個位于所述16 x 16的宏塊右側(cè)的8 x 16的子塊。
3. 根據(jù)權(quán)利要求1所述的方法,其特征在于,所述在所述多個分塊模式 中選擇最優(yōu)的分塊模式的步驟具體為根據(jù)率失真代價函數(shù)來選擇最優(yōu)的分塊模式。
4. 一種運動估計裝置,其特征在于,包括劃分模塊,用于將16xl6的宏塊劃分為多個分塊模式,每個所述分塊模 式包括多個大小不同的子塊;估計模塊,用于在參考幀圖像中搜索并獲得與每種分塊模式中的多個子塊 匹配的預(yù)測塊,并得到對應(yīng)的每個子塊的運動向量;選擇模塊,用于在搜索結(jié)束時,在所述多個分塊模式中選擇最優(yōu)的分塊模式。
5. 根據(jù)權(quán)利要求4所述的裝置,其特征在于,所述劃分模塊包括 第一劃分單元,用于將一個所述16 x 16的宏塊劃分為一個位于所述16 x16的宏塊上部16 x 8的子塊,和兩個位于所述16 x 16的宏塊下部8x8的子塊。
6. 根據(jù)權(quán)利要求4所述的裝置,其特征在于,所述劃分模塊還包括 第二劃分單元,用于將一個所述16x 16的宏塊劃分為兩個位于所述16x16的宏塊上部的8x8的子塊,和一個位于所述16 x 16的宏塊下部的16x8 的子塊。
7. 根據(jù)權(quán)利要求4所述的裝置,其特征在于,所述劃分模塊還包括 第三劃分單元,用于將一個所述16 x 16的宏塊劃分為一個位于所述16 x16的宏塊左側(cè)的8x16的子塊,和兩個位于所述16 x 16的宏塊右側(cè)的8x8 的子塊。
8. 根據(jù)權(quán)利要求4所述的裝置,其特征在于,所述劃分模塊還包括 第四劃分單元,用于將一個所述16 x 16的宏塊劃分為兩個位于所述16 x16的宏塊左側(cè)的8x8的子塊,和一個位于所述16 x 16的宏塊右側(cè)的8 x 16 的子塊。
全文摘要
本發(fā)明公開一種運動估計方法及裝置,屬于視頻編碼技術(shù)領(lǐng)域,該方法包括將16×16的宏塊劃分為多個分塊模式,每個分塊模式包括多個大小不同的子塊;在參考幀圖像中搜索并獲得與每種分塊模式中的多個子塊匹配的預(yù)測塊,并得到對應(yīng)的每個子塊的運動向量。通過設(shè)計不同的分塊模式,將宏塊劃分為與AVC中不同的子塊,可增加運動估計的匹配精度。
文檔編號H04N7/26GK101350928SQ200810117340
公開日2009年1月21日 申請日期2008年7月29日 優(yōu)先權(quán)日2008年7月29日
發(fā)明者季鵬飛 申請人:北京中星微電子有限公司