在H264標准中,編碼層的核心是宏塊,一個宏塊大小為16X16,包含一個16X16的亮度塊,以及對於常用的4:2:0采樣格式來說還包含兩個8X8的色度塊。相對應的在HEVC中類似的結構為編碼樹單元(CTU),其尺寸可以由編碼器指定,最大可以支持到64X64,最小可以支持到16X16。對於高分辨率視頻的編碼中,使用較大尺寸的CTU可以獲得更好的壓縮性能。這里以最大的64X64大小的CTU為例說明HEVC的編碼樹結構。
HEVC先根據編碼器設置的CTU大小對整幀的圖像進行分塊,如圖所示每一個CTU大小都是64X64,類似於H264的16X16的宏塊划分。
一個編碼樹單元(CTU)包含了同一位置處的一個亮度編碼樹塊(CTB)和兩個色度編碼樹塊(CTB),以及一些相應的語法元素。如圖所示,根據CTU大小可以為16X16,32X32,64X64,則亮度CTB的大小也可以是16X16,32X32,64X64,並且始終與CTU的大小相對應,此處亮度CTB大小為64X64,色度為32X32。
在HEVC中編碼樹塊CTB可以直接作為一個編碼塊CB,也可以進一步以四叉樹的形式划分為多個小的編碼塊CB,因此在HEVC中編碼塊CB的大小是可以變化的,在設置CTU大小為64X64的情況下,一個亮度CB最大為64X64即一個CTB直接作為一個CB,最小為8X8,則色度CB最大為32X32,最小為4X4。大的CB可以使得平緩區域的編碼效率大大提高,在細節部分采用小的CB又可以使復雜的圖像預測更加准確。一個亮度CB和兩個色度CB,以及一些相關語法元素共同組成一個編碼單元(CU).如圖:
一幅圖像根據編碼器設置的CTU大小,可以划分為若干個互不重疊的CTU,在CTU內部,采用基於四叉樹的循環分層結構。同一層次上的編碼單元具有相同的分割深度。一個CTU可以值包含一個CU即沒有進行划分,也可以被划分為多個CU。每個CU包含着與之相關聯的預測單元(PU)和我變換單元(TU).對於一個2NX2N的CU模式,幀內預測單元的可選模式有兩種2NX2N和NXN,幀間預測模式則有8中,4中對稱模式2NX2N,NXN,NX2N,2NXN,4中非對稱模式2NXnU,2NXnD,nLX2N,nRX2N(其中U,D,L表示上下左右四個方向),其中nLX2N,nRX2N為左右1:3,3:1的比率划分,2NXnU,2NXnD為以上下1:3,3:1的比率划分。還有一種模式為skip模式,是幀間預測的一種,當需要編碼的運動信息只有運動參數集索引(采用運動合成技術),編碼殘差信息不需要編碼。一個預測單元PU包含一個亮度預測塊PB和兩個色度預測塊PB,還有一些相關語法元素。如圖:
變換單元是獨立完成變換和量化的單元,其尺寸也是靈活變化的。HEVC可以支持4X4到32X32的編碼變換,基本單元為變換單元(TU).變換單元的大小依賴於CU模式,一個CU內部,可以允許TU跨越多個PU,以四叉樹的形式地櫃划分。大塊的TU可以使能量更好的集中,小塊的的TU可以保留更多的細節,靈活的分割方式。一個變換單元TU包含一個亮度變換塊TB和兩個色度變換塊TB,還有一些相關語法元素。如圖: