專利名稱:宏塊模式的選擇方法和裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及視頻編碼技術(shù)領(lǐng)域,特別地,涉及視頻壓縮編碼的宏塊模式選擇的快速選擇方法和裝置。
背景技術(shù):
在各視頻編碼標(biāo)準(zhǔn)中,如H. 264/AVC (Advanced Video Coding), AVS (AudioVideo coding Standard先進(jìn)音頻視頻編碼標(biāo)準(zhǔn))均規(guī)定了碼流結(jié)構(gòu)和解碼過(guò)程,但并沒(méi)有描述 具體的編碼方法。而模式選擇是視頻編碼中的核心技術(shù),因此是學(xué)術(shù)研究的熱點(diǎn)。由于大多數(shù)的編碼標(biāo)準(zhǔn)都是采用宏塊為基本單位的編碼方式,所以模式選擇是 基于宏塊的編碼模式進(jìn)行選擇。從現(xiàn)有的技術(shù)來(lái)看模式選擇均是比較各個(gè)模式間的編碼 代價(jià)函數(shù),選擇出編碼代價(jià)函數(shù)最小的模式為當(dāng)前宏塊的最終模式。編碼的代價(jià)函數(shù)在采 用率失真優(yōu)化(RD0 =Rate-Distortion-Optimization)時(shí)為對(duì)應(yīng)編碼模式的率失真代價(jià) (RDCost =Rate-Distortion cost)由于率失真代價(jià)的計(jì)算很復(fù)雜,所以有人提出了其它的 計(jì)算代價(jià)函數(shù)的方法,但計(jì)算量仍很大,特別是當(dāng)運(yùn)動(dòng)估計(jì)精度較高時(shí),一次性在高精度下 做運(yùn)動(dòng)估計(jì)的復(fù)雜度非常高。而且在對(duì)于特殊模式,例如跳過(guò)(SKIP)模式,模式選擇的快 速算法中均沒(méi)有利用代價(jià)函數(shù)進(jìn)行比較計(jì)算,這樣會(huì)大大降低了模式選擇的準(zhǔn)確性。
發(fā)明內(nèi)容
本發(fā)明的目的在于針對(duì)現(xiàn)有技術(shù)的不足,提供了宏塊模式的快速選擇方法和裝置。本發(fā)明的目的是通過(guò)以下技術(shù)方案來(lái)實(shí)現(xiàn)的一種宏塊模式的選擇方法,先比較低精度運(yùn)動(dòng)估計(jì)下的第一類幀間模式的編碼代 價(jià),選出編碼代價(jià)最優(yōu)的模式作為第一類幀間模式的選擇結(jié)果,再對(duì)選出的模式進(jìn)行高精 度的運(yùn)動(dòng)估計(jì)以獲得高精度運(yùn)動(dòng)估計(jì)下該模式的最優(yōu)的編碼代價(jià)。該編碼代價(jià)再與最優(yōu)的 幀內(nèi)模式和最優(yōu)的第二類幀間模式的編碼代價(jià)比較以選擇編碼代價(jià)較優(yōu)的模式。這里的第 一類幀間模式指的是需要進(jìn)行運(yùn)動(dòng)搜索的幀間編碼模式,第二類幀間模式指的是不需要進(jìn) 行運(yùn)動(dòng)搜索的幀間編碼模式,較優(yōu)的編碼模式指的是編碼代價(jià)較小或其它與編碼代價(jià)大小 相結(jié)合的評(píng)判標(biāo)準(zhǔn)選取出的編碼模式。—種用于所述宏塊模式的選擇方法的裝置。它包括低精度像素第一類幀間模式 選擇器,高精度像素運(yùn)動(dòng)估計(jì)器,幀內(nèi)模式選擇器,第二類幀間模式選擇器和模式判決器。 其中,低精度像素第一類幀間模式選擇器的輸出端接高精度像素運(yùn)動(dòng)估計(jì)器的輸入端,輸 出第一類幀間模式中最優(yōu)的編碼模式及該編碼模式下宏塊的編碼代價(jià)。高精度像素運(yùn)動(dòng)估 計(jì)器的輸出端接模式判決器,輸出對(duì)應(yīng)的模式及高精度運(yùn)動(dòng)估計(jì)后該編碼模式下宏塊的編 碼代價(jià)。幀內(nèi)模式選擇器的輸出端接模式判決器,輸出最優(yōu)的幀內(nèi)模式及該編碼模式下宏 塊的編碼代價(jià)。第二類幀間模式選擇器的輸出端接模式判決器,輸出第二類幀間模式中,最 優(yōu)的編碼模式及該編碼模式下宏塊的編碼代價(jià)。模式判決器的一個(gè)輸入端接高精度像素運(yùn)動(dòng)估計(jì)器,一個(gè)輸入端接幀內(nèi)模式選擇器,還有一個(gè)輸入端接第二類幀間模式選擇器,輸出 三個(gè)輸入的模式中最優(yōu)的模式。一種宏塊模式的選擇方法,對(duì)宏塊的SKIP模式采用預(yù)測(cè)殘差塊絕對(duì)值大小的門 限判決與編碼代價(jià)函數(shù)比較相結(jié)合的方法進(jìn)行選擇,即當(dāng)SKIP模式下預(yù)測(cè)殘差塊的絕對(duì) 值小于一個(gè)與由宏塊量化參數(shù)大小決定的門限,并且SKIP的編碼代價(jià)優(yōu)于除SKIP模式外 的其它模式中最優(yōu)模式的編碼代價(jià)時(shí)當(dāng)前宏塊選擇SKIP模式;否則,當(dāng)前宏塊選擇除SKIP 模式外的其它模式中最優(yōu)的編碼模式。這里較優(yōu)的編碼模式指的是編碼代價(jià)較小或其它與 編碼代價(jià)大小相結(jié)合的評(píng)判標(biāo)準(zhǔn)選取出的編碼模式。
一種用于上述宏塊模式的選擇方法的裝置,它包括殘差絕對(duì)值比較器,第一編碼 代價(jià)計(jì)算器,第二編碼代價(jià)計(jì)算器,模式選擇器。其中,殘差絕對(duì)值比較器的輸出端接模式 選擇器,輸出殘差絕對(duì)值是否大于門限的信號(hào)。第一編碼代價(jià)計(jì)算器的輸出端接模式選擇 器,輸出除SKIP模式外其它模式中最優(yōu)的模式及該模式下宏塊的編碼代價(jià)。第二編碼代價(jià) 計(jì)算器的輸出端接模式選擇器,輸出SKIP模式的編碼代價(jià)。模式選擇器的三個(gè)輸入端分別 接殘差絕對(duì)值比較器、第一編碼代價(jià)計(jì)算器和第二編碼代價(jià)計(jì)算器。輸出最終選定的編碼 模式。本發(fā)明的有益效果是,本發(fā)明在極大地減少了計(jì)算復(fù)雜度的條件下仍能準(zhǔn)確地選 取最優(yōu)的宏塊編碼模式,同時(shí)對(duì)SKIP模式的精細(xì)判決,提高了 SKIP模式的選擇的準(zhǔn)確性。
圖1是本發(fā)明實(shí)施例4的宏塊模式的選擇裝置的結(jié)構(gòu)框圖;圖2是本發(fā)明實(shí)施例5的宏塊模式的選擇裝置的結(jié)構(gòu)框圖;圖3是本發(fā)明實(shí)施例6的宏塊模式的選擇裝置的結(jié)構(gòu)框圖。
具體實(shí)施例方式下面根據(jù)附圖和實(shí)施例詳細(xì)說(shuō)明本發(fā)明,本發(fā)明的目的和效果將變得更加明顯。本發(fā)明的技術(shù)方案主要是依據(jù)編碼代價(jià)函數(shù)在各模式間選擇出編碼代價(jià)最小的 編碼模式以獲得視頻編碼系統(tǒng)編碼性能的提高。下面是本發(fā)明的具體實(shí)施方法實(shí)施例1:以AVS標(biāo)準(zhǔn)為例,在AVS標(biāo)準(zhǔn)中,宏塊模式分為幀間編碼模式和幀內(nèi)編碼模式兩大 類。幀間編碼模式又可以按照子塊的尺寸分為16X16,16X8,8X16,8X8模式,除此之外, 幀間還存在特殊的編碼模式,如P條帶中的SKIP模式,B中的SKIP和DIRECT模式。幀內(nèi) 編碼模式是按照8 X 8塊的大小進(jìn)行預(yù)測(cè)編碼的,一共存在5種幀內(nèi)編碼模式水平模式,豎 直模式,右下模式,左下模式,DC模式。對(duì)于每個(gè)宏塊,需要在這些編碼模式中選擇一個(gè)編 碼效率高的模式進(jìn)行編碼。下面是以AVS標(biāo)準(zhǔn)中的B條帶中的宏塊模式選擇為例說(shuō)明權(quán)利 要求1所述的宏塊模式的選擇方法。具體的實(shí)施步驟如下步驟1,采用下面的代價(jià)函數(shù)在幀間模式16X16,16X8,8X16,8X8模式中選出 一個(gè)編碼代價(jià)最小的一個(gè)模式。將選出宏塊模式的編碼代價(jià)記作minCostjnterjnt。
Cost_inter_int = SAD_int+入 X (mode—bits+motion—bits)其中SAD_int為當(dāng)前模式下整像素精度運(yùn)動(dòng)搜索后的殘差塊的絕對(duì)值和,mode_ bits是該模式的模式信息在碼流中傳遞需要的比特?cái)?shù),motion_bits是運(yùn)動(dòng)矢量在碼流中 傳遞需要的比特?cái)?shù),λ取0.67XQP,這里QP指的是當(dāng)前宏塊的量化參數(shù)。步驟2,計(jì)算步驟1選出的模式在1/4像素精度運(yùn)動(dòng)搜索后的編碼代價(jià)minCost_inter_qua = min_SAD_qua+λ X (mode_bits+motion_bits)其中min_SAD_qua為步驟1中選出的模式在1/4像素運(yùn)動(dòng)搜索后的殘差塊的絕對(duì)值和,mode_bits是該模式在碼流中傳遞需要的比特?cái)?shù),motion_bits是運(yùn)動(dòng)矢量在碼流中 傳遞需要的比特?cái)?shù),λ取0.67XQP,這里QP指的是當(dāng)前宏塊的量化參數(shù)。步驟3,利用下面的代價(jià)函數(shù)在幀內(nèi)的五種模式中選取一個(gè)編碼代價(jià)最小的幀內(nèi) 模式。將選出的宏塊模式的編碼代價(jià)記作minCostjntra。Cost_intra = SAD_intra+ λ Xmode_bits+H其中SAD_intra為當(dāng)前模式下幀內(nèi)預(yù)測(cè)后的預(yù)測(cè)殘差塊的絕對(duì)值和,mode_bits 是該模式的模式信息在碼流中傳遞需要的比特?cái)?shù)。λ取0.67XQP。H為幀內(nèi)cost的修正 量,這里取為18。步驟4,比較步驟1和步驟3中選出模式的編碼代價(jià),即minC0St_inter_qua和 minCost_intra的大小,如果minCost_inter_qua較大,則將步驟2中選出的模式設(shè)為候選 模式,否則將步驟1中的模式設(shè)為候選模式。步驟5,將步驟4中選出的候選模式的編碼代價(jià)與幀間特殊模式中的最優(yōu)編碼模 式的編碼代價(jià)進(jìn)行比較,這里的特殊模式指的是DIRECT模式和SKIP模式。選取編碼代價(jià) 最小的模式作為當(dāng)前宏塊最終的編碼模式。特殊模式的編碼代價(jià)按照下面的方法計(jì)算。Cost_special = SAD_special+λ Xmode_bits其中SAD_speCial為特殊模式預(yù)測(cè)后的殘差塊的絕對(duì)值和,mode_bits是該模式 的模式信息在碼流中傳遞需要的比特?cái)?shù),λ取0.67XQP,這里QP指的是當(dāng)前宏塊的量化參數(shù)。實(shí)施例2 下面是以AVS標(biāo)準(zhǔn)中的P條帶中宏塊模式的選擇方法為例說(shuō)明權(quán)利要求6所述的 宏塊模式的選擇方法。具體的實(shí)施步驟如下步驟1,采用下面的代價(jià)函數(shù)在除SKIP模式的其它候選模式中選出一個(gè)編碼代價(jià) 最小的一個(gè)模式。將選出宏塊模式的編碼代價(jià)記作minCost^ormal。Cost_normal = η Xnum_nozero+λ X (mode_bits+motion_bits)+H其中num_nozero為當(dāng)前模式該宏塊預(yù)測(cè)殘差塊中非零系數(shù)的個(gè)數(shù),mode_bits是 該模式的模式信息在碼流中傳遞需要的比特?cái)?shù),motion_bits是運(yùn)動(dòng)矢量在碼流中傳遞需 要的比特?cái)?shù),η取10XQP,λ取0.69XQP,這里QP指的是當(dāng)前宏塊的量化參數(shù)。步驟2,將步驟1中選出的候選模式與SKIP模式的編碼代價(jià)進(jìn)行比較,SKIP模式 的編碼代價(jià)按照下面方法進(jìn)行計(jì)算。Cost_skip = α X SAD_Skip+ β κ skipmode一bitsSAD_Skip為SKIP模式補(bǔ)償后宏塊殘差的絕對(duì)值和,skipm0de_bits為碼流中傳遞SKIP模式的模式信息需要的比特?cái)?shù),α取為0.85,β取為0. 62XQP,這里QP指的是當(dāng)前
宏塊的量化參數(shù)。如果Cost_skip 小于 minCost_normal 并且 SAD_Skip < Th (QP)則宏塊的最終編 碼模式為SKIP模式,否則將步驟1中選出的模式作為當(dāng)前宏塊最終的編碼模式。實(shí)施例3 以H. 264標(biāo)準(zhǔn)為例,在H. 264標(biāo)準(zhǔn)中,宏塊模式分為幀間編碼模式和幀內(nèi)編碼模式 兩大類。幀間編碼模式又可以按照子塊的尺寸分為16\16,16\8,8\16,8\8,8\4,4父8, 4X4模式,除此之外,幀間還存在特殊的編碼模式,如P slice中的SKIP模式,B中的SKIP 和DIRECT模式,DIRECT模式又分為空間DIRECT模式,時(shí)間DIRECT模式。幀內(nèi)編碼模式分 為16X16和4X4兩類。其中16X16存在4種模式垂直模式,水平模式,DC模式,平面模 式;4X 4塊存在9種幀內(nèi)編碼模式水平模式,豎直模式,右下模式,左下模式,DC模式,下 左對(duì)角線模式,下右對(duì)角線模式,右垂直模式,下水平模式,左垂直模式,上水平模式。對(duì)于 每個(gè)宏塊,需要在這些編碼模式中選擇一個(gè)編碼效率高的模式進(jìn)行編碼。下面是以H. 264 標(biāo)準(zhǔn)中的B條帶中的模式選擇為例說(shuō)明權(quán)利要求9所述的宏塊模式的選擇方法。具體的實(shí)施步驟如下步驟1,采用下面的代價(jià)函數(shù)在幀間模式16X16,16X8,8X16,8X8,8X4, 4X8,4X4模式中選出一個(gè)編碼代價(jià)最小的一個(gè)模式。將選出宏塊模式的編碼代價(jià)記作 minCost_inter_int。Cost_inter_int4 = SATD_int+ λ X (mode一bits+motion一bits)其中SATD_int4為當(dāng)前模式下4倍整像素精度運(yùn)動(dòng)搜索后的殘差塊的哈達(dá)嗎變換 后的絕對(duì)值和,mode_bits是該模式在碼流中傳遞需要的比特?cái)?shù),motion_bits是運(yùn)動(dòng)矢量 在碼流中傳遞需要的比特?cái)?shù),λ取0.68XQP,這里QP指的是當(dāng)前宏塊的量化參數(shù)。步驟2,計(jì)算步驟1選出的模式在整像素精度運(yùn)動(dòng)搜索后的編碼代價(jià)minCost_inter_int = SATD_int+入 X (mode—bits+motion—bits)其中SATD_int為步驟1中選出的模式在整像素精度運(yùn)動(dòng)搜索后的殘差塊的哈 達(dá)嗎變換后的絕對(duì)值和,mode_bits是該模式的模式信息在碼流中傳遞需要的比特?cái)?shù), motiorubits是運(yùn)動(dòng)矢量在碼流中傳遞需要的比特?cái)?shù),λ取0.68 X QP,這里QP指的是當(dāng)前 宏塊的量化參數(shù)。步驟3,利用下面的代價(jià)函數(shù)在幀內(nèi)的9種模式中選取一個(gè)編碼代價(jià)最小的幀內(nèi) 模式。將選出的宏塊模式的編碼代價(jià)記作minCostjntra。Cost_intra = SATD_intra+ λ Xmode_bits+H其中SATD_intra為當(dāng)前模式下幀內(nèi)預(yù)測(cè)后的殘差塊的哈達(dá)嗎變換后的絕對(duì)值 和,mode_bits是該模式的模式信息在碼流中傳遞需要的比特?cái)?shù),λ取0.68XQP,這里QP 指的是當(dāng)前宏塊的量化參數(shù),H為幀內(nèi)cost的修正量,取為20。步驟4,比較步驟1和步驟3中選出模式的編碼代價(jià),即minCostjnterjnt和 minCost_intra的大小,如果minCost_inter_int較大,則將步驟3中選出的模式設(shè)為候選 模式,否則將步驟1中的模式設(shè)為候選模式。步驟5,將步驟4中選出的候選模式與最優(yōu)的DIRECT模式的編碼代價(jià)進(jìn)行比較, 選取編碼代價(jià)較小的模式作為新的候選模式。設(shè)此時(shí)選出的模式的編碼代價(jià)是minC0st_normal。DIRECT模式包括時(shí)間DIRECT模式和空間DIRECT模式,它們的編碼代價(jià)均按照下 面的方法計(jì)算。Cost_direct = SATD_direct+ λ Xmode一bits其中SATD_direct為DIRECT模式預(yù)測(cè)后的殘差塊的哈達(dá)嗎變換后的絕對(duì)值和, mode_bits是DIRECT模式的模式信息在碼流中需要傳遞的比特?cái)?shù),λ取0. 68 X QP,這里QP 指的是當(dāng)前宏塊的量化參數(shù)。步驟6,將步驟5中選出的候選模式與SKIP模式的編碼代價(jià)進(jìn)行比較,SKIP模式 的編碼代價(jià)按照下面方法進(jìn)行計(jì)算。Cost_skip = α X SAD_Skip+ β X skipmode_bitsSAD_Skip為SKIP模式補(bǔ)償后宏塊殘差的絕對(duì)值和,skipm0de_bits是SKIP模式 在碼流中需要傳遞的比特?cái)?shù),α取為0.8,β取為0.63XQP,這里QP指的是當(dāng)前宏塊的量
化參數(shù)。如果Cost_skip 小于 minCost_normal 并且 SAD_Skip < Th (QP),則宏塊的最終編 碼模式為SKIP模式,否則將步驟5中選出的模式作為當(dāng)前宏塊最終的編碼模式。實(shí)施例4 一種宏塊模式的快速選擇方法的裝置,如圖1所示。該裝置按照實(shí)施例1所述的 模式選擇方法實(shí)現(xiàn),具體包括整像素精度第一類幀間模式選擇器,1/4像素精度運(yùn)動(dòng)估計(jì) 器,幀內(nèi)模式選擇器,模式判決器,第二類幀間模式選擇器。1)整像素精度第一類幀間模式選擇器的輸出端接1/4像素精度運(yùn)動(dòng)估計(jì)器,輸出 第一類幀間模式中最優(yōu)的編碼模式及該編碼模式下宏塊的編碼代價(jià)。這里的第一類幀間模 式指的是16X16,16X8,8X16,8X8宏塊編碼模式。2) 1/4像素精度運(yùn)動(dòng)估計(jì)器的輸入端接整像素精度第一類幀間模式選擇器,輸出 端接模式判決器,輸出對(duì)應(yīng)的模式及1/4像素精度運(yùn)動(dòng)估計(jì)后該編碼模式下宏塊的編碼代 價(jià)。3)幀內(nèi)模式選擇器的輸出端接模式判決器,輸出五種幀內(nèi)模式中最優(yōu)的模式及該 編碼模式下宏塊的編碼代價(jià)。4)第二類幀間模式選擇器的輸出端接模式判決器,輸出第二類幀間模式中最優(yōu) 的編碼模式及該編碼模式下的宏塊編碼代價(jià)。這里的第二類幀間模式指的是SKIP模式和 DIRECT 模式。5)模式判決器的一個(gè)輸入端接1/4像素精度運(yùn)動(dòng)估計(jì)器,一個(gè)輸入端接幀內(nèi)模式 選擇器,還有一個(gè)輸入端接第二類幀間模式選擇器,輸出三個(gè)輸入的模式中最優(yōu)的模式。實(shí)施例5 一種宏塊模式的快速選擇方法的裝置,如圖2所示。該裝置按照實(shí)施例2所述的 模式選擇方法實(shí)現(xiàn),具體包括殘差絕對(duì)值比較器,第一編碼代價(jià)計(jì)算器,第二編碼代價(jià)計(jì)算 器,模式選擇器。1)殘差絕對(duì)值比較器的輸出端接模式選擇器,輸出殘差絕對(duì)值SAD_Skip是否大 于門限Th(QP)的信號(hào)。2)第一編碼代價(jià)計(jì)算器的輸出端接模式選擇器,輸出除SKIP模式外其它模式中 最優(yōu)的模式及該模式下宏塊的編碼代價(jià)。
3)第二編碼代價(jià)計(jì)算器的輸出端接模式選擇器,輸出SKIP模式的編碼代價(jià)。4)模式選擇器的三個(gè)輸入端分別接上面的三個(gè)模塊,殘差絕對(duì)值比較器,第一編 碼代價(jià)計(jì)算器,第二編碼代價(jià)計(jì)算器。輸出最終確定的編碼模式。實(shí)施例6 一種宏塊模式的快速選擇方法的裝置,如圖3所示。該裝置按照實(shí)施例3所述的 模式選擇方法實(shí)現(xiàn),具體包括4倍整像素精度第一類幀間模式選擇器,整像素精度運(yùn)動(dòng)估 計(jì)器,幀內(nèi)模式選擇器,第一模式判決器,第二類幀間模式選擇器,第二模式判決器,SKIP模 式計(jì)算器。1)4倍整像素精度第一類幀間模式選擇器的輸出端接整像素精度運(yùn)動(dòng)估計(jì)器,輸 出第一類幀間編碼模式中最優(yōu)的編碼模式及該編碼模式下宏塊的編碼代價(jià)。這里的第一類 幀間模式指的是16X16,16X8,8X16,8X8,8X4,4X8,4X4宏塊編碼模式。2)整像素精度運(yùn)動(dòng)估計(jì)器的輸入端接部分4倍整像素精度第一類幀間模式選擇 器,輸出端接第一模式判決器,輸出對(duì)應(yīng)的模式及高精度運(yùn)動(dòng)估計(jì)后該編碼模式下宏塊的 編碼代價(jià)。3)幀內(nèi)模式選擇器的輸出端接第一模式判決器,輸出16X16和4X4幀內(nèi)模式中 最優(yōu)的模式及該編碼模式下宏塊的編碼代價(jià)。4)第二類幀間模式選擇器的輸出端接第一模式判決器,輸出第二類幀間模式中最 優(yōu)的編碼模式及該編碼模式下的宏塊編碼代價(jià)。這里的第二類幀間模式指的是空間DIRECT 模式和時(shí)間DIRECT模式。5)第一模式判決器的一個(gè)輸入端接整像素精度運(yùn)動(dòng)估計(jì)器,一個(gè)輸入端接幀內(nèi)模 式選擇器,還有一個(gè)輸入端接第二類幀間模式選擇器,輸出端接第二模式判決器,輸出三個(gè) 輸入的模式中最優(yōu)的模式及該編碼模式下宏塊的編碼代價(jià)。6) SKIP模式計(jì)算器的輸出端接第二模式判決器,輸出SKIP模式及SKIP模式下的 宏塊編碼代價(jià)。7)第二模式判決器的一個(gè)輸入端接第一模式判決器,另一個(gè)輸入端接SKIP模式 計(jì)算器,輸出兩個(gè)輸入編碼模式中較優(yōu)的編碼模式。
權(quán)利要求
一種宏塊模式的選擇方法,其特征在于,該方法為對(duì)宏塊的SKIP模式采用預(yù)測(cè)殘差塊絕對(duì)值大小的門限判決與編碼代價(jià)函數(shù)比較相結(jié)合的方法進(jìn)行選擇,即當(dāng)SKIP模式下預(yù)測(cè)殘差塊的絕對(duì)值小于一個(gè)與由宏塊量化參數(shù)大小決定的門限,并且SKIP的編碼代價(jià)優(yōu)于除SKIP模式外的其它模式中最優(yōu)模式的編碼代價(jià)時(shí)當(dāng)前宏塊選擇SKIP模式;否則,當(dāng)前宏塊選擇除SKIP模式外的其它模式中最優(yōu)的編碼模式。這里較優(yōu)的編碼模式指的是編碼代價(jià)較小或其它與編碼代價(jià)大小相結(jié)合的評(píng)判標(biāo)準(zhǔn)選取出的編碼模式。
2.根據(jù)權(quán)利要求1所述的宏塊模式的選擇方法,其特征在于,編碼代價(jià)采用下面的計(jì) 算方法獲得除SKIP模式外的其它模式的編碼代價(jià)采用下面的方法進(jìn)行計(jì)算Cost = Cl+λ XC2+T1 ;其中,Cl是衡量當(dāng)前宏塊的像素值與當(dāng)前模式下宏塊的預(yù)測(cè)像素值之間的相似度的參 數(shù),Cl是非負(fù)數(shù),相似度越高Cl越小,當(dāng)當(dāng)前宏塊的像素值與當(dāng)前模式下預(yù)測(cè)宏塊的像素 完全相同時(shí)Cl等于零;λ是一個(gè)非負(fù)數(shù);C2是描述當(dāng)前宏塊除量化系數(shù)外其它的編碼比 特?cái)?shù)大小的參數(shù);Tl是非負(fù)常數(shù)。SKIP模式的編碼代價(jià)采用下面的方法進(jìn)行計(jì)算Cost = α Χ。3+β X C4+T2 ;其中,C3是衡量當(dāng)前宏塊的像素值與SKIP模式參考宏塊的預(yù)測(cè)像素值之間的相似度 的參數(shù),C3是非負(fù)數(shù),相似度越高C3越小,當(dāng)當(dāng)前宏塊的像素值與SKIP模式下宏塊的預(yù)測(cè) 像素完全相同時(shí)Cl等于零;α,β是非負(fù)數(shù);C4是描述當(dāng)前宏塊除量化系數(shù)外其它的編碼 比特?cái)?shù)大小的參數(shù);Τ2是非負(fù)常數(shù)。
3.一種用于權(quán)利要求1所述宏塊模式的選擇方法的裝置。其特征在于,它包括殘差絕 對(duì)值比較器,第一編碼代價(jià)計(jì)算器,第二編碼代價(jià)計(jì)算器,模式選擇器。其中,殘差絕對(duì)值比較器的輸出端接模式選擇器,輸出殘差絕對(duì)值是否大于門限的信號(hào)。第一編碼代價(jià)計(jì)算器的輸出端接模式選擇器,輸出除SKIP模式外其它模式中最優(yōu)的 模式及該模式下宏塊的編碼代價(jià)。第二編碼代價(jià)計(jì)算器的輸出端接模式選擇器,輸出SKIP模式的編碼代價(jià)。模式選擇器的三個(gè)輸入端分別接殘差絕對(duì)值比較器、第一編碼代價(jià)計(jì)算器和第二編碼 代價(jià)計(jì)算器。輸出最終選定的編碼模式。
4.一種宏塊模式的選擇方法。其特征在于,包括權(quán)利要求1和權(quán)利要求6所述的宏塊 模式的選擇方法,該宏塊模式的選擇方法包括以下步驟1)對(duì)第一類幀間模式采用像素精度分層選擇的方法選出最優(yōu)的第一類幀間模式,再與 最優(yōu)的幀內(nèi)模式和最優(yōu)的第二類幀間模式的編碼代價(jià)比較選出編碼代價(jià)較優(yōu)的模式。2)將步驟1)中的模式與SKIP模式比較,選取出最優(yōu)的編碼模式。選擇時(shí)采用預(yù)測(cè)殘 差塊絕對(duì)值大小的門限判決與編碼代價(jià)函數(shù)比較相結(jié)合的方法。這里的第一類幀間模式是指需要進(jìn)行運(yùn)動(dòng)搜索的幀間編碼模式,第二類幀間模式指的 是不需要進(jìn)行運(yùn)動(dòng)搜索的幀間編碼模式,較優(yōu)的編碼模式是指的是編碼代價(jià)較小或其它與 編碼代價(jià)大小相結(jié)合的評(píng)判標(biāo)準(zhǔn)選取出的編碼模式。
5.一種用于權(quán)利要求9所述宏塊模式的選擇方法的裝置。其特征在于,它包括低精度 像素第一類幀間模式選擇器,高精度像素運(yùn)動(dòng)估計(jì)器,幀內(nèi)模式選擇器,第一模式判決器, 第二類幀間模式選擇器,SKIP模式計(jì)算器,第二模式判決器。其中,低精度像素第一類幀間模式選擇器的輸出端接高精度像素運(yùn)動(dòng)估計(jì)器,輸出第一類幀 間模式中最優(yōu)的編碼模式及該編碼模式下宏塊的編碼代價(jià)。高精度像素運(yùn)動(dòng)估計(jì)器的輸入端接低精度像素第一類幀間模式選擇器,輸出端接模式 判決器,輸出相應(yīng)的模式及高精度運(yùn)動(dòng)估計(jì)后該編碼模式下宏塊的編碼代價(jià)。幀內(nèi)模式選擇器的輸出端接第一模式判決器,輸出最優(yōu)的幀內(nèi)模式及該編碼模式下宏 塊的編碼代價(jià)。第二類幀間模式選擇器的輸出端接第 一模式判決器,輸出第二類幀間模式中最優(yōu)的編 碼模式及該編碼模式下的宏塊編碼代價(jià)。第一模式判決器的一個(gè)輸入端接高精度像素運(yùn)動(dòng)估計(jì)器,一個(gè)輸入端接幀內(nèi)模式選擇 器,還有一個(gè)輸入端接第二類幀間模式選擇器,輸出端接第二模式判決器,輸出三個(gè)輸入的 模式中最優(yōu)的模式及該編碼模式下宏塊的編碼代價(jià)。SKIP模式計(jì)算器的輸出端接第二模式判決器,輸出SKIP模式及SKIP模式下的宏塊的 編碼代價(jià)。第二模式判決器的一個(gè)輸入端接第一模式判決器,另一個(gè)輸入端接SKIP模式計(jì)算器, 輸出兩個(gè)輸入編碼模式中較優(yōu)的編碼模式。
全文摘要
本發(fā)明公開了一種宏塊模式的選擇方法和裝置。所述方法通過(guò)對(duì)當(dāng)前宏塊的各編碼模式的編碼代價(jià)進(jìn)行比較來(lái)確定最優(yōu)的宏塊編碼模式,而在計(jì)算編碼代價(jià)時(shí)可對(duì)部分幀間模式采用像素精度分層選擇的方法;還可在比較宏塊的特殊模式——跳過(guò)(SKIP)模式和其它編碼模式時(shí)采用了一種新穎的比較算法。所述方法在保持比特率和編碼質(zhì)量基本不變的同時(shí),顯著減少了計(jì)算的復(fù)雜度并大大提高了計(jì)算的并行度,適用于實(shí)時(shí)的軟硬件視頻編碼。
文檔編號(hào)H04N7/50GK101867818SQ20101018477
公開日2010年10月20日 申請(qǐng)日期2008年6月6日 優(yōu)先權(quán)日2008年6月6日
發(fā)明者姚爍, 張吉, 戴亮, 虞露 申請(qǐng)人:浙江大學(xué)