HM代码中Z-order扫描和Raster扫描之间的地址映射问题

HM中的CU划分过程是按Z-order处理的,所以预测中的很多信息是按z-order存储的,比如划分深度、预测方向、帧内模式等等,而我们的寻址方式都是习惯性按照光栅的顺序,所以在HM中存在Z-order到Raster之间的映射,也存在Raster到Zorder之间的映射,注意:HM中的信息都是按照4*4块的大小保存的,例如,一个CTU会保存256个深度信息,对应256个4*4存储块,显然会有很多值是重复的。

HM代码中g_auiZscanToRaster,g_auiRasterToZscan数组实现地址映射问题:

g_auiZscanToRaster [ z-scan index ] = raster scanindex   // Z->Raster
g_auiRasterToZscan [ raster index ] = z-scan index // Raster->Z
        
   

 由上图可看出,两个扫描之间的映射关系,上图是64*64的CTU,但是最小的存储单元是8*8,与HM不太一样,但是理论是相似的,可以借助理解。




猜你喜欢

转载自blog.csdn.net/double_s_c/article/details/75967198