高效率视频编码中正向/反向离散余弦变换的实时统一架构外文翻译资料

 2022-03-24 10:03

英语原文共 7 页,剩余内容已隐藏,支付完成后下载完整资料


高效率视频编码中正向/反向离散余弦变换的实时统一架构

Maher Abdelrasoul1,Mohammed S. Sayed1,2,Victor Goulart1,3

摘要:在高效视频编码(HEVC)标准中,较高视频分辨率采用较大的整数离散余弦变换(DCT/逆DCT(IDCT)模块。在本研究中,笔者提出了两种高吞吐量的统一DCT/IDCT架构。所提出的体系结构可以根据HEVC标准来灵活的处理DCT/IDCT模块大小。所提出的架构采用台积电65纳米CMOS技术进行原型设计。样机实验结果表明,两种统一架构分别具有15.24和16.03 Gsps的吞吐量,并且能够以120 fps的速度对分辨率高达8 K的视频序列进行编码,而且对于DCT和IDCT,在相同的分辨率下,可以仅使用一个电路以240fps的速度解码。

1引言

随着电子市场的消费竞争日益激烈,质量更高的多媒体在许多应用需要具备非常理想的特性[1]。这些质量要求的提高通常意味着更高的视频分辨率。这是以更大的文件或更高的比特率为代价来实现有效的多媒体传输的。实现这种超高清视频的一种方式是提高压缩性能,以便优化多媒体内容质量并尽可能地降低比特率或存储需求。另外,这种方式要能够实时处理,以满足多媒体流和通信的延迟要求。许多视频编码标准已经推出[2]。最新标准是高效视频编码(HEVC)标准,也称为H.265[1]。HEVC是针对那些需要以高帧速率进行超高分辨率视频处理的新应用的[3]。新标准的主要特点是处理模块尺寸的增大和处理方式的复杂性的增加。

任何视频编码器/解码器中最重要的模块之一就是变换模块。 离散余弦变换(DCT)是用于大多数视频/图像编码的标准,它可以将图像分离成不同重要性的频谱子带。最新的视频编码标准中采用整数DCT来降低计算复杂度并消除传统DCT中浮点近似值产生的误差。解码视频使用逆DCT(IDCT)来恢复在编码器处被变换和量化的残余图像。编码器中需要DCT和IDCT模块,因为编码器反馈环路中包含解码器模块。

在许多视频/图像编码标准中,视频帧或图像被分割成处理块(即预测块)。预测块被分成矩形变换块。在新的HEVC标准中,预测块大小是可变的并且可以大于先前标准中的预测块大小。例如,预测块大小(以2为幂)在H.264中从4times;4变为16times;16,而在HEVC[4,5]中从4times;4变为64times;64。 HEVC采用的的预测是帧内预测或帧间预测。帧内预测试图在同一帧中寻找块与其相邻块的空间关系,而帧间预测试图找出块与另一帧中的相同块及其相邻块的运动关系。寻找最佳预测关系的过程称为速率失真优化(RDO)。RDO遍历所有可能的候选以找到最好的。在RDO循环中使用DCT和IDCT来计算失真。因此,在所有帧内预测编码的情况下,DCT和IDCT模块是编码处理时间中耗时最长的模块,并且是随机接入编码情况下耗时第三快的模块块[6]。

因此,改变预测块尺寸会改变变换块尺寸,因为变换是用原始块减去预测块从而得到残差。 HEVC中的变换块大小从4times;4变为32times;32,这使用了前一个H.264标准中未使用的两个新的更大的尺寸16times;16和32times;32。这个新的更大的变换块提供了高吞吐量以处理超高清(UHD)的视频分辨率。然而,使用更大的块是以更高的计算为代价的,因此硬件实现需要更多的处理资源。这就需要在所需吞吐量与不期望的高处理资源之间做关键权衡。此外,编码器在编码过程中同时使用了DCT和IDCT,这增加了编码器所需的处理资源。这些都要求在硬件实现时扩大硅片面积。

很多文献的所做工作都致力于统一DCT和IDCT电路以提高硅片面积利用率。 然而,统一这两个电路会降低系统的吞吐量,这在大多数需要实时处理UHD视频的应用中是不被允许的。 因此,有必要设计一个高吞吐量的统一DCT和IDCT电路,既利用其统一性,又不会失去其对超高清视频的适用性。

在本文中,我们为HEVC编码器提出了两种新的高吞吐量且统一的DCT/IDCT架构,使用了优化后的乘法器电路。 我们的架构在一个电路执行两个电路功能的情况下显示出了非常高的吞吐量和面积利用率。在我们的体系结构中,我们利用了DCT中变换矩阵的正交性。因为正交矩阵的逆是它的转置,所以在DCT和IDCT的转换过程中使用的大量乘法都是相同的。本文所提出的架构中,32点转换电路包括较小尺寸的转换,所以电路具备可重用性。因此,电路可以转换任何尺寸从4times;4变换到32times;32的块。

本文的其余内容分配如下:第2节介绍相关作品;第3节介绍我们在提出的体系结构中使用的简化转换算法;所提出的统一的DCT/IDCT体系结构将在第4节中介绍;第5节在与其他有关成果的比较下来实现和评估体系结构;最后,第6节使对这篇论文的总结。

2相关作品

HEVC标准最近出现在2013年的数字视频编码领域。由此,有些出版物详细介绍了DCT变换的硬件实现以满足标准的要求。现有的大部分工作集中在实现DCT电路[7-13]或IDCT电路[14-18]。[7]中提出了三种灵活的体系结构来执行任意DCT尺寸的一维(1D)-DCT操作,其重点在于它的可重用性和灵活性允许设计执行多种功能。在[8]中,赵等人基于整数DCT值与输入值相乘的相似性,提出了一种体系结构。在[9,10]中,DCT架构的基于一个无乘法电路,该电路使用移位器和加法器进行乘法运算。[11]中提出了一种计算DCT的有效架构,它使用规范签名数字表示法和通用子表达式消除技术,并用移位加运算来执行乘法运算。在[12]中提出 的2D DCT利用基于变换分解的矩阵分解来减小变换缓冲区的大小,以便将其分解为固定大小的块。文献[13]中提出了一种,基于矩阵分解和优化乘法电路的可扩展整数DCT体系结构。文献[14]提出了,使用高级综合工具的HEVC 2D IDCT算法的现场可编程门阵列的实现。[15]中提出了用于HEVC IDCT的新的VLSI架构。文献[16]中提出了一种统一的4,8,16,32点IDCT,它使用一个规模较大的电路规模的乘法器;此外,它为乘法器电路进行资源共享,以牺牲吞吐量为代价来减少占用面积。文献[17]中提出了,基于将变换划分为固定尺寸块的HEVC IDCT的灵活体系结构。[18]中提出了一种,基于优化矩阵乘法和过程控制电路重构的可重构IDCT架构。

关于HEVC中的统一DCT / IDCT体系结构已经有一些作品了。[19,20]中提出了一种统一的正向/反向变换架构。这项工作的重点是统一实现了面积的缩减。统一后的架构比单独的正向和反向核心转换实现使用面积减少了43-45%。但是,该电路的吞吐量不够高,无法运用于高清视频应用。在[21]中,作者对[16]中完成的工作进行了扩展,使得所提出的电路是统一的DCT / IDCT电路。在[21]中的电路用一个无乘法器的电路取代了常规的乘法器,保持资源共享的使用来减少面积消耗[16]。但使用资源共享明显的牺牲了电路的吞吐量;此外,流水线电路不能平衡不同阶段的延迟。在[22]中,朱等人,提出了一种基于Chen算法的统一的DCT / IDCT架构[23]。 [22]的重点是实现了转置电路,该转置电路在2D转换中将变换块的行转换为列。但是,它没有显示统一DCT / IDCT的清晰架构。 [24]中提出了一种可扩展的近似DCT架构,该工作的重点是用近似值代替了变换矩阵系数,以减少变换的复杂性。结果显示统一架构中使用的总查找表与单独架构相比减少了33%。但是,结果并未显示工作频率或吞吐量结果,因为其重点在于近似和正向变换电路。

使用能够执行DCT和IDCT功能的统一DCT / IDCT电路,实际上会将计划的吞吐量降低到使用DCT和IDCT采用两个独立的电路计划的吞吐量的一半左右。 由此,两个独立电路中消耗面积大的问题将转变成统一电路的低吞吐量的问题。 随着市场对实时处理超高清视频的需求,以降低吞吐量为代价减少设计面积的研究已不再可接受。 因此,我们的工作重点是利用统一来减少占用面积,同时尽可能保持吞吐量,使之仍然可以编码更高的视频分辨率。

在我们的工作中,我们提出了两个新的高吞吐量统一DCT / IDCT架构和一个优化的无乘法器电路。我们所提出的体系结构是模块化的,所以可以处理不同的转换尺寸。 处理较小的转换尺寸的电路可以用来处理较大的转换尺寸。 此外,我们还提出了一个流水线阶段的新时间表,着重于形成流水线阶段不同延迟之间的更好平衡,从而提高电路的工作频率。

3变换算法

DCT是从空间域到频域的转换[25]。DCT可以表示为(1),其中xNtimes;1是空间域值的输入阵列,XNtimes;1是频率系数的输出阵列,CNtimes;N是变换矩阵。DCT操作涉及浮点操作,这些操作很复杂并且可能导致逼近错误。这使得我们难以在接收端检索原始值。

整数DCT是DCT的整数近似值。它用于简化计算并避免编码器和解码器之间可能出现的任何不匹配情况[7]。变换矩阵的基本特征之一是偶数行的列元素是镜像的(即对于N点DCT,偶数行中具有索引i的列元素具备与具有索引N的列元素相同的值-1-i在同一行中),并且奇数行的列元素以相同的方式负向镜像。此功能通过增加或减少具有共同乘数的输入来减少计算,非常有用。等式(2)显示了对(1)计算的减少。

= (1)

(2)

其中矩阵和的元素值被定义为:

(3)

说明是N/2点DCT的变换矩阵是非常重要的,这允许这个转换被重用。N/2点DCT可以放大到N点DCT变换的一部分。整数DCT中的整数值元素使实现时的复杂度进一步降低。

以同样的方式简化DCT方程,我们可以减少IDCT方程。 IDCT是从频域到空间域的转换。 IDCT可以用下面的等式表示:

(5)

这个方程中的变换矩阵元素在列中有镜像值,无论是正面镜像还是负面镜像,因为它是前向变换的变换矩阵的转置。因此,元素值的计算将与元素值的计算相同,其中一半的项具有不同的符号。 我们可以将(5)简化为以下等式:

(6)

其中矩阵和的元素值被定义为:

(7)

再次,我们可以注意到是N/2点IDCT的变换矩阵,这反过来使我们能够在N点IDCT的计算中重新使用N/2点IDCT。

4建议的优化架构

使用(1)-(4)中给出的DCT的算术复原和(5)-(7)中给出的IDCT的算术复原,我们可以将变换分为三个主要部分:加减单元(ASU),由移位相加矩阵的单元(SAU)和加减树形单元(ASTU)组成的乘法和N/2点变换部分。在图1中,显示了DCT和IDCT架构的框图。接下来,我们将介绍DCT和IDCT体系结构及其流水线的第一个统一体系结构。然后,我们将重点放在架构的模块部分。最后,我们将展示如何更高效地使用模块区域的第二个体系结构。

图1(a).N点整数的一般DCT体系结构

图1(b).N点整数的一般IDCT体系结构

4.1 DCT / IDCT架构的统一

SAU和ASTU在两种体系结构之间共享。此外,如果N/2点转换可以同时执行正向和反向转换两种功能,则他们还可以共享N/2点转换。因此,我们利用此属性并提出了一种新的体系结构,可以同时执行正向变换和逆变换的功能。如图2所示,我们使用两个带有共享块的ASU。第一个用于增加或减少正向变换的输入。第二个用于在逆变换的情况下,通过加上或减去N/2点变换的输出和ASTU的输出来计算输出。我们使用多路复用器来控制电路的功能。如果类型信号的值为lsquo;0rsquo;,则电路将作为正向转换(DCT)工作。否则,如果其值为lsquo;1rsquo;,则该电路用作逆变换(IDCT)。

图2.具有2个ASU的统一的N点整数DCT / IDCT的通用架构

我们将流水线应用于架构。任何N点DCT都由四个主要模块组成:ASU,SAU,ASTU和N/2点转换。因此,我们把将N点DCT分成若干个阶段,使其与N/2点DCT阶段数加一级后相等,来作为ASU的功能。最小尺寸的DCT是四点DCT,分为四个阶段。在N点转换中,ASTU在其关键路径中有个加法器。因此,可以使用个周期来管理ASTU。换句话说,ASTU的流水线方式是在每个流水线阶段只分配一个加法器。图3显示了N点转换的流水线阶段。4,8,16和32点变换的流水线级数分别为4,5,6和7级。

与相关体系结构相反,所提出电路的流水线是灵活的,以便流水线阶段随着转换类型而变化。对于正向转换,排列在列中的块在同一流水线阶段并行工作。另一方面,对于逆变换,排列在对角线上的块在相同的流水线阶段并行工作。

很明显,我们的架构能够通过多个流水线阶段为不同的转换尺寸来分配ASU,以便在更大转换尺寸的前向转换(DCT)时与SAU并行工作,并在具有较大的变换尺寸的逆变换(IDCT)下,与ASTU的最后阶段并行工作 。 这反过来又为ASTU节省了更多的流水线阶段。 这种并行处理在文献中的统一DCT / IDCT架构中没有被使用过。我们所提出的模块层次结构使我们的架构比其他架构具有优势。

可以注意到,在[21]的统一架构中,三个流水线阶段用于所有变换尺寸的第一次加法,三个流水线阶段仅用于矩阵乘法,而在朱的架构[22]中,只有一个流水线阶段是用于所有转换尺寸的第一次加法。这两种解决方案都会造成关键电路延迟,因此电路的吞吐量会受到影响。

图3.具有2个ASU的统一的N点整数DCT / IDCT的流水线阶段

4.2统一架构块

4.2.1加减单位:ASU是一组蝶式电路

全文共15090字,剩余内容已隐藏,支付完成后下载完整资料


资料编号:[15531],资料为PDF文档或Word文档,PDF文档可免费转换为Word

原文和译文剩余内容已隐藏,您需要先支付 30元 才能查看原文和译文全部内容!立即支付

以上是毕业论文外文翻译,课题毕业论文、任务书、文献综述、开题报告、程序设计、图纸设计等资料可联系客服协助查找。