專(zhuān)利名稱(chēng):視頻編碼快速模式選擇裝置及方法
技術(shù)領(lǐng)域:
本發(fā)明涉及視頻編碼技術(shù)領(lǐng)域,更具體地說(shuō),涉及一種視頻編碼快速模式 選擇裝置及方法。
背景技術(shù):
視頻編碼的目的是對(duì)視頻數(shù)據(jù)進(jìn)行壓縮。常用的視頻編碼技術(shù)是先對(duì)視頻 序列進(jìn)行預(yù)測(cè)編碼,然后傳輸圖像像素與其預(yù)測(cè)值的差值信號(hào),去除空間或時(shí) 間的相關(guān)性,達(dá)到壓縮的目的。預(yù)測(cè)編碼包括幀內(nèi)預(yù)測(cè)編碼和幀間預(yù)測(cè)編碼, 其中,幀內(nèi)預(yù)測(cè)編碼是利用同 一幀中的像素值進(jìn)行預(yù)測(cè),幀間預(yù)測(cè)編碼時(shí)利用 相鄰幀中的像素值進(jìn)行預(yù)測(cè)。
由于視頻圖像區(qū)域內(nèi)容的差異性,為獲得盡可能高的壓縮效率,在對(duì)幀間
幀(采用前向預(yù)測(cè)編碼的幀,簡(jiǎn)稱(chēng)"P幀,,)的每個(gè)判定為非SKIP宏塊編碼,以 及對(duì)雙向幀(采用雙向預(yù)測(cè)編碼的幀,簡(jiǎn)稱(chēng)"B幀,,)的每個(gè)判定為非SKIP宏塊 且非DIRECT宏塊編碼時(shí),都需選擇最優(yōu)的編碼模式。 一般對(duì)幀間相似度較高 的宏塊采用幀間預(yù)測(cè)編碼模式,而對(duì)相鄰宏塊間相似度較高的宏塊采用幀內(nèi)預(yù) 測(cè)編碼纟莫式。
在目前流行的^L頻編碼標(biāo)準(zhǔn)中,通常對(duì)宏塊(如16x16 4象素)采用不同尺 寸(例如16x8、 8x16、 8x8像素等)的宏塊分割模式,在選擇編碼模式時(shí)需對(duì) 每種宏塊分割模式進(jìn)行運(yùn)動(dòng)估計(jì),計(jì)算幀間預(yù)測(cè)編碼代價(jià),以及計(jì)算每種宏塊 分割模式下不同預(yù)測(cè)方向的幀內(nèi)預(yù)測(cè)編碼代價(jià),比較幀間和幀內(nèi)各模式下的代 價(jià),選擇代價(jià)最小的編碼模式作為最優(yōu)編碼模式。由于在運(yùn)動(dòng)估計(jì)和編碼代價(jià) 計(jì)算中會(huì)涉及大量的絕對(duì)誤差和(Sum of Absolute Difference,簡(jiǎn)稱(chēng)"SAD")及 變換后的絕對(duì)誤差和(Sum of Absolute Transformed Difference,簡(jiǎn)稱(chēng)"SATD,,)等 高復(fù)雜度的計(jì)算,特別是在采用高編碼效率的率失真優(yōu)化的模式選擇時(shí),還需 增加碼率估算的過(guò)程,因此編碼模式選擇具有很高的計(jì)算復(fù)雜度。
目前,在對(duì)每一宏塊進(jìn)行快速編碼模式選擇時(shí),通常先計(jì)算各宏塊分割模式下的幀間預(yù)測(cè)編碼代價(jià),從中選擇代價(jià)最小的幀間編碼模式作為最優(yōu)幀間編 碼模式,若最優(yōu)幀間編碼^^莫式的代價(jià)小于某一固定閾值(通過(guò)對(duì)典型視頻序列 進(jìn)行編碼訓(xùn)練得到),則以最優(yōu)幀間編碼模式作為當(dāng)前宏塊的編碼模式,否則, 計(jì)算各宏塊分割模式下不同預(yù)測(cè)方向上的幀內(nèi)預(yù)測(cè)編碼代價(jià),并與最優(yōu)幀間編 碼模式的代價(jià)進(jìn)行比較,從中選擇代價(jià)最小的編碼模式作為當(dāng)前宏塊的編碼模 式。
然而,由于固定閾值是通過(guò)其它視頻序列進(jìn)行編碼訓(xùn)練得到的,若該閾值 不適合當(dāng)前編碼的視頻序列,則可能會(huì)出現(xiàn)當(dāng)前幀實(shí)際適合采用幀內(nèi)編碼模式, 但由于最優(yōu)幀間編碼模式的代價(jià)小于閾值而沒(méi)有采用幀內(nèi)編碼模式的情況,從 而造成了編碼模式選擇的不準(zhǔn)確,導(dǎo)致編碼效率下降。
發(fā)明內(nèi)容
基于此,有必要提供一種能提高編碼模式選擇準(zhǔn)確性的視頻編碼快速模式 選擇裝置。
此外,還有必要提供一種能提高編碼模式選擇準(zhǔn)確性的視頻編碼快速模式 選擇方法。
所述視頻編碼快速模式選擇裝置包括閾值調(diào)整單元,用于根據(jù)前一幀的 幀內(nèi)預(yù)測(cè)宏塊的最優(yōu)幀間編碼代價(jià)分布調(diào)整當(dāng)前幀的代價(jià)闊值;模式選擇單元,
與所述閾值調(diào)整單元相連,用于計(jì)算當(dāng)前宏塊在各宏塊分割才莫式下的幀間編碼 代價(jià),選擇代價(jià)最小的幀間編碼模式作為最優(yōu)幀間編碼模式,以及當(dāng)最優(yōu)幀間 編碼模式的代價(jià)小于代價(jià)閾值時(shí),則選擇最優(yōu)幀間編碼模式作為當(dāng)前宏塊的編
碼模式。
該閾值調(diào)整單元包括初始化參數(shù)設(shè)置模塊,用于設(shè)置初始化參數(shù),初始 化參數(shù)包括比例參數(shù)及至少兩個(gè)代價(jià)區(qū)間;代價(jià)分布統(tǒng)計(jì)模塊,與初始化參數(shù) 設(shè)置模塊相連,統(tǒng)計(jì)前一幀中最優(yōu)幀間編碼代價(jià)位于代價(jià)區(qū)間內(nèi)的幀內(nèi)預(yù)測(cè)宏 塊的個(gè)數(shù)占幀內(nèi)預(yù)測(cè)宏塊總數(shù)的比例分布;閾值計(jì)算模塊,與初始化參數(shù)設(shè)置 模塊及代價(jià)分布統(tǒng)計(jì)模塊相連,根據(jù)比例分布計(jì)算當(dāng)前幀的代價(jià)閾值。
該初始化參數(shù)設(shè)置模塊可按照以下分布設(shè)置等長(zhǎng)的代價(jià)區(qū)間[O,C), [C,2C), [2C,3C),…,[,C,+od) 其中,C是一個(gè)區(qū)間的代價(jià),7V是正整數(shù);
所述閾值計(jì)算模塊當(dāng)|> >^時(shí),計(jì)算所述代價(jià)闊值為radapt=/*c,其中, ^是最優(yōu)幀間編碼代價(jià)位于第w個(gè)代價(jià)區(qū)間內(nèi)的幀內(nèi)預(yù)測(cè)宏塊的個(gè)數(shù)占幀內(nèi)預(yù)
測(cè)宏塊總數(shù)的比例,r是預(yù)設(shè)的比例參數(shù),?;dapt是代價(jià)閾值,!'的取值為(wv。
該模式選擇單元包括幀間編碼代價(jià)計(jì)算模塊,用于計(jì)算當(dāng)前宏塊在各宏 塊分割模式下的幀間編碼代價(jià);幀內(nèi)編碼代價(jià)計(jì)算模塊,幀間編碼代價(jià)計(jì)算模 塊相連,用于計(jì)算各宏塊分割模式下不同預(yù)測(cè)方向的幀內(nèi)編碼代價(jià);比較選擇 模塊,與幀間編碼代價(jià)計(jì)算模塊及幀內(nèi)編碼代價(jià)計(jì)算模塊相連,用于比較最優(yōu) 幀間編碼模式的代價(jià)與代價(jià)閾值,當(dāng)最優(yōu)幀間編碼模式的代價(jià)大于代價(jià)閾值時(shí), 通知幀內(nèi)編碼代價(jià)計(jì)算模塊計(jì)算各宏塊分割模式下不同預(yù)測(cè)方向的幀內(nèi)編碼代 價(jià),并從中選擇代價(jià)最小的幀內(nèi)編碼模式作為最優(yōu)幀內(nèi)編碼模式。
上述比較選擇模塊還用于比較最優(yōu)幀間編碼模式與最優(yōu)幀內(nèi)編碼模式的代 價(jià)小,從中選擇代價(jià)小的編碼模式作為當(dāng)前宏塊的編碼模式。
所述視頻編碼快速模式選擇方法包括根據(jù)前一幀的幀內(nèi)預(yù)測(cè)宏塊的最優(yōu) 幀間編碼代價(jià)分布調(diào)整當(dāng)前幀的代價(jià)閾值;對(duì)當(dāng)前幀的每一個(gè)宏塊進(jìn)行如下步 驟的模式選擇計(jì)算當(dāng)前宏塊在各宏塊模式下的幀間編碼代價(jià),選擇代價(jià)最小 的幀間編碼模式作為最優(yōu)幀間編碼模式;當(dāng)最優(yōu)幀間編碼模式的代價(jià)小于所述 代價(jià)閾值時(shí),選擇最優(yōu)幀間編碼模式作為當(dāng)前宏塊的編碼模式。
該調(diào)整當(dāng)前幀的代價(jià)閾值的步驟可包括設(shè)置初始化參數(shù),初始化參數(shù)包 括比例參數(shù)及至少兩個(gè)代價(jià)區(qū)間;統(tǒng)計(jì)前一幀中最優(yōu)幀間編碼代價(jià)位于代價(jià)區(qū) 間內(nèi)的幀內(nèi)預(yù)測(cè)宏塊的個(gè)數(shù)占幀內(nèi)預(yù)測(cè)宏塊總數(shù)的比例分布;根據(jù)比例分布計(jì) 算當(dāng)前幀的代價(jià)閾值。
該調(diào)整當(dāng)前幀的代價(jià)閾值的步驟包括
按照以下分布設(shè)置等長(zhǎng)的代價(jià)區(qū)間
[O,C), [C,2C), [2C,3C),…,[,C,+od)其中,C是一個(gè)區(qū)間的代價(jià),7V是正整數(shù);
當(dāng)|> "時(shí),計(jì)算所述代價(jià)閾值為radapt=PC,其中,i "是最優(yōu)幀間編碼
代價(jià)位于第W個(gè)代價(jià)區(qū)間內(nèi)的幀內(nèi)預(yù)測(cè)宏塊的個(gè)數(shù)占幀內(nèi)預(yù)測(cè)宏塊總數(shù)的比例,
r是預(yù)設(shè)比例參數(shù),z;—t是代價(jià)閾值,z的取值為o 見(jiàn)
上述方法還包括當(dāng)最優(yōu)幀間編碼模式的代價(jià)大于代價(jià)閾值時(shí),則計(jì)算各 宏塊分割模式下不同預(yù)測(cè)方向的幀內(nèi)編碼代價(jià),并從中選擇代價(jià)最小的幀內(nèi)編 碼模式作為最優(yōu)幀內(nèi)編碼模式。
另外,選擇最優(yōu)幀內(nèi)編碼模式的步驟之后還可包括比較最優(yōu)幀間編碼模 式與最優(yōu)幀內(nèi)編碼模式的代價(jià)大小,從中選擇代價(jià)小的編碼模式作為當(dāng)前宏塊 的編碼模式。
上述視頻編碼快速模式選擇裝置及方法,通過(guò)前一幀的幀內(nèi)預(yù)測(cè)宏塊的最 優(yōu)幀間編碼代價(jià)分布情況自適應(yīng)調(diào)整當(dāng)前幀的代價(jià)閾值,在對(duì)每一個(gè)宏塊進(jìn)行 編碼時(shí),若最優(yōu)幀間編碼模式的代價(jià)小于當(dāng)前幀的代價(jià)閾值,則選擇最優(yōu)幀間 編碼模式作為當(dāng)前宏塊的編碼模式,否則,在最優(yōu)幀間編碼模式和最優(yōu)幀內(nèi)編 碼模式中選擇代價(jià)較小的模式作為當(dāng)前宏塊的編碼模式。這樣,能提高快速模 式選擇的準(zhǔn)確性。
圖l是一個(gè)實(shí)施例中視頻編碼快速模式選擇裝置的示意圖2是一個(gè)實(shí)施例中視頻編碼快速模式選擇裝置的結(jié)構(gòu)示意圖3是一個(gè)實(shí)施例中視頻編碼快速模式選擇方法的流程圖4是一個(gè)實(shí)施例中代價(jià)閾值的計(jì)算方法的流程圖5是一個(gè)實(shí)施例中對(duì)一個(gè)宏塊的視頻編碼快速模式選擇方法的流程圖。
具體實(shí)施例方式
圖l示出了一個(gè)實(shí)施例中的視頻編碼快速模式選擇裝置,該裝置包括閾值調(diào)整單元100和模式選擇單元200,其中
閾值調(diào)整單元100用于根據(jù)前一幀的頓內(nèi)預(yù)測(cè)宏塊的最優(yōu)幀間編碼代價(jià)分 布調(diào)整當(dāng)前幀的代價(jià)閾值;模式選擇單元200與閾值調(diào)整單元100相連,用于 在對(duì)每一宏塊進(jìn)行編碼時(shí),計(jì)算當(dāng)前宏塊各宏塊分割模式下的幀間編碼代價(jià), 并選擇代價(jià)最小的幀間編碼模式作為最優(yōu)幀間編碼模式,以及當(dāng)最優(yōu)幀間編碼 模式的代價(jià)小于所述代價(jià)閾值時(shí),選擇最優(yōu)幀間編碼模式作為當(dāng)前宏塊的編碼 模式。
圖2示出了一個(gè)實(shí)施例中的視頻編碼快速模式選擇裝置的內(nèi)部結(jié)構(gòu),其中 閾值調(diào)整單元100包括初始化參數(shù)設(shè)置模塊101、代價(jià)分布統(tǒng)計(jì)模塊102和閾值 計(jì)算模塊103,其中
初始化參數(shù)設(shè)置才莫塊101用于設(shè)置初始化參數(shù),該初始化參數(shù)包括至少兩 個(gè)代價(jià)區(qū)間以及比例參數(shù)。在一個(gè)實(shí)施方式中,初始化參數(shù)設(shè)置模塊101按照 以下分布設(shè)置等長(zhǎng)的代價(jià)區(qū)間
[O,C), [C,2C), [2C,3C),…,[,C,十oo)
其中,c是一個(gè)區(qū)間的代價(jià),w是整數(shù)。
代價(jià)分布統(tǒng)計(jì)模塊102與初始化參數(shù)設(shè)置模塊101相連,用于統(tǒng)計(jì)前一幀 中最優(yōu)幀間編碼代價(jià)位于所述代價(jià)區(qū)間內(nèi)的幀內(nèi)預(yù)測(cè)宏塊的個(gè)數(shù)占幀內(nèi)預(yù)測(cè)宏 塊總數(shù)的比例分布。上述幀內(nèi)預(yù)測(cè)宏塊是指以幀內(nèi)模式進(jìn)行預(yù)測(cè)編碼的宏塊。 在一個(gè)實(shí)施方式中,代{介分布統(tǒng)計(jì)模塊102 4要照以下乂>式統(tǒng)計(jì)所述比例分布
其中,^是最優(yōu)幀間編碼代價(jià)位于第z'個(gè)代價(jià)區(qū)間內(nèi)的幀內(nèi)預(yù)測(cè)宏塊的個(gè)數(shù) 占幀內(nèi)預(yù)測(cè)宏塊總數(shù)的比例,m;是最優(yōu)幀間編碼代價(jià)位于第個(gè)代價(jià)區(qū)間內(nèi)的幀
內(nèi)預(yù)測(cè)宏塊的個(gè)數(shù),A/是幀內(nèi)預(yù)測(cè)宏塊總數(shù),z'的取值為0 見(jiàn)
闊值計(jì)算模塊103與初始化參數(shù)設(shè)置模塊101及代價(jià)分布統(tǒng)計(jì)模塊102相 連,用于根據(jù)比例分布計(jì)算當(dāng)前幀的代價(jià)閾值。在一個(gè)實(shí)施方式中,閾值計(jì)算 模塊103對(duì)上述計(jì)算得到的/ ,進(jìn)行累加,具體地,是從7 w開(kāi)始依次累加^v-i、A,2.…當(dāng)Z凡"時(shí),計(jì)算所述代價(jià)閾值為
Adapt-Z' C
其中,r是預(yù)設(shè)的比例參數(shù),可由初始化參數(shù)設(shè)置模塊ioi設(shè)置,7;鄉(xiāng)t是代 價(jià)閾值,/的取值為o 見(jiàn)
模式選擇單元200包括幀間編碼代價(jià)計(jì)算^^莫塊201 、幀內(nèi)編碼代價(jià)計(jì)算模塊 202和比較選擇模塊203,其中
幀間編碼代價(jià)計(jì)算模塊201與代價(jià)分布統(tǒng)計(jì)模塊102相連,用于在編碼每 一個(gè)宏塊時(shí),計(jì)算當(dāng)前宏塊在各宏塊分割模式下的幀間編碼代價(jià)。幀間編碼代 價(jià)的計(jì)算可采用現(xiàn)有的代價(jià)計(jì)算方法,在此則不再贅述。
幀內(nèi)編碼代價(jià)計(jì)算模塊202與閾值計(jì)算模塊103及幀內(nèi)編碼代價(jià)計(jì)算模塊 202相連,用于在編碼每一個(gè)宏塊時(shí),計(jì)算各宏塊分割模式下不同預(yù)測(cè)方向的幀 內(nèi)編碼代價(jià)。幀內(nèi)編碼代價(jià)的計(jì)算也可采用現(xiàn)有的代價(jià)計(jì)算方法,在此也不再 贅述。
比較選擇模塊203與幀間編碼代價(jià)計(jì)算模塊201及幀內(nèi)編碼代價(jià)計(jì)算模塊 202相連,用于比較最優(yōu)幀間編碼模式的代價(jià)與代價(jià)閾值,當(dāng)最優(yōu)幀間編碼模式 的代價(jià)小于上述計(jì)算得到的代價(jià)閾值時(shí),選擇最優(yōu)幀間編碼模式作為當(dāng)前宏塊 的編碼模式,否則,通知幀內(nèi)編碼代價(jià)計(jì)算模塊202計(jì)算當(dāng)前幀各宏塊分割才莫 式下的不同預(yù)測(cè)方向的幀內(nèi)編碼代價(jià),并從中選擇代價(jià)最小的幀內(nèi)編碼模式作 為最優(yōu)幀內(nèi)編碼模式,以及比較最優(yōu)幀間編碼模式與最優(yōu)幀內(nèi)編碼模式的代價(jià) 大小,從中選擇代價(jià)小的編碼模式作為當(dāng)前宏塊的編碼模式。
圖3示出了一個(gè)實(shí)施例中視頻編碼快速模式選擇方法的流程,具體過(guò)程如
下
在步驟S301中,沖艮據(jù)前一幀的幀內(nèi)預(yù)測(cè)宏塊的最優(yōu)幀間編碼代價(jià)分布調(diào)整 當(dāng)前幀的代價(jià)閾值。
在步驟S302中,判斷是否完成了當(dāng)前幀所有宏塊的編碼,若是,則結(jié)束, 否則進(jìn)入步驟S302。在步驟S303中,計(jì)算當(dāng)前宏塊在各宏塊分割模式下的幀間編碼代價(jià),選擇
代價(jià)最小的幀間編碼模式作為最優(yōu)幀間編碼模式。
在步驟S304中,當(dāng)所述最優(yōu)幀間編碼模式的代價(jià)小于所述代價(jià)閾值時(shí),選 擇所述最優(yōu)幀間編碼模式作為當(dāng)前宏塊的編碼模式。
應(yīng)當(dāng)說(shuō)明的是,上述步驟S303和步驟S304是對(duì)當(dāng)前幀的每一個(gè)宏塊編碼 時(shí)所進(jìn)行的快速模式選擇,若當(dāng)前幀的所有宏塊編碼完成,則進(jìn)入下一幀的編 碼,直至^L頻序列的所有幀編碼完成。
圖4示出了 一個(gè)實(shí)施例中代價(jià)閾值的計(jì)算方法流程,具體過(guò)程如下 在步驟S401中,設(shè)置初始化參數(shù),該初始化參數(shù)包括至少兩個(gè)代價(jià)區(qū)間及
比例參數(shù)。在一個(gè)實(shí)施方式中,初始化參數(shù)設(shè)置101按照以下分布設(shè)置等長(zhǎng)的
代價(jià)區(qū)間
[O,C), [C,2C), [2C,3C),…,|W*C,+oo) 其中,C是一個(gè)區(qū)間的代價(jià),W是整數(shù)。
在步驟S402中,統(tǒng)計(jì)前一幀中最優(yōu)幀間編碼代4介位于代4介區(qū)間內(nèi)的幀內(nèi)預(yù) 測(cè)宏塊的個(gè)數(shù)占幀內(nèi)預(yù)測(cè)宏塊總數(shù)的比例分布。在一個(gè)實(shí)施方式中,代價(jià)分布 統(tǒng)計(jì)一莫塊102 4要照以下7>式統(tǒng)計(jì)所述比例分布
其中,A是最優(yōu)幀間編碼代價(jià)位于第/個(gè)代價(jià)區(qū)間內(nèi)的幀內(nèi)預(yù)測(cè)宏塊的個(gè)數(shù) 占幀內(nèi)預(yù)測(cè)宏塊總數(shù)的比例,m,是最優(yōu)幀間編碼代價(jià)位于第z'個(gè)代價(jià)區(qū)間內(nèi)的幀
內(nèi)預(yù)測(cè)宏塊的個(gè)數(shù),M是幀內(nèi)預(yù)測(cè)宏塊總數(shù),/的取值為o w。
在步驟S403中,根據(jù)所述比例分布計(jì)算當(dāng)前幀的代價(jià)閾值。在一個(gè)實(shí)施方 式中,閾值計(jì)算模塊103對(duì)上述計(jì)算得到的W,.進(jìn)行累加,具體地,是從i w開(kāi)始
依次累加i ^、 i w.2.…當(dāng)l!凡〉r時(shí),計(jì)算所述代價(jià)閾值為
Tadapt—Z. C
其中,r是預(yù)設(shè)的比例參數(shù),可由初始化參數(shù)設(shè)置模塊IOI設(shè)置,7^一是代 價(jià)閾值,Z'的耳又值為0 見(jiàn)由于視頻序列鄰近幀之間的內(nèi)容具有相似性,前一幀的幀內(nèi)預(yù)測(cè)宏塊在模 式選擇時(shí)的最優(yōu)幀間編碼代價(jià)分布可以較好的近似當(dāng)前幀相應(yīng)的分布情況,在 編碼當(dāng)前幀的某 一宏塊時(shí),若計(jì)算得到的最優(yōu)幀間編碼代價(jià)小于或等于代價(jià)閾 值時(shí),則可認(rèn)為當(dāng)前宏塊選擇幀內(nèi)編碼模式的概率很低,因此不進(jìn)行幀內(nèi)編碼 模式的代價(jià)不會(huì)影響模式選擇結(jié)果的準(zhǔn)確性。
圖5示出了一個(gè)實(shí)施例中視頻編碼快速模式選擇方法的流程,對(duì)每一個(gè)宏
塊編碼時(shí)的快速才莫式選擇的具體過(guò)程如下
在步驟S501中,計(jì)算當(dāng)前宏塊在各宏塊分割模式下的幀間編碼代價(jià),選擇 代價(jià)最小的幀間編碼模式作為最優(yōu)幀間編碼模式。
在步驟S502中,比較最優(yōu)幀間編碼模式的代價(jià)與代價(jià)閾值的大小。代價(jià)閾 值可采用上述計(jì)算方法獲得,在此則不再贅述。
在步驟S503中,判斷最優(yōu)幀間編碼模式的代價(jià)是否小于代價(jià)閾值,若是, 則進(jìn)入步驟S504,否則,進(jìn)入步驟S505。
在步驟S504中,選擇最優(yōu)幀間編碼模式作為當(dāng)前幀的編碼模式。
在步驟S505中,計(jì)算各宏塊分割模式下不同預(yù)測(cè)方向的幀內(nèi)編碼代價(jià),從 中選擇代價(jià)最小的幀內(nèi)編碼模式作為最優(yōu)幀內(nèi)編碼模式。
在步驟S506中,比較最優(yōu)幀間編碼模式與最優(yōu)幀內(nèi)編碼模式的代價(jià)大小。
在步驟S507中,從最優(yōu)幀內(nèi)編碼模式和最優(yōu)幀內(nèi)編碼模式中選擇代價(jià)小的 編碼模式作為當(dāng)前宏塊的編碼模式。
在步驟S508中,判斷當(dāng)前宏塊是否為幀內(nèi)預(yù)測(cè)宏塊,若是,則進(jìn)入步驟 S509,否則結(jié)束。幀內(nèi)預(yù)測(cè)宏塊即當(dāng)前以幀內(nèi)模式進(jìn)行預(yù)測(cè)編碼的宏塊。
在步驟S509中,更新最優(yōu)幀間編碼代價(jià)分布。在一個(gè)實(shí)施例中,當(dāng)前宏塊 選擇的編碼模式是最優(yōu)幀內(nèi)編碼模式,則可更新當(dāng)前幀的最優(yōu)幀間編碼代價(jià)分 布,而當(dāng)前幀的最優(yōu)幀間編碼代價(jià)分布可用于下一幀的代價(jià)閾值的計(jì)算。
以上所述僅為本發(fā)明的較佳實(shí)施例而已,并不用以限制本發(fā)明,凡在本發(fā) 明的精神和原則之內(nèi)所作的任何修改、等同替換和改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
權(quán)利要求
1、一種視頻編碼快速模式選擇裝置,其特征在于,包括閾值調(diào)整單元,用于根據(jù)前一幀的幀內(nèi)預(yù)測(cè)宏塊的最優(yōu)幀間編碼代價(jià)分布調(diào)整當(dāng)前幀的代價(jià)閾值;模式選擇單元,與所述閾值調(diào)整單元相連,用于計(jì)算當(dāng)前宏塊在各宏塊分割模式下的幀間編碼代價(jià),選擇代價(jià)最小的幀間編碼模式作為最優(yōu)幀間編碼模式,以及當(dāng)所述最優(yōu)幀間編碼模式的代價(jià)小于所述代價(jià)閾值時(shí),則選擇所述最優(yōu)幀間編碼模式作為當(dāng)前宏塊的編碼模式。
2、 根據(jù)權(quán)利要求1所述的視頻編碼快速模式選擇裝置,其特征在于,所述 閾值調(diào)整單元包括初始化參數(shù)設(shè)置模塊,用于設(shè)置初始化參數(shù),所述初始化參數(shù)包括比例參 數(shù)及至少兩個(gè)代價(jià)區(qū)間;代價(jià)分布統(tǒng)計(jì)模塊,與所述初始化參數(shù)設(shè)置模塊相連,統(tǒng)計(jì)前一幀中最優(yōu) 幀間編碼代價(jià)位于所述代價(jià)區(qū)間內(nèi)的幀內(nèi)預(yù)測(cè)宏塊的個(gè)數(shù)占幀內(nèi)預(yù)測(cè)宏塊總數(shù) 的比例分布;閾值計(jì)算模塊,與所述初始化參數(shù)設(shè)置模塊及代價(jià)分布統(tǒng)計(jì)模塊相連,根 據(jù)所述比例分布計(jì)算當(dāng)前幀的代價(jià)閾值。
3、 根據(jù)權(quán)利要求2所述的視頻編碼快速模式選擇裝置,其特征在于,所述 初始化參數(shù)設(shè)置沖莫塊按照以下分布設(shè)置等長(zhǎng)的代價(jià)區(qū)間[O,C), [C,2C), [2C,3C),…,[,C,+od) 其中,C是一個(gè)區(qū)間的代價(jià),W是正整數(shù);所述閾值計(jì)算模塊當(dāng)|> "時(shí),計(jì)算所述代價(jià)閾值為radapt=z'*C,其中, i^是最優(yōu)幀間編碼代價(jià)位于第"個(gè)代價(jià)區(qū)間內(nèi)的幀內(nèi)預(yù)測(cè)宏塊的個(gè)數(shù)占幀內(nèi)預(yù)測(cè)宏塊總數(shù)的比例,r是預(yù)設(shè)的比例參數(shù),r^pt是代價(jià)閾值,/的取值為o ;v。
4、 根據(jù)權(quán)利要求1所述的視頻編碼快速模式選擇裝置,其特征在于,所述 模式選擇單元包括幀間編碼代價(jià)計(jì)算模塊,用于計(jì)算當(dāng)前宏塊在各宏塊分割模式下的幀間編 碼代價(jià);幀內(nèi)編碼代價(jià)計(jì)算模塊,所述幀間編碼代價(jià)計(jì)算模塊相連,用于計(jì)算各宏塊分割模式下不同預(yù)測(cè)方向的幀內(nèi)編碼代價(jià);比較選擇模塊,與所述幀間編碼代價(jià)計(jì)算模塊及幀內(nèi)編碼代價(jià)計(jì)算模塊相 連,用于比較最優(yōu)幀間編碼模式的代價(jià)與所述代價(jià)閾值,當(dāng)所述最優(yōu)幀間編碼 模式的代價(jià)大于所述代價(jià)闊值時(shí),通知所述幀內(nèi)編碼代價(jià)計(jì)算模塊計(jì)算各宏塊 分割模式下不同預(yù)測(cè)方向的幀內(nèi)編碼代價(jià),并從中選擇代價(jià)最'〗、的幀內(nèi)編碼模 式作為最優(yōu)幀內(nèi)編碼模式。
5、 根據(jù)權(quán)利要求4所述的視頻編碼快速模式選擇裝置,其特征在于,所述 比較選擇模塊還用于比較最優(yōu)幀間編碼模式與最優(yōu)幀內(nèi)編碼模式的代價(jià)小,從 中選擇代價(jià)小的編碼模式作為當(dāng)前宏塊的編碼模式。
6、 一種^L頻編碼快速^^式選擇方法,其特征在于,所述方法包括 根據(jù)前一幀的幀內(nèi)預(yù)測(cè)宏塊的最優(yōu)幀間編碼代價(jià)分布調(diào)整當(dāng)前幀的代價(jià)閾值;對(duì)當(dāng)前幀的每一 個(gè)宏塊進(jìn)行如下步驟的^t式選擇計(jì)算當(dāng)前宏塊在各宏塊模式下的幀間編碼代價(jià),選擇代價(jià)最小的幀間編碼 模式作為最優(yōu)幀間編碼模式;當(dāng)所述最優(yōu)幀間編碼模式的代價(jià)小于所述代價(jià)閾值時(shí),選擇所述最優(yōu)幀間 編碼模式作為當(dāng)前宏塊的編碼模式。
7、 根據(jù)權(quán)利要求6所述的視頻編碼快速模式選擇方法,其特征在于,所述 調(diào)整當(dāng)前幀的代價(jià)閾值的步驟包括設(shè)置初始化參數(shù),所述初始化參數(shù)包括比例參數(shù)及至少兩個(gè)代價(jià)區(qū)間; 統(tǒng)計(jì)前一幀中最優(yōu)幀間編碼代價(jià)位于所述代價(jià)區(qū)間內(nèi)的幀內(nèi)預(yù)測(cè)宏塊的個(gè) 數(shù)占幀內(nèi)預(yù)測(cè)宏塊總數(shù)的比例分布;根據(jù)所述比例分布計(jì)算當(dāng)前幀的代價(jià)閾值。
8、 根據(jù)權(quán)利要求7所述的視頻編碼快速模式選擇方法,其特征在于,調(diào)整 當(dāng)前幀的代價(jià)閾值的步驟包括按照以下分布設(shè)置等長(zhǎng)的代價(jià)區(qū)間[O,C), [C,2C), [2C,3C),…,[,C,十oo) 其中,C是一個(gè)區(qū)間的代價(jià),W是正整數(shù);當(dāng)f乂"時(shí),計(jì)算所述代價(jià)閾值為radapt=〖*c,其中,&是最優(yōu)幀間編碼代價(jià)位于第《個(gè)代Y介區(qū)間內(nèi)的幀內(nèi)預(yù)測(cè)宏塊的個(gè)數(shù)占幀內(nèi)預(yù)測(cè)宏塊總數(shù)的比例, r是預(yù)設(shè)比例參數(shù),7;dapt是代價(jià)閾值,/的取值為0 見(jiàn)
9、 根據(jù)權(quán)利要求6所述的視頻編碼快速模式選擇方法,其特征在于,所述 方法還包括當(dāng)所述最優(yōu)幀間編碼模式的代價(jià)大于所述代價(jià)閾值時(shí),則計(jì)算各宏塊分割 模式下不同預(yù)測(cè)方向的幀內(nèi)編碼代價(jià),并從中選擇代價(jià)最小的幀內(nèi)編碼模式作 為最優(yōu)幀內(nèi)編碼才莫式。
10、 根據(jù)權(quán)利要求9所述的視頻編碼快速模式選擇方法,其特征在于,所 述選擇最優(yōu)幀內(nèi)編碼模式的步驟之后還包括比較所述最優(yōu)幀間編碼模式與最優(yōu)幀內(nèi)編碼模式的代價(jià)大小,從中選擇代 價(jià)小的編碼模式作為當(dāng)前宏塊的編碼模式。
全文摘要
本發(fā)明提供了一種視頻編碼快速模式選擇裝置及方法,所述方法包括根據(jù)前一幀的幀內(nèi)預(yù)測(cè)宏塊的最優(yōu)幀間編碼代價(jià)分布調(diào)整當(dāng)前幀的代價(jià)閾值;對(duì)當(dāng)前幀的每一個(gè)宏塊進(jìn)行如下步驟的模式選擇計(jì)算當(dāng)前宏塊在各宏塊模式下的幀間編碼代價(jià),選擇代價(jià)最小的幀間編碼模式作為最優(yōu)幀間編碼模式;當(dāng)所述最優(yōu)幀間編碼模式的代價(jià)小于所述代價(jià)閾值時(shí),選擇所述最優(yōu)幀間編碼模式作為當(dāng)前宏塊的編碼模式。采用本發(fā)明提供的視頻編碼快速模式選擇裝置及方法,能提高編碼模式選擇的準(zhǔn)確性。
文檔編號(hào)H04N7/32GK101562750SQ200910039729
公開(kāi)日2009年10月21日 申請(qǐng)日期2009年5月25日 優(yōu)先權(quán)日2009年5月25日
發(fā)明者谷沉沉 申請(qǐng)人:騰訊科技(深圳)有限公司