CN110737869A - Dct/idct乘法器电路优化方法及应用 - Google Patents
Dct/idct乘法器电路优化方法及应用 Download PDFInfo
- Publication number
- CN110737869A CN110737869A CN201911322610.2A CN201911322610A CN110737869A CN 110737869 A CN110737869 A CN 110737869A CN 201911322610 A CN201911322610 A CN 201911322610A CN 110737869 A CN110737869 A CN 110737869A
- Authority
- CN
- China
- Prior art keywords
- optimization
- elements
- scheme
- matrix
- type
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/14—Fourier, Walsh or analogous domain transformations, e.g. Laplace, Hilbert, Karhunen-Loeve, transforms
- G06F17/147—Discrete orthonormal transforms, e.g. discrete cosine transform, discrete sine transform, and variations therefrom, e.g. modified discrete cosine transform, integer transforms approximating the discrete cosine transform
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/16—Matrix or vector computation, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
- G06F7/52—Multiplying; Dividing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
- H04N19/625—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using discrete cosine transform [DCT]
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- Discrete Mathematics (AREA)
- Algebra (AREA)
- Computing Systems (AREA)
- Databases & Information Systems (AREA)
- Software Systems (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Complex Calculations (AREA)
Abstract
本发明公开了DCT/IDCT乘法器电路优化方法及应用,涉及数字视频编解码技术领域。用于HEVC标准下的DCT/IDCT装置,包括优化处理模块,用于根据获取的集合A和类型N信息,采集每个类型所包含的行号以及对应的集合A中的元素,将每个类型对应的集合A中的所有元素作为一组,对该类型中的元素依次进行减法优化和最大相关优化;所述最大相关优化,是在判定元素实现时能够利用所在组中任意元素实现时的乘法电路中的过程变量来减小加法器总数量时,将该过程变量作为相关项,针对每个类型的所有元素,获取出现次数最多的相关项作为最大相关项来实现相关元素的乘法电路。本发明有效地降低了硬件资源消耗,并提高了运算效率。
Description
技术领域
本发明涉及数字视频编解码技术领域。
背景技术
视频编解码技术是构建视频和播放视频的主要技术,是所有视频类应用的根本技术。随着国家在4K超清电视领域相关政策发布,和AI在视频图像领域的大量应用。视频图像获取设备、通信网络以及多媒体技术得以迅速发展,在经济、安全、科研和民生中发挥着越来越重要的作用。同时,不断变大的视频规模对视频编解码技术的实现过程提出了巨大的挑战,比如数据量巨大的视频图像数据给存储和传输也带来了很多问题。
目前,国际上已经提出了多种视频编解码技术标准,比如MPEG1/2/4,H.263/264,HEVC。HEVC全称为High Efficiency Video Coding(也称为H.265),是由JCT-VC小组2010年开始制订并逐渐完善,是当前应用较广的视频编解码技术标准。相比之前的标准,使用HEVC标准的算法能够在视频编解码过程中具有更高的压缩比的同时,支持到处理更大分辨率视频流(4K 全高清)。其中,离散余弦变换(DCT)及其逆变换(IDCT)是视频的编解码运算中最基本也是最常用的变换,是视频编解码过程的核心运算过程之一,其运算效率直接影响视频编解码设计性能。其通过视频数据的时频域转换以压缩和还原数据,主要过程包括两次矩阵的乘法,里面需要大量的乘法器。HEVC增加了很多改进,提高了相关的编码效率。在变换方面的改进主要体现在三方面:一是变化块的尺寸可变,二是整数DCT的精度提高,三是引进4x4的离散正弦变化。但在提高编码效率同时,也增加了计算的复杂度,增加的资源消耗。作为举例,比如相较之前的H.264视频标准中定义的最大为8×8数据块,HEVC中最大块定义为32×32,对应的数据量增长到了1024个,所需要处理的数据增大到了原来的16倍。
针对资源消耗过大的问题,当前研究主要集中于利用乘法矩阵的对称性,利用蝶形硬件模块使得模块的加法单元减少,从而减少矩阵乘法中加法器的数量。以经典的基于蝶形运算的CHEN快速IDCT算法为例,CHEN算法的基本原理包含两部分主要工作:(1)根据输入数据的次序和模式,将输入数据划分成不同大小的多个组,对每个组内的数据多次与不同的系数相乘并累加;(2)对累加结果进行多次蝶形运算获得输出结果。其中(1)中的分组数量和累加次数,(2)中的蝶形运算次数与所处理的模式有关。在32×32模式下,数据被划分为5个组,其中最大规模的组由16个数据组成,所对应(1)中的乘法次数是256次,累加器使用16个,同时(2)中的蝶形运算需要分为4个阶段进行。一方面,在模块中相关的乘法运算也占有大量的资源消耗,造成对应的硬件开销大。另一方面,算法中的蝶形算法造成大量数据搬运过程,对硬件连线设计也有较高要求。
发明内容
本发明的目的在于:克服现有技术的不足,提供了一种DCT/IDCT乘法器电路优化方法及应用。本发明利用常数矩阵元素中间的相关性,利用减法优化和最大相关性优化,把相关的乘法器转化为一系列的加减法器,能有效地降低了硬件资源消耗,并提高了运算效率。
为实现上述目标,本发明提供了如下技术方案:
一种用于HEVC标准下的DCT/IDCT乘法器电路优化方法,包括步骤:
采集参与运算的变换矩阵C中的每行元素,对常数矩阵C进行初始化处理,所述初始化处理为对矩阵C每行的元素取绝对值,剔除相同的元素后形成集合A;
基于预设分类规则,将常数矩阵C和离散正弦变换矩阵按行信息分类为N个类型;
根据前述集合A和类型N,采集每个类型所包含的行号以及对应的集合A中的元素,将每个类型对应的集合A中的所有元素作为一组进行乘法器组结构优化,所述乘法器组结构优化包括对该类型中的元素依次进行减法优化和最大相关优化;所述减法优化,是在判定元素实现时使用减法器能够减少所需加法器的总数量时选择减法器方案;所述最大相关优化,是在判定元素实现时能够利用所在组中任意元素实现时的乘法电路中的过程变量来减小加法器总数量时,将该过程变量作为相关项,针对每个类型的所有元素,获取出现次数最多的相关项作为最大相关项,利用该最大相关项实现相关元素的乘法电路;
根据优化处理模块的优化结果,输出多种优化方案及其对应的方案信息供用户选择,所述方案信息包括加减法器总数量和/或加法器级数。
进一步,进行减法优化时,对于一个元素,相比于使用全加法器实现所需的加法器总和,通过部分或全部减法器实现所需的加法器和减法器的总和小于前述加法器总和时,选择减法器方案。
进一步,进行乘法器组结构优化的步骤为,
步骤11,将集合A中的所有元素转化为二进制序列,令i=0,设置输入数据b0,令X=Ai,t, 0b0;
步骤12,设置令l=0,t=0;
步骤13,判断二进制序列中是否存在7-l个连续1,判定为是的情况下执行步骤14,否则直接执行步骤15;
步骤14,修改Ai,t,0,即二进制序列中所有连续7-l个1的bit位置0;令t++,bt=b0·(27-l -1),生成新的二进制矩阵序列Ai,t,t,Ai,t,t二中的1与Ai,t-1,0中连续为1的最低bit位对应,其乘积表示结果为
步骤15,令l++,判断l是否大于i;判定l>i时,执行步骤16,否则返回步骤13;
步骤16,获取矩阵二进制序列中的最大相关项,即获取出现次数最多的2k·bm+bn,m∈[0,t],n∈[0,t],k∈[1,7];令出现次数为T;
步骤17,判断T是否非0;判定为是时,执行步骤18,否则直接执行步骤19;
步骤18,修改Ai,t,m和Ai,t,n,即剔除最大相关项的因数;令t++,bt=2k·bm+bn,生成的新二进制矩阵序列Ai,t,t,Ai,t,t与Ai,t-1,n中的bn位置对应,其乘积表示结果为
步骤19,生成第i种方案,令i++;
步骤20,判断i是否大于5,判定i>5时执行步骤21,否则返回步骤12。
进一步,通过图表形式输出所有优化方案及其方案信息。
本发明还提供了一种利用前述方法优化的乘法器参考电路,所述电路的加法器最大级数为2级。
本发明还提供了一种用于HEVC标准下的DCT/IDCT装置,包括预处理模块、优化处理模块和方案选择模块;
所述预处理模块,用于采集参与运算的变换矩阵C中的每行元素,对常数矩阵C进行初始化处理,所述初始化处理为对矩阵C每行的元素取绝对值,剔除相同的元素后形成集合A;
以及,基于预设分类规则,将常数矩阵C和离散正弦变换矩阵按行信息分类为N个类型;
所述优化处理模块,用于根据前述集合A和类型N,采集每个类型所包含的行号以及对应的集合A中的元素,将每个类型对应的集合A中的所有元素作为一组进行乘法器组结构优化;
以及,包括减法优化子模块和最大相关优化子模块;所述减法优化子模块,用于在判定元素实现时使用减法器能够减少所需加法器的总数量时选择减法器方案;所述最大相关优化子模块,用于在判定元素实现时能够利用所在组中任意元素实现时的乘法电路中的过程变量来减小加法器总数量时将该过程变量作为相关项,针对每个类型的所有元素,获取出现次数最多的相关项作为最大相关项,利用该最大相关项实现相关元素的乘法电路;针对每个类型,对该类型中的元素通过减法优化子模块进行减法优化后,再通过最大相关优化子模块进行最大相关优化;
所述方案选择模块,用于根据优化处理模块的优化结果,输出多种优化方案及其对应的方案信息供用户选择,所述方案信息包括加减法器总数量和/或加法器级数。
进一步,所述减法优化子模块包括信息采集单元和比对单元,
所述信息采集单元,用于获取一个元素使用全加法器实现所需的加法器总和D1,以及通过部分或全部减法器实现所需的加法器和减法器的总和D2;
所述比对单元,用于在判定D2小于D1时,选择减法器方案,否则选择加法器方案。
进一步,所述减法优化子模块被配置为,
对于第i种方案,获取元素的二进制序列,设置令l=0,t=0,判断二进制序列中是否存在7-l个连续1;
以及,在判定为否的情况下,令l++,并在判定l>i为否时,返回重新判断二进制序列中是否存在7-l个连续1;在判定为是的情况下,修改Ai,t,0,即二进制序列中所有连续7-l个1的bit位置0;令t++,bt=b0·(27-l -1),其中,b0为输入数据;生成新的二进制矩阵序列Ai,t,t,Ai,t,t中的1与Ai,t-1,0中连续为1的最低bit位对应,其乘积表示结果为
以及,令l++,并在判定l>i为否时,返回重新判断二进制序列中是否存在7-l个连续1。
进一步,所述最大相关优化子模块被配置为,
用于在判定l>i为真时,获取矩阵二进制序列中的最大相关项,即获取出现次数最多的2k·bm+bn,m∈[0,t],n∈[0,t],k∈[1,7];令出现次数为T;判断T是否非0;
以及,在判定为否时,生成第i种方案,令i++;在判定为是时,修改Ai,t,m和Ai,t,n,即剔除最大相关项的因数;令t++,bt=2k·bm+bn,生成新二进制矩阵序列Ai,t,t,Ai,t,t与Ai,t-1,n中的bn位置对应,其乘积表示结果为
以及,生成第i种方案,令i++。
进一步,所述方案选择模块被配置为,
通过图表形式输出所有优化方案及其方案信息。
本发明由于采用以上技术方案,与现有技术相比,作为举例,具有以下的优点和积极效果:利用常数矩阵元素中间的相关性,利用减法优化和最大相关性优化,把相关的乘法器转化为一系列的加减法器,能有效地降低了硬件资源消耗,并提高了运算效率。
附图说明
图1为本发明实施例提供的乘数为85的乘法器结构示意图。
图2为本发明实施例提供的乘法器优化方法的流程图。
图3为本发明实施例提供的优化的乘法器结构示意图。
图4为本发明实施例提供的所有类型的乘法器组电路实现方案示意图。
具体实施方式
以下结合附图和具体实施例对本发明公开的DCT/IDCT乘法器电路优化方法及应用作进一步详细说明。应当注意的是,下述实施例中描述的技术特征或者技术特征的组合不应当被认为是孤立的,它们可以被相互组合从而达到更好的技术效果。在下述实施例的附图中,各附图所出现的相同标号代表相同的特征或者部件,可应用于不同实施例中。因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。
需说明的是,本说明书所附图中所绘示的结构、比例、大小等,均仅用以配合说明书所揭示的内容,以供熟悉此技术的人士了解与阅读,并非用以限定发明可实施的限定条件,任何结构的修饰、比例关系的改变或大小的调整,在不影响发明所能产生的功效及所能达成的目的下,均应落在发明所揭示的技术内容所能涵盖的范围内。本发明的优选实施方式的范围包括另外的实现,其中可以不按所述的或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属技术领域的技术人员所理解。
对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为授权说明书的一部分。在这里示出和讨论的所有示例中,任何具体值应被解释为仅仅是示例性的,而不是作为限制。因此,示例性实施例的其它示例可以具有不同的值。
实施例
对于N×N的信号矩阵f和其二维离散余弦变换(DCT)的N×N系数矩阵F的关系,可以用下列矩阵乘法表示:
f=CT·FC·C
FC=C·f·CT
其中,C为变换矩阵。
矩阵的乘法需要大量的乘法器,乘法器的硬件基础是加法器结构,是基于移位和相加的算法。在乘法器电路中,乘数中的每一位都要和被乘数的每一位相与,并产生其相应的乘积位。这些局部乘积移位后馈入到全加器的阵列中,得到乘法结果。
变换矩阵C是常数矩阵,即转化矩阵C的元素为常数,本实施例中,首先利用这些常数之间和其内部的数据相关性特点,把矩阵的乘法器转化为一系列的加减法器,然后进一步结合减法优化和最大相关优化策略,降低加法器的级数,达到优化乘法器的目的。
作为举例而非限制,所述的减法优化,比如,转化矩阵C中元素C32x32[1][12]的值为31,其二进制可以表示为b11111,如果只用加法器实现,需要4个加法器,具体为31=24+23+22+21+20;如果把31转化为32-1,就可以用1个减法器实现,具体为11111=25-1。用1个减法器代替前述4个加法器的方案,能够显著节省资源。
本实施例中,考虑到进行矩阵乘法运算时,每一个输入都要和转化矩阵C中的一行数据的所有元素相乘,所以可以通过找到矩阵C中的每行元素之间的和元素内部的最大相关项,从而使得电路的面积减少。
作为举例而非限制,所述的最大相关优化,比如,转化矩阵C中元素C32x32[1][0]的值为90,其二进制可以表示是b1011010,一个数Z乘以1011010时,需要3个加法器,具体为Z*26+Z*24+Z*23+Z*21。但由于1011010=1010*1001,我们在优化时,可以先用Z*1001=Z*23+Z*20,令Z1=Z*1001,再把得到的结果乘以1010,即Z1*1010=Z1*23+Z1*21,如此只需要2个加法器。
进一步,如果转化矩阵C中元素C32x32[1][9]=54,其二进制可以表示是b110110,则上述数Z也需要乘以110110,由于110110=110*1001,即我们在优化时,可以先用Z*1001,再把得到的结果乘以110。而考虑到之前已经计算过Z*1001=Z1,可以将之前计算的结果Z1利用起来,直接用Z1*110=Z1*22+Z1*21,从而只需要1个加法器。
如此,能够利用矩阵内部的数据相关性获得最大相关项,以该最大相关项的值为一个变量进行下一步计算,就可以显著降低加法器的级数。
以转化矩阵C中元素C32x32[1][3]=85,其二进制可以表示是1010101,如果只是用加法器实现的话,需要3个加法器,具体为1010101=26+24+22+20。
优化时,参见图1所示,可以通过2个加法器结构实现。所述乘法电路结构可以包括2个加法器:初始化值din,第1个加法运算为(din<<2)+din=22+1=5,第2个加法运算为5+(5<<4)=5+5*24=5+5*16 =5+80=85。
如果利用最大相关优化策略,找到了最大相关项x5,然后以(dinx5)为一个变量直接进行下一步运算,由于无需前述第1个加法器,从而降低了加法器数量。
基于上述原理,本实施例提供了一种用于HEVC标准下的DCT/IDCT乘法器电路的优化方法,包括步骤:
采集参与运算的变换矩阵C中的每行元素,对常数矩阵C进行初始化处理,所述初始化处理为对矩阵C每行的元素取绝对值,剔除相同的元素后形成集合A;
基于预设分类规则,将常数矩阵C和离散正弦变换矩阵按行信息分类为N个类型;
根据前述集合A和类型N,采集每个类型所包含的行号以及对应的集合A中的元素,将每个类型对应的集合A中的所有元素作为一组进行乘法器组结构优化,所述乘法器组结构优化包括对该类型中的元素依次进行减法优化和最大相关优化;所述减法优化,是在判定元素实现时使用减法器能够减少所需加法器的总数量时选择减法器方案;所述最大相关优化,是在判定元素实现时能够利用所在组中任意元素实现时的乘法电路中的过程变量来减小加法器总数量时,将该过程变量作为相关项,针对每个类型的所有元素,获取出现次数最多的相关项作为最大相关项,利用该最大相关项实现相关元素的乘法电路;
根据优化处理模块的优化结果,输出多种优化方案及其对应的方案信息供用户选择,所述方案信息包括加减法器总数量和/或加法器级数。具体实施时,用户可以整合考虑系统运行速度和工艺等,选择合适方案。
优选的,进行减法优化时,对于一个元素,相比于使用全加法器实现所需的加法器总和,通过部分或全部减法器实现所需的加法器和减法器的总和小于前述加法器总和时,选择减法器方案。
参见图2所示,根据形成的集合A,进行乘法器组结构优化的步骤具体如下:
步骤11,将集合A中的所有元素转化为二进制序列,令i=0,设置输入数据b0,令X=Ai,t, 0b0;
步骤12,设置令l=0,t=0;
步骤13,判断二进制序列中是否存在7-l个连续1,判定为是的情况下执行步骤14,否则直接执行步骤15;
步骤14,修改Ai,t,0,即二进制序列中所有连续7-l个1的bit位置0;令t++,bt=b0·(27-l -1),生成新的二进制矩阵序列Ai,t,t,Ai,t,t二中的1与Ai,t-1,0中连续为1的最低bit位对应,其乘积表示结果为
步骤15,令l++,判断l是否大于i;判定l>i时,执行步骤16,否则返回步骤13;
步骤16,获取矩阵二进制序列中的最大相关项,即获取出现次数最多的2k·bm+bn,m∈[0,t],n∈[0,t],k∈[1,7];令出现次数为T;
步骤17,判断T是否非0;判定为是时,执行步骤18,否则直接执行步骤19;
步骤18,修改Ai,t,m和Ai,t,n,即剔除最大相关项的因数;令t++,bt=2k·bm+bn,生成的新二进制矩阵序列Ai,t,t,Ai,t,t与Ai,t-1,n中的bn位置对应,其乘积表示结果为
步骤19,生成第i种方案,令i++;
步骤20,判断i是否大于5,判定i>5时输出优化结果,否则返回步骤12。
如此,通过上述优化策略,可以生成6种优化方案(对应于i=0,1,2,3,4,5的6种情况)。输出前6种优化方案及其对应的方案信息供用户选择,所述方案信息包括加减法器总数量和/或加法器级数。
优选的,本实施例中,通过图表形式输出所有优化方案及其方案信息,便于用户进行比对和分析。
下面提供一个参考方案来详细说明此优化策略的效果。
首先,通过预处理模块进行初始化:采集常数矩阵C中的每行元素,对每行的元素取绝对值,剔除相同的元素,形成集合A。
在初始化后,对离散余弦变换矩阵(DCT)C32x32的32行数据和离散正弦变换矩阵(DST)的4行数据进行分类。本实施例中可以分为以下7个类型,如下表所示:
从上表可以看出,类型2包括的元素的个数最多,即其需求的资源量也最多。
下面以类型2为例,把所有元素转化为二进制序列,具体结果下表所示:
如果只用加法器实现,需要37个加法器。
利用减法优化模块和最大相关优化模块进行优化后,优化的乘法器电路结构参见图3所示。
以元素31为例:
优化前,其需要4个加法器;
优化后,只需要用1个减法器。
节省了3个加(减)法器。
再以元素78为例:
优化前,其需要3个加法器。
优化后,乘法器电路包括2个加法器,第1个加法运算为(din<<1)+din=21+1=3,
第2个加法运算中,直接利用最大相关项x9(din<<3+1=23+1=9),利用x9进行第2个加法运算3+(9<<2)=3+9*22=3+9*4=39,39<<1=78。
节省了1个加法器。
再以61为例,
优化前,其需要4个加法器。
优化后,乘法器电路包括1个减法器和1个加法器,第1个减法运算为(din<<4)-din=24-1=15,第2个加法运算为,(15<<2)+1 =15*22+1=60+1=61。
节省了2个加(减)法器。
综上所述,针对15个元素90,88,85,82,78,73,67,61,54,46,38, 31,22,13,4进行电路优化后,只用了17个加(减)法器,实现的资源消耗减少到原来37个加法器的46%;并且,优化后,加法器的最大级数只要2级,而原来的电路加法器最大级数是3级,具有更好的运行速度和运算效率。
所有7种类型的数据的乘法器组参考电路方案参见图4所示。
以类型1中的元素为例:
其仅包含一个元素64,所需的加法器数量为0,具体的,din<<6=26=64。无需进行减法优化和最大相关优化。
以类型3中的元素为例,其包含元素90,87,80,70,57,43,25,9。
以元素90为例,其二进制可以表示是b1011010:
优化前,其需要3个加法器;
优化后,乘法器电路包括2个加法器,第1个加法运算为(din<<3)+din=23+1=9,
第2个加法运算中,直接利用最大相关项x9,利用x9进行第2个加法运算(9<<2)+9=45,45<<1=90。
节省了1个加法器。
以类型7中的元素为例,其包含元素90,87,80,70,57,43,25,9。
以元素90为例,其二进制可以表示是b1011010:
优化前,其需要3个加法器;
优化后,乘法器电路包括2个加法器,第1个加法运算为(din<<3)+din=23+1=9,
第2个加法运算中,直接利用最大相关项x9,利用x9进行第2个加法运算(9<<2)+9=45,45<<1=90。
节省了1个加法器。
对于类型7,类型4,类型5和类型6的乘法器组电路,参见图4中间栏和右栏所示,在此不再赘述。
本发明提出的上述DCT/IDCT乘法器电路,有效地减少了乘法器实现面积,有效地降低了硬件资源消耗,并提高了运算效率。
本发明的另一实施例,还提供了一种用于HEVC标准下的DCT/IDCT装置。
所述装置包括连接的预处理模块、优化处理模块和方案选择模块。
预处理模块,用于采集参与运算的变换矩阵C中的每行元素,对常数矩阵C进行初始化处理,所述初始化处理为对矩阵C每行的元素取绝对值,剔除相同的元素后形成集合A;
以及,基于预设分类规则,将常数矩阵C和离散正弦变换矩阵按行信息分类为N个类型。
优化处理模块,用于根据前述集合A和类型N,采集每个类型所包含的行号以及对应的集合A中的元素,将每个类型对应的集合A中的所有元素作为一组进行乘法器组结构优化;
以及,包括减法优化子模块和最大相关优化子模块;所述减法优化子模块,用于在判定元素实现时使用减法器能够减少所需加法器的总数量时选择减法器方案;所述最大相关优化子模块,用于在判定元素实现时能够利用所在组中任意元素实现时的乘法电路中的过程变量来减小加法器总数量时将该过程变量作为相关项,针对每个类型的所有元素,获取出现次数最多的相关项作为最大相关项,利用该最大相关项实现相关元素的乘法电路;针对每个类型,对该类型中的元素通过减法优化子模块进行减法优化后,再通过最大相关优化子模块进行最大相关优化。
方案选择模块,用于根据优化处理模块的优化结果,输出多种优化方案及其对应的方案信息供用户选择,所述方案信息包括加减法器总数量和/或加法器级数。
具体实施时,所述减法优化子模块可以包括信息采集单元和比对单元,
所述信息采集单元,用于获取一个元素使用全加法器实现所需的加法器总和D1,以及通过部分或全部减法器实现所需的加法器和减法器的总和D2;
所述比对单元,用于在判定D2小于D1时,选择减法器方案,否则选择加法器方案。
本实施例中,所述方案选择模块,优选的被配置为,通过图表形式输出所有优化方案及其方案信息。
其它技术特征参考前述实施例,在此不再赘述。
在上面的描述中,本发明的公开内容并不旨在将其自身限于这些方面。而是,在本公开内容的目标保护范围内,各组件可以以任意数目选择性地且操作性地进行合并。另外,像“包括”、“囊括”以及“具有”的术语应当默认被解释为包括性的或开放性的,而不是排他性的或封闭性,除非其被明确限定为相反的含义。所有技术、科技或其他方面的术语都符合本领域技术人员所理解的含义,除非其被限定为相反的含义。在词典里找到的公共术语应当在相关技术文档的背景下不被太理想化或太不实际地解释,除非本公开内容明确将其限定成那样。本发明领域的普通技术人员根据上述揭示内容做的任何变更、修饰,均属于权利要求书的保护范围。
Claims (10)
1.一种用于HEVC标准下的DCT/IDCT乘法器电路优化方法,其特征在于包括步骤:
采集参与运算的二维转化矩阵C中的每行元素,对常数矩阵C进行初始化处理,所述初始化处理为对矩阵C每行的元素取绝对值,剔除相同的元素后形成集合A;
基于预设分类规则,将常数矩阵C和离散正弦变换矩阵按行信息分类为N个类型;
根据前述集合A和类型N,采集每个类型所包含的行号以及对应的集合A中的元素,将每个类型对应的集合A中的所有元素作为一组进行乘法器组结构优化,所述乘法器组结构优化包括对该类型中的元素依次进行减法优化和最大相关优化;所述减法优化,是在判定元素实现时使用减法器能够减少所需加法器的总数量时选择减法器方案;所述最大相关优化,是在判定元素实现时能够利用所在组中任意元素实现时的乘法电路中的过程变量来减小加法器总数量时,将该过程变量作为相关项,针对每个类型的所有元素,获取出现次数最多的相关项作为最大相关项,利用该最大相关项实现相关元素的乘法电路;
根据优化处理模块的优化结果,输出多种优化方案及其对应的方案信息供用户选择,所述方案信息包括加减法器总数量和/或加法器级数。
2.根据权利要求1所述的方法,其特征在于:进行减法优化时,对于一个元素,相比于使用全加法器实现所需的加法器总和,通过部分或全部减法器实现所需的加法器和减法器的总和小于前述加法器总和时,选择减法器方案。
3.根据权利要求1所述的方法,其特征在于:进行乘法器组结构优化的步骤为,
步骤11,将集合A中的所有元素转化为二进制序列,令i=0,设置输入数据b0,令X=Ai,t, 0b0;
步骤12,设置令l=0,t=0;
步骤13,判断二进制序列中是否存在7-l个连续1,判定为是的情况下执行步骤14,否则直接执行步骤15;
步骤14,修改Ai,t,0,即二进制序列中所有连续7-l个1的bit位置0;令t++,bt=b0·(27-l -1),生成新的二进制矩阵序列Ai,t,t,Ai,t,t二中的1与Ai,t-1,0中连续为1的最低bit位对应,其乘积表示结果为
步骤15,令l++,判断l是否大于i;判定l>i时,执行步骤16,否则返回步骤13;
步骤16,获取矩阵二进制序列中的最大相关项,即获取出现次数最多的2k·bm+bn,m∈[0,t],n∈[0,t],k∈[1,7];令出现次数为T;
步骤17,判断T是否非0;判定为是时,执行步骤18,否则直接执行步骤19;
步骤18,修改Ai,t,m和Ai,t,n,即剔除最大相关项的因数;令t++,bt=2k·bm+bn,生成的新二进制矩阵序列Ai,t,t,Ai,t,t与Ai,t-1,n中的bn位置对应,其乘积表示结果为
步骤19,生成第i种方案,令i++;
步骤20,判断i是否大于5,判定i>5时输出优化结果,否则返回步骤12。
4.根据权利要求1所述的方法,其特征在于:通过图表形式输出所有优化方案及其方案信息。
5.一种利用权利要求3所述方法优化的乘法器电路,其特征在于:所述电路的加法器最大级数为2级。
6.一种用于HEVC标准下的DCT/IDCT装置,其特征在于:包括预处理模块、优化处理模块和方案选择模块;
所述预处理模块,用于采集参与运算的变换矩阵C中的每行元素,对常数矩阵C进行初始化处理,所述初始化处理为对矩阵C每行的元素取绝对值,剔除相同的元素后形成集合A;
以及,基于预设分类规则,将常数矩阵C和离散正弦变换矩阵按行信息分类为N个类型;
所述优化处理模块,用于根据前述集合A和类型N,采集每个类型所包含的行号以及对应的集合A中的元素,将每个类型对应的集合A中的所有元素作为一组进行乘法器组结构优化;
以及,包括减法优化子模块和最大相关优化子模块;所述减法优化子模块,用于在判定元素实现时使用减法器能够减少所需加法器的总数量时选择减法器方案;所述最大相关优化子模块,用于在判定元素实现时能够利用所在组中任意元素实现时的乘法电路中的过程变量来减小加法器总数量时将该过程变量作为相关项,针对每个类型的所有元素,获取出现次数最多的相关项作为最大相关项,利用该最大相关项实现相关元素的乘法电路;针对每个类型,对该类型中的元素通过减法优化子模块进行减法优化后,再通过最大相关优化子模块进行最大相关优化;
所述方案选择模块,用于根据优化处理模块的优化结果,输出多种优化方案及其对应的方案信息供用户选择,所述方案信息包括加减法器总数量和/或加法器级数。
7.根据权利要求6所述的装置,其特征在于:所述减法优化子模块包括信息采集单元和比对单元,
所述信息采集单元,用于获取一个元素使用全加法器实现所需的加法器总和D1,以及通过部分或全部减法器实现所需的加法器和减法器的总和D2;
所述比对单元,用于在判定D2小于D1时,选择减法器方案,否则选择加法器方案。
8.根据权利要求6所述的装置,其特征在于:所述减法优化子模块被配置为,
对于第i种方案,获取元素的二进制序列,设置令l=0,t=0,判断二进制序列中是否存在7-l个连续1;
以及,在判定为否的情况下,令l++,并在判定l>i为否时,返回重新判断二进制序列中是否存在7-l个连续1;在判定为是的情况下,修改Ai,t,0,即二进制序列中所有连续7-l个1的bit位置0;令t++,bt=b0·(27-l -1),其中,b0为输入数据;生成新的二进制矩阵序列Ai,t,t,Ai,t,t中的1与Ai,t-1,0中连续为1的最低bit位对应,其乘积表示结果为
以及,令l++,并在判定l>i为否时,返回重新判断二进制序列中是否存在7-l个连续1。
10.根据权利要求6所述的装置,其特征在于:所述方案选择模块被配置为,通过图表形式输出所有优化方案及其方案信息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911322610.2A CN110737869B (zh) | 2019-12-20 | 2019-12-20 | Dct/idct乘法器电路优化方法及应用 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911322610.2A CN110737869B (zh) | 2019-12-20 | 2019-12-20 | Dct/idct乘法器电路优化方法及应用 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110737869A true CN110737869A (zh) | 2020-01-31 |
CN110737869B CN110737869B (zh) | 2020-04-03 |
Family
ID=69274529
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911322610.2A Active CN110737869B (zh) | 2019-12-20 | 2019-12-20 | Dct/idct乘法器电路优化方法及应用 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110737869B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116149600A (zh) * | 2023-03-13 | 2023-05-23 | 深圳鸿芯微纳技术有限公司 | 多常数乘法器的逻辑电路设置方法、装置、设备及介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7117236B2 (en) * | 1999-12-01 | 2006-10-03 | Macronix International Co. Ltd | Parallel adder-based DCT/IDCT design using cyclic convolution |
CN103327332A (zh) * | 2013-06-18 | 2013-09-25 | 复旦大学 | 一种hevc标准中8×8idct变换的实现方法 |
CN104320668A (zh) * | 2014-10-31 | 2015-01-28 | 上海交通大学 | Hevc/h.265的dct变换和反变换的simd优化方法 |
-
2019
- 2019-12-20 CN CN201911322610.2A patent/CN110737869B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7117236B2 (en) * | 1999-12-01 | 2006-10-03 | Macronix International Co. Ltd | Parallel adder-based DCT/IDCT design using cyclic convolution |
CN103327332A (zh) * | 2013-06-18 | 2013-09-25 | 复旦大学 | 一种hevc标准中8×8idct变换的实现方法 |
CN104320668A (zh) * | 2014-10-31 | 2015-01-28 | 上海交通大学 | Hevc/h.265的dct变换和反变换的simd优化方法 |
Non-Patent Citations (1)
Title |
---|
贾瑞 等: "低开销多标准8*8离散余弦变换设计", 《太赫兹科学与电子信息学报》 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116149600A (zh) * | 2023-03-13 | 2023-05-23 | 深圳鸿芯微纳技术有限公司 | 多常数乘法器的逻辑电路设置方法、装置、设备及介质 |
CN116149600B (zh) * | 2023-03-13 | 2023-09-08 | 深圳鸿芯微纳技术有限公司 | 多常数乘法器的逻辑电路设置方法、装置、设备及介质 |
Also Published As
Publication number | Publication date |
---|---|
CN110737869B (zh) | 2020-04-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Bayer et al. | DCT-like transform for image compression requires 14 additions only | |
CN100527071C (zh) | 以Booth算法为基础的乘法运算方法与乘法装置 | |
CN113810693B (zh) | 一种jpeg图像无损压缩和解压缩方法、系统与装置 | |
US20090094303A1 (en) | Filter operation unit and motion-compensating device | |
Kamble et al. | Modified three-step search block matching motion estimation and weighted finite automata based fractal video compression | |
Hasan et al. | Low-cost architecture of modified Daubechies lifting wavelets using integer polynomial mapping | |
US20070198622A1 (en) | Method for fast SATD estimation | |
CN110737869B (zh) | Dct/idct乘法器电路优化方法及应用 | |
CN108574849A (zh) | Dct逆变换方法、逆变换装置、电子设备及存储介质 | |
Darji et al. | High-performance multiplierless DCT architecture for HEVC | |
Kthiri et al. | FPGA architecture of the LDPS Motion Estimation for H. 264/AVC Video Coding | |
CN1805544A (zh) | 频域内用于位移估算的区块匹配 | |
US5748514A (en) | Forward and inverse discrete cosine transform circuits | |
WO2020060832A1 (en) | Fast implementation of odd one dimensional transforms | |
CN104811738B (zh) | 基于资源共享的低开销多标准8×8一维离散余弦变换电路 | |
Hatim et al. | Efficient architecture for direct 8× 8 2D DCT computations with earlier zigzag ordering | |
CN100353768C (zh) | 在视频压缩系统中进行运动估测的方法及相关装置 | |
CN1625266A (zh) | 计算绝对差值的设备、运动估计设备和运动图像编码设备 | |
EP1406179A1 (en) | Dct matrix decomposing method and dct device | |
Patil et al. | Low Power High Speed VLSI Architecture for 1-D Discrete Wavelet Transform | |
CN107172425B (zh) | 缩略图生成方法、装置及终端设备 | |
Li et al. | Low power design of two-dimensional DCT | |
Chen et al. | Image Compression Algorithm Based on Time Series | |
CN109451307B (zh) | 一种基于近似系数的一维dct运算方法和dct变换装置 | |
CN101316367B (zh) | 一种视频编解码标准中的二维反变换方法及其实现电路 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CP02 | Change in the address of a patent holder | ||
CP02 | Change in the address of a patent holder |
Address after: 201210 8th floor, building 1, 298 Xiangke Road, Pudong New Area, Shanghai Patentee after: MOUXIN TECHNOLOGY (SHANGHAI) Co.,Ltd. Address before: Room 507, building 1, No. 800, Naxian Road, pilot Free Trade Zone, Pudong New Area, Shanghai 201210 Patentee before: MOUXIN TECHNOLOGY (SHANGHAI) Co.,Ltd. |