專利名稱:幀間編碼模式確定方法及裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及視頻處理技術(shù)領(lǐng)域,特別涉及幀間編碼模式確定方法及裝置。
背景技術(shù):
目前,在H.264標(biāo)準(zhǔn)中,為了在保證視頻質(zhì)量的同時,盡可能減少視頻 編碼的碼率,會在宏塊進(jìn)行幀間編碼前進(jìn)行編碼模式的選擇,采用率失真優(yōu) 化(RDO)算法計(jì)算所有可能的編碼模式下的率失真代價(RDCost),選 擇率失真代價最小的編碼模式作為幀間編碼模式。
其中,幀間編碼模式可以采用幀內(nèi)預(yù)測編碼或幀間預(yù)測編碼,其中幀間 預(yù)測編碼根據(jù)宏塊分割情況不同又可分為7種。宏塊的不同分割情況如圖1 所示,分別為16x16、 16x8、 8x16、 8x8,其中在8x8的才莫式下,還可以進(jìn) 行8x4、 4x8、 4x4的子宏塊分割。這7種宏塊模式分別對應(yīng)7種幀間預(yù)測編 碼模式,即16x16對應(yīng)模式1 ( model ) , 16x8對應(yīng)模式2 ( mode2 ) , 8x16 對應(yīng)模式3 ( mode3 ) , 8x8對應(yīng)模式4 ( mode4 ) 、 8x4對應(yīng)模式5 ( mode5 )、 4x8對應(yīng)模式6 (mode6) 、 4x4對應(yīng)模式7 ( mode7 )。另外,當(dāng)對待編碼 宏塊進(jìn)行運(yùn)動估計(jì),得出宏塊沒有運(yùn)動的結(jié)果時,對應(yīng)跳過模式(mode0)。
現(xiàn)有的H.264標(biāo)準(zhǔn)中,需要對所有可能的幀間編碼模式進(jìn)行運(yùn)動估計(jì), 并分別計(jì)算率失真代價。由于運(yùn)動估計(jì)和率失真代價的計(jì)算過程復(fù)雜度很 高,計(jì)算量很大,因此現(xiàn)有的幀間模式選擇方法雖然能夠選擇到最好的幀間 編碼模式,但這一過程需要耗費(fèi)巨大的計(jì)算量,降低了編碼速度。
發(fā)明內(nèi)容
本發(fā)明實(shí)施例提供一種幀間編碼模式確定方法,可以減少幀間編碼模式
7
選擇所耗費(fèi)的計(jì)算量,提高編碼速度。
本發(fā)明實(shí)施例提供一種幀間編碼模式確定裝置,可以減少幀間編碼模式 選擇所耗費(fèi)的計(jì)算量,提高編碼速度。
為達(dá)到上述目的,本發(fā)明的技術(shù)方案具體是這樣實(shí)現(xiàn)的 一種幀間編碼才莫式確定方法,該方法包括
將跳過模式的率失真代價與預(yù)設(shè)的第 一閾值的當(dāng)前值進(jìn)行比較,若跳過 模式的率失真代價比當(dāng)前的第一閾值小,則確定跳過模式為幀間預(yù)測模式下 的最優(yōu)模式,否則從幀間預(yù)測模式下的其余模式中確定幀間預(yù)測模式下的最 優(yōu)模式;
將確定的最優(yōu)模式的率失真代價與預(yù)設(shè)的第二閾值的當(dāng)前值進(jìn)行比較, 若所述幀間預(yù)測模式下的最優(yōu)模式的率失真代價比所述第二閾值小,則確定 所述最優(yōu)模式為幀間編碼模式,否則,將幀內(nèi)預(yù)測模式下的最優(yōu)模式和所述 幀間預(yù)測模式下的最優(yōu)模式中,率失真代價最小的一個確定為幀間編碼模 式。
一種幀間模式選擇裝置,該裝置包括
幀間最優(yōu)模式確定模塊,用于指令率失真代價計(jì)算模塊計(jì)算跳過模式的 率失真代價,將跳過模式的率失真代價與預(yù)設(shè)的第 一 閾值的當(dāng)前值進(jìn)行比 較,若跳過模式的率失真代價比所述第一閾值小,則確定跳過模式為幀間預(yù) 測模式下的最優(yōu)模式,否則,從幀間預(yù)測模式下的其余模式中確定幀間預(yù)測
模式下的最優(yōu)模式;
率失真代價計(jì)算模塊,用于計(jì)算各種模式的率失真代價; 幀間編碼模式確定模塊,用于指令率失真代價計(jì)算模塊計(jì)算所述幀間最 優(yōu)模式確定模塊確定的幀間預(yù)測模式下的最優(yōu)模式的率失真代價,將所述確 定的最優(yōu)模式的率失真代價與預(yù)設(shè)的第二閾值的當(dāng)前值進(jìn)行比較,若所述幀 間預(yù)測模式下的最優(yōu)模式的率失真代價比所述的第二閾值小,則確定所述的 最優(yōu)模式為幀間編碼模式,否則,將幀內(nèi)預(yù)測模式下的最優(yōu)模式和所述幀間 預(yù)測模式下的最優(yōu)模式中,率失真代價較小的一個確定為幀間編碼模式。
由上述的技術(shù)方案可見,本發(fā)明的這種將跳過模式的率失真代價與當(dāng)前 的第 一 闊值進(jìn)行比較,若跳過模式的率失真代價比預(yù)設(shè)的第 一 閾值的當(dāng)前值 小,則確定跳過模式為幀間預(yù)測模式下的最優(yōu)模式,否則從幀間預(yù)測模式下
的其余模式中確定幀間預(yù)測模式下的最優(yōu)模式;再將所述確定的最優(yōu)模式的 率失真代價與預(yù)設(shè)的第二閾值的當(dāng)前值進(jìn)行比較,若所述幀間預(yù)測模式下的 最優(yōu)模式的率失真代價比當(dāng)前的第二閾值小,則確定所述最優(yōu)模式為幀間編 碼模式,否則,將幀內(nèi)預(yù)測模式下的最優(yōu)模式和所述幀間預(yù)測模式下的最優(yōu) 模式中,率失真代價較小的一個確定為幀間編碼模式的方法及裝置,利用不 同的視頻圖像的宏塊模式傾向,在進(jìn)行所有宏塊模式的運(yùn)動估計(jì)前決定哪個 宏塊模式為最優(yōu)模式。由于沒有對所有宏塊模式進(jìn)行率失真代價計(jì)算,因此 可以大大減少幀間編碼過程中確定編碼模式的計(jì)算量和計(jì)算復(fù)雜度,在圖像 質(zhì)量基本沒有下降的前提下,提高了編碼速度。
圖1為H.264標(biāo)準(zhǔn)的宏塊模式示意圖2為本發(fā)明實(shí)施例的幀間編碼才莫式確定方法流程圖3為本發(fā)明實(shí)施例的幀間編碼模式確定裝置結(jié)構(gòu)圖。
具體實(shí)施例方式
為使本發(fā)明的目的、技術(shù)方案及優(yōu)點(diǎn)更加清楚明白,以下參照附圖并舉 實(shí)施例,對本發(fā)明進(jìn)一步詳細(xì)說明。
在一般情況下,當(dāng)采用較大尺寸宏塊,如16x16、 16x8或8xl6進(jìn)行編 碼時,預(yù)測殘差的數(shù)據(jù)量通常比較大,但用于編碼運(yùn)動矢量和宏塊類型的數(shù) 據(jù)量會比較少,適合于圖像細(xì)節(jié)比較少、平穩(wěn)的圖像區(qū)域。而釆用較小尺寸 宏塊如8x4、 4x8或4x4時,預(yù)測殘差通常比較小,但用于編碼運(yùn)動矢量和 宏塊類型的數(shù)據(jù)量會增加很多,適合于圖像細(xì)節(jié)較多,運(yùn)動比較劇烈的圖像 區(qū)域。Skip模式不包含預(yù)測殘差和運(yùn)動信息,因而數(shù)據(jù)量最小, 一般在運(yùn)動
不復(fù)雜和背景不太變化的場景中比較常見。
可見,在不同類型的圖像中,最優(yōu)宏塊模式的選擇是有不同的傾向性的, 本發(fā)明實(shí)施例主要是利用這種傾向性,通過比較各種宏塊模式下的非率失真 代價,決定需要進(jìn)行運(yùn)動搜索的塊的類型。
圖2為本發(fā)明實(shí)施例的幀間編碼模式選擇方法的總體流程圖,如圖2所 示,該流程的具體包括
步驟201,將跳過模式的率失真代價與當(dāng)前的第一閾值進(jìn)行比較,若跳過 模式的率失真代價比當(dāng)前的第一閾值小,則確定跳過模式為幀間預(yù)測模式下的 最優(yōu)模式,否則從幀間預(yù)測模式下的其余模式中確定幀間預(yù)測模式下的最優(yōu)模 式。
步驟202,將所述幀間預(yù)測模式下的最優(yōu)模式的率失真代價與當(dāng)前的第 二閾值進(jìn)行比較,若所述幀間預(yù)測模式下的最優(yōu)模式的率失真代價比當(dāng)前的 第二閾值小,則確定所述幀間預(yù)測模式下的最優(yōu)模式為幀間編碼模式,否則, 將幀內(nèi)預(yù)測模式下的最優(yōu)模式和所述幀間預(yù)測模式下的最優(yōu)模式中,率失真 代價較小的一個確定為幀間編碼模式。
以下是發(fā)明具體實(shí)施例的幀間編碼才莫式選擇方法流程
步驟l,判斷跳過模式是否是最優(yōu)模式。
計(jì)算跳過模式(mode0)的率失真代價c,,若滿足公式(1)則執(zhí)行步 驟9否則執(zhí)行步驟2。
c鄉(xiāng)^ (1) 其中?;為第一閾值,其計(jì)算公式為(2):<formula>formula see original document page 10</formula> (2)
j;初始化時為0,只有在選擇跳過模式為最優(yōu)宏塊模式時,才利用公式 (2)更新7;的值。?;'表示編碼當(dāng)前宏塊之前7;的值,"代表編碼當(dāng)前宏塊之 前選擇跳過模式為最優(yōu)模式的宏塊個數(shù),c為當(dāng)前宏塊的率失真代價。公式 (2)的意義是選擇已編碼宏塊中選擇跳過模式的宏塊率失真代價的平均
值作為待編碼的宏塊直接選擇跳過模式為最優(yōu)宏塊模式(不做剩余塊的搜 索)的閾值。
步驟2,計(jì)算16x16塊(mode 1) , 8x8塊(mode 4) , 4x4塊(mode 7 )
的非率失真代價c;,、 c^和c^,根據(jù)其大小關(guān)系,判斷下列不等式是否成
立
C4;t4 < C8x8 < C16xl6 (3) Cl6xl6 < C8;C8 < C4x4 (4)
< C16xl6 < C8jC8 (5)
C!6;d6 < C4x4 < C8x8 (6)
若C',, Cw和C葛足不等式(3),則執(zhí)行步驟3;若滿足不等式(4), 則執(zhí)行步驟4;若滿足不等式(5),則執(zhí)行步驟5;若滿足不等式(6), 則執(zhí)行步驟6;若以上條件均不滿足,則執(zhí)行步驟7,并令J為2。其中J 為記錄跳轉(zhuǎn)方向的變量,將在步驟7中使用。
步驟3,計(jì)算8x4塊(mode 5 )和4x8塊(mode 6 )的非率失真代價C^ 和(^8,選擇C^、 C8l4、 C^和c^中的最小值,將最小值對應(yīng)的宏塊模式作 為最優(yōu)宏塊模式,并執(zhí)行步驟8。
步驟4,計(jì)算16x8塊(mode 2)和8x16塊(mode 3 )的非率失真代價 c^和c^,選擇Qw、 c16,8、 c,和c^中的最小值,將最小值對應(yīng)的宏塊 模式作為最優(yōu)宏塊模式,并執(zhí)行步驟8。
步驟5,計(jì)算8x4塊(mode5) , 4x8塊(mode 6 )的非率失真代價C^
和<^8,若<^4、 C^和C^使條件不等式(7)為真,則將mode7作為最優(yōu)宏
塊模式,并執(zhí)行步驟8;否則執(zhí)行步驟7,并令J為5。 C4;c4<C4x8&&C4,4<C8;c4 (7)
步驟6,計(jì)算16x8塊(mode2), 8x16塊(mode 3 )的非率失真代價C編 和<^16,若Qw、 C^和C^使條件不等式(8)為真,則將model作為最優(yōu)
宏塊模式,并執(zhí)行步驟8;否則執(zhí)行步驟7,并令J為6。
C腿< Cl6;c8 & &C1"16 < C涵 (8)
步驟7,檢查J的值,若J為2,則計(jì)算16x8塊(mode 2)、 8x16塊(mode 3 ) 、 8x4塊(mode 5 )和4><8塊(mode 6 )的非率失真代價C腳、CS;d6 、 C8,4 、 和C"s;若J為5,則計(jì)算16x8塊(mode 2)和8xl6塊(mode 3)的非率 失真代價016,8和<^16;若J為6,則計(jì)算8x4塊(mode 5 )和4x8塊(mode 6 )
的非率失真代價C^和C^;選擇所有七種模式(不包括跳過模式)中非率失
真代價最小的宏塊模式作為最優(yōu)宏塊模式,并執(zhí)行步驟8。
本步驟中,根據(jù)J值計(jì)算非率失真代價的目的就是根據(jù)之前已經(jīng)計(jì)算出 來的各種模式的非率失真代價,在所有7種模式中確定還需要計(jì)算的非率失 真代價,從而計(jì)算出所有7種模式的非率失真代價,避免重復(fù)計(jì)算。當(dāng)然, 不論使用什么方法,只要保證計(jì)算出所有7種模式的非率失真代價即可。
步驟8,計(jì)算最終得到的最優(yōu)宏塊模式的率失真代價C^,若滿足公式 (9),則將以上選擇出的最優(yōu)宏塊模式對應(yīng)的幀間編碼模式作為最終選擇 的幀間編碼模式,否則執(zhí)行步驟9。
c*<r2 (9)
其中7;是用來判斷是否進(jìn)行幀內(nèi)預(yù)測的第二閾值,計(jì)算公式為(10): r2 =(r2'-n+c)/( +i) (10)
72初始時為0,只有選擇了幀內(nèi)預(yù)測模式為最優(yōu)宏塊模式時,才利用公 式(10)更新72的值?!侗硎揪幋a當(dāng)前宏塊前72的值,"代表編碼當(dāng)前宏塊 前選擇幀內(nèi)預(yù)測模式為最優(yōu)宏塊模式的宏塊個數(shù),c為當(dāng)前宏塊的率失真代 價。公式(10)的意義是選擇已編碼宏塊中幀內(nèi)預(yù)測模式率失真代價的平
均值作為待編碼宏塊判斷是否需要進(jìn)行幀內(nèi)預(yù)測的閾值。
步驟9,計(jì)算幀內(nèi)預(yù)測模式的率失真代價c旨。,若c^,和c^滿足公式 (11),則選擇幀間預(yù)測模式為最優(yōu)宏塊模式;否則選擇幀內(nèi)預(yù)測模式為最 優(yōu)宏塊模式;
C,*<C; fr。 (11)
上面介紹了本發(fā)明實(shí)施例的巾貞間編碼^t式選擇方法,下面將詳細(xì)介紹本 發(fā)明實(shí)施例的幀間編碼模式選擇裝置。
圖3為本發(fā)明實(shí)施例的幀間編碼模式選擇裝置的結(jié)構(gòu)圖;如圖3所示, 該裝置包括幀間最優(yōu)模式確定模塊301、率失真代價計(jì)算模塊302和幀間 編碼模式確定模塊303。
幀間最優(yōu)模式確定模塊301用于指令率失真代價計(jì)算模塊302計(jì)算跳過模 式的率失真代價,將跳過模式的率失真代價與預(yù)設(shè)的第一閾值的當(dāng)前值進(jìn)行比 較,若跳過模式的率失真代價比當(dāng)前的第一閾值小,則確定跳過模式為幀間預(yù) 測模式下的最優(yōu)模式,否則從幀間預(yù)測模式下的其余模式中確定幀間預(yù)測模式 下的最優(yōu)沖莫式。
率失真代價計(jì)算模塊302用于計(jì)算各種模式的率失真代價。 幀間編碼模式確定模塊303用于指令率失真代價計(jì)算模塊302計(jì)算所述幀 間最優(yōu)模式確定模塊確定的幀間預(yù)測模式下的最優(yōu)模式的率失真代價,將所述 最優(yōu)模式的率失真代價與預(yù)設(shè)的第二閾值的當(dāng)前值進(jìn)行比較,若所述幀間預(yù)測 模式下的最優(yōu)模式的率失真代價比當(dāng)前的第二闊值小,則確定所述幀間預(yù)測模 式下的最優(yōu)模式為幀間編碼模式,否則,將幀內(nèi)預(yù)測模式下的最優(yōu)模式和所述 幀間預(yù)測模式下的最優(yōu)模式中,率失真代價較小的一個確定為幀間編碼模式。
其中,幀間最優(yōu)模式確定模塊301包括第一閾值計(jì)算單元304和最優(yōu)模 式確定單元306。
第一閾值計(jì)算單元304用于將第一閾值7;的初始值設(shè)置為0,當(dāng)確定跳過模 式為幀間編碼模式時,根據(jù)公式7; = (7;'."+0/("+1)更新7;的值,其中t;'表示在當(dāng) 前編碼模式確定之前 ;的值,"表示在當(dāng)前編碼才莫式確定之前選擇跳過才莫式為幀 間編碼模式的宏塊個數(shù),c為當(dāng)前待編碼宏塊的率失真代價。
最優(yōu)模式確定單元306,用于將跳過模式的率失真代價與第一閾值計(jì)算 單元304計(jì)算出的第 一閾值進(jìn)行比較,若跳過模式的率失真代價比第 一閾值 小,則確定跳過模式為幀間預(yù)測模式下的最優(yōu)模式,否則從幀間預(yù)測模式下
的其余模式中確定幀間預(yù)測模式下的最優(yōu)模式。
其中,最優(yōu)模式確定模塊301還可以包括非率失真代價計(jì)算單元305。
所述最優(yōu)模式確定單元306指令非率失真代價計(jì)算單元305計(jì)算模式1、 模式4、模式7的非率失真代價;并比較模式1、模式4、模式7的非率失 真代價之間的大小關(guān)系。
若模式7的非率失真代價小于模式4的非率失真代價,且模式4的非率失 真代價小于模式1的非率失真代價,則指令非率失真代價計(jì)算單元305計(jì)算模 式5和模式6的非率失真代價;并將模式4、模式5、模式6、模式7中非率失 真代價最小的模式確定為幀間預(yù)測模式下的最優(yōu)模式。
若模式1的非率失真代價小于模式4的非率失真代價,且模式4的非率失 真代價小于模式7的非率失真代價,則指令非率失真代價計(jì)算單元305計(jì)算模 式2和模式3的非率失真代價;將模式l、模式2、模式3、模式4中非率失真 代價最小的模式確定為幀間預(yù)測模式下的最優(yōu)模式。
若模式7的非率失真代價小于模式1的非率失真代價,且模式1的非率失 真代價小于模式4的非率失真代價,則指令非率失真代價計(jì)算單元305計(jì)算模 式5和模式6的非率失真代價;若模式7的非率失真代價小于模式5的非率失 真代價,且模式7的非率失真代價小于模式6的非率失真代價,則將模式7確 定為需要進(jìn)行運(yùn)動估計(jì)的最優(yōu)模式;否則指令非率失真代價計(jì)算單元305計(jì)算 模式2和模式3的非率失真代價,將模式1至模式7中非率失真代價最小的模 式確定為幀間預(yù)測模式下的最優(yōu)模式。
若模式1的非率失真代價小于模式7的非率失真代價,且模式7的非率失 真代價小于模式4的非率失真代價,則指令非率失真代價計(jì)算單元305計(jì)算模 式2和模式3的非率失真代價;若模式1的非率失真代價小于模式2的非率失 真代價,且模式1的非率失真代價小于模式3的非率失真代價,則將模式1確 定為需要進(jìn)行運(yùn)動估計(jì)的最優(yōu)模式;否則指令非率失真代價計(jì)算單元305計(jì)算 模式5和模式6的非率失真代價,將模式1至模式7中非率失真代價最小的模 式確定為幀間預(yù)測^t式下的最優(yōu)模式。
若模式1 、模式4和模式7的非率失真代價之間的大小關(guān)系不滿足以上 條件,則指令非率失真代價計(jì)算單元305計(jì)算模式2、模式3、模式5和模 式6的非率失真代價,將模式1至模式7中非率失真代價最小的模式確定為 幀間預(yù)測模式下的最優(yōu)模式。
幀間編碼模式確定模塊303包括第二閾值計(jì)算單元307和幀間編碼模式 確定單元308。
第二閾值計(jì)算單元307用于將第二閾值7^的初始值設(shè)置為0,當(dāng)確定幀內(nèi)預(yù) 測模式為幀間編碼模式時,根據(jù)公式r,(r;.w+c)/("+i)更新7;的值,其中r(表 示在當(dāng)前編碼模式確定之前r2的值,"表示在當(dāng)前編碼才莫式確定之前選擇幀內(nèi) 預(yù)測模式為幀間編碼模式的宏塊個數(shù),c為當(dāng)前待編碼宏塊的率失真代價。
幀間編碼模式確定單元308用于將所述幀間預(yù)測模式下的最優(yōu)模式的 率失真代價與第二閾值計(jì)算單元307計(jì)算出的第二閾值進(jìn)行比較,若所述幀 間預(yù)測模式下的最優(yōu)模式的率失真代價比第二閣值小,貝'J確定所述幀間預(yù)測 模式下的最優(yōu)模式為幀間編碼模式,否則,將幀內(nèi)預(yù)測模式下的最優(yōu)模式和 所述幀間預(yù)測模式下的最優(yōu)模式中,率失真代價較小的一個確定為幀間編碼 模式。
由上述的實(shí)施例可見,本發(fā)明的這種將跳過模式的率失真代價與預(yù)設(shè)的 第 一 閾值的當(dāng)前值進(jìn)行比較,若跳過模式的率失真代價比當(dāng)前的第 一 閾值 小,則確定跳過模式為幀間預(yù)測模式下的最優(yōu)模式,否則從幀間預(yù)測模式下 的其余模式中確定幀間預(yù)測模式下的最優(yōu)模式;再將所述幀間預(yù)測模式下的 最優(yōu)模式的率失真代價與預(yù)設(shè)的第二閾值的當(dāng)前值進(jìn)行比較,若所述幀間預(yù) 測模式下的最優(yōu)模式的率失真代價比當(dāng)前的第二閾值小,則確定所述幀間預(yù) 測模式下的最優(yōu)模式為幀間編碼模式,否則,將幀內(nèi)預(yù)測模式下的最優(yōu)模式 和所述幀間預(yù)測模式下的最優(yōu)模式中,率失真代價較小的一個確定為幀間編 碼模式的方法及裝置,利用不同的視頻圖像的宏塊模式傾向,在進(jìn)行所有宏 塊模式的運(yùn)動估計(jì)前利用計(jì)算各種宏塊模式的非率失真代價,決定哪個宏塊
模式為最優(yōu)模式。由于非率失真代價的計(jì)算相比率失真代價的計(jì)算量和計(jì)算 復(fù)雜度要小很多,因此可以大大減少幀間編碼過程中確定編碼模式的計(jì)算量 和計(jì)算復(fù)雜度,在圖像質(zhì)量基本沒有下降的前提下,提高了編碼效率。
所應(yīng)理解的是,以上所述僅為本發(fā)明的較佳實(shí)施方式而已,并不用于限 定本發(fā)明的保護(hù)范圍,凡在本發(fā)明的精神和原則之內(nèi),所做的任何修改、等 同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
權(quán)利要求
1、一種幀間編碼模式確定方法,其特征是,該方法包括將跳過模式的率失真代價與預(yù)設(shè)的第一閾值的當(dāng)前值進(jìn)行比較,若跳過模式的率失真代價比當(dāng)前的第一閾值小,則確定跳過模式為幀間預(yù)測模式下的最優(yōu)模式,否則從幀間預(yù)測模式下的其余模式中確定幀間預(yù)測模式下的最優(yōu)模式;將確定的最優(yōu)模式的率失真代價與預(yù)設(shè)的第二閾值的當(dāng)前值進(jìn)行比較,若所述幀間預(yù)測模式下的最優(yōu)模式的率失真代價比所述第二閾值小,則確定所述最優(yōu)模式為幀間編碼模式,否則,將幀內(nèi)預(yù)測模式下的最優(yōu)模式和所述幀間預(yù)測模式下的最優(yōu)模式中,率失真代價最小的一個確定為幀間編碼模式。
2、 如權(quán)利要求1所述的幀間編碼模式確定方法,其特征是,設(shè)所述第一閾 值為7;,所述7;的初始值為0;當(dāng)確定跳過;^莫式為幀間編碼模式時,該方法進(jìn)一步包括根據(jù)公式<formula>formula see original document page 2</formula>更新z;的值,其中z;'表示在當(dāng)前編碼才莫式確定之前7;的值,"表示在當(dāng)前編碼模式確定之前選擇跳過模式為幀間編碼模式的宏塊個數(shù),c為當(dāng)前待編碼宏塊的率失真代價。
3、 如權(quán)利要求1所述的幀間編碼模式確定方法,其特征是,設(shè)所述第二閾 <直為r2,所述t;的初始^f直為0;當(dāng)確定幀內(nèi)預(yù)測模式為幀間編碼模式時,該方法進(jìn)一步包括根據(jù)公式r2 = (r2'.w+c) +1)更新r2的值,其中r2'表示在當(dāng)前編碼模式確定之前r2的值,"表示在當(dāng)前編碼模式確定之前選擇幀內(nèi)預(yù)測模式為幀間編碼模式的宏塊個數(shù),c為當(dāng)前待編碼宏塊的率失真代價。
4、 如權(quán)利要求1所述的幀間編碼模式選擇方法,其特征是,所述其余模式 包括模式1至模式7;所述從幀間預(yù)測模式下的其余模式中確定幀間預(yù)測模式下的最優(yōu)模式,包括計(jì)算模式l、模式4、模式7的非率失真代價;根據(jù)模式l、模式4和模式7的非率失真代價之間的大小關(guān)系,確定幀間預(yù)測才莫式下的最優(yōu)模式。
5、如權(quán)利要求4所述的幀間編碼模式選擇方法,其特征是,所述根據(jù)模式 1、模式4和模式7的非率失真代價之間的大小關(guān)系,確定幀間預(yù)測模式下的最 優(yōu)模式,包括若模式7的非率失真代價小于模式4的非率失真代價,且模式4的非率失 真代價小于模式1的非率失真代價,則計(jì)算模式5和模式6的非率失真代價; 將模式4、模式5、模式6、模式7中非率失真代價最小的模式確定為幀間預(yù)測 模式下的最優(yōu)模式;若模式1的非率失真代價小于模式4的非率失真代價,且模式4的非率失 真代價小于模式7的非率失真代價,則計(jì)算模式2和模式3的非率失真代價; 將模式l、模式2、模式3、模式4中非率失真代價最小的模式確定為幀間預(yù)測 模式下的最優(yōu)模式;若模式7的非率失真代價小于模式1的非率失真代價,且模式1的非率失 真代價小于模式4的非率失真代價,則計(jì)算模式5和模式6的非率失真代價; 若模式7的非率失真代價小于模式5的非率失真代價,且模式7的非率失真代 價小于模式6的非率失真代價,則將模式7確定為需要進(jìn)行運(yùn)動估計(jì)的最優(yōu)模 式;否則,計(jì)算模式2和模式3的非率失真代價,將模式1至模式7中非率失 真代價最小的才莫式確定為幀間預(yù)測模式下的最優(yōu)才莫式;若模式1的非率失真代價小于模式7的非率失真代價,且模式7的非率失 真代價小于模式4的非率失真代價,則計(jì)算模式2和模式3的非率失真代價; 若模式1的非率失真代價小于模式2的非率失真代價,且模式1的非率失真代 價小于模式3的非率失真代價,則將模式1確定為需要進(jìn)行運(yùn)動估計(jì)的最優(yōu)模 式;否則,計(jì)算模式5和模式6的非率失真代價,將模式1至模式7中非率失 真代價最小的模式確定為幀間預(yù)測模式下的最優(yōu)模式;若模式1、模式4和模式7的非率失真代價之間的大小關(guān)系不滿足以上條 件,則計(jì)算模式2、模式3、模式5和模式6的非率失真代價,將模式1至模式 7中非率失真代價最小的模式確定為幀間預(yù)測模式下的最優(yōu)模式。
6、 一種幀間模式選擇裝置,其特征是,該裝置包括幀間最優(yōu)模式確定模塊,用于指令率失真代價計(jì)算模塊計(jì)算跳過模式的率 失真代價,將跳過^t式的率失真代價與預(yù)設(shè)的第一閾值的當(dāng)前值進(jìn)行比較,若 跳過模式的率失真代價比所述第一閾值小,則確定跳過模式為幀間預(yù)測模式下 的最優(yōu)模式,否則,從幀間預(yù)測模式下的其余模式中確定幀間預(yù)測模式下的最 優(yōu)模式;率失真代價計(jì)算模塊,用于計(jì)算各種模式的率失真代價; 幀間編碼模式確定模塊,用于指令率失真代價計(jì)算模塊計(jì)算所述幀間最優(yōu) 模式確定模塊確定的幀間預(yù)測模式下的最優(yōu)模式的率失真代價,將所述確定的 最優(yōu)模式的率失真代價與預(yù)設(shè)的第二閾值的當(dāng)前值進(jìn)行比較,若所述幀間預(yù)測 模式下的最優(yōu)模式的率失真代價比所述的第二閾值小,則確定所述的最優(yōu)模式 為幀間編碼模式,否則,將幀內(nèi)預(yù)測模式下的最優(yōu)模式和所述幀間預(yù)測模式下 的最優(yōu)模式中,率失真代價較小的一個確定為幀間編碼^t式。
7、 如權(quán)利要求6所述的幀間模式選擇裝置,其特征是,所述幀間最優(yōu)模式 確定模塊包括第一闊值計(jì)算單元,用于將第一閾值 ;的初始值設(shè)置為0,當(dāng)確定跳過模式 為幀間編碼模式時,根據(jù)公式7;-(7;'."+c)/("+i)更新7;的值,其中t;'表示在當(dāng)前 編碼模式確定之前《的值,"表示在當(dāng)前編碼模式確定之前選擇跳過模式為幀間 編碼模式的宏塊個數(shù),c為當(dāng)前待編碼宏塊的率失真代價;最優(yōu)模式確定單元,用于將跳過模式的率失真代價與第 一 閾值計(jì)算單元計(jì) 算出的第一閣值進(jìn)行比較,若跳過模式的率失真代價比預(yù)設(shè)的第一閾值小,則 確定跳過模式為幀間預(yù)測模式下的最優(yōu)模式,否則,從幀間預(yù)測模式下的其余 模式中確定幀間預(yù)測模式下的最優(yōu)模式。
8、 如權(quán)利要求7所述的幀間模式選擇裝置,其特征是,所述最優(yōu)模式確定 模塊還包括非率失真代價計(jì)算單元,用于計(jì)算幀間模式下各種模式的非率失真代價;所述最優(yōu)模式確定單元,指令非率失真代價計(jì)算單元計(jì)算模式l、模式4、模式7的非率失真代價;若模式7的非率失真代價小于模式4的非率失真代價,且模式4的非率失 真代價小于模式1的非率失真代價,則指令非率失真代價計(jì)算單元計(jì)算模式5 和模式6的非率失真代價;并將模式4、模式5、模式6、模式7中非率失真代 價最小的模式確定為幀間預(yù)測模式下的最優(yōu)模式;若模式1的非率失真代價小于模式4的非率失真代價,且模式4的非率失 真代價小于模式7的非率失真代價,則指令非率失真代價計(jì)算單元計(jì)算模式2 和模式3的非率失真代價;將模式l、模式2、模式3、模式4中非率失真代價 最小的模式確定為幀間預(yù)測模式下的最優(yōu)模式;若模式7的非率失真代價小于模式1的非率失真代價,且模式1的非率失 真代價小于模式4的非率失真代價,則指令非率失真代價計(jì)算單元計(jì)算模式5 和模式6的非率失真代價;若模式7的非率失真代價小于模式5的非率失真代 價,且模式7的非率失真代價小于模式6的非率失真代價,則將模式7確定為 需要進(jìn)行運(yùn)動估計(jì)的最優(yōu)模式;否則計(jì)算模式2和模式3的非率失真代價,將 模式1至模式7中非率失真代價最小的模式確定為幀間預(yù)測模式下的最優(yōu)模式;若模式1的非率失真代價小于模式7的非率失真代價,且模式7的非率失 真代價小于模式4的非率失真代價,則指令非率失真代價計(jì)算單元計(jì)算模式2 和模式3的非率失真代價;若模式1的非率失真代價小于模式2的非率失真代 價,且模式1的非率失真代價小于模式3的非率失真代價,則將模式1確定為 需要進(jìn)行運(yùn)動估計(jì)的最優(yōu)模式;否則計(jì)算模式5和模式6的非率失真代價,將 模式1至模式7中非率失真代價最小的模式確定為幀間預(yù)測模式下的最優(yōu)模式;若模式1、模式4和模式7的非率失真代價之間的大小關(guān)系不滿足以上條 件,則指令非率失真代價計(jì)算單元計(jì)算模式2、模式3、模式5和模式6的非率 失真代價,將模式1至模式7中非率失真代價最小的模式確定為幀間預(yù)測模式 下的最優(yōu)模式。
9、如權(quán)利要求1所述的幀間模式選擇裝置,其特征是,所述幀間編碼模式確定模塊包括第二閾值計(jì)算單元,用于將第二閾值《的初始值設(shè)置為0,當(dāng)確定幀內(nèi)預(yù)測 模式為幀間編碼模式時,根據(jù)公式72=(《."+ <:)/("+1)更新^的值,其中r;表示 在當(dāng)前編碼模式確定之前r2的值,"表示在當(dāng)前編碼模式確定之前選擇幀內(nèi)預(yù) 測模式為幀間編碼模式的宏塊個數(shù),c為當(dāng)前待編碼宏塊的率失真代價;幀間編碼模式確定單元,用于將所述確定的最優(yōu)模式的率失真代價與第二 閾值計(jì)算單元計(jì)算出的第二闊值進(jìn)行比較,若所述幀間預(yù)測模式下的最優(yōu)模式 的率失真代價比所述第二閾值小,則確定所述的最優(yōu)4莫式為幀間編碼才莫式,否 則,將幀內(nèi)預(yù)測模式下的最優(yōu)模式和所述幀間預(yù)測模式下的最優(yōu)模式中,率失 真代價較小的 一個確定為幀間編碼;漠式。
全文摘要
本發(fā)明公開了一種幀間編碼模式確定方法及裝置,將跳過模式的率失真代價與預(yù)設(shè)的第一閾值的當(dāng)前值進(jìn)行比較,若跳過模式的率失真代價比當(dāng)前的第一閾值小,則確定跳過模式為幀間預(yù)測模式下的最優(yōu)模式,否則從幀間預(yù)測模式下的其余模式中確定幀間預(yù)測模式下的最優(yōu)模式;再將所述確定的最優(yōu)模式的率失真代價與預(yù)設(shè)的第二閾值的當(dāng)前值進(jìn)行比較,若所述幀間預(yù)測模式下的最優(yōu)模式的率失真代價比當(dāng)前的第二閾值小,則確定所述最優(yōu)模式為幀間編碼模式,否則,將幀內(nèi)預(yù)測模式下的最優(yōu)模式和所述幀間預(yù)測模式下的最優(yōu)模式中,率失真代價最小的一個確定為幀間編碼模式。由于無需對所有模式進(jìn)行率失真代價計(jì)算,因此可以減少計(jì)算量,提高編碼速度。
文檔編號H04N7/26GK101179728SQ20071017946
公開日2008年5月14日 申請日期2007年12月13日 優(yōu)先權(quán)日2007年12月13日
發(fā)明者季鵬飛 申請人:北京中星微電子有限公司