專利名稱:高性能宏塊編碼實(shí)現(xiàn)方法
技術(shù)領(lǐng)域:
本發(fā)明涉及視頻圖像處理領(lǐng)域,尤其涉及一種視頻編碼的實(shí)現(xiàn)方法,可用于H. 264 視頻編碼系統(tǒng)的視頻壓縮處理。
背景技術(shù):
未來社會(huì)是信息化的社會(huì),數(shù)字化的信息,尤其是數(shù)字化后的視頻和音頻信息,有 一系列優(yōu)點(diǎn),如直觀性,確切性,高效性,廣泛性等,但是信息量太大,給信息的存儲(chǔ)和傳輸 造成很大的困難,成為阻礙人類獲取和使用有效信息的瓶頸之一。要使視頻信息得到有效 的應(yīng)用,必須解決編碼壓縮率和解碼圖像質(zhì)量的問題。因此,研究和開發(fā)新型有效的多媒體 數(shù)據(jù)壓縮編碼方法,以壓縮的形式存儲(chǔ)和傳輸這些數(shù)據(jù)將是最好的選擇。在視頻編碼標(biāo)準(zhǔn) H. 264中,如圖1所示,視頻數(shù)據(jù)按照宏塊單位進(jìn)行編碼首先對(duì)當(dāng)前宏塊進(jìn)行幀內(nèi)預(yù)測和 幀間預(yù)測,選擇出最佳的預(yù)測模式,由當(dāng)前宏塊和最佳模式得到的預(yù)測宏塊產(chǎn)生殘差宏塊, 對(duì)其進(jìn)行DCT變換、量化;對(duì)量化系數(shù)進(jìn)行重排序后進(jìn)行熵編碼;將編碼后的結(jié)果遞交到網(wǎng) 絡(luò)層進(jìn)行傳輸;同時(shí)為了保證編解碼的一致性,對(duì)量化系數(shù)進(jìn)行反量化、反DCT變換、反預(yù) 測、去塊效應(yīng)濾波,將處理結(jié)果用作后續(xù)圖像的編碼參考。H. 264的實(shí)際應(yīng)用中,主要包括運(yùn)動(dòng)估計(jì)、宏塊編碼、熵編碼和去塊效應(yīng)濾波等幾 個(gè)模塊。針對(duì)宏塊編碼,目前提出了很多基于模式選擇的快速算法,用于提高系統(tǒng)的處理速 度,這些算法的主要思想有基于邊界檢測、對(duì)預(yù)測模式進(jìn)行分類、應(yīng)用直方圖和提前終止 等,相對(duì)于標(biāo)準(zhǔn)的率失真算法,這些算法的計(jì)算量都有大幅度的下降,但是它們都是基于軟 件實(shí)現(xiàn)的,同時(shí)對(duì)圖像質(zhì)量都有一定程度的影響,在硬件實(shí)現(xiàn)時(shí),這些算法過于復(fù)雜,且沒 有充分考慮硬件的并行處理能力和資源的復(fù)用,無法滿足實(shí)時(shí)性的要求。
發(fā)明內(nèi)容
本發(fā)明的目的在于針對(duì)上述已有技術(shù)的不足,提供一種高性能宏塊編碼的實(shí)現(xiàn)方 法,與RDO算法相比,以保證圖像質(zhì)量在沒有任何下降的情況下,提高H. 264視頻編碼的實(shí) 時(shí)處理能力。本發(fā)明的目的是這樣實(shí)現(xiàn)的一、術(shù)語說明子塊大小為4X4的像素塊。宏塊圖像被分為若干個(gè)16X16的塊,每一個(gè)塊就稱為一個(gè)宏塊。量化系數(shù)像素進(jìn)行量化后的值。zig-zag掃描按照“Z”字形進(jìn)行掃描,具體如圖2所示。殘差數(shù)據(jù)原始像素減去預(yù)測像素得到的差值數(shù)據(jù)。殘差宏塊預(yù)測宏塊與當(dāng)前宏塊對(duì)應(yīng)位置的像素值相減得到的宏塊數(shù)據(jù)。二、實(shí)現(xiàn)方案本發(fā)明的宏塊編碼方法,包括以下步驟
(1)以16X16的宏塊為基本編碼單元,先緩存當(dāng)前宏塊的亮度和色度原始數(shù)據(jù) 以及幀間對(duì)亮度、色度前向預(yù)測、后向預(yù)測和雙向預(yù)測數(shù)據(jù),再對(duì)亮度原始數(shù)據(jù)進(jìn)行二次緩 存;(2)幀內(nèi)預(yù)測步驟2a)對(duì)當(dāng)前宏塊開始兩路并行預(yù)測,一路進(jìn)行幀內(nèi)4X4亮度預(yù)測,即首先將 16X16的宏塊分成16個(gè)4X4的子塊,然后按照zig-zag掃描順序,依次完成對(duì)這16個(gè)子 塊的垂直、水平、DC、下左對(duì)角線、下右對(duì)角線、右垂直、下水平、左垂直和上水平九種模式的 預(yù)測;另一路直接對(duì)16X16的亮度塊和對(duì)應(yīng)的8X8色度塊依次完成垂直、水平、DC和平面 四種模式的預(yù)測;2b)兩路預(yù)測結(jié)束后,通過DCT變換分別得到幀內(nèi)4X4亮度預(yù)測方式、幀內(nèi) 16X16的亮度預(yù)測方式和幀內(nèi)8X8色度預(yù)測方式的最佳預(yù)測模式,并對(duì)最佳模式對(duì)應(yīng)的 DCT變換結(jié)果進(jìn)行寄存;(3)幀內(nèi)最佳預(yù)測方式選擇步驟3a)對(duì)幀內(nèi)4X4亮度預(yù)測和幀內(nèi)16X 16亮度預(yù)測的最佳模式的DCT變換結(jié)果依 次進(jìn)行量化操作,并對(duì)量化結(jié)果分別進(jìn)行累加,將累加的結(jié)果作為幀內(nèi)4X4亮度預(yù)測代價(jià) 和幀內(nèi)16 X 16亮度預(yù)測代價(jià);3b)將上述兩種預(yù)測代價(jià)進(jìn)行比較,選擇代價(jià)值小的預(yù)測代價(jià)作為當(dāng)前宏塊幀內(nèi) 亮度最佳預(yù)測代價(jià),并將該代價(jià)值小的預(yù)測代價(jià)所對(duì)應(yīng)的預(yù)測方式作為當(dāng)前宏塊的幀內(nèi)亮 度最佳預(yù)測方式;3c)對(duì)幀內(nèi)色度最佳模式的DCT變換結(jié)果進(jìn)行量化,并對(duì)量化結(jié)果進(jìn)行累加,將累 加的結(jié)果作為幀內(nèi)色度最佳預(yù)測代價(jià);3d)對(duì)幀內(nèi)色度最佳預(yù)測代價(jià)與幀內(nèi)亮度最佳預(yù)測代價(jià)求和,將求和的結(jié)果作為 當(dāng)前宏塊的最佳幀內(nèi)預(yù)測代價(jià);(4)幀間最佳預(yù)測方式選擇步驟4a)讀取當(dāng)前宏塊的亮度和色度原始數(shù)據(jù)以及幀間對(duì)亮度、色度的前向預(yù)測、后向 預(yù)測和雙向預(yù)測數(shù)據(jù);4b)將亮度和色度的原始數(shù)據(jù)與亮度、色度的前向預(yù)測、后向預(yù)測和雙向預(yù)測數(shù)據(jù) 分別進(jìn)行相減,得到該三種預(yù)測方式的殘差,并對(duì)前向預(yù)測、后向預(yù)測和雙向預(yù)測得到的三 種殘差依次進(jìn)行DCT變換、量化和預(yù)測代價(jià)計(jì)算,得到三種預(yù)測方式各自對(duì)應(yīng)的預(yù)測代價(jià), 并對(duì)DCT變換結(jié)果進(jìn)行寄存;4c)對(duì)上述三種預(yù)測代價(jià)進(jìn)行比較,選擇代價(jià)值最小的預(yù)測代價(jià)作為幀間最佳預(yù) 測代價(jià),并將該預(yù)測代價(jià)所對(duì)應(yīng)的預(yù)測方式作為幀間最佳預(yù)測方式;(5)對(duì)幀間最佳預(yù)測方式的代價(jià)和幀內(nèi)最佳預(yù)測方式的代價(jià)進(jìn)行比較,選擇代價(jià) 值小的預(yù)測代價(jià)所對(duì)應(yīng)的預(yù)測方式作為當(dāng)前宏塊的最佳預(yù)測方式;(6)對(duì)當(dāng)前宏塊的最佳預(yù)測方式的DCT變換結(jié)果重新進(jìn)行量化,將量化結(jié)果以及 宏塊的模式、坐標(biāo)信息進(jìn)行輸出,用于熵編碼;同時(shí)對(duì)最佳預(yù)測方式的量化結(jié)果進(jìn)行反量 化、反DCT變換和重建,將重建結(jié)果同時(shí)進(jìn)行寄存和輸出,分別用于對(duì)下一個(gè)宏塊的幀內(nèi)預(yù) 測參考和去塊效應(yīng)濾波。本發(fā)明與現(xiàn)有技術(shù)對(duì)比,具有以下優(yōu)點(diǎn)
第一,兩路并行預(yù)測,加速了宏塊的編碼速度。本發(fā)明采用兩路并行預(yù)測,一路用于幀內(nèi)4X4亮度預(yù)測,一路用于幀內(nèi)16X16 亮度預(yù)測和幀內(nèi)8X8色度預(yù)測,由于幀內(nèi)4X4亮度預(yù)測最為復(fù)雜,預(yù)測所需要的時(shí)鐘周 期數(shù)也最多,因此,采用并行預(yù)測就可以實(shí)現(xiàn)在進(jìn)行幀內(nèi)4X4亮度預(yù)測的同時(shí),完成幀內(nèi) 16X16亮度預(yù)測和幀內(nèi)8X8色度預(yù)測,大幅度減小了一個(gè)宏塊的編碼周期;第二,易于FPGA實(shí)現(xiàn)本發(fā)明考慮到幀內(nèi)16X16亮度預(yù)測與幀內(nèi)8X8色度預(yù)測各自所對(duì)應(yīng)的四種預(yù)測 模式的相似性,將幀內(nèi)16X16亮度預(yù)測與幀內(nèi)8X8色度預(yù)測合并處理,降低了預(yù)測控制的 復(fù)雜度;同時(shí),本發(fā)明所涉及到的幀內(nèi)最佳預(yù)測方式選擇、幀間最佳預(yù)測方式選擇以及當(dāng)前 宏塊的最佳預(yù)測方式選擇的方法只使用了求和和相減操作,不需要使用復(fù)雜的乘法操作;第三,能夠充分復(fù)用資源本發(fā)明對(duì)資源的復(fù)用主要體現(xiàn)在首先,對(duì)當(dāng)前宏塊進(jìn)行幀內(nèi)預(yù)測之前對(duì)亮度和 色度原始數(shù)據(jù)進(jìn)行緩存,在進(jìn)行殘差計(jì)算時(shí),能夠從同一個(gè)RAM中讀取原始數(shù)據(jù);其次,依 次完成幀內(nèi)16X16亮度預(yù)測最佳模式的選擇、幀內(nèi)8X8色度預(yù)測最佳模式的選擇、幀間預(yù) 測最佳模式的選擇,這樣安排就可以使用相同的DCT變換和量化模塊進(jìn)行相應(yīng)的DCT變換 和量化操作。
本發(fā)明的特征及優(yōu)點(diǎn)通過以下附圖和實(shí)施例進(jìn)一步說明圖1是現(xiàn)有H. 264標(biāo)準(zhǔn)編碼系統(tǒng)框圖;圖2是現(xiàn)有H. 264標(biāo)準(zhǔn)子塊的掃描示意圖;圖3是本發(fā)明的宏塊編碼方法流程圖;圖4是本發(fā)明數(shù)據(jù)緩存示意圖;圖5是本發(fā)明的幀內(nèi)預(yù)測框圖。
具體實(shí)施例方式參見圖3,本發(fā)明包括如下步驟步驟1,以16X16的宏塊為基本編碼單元,緩存原始數(shù)據(jù)和幀間預(yù)測數(shù)據(jù)。參見圖4,本步驟的具體實(shí)現(xiàn)如下1. 1)使用兩個(gè)RAM進(jìn)行乒乓操作,緩存當(dāng)前運(yùn)動(dòng)估計(jì)輸出的原始數(shù)據(jù),如圖中① 所示,每個(gè)RAM的大小為48X64bit,緩存的數(shù)據(jù)為32X64bit的亮度數(shù)據(jù)和16X64bit色 度數(shù)據(jù),其中,一個(gè)64bit的數(shù)據(jù)包括8個(gè)像素,一個(gè)時(shí)鐘周期完成一個(gè)64bit數(shù)據(jù)的緩存; 同時(shí)使用另外兩個(gè)RAM進(jìn)行乒乓操作,緩存幀間對(duì)亮度和色度的前向預(yù)測、后向預(yù)測以及 雙向預(yù)測數(shù)據(jù),如圖中②所示,每個(gè)RAM的大小*^8X32bit,其中緩存的前向亮度和色度 預(yù)測數(shù)據(jù)為96 X 32bit,緩存的后向亮度和色度預(yù)測數(shù)據(jù)為96 X 32bit,緩存的雙向亮度和 色度預(yù)測數(shù)據(jù)為96X32bit,每一個(gè)32bit的數(shù)據(jù)包括4個(gè)像素的預(yù)測值,一個(gè)時(shí)鐘周期完 成一個(gè)32bit數(shù)據(jù)的緩存;1.2)使用一個(gè)存儲(chǔ)大小為64X32bit的RAM,如圖中③所示,對(duì)用于幀內(nèi)4X4亮 度預(yù)測的亮度原始數(shù)據(jù)進(jìn)行二次緩存,其中,每一個(gè)32bit的數(shù)據(jù)包括4個(gè)像素,一個(gè)時(shí)鐘周期完成一個(gè)32bit數(shù)據(jù)的緩存。步驟2,兩路并行預(yù)測,一路進(jìn)行幀內(nèi)4 X 4亮度預(yù)測,一路進(jìn)行幀內(nèi)16 X 16亮度預(yù) 測和幀內(nèi)8X8色度預(yù)測。參照?qǐng)D5,本步驟的具體實(shí)現(xiàn)如下2. 1)宏塊級(jí)參考數(shù)據(jù)讀寫使用一個(gè)18X64bit的內(nèi)部RAM,存儲(chǔ)宏塊級(jí)的左參考像素、上參考像素以及右上 參考像素,這些參考像素包括用于幀內(nèi)4X4亮度預(yù)測和幀內(nèi)16X 16亮度預(yù)測亮度參考像 素以及用于幀內(nèi)8X8色度預(yù)測的色度參考數(shù)據(jù)。在一個(gè)宏塊預(yù)測開始之前,從參考數(shù)據(jù) RAM中讀取當(dāng)前宏塊的宏塊級(jí)參考像素,當(dāng)完成一個(gè)宏塊的最佳模式重建后,將重建像素中 處于宏塊最右側(cè)一列的16個(gè)像素作為下一個(gè)宏塊的左參考像素,同時(shí)從外部存儲(chǔ)設(shè)備中 獲得下一個(gè)宏塊的上參考像素和右上參考像素將用于下一個(gè)宏塊的預(yù)測,將這些參考像素 寫回參考數(shù)據(jù)RAM;2. 2)幀內(nèi)4X4亮度預(yù)測將16X 16宏塊分成16個(gè)4X4的子塊,按照zig-zag掃描順序,依次完成對(duì)這16 個(gè)子塊的垂直、水平、DC、下左對(duì)角線、下右對(duì)角線、右垂直、下水平、左垂直和上水平九種模 式的預(yù)測,預(yù)測結(jié)束后通過DCT變換選擇出幀內(nèi)4X4亮度預(yù)測的最佳預(yù)測模式,并對(duì)子塊 最佳預(yù)測模式的結(jié)果進(jìn)行重建,具體通過以下模塊實(shí)現(xiàn)2. 2. 1)對(duì) 16 X 16 宏塊分割如圖2所示,在當(dāng)前宏塊進(jìn)行預(yù)測操作之前,將當(dāng)前宏塊分割成16個(gè)4X4的子 塊,其中,每一個(gè)子塊包括16個(gè)像素,并按照zig-zag掃描順序?qū)⑦@些子塊依次標(biāo)記為0 15 ;
權(quán)利要求
1.一種高性能宏塊編碼實(shí)現(xiàn)方法,包括(1)以16X16的宏塊為基本編碼單元,先緩存當(dāng)前宏塊的亮度和色度原始數(shù)據(jù)以及幀 間對(duì)亮度、色度前向預(yù)測、后向預(yù)測和雙向預(yù)測數(shù)據(jù),再對(duì)亮度原始數(shù)據(jù)進(jìn)行二次緩存;(2)幀內(nèi)預(yù)測步驟2a)對(duì)當(dāng)前宏塊開始兩路并行預(yù)測,一路進(jìn)行幀內(nèi)4X4亮度預(yù)測,即首先將16X16的 宏塊分成16個(gè)4X4的子塊,然后按照zig-zag掃描順序,依次完成對(duì)這16個(gè)子塊的水平、 垂直、DC、對(duì)角線左、對(duì)角線右、水平上、水平下、垂直左和垂直右九種模式的預(yù)測;另一路直 接對(duì)16X16的亮度塊和對(duì)應(yīng)的8X8色度塊依次完成水平、垂直、DC和平面四種模式的預(yù) 測;2b)兩路預(yù)測結(jié)束后,通過DCT變換分別得到幀內(nèi)4X4亮度預(yù)測方式、幀內(nèi)16X16的 亮度預(yù)測方式和幀內(nèi)8 X 8色度預(yù)測方式的最佳預(yù)測模式,并對(duì)最佳模式對(duì)應(yīng)的DCT變換結(jié) 果進(jìn)行寄存;(3)幀內(nèi)最佳預(yù)測方式選擇步驟3a)對(duì)幀內(nèi)4X4亮度預(yù)測和幀內(nèi)16X 16亮度預(yù)測的最佳模式的DCT變換結(jié)果依次進(jìn) 行量化操作,并對(duì)量化結(jié)果分別進(jìn)行累加,將累加的結(jié)果作為幀內(nèi)4X4亮度預(yù)測代價(jià)和幀 內(nèi)16 X 16亮度預(yù)測代價(jià);3b)將上述兩種預(yù)測代價(jià)進(jìn)行比較,選擇代價(jià)值小的預(yù)測代價(jià)作為當(dāng)前宏塊幀內(nèi)亮度 最佳預(yù)測代價(jià),并將該代價(jià)值小的預(yù)測代價(jià)所對(duì)應(yīng)的預(yù)測方式作為當(dāng)前宏塊的幀內(nèi)亮度最 佳預(yù)測方式;3c)對(duì)幀內(nèi)色度最佳模式的DCT變換結(jié)果進(jìn)行量化,并對(duì)量化結(jié)果進(jìn)行累加,將累加的 結(jié)果作為幀內(nèi)色度最佳預(yù)測代價(jià);3d)對(duì)幀內(nèi)色度最佳預(yù)測代價(jià)與幀內(nèi)亮度最佳預(yù)測代價(jià)求和,將求和的結(jié)果作為當(dāng)前 宏塊的最佳幀內(nèi)預(yù)測代價(jià);(4)幀間最佳預(yù)測方式選擇步驟4a)讀取當(dāng)前宏塊的亮度和色度原始數(shù)據(jù)以及幀間對(duì)亮度、色度的前向預(yù)測、后向預(yù)測 和雙向預(yù)測數(shù)據(jù);4b)將亮度和色度的原始數(shù)據(jù)與亮度、色度的前向預(yù)測、后向預(yù)測和雙向預(yù)測數(shù)據(jù)分別 進(jìn)行相減,得到該三種預(yù)測方式的殘差,并對(duì)前向預(yù)測、后向預(yù)測和雙向預(yù)測得到的三種殘 差依次進(jìn)行DCT變換、量化和預(yù)測代價(jià)計(jì)算,得到三種預(yù)測方式各自對(duì)應(yīng)的預(yù)測代價(jià),并對(duì) DCT變換結(jié)果進(jìn)行寄存;4c)對(duì)上述三種預(yù)測代價(jià)進(jìn)行比較,選擇代價(jià)值最小的預(yù)測代價(jià)作為幀間最佳預(yù)測代 價(jià),并將該預(yù)測代價(jià)所對(duì)應(yīng)的預(yù)測方式作為幀間最佳預(yù)測方式;(5)對(duì)幀間最佳預(yù)測方式的代價(jià)和幀內(nèi)最佳預(yù)測方式的代價(jià)進(jìn)行比較,選擇代價(jià)值小 的預(yù)測代價(jià)所對(duì)應(yīng)的預(yù)測方式作為當(dāng)前宏塊的最佳預(yù)測方式;(6)對(duì)當(dāng)前宏塊的最佳預(yù)測方式的DCT變換結(jié)果重新進(jìn)行量化,將量化結(jié)果以及宏塊 的模式、坐標(biāo)信息進(jìn)行輸出,用于熵編碼;同時(shí)對(duì)最佳預(yù)測方式的量化結(jié)果進(jìn)行反量化、反 DCT變換和重建,將重建結(jié)果同時(shí)進(jìn)行寄存和輸出,分別用于對(duì)下一個(gè)宏塊的幀內(nèi)預(yù)測參考 和去塊效應(yīng)濾波。
2.根據(jù)權(quán)利要求1所述的宏塊編碼實(shí)現(xiàn)方法,其中步驟(1)所述的緩存當(dāng)前宏塊的亮度和色度原始數(shù)據(jù)以及幀間對(duì)亮度、色度前向預(yù)測、后向預(yù)測和雙向預(yù)測數(shù)據(jù),按如下步驟 進(jìn)行首先,使用兩組RAM進(jìn)行乒乓操作,緩存當(dāng)前運(yùn)動(dòng)估計(jì)輸出的原始數(shù)據(jù),每組RAM的大 小為48 X 64bit,緩存的數(shù)據(jù)為32 X 64bit的亮度數(shù)據(jù)和16 X 64bit色度數(shù)據(jù);同時(shí)使用另 外兩組RAM進(jìn)行乒乓操作,緩存幀間對(duì)亮度和色度的前向預(yù)測、后向預(yù)測以及雙向預(yù)測數(shù) 據(jù),每組大小為^8X32bit,其中緩存的前向亮度和色度預(yù)測數(shù)據(jù)為96X32bit,緩存的后 向亮度和色度預(yù)測數(shù)據(jù)為96 X 32bit,緩存的雙向亮度和色度預(yù)測數(shù)據(jù)為96X32bit ;其次,使用一個(gè)存儲(chǔ)大小為64X 32bit的RAM,對(duì)用于幀內(nèi)4X4亮度預(yù)測的亮度原始數(shù) 據(jù)進(jìn)行二次緩存。
3.根據(jù)權(quán)利要求1所述的宏塊編碼實(shí)現(xiàn)方法,其中步驟Ob)所述的通過DCT變換分別 得到幀內(nèi)4X4亮度預(yù)測方式、幀內(nèi)16X16的亮度預(yù)測方式和幀內(nèi)8X8色度預(yù)測方式的最 佳預(yù)測模式,按如下步驟進(jìn)行(1)幀內(nèi)4X4亮度預(yù)測方式的最佳預(yù)測模式選擇對(duì)一個(gè)子塊九種預(yù)測模式的預(yù)測結(jié) 果依次進(jìn)行DCT變換,并對(duì)每種模式對(duì)應(yīng)的DCT變換結(jié)果分別取絕對(duì)值求和,將這九種模式 得到的和進(jìn)行比較,選擇最小的和所對(duì)應(yīng)的模式作為當(dāng)前子塊的最佳模式,并用4bit數(shù)據(jù) 進(jìn)行表示,按照這種方法,依次完成16個(gè)子塊的最佳模式選擇,將得到的16個(gè)子塊的最佳 模式進(jìn)行組合得到一個(gè)16X4bit的數(shù)據(jù),并將這個(gè)16X4bit的數(shù)據(jù)作為當(dāng)前宏塊的幀內(nèi) 4X4亮度預(yù)測最佳模式;(2)幀內(nèi)16X16亮度預(yù)測方式的最佳預(yù)測模式選擇對(duì)16X16亮度預(yù)測的四種模式 預(yù)測結(jié)果依次進(jìn)行DCT變換,并對(duì)每種模式對(duì)應(yīng)的DCT變換結(jié)果分別取絕對(duì)值求和,將這四 種模式得到的和進(jìn)行比較,選擇最小的和所對(duì)應(yīng)的模式作為當(dāng)前宏塊的幀內(nèi)16X16亮度 預(yù)測最佳模式;(3)幀內(nèi)8X8色度預(yù)測方式的最佳預(yù)測模式選擇對(duì)8X8色度預(yù)測的四種模式預(yù)測 結(jié)果依次進(jìn)行DCT變換,并對(duì)每種模式對(duì)應(yīng)的DCT變換結(jié)果分別取絕對(duì)值求和,將這四種模 式得到的和進(jìn)行比較,選擇最小的和所對(duì)應(yīng)的模式作為當(dāng)前宏塊的幀內(nèi)8X8色度預(yù)測最 佳模式。
4.根據(jù)權(quán)利要求1所述的宏塊編碼實(shí)現(xiàn)方法,其中步驟(3a)所述的對(duì)幀內(nèi)4X4亮度 預(yù)測和幀內(nèi)16 X 16亮度預(yù)測的最佳模式的DCT變換結(jié)果依次進(jìn)行量化操作,按如下量化公 式進(jìn)行量化
5.根據(jù)權(quán)利要求1所述的宏塊編碼實(shí)現(xiàn)方法,其中步驟Gb)所述的對(duì)前向預(yù)測、后向 預(yù)測和雙向預(yù)測得到的三種殘差依次進(jìn)行DCT變換、量化和預(yù)測代價(jià)計(jì)算,得到三種預(yù)測 方式各自對(duì)應(yīng)的預(yù)測代價(jià),按如下步驟進(jìn)行(1)對(duì)前向預(yù)測、后向預(yù)測和雙向預(yù)測得到的三種殘差利用如下矩陣計(jì)算公式分別進(jìn) 行DCT變換
全文摘要
本發(fā)明公開了一種高性能宏塊編碼的實(shí)現(xiàn)方法,主要解決現(xiàn)有基于硬件實(shí)現(xiàn)的宏塊編碼方法,處理速度慢、實(shí)現(xiàn)復(fù)雜、資源占用多的問題。其實(shí)現(xiàn)步驟是(1)對(duì)原始數(shù)據(jù)和幀間預(yù)測數(shù)據(jù)進(jìn)行緩存;(2)對(duì)當(dāng)前宏塊完成兩路并行幀內(nèi)預(yù)測;(3)根據(jù)幀內(nèi)預(yù)測結(jié)果,選擇出幀內(nèi)預(yù)測的最佳方式及其代價(jià);(4)獲得幀間預(yù)測最佳方式及其代價(jià);(5)比較幀內(nèi)和幀間最佳方式的代價(jià),獲得當(dāng)前宏塊的最佳預(yù)測方式;(6)對(duì)最佳預(yù)測方式DCT變換結(jié)果進(jìn)行量化,分別用于熵編碼和重建,并將重建結(jié)果同時(shí)進(jìn)行寄存和輸出。本發(fā)明具有編碼速度快、易于FPGA實(shí)現(xiàn)、資源充分復(fù)用的優(yōu)點(diǎn),可用于視頻編碼系統(tǒng),特別是大分辨率的視頻編碼系統(tǒng)。
文檔編號(hào)H04N7/26GK102065298SQ201110002648
公開日2011年5月18日 申請(qǐng)日期2011年1月5日 優(yōu)先權(quán)日2011年1月5日
發(fā)明者仵小波, 奉玉麗, 宋銳, 李云松, 李宏偉, 杜建超, 王養(yǎng)利, 肖嵩, 賈媛, 韓晶晶 申請(qǐng)人:西安電子科技大學(xué)