[HEVC]1.详解CU中光栅扫描(RasterScan)和Z字形扫描(Z-Scan)s

      前几天老师让我“意淫”一个专利出来搞的我头都大了,现在又让我学HEVC(H.265)视频编码的东西。。。哎。。。开始技术!

      在HEVC中CU(Coding unit)是基本的编码单元,通常一个亮度CB通常和两个色度CB及它们相关的句法共同组成一个编码单元(这个可想而知!)CU支持64*64,32*32,16*16,8*8四种尺寸分割方式,通常深度较大的CU模式适用于处理文理较复杂的区域,深度较小的CU模式适合处理平滑区域,换句话说就是,编码后平坦区域用大尺寸表示,复杂区域用小尺寸表示。如图所示:

[HEVC]1.详解CU中光栅扫描(RasterScan)和Z字形扫描(Z-Scan)s_第1张图片

这是编码后的效果,那么在编码前后需要对CU进行扫描就涉及到两种扫描方式,一种是光栅扫描(RasterScan)另一种的Z字形扫描(Z-Scan)。

        光栅扫描(RasterScan)是指从左往右,由上往下,先扫描完一行,再移至下一行起始位置继续扫描,H.264使用的主要就是光栅扫描顺序。

       Z字形扫描(Z-Scan)中Z是形象的表示方式,图像如下,

[HEVC]1.详解CU中光栅扫描(RasterScan)和Z字形扫描(Z-Scan)s_第2张图片

在HEVC中CU采用的是递归划分的方式,Z字形扫描顺序保证了对于不同分割都能按照相同的遍历顺序进行寻址,有利于程序中的递归实现。

      这两种表示方式可以用下图进行表示:

[HEVC]1.详解CU中光栅扫描(RasterScan)和Z字形扫描(Z-Scan)s_第3张图片


         回到HM代码中,

g_auiZscanToRaster [ z-scan index  ] = raster scan index
g_auiRasterToZscan [ raster index  ]  = z-scan index
正如 作者hevc_cjl所贴出来的:

[HEVC]1.详解CU中光栅扫描(RasterScan)和Z字形扫描(Z-Scan)s_第4张图片

这是两者地址转化你的对应关系。这篇博文参考了几位大神的文章在这里遥远的表示感谢!


你可能感兴趣的:(HEVC)