伪圆柱全景图(pseudo-cylindrical panoramas) 才用等距离采样,不受到极区域过度拉伸的影响。但是由于其有效图像中的非矩形格式和边界处的锐边,导致压缩效率底下。
本文对此提出方法提高伪圆柱全景图的帧内和帧间压缩表现,同时减少编码伪痕。
- 对于帧内编码,通过修改无效区域中的图像内容来是的边缘平滑;
- 对于帧间编码,通过使用边界相反区域的有效区域内容来填充参考帧的无效区域,以增强移动补偿的表现。
论文:Efficient Coding of 360-Degree Pseudo-Cylindrical Panoramic Video for Virtual Reality Applications
Coding of Pseudo-cylindrical Panorama
Intra-frame Coding Problem
帧内编码中,伪圆柱全景图的锐边会生成一中块(block),这类块既含有图像的有效区域像素,又含有无效区域像素。这种非同质块将在 DCT 和量化操作之后产生高频分量,这会导致如下问题:
- 高频分量将导致比特率的上升。而且,许多编码方式是在假设不存在高频分量或高频分量幅度少于低频分量的基础上进行微调的。
- 高频分量的量化将导致整个解码块上出现明显的伪痕(如 the ringing effect)
Inter-frame Coding Problem
参考帧中无法得到边界附近的无效区域的像素值,导致伪圆柱全景图该部分的帧间预测失效。
当预测块或要编码的块中的任何一个或两者处于图像的边界区域中时,具有非矩形有效区域的重构参考帧会引起次优的帧间预测表现,其部分填充了无效的图像或区域。正被编码的块与参考图片中的预测块之间的错误匹配将引起预测误差块中额外的错误样本,导致比特率增加。具体如下:
- 如图2,$a$ 和 $b$ 分别为要编码的块和预测的块。图像有效区域用灰色表示,物体朝有效区域内部运动。预测块中的对象一部分位于有效图像区域内,而缺失的部分会导致而外的残差值,如 $c$ 所示。
- 如图2,$d$ 和 $e$ 演示了物体运动方向朝有效区域以外的方向。参考帧中的预测块比要编码的块具有更多的样本,这导致了 $f$ 中额外的预测误差样本。
另一种问题是,当从具有分数像素运动矢量的边界区域帧间预测当前帧中的块时,生成预测样本会使用到运动补偿过滤器。在有效区域边界附近,运动补偿过滤器会使用来自无效区域位置的输入样本值。有效区域边界两边的样本至差距很大,因此运动补偿过滤器生产的像素值会过大和过小 ( overshooting
and undershooting
),这会导致比特率和失真上升。
The Method
Intra-frame Coding
为了避免高频分量,含有无效区域的边界块需要使用相对应的有效区域采样来进行填充。
使用有效区域的边界原本来进行无效区域的填充。对于边界块的每一行,复制有效区域边界的像素到无效区域的边界块。结果如图1的 $b$ ,通过在部分填充块内进行逐行填充,样本变得相关,且编码器能够有效的压缩这些块。
Inter-frame Coding
利用伪圆柱全景图的360度特点,每行中最右边的像素与同一行最右边的有效区域内像素样本是邻接的。
为此,在参考帧中,从有效区域的相对侧复制原本以填充没一行中的无效区域。逐行复制后的结果如图1的 $c$ ,可见在参考帧的边界区域建立了图像内容的连续性。这对于帧间预测有如下两个好处:
- 无效区域的填充提供了参考帧边界的连续性。可以提高使用帧间运动向量的预测。
- 由于不再含有锐边,移动补偿过滤器进行分数样本插值时不会出现
overshooting
和undershooting
。
在预测误差块的时候,复制样本的操作会产生额外的残差。这类残差不应该编码如比特流中,因此需要使用 0 来替换这些运动补偿的残差。
操纵额外的残差会影响编码器的失真成本计算。在不同的过程中(如运动估计和决策),在计算失真成本时需要排除无效区域的像素重构误差。
HEVC 会采用循环过滤技术来减少帧的编码伪痕。如 SAO 用于减少平均误差失真。由于重构图像包含来自参考帧的额外样本,SAO 过程将加入相对于原始图像的大的偏差值。这偏差值会导致编码过程的高比特率,为了避免这种不必要的偏差,需要在编码的时候处理或禁止 SAO。
Encoding and Decoding Process
编码过程为图3的 $a$ ,重构帧需要先经过 Reference Frame Padding (RFP) 单元进行过滤并存人 Reference Frame Memory (RFM) 。在进行决策和最终的块编码时,在转变单元 T 前,需要将无效区域的残差设为 0 。
解码过程为图3的 $b$ ,与编码过程相似的操作在解码区域进行逆序操作。在预测操作时重构图像传递到 RFP 单元用于参考帧操作。解码帧经过 Output Cropping (C) 单元以从操作格式中取得伪圆柱全景图,这里包含一个预定义的有效区域掩码,有效区域以外的原本将会被设置为初始的背景值。
Experiment
基于 HEVC 参考软件 HM 16.6 实现本文方法,使用 JCT-VC 通用测试条件进行实验。设置 QP 为 23、28、33 和 38 。
评价因子:Bjøntegaard delta bitrate (BDBR) ,在计算 PSNR 时只计算有效图像区域。
数据集:8 组伪圆柱全景图序列,其中每组为 100 帧,分辨率有 4096x2048 、 3584x1792 和 2048x1024 。
实验结果:
SEQUENCE | INTRA | INTER | TOTAL |
---|---|---|---|
LISBOA | -12.76 | -6.36 | -7.22 |
SHERIFF | -5.43 | -1.69 | -3.23 |
MOSCOW | -4.18 | -0.1 | -1.33 |
BEAR ATTACK | -5.26 | -1.25 | -4.20 |
VRC CONCERT | -5.80 | -1.21 | -2.71 |
DAISY | -16.52 | -0.95 | -8.80 |
SHELTER MOV | -5.18 | -3.01 | -6.23 |
SHELTER STA | -7.11 | -4.72 | -7.70 |
AVERAGE | -7.78 | -2.41 | -5.18 |
在帧内编码方面,使用 intra main configuration 对100帧进行编码,对比参考 HEVC 编码 BDBR平均减少 7.78%;在评估帧间编码时,使用未改变的 HEVC 真内编码且仅在 Random Access main configuration 的帧间编码前应用了本文方法,其 BDBR 评价减少 2.41%。
并且评估了同时采用本文的帧间编码和帧内编码时的效果,采用内部周期为 32 的 Random Access configuration,由 4 个帧内帧和 96 个帧间帧组成。BDBR 减少 5.18 %。