HEVC基礎(chǔ)知識(shí)講解(1)-LCU 模式選擇過程分析(CTU的深度選擇及CU的分割)

1.率失真代價(jià)計(jì)算模型
HEVC 的最大編碼單元為 LCU,即 64×64 的 CU(認(rèn)為是數(shù)據(jù)單元,也就是編碼單元)砸民;
下面就需要對(duì)LCU進(jìn)行CU的劃分卿泽;步驟如下:
1、對(duì)一個(gè) LCU 選擇最佳 CU編碼深度紧憾,需要遍歷所有 64×64 到 8×8 的分割到千,一共 85 個(gè) CU,通過計(jì)算率失真代價(jià)選擇此 LCU 的最佳分割方式赴穗。
PS:首先先看這一步憔四,一個(gè)LCU = 1個(gè)64CU+4個(gè)32CU+16個(gè)16CU+64個(gè)8CU = 1+4+16+64 = 85;
然后有一個(gè)問題般眉,我們?yōu)槭裁丛赾u劃分的時(shí)候了赵,最小是8x8,而不是4x4甸赃?
因?yàn)槲覀儎澐諰CU也只是第一步斟览,因?yàn)楹竺孢€要去看PU的劃分以及TU的劃分;因?yàn)镻U和TU得到劃分都是要基于CU來進(jìn)行辑奈;后面會(huì)分析到PU和TU的劃分苛茂;這里我們要明白的是,因?yàn)镻U和TU的劃分鸠窗,所以CU只能最小到8x8(!!!!CU最小的劃分單元就是8x8妓羊,切記!!!!);

2稍计、對(duì)于每一個(gè) CU躁绸,遍歷幀內(nèi)和幀間所有可選的預(yù)測(cè)模式,根據(jù)率失真代價(jià)選擇最佳 PU(預(yù)測(cè)單元臣嚣,做像素值的預(yù)測(cè)) 預(yù)測(cè)模式净刮。
PS:PU有8種模式;它是針對(duì)于CU來進(jìn)行劃分的硅则,而且針對(duì)于不同的預(yù)測(cè)模式(skip淹父,幀間,幀內(nèi))怎虫,劃分的方式是不一樣的暑认;如下:


image.png

3困介、對(duì)于每一種 PU 預(yù)測(cè)模式,TU的分割方式由當(dāng)前 CU 的大小蘸际、PU 的預(yù)測(cè)模式以及最大 TU 分割深度等因素決定座哩,選擇過程也需要計(jì)算率失真代價(jià)。
PS:TU的分割是與PU無關(guān)的粮彤,可以跨越多個(gè)PU的界限根穷,也可以不跨越;還是依賴于的是CU的劃分

可以看出导坟,在 HEVC 編碼過程中缠诅,任何一個(gè)劃分方式或預(yù)測(cè)模式的選擇,都需要計(jì)算率失真代價(jià)乍迄, HM 的編碼器中,率失真代價(jià)的計(jì)算模型有以下兩種:
1士败、非 RDO 模型
非 RDO 模型可用于幀內(nèi)預(yù)測(cè)闯两、運(yùn)動(dòng)估計(jì)、最佳 MVP 的選擇 及 merge 模式中最佳運(yùn)動(dòng)參數(shù)集的選擇等谅将。
2漾狼、RDO 模型

所有有關(guān)分割方式的選擇都采用 RDO 模型計(jì)算率失真代價(jià)。

2.LCU 編碼深度選擇過程

當(dāng) LCU 的大小為 64×64饥臂,最大編碼深度為 3逊躁,則 LCU 編碼深度的選擇過程可如下圖表示。


image.png

第一步隅熙,如圖 a)稽煤,對(duì)大小為 64×64 深度為 0 的編碼單元 a 遍歷所有幀間和幀內(nèi)預(yù)測(cè)模式,得到深度為 0 時(shí)的最優(yōu)預(yù)測(cè)模式和率失真代價(jià) Ra囚戚。

第二步酵熙,如圖 b),對(duì) a 進(jìn)行一次 CU 劃分驰坊,得到四個(gè)子 CU:b0匾二,b1,b2拳芙,b3察藐,此時(shí)編碼深度為 1,并對(duì)編碼單元 b0 遍歷所有幀間和幀內(nèi)預(yù)測(cè)模式舟扎,得到 b0的最優(yōu)預(yù)測(cè)方式和率失真代價(jià) Rb0分飞。

第三步,如圖 c)睹限,對(duì) b0 進(jìn)行進(jìn)一步的 CU 劃分浸须,得到四個(gè)子 CU:c0惨寿,c1,c2 和 c3删窒,此時(shí)編碼深度為 2裂垦,并對(duì)編碼單元 c0 遍歷所有可能的預(yù)測(cè)模式,得到 c0的最優(yōu)預(yù)測(cè)模式和率失真代價(jià) Rc0肌索。

第四步蕉拢,如圖 d),對(duì) c0 做進(jìn)一步 CU 劃分诚亚,得到四個(gè)子 CU:d0晕换,d1,d2和 d3站宗,此時(shí)編碼深度為 3闸准,已達(dá)到最大編碼深度,不能再進(jìn)行 CU 劃分梢灭。依次對(duì)d0夷家、d1、d2 和 d3 進(jìn)行預(yù)測(cè)模式選擇敏释,得到各自對(duì)應(yīng)的最優(yōu)預(yù)測(cè)方式和率失真代價(jià)Rd0库快、Rd1、Rd2以及 Rd3钥顽,計(jì)算四個(gè) CU 的率失真代價(jià)之和义屏,并與 Rc0進(jìn)行比較,選擇較小的值作為 c0 的最優(yōu)率失真代價(jià)(記為 Min-Rc0)蜂大,其對(duì)應(yīng)的預(yù)測(cè)方式以及分割方式即為 c0 的最優(yōu)預(yù)測(cè)方式和分割方式闽铐。

第五步,仿照第四步奶浦,依次對(duì) c1阳啥、c2 和 c3 進(jìn)行劃分與預(yù)測(cè)模式選擇,分別得到各自對(duì)應(yīng)的最優(yōu)預(yù)測(cè)方式和率失真代價(jià) Min-Rc1财喳、Min-Rc2察迟、Min-Rc3,并計(jì)算當(dāng)前編碼深度的四個(gè) CU 的率失真代價(jià)之和耳高,與 Rb0比較扎瓶,得到較小的率失真代價(jià)(記為 Min-Rb0),其所對(duì)應(yīng)的預(yù)測(cè)模式以及分割方式即為 b0 的最優(yōu)預(yù)測(cè)模式和分割方式泌枪。

第六步概荷,仿照第二步到第五步,依次對(duì) b1碌燕、b2 和 b3 進(jìn)行劃分與預(yù)測(cè)模式選擇误证,分別得到各自對(duì)應(yīng)的最優(yōu)預(yù)測(cè)方式和率失真代價(jià) Min-Rb1继薛、Min-Rb2、Min-Rb3愈捅,計(jì)并計(jì)算當(dāng)前編碼深度的四個(gè) CU 的率失真代價(jià)之和遏考,并與 Ra 比較,得到較小的率失真代價(jià)(記為 Min-Ra)蓝谨,找出該 LCU 的最佳劃分方式以及最優(yōu)預(yù)測(cè)模式灌具。

3.CU 的預(yù)測(cè)模式選擇過程

在 LCU 的最佳劃分方式的選擇過程中,對(duì)于每一個(gè)編碼深度的 CU譬巫,做 PU 預(yù)測(cè)模式選擇咖楣,一個(gè)大小為 2N×2N 的 CU,PU 幀間預(yù)測(cè)模式有 skip芦昔、2N×2N诱贿、2N×N、N×2N咕缎、N×N珠十、2N×nU、2N×nD锨阿、nL×2N 以及 nR×2N。
1)其中 skip 模式對(duì)應(yīng)的 CU劃分方式為 2N×2N记罚;
2)幀內(nèi)模式 PU 的大小可以為 2N×2N 或 N×N墅诡,N×N 只能適用于深度為最大編碼深度(8x8)的 CU。
3)幀間預(yù)測(cè)模式有八種桐智,后四種模式統(tǒng)稱為 AMP 模式末早,AMP 模式可以根據(jù)需要在參數(shù)配置中直接關(guān)閉。在 AMP 模式打開的情況下说庭,這四種模式的選擇與前面的選擇結(jié)果相關(guān)然磷。對(duì)于每一個(gè) PU,共有 35 種幀內(nèi)預(yù)測(cè)模式刊驴。

PU 的模式選擇過程如圖 3.3 所示:
第一步姿搜,計(jì)算 skip 模式的率失真代價(jià),skip 模式運(yùn)用到了 HEVC 中的新引入的運(yùn)動(dòng)合并技術(shù)捆憎。運(yùn)用運(yùn)動(dòng)參數(shù)候選列表中的每個(gè)運(yùn)動(dòng)參數(shù)集找到預(yù)測(cè)塊舅柜,與原始?jí)K做差值并進(jìn)行變換,量化和熵編碼躲惰。最后用編碼的比特?cái)?shù)和重構(gòu)塊以及原始?jí)K的失真計(jì)算出率失真代價(jià)致份,找到最佳的 merge-index。

第二步础拨,計(jì)算 2N×2N 模式的率失真代價(jià)氮块,首先運(yùn)用 AMVP 技術(shù)得到 MVP 列表绍载;然后運(yùn)用非 RDO 方法計(jì)算率失真代價(jià)得到最佳 MVP;最后做運(yùn)動(dòng)搜索滔蝉,找到預(yù)測(cè)塊击儡,與原始?jí)K做差值并進(jìn)行變換、量化和熵編碼锰提,運(yùn)用編碼比特?cái)?shù)以及重構(gòu)塊和原始?jí)K的 SSD 計(jì)算出率失真代價(jià)曙痘。與 skip 模式的率失真代價(jià)進(jìn)行比較,在skip 和 2N×2N 中找出最佳 PU 模式立肘。

第三步边坤,計(jì)算 2N×N 和 N×2N 模式的率失真代價(jià),首先運(yùn)用 AMVP 技術(shù)谅年,找到最佳 MVP 并作運(yùn)動(dòng)搜索找到預(yù)測(cè)塊茧痒;然后運(yùn)用運(yùn)動(dòng)合并技術(shù)技術(shù),得到最佳merge-index 對(duì)應(yīng)的率失真代價(jià)融蹂,根據(jù)率失真代價(jià)確定最佳預(yù)測(cè)模式旺订;最后對(duì)最佳模式得到的殘差做變換量化和熵編碼運(yùn)用RDO計(jì)算出當(dāng)前PU模式的率失真代價(jià),并與第二步得到的最佳 PU 模式的率失真代價(jià)做比較超燃,得到最佳 PU 模式区拳。

第四步,計(jì)算 AMP 模式的率失真代價(jià)意乓,AMP 模式包括四種分割方式樱调,但是為了減小編碼復(fù)雜度,編碼過程中并沒有遍歷所有的模式届良,而是根據(jù)前三步選出的最佳PU模式以及上一層的CU的最佳分割模式以及預(yù)測(cè)模式選擇部分做模式判決笆凌。具體選擇如下表:

image

第五步,幀內(nèi)預(yù)測(cè)模式選擇士葫,對(duì)于 I_SLICE 或非 I_SLICE 中需要編碼的量化系數(shù)不全為 0 的 CU乞而,需要做幀內(nèi)預(yù)測(cè)的分割方式和幀內(nèi)預(yù)測(cè)模式選擇,選擇過程如下:
1慢显、預(yù)測(cè)單元 PU 大小與 CU 大小一致為 2N×2N爪模,用非 RDO 模型計(jì)算率失真代價(jià),從 35 種幀內(nèi)預(yù)測(cè)模式中找到率失真代價(jià)較小的 n 中預(yù)測(cè)模式作為候選模式荚藻,n 的大小與 PU 的大小相關(guān)呻右,如表 3-2 所示。
2鞋喇、將當(dāng)前 PU 上側(cè)和左側(cè)相鄰 PU 采用的幀內(nèi)預(yù)測(cè)模式声滥,即當(dāng)前 PU 最有可能的預(yù)測(cè)模式(MPM)加入到該步驟的候選模式中,此時(shí)候選模式 k 最多為(n+2)。
3落塑、運(yùn)用 RDO 模型計(jì)算率失真代價(jià)在 k 種最佳候選模式中選出最佳亮度的幀內(nèi)預(yù)測(cè)模式纽疟。
4、根據(jù)亮度的幀內(nèi)預(yù)測(cè)模式選擇結(jié)果憾赁,做色度的幀內(nèi)預(yù)測(cè)模式選擇污朽。
5、如果當(dāng)前編碼單元的編碼深度為最大編碼深度龙考,將當(dāng)前編碼單元分為 4 個(gè)N×N 的 PU蟆肆,對(duì)于每一個(gè) PU 重復(fù) 1~4 步,找到每一個(gè) PU 的最佳幀內(nèi)預(yù)測(cè)模式以及最佳預(yù)測(cè)模式對(duì)應(yīng)的率失真代價(jià)晦款。
6炎功、根據(jù)前幾步得到率失真代價(jià)的值,決定當(dāng)前 CU 的最佳劃分方式及幀內(nèi)預(yù)測(cè)模式缓溅。

image

第六步蛇损,計(jì)算 PCM 模式的率失真代價(jià)。

image

由上述描述可知坛怪,對(duì)于一個(gè) LCU 想要得到最佳 CU 劃分方式淤齐,需要遍歷其所有的 CU,對(duì)每個(gè) CU 還需要遍歷各種預(yù)測(cè)模式袜匿,得到其最小的率失真代價(jià)更啄。為加快編碼速度,模式選擇過程的優(yōu)化可從 CU 編碼深度的選擇居灯,PU 模式選擇和 TU分割方式的選擇三個(gè)方面進(jìn)行研究和分析祭务。因?yàn)?PU 模式選擇和 TU 分割方式選擇都是為了計(jì)算當(dāng)前深度下,編碼 CU 的率失真代價(jià)穆壕,減少 CU 遍歷的次數(shù)待牵,同時(shí)也減少了 PU 模式選擇的次數(shù)和 TU 分割方式選擇的次數(shù)其屏。因此喇勋,基于 CU 編碼深度選擇過程做算法優(yōu)化是最有效的。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末偎行,一起剝皮案震驚了整個(gè)濱河市川背,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌蛤袒,老刑警劉巖熄云,帶你破解...
    沈念sama閱讀 217,509評(píng)論 6 504
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異妙真,居然都是意外死亡缴允,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,806評(píng)論 3 394
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來练般,“玉大人矗漾,你說我怎么就攤上這事”×希” “怎么了敞贡?”我有些...
    開封第一講書人閱讀 163,875評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵,是天一觀的道長摄职。 經(jīng)常有香客問我誊役,道長,這世上最難降的妖魔是什么谷市? 我笑而不...
    開封第一講書人閱讀 58,441評(píng)論 1 293
  • 正文 為了忘掉前任蛔垢,我火速辦了婚禮,結(jié)果婚禮上歌懒,老公的妹妹穿的比我還像新娘啦桌。我一直安慰自己,他們只是感情好及皂,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,488評(píng)論 6 392
  • 文/花漫 我一把揭開白布甫男。 她就那樣靜靜地躺著,像睡著了一般验烧。 火紅的嫁衣襯著肌膚如雪板驳。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,365評(píng)論 1 302
  • 那天碍拆,我揣著相機(jī)與錄音若治,去河邊找鬼。 笑死感混,一個(gè)胖子當(dāng)著我的面吹牛端幼,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播弧满,決...
    沈念sama閱讀 40,190評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼婆跑,長吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了庭呜?” 一聲冷哼從身側(cè)響起滑进,我...
    開封第一講書人閱讀 39,062評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎募谎,沒想到半個(gè)月后扶关,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,500評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡数冬,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,706評(píng)論 3 335
  • 正文 我和宋清朗相戀三年节槐,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,834評(píng)論 1 347
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡铜异,死狀恐怖地来,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情熙掺,我是刑警寧澤未斑,帶...
    沈念sama閱讀 35,559評(píng)論 5 345
  • 正文 年R本政府宣布,位于F島的核電站币绩,受9級(jí)特大地震影響蜡秽,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜缆镣,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,167評(píng)論 3 328
  • 文/蒙蒙 一芽突、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧董瞻,春花似錦寞蚌、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,779評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至抄伍,卻和暖如春艘刚,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背截珍。 一陣腳步聲響...
    開封第一講書人閱讀 32,912評(píng)論 1 269
  • 我被黑心中介騙來泰國打工攀甚, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人岗喉。 一個(gè)月前我還...
    沈念sama閱讀 47,958評(píng)論 2 370
  • 正文 我出身青樓秋度,卻偏偏與公主長得像,于是被迫代替她去往敵國和親钱床。 傳聞我的和親對(duì)象是個(gè)殘疾皇子荚斯,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,779評(píng)論 2 354

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