Intra Neighbor Samples
与其他视频编码标准一样,在做帧内预测之前,首先要准备好预测所需的sample,预测的sample分为五类,分别为
- 左邻居:left sample
- 左下方邻居:left bottom sample
- 左上方邻居:above left sample
- 上邻居:above sample
- 右上方邻居:above right sample
一个8x8的参考邻居像素简易分布图如下:(不同的颜色代表不同的区域,每一个方块代表一个像素,颜色相同不代表像素值相同)
当我们计算当前块的预测像素时,我们需要用到reference sample,sample分为两种,上方行与左边列,下面分别介绍怎么求得这两类数据。
AboveRow 填充算法
上方的参考像素都存放在AboveRow这个数组里,在libaom av1代码里,这个数组名为above_row
,
LeftCol 填充算法
左边列参考像素都存放再LeftCol这个数组里,在libaom av1代码中,这个数组的名字为 left_col
(在实际的代码中,会考虑到avx2的优化而在即使不需要bottom部分reference的情况下也添加3个pixel,在此不对此情况做考虑)