2.H.265/HEVC —— 幀內(nèi)預(yù)測(cè)

在H.265/HEVC中,35種預(yù)測(cè)模式是在PU的基礎(chǔ)上定義的罩锐,而具體幀內(nèi)預(yù)測(cè)過程的實(shí)現(xiàn)則是以TU為單位的。編撰規(guī)定PU可以以四叉樹的形式劃分TU卤唉,且一個(gè)PU內(nèi)所有TU共享同一種預(yù)測(cè)模式的形式劃分TU,且一個(gè)PU內(nèi)的所有TU共享同一種預(yù)測(cè)模式涩惑。H.265/HEVC幀內(nèi)預(yù)測(cè)可分為以下3個(gè)步驟:
**
1.判斷當(dāng)前TU相鄰參考像素是否可用并做相應(yīng)的處理
2.對(duì)參考像素進(jìn)行濾波
3.根據(jù)濾波后的參考像素計(jì)算當(dāng)前TU的預(yù)測(cè)像素值
**


1.相鄰參考像素的獲取

如圖,當(dāng)前的TU大小為NxN桑驱,其參考像素按區(qū)域可分為5部分:左下(A)竭恬、左側(cè)(B)、左上(C)熬的、上方(D)和右上(E),一共4N+1個(gè)點(diǎn)痊硕。若當(dāng)前TU位于圖像邊界,或Slice押框、Tile的邊界(H.265/HEVC規(guī)定在幀內(nèi)編碼中岔绸,相鄰Slice或Tile不能相互參考),則相鄰參考像素可能會(huì)不存在或不可用。另外盒揉,在某些情形下A或E所在的塊可能尚未進(jìn)行編碼晋被,此時(shí)這些參考像素也是不可用的。

相鄰參考像素位置

當(dāng)參考像素不存在或不可用時(shí)刚盈,H.265/HEVC標(biāo)準(zhǔn)會(huì)使用最鄰近的像素進(jìn)行填充羡洛。例如,若區(qū)域A的參考像素不存在藕漱,則區(qū)域A所有參考像素都用區(qū)域B最下方的像素進(jìn)行填充欲侮;若區(qū)域E的參考像素不存在,則區(qū)域E所有參考像素都用D最右側(cè)的像素進(jìn)行填充肋联。需要說明的是锈麸,若所有參考像素都不可用,則參考像素都用固定值填充牺蹄,該固定值大小為

                                         R = 1 << (BitDepth -1)

源碼解析:
fillReferenceSamples這個(gè)函數(shù)忘伞,它主要功能是在真正進(jìn)行幀內(nèi)預(yù)測(cè)之前,使用重建后的Yuv圖像對(duì)當(dāng)前PU的相鄰樣點(diǎn)進(jìn)行賦值沙兰,為接下來進(jìn)行的角度預(yù)測(cè)提供參考樣點(diǎn)值氓奈。
源碼解析可以參考:http://blog.csdn.net/hevc_cjl/article/details/8175721

幀內(nèi)預(yù)測(cè)一個(gè)很重要的函數(shù)initAdiPattern,它的主要功能有三個(gè)鼎天,(1)檢測(cè)當(dāng)前PU的相鄰樣點(diǎn)包括左上舀奶、上、右上斋射、左育勺、左下鄰域樣點(diǎn)值的可用性,或者說檢查這些點(diǎn)是否存在罗岖;(2)參考樣點(diǎn)的替換過程涧至,主要實(shí)現(xiàn)的是JCTVC-J1003即draft 8.4.4.2.2的內(nèi)容,主要由函數(shù)fillReferenceSamples來完成桑包;(3)相鄰樣點(diǎn)即參考樣點(diǎn)的平滑濾波南蓬,主要實(shí)現(xiàn)draft 8.4.4.2.3的內(nèi)容。
源碼解析可以參考:http://blog.csdn.net/HEVC_CJL/article/details/8184276


2.參考像素的濾波

1.不同大小TU需要進(jìn)行參考像素濾波的模式
DC模式以及4x4大小的TU都不需要進(jìn)行參考像素濾波哑了。其他情形介紹如下:
32x32TU:除了模式10(水平)赘方、模式26(垂直)之外的所有角度模式以及Planar模式。
16x16TU:在32x32TU的基礎(chǔ)上進(jìn)一步出去最接近水平個(gè)垂直方向的4個(gè)模式——模式9弱左、11窄陡、25、27
8x8TU:僅對(duì)3個(gè)45度傾斜方向的模式(模式2拆火、18跳夭、34)以及Planar模式進(jìn)行參考像素濾波鳖悠。

2.常規(guī)濾波與強(qiáng)濾波方法
這部分就是需要滿足幾個(gè)條件進(jìn)行常規(guī)濾波或者強(qiáng)濾波。


2.預(yù)測(cè)像素的計(jì)算

與h.264/avc相比优妙,h.265/hevc增加使用了左下方塊的邊界像素作為當(dāng)前塊的參考乘综。這是由于h.264/avc以固定大小的宏塊為單元進(jìn)行編碼,在對(duì)當(dāng)前塊進(jìn)行幀內(nèi)預(yù)測(cè)時(shí)套硼,其左下方塊很有可能尚未進(jìn)行編碼卡辰,無法用于參考;而h.265/hevc四叉樹形的編碼結(jié)構(gòu)使得這一區(qū)域成為可用像素邪意。此外九妈,這一區(qū)域像素的使用也提供了更多可能的預(yù)測(cè)方向,在某些情形下(如傾斜向上方向的紋理等)能夠大幅度提高預(yù)測(cè)精度雾鬼。

h.264 4x4 luma prediction modes
h.265/hevc 幀內(nèi)參考示意圖

H.265/HEVC亮度分量幀內(nèi)預(yù)測(cè)支持5種大小的PU: 4x4, 8x8, 16x16, 32x32, 64x64
每一種大小的PU都有35種預(yù)測(cè)模式:
1. Planar模式
2. DC 模式
3. 33種角度模式
所有預(yù)測(cè)模式都使用相同的模板萌朱。


1.Planar模式(解決漸變式的平滑紋理區(qū)域)

Planar模式是由H.264/AVC中的Plane模式發(fā)展而來的,它適用于圖像值緩慢變化的區(qū)域策菜。Planar模式使用水平和垂直方向的兩個(gè)線性濾波器晶疼,并將二者的平均值作為當(dāng)前塊像素的預(yù)測(cè)值。


幀內(nèi)Planar模式預(yù)測(cè)
a)對(duì)應(yīng)像素的計(jì)算公式 b)其計(jì)算效果圖

2.DC模式(適用于大面積平坦區(qū)域)

DC模式適用于大面積平坦區(qū)域又憨,其做法與H.264/AVC基本相同翠霍。當(dāng)前塊預(yù)測(cè)值可由其左側(cè)和上方(注意不包含左上角、左上方和右上方)參考像素的平均值得到蠢莺。

在4X4的非邊緣塊寒匙,即藍(lán)色透明部分

3.角度模式

H.264/AVC使用了8中不同的預(yù)測(cè)方向(4x4大小)躏将,H.265/HEVC則進(jìn)一步細(xì)化了這些預(yù)測(cè)方向锄弱,規(guī)定了33種角度預(yù)測(cè)模式,以更好地適應(yīng)視頻內(nèi)容種不同方向的紋理祸憋。

下圖給出了33種角度模式的具體方向会宪,其中V0(模式26)和H0(模式10)分別表示為垂直和水平方向,其余模式的預(yù)測(cè)方向都可以看成再垂直或水平方向上做了一個(gè)偏移夺衍,該偏移角的大小可由模式下方的數(shù)字計(jì)算得出狈谊。

33種角度模式的預(yù)測(cè)方向

θ 為正表示預(yù)測(cè)方向向左偏移,θ為負(fù)表示預(yù)測(cè)方向向右偏移沟沙;對(duì)于水平類模式,θ為正表示預(yù)測(cè)方向向上偏移壁榕,θ為負(fù)表示預(yù)測(cè)方向向下偏移矛紫。

對(duì)于模式1125,當(dāng)前塊的預(yù)測(cè)需要同時(shí)用到上方和左側(cè)的參考像素牌里。為了能夠使用一種統(tǒng)一的形式來計(jì)算預(yù)測(cè)像素值颊咬,H.264/HEVC標(biāo)準(zhǔn)采用了一種“投影像素”的方法务甥,對(duì)于模式1825(垂直類模式),須將左側(cè)參考像素按給定方向偷影至上方參考像素的左側(cè)(水平排列)喳篇,而對(duì)于模式11~17(水平類模式)敞临,須將上方參考像素按給定方向投影至左側(cè)參考像素的上方(垂直排列)。


step:

  1. 對(duì)于給定垂直類模式M,使用“投影像素”法將其需要用到的參考像素映射為一維形式麸澜,記為Ref.
    2.計(jì)算當(dāng)前像素對(duì)應(yīng)參考像素的Ref中的位置挺尿,記為pos:
    pos = (y* offset[M]) >> 5
    3.計(jì)算當(dāng)前像素對(duì)應(yīng)參考像素的加權(quán)因子w:
    w = (y * offset[M]) & 31
    其中,&表示按位與運(yùn)算炊邦。
    4.計(jì)算當(dāng)前像素的預(yù)測(cè)值:
    Px,y = ((32-w)Ref[pos]+wRef[pos+1]+16)>>5
    需要注意的是,對(duì)于模式26(垂直模式)编矾,預(yù)測(cè)像素值改由下式計(jì)算:
    Px,y = Rx,o +((Ro,y - Ro,o) >> 0)

源碼解析:
HM中TComPrediction.cpp文件下有以上模式的函數(shù),具體的解析可以參考:
http://blog.csdn.net/hevc_cjl/article/details/8175721
http://blog.csdn.net/hevc_cjl/article/details/8184276
http://blog.csdn.net/hevc_cjl/article/details/8200793
http://blog.csdn.net/hevc_cjl/article/details/8216065
http://blog.csdn.net/hevc_cjl/article/details/8259844
http://blog.csdn.net/hevc_cjl/article/details/8259844

TComPrediction.cpp

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末馁害,一起剝皮案震驚了整個(gè)濱河市窄俏,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌碘菜,老刑警劉巖凹蜈,帶你破解...
    沈念sama閱讀 206,311評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異忍啸,居然都是意外死亡踪区,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,339評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門吊骤,熙熙樓的掌柜王于貴愁眉苦臉地迎上來缎岗,“玉大人,你說我怎么就攤上這事白粉〈矗” “怎么了?”我有些...
    開封第一講書人閱讀 152,671評(píng)論 0 342
  • 文/不壞的土叔 我叫張陵鸭巴,是天一觀的道長眷细。 經(jīng)常有香客問我,道長鹃祖,這世上最難降的妖魔是什么溪椎? 我笑而不...
    開封第一講書人閱讀 55,252評(píng)論 1 279
  • 正文 為了忘掉前任,我火速辦了婚禮恬口,結(jié)果婚禮上校读,老公的妹妹穿的比我還像新娘。我一直安慰自己祖能,他們只是感情好歉秫,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,253評(píng)論 5 371
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著养铸,像睡著了一般雁芙。 火紅的嫁衣襯著肌膚如雪轧膘。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,031評(píng)論 1 285
  • 那天兔甘,我揣著相機(jī)與錄音谎碍,去河邊找鬼。 笑死洞焙,一個(gè)胖子當(dāng)著我的面吹牛蟆淀,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播闽晦,決...
    沈念sama閱讀 38,340評(píng)論 3 399
  • 文/蒼蘭香墨 我猛地睜開眼扳碍,長吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了仙蛉?” 一聲冷哼從身側(cè)響起笋敞,我...
    開封第一講書人閱讀 36,973評(píng)論 0 259
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎荠瘪,沒想到半個(gè)月后夯巷,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,466評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡哀墓,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,937評(píng)論 2 323
  • 正文 我和宋清朗相戀三年趁餐,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片篮绰。...
    茶點(diǎn)故事閱讀 38,039評(píng)論 1 333
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡后雷,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出吠各,到底是詐尸還是另有隱情臀突,我是刑警寧澤,帶...
    沈念sama閱讀 33,701評(píng)論 4 323
  • 正文 年R本政府宣布贾漏,位于F島的核電站候学,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏纵散。R本人自食惡果不足惜梳码,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,254評(píng)論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望伍掀。 院中可真熱鬧掰茶,春花似錦、人聲如沸硕盹。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,259評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽瘩例。三九已至啊胶,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間垛贤,已是汗流浹背焰坪。 一陣腳步聲響...
    開封第一講書人閱讀 31,485評(píng)論 1 262
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留聘惦,地道東北人某饰。 一個(gè)月前我還...
    沈念sama閱讀 45,497評(píng)論 2 354
  • 正文 我出身青樓,卻偏偏與公主長得像善绎,于是被迫代替她去往敵國和親黔漂。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,786評(píng)論 2 345

推薦閱讀更多精彩內(nèi)容

  • 在保證視頻圖像質(zhì)量的前提下禀酱,HEVC通過增加一定的計(jì)算復(fù)雜度炬守,可以實(shí)現(xiàn)碼流在H.264/AVC的基礎(chǔ)上降低50%。...
    加劉景長閱讀 7,823評(píng)論 0 6
  • 幀間預(yù)測(cè)是利用視頻時(shí)域的相關(guān)性剂跟,使用鄰近已編碼圖像像素預(yù)測(cè)當(dāng)前圖像的像素减途,以達(dá)到有效去除視頻時(shí)域冗余的目的。由于視...
    Persistently閱讀 11,256評(píng)論 1 4
  • 方塊效應(yīng)產(chǎn)生的原因:1.變換曹洽、量化 的誤差2.幀間預(yù)測(cè)的運(yùn)動(dòng)補(bǔ)償過程為了消除或減輕塊效應(yīng)鳍置,我們可以用環(huán)路濾波器(L...
    Persistently閱讀 3,237評(píng)論 0 0
  • 11
    陳雪蘭閱讀 151評(píng)論 0 0
  • 總結(jié)我這二十幾年來有限的人生經(jīng)歷,人呢在遭遇厄運(yùn)的時(shí)候若是不冷靜送淆,會(huì)更加的在這個(gè)泥沼當(dāng)中越陷越深税产。當(dāng)情緒波折很大,...
    愛笑的姑娘小西閱讀 1,131評(píng)論 0 0