国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 學(xué)院 > 開(kāi)發(fā)設(shè)計(jì) > 正文

HEVC中的幀內(nèi)預(yù)測(cè)

2019-11-06 09:33:52
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

本文想講清楚的問(wèn)題是:HEVC的幀內(nèi)預(yù)測(cè)標(biāo)準(zhǔn)與其背后的原理

0. HEVC幀內(nèi)預(yù)測(cè)概述

HEVC中一共有35種預(yù)測(cè)模式——DC、PLANAR和33種角度預(yù)測(cè)模式,如下表所示

模式 對(duì)應(yīng)名字
0 INTRA_PLANAR
1 INTRA_DC
2…34 INTRA_ANGULAR

其中角度預(yù)測(cè)模式又分為水平模式(2-17)和垂直模式(18-33)(為什么34不算垂直模式?)。

幀內(nèi)預(yù)測(cè)由三個(gè)步驟組成 1. 構(gòu)建參考像素 2. 預(yù)測(cè) 3. 后處理

1. 參考像素構(gòu)建

參考像素構(gòu)建主要包括兩個(gè)部分:參考像素替換(substitution)和對(duì)替換后的參考像素進(jìn)行濾波處理

1.1 參考像素替換

HEVC中參考像素由當(dāng)前塊的左、左上、左下、上和右上的像素來(lái)構(gòu)成,如圖1所示. reference_substitution

圖1 幀內(nèi)預(yù)測(cè)的參考像素

但是,其周?chē)膲K并不總是可用的,這時(shí)就需要補(bǔ)充不可用的像素點(diǎn)。 填充方法如下所示: - 步驟1:當(dāng)A塊可用時(shí),該步驟可以略去;當(dāng)A不可用時(shí),按圖2中箭頭方向找到第一個(gè)可用塊,那么將其第一個(gè)像素(按箭頭方向)的值賦給A中所有位置。例如,當(dāng)A不可用而B(niǎo)可用時(shí),A中所有元素都用B中最下面的那個(gè)元素進(jìn)行賦值。 - 步驟2:對(duì)其他位置進(jìn)行賦值時(shí),從B開(kāi)始,當(dāng)其不可用時(shí),則用上一個(gè)塊的最后一個(gè)像素(按箭頭方向)來(lái)對(duì)該塊進(jìn)行賦值。例如,當(dāng)B不可用時(shí),則B中所有元素都用A中最上面的那個(gè)元素進(jìn)行賦值。

該步驟的目的是使得對(duì)于一個(gè)塊來(lái)說(shuō)(如圖1中的塊F),即便在某些參考像素不可用時(shí),使用該像素的預(yù)測(cè)模式仍然可用。

這也是HEVC幀內(nèi)預(yù)測(cè)與AVC(264)的幀內(nèi)預(yù)測(cè)的不同之處:在某些參考像素不可用時(shí),AVC中僅允許使用DC模式,而HEVC中則可以使用全部模式。

1.2 參考像素濾波

進(jìn)行濾波的目的是為了避免使用參考像素預(yù)測(cè)后得到的預(yù)測(cè)塊可能會(huì)產(chǎn)生不希望的定向邊(directional edges)的現(xiàn)象,這樣通過(guò)濾波來(lái)提高視覺(jué)效果。 濾波的選擇是通過(guò)預(yù)測(cè)塊的大小和使用的幀內(nèi)預(yù)測(cè)模式來(lái)定的,具體見(jiàn)表2

1.2.1 濾波開(kāi)關(guān)

表2 參考像素濾波的選擇(0表示不進(jìn)行濾波,1表示進(jìn)行濾波)

預(yù)測(cè)塊大小 模式-DC 對(duì)角線模式(2/18/34) 水平和垂直方向(10/26) 近水平和垂直方向(9/11/25/27) 其他模式
4x4 0 0 0 0 0
8x8 0 1 0 0 0
16x16 0 1 0 0 1
32x32 0 1 0 1 1

1.2.2 濾波過(guò)程

一共有兩種濾波方法可以選擇

三抽頭[1 2 1]/4平滑濾波器線性插值

其中第2個(gè)濾波只有在塊大小為32x32,且參考像素足夠平滑時(shí)才使用(平滑的判定條件見(jiàn)標(biāo)準(zhǔn))

經(jīng)過(guò)濾波后的參考像素即可用于塊預(yù)測(cè)了。

2. 預(yù)測(cè)

拋去具體的計(jì)算細(xì)節(jié),這兒主要討論三個(gè)問(wèn)題: 1. 幀內(nèi)預(yù)測(cè)的1/32像素是怎么回事 2. 計(jì)算過(guò)程中的intraPRedAngle和invAngle是怎么回事 3. 計(jì)算過(guò)程中的iIdx和iFact是什么

2.1 1/32像素

intra_pred

圖2 幀內(nèi)預(yù)測(cè)方向

在圖2中,只有紅框標(biāo)記的為整像素,而其他的點(diǎn)都是1/32像素的線性插值。這就是為什么在預(yù)測(cè)時(shí)會(huì)有( ( 32 ? iFact ) * ref[ x + iIdx + 1 ] + iFact * ref[ x + iIdx + 2 ] + 16 ) >> 5這樣的公式,因?yàn)檫@是在進(jìn)行1/32線性插值。

2.2 intraPredAngle和invAngle

intraPredAngle定義了角度模式的角度。如圖2中,模式9,水平方向向下偏移了2個(gè)1/32像素,所以其對(duì)應(yīng)的intraPredAngle為2。intraPredAngle其實(shí)是相對(duì)于水平或者垂直方向以1/32像素為單位的偏移(右和下為正)。

參考圖1,對(duì)塊F進(jìn)行預(yù)測(cè),如果模式為26-34,那么只需要參考上方的像素;如果模式為2-10,則只需要參考圖像左邊的像素。 而對(duì)于模式11-25,則需要同時(shí)參考上方和左方的像素。那么就需要將左方或者上方的像素投射到上方或左方。

invAngle定義了投射關(guān)系。

對(duì)于垂直模式來(lái)說(shuō)

ref[ x ] = p[ ?1 ][ ?1 + ( ( x * invAngle + 128 ) >> 8 ) ];

以模式23為例, 若要保證平行,那么當(dāng)x=-9時(shí),?1 + ( ( -9 * invAngle + 128 ) >> 8 )應(yīng)該等于31,即 ?1+(?9?invAngle+128)256=31

invAngle=256?32?9=?910.2222=?910

128僅僅是一個(gè)四舍五入的因子

如果x表示圖中所標(biāo)志的角度的話,那么上式可以寫(xiě)為

?tan(x)=?932

invAngle=?256?1tan(x)

這就容易理解為什么叫做invAngle了.

intraAngle

3. 參考

Intra-Picture Prediction in HEVC,Jani Lainema and Woo-Jin Han265標(biāo)準(zhǔn)
發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 山东省| 满洲里市| 林西县| 隆子县| 云林县| 梁平县| 壶关县| 许昌县| 大冶市| 安化县| 邹城市| 临汾市| 革吉县| 宜昌市| 卫辉市| 康保县| 佛教| 常熟市| 武乡县| 冕宁县| 收藏| 封开县| 西贡区| 阿尔山市| 桦甸市| 望城县| 龙泉市| 砀山县| 大安市| 桑日县| 建始县| 淮安市| 新宾| 吉木萨尔县| 高密市| 拉萨市| 花莲县| 南充市| 湖北省| 中西区| 广昌县|