亚洲狠狠干,亚洲国产福利精品一区二区,国产八区,激情文学亚洲色图

基于高效視頻編碼標(biāo)準(zhǔn)的離散余弦變換實(shí)現(xiàn)方法與流程

文檔序號(hào):11594831閱讀:294來(lái)源:國(guó)知局

本發(fā)明屬于圖像編碼技術(shù)領(lǐng)域,更進(jìn)一步涉及圖像壓縮技術(shù)領(lǐng)域中的一種基于高效視頻編碼標(biāo)準(zhǔn)的離散余弦變換實(shí)現(xiàn)方法。本發(fā)明可用于網(wǎng)絡(luò)圖像處理、衛(wèi)星圖像傳輸?shù)阮I(lǐng)域中圖像視頻的壓縮編碼。



背景技術(shù):

作為新一代的視頻編碼標(biāo)準(zhǔn),高效視頻編碼標(biāo)準(zhǔn)主要針對(duì)高清和超高清分辨率視頻的壓縮進(jìn)行了改進(jìn),相比于之前的h.264/avc標(biāo)準(zhǔn),在相同壓縮效果的情況下,碼流大小僅為前者的一半。高效視頻編碼標(biāo)準(zhǔn)分為幀內(nèi)編碼和幀間編碼兩部分,對(duì)于幀內(nèi)編碼,它采用的是離散余弦變換來(lái)實(shí)現(xiàn)視頻像素的壓縮處理,使圖像能量在空間域的分散分布轉(zhuǎn)換為在變換域的相對(duì)集中分布,以達(dá)到去除空間冗余的目的。由于離散余弦變換計(jì)算復(fù)雜,在硬件實(shí)現(xiàn)過(guò)程中需要使用大量的乘法器進(jìn)行運(yùn)算,并且需要存儲(chǔ)一維變換與二維變換之間的處理結(jié)果,因此一般的離散余弦變換方法需要消耗大量的硬件資源,同時(shí)增加了編碼器運(yùn)行的硬件功耗。

目前已經(jīng)有多種離散余弦變換硬件設(shè)計(jì)結(jié)構(gòu)被提出,例如目前使用很廣泛的基于復(fù)用結(jié)構(gòu)的方法,此方法利用了離散余弦變換系數(shù)矩陣可分解的特點(diǎn),使得較大尺寸的變換結(jié)構(gòu)可以利用較小尺寸的變換結(jié)構(gòu)來(lái)實(shí)現(xiàn),因此節(jié)省了單獨(dú)實(shí)現(xiàn)較小尺寸變換結(jié)構(gòu)的硬件開(kāi)銷(xiāo),但是仍然需要很多的乘法計(jì)算,關(guān)鍵路徑較長(zhǎng),嚴(yán)重限制了編碼器的工作頻率,并不能達(dá)到對(duì)高清超高清視頻壓縮處理的吞吐率要求。

北京君正集成電路股份有限公司在其申請(qǐng)的專(zhuān)利文獻(xiàn)“一種hevc標(biāo)準(zhǔn)中視頻編解碼變換方法及裝置”(專(zhuān)利申請(qǐng)?zhí)枺篶n201510226992.4,公開(kāi)號(hào):cn106210715a)中構(gòu)建了一種利用蝶形變換結(jié)構(gòu)實(shí)現(xiàn)的dct變換方法,該方法以蝶形變換原理為基礎(chǔ),使用復(fù)用較小尺寸dct變換結(jié)構(gòu)的方法,實(shí)現(xiàn)更大尺寸的dct變換,此方法節(jié)省了所復(fù)用較小尺寸變換結(jié)構(gòu)的硬件開(kāi)銷(xiāo),且可以實(shí)現(xiàn)不同尺寸的離散余弦變換,但是該方法仍然存在的不足是:蝶形變換過(guò)程中的計(jì)算仍然使用乘法器來(lái)實(shí)現(xiàn),導(dǎo)致硬件實(shí)現(xiàn)開(kāi)銷(xiāo)較大。

復(fù)旦大學(xué)在其申請(qǐng)的專(zhuān)利文獻(xiàn)“一種適用于hevc標(biāo)準(zhǔn)的基于臟位的兩級(jí)dct系數(shù)存儲(chǔ)方法”(專(zhuān)利申請(qǐng)?zhí)枺篶n201510787966.9,公開(kāi)號(hào):cn105430419a)中公開(kāi)了一種改進(jìn)兩級(jí)dct系數(shù)的存儲(chǔ)方法。該方法首先將dct系數(shù)分為符號(hào)位、高位數(shù)據(jù)和低位數(shù)據(jù)三個(gè)部分,然后采用隨機(jī)存取存儲(chǔ)器sram作為存儲(chǔ)層次中的第一級(jí),再使用寄存器存儲(chǔ)層次中的第二級(jí),該方法通過(guò)層次化的存儲(chǔ)策略減少硬件代價(jià)。但是,該方法仍然存在的不足之處是:二級(jí)數(shù)據(jù)的高位數(shù)據(jù)使用寄存器進(jìn)行存儲(chǔ),導(dǎo)致此部分的硬件開(kāi)銷(xiāo)比較大。



技術(shù)實(shí)現(xiàn)要素:

本發(fā)明的目的是針對(duì)上述現(xiàn)有技術(shù)的不足,提出了一種基于高效視頻編碼標(biāo)準(zhǔn)的離散余弦變換實(shí)現(xiàn)方法,采用復(fù)用結(jié)構(gòu)、加法位移代替乘法器以及使用隨機(jī)存取存儲(chǔ)器sram存儲(chǔ)中間數(shù)據(jù)的方法來(lái)減小硬件開(kāi)銷(xiāo),解決了編碼器硬件功耗較大的問(wèn)題,并提高了編碼器的工作頻率。

本發(fā)明實(shí)現(xiàn)的具體步驟如下:

(1)獲得待編碼圖像的殘差像素:

按照高效視頻編碼標(biāo)準(zhǔn),對(duì)輸入的一幀待編碼圖像,進(jìn)行粗選和預(yù)測(cè),得到殘差像素;

(2)讀取殘差像素矩陣:

從待編碼圖像的殘差像素中任意讀取一個(gè)32×32大小殘差像素矩陣;

(3)從殘差像素矩陣中任意讀取一行全部像素值;

(4)獲得32點(diǎn)蝶形變換的處理數(shù)據(jù):

將所讀取行的全部像素值首尾依次相加,得到32點(diǎn)蝶形變換的前16個(gè)處理數(shù)據(jù),再將所讀取行的全部像素值首尾依次相減,得到32點(diǎn)蝶形變換的后16個(gè)處理數(shù)據(jù);

(5)獲得32點(diǎn)離散余弦變換后16個(gè)像素值:

(5a)利用32點(diǎn)離散余弦變換矩陣分解公式,將32點(diǎn)離散余弦變換系數(shù)矩陣分解為32點(diǎn)蝶形變換矩陣、32點(diǎn)分解矩陣和32點(diǎn)換序矩陣三個(gè)矩陣;

(5b)將后16個(gè)處理數(shù)據(jù)與32點(diǎn)分解矩陣中右下角16×16大小的系數(shù)矩陣相乘,得到32點(diǎn)離散余弦變換的后16個(gè)像素值;

(6)獲得16點(diǎn)蝶形變換的處理數(shù)據(jù):

將前16個(gè)處理數(shù)據(jù)首尾依次相加,得到16點(diǎn)蝶形變換的前8個(gè)處理數(shù)據(jù),再將前16個(gè)處理數(shù)據(jù)首尾依次相減,得到16點(diǎn)蝶形變換的后8個(gè)處理數(shù)據(jù);

(7)獲得16點(diǎn)離散余弦變換后8個(gè)像素值:

(7a)利用16點(diǎn)離散余弦變換矩陣分解公式,將16點(diǎn)離散余弦變換系數(shù)矩陣分解為16點(diǎn)蝶形變換矩陣、16點(diǎn)分解矩陣和16點(diǎn)換序矩陣三個(gè)矩陣;

(7b)將后8個(gè)處理數(shù)據(jù)與16點(diǎn)分解矩陣右下角8×8大小的系數(shù)矩陣相乘,得到16點(diǎn)離散余弦變換后的8個(gè)像素值;

(8)獲得8點(diǎn)蝶形變換的處理數(shù)據(jù):

將前8個(gè)處理數(shù)據(jù)首尾依次相加,得到8點(diǎn)蝶形變換前4個(gè)處理數(shù)據(jù),再將前8個(gè)處理數(shù)據(jù)首尾依次相減,得到8點(diǎn)蝶形變換后4個(gè)處理數(shù)據(jù);

(9)獲得8點(diǎn)離散余弦變換后4個(gè)像素值:

(9a)利用8點(diǎn)離散余弦變換矩陣分解公式,將8點(diǎn)離散余弦變換系數(shù)矩陣分解為8點(diǎn)蝶形變換矩陣、8點(diǎn)分解矩陣和8點(diǎn)換序矩陣三個(gè)矩陣;

(9b)將后4個(gè)處理數(shù)據(jù)與8點(diǎn)分解矩陣右下角4×4大小的系數(shù)矩陣相乘,得到8點(diǎn)離散余弦變換的后4個(gè)像素值;

(10)將前4個(gè)處理數(shù)據(jù)與4點(diǎn)離散余弦變換矩陣相乘,得到4點(diǎn)離散余弦變換的4個(gè)像素值;

(11)調(diào)整像素值順序:

(11a)將4點(diǎn)離散余弦變換得到的4個(gè)像素值與8點(diǎn)離散余弦變換得到的后4個(gè)像素值合并,再與8點(diǎn)換序矩陣相乘,得到調(diào)整后的8點(diǎn)離散余弦變換所有像素值;

(11b)將8點(diǎn)離散余弦變換得到的8個(gè)像素值與16點(diǎn)離散余弦變換得到的后8個(gè)像素值合并,再與16點(diǎn)換序矩陣相乘,得到調(diào)整后的16點(diǎn)離散余弦變換所有像素值;

(11c)將16點(diǎn)離散余弦變換得到的16個(gè)像素值與32點(diǎn)離散余弦變換得到的后16個(gè)像素值合并,再與32點(diǎn)換序矩陣相乘,得到調(diào)整后的32點(diǎn)離散余弦變換所有像素值,并存入靜態(tài)隨機(jī)存取存儲(chǔ)器sram中;

(12)判斷是否讀完殘差像素矩陣中所有的殘差像素值,若是,則執(zhí)行步驟(13),否則,執(zhí)行步驟(3);

(13)從靜態(tài)隨機(jī)存取存儲(chǔ)器sram中取出所有的殘差像素值,進(jìn)行二維離散余弦變換,將變換后的殘差像素矩陣存入寄存器中;

(14)判斷是否讀完待編碼圖像中所有的殘差像素矩陣,若是,則執(zhí)行步驟(15),否則,執(zhí)行步驟(2);

(15)輸出編碼碼流:

將存入寄存器中的所有殘差像素矩陣合并,進(jìn)行量化和熵編碼后,輸出編碼碼流。

本發(fā)明與現(xiàn)有技術(shù)相比具有以下優(yōu)點(diǎn):

第一、由于本發(fā)明采用矩陣分解以及蝶形變換的方法,將較大尺寸離散余弦變換的結(jié)構(gòu)復(fù)用較小尺寸離散余弦變換結(jié)構(gòu)來(lái)實(shí)現(xiàn),同時(shí)使用加法和位移代替了乘法器的使用,克服了現(xiàn)有技術(shù)中大尺寸像素點(diǎn)矩陣離散余弦變換硬件開(kāi)銷(xiāo)較大的問(wèn)題,使得本發(fā)明能夠降低圖像壓縮過(guò)程的硬件功耗。

第二、本發(fā)明采用靜態(tài)隨機(jī)存取存儲(chǔ)器sram存儲(chǔ)一維離散余弦變換的中間值的方法,由于靜態(tài)隨機(jī)存取存儲(chǔ)器sram相比于寄存器具有硬件開(kāi)銷(xiāo)小的特點(diǎn),更適合大量中間像素值的存儲(chǔ),克服了現(xiàn)有技術(shù)中使用寄存器存儲(chǔ)中間像素值的存儲(chǔ)開(kāi)銷(xiāo)較大的問(wèn)題,使得本發(fā)明能夠進(jìn)一步降低實(shí)現(xiàn)幀內(nèi)編碼離散余弦變換的硬件開(kāi)銷(xiāo)。

附圖說(shuō)明

圖1是本發(fā)明的流程圖;

圖2是本發(fā)明實(shí)施例中利用隨機(jī)存取存儲(chǔ)器存儲(chǔ)中間數(shù)據(jù)示意圖;

具體實(shí)施方式

下面結(jié)合附圖對(duì)本發(fā)明做進(jìn)一步的描述。

參照?qǐng)D1,本發(fā)明實(shí)現(xiàn)的具體步驟如下。

步驟1,獲得待編碼圖像的殘差像素。

按照高效視頻編碼標(biāo)準(zhǔn),對(duì)輸入的一幀待編碼圖像,進(jìn)行粗選和預(yù)測(cè),得到殘差像素。

步驟2,讀取殘差像素矩陣。

從待編碼圖像的殘差像素中任意讀取一個(gè)32×32大小殘差像素矩陣。

步驟3,從殘差像素矩陣中任意讀取一行全部像素值。

步驟4,獲得32點(diǎn)蝶形變換的處理數(shù)據(jù)。

將所讀取行的全部像素值首尾依次相加,得到32點(diǎn)蝶形變換的前16個(gè)處理數(shù)據(jù),再將所讀取行的全部像素值首尾依次相減,得到32點(diǎn)蝶形變換的后16個(gè)處理數(shù)據(jù)。

步驟5,獲得32點(diǎn)離散余弦變換后16個(gè)像素值。

利用32點(diǎn)離散余弦變換矩陣分解公式,將32點(diǎn)離散余弦變換系數(shù)矩陣分解為32點(diǎn)蝶形變換矩陣、32點(diǎn)分解矩陣和32點(diǎn)換序矩陣三個(gè)矩陣。

所述的32點(diǎn)離散余弦變換矩陣分解公式如下:

t32=b32·m32·p32

其中,t32表示32點(diǎn)離散余弦變換系數(shù)矩陣,b32表示32點(diǎn)蝶形變換矩陣,m32表示32點(diǎn)分解矩陣,p32表示32點(diǎn)換序矩陣。

將后16個(gè)處理數(shù)據(jù)與32點(diǎn)分解矩陣中右下角16×16大小的系數(shù)矩陣相乘,得到32點(diǎn)離散余弦變換的后16個(gè)像素值。

步驟6,獲得16點(diǎn)蝶形變換的處理數(shù)據(jù)。

將前16個(gè)處理數(shù)據(jù)首尾依次相加,得到16點(diǎn)蝶形變換的前8個(gè)處理數(shù)據(jù),再將前16個(gè)處理數(shù)據(jù)首尾依次相減,得到16點(diǎn)蝶形變換的后8個(gè)處理數(shù)據(jù)。

步驟7,獲得16點(diǎn)離散余弦變換后8個(gè)像素值。

利用16點(diǎn)離散余弦變換矩陣分解公式,將16點(diǎn)離散余弦變換系數(shù)矩陣分解為16點(diǎn)蝶形變換矩陣、16點(diǎn)分解矩陣和16點(diǎn)換序矩陣三個(gè)矩陣。

所述的16點(diǎn)離散余弦變換矩陣分解公式如下:

t16=b16·m16·p16

其中,t16表示16點(diǎn)離散余弦變換系數(shù)矩陣,與32點(diǎn)分解矩陣左上角16×16大小系數(shù)矩陣相同,b16表示16點(diǎn)蝶形變換矩陣,m16表示16點(diǎn)分解矩陣,p16表示16點(diǎn)換序矩陣。

將后8個(gè)處理數(shù)據(jù)與16點(diǎn)分解矩陣右下角8×8大小的系數(shù)矩陣相乘,得到16點(diǎn)離散余弦變換后的8個(gè)像素值。

步驟8,獲得8點(diǎn)蝶形變換的處理數(shù)據(jù)。

將前8個(gè)處理數(shù)據(jù)首尾依次相加,得到8點(diǎn)蝶形變換前4個(gè)處理數(shù)據(jù),再將前8個(gè)處理數(shù)據(jù)首尾依次相減,得到8點(diǎn)蝶形變換后4個(gè)處理數(shù)據(jù)。

步驟9,獲得8點(diǎn)離散余弦變換后4個(gè)像素值。

利用8點(diǎn)離散余弦變換矩陣分解公式,將8點(diǎn)離散余弦變換系數(shù)矩陣分解為8點(diǎn)蝶形變換矩陣、8點(diǎn)分解矩陣和8點(diǎn)換序矩陣三個(gè)矩陣。

所述的8點(diǎn)離散余弦變換矩陣分解公式如下:

t8=b8·m8·p8

其中,t8表示8點(diǎn)離散余弦變換系數(shù)矩陣,與16點(diǎn)分解矩陣左上角8×8大小系數(shù)矩陣相同,b8表示8點(diǎn)蝶形變換矩陣,m8表示8點(diǎn)分解矩陣,p8表示8點(diǎn)換序矩陣;

將后4個(gè)處理數(shù)據(jù)與8點(diǎn)分解矩陣右下角4×4大小的系數(shù)矩陣相乘,得到8點(diǎn)離散余弦變換的后4個(gè)像素值。

步驟10,將前4個(gè)處理數(shù)據(jù)與4點(diǎn)離散余弦變換矩陣相乘,得到4點(diǎn)離散余弦變換的4個(gè)像素值。

步驟11,調(diào)整像素值順序。

將4點(diǎn)離散余弦變換得到的4個(gè)像素值與8點(diǎn)離散余弦變換得到的后4個(gè)像素值合并,再與8點(diǎn)換序矩陣相乘,得到調(diào)整后的8點(diǎn)離散余弦變換所有像素值;

將8點(diǎn)離散余弦變換得到的8個(gè)像素值與16點(diǎn)離散余弦變換得到的后8個(gè)像素值合并,再與16點(diǎn)換序矩陣相乘,得到調(diào)整后的16點(diǎn)離散余弦變換所有像素值;

將16點(diǎn)離散余弦變換得到的16個(gè)像素值與32點(diǎn)離散余弦變換得到的后16個(gè)像素值合并,再與32點(diǎn)換序矩陣相乘,得到調(diào)整后的32點(diǎn)離散余弦變換所有像素值,并存入靜態(tài)隨機(jī)存取存儲(chǔ)器sram中,具體的存儲(chǔ)方式如圖2所示。圖中sram1到sram16表示16個(gè)靜態(tài)隨機(jī)存取存儲(chǔ)器sram,數(shù)值對(duì)(0,0)到(3,15)分別表示像素值在32×32大小像素矩陣中的坐標(biāo)。

步驟12,判斷是否讀完殘差像素矩陣中所有的殘差像素值,若是,則執(zhí)行步驟13,否則,執(zhí)行步驟3。

步驟13,從靜態(tài)隨機(jī)存取存儲(chǔ)器sram中取出所有的殘差像素值,進(jìn)行二維離散余弦變換,將變換后的殘差像素矩陣存入寄存器中。

步驟14,判斷是否讀完待編碼圖像中所有的殘差像素矩陣,若是,則執(zhí)行步驟15,否則,執(zhí)行步驟2。

步驟15,輸出編碼碼流。

將存入寄存器中的所有殘差像素矩陣合并,進(jìn)行量化和熵編碼后,輸出編碼碼流。

下面結(jié)合仿真實(shí)驗(yàn)對(duì)本發(fā)明的效果做進(jìn)一步的描述。

1、仿真實(shí)驗(yàn)條件:

本發(fā)明仿真實(shí)驗(yàn)所選擇的高效視頻編碼標(biāo)準(zhǔn)官方軟件模型版本為16.0,硬件實(shí)現(xiàn)平臺(tái)為isedesignsuite14.3,仿真工具為modelsim10.1b,綜合工具使用designcompiler。

2、仿真實(shí)驗(yàn)內(nèi)容與分析:

在平臺(tái)isedesignsuite14.3上,按照本發(fā)明方法完成基于高效視頻編碼標(biāo)準(zhǔn)的離散余弦變換的實(shí)現(xiàn),使用modelsim10.1b進(jìn)行仿真,并用designcompiler綜合得到硬件開(kāi)銷(xiāo),仿真實(shí)驗(yàn)數(shù)據(jù)如表1所示。

表1本發(fā)明的仿真實(shí)驗(yàn)數(shù)據(jù)

由表1的仿真實(shí)驗(yàn)數(shù)據(jù)可見(jiàn),本發(fā)明所采用的蝶形變換方法以及使用隨機(jī)存取存儲(chǔ)器sram代替普通寄存器存儲(chǔ)中間數(shù)據(jù)的方法,應(yīng)用到不同分辨率圖像的離散余弦變換的方法中,可以在一定程度上減小離散余弦變換實(shí)現(xiàn)過(guò)程中的硬件開(kāi)銷(xiāo)。其中,離散余弦變換部分可節(jié)省約27%~29%的硬件開(kāi)銷(xiāo),而離散余弦變換中間數(shù)據(jù)存儲(chǔ)部分可降低約7%~9%的硬件開(kāi)銷(xiāo)。

當(dāng)前第1頁(yè)1 2 
網(wǎng)友詢(xún)問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1