專利名稱:一種幀類型自適應(yīng)選擇的視頻編碼方法及裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明屬于視頻處理技術(shù)領(lǐng)域,尤其涉及一種視頻編碼方法及裝置。
背景技術(shù):
在過去的幾十年里,視頻領(lǐng)域的兩大國(guó)際組織ISO-MPEG與ITU已經(jīng)相繼推出了一系列視頻壓縮標(biāo)準(zhǔn)如 MPEG-I、MPEG-2 和 MPEG-4 以及 H. 26UH. 263,H. 263+,H. 264/AVC 等, 中國(guó)也于2002年成立“數(shù)字視音頻編解碼技術(shù)標(biāo)準(zhǔn)化工作組”即AVS組織,2005年完成并已成為國(guó)家標(biāo)準(zhǔn)。這些標(biāo)準(zhǔn)不斷地提高了視頻編碼效率,也推動(dòng)了多媒體產(chǎn)業(yè)的發(fā)展。H. 264/AVC與之前的編碼標(biāo)準(zhǔn)相比,具有更好的編碼效率,但與之相對(duì)應(yīng)的是其計(jì)算復(fù)雜度也是成倍增加,這對(duì)視頻編解碼終端尤其是嵌入式處理平臺(tái)提出了更高的挑戰(zhàn)。 為了降低H. 264/AVC的計(jì)算復(fù)雜度,人們對(duì)其中計(jì)算復(fù)雜度最高的運(yùn)動(dòng)估計(jì)、運(yùn)動(dòng)補(bǔ)償以及在此基礎(chǔ)上的模式選擇過程做了大量的優(yōu)化和改進(jìn),提出了很多優(yōu)化算法等。但這些研究主要是針對(duì)模塊本身,在此基礎(chǔ)上進(jìn)一步降低模塊計(jì)算復(fù)雜度的空間有限,而且這些研究并未充分考慮在編碼端如何減少這些模塊的調(diào)用次數(shù),如減少需要進(jìn)行運(yùn)動(dòng)估計(jì)、運(yùn)動(dòng)補(bǔ)償和模式選擇的宏塊數(shù)量等?,F(xiàn)有編碼技術(shù)對(duì)應(yīng)的視頻編碼序列如圖1所示,如圖所示,編碼序列由關(guān)鍵幀I 幀(圖示I。)以及多個(gè)P幀(圖示P1, p2,…,p4,…)。I幀為幀內(nèi)編碼幀,在一個(gè)圖片群 (G0P,Group of Pictures)中只有一個(gè)I幀,該幀壓縮比通常較低。它只利用幀內(nèi)的空間相關(guān)性進(jìn)行壓縮,解碼時(shí)也無須參考其他幀數(shù)據(jù)就可重構(gòu)完整圖像。P幀為前向預(yù)測(cè)編碼幀,在I幀或P幀的參考幀中找出P幀“某點(diǎn)”的運(yùn)動(dòng)矢量和預(yù)測(cè)殘差,取預(yù)測(cè)殘差和運(yùn)動(dòng)矢量一起傳送。在接收端根據(jù)運(yùn)動(dòng)矢量從參考幀中找出該塊的預(yù)測(cè)塊并與差值相加以得到該塊的重建值,從而可得到完整的P幀。但是,現(xiàn)有H. 264編碼標(biāo)準(zhǔn)的I幀編碼方法需要計(jì)算9種不同方向上的預(yù)測(cè)值,算法開銷大,同時(shí)去除數(shù)據(jù)冗余能力弱,壓縮比較低。此外,在現(xiàn)有H. 264編碼技術(shù)的P幀編碼中,并未充分考慮在編碼端如何減少這些模塊的調(diào)用次數(shù),如減少需要進(jìn)行運(yùn)動(dòng)估計(jì)及運(yùn)動(dòng)補(bǔ)償?shù)?。因此,造成現(xiàn)有P幀編碼方法計(jì)算復(fù)雜度高、編碼耗時(shí)過大等問題。
發(fā)明內(nèi)容
本發(fā)明的目的旨在至少解決現(xiàn)有技術(shù)中的上述問題之一。為此,本發(fā)明的實(shí)施例提出一種能夠大幅降低編碼復(fù)雜度的視頻編碼方法及裝置。根據(jù)本發(fā)明的一個(gè)方面,本發(fā)明實(shí)施例提出了一種幀類型自適應(yīng)選擇的視頻編碼方法,所述視頻編碼方法包括以下步驟a)根據(jù)編碼控制參數(shù)和編碼幀序號(hào),判斷輸入視頻的待編碼幀類型為I幀或P幀;b)對(duì)于P幀類型,根據(jù)當(dāng)前幀的運(yùn)動(dòng)矢量參數(shù)及最終模式比例參數(shù),判斷所述當(dāng)前幀的后續(xù)待編碼幀為傳統(tǒng)P幀編碼類型或下采樣P幀編碼類型;以及C)根據(jù)待編碼幀的類型為I幀、傳統(tǒng)P幀或下采樣P幀相應(yīng)地進(jìn)行I幀編碼、傳統(tǒng)P 幀編碼或者下采樣P幀編碼。根據(jù)本發(fā)明進(jìn)一步的實(shí)施例,所述步驟b包括將所述當(dāng)前幀的運(yùn)動(dòng)矢量參數(shù) MVCp與第一運(yùn)動(dòng)矢量參考閾值,以及將所述當(dāng)前幀的最終模式比例參數(shù)ModeCp與預(yù)定模式比例參考閾值分別進(jìn)行比較,以判斷所述當(dāng)前幀對(duì)應(yīng)視頻內(nèi)容的紋理復(fù)雜程度及運(yùn)動(dòng)劇烈程度;以及根據(jù)比較結(jié)果確定采用所述下采樣P幀的個(gè)數(shù)。根據(jù)本發(fā)明再一步的實(shí)施例,所述第一運(yùn)動(dòng)矢量參考閾值包括運(yùn)動(dòng)矢量高參考閾值MVi3與運(yùn)動(dòng)矢量低參考閾值MVa,所述預(yù)定模式比例參考閾值包括模式高參考閾值 Mode β與模式低參考閾值Mode α,其中所述步驟bl包括判斷是否滿足MVCp > Μνβ且 ModeCp > Mode β ;或者判斷是否滿足 MV β > MVCp > MV α 且 Mode β > ModeCp > Mode α。其中MVa的取值為40% 50%,MV β的取值為75% 85%,Mode α的取值為 45% 55%,及/或Mode^的取值為75% 85%。根據(jù)本發(fā)明進(jìn)一步的實(shí)施例,通過將所述當(dāng)前幀內(nèi)存在的運(yùn)動(dòng)矢量與第二預(yù)定矢量參考閾值進(jìn)行比較,統(tǒng)計(jì)所述當(dāng)前幀中運(yùn)動(dòng)矢量滿足條件(MVx < MVth)&&(MVy < MVth) 的運(yùn)動(dòng)矢量占所述當(dāng)前幀總運(yùn)動(dòng)矢量的比例,得到所述當(dāng)前待編碼P幀的運(yùn)動(dòng)矢量參數(shù) MVCp,其中MVx表示所述當(dāng)前幀中運(yùn)動(dòng)矢量的χ分量,MVy表示所述當(dāng)前幀中運(yùn)動(dòng)矢量的y 分量。并且,通過統(tǒng)計(jì)所述當(dāng)前幀采用的skip模式編碼和16X16模式編碼的宏塊數(shù)與總編碼宏塊數(shù)之比,以得到所述當(dāng)前幀的最終模式比例參數(shù)ModeCp。根據(jù)本發(fā)明的另一方面,本發(fā)明的實(shí)施例提出一種幀類型自適應(yīng)選擇的視頻編碼裝置,包括幀類型判斷模塊,所述幀類型判斷模塊根據(jù)編碼控制參數(shù)和編碼幀序號(hào)判斷輸入視頻的待編碼幀類型為I幀或P幀;以及對(duì)于P幀類型,根據(jù)當(dāng)前幀的運(yùn)動(dòng)矢量參數(shù)及最終模式比例參數(shù),確定所述當(dāng)前幀的后續(xù)待編碼幀為傳統(tǒng)P幀編碼類型或下采樣P幀編碼類型;以及編碼模塊,所述編碼模塊根據(jù)待編碼幀的類型為I幀、傳統(tǒng)P幀或下采樣P幀相應(yīng)地進(jìn)行I幀編碼、傳統(tǒng)P幀編碼或者下采樣P幀編碼。根據(jù)本發(fā)明進(jìn)一步的實(shí)施例,所述幀類型判斷模塊包括比較單元,所述比較單元將所述當(dāng)前幀的運(yùn)動(dòng)矢量參數(shù)MVCp與第一運(yùn)動(dòng)矢量參考閾值,以及將所述當(dāng)前幀的最終模式比例參數(shù)與預(yù)定模式比例參考閾值進(jìn)行比較,以判斷所述當(dāng)前幀對(duì)應(yīng)視頻內(nèi)容的復(fù)雜程度及運(yùn)動(dòng)劇烈程度;以及判決單元,所述判決單元根據(jù)所述比較單元的比較結(jié)果確定所述當(dāng)前幀的后續(xù)待編碼幀采用所述下采樣P幀的個(gè)數(shù)。根據(jù)本發(fā)明進(jìn)一步的實(shí)施例,所述第一運(yùn)動(dòng)矢量參考閾值包括運(yùn)動(dòng)矢量高參考閾值MVi3與運(yùn)動(dòng)矢量低參考閾值MVa,所述預(yù)定模式比例參考閾值包括模式高參考閾值 Mode β與模式低參考閾值Mode a,其中所述比較單元判斷是否滿足MVCp > MV β且ModeCp > Mode β,或者是否滿足 MV β > MVCp > MV α 且 Mode β > ModeCp > Mode a。其中 MV a 的取值為40% 50%,MVβ的取值為75% 85%,Mode α的取值為45% 55%,及/或 Mode β的取值為75% 85%。所述幀類型判斷模塊通過將所述當(dāng)前幀內(nèi)存在的運(yùn)動(dòng)矢量與第二運(yùn)動(dòng)矢量參考閾值MVth進(jìn)行比較,統(tǒng)計(jì)所述當(dāng)前幀中運(yùn)動(dòng)矢量滿足條件(MVx < MVth) && (MVy < MVth)的運(yùn)動(dòng)矢量占該幀總運(yùn)動(dòng)矢量的比例,得到所述當(dāng)前幀的運(yùn)動(dòng)矢量參數(shù)MVCp,其中■!£表示所述當(dāng)前幀中運(yùn)動(dòng)矢量的χ分量,MVy表示所述當(dāng)前幀中運(yùn)動(dòng)矢量的y分量。
根據(jù)本發(fā)明進(jìn)一步的實(shí)施例,所述幀類型判斷模塊通過統(tǒng)計(jì)所述當(dāng)前幀采用的 skip模式編碼和16X16模式編碼的宏塊數(shù)與總編碼宏塊數(shù)之比,以得到所述當(dāng)前待編碼P 幀的最終模式比例參數(shù)ModeCp。與現(xiàn)有方法相比,本發(fā)明在編碼前直接將原視頻圖像分辨率降低,并在降低分辨率子幀的基礎(chǔ)上進(jìn)行預(yù)測(cè)重建編碼。因此,對(duì)于后面最耗時(shí)的幀內(nèi)預(yù)測(cè)、運(yùn)動(dòng)估計(jì)、模式選擇等模塊的操作大幅降低,顯著降低了視頻編碼的計(jì)算復(fù)雜度,在低位率情況下編碼效率還有所提高。并且,本發(fā)明還從P幀之間的時(shí)域相關(guān)性出發(fā),根據(jù)視頻內(nèi)容確定對(duì)視頻編碼序列中的P幀采用下采樣P幀編碼還是傳統(tǒng)P幀編碼,以提高編碼的效率。本發(fā)明附加的方面和優(yōu)點(diǎn)將在下面的描述中部分給出,部分將從下面的描述中變得明顯,或通過本發(fā)明的實(shí)踐了解到。
本發(fā)明的上述和/或附加的方面和優(yōu)點(diǎn)從下面結(jié)合附圖對(duì)實(shí)施例的描述中將變得明顯和容易理解,其中圖1為現(xiàn)有編碼技術(shù)對(duì)應(yīng)的視頻編碼序列示意圖;圖2為本發(fā)明實(shí)施例的視頻編碼裝置總體架構(gòu);圖3為本發(fā)明實(shí)施例的視頻編碼序列示意圖;圖4為本發(fā)明實(shí)施例的視頻編碼方法總體流程圖;以及圖5為本發(fā)明實(shí)施例的幀類型判決方法流程圖。
具體實(shí)施例方式下面詳細(xì)描述本發(fā)明的實(shí)施例,所述實(shí)施例的示例在附圖中示出,其中自始至終相同或類似的標(biāo)號(hào)表示相同或類似的元件或具有相同或類似功能的元件。下面通過參考附圖描述的實(shí)施例是示例性的,僅用于解釋本發(fā)明,而不能解釋為對(duì)本發(fā)明的限制。參考圖2,該圖為本發(fā)明實(shí)施例的視頻編碼裝置總體架構(gòu)示意圖。如圖所示,該視頻編碼裝置包括幀類型判斷模塊51和編碼模塊49。其中幀類型判斷模塊51根據(jù)編碼控制參數(shù)和編碼幀序號(hào)判斷輸入視頻的待編碼幀類型為I幀或P幀;以及對(duì)于P幀類型,幀類型判斷模塊51根據(jù)當(dāng)前待編碼P幀的運(yùn)動(dòng)矢量參數(shù)及模式比例參數(shù),進(jìn)一步確定當(dāng)前待編碼P幀之后的后續(xù)待編碼幀為對(duì)應(yīng)P幀編碼的P幀類型,還是為對(duì)應(yīng)下采樣P幀編碼的后續(xù)待編碼P幀(下文中,可以稱作為R幀) 類型。編碼模塊49用于根據(jù)待編碼幀的類型為I幀、P幀或R幀進(jìn)行相應(yīng)的傳統(tǒng)I幀編碼、傳統(tǒng)P幀編碼或者下采樣P幀編碼。如圖所示,編碼模塊49包括I幀編碼單元53、下采樣P幀編碼單元55和傳統(tǒng)P幀編碼單元57,其中I幀編碼單元53是對(duì)于為I類型的待編碼I幀,執(zhí)行傳統(tǒng)的I幀編碼,并且已編碼的I幀可以作為下一待編碼幀的參考幀。傳統(tǒng)P幀編碼單元57對(duì)于為P類型的待編碼P幀,執(zhí)行傳統(tǒng)的P幀編碼,并且已編碼的P幀可以作為下一待編碼幀的參考幀。下采樣P幀編碼單元陽對(duì)應(yīng)的編碼是本發(fā)明提出的一種新的編碼方式。
編碼模塊53包括的下采樣P幀編碼單元55是針對(duì)現(xiàn)有主流編碼標(biāo)準(zhǔn)的P幀編碼存在的問題,提出的一種涉及新型P幀編碼的視頻編碼,以解決現(xiàn)有P幀編碼技術(shù)中計(jì)算復(fù)雜度高、編碼耗時(shí)過大等問題。下采樣P幀編碼單元55用來將待編碼P幀進(jìn)行下采樣,以得到輸入視頻的原始分辨率降低為預(yù)定倍數(shù),例如1/4倍大小的下采樣幀。并且,在該下采樣幀的基礎(chǔ)上進(jìn)行重建,得到對(duì)應(yīng)的原始分辨率的重建P幀,即R幀。為了避免視頻信息丟失太多,更好地保證圖像質(zhì)量和編碼效率,R幀可以不作為下一待編碼幀的參考幀。這樣,為了防止過多插入R幀而影響后續(xù)待編碼幀與前一參考幀之間的相關(guān)性, 本發(fā)明由幀類型判斷模塊51根據(jù)視頻內(nèi)容,選擇在傳統(tǒng)P幀之間插入R幀的數(shù)量,以提高
編碼效率。具體來說,幀類型判斷模塊51包括比較單元(圖中未顯示),比較單元將當(dāng)前幀的運(yùn)動(dòng)矢量參數(shù)MVCp與預(yù)定運(yùn)動(dòng)矢量參考閾值(這里稱作為第一運(yùn)動(dòng)矢量參考閾值),以及將當(dāng)前幀的及最終模式比例參數(shù)ModeCp分別對(duì)應(yīng)與第一預(yù)定運(yùn)動(dòng)矢量參考閾值及與預(yù)定模式比例參考閾值進(jìn)行比較,以判斷當(dāng)前幀對(duì)應(yīng)視頻內(nèi)容的復(fù)雜程度及運(yùn)動(dòng)劇烈程度。運(yùn)動(dòng)矢量參數(shù)MVCp用來表示視頻運(yùn)動(dòng)劇烈程度。在傳統(tǒng)P幀編碼時(shí),設(shè)定運(yùn)動(dòng)矢量參數(shù)MVC = 0,運(yùn)動(dòng)矢量參考閾值MVth(這里,可以稱作為第二運(yùn)動(dòng)矢量參考閾值),其中根據(jù)經(jīng)驗(yàn)值,MVth的取值范圍可以在2. 5 3. 5之間。 若該幀存在一個(gè)塊的運(yùn)動(dòng)矢量(MVx < MVth) && (MVy < MVth),則MVC+1,從而統(tǒng)計(jì)得到該幀MVC占總MV個(gè)數(shù)的比例MVCp。即,幀類型判斷模塊通過將當(dāng)前待編碼P幀內(nèi)存在的運(yùn)動(dòng)矢量MVCp與預(yù)定矢量參考閾值MVth進(jìn)行比較,統(tǒng)計(jì)得到當(dāng)前待編碼P幀的運(yùn)動(dòng)矢量參數(shù) MVCp。幀類型判斷模塊51通過統(tǒng)計(jì)當(dāng)前待編碼P幀采用的skip模式編碼和16X 16模式編碼的宏塊數(shù)與總編碼宏塊數(shù)之比,以得到當(dāng)前待編碼P幀的模式比例參數(shù)ModeCp。在一個(gè)實(shí)施例中,第一預(yù)定運(yùn)動(dòng)矢量參考閾值包括運(yùn)動(dòng)矢量高參考閾值MVi3與運(yùn)動(dòng)矢量低參考閾值MVa,預(yù)定模式比例參考閾值包括模式高參考閾值Modeii與模式低參考閾值Modea。根據(jù)經(jīng)驗(yàn)值,上述所用到的閾值可以設(shè)定如下MVi3的取值為75% 85%, MVa的取值為40% 50%,Mode a MV β的取值為75% 85%,及/或Mode α的取值為 45% 55%。優(yōu)選地,設(shè)置 MVth = 3,Mode a =50%,Mode β = 80%, MVa = 45%, MV β = 80%。其中比較單元判斷是否滿足閾值條件1 :MVCp > MV β且ModeCp > Mode β,即判斷該幀對(duì)應(yīng)視頻內(nèi)容是否很平滑且運(yùn)動(dòng)比較簡(jiǎn)單;或者是否滿足閾值條件2 :MVi3 > MVCp > MVa且Modeii > ModeCp > Mode a,即判斷該視頻內(nèi)容紋理是否存在一定的復(fù)雜度,并且運(yùn)動(dòng)較為劇烈。若不滿足上述閾值條件,表明該視頻內(nèi)容紋理非常復(fù)雜,運(yùn)動(dòng)也非常劇烈。幀類型判斷模塊51還包括判決單元(圖中未顯示),判決單元根據(jù)比較結(jié)果對(duì)應(yīng)的閾值條件,對(duì)應(yīng)地確定當(dāng)前待編碼P幀之后采用的R幀個(gè)數(shù)。具體來說,若滿足閾值條件1即MVCp > MV β并且ModeCp > Mode β,則在該P(yáng)幀編碼之后采用下采樣P幀編碼的幀(R幀)數(shù)為2。令R幀數(shù)R_num = 2 ;若滿足閾值條件 2,即MV β > MVCp > MV α并且Mode β > ModeCp > Mode α,則在該P(yáng)幀編碼之后采用下采樣P幀編碼的R幀數(shù)為丨,令!^皿!!!= 1 ;若不滿足上述兩條件,則該P(yáng)幀編碼之后采用下采樣P幀編碼的R幀數(shù)為0,令R_num = 0,該P(yáng)幀編碼之后的待編碼P幀采用傳統(tǒng)P幀進(jìn)行編碼。這樣,通過幀類型判斷模塊51,判斷并選擇例如圖1所示編碼序列對(duì)應(yīng)的各幀對(duì)應(yīng)的編碼方式。根據(jù)編碼參數(shù),對(duì)每個(gè)序列組開始時(shí)的I幀,采用傳統(tǒng)I幀編碼。在傳統(tǒng)P 幀之間,根據(jù)視頻內(nèi)容,自適應(yīng)的決定插入下采樣P幀編碼的幀數(shù)。例如可以得到如圖3所示實(shí)施例的視頻編碼序列。其中Itl為I幀編碼單元53得到的重建幀,PpP3及P6為傳統(tǒng)P幀編碼單元57按照傳統(tǒng)P編碼得到的重建幀,R2^R4及& 為下采樣P幀編碼單元陽進(jìn)行下采樣編碼得到的重建幀,其中在傳統(tǒng)P幀之間插入的R幀的數(shù)量由幀類型判斷模塊51確定。下面,參考圖4,該圖給出了本發(fā)明實(shí)施例的視頻編碼方法。如圖所示,該方法包括以下步驟首先,輸入視頻的編碼序列(步驟30幻。然后,在步驟304中,根據(jù)編碼控制參數(shù)和編碼幀序號(hào)判斷輸入視頻的當(dāng)前待編碼幀類型為I幀還是P幀(包括R幀和P幀)。其中對(duì)于P巾貞,進(jìn)一步根據(jù)當(dāng)前待編碼P幀的運(yùn)動(dòng)矢量參數(shù)及模式比例參數(shù),判斷當(dāng)前待編碼P幀之后的后續(xù)待編碼P幀為對(duì)應(yīng)P幀編碼的P幀類型或?qū)?yīng)下采樣P幀編碼的R幀類型。并且相應(yīng)地,根據(jù)編碼幀類型對(duì)輸入視頻的待編碼幀進(jìn)行相應(yīng)的編碼,即I幀編碼(步驟306)、傳統(tǒng)P幀編碼(步驟308)以及下采樣P幀編碼(步驟310)。其中,下采樣P幀編碼是本發(fā)明提出的一種新的編碼方式,是針對(duì)現(xiàn)有P幀編碼存在的問題,提出的一種涉及新型P幀編碼的視頻編碼,以解決現(xiàn)有P幀編碼技術(shù)中計(jì)算復(fù)雜度高、編碼耗時(shí)過大等問題。下采樣P幀編碼步驟用來將待編碼P幀進(jìn)行下采樣,以得到輸入視頻的原始分辨率降低為預(yù)定倍數(shù),例如1/4倍大小的下采樣幀。并且,在該下采樣幀的基礎(chǔ)上進(jìn)行重建, 得到對(duì)應(yīng)的原始分辨率的重建P幀,即R幀。為了避免視頻原始信息丟失太多,更好地保證重建圖像質(zhì)量和編碼效率,R幀可以不作為下一待編碼幀的參考幀。傳統(tǒng)P幀編碼步驟是對(duì)于為P類型的待編碼P幀,執(zhí)行傳統(tǒng)的P幀編碼,并且已編碼的P幀可以作為下一待編碼幀的參考幀。在各種編碼步驟完成后,輸出碼流(步驟316),并判斷是否所有的視頻幀編碼已經(jīng)完成(步驟318)。若是則結(jié)束,否則重復(fù)步驟304到318。為了防止在下采樣P幀編碼時(shí)過多插入R幀而影響后續(xù)待編碼幀與前一參考幀之間的時(shí)域相關(guān)性,本發(fā)明在幀類型判斷步驟304中,根據(jù)視頻內(nèi)容選擇在傳統(tǒng)P幀之間插入 R幀的數(shù)量,以提高編碼效率。關(guān)于步驟304中如何具體實(shí)現(xiàn)對(duì)應(yīng)編碼幀類型的判決方法,可以參考圖5。首先輸入待編碼幀(步驟60 ,判斷下采樣P幀編碼對(duì)應(yīng)的R幀個(gè)數(shù)R_num是否為0 (該R_num在編碼程序初始時(shí)設(shè)為0,后續(xù)由對(duì)應(yīng)步驟修改得到),若為0,跳轉(zhuǎn)到步驟 606 ;否則,跳轉(zhuǎn)到步驟620。在步驟604之后,根據(jù)編碼時(shí)提供的編碼參數(shù)和幀序號(hào)確定是否選擇對(duì)當(dāng)前待編碼幀進(jìn)行I幀編碼。若確定為I幀編碼,即對(duì)該幀進(jìn)行傳統(tǒng)I幀編碼(步驟626);否則轉(zhuǎn)到步驟608,即繼續(xù)判斷待編碼幀的前一幀是否為I幀編碼或者下采樣P幀編碼。若待編碼幀的前一幀為I幀,或者前一幀為R幀,即對(duì)該幀進(jìn)行傳統(tǒng)P幀編碼(步驟624);否則轉(zhuǎn)到步驟610。在步驟610中,獲取當(dāng)前幀的前一 P幀中統(tǒng)計(jì)的運(yùn)動(dòng)矢量參數(shù)MVCp和模式比例參數(shù) ModeCp0然后,與設(shè)定的模式比例參考閾值Mode α、Mode β,運(yùn)動(dòng)矢量參考閾值MV α、MV β 進(jìn)行比較。通過結(jié)合步驟610和步驟612來判斷是否滿足閾值條件1和閾值條件2。 即判斷是否滿足閾值條件1 :MVCp > MV β并且ModeCp > Mode β,若滿足則在該P(yáng) 幀編碼之后采用下采樣R幀編碼幀數(shù)為2,令R_num = 2 (步驟616);以及是否滿足閾值條件2,即MV β > MVCp > MVa并且Mode β > ModeCp > Mode α,若滿足則在該P(yáng)幀編碼之后采用下采樣R幀編碼幀數(shù)為丨,令!^皿!!!= 1(步驟618);若不滿足上述兩個(gè)條件,則該P(yáng) 幀編碼之后采用下采樣R幀編碼幀數(shù)為0,令R_num = 0,即表示對(duì)當(dāng)前待編碼幀執(zhí)行傳統(tǒng) P幀編碼(步驟624)。若上述步驟中得到的R_num > 0,則對(duì)當(dāng)前待編碼幀采用下采樣P幀編碼(步驟 620),并且R_num- = 1 (步驟622);否則對(duì)當(dāng)前待編碼幀采用傳統(tǒng)P幀編碼。在上述步驟中,運(yùn)動(dòng)矢量參數(shù)MVCp用來表示視頻內(nèi)部運(yùn)動(dòng)大小。在傳統(tǒng)P幀編碼時(shí),設(shè)定運(yùn)動(dòng)矢量參數(shù)MVC = O,運(yùn)動(dòng)矢量參考閾值MVth,若該幀存在一個(gè)塊的運(yùn)動(dòng)矢量(MVx < MVth) && (MVy < MVth),則MVC+1,統(tǒng)計(jì)得到該幀MVC占總MV個(gè)數(shù)的比例MVCp。模式比例參數(shù)ModeCp通過統(tǒng)計(jì)該P(yáng)幀采用的skip和16x16模式編碼的宏塊數(shù)占該幀總編碼宏塊數(shù)的比例得到。其中,根據(jù)經(jīng)驗(yàn)值,所用到的閾值分別可設(shè)為MVa的取值為40% 50%,Μνβ的取值為75% 85%,Mode α的取值為45% 55%,及/或Mode β 的取值為 75% 85%。優(yōu)選地,設(shè)置 MVth = 3,Modea =50%, Mode^ =80%,MVa = 45%, MVβ = 80%。滿足閾值條件1,表明該視頻內(nèi)容很平滑并且運(yùn)動(dòng)比較簡(jiǎn)單;滿足閾值條件2,表明該視頻內(nèi)容紋理有一定的復(fù)雜度,并且運(yùn)動(dòng)較為劇烈;若不滿足上述閾值條件,表明該視頻內(nèi)容紋理非常復(fù)雜,運(yùn)動(dòng)也非常劇烈。通過上述步驟,根據(jù)編碼參數(shù),在每個(gè)序列組開始時(shí)采用I幀編碼,在傳統(tǒng)P幀之間,根據(jù)視頻內(nèi)容自適應(yīng)的決定插入下采樣P幀編碼的R幀數(shù)。本發(fā)明采用傳統(tǒng)I幀、下采樣P幀和傳統(tǒng)P幀的編碼能有效降低計(jì)算復(fù)雜度,同時(shí),編碼性能幾無損失。本發(fā)明直接在編碼前將原視頻圖像分辨率降低,這樣,對(duì)于后面最耗時(shí)的幀內(nèi)預(yù)測(cè)、運(yùn)動(dòng)估計(jì)、模式選擇等模塊的操作大幅降低,顯著降低了視頻編碼的計(jì)算復(fù)雜度,在低位率情況下編碼效率還有所提高。此外,本發(fā)明根據(jù)編碼參數(shù),對(duì)每個(gè)序列組開始時(shí)的I幀采用傳統(tǒng)I幀編碼。在傳統(tǒng)P幀之間,根據(jù)視頻內(nèi)容例如紋理復(fù)雜度和運(yùn)動(dòng)的程度等,自適應(yīng)的決定插入下采樣P 幀編碼的R幀數(shù)。這樣,能夠在保證編碼后視頻的質(zhì)量和失真度前提下,顯著降低計(jì)算復(fù)雜度。本發(fā)明思想與現(xiàn)有的快速算法不存在沖突,可以在現(xiàn)有快速算法的基礎(chǔ)上再次大幅降低編碼復(fù)雜度,同時(shí)保持編碼質(zhì)量不降低。
9
盡管已經(jīng)示出和描述了本發(fā)明的實(shí)施例,對(duì)于本領(lǐng)域的普通技術(shù)人員而言,可以理解在不脫離本發(fā)明的原理和精神的情況下可以對(duì)這些實(shí)施例進(jìn)行多種變化、修改、替換和變型,本發(fā)明的范圍由所附權(quán)利要求及其等同限定。
權(quán)利要求
1.一種幀類型自適應(yīng)選擇的視頻編碼方法,其特征在于,所述視頻編碼方法包括以下步驟a)根據(jù)編碼控制參數(shù)和編碼幀序號(hào),判斷輸入視頻的待編碼幀類型為I幀或P幀;b)對(duì)于P幀類型,根據(jù)當(dāng)前幀的運(yùn)動(dòng)矢量參數(shù)及最終模式比例參數(shù),判斷所述當(dāng)前幀的后續(xù)待編碼幀為傳統(tǒng)P幀編碼類型或下采樣P幀編碼類型;以及c)根據(jù)待編碼幀的類型為I幀、傳統(tǒng)P幀或下采樣P幀相應(yīng)地進(jìn)行I幀編碼、傳統(tǒng)P幀編碼或者下采樣P幀編碼。
2.如權(quán)利要求1所述的視頻編碼方法,其特征在于,所述步驟b包括將所述當(dāng)前幀的運(yùn)動(dòng)矢量參數(shù)MVCp與第一運(yùn)動(dòng)矢量參考閾值,以及將所述當(dāng)前幀的最終模式比例參數(shù)ModeCp與預(yù)定模式比例參考閾值分別進(jìn)行比較,以判斷所述當(dāng)前幀對(duì)應(yīng)視頻內(nèi)容的紋理復(fù)雜程度及運(yùn)動(dòng)劇烈程度;以及根據(jù)比較結(jié)果確定采用所述下采樣P幀的個(gè)數(shù)。
3.如權(quán)利要求2所述的視頻編碼方法,其特征在于,所述第一運(yùn)動(dòng)矢量參考閾值包括運(yùn)動(dòng)矢量高參考閾值MVi3與運(yùn)動(dòng)矢量低參考閾值MVa,所述預(yù)定模式比例參考閾值包括模式高參考閾值Mode β與模式低參考閾值Mode α,其中所述步驟b包括判斷是否滿足MVCp > MV β且ModeCp > Mode β ;或者判斷是否滿足 MV β > MVCp > MVo 且 Mode β > ModeCp > Mode α。
4.如權(quán)利要求1-3其中任一項(xiàng)所述的視頻編碼方法,其特征在于,通過將所述當(dāng)前幀內(nèi)存在的運(yùn)動(dòng)矢量與第二運(yùn)動(dòng)矢量參考閾值MVth進(jìn)行比較,統(tǒng)計(jì)所述當(dāng)前幀中運(yùn)動(dòng)矢量滿足條件(MVx < MVth)&&(MVy < MVth)的運(yùn)動(dòng)矢量占該幀總運(yùn)動(dòng)矢量的比例,以得到所述當(dāng)前幀的運(yùn)動(dòng)矢量參數(shù)MVCp,其中MVx表示所述當(dāng)前幀中運(yùn)動(dòng)矢量的χ分量,MVy表示所述當(dāng)前幀中運(yùn)動(dòng)矢量的y分量。
5.如權(quán)利要求1-3其中任一項(xiàng)所述的視頻編碼方法,其特征在于,通過統(tǒng)計(jì)所述當(dāng)前幀采用的skip模式編碼和16X 16模式編碼的宏塊數(shù)與總編碼宏塊數(shù)之比,以得到所述當(dāng)前待編碼P幀的最終模式比例參數(shù)ModeCp。
6.一種幀類型自適應(yīng)選擇的視頻編碼裝置,其特征在于,包括幀類型判斷模塊,所述幀類型判斷模塊根據(jù)編碼控制參數(shù)和編碼幀序號(hào)判斷輸入視頻的待編碼幀類型為I幀或P幀;以及對(duì)于P幀類型,根據(jù)當(dāng)前幀的運(yùn)動(dòng)矢量參數(shù)及最終模式比例參數(shù),確定所述當(dāng)前幀的后續(xù)待編碼幀為傳統(tǒng)P幀編碼類型或下采樣P幀編碼類型;以及編碼模塊,所述編碼模塊根據(jù)待編碼幀的類型為I幀、傳統(tǒng)P幀或下采樣P幀相應(yīng)地進(jìn)行I幀編碼、傳統(tǒng)P幀編碼或者下采樣P幀編碼。
7.如權(quán)利要求6所述的視頻編碼裝置,其特征在于,所述幀類型判斷模塊包括比較單元,所述比較單元將所述當(dāng)前幀的運(yùn)動(dòng)矢量參數(shù)MVCp與第一運(yùn)動(dòng)矢量參考閾值,以及將所述當(dāng)前幀的最終模式比例參數(shù)與預(yù)定模式比例參考閾值進(jìn)行比較,以判斷所述當(dāng)前幀對(duì)應(yīng)視頻內(nèi)容的復(fù)雜程度及運(yùn)動(dòng)劇烈程度;以及判決單元,所述判決單元根據(jù)所述比較單元的比較結(jié)果確定所述當(dāng)前幀的后續(xù)待編碼幀采用所述下采樣P幀的個(gè)數(shù)。
8.如權(quán)利要求7所述的視頻編碼裝置,其特征在于,所述第一運(yùn)動(dòng)矢量參考閾值包括運(yùn)動(dòng)矢量高參考閾值MVi3與運(yùn)動(dòng)矢量低參考閾值MVa,所述預(yù)定模式比例參考閾值包括模式高參考閾值Mode β與模式低參考閾值Mode α,其中所述比較單元判斷是否滿足MVCp > MV β且ModeCp > Mode β,或者是否滿足MV β > MVCp > MV α 且 Mode β > ModeCp > Mode α。
9.如權(quán)利要求6-8其中任一項(xiàng)所述的視頻編碼裝置,其特征在于,所述幀類型判斷模塊通過將所述當(dāng)前幀內(nèi)存在的運(yùn)動(dòng)矢量與第二運(yùn)動(dòng)矢量參考閾值MVth進(jìn)行比較,統(tǒng)計(jì)所述當(dāng)前幀中運(yùn)動(dòng)矢量滿足條件(MVx < MVth) && (MVy < MVth)的運(yùn)動(dòng)矢量占該幀總運(yùn)動(dòng)矢量的比例,得到所述當(dāng)前幀的運(yùn)動(dòng)矢量參數(shù)MVCp,其中MVx表示所述當(dāng)前幀中運(yùn)動(dòng)矢量的χ分量, MVy表示所述當(dāng)前幀中運(yùn)動(dòng)矢量的y分量。
10.如權(quán)利要求6-8其中任一項(xiàng)所述的視頻編碼裝置,其特征在于,所述幀類型判斷模塊通過統(tǒng)計(jì)所述當(dāng)前幀采用的skip模式編碼和16 X 16模式編碼的宏塊數(shù)與總編碼宏塊數(shù)之比,以得到所述當(dāng)前待編碼P幀的最終模式比例參數(shù)ModeCp。
全文摘要
本發(fā)明公開了一種幀類型自適應(yīng)選擇的視頻編碼方法及裝置,所述視頻編碼裝置包括幀類型判斷模塊,根據(jù)編碼控制參數(shù)和編碼幀序號(hào)判斷輸入視頻的待編碼幀類型為I幀或P幀;以及對(duì)于P幀類型,根據(jù)當(dāng)前幀的運(yùn)動(dòng)矢量及最終編碼模式,確定當(dāng)前幀的后續(xù)待編碼幀為傳統(tǒng)P幀編碼類型或下采樣P幀編碼類型。該裝置還包括編碼模塊,以根據(jù)待編碼幀的類型為I幀、P幀或下采樣P幀進(jìn)行相應(yīng)的編碼。本發(fā)明能夠在保證編碼效率的前提下顯著降低視頻編碼的計(jì)算復(fù)雜度。
文檔編號(hào)H04N7/26GK102196253SQ20101012260
公開日2011年9月21日 申請(qǐng)日期2010年3月11日 優(yōu)先權(quán)日2010年3月11日
發(fā)明者姜東 , 梁利平 申請(qǐng)人:中國(guó)科學(xué)院微電子研究所