一種適用于hevc標(biāo)準(zhǔn)中幀內(nèi)預(yù)測的參考像素的硬件填充方法
【專利摘要】本發(fā)明屬于高清數(shù)字視頻壓縮編解碼【技術(shù)領(lǐng)域】,具體為一種適用于HEVC標(biāo)準(zhǔn)中幀內(nèi)預(yù)測參考像素的硬件填充方法。在HEVC中,幀內(nèi)預(yù)測是基于塊的對象執(zhí)行的,每個方塊由若干個排列成正方形的像素組成。按照HEVC標(biāo)準(zhǔn)中的預(yù)測順序,對于某些塊,其右上、上方、左上、左方和左下的參考像素中的部分或者全部可能不存在,這時候就需要對該參考像素進(jìn)行填充操作。本發(fā)明使用兩塊級聯(lián)的查找表和5組選擇器完成填充操作;可以有效地減少芯片處理時對于參考像素的填充時間,從而高效地實現(xiàn)高清視頻的實時編碼。
【專利說明】-種適用于HEVC標(biāo)準(zhǔn)中幀內(nèi)預(yù)測的參考像素的硬件填充 方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明屬于數(shù)字視頻【技術(shù)領(lǐng)域】,針對HEVC視頻編解碼標(biāo)準(zhǔn),具體涉及一種適用于HEVC標(biāo)準(zhǔn)中幀內(nèi)預(yù)測的參考像素的硬件填充方法。
【背景技術(shù)】
[0002] HEVC (High Efficiency Video Coding)是由國際電信組織(ITU)和運(yùn)動圖像專家 組(MPEG)聯(lián)合成立的組織JCTVC提出的下一代視頻編解碼標(biāo)準(zhǔn)。目標(biāo)是在相同的視覺效 果的前提下,相比于上一代標(biāo)準(zhǔn),即H. 264/AVC標(biāo)準(zhǔn),壓縮率提高一倍。
[0003] 基于HEVC的視頻編碼器,主要由以下模塊組成:幀內(nèi)預(yù)測、幀間預(yù)測、變換、量化、 反量化、反變換、重建、去方塊濾波器、自適應(yīng)樣點(diǎn)補(bǔ)償?shù)?。其中,幀?nèi)預(yù)測將利用同一幀圖 像內(nèi)相鄰像素之間的相關(guān)性,采用合適的方法進(jìn)行預(yù)測,以減小空間冗余度,從而達(dá)到壓縮 的效果。
[0004] 在HEVC中,幀內(nèi)預(yù)測是基于塊的對象執(zhí)行的,每個方塊由若干個排列成正方形的 像素組成。為了得到當(dāng)前塊的預(yù)測值,即完成對于當(dāng)前塊的幀內(nèi)預(yù)測,需要該方塊右上、上 方、左上、左方和左下方緊鄰的且已經(jīng)存在的預(yù)測值作為參考,如圖1左上部分所示。這些 預(yù)測值是通過執(zhí)行在對于當(dāng)前塊的預(yù)測之前的、對于相應(yīng)塊的預(yù)測而得到的,并被稱為幀 內(nèi)預(yù)測的參考像素。另一方面,當(dāng)前塊所產(chǎn)生的預(yù)測值亦可能成為其右上、右方、右下、下方 和左下方塊的參考像素,如圖1右下部分所示。按照HEVC標(biāo)準(zhǔn)中的預(yù)測順序,對于某些塊, 其右上、上方、左上、左方和左下的參考像素中的部分或者全部可能是不存在的,這時候就 需要對該參考像素進(jìn)行填充操作。由于該填充操作與當(dāng)前處理塊的位置和大小有著緊密的 關(guān)系,在硬件上很難用一種統(tǒng)一且簡單的方式完成,因此這一操作成為了準(zhǔn)備幀內(nèi)預(yù)測參 考像素的瓶頸之一。而本發(fā)明可以有效地減少芯片處理時,對于參考像素的填充時間,從而 高效地實現(xiàn)高清視頻的實時編碼。
[0005]為了提高預(yù)測的準(zhǔn)確性,HEVC引入了基于四叉樹的塊結(jié)構(gòu),具體地,圖像處理塊的 最大單位可以是一個64X64塊,而該64X64塊可以被劃分成4個32X32塊,每個32X32 塊又可以被劃分為4個16X16塊,依次類推直到4X4塊的層次。對于不同的處理塊,其右 上、上方、左上、左方和左下的參考像素需要根據(jù)當(dāng)前處理塊的位置和大小做填充操作: 具體地,當(dāng)某一個參考像素不存在時,如果該像素處于左下塊,應(yīng)依次搜索左方、左上、 上方、右上的參考像素取與其最近的像素;如果該像素處于左方塊,應(yīng)依次搜索左上、上方、 右上、左下的參考像素取與其最近的像素;如果該像素處于左上塊,應(yīng)依次搜索上方、右上、 左方、左下的參考像素取與其最近的像素;如果該像素處于上方塊,應(yīng)依次搜索右上、左上、 左方、左下的參考像素取與其最近的像素;如果該像素處于右上塊,應(yīng)依次搜索上方、左上、 左方、左下的參考像素取與其最近的像素并加以填充,如果都不存在,那么取值128作為參 考像素。
[0006] 由于幀內(nèi)預(yù)測的過程就是選擇最佳劃分最佳模式的過程,而在這樣的過程中,參 考像素將被頻繁地產(chǎn)生、存儲、讀取和更新。因此,對于這些參考像素的填充效率將直接影 響對于資源的占用和編碼的效率。
【發(fā)明內(nèi)容】
[0007] 本發(fā)明的目的在于提出一種可以克服現(xiàn)有技術(shù)不足的、適用于HEVC標(biāo)準(zhǔn)中幀內(nèi) 預(yù)測的參考像素的硬件填充方法。
[0008] 本發(fā)明提出的適用于HEVC標(biāo)準(zhǔn)中幀內(nèi)預(yù)測的參考像素的硬件填充方法,在進(jìn)行 填充操作之前,首先需要判定參考像素的存在性。對于在同一個邊長為32的處理塊內(nèi),第 〇行和第〇列的處理塊需要判斷該32塊左下、左方、左上、上方、右上的參考像素是否存在, 對于其他參考像素的存在性只可能有三種:左方、左上、上方、右上的參考像素存在,左下不 存在;左方、左上、上方的參考像素存在,左下、右上不存在;左下、左方、左上、上方、右上的 參考像素都存在,如圖2所示。按照圖2中的標(biāo)記方式,將一個32塊內(nèi)的所有處理塊進(jìn)行 填色,如圖3所示。
[0009] 依據(jù)該圖,本方法使用兩塊級聯(lián)的查找表作為判定方法。第一級查找表根據(jù)當(dāng)前 塊所在的邊長為32的處理塊的位置來確定這一 32塊右上、上方、左上、左方和左下的參考 像素的存在性:
【權(quán)利要求】
1. 一種適用于ffiVC標(biāo)準(zhǔn)中幀內(nèi)預(yù)測的參考像素的硬件填充方法,其特征在于:使用兩 塊級聯(lián)的查找表和5組選擇器完成填充操作; 在填充操作之前,首先判定參考像素的存在性,使用兩塊級聯(lián)的查找表作為判定方 法: 第一級查找表根據(jù)當(dāng)前塊所在的邊長為32的處理塊的位置來確定這一 32塊右上、上 方、左上、左方和左下的參考像素的存在性:
其中,PB32_Position是邊長為32的處理塊在當(dāng)前圖像中的位置,從O開始計數(shù),行數(shù) 和列數(shù)也從0開始計數(shù),?832_丨1、?832_丨、?832_1、?832_1~和?832_(1分別是該邊長為32的 處理塊右上、上方、左上、左方和左下參考像素的存在性; 第二級查找表根據(jù)第一級查找表的結(jié)果、當(dāng)前處理塊的大小和其所在的邊長為32的 塊內(nèi)的相對位置來得到當(dāng)前塊右上、上方、左上、左方和左下的參考像素的存在性:
其中,PB_Position是當(dāng)前處理塊在其所在的邊長為32的處理塊內(nèi)的相對位置;PB_ Size是當(dāng)前處理塊的大小,以邊長表征其值,即使用4表示一個邊長為4的處理塊,使用8 表示一個邊長為8的處理塊,依次類推16和32的情況;PB32_tl、PB32_t、PB32_1、PB32_ r和PB32_d分別是當(dāng)前處理塊所在的邊長為32的處理塊,其右上、上方、左上、左方和左下 參考像素的存在性;PB_Position是通過對于當(dāng)前處理單元內(nèi)的最小塊,即邊長為4的處理 塊,依照Z字即Zig-Zag順序由O開始編號得到的;對于所有大小的處理塊都以其左上角邊 長為4的處理塊的Z字順序作為其位置; 得到當(dāng)前塊右上、上方、左上、左方和左下參考像素的存在性后,使用5組選擇器選出 真正的參考像素。
【文檔編號】H04N19/593GK104363459SQ201410591005
【公開日】2015年2月18日 申請日期:2014年10月29日 優(yōu)先權(quán)日:2014年10月29日
【發(fā)明者】范益波, 黃磊磊, 劉聰, 白宇峰, 曾曉洋 申請人:復(fù)旦大學(xué)