AVS3粗模式判决快速算法及VLSI结构设计

Fast Algorithm and VLSI Architecture Design of Rough Mode Decision for AVS3 | IEEE Conference Publication | IEEE Xplore

本文介绍一种AVS3粗模式判决快速算法及VLSI结构设计

现有RMD算法及其复杂性分析

对于每个最大编码单元(LCU),参考软件以自上而下的方式顺序实现。从大小最大的分割块开始,计算不同模式下的预测像素值和绝对变换差(SATD)代价之和。根据不同的划分方法,计算出较小尺寸的边界条件。这种方式导致了两个主要问题。其一是需要将重建的像素用作参考像素,这高度依赖于后续模块。很难实现LCU级的流量。第二,该方法只能对不同大小的预测单元(PU)进行串行计算。这不利于硬件并行性的实现,难以满足4k@30fps的实时要求。

4x4块拼接算法

将LCU设置为64x64,将最小编码单元(SCU)设置为4x4。如图所示,我们计算最小分区4x4的SATD值,并将相邻值相加以形成4x8块。此外,添加相邻的4x8值以形成8x8块和4x16块。以同样的方式,获得所有分区的所有成本。

为了更好地实现硬件友好性,通常将电路设计为LCU级流程。为了解决由重建像素引起的依赖性问题,使用原始像素代替。新算法的整个过程包括五个步骤:

  • 获取4x4大小的PU的原始像素。
  • 从预测模式和参考像素获得预测像素。
  • 计算4x4大小的PU的RDO成本。
  • 获取其余PU的RDO成本。
  • 比较每种尺寸不同模式下的最小五个成本值,并记录相应的模式。

硬件结构和操作过程

LCU块的所有像素值将被存储在ORG像素缓冲器和REF像素缓冲器中。后续模块在Controller0和Controller1的控制下,从数据缓存中获取原始像素和参考像素,并以不同的模式生成预测像素。在计算4x4 PU之后,依次计算对应于每个划分PU的SATD值。计算出的成本值将被传递到COMPARE模块中,与已保存的五个最佳模式的成本值进行比较,结果将在IP存储器(例如IP内存0)中更新。当计算所有4x4子块的所有模式时,存在控制逻辑以生成输出标志信号,以告知较低级别模块计算完成。代价和模式以乒乓缓冲的方式存储。

拼接部分

输入是4x4 PU的SATD值和剩余PU的控制信号。如果已经计算出的小尺寸PU的数量足以用于拼接,则数据选择器将其RDO成本发送到对应的大尺寸PU。大尺寸PU根据数据选择器给出的数据完成自加或锁存。在控制器的控制下,寄存器中的数据将及时发送到下一个模块进行数据比较。因此,我们只需要少量的寄存器就可以完成所有PU的RDO开销的计算和存储,大大减少了电路面积。

实验结果

软件结果和分析

表1

选择了16个标准序列进行测试,并采用四种QP设置(27,32,38和45)。编码配置包括AI和低延迟P(LDP)。结果见表1平均损失仅为0.63%,并将整个编码过程的原始编码速度提高到平均约120%。

表2第二部分是粗糙模式决策的相关工作。我们可以观察到,所提出的算法是有效的。它以低性能损失换取大的速度增益。

硬件结果和分析

表3

硬件结构采用Vivado HLS 2019进行综合,开发板配置为Alveo U250数据加速卡,频率100MHz。我们得到4500个周期的延迟。并采用SIMC 14nm CMOS工艺实现了该硬件结构。最高时钟频率为800MHz,总面积为0.54mm2。对于每个64x64像素LCU,需要6us来完成RMD计算。对于4K图像,30帧包含60750个LCU,仅需0.36秒。实验结果表明,该硬件设计满足4k@30fps的实时性要求。该电路占用的资源如表3所示。

结论

  • 提出了一种新的硬件友好的4 × 4子块拼接算法来加速RMD的编码过程。
  • 提出了相应的硬件结构,以满足4k@30fps的实时性要求。

参考文献

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值